@fidacy/mcp 0.1.23 → 0.1.24

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/dist/core.js CHANGED
@@ -442,7 +442,7 @@ function resolveMandateRules(cfg) {
442
442
  }
443
443
 
444
444
  // src/telemetry.ts
445
- var CLIENT_VERSION = true ? "0.1.23" : "dev";
445
+ var CLIENT_VERSION = true ? "0.1.24" : "dev";
446
446
  function bandOf(amount) {
447
447
  if (typeof amount !== "number" || !Number.isFinite(amount) || amount <= 0) return void 0;
448
448
  if (amount < 10) return "lt10";
package/dist/index.js CHANGED
@@ -471,7 +471,7 @@ function resolveMandateRules(cfg) {
471
471
  }
472
472
 
473
473
  // src/telemetry.ts
474
- var CLIENT_VERSION = true ? "0.1.23" : "dev";
474
+ var CLIENT_VERSION = true ? "0.1.24" : "dev";
475
475
  function bandOf(amount) {
476
476
  if (typeof amount !== "number" || !Number.isFinite(amount) || amount <= 0) return void 0;
477
477
  if (amount < 10) return "lt10";
@@ -814,7 +814,7 @@ async function findArtifacts(sha2562, cfg) {
814
814
  }
815
815
 
816
816
  // src/provision.ts
817
- var CLIENT_VERSION2 = true ? "0.1.23" : "dev";
817
+ var CLIENT_VERSION2 = true ? "0.1.24" : "dev";
818
818
  function provisionEnabled() {
819
819
  const v = (process.env.FIDACY_DISABLE_PROVISION ?? "").trim().toLowerCase();
820
820
  return !(v === "1" || v === "true" || v === "yes");
@@ -912,6 +912,19 @@ function decisionNudge(status, violatedRule, upgradeToolName) {
912
912
  }
913
913
  return null;
914
914
  }
915
+ function hostedWallCta(feature) {
916
+ const url = claimUrl();
917
+ const cta = url ? `open ${url} \u2014 free account, this install's history migrates` : `call the upgrade tool \u2014 free account, your history migrates`;
918
+ const noun = feature === "anchor" ? "Bitcoin-anchored proofs" : "server-signed verdicts";
919
+ if (nudgeOnce("hosted_wall")) {
920
+ return `You've used this install's free allowance for ${noun} \u2014 the proofs anyone can re-verify at fidacy.com/verify, court-grade, not a local-only check. Keep them flowing: for your operator, ${cta}.`;
921
+ }
922
+ return `Free allowance for ${noun} reached. For your operator: ${cta}.`;
923
+ }
924
+ function noKeyCta() {
925
+ const url = claimUrl();
926
+ return url ? `free in ~1 min for your operator: open ${url} (this install's history migrates), or set FIDACY_ENGINE_API_KEY if you already have one` : `free in ~1 min: call the upgrade tool (your history migrates), or set FIDACY_ENGINE_API_KEY if you already have one`;
927
+ }
915
928
  function weekOneBootNudge(upgradeToolName) {
916
929
  if (installAgeDays() >= 7 && nudgeOnce("week_1")) {
917
930
  const url = claimUrl();
@@ -924,7 +937,7 @@ function weekOneBootNudge(upgradeToolName) {
924
937
  var state = ensureState();
925
938
  var core = makeCore();
926
939
  var subject = process.env.FIDACY_SUBJECT ?? "agent:demo";
927
- var SERVER_VERSION = true ? "0.1.23" : "dev";
940
+ var SERVER_VERSION = true ? "0.1.24" : "dev";
928
941
  var server = new McpServer({ name: "fidacy", version: SERVER_VERSION });
929
942
  server.registerTool(
930
943
  "request_payment",
@@ -1013,12 +1026,7 @@ server.registerTool(
1013
1026
  const apiKey = (process.env.FIDACY_ENGINE_API_KEY ?? "").trim();
1014
1027
  if (!apiKey) {
1015
1028
  return {
1016
- content: [
1017
- {
1018
- type: "text",
1019
- text: "assess_action needs an engine key \u2014 free in about a minute: call the upgrade tool (your usage history migrates), or set FIDACY_ENGINE_API_KEY if you already have one."
1020
- }
1021
- ],
1029
+ content: [{ type: "text", text: `assess_action needs an engine key \u2014 ${noKeyCta()}.` }],
1022
1030
  isError: true
1023
1031
  };
1024
1032
  }
@@ -1033,6 +1041,9 @@ server.registerTool(
1033
1041
  };
1034
1042
  } catch (e) {
1035
1043
  if (e instanceof AssessError) {
1044
+ if (e.status === 402) {
1045
+ return { content: [{ type: "text", text: hostedWallCta("verdict") }], isError: true };
1046
+ }
1036
1047
  const reasons = e.rejection_reasons?.length ? " (" + e.rejection_reasons.map((x) => x.key).join(",") + ")" : "";
1037
1048
  return {
1038
1049
  content: [{ type: "text", text: `ASSESS ${e.status}: ${e.type}${reasons}` }],
@@ -1065,7 +1076,7 @@ server.registerTool(
1065
1076
  const apiKey = (process.env.FIDACY_ENGINE_API_KEY ?? "").trim();
1066
1077
  if (!apiKey) {
1067
1078
  return {
1068
- content: [{ type: "text", text: "anchor_artifact needs an engine key \u2014 free in about a minute: call the upgrade tool, or set FIDACY_ENGINE_API_KEY if you already have one." }],
1079
+ content: [{ type: "text", text: `anchor_artifact needs an engine key \u2014 ${noKeyCta()}.` }],
1069
1080
  isError: true
1070
1081
  };
1071
1082
  }
@@ -1094,6 +1105,9 @@ server.registerTool(
1094
1105
  };
1095
1106
  } catch (e) {
1096
1107
  if (e instanceof AssessError) {
1108
+ if (e.status === 402) {
1109
+ return { content: [{ type: "text", text: hostedWallCta("anchor") }], isError: true };
1110
+ }
1097
1111
  return { content: [{ type: "text", text: `ANCHOR ${e.status}: ${e.type}` }], isError: true };
1098
1112
  }
1099
1113
  return { content: [{ type: "text", text: "ANCHOR failed: unexpected error" }], isError: true };
package/dist/lib.js CHANGED
@@ -594,7 +594,7 @@ function resolveMandateRules(cfg) {
594
594
  }
595
595
 
596
596
  // src/telemetry.ts
597
- var CLIENT_VERSION = true ? "0.1.23" : "dev";
597
+ var CLIENT_VERSION = true ? "0.1.24" : "dev";
598
598
  function bandOf(amount) {
599
599
  if (typeof amount !== "number" || !Number.isFinite(amount) || amount <= 0) return void 0;
600
600
  if (amount < 10) return "lt10";
@@ -771,7 +771,7 @@ function requestUpgrade() {
771
771
  }
772
772
 
773
773
  // src/provision.ts
774
- var CLIENT_VERSION2 = true ? "0.1.23" : "dev";
774
+ var CLIENT_VERSION2 = true ? "0.1.24" : "dev";
775
775
  function provisionEnabled() {
776
776
  const v = (process.env.FIDACY_DISABLE_PROVISION ?? "").trim().toLowerCase();
777
777
  return !(v === "1" || v === "true" || v === "yes");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fidacy/mcp",
3
- "version": "0.1.23",
3
+ "version": "0.1.24",
4
4
  "description": "Fidacy action firewall for AI agents. Mandate-gated payment authorization as an MCP server.",
5
5
  "license": "Apache-2.0",
6
6
  "homepage": "https://fidacy.com",