@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 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
- Excluding our own test traffic, installs like yours have made about 1,600 real
50
- firewall decisions to date, over 99% of them blocks. Thank you. Two things worth
51
- a minute of your time:
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.4" : "dev";
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.4" : "dev";
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.4" : "dev";
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`;
@@ -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.4",
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.4",
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
+ }