@absol-labs/agent 0.9.1 → 0.11.0

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 (293) hide show
  1. package/README.md +184 -26
  2. package/dist/capability/invocation-capability.d.ts +18 -6
  3. package/dist/capability/invocation-capability.d.ts.map +1 -1
  4. package/dist/capability/invocation-capability.js.map +1 -1
  5. package/dist/cli/amounts.d.ts +26 -0
  6. package/dist/cli/amounts.d.ts.map +1 -0
  7. package/dist/cli/amounts.js +71 -0
  8. package/dist/cli/amounts.js.map +1 -0
  9. package/dist/cli/args.d.ts +32 -0
  10. package/dist/cli/args.d.ts.map +1 -0
  11. package/dist/cli/args.js +119 -0
  12. package/dist/cli/args.js.map +1 -0
  13. package/dist/cli/attesters.d.ts +51 -0
  14. package/dist/cli/attesters.d.ts.map +1 -0
  15. package/dist/cli/attesters.js +58 -0
  16. package/dist/cli/attesters.js.map +1 -0
  17. package/dist/cli/bin.d.ts +3 -0
  18. package/dist/cli/bin.d.ts.map +1 -0
  19. package/dist/cli/bin.js +5 -0
  20. package/dist/cli/bin.js.map +1 -0
  21. package/dist/cli/commands/claim.d.ts +13 -0
  22. package/dist/cli/commands/claim.d.ts.map +1 -0
  23. package/dist/cli/commands/claim.js +102 -0
  24. package/dist/cli/commands/claim.js.map +1 -0
  25. package/dist/cli/commands/close.d.ts +3 -0
  26. package/dist/cli/commands/close.d.ts.map +1 -0
  27. package/dist/cli/commands/close.js +55 -0
  28. package/dist/cli/commands/close.js.map +1 -0
  29. package/dist/cli/commands/discover.d.ts +3 -0
  30. package/dist/cli/commands/discover.d.ts.map +1 -0
  31. package/dist/cli/commands/discover.js +183 -0
  32. package/dist/cli/commands/discover.js.map +1 -0
  33. package/dist/cli/commands/invoke.d.ts +3 -0
  34. package/dist/cli/commands/invoke.d.ts.map +1 -0
  35. package/dist/cli/commands/invoke.js +142 -0
  36. package/dist/cli/commands/invoke.js.map +1 -0
  37. package/dist/cli/commands/mcp.d.ts +3 -0
  38. package/dist/cli/commands/mcp.d.ts.map +1 -0
  39. package/dist/cli/commands/mcp.js +113 -0
  40. package/dist/cli/commands/mcp.js.map +1 -0
  41. package/dist/cli/commands/open.d.ts +3 -0
  42. package/dist/cli/commands/open.d.ts.map +1 -0
  43. package/dist/cli/commands/open.js +331 -0
  44. package/dist/cli/commands/open.js.map +1 -0
  45. package/dist/cli/commands/reclaim-unverified.d.ts +3 -0
  46. package/dist/cli/commands/reclaim-unverified.d.ts.map +1 -0
  47. package/dist/cli/commands/reclaim-unverified.js +172 -0
  48. package/dist/cli/commands/reclaim-unverified.js.map +1 -0
  49. package/dist/cli/commands/reclaim.d.ts +33 -0
  50. package/dist/cli/commands/reclaim.d.ts.map +1 -0
  51. package/dist/cli/commands/reclaim.js +308 -0
  52. package/dist/cli/commands/reclaim.js.map +1 -0
  53. package/dist/cli/commands/status.d.ts +3 -0
  54. package/dist/cli/commands/status.d.ts.map +1 -0
  55. package/dist/cli/commands/status.js +43 -0
  56. package/dist/cli/commands/status.js.map +1 -0
  57. package/dist/cli/commands/streams.d.ts +3 -0
  58. package/dist/cli/commands/streams.d.ts.map +1 -0
  59. package/dist/cli/commands/streams.js +257 -0
  60. package/dist/cli/commands/streams.js.map +1 -0
  61. package/dist/cli/commands/watch.d.ts +3 -0
  62. package/dist/cli/commands/watch.d.ts.map +1 -0
  63. package/dist/cli/commands/watch.js +55 -0
  64. package/dist/cli/commands/watch.js.map +1 -0
  65. package/dist/cli/config.d.ts +61 -0
  66. package/dist/cli/config.d.ts.map +1 -0
  67. package/dist/cli/config.js +140 -0
  68. package/dist/cli/config.js.map +1 -0
  69. package/dist/cli/context.d.ts +29 -0
  70. package/dist/cli/context.d.ts.map +1 -0
  71. package/dist/cli/context.js +2 -0
  72. package/dist/cli/context.js.map +1 -0
  73. package/dist/cli/deps.d.ts +191 -0
  74. package/dist/cli/deps.d.ts.map +1 -0
  75. package/dist/cli/deps.js +277 -0
  76. package/dist/cli/deps.js.map +1 -0
  77. package/dist/cli/descriptor.d.ts +61 -0
  78. package/dist/cli/descriptor.d.ts.map +1 -0
  79. package/dist/cli/descriptor.js +78 -0
  80. package/dist/cli/descriptor.js.map +1 -0
  81. package/dist/cli/errors.d.ts +48 -0
  82. package/dist/cli/errors.d.ts.map +1 -0
  83. package/dist/cli/errors.js +129 -0
  84. package/dist/cli/errors.js.map +1 -0
  85. package/dist/cli/escape-hatch.d.ts +50 -0
  86. package/dist/cli/escape-hatch.d.ts.map +1 -0
  87. package/dist/cli/escape-hatch.js +45 -0
  88. package/dist/cli/escape-hatch.js.map +1 -0
  89. package/dist/cli/index.d.ts +8 -0
  90. package/dist/cli/index.d.ts.map +1 -0
  91. package/dist/cli/index.js +7 -0
  92. package/dist/cli/index.js.map +1 -0
  93. package/dist/cli/listings.d.ts +15 -0
  94. package/dist/cli/listings.d.ts.map +1 -0
  95. package/dist/cli/listings.js +56 -0
  96. package/dist/cli/listings.js.map +1 -0
  97. package/dist/cli/mandate.d.ts +66 -0
  98. package/dist/cli/mandate.d.ts.map +1 -0
  99. package/dist/cli/mandate.js +61 -0
  100. package/dist/cli/mandate.js.map +1 -0
  101. package/dist/cli/output.d.ts +33 -0
  102. package/dist/cli/output.d.ts.map +1 -0
  103. package/dist/cli/output.js +34 -0
  104. package/dist/cli/output.js.map +1 -0
  105. package/dist/cli/preflight.d.ts +38 -0
  106. package/dist/cli/preflight.d.ts.map +1 -0
  107. package/dist/cli/preflight.js +72 -0
  108. package/dist/cli/preflight.js.map +1 -0
  109. package/dist/cli/privy.d.ts +83 -0
  110. package/dist/cli/privy.d.ts.map +1 -0
  111. package/dist/cli/privy.js +230 -0
  112. package/dist/cli/privy.js.map +1 -0
  113. package/dist/cli/progress.d.ts +36 -0
  114. package/dist/cli/progress.d.ts.map +1 -0
  115. package/dist/cli/progress.js +40 -0
  116. package/dist/cli/progress.js.map +1 -0
  117. package/dist/cli/run.d.ts +25 -0
  118. package/dist/cli/run.d.ts.map +1 -0
  119. package/dist/cli/run.js +173 -0
  120. package/dist/cli/run.js.map +1 -0
  121. package/dist/cli/scan-range.d.ts +55 -0
  122. package/dist/cli/scan-range.d.ts.map +1 -0
  123. package/dist/cli/scan-range.js +57 -0
  124. package/dist/cli/scan-range.js.map +1 -0
  125. package/dist/cli/spend-policy.d.ts +60 -0
  126. package/dist/cli/spend-policy.d.ts.map +1 -0
  127. package/dist/cli/spend-policy.js +65 -0
  128. package/dist/cli/spend-policy.js.map +1 -0
  129. package/dist/cli/status.d.ts +90 -0
  130. package/dist/cli/status.d.ts.map +1 -0
  131. package/dist/cli/status.js +252 -0
  132. package/dist/cli/status.js.map +1 -0
  133. package/dist/cli/timeout.d.ts +30 -0
  134. package/dist/cli/timeout.d.ts.map +1 -0
  135. package/dist/cli/timeout.js +55 -0
  136. package/dist/cli/timeout.js.map +1 -0
  137. package/dist/cli/version.d.ts +12 -0
  138. package/dist/cli/version.d.ts.map +1 -0
  139. package/dist/cli/version.js +22 -0
  140. package/dist/cli/version.js.map +1 -0
  141. package/dist/cli/wallet.d.ts +164 -0
  142. package/dist/cli/wallet.d.ts.map +1 -0
  143. package/dist/cli/wallet.js +234 -0
  144. package/dist/cli/wallet.js.map +1 -0
  145. package/dist/frameworks/crewai.d.ts +10 -0
  146. package/dist/frameworks/crewai.d.ts.map +1 -1
  147. package/dist/frameworks/crewai.js +12 -2
  148. package/dist/frameworks/crewai.js.map +1 -1
  149. package/dist/gateway/caller-auth-gateway.d.ts +38 -3
  150. package/dist/gateway/caller-auth-gateway.d.ts.map +1 -1
  151. package/dist/gateway/caller-auth-gateway.js +25 -1
  152. package/dist/gateway/caller-auth-gateway.js.map +1 -1
  153. package/dist/gateway/http-server.d.ts +53 -0
  154. package/dist/gateway/http-server.d.ts.map +1 -1
  155. package/dist/gateway/http-server.js +189 -4
  156. package/dist/gateway/http-server.js.map +1 -1
  157. package/dist/gateway/server-entry.d.ts +1 -0
  158. package/dist/gateway/server-entry.js +1 -0
  159. package/dist/gateway/server-entry.js.map +1 -1
  160. package/dist/gateway/x402-mode.d.ts +123 -0
  161. package/dist/gateway/x402-mode.d.ts.map +1 -0
  162. package/dist/gateway/x402-mode.js +212 -0
  163. package/dist/gateway/x402-mode.js.map +1 -0
  164. package/dist/index.d.ts +6 -4
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js +8 -3
  167. package/dist/index.js.map +1 -1
  168. package/dist/mandates/env.d.ts +3 -2
  169. package/dist/mandates/env.d.ts.map +1 -1
  170. package/dist/mandates/env.js +3 -2
  171. package/dist/mandates/env.js.map +1 -1
  172. package/dist/mcp/http-server.d.ts +1 -0
  173. package/dist/mcp/http-server.js +1 -0
  174. package/dist/mcp/http-server.js.map +1 -1
  175. package/dist/mcp/server.d.ts +49 -0
  176. package/dist/mcp/server.d.ts.map +1 -1
  177. package/dist/mcp/server.js +533 -25
  178. package/dist/mcp/server.js.map +1 -1
  179. package/dist/mcp/service-invoker.d.ts +97 -0
  180. package/dist/mcp/service-invoker.d.ts.map +1 -0
  181. package/dist/mcp/service-invoker.js +167 -0
  182. package/dist/mcp/service-invoker.js.map +1 -0
  183. package/dist/mcp/stdio.d.ts +1 -0
  184. package/dist/mcp/stdio.js +1 -0
  185. package/dist/mcp/stdio.js.map +1 -1
  186. package/dist/sdk/client.d.ts +25 -1
  187. package/dist/sdk/client.d.ts.map +1 -1
  188. package/dist/sdk/client.js +20 -1
  189. package/dist/sdk/client.js.map +1 -1
  190. package/dist/sdk/invoke.d.ts +19 -4
  191. package/dist/sdk/invoke.d.ts.map +1 -1
  192. package/dist/sdk/invoke.js +69 -5
  193. package/dist/sdk/invoke.js.map +1 -1
  194. package/dist/x402/delivery-oracle.d.ts +108 -0
  195. package/dist/x402/delivery-oracle.d.ts.map +1 -0
  196. package/dist/x402/delivery-oracle.js +174 -0
  197. package/dist/x402/delivery-oracle.js.map +1 -0
  198. package/dist/x402/facilitator-server-entry.d.ts +3 -0
  199. package/dist/x402/facilitator-server-entry.d.ts.map +1 -0
  200. package/dist/x402/facilitator-server-entry.js +27 -0
  201. package/dist/x402/facilitator-server-entry.js.map +1 -0
  202. package/dist/x402/facilitator-server.d.ts +73 -0
  203. package/dist/x402/facilitator-server.d.ts.map +1 -0
  204. package/dist/x402/facilitator-server.js +305 -0
  205. package/dist/x402/facilitator-server.js.map +1 -0
  206. package/dist/x402/facilitator.d.ts +69 -17
  207. package/dist/x402/facilitator.d.ts.map +1 -1
  208. package/dist/x402/facilitator.js +76 -33
  209. package/dist/x402/facilitator.js.map +1 -1
  210. package/dist/x402/payment-requirements.d.ts +106 -0
  211. package/dist/x402/payment-requirements.d.ts.map +1 -0
  212. package/dist/x402/payment-requirements.js +138 -0
  213. package/dist/x402/payment-requirements.js.map +1 -0
  214. package/dist/x402/relayer.d.ts +41 -0
  215. package/dist/x402/relayer.d.ts.map +1 -0
  216. package/dist/x402/relayer.js +64 -0
  217. package/dist/x402/relayer.js.map +1 -0
  218. package/dist/x402/resource-index.d.ts +75 -0
  219. package/dist/x402/resource-index.d.ts.map +1 -0
  220. package/dist/x402/resource-index.js +126 -0
  221. package/dist/x402/resource-index.js.map +1 -0
  222. package/dist/x402/verified-delivery-facilitator.d.ts +285 -0
  223. package/dist/x402/verified-delivery-facilitator.d.ts.map +1 -0
  224. package/dist/x402/verified-delivery-facilitator.js +423 -0
  225. package/dist/x402/verified-delivery-facilitator.js.map +1 -0
  226. package/dist/zktls/t2-delivery-proof.d.ts +6 -6
  227. package/docs/agent-layer.md +14 -9
  228. package/docs/cli.md +705 -0
  229. package/docs/crewai.md +6 -2
  230. package/docs/eliza.md +6 -1
  231. package/docs/mcp-hosted.md +7 -5
  232. package/docs/mcp-reference.md +175 -0
  233. package/docs/quickstart.md +36 -9
  234. package/docs/threat-model.md +4 -3
  235. package/docs/x402.md +648 -0
  236. package/package.json +33 -10
  237. package/src/capability/invocation-capability.ts +17 -1
  238. package/src/cli/amounts.ts +102 -0
  239. package/src/cli/args.ts +150 -0
  240. package/src/cli/attesters.ts +86 -0
  241. package/src/cli/bin.ts +5 -0
  242. package/src/cli/commands/claim.ts +126 -0
  243. package/src/cli/commands/close.ts +69 -0
  244. package/src/cli/commands/discover.ts +228 -0
  245. package/src/cli/commands/invoke.ts +178 -0
  246. package/src/cli/commands/mcp.ts +135 -0
  247. package/src/cli/commands/open.ts +397 -0
  248. package/src/cli/commands/reclaim-unverified.ts +218 -0
  249. package/src/cli/commands/reclaim.ts +377 -0
  250. package/src/cli/commands/status.ts +56 -0
  251. package/src/cli/commands/streams.ts +344 -0
  252. package/src/cli/commands/watch.ts +70 -0
  253. package/src/cli/config.ts +208 -0
  254. package/src/cli/context.ts +30 -0
  255. package/src/cli/deps.ts +528 -0
  256. package/src/cli/descriptor.ts +133 -0
  257. package/src/cli/errors.ts +162 -0
  258. package/src/cli/escape-hatch.ts +92 -0
  259. package/src/cli/index.ts +27 -0
  260. package/src/cli/listings.ts +77 -0
  261. package/src/cli/mandate.ts +126 -0
  262. package/src/cli/output.ts +63 -0
  263. package/src/cli/preflight.ts +88 -0
  264. package/src/cli/privy.ts +396 -0
  265. package/src/cli/progress.ts +75 -0
  266. package/src/cli/run.ts +209 -0
  267. package/src/cli/scan-range.ts +76 -0
  268. package/src/cli/spend-policy.ts +139 -0
  269. package/src/cli/status.ts +381 -0
  270. package/src/cli/timeout.ts +64 -0
  271. package/src/cli/version.ts +21 -0
  272. package/src/cli/wallet.ts +372 -0
  273. package/src/frameworks/crewai.ts +13 -2
  274. package/src/gateway/caller-auth-gateway.ts +77 -6
  275. package/src/gateway/http-server.ts +280 -6
  276. package/src/gateway/server-entry.ts +1 -0
  277. package/src/gateway/x402-mode.ts +350 -0
  278. package/src/index.ts +40 -5
  279. package/src/mandates/env.ts +3 -2
  280. package/src/mcp/http-server.ts +1 -0
  281. package/src/mcp/server.ts +706 -30
  282. package/src/mcp/service-invoker.ts +285 -0
  283. package/src/mcp/stdio.ts +1 -0
  284. package/src/sdk/client.ts +33 -1
  285. package/src/sdk/invoke.ts +90 -12
  286. package/src/x402/delivery-oracle.ts +285 -0
  287. package/src/x402/facilitator-server-entry.ts +35 -0
  288. package/src/x402/facilitator-server.ts +445 -0
  289. package/src/x402/facilitator.ts +125 -46
  290. package/src/x402/payment-requirements.ts +231 -0
  291. package/src/x402/relayer.ts +122 -0
  292. package/src/x402/resource-index.ts +228 -0
  293. package/src/x402/verified-delivery-facilitator.ts +744 -0
@@ -0,0 +1,123 @@
1
+ import type { PaymentRequirements, SettleResponse, VerifyResponse } from "x402/types";
2
+ import { type SignedListingPayee, type X402AssetConfig, type X402PaymentRequiredBody } from "../x402/payment-requirements.js";
3
+ /**
4
+ * Standard x402 mode for the seller-side gateway (Tier 1).
5
+ *
6
+ * The gateway already authorizes requests that carry a Metrik
7
+ * `InvocationCapability` — a buyer with an open, funded, verified stream. That
8
+ * path is untouched. This module adds a SECOND, independent way in: a request
9
+ * with no capability gets an ordinary HTTP `402` carrying real x402
10
+ * `PaymentRequirements`, so an agent holding nothing but `x402-fetch` can pay
11
+ * per call without knowing Metrik exists.
12
+ *
13
+ * ## The two paths never overlap
14
+ *
15
+ * - capability header present -> stream path, exactly as before;
16
+ * - capability header absent, x402 mode on -> `402` + `PaymentRequirements`;
17
+ * - BOTH present -> rejected. A request that looks like both is ambiguous about
18
+ * which one is paying for it, and the failure mode of guessing is charging the
19
+ * caller twice for one call. Better a loud `400` than a silent double charge.
20
+ *
21
+ * ## The per-call price is the seller's, and is not signed
22
+ *
23
+ * `payTo` comes from the operator-signed descriptor (see
24
+ * `../x402/payment-requirements.ts`). The price does not — the descriptor has no
25
+ * per-call price field. It is the seller's own number on the seller's own
26
+ * gateway, which is legitimate, but a buyer cannot cross-check it against the
27
+ * registry the way they can cross-check the payee.
28
+ */
29
+ /** Request header carrying the x402 payment payload (x402 v1). */
30
+ export declare const X402_PAYMENT_HEADER: "x-payment";
31
+ /** Response header carrying the settlement result (x402 v1). */
32
+ export declare const X402_PAYMENT_RESPONSE_HEADER: "x-payment-response";
33
+ /** The facilitator the gateway delegates verify/settle to. */
34
+ export interface X402FacilitatorClient {
35
+ verify(payload: unknown, requirements: PaymentRequirements): Promise<VerifyResponse>;
36
+ settle(payload: unknown, requirements: PaymentRequirements): Promise<SettleResponse>;
37
+ }
38
+ export interface HttpFacilitatorClientOptions {
39
+ /** Base URL of a facilitator exposing `/verify` and `/settle`. */
40
+ readonly url: string;
41
+ /**
42
+ * Shared secret for the facilitator's `/settle`. Sent as
43
+ * `Authorization: Bearer`. Metrik's own facilitator refuses to start a
44
+ * settling deployment without one, because `/settle` spends its gas.
45
+ */
46
+ readonly token?: string;
47
+ readonly headers?: Readonly<Record<string, string>>;
48
+ readonly timeoutMs?: number;
49
+ readonly fetch?: typeof globalThis.fetch;
50
+ }
51
+ /**
52
+ * Talks to any x402 facilitator over HTTP — including Metrik's own
53
+ * (`../x402/facilitator-server.ts`), which is the point: a seller who wires this
54
+ * gateway to the Metrik facilitator gets a paywall whose payments stop when
55
+ * their own delivery stops being verifiable.
56
+ */
57
+ export declare function createHttpFacilitatorClient(options: HttpFacilitatorClientOptions): X402FacilitatorClient;
58
+ /** Builds the `PaymentRequirements` quoted for a given request. */
59
+ export type X402Quoter = (request: {
60
+ readonly method: string;
61
+ readonly path: string;
62
+ }) => readonly PaymentRequirements[] | Promise<readonly PaymentRequirements[]>;
63
+ export interface ListingPriceQuoterOptions {
64
+ /** Projected from the OPERATOR-SIGNED descriptor. `payTo` comes from here. */
65
+ readonly listing: SignedListingPayee;
66
+ /** Public origin buyers reach this gateway on, e.g. `https://svc.example.com`. */
67
+ readonly resourceBaseUrl: string;
68
+ /** Per-call price in the asset's base units (micro-USDC). Seller-set, unsigned. */
69
+ readonly pricePerCallBaseUnits: bigint;
70
+ readonly chainId: number;
71
+ readonly description?: string;
72
+ readonly mimeType?: string;
73
+ readonly maxTimeoutSeconds?: number;
74
+ readonly asset?: X402AssetConfig;
75
+ }
76
+ /** One flat price per call, quoted against the request's own path. */
77
+ export declare function createListingPriceQuoter(options: ListingPriceQuoterOptions): X402Quoter;
78
+ export interface GatewayX402Mode {
79
+ readonly quote: X402Quoter;
80
+ readonly facilitator: X402FacilitatorClient;
81
+ }
82
+ /** Decoded, still-untrusted `X-PAYMENT` payload plus the quote it answers. */
83
+ export interface AcceptedX402Payment {
84
+ readonly payload: unknown;
85
+ readonly requirements: PaymentRequirements;
86
+ readonly payer?: string;
87
+ /**
88
+ * Unix seconds after which the signed authorization is no longer settleable
89
+ * (`validBefore`), when the payload carried one.
90
+ *
91
+ * The upstream runs BEFORE settlement, so an upstream slower than this window
92
+ * would produce its side effects and then fail to be paid for. The server
93
+ * bounds the upstream call by this instead of letting that happen.
94
+ */
95
+ readonly validBefore?: number;
96
+ }
97
+ export type X402EvaluationOutcome = {
98
+ readonly outcome: "payment-required";
99
+ readonly body: X402PaymentRequiredBody;
100
+ } | {
101
+ readonly outcome: "accepted";
102
+ readonly payment: AcceptedX402Payment;
103
+ };
104
+ /**
105
+ * Evaluates the x402 half of a request. Returns either the `402` body to send or
106
+ * an accepted payment to settle after the upstream has been called.
107
+ */
108
+ export declare function evaluateX402Request(request: {
109
+ readonly method: string;
110
+ readonly path: string;
111
+ }, paymentHeader: string | undefined, mode: GatewayX402Mode): Promise<X402EvaluationOutcome>;
112
+ /**
113
+ * Seconds of headroom the settlement leg needs after the upstream returns.
114
+ *
115
+ * The x402 `exact` verifier rejects an authorization whose `validBefore` is less
116
+ * than 6 s away, so an upstream allowed to run right up to the deadline would
117
+ * hand back a response that can never be settled. This leaves room for that
118
+ * check plus the settle round trip.
119
+ */
120
+ export declare const X402_SETTLEMENT_HEADROOM_SECONDS = 10;
121
+ export declare function decodePaymentHeader(header: string): unknown;
122
+ export declare function encodeSettleResponseHeader(response: SettleResponse): string;
123
+ //# sourceMappingURL=x402-mode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402-mode.d.ts","sourceRoot":"","sources":["../../src/gateway/x402-mode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,212 @@
1
+ import { buildMetrikPaymentRequirements, buildX402PaymentRequiredBody, } from "../x402/payment-requirements.js";
2
+ /**
3
+ * Standard x402 mode for the seller-side gateway (Tier 1).
4
+ *
5
+ * The gateway already authorizes requests that carry a Metrik
6
+ * `InvocationCapability` — a buyer with an open, funded, verified stream. That
7
+ * path is untouched. This module adds a SECOND, independent way in: a request
8
+ * with no capability gets an ordinary HTTP `402` carrying real x402
9
+ * `PaymentRequirements`, so an agent holding nothing but `x402-fetch` can pay
10
+ * per call without knowing Metrik exists.
11
+ *
12
+ * ## The two paths never overlap
13
+ *
14
+ * - capability header present -> stream path, exactly as before;
15
+ * - capability header absent, x402 mode on -> `402` + `PaymentRequirements`;
16
+ * - BOTH present -> rejected. A request that looks like both is ambiguous about
17
+ * which one is paying for it, and the failure mode of guessing is charging the
18
+ * caller twice for one call. Better a loud `400` than a silent double charge.
19
+ *
20
+ * ## The per-call price is the seller's, and is not signed
21
+ *
22
+ * `payTo` comes from the operator-signed descriptor (see
23
+ * `../x402/payment-requirements.ts`). The price does not — the descriptor has no
24
+ * per-call price field. It is the seller's own number on the seller's own
25
+ * gateway, which is legitimate, but a buyer cannot cross-check it against the
26
+ * registry the way they can cross-check the payee.
27
+ */
28
+ /** Request header carrying the x402 payment payload (x402 v1). */
29
+ export const X402_PAYMENT_HEADER = "x-payment";
30
+ /** Response header carrying the settlement result (x402 v1). */
31
+ export const X402_PAYMENT_RESPONSE_HEADER = "x-payment-response";
32
+ /**
33
+ * Talks to any x402 facilitator over HTTP — including Metrik's own
34
+ * (`../x402/facilitator-server.ts`), which is the point: a seller who wires this
35
+ * gateway to the Metrik facilitator gets a paywall whose payments stop when
36
+ * their own delivery stops being verifiable.
37
+ */
38
+ export function createHttpFacilitatorClient(options) {
39
+ const base = options.url.replace(/\/+$/, "");
40
+ const timeoutMs = options.timeoutMs ?? 10_000;
41
+ const doFetch = options.fetch ?? globalThis.fetch;
42
+ async function post(path, body) {
43
+ const controller = new AbortController();
44
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
45
+ try {
46
+ const response = await doFetch(`${base}${path}`, {
47
+ method: "POST",
48
+ headers: {
49
+ "content-type": "application/json",
50
+ ...(options.token === undefined
51
+ ? {}
52
+ : { authorization: `Bearer ${options.token}` }),
53
+ ...(options.headers ?? {}),
54
+ },
55
+ body: JSON.stringify(body),
56
+ signal: controller.signal,
57
+ });
58
+ return await response.json();
59
+ }
60
+ finally {
61
+ clearTimeout(timer);
62
+ }
63
+ }
64
+ return {
65
+ async verify(payload, requirements) {
66
+ const result = (await post("/verify", {
67
+ x402Version: 1,
68
+ paymentPayload: payload,
69
+ paymentRequirements: requirements,
70
+ }));
71
+ // Fail closed: an unreadable facilitator answer is not a pass.
72
+ if (typeof result !== "object" || result === null) {
73
+ return { isValid: false, invalidReason: "unexpected_verify_error" };
74
+ }
75
+ return result;
76
+ },
77
+ async settle(payload, requirements) {
78
+ return (await post("/settle", {
79
+ x402Version: 1,
80
+ paymentPayload: payload,
81
+ paymentRequirements: requirements,
82
+ }));
83
+ },
84
+ };
85
+ }
86
+ /** One flat price per call, quoted against the request's own path. */
87
+ export function createListingPriceQuoter(options) {
88
+ const base = new URL(options.resourceBaseUrl);
89
+ return (request) => [
90
+ buildMetrikPaymentRequirements({
91
+ listing: options.listing,
92
+ resource: new URL(request.path, base).toString(),
93
+ priceBaseUnits: options.pricePerCallBaseUnits,
94
+ chainId: options.chainId,
95
+ ...(options.description === undefined
96
+ ? {}
97
+ : { description: options.description }),
98
+ ...(options.mimeType === undefined ? {} : { mimeType: options.mimeType }),
99
+ ...(options.maxTimeoutSeconds === undefined
100
+ ? {}
101
+ : { maxTimeoutSeconds: options.maxTimeoutSeconds }),
102
+ ...(options.asset === undefined ? {} : { asset: options.asset }),
103
+ }),
104
+ ];
105
+ }
106
+ /**
107
+ * Evaluates the x402 half of a request. Returns either the `402` body to send or
108
+ * an accepted payment to settle after the upstream has been called.
109
+ */
110
+ export async function evaluateX402Request(request, paymentHeader, mode) {
111
+ const accepts = await mode.quote(request);
112
+ if (paymentHeader === undefined || paymentHeader.trim().length === 0) {
113
+ return {
114
+ outcome: "payment-required",
115
+ body: buildX402PaymentRequiredBody(accepts),
116
+ };
117
+ }
118
+ const payload = decodePaymentHeader(paymentHeader);
119
+ if (payload === undefined) {
120
+ return {
121
+ outcome: "payment-required",
122
+ body: buildX402PaymentRequiredBody(accepts, "X-PAYMENT header is not base64-encoded JSON"),
123
+ };
124
+ }
125
+ const requirements = selectRequirements(accepts, payload);
126
+ if (requirements === undefined) {
127
+ return {
128
+ outcome: "payment-required",
129
+ body: buildX402PaymentRequiredBody(accepts, "X-PAYMENT does not match any offered payment requirements"),
130
+ };
131
+ }
132
+ let verified;
133
+ try {
134
+ verified = await mode.facilitator.verify(payload, requirements);
135
+ }
136
+ catch (error) {
137
+ // An unreachable facilitator is a refusal, never a free call.
138
+ return {
139
+ outcome: "payment-required",
140
+ body: buildX402PaymentRequiredBody(accepts, `payment could not be verified: ${error instanceof Error ? error.message : "facilitator unreachable"}`),
141
+ };
142
+ }
143
+ if (!verified.isValid) {
144
+ return {
145
+ outcome: "payment-required",
146
+ body: buildX402PaymentRequiredBody(accepts, verified.invalidReason ?? "payment rejected by facilitator"),
147
+ };
148
+ }
149
+ // A Metrik facilitator reports up front whether it would actually broadcast
150
+ // this payment (asset allowlist, settlement scope, ...). Refusing HERE — before
151
+ // the upstream runs — is the difference between "the caller gets nothing" and
152
+ // "the caller gets the upstream's side effects for free and we cannot charge
153
+ // for them". A non-Metrik facilitator omits the field and nothing changes.
154
+ const annotation = verified.metrik;
155
+ if (annotation?.settleable === false) {
156
+ return {
157
+ outcome: "payment-required",
158
+ body: buildX402PaymentRequiredBody(accepts, `facilitator will not settle this payment: ${annotation.detail ?? "refused"}`),
159
+ };
160
+ }
161
+ const validBefore = readValidBefore(payload);
162
+ return {
163
+ outcome: "accepted",
164
+ payment: {
165
+ payload,
166
+ requirements,
167
+ ...(verified.payer === undefined ? {} : { payer: verified.payer }),
168
+ ...(validBefore === undefined ? {} : { validBefore }),
169
+ },
170
+ };
171
+ }
172
+ /** Reads the exact-EVM authorization deadline, if the payload has one. */
173
+ function readValidBefore(payload) {
174
+ const authorization = payload?.payload?.authorization;
175
+ const raw = authorization?.validBefore;
176
+ if (typeof raw !== "string" && typeof raw !== "number") {
177
+ return undefined;
178
+ }
179
+ const parsed = Number(raw);
180
+ return Number.isFinite(parsed) && parsed > 0 ? parsed : undefined;
181
+ }
182
+ /**
183
+ * Seconds of headroom the settlement leg needs after the upstream returns.
184
+ *
185
+ * The x402 `exact` verifier rejects an authorization whose `validBefore` is less
186
+ * than 6 s away, so an upstream allowed to run right up to the deadline would
187
+ * hand back a response that can never be settled. This leaves room for that
188
+ * check plus the settle round trip.
189
+ */
190
+ export const X402_SETTLEMENT_HEADROOM_SECONDS = 10;
191
+ /** Matches the payload's scheme+network against the quotes actually offered. */
192
+ function selectRequirements(accepts, payload) {
193
+ if (typeof payload !== "object" || payload === null) {
194
+ return undefined;
195
+ }
196
+ const { scheme, network } = payload;
197
+ return accepts.find((candidate) => candidate.scheme === scheme && candidate.network === network);
198
+ }
199
+ export function decodePaymentHeader(header) {
200
+ try {
201
+ const decoded = Buffer.from(header.trim(), "base64").toString("utf8");
202
+ const parsed = JSON.parse(decoded);
203
+ return typeof parsed === "object" && parsed !== null ? parsed : undefined;
204
+ }
205
+ catch {
206
+ return undefined;
207
+ }
208
+ }
209
+ export function encodeSettleResponseHeader(response) {
210
+ return Buffer.from(JSON.stringify(response), "utf8").toString("base64");
211
+ }
212
+ //# sourceMappingURL=x402-mode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"x402-mode.js","sourceRoot":"","sources":["../../src/gateway/x402-mode.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  export { createSpendMandateTypedData, spendMandateSchema, signedSpendMandateSchema, checkMandate, checkMandatePolicy, verifySignedMandate, verifyMandateOwnerSignature, spendMandateDomain, spendMandateTypedData, type SpendMandate, type SignedSpendMandate, type HireRequest, type MandateDecision, type MandateVerificationContext, } from "./mandates/mandate.js";
2
2
  export { DEFAULT_SERVER_MANDATE_TTL_SECONDS, ServerMandateConfigError, parseServerMandateCapsEnv, signServerMandate, type ServerMandateCaps, type SignServerMandateOptions, } from "./mandates/env.js";
3
- export { VerifiedStreamX402Facilitator, DeliveryProofUnavailableError, X402PayloadError, X402SpendControlUnavailableError, SettlementTargetMismatchError, X402_SCHEME, encodeX402PayloadHeader, parseX402ChallengeJson, parseX402PayloadHeader, verifiedStreamRequirementsSchema, x402StreamChallengeSchema, x402OpenPayloadSchema, type X402ConsumedHttpsResponseProofInput, type X402Facilitator, type X402OpenPayload, type X402StreamChallenge, type VerifiedStreamFacilitatorOptions, type VerifiedStreamRequirements, } from "./x402/facilitator.js";
3
+ export { METRIK_PAYMENT_HEADER, METRIK_STREAM_SCHEME, VerifiedStreamFacilitator, DeliveryProofUnavailableError, SettlementTargetMismatchError, SpendControlUnavailableError, StreamPayloadError, encodeStreamPayloadHeader, parseStreamChallengeJson, parseStreamPayloadHeader, streamChallengeSchema, streamOpenPayloadSchema, verifiedStreamRequirementsSchema, type ConsumedHttpsResponseProofInput, type StreamChallenge, type StreamFacilitator, type StreamOpenPayload, type VerifiedStreamFacilitatorOptions, type VerifiedStreamRequirements, } from "./x402/facilitator.js";
4
+ export { VerifiedStreamX402Facilitator, X402PayloadError, X402SpendControlUnavailableError, X402_SCHEME, encodeX402PayloadHeader, parseX402ChallengeJson, parseX402PayloadHeader, x402StreamChallengeSchema, x402OpenPayloadSchema, type X402ConsumedHttpsResponseProofInput, type X402Facilitator, type X402OpenPayload, type X402StreamChallenge, } from "./x402/facilitator.js";
4
5
  export { DEFAULT_METRIK_PUBLIC_REGISTRY_URL, DEFAULT_METRIK_REGISTRY_URL, DEMO_SEED_LISTING, DEMO_SEED_SERVICE_REF, LIVE_DATA_SEED_LISTING, LIVE_DATA_SEED_SERVICE_REF, RegistryUnavailableError, discoverServices, discoverServicesDetailed, type DiscoverResult, type DiscoverServicesOptions, type DiscoveredService, type ServiceListing, } from "./discovery/registry.js";
5
- export { METRIK_MCP_TOOLS, STREAMPROOF_MCP_TOOLS, FileStreamRegistry, InMemoryStreamRegistry, createVerifiedStreamMcpServer, createVerifiedStreamMcpServerFromEnv, createVerifiedStreamMcpServerOptionsFromEnv, parseMetrikAgentEnv, startVerifiedStreamMcpServerStdio, type McpToolSpec, type ParsedMetrikAgentEnv, type StoredStreamRecord, type StreamRegistry, type VerifiedStreamMcpClient, type VerifiedStreamMcpServerOptions, type VerifiedStreamMcpServerRuntime, } from "./mcp/server.js";
6
+ export { ALLOW_UNVERIFIED_OPERATOR_ENV, METERING_MODEL, METRIK_MCP_TOOLS, STREAMPROOF_MCP_TOOLS, FileStreamRegistry, InMemoryStreamRegistry, createVerifiedStreamMcpServer, createVerifiedStreamMcpServerFromEnv, createVerifiedStreamMcpServerOptionsFromEnv, parseMetrikAgentEnv, startVerifiedStreamMcpServerStdio, type EscrowGeneration, type McpToolSpec, type ParsedMetrikAgentEnv, type StoredStreamRecord, type StreamRegistry, type VerifiedStreamMcpClient, type VerifiedStreamMcpServerOptions, type VerifiedStreamMcpServerRuntime, } from "./mcp/server.js";
7
+ export { MAX_INVOCATION_RESPONSE_BYTES, ServiceListingNotFoundError, createServiceInvoker, type CreateServiceInvokerOptions, type ServiceInvocationRequest, type ServiceInvocationResult, type ServiceInvoker, } from "./mcp/service-invoker.js";
6
8
  export { StaticTenantResolver, createHostedMcpHttpServer, createHostedMcpTenants, parseHostedMcpServerConfig, startHostedMcpHttpServerFromEnv, type HostedMcpHttpServer, type HostedMcpHttpServerOptions, type HostedMcpServerConfig, type HostedMcpTenant, type HostedMcpTenantConfig, type TenantResolver, } from "./mcp/http.js";
7
9
  export { MandateDeniedError, VerifiedStreamAgentClient, type AgentSdkClient, type AgentSdkClientFactory, type MandateAuthorizedStreamActionInput, type OpenVerifiedStreamInput, type ReclaimAuthorizedStreamInput, type ReclaimVerifiedStreamOptions, type ReclaimVerifiedStreamResult, isCheckpointStream, type StreamStatusStream, type StreamStatusView, type VerifiedStreamAgentOpener, } from "./sdk/client.js";
8
10
  export { AgentWalletConfigError, createPrivyEmbeddedAccount, createWalletBackedAgentClient, parseAgentWalletEnv, PrivyEmbeddedWalletError, resolveAgentWallet, type AgentWalletInput, type CdpClientLike, type CdpWalletConfig, type PrivyEip1193Provider, type PrivyEmbeddedWalletConfig, type ResolvedAgentWallet, type WalletBackedAgentClient, } from "./wallet/provider.js";
@@ -14,8 +16,8 @@ export { AutonomousWalletBroker, AutonomousWalletBrokerError, InMemoryAutonomous
14
16
  export { UnsupportedFaucetChainError, faucetHint, getWalletBalances, requestCdpFaucet, type BalanceReader, type CdpFaucetClientLike, type FaucetHint, type FaucetRequestResult, type FaucetToken, type GetWalletBalancesOptions, type RequestCdpFaucetOptions, type WalletBalances, } from "./wallet/lifecycle.js";
15
17
  export { ReclaimConsumerProofService, ResponseProofUnavailableError, ResponseProofVerificationError, buildDeliveryContextEnvelopeV2, createReclaimConsumerProofServiceFromEnv, deliveryContextEnvelopeV2Schema, parseReclaimProofEnv, type ConsumerDeliveryProofService, type DeliveryContextEnvelopeV2, type DeliveryContextEnvelopeV2Input, type DeliveryProofBinding, type HttpsResponseMatch, type HttpsResponseRedaction, type ParsedReclaimProofEnv, type ProveConsumedHttpsResponseInput, type ReclaimClientLike, type ReclaimProof, type ReclaimProofServiceConfig, type VerifiedConsumedHttpsResponseProof, type VerifyProofFn, } from "./zktls/reclaim.js";
16
18
  export { NoDeliveryAttestorConfiguredError, PaidRouteNonceInjectionError, ReclaimDeliveryProofAttestor, buildT2DeliveryProofSubmission, createReclaimT2AttestorFromEnv, deliveryProofRequestBodySchema, toWireDeliveryReceipt, type BuildT2DeliveryProofInput, type BuildT2DeliveryProofResult, type DeliveryProofAttestor, type DeliveryProofRequestBody, type PaidRouteRequestSpec, type ProveDeliveryResponseInput, type T2NonceInjection, type WireDeliveryReceipt, } from "./zktls/t2-delivery-proof.js";
17
- export { CAPABILITY_HEADER_NAME, DEFAULT_CAPABILITY_TTL_SECONDS, InvalidCapabilityHeaderError, buildInvocationCapabilityTypedData, createInvocationCapabilityEip712Domain, decodeCapabilityHeader, encodeCapabilityHeader, generateCapabilityNonce, hashInvocationPath, httpMethodSchema, invocationCapabilityDomainName, invocationCapabilityDomainVersion, invocationCapabilitySchema, invocationCapabilityTypedData, normalizeInvocationPath, recoverInvocationCapabilitySigner, signInvocationCapability, signedInvocationCapabilitySchema, type HttpMethod, type InvocationCapability, type InvocationCapabilityDomainInput, type SignedInvocationCapability, } from "./capability/invocation-capability.js";
19
+ export { CAPABILITY_HEADER_NAME, DEFAULT_CAPABILITY_TTL_SECONDS, InvalidCapabilityHeaderError, buildInvocationCapabilityTypedData, createInvocationCapabilityEip712Domain, decodeCapabilityHeader, encodeCapabilityHeader, generateCapabilityNonce, hashInvocationPath, httpMethodSchema, invocationCapabilityDomainName, invocationCapabilityDomainVersion, invocationCapabilitySchema, invocationCapabilityTypedData, normalizeInvocationPath, recoverInvocationCapabilitySigner, signInvocationCapability, signedInvocationCapabilitySchema, type HttpMethod, type InvocationCapability, type InvocationCapabilityDomainInput, type InvocationCapabilitySigner, type SignedInvocationCapability, } from "./capability/invocation-capability.js";
18
20
  export { CallerAuthGateway, DEFAULT_MAX_STATE_STALENESS_SECONDS, InMemoryNonceReplayCache, InMemoryStreamRevocationSet, MAX_CORROBORATING_STREAM_READERS, UnknownStreamGatewayError, createSdkStreamReader, type CallerAuthDecision, type CallerAuthDenialReason, type CallerAuthGatewayConfig, type CallerAuthRequestInput, type GatewayStreamView, type NonceReplayCache, type StreamReader, type StreamRevocationSet, } from "./gateway/caller-auth-gateway.js";
19
21
  export { createCallerAuthGatewayServer, parseCallerAuthGatewayEnvConfig, startCallerAuthGatewayServerFromEnv, type CallerAuthGatewayEnvConfig, type CallerAuthGatewayServer, type CallerAuthGatewayServerConfig, } from "./gateway/http-server.js";
20
- export { InvokeBuyerMismatchError, InvokeAccessUrlError, InvokePathError, InvokeServiceRefMismatchError, InvokeStreamExpiredError, InvokeStreamNotActiveError, capabilityFor, createSdkInvokeStreamReader, invoke, invokeWithT2DeliveryProof, type CapabilityForOptions, type InvokeOptions, type InvokeResult, type InvokeServiceInput, type InvokeStreamReader, type InvokeStreamView, type InvokeWithT2DeliveryProofOptions, type InvokeWithT2DeliveryProofResult, } from "./sdk/invoke.js";
22
+ export { InvokeBuyerMismatchError, InvokeAccessUrlError, InvokePathError, resolveInvocationUrl, InvokeServiceRefMismatchError, InvokeStreamExpiredError, InvokeStreamNotActiveError, capabilityFor, createSdkInvokeStreamReader, invoke, invokeWithT2DeliveryProof, type CapabilityForOptions, type InvokeOptions, type InvokeResult, type InvokeServiceInput, type InvokeStreamReader, type InvokeStreamView, type InvokeWithT2DeliveryProofOptions, type InvokeWithT2DeliveryProofResult, } from "./sdk/invoke.js";
21
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,8 +1,13 @@
1
1
  export { createSpendMandateTypedData, spendMandateSchema, signedSpendMandateSchema, checkMandate, checkMandatePolicy, verifySignedMandate, verifyMandateOwnerSignature, spendMandateDomain, spendMandateTypedData, } from "./mandates/mandate.js";
2
2
  export { DEFAULT_SERVER_MANDATE_TTL_SECONDS, ServerMandateConfigError, parseServerMandateCapsEnv, signServerMandate, } from "./mandates/env.js";
3
- export { VerifiedStreamX402Facilitator, DeliveryProofUnavailableError, X402PayloadError, X402SpendControlUnavailableError, SettlementTargetMismatchError, X402_SCHEME, encodeX402PayloadHeader, parseX402ChallengeJson, parseX402PayloadHeader, verifiedStreamRequirementsSchema, x402StreamChallengeSchema, x402OpenPayloadSchema, } from "./x402/facilitator.js";
3
+ // Metrik-native 402 challenge flow. NOT the x402 protocol see docs/x402.md.
4
+ export { METRIK_PAYMENT_HEADER, METRIK_STREAM_SCHEME, VerifiedStreamFacilitator, DeliveryProofUnavailableError, SettlementTargetMismatchError, SpendControlUnavailableError, StreamPayloadError, encodeStreamPayloadHeader, parseStreamChallengeJson, parseStreamPayloadHeader, streamChallengeSchema, streamOpenPayloadSchema, verifiedStreamRequirementsSchema, } from "./x402/facilitator.js";
5
+ // Deprecated `x402`-flavoured aliases of the exports above, kept for
6
+ // compatibility. Same values and same class objects — prefer the names above.
7
+ export { VerifiedStreamX402Facilitator, X402PayloadError, X402SpendControlUnavailableError, X402_SCHEME, encodeX402PayloadHeader, parseX402ChallengeJson, parseX402PayloadHeader, x402StreamChallengeSchema, x402OpenPayloadSchema, } from "./x402/facilitator.js";
4
8
  export { DEFAULT_METRIK_PUBLIC_REGISTRY_URL, DEFAULT_METRIK_REGISTRY_URL, DEMO_SEED_LISTING, DEMO_SEED_SERVICE_REF, LIVE_DATA_SEED_LISTING, LIVE_DATA_SEED_SERVICE_REF, RegistryUnavailableError, discoverServices, discoverServicesDetailed, } from "./discovery/registry.js";
5
- export { METRIK_MCP_TOOLS, STREAMPROOF_MCP_TOOLS, FileStreamRegistry, InMemoryStreamRegistry, createVerifiedStreamMcpServer, createVerifiedStreamMcpServerFromEnv, createVerifiedStreamMcpServerOptionsFromEnv, parseMetrikAgentEnv, startVerifiedStreamMcpServerStdio, } from "./mcp/server.js";
9
+ export { ALLOW_UNVERIFIED_OPERATOR_ENV, METERING_MODEL, METRIK_MCP_TOOLS, STREAMPROOF_MCP_TOOLS, FileStreamRegistry, InMemoryStreamRegistry, createVerifiedStreamMcpServer, createVerifiedStreamMcpServerFromEnv, createVerifiedStreamMcpServerOptionsFromEnv, parseMetrikAgentEnv, startVerifiedStreamMcpServerStdio, } from "./mcp/server.js";
10
+ export { MAX_INVOCATION_RESPONSE_BYTES, ServiceListingNotFoundError, createServiceInvoker, } from "./mcp/service-invoker.js";
6
11
  export { StaticTenantResolver, createHostedMcpHttpServer, createHostedMcpTenants, parseHostedMcpServerConfig, startHostedMcpHttpServerFromEnv, } from "./mcp/http.js";
7
12
  export { MandateDeniedError, VerifiedStreamAgentClient, isCheckpointStream, } from "./sdk/client.js";
8
13
  export { AgentWalletConfigError, createPrivyEmbeddedAccount, createWalletBackedAgentClient, parseAgentWalletEnv, PrivyEmbeddedWalletError, resolveAgentWallet, } from "./wallet/provider.js";
@@ -17,7 +22,7 @@ export { NoDeliveryAttestorConfiguredError, PaidRouteNonceInjectionError, Reclai
17
22
  export { CAPABILITY_HEADER_NAME, DEFAULT_CAPABILITY_TTL_SECONDS, InvalidCapabilityHeaderError, buildInvocationCapabilityTypedData, createInvocationCapabilityEip712Domain, decodeCapabilityHeader, encodeCapabilityHeader, generateCapabilityNonce, hashInvocationPath, httpMethodSchema, invocationCapabilityDomainName, invocationCapabilityDomainVersion, invocationCapabilitySchema, invocationCapabilityTypedData, normalizeInvocationPath, recoverInvocationCapabilitySigner, signInvocationCapability, signedInvocationCapabilitySchema, } from "./capability/invocation-capability.js";
18
23
  export { CallerAuthGateway, DEFAULT_MAX_STATE_STALENESS_SECONDS, InMemoryNonceReplayCache, InMemoryStreamRevocationSet, MAX_CORROBORATING_STREAM_READERS, UnknownStreamGatewayError, createSdkStreamReader, } from "./gateway/caller-auth-gateway.js";
19
24
  export { createCallerAuthGatewayServer, parseCallerAuthGatewayEnvConfig, startCallerAuthGatewayServerFromEnv, } from "./gateway/http-server.js";
20
- export { InvokeBuyerMismatchError, InvokeAccessUrlError, InvokePathError, InvokeServiceRefMismatchError, InvokeStreamExpiredError, InvokeStreamNotActiveError, capabilityFor, createSdkInvokeStreamReader, invoke, invokeWithT2DeliveryProof, } from "./sdk/invoke.js";
25
+ export { InvokeBuyerMismatchError, InvokeAccessUrlError, InvokePathError, resolveInvocationUrl, InvokeServiceRefMismatchError, InvokeStreamExpiredError, InvokeStreamNotActiveError, capabilityFor, createSdkInvokeStreamReader, invoke, invokeWithT2DeliveryProof, } from "./sdk/invoke.js";
21
26
  // Framework adapters are NOT re-exported from this top-level barrel on purpose.
22
27
  // Some of them (notably the Coinbase AgentKit adapter) pull heavy optional
23
28
  // dependency graphs, so importing "@absol-labs/agent" must stay light and load
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@ import { type SignedSpendMandate } from "./mandate.js";
3
3
  /**
4
4
  * Server-side spend-mandate provisioning.
5
5
  *
6
- * The MCP/x402 fund-moving surface is driven by autonomous callers (an LLM over
7
- * MCP, a paying agent over x402) that CANNOT produce an EIP-712 signature. The
6
+ * The MCP / Metrik-402 fund-moving surface is driven by autonomous callers (an
7
+ * LLM over MCP, a paying agent driving Metrik's own `402` challenge flow not
8
+ * the x402 protocol, see docs/x402.md) that CANNOT produce an EIP-712 signature. The
8
9
  * spend mandate is therefore NOT a per-call argument — it is configured once, at
9
10
  * the server's construction, exactly like the AgentKit action provider's
10
11
  * `signedMandate`. The deploying operator declares the spend caps via env and the
@@ -1 +1 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/mandates/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACb,MAAM,MAAM,CAAC;AAGd,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;GAcG;AAEH,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAmBD,iFAAiF;AACjF,eAAO,MAAM,kCAAkC,QAAe,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,iBAAiB,GAAG,IAAI,CA4D1B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AA2BD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAyC7B"}
1
+ {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/mandates/env.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,OAAO,EACb,MAAM,MAAM,CAAC;AAGd,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AAEH,qBAAa,wBAAyB,SAAQ,KAAK;gBACrC,OAAO,EAAE,MAAM;CAI5B;AAmBD,iFAAiF;AACjF,eAAO,MAAM,kCAAkC,QAAe,CAAC;AAE/D,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,KAAK,MAAM,EAAE,EAAE,CAAC;IACpD,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,iBAAiB,GAAG,IAAI,CA4D1B;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,yEAAyE;IACzE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;CAC9B;AA2BD;;;;;GAKG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,iBAAiB,EACvB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,kBAAkB,CAAC,CAyC7B"}
@@ -4,8 +4,9 @@ import { createSpendMandateTypedData, signedSpendMandateSchema, } from "./mandat
4
4
  /**
5
5
  * Server-side spend-mandate provisioning.
6
6
  *
7
- * The MCP/x402 fund-moving surface is driven by autonomous callers (an LLM over
8
- * MCP, a paying agent over x402) that CANNOT produce an EIP-712 signature. The
7
+ * The MCP / Metrik-402 fund-moving surface is driven by autonomous callers (an
8
+ * LLM over MCP, a paying agent driving Metrik's own `402` challenge flow not
9
+ * the x402 protocol, see docs/x402.md) that CANNOT produce an EIP-712 signature. The
9
10
  * spend mandate is therefore NOT a per-call argument — it is configured once, at
10
11
  * the server's construction, exactly like the AgentKit action provider's
11
12
  * `signedMandate`. The deploying operator declares the spend caps via env and the
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/mandates/env.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,SAAS,EACT,SAAS,EACT,WAAW,GAEZ,MAAM,MAAM,CAAC;AACd,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,GAGzB,MAAM,cAAc,CAAC;AAEtB;;;;;;;;;;;;;;GAcG;AAEH,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACjD,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,MAAM,mBAAmB,GAAG,CAAC;KAC1B,MAAM,EAAE;KACR,KAAK,CACJ,gBAAgB,EAChB,kEAAkE,CACnE,CAAC;AACJ,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;AAE7D,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChC,wCAAwC,EAAE,mBAAmB;IAC7D,mCAAmC,EAAE,mBAAmB;IACxD,6CAA6C,EAAE,mBAAmB;IAClE,yCAAyC,EAAE,iBAAiB;IAC5D,sCAAsC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7D,gCAAgC,EAAE,iBAAiB,CAAC,QAAQ,EAAE;CAC/D,CAAC,CAAC;AAEH,iFAAiF;AACjF,MAAM,CAAC,MAAM,kCAAkC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAW/D;;;;;;GAMG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAyB,OAAO,CAAC,GAAG;IAEpC,MAAM,MAAM,GAAG;QACb,GAAG,CAAC,wCAAwC;QAC5C,GAAG,CAAC,mCAAmC;QACvC,GAAG,CAAC,6CAA6C;QACjD,GAAG,CAAC,yCAAyC;QAC7C,GAAG,CAAC,sCAAsC;QAC1C,GAAG,CAAC,gCAAgC;KACrC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,wBAAwB,CAChC,yCAAyC,MAAM,CAAC,KAAK,CAAC,MAAM;aACzD,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;aAC1D,IAAI,CAAC,IAAI,CAAC,EAAE,CAChB,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,CACvB,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,EAAE,CACzD;SACE,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACvC,KAAK,MAAM,QAAQ,IAAI,gBAAgB,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,wBAAwB,CAChC,wEAAwE,QAAQ,EAAE,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAC7E,MAAM,gBAAgB,GAAG,MAAM,CAC7B,MAAM,CAAC,IAAI,CAAC,wCAAwC,CACrD,CAAC;IACF,IAAI,gBAAgB,GAAG,YAAY,EAAE,CAAC;QACpC,MAAM,IAAI,wBAAwB,CAChC,4FAA4F,CAC7F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,gBAAgB;QAChB,YAAY;QACZ,oBAAoB,EAAE,MAAM,CAC1B,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAC1D;QACD,kBAAkB,EAAE,MAAM,CAAC,IAAI,CAAC,yCAAyC;QACzE,gBAAgB,EAAE,gBAAgB,CAAC,GAAG,CACpC,CAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAkB,CACpD;QACD,UAAU,EACR,MAAM,CAAC,IAAI,CAAC,gCAAgC;YAC5C,kCAAkC;KACrC,CAAC;AACJ,CAAC;AAQD;;;;GAIG;AACH,SAAS,eAAe,CACtB,KAAoB,EACpB,OAAqB,EACrB,OAAe,EACf,QAAgB;IAEhB,MAAM,SAAS,GAAG;QAChB,KAAK,CAAC,WAAW,EAAE;QACnB,OAAO;QACP,QAAQ;QACR,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,gBAAgB,CAAC,QAAQ,EAAE;QACnC,OAAO,CAAC,YAAY,CAAC,QAAQ,EAAE;QAC/B,OAAO,CAAC,oBAAoB,CAAC,QAAQ,EAAE;QACvC,OAAO,CAAC,kBAAkB;QAC1B,CAAC,OAAO,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;KACzE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACZ,OAAO,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAgB,EAChB,IAAuB,EACvB,OAAiC;IAEjC,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QACxC,MAAM,IAAI,wBAAwB,CAChC,mFAAmF,CACpF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAkB,CAAC;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;IAE7C,MAAM,OAAO,GAAiB;QAC5B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;QAC/C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YAClC,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAClD,CAAC,CAAC,EAAE,CAAC;QACP,SAAS;KACV,CAAC;IAEF,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7E,MAAM,SAAS,GAAG,2BAA2B,CAAC;QAC5C,SAAS;QACT,KAAK;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IAEzD,OAAO,wBAAwB,CAAC,KAAK,CAAC;QACpC,SAAS;QACT,KAAK;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,QAAQ;QACR,OAAO;QACP,SAAS;KACV,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/mandates/env.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
+ #!/usr/bin/env node
1
2
  export {};
2
3
  //# sourceMappingURL=http-server.d.ts.map
@@ -1,3 +1,4 @@
1
+ #!/usr/bin/env node
1
2
  import { startHostedMcpHttpServerFromEnv } from "./http.js";
2
3
  /**
3
4
  * Runnable entrypoint for the hosted, multi-tenant MCP server over Streamable
@@ -1 +1 @@
1
- {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../src/mcp/http-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AAE5D;;;;;;;GAOG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,MAAM,+BAA+B,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC;IACtD,oDAAoD;IACpD,OAAO,CAAC,KAAK,CACX,+CAA+C,IAAI,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,CACjF,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE;QAClC,OAAO,CAAC,KAAK,CAAC,2BAA2B,MAAM,2BAA2B,CAAC,CAAC;QAC5E,MAAM;aACH,KAAK,EAAE;aACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC3B,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CACX,KAAK,YAAY,KAAK;QACpB,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,mCAAmC,CACxC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"http-server.js","sourceRoot":"","sources":["../../src/mcp/http-server.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,+BAA+B,EAAE,MAAM,WAAW,CAAC;AAE5D;;;;;;;GAOG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,MAAM,+BAA+B,EAAE,CAAC;IACvD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,MAAM,CAAC;IACnD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAC;IACtD,oDAAoD;IACpD,OAAO,CAAC,KAAK,CACX,+CAA+C,IAAI,IAAI,MAAM,CAAC,SAAS,GAAG,IAAI,EAAE,CACjF,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE;QAClC,OAAO,CAAC,KAAK,CAAC,2BAA2B,MAAM,2BAA2B,CAAC,CAAC;QAC5E,MAAM;aACH,KAAK,EAAE;aACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aAC3B,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;AACnD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CACX,KAAK,YAAY,KAAK;QACpB,CAAC,CAAC,KAAK,CAAC,OAAO;QACf,CAAC,CAAC,mCAAmC,CACxC,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -5,12 +5,37 @@ import { type SignedSpendMandate } from "../mandates/mandate.js";
5
5
  import { type ReclaimAuthorizedStreamInput, type ReclaimVerifiedStreamResult, type StreamStatusView, type VerifiedStreamAgentOpener } from "../sdk/client.js";
6
6
  import { type AgentWalletInput } from "../wallet/provider.js";
7
7
  import { type ConsumerDeliveryProofService } from "../zktls/reclaim.js";
8
+ import { type ServiceInvoker } from "./service-invoker.js";
9
+ /**
10
+ * Opt out of the operator/serviceRef cross-check on hire. Operator-set input
11
+ * only — an MCP caller can neither read nor set it.
12
+ */
13
+ export declare const ALLOW_UNVERIFIED_OPERATOR_ENV = "METRIK_AGENT_ALLOW_UNVERIFIED_OPERATOR";
14
+ /**
15
+ * Escrow generations this server can talk to.
16
+ *
17
+ * Declared, not inferred. The client sets `escrowV2` (which selects the
18
+ * checkpoint decoder for every read) purely from configuration, so the
19
+ * generation has to be a stated fact that can be wrong out loud, rather than an
20
+ * assumption buried in one constructor argument.
21
+ */
22
+ export type EscrowGeneration = "v2";
8
23
  export interface McpToolSpec {
9
24
  name: string;
10
25
  description: string;
11
26
  /** Whether invoking this tool can move funds (must pass a spend mandate check). */
12
27
  movesFunds: boolean;
13
28
  }
29
+ /**
30
+ * The one sentence every stream-opening surface has to carry.
31
+ *
32
+ * A reviewer made ONE call against a stream and was billed for 302 seconds. The
33
+ * escrow behaved exactly as designed — and nothing in the tool surface had told
34
+ * them what they were buying. An LLM picks a tool from its description alone, so
35
+ * the meter is stated in the description of every tool that opens, reads, or
36
+ * ends a stream, not only in the docs it will never read.
37
+ */
38
+ export declare const METERING_MODEL = "METERING: this is TIME-metered rental of an endpoint that keeps proving it is live, NOT per-call billing. Cost = ratePerSecondUsdc x seconds the oracle VERIFIED, capped at the escrowed budget. One call and a thousand calls cost the same second, and the clock runs while you call nothing. Only closing the stream (reclaim_unspent) stops it; nothing refunds automatically.";
14
39
  export declare const METRIK_MCP_TOOLS: readonly McpToolSpec[];
15
40
  /** @deprecated Renamed to METRIK_MCP_TOOLS; retained for back-compat. */
16
41
  export declare const STREAMPROOF_MCP_TOOLS: readonly McpToolSpec[];
@@ -70,6 +95,23 @@ export interface VerifiedStreamMcpServerOptions {
70
95
  */
71
96
  readonly mandateProvider?: () => SignedSpendMandate | Promise<SignedSpendMandate>;
72
97
  readonly registry?: StreamRegistry;
98
+ /**
99
+ * Escape hatch for the operator/serviceRef cross-check, from
100
+ * {@link ALLOW_UNVERIFIED_OPERATOR_ENV}.
101
+ *
102
+ * OFF by default and deliberately not reachable from a tool argument: the
103
+ * caller being asked to relax a fund-safety check is the LLM the check exists
104
+ * to constrain. Even when on, a positive contradiction (`mismatch`) is still
105
+ * refused — this only downgrades "could not verify" from a refusal to a
106
+ * warning, for an operator who has accepted that risk explicitly.
107
+ */
108
+ readonly allowUnverifiedOperatorPairing?: boolean;
109
+ /**
110
+ * Drives `invoke_service`. Omitted, the tool is not registered at all rather
111
+ * than advertised and broken — the env builder always supplies one, so this
112
+ * is only omitted by callers wiring the server by hand (and by tests).
113
+ */
114
+ readonly serviceInvoker?: ServiceInvoker;
73
115
  readonly deliveryProofService?: ConsumerDeliveryProofService;
74
116
  readonly mandateStateResolver?: Partial<MandateStateResolver>;
75
117
  readonly now?: () => number;
@@ -93,6 +135,13 @@ export interface VerifiedStreamMcpServerRuntime {
93
135
  export interface ParsedMetrikAgentEnv {
94
136
  readonly rpcUrl: string;
95
137
  readonly escrow: `0x${string}`;
138
+ /** Which escrow generation {@link escrow} is, as CONFIGURED (never probed). */
139
+ readonly escrowGeneration: EscrowGeneration;
140
+ /** Registry the invocation origin is verified against. Undefined = the public default. */
141
+ readonly registryUrl?: string;
142
+ readonly registryApiKey?: string;
143
+ /** {@link ALLOW_UNVERIFIED_OPERATOR_ENV}; false unless explicitly `true`. */
144
+ readonly allowUnverifiedOperatorPairing: boolean;
96
145
  readonly usdc: `0x${string}`;
97
146
  readonly chain: Chain;
98
147
  readonly stateFile?: string;