@absol-labs/agent 0.10.0 → 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 (141) hide show
  1. package/README.md +107 -23
  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/commands/claim.d.ts.map +1 -1
  6. package/dist/cli/commands/claim.js +20 -4
  7. package/dist/cli/commands/claim.js.map +1 -1
  8. package/dist/cli/commands/close.d.ts.map +1 -1
  9. package/dist/cli/commands/close.js +16 -4
  10. package/dist/cli/commands/close.js.map +1 -1
  11. package/dist/cli/commands/invoke.d.ts.map +1 -1
  12. package/dist/cli/commands/invoke.js +1 -0
  13. package/dist/cli/commands/invoke.js.map +1 -1
  14. package/dist/cli/commands/open.d.ts.map +1 -1
  15. package/dist/cli/commands/open.js +63 -11
  16. package/dist/cli/commands/open.js.map +1 -1
  17. package/dist/cli/commands/reclaim-unverified.d.ts.map +1 -1
  18. package/dist/cli/commands/reclaim-unverified.js +12 -4
  19. package/dist/cli/commands/reclaim-unverified.js.map +1 -1
  20. package/dist/cli/commands/reclaim.d.ts.map +1 -1
  21. package/dist/cli/commands/reclaim.js +16 -5
  22. package/dist/cli/commands/reclaim.js.map +1 -1
  23. package/dist/cli/commands/streams.js +1 -1
  24. package/dist/cli/commands/streams.js.map +1 -1
  25. package/dist/cli/deps.d.ts +53 -7
  26. package/dist/cli/deps.d.ts.map +1 -1
  27. package/dist/cli/deps.js +65 -15
  28. package/dist/cli/deps.js.map +1 -1
  29. package/dist/cli/privy.d.ts +83 -0
  30. package/dist/cli/privy.d.ts.map +1 -0
  31. package/dist/cli/privy.js +230 -0
  32. package/dist/cli/privy.js.map +1 -0
  33. package/dist/cli/spend-policy.d.ts +60 -0
  34. package/dist/cli/spend-policy.d.ts.map +1 -0
  35. package/dist/cli/spend-policy.js +65 -0
  36. package/dist/cli/spend-policy.js.map +1 -0
  37. package/dist/cli/wallet.d.ts +108 -39
  38. package/dist/cli/wallet.d.ts.map +1 -1
  39. package/dist/cli/wallet.js +108 -43
  40. package/dist/cli/wallet.js.map +1 -1
  41. package/dist/gateway/caller-auth-gateway.d.ts +38 -3
  42. package/dist/gateway/caller-auth-gateway.d.ts.map +1 -1
  43. package/dist/gateway/caller-auth-gateway.js +25 -1
  44. package/dist/gateway/caller-auth-gateway.js.map +1 -1
  45. package/dist/gateway/http-server.d.ts +53 -0
  46. package/dist/gateway/http-server.d.ts.map +1 -1
  47. package/dist/gateway/http-server.js +189 -4
  48. package/dist/gateway/http-server.js.map +1 -1
  49. package/dist/gateway/x402-mode.d.ts +123 -0
  50. package/dist/gateway/x402-mode.d.ts.map +1 -0
  51. package/dist/gateway/x402-mode.js +212 -0
  52. package/dist/gateway/x402-mode.js.map +1 -0
  53. package/dist/index.d.ts +6 -4
  54. package/dist/index.d.ts.map +1 -1
  55. package/dist/index.js +8 -3
  56. package/dist/index.js.map +1 -1
  57. package/dist/mandates/env.d.ts +3 -2
  58. package/dist/mandates/env.d.ts.map +1 -1
  59. package/dist/mandates/env.js +3 -2
  60. package/dist/mandates/env.js.map +1 -1
  61. package/dist/mcp/server.d.ts +49 -0
  62. package/dist/mcp/server.d.ts.map +1 -1
  63. package/dist/mcp/server.js +513 -24
  64. package/dist/mcp/server.js.map +1 -1
  65. package/dist/mcp/service-invoker.d.ts +97 -0
  66. package/dist/mcp/service-invoker.d.ts.map +1 -0
  67. package/dist/mcp/service-invoker.js +167 -0
  68. package/dist/mcp/service-invoker.js.map +1 -0
  69. package/dist/sdk/invoke.d.ts +19 -4
  70. package/dist/sdk/invoke.d.ts.map +1 -1
  71. package/dist/sdk/invoke.js +69 -5
  72. package/dist/sdk/invoke.js.map +1 -1
  73. package/dist/x402/delivery-oracle.d.ts +108 -0
  74. package/dist/x402/delivery-oracle.d.ts.map +1 -0
  75. package/dist/x402/delivery-oracle.js +174 -0
  76. package/dist/x402/delivery-oracle.js.map +1 -0
  77. package/dist/x402/facilitator-server-entry.d.ts +3 -0
  78. package/dist/x402/facilitator-server-entry.d.ts.map +1 -0
  79. package/dist/x402/facilitator-server-entry.js +27 -0
  80. package/dist/x402/facilitator-server-entry.js.map +1 -0
  81. package/dist/x402/facilitator-server.d.ts +73 -0
  82. package/dist/x402/facilitator-server.d.ts.map +1 -0
  83. package/dist/x402/facilitator-server.js +305 -0
  84. package/dist/x402/facilitator-server.js.map +1 -0
  85. package/dist/x402/facilitator.d.ts +69 -17
  86. package/dist/x402/facilitator.d.ts.map +1 -1
  87. package/dist/x402/facilitator.js +76 -33
  88. package/dist/x402/facilitator.js.map +1 -1
  89. package/dist/x402/payment-requirements.d.ts +106 -0
  90. package/dist/x402/payment-requirements.d.ts.map +1 -0
  91. package/dist/x402/payment-requirements.js +138 -0
  92. package/dist/x402/payment-requirements.js.map +1 -0
  93. package/dist/x402/relayer.d.ts +41 -0
  94. package/dist/x402/relayer.d.ts.map +1 -0
  95. package/dist/x402/relayer.js +64 -0
  96. package/dist/x402/relayer.js.map +1 -0
  97. package/dist/x402/resource-index.d.ts +75 -0
  98. package/dist/x402/resource-index.d.ts.map +1 -0
  99. package/dist/x402/resource-index.js +126 -0
  100. package/dist/x402/resource-index.js.map +1 -0
  101. package/dist/x402/verified-delivery-facilitator.d.ts +285 -0
  102. package/dist/x402/verified-delivery-facilitator.d.ts.map +1 -0
  103. package/dist/x402/verified-delivery-facilitator.js +423 -0
  104. package/dist/x402/verified-delivery-facilitator.js.map +1 -0
  105. package/dist/zktls/t2-delivery-proof.d.ts +6 -6
  106. package/docs/agent-layer.md +12 -8
  107. package/docs/cli.md +158 -22
  108. package/docs/mcp-hosted.md +4 -3
  109. package/docs/mcp-reference.md +175 -0
  110. package/docs/quickstart.md +18 -4
  111. package/docs/threat-model.md +4 -3
  112. package/docs/x402.md +648 -0
  113. package/package.json +18 -7
  114. package/src/capability/invocation-capability.ts +17 -1
  115. package/src/cli/commands/claim.ts +30 -4
  116. package/src/cli/commands/close.ts +20 -4
  117. package/src/cli/commands/invoke.ts +1 -0
  118. package/src/cli/commands/open.ts +76 -10
  119. package/src/cli/commands/reclaim-unverified.ts +16 -4
  120. package/src/cli/commands/reclaim.ts +22 -5
  121. package/src/cli/commands/streams.ts +1 -1
  122. package/src/cli/deps.ts +115 -24
  123. package/src/cli/privy.ts +396 -0
  124. package/src/cli/spend-policy.ts +139 -0
  125. package/src/cli/wallet.ts +188 -57
  126. package/src/gateway/caller-auth-gateway.ts +77 -6
  127. package/src/gateway/http-server.ts +280 -6
  128. package/src/gateway/x402-mode.ts +350 -0
  129. package/src/index.ts +40 -5
  130. package/src/mandates/env.ts +3 -2
  131. package/src/mcp/server.ts +681 -29
  132. package/src/mcp/service-invoker.ts +285 -0
  133. package/src/sdk/invoke.ts +90 -12
  134. package/src/x402/delivery-oracle.ts +285 -0
  135. package/src/x402/facilitator-server-entry.ts +35 -0
  136. package/src/x402/facilitator-server.ts +445 -0
  137. package/src/x402/facilitator.ts +125 -46
  138. package/src/x402/payment-requirements.ts +231 -0
  139. package/src/x402/relayer.ts +122 -0
  140. package/src/x402/resource-index.ts +228 -0
  141. package/src/x402/verified-delivery-facilitator.ts +744 -0
@@ -1 +1 @@
1
- {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/sdk/invoke.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoke.js","sourceRoot":"","sources":["../../src/sdk/invoke.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * The Metrik delivery signal, as consumed by the x402 facilitator.
3
+ *
4
+ * ## Where the signal comes from
5
+ *
6
+ * The oracle publishes `GET /services` — one row per `serviceRef`, reduced from
7
+ * the oracle's own settlement-path verdicts for the active streams of that
8
+ * service (`streamproof-oracle/src/service-status.ts`). Its three states are
9
+ * already buyer-favouring at the source: a FRESH failing stream beats a fresh
10
+ * delivering sibling, and absent/stale evidence is reported as `unverified`
11
+ * rather than folded into "fine".
12
+ *
13
+ * ## Why this module re-checks freshness the oracle already checked
14
+ *
15
+ * The oracle's own bound is 5 minutes (`DEFAULT_SERVICE_STATUS_TTL_MS`), which
16
+ * is a sensible bound for a dashboard and far too loose for a payment gate. On
17
+ * top of that the HTTP response itself can be cached or served by a stale
18
+ * replica, and `lastCheckedAt` is the only field that dates the EVIDENCE rather
19
+ * than the response. So the age of `lastCheckedAt` is re-derived here against
20
+ * this module's own, much tighter window.
21
+ *
22
+ * ## The freshness window: 90 seconds, and why
23
+ *
24
+ * The oracle checkpoints every ~15–22 s, and a service's recorded status is
25
+ * refreshed on that cadence. A window has to be wide enough that ordinary
26
+ * jitter does not flap the gate, and narrow enough that "verified" still means
27
+ * "now":
28
+ *
29
+ * - 3 worst-case probe intervals (3 x 22 s = 66 s) absorbs two consecutive
30
+ * missed or slow ticks, which is normal operational noise, not evidence of
31
+ * a dead service.
32
+ * - plus the oracle's own record-and-serve latency and this process's fetch
33
+ * round trip, rounded up: **90 s**.
34
+ *
35
+ * Tighter (e.g. 30 s) and a single slow tick turns a healthy service's gate
36
+ * indeterminate. Looser (e.g. the oracle's own 300 s) and a service that died
37
+ * four minutes ago still reads `delivering`, which is exactly the claim this
38
+ * gate exists to avoid making.
39
+ *
40
+ * Note this window is strictly stricter than the oracle's: a verdict aged
41
+ * between 90 s and 300 s is `delivering` at the source and `indeterminate`
42
+ * here.
43
+ */
44
+ export declare const DEFAULT_DELIVERY_FRESHNESS_SECONDS = 90;
45
+ /** How long a fetched `/services` snapshot may be reused. See `verdictFor`. */
46
+ export declare const DEFAULT_DELIVERY_SNAPSHOT_TTL_MS = 10000;
47
+ /** Request timeout for the oracle read. Short: this sits in a payment hot path. */
48
+ export declare const DEFAULT_DELIVERY_ORACLE_TIMEOUT_MS = 4000;
49
+ export declare const DEFAULT_METRIK_ORACLE_URL = "https://oracle.metrik.live";
50
+ /**
51
+ * Three states, never two.
52
+ *
53
+ * `indeterminate` is deliberately NOT collapsed into either of the others: the
54
+ * facilitator's policy for "no fresh evidence" is a separate, configurable
55
+ * decision (see `./verified-delivery-facilitator.ts`), and folding it into
56
+ * `failing` would make Metrik refuse every payment whenever its own oracle is
57
+ * quiet or unreachable.
58
+ */
59
+ export type DeliveryVerdict = "delivering" | "failing" | "indeterminate";
60
+ /** Why the verdict is what it is — machine-readable, for logs and for tests. */
61
+ export type DeliveryVerdictReason = "fresh-delivering" | "fresh-failing" | "no-fresh-evidence" | "verdict-stale" | "service-not-listed" | "oracle-unreachable" | "oracle-malformed";
62
+ export interface DeliveryAssessment {
63
+ readonly serviceRef: string;
64
+ readonly verdict: DeliveryVerdict;
65
+ readonly reason: DeliveryVerdictReason;
66
+ /** Unix ms of the newest recorded check for this service, when known. */
67
+ readonly lastCheckedAt: number | null;
68
+ /** Age of `lastCheckedAt` in seconds, when known. */
69
+ readonly ageSeconds: number | null;
70
+ /** The freshness window applied, in seconds. */
71
+ readonly freshnessWindowSeconds: number;
72
+ }
73
+ export interface MetrikDeliveryOracle {
74
+ /** Never throws: an unreachable oracle is an `indeterminate` verdict, not an exception. */
75
+ verdictFor(serviceRef: string): Promise<DeliveryAssessment>;
76
+ }
77
+ export type FetchLike = (input: string, init?: {
78
+ signal?: AbortSignal;
79
+ headers?: Record<string, string>;
80
+ }) => Promise<{
81
+ ok: boolean;
82
+ status: number;
83
+ json(): Promise<unknown>;
84
+ }>;
85
+ export interface OracleDeliveryOracleOptions {
86
+ /** Oracle base URL. Default {@link DEFAULT_METRIK_ORACLE_URL}. */
87
+ readonly oracleUrl?: string;
88
+ /** Default {@link DEFAULT_DELIVERY_FRESHNESS_SECONDS}. */
89
+ readonly freshnessWindowSeconds?: number;
90
+ /** Default {@link DEFAULT_DELIVERY_SNAPSHOT_TTL_MS}. */
91
+ readonly snapshotTtlMs?: number;
92
+ readonly timeoutMs?: number;
93
+ readonly fetch?: FetchLike;
94
+ /** Injectable clock (unix ms), for tests. */
95
+ readonly now?: () => number;
96
+ }
97
+ /**
98
+ * Reads `GET {oracleUrl}/services` and projects one row onto a
99
+ * {@link DeliveryAssessment}.
100
+ *
101
+ * The snapshot is cached for {@link DEFAULT_DELIVERY_SNAPSHOT_TTL_MS} so a burst
102
+ * of payments does not become a burst of oracle reads. The cache is SHORTER than
103
+ * the freshness window by design, and caching cannot make a verdict look fresher
104
+ * than it is: freshness is computed from the row's own `lastCheckedAt`, never
105
+ * from when we fetched it.
106
+ */
107
+ export declare function createOracleDeliveryOracle(options?: OracleDeliveryOracleOptions): MetrikDeliveryOracle;
108
+ //# sourceMappingURL=delivery-oracle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-oracle.d.ts","sourceRoot":"","sources":["../../src/x402/delivery-oracle.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,kCAAkC,KAAK,CAAC;AAErD,+EAA+E;AAC/E,eAAO,MAAM,gCAAgC,QAAS,CAAC;AAEvD,mFAAmF;AACnF,eAAO,MAAM,kCAAkC,OAAQ,CAAC;AAExD,eAAO,MAAM,yBAAyB,+BAA+B,CAAC;AAEtE;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,eAAe,CAAC;AAEzE,gFAAgF;AAChF,MAAM,MAAM,qBAAqB,GAC7B,kBAAkB,GAClB,eAAe,GACf,mBAAmB,GACnB,eAAe,GACf,oBAAoB,GACpB,oBAAoB,GACpB,kBAAkB,CAAC;AAEvB,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,qBAAqB,CAAC;IACvC,yEAAyE;IACzE,QAAQ,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,qDAAqD;IACrD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,gDAAgD;IAChD,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;CACzC;AAED,MAAM,WAAW,oBAAoB;IACnC,2FAA2F;IAC3F,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7D;AAeD,MAAM,MAAM,SAAS,GAAG,CACtB,KAAK,EAAE,MAAM,EACb,IAAI,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,WAAW,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,KAC9D,OAAO,CAAC;IACX,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1B,CAAC,CAAC;AAEH,MAAM,WAAW,2BAA2B;IAC1C,kEAAkE;IAClE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IACzC,wDAAwD;IACxD,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,6CAA6C;IAC7C,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,2BAAgC,GACxC,oBAAoB,CA+HtB"}
@@ -0,0 +1,174 @@
1
+ import { z } from "zod";
2
+ /**
3
+ * The Metrik delivery signal, as consumed by the x402 facilitator.
4
+ *
5
+ * ## Where the signal comes from
6
+ *
7
+ * The oracle publishes `GET /services` — one row per `serviceRef`, reduced from
8
+ * the oracle's own settlement-path verdicts for the active streams of that
9
+ * service (`streamproof-oracle/src/service-status.ts`). Its three states are
10
+ * already buyer-favouring at the source: a FRESH failing stream beats a fresh
11
+ * delivering sibling, and absent/stale evidence is reported as `unverified`
12
+ * rather than folded into "fine".
13
+ *
14
+ * ## Why this module re-checks freshness the oracle already checked
15
+ *
16
+ * The oracle's own bound is 5 minutes (`DEFAULT_SERVICE_STATUS_TTL_MS`), which
17
+ * is a sensible bound for a dashboard and far too loose for a payment gate. On
18
+ * top of that the HTTP response itself can be cached or served by a stale
19
+ * replica, and `lastCheckedAt` is the only field that dates the EVIDENCE rather
20
+ * than the response. So the age of `lastCheckedAt` is re-derived here against
21
+ * this module's own, much tighter window.
22
+ *
23
+ * ## The freshness window: 90 seconds, and why
24
+ *
25
+ * The oracle checkpoints every ~15–22 s, and a service's recorded status is
26
+ * refreshed on that cadence. A window has to be wide enough that ordinary
27
+ * jitter does not flap the gate, and narrow enough that "verified" still means
28
+ * "now":
29
+ *
30
+ * - 3 worst-case probe intervals (3 x 22 s = 66 s) absorbs two consecutive
31
+ * missed or slow ticks, which is normal operational noise, not evidence of
32
+ * a dead service.
33
+ * - plus the oracle's own record-and-serve latency and this process's fetch
34
+ * round trip, rounded up: **90 s**.
35
+ *
36
+ * Tighter (e.g. 30 s) and a single slow tick turns a healthy service's gate
37
+ * indeterminate. Looser (e.g. the oracle's own 300 s) and a service that died
38
+ * four minutes ago still reads `delivering`, which is exactly the claim this
39
+ * gate exists to avoid making.
40
+ *
41
+ * Note this window is strictly stricter than the oracle's: a verdict aged
42
+ * between 90 s and 300 s is `delivering` at the source and `indeterminate`
43
+ * here.
44
+ */
45
+ export const DEFAULT_DELIVERY_FRESHNESS_SECONDS = 90;
46
+ /** How long a fetched `/services` snapshot may be reused. See `verdictFor`. */
47
+ export const DEFAULT_DELIVERY_SNAPSHOT_TTL_MS = 10_000;
48
+ /** Request timeout for the oracle read. Short: this sits in a payment hot path. */
49
+ export const DEFAULT_DELIVERY_ORACLE_TIMEOUT_MS = 4_000;
50
+ export const DEFAULT_METRIK_ORACLE_URL = "https://oracle.metrik.live";
51
+ /** The subset of the oracle's `/services` row this module relies on. */
52
+ const serviceStatusRowSchema = z
53
+ .object({
54
+ serviceRef: z.string(),
55
+ status: z.enum(["delivering", "failing", "unverified"]),
56
+ lastCheckedAt: z.number().nullable().optional(),
57
+ })
58
+ .passthrough();
59
+ const servicesResponseSchema = z.object({
60
+ services: z.array(serviceStatusRowSchema),
61
+ });
62
+ /**
63
+ * Reads `GET {oracleUrl}/services` and projects one row onto a
64
+ * {@link DeliveryAssessment}.
65
+ *
66
+ * The snapshot is cached for {@link DEFAULT_DELIVERY_SNAPSHOT_TTL_MS} so a burst
67
+ * of payments does not become a burst of oracle reads. The cache is SHORTER than
68
+ * the freshness window by design, and caching cannot make a verdict look fresher
69
+ * than it is: freshness is computed from the row's own `lastCheckedAt`, never
70
+ * from when we fetched it.
71
+ */
72
+ export function createOracleDeliveryOracle(options = {}) {
73
+ const oracleUrl = (options.oracleUrl ?? DEFAULT_METRIK_ORACLE_URL).replace(/\/+$/, "");
74
+ const freshnessWindowSeconds = options.freshnessWindowSeconds ?? DEFAULT_DELIVERY_FRESHNESS_SECONDS;
75
+ if (!Number.isFinite(freshnessWindowSeconds) || freshnessWindowSeconds <= 0) {
76
+ throw new Error("freshnessWindowSeconds must be a positive number");
77
+ }
78
+ const snapshotTtlMs = options.snapshotTtlMs ?? DEFAULT_DELIVERY_SNAPSHOT_TTL_MS;
79
+ const timeoutMs = options.timeoutMs ?? DEFAULT_DELIVERY_ORACLE_TIMEOUT_MS;
80
+ const doFetch = (options.fetch ??
81
+ ((input, init) => globalThis.fetch(input, init)));
82
+ const now = options.now ?? (() => Date.now());
83
+ let snapshot;
84
+ let inFlight;
85
+ async function loadSnapshot() {
86
+ const controller = new AbortController();
87
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
88
+ try {
89
+ const response = await doFetch(`${oracleUrl}/services`, {
90
+ signal: controller.signal,
91
+ headers: { accept: "application/json", "cache-control": "no-cache" },
92
+ });
93
+ if (!response.ok) {
94
+ return {
95
+ fetchedAtMs: now(),
96
+ rows: null,
97
+ failure: "oracle-unreachable",
98
+ };
99
+ }
100
+ const parsed = servicesResponseSchema.safeParse(await response.json());
101
+ if (!parsed.success) {
102
+ return { fetchedAtMs: now(), rows: null, failure: "oracle-malformed" };
103
+ }
104
+ const rows = new Map();
105
+ for (const row of parsed.data.services) {
106
+ rows.set(row.serviceRef.toLowerCase(), row);
107
+ }
108
+ return { fetchedAtMs: now(), rows, failure: null };
109
+ }
110
+ catch {
111
+ return { fetchedAtMs: now(), rows: null, failure: "oracle-unreachable" };
112
+ }
113
+ finally {
114
+ clearTimeout(timer);
115
+ }
116
+ }
117
+ async function currentSnapshot() {
118
+ const cached = snapshot;
119
+ if (cached !== undefined && now() - cached.fetchedAtMs < snapshotTtlMs) {
120
+ return cached;
121
+ }
122
+ // Collapse concurrent misses onto one request.
123
+ inFlight ??= loadSnapshot().finally(() => {
124
+ inFlight = undefined;
125
+ });
126
+ const loaded = await inFlight;
127
+ snapshot = loaded;
128
+ return loaded;
129
+ }
130
+ return {
131
+ async verdictFor(serviceRef) {
132
+ const key = serviceRef.toLowerCase();
133
+ const loaded = await currentSnapshot();
134
+ if (loaded.rows === null) {
135
+ return indeterminate(serviceRef, loaded.failure ?? "oracle-unreachable", null, freshnessWindowSeconds);
136
+ }
137
+ const row = loaded.rows.get(key);
138
+ if (row === undefined) {
139
+ return indeterminate(serviceRef, "service-not-listed", null, freshnessWindowSeconds);
140
+ }
141
+ const lastCheckedAt = row.lastCheckedAt ?? null;
142
+ const ageSeconds = lastCheckedAt === null
143
+ ? null
144
+ : Math.max(0, Math.round((now() - lastCheckedAt) / 1000));
145
+ if (row.status === "unverified") {
146
+ return indeterminate(serviceRef, "no-fresh-evidence", lastCheckedAt, freshnessWindowSeconds, ageSeconds);
147
+ }
148
+ // The oracle dated its own verdict; if it cannot be shown to be recent it
149
+ // is not evidence of anything, in EITHER direction.
150
+ if (ageSeconds === null || ageSeconds > freshnessWindowSeconds) {
151
+ return indeterminate(serviceRef, "verdict-stale", lastCheckedAt, freshnessWindowSeconds, ageSeconds);
152
+ }
153
+ return {
154
+ serviceRef,
155
+ verdict: row.status === "failing" ? "failing" : "delivering",
156
+ reason: row.status === "failing" ? "fresh-failing" : "fresh-delivering",
157
+ lastCheckedAt,
158
+ ageSeconds,
159
+ freshnessWindowSeconds,
160
+ };
161
+ },
162
+ };
163
+ }
164
+ function indeterminate(serviceRef, reason, lastCheckedAt, freshnessWindowSeconds, ageSeconds = null) {
165
+ return {
166
+ serviceRef,
167
+ verdict: "indeterminate",
168
+ reason,
169
+ lastCheckedAt,
170
+ ageSeconds,
171
+ freshnessWindowSeconds,
172
+ };
173
+ }
174
+ //# sourceMappingURL=delivery-oracle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery-oracle.js","sourceRoot":"","sources":["../../src/x402/delivery-oracle.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=facilitator-server-entry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facilitator-server-entry.d.ts","sourceRoot":"","sources":["../../src/x402/facilitator-server-entry.ts"],"names":[],"mappings":""}
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+ import { startMetrikFacilitatorServerFromEnv } from "./facilitator-server.js";
3
+ /**
4
+ * Runnable entrypoint for Metrik's x402 facilitator (`metrik-x402-facilitator`).
5
+ * All configuration comes from the environment; see
6
+ * {@link parseMetrikFacilitatorEnvConfig}. Refuses to start without a
7
+ * settlement relayer unless `METRIK_X402_ALLOW_VERIFY_ONLY=true`.
8
+ */
9
+ async function main() {
10
+ const server = await startMetrikFacilitatorServerFromEnv();
11
+ const host = process.env.METRIK_X402_HOST ?? "0.0.0.0";
12
+ console.error(`[metrik-x402-facilitator] listening on http://${host}:${server.boundPort}`);
13
+ const shutdown = (signal) => {
14
+ console.error(`[metrik-x402-facilitator] ${signal} received — shutting down`);
15
+ server
16
+ .close()
17
+ .then(() => process.exit(0))
18
+ .catch(() => process.exit(1));
19
+ };
20
+ process.on("SIGINT", () => shutdown("SIGINT"));
21
+ process.on("SIGTERM", () => shutdown("SIGTERM"));
22
+ }
23
+ main().catch((error) => {
24
+ console.error(error instanceof Error ? error.message : "failed to start x402 facilitator");
25
+ process.exit(1);
26
+ });
27
+ //# sourceMappingURL=facilitator-server-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facilitator-server-entry.js","sourceRoot":"","sources":["../../src/x402/facilitator-server-entry.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,mCAAmC,EAAE,MAAM,yBAAyB,CAAC;AAE9E;;;;;GAKG;AACH,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,MAAM,mCAAmC,EAAE,CAAC;IAC3D,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,SAAS,CAAC;IACvD,OAAO,CAAC,KAAK,CACX,iDAAiD,IAAI,IAAI,MAAM,CAAC,SAAS,EAAE,CAC5E,CAAC;IAEF,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,EAAE;QAClC,OAAO,CAAC,KAAK,CACX,6BAA6B,MAAM,2BAA2B,CAC/D,CAAC;QACF,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,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kCAAkC,CAC5E,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { type Server } from "node:http";
2
+ import { type Hex } from "viem";
3
+ import { MetrikVerifiedDeliveryFacilitator, type IndeterminatePolicy, type SettlementScope } from "./verified-delivery-facilitator.js";
4
+ export interface MetrikFacilitatorServerConfig {
5
+ readonly facilitator: MetrikVerifiedDeliveryFacilitator;
6
+ /** Present only to report settlement availability on `/supported`. */
7
+ readonly settlementEnabled: boolean;
8
+ /**
9
+ * Shared secret required on `POST /settle`.
10
+ *
11
+ * `/settle` spends the operator's gas: it makes the relayer sign and
12
+ * broadcast. It is not a public read, and leaving it open on `0.0.0.0` makes
13
+ * it a permissionless "make the relayer broadcast for me" endpoint. `/verify`
14
+ * and `/supported` stay public — they cost nothing and are genuinely useful
15
+ * to anyone.
16
+ *
17
+ * Omit ONLY for a verify-only server. `startMetrikFacilitatorServerFromEnv`
18
+ * refuses to start a settling facilitator without one.
19
+ */
20
+ readonly settlementToken?: string;
21
+ }
22
+ export interface MetrikFacilitatorServer {
23
+ readonly httpServer: Server;
24
+ listen(port: number, host?: string): Promise<{
25
+ port: number;
26
+ host: string;
27
+ }>;
28
+ close(): Promise<void>;
29
+ }
30
+ export declare function createMetrikFacilitatorServer(config: MetrikFacilitatorServerConfig): MetrikFacilitatorServer;
31
+ export interface MetrikFacilitatorEnvConfig {
32
+ readonly host: string;
33
+ readonly port: number;
34
+ readonly chainId: number;
35
+ readonly rpcUrl: string;
36
+ readonly oracleUrl: string;
37
+ readonly registryUrl?: string;
38
+ readonly freshnessWindowSeconds: number;
39
+ readonly indeterminatePolicy: IndeterminatePolicy;
40
+ /** `undefined` means settlement is DISABLED — `/settle` will refuse loudly. */
41
+ readonly relayerPrivateKey?: Hex;
42
+ /** Required whenever a relayer is configured. Guards `POST /settle`. */
43
+ readonly settlementToken?: string;
44
+ /** Token contracts the relayer may be asked to call. Defaults to chain USDC. */
45
+ readonly settlementAssetAllowlist?: readonly string[];
46
+ readonly settlementScope: SettlementScope;
47
+ }
48
+ /**
49
+ * Env contract:
50
+ * - `METRIK_X402_RPC_URL` (required) — RPC for balance checks and, when a relayer
51
+ * is configured, for broadcasting.
52
+ * - `METRIK_X402_RELAYER_PRIVATE_KEY` (required unless
53
+ * `METRIK_X402_ALLOW_VERIFY_ONLY=true`) — the relayer that broadcasts EIP-3009
54
+ * transfers and pays gas.
55
+ * - `METRIK_X402_ALLOW_VERIFY_ONLY` (optional) — explicit opt-in to booting a
56
+ * verify-only facilitator. Without it, a missing relayer key is a STARTUP
57
+ * FAILURE rather than a server that silently never settles.
58
+ * - `METRIK_X402_CHAIN_ID` (optional) — default `84532`.
59
+ * - `METRIK_X402_ORACLE_URL` (optional) — default the public Metrik oracle.
60
+ * - `METRIK_X402_REGISTRY_URL` (optional) — listing source; default the oracle's
61
+ * public credential-free registry.
62
+ * - `METRIK_X402_FRESHNESS_SECONDS` (optional) — default
63
+ * {@link DEFAULT_DELIVERY_FRESHNESS_SECONDS}.
64
+ * - `METRIK_X402_INDETERMINATE_POLICY` (optional) — `allow` (default) or `deny`.
65
+ * - `PORT` / `METRIK_X402_PORT` (optional) — default `8788`.
66
+ * - `METRIK_X402_HOST` (optional) — default `0.0.0.0`.
67
+ */
68
+ export declare function parseMetrikFacilitatorEnvConfig(env?: NodeJS.ProcessEnv): MetrikFacilitatorEnvConfig;
69
+ export declare function buildMetrikFacilitatorFromEnvConfig(config: MetrikFacilitatorEnvConfig): MetrikVerifiedDeliveryFacilitator;
70
+ export declare function startMetrikFacilitatorServerFromEnv(env?: NodeJS.ProcessEnv): Promise<MetrikFacilitatorServer & {
71
+ readonly boundPort: number;
72
+ }>;
73
+ //# sourceMappingURL=facilitator-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"facilitator-server.d.ts","sourceRoot":"","sources":["../../src/x402/facilitator-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,MAAM,EAEZ,MAAM,WAAW,CAAC;AAKnB,OAAO,EAAoB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAalD,OAAO,EAEL,iCAAiC,EAEjC,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACrB,MAAM,oCAAoC,CAAC;AAc5C,MAAM,WAAW,6BAA6B;IAC5C,QAAQ,CAAC,WAAW,EAAE,iCAAiC,CAAC;IACxD,sEAAsE;IACtE,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7E,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACxB;AAED,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,6BAA6B,GACpC,uBAAuB,CAkCzB;AAsHD,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,sBAAsB,EAAE,MAAM,CAAC;IACxC,QAAQ,CAAC,mBAAmB,EAAE,mBAAmB,CAAC;IAClD,+EAA+E;IAC/E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,GAAG,CAAC;IACjC,wEAAwE;IACxE,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,gFAAgF;IAChF,QAAQ,CAAC,wBAAwB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtD,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;CAC3C;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,+BAA+B,CAC7C,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,0BAA0B,CA4G5B;AAED,wBAAgB,mCAAmC,CACjD,MAAM,EAAE,0BAA0B,GACjC,iCAAiC,CA+BnC;AAED,wBAAsB,mCAAmC,CACvD,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,uBAAuB,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAAE,CAAC,CAmCnE"}