@aifinpay/mcp 2.12.1 → 2.14.1

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.
Files changed (39) hide show
  1. package/README.md +33 -9
  2. package/dist/config.d.ts.map +1 -1
  3. package/dist/config.js +6 -2
  4. package/dist/config.js.map +1 -1
  5. package/dist/directory.d.ts +55 -0
  6. package/dist/directory.d.ts.map +1 -0
  7. package/dist/directory.js +56 -0
  8. package/dist/directory.js.map +1 -0
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +3 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/merchant-site.d.ts +9 -1
  14. package/dist/merchant-site.d.ts.map +1 -1
  15. package/dist/merchant-site.js +11 -4
  16. package/dist/merchant-site.js.map +1 -1
  17. package/dist/native-price.d.ts +1 -1
  18. package/dist/native-price.d.ts.map +1 -1
  19. package/dist/native-price.js +4 -0
  20. package/dist/native-price.js.map +1 -1
  21. package/dist/pay-chains.d.ts +4 -0
  22. package/dist/pay-chains.d.ts.map +1 -1
  23. package/dist/pay-chains.js.map +1 -1
  24. package/dist/tools/agent-claim-self.d.ts +14 -7
  25. package/dist/tools/agent-claim-self.d.ts.map +1 -1
  26. package/dist/tools/agent-claim-self.js +64 -25
  27. package/dist/tools/agent-claim-self.js.map +1 -1
  28. package/dist/tools/directory.d.ts +275 -0
  29. package/dist/tools/directory.d.ts.map +1 -0
  30. package/dist/tools/directory.js +253 -0
  31. package/dist/tools/directory.js.map +1 -0
  32. package/dist/tools/payable-fetch.d.ts.map +1 -1
  33. package/dist/tools/payable-fetch.js +14 -4
  34. package/dist/tools/payable-fetch.js.map +1 -1
  35. package/dist/tools/production-control.d.ts.map +1 -1
  36. package/dist/tools/production-control.js +4 -1
  37. package/dist/tools/production-control.js.map +1 -1
  38. package/package.json +3 -3
  39. package/skills/SKILL.md +99 -82
package/README.md CHANGED
@@ -4,8 +4,8 @@ AiFinPay MCP server for persistent agent identity, Agent Passport resolution,
4
4
  route discovery and non-signing settlement invoices. Canonical domain:
5
5
  **aifinpay.io**.
6
6
 
7
- Version **2.12.1** is prepared in this checkout, on the published agent 2.9.0
8
- and canonical skill 2.10.2 (AiFinPay/skill 48285cf, published 2026-10-19). The separate canonical producer's final immutable
7
+ Version **2.13.0** is prepared in this checkout, on the published agent 2.9.0
8
+ and canonical skill 2.11.0 (AiFinPay/skill 0490615, published 2026-10-22). The separate canonical producer's final immutable
9
9
  source pin is a required handoff, not a moving-branch substitution.
10
10
  The published baseline checked2026-10-04 was MCP2.5.0. Package publication and
11
11
  real registry dependency/lock refresh remain release gates; a source-cohort
@@ -227,10 +227,14 @@ client missing from this table can be reported with its exact name.
227
227
  ## Link the agent to its owner's dashboard
228
228
 
229
229
  The owner sees the agent's balance, payments and receipts at
230
- https://dash.aifinpay.io → My Agents. There, **Claim via MCP** generates a
231
- one-time URL; pass it to `agent_claim_self`. The tool contacts only AiFinPay
232
- origins, signs only the claim challenge for this agent's own address, and moves
233
- no funds. The owner-selected payment family must be confirmed successfully;
230
+ https://dash.aifinpay.io → My Agents. There, **Link an agent → Claim via MCP**
231
+ generates a one-time URL; pass it to `agent_claim_self`, which redeems it with
232
+ a POST to `/api/auth/claim`. Opening the URL in a browser, or pasting it into a
233
+ chat that has no AiFinPay MCP, links nothing; such an agent is linked by signed
234
+ message in My Agents instead. An account with 2FA on links the same way: the
235
+ URL was made in a session that already passed the second factor. The tool contacts
236
+ only AiFinPay origins, signs only the claim challenge for this agent's own
237
+ address, and moves no funds. The owner-selected payment family must be confirmed successfully;
234
238
  the second wallet is best-effort. Use the selected wallet's Fund panel for
235
239
  available networks and assets; binding does not activate a disabled network.
236
240
  Offer this to the owner after `init` (step 4 above): from then on the owner
@@ -284,6 +288,23 @@ the tool says not to retry. `dev_payment_quote` is registered
284
288
  only with `AIFINPAY_MODE=dev`. Legacy `agent_call`, `agent_quote`,
285
289
  `pay_with_split` and `quote_split` remain unregistered.
286
290
 
291
+ ### Read-only directory profile
292
+
293
+ `createDirectoryServer()` is a second, separate server: the one listed in the
294
+ OpenAI ChatGPT App Directory at `https://mcp.aifinpay.io/directory/mcp`. It has
295
+ no agent identity, needs no auth and moves no money. Its nine tools wrap public
296
+ `api.aifinpay.io` GET endpoints (`AIFINPAY_API_BASE` overrides the base), and
297
+ each is `readOnlyHint: true` with an `outputSchema`: `list_providers`,
298
+ `provider_info`, `provider_status`, `service_coverage`, `network_stats`,
299
+ `leaderboard`, `quote_cost` (a fee breakdown, no payment), `verify_passport`
300
+ and `agent_profile`. `@aifinpay/mcp-http` serves it when
301
+ `AIFINPAY_MCP_PROFILE=directory`.
302
+
303
+ ```ts
304
+ import { createDirectoryServer } from "@aifinpay/mcp";
305
+ const { server } = await createDirectoryServer();
306
+ ```
307
+
287
308
  ## Persistent wallet selection
288
309
 
289
310
  The CLI (`init` and stdio), programmatic server and `agent_reload` use the same
@@ -508,7 +529,10 @@ MIT.
508
529
  ## Additional EVM networks in the 2.8.1 source candidate
509
530
 
510
531
  Owner `AIFINPAY_PAY_CHAIN` accepts polygon, base, optimism, arbitrum, avalanche,
511
- bnb, unichain, xrplevm and robinhood. `AIFINPAY_MAX_GAS` is in the selected native
532
+ bnb, unichain, xrplevm, robinhood, arc and arctestnet (2.14.0). Arc pays only in
533
+ USDC, which is also its gas: `AIFINPAY_MAX_GAS` is in USDC (e.g. `0.05`), EURC is
534
+ refused, and no price feed is read. `arctestnet` requires `AIFINPAY_MODE=dev`;
535
+ every EVM mainnet requires live mode. `AIFINPAY_MAX_GAS` is in the selected native
512
536
  POL/ETH/AVAX/BNB/XRP currency; the legacy POL cap applies only on Polygon. Assets
513
537
  must be pinned for that chain, including BNB 18-decimal USDC/USDT and Robinhood
514
538
  18-decimal USDe/6-decimal USDG. XRPL EVM has native XRP only. Metadata comes from
@@ -539,8 +563,8 @@ the new bound preparation/recovery/completion hooks; absence refuses payment.
539
563
 
540
564
  Version2.7 targets NodeSDK2.5 and canonical skill2.8. These are coordinated
541
565
  release targets; source integration does not establish npm publication or
542
- activate a network. The published deployments1.1.3 Solana entries remain
543
- disabled. `payable_fetch` retains the SDK availability check and cannot
566
+ activate a network. From agent 2.10.0 (deployments 2.1.0) the Solana entries are
567
+ enabled (ADR-007). `payable_fetch` retains the SDK availability check and cannot
544
568
  override it.
545
569
 
546
570
  For a separately accepted and served Solana route, the owner sets
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;iGAC6F;IAC7F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;iGAE6F;IAC7F,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;sEACkE;IAClE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;0EACsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACrC,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;yFACqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;uEAamE;IACnE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;kFAE8E;IAC9E,eAAe,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAEvC;;;;;;;;;8CAS0C;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,qDAAqD;IACrD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACjE;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAqC7C;AA4ED;;;2BAG2B;AAC3B,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC;;;mFAGmF;AACnF,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAUzC;;kCAEkC;AAClC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAsF/D"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAGvD,6CAA6C;AAC7C,MAAM,WAAW,SAAS;IACxB,yEAAyE;IACzE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kEAAkE;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,qFAAqF;IACrF,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,2DAA2D;IAC3D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;iGAC6F;IAC7F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;iGAE6F;IAC7F,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;sEACkE;IAClE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;0EACsE;IACtE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IACrC,uEAAuE;IACvE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;yFACqF;IACrF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,8DAA8D;IAC9D,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;;;;;;;;;;;;uEAamE;IACnE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;kFAE8E;IAC9E,eAAe,CAAC,EAAE,SAAS,GAAG,QAAQ,CAAC;IAEvC;;;;;;;;;8CAS0C;IAC1C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IAExB,qDAAqD;IACrD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACjE;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAqC7C;AA4ED;;;2BAG2B;AAC3B,eAAO,MAAM,eAAe,IAAI,CAAC;AACjC,eAAO,MAAM,iBAAiB,KAAK,CAAC;AACpC;;;mFAGmF;AACnF,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAUzC;;kCAEkC;AAClC,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CA6F/D"}
package/dist/config.js CHANGED
@@ -139,8 +139,12 @@ export function validatePaymentConfig(config) {
139
139
  if (!config.paymentsEnabled)
140
140
  throw new Error("Payments disabled by the owner (AIFINPAY_PAYMENTS_ENABLED=0)");
141
141
  const chain = payChain(config.payChain);
142
- if (config.devMode && chain.name !== "solana")
143
- throw new Error("MCP receipt payments support live mode only");
142
+ // A testnet pays only in dev mode and a mainnet only in live mode, so one can
143
+ // never stand in for the other (Solana checks its cluster the same way below).
144
+ if (chain.name !== "solana" && (config.devMode === true) !== (chain.testnet === true))
145
+ throw new Error(chain.testnet
146
+ ? `${chain.name} is a testnet: set AIFINPAY_MODE=dev to pay on it`
147
+ : "MCP receipt payments on EVM mainnets support live mode only");
144
148
  if (config.rpcUrl !== undefined) {
145
149
  let rpc;
146
150
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * createDirectoryServer — the READ-ONLY MCP server submitted to the OpenAI
3
+ * ChatGPT App Directory. Distinct from `createServer` (the full BYO-MCP
4
+ * connector with payment execution): this one exposes ONLY the read-only
5
+ * directory tools, requires NO agent identity and NO auth, and never moves
6
+ * money — so it is reviewable under OpenAI's directory policy (Obsidian/32 /34).
7
+ *
8
+ * One codebase, two profiles: the HTTP wrapper picks this when
9
+ * AIFINPAY_MCP_PROFILE=directory.
10
+ */
11
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
12
+ export interface DirectoryServerConfig {
13
+ /** Public API base for the wrapped GET endpoints. Defaults to production. */
14
+ apiBase?: string;
15
+ /** Per-request timeout (ms). */
16
+ timeoutMs?: number;
17
+ log?: (level: "info" | "warn" | "error", msg: string) => void;
18
+ }
19
+ export declare function createDirectoryServer(config?: DirectoryServerConfig): Promise<{
20
+ server: Server<{
21
+ method: string;
22
+ params?: {
23
+ [x: string]: unknown;
24
+ _meta?: {
25
+ [x: string]: unknown;
26
+ progressToken?: string | number | undefined;
27
+ "io.modelcontextprotocol/related-task"?: {
28
+ taskId: string;
29
+ } | undefined;
30
+ } | undefined;
31
+ } | undefined;
32
+ }, {
33
+ method: string;
34
+ params?: {
35
+ [x: string]: unknown;
36
+ _meta?: {
37
+ [x: string]: unknown;
38
+ progressToken?: string | number | undefined;
39
+ "io.modelcontextprotocol/related-task"?: {
40
+ taskId: string;
41
+ } | undefined;
42
+ } | undefined;
43
+ } | undefined;
44
+ }, {
45
+ [x: string]: unknown;
46
+ _meta?: {
47
+ [x: string]: unknown;
48
+ progressToken?: string | number | undefined;
49
+ "io.modelcontextprotocol/related-task"?: {
50
+ taskId: string;
51
+ } | undefined;
52
+ } | undefined;
53
+ }>;
54
+ }>;
55
+ //# sourceMappingURL=directory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAInE,MAAM,WAAW,qBAAqB;IACpC,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAwBD,wBAAsB,qBAAqB,CAAC,MAAM,GAAE,qBAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2B7E"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * createDirectoryServer — the READ-ONLY MCP server submitted to the OpenAI
3
+ * ChatGPT App Directory. Distinct from `createServer` (the full BYO-MCP
4
+ * connector with payment execution): this one exposes ONLY the read-only
5
+ * directory tools, requires NO agent identity and NO auth, and never moves
6
+ * money — so it is reviewable under OpenAI's directory policy (Obsidian/32 /34).
7
+ *
8
+ * One codebase, two profiles: the HTTP wrapper picks this when
9
+ * AIFINPAY_MCP_PROFILE=directory.
10
+ */
11
+ import { Server } from "@modelcontextprotocol/sdk/server/index.js";
12
+ import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
13
+ import { directoryTools, runDirectoryTool, DIRECTORY_API_BASE } from "./tools/directory.js";
14
+ // Server-wide instructions returned at initialize. ChatGPT/Codex use these as a
15
+ // cross-tool guide (OpenAI readiness checklist item; the audit found it ABSENT
16
+ // on the connector server). States the read-only contract, networks, and limits.
17
+ const DIRECTORY_INSTRUCTIONS = [
18
+ "AiFinPay is payment infrastructure for AI agents. THIS server is the",
19
+ "read-only directory surface: it answers questions about the AiFinPay agent",
20
+ "economy and prices AI services — it does NOT move money, hold funds, sign",
21
+ "transactions, or execute any payment. Every tool is read-only.",
22
+ "",
23
+ "Use it to: list available AI providers and their per-call prices",
24
+ "(list_providers / provider_info / provider_status / service_coverage),",
25
+ "preview a fee-on-top cost breakdown without paying (quote_cost), read public",
26
+ "protocol stats (network_stats) and the on-chain agent leaderboard",
27
+ "(leaderboard), verify an agent's AgentPassport (verify_passport), and look up",
28
+ "a public agent profile (agent_profile).",
29
+ "",
30
+ "Networks: Polygon and Solana mainnet. Data is public on-chain / registry",
31
+ "information. To actually execute a payment, an agent uses the separate",
32
+ "AiFinPay connector or SDK — not this directory app. Requests are rate limited;",
33
+ "on HTTP 429 (rate_limit_exceeded), back off and retry.",
34
+ ].join("\n");
35
+ export async function createDirectoryServer(config = {}) {
36
+ const log = config.log ?? ((lvl, msg) => process.stderr.write(`[${lvl}] ${msg}\n`));
37
+ const ctx = {
38
+ apiBase: (config.apiBase || DIRECTORY_API_BASE).replace(/\/$/, ""),
39
+ timeoutMs: config.timeoutMs ?? 15000,
40
+ log,
41
+ };
42
+ const server = new Server({ name: "@aifinpay/mcp-directory", version: "1.0.0" }, {
43
+ capabilities: { tools: {} },
44
+ instructions: DIRECTORY_INSTRUCTIONS,
45
+ });
46
+ server.setRequestHandler(ListToolsRequestSchema, async () => ({
47
+ tools: directoryTools(),
48
+ }));
49
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
50
+ const { name, arguments: args } = request.params;
51
+ return runDirectoryTool(ctx, name, args ?? {});
52
+ });
53
+ log("info", `[aifinpay-mcp-directory] read-only profile · api=${ctx.apiBase}`);
54
+ return { server };
55
+ }
56
+ //# sourceMappingURL=directory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../src/directory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AACnG,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,kBAAkB,EAAyB,MAAM,sBAAsB,CAAC;AAUnH,gFAAgF;AAChF,+EAA+E;AAC/E,iFAAiF;AACjF,MAAM,sBAAsB,GAAG;IAC7B,sEAAsE;IACtE,4EAA4E;IAC5E,2EAA2E;IAC3E,gEAAgE;IAChE,EAAE;IACF,kEAAkE;IAClE,wEAAwE;IACxE,8EAA8E;IAC9E,mEAAmE;IACnE,+EAA+E;IAC/E,yCAAyC;IACzC,EAAE;IACF,0EAA0E;IAC1E,wEAAwE;IACxE,gFAAgF;IAChF,wDAAwD;CACzD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,MAAM,GAA0B,EAAE;IAC5E,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC;IACpF,MAAM,GAAG,GAAqB;QAC5B,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,kBAAkB,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QAClE,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,KAAK;QACpC,GAAG;KACJ,CAAC;IAEF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB,EAAE,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,OAAO,EAAE,EACrD;QACE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;QAC3B,YAAY,EAAE,sBAAsB;KACrC,CACF,CAAC;IAEF,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,cAAc,EAAE;KACxB,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACjD,OAAO,gBAAgB,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,MAAM,EAAE,oDAAoD,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/E,OAAO,EAAE,MAAM,EAAE,CAAC;AACpB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -23,4 +23,6 @@ export { createServer } from "./server.js";
23
23
  export type { ToolContext } from "./server.js";
24
24
  export type { McpConfig } from "./config.js";
25
25
  export { loadConfigFromEnv } from "./config.js";
26
+ export { createDirectoryServer } from "./directory.js";
27
+ export type { DirectoryServerConfig } from "./directory.js";
26
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAIhD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,YAAY,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -21,4 +21,7 @@
21
21
  */
22
22
  export { createServer } from "./server.js";
23
23
  export { loadConfigFromEnv } from "./config.js";
24
+ // Read-only directory profile — the surface submitted to the OpenAI ChatGPT App
25
+ // Directory (no agent, no auth, no payment execution). See directory.ts.
26
+ export { createDirectoryServer } from "./directory.js";
24
27
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEhD,gFAAgF;AAChF,yEAAyE;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -13,10 +13,18 @@
13
13
  * the 402's, and the check runs in onPrepared — before anything is signed into
14
14
  * the journal or broadcast — so a refusal pays nothing.
15
15
  */
16
+ /** "unconfirmed": the lookup failed; "unverified": no DNS proof; "other_site":
17
+ * verified, but for a host other than the one being paid for. */
18
+ export type UnverifiedMerchantSiteKind = "unconfirmed" | "unverified" | "other_site";
16
19
  export declare class UnverifiedMerchantSiteError extends Error {
17
20
  readonly merchantId: string;
18
21
  readonly reason: string;
19
- constructor(merchantId: string, reason: string);
22
+ readonly kind: UnverifiedMerchantSiteKind;
23
+ /** Origin of the URL being paid for: what the owner would allowlist. */
24
+ readonly origin: string;
25
+ constructor(merchantId: string, reason: string, kind: UnverifiedMerchantSiteKind,
26
+ /** Origin of the URL being paid for: what the owner would allowlist. */
27
+ origin: string);
20
28
  }
21
29
  export declare function assertVerifiedMerchantSite(opts: {
22
30
  fetchImpl: (input: string, init?: RequestInit) => Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"merchant-site.d.ts","sourceRoot":"","sources":["../src/merchant-site.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,qBAAa,2BAA4B,SAAQ,KAAK;aAElC,UAAU,EAAE,MAAM;aAClB,MAAM,EAAE,MAAM;IAFhC,YACkB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EAI/B;CACF;AAcD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,GAAG,EAAE,GAAG,CAAC;IACT,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;CAChC,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBhB"}
1
+ {"version":3,"file":"merchant-site.d.ts","sourceRoot":"","sources":["../src/merchant-site.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH;kEACkE;AAClE,MAAM,MAAM,0BAA0B,GAAG,aAAa,GAAG,YAAY,GAAG,YAAY,CAAC;AAErF,qBAAa,2BAA4B,SAAQ,KAAK;aAElC,UAAU,EAAE,MAAM;aAClB,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,0BAA0B;IAChD,wEAAwE;aACxD,MAAM,EAAE,MAAM;IALhC,YACkB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,0BAA0B;IAChD,wEAAwE;IACxD,MAAM,EAAE,MAAM,EAI/B;CACF;AAcD,wBAAsB,0BAA0B,CAAC,IAAI,EAAE;IACrD,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpE,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,UAAU,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,GAAG,EAAE,GAAG,CAAC;IACT,+EAA+E;IAC/E,QAAQ,EAAE,SAAS,GAAG,QAAQ,CAAC;CAChC,GAAG,OAAO,CAAC,IAAI,CAAC,CA2BhB"}
@@ -16,10 +16,16 @@
16
16
  export class UnverifiedMerchantSiteError extends Error {
17
17
  merchantId;
18
18
  reason;
19
- constructor(merchantId, reason) {
19
+ kind;
20
+ origin;
21
+ constructor(merchantId, reason, kind,
22
+ /** Origin of the URL being paid for: what the owner would allowlist. */
23
+ origin) {
20
24
  super(`Not paid: merchant ${merchantId} ${reason}. Nothing was signed or sent.`);
21
25
  this.merchantId = merchantId;
22
26
  this.reason = reason;
27
+ this.kind = kind;
28
+ this.origin = origin;
23
29
  this.name = "UnverifiedMerchantSiteError";
24
30
  }
25
31
  }
@@ -45,14 +51,15 @@ export async function assertVerifiedMerchantSite(opts) {
45
51
  catch {
46
52
  body = null;
47
53
  }
54
+ const origin = opts.url.origin;
48
55
  if (!body || body.merchant_id !== merchantId)
49
- throw new UnverifiedMerchantSiteError(merchantId, "could not be confirmed with AiFinPay");
56
+ throw new UnverifiedMerchantSiteError(merchantId, "could not be confirmed with AiFinPay", "unconfirmed", origin);
50
57
  if (body.site_verified !== true)
51
- throw new UnverifiedMerchantSiteError(merchantId, "has not verified its site with AiFinPay");
58
+ throw new UnverifiedMerchantSiteError(merchantId, "has not verified its site with AiFinPay", "unverified", origin);
52
59
  if (opts.pathMode === "direct") {
53
60
  const site = hostOf(body.site_url);
54
61
  if (!site || site !== opts.url.hostname.toLowerCase())
55
- throw new UnverifiedMerchantSiteError(merchantId, `is verified for ${site ?? "no https site"}, not ${opts.url.hostname}`);
62
+ throw new UnverifiedMerchantSiteError(merchantId, `is verified for ${site ?? "no https site"}, not ${opts.url.hostname}`, "other_site", origin);
56
63
  }
57
64
  }
58
65
  //# sourceMappingURL=merchant-site.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"merchant-site.js","sourceRoot":"","sources":["../src/merchant-site.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAElC,UAAU;IACV,MAAM;IAFxB,YACkB,UAAkB,EAClB,MAAc;QAE9B,KAAK,CAAC,sBAAsB,UAAU,IAAI,MAAM,+BAA+B,CAAC,CAAC;0BAHjE,UAAU;sBACV,MAAM;QAGtB,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAID,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAUhD;IACC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5B,IAAI,IAAI,GAAwB,IAAI,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAC9B,IAAI,GAAG,CAAC,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAC7E,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAC/D,CAAC;QACF,IAAI,GAAG,CAAC,EAAE;YAAE,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAiB,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU;QAC1C,MAAM,IAAI,2BAA2B,CAAC,UAAU,EAAE,sCAAsC,CAAC,CAAC;IAC5F,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI;QAC7B,MAAM,IAAI,2BAA2B,CAAC,UAAU,EAAE,yCAAyC,CAAC,CAAC;IAC/F,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE;YACnD,MAAM,IAAI,2BAA2B,CACnC,UAAU,EACV,mBAAmB,IAAI,IAAI,eAAe,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CACvE,CAAC;IACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"merchant-site.js","sourceRoot":"","sources":["../src/merchant-site.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAMH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAElC,UAAU;IACV,MAAM;IACN,IAAI;IAEJ,MAAM;IALxB,YACkB,UAAkB,EAClB,MAAc,EACd,IAAgC;IAChD,wEAAwE;IACxD,MAAc;QAE9B,KAAK,CAAC,sBAAsB,UAAU,IAAI,MAAM,+BAA+B,CAAC,CAAC;0BANjE,UAAU;sBACV,MAAM;oBACN,IAAI;sBAEJ,MAAM;QAGtB,IAAI,CAAC,IAAI,GAAG,6BAA6B,CAAC;IAC5C,CAAC;CACF;AAID,MAAM,MAAM,GAAG,CAAC,KAAc,EAAiB,EAAE;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC3B,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACvE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,IAUhD;IACC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC5B,IAAI,IAAI,GAAwB,IAAI,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,SAAS,CAC9B,IAAI,GAAG,CAAC,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAC7E,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAC/D,CAAC;QACF,IAAI,GAAG,CAAC,EAAE;YAAE,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAiB,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,GAAG,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IAC/B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU;QAC1C,MAAM,IAAI,2BAA2B,CAAC,UAAU,EAAE,sCAAsC,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACnH,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI;QAC7B,MAAM,IAAI,2BAA2B,CAAC,UAAU,EAAE,yCAAyC,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACrH,IAAI,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE;YACnD,MAAM,IAAI,2BAA2B,CACnC,UAAU,EACV,mBAAmB,IAAI,IAAI,eAAe,SAAS,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EACtE,YAAY,EACZ,MAAM,CACP,CAAC;IACN,CAAC;AACH,CAAC"}
@@ -21,7 +21,7 @@ export declare const CHAINLINK_POL_USD_POLYGON: `0x${string}` | undefined;
21
21
  export interface NativePrice {
22
22
  usd: number;
23
23
  observedAtMs: number;
24
- source: `chainlink-${string}` | "coinbase" | "coingecko";
24
+ source: `chainlink-${string}` | "coinbase" | "coingecko" | "usd-peg";
25
25
  }
26
26
  type FetchImpl = (input: string, init?: RequestInit) => Promise<Response>;
27
27
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"native-price.d.ts","sourceRoot":"","sources":["../src/native-price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,yBAAyB,2BAAwC,CAAC;AAO/E,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,MAAM,EAAE,GAAG,UAAU,GAAG,WAAW,CAAC;CAC1D;AAED,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAoE1E;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,WAAW,CAAC,CAsBvB;AAED,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAE3G"}
1
+ {"version":3,"file":"native-price.d.ts","sourceRoot":"","sources":["../src/native-price.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE5D;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,yBAAyB,2BAAwC,CAAC;AAO/E,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,aAAa,MAAM,EAAE,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,CAAC;CACtE;AAED,KAAK,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,WAAW,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC;AAoE1E;;;;GAIG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,GAAG,OAAO,CAAC,WAAW,CAAC,CAyBvB;AAED,4DAA4D;AAC5D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE;IAAE,SAAS,EAAE,SAAS,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,WAAW,CAAC,CAE3G"}
@@ -98,6 +98,10 @@ async function fromCoinGecko(fetchImpl, chain) {
98
98
  */
99
99
  export async function independentNativeUsd(opts) {
100
100
  const { chain } = opts;
101
+ // Arc's gas token is USDC itself (10^18 units = $1). Funding advice and gas
102
+ // are already USD; a market feed would only add a host and noise.
103
+ if (chain.stablecoinOnly)
104
+ return { usd: 1, observedAtMs: Date.now(), source: "usd-peg" };
101
105
  const attempts = [];
102
106
  const rpc = opts.rpc;
103
107
  if (rpc && chain.chainlinkNativeUsd)
@@ -1 +1 @@
1
- {"version":3,"file":"native-price.js","sourceRoot":"","sources":["../src/native-price.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-price.js","sourceRoot":"","sources":["../src/native-price.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,10 @@ export interface PayChain {
24
24
  coingeckoId: string;
25
25
  /** Upper bound of a plausible native/USD price; anything above is refused. */
26
26
  maxSaneUsd: number;
27
+ /** Gas token is the pinned stablecoin itself (Arc USDC): pay only in the token. */
28
+ stablecoinOnly?: true;
29
+ /** Test network: payable only with AIFINPAY_MODE=dev, never with live money. */
30
+ testnet?: true;
27
31
  }
28
32
  export declare const PAY_CHAINS: Readonly<Record<Aifp1V14Chain, PayChain>>;
29
33
  export declare const SOLANA_PAY_CHAIN: Readonly<PayChain>;
@@ -1 +1 @@
1
- {"version":3,"file":"pay-chains.d.ts","sourceRoot":"","sources":["../src/pay-chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC;IAC/B,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACnC,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;CACpB;AAkBD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAA4B,CAAC;AAE9F,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAQ9C,CAAC;AACH,eAAO,MAAM,eAAe,UAAyC,CAAC;AAEtE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAM3D"}
1
+ {"version":3,"file":"pay-chains.d.ts","sourceRoot":"","sources":["../src/pay-chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAErE;;;;;;;;GAQG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,aAAa,GAAG,QAAQ,CAAC;IAC/B,yCAAyC;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IACnC,0CAA0C;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,UAAU,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,gFAAgF;IAChF,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB;AAkBD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAA4B,CAAC;AAE9F,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,QAAQ,CAQ9C,CAAC;AACH,eAAO,MAAM,eAAe,UAAyC,CAAC;AAEtE,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,CAM3D"}
@@ -1 +1 @@
1
- {"version":3,"file":"pay-chains.js","sourceRoot":"","sources":["../src/pay-chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AA6BrE,4EAA4E;AAC5E,2EAA2E;AAC3E,MAAM,SAAS,GAAG,EAAqC,CAAC;AACxD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAoB,EAAE,CAAC;IAClE,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,GAAG,UAAU;QACb,IAAI;QACJ,YAAY,EAAE,GAAG,UAAU,CAAC,MAAM,MAAM;QACxC,GAAG,CAAC,IAAI,KAAK,SAAS;YACpB,CAAC,CAAC,EAAE,kBAAkB,EAAE,4CAAqD,EAAE;YAC/E,CAAC,CAAC,IAAI,KAAK,MAAM;gBACf,CAAC,CAAC,EAAE,kBAAkB,EAAE,4CAAqD,EAAE;gBAC/E,CAAC,CAAC,EAAE,CAAC;KACV,CAAC,CAAC;AACL,CAAC;AACD,MAAM,CAAC,MAAM,UAAU,GAA8C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,gBAAgB,GAAuB,MAAM,CAAC,MAAM,CAAC;IAChE,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,qCAAqC;IACjD,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,OAAO;CACpB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;AAEtE,MAAM,UAAU,QAAQ,CAAC,IAAwB;IAC/C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC;IAC/C,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAkB,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/F,OAAO,KAAK,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"pay-chains.js","sourceRoot":"","sources":["../src/pay-chains.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsB,MAAM,iBAAiB,CAAC;AAiCrE,4EAA4E;AAC5E,2EAA2E;AAC3E,MAAM,SAAS,GAAG,EAAqC,CAAC;AACxD,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAoB,EAAE,CAAC;IAClE,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACxC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;QAC9B,GAAG,UAAU;QACb,IAAI;QACJ,YAAY,EAAE,GAAG,UAAU,CAAC,MAAM,MAAM;QACxC,GAAG,CAAC,IAAI,KAAK,SAAS;YACpB,CAAC,CAAC,EAAE,kBAAkB,EAAE,4CAAqD,EAAE;YAC/E,CAAC,CAAC,IAAI,KAAK,MAAM;gBACf,CAAC,CAAC,EAAE,kBAAkB,EAAE,4CAAqD,EAAE;gBAC/E,CAAC,CAAC,EAAE,CAAC;KACV,CAAC,CAAC;AACL,CAAC;AACD,MAAM,CAAC,MAAM,UAAU,GAA8C,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,gBAAgB,GAAuB,MAAM,CAAC,MAAM,CAAC;IAChE,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,qCAAqC;IACjD,YAAY,EAAE,SAAS;IACvB,WAAW,EAAE,QAAQ;IACrB,UAAU,EAAE,OAAO;CACpB,CAAC,CAAC;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,CAAC;AAEtE,MAAM,UAAU,QAAQ,CAAC,IAAwB;IAC/C,IAAI,IAAI,KAAK,QAAQ;QAAE,OAAO,gBAAgB,CAAC;IAC/C,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,SAAS,CAAkB,CAAC;IACjD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3E,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/F,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -4,17 +4,25 @@ import type { ToolContext } from "../server.js";
4
4
  * autonomously by signing a claim challenge with its own key.
5
5
  *
6
6
  * Flow (executed inside the tool, no copy-paste between UIs):
7
- * 1. User signs in to /login on aifinpay.io → gets a magic-link
8
- * email with URL like `https://aifinpay.io/api/auth/verify?token=…`
9
- * 2. User pastes that URL to the agent: "claim yourself on my account
10
- * using this magic link"
11
- * 3. Agent calls this tool with the magic_link_url
12
- * 4. Tool hits the magic link → server issues session cookie
7
+ * 1. The owner opens dash.aifinpay.io → My Agents → Link an agent →
8
+ * Claim via MCP and generates a one-time URL (POST /api/me/claim-url),
9
+ * e.g. `https://dash.aifinpay.io/api/auth/verify?token=…`
10
+ * 2. The owner gives that URL to the agent: "link yourself to my account"
11
+ * 3. Agent calls this tool with the URL as magic_link_url
12
+ * 4. Tool POSTs the token to /api/auth/claim → server answers with a
13
+ * ten-minute agent-claim grant cookie (not a session)
13
14
  * 5. Tool requests a challenge for the owner-selected payment family
14
15
  * 6. Tool signs only that address's claim (EIP-191 or Ed25519)
15
16
  * 7. Tool POSTs to /api/me/agents/claim → server verifies signature →
16
17
  * agent attached to user's watchlist
17
18
  *
19
+ * Step 4 used to GET the URL. The backend redeems a claim link on that GET
20
+ * only when the request carries no browser Sec-Fetch headers, so a runtime
21
+ * whose fetch adds them was sent to the confirm page and linked nothing.
22
+ * The POST route is told apart by its own path and the link's flow. A
23
+ * backend without it (404/405) still gets the GET, so this works against any
24
+ * deployment.
25
+ *
18
26
  * Optional `label` field gives the agent a friendly name in the user's UI.
19
27
  *
20
28
  * Security model:
@@ -57,7 +65,6 @@ export declare function runAgentClaimSelf(ctx: ToolContext, args: Record<string,
57
65
  text: string;
58
66
  }[];
59
67
  } | {
60
- isError?: undefined;
61
68
  content: {
62
69
  type: string;
63
70
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"agent-claim-self.d.ts","sourceRoot":"","sources":["../../src/tools/agent-claim-self.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB;IAE9B,IAAI;IACJ,WAAW;IAMX,WAAW;QACT,IAAI;QACJ,UAAU;YACR,cAAc;gBACZ,IAAI;gBACJ,WAAW;;YAKb,KAAK;gBACH,IAAI;gBACJ,WAAW;;;QAGf,QAAQ;;IAGV,WAAW;QAAI,YAAY;QAAS,aAAa;QAAS,eAAe;;IACzE,YAAY;QAAI,IAAI;;EAEvB;AAqED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;;GAyKtF"}
1
+ {"version":3,"file":"agent-claim-self.d.ts","sourceRoot":"","sources":["../../src/tools/agent-claim-self.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,kBAAkB;IAE9B,IAAI;IACJ,WAAW;IAOX,WAAW;QACT,IAAI;QACJ,UAAU;YACR,cAAc;gBACZ,IAAI;gBACJ,WAAW;;YAKb,KAAK;gBACH,IAAI;gBACJ,WAAW;;;QAGf,QAAQ;;IAGV,WAAW;QAAI,YAAY;QAAS,aAAa;QAAS,eAAe;;IACzE,YAAY;QAAI,IAAI;;EAEvB;AAgGD,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;;;;;;;GA4KtF"}