@probemesh/sdk 0.1.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 (83) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +160 -0
  3. package/dist/chunk-257Y7LN2.js +827 -0
  4. package/dist/chunk-257Y7LN2.js.map +1 -0
  5. package/dist/chunk-2ASMVLG4.js +56 -0
  6. package/dist/chunk-2ASMVLG4.js.map +1 -0
  7. package/dist/chunk-2KWGHJYP.js +285 -0
  8. package/dist/chunk-2KWGHJYP.js.map +1 -0
  9. package/dist/chunk-3H7UGVI6.js +1117 -0
  10. package/dist/chunk-3H7UGVI6.js.map +1 -0
  11. package/dist/chunk-5Q3PDYIA.js +657 -0
  12. package/dist/chunk-5Q3PDYIA.js.map +1 -0
  13. package/dist/chunk-CXZOO3U4.js +550 -0
  14. package/dist/chunk-CXZOO3U4.js.map +1 -0
  15. package/dist/chunk-FRFBK4SY.js +270 -0
  16. package/dist/chunk-FRFBK4SY.js.map +1 -0
  17. package/dist/chunk-HJK52QJF.js +994 -0
  18. package/dist/chunk-HJK52QJF.js.map +1 -0
  19. package/dist/chunk-HNBDX7IU.js +705 -0
  20. package/dist/chunk-HNBDX7IU.js.map +1 -0
  21. package/dist/chunk-NYTV263W.js +116 -0
  22. package/dist/chunk-NYTV263W.js.map +1 -0
  23. package/dist/chunk-PXG54XOG.js +595 -0
  24. package/dist/chunk-PXG54XOG.js.map +1 -0
  25. package/dist/chunk-TDOBAMYM.js +607 -0
  26. package/dist/chunk-TDOBAMYM.js.map +1 -0
  27. package/dist/chunk-TV42EZSI.js +2157 -0
  28. package/dist/chunk-TV42EZSI.js.map +1 -0
  29. package/dist/chunk-UU2ZG7P7.js +408 -0
  30. package/dist/chunk-UU2ZG7P7.js.map +1 -0
  31. package/dist/chunk-WKN7QOCA.js +977 -0
  32. package/dist/chunk-WKN7QOCA.js.map +1 -0
  33. package/dist/chunk-ZJOLPBJJ.js +1091 -0
  34. package/dist/chunk-ZJOLPBJJ.js.map +1 -0
  35. package/dist/cli/audit-trail-export.cjs +1193 -0
  36. package/dist/cli/audit-trail-export.cjs.map +1 -0
  37. package/dist/cli/audit-trail-export.d.cts +1 -0
  38. package/dist/cli/audit-trail-export.d.ts +1 -0
  39. package/dist/cli/audit-trail-export.js +24 -0
  40. package/dist/cli/audit-trail-export.js.map +1 -0
  41. package/dist/cli/catalog-check.cjs +2687 -0
  42. package/dist/cli/catalog-check.cjs.map +1 -0
  43. package/dist/cli/catalog-check.d.cts +1 -0
  44. package/dist/cli/catalog-check.d.ts +1 -0
  45. package/dist/cli/catalog-check.js +26 -0
  46. package/dist/cli/catalog-check.js.map +1 -0
  47. package/dist/cli/probemesh-init.cjs +1049 -0
  48. package/dist/cli/probemesh-init.cjs.map +1 -0
  49. package/dist/cli/probemesh-init.d.cts +1 -0
  50. package/dist/cli/probemesh-init.d.ts +1 -0
  51. package/dist/cli/probemesh-init.js +22 -0
  52. package/dist/cli/probemesh-init.js.map +1 -0
  53. package/dist/cli/provider-conformance.cjs +6180 -0
  54. package/dist/cli/provider-conformance.cjs.map +1 -0
  55. package/dist/cli/provider-conformance.d.cts +1 -0
  56. package/dist/cli/provider-conformance.d.ts +1 -0
  57. package/dist/cli/provider-conformance.js +29 -0
  58. package/dist/cli/provider-conformance.js.map +1 -0
  59. package/dist/cli/provider-dossier-check.cjs +2978 -0
  60. package/dist/cli/provider-dossier-check.cjs.map +1 -0
  61. package/dist/cli/provider-dossier-check.d.cts +1 -0
  62. package/dist/cli/provider-dossier-check.d.ts +1 -0
  63. package/dist/cli/provider-dossier-check.js +27 -0
  64. package/dist/cli/provider-dossier-check.js.map +1 -0
  65. package/dist/cli/provider-dossier.cjs +1753 -0
  66. package/dist/cli/provider-dossier.cjs.map +1 -0
  67. package/dist/cli/provider-dossier.d.cts +1 -0
  68. package/dist/cli/provider-dossier.d.ts +1 -0
  69. package/dist/cli/provider-dossier.js +26 -0
  70. package/dist/cli/provider-dossier.js.map +1 -0
  71. package/dist/cli/x402-accept.cjs +6009 -0
  72. package/dist/cli/x402-accept.cjs.map +1 -0
  73. package/dist/cli/x402-accept.d.cts +1 -0
  74. package/dist/cli/x402-accept.d.ts +1 -0
  75. package/dist/cli/x402-accept.js +28 -0
  76. package/dist/cli/x402-accept.js.map +1 -0
  77. package/dist/index.cjs +13671 -0
  78. package/dist/index.cjs.map +1 -0
  79. package/dist/index.d.cts +2026 -0
  80. package/dist/index.d.ts +2026 -0
  81. package/dist/index.js +2560 -0
  82. package/dist/index.js.map +1 -0
  83. package/package.json +111 -0
@@ -0,0 +1,2026 @@
1
+ import { IncomingMessage, ServerResponse, Server } from 'node:http';
2
+ import { PaymentPayload, PaymentRequirements, PaymentRequired, VerifyResponse, SettleResponse, ResourceInfo, Network } from '@x402/core/types';
3
+ import { ExactEvmSchemeOptions } from '@x402/evm/exact/client';
4
+ import { ClientEvmSigner } from '@x402/evm';
5
+ import { PrivateKeyAccount } from 'viem';
6
+
7
+ type CallStatus = "completed" | "failed";
8
+ type ProviderMode = "local" | "hosted" | "network" | string;
9
+ type ReceiptType = "payment_proof" | "settlement_confirmation" | "provider_delivery" | "provider_response_evidence" | "authorization_decision";
10
+ type ReceiptStatus = "recorded" | "pending" | "missing";
11
+ type PaymentStatus = "not_attempted" | "authorized" | "failed";
12
+ type SettlementStatus = "not_attempted" | "settled" | "failed";
13
+ type DeliveryStatus = "not_attempted" | "delivered" | "failed" | "missing";
14
+ type ProbeMeshErrorCode = "unauthorized" | "invalid_request" | "budget_exceeded" | "provider_unavailable" | "retry_not_available" | "payment_failed" | "receipt_missing" | "timeout_after_payment" | "charged_but_no_result" | "provider_timeout" | "invalid_provider_response";
15
+ type ProbeMeshTimelineEventType = "call.requested" | "provider.selected" | "provider.attempted" | "payment.attempted" | "receipt.recorded" | "retry.requested" | "retry.blocked" | "call.completed" | "call.failed";
16
+ type ProbeMeshRetrySafetyReason = "completed" | "not_retryable" | "money_may_have_moved" | "payment_failed_no_charge" | "no_payment_attempted" | "unknown_payment_state";
17
+ interface ProviderCatalogPolicyBundleAttestation {
18
+ schemaVersion: "probemesh.catalog-policy-bundle.v1";
19
+ bundleId: string;
20
+ status: "passed" | "failed";
21
+ hashAlgorithm: "sha256";
22
+ bundleHash: string;
23
+ catalogHash: string;
24
+ catalogPolicyHash: string;
25
+ adapterInventoryHash: string;
26
+ queriesHash: string;
27
+ evaluationHash: string;
28
+ runtimeVerified: boolean;
29
+ covered: boolean;
30
+ capability?: string;
31
+ queryIndex?: number;
32
+ reason?: string;
33
+ }
34
+ interface ProviderPaymentOption {
35
+ id: string;
36
+ protocolMode: string;
37
+ capabilities?: string[];
38
+ pricing?: ProbeMeshPricing | Record<string, ProbeMeshPricing>;
39
+ receiptTypes?: ReceiptType[];
40
+ metadata?: Record<string, unknown>;
41
+ }
42
+ interface ProbeMeshPaymentPreferences {
43
+ allowedProtocols?: string[];
44
+ preferredProtocols?: string[];
45
+ blockedProtocols?: string[];
46
+ allowedPaymentOptions?: string[];
47
+ preferredPaymentOptions?: string[];
48
+ blockedPaymentOptions?: string[];
49
+ requiredReceiptTypes?: ReceiptType[];
50
+ }
51
+ type ProbeMeshPaymentStrategyMode = "provider_order" | "lowest_cost" | "preferred_protocol" | "receipt_coverage";
52
+ interface ProbeMeshPaymentStrategy {
53
+ mode: ProbeMeshPaymentStrategyMode;
54
+ preferredReceiptTypes?: ReceiptType[];
55
+ }
56
+ interface ProbeMeshPaymentSelection {
57
+ providerId: string;
58
+ optionId: string;
59
+ protocolMode: string;
60
+ cost?: Cost;
61
+ receiptTypes: ReceiptType[];
62
+ score?: number;
63
+ scoreReasons?: string[];
64
+ metadata?: Record<string, unknown>;
65
+ }
66
+ interface ProbeMeshConstraints {
67
+ maxCostUsd?: number;
68
+ maxLatencyMs?: number;
69
+ requireReceipt?: boolean;
70
+ onUncertain?: "allow" | "warn" | "review" | "block";
71
+ minConfidence?: number;
72
+ }
73
+ interface ProviderPreferences {
74
+ allowedProviders?: string[];
75
+ blockedProviders?: string[];
76
+ }
77
+ interface ProbeMeshFeedback {
78
+ outcome?: "useful" | "not_useful" | "incorrect";
79
+ note?: string;
80
+ }
81
+ interface ProbeMeshCallRequest<Input = unknown> {
82
+ capability: string;
83
+ input: Input;
84
+ constraints?: ProbeMeshConstraints;
85
+ providerPreferences?: ProviderPreferences;
86
+ paymentPreferences?: ProbeMeshPaymentPreferences;
87
+ paymentStrategy?: ProbeMeshPaymentStrategy;
88
+ idempotencyKey?: string;
89
+ feedback?: ProbeMeshFeedback;
90
+ }
91
+ interface Cost {
92
+ amountUsd: number;
93
+ currency?: "USD" | string;
94
+ unit?: string;
95
+ }
96
+ interface ReceiptRef {
97
+ type: ReceiptType;
98
+ provider: string;
99
+ status: ReceiptStatus;
100
+ ref: string;
101
+ timestamp: string;
102
+ }
103
+ interface ProbeMeshCallSafety {
104
+ paymentAttemptId?: string;
105
+ paymentStatus: PaymentStatus;
106
+ settlementStatus: SettlementStatus;
107
+ deliveryStatus: DeliveryStatus;
108
+ moneyMayHaveMoved: boolean;
109
+ }
110
+ interface ProbeMeshRetryRequest {
111
+ callId: string;
112
+ idempotencyKey?: string;
113
+ }
114
+ interface ProbeMeshAttemptMetadata {
115
+ originalCallId: string;
116
+ attemptId: string;
117
+ attemptNumber: number;
118
+ isRetry: boolean;
119
+ previousAttemptId?: string;
120
+ }
121
+ interface ProbeMeshTimelineEvent {
122
+ type: ProbeMeshTimelineEventType;
123
+ routeId: string;
124
+ timestamp: string;
125
+ callId?: string;
126
+ capability?: string;
127
+ provider?: string;
128
+ status?: CallStatus;
129
+ errorCode?: ProbeMeshErrorCode;
130
+ safety?: ProbeMeshCallSafety;
131
+ receiptRef?: ReceiptRef;
132
+ attempt?: ProbeMeshAttemptMetadata;
133
+ attestation?: ProviderCatalogPolicyBundleAttestation;
134
+ }
135
+ interface ProbeMeshCallTimeline {
136
+ routeId: string;
137
+ events: ProbeMeshTimelineEvent[];
138
+ }
139
+ interface ProbeMeshRetrySafety {
140
+ retryable: boolean;
141
+ safeToAutoRetry: boolean;
142
+ reason: ProbeMeshRetrySafetyReason;
143
+ }
144
+ type ProbeMeshRouteDecisionReason = "eligible" | "selected" | "fallback_after_failure" | "skipped_capability_mismatch" | "skipped_allowed_provider" | "skipped_blocked_provider" | "skipped_budget_exceeded" | "skipped_unhealthy_provider" | "skipped_catalog_policy" | "skipped_catalog_adapter_missing" | "skipped_policy_bundle_uncovered" | "skipped_payment_preferences" | "stopped_completed" | "stopped_payment_evidence" | "stopped_not_retryable" | "no_eligible_provider";
145
+ type ProbeMeshProviderHealthStatus = "healthy" | "unhealthy" | "unknown";
146
+ type ProbeMeshProviderRouteAttemptStatus = "considered" | "skipped" | "attempted" | "failed" | "succeeded";
147
+ interface ProbeMeshProviderRouteAttempt {
148
+ providerId: string;
149
+ status: ProbeMeshProviderRouteAttemptStatus;
150
+ reason: ProbeMeshRouteDecisionReason;
151
+ errorCode?: ProbeMeshErrorCode;
152
+ cost?: Cost;
153
+ budgetExceeded?: boolean;
154
+ paymentEvidence?: boolean;
155
+ catalogArtifactId?: string;
156
+ catalogStatus?: "ready" | "rejected";
157
+ catalogMatchReasons?: string[];
158
+ catalogPolicyReason?: string;
159
+ healthStatus?: ProbeMeshProviderHealthStatus;
160
+ lastFailureAt?: string;
161
+ cooldownUntil?: string;
162
+ consecutiveFailures?: number;
163
+ paymentSelection?: ProbeMeshPaymentSelection;
164
+ paymentOptionReason?: string;
165
+ paymentStrategy?: ProbeMeshPaymentStrategy;
166
+ paymentOptionScore?: number;
167
+ paymentOptionScoreReasons?: string[];
168
+ message?: string;
169
+ attestation?: ProviderCatalogPolicyBundleAttestation;
170
+ }
171
+ interface ProbeMeshRouteExplanation {
172
+ consideredProviders: string[];
173
+ selectedProviderId?: string;
174
+ fallbackUsed: boolean;
175
+ fallbackCount: number;
176
+ stopReason: ProbeMeshRouteDecisionReason;
177
+ attempts: ProbeMeshProviderRouteAttempt[];
178
+ }
179
+ interface ProviderMetadata {
180
+ id: string;
181
+ mode: ProviderMode;
182
+ displayName?: string;
183
+ }
184
+ interface ProbeMeshCallResponse<Data = unknown> {
185
+ callId: string;
186
+ capability: string;
187
+ data: Data;
188
+ provider: ProviderMetadata;
189
+ cost?: Cost;
190
+ latencyMs: number;
191
+ receiptRefs: ReceiptRef[];
192
+ safety?: ProbeMeshCallSafety;
193
+ timeline?: ProbeMeshCallTimeline;
194
+ retrySafety?: ProbeMeshRetrySafety;
195
+ attempt?: ProbeMeshAttemptMetadata;
196
+ route?: ProbeMeshRouteMetadata;
197
+ status: "completed";
198
+ }
199
+ interface ProbeMeshRouteMetadata {
200
+ routeId: string;
201
+ mode: "hosted" | "local" | "network" | string;
202
+ selectedProviderId?: string;
203
+ paymentStrategy?: ProbeMeshPaymentStrategy;
204
+ paymentSelection?: ProbeMeshPaymentSelection;
205
+ explanation?: ProbeMeshRouteExplanation;
206
+ attestation?: ProviderCatalogPolicyBundleAttestation;
207
+ }
208
+ interface ProbeMeshPricing {
209
+ unit: "call" | string;
210
+ amountUsd: number;
211
+ currency?: "USD" | string;
212
+ }
213
+ interface ProbeMeshAdapterCallRequest<Input = unknown> extends ProbeMeshCallRequest<Input> {
214
+ callId: string;
215
+ }
216
+ interface ProbeMeshAdapterContext {
217
+ callId: string;
218
+ startedAt: Date;
219
+ signal: AbortSignal;
220
+ constraints?: ProbeMeshConstraints;
221
+ providerPreferences?: ProviderPreferences;
222
+ paymentPreferences?: ProbeMeshPaymentPreferences;
223
+ paymentStrategy?: ProbeMeshPaymentStrategy;
224
+ paymentSelection?: ProbeMeshPaymentSelection;
225
+ }
226
+ interface ProbeMeshAdapterCallResult<Data = unknown> {
227
+ data: Data;
228
+ cost?: Cost;
229
+ receiptRefs?: ReceiptRef[];
230
+ safety?: ProbeMeshCallSafety;
231
+ provider?: Partial<ProviderMetadata>;
232
+ }
233
+ interface ProbeMeshAdapter<Input = unknown, Data = unknown> {
234
+ id: string;
235
+ displayName?: string;
236
+ mode?: ProviderMode;
237
+ capabilities: string[];
238
+ pricing?: ProbeMeshPricing | Record<string, ProbeMeshPricing>;
239
+ paymentOptions?: ProviderPaymentOption[];
240
+ call(request: ProbeMeshAdapterCallRequest<Input>, context: ProbeMeshAdapterContext): ProbeMeshAdapterCallResult<Data> | Promise<ProbeMeshAdapterCallResult<Data>>;
241
+ }
242
+ interface ProbeMeshClient {
243
+ call<Input = unknown, Data = unknown>(request: ProbeMeshCallRequest<Input>): Promise<ProbeMeshCallResponse<Data>>;
244
+ retry<Data = unknown>(request: ProbeMeshRetryRequest): Promise<ProbeMeshCallResponse<Data>>;
245
+ }
246
+ interface ProbeMeshHostedClientOptions {
247
+ baseUrl: string;
248
+ apiKey?: string;
249
+ }
250
+ interface ProbeMeshClientOptions {
251
+ adapters?: ProbeMeshAdapter[];
252
+ hosted?: ProbeMeshHostedClientOptions;
253
+ }
254
+ interface ProbeMeshLocalClientOptions {
255
+ adapters: ProbeMeshAdapter[];
256
+ }
257
+
258
+ interface PriceLookupInput {
259
+ symbol: string;
260
+ currency?: string;
261
+ }
262
+ interface PriceLookupData {
263
+ symbol: string;
264
+ currency: string;
265
+ price: number;
266
+ asOf: string;
267
+ source: string;
268
+ }
269
+ interface PriceLookupAdapterOptions {
270
+ id?: string;
271
+ displayName?: string;
272
+ prices?: Record<string, number>;
273
+ }
274
+ declare function createPriceLookupAdapter(options?: PriceLookupAdapterOptions): ProbeMeshAdapter<PriceLookupInput, PriceLookupData>;
275
+
276
+ declare function createProbeMesh(options: ProbeMeshClientOptions): ProbeMeshClient;
277
+
278
+ type ProviderProtocolMode = "direct-api" | "mock" | "mcp" | "x402" | "api-key" | (string & {});
279
+ interface JsonSchemaLike {
280
+ type?: string;
281
+ properties?: Record<string, JsonSchemaLike>;
282
+ required?: string[];
283
+ items?: JsonSchemaLike;
284
+ enum?: unknown[];
285
+ description?: string;
286
+ [key: string]: unknown;
287
+ }
288
+ interface ProviderReceiptSupport {
289
+ payment: boolean;
290
+ delivery: boolean;
291
+ responseEvidence: boolean;
292
+ }
293
+ interface ProviderLimits {
294
+ maxRequestsPerMinute?: number;
295
+ [key: string]: unknown;
296
+ }
297
+ interface ProviderManifest {
298
+ id: string;
299
+ displayName: string;
300
+ capabilities: string[];
301
+ protocolMode: ProviderProtocolMode;
302
+ paymentOptions?: ProviderPaymentOption[];
303
+ pricing: ProbeMeshPricing | Record<string, ProbeMeshPricing>;
304
+ inputSchema: JsonSchemaLike | Record<string, JsonSchemaLike>;
305
+ outputSchema: JsonSchemaLike | Record<string, JsonSchemaLike>;
306
+ receipts: ProviderReceiptSupport;
307
+ limits?: ProviderLimits;
308
+ }
309
+ interface ProviderManifestValidationError {
310
+ path: string;
311
+ message: string;
312
+ }
313
+ interface ProviderManifestValidationResult {
314
+ valid: boolean;
315
+ errors: ProviderManifestValidationError[];
316
+ }
317
+
318
+ interface ProviderProtocolPreparation {
319
+ mode: ProviderProtocolMode;
320
+ headers?: Record<string, string>;
321
+ metadata?: Record<string, unknown>;
322
+ receiptRefs?: ReceiptRef[];
323
+ safety?: Partial<ProbeMeshCallSafety>;
324
+ }
325
+ interface ProviderProtocolSettlement {
326
+ mode: ProviderProtocolMode;
327
+ headers?: Record<string, string>;
328
+ metadata?: Record<string, unknown>;
329
+ receiptRefs?: ReceiptRef[];
330
+ safety?: Partial<ProbeMeshCallSafety>;
331
+ }
332
+ interface ProviderProtocolExecution {
333
+ mode: ProviderProtocolMode;
334
+ preparation?: ProviderProtocolPreparation;
335
+ settlement?: ProviderProtocolSettlement;
336
+ receiptRefs: ReceiptRef[];
337
+ safety?: ProbeMeshCallSafety;
338
+ }
339
+ interface ProviderProtocolPrepareInput<Input = unknown> {
340
+ manifest: ProviderManifest;
341
+ request: ProbeMeshAdapterCallRequest<Input>;
342
+ context: ProbeMeshAdapterContext;
343
+ }
344
+ interface ProviderProtocolSettleInput<Input = unknown, Data = unknown> {
345
+ manifest: ProviderManifest;
346
+ request: ProbeMeshAdapterCallRequest<Input>;
347
+ context: ProbeMeshAdapterContext;
348
+ result: ProbeMeshAdapterCallResult<Data>;
349
+ preparation?: ProviderProtocolPreparation;
350
+ }
351
+ interface ProviderProtocolAdapter {
352
+ mode: ProviderProtocolMode;
353
+ prepare?<Input = unknown>(input: ProviderProtocolPrepareInput<Input>): ProviderProtocolPreparation | Promise<ProviderProtocolPreparation>;
354
+ settle?<Input = unknown, Data = unknown>(input: ProviderProtocolSettleInput<Input, Data>): ProviderProtocolSettlement | Promise<ProviderProtocolSettlement>;
355
+ }
356
+ interface ProviderManifestHandlerContext extends ProbeMeshAdapterContext {
357
+ protocol?: ProviderProtocolExecution;
358
+ }
359
+ interface CreateAdapterFromManifestOptions {
360
+ protocolAdapters?: ProviderProtocolAdapter[];
361
+ }
362
+
363
+ interface MockPaymentProtocolOptions {
364
+ mode?: ProviderProtocolMode;
365
+ failPrepare?: boolean;
366
+ failPrepareOnce?: boolean;
367
+ failSettle?: boolean;
368
+ omitDeliveryReceipt?: boolean;
369
+ paymentAttemptId?: string;
370
+ }
371
+ declare function createMockPaymentProtocol(options?: MockPaymentProtocolOptions): ProviderProtocolAdapter;
372
+
373
+ type PaidPriceLookupFailureMode = "none" | "timeout_after_payment" | "missing_delivery_receipt";
374
+ interface PaidPriceLookupProviderOptions {
375
+ id?: string;
376
+ displayName?: string;
377
+ amountUsd?: number;
378
+ prices?: Record<string, number>;
379
+ mockPayment?: MockPaymentProtocolOptions;
380
+ failureMode?: PaidPriceLookupFailureMode;
381
+ }
382
+ interface PaidPriceLookupData {
383
+ symbol: string;
384
+ currency: string;
385
+ price: number;
386
+ asOf: string;
387
+ source: string;
388
+ protocolMode?: string;
389
+ paymentAuthorized: boolean;
390
+ }
391
+ declare function createPaidPriceLookupProvider(options?: PaidPriceLookupProviderOptions): ProbeMeshAdapter;
392
+
393
+ interface ProbeMeshErrorOptions {
394
+ code: ProbeMeshErrorCode;
395
+ message: string;
396
+ capability?: string;
397
+ provider?: string;
398
+ callId?: string;
399
+ receiptRefs?: ReceiptRef[];
400
+ safety?: ProbeMeshCallSafety;
401
+ timeline?: ProbeMeshCallTimeline;
402
+ retrySafety?: ProbeMeshRetrySafety;
403
+ attempt?: ProbeMeshAttemptMetadata;
404
+ route?: ProbeMeshRouteMetadata;
405
+ cause?: unknown;
406
+ }
407
+ declare class ProbeMeshError extends Error {
408
+ readonly code: ProbeMeshErrorCode;
409
+ readonly status: CallStatus;
410
+ readonly capability?: string;
411
+ readonly provider?: string;
412
+ readonly callId?: string;
413
+ readonly receiptRefs?: ReceiptRef[];
414
+ readonly safety?: ProbeMeshCallSafety;
415
+ readonly timeline?: ProbeMeshCallTimeline;
416
+ readonly retrySafety?: ProbeMeshRetrySafety;
417
+ readonly attempt?: ProbeMeshAttemptMetadata;
418
+ readonly route?: ProbeMeshRouteMetadata;
419
+ readonly cause?: unknown;
420
+ constructor(options: ProbeMeshErrorOptions);
421
+ toJSON(): {
422
+ name: string;
423
+ code: ProbeMeshErrorCode;
424
+ message: string;
425
+ status: CallStatus;
426
+ capability: string | undefined;
427
+ provider: string | undefined;
428
+ callId: string | undefined;
429
+ receiptRefs: ReceiptRef[] | undefined;
430
+ safety: ProbeMeshCallSafety | undefined;
431
+ timeline: ProbeMeshCallTimeline | undefined;
432
+ retrySafety: ProbeMeshRetrySafety | undefined;
433
+ attempt: ProbeMeshAttemptMetadata | undefined;
434
+ route: ProbeMeshRouteMetadata | undefined;
435
+ };
436
+ }
437
+ declare function isProbeMeshError(error: unknown): error is ProbeMeshError;
438
+
439
+ declare const PROBEMESH_CALL_AUDIT_ARTIFACT_SCHEMA_VERSION: "probemesh.call-audit.v1";
440
+ type ProbeMeshCallAuditArtifactStatus = "completed" | "failed";
441
+ type ProbeMeshCallAuditArtifactFormat = "json" | "markdown";
442
+ interface ProbeMeshCallAuditArtifactOptions {
443
+ request: ProbeMeshCallRequest;
444
+ response?: ProbeMeshCallResponse;
445
+ error?: ProbeMeshError;
446
+ generatedAt?: string;
447
+ artifactId?: string;
448
+ forbiddenOutputValues?: string[];
449
+ timeline?: ProbeMeshCallTimeline;
450
+ retrySafety?: ProbeMeshRetrySafety;
451
+ attempt?: ProbeMeshAttemptMetadata;
452
+ route?: ProbeMeshRouteMetadata;
453
+ }
454
+ interface ProbeMeshCallAuditArtifactHashes {
455
+ request: string;
456
+ route: string;
457
+ timeline: string;
458
+ receipts: string;
459
+ safety: string;
460
+ retrySafety: string;
461
+ artifact: string;
462
+ }
463
+ interface ProbeMeshCallAuditArtifactReceiptSummary {
464
+ total: number;
465
+ types: string[];
466
+ providers: string[];
467
+ byType: Record<string, number>;
468
+ hasPaymentProof: boolean;
469
+ hasSettlementConfirmation: boolean;
470
+ hasProviderDelivery: boolean;
471
+ }
472
+ interface ProbeMeshCallAuditArtifactTimelineEvent {
473
+ type: ProbeMeshTimelineEventType;
474
+ timestamp: string;
475
+ provider?: string;
476
+ status?: CallStatus;
477
+ errorCode?: ProbeMeshErrorCode;
478
+ receiptType?: string;
479
+ attestationBundleId?: string;
480
+ }
481
+ interface ProbeMeshCallAuditArtifactTimelineSummary {
482
+ routeId?: string;
483
+ eventTypes: ProbeMeshTimelineEventType[];
484
+ events: ProbeMeshCallAuditArtifactTimelineEvent[];
485
+ }
486
+ interface ProbeMeshCallAuditArtifactCallSummary {
487
+ callId?: string;
488
+ capability: string;
489
+ status: ProbeMeshCallAuditArtifactStatus;
490
+ providerId?: string;
491
+ errorCode?: ProbeMeshErrorCode;
492
+ cost?: Cost;
493
+ latencyMs?: number;
494
+ attempt?: ProbeMeshAttemptMetadata;
495
+ }
496
+ interface ProbeMeshCallAuditArtifactRequestProof {
497
+ requestHash: string;
498
+ idempotencyKey?: string;
499
+ }
500
+ interface ProbeMeshCallAuditArtifactEvidence {
501
+ receiptSummary: ProbeMeshCallAuditArtifactReceiptSummary;
502
+ receiptRefs: ReceiptRef[];
503
+ safety?: ProbeMeshCallSafety;
504
+ retrySafety?: ProbeMeshRetrySafety;
505
+ route?: ProbeMeshRouteMetadata;
506
+ timeline: ProbeMeshCallAuditArtifactTimelineSummary;
507
+ }
508
+ interface ProbeMeshCallAuditArtifact {
509
+ schemaVersion: typeof PROBEMESH_CALL_AUDIT_ARTIFACT_SCHEMA_VERSION;
510
+ artifactId: string;
511
+ generatedAt: string;
512
+ status: ProbeMeshCallAuditArtifactStatus;
513
+ hashAlgorithm: "sha256";
514
+ hashes: ProbeMeshCallAuditArtifactHashes;
515
+ call: ProbeMeshCallAuditArtifactCallSummary;
516
+ request: ProbeMeshCallAuditArtifactRequestProof;
517
+ evidence: ProbeMeshCallAuditArtifactEvidence;
518
+ }
519
+ interface ProbeMeshCallAuditArtifactValidationError {
520
+ path: string;
521
+ message: string;
522
+ }
523
+ interface ProbeMeshCallAuditArtifactValidationResult {
524
+ valid: boolean;
525
+ errors: ProbeMeshCallAuditArtifactValidationError[];
526
+ }
527
+ declare function createProbeMeshCallAuditArtifact(options: ProbeMeshCallAuditArtifactOptions): ProbeMeshCallAuditArtifact;
528
+ declare function validateProbeMeshCallAuditArtifact(artifact: unknown): ProbeMeshCallAuditArtifactValidationResult;
529
+ declare function assertProbeMeshCallAuditArtifact(artifact: unknown): asserts artifact is ProbeMeshCallAuditArtifact;
530
+ declare function formatProbeMeshCallAuditArtifact(artifact: ProbeMeshCallAuditArtifact, options?: {
531
+ format?: ProbeMeshCallAuditArtifactFormat;
532
+ }): string;
533
+
534
+ type X402ProviderAcceptanceStatus = "passed" | "failed";
535
+ interface X402ProviderAcceptanceCheck {
536
+ name: string;
537
+ status: X402ProviderAcceptanceStatus;
538
+ message: string;
539
+ details?: Record<string, unknown>;
540
+ }
541
+ interface X402ProviderAcceptanceOptions<Input = unknown> {
542
+ adapters: ProbeMeshAdapter[];
543
+ request: ProbeMeshCallRequest<Input>;
544
+ apiKey?: string;
545
+ expectedProviderId?: string;
546
+ requiredReceiptTypes?: ReceiptType[];
547
+ forbiddenOutputValues?: string[];
548
+ }
549
+ interface X402ProviderAcceptanceError {
550
+ name: "ProbeMeshError";
551
+ code: ProbeMeshErrorCode;
552
+ message: string;
553
+ status: "failed";
554
+ capability?: string;
555
+ provider?: string;
556
+ callId?: string;
557
+ receiptRefs?: ReceiptRef[];
558
+ safety?: ProbeMeshCallSafety;
559
+ timeline?: ProbeMeshCallTimeline;
560
+ retrySafety?: ProbeMeshRetrySafety;
561
+ route?: ProbeMeshRouteMetadata;
562
+ }
563
+ interface X402ProviderAcceptanceResult<Data = unknown> {
564
+ status: X402ProviderAcceptanceStatus;
565
+ checks: X402ProviderAcceptanceCheck[];
566
+ response?: ProbeMeshCallResponse<Data>;
567
+ error?: X402ProviderAcceptanceError;
568
+ telemetryEvents: HostedTelemetryEvent[];
569
+ summary: X402ProviderAcceptanceSummary;
570
+ }
571
+ interface X402ProviderAcceptanceSummary {
572
+ status: X402ProviderAcceptanceStatus;
573
+ totalChecks: number;
574
+ passedChecks: number;
575
+ failedChecks: number;
576
+ failedCheckNames: string[];
577
+ callId?: string;
578
+ providerId?: string;
579
+ errorCode?: ProbeMeshErrorCode;
580
+ receiptTypes: ReceiptType[];
581
+ requiredReceiptTypes: ReceiptType[];
582
+ timelineEventTypes: ProbeMeshTimelineEventType[];
583
+ telemetryEventTypes: ProbeMeshTimelineEventType[];
584
+ safety?: ProbeMeshCallSafety;
585
+ retrySafety?: ProbeMeshRetrySafety;
586
+ route?: {
587
+ routeId?: string;
588
+ selectedProviderId?: string;
589
+ fallbackUsed?: boolean;
590
+ fallbackCount?: number;
591
+ stopReason?: ProbeMeshRouteDecisionReason;
592
+ };
593
+ }
594
+ type X402ProviderAcceptanceGateStatus = "accepted" | "rejected";
595
+ interface X402ProviderAcceptanceGateOptions {
596
+ requiredCheckNames?: string[];
597
+ }
598
+ interface X402ProviderAcceptanceGate {
599
+ accepted: boolean;
600
+ status: X402ProviderAcceptanceGateStatus;
601
+ requiredCheckNames: string[];
602
+ failedRequiredCheckNames: string[];
603
+ reasons: string[];
604
+ }
605
+ interface X402ProviderAcceptanceReportOptions {
606
+ gate?: X402ProviderAcceptanceGateOptions;
607
+ forbiddenOutputValues?: string[];
608
+ title?: string;
609
+ }
610
+ type X402ProviderAcceptanceReportFormat = "json" | "markdown";
611
+ interface X402ProviderAcceptanceReport {
612
+ title: string;
613
+ status: X402ProviderAcceptanceStatus;
614
+ gate: X402ProviderAcceptanceGate;
615
+ summary: X402ProviderAcceptanceSummary;
616
+ checks: X402ProviderAcceptanceCheck[];
617
+ receipts: {
618
+ total: number;
619
+ types: ReceiptType[];
620
+ providers: string[];
621
+ byType: Partial<Record<ReceiptType, number>>;
622
+ hasPaymentProof: boolean;
623
+ hasSettlementConfirmation: boolean;
624
+ hasProviderDelivery: boolean;
625
+ };
626
+ route?: X402ProviderAcceptanceSummary["route"];
627
+ timelineEventTypes: ProbeMeshTimelineEventType[];
628
+ telemetryEventTypes: ProbeMeshTimelineEventType[];
629
+ safety?: ProbeMeshCallSafety;
630
+ retrySafety?: ProbeMeshRetrySafety;
631
+ error?: X402ProviderAcceptanceError;
632
+ }
633
+ declare function runX402ProviderAcceptance<Input = unknown, Data = unknown>(options: X402ProviderAcceptanceOptions<Input>): Promise<X402ProviderAcceptanceResult<Data>>;
634
+ declare function summarizeX402AcceptanceResult(result: X402ProviderAcceptanceResult): X402ProviderAcceptanceSummary;
635
+ declare function evaluateX402ProviderAcceptanceGate(result: X402ProviderAcceptanceResult, options?: X402ProviderAcceptanceGateOptions): X402ProviderAcceptanceGate;
636
+ declare function createX402ProviderAcceptanceReport(result: X402ProviderAcceptanceResult, options?: X402ProviderAcceptanceReportOptions): X402ProviderAcceptanceReport;
637
+ declare function formatX402ProviderAcceptanceReport(report: X402ProviderAcceptanceReport, options?: {
638
+ format?: X402ProviderAcceptanceReportFormat;
639
+ }): string;
640
+
641
+ declare const PROVIDER_CATALOG_ARTIFACT_SCHEMA_VERSION: "probemesh.provider-catalog.v1";
642
+ type ProviderCatalogArtifactStatus = "ready" | "rejected";
643
+ type ProviderCatalogArtifactFormat = "json" | "markdown";
644
+ interface ProviderCatalogArtifactOptions {
645
+ manifest: ProviderManifest;
646
+ acceptanceReport: X402ProviderAcceptanceReport;
647
+ generatedAt?: string;
648
+ artifactId?: string;
649
+ forbiddenOutputValues?: string[];
650
+ }
651
+ interface ProviderCatalogArtifact {
652
+ schemaVersion: typeof PROVIDER_CATALOG_ARTIFACT_SCHEMA_VERSION;
653
+ artifactId: string;
654
+ generatedAt: string;
655
+ status: ProviderCatalogArtifactStatus;
656
+ provider: ProviderManifest;
657
+ acceptance: {
658
+ title: string;
659
+ status: X402ProviderAcceptanceStatus;
660
+ gate: X402ProviderAcceptanceGate;
661
+ failedChecks: string[];
662
+ receipts: X402ProviderAcceptanceReport["receipts"];
663
+ safety?: ProbeMeshCallSafety;
664
+ retrySafety?: ProbeMeshRetrySafety;
665
+ route?: X402ProviderAcceptanceSummary["route"];
666
+ timelineEventTypes: ProbeMeshTimelineEventType[];
667
+ telemetryEventTypes: ProbeMeshTimelineEventType[];
668
+ errorCode?: string;
669
+ };
670
+ }
671
+ interface ProviderCatalogArtifactValidationError {
672
+ path: string;
673
+ message: string;
674
+ }
675
+ interface ProviderCatalogArtifactValidationResult {
676
+ valid: boolean;
677
+ errors: ProviderCatalogArtifactValidationError[];
678
+ }
679
+ declare function createProviderCatalogArtifact(options: ProviderCatalogArtifactOptions): ProviderCatalogArtifact;
680
+ declare function formatProviderCatalogArtifact(artifact: ProviderCatalogArtifact, options?: {
681
+ format?: ProviderCatalogArtifactFormat;
682
+ }): string;
683
+ declare function validateProviderCatalogArtifact(artifact: unknown): ProviderCatalogArtifactValidationResult;
684
+ declare function assertProviderCatalogArtifact(artifact: unknown): asserts artifact is ProviderCatalogArtifact;
685
+
686
+ declare const PROVIDER_CATALOG_SCHEMA_VERSION: "probemesh.provider-catalog.index.v1";
687
+ interface ProviderCatalogOptions {
688
+ artifacts: ProviderCatalogArtifact[];
689
+ generatedAt?: string;
690
+ }
691
+ interface ProviderCatalog {
692
+ schemaVersion: typeof PROVIDER_CATALOG_SCHEMA_VERSION;
693
+ generatedAt: string;
694
+ entries: ProviderCatalogEntry[];
695
+ }
696
+ interface ProviderCatalogEntry {
697
+ artifactId: string;
698
+ generatedAt: string;
699
+ status: ProviderCatalogArtifactStatus;
700
+ provider: {
701
+ id: string;
702
+ displayName: string;
703
+ capabilities: string[];
704
+ protocolMode: ProviderProtocolMode;
705
+ paymentOptions?: ProviderPaymentOption[];
706
+ pricing: ProviderManifest["pricing"];
707
+ receipts: ProviderReceiptSupport;
708
+ limits?: ProviderLimits;
709
+ };
710
+ acceptance: {
711
+ gate: X402ProviderAcceptanceGate;
712
+ failedChecks: string[];
713
+ receipts: ProviderCatalogArtifact["acceptance"]["receipts"];
714
+ safety?: ProbeMeshCallSafety;
715
+ retrySafety?: ProbeMeshRetrySafety;
716
+ route?: ProviderCatalogArtifact["acceptance"]["route"];
717
+ timelineEventTypes: ProbeMeshTimelineEventType[];
718
+ telemetryEventTypes: ProbeMeshTimelineEventType[];
719
+ errorCode?: string;
720
+ };
721
+ }
722
+ interface ProviderCatalogQuery {
723
+ capability: string;
724
+ protocolMode?: ProviderProtocolMode;
725
+ paymentPreferences?: ProbeMeshPaymentPreferences;
726
+ paymentStrategy?: ProbeMeshPaymentStrategy;
727
+ maxCostUsd?: number;
728
+ requiredReceiptTypes?: ReceiptType[];
729
+ providerIds?: string[];
730
+ blockedProviderIds?: string[];
731
+ status?: ProviderCatalogArtifactStatus;
732
+ }
733
+ interface ProviderCatalogMatch {
734
+ entry: ProviderCatalogEntry;
735
+ providerId: string;
736
+ capability: string;
737
+ status: ProviderCatalogArtifactStatus;
738
+ cost?: Cost;
739
+ paymentSelection?: ProbeMeshPaymentSelection;
740
+ reasons: string[];
741
+ }
742
+ interface ProviderCatalogSummary {
743
+ schemaVersion: typeof PROVIDER_CATALOG_SCHEMA_VERSION;
744
+ generatedAt: string;
745
+ totalEntries: number;
746
+ readyEntries: number;
747
+ rejectedEntries: number;
748
+ providers: string[];
749
+ capabilities: string[];
750
+ protocolModes: string[];
751
+ }
752
+ interface ProviderCatalogValidationError {
753
+ path: string;
754
+ message: string;
755
+ }
756
+ interface ProviderCatalogValidationResult {
757
+ valid: boolean;
758
+ errors: ProviderCatalogValidationError[];
759
+ }
760
+ declare function validateProviderCatalog(catalog: unknown): ProviderCatalogValidationResult;
761
+ declare function assertProviderCatalog(catalog: unknown): asserts catalog is ProviderCatalog;
762
+ declare function parseProviderCatalogArtifactJson(json: string): ProviderCatalogArtifact;
763
+ declare function createProviderCatalog(options: ProviderCatalogOptions): ProviderCatalog;
764
+ declare function findProviderCatalogMatches(catalog: ProviderCatalog, query: ProviderCatalogQuery): ProviderCatalogMatch[];
765
+ declare function summarizeProviderCatalog(catalog: ProviderCatalog): ProviderCatalogSummary;
766
+
767
+ type ProviderCatalogPolicyEvaluationStatus = "passed" | "failed";
768
+ type ProviderCatalogPolicyCheckStatus = "passed" | "failed";
769
+ type ProviderCatalogPolicyReportFormat = "json" | "markdown";
770
+ interface ProviderCatalogPolicyAdapterInventoryEntry {
771
+ id: string;
772
+ capabilities: string[];
773
+ pricing?: ProbeMeshPricing | Record<string, ProbeMeshPricing>;
774
+ paymentOptions?: ProviderPaymentOption[];
775
+ }
776
+ type ProviderCatalogPolicyAdapterInventory = ProviderCatalogPolicyAdapterInventoryEntry[];
777
+ interface ProviderCatalogPolicyOptions {
778
+ enabled?: boolean;
779
+ status?: ProviderCatalogArtifactStatus;
780
+ protocolMode?: ProviderProtocolMode;
781
+ paymentPreferences?: ProbeMeshPaymentPreferences;
782
+ paymentStrategy?: ProbeMeshPaymentStrategy;
783
+ maxCostUsd?: number;
784
+ requiredReceiptTypes?: ReceiptType[];
785
+ providerIds?: string[];
786
+ blockedProviderIds?: string[];
787
+ }
788
+ interface ProviderCatalogPolicyExpectedQuery extends ProviderCatalogPolicyOptions {
789
+ capability: string;
790
+ minMatches?: number;
791
+ }
792
+ interface ProviderCatalogPolicyEvaluationOptions {
793
+ catalog: ProviderCatalog;
794
+ catalogPolicy?: ProviderCatalogPolicyOptions;
795
+ adapterInventory: ProviderCatalogPolicyAdapterInventory;
796
+ queries: ProviderCatalogPolicyExpectedQuery[];
797
+ }
798
+ interface ProviderCatalogPolicyCheck {
799
+ name: string;
800
+ status: ProviderCatalogPolicyCheckStatus;
801
+ message: string;
802
+ capability?: string;
803
+ providerId?: string;
804
+ }
805
+ interface ProviderCatalogPolicySkippedProvider {
806
+ providerId: string;
807
+ capability: string;
808
+ reasons: string[];
809
+ catalogArtifactId?: string;
810
+ catalogStatus?: ProviderCatalogArtifactStatus;
811
+ inventoryOnly?: boolean;
812
+ }
813
+ interface ProviderCatalogPolicyMissingAdapterMatch {
814
+ providerId: string;
815
+ capability: string;
816
+ catalogArtifactId: string;
817
+ catalogStatus: ProviderCatalogArtifactStatus;
818
+ reasons: string[];
819
+ }
820
+ interface ProviderCatalogPolicyQueryResult {
821
+ query: ProviderCatalogPolicyExpectedQuery;
822
+ matches: ProviderCatalogMatch[];
823
+ routeableMatches: ProviderCatalogMatch[];
824
+ missingAdapterMatches: ProviderCatalogPolicyMissingAdapterMatch[];
825
+ skippedProviders: ProviderCatalogPolicySkippedProvider[];
826
+ }
827
+ interface ProviderCatalogPolicyEvaluationResult {
828
+ status: ProviderCatalogPolicyEvaluationStatus;
829
+ checks: ProviderCatalogPolicyCheck[];
830
+ summary: ProviderCatalogSummary & {
831
+ totalQueries: number;
832
+ passedChecks: number;
833
+ failedChecks: number;
834
+ routeableMatches: number;
835
+ missingAdapterMatches: number;
836
+ };
837
+ queryResults: ProviderCatalogPolicyQueryResult[];
838
+ }
839
+ interface ProviderCatalogPolicyReportOptions {
840
+ title?: string;
841
+ generatedAt?: string;
842
+ forbiddenOutputValues?: string[];
843
+ }
844
+ interface ProviderCatalogPolicyReport {
845
+ title: string;
846
+ generatedAt: string;
847
+ status: ProviderCatalogPolicyEvaluationStatus;
848
+ summary: ProviderCatalogPolicyEvaluationResult["summary"];
849
+ checks: ProviderCatalogPolicyCheck[];
850
+ queryResults: ProviderCatalogPolicyQueryResult[];
851
+ }
852
+ declare function evaluateProviderCatalogPolicy(options: ProviderCatalogPolicyEvaluationOptions): ProviderCatalogPolicyEvaluationResult;
853
+ declare function createProviderCatalogPolicyReport(result: ProviderCatalogPolicyEvaluationResult, options?: ProviderCatalogPolicyReportOptions): ProviderCatalogPolicyReport;
854
+ declare function formatProviderCatalogPolicyReport(report: ProviderCatalogPolicyReport, options?: {
855
+ format?: ProviderCatalogPolicyReportFormat;
856
+ }): string;
857
+
858
+ declare const PROVIDER_CATALOG_POLICY_BUNDLE_SCHEMA_VERSION: "probemesh.catalog-policy-bundle.v1";
859
+ type ProviderCatalogPolicyBundleStatus = "passed" | "failed";
860
+ type ProviderCatalogPolicyBundleFormat = "json" | "markdown";
861
+ interface ProviderCatalogPolicyBundleOptions {
862
+ catalog: ProviderCatalog;
863
+ catalogPolicy?: ProviderCatalogPolicyOptions;
864
+ adapterInventory: ProviderCatalogPolicyAdapterInventory;
865
+ queries: ProviderCatalogPolicyExpectedQuery[];
866
+ evaluation?: ProviderCatalogPolicyEvaluationResult;
867
+ generatedAt?: string;
868
+ bundleId?: string;
869
+ forbiddenOutputValues?: string[];
870
+ }
871
+ interface ProviderCatalogPolicyBundleHashes {
872
+ catalog: string;
873
+ catalogPolicy: string;
874
+ adapterInventory: string;
875
+ queries: string;
876
+ evaluation: string;
877
+ bundle: string;
878
+ }
879
+ interface ProviderCatalogPolicyBundleQueryCoverage {
880
+ capability: string;
881
+ minMatches: number;
882
+ matches: number;
883
+ routeableMatches: number;
884
+ missingAdapterMatches: number;
885
+ providerIds: string[];
886
+ }
887
+ interface ProviderCatalogPolicyBundle {
888
+ schemaVersion: typeof PROVIDER_CATALOG_POLICY_BUNDLE_SCHEMA_VERSION;
889
+ bundleId: string;
890
+ generatedAt: string;
891
+ status: ProviderCatalogPolicyBundleStatus;
892
+ hashAlgorithm: "sha256";
893
+ hashes: ProviderCatalogPolicyBundleHashes;
894
+ catalogSummary: ProviderCatalogSummary;
895
+ evaluationSummary: ProviderCatalogPolicyEvaluationResult["summary"];
896
+ queryCoverage: ProviderCatalogPolicyBundleQueryCoverage[];
897
+ checks: ProviderCatalogPolicyCheck[];
898
+ failedChecks: string[];
899
+ queries: ProviderCatalogPolicyExpectedQuery[];
900
+ }
901
+ interface ProviderCatalogPolicyBundleValidationError {
902
+ path: string;
903
+ message: string;
904
+ }
905
+ interface ProviderCatalogPolicyBundleValidationResult {
906
+ valid: boolean;
907
+ errors: ProviderCatalogPolicyBundleValidationError[];
908
+ }
909
+ interface ProviderCatalogPolicyBundleRuntimeVerificationOptions {
910
+ bundle: ProviderCatalogPolicyBundle;
911
+ catalog: ProviderCatalog;
912
+ catalogPolicy?: ProviderCatalogPolicyOptions;
913
+ adapterInventory: ProviderCatalogPolicyAdapterInventory;
914
+ queries?: ProviderCatalogPolicyExpectedQuery[];
915
+ capability?: string;
916
+ }
917
+ interface ProviderCatalogPolicyBundleRuntimeVerificationResult {
918
+ valid: boolean;
919
+ attestation: ProviderCatalogPolicyBundleAttestation;
920
+ errors: ProviderCatalogPolicyBundleValidationError[];
921
+ coveredQuery?: ProviderCatalogPolicyExpectedQuery;
922
+ }
923
+ declare function createProviderCatalogPolicyBundle(options: ProviderCatalogPolicyBundleOptions): ProviderCatalogPolicyBundle;
924
+ declare function validateProviderCatalogPolicyBundle(bundle: unknown): ProviderCatalogPolicyBundleValidationResult;
925
+ declare function assertProviderCatalogPolicyBundle(bundle: unknown): asserts bundle is ProviderCatalogPolicyBundle;
926
+ declare function formatProviderCatalogPolicyBundle(bundle: ProviderCatalogPolicyBundle, options?: {
927
+ format?: ProviderCatalogPolicyBundleFormat;
928
+ }): string;
929
+ declare function verifyProviderCatalogPolicyBundleRuntime(options: ProviderCatalogPolicyBundleRuntimeVerificationOptions): ProviderCatalogPolicyBundleRuntimeVerificationResult;
930
+
931
+ type HostedTelemetryEventType = ProbeMeshTimelineEventType;
932
+ interface HostedTelemetryEvent extends ProbeMeshTimelineEvent {
933
+ }
934
+ interface HostedProviderHealthOptions {
935
+ enabled?: boolean;
936
+ cooldownMs?: number;
937
+ }
938
+ interface HostedProviderCatalogPolicyOptions {
939
+ catalog: ProviderCatalog;
940
+ bundle?: ProviderCatalogPolicyBundle;
941
+ enabled?: boolean;
942
+ status?: ProviderCatalogArtifactStatus;
943
+ protocolMode?: ProviderProtocolMode;
944
+ paymentPreferences?: ProbeMeshPaymentPreferences;
945
+ paymentStrategy?: ProbeMeshPaymentStrategy;
946
+ maxCostUsd?: number;
947
+ requiredReceiptTypes?: ReceiptType[];
948
+ providerIds?: string[];
949
+ blockedProviderIds?: string[];
950
+ }
951
+ interface HostedAuditArtifactOptions {
952
+ enabled?: boolean;
953
+ onArtifact?: (artifact: ProbeMeshCallAuditArtifact) => void | Promise<void>;
954
+ }
955
+ interface HostedRouterOptions {
956
+ adapters: ProbeMeshAdapter[];
957
+ apiKeys?: string[];
958
+ providerHealth?: HostedProviderHealthOptions;
959
+ catalogPolicy?: HostedProviderCatalogPolicyOptions;
960
+ auditArtifacts?: HostedAuditArtifactOptions;
961
+ onTelemetryEvent?: (event: HostedTelemetryEvent) => void;
962
+ }
963
+ interface HostedRouter {
964
+ handle(request: IncomingMessage, response: ServerResponse): Promise<void>;
965
+ }
966
+ interface StartHostedRouterOptions extends HostedRouterOptions {
967
+ port: number;
968
+ host?: string;
969
+ }
970
+ interface StartedHostedRouter {
971
+ server: Server;
972
+ url: string;
973
+ close(): Promise<void>;
974
+ }
975
+ declare function createHostedRouter(options: HostedRouterOptions): HostedRouter;
976
+ declare function startHostedRouter(options: StartHostedRouterOptions): Promise<StartedHostedRouter>;
977
+
978
+ declare const PROBEMESH_AUDIT_TRAIL_BUNDLE_SCHEMA_VERSION: "probemesh.audit-trail.v1";
979
+ type ProbeMeshAuditTrailBundleStatus = "complete" | "incomplete";
980
+ type ProbeMeshAuditTrailBundleFormat = "json" | "markdown";
981
+ interface ProbeMeshAuditTrailBundleOptions {
982
+ artifacts: ProbeMeshCallAuditArtifact[];
983
+ generatedAt?: string;
984
+ bundleId?: string;
985
+ forbiddenOutputValues?: string[];
986
+ }
987
+ interface ProbeMeshAuditTrailBundleSummary {
988
+ totalCalls: number;
989
+ completedCalls: number;
990
+ failedCalls: number;
991
+ providers: string[];
992
+ capabilities: string[];
993
+ receiptTypes: string[];
994
+ policyBundleIds: string[];
995
+ unsafePaymentEvidenceCalls: number;
996
+ retrySafeFailures: number;
997
+ uncoveredPolicyFailures: number;
998
+ }
999
+ interface ProbeMeshAuditTrailBundleHashes {
1000
+ artifacts: string;
1001
+ summary: string;
1002
+ bundle: string;
1003
+ }
1004
+ interface ProbeMeshAuditTrailBundle {
1005
+ schemaVersion: typeof PROBEMESH_AUDIT_TRAIL_BUNDLE_SCHEMA_VERSION;
1006
+ bundleId: string;
1007
+ generatedAt: string;
1008
+ status: ProbeMeshAuditTrailBundleStatus;
1009
+ hashAlgorithm: "sha256";
1010
+ hashes: ProbeMeshAuditTrailBundleHashes;
1011
+ summary: ProbeMeshAuditTrailBundleSummary;
1012
+ artifacts: ProbeMeshCallAuditArtifact[];
1013
+ }
1014
+ interface ProbeMeshAuditTrailBundleValidationError {
1015
+ path: string;
1016
+ message: string;
1017
+ }
1018
+ interface ProbeMeshAuditTrailBundleValidationResult {
1019
+ valid: boolean;
1020
+ errors: ProbeMeshAuditTrailBundleValidationError[];
1021
+ }
1022
+ interface ProbeMeshAuditTrailCollector {
1023
+ onArtifact(artifact: ProbeMeshCallAuditArtifact): void;
1024
+ getArtifacts(): ProbeMeshCallAuditArtifact[];
1025
+ clear(): void;
1026
+ createBundle(options?: Omit<ProbeMeshAuditTrailBundleOptions, "artifacts">): ProbeMeshAuditTrailBundle;
1027
+ }
1028
+ declare function createProbeMeshAuditTrailCollector(): ProbeMeshAuditTrailCollector;
1029
+ declare function createProbeMeshAuditTrailBundle(options: ProbeMeshAuditTrailBundleOptions): ProbeMeshAuditTrailBundle;
1030
+ declare function summarizeProbeMeshAuditTrailBundle(bundleOrArtifacts: ProbeMeshAuditTrailBundle | ProbeMeshCallAuditArtifact[]): ProbeMeshAuditTrailBundleSummary;
1031
+ declare function validateProbeMeshAuditTrailBundle(bundle: unknown): ProbeMeshAuditTrailBundleValidationResult;
1032
+ declare function assertProbeMeshAuditTrailBundle(bundle: unknown): asserts bundle is ProbeMeshAuditTrailBundle;
1033
+ declare function formatProbeMeshAuditTrailBundle(bundle: ProbeMeshAuditTrailBundle, options?: {
1034
+ format?: ProbeMeshAuditTrailBundleFormat;
1035
+ }): string;
1036
+
1037
+ declare function validateProviderManifest(manifest: unknown): ProviderManifestValidationResult;
1038
+ declare function assertProviderManifest(manifest: unknown): asserts manifest is ProviderManifest;
1039
+
1040
+ interface ProbeMeshAuditTrailExportCliSkip {
1041
+ skip: true;
1042
+ reason: string;
1043
+ details?: unknown;
1044
+ }
1045
+ interface ProbeMeshAuditTrailExportCliOutputs {
1046
+ json?: string;
1047
+ markdown?: string;
1048
+ }
1049
+ interface ProbeMeshAuditTrailExportCliBundle extends Omit<ProbeMeshAuditTrailBundleOptions, "artifacts"> {
1050
+ format?: ProbeMeshAuditTrailBundleFormat;
1051
+ }
1052
+ interface ProbeMeshAuditTrailExportCliConfig {
1053
+ artifacts?: ProbeMeshCallAuditArtifact[];
1054
+ artifactFiles?: string[];
1055
+ bundle?: ProbeMeshAuditTrailExportCliBundle;
1056
+ outputs?: ProbeMeshAuditTrailExportCliOutputs;
1057
+ }
1058
+ type ProbeMeshAuditTrailExportCliConfigExport = ProbeMeshAuditTrailExportCliConfig | ProbeMeshAuditTrailExportCliSkip;
1059
+ type ProbeMeshAuditTrailExportCliConfigFactory = (context: ProbeMeshAuditTrailExportCliConfigContext) => ProbeMeshAuditTrailExportCliConfigExport | Promise<ProbeMeshAuditTrailExportCliConfigExport>;
1060
+ interface ProbeMeshAuditTrailExportCliConfigContext {
1061
+ argv: string[];
1062
+ cwd: string;
1063
+ }
1064
+ interface ProbeMeshAuditTrailExportCliOptions {
1065
+ argv?: string[];
1066
+ cwd?: string;
1067
+ }
1068
+ interface ProbeMeshAuditTrailExportCliResult {
1069
+ exitCode: 0 | 1 | 2;
1070
+ skipped: boolean;
1071
+ skip?: ProbeMeshAuditTrailExportCliSkip;
1072
+ bundle?: ProbeMeshAuditTrailBundle;
1073
+ stdout: string;
1074
+ stderr?: string;
1075
+ artifactPaths?: ProbeMeshAuditTrailExportCliOutputs;
1076
+ }
1077
+ declare function runProbeMeshAuditTrailExportCli(options?: ProbeMeshAuditTrailExportCliOptions): Promise<ProbeMeshAuditTrailExportCliResult>;
1078
+
1079
+ interface ProviderCatalogPolicyCliSkip {
1080
+ skip: true;
1081
+ reason: string;
1082
+ details?: unknown;
1083
+ }
1084
+ interface ProviderCatalogPolicyCliOutputs {
1085
+ json?: string;
1086
+ markdown?: string;
1087
+ bundle?: string;
1088
+ }
1089
+ interface ProviderCatalogPolicyCliBundle {
1090
+ bundleId?: string;
1091
+ generatedAt?: string;
1092
+ }
1093
+ interface ProviderCatalogPolicyCliConfig {
1094
+ catalog?: ProviderCatalog;
1095
+ artifacts?: ProviderCatalogArtifact[];
1096
+ catalogPolicy?: ProviderCatalogPolicyOptions;
1097
+ adapterInventory: ProviderCatalogPolicyAdapterInventory;
1098
+ queries: ProviderCatalogPolicyExpectedQuery[];
1099
+ report?: ProviderCatalogPolicyReportOptions & {
1100
+ format?: ProviderCatalogPolicyReportFormat;
1101
+ };
1102
+ bundle?: ProviderCatalogPolicyCliBundle;
1103
+ outputs?: ProviderCatalogPolicyCliOutputs;
1104
+ }
1105
+ type ProviderCatalogPolicyCliConfigExport = ProviderCatalogPolicyCliConfig | ProviderCatalogPolicyCliSkip;
1106
+ type ProviderCatalogPolicyCliConfigFactory = (context: ProviderCatalogPolicyCliConfigContext) => ProviderCatalogPolicyCliConfigExport | Promise<ProviderCatalogPolicyCliConfigExport>;
1107
+ interface ProviderCatalogPolicyCliConfigContext {
1108
+ argv: string[];
1109
+ cwd: string;
1110
+ }
1111
+ interface ProviderCatalogPolicyCliOptions {
1112
+ argv?: string[];
1113
+ cwd?: string;
1114
+ }
1115
+ interface ProviderCatalogPolicyCliResult {
1116
+ exitCode: 0 | 1 | 2;
1117
+ skipped: boolean;
1118
+ skip?: ProviderCatalogPolicyCliSkip;
1119
+ evaluation?: ProviderCatalogPolicyEvaluationResult;
1120
+ report?: ProviderCatalogPolicyReport;
1121
+ bundle?: ProviderCatalogPolicyBundle;
1122
+ stdout: string;
1123
+ stderr?: string;
1124
+ artifactPaths?: ProviderCatalogPolicyCliOutputs;
1125
+ }
1126
+ declare function runProviderCatalogPolicyCli(options?: ProviderCatalogPolicyCliOptions): Promise<ProviderCatalogPolicyCliResult>;
1127
+
1128
+ type ProviderConformanceStatus = "passed" | "failed";
1129
+ interface ProviderConformanceCheck {
1130
+ name: string;
1131
+ status: ProviderConformanceStatus;
1132
+ message: string;
1133
+ details?: Record<string, unknown>;
1134
+ }
1135
+ interface ProviderConformanceSchemaValidationMode {
1136
+ input?: boolean;
1137
+ output?: boolean;
1138
+ }
1139
+ interface ProviderConformanceOptions<Input = unknown> {
1140
+ manifest: ProviderManifest;
1141
+ adapters: ProbeMeshAdapter[];
1142
+ request: ProbeMeshCallRequest<Input>;
1143
+ apiKey?: string;
1144
+ expectedProviderId?: string;
1145
+ requiredReceiptTypes?: ReceiptType[];
1146
+ schemaValidation?: ProviderConformanceSchemaValidationMode;
1147
+ forbiddenOutputValues?: string[];
1148
+ }
1149
+ interface ProviderConformanceError {
1150
+ name: "ProbeMeshError";
1151
+ code: ProbeMeshErrorCode;
1152
+ message: string;
1153
+ status: "failed";
1154
+ capability?: string;
1155
+ provider?: string;
1156
+ callId?: string;
1157
+ receiptRefs?: ReceiptRef[];
1158
+ safety?: ProbeMeshCallSafety;
1159
+ timeline?: ProbeMeshCallResponse["timeline"];
1160
+ retrySafety?: ProbeMeshRetrySafety;
1161
+ route?: ProbeMeshRouteMetadata;
1162
+ }
1163
+ interface ProviderConformanceSummary {
1164
+ status: ProviderConformanceStatus;
1165
+ totalChecks: number;
1166
+ passedChecks: number;
1167
+ failedChecks: number;
1168
+ failedCheckNames: string[];
1169
+ callId?: string;
1170
+ providerId?: string;
1171
+ errorCode?: ProbeMeshErrorCode;
1172
+ receiptTypes: ReceiptType[];
1173
+ requiredReceiptTypes: ReceiptType[];
1174
+ timelineEventTypes: ProbeMeshTimelineEventType[];
1175
+ telemetryEventTypes: ProbeMeshTimelineEventType[];
1176
+ safety?: ProbeMeshCallSafety;
1177
+ retrySafety?: ProbeMeshRetrySafety;
1178
+ route?: {
1179
+ routeId?: string;
1180
+ selectedProviderId?: string;
1181
+ fallbackUsed?: boolean;
1182
+ fallbackCount?: number;
1183
+ stopReason?: ProbeMeshRouteDecisionReason;
1184
+ };
1185
+ }
1186
+ interface ProviderConformanceResult<Data = unknown> {
1187
+ status: ProviderConformanceStatus;
1188
+ checks: ProviderConformanceCheck[];
1189
+ response?: ProbeMeshCallResponse<Data>;
1190
+ error?: ProviderConformanceError;
1191
+ telemetryEvents: HostedTelemetryEvent[];
1192
+ summary: ProviderConformanceSummary;
1193
+ }
1194
+ type ProviderConformanceReportFormat = "json" | "markdown";
1195
+ interface ProviderConformanceReportOptions {
1196
+ title?: string;
1197
+ forbiddenOutputValues?: string[];
1198
+ }
1199
+ interface ProviderConformanceReport {
1200
+ title: string;
1201
+ status: ProviderConformanceStatus;
1202
+ summary: ProviderConformanceSummary;
1203
+ checks: ProviderConformanceCheck[];
1204
+ receipts: {
1205
+ total: number;
1206
+ types: ReceiptType[];
1207
+ providers: string[];
1208
+ byType: Partial<Record<ReceiptType, number>>;
1209
+ hasPaymentProof: boolean;
1210
+ hasSettlementConfirmation: boolean;
1211
+ hasProviderDelivery: boolean;
1212
+ };
1213
+ route?: ProviderConformanceSummary["route"];
1214
+ timelineEventTypes: ProbeMeshTimelineEventType[];
1215
+ telemetryEventTypes: ProbeMeshTimelineEventType[];
1216
+ safety?: ProbeMeshCallSafety;
1217
+ retrySafety?: ProbeMeshRetrySafety;
1218
+ error?: ProviderConformanceError;
1219
+ }
1220
+ declare function runProviderConformance<Input = unknown, Data = unknown>(options: ProviderConformanceOptions<Input>): Promise<ProviderConformanceResult<Data>>;
1221
+ declare function createProviderConformanceReport(result: ProviderConformanceResult, options?: ProviderConformanceReportOptions): ProviderConformanceReport;
1222
+ declare function formatProviderConformanceReport(report: ProviderConformanceReport, options?: {
1223
+ format?: ProviderConformanceReportFormat;
1224
+ }): string;
1225
+
1226
+ declare const PROVIDER_CONFORMANCE_ARTIFACT_SCHEMA_VERSION: "probemesh.provider-conformance.v1";
1227
+ type ProviderConformanceArtifactStatus = "verified" | "failed";
1228
+ type ProviderConformanceArtifactFormat = "json" | "markdown";
1229
+ interface ProviderConformanceArtifactOptions {
1230
+ manifest: ProviderManifest;
1231
+ report: ProviderConformanceReport;
1232
+ generatedAt?: string;
1233
+ artifactId?: string;
1234
+ forbiddenOutputValues?: string[];
1235
+ }
1236
+ interface ProviderConformanceArtifactManifestSummary {
1237
+ id: string;
1238
+ displayName: string;
1239
+ capabilities: string[];
1240
+ protocolMode: string;
1241
+ pricing?: Cost | Record<string, Cost>;
1242
+ receipts: ProviderReceiptSupport;
1243
+ limits?: ProviderLimits;
1244
+ paymentOptions?: ProviderPaymentOption[];
1245
+ schemas: {
1246
+ inputDeclared: boolean;
1247
+ outputDeclared: boolean;
1248
+ };
1249
+ }
1250
+ interface ProviderConformanceArtifactReceiptSummary {
1251
+ total: number;
1252
+ types: ReceiptType[];
1253
+ providers: string[];
1254
+ byType: Partial<Record<ReceiptType, number>>;
1255
+ hasPaymentProof: boolean;
1256
+ hasSettlementConfirmation: boolean;
1257
+ hasProviderDelivery: boolean;
1258
+ }
1259
+ interface ProviderConformanceArtifactHashes {
1260
+ manifest: string;
1261
+ report: string;
1262
+ checks: string;
1263
+ artifact: string;
1264
+ }
1265
+ interface ProviderConformanceArtifact {
1266
+ schemaVersion: typeof PROVIDER_CONFORMANCE_ARTIFACT_SCHEMA_VERSION;
1267
+ artifactId: string;
1268
+ generatedAt: string;
1269
+ status: ProviderConformanceArtifactStatus;
1270
+ hashAlgorithm: "sha256";
1271
+ hashes: ProviderConformanceArtifactHashes;
1272
+ provider: ProviderConformanceArtifactManifestSummary;
1273
+ conformance: {
1274
+ title: string;
1275
+ status: ProviderConformanceStatus;
1276
+ summary: ProviderConformanceSummary;
1277
+ checks: ProviderConformanceCheck[];
1278
+ failedChecks: string[];
1279
+ receipts: ProviderConformanceArtifactReceiptSummary;
1280
+ safety?: ProbeMeshCallSafety;
1281
+ retrySafety?: ProbeMeshRetrySafety;
1282
+ route?: ProviderConformanceSummary["route"];
1283
+ timelineEventTypes: ProbeMeshTimelineEventType[];
1284
+ telemetryEventTypes: ProbeMeshTimelineEventType[];
1285
+ errorCode?: string;
1286
+ };
1287
+ }
1288
+ interface ProviderConformanceArtifactValidationError {
1289
+ path: string;
1290
+ message: string;
1291
+ }
1292
+ interface ProviderConformanceArtifactValidationResult {
1293
+ valid: boolean;
1294
+ errors: ProviderConformanceArtifactValidationError[];
1295
+ }
1296
+ declare function createProviderConformanceArtifact(options: ProviderConformanceArtifactOptions): ProviderConformanceArtifact;
1297
+ declare function validateProviderConformanceArtifact(artifact: unknown): ProviderConformanceArtifactValidationResult;
1298
+ declare function assertProviderConformanceArtifact(artifact: unknown): asserts artifact is ProviderConformanceArtifact;
1299
+ declare function formatProviderConformanceArtifact(artifact: ProviderConformanceArtifact, options?: {
1300
+ format?: ProviderConformanceArtifactFormat;
1301
+ }): string;
1302
+
1303
+ interface ProviderConformanceCliSkip {
1304
+ skip: true;
1305
+ reason: string;
1306
+ details?: unknown;
1307
+ }
1308
+ interface ProviderConformanceCliOutputs {
1309
+ json?: string;
1310
+ markdown?: string;
1311
+ artifact?: string;
1312
+ }
1313
+ interface ProviderConformanceCliArtifact extends Omit<ProviderConformanceArtifactOptions, "manifest" | "report"> {
1314
+ format?: "json" | "markdown";
1315
+ }
1316
+ interface ProviderConformanceCliConfig {
1317
+ conformance: ProviderConformanceOptions;
1318
+ report?: ProviderConformanceReportOptions & {
1319
+ format?: ProviderConformanceReportFormat;
1320
+ };
1321
+ artifact?: ProviderConformanceCliArtifact;
1322
+ outputs?: ProviderConformanceCliOutputs;
1323
+ }
1324
+ type ProviderConformanceCliConfigExport = ProviderConformanceCliConfig | ProviderConformanceCliSkip;
1325
+ type ProviderConformanceCliConfigFactory = (context: ProviderConformanceCliConfigContext) => ProviderConformanceCliConfigExport | Promise<ProviderConformanceCliConfigExport>;
1326
+ interface ProviderConformanceCliConfigContext {
1327
+ argv: string[];
1328
+ cwd: string;
1329
+ }
1330
+ interface ProviderConformanceCliOptions {
1331
+ argv?: string[];
1332
+ cwd?: string;
1333
+ }
1334
+ interface ProviderConformanceCliResult {
1335
+ exitCode: 0 | 1 | 2;
1336
+ skipped: boolean;
1337
+ skip?: ProviderConformanceCliSkip;
1338
+ result?: ProviderConformanceResult;
1339
+ report?: ProviderConformanceReport;
1340
+ artifact?: ProviderConformanceArtifact;
1341
+ stdout: string;
1342
+ stderr?: string;
1343
+ artifactPaths?: ProviderConformanceCliOutputs;
1344
+ }
1345
+ declare function runProviderConformanceCli(options?: ProviderConformanceCliOptions): Promise<ProviderConformanceCliResult>;
1346
+
1347
+ declare const PROVIDER_ONBOARDING_DOSSIER_SCHEMA_VERSION: "probemesh.provider-onboarding-dossier.v1";
1348
+ type ProviderOnboardingDossierStatus = "ready" | "failed";
1349
+ type ProviderOnboardingDossierFormat = "json" | "markdown";
1350
+ interface ProviderOnboardingDossierOptions {
1351
+ catalogArtifact: ProviderCatalogArtifact;
1352
+ conformanceArtifact: ProviderConformanceArtifact;
1353
+ generatedAt?: string;
1354
+ dossierId?: string;
1355
+ forbiddenOutputValues?: string[];
1356
+ }
1357
+ interface ProviderOnboardingDossierProviderSummary {
1358
+ id: string;
1359
+ displayName: string;
1360
+ capabilities: string[];
1361
+ protocolMode: string;
1362
+ pricing?: Cost | Record<string, Cost>;
1363
+ paymentOptions?: ProviderPaymentOption[];
1364
+ }
1365
+ interface ProviderOnboardingDossierReadiness {
1366
+ ready: boolean;
1367
+ status: ProviderOnboardingDossierStatus;
1368
+ reasons: string[];
1369
+ failedChecks: string[];
1370
+ }
1371
+ interface ProviderOnboardingDossierReceiptSummary extends ProviderConformanceArtifactReceiptSummary {
1372
+ }
1373
+ interface ProviderOnboardingDossierEvidence {
1374
+ catalog: {
1375
+ artifactId: string;
1376
+ status: ProviderCatalogArtifactStatus;
1377
+ acceptanceStatus: ProviderCatalogArtifact["acceptance"]["status"];
1378
+ gateStatus: ProviderCatalogArtifact["acceptance"]["gate"]["status"];
1379
+ accepted: boolean;
1380
+ failedChecks: string[];
1381
+ };
1382
+ conformance: {
1383
+ artifactId: string;
1384
+ status: ProviderConformanceArtifactStatus;
1385
+ conformanceStatus: ProviderConformanceArtifact["conformance"]["status"];
1386
+ failedChecks: string[];
1387
+ };
1388
+ receipts: ProviderOnboardingDossierReceiptSummary;
1389
+ safety: {
1390
+ acceptance?: ProbeMeshCallSafety;
1391
+ conformance?: ProbeMeshCallSafety;
1392
+ };
1393
+ retrySafety: {
1394
+ acceptance?: ProbeMeshRetrySafety;
1395
+ conformance?: ProbeMeshRetrySafety;
1396
+ };
1397
+ route: {
1398
+ acceptance?: ProviderCatalogArtifact["acceptance"]["route"];
1399
+ conformance?: ProviderConformanceArtifact["conformance"]["route"];
1400
+ };
1401
+ timelineEventTypes: ProbeMeshTimelineEventType[];
1402
+ telemetryEventTypes: ProbeMeshTimelineEventType[];
1403
+ }
1404
+ interface ProviderOnboardingDossierHashes {
1405
+ catalogArtifact: string;
1406
+ conformanceArtifact: string;
1407
+ readiness: string;
1408
+ dossier: string;
1409
+ }
1410
+ interface ProviderOnboardingDossier {
1411
+ schemaVersion: typeof PROVIDER_ONBOARDING_DOSSIER_SCHEMA_VERSION;
1412
+ dossierId: string;
1413
+ generatedAt: string;
1414
+ status: ProviderOnboardingDossierStatus;
1415
+ hashAlgorithm: "sha256";
1416
+ hashes: ProviderOnboardingDossierHashes;
1417
+ provider: ProviderOnboardingDossierProviderSummary;
1418
+ readiness: ProviderOnboardingDossierReadiness;
1419
+ evidence: ProviderOnboardingDossierEvidence;
1420
+ artifacts: {
1421
+ catalog: ProviderCatalogArtifact;
1422
+ conformance: ProviderConformanceArtifact;
1423
+ };
1424
+ }
1425
+ interface ProviderOnboardingDossierValidationError {
1426
+ path: string;
1427
+ message: string;
1428
+ }
1429
+ interface ProviderOnboardingDossierValidationResult {
1430
+ valid: boolean;
1431
+ errors: ProviderOnboardingDossierValidationError[];
1432
+ }
1433
+ declare function createProviderOnboardingDossier(options: ProviderOnboardingDossierOptions): ProviderOnboardingDossier;
1434
+ declare function validateProviderOnboardingDossier(dossier: unknown): ProviderOnboardingDossierValidationResult;
1435
+ declare function assertProviderOnboardingDossier(dossier: unknown): asserts dossier is ProviderOnboardingDossier;
1436
+ declare function formatProviderOnboardingDossier(dossier: ProviderOnboardingDossier, options?: {
1437
+ format?: ProviderOnboardingDossierFormat;
1438
+ title?: string;
1439
+ }): string;
1440
+
1441
+ type ProviderOnboardingDossierImportStatus = "passed" | "failed";
1442
+ type ProviderOnboardingDossierImportCheckStatus = "passed" | "failed";
1443
+ type ProviderOnboardingDossierImportReportFormat = "json" | "markdown";
1444
+ interface ProviderCatalogFromOnboardingDossiersOptions {
1445
+ dossiers: ProviderOnboardingDossier[];
1446
+ generatedAt?: string;
1447
+ }
1448
+ interface ProviderOnboardingDossierPolicyEvaluationOptions {
1449
+ catalogPolicy?: ProviderCatalogPolicyOptions;
1450
+ adapterInventory: ProviderCatalogPolicyAdapterInventory;
1451
+ queries: ProviderCatalogPolicyExpectedQuery[];
1452
+ }
1453
+ interface ProviderOnboardingDossierEvaluationOptions extends ProviderCatalogFromOnboardingDossiersOptions {
1454
+ policy?: ProviderOnboardingDossierPolicyEvaluationOptions;
1455
+ }
1456
+ interface HostedCatalogPolicyFromOnboardingDossiersOptions extends ProviderCatalogFromOnboardingDossiersOptions, ProviderCatalogPolicyOptions {
1457
+ adapterInventory: ProviderCatalogPolicyAdapterInventory;
1458
+ queries: ProviderCatalogPolicyExpectedQuery[];
1459
+ }
1460
+ interface HostedCatalogPolicyFromOnboardingDossiersResult {
1461
+ catalogPolicy: HostedProviderCatalogPolicyOptions;
1462
+ evaluation: ProviderOnboardingDossierEvaluationResult;
1463
+ }
1464
+ interface ProviderOnboardingDossierImportCheck {
1465
+ name: string;
1466
+ status: ProviderOnboardingDossierImportCheckStatus;
1467
+ message: string;
1468
+ dossierId?: string;
1469
+ providerId?: string;
1470
+ }
1471
+ interface ProviderOnboardingDossierImportDossierResult {
1472
+ dossierId: string;
1473
+ providerId: string;
1474
+ status: ProviderOnboardingDossierStatus;
1475
+ catalogArtifactId: string;
1476
+ conformanceArtifactId: string;
1477
+ imported: boolean;
1478
+ reasons: string[];
1479
+ failedChecks: string[];
1480
+ }
1481
+ interface ProviderOnboardingDossierEvaluationResult {
1482
+ status: ProviderOnboardingDossierImportStatus;
1483
+ checks: ProviderOnboardingDossierImportCheck[];
1484
+ summary: ProviderCatalogSummary & {
1485
+ totalDossiers: number;
1486
+ readyDossiers: number;
1487
+ failedDossiers: number;
1488
+ importedDossiers: number;
1489
+ excludedDossiers: number;
1490
+ policyStatus?: ProviderCatalogPolicyEvaluationResult["status"];
1491
+ };
1492
+ catalog: ProviderCatalog;
1493
+ dossiers: ProviderOnboardingDossierImportDossierResult[];
1494
+ policyEvaluation?: ProviderCatalogPolicyEvaluationResult;
1495
+ }
1496
+ interface ProviderOnboardingDossierImportReportOptions {
1497
+ title?: string;
1498
+ generatedAt?: string;
1499
+ forbiddenOutputValues?: string[];
1500
+ }
1501
+ interface ProviderOnboardingDossierImportReport {
1502
+ title: string;
1503
+ generatedAt: string;
1504
+ status: ProviderOnboardingDossierImportStatus;
1505
+ summary: ProviderOnboardingDossierEvaluationResult["summary"];
1506
+ checks: ProviderOnboardingDossierImportCheck[];
1507
+ dossiers: ProviderOnboardingDossierImportDossierResult[];
1508
+ policyEvaluation?: ProviderCatalogPolicyEvaluationResult;
1509
+ }
1510
+ declare function parseProviderOnboardingDossierJson(json: string): ProviderOnboardingDossier;
1511
+ declare function createProviderCatalogFromOnboardingDossiers(options: ProviderCatalogFromOnboardingDossiersOptions): ProviderCatalog;
1512
+ declare function evaluateProviderOnboardingDossiers(options: ProviderOnboardingDossierEvaluationOptions): ProviderOnboardingDossierEvaluationResult;
1513
+ declare function createHostedCatalogPolicyFromOnboardingDossiers(options: HostedCatalogPolicyFromOnboardingDossiersOptions): HostedCatalogPolicyFromOnboardingDossiersResult;
1514
+ declare function createProviderOnboardingDossierImportReport(result: ProviderOnboardingDossierEvaluationResult, options?: ProviderOnboardingDossierImportReportOptions): ProviderOnboardingDossierImportReport;
1515
+ declare function formatProviderOnboardingDossierImportReport(report: ProviderOnboardingDossierImportReport, options?: {
1516
+ format?: ProviderOnboardingDossierImportReportFormat;
1517
+ }): string;
1518
+
1519
+ interface ProviderDossierCheckCliSkip {
1520
+ skip: true;
1521
+ reason: string;
1522
+ details?: unknown;
1523
+ }
1524
+ interface ProviderDossierCheckCliCatalog {
1525
+ generatedAt?: string;
1526
+ }
1527
+ interface ProviderDossierCheckCliOutputs {
1528
+ json?: string;
1529
+ markdown?: string;
1530
+ catalog?: string;
1531
+ }
1532
+ interface ProviderDossierCheckCliConfig {
1533
+ dossiers?: ProviderOnboardingDossier[];
1534
+ dossierFiles?: string[];
1535
+ catalog?: ProviderDossierCheckCliCatalog;
1536
+ policy?: ProviderOnboardingDossierPolicyEvaluationOptions;
1537
+ report?: ProviderOnboardingDossierImportReportOptions & {
1538
+ format?: ProviderOnboardingDossierImportReportFormat;
1539
+ };
1540
+ outputs?: ProviderDossierCheckCliOutputs;
1541
+ }
1542
+ type ProviderDossierCheckCliConfigExport = ProviderDossierCheckCliConfig | ProviderDossierCheckCliSkip;
1543
+ type ProviderDossierCheckCliConfigFactory = (context: ProviderDossierCheckCliConfigContext) => ProviderDossierCheckCliConfigExport | Promise<ProviderDossierCheckCliConfigExport>;
1544
+ interface ProviderDossierCheckCliConfigContext {
1545
+ argv: string[];
1546
+ cwd: string;
1547
+ }
1548
+ interface ProviderDossierCheckCliOptions {
1549
+ argv?: string[];
1550
+ cwd?: string;
1551
+ }
1552
+ interface ProviderDossierCheckCliResult {
1553
+ exitCode: 0 | 1 | 2;
1554
+ skipped: boolean;
1555
+ skip?: ProviderDossierCheckCliSkip;
1556
+ evaluation?: ProviderOnboardingDossierEvaluationResult;
1557
+ report?: ProviderOnboardingDossierImportReport;
1558
+ catalog?: ProviderCatalog;
1559
+ stdout: string;
1560
+ stderr?: string;
1561
+ artifactPaths?: ProviderDossierCheckCliOutputs;
1562
+ }
1563
+ declare function runProviderDossierCheckCli(options?: ProviderDossierCheckCliOptions): Promise<ProviderDossierCheckCliResult>;
1564
+
1565
+ interface ProviderOnboardingDossierCliSkip {
1566
+ skip: true;
1567
+ reason: string;
1568
+ details?: unknown;
1569
+ }
1570
+ interface ProviderOnboardingDossierCliOutputs {
1571
+ json?: string;
1572
+ markdown?: string;
1573
+ }
1574
+ interface ProviderOnboardingDossierCliDossier extends Omit<ProviderOnboardingDossierOptions, "catalogArtifact" | "conformanceArtifact"> {
1575
+ format?: ProviderOnboardingDossierFormat;
1576
+ title?: string;
1577
+ }
1578
+ interface ProviderOnboardingDossierCliConfig {
1579
+ catalogArtifact?: ProviderCatalogArtifact;
1580
+ catalogArtifactFile?: string;
1581
+ conformanceArtifact?: ProviderConformanceArtifact;
1582
+ conformanceArtifactFile?: string;
1583
+ dossier?: ProviderOnboardingDossierCliDossier;
1584
+ outputs?: ProviderOnboardingDossierCliOutputs;
1585
+ }
1586
+ type ProviderOnboardingDossierCliConfigExport = ProviderOnboardingDossierCliConfig | ProviderOnboardingDossierCliSkip;
1587
+ type ProviderOnboardingDossierCliConfigFactory = (context: ProviderOnboardingDossierCliConfigContext) => ProviderOnboardingDossierCliConfigExport | Promise<ProviderOnboardingDossierCliConfigExport>;
1588
+ interface ProviderOnboardingDossierCliConfigContext {
1589
+ argv: string[];
1590
+ cwd: string;
1591
+ }
1592
+ interface ProviderOnboardingDossierCliOptions {
1593
+ argv?: string[];
1594
+ cwd?: string;
1595
+ }
1596
+ interface ProviderOnboardingDossierCliResult {
1597
+ exitCode: 0 | 1 | 2;
1598
+ skipped: boolean;
1599
+ skip?: ProviderOnboardingDossierCliSkip;
1600
+ dossier?: ProviderOnboardingDossier;
1601
+ stdout: string;
1602
+ stderr?: string;
1603
+ artifactPaths?: ProviderOnboardingDossierCliOutputs;
1604
+ }
1605
+ declare function runProviderOnboardingDossierCli(options?: ProviderOnboardingDossierCliOptions): Promise<ProviderOnboardingDossierCliResult>;
1606
+
1607
+ type ProbeMeshIntegrationTemplateId = "provider-x402-sandbox" | "buyer-hosted-router" | "catalog-policy-ci" | "audit-trail-export";
1608
+ interface ProbeMeshIntegrationTemplateFile {
1609
+ path: string;
1610
+ content: string;
1611
+ executable?: boolean;
1612
+ }
1613
+ interface ProbeMeshIntegrationTemplate {
1614
+ id: ProbeMeshIntegrationTemplateId;
1615
+ name: string;
1616
+ description: string;
1617
+ files: ProbeMeshIntegrationTemplateFile[];
1618
+ }
1619
+ interface ProbeMeshIntegrationTemplateRenderOptions {
1620
+ templateId: ProbeMeshIntegrationTemplateId | string;
1621
+ packageName?: string;
1622
+ sdkVersion?: string;
1623
+ }
1624
+ interface ProbeMeshIntegrationTemplateRenderResult {
1625
+ template: ProbeMeshIntegrationTemplate;
1626
+ packageName: string;
1627
+ files: ProbeMeshIntegrationTemplateFile[];
1628
+ }
1629
+ declare function listProbeMeshIntegrationTemplates(): {
1630
+ files: {
1631
+ path: string;
1632
+ content: string;
1633
+ executable?: boolean;
1634
+ }[];
1635
+ id: ProbeMeshIntegrationTemplateId;
1636
+ name: string;
1637
+ description: string;
1638
+ }[];
1639
+ declare function getProbeMeshIntegrationTemplate(id: ProbeMeshIntegrationTemplateId | string): {
1640
+ files: {
1641
+ path: string;
1642
+ content: string;
1643
+ executable?: boolean;
1644
+ }[];
1645
+ id: ProbeMeshIntegrationTemplateId;
1646
+ name: string;
1647
+ description: string;
1648
+ };
1649
+ declare function renderProbeMeshIntegrationTemplate(options: ProbeMeshIntegrationTemplateRenderOptions): ProbeMeshIntegrationTemplateRenderResult;
1650
+
1651
+ interface ProbeMeshInitCliOptions {
1652
+ argv?: string[];
1653
+ cwd?: string;
1654
+ }
1655
+ interface ProbeMeshInitCliResult {
1656
+ exitCode: 0 | 2;
1657
+ listed: boolean;
1658
+ dryRun: boolean;
1659
+ stdout: string;
1660
+ stderr?: string;
1661
+ templateId?: ProbeMeshIntegrationTemplateId | string;
1662
+ outDir?: string;
1663
+ files?: ProbeMeshIntegrationTemplateFile[];
1664
+ }
1665
+ declare function runProbeMeshInitCli(options?: ProbeMeshInitCliOptions): Promise<ProbeMeshInitCliResult>;
1666
+
1667
+ type ProviderManifestCapabilityHandler<Input = unknown, Data = unknown> = (request: ProbeMeshAdapterCallRequest<Input>, context: ProviderManifestHandlerContext) => ProbeMeshAdapterCallResult<Data> | Promise<ProbeMeshAdapterCallResult<Data>>;
1668
+ type ProviderManifestHandlers = Record<string, ProviderManifestCapabilityHandler>;
1669
+ declare function createAdapterFromManifest(manifest: ProviderManifest, handlers: ProviderManifestHandlers, options?: CreateAdapterFromManifestOptions): ProbeMeshAdapter;
1670
+
1671
+ type ApiKeyPlacement = "header" | "authorization";
1672
+ type ApiKeyResolver = (() => string | undefined) | (() => Promise<string | undefined>);
1673
+ interface ApiKeyProtocolOptions {
1674
+ mode?: ProviderProtocolMode;
1675
+ providerId?: string;
1676
+ apiKey?: string;
1677
+ resolveApiKey?: ApiKeyResolver;
1678
+ placement?: ApiKeyPlacement;
1679
+ headerName?: string;
1680
+ authorizationScheme?: string;
1681
+ }
1682
+ declare function createApiKeyProtocol(options?: ApiKeyProtocolOptions): ProviderProtocolAdapter;
1683
+
1684
+ type X402PaymentRequired = PaymentRequired;
1685
+ type X402PaymentRequirements = PaymentRequirements;
1686
+ type X402PaymentPayload = PaymentPayload;
1687
+ type X402ResourceInfo = ResourceInfo;
1688
+ type X402SettlementResponse = SettleResponse;
1689
+ type X402VerifyResponse = VerifyResponse;
1690
+ interface X402PaymentRequiredConfig {
1691
+ x402Version?: number;
1692
+ error?: string;
1693
+ resource?: string | Partial<X402ResourceInfo>;
1694
+ accepts?: X402PaymentRequirements[];
1695
+ extensions?: Record<string, unknown>;
1696
+ scheme?: string;
1697
+ network?: string;
1698
+ asset?: string;
1699
+ amount?: string;
1700
+ payTo?: string;
1701
+ maxTimeoutSeconds?: number;
1702
+ extra?: Record<string, unknown>;
1703
+ }
1704
+ interface X402PaymentRequiredResolverInput {
1705
+ manifest: ProviderManifest;
1706
+ request: ProbeMeshAdapterCallRequest;
1707
+ context: ProbeMeshAdapterContext;
1708
+ }
1709
+ type X402PaymentRequiredResolver = (input: X402PaymentRequiredResolverInput) => X402PaymentRequired | Promise<X402PaymentRequired>;
1710
+ interface X402SignerInput {
1711
+ paymentRequired: X402PaymentRequired;
1712
+ paymentRequirements: X402PaymentRequirements;
1713
+ manifest: ProviderManifest;
1714
+ request: ProbeMeshAdapterCallRequest;
1715
+ context: ProbeMeshAdapterContext;
1716
+ providerId: string;
1717
+ capability: string;
1718
+ callId: string;
1719
+ paymentId: string;
1720
+ payer: string;
1721
+ }
1722
+ interface X402SignerResult {
1723
+ paymentPayload: X402PaymentPayload;
1724
+ payer?: string;
1725
+ metadata?: Record<string, unknown>;
1726
+ }
1727
+ type X402Signer = (input: X402SignerInput) => X402SignerResult | Promise<X402SignerResult>;
1728
+ interface X402FacilitatorVerifyInput {
1729
+ paymentPayload: X402PaymentPayload;
1730
+ paymentRequirements: X402PaymentRequirements;
1731
+ paymentRequired: X402PaymentRequired;
1732
+ manifest: ProviderManifest;
1733
+ request: ProbeMeshAdapterCallRequest;
1734
+ context: ProbeMeshAdapterContext;
1735
+ providerId: string;
1736
+ capability: string;
1737
+ callId: string;
1738
+ }
1739
+ type X402FacilitatorVerifyResult = X402VerifyResponse;
1740
+ interface X402FacilitatorSettleInput {
1741
+ paymentPayload: X402PaymentPayload;
1742
+ paymentRequirements: X402PaymentRequirements;
1743
+ paymentRequired: X402PaymentRequired;
1744
+ result: ProbeMeshAdapterCallResult;
1745
+ manifest: ProviderManifest;
1746
+ request: ProbeMeshAdapterCallRequest;
1747
+ context: ProbeMeshAdapterContext;
1748
+ providerId: string;
1749
+ capability: string;
1750
+ callId: string;
1751
+ }
1752
+ type X402FacilitatorSettleResult = X402SettlementResponse;
1753
+ interface X402Facilitator {
1754
+ verify(input: X402FacilitatorVerifyInput): X402FacilitatorVerifyResult | Promise<X402FacilitatorVerifyResult>;
1755
+ settle(input: X402FacilitatorSettleInput): X402FacilitatorSettleResult | Promise<X402FacilitatorSettleResult>;
1756
+ }
1757
+ interface X402ProtocolOptions {
1758
+ mode?: ProviderProtocolMode;
1759
+ providerId?: string;
1760
+ payer?: string;
1761
+ paymentId?: string;
1762
+ paymentRequired?: X402PaymentRequiredConfig;
1763
+ resolvePaymentRequired?: X402PaymentRequiredResolver;
1764
+ signer?: X402Signer;
1765
+ facilitator?: X402Facilitator;
1766
+ }
1767
+ interface X402LocalSignerOptions {
1768
+ payer?: string;
1769
+ paymentId?: string;
1770
+ failSign?: boolean;
1771
+ payload?: Record<string, unknown>;
1772
+ }
1773
+ interface X402LocalFacilitatorOptions {
1774
+ payer?: string;
1775
+ failVerify?: boolean;
1776
+ failSettle?: boolean;
1777
+ invalidReason?: string;
1778
+ invalidMessage?: string;
1779
+ errorReason?: string;
1780
+ errorMessage?: string;
1781
+ transaction?: string;
1782
+ }
1783
+ declare function createX402Protocol(options?: X402ProtocolOptions): ProviderProtocolAdapter;
1784
+ declare function createX402LocalSigner(options?: X402LocalSignerOptions): X402Signer;
1785
+ declare function createX402LocalFacilitator(options?: X402LocalFacilitatorOptions): X402Facilitator;
1786
+
1787
+ type X402EvmPrivateKey = `0x${string}`;
1788
+ type X402EvmAddress = `0x${string}`;
1789
+ type X402EvmClientSigner = ClientEvmSigner;
1790
+ interface X402EvmNetworkConfig {
1791
+ network?: Network;
1792
+ networks?: Network[];
1793
+ rpcUrl?: string;
1794
+ schemeOptions?: ExactEvmSchemeOptions;
1795
+ }
1796
+ interface X402EvmSignerMetadata {
1797
+ signer: "evm";
1798
+ scheme: "exact";
1799
+ address: X402EvmAddress;
1800
+ networks: Network[];
1801
+ rpcConfigured: boolean;
1802
+ }
1803
+ interface X402EvmSignerOptions extends X402EvmNetworkConfig {
1804
+ privateKey?: X402EvmPrivateKey;
1805
+ signer?: X402EvmClientSigner | PrivateKeyAccount;
1806
+ }
1807
+ interface X402HttpFacilitatorAuthHeaders {
1808
+ verify: Record<string, string>;
1809
+ settle: Record<string, string>;
1810
+ supported: Record<string, string>;
1811
+ bazaar?: Record<string, string>;
1812
+ }
1813
+ type X402HttpFacilitatorAuthHeaderResolver = () => X402HttpFacilitatorAuthHeaders | Promise<X402HttpFacilitatorAuthHeaders>;
1814
+ interface X402HttpFacilitatorOptions {
1815
+ url?: string;
1816
+ createAuthHeaders?: X402HttpFacilitatorAuthHeaderResolver;
1817
+ timeoutMs?: number;
1818
+ }
1819
+ type X402EvmTestnetEnv = Record<string, string | undefined>;
1820
+ interface X402EvmTestnetConfigOptions {
1821
+ env?: X402EvmTestnetEnv;
1822
+ defaultNetwork?: Network;
1823
+ defaultAmount?: string;
1824
+ defaultFacilitatorUrl?: string;
1825
+ }
1826
+ interface X402EvmTestnetConfig {
1827
+ privateKey: X402EvmPrivateKey;
1828
+ network: Network;
1829
+ rpcUrl?: string;
1830
+ facilitatorUrl: string;
1831
+ amount: string;
1832
+ asset: X402EvmAddress;
1833
+ payTo: X402EvmAddress;
1834
+ assetMetadata: {
1835
+ name: string;
1836
+ version: string;
1837
+ };
1838
+ }
1839
+ interface X402EvmTestnetConfigSummary {
1840
+ network: Network;
1841
+ rpcConfigured: boolean;
1842
+ facilitatorUrl: string;
1843
+ amount: string;
1844
+ asset: X402EvmAddress;
1845
+ payTo: X402EvmAddress;
1846
+ assetMetadata: {
1847
+ name: string;
1848
+ version: string;
1849
+ };
1850
+ privateKeyConfigured: boolean;
1851
+ }
1852
+ interface X402EvmTestnetConfigSkip {
1853
+ reason: string;
1854
+ missingEnv: string[];
1855
+ requiredEnv: string[];
1856
+ optionalEnv: string[];
1857
+ defaults: {
1858
+ network: Network;
1859
+ amount: string;
1860
+ facilitatorUrl: string;
1861
+ };
1862
+ }
1863
+ type X402EvmTestnetConfigResult = {
1864
+ ok: true;
1865
+ config: X402EvmTestnetConfig;
1866
+ summary: X402EvmTestnetConfigSummary;
1867
+ } | {
1868
+ ok: false;
1869
+ skip: X402EvmTestnetConfigSkip;
1870
+ };
1871
+ declare function resolveX402EvmTestnetConfig(options?: X402EvmTestnetConfigOptions): X402EvmTestnetConfigResult;
1872
+ declare function createX402EvmSigner(options?: X402EvmSignerOptions): X402Signer;
1873
+ declare function createX402HttpFacilitator(options?: X402HttpFacilitatorOptions): X402Facilitator;
1874
+
1875
+ interface X402ProviderAcceptanceCliSkip {
1876
+ skip: true;
1877
+ reason: string;
1878
+ details?: unknown;
1879
+ }
1880
+ interface X402ProviderAcceptanceCliOutputs {
1881
+ json?: string;
1882
+ markdown?: string;
1883
+ catalog?: string;
1884
+ }
1885
+ interface X402ProviderAcceptanceCliCatalog {
1886
+ manifest: ProviderManifest;
1887
+ artifactId?: string;
1888
+ generatedAt?: string;
1889
+ }
1890
+ interface X402ProviderAcceptanceCliConfig<Input = unknown> {
1891
+ acceptance: X402ProviderAcceptanceOptions<Input>;
1892
+ report?: X402ProviderAcceptanceReportOptions & {
1893
+ format?: X402ProviderAcceptanceReportFormat;
1894
+ };
1895
+ catalog?: X402ProviderAcceptanceCliCatalog;
1896
+ outputs?: X402ProviderAcceptanceCliOutputs;
1897
+ }
1898
+ type X402ProviderAcceptanceCliConfigExport<Input = unknown> = X402ProviderAcceptanceCliConfig<Input> | X402ProviderAcceptanceCliSkip;
1899
+ type X402ProviderAcceptanceCliConfigFactory<Input = unknown> = (context: X402ProviderAcceptanceCliConfigContext) => X402ProviderAcceptanceCliConfigExport<Input> | Promise<X402ProviderAcceptanceCliConfigExport<Input>>;
1900
+ interface X402ProviderAcceptanceCliConfigContext {
1901
+ argv: string[];
1902
+ cwd: string;
1903
+ }
1904
+ interface X402ProviderAcceptanceCliOptions {
1905
+ argv?: string[];
1906
+ cwd?: string;
1907
+ }
1908
+ interface X402ProviderAcceptanceCliResult {
1909
+ exitCode: 0 | 1 | 2;
1910
+ skipped: boolean;
1911
+ skip?: X402ProviderAcceptanceCliSkip;
1912
+ report?: X402ProviderAcceptanceReport;
1913
+ catalogArtifact?: ProviderCatalogArtifact;
1914
+ stdout: string;
1915
+ stderr?: string;
1916
+ artifactPaths?: X402ProviderAcceptanceCliOutputs;
1917
+ }
1918
+ declare function runX402ProviderAcceptanceCli(options?: X402ProviderAcceptanceCliOptions): Promise<X402ProviderAcceptanceCliResult>;
1919
+
1920
+ interface X402SecretRedactionOptions {
1921
+ replacement?: string;
1922
+ maxDepth?: number;
1923
+ }
1924
+ declare function redactX402Secrets<T>(value: T, options?: X402SecretRedactionOptions): T;
1925
+
1926
+ interface X402SandboxPaymentRequirement {
1927
+ x402Version: 2;
1928
+ scheme: "exact" | "upto" | string;
1929
+ network: string;
1930
+ asset: string;
1931
+ amount: string;
1932
+ payTo: string;
1933
+ resource: string;
1934
+ description?: string;
1935
+ maxTimeoutSeconds?: number;
1936
+ extra?: Record<string, unknown>;
1937
+ }
1938
+ interface X402SandboxPaymentPayload {
1939
+ x402Version: 2;
1940
+ scheme: string;
1941
+ network: string;
1942
+ asset: string;
1943
+ amount: string;
1944
+ payTo: string;
1945
+ resource: string;
1946
+ payer: string;
1947
+ provider: string;
1948
+ callId: string;
1949
+ paymentId: string;
1950
+ issuedAt: string;
1951
+ sandboxSignature: string;
1952
+ }
1953
+ interface X402SandboxSettlementResponse {
1954
+ x402Version: 2;
1955
+ success: boolean;
1956
+ provider: string;
1957
+ payer: string;
1958
+ paymentId: string;
1959
+ paymentAttemptId: string;
1960
+ network: string;
1961
+ asset: string;
1962
+ amount: string;
1963
+ settledAt: string;
1964
+ sandboxSettlementId: string;
1965
+ }
1966
+ interface X402SandboxProtocolOptions {
1967
+ mode?: ProviderProtocolMode;
1968
+ providerId?: string;
1969
+ failPrepare?: boolean;
1970
+ failSettle?: boolean;
1971
+ paymentId?: string;
1972
+ payer?: string;
1973
+ paymentRequired?: Partial<X402SandboxPaymentRequirement>;
1974
+ }
1975
+ declare function createX402SandboxProtocol(options?: X402SandboxProtocolOptions): ProviderProtocolAdapter;
1976
+
1977
+ type ReceiptSource = ProbeMeshCallResponse | ReceiptRef[];
1978
+ interface ReceiptSummary {
1979
+ total: number;
1980
+ types: ReceiptType[];
1981
+ providers: string[];
1982
+ byType: Partial<Record<ReceiptType, number>>;
1983
+ hasPaymentProof: boolean;
1984
+ hasProviderDelivery: boolean;
1985
+ }
1986
+ declare function getReceiptRefs(source: ReceiptSource, type?: ReceiptType): ReceiptRef[];
1987
+ declare function findReceiptRef(source: ReceiptSource, type: ReceiptType): ReceiptRef | undefined;
1988
+ declare function hasReceipt(source: ReceiptSource, type: ReceiptType): boolean;
1989
+ declare function summarizeReceipts(source: ReceiptSource): ReceiptSummary;
1990
+
1991
+ interface PaymentOptionResolutionInput {
1992
+ providerId: string;
1993
+ providerMode?: string;
1994
+ capabilities: string[];
1995
+ capability: string;
1996
+ pricing?: ProbeMeshPricing | Record<string, ProbeMeshPricing>;
1997
+ paymentOptions?: ProviderPaymentOption[];
1998
+ paymentPreferences?: ProbeMeshPaymentPreferences;
1999
+ paymentStrategy?: ProbeMeshPaymentStrategy;
2000
+ defaultReceiptTypes?: ReceiptType[];
2001
+ }
2002
+ interface PaymentOptionResolution {
2003
+ selection?: ProbeMeshPaymentSelection;
2004
+ reason?: string;
2005
+ options: ProviderPaymentOption[];
2006
+ }
2007
+ declare function resolveProviderPaymentOption(input: PaymentOptionResolutionInput): PaymentOptionResolution;
2008
+ declare function getProviderPaymentOptions(input: Omit<PaymentOptionResolutionInput, "capability" | "paymentPreferences">): ProviderPaymentOption[];
2009
+ declare function validatePaymentStrategy(paymentStrategy: unknown, capability: string): void;
2010
+ declare function mergePaymentPreferences(first?: ProbeMeshPaymentPreferences, second?: ProbeMeshPaymentPreferences): ProbeMeshPaymentPreferences | undefined;
2011
+
2012
+ interface JsonSchemaLikeValidationError {
2013
+ path: string;
2014
+ message: string;
2015
+ }
2016
+ interface JsonSchemaLikeValidationResult {
2017
+ valid: boolean;
2018
+ errors: JsonSchemaLikeValidationError[];
2019
+ }
2020
+ interface JsonSchemaLikeValidationOptions {
2021
+ path?: string;
2022
+ }
2023
+ declare function validateJsonSchemaLikeValue(value: unknown, schema: JsonSchemaLike, options?: JsonSchemaLikeValidationOptions): JsonSchemaLikeValidationResult;
2024
+ declare function assertJsonSchemaLikeValue(value: unknown, schema: JsonSchemaLike, options?: JsonSchemaLikeValidationOptions): void;
2025
+
2026
+ export { type ApiKeyPlacement, type ApiKeyProtocolOptions, type ApiKeyResolver, type CallStatus, type Cost, type CreateAdapterFromManifestOptions, type DeliveryStatus, type HostedAuditArtifactOptions, type HostedCatalogPolicyFromOnboardingDossiersOptions, type HostedCatalogPolicyFromOnboardingDossiersResult, type HostedProviderHealthOptions, type HostedRouter, type HostedRouterOptions, type HostedTelemetryEvent, type HostedTelemetryEventType, type JsonSchemaLike, type JsonSchemaLikeValidationError, type JsonSchemaLikeValidationOptions, type JsonSchemaLikeValidationResult, type MockPaymentProtocolOptions, PROBEMESH_AUDIT_TRAIL_BUNDLE_SCHEMA_VERSION, PROBEMESH_CALL_AUDIT_ARTIFACT_SCHEMA_VERSION, PROVIDER_CATALOG_ARTIFACT_SCHEMA_VERSION, PROVIDER_CATALOG_POLICY_BUNDLE_SCHEMA_VERSION, PROVIDER_CATALOG_SCHEMA_VERSION, PROVIDER_CONFORMANCE_ARTIFACT_SCHEMA_VERSION, PROVIDER_ONBOARDING_DOSSIER_SCHEMA_VERSION, type PaidPriceLookupData, type PaidPriceLookupFailureMode, type PaidPriceLookupProviderOptions, type PaymentStatus, type PriceLookupAdapterOptions, type PriceLookupData, type PriceLookupInput, type ProbeMeshAdapter, type ProbeMeshAdapterCallResult, type ProbeMeshAdapterContext, type ProbeMeshAttemptMetadata, type ProbeMeshAuditTrailBundle, type ProbeMeshAuditTrailBundleFormat, type ProbeMeshAuditTrailBundleHashes, type ProbeMeshAuditTrailBundleOptions, type ProbeMeshAuditTrailBundleStatus, type ProbeMeshAuditTrailBundleSummary, type ProbeMeshAuditTrailBundleValidationError, type ProbeMeshAuditTrailBundleValidationResult, type ProbeMeshAuditTrailCollector, type ProbeMeshAuditTrailExportCliBundle, type ProbeMeshAuditTrailExportCliConfig, type ProbeMeshAuditTrailExportCliConfigContext, type ProbeMeshAuditTrailExportCliConfigExport, type ProbeMeshAuditTrailExportCliConfigFactory, type ProbeMeshAuditTrailExportCliOptions, type ProbeMeshAuditTrailExportCliOutputs, type ProbeMeshAuditTrailExportCliResult, type ProbeMeshAuditTrailExportCliSkip, type ProbeMeshCallAuditArtifact, type ProbeMeshCallAuditArtifactCallSummary, type ProbeMeshCallAuditArtifactEvidence, type ProbeMeshCallAuditArtifactFormat, type ProbeMeshCallAuditArtifactHashes, type ProbeMeshCallAuditArtifactOptions, type ProbeMeshCallAuditArtifactReceiptSummary, type ProbeMeshCallAuditArtifactRequestProof, type ProbeMeshCallAuditArtifactStatus, type ProbeMeshCallAuditArtifactTimelineEvent, type ProbeMeshCallAuditArtifactTimelineSummary, type ProbeMeshCallAuditArtifactValidationError, type ProbeMeshCallAuditArtifactValidationResult, type ProbeMeshCallRequest, type ProbeMeshCallResponse, type ProbeMeshCallSafety, type ProbeMeshCallTimeline, type ProbeMeshClient, type ProbeMeshClientOptions, type ProbeMeshConstraints, ProbeMeshError, type ProbeMeshErrorCode, type ProbeMeshHostedClientOptions, type ProbeMeshInitCliOptions, type ProbeMeshInitCliResult, type ProbeMeshIntegrationTemplate, type ProbeMeshIntegrationTemplateFile, type ProbeMeshIntegrationTemplateId, type ProbeMeshIntegrationTemplateRenderOptions, type ProbeMeshIntegrationTemplateRenderResult, type ProbeMeshLocalClientOptions, type ProbeMeshPaymentPreferences, type ProbeMeshPaymentSelection, type ProbeMeshPaymentStrategy, type ProbeMeshPaymentStrategyMode, type ProbeMeshPricing, type ProbeMeshProviderHealthStatus, type ProbeMeshProviderRouteAttempt, type ProbeMeshProviderRouteAttemptStatus, type ProbeMeshRetryRequest, type ProbeMeshRetrySafety, type ProbeMeshRetrySafetyReason, type ProbeMeshRouteDecisionReason, type ProbeMeshRouteExplanation, type ProbeMeshRouteMetadata, type ProbeMeshTimelineEvent, type ProbeMeshTimelineEventType, type ProviderCatalog, type ProviderCatalogArtifact, type ProviderCatalogArtifactFormat, type ProviderCatalogArtifactOptions, type ProviderCatalogArtifactStatus, type ProviderCatalogArtifactValidationError, type ProviderCatalogArtifactValidationResult, type ProviderCatalogEntry, type ProviderCatalogFromOnboardingDossiersOptions, type ProviderCatalogMatch, type ProviderCatalogOptions, type ProviderCatalogPolicyAdapterInventory, type ProviderCatalogPolicyAdapterInventoryEntry, type ProviderCatalogPolicyBundle, type ProviderCatalogPolicyBundleAttestation, type ProviderCatalogPolicyBundleFormat, type ProviderCatalogPolicyBundleHashes, type ProviderCatalogPolicyBundleOptions, type ProviderCatalogPolicyBundleQueryCoverage, type ProviderCatalogPolicyBundleRuntimeVerificationOptions, type ProviderCatalogPolicyBundleRuntimeVerificationResult, type ProviderCatalogPolicyBundleStatus, type ProviderCatalogPolicyBundleValidationError, type ProviderCatalogPolicyBundleValidationResult, type ProviderCatalogPolicyCheck, type ProviderCatalogPolicyCheckStatus, type ProviderCatalogPolicyCliBundle, type ProviderCatalogPolicyCliConfig, type ProviderCatalogPolicyCliConfigContext, type ProviderCatalogPolicyCliConfigExport, type ProviderCatalogPolicyCliConfigFactory, type ProviderCatalogPolicyCliOptions, type ProviderCatalogPolicyCliOutputs, type ProviderCatalogPolicyCliResult, type ProviderCatalogPolicyCliSkip, type ProviderCatalogPolicyEvaluationOptions, type ProviderCatalogPolicyEvaluationResult, type ProviderCatalogPolicyEvaluationStatus, type ProviderCatalogPolicyExpectedQuery, type ProviderCatalogPolicyMissingAdapterMatch, type ProviderCatalogPolicyOptions, type ProviderCatalogPolicyQueryResult, type ProviderCatalogPolicyReport, type ProviderCatalogPolicyReportFormat, type ProviderCatalogPolicyReportOptions, type ProviderCatalogPolicySkippedProvider, type ProviderCatalogQuery, type ProviderCatalogSummary, type ProviderCatalogValidationError, type ProviderCatalogValidationResult, type ProviderConformanceArtifact, type ProviderConformanceArtifactFormat, type ProviderConformanceArtifactHashes, type ProviderConformanceArtifactManifestSummary, type ProviderConformanceArtifactOptions, type ProviderConformanceArtifactReceiptSummary, type ProviderConformanceArtifactStatus, type ProviderConformanceArtifactValidationError, type ProviderConformanceArtifactValidationResult, type ProviderConformanceCheck, type ProviderConformanceCliArtifact, type ProviderConformanceCliConfig, type ProviderConformanceCliConfigContext, type ProviderConformanceCliConfigExport, type ProviderConformanceCliConfigFactory, type ProviderConformanceCliOptions, type ProviderConformanceCliOutputs, type ProviderConformanceCliResult, type ProviderConformanceCliSkip, type ProviderConformanceError, type ProviderConformanceOptions, type ProviderConformanceReport, type ProviderConformanceReportFormat, type ProviderConformanceReportOptions, type ProviderConformanceResult, type ProviderConformanceSchemaValidationMode, type ProviderConformanceStatus, type ProviderConformanceSummary, type ProviderDossierCheckCliCatalog, type ProviderDossierCheckCliConfig, type ProviderDossierCheckCliConfigContext, type ProviderDossierCheckCliConfigExport, type ProviderDossierCheckCliConfigFactory, type ProviderDossierCheckCliOptions, type ProviderDossierCheckCliOutputs, type ProviderDossierCheckCliResult, type ProviderDossierCheckCliSkip, type ProviderLimits, type ProviderManifest, type ProviderManifestCapabilityHandler, type ProviderManifestHandlerContext, type ProviderManifestHandlers, type ProviderManifestValidationError, type ProviderManifestValidationResult, type ProviderMetadata, type ProviderMode, type ProviderOnboardingDossier, type ProviderOnboardingDossierCliConfig, type ProviderOnboardingDossierCliConfigContext, type ProviderOnboardingDossierCliConfigExport, type ProviderOnboardingDossierCliConfigFactory, type ProviderOnboardingDossierCliDossier, type ProviderOnboardingDossierCliOptions, type ProviderOnboardingDossierCliOutputs, type ProviderOnboardingDossierCliResult, type ProviderOnboardingDossierCliSkip, type ProviderOnboardingDossierEvaluationOptions, type ProviderOnboardingDossierEvaluationResult, type ProviderOnboardingDossierEvidence, type ProviderOnboardingDossierFormat, type ProviderOnboardingDossierHashes, type ProviderOnboardingDossierImportCheck, type ProviderOnboardingDossierImportCheckStatus, type ProviderOnboardingDossierImportDossierResult, type ProviderOnboardingDossierImportReport, type ProviderOnboardingDossierImportReportFormat, type ProviderOnboardingDossierImportReportOptions, type ProviderOnboardingDossierImportStatus, type ProviderOnboardingDossierOptions, type ProviderOnboardingDossierPolicyEvaluationOptions, type ProviderOnboardingDossierProviderSummary, type ProviderOnboardingDossierReadiness, type ProviderOnboardingDossierReceiptSummary, type ProviderOnboardingDossierStatus, type ProviderOnboardingDossierValidationError, type ProviderOnboardingDossierValidationResult, type ProviderPaymentOption, type ProviderPreferences, type ProviderProtocolAdapter, type ProviderProtocolExecution, type ProviderProtocolMode, type ProviderProtocolPreparation, type ProviderProtocolPrepareInput, type ProviderProtocolSettleInput, type ProviderProtocolSettlement, type ProviderReceiptSupport, type ReceiptRef, type ReceiptSource, type ReceiptStatus, type ReceiptSummary, type ReceiptType, type SettlementStatus, type StartHostedRouterOptions, type StartedHostedRouter, type X402EvmAddress, type X402EvmClientSigner, type X402EvmNetworkConfig, type X402EvmPrivateKey, type X402EvmSignerMetadata, type X402EvmSignerOptions, type X402EvmTestnetConfig, type X402EvmTestnetConfigOptions, type X402EvmTestnetConfigResult, type X402EvmTestnetConfigSkip, type X402EvmTestnetConfigSummary, type X402EvmTestnetEnv, type X402Facilitator, type X402FacilitatorSettleInput, type X402FacilitatorSettleResult, type X402FacilitatorVerifyInput, type X402FacilitatorVerifyResult, type X402HttpFacilitatorAuthHeaderResolver, type X402HttpFacilitatorAuthHeaders, type X402HttpFacilitatorOptions, type X402LocalFacilitatorOptions, type X402LocalSignerOptions, type X402PaymentPayload, type X402PaymentRequired, type X402PaymentRequiredConfig, type X402PaymentRequiredResolver, type X402PaymentRequiredResolverInput, type X402PaymentRequirements, type X402ProtocolOptions, type X402ProviderAcceptanceCheck, type X402ProviderAcceptanceCliCatalog, type X402ProviderAcceptanceCliConfig, type X402ProviderAcceptanceCliConfigContext, type X402ProviderAcceptanceCliConfigExport, type X402ProviderAcceptanceCliConfigFactory, type X402ProviderAcceptanceCliOptions, type X402ProviderAcceptanceCliOutputs, type X402ProviderAcceptanceCliResult, type X402ProviderAcceptanceCliSkip, type X402ProviderAcceptanceError, type X402ProviderAcceptanceGate, type X402ProviderAcceptanceGateOptions, type X402ProviderAcceptanceGateStatus, type X402ProviderAcceptanceOptions, type X402ProviderAcceptanceReport, type X402ProviderAcceptanceReportFormat, type X402ProviderAcceptanceReportOptions, type X402ProviderAcceptanceResult, type X402ProviderAcceptanceStatus, type X402ProviderAcceptanceSummary, type X402ResourceInfo, type X402SandboxPaymentPayload, type X402SandboxPaymentRequirement, type X402SandboxProtocolOptions, type X402SandboxSettlementResponse, type X402SecretRedactionOptions, type X402SettlementResponse, type X402Signer, type X402SignerInput, type X402SignerResult, type X402VerifyResponse, assertJsonSchemaLikeValue, assertProbeMeshAuditTrailBundle, assertProbeMeshCallAuditArtifact, assertProviderCatalog, assertProviderCatalogArtifact, assertProviderCatalogPolicyBundle, assertProviderConformanceArtifact, assertProviderManifest, assertProviderOnboardingDossier, createAdapterFromManifest, createApiKeyProtocol, createHostedCatalogPolicyFromOnboardingDossiers, createHostedRouter, createMockPaymentProtocol, createPaidPriceLookupProvider, createPriceLookupAdapter, createProbeMesh, createProbeMeshAuditTrailBundle, createProbeMeshAuditTrailCollector, createProbeMeshCallAuditArtifact, createProviderCatalog, createProviderCatalogArtifact, createProviderCatalogFromOnboardingDossiers, createProviderCatalogPolicyBundle, createProviderCatalogPolicyReport, createProviderConformanceArtifact, createProviderConformanceReport, createProviderOnboardingDossier, createProviderOnboardingDossierImportReport, createX402EvmSigner, createX402HttpFacilitator, createX402LocalFacilitator, createX402LocalSigner, createX402Protocol, createX402ProviderAcceptanceReport, createX402SandboxProtocol, evaluateProviderCatalogPolicy, evaluateProviderOnboardingDossiers, evaluateX402ProviderAcceptanceGate, findProviderCatalogMatches, findReceiptRef, formatProbeMeshAuditTrailBundle, formatProbeMeshCallAuditArtifact, formatProviderCatalogArtifact, formatProviderCatalogPolicyBundle, formatProviderCatalogPolicyReport, formatProviderConformanceArtifact, formatProviderConformanceReport, formatProviderOnboardingDossier, formatProviderOnboardingDossierImportReport, formatX402ProviderAcceptanceReport, getProbeMeshIntegrationTemplate, getProviderPaymentOptions, getReceiptRefs, hasReceipt, isProbeMeshError, listProbeMeshIntegrationTemplates, mergePaymentPreferences, parseProviderCatalogArtifactJson, parseProviderOnboardingDossierJson, redactX402Secrets, renderProbeMeshIntegrationTemplate, resolveProviderPaymentOption, resolveX402EvmTestnetConfig, runProbeMeshAuditTrailExportCli, runProbeMeshInitCli, runProviderCatalogPolicyCli, runProviderConformance, runProviderConformanceCli, runProviderDossierCheckCli, runProviderOnboardingDossierCli, runX402ProviderAcceptance, runX402ProviderAcceptanceCli, startHostedRouter, summarizeProbeMeshAuditTrailBundle, summarizeProviderCatalog, summarizeReceipts, summarizeX402AcceptanceResult, validateJsonSchemaLikeValue, validatePaymentStrategy, validateProbeMeshAuditTrailBundle, validateProbeMeshCallAuditArtifact, validateProviderCatalog, validateProviderCatalogArtifact, validateProviderCatalogPolicyBundle, validateProviderConformanceArtifact, validateProviderManifest, validateProviderOnboardingDossier, verifyProviderCatalogPolicyBundleRuntime };