@fidacy/openclaw-plugin 0.5.4 → 0.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +5 -3
- package/dist/index.js +5 -3
- package/openclaw.plugin.json +5 -28
- package/package.json +10 -10
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.5.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Nudges agora contam, no canal OpenClaw tambem. Cada mensagem proativa que aparece para o operador (`first_deny`, `first_allow`, `bec_catch`, ...) emite um evento anonimo com a chave do nudge, marcado com o shell `openclaw-plugin`, no mesmo caminho sem PII do resto da telemetria: diz que uma mensagem apareceu e qual, nunca para quem nem sobre o que.
|
|
8
|
+
|
|
9
|
+
O fluxo de decisao ja disparava esses nudges (decisionNudge), mas ate agora eles nao deixavam rastro: o funil media instalacao e decisao e nada entre as duas. Sem o evento nao havia como saber se expor mais tinha efeito, e isso nao melhorava com o tempo, porque o instrumento nao existia. Herdado do @fidacy/mcp 0.7.2, que este plugin embarca da fonte. Nada muda para quem usa: mesmas mensagens, mesma frequencia de uma vez por install.
|
|
10
|
+
|
|
3
11
|
## 0.5.4
|
|
4
12
|
|
|
5
13
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -46,9 +46,11 @@ it never holds funds.
|
|
|
46
46
|
|
|
47
47
|
## To everyone who installed Fidacy
|
|
48
48
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
The Fidacy firewall has taken **3,099 decisions** to date, **98% of them blocks**,
|
|
50
|
+
counted by the engine and public at
|
|
51
|
+
[api.fidacy.com/v1/pulse](https://api.fidacy.com/v1/pulse) if you want to check the
|
|
52
|
+
number yourself. Thank you for being part of it. Two things worth a minute of your
|
|
53
|
+
time:
|
|
52
54
|
|
|
53
55
|
1. **See and claim what YOUR install blocked.** Your install carries a private,
|
|
54
56
|
anonymous id on your machine (we never learn who you are unless you choose to).
|
package/dist/index.js
CHANGED
|
@@ -5085,7 +5085,7 @@ var FileAuditStore = class {
|
|
|
5085
5085
|
import { statSync } from "node:fs";
|
|
5086
5086
|
|
|
5087
5087
|
// ../mcp/src/telemetry.ts
|
|
5088
|
-
var CLIENT_VERSION = true ? "0.5.
|
|
5088
|
+
var CLIENT_VERSION = true ? "0.5.6" : "dev";
|
|
5089
5089
|
function bandOf(amount) {
|
|
5090
5090
|
if (typeof amount !== "number" || !Number.isFinite(amount) || amount <= 0) return void 0;
|
|
5091
5091
|
if (amount < 10) return "lt10";
|
|
@@ -5168,6 +5168,7 @@ var recordInstall = () => record2("install");
|
|
|
5168
5168
|
var recordAgentActive = () => record2("agent_active");
|
|
5169
5169
|
var recordDecision = (status, violatedRule, amount, perTxMax) => record2("decision", resultOf(status, violatedRule), bandOf(amount), capRatioOf(amount, perTxMax));
|
|
5170
5170
|
var recordUpgradeIntent = () => record2("upgrade_intent");
|
|
5171
|
+
var recordNudge = (key) => record2("nudge", void 0, void 0, void 0, key);
|
|
5171
5172
|
async function flush() {
|
|
5172
5173
|
if (flushTimer) {
|
|
5173
5174
|
clearTimeout(flushTimer);
|
|
@@ -5273,7 +5274,7 @@ function requestUpgrade() {
|
|
|
5273
5274
|
}
|
|
5274
5275
|
|
|
5275
5276
|
// ../mcp/src/provision.ts
|
|
5276
|
-
var CLIENT_VERSION2 = true ? "0.5.
|
|
5277
|
+
var CLIENT_VERSION2 = true ? "0.5.6" : "dev";
|
|
5277
5278
|
function provisionEnabled() {
|
|
5278
5279
|
const v = (process.env.FIDACY_DISABLE_PROVISION ?? "").trim().toLowerCase();
|
|
5279
5280
|
return !(v === "1" || v === "true" || v === "yes");
|
|
@@ -5324,6 +5325,7 @@ function nudgeOnce(key) {
|
|
|
5324
5325
|
} catch {
|
|
5325
5326
|
return false;
|
|
5326
5327
|
}
|
|
5328
|
+
recordNudge(key);
|
|
5327
5329
|
return true;
|
|
5328
5330
|
}
|
|
5329
5331
|
var sessionDecisions = 0;
|
|
@@ -5415,7 +5417,7 @@ function trialCountdownLine(keyOverride) {
|
|
|
5415
5417
|
}
|
|
5416
5418
|
|
|
5417
5419
|
// ../mcp/src/register.ts
|
|
5418
|
-
var CLIENT_VERSION3 = true ? "0.5.
|
|
5420
|
+
var CLIENT_VERSION3 = true ? "0.5.6" : "dev";
|
|
5419
5421
|
function endpoint3() {
|
|
5420
5422
|
const base = (process.env.FIDACY_ENGINE_URL ?? "https://api.fidacy.com").replace(/\/$/, "");
|
|
5421
5423
|
return `${base}/v1/register`;
|
package/openclaw.plugin.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"name": "Fidacy AI Agent Firewall",
|
|
4
4
|
"description": "Firewall for AI agents. Watches every action the agent takes and ends each session in a digest anyone can recompute; commands, paths and arguments never leave your machine, only counts and a hash. Blocks wrong/lookalike payee, over-cap and duplicate-invoice fraud before money moves. Non-custodial, local-first, deny-by-default. Anonymous telemetry (counts only) can be disabled with FIDACY_DISABLE_TELEMETRY=1.",
|
|
5
5
|
"icon": "https://fidacy.com/logo.png",
|
|
6
|
-
"version": "0.5.
|
|
6
|
+
"version": "0.5.6",
|
|
7
7
|
"contracts": {
|
|
8
8
|
"tools": [
|
|
9
9
|
"request_payment",
|
|
@@ -25,43 +25,20 @@
|
|
|
25
25
|
"properties": {
|
|
26
26
|
"operatorEmail": {
|
|
27
27
|
"type": "string",
|
|
28
|
-
"description": "Your email (optional). Ties this agent's protection history to you so it can move into a free account, and lets Fidacy reach you about this install. Never shared; remove any time."
|
|
28
|
+
"description": "Your email (optional). Ties this agent's protection history to you so it can move into a free account, and lets Fidacy reach you about this install. Never shared; remove any time. Your email (optional) Ties this agent's protection history to you so it can move into a free account, and lets Fidacy reach you about this install. Optional \u2014 the firewall works without it."
|
|
29
29
|
},
|
|
30
30
|
"engineApiKey": {
|
|
31
31
|
"type": "string",
|
|
32
|
-
"description": "Fidacy engine API key (fky_live_/fky_test_) enabling signed verdicts via assess_action. Falls back to FIDACY_ENGINE_API_KEY."
|
|
32
|
+
"description": "Fidacy engine API key (fky_live_/fky_test_) enabling signed verdicts via assess_action. Falls back to FIDACY_ENGINE_API_KEY. Engine API key Free key at app.fidacy.com/signup. Enables signed trust verdicts (assess_action) and keeps the firewall active past the 20-decision anonymous trial."
|
|
33
33
|
},
|
|
34
34
|
"engineUrl": {
|
|
35
35
|
"type": "string",
|
|
36
|
-
"description": "Fidacy engine base URL. Defaults to https://api.fidacy.com (or FIDACY_ENGINE_URL)."
|
|
36
|
+
"description": "Fidacy engine base URL. Defaults to https://api.fidacy.com (or FIDACY_ENGINE_URL). Engine URL"
|
|
37
37
|
},
|
|
38
38
|
"subject": {
|
|
39
39
|
"type": "string",
|
|
40
|
-
"description": "Mandate subject identity for this agent. Defaults to agent:demo (or FIDACY_SUBJECT)."
|
|
40
|
+
"description": "Mandate subject identity for this agent. Defaults to agent:demo (or FIDACY_SUBJECT). Agent subject"
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
|
-
},
|
|
44
|
-
"uiHints": {
|
|
45
|
-
"operatorEmail": {
|
|
46
|
-
"label": "Your email (optional)",
|
|
47
|
-
"placeholder": "you@company.com",
|
|
48
|
-
"help": "Ties this agent's protection history to you so it can move into a free account, and lets Fidacy reach you about this install. Optional — the firewall works without it."
|
|
49
|
-
},
|
|
50
|
-
"engineApiKey": {
|
|
51
|
-
"label": "Engine API key",
|
|
52
|
-
"placeholder": "fky_live_...",
|
|
53
|
-
"sensitive": true,
|
|
54
|
-
"help": "Free key at app.fidacy.com/signup. Enables signed trust verdicts (assess_action) and keeps the firewall active past the 20-decision anonymous trial."
|
|
55
|
-
},
|
|
56
|
-
"engineUrl": {
|
|
57
|
-
"label": "Engine URL",
|
|
58
|
-
"placeholder": "https://api.fidacy.com",
|
|
59
|
-
"advanced": true
|
|
60
|
-
},
|
|
61
|
-
"subject": {
|
|
62
|
-
"label": "Agent subject",
|
|
63
|
-
"placeholder": "agent:demo",
|
|
64
|
-
"advanced": true
|
|
65
|
-
}
|
|
66
43
|
}
|
|
67
44
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fidacy/openclaw-plugin",
|
|
3
|
-
"version": "0.5.
|
|
3
|
+
"version": "0.5.6",
|
|
4
4
|
"description": "Fidacy payment firewall as a native OpenClaw plugin: signed, verifiable verdicts on every money-moving agent action, in-process (no MCP subprocess).",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Fidacy (ZeepCode Group Technology LLC) <hello@fidacy.com> (https://fidacy.com)",
|
|
@@ -47,21 +47,21 @@
|
|
|
47
47
|
"npmSpec": "@fidacy/openclaw-plugin"
|
|
48
48
|
}
|
|
49
49
|
},
|
|
50
|
-
"scripts": {
|
|
51
|
-
"build": "node scripts/bundle.mjs",
|
|
52
|
-
"typecheck": "tsc --noEmit",
|
|
53
|
-
"test": "npm run build && node --test test/*.test.mjs"
|
|
54
|
-
},
|
|
55
50
|
"engines": {
|
|
56
51
|
"node": ">=20"
|
|
57
52
|
},
|
|
58
53
|
"devDependencies": {
|
|
59
|
-
"@fidacy/firewall": "workspace:*",
|
|
60
|
-
"@fidacy/mcp": "workspace:*",
|
|
61
54
|
"@types/node": "^22.10.0",
|
|
62
55
|
"esbuild": "^0.24.0",
|
|
63
56
|
"openclaw": "2026.6.11",
|
|
64
57
|
"typebox": "1.1.39",
|
|
65
|
-
"typescript": "^5.6.3"
|
|
58
|
+
"typescript": "^5.6.3",
|
|
59
|
+
"@fidacy/firewall": "0.1.1",
|
|
60
|
+
"@fidacy/mcp": "0.7.3"
|
|
61
|
+
},
|
|
62
|
+
"scripts": {
|
|
63
|
+
"build": "node scripts/bundle.mjs",
|
|
64
|
+
"typecheck": "tsc --noEmit",
|
|
65
|
+
"test": "npm run build && node --test test/*.test.mjs"
|
|
66
66
|
}
|
|
67
|
-
}
|
|
67
|
+
}
|