@fidacy/mcp 0.2.8 → 0.2.10

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,41 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.10
4
+
5
+ ### Patch Changes
6
+
7
+ - 2e846a7: Funnel: move the strongest claim nudge before the activation wall, and make the
8
+ first-block nudge scary-but-true.
9
+
10
+ The proof-teaser nudge fired at decision 25, stranded behind the 20-decision
11
+ activation wall: once the firewall fails closed at 20, denied calls stop
12
+ advancing the counter, so 25 was never reached and the single strongest reason
13
+ to claim (the history you already built) never showed. It now fires at 15, five
14
+ decisions before the wall — carrot before stick, which is the highest-converting
15
+ moment the PLG research points to.
16
+
17
+ The first-deny nudge now cites the real $441,788 agent incident. Grounded fear,
18
+ never manufactured: for a company whose pitch is verify-don't-trust, a cited
19
+ fact converts and a fabricated panic would be self-refuting.
20
+
21
+ ## 0.2.9
22
+
23
+ ### Patch Changes
24
+
25
+ - 1a3f504: Name the publisher in package metadata, and release through CI so the artifact
26
+ carries Sigstore provenance.
27
+
28
+ The `author` field was missing, which is why trust registries listed the packages
29
+ as authored by "Unknown". More importantly, every release so far went out as a
30
+ manual `npm publish` from a laptop, so no `@fidacy/*` package carried a
31
+ provenance attestation. Provenance is an OIDC statement from a CI runner about
32
+ which workflow built the artifact, so a laptop cannot produce one regardless of
33
+ flags. The Release workflow was already configured for it and simply had never
34
+ been used.
35
+
36
+ For a project whose entire claim is independently verifiable evidence, shipping
37
+ without supply-chain attestation was the wrong asymmetry.
38
+
3
39
  ## 0.2.5
4
40
 
5
41
  TypeScript declarations ship in the package. Every entrypoint (., ./assess,
package/dist/core.js CHANGED
@@ -461,7 +461,7 @@ function resolveMandateRules(cfg) {
461
461
  }
462
462
 
463
463
  // src/telemetry.ts
464
- var CLIENT_VERSION = true ? "0.2.8" : "dev";
464
+ var CLIENT_VERSION = true ? "0.2.10" : "dev";
465
465
  function bandOf(amount) {
466
466
  if (typeof amount !== "number" || !Number.isFinite(amount) || amount <= 0) return void 0;
467
467
  if (amount < 10) return "lt10";
package/dist/index.js CHANGED
@@ -490,7 +490,7 @@ function resolveMandateRules(cfg) {
490
490
  }
491
491
 
492
492
  // src/telemetry.ts
493
- var CLIENT_VERSION = true ? "0.2.8" : "dev";
493
+ var CLIENT_VERSION = true ? "0.2.10" : "dev";
494
494
  function bandOf(amount) {
495
495
  if (typeof amount !== "number" || !Number.isFinite(amount) || amount <= 0) return void 0;
496
496
  if (amount < 10) return "lt10";
@@ -834,7 +834,7 @@ async function findArtifacts(sha2562, cfg) {
834
834
  }
835
835
 
836
836
  // src/provision.ts
837
- var CLIENT_VERSION2 = true ? "0.2.8" : "dev";
837
+ var CLIENT_VERSION2 = true ? "0.2.10" : "dev";
838
838
  function provisionEnabled() {
839
839
  const v = (process.env.FIDACY_DISABLE_PROVISION ?? "").trim().toLowerCase();
840
840
  return !(v === "1" || v === "true" || v === "yes");
@@ -927,13 +927,13 @@ function decisionNudge(status, violatedRule, upgradeToolName) {
927
927
  return `That was a duplicate-invoice (BEC) catch, the #1 payment fraud. For your operator: ${claimPath}. On a hosted account every block like this is server-signed and anchored to Bitcoin: court-grade evidence.`;
928
928
  }
929
929
  if (status === "DENY" && nudgeOnce("first_deny")) {
930
- return `Fidacy just blocked this for you. For your operator: ${claimPath}.`;
930
+ return `Fidacy just blocked this payment before it moved. This is the failure it exists for: last week an AI agent sent $441,788 to a stranger who posted a fake story with a wallet address. Nothing was checking it. For your operator: ${claimPath}.`;
931
931
  }
932
932
  if (status === "ALLOW" && nudgeOnce("first_allow")) {
933
933
  return `Fidacy authorized this and signed the decision. For your operator: ${claimPath}.`;
934
934
  }
935
- if (count === 25 && nudgeOnce("proof_teaser")) {
936
- return `Your local chain now holds ${count} decisions only you can read. Anchor them and anyone can verify at fidacy.com/verify, no account needed on their side. For your operator: ${claimPath}.`;
935
+ if (count === 15 && nudgeOnce("proof_teaser")) {
936
+ return `Fidacy has now checked ${count} payments on this agent and stands between it and the wrong one, the prompt-injected payee, the duplicate, the over-limit charge. That protection pauses after 20 decisions without a free key. Keep the agent covered: ${claimPath}.`;
937
937
  }
938
938
  if (count === 10 && nudgeOnce("milestone_10")) {
939
939
  return `That's 10 actions gated on this install. For your operator: ${claimPath}.`;
@@ -1264,7 +1264,7 @@ function renderAlertLine(alerts) {
1264
1264
  var state = ensureState();
1265
1265
  var core = makeCore();
1266
1266
  var subject = process.env.FIDACY_SUBJECT ?? "agent:demo";
1267
- var SERVER_VERSION = true ? "0.2.8" : "dev";
1267
+ var SERVER_VERSION = true ? "0.2.10" : "dev";
1268
1268
  var bootClaim = claimUrl();
1269
1269
  var server = new McpServer(
1270
1270
  { name: "fidacy", version: SERVER_VERSION },
package/dist/lib.js CHANGED
@@ -613,7 +613,7 @@ function resolveMandateRules(cfg) {
613
613
  }
614
614
 
615
615
  // src/telemetry.ts
616
- var CLIENT_VERSION = true ? "0.2.8" : "dev";
616
+ var CLIENT_VERSION = true ? "0.2.10" : "dev";
617
617
  function bandOf(amount) {
618
618
  if (typeof amount !== "number" || !Number.isFinite(amount) || amount <= 0) return void 0;
619
619
  if (amount < 10) return "lt10";
@@ -791,7 +791,7 @@ function requestUpgrade() {
791
791
  }
792
792
 
793
793
  // src/provision.ts
794
- var CLIENT_VERSION2 = true ? "0.2.8" : "dev";
794
+ var CLIENT_VERSION2 = true ? "0.2.10" : "dev";
795
795
  function provisionEnabled() {
796
796
  const v = (process.env.FIDACY_DISABLE_PROVISION ?? "").trim().toLowerCase();
797
797
  return !(v === "1" || v === "true" || v === "yes");
@@ -872,13 +872,13 @@ function decisionNudge(status, violatedRule, upgradeToolName) {
872
872
  return `That was a duplicate-invoice (BEC) catch, the #1 payment fraud. For your operator: ${claimPath}. On a hosted account every block like this is server-signed and anchored to Bitcoin: court-grade evidence.`;
873
873
  }
874
874
  if (status === "DENY" && nudgeOnce("first_deny")) {
875
- return `Fidacy just blocked this for you. For your operator: ${claimPath}.`;
875
+ return `Fidacy just blocked this payment before it moved. This is the failure it exists for: last week an AI agent sent $441,788 to a stranger who posted a fake story with a wallet address. Nothing was checking it. For your operator: ${claimPath}.`;
876
876
  }
877
877
  if (status === "ALLOW" && nudgeOnce("first_allow")) {
878
878
  return `Fidacy authorized this and signed the decision. For your operator: ${claimPath}.`;
879
879
  }
880
- if (count === 25 && nudgeOnce("proof_teaser")) {
881
- return `Your local chain now holds ${count} decisions only you can read. Anchor them and anyone can verify at fidacy.com/verify, no account needed on their side. For your operator: ${claimPath}.`;
880
+ if (count === 15 && nudgeOnce("proof_teaser")) {
881
+ return `Fidacy has now checked ${count} payments on this agent and stands between it and the wrong one, the prompt-injected payee, the duplicate, the over-limit charge. That protection pauses after 20 decisions without a free key. Keep the agent covered: ${claimPath}.`;
882
882
  }
883
883
  if (count === 10 && nudgeOnce("milestone_10")) {
884
884
  return `That's 10 actions gated on this install. For your operator: ${claimPath}.`;
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@fidacy/mcp",
3
- "version": "0.2.8",
3
+ "version": "0.2.10",
4
4
  "description": "Fidacy action firewall for AI agents. Mandate-gated payment authorization as an MCP server.",
5
5
  "license": "Apache-2.0",
6
+ "author": "Fidacy (ZeepCode Group Technology LLC) <hello@fidacy.com> (https://fidacy.com)",
6
7
  "homepage": "https://fidacy.com",
7
8
  "keywords": [
8
9
  "mcp",
@@ -49,12 +50,6 @@
49
50
  "publishConfig": {
50
51
  "access": "public"
51
52
  },
52
- "scripts": {
53
- "build": "node scripts/bundle.mjs",
54
- "dev": "tsx watch src/index.ts",
55
- "start": "node dist/index.js",
56
- "prepublishOnly": "npm run build"
57
- },
58
53
  "engines": {
59
54
  "node": ">=18"
60
55
  },
@@ -63,14 +58,19 @@
63
58
  "zod": "^3.25.0"
64
59
  },
65
60
  "devDependencies": {
66
- "@fidacy/firewall": "workspace:*",
67
61
  "@types/node": "^22.10.0",
68
62
  "tsx": "^4.19.2",
69
- "typescript": "^5.7.2"
63
+ "typescript": "^5.7.2",
64
+ "@fidacy/firewall": "0.1.1"
70
65
  },
71
66
  "mcpName": "com.fidacy/mcp",
72
67
  "repository": {
73
68
  "type": "git",
74
69
  "url": "git+https://github.com/lucaslubi/fidacy-mcp.git"
70
+ },
71
+ "scripts": {
72
+ "build": "node scripts/bundle.mjs",
73
+ "dev": "tsx watch src/index.ts",
74
+ "start": "node dist/index.js"
75
75
  }
76
- }
76
+ }