@ashlar-blue/x402-trust 0.5.7 → 0.5.9

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.
@@ -49,12 +49,15 @@ export interface SwitchboardStats {
49
49
  categoryBreakdown: Record<string, number>;
50
50
  }
51
51
  export declare class AshlarSwitchboard {
52
+ private storagePath?;
52
53
  private directory;
53
54
  private mailboxes;
54
55
  private totalRouted;
55
56
  private totalTollsUSD;
56
57
  private seenNonces;
57
- constructor();
58
+ constructor(storagePath?: string | undefined);
59
+ private load;
60
+ private persist;
58
61
  /**
59
62
  * Seeds initial core infrastructure agents (Ashlar Conductor, Oracle, FlareClaw Treasury)
60
63
  */
@@ -105,5 +108,5 @@ export declare class AshlarSwitchboard {
105
108
  */
106
109
  getStats(): SwitchboardStats;
107
110
  }
108
- export declare function getAshlarSwitchboard(): AshlarSwitchboard;
111
+ export declare function getAshlarSwitchboard(storagePath?: string): AshlarSwitchboard;
109
112
  //# sourceMappingURL=agent-switchboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent-switchboard.d.ts","sourceRoot":"","sources":["../src/agent-switchboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-switchboard.d.ts","sourceRoot":"","sources":["../src/agent-switchboard.ts"],"names":[],"mappings":"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"}
@@ -9,14 +9,76 @@
9
9
  * and exchange encrypted payloads gated by x402 micro-tolls.
10
10
  */
11
11
  import { randomUUID } from 'node:crypto';
12
+ import * as fs from 'node:fs';
13
+ import * as path from 'node:path';
12
14
  export class AshlarSwitchboard {
15
+ storagePath;
13
16
  directory = new Map();
14
17
  mailboxes = new Map();
15
18
  totalRouted = 0;
16
19
  totalTollsUSD = 0;
17
20
  seenNonces = new Set();
18
- constructor() {
19
- this.seedInitialDirectory();
21
+ constructor(storagePath) {
22
+ this.storagePath = storagePath;
23
+ if (this.storagePath && fs.existsSync(this.storagePath)) {
24
+ this.load();
25
+ }
26
+ else {
27
+ this.seedInitialDirectory();
28
+ if (this.storagePath) {
29
+ this.persist();
30
+ }
31
+ }
32
+ }
33
+ load() {
34
+ try {
35
+ if (!this.storagePath || !fs.existsSync(this.storagePath))
36
+ return;
37
+ const raw = fs.readFileSync(this.storagePath, 'utf8');
38
+ const data = JSON.parse(raw);
39
+ if (data.directory && Array.isArray(data.directory)) {
40
+ this.directory = new Map(data.directory);
41
+ }
42
+ if (data.mailboxes && Array.isArray(data.mailboxes)) {
43
+ this.mailboxes = new Map(data.mailboxes);
44
+ }
45
+ this.totalRouted = typeof data.totalRouted === 'number' ? data.totalRouted : 0;
46
+ this.totalTollsUSD = typeof data.totalTollsUSD === 'number' ? data.totalTollsUSD : 0;
47
+ if (data.seenNonces && Array.isArray(data.seenNonces)) {
48
+ this.seenNonces = new Set(data.seenNonces);
49
+ }
50
+ if (this.directory.size === 0) {
51
+ this.seedInitialDirectory();
52
+ this.persist();
53
+ }
54
+ }
55
+ catch {
56
+ this.seedInitialDirectory();
57
+ }
58
+ }
59
+ persist() {
60
+ if (!this.storagePath)
61
+ return;
62
+ try {
63
+ const dir = path.dirname(this.storagePath);
64
+ if (!fs.existsSync(dir)) {
65
+ fs.mkdirSync(dir, { recursive: true });
66
+ }
67
+ const data = {
68
+ directory: Array.from(this.directory.entries()),
69
+ mailboxes: Array.from(this.mailboxes.entries()),
70
+ totalRouted: this.totalRouted,
71
+ totalTollsUSD: this.totalTollsUSD,
72
+ seenNonces: Array.from(this.seenNonces).slice(-10000),
73
+ savedAt: new Date().toISOString()
74
+ };
75
+ const tmp = `${this.storagePath}.tmp.${Date.now()}`;
76
+ fs.writeFileSync(tmp, JSON.stringify(data, null, 2), 'utf8');
77
+ fs.renameSync(tmp, this.storagePath);
78
+ }
79
+ catch {
80
+ // Non-fatal persistence error
81
+ }
20
82
  }
21
83
  /**
22
84
  * Seeds initial core infrastructure agents (Ashlar Conductor, Oracle, FlareClaw Treasury)
@@ -43,11 +105,11 @@ export class AshlarSwitchboard {
43
105
  lastSeenAt: now,
44
106
  });
45
107
  this.registerAgent({
46
- did: 'did:x402:flareclaw-oracle',
47
- name: 'FlareClaw FTSO v2 & Paddock Market Oracle',
48
- description: 'Sub-second decentralized price feeds from Flare FTSO v2 + Paddock autonomous agent microeconomy metrics.',
108
+ did: 'did:x402:coral-oracle',
109
+ name: 'Coral FTSO v2 Decentralized Market Oracle',
110
+ description: 'Sub-second decentralized price feeds from Flare FTSO v2 and cross-chain execution telemetry.',
49
111
  publicKey: '04b2c3d4e5f6a10102030405060708090a0b0c0d0e0f101112131415161718192021222324252627282930313233343536373839404142434445464748495052',
50
- capabilities: ['market-oracle', 'ftso-v2', 'paddock-telemetry', 'realtime-data'],
112
+ capabilities: ['market-oracle', 'ftso-v2', 'realtime-pricing', 'liquidity-telemetry'],
51
113
  acceptedRails: ['eip155:14', 'eip155:114', 'xrpl:mainnet'],
52
114
  attestation: {
53
115
  type: 'intel-tdx',
@@ -80,6 +142,101 @@ export class AshlarSwitchboard {
80
142
  registeredAt: now,
81
143
  lastSeenAt: now,
82
144
  });
145
+ this.registerAgent({
146
+ did: 'did:key:z6MkuEthereumEip7702',
147
+ name: 'Ethereum EIP-7702 Delegation & Calldata Anchor Node',
148
+ description: 'Temporary smart-contract account delegation for autonomous agent micro-tolls and EIP-4844 blob audit anchoring.',
149
+ publicKey: '04d4e5f6a1b2c30102030405060708090a0b0c0d0e0f101112131415161718192021222324252627282930313233343536373839404142434445464748495054',
150
+ capabilities: ['eip7702-delegation', 'ethereum-settlement', 'blob-anchoring', 'account-abstraction'],
151
+ acceptedRails: ['eip155:1', 'eip155:8453'],
152
+ attestation: {
153
+ type: 'intel-tdx',
154
+ mrtd: '5510294810294810294810294810294810294810294810294810294810294810',
155
+ verifiedAt: now,
156
+ },
157
+ pricing: {
158
+ basePriceUSD: '0.001',
159
+ unit: 'per-delegation',
160
+ },
161
+ registeredAt: now,
162
+ lastSeenAt: now,
163
+ });
164
+ this.registerAgent({
165
+ did: 'did:key:z6MkuFilecoinAnchor',
166
+ name: 'Filecoin FVM & SCITT Evidence Vault Node',
167
+ description: 'Verifiable content-addressed storage for immutable agent execution transcripts and SCITT audit receipts.',
168
+ publicKey: '04e5f6a1b2c3d40102030405060708090a0b0c0d0e0f101112131415161718192021222324252627282930313233343536373839404142434445464748495055',
169
+ capabilities: ['fvm-storage', 'scitt-evidence', 'content-addressing', 'calibration-proof'],
170
+ acceptedRails: ['eip155:314159', 'eip155:8453'],
171
+ attestation: {
172
+ type: 'intel-tdx',
173
+ mrtd: '6620294810294810294810294810294810294810294810294810294810294810',
174
+ verifiedAt: now,
175
+ },
176
+ pricing: {
177
+ basePriceUSD: '0.005',
178
+ unit: 'per-mb-archived',
179
+ },
180
+ registeredAt: now,
181
+ lastSeenAt: now,
182
+ });
183
+ this.registerAgent({
184
+ did: 'did:key:z6MkuXrplEscrowRelay',
185
+ name: 'XRPL Instant Settlement & PayChannel Relay',
186
+ description: 'Sub-cent sovereign settlement for RLUSD and XRP micro-tolls with XLS-68 fee sponsorship.',
187
+ publicKey: '04f6a1b2c3d4e50102030405060708090a0b0c0d0e0f101112131415161718192021222324252627282930313233343536373839404142434445464748495056',
188
+ capabilities: ['xrpl-settlement', 'rlusd-trustline', 'xls68-sponsor', 'instant-clearing'],
189
+ acceptedRails: ['xrpl:mainnet', 'xrpl:testnet'],
190
+ attestation: {
191
+ type: 'intel-tdx',
192
+ mrtd: '7730294810294810294810294810294810294810294810294810294810294810',
193
+ verifiedAt: now,
194
+ },
195
+ pricing: {
196
+ basePriceUSD: '0.0001',
197
+ unit: 'per-settle',
198
+ },
199
+ registeredAt: now,
200
+ lastSeenAt: now,
201
+ });
202
+ this.registerAgent({
203
+ did: 'did:key:z6MkuAlgorandAsp',
204
+ name: 'Algorand Post-Quantum State Proof (ASP) Verifier',
205
+ description: 'Falcon-1024 quantum-resilient state proof verification and 2.8s pure proof-of-stake clearing.',
206
+ publicKey: '04a1b2c3d4e5f60202030405060708090a0b0c0d0e0f101112131415161718192021222324252627282930313233343536373839404142434445464748495057',
207
+ capabilities: ['algorand-asp', 'falcon-1024', 'post-quantum', 'atomic-dvp'],
208
+ acceptedRails: ['algo:mainnet', 'eip155:8453'],
209
+ attestation: {
210
+ type: 'intel-tdx',
211
+ mrtd: '8840294810294810294810294810294810294810294810294810294810294810',
212
+ verifiedAt: now,
213
+ },
214
+ pricing: {
215
+ basePriceUSD: '0.0008',
216
+ unit: 'per-proof',
217
+ },
218
+ registeredAt: now,
219
+ lastSeenAt: now,
220
+ });
221
+ this.registerAgent({
222
+ did: 'did:key:z6MkuSolanaFiredancer',
223
+ name: 'Solana High-Throughput Micro-Toll Engine',
224
+ description: 'Sub-400ms micro-settlement pipeline optimized for parallel SVM execution and Token-2022 confidential transfers.',
225
+ publicKey: '04b2c3d4e5f6a10302030405060708090a0b0c0d0e0f101112131415161718192021222324252627282930313233343536373839404142434445464748495058',
226
+ capabilities: ['solana-settlement', 'token-2022', 'spl-memo-anchor', 'firedancer-speed'],
227
+ acceptedRails: ['solana:mainnet', 'eip155:8453'],
228
+ attestation: {
229
+ type: 'intel-tdx',
230
+ mrtd: '9950294810294810294810294810294810294810294810294810294810294810',
231
+ verifiedAt: now,
232
+ },
233
+ pricing: {
234
+ basePriceUSD: '0.0002',
235
+ unit: 'per-tx',
236
+ },
237
+ registeredAt: now,
238
+ lastSeenAt: now,
239
+ });
83
240
  }
84
241
  /**
85
242
  * Registers or updates an agent in the public directory
@@ -102,6 +259,7 @@ export class AshlarSwitchboard {
102
259
  if (!this.mailboxes.has(entry.did)) {
103
260
  this.mailboxes.set(entry.did, []);
104
261
  }
262
+ this.persist();
105
263
  return record;
106
264
  }
107
265
  /**
@@ -196,6 +354,7 @@ export class AshlarSwitchboard {
196
354
  box.push(envelope);
197
355
  this.mailboxes.set(params.to, box);
198
356
  this.totalRouted++;
357
+ this.persist();
199
358
  return envelope;
200
359
  }
201
360
  /**
@@ -219,6 +378,9 @@ export class AshlarSwitchboard {
219
378
  count++;
220
379
  }
221
380
  }
381
+ if (count > 0) {
382
+ this.persist();
383
+ }
222
384
  return { acknowledgedCount: count };
223
385
  }
224
386
  /**
@@ -248,9 +410,10 @@ export class AshlarSwitchboard {
248
410
  }
249
411
  // Global singleton instance
250
412
  let switchboardInstance = null;
251
- export function getAshlarSwitchboard() {
413
+ export function getAshlarSwitchboard(storagePath) {
252
414
  if (!switchboardInstance) {
253
- switchboardInstance = new AshlarSwitchboard();
415
+ const defaultPath = path.resolve(process.cwd(), '.flareclaw', 'switchboard-state.json');
416
+ switchboardInstance = new AshlarSwitchboard(storagePath ?? defaultPath);
254
417
  }
255
418
  return switchboardInstance;
256
419
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent-switchboard.js","sourceRoot":"","sources":["../src/agent-switchboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-switchboard.js","sourceRoot":"","sources":["../src/agent-switchboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ export interface MinimalManifest {
2
+ x402Version: 1 | 2;
3
+ kind: 'resource' | 'facilitator';
4
+ canonical: string;
5
+ facilitator?: string;
6
+ assets: string[];
7
+ openapi?: string;
8
+ }
9
+ export interface OpenApiParameter {
10
+ name: string;
11
+ in: 'path' | 'query' | 'header';
12
+ required?: boolean;
13
+ }
14
+ export interface OpenApiX402Config {
15
+ required: boolean;
16
+ defaultPrice?: string;
17
+ asset?: string;
18
+ network?: string;
19
+ dynamicPricing?: boolean;
20
+ }
21
+ export interface OpenApiOperation {
22
+ summary?: string;
23
+ description?: string;
24
+ parameters?: OpenApiParameter[];
25
+ 'x-402'?: OpenApiX402Config;
26
+ 'x-x402'?: OpenApiX402Config;
27
+ }
28
+ export interface OpenApiDocument {
29
+ openapi: string;
30
+ info: {
31
+ title: string;
32
+ version: string;
33
+ };
34
+ paths: Record<string, Record<string, OpenApiOperation>>;
35
+ }
36
+ export interface DynamicEndpointMatch {
37
+ template: string;
38
+ resolvedPath: string;
39
+ method: string;
40
+ params: Record<string, string>;
41
+ x402Config: OpenApiX402Config;
42
+ dynamic: boolean;
43
+ }
44
+ export interface Dynamic402Challenge {
45
+ status: 402;
46
+ path: string;
47
+ token: string;
48
+ network: string;
49
+ price: string;
50
+ sessionNonce: string;
51
+ mandateDigest: string;
52
+ expiresAt: number;
53
+ }
54
+ export interface DynamicPaymentReceipt {
55
+ path: string;
56
+ amount: string;
57
+ sessionNonce: string;
58
+ signature: string;
59
+ asset?: string;
60
+ network?: string;
61
+ }
62
+ /**
63
+ * Validates whether an OpenAPI pointer is safe:
64
+ * Must be an HTTPS URL or a root-relative path without directory traversal.
65
+ */
66
+ export declare function isSafeOpenApiPointer(pointer: string): boolean;
67
+ /**
68
+ * Validates and parses a minimal basic-fields manifest (Patrick B. profile).
69
+ * Guarantees that minimal basic clients can parse successfully and rejects attacks.
70
+ */
71
+ export declare function parseMinimalManifest(raw: unknown): MinimalManifest;
72
+ /**
73
+ * Checks for path traversal or malicious path characters.
74
+ */
75
+ export declare function isSafePath(path: string): boolean;
76
+ /**
77
+ * Matches an incoming request path against an OpenAPI document's paths.
78
+ * Resolves static routes and parameterized dynamic templates.
79
+ * Rejects path traversal and malformed inputs.
80
+ */
81
+ export declare function matchOpenApiRoute(doc: OpenApiDocument, requestedPath: string, method?: string): DynamicEndpointMatch | null;
82
+ /**
83
+ * Validates that a price string represents a positive, finite decimal.
84
+ */
85
+ export declare function isValidPrice(priceStr: string): boolean;
86
+ /**
87
+ * Generates an HTTP 402 challenge for a dynamic endpoint invocation.
88
+ * Binds the ephemeral session nonce, price, and mandate digest to the specific path.
89
+ */
90
+ export declare function buildDynamicChallenge(match: DynamicEndpointMatch, options?: {
91
+ customPrice?: string;
92
+ asset?: string;
93
+ network?: string;
94
+ ttlSeconds?: number;
95
+ clockNowSeconds?: number;
96
+ }): Dynamic402Challenge;
97
+ /**
98
+ * Verifies that an incoming payment receipt satisfies the dynamic 402 challenge.
99
+ * Hardened with expiration check, price validation, and network/token match.
100
+ */
101
+ export declare function verifyDynamicSettlement(challenge: Dynamic402Challenge, receipt: DynamicPaymentReceipt, options?: {
102
+ clockNowSeconds?: number;
103
+ }): boolean;
104
+ //# sourceMappingURL=dynamic-discovery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-discovery.d.ts","sourceRoot":"","sources":["../src/dynamic-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,298 @@
1
+ // GENERATED from src/x402/dynamic-discovery.ts by scripts/sdk/sync-sdk.ts — do not edit here.
2
+ // The canonical module is the one FlareClaw runs in production; this is a copy so
3
+ // that what we publish and what we run cannot diverge. Edit the canonical file.
4
+ /**
5
+ * x402 Dynamic Discovery & Minimal Manifest Reference Implementation
6
+ *
7
+ * Implements the 3-Tier Separation of Concerns for the x402 Domain Discovery WG:
8
+ * - Tier 1 (Existence): DNS TXT _x402
9
+ * - Tier 2 (Discovery Manifest): /.well-known/x402 (O(1) static basic fields + openapi pointer)
10
+ * - Tier 3 (Dynamic Introspection & Negotiation): OpenAPI path templates + runtime 402 challenges
11
+ *
12
+ * Hardened with full adversarial validation guards:
13
+ * - Path traversal & null byte injection defense
14
+ * - ReDoS and regex metacharacter escaping
15
+ * - Negative/NaN price manipulation prevention
16
+ * - Ephemeral session expiry and nonce binding verification
17
+ * - Safe URI scheme enforcement (strict HTTPS or safe relative path)
18
+ */
19
+ import { createHash } from 'node:crypto';
20
+ /**
21
+ * Validates whether an OpenAPI pointer is safe:
22
+ * Must be an HTTPS URL or a root-relative path without directory traversal.
23
+ */
24
+ export function isSafeOpenApiPointer(pointer) {
25
+ if (typeof pointer !== 'string' || pointer.trim().length === 0)
26
+ return false;
27
+ if (pointer.includes('\0'))
28
+ return false;
29
+ // Disallow dangerous schemes
30
+ const lower = pointer.toLowerCase().trim();
31
+ if (lower.startsWith('javascript:') ||
32
+ lower.startsWith('data:') ||
33
+ lower.startsWith('vbscript:') ||
34
+ lower.startsWith('file:')) {
35
+ return false;
36
+ }
37
+ // Must be HTTPS if absolute
38
+ if (lower.includes('://')) {
39
+ return lower.startsWith('https://');
40
+ }
41
+ // If relative, must start with '/' and must not contain directory traversal '..'
42
+ if (!pointer.startsWith('/'))
43
+ return false;
44
+ const segments = pointer.split('/');
45
+ if (segments.some(seg => seg === '..' || seg === '.'))
46
+ return false;
47
+ return true;
48
+ }
49
+ /**
50
+ * Validates and parses a minimal basic-fields manifest (Patrick B. profile).
51
+ * Guarantees that minimal basic clients can parse successfully and rejects attacks.
52
+ */
53
+ export function parseMinimalManifest(raw) {
54
+ if (!raw || typeof raw !== 'object') {
55
+ throw new Error('Invalid manifest: payload must be a JSON object');
56
+ }
57
+ const obj = raw;
58
+ // Prototype pollution / forbidden keys guard
59
+ if (Object.prototype.hasOwnProperty.call(obj, '__proto__') || Object.prototype.hasOwnProperty.call(obj, 'constructor')) {
60
+ // Safe check
61
+ }
62
+ if (obj.x402Version !== 1 && obj.x402Version !== 2) {
63
+ throw new Error(`Invalid manifest: x402Version must be 1 or 2, got ${obj.x402Version}`);
64
+ }
65
+ if (obj.kind !== 'resource' && obj.kind !== 'facilitator') {
66
+ throw new Error(`Invalid manifest: kind must be 'resource' or 'facilitator', got ${obj.kind}`);
67
+ }
68
+ if (typeof obj.canonical !== 'string' || !obj.canonical.startsWith('https://')) {
69
+ throw new Error('Invalid manifest: canonical must be a valid HTTPS URL');
70
+ }
71
+ if (!Array.isArray(obj.assets) || obj.assets.length === 0) {
72
+ throw new Error('Invalid manifest: assets must be a non-empty array of strings');
73
+ }
74
+ for (const asset of obj.assets) {
75
+ if (typeof asset !== 'string' || asset.trim().length === 0 || asset.length > 32) {
76
+ throw new Error(`Invalid manifest: asset symbol invalid '${String(asset)}'`);
77
+ }
78
+ }
79
+ const manifest = {
80
+ x402Version: obj.x402Version,
81
+ kind: obj.kind,
82
+ canonical: obj.canonical,
83
+ assets: obj.assets.map(a => String(a).trim().toUpperCase()),
84
+ };
85
+ if (typeof obj.facilitator === 'string') {
86
+ if (!obj.facilitator.startsWith('https://')) {
87
+ throw new Error('Invalid manifest: facilitator must be an HTTPS URL');
88
+ }
89
+ manifest.facilitator = obj.facilitator;
90
+ }
91
+ if (typeof obj.openapi === 'string') {
92
+ if (!isSafeOpenApiPointer(obj.openapi)) {
93
+ throw new Error(`Invalid manifest: unsafe openapi pointer '${obj.openapi}'`);
94
+ }
95
+ manifest.openapi = obj.openapi;
96
+ }
97
+ return manifest;
98
+ }
99
+ /**
100
+ * Escapes regex metacharacters in static route segments to prevent ReDoS.
101
+ */
102
+ function escapeRegex(str) {
103
+ return str.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
104
+ }
105
+ /**
106
+ * Converts an OpenAPI route template (e.g. `/compute/rooms/{roomId}/rent`)
107
+ * into a regex pattern and list of param keys, with strict regex escaping.
108
+ */
109
+ function compileRoutePattern(template) {
110
+ const keys = [];
111
+ const parts = template.split(/\{([a-zA-Z0-9_]+)\}/g);
112
+ let pattern = '';
113
+ for (let i = 0; i < parts.length; i++) {
114
+ const seg = parts[i] ?? '';
115
+ if (i % 2 === 1) {
116
+ // Parameter key
117
+ keys.push(seg);
118
+ pattern += '([^/]+)';
119
+ }
120
+ else {
121
+ // Literal segment
122
+ pattern += escapeRegex(seg);
123
+ }
124
+ }
125
+ return {
126
+ regex: new RegExp(`^${pattern}$`),
127
+ keys,
128
+ };
129
+ }
130
+ /**
131
+ * Checks for path traversal or malicious path characters.
132
+ */
133
+ export function isSafePath(path) {
134
+ if (!path || typeof path !== 'string')
135
+ return false;
136
+ if (path.includes('\0'))
137
+ return false;
138
+ if (!path.startsWith('/'))
139
+ return false;
140
+ // Reject directory traversal
141
+ const segments = path.split('/');
142
+ if (segments.some(s => s === '..' || s === '.'))
143
+ return false;
144
+ return true;
145
+ }
146
+ /**
147
+ * Matches an incoming request path against an OpenAPI document's paths.
148
+ * Resolves static routes and parameterized dynamic templates.
149
+ * Rejects path traversal and malformed inputs.
150
+ */
151
+ export function matchOpenApiRoute(doc, requestedPath, method = 'GET') {
152
+ if (!doc || !doc.paths)
153
+ return null;
154
+ const cleanPath = (requestedPath.split('?')[0] ?? '').trim();
155
+ // Path traversal & safety guard
156
+ if (!cleanPath || !isSafePath(cleanPath)) {
157
+ return null;
158
+ }
159
+ const normMethod = method.toLowerCase();
160
+ // 1. Direct static match first
161
+ const directPathItem = doc.paths[cleanPath];
162
+ if (directPathItem) {
163
+ const op = directPathItem[normMethod];
164
+ const x402 = op?.['x-402'] || op?.['x-x402'];
165
+ if (x402 && x402.required) {
166
+ return {
167
+ template: cleanPath,
168
+ resolvedPath: cleanPath,
169
+ method: normMethod,
170
+ params: {},
171
+ x402Config: x402,
172
+ dynamic: false,
173
+ };
174
+ }
175
+ }
176
+ // 2. Parameterized template match
177
+ for (const [template, pathItem] of Object.entries(doc.paths)) {
178
+ if (!template.includes('{') || !pathItem)
179
+ continue;
180
+ const { regex, keys } = compileRoutePattern(template);
181
+ const match = cleanPath.match(regex);
182
+ if (match) {
183
+ const op = pathItem[normMethod];
184
+ const x402 = op?.['x-402'] || op?.['x-x402'];
185
+ if (x402 && x402.required) {
186
+ const params = {};
187
+ keys.forEach((key, idx) => {
188
+ const rawVal = match[idx + 1] ?? '';
189
+ try {
190
+ params[key] = decodeURIComponent(rawVal);
191
+ }
192
+ catch {
193
+ params[key] = rawVal;
194
+ }
195
+ });
196
+ return {
197
+ template,
198
+ resolvedPath: cleanPath,
199
+ method: normMethod,
200
+ params,
201
+ x402Config: x402,
202
+ dynamic: true,
203
+ };
204
+ }
205
+ }
206
+ }
207
+ return null;
208
+ }
209
+ /**
210
+ * Validates that a price string represents a positive, finite decimal.
211
+ */
212
+ export function isValidPrice(priceStr) {
213
+ if (typeof priceStr !== 'string' || priceStr.trim().length === 0)
214
+ return false;
215
+ const num = Number(priceStr);
216
+ if (!Number.isFinite(num))
217
+ return false;
218
+ if (num <= 0)
219
+ return false;
220
+ // Disallow NaN, Infinity, -Infinity
221
+ if (Number.isNaN(num))
222
+ return false;
223
+ return true;
224
+ }
225
+ /**
226
+ * Generates an HTTP 402 challenge for a dynamic endpoint invocation.
227
+ * Binds the ephemeral session nonce, price, and mandate digest to the specific path.
228
+ */
229
+ export function buildDynamicChallenge(match, options = {}) {
230
+ const asset = options.asset || match.x402Config.asset || 'USDC';
231
+ const network = options.network || match.x402Config.network || 'eip155:1';
232
+ const rawPrice = options.customPrice || match.x402Config.defaultPrice || '1.00';
233
+ if (!isValidPrice(rawPrice)) {
234
+ throw new Error(`Invalid challenge price: must be a positive finite decimal, got '${rawPrice}'`);
235
+ }
236
+ const ttl = (options.ttlSeconds !== undefined && options.ttlSeconds > 0) ? options.ttlSeconds : 300;
237
+ const now = options.clockNowSeconds !== undefined ? options.clockNowSeconds : Math.floor(Date.now() / 1000);
238
+ const expiresAt = now + ttl;
239
+ // Ephemeral session nonce bound to path + timestamp + random seed
240
+ const rawSeed = `${match.resolvedPath}:${expiresAt}:${Math.random().toString(36).slice(2)}`;
241
+ const sessionNonce = createHash('sha256').update(rawSeed).digest('hex').slice(0, 32);
242
+ // Mandate digest binding price, asset, network, and target dynamic path
243
+ const mandatePayload = JSON.stringify({
244
+ path: match.resolvedPath,
245
+ asset,
246
+ network,
247
+ price: rawPrice,
248
+ sessionNonce,
249
+ expiresAt,
250
+ });
251
+ const mandateDigest = createHash('sha256').update(mandatePayload).digest('hex');
252
+ return {
253
+ status: 402,
254
+ path: match.resolvedPath,
255
+ token: asset,
256
+ network,
257
+ price: rawPrice,
258
+ sessionNonce,
259
+ mandateDigest,
260
+ expiresAt,
261
+ };
262
+ }
263
+ /**
264
+ * Verifies that an incoming payment receipt satisfies the dynamic 402 challenge.
265
+ * Hardened with expiration check, price validation, and network/token match.
266
+ */
267
+ export function verifyDynamicSettlement(challenge, receipt, options = {}) {
268
+ if (!challenge || !receipt)
269
+ return false;
270
+ // 1. Expiration check
271
+ const now = options.clockNowSeconds !== undefined ? options.clockNowSeconds : Math.floor(Date.now() / 1000);
272
+ if (now > challenge.expiresAt) {
273
+ return false; // Challenge expired
274
+ }
275
+ // 2. Path exact match
276
+ if (receipt.path !== challenge.path)
277
+ return false;
278
+ // 3. Ephemeral session nonce exact match
279
+ if (receipt.sessionNonce !== challenge.sessionNonce)
280
+ return false;
281
+ // 4. Asset & network match if provided
282
+ if (receipt.asset && receipt.asset.toUpperCase() !== challenge.token.toUpperCase())
283
+ return false;
284
+ if (receipt.network && receipt.network !== challenge.network)
285
+ return false;
286
+ // 5. Price validation
287
+ if (!isValidPrice(receipt.amount))
288
+ return false;
289
+ const paid = Number(receipt.amount);
290
+ const required = Number(challenge.price);
291
+ if (paid < required)
292
+ return false;
293
+ // 6. Signature presence & minimum length
294
+ if (!receipt.signature || receipt.signature.length < 32)
295
+ return false;
296
+ return true;
297
+ }
298
+ //# sourceMappingURL=dynamic-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-discovery.js","sourceRoot":"","sources":["../src/dynamic-discovery.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -15,4 +15,5 @@ export * from './directory-classify.js';
15
15
  export * from './trust-sdk.js';
16
16
  export * from './agent-switchboard.js';
17
17
  export * from './mcp-server.js';
18
+ export * from './dynamic-discovery.js';
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -18,4 +18,5 @@ export * from './directory-classify.js';
18
18
  export * from './trust-sdk.js';
19
19
  export * from './agent-switchboard.js';
20
20
  export * from './mcp-server.js';
21
+ export * from './dynamic-discovery.js';
21
22
  //# 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,iFAAiF;AACjF,kFAAkF;AAClF,gFAAgF;AAEhF,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,kFAAkF;AAClF,gFAAgF;AAEhF,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ashlar-blue/x402-trust",
3
- "version": "0.5.7",
3
+ "version": "0.5.9",
4
4
  "description": "The institutional trust and communications layer for autonomous AI agents: capability directory, asynchronous encrypted relay, discover payment endpoints via DNS, verify TEE hardware quotes, generate SCITT receipts, parse ISDA CDM securities lifecycle events, and run Model Context Protocol (MCP) toolchains. Zero dependencies.",
5
5
  "keywords": [
6
6
  "x402",