@bankofai/x402-core 2.6.0-beta.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 (74) hide show
  1. package/README.md +293 -0
  2. package/dist/cjs/assetRegistry-CL0zA4s0.d.ts +831 -0
  3. package/dist/cjs/assetRegistry-CRVM0KEs.d.ts +831 -0
  4. package/dist/cjs/client/index.d.ts +329 -0
  5. package/dist/cjs/client/index.js +712 -0
  6. package/dist/cjs/client/index.js.map +1 -0
  7. package/dist/cjs/facilitator/index.d.ts +206 -0
  8. package/dist/cjs/facilitator/index.js +625 -0
  9. package/dist/cjs/facilitator/index.js.map +1 -0
  10. package/dist/cjs/http/index.d.ts +51 -0
  11. package/dist/cjs/http/index.js +1178 -0
  12. package/dist/cjs/http/index.js.map +1 -0
  13. package/dist/cjs/index.d.ts +13 -0
  14. package/dist/cjs/index.js +250 -0
  15. package/dist/cjs/index.js.map +1 -0
  16. package/dist/cjs/mechanisms-q7I6xfUE.d.ts +726 -0
  17. package/dist/cjs/schemas/index.d.ts +825 -0
  18. package/dist/cjs/schemas/index.js +212 -0
  19. package/dist/cjs/schemas/index.js.map +1 -0
  20. package/dist/cjs/server/index.d.ts +2 -0
  21. package/dist/cjs/server/index.js +1782 -0
  22. package/dist/cjs/server/index.js.map +1 -0
  23. package/dist/cjs/types/index.d.ts +1 -0
  24. package/dist/cjs/types/index.js +72 -0
  25. package/dist/cjs/types/index.js.map +1 -0
  26. package/dist/cjs/types/v1/index.d.ts +1 -0
  27. package/dist/cjs/types/v1/index.js +19 -0
  28. package/dist/cjs/types/v1/index.js.map +1 -0
  29. package/dist/cjs/utils/index.d.ts +48 -0
  30. package/dist/cjs/utils/index.js +116 -0
  31. package/dist/cjs/utils/index.js.map +1 -0
  32. package/dist/cjs/x402HTTPResourceServer-BFVo1_74.d.ts +433 -0
  33. package/dist/cjs/x402HTTPResourceServer-DaU2yFzy.d.ts +434 -0
  34. package/dist/cjs/x402HTTPResourceServer-DswI2hZQ.d.ts +434 -0
  35. package/dist/esm/assetRegistry-CRVM0KEs.d.mts +831 -0
  36. package/dist/esm/chunk-BJTO5JO5.mjs +11 -0
  37. package/dist/esm/chunk-BJTO5JO5.mjs.map +1 -0
  38. package/dist/esm/chunk-DACUCTGT.mjs +891 -0
  39. package/dist/esm/chunk-DACUCTGT.mjs.map +1 -0
  40. package/dist/esm/chunk-DFUINDLZ.mjs +221 -0
  41. package/dist/esm/chunk-DFUINDLZ.mjs.map +1 -0
  42. package/dist/esm/chunk-HRQUGJ3Y.mjs +45 -0
  43. package/dist/esm/chunk-HRQUGJ3Y.mjs.map +1 -0
  44. package/dist/esm/chunk-TDLQZ6MP.mjs +86 -0
  45. package/dist/esm/chunk-TDLQZ6MP.mjs.map +1 -0
  46. package/dist/esm/client/index.d.mts +329 -0
  47. package/dist/esm/client/index.mjs +330 -0
  48. package/dist/esm/client/index.mjs.map +1 -0
  49. package/dist/esm/facilitator/index.d.mts +206 -0
  50. package/dist/esm/facilitator/index.mjs +398 -0
  51. package/dist/esm/facilitator/index.mjs.map +1 -0
  52. package/dist/esm/http/index.d.mts +51 -0
  53. package/dist/esm/http/index.mjs +29 -0
  54. package/dist/esm/http/index.mjs.map +1 -0
  55. package/dist/esm/index.d.mts +13 -0
  56. package/dist/esm/index.mjs +14 -0
  57. package/dist/esm/index.mjs.map +1 -0
  58. package/dist/esm/schemas/index.d.mts +825 -0
  59. package/dist/esm/schemas/index.mjs +158 -0
  60. package/dist/esm/schemas/index.mjs.map +1 -0
  61. package/dist/esm/server/index.d.mts +2 -0
  62. package/dist/esm/server/index.mjs +712 -0
  63. package/dist/esm/server/index.mjs.map +1 -0
  64. package/dist/esm/types/index.d.mts +1 -0
  65. package/dist/esm/types/index.mjs +10 -0
  66. package/dist/esm/types/index.mjs.map +1 -0
  67. package/dist/esm/types/v1/index.d.mts +1 -0
  68. package/dist/esm/types/v1/index.mjs +1 -0
  69. package/dist/esm/types/v1/index.mjs.map +1 -0
  70. package/dist/esm/utils/index.d.mts +48 -0
  71. package/dist/esm/utils/index.mjs +20 -0
  72. package/dist/esm/utils/index.mjs.map +1 -0
  73. package/dist/esm/x402HTTPResourceServer-B6uf_UDm.d.mts +434 -0
  74. package/package.json +139 -0
@@ -0,0 +1,825 @@
1
+ import { z } from 'zod';
2
+ export { z } from 'zod';
3
+
4
+ /**
5
+ * Non-empty string schema - a string with at least one character.
6
+ * Used for required string fields that cannot be empty.
7
+ */
8
+ declare const NonEmptyString: z.ZodString;
9
+ type NonEmptyString = z.infer<typeof NonEmptyString>;
10
+ /**
11
+ * Any record schema - an object with unknown keys and values.
12
+ * Used for scheme-specific payloads and other extensible objects.
13
+ */
14
+ declare const Any: z.ZodRecord<z.ZodString, z.ZodUnknown>;
15
+ type Any = z.infer<typeof Any>;
16
+ /**
17
+ * Optional any record schema - an optional object with unknown keys and values.
18
+ * Used for optional extension fields like `extra` and `extensions`.
19
+ */
20
+ declare const OptionalAny: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
21
+ type OptionalAny = z.infer<typeof OptionalAny>;
22
+ /**
23
+ * Network identifier schema for V1 - loose validation.
24
+ * V1 accepts any non-empty string for backwards compatibility.
25
+ */
26
+ declare const NetworkSchemaV1: z.ZodString;
27
+ type NetworkV1 = z.infer<typeof NetworkSchemaV1>;
28
+ /**
29
+ * Network identifier schema for V2 - CAIP-2 format validation.
30
+ * V2 requires minimum length of 3 and a colon separator (e.g., "eip155:84532", "solana:devnet").
31
+ */
32
+ declare const NetworkSchemaV2: z.ZodEffects<z.ZodString, string, string>;
33
+ type NetworkV2 = z.infer<typeof NetworkSchemaV2>;
34
+ /**
35
+ * Union network schema - accepts either V1 or V2 format.
36
+ */
37
+ declare const NetworkSchema: z.ZodUnion<[z.ZodString, z.ZodEffects<z.ZodString, string, string>]>;
38
+ type Network = z.infer<typeof NetworkSchema>;
39
+ /**
40
+ * ResourceInfo schema for V2 - describes the protected resource.
41
+ */
42
+ declare const ResourceInfoSchema: z.ZodObject<{
43
+ url: z.ZodString;
44
+ description: z.ZodOptional<z.ZodString>;
45
+ mimeType: z.ZodOptional<z.ZodString>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ url: string;
48
+ description?: string | undefined;
49
+ mimeType?: string | undefined;
50
+ }, {
51
+ url: string;
52
+ description?: string | undefined;
53
+ mimeType?: string | undefined;
54
+ }>;
55
+ type ResourceInfo = z.infer<typeof ResourceInfoSchema>;
56
+ /**
57
+ * PaymentRequirements schema for V1.
58
+ * V1 includes resource info directly in the requirements object.
59
+ */
60
+ declare const PaymentRequirementsV1Schema: z.ZodObject<{
61
+ scheme: z.ZodString;
62
+ network: z.ZodString;
63
+ maxAmountRequired: z.ZodString;
64
+ resource: z.ZodString;
65
+ description: z.ZodString;
66
+ mimeType: z.ZodOptional<z.ZodString>;
67
+ outputSchema: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
68
+ payTo: z.ZodString;
69
+ maxTimeoutSeconds: z.ZodNumber;
70
+ asset: z.ZodString;
71
+ extra: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
72
+ }, "strip", z.ZodTypeAny, {
73
+ description: string;
74
+ scheme: string;
75
+ network: string;
76
+ maxAmountRequired: string;
77
+ resource: string;
78
+ payTo: string;
79
+ maxTimeoutSeconds: number;
80
+ asset: string;
81
+ mimeType?: string | undefined;
82
+ outputSchema?: Record<string, unknown> | null | undefined;
83
+ extra?: Record<string, unknown> | null | undefined;
84
+ }, {
85
+ description: string;
86
+ scheme: string;
87
+ network: string;
88
+ maxAmountRequired: string;
89
+ resource: string;
90
+ payTo: string;
91
+ maxTimeoutSeconds: number;
92
+ asset: string;
93
+ mimeType?: string | undefined;
94
+ outputSchema?: Record<string, unknown> | null | undefined;
95
+ extra?: Record<string, unknown> | null | undefined;
96
+ }>;
97
+ type PaymentRequirementsV1 = z.infer<typeof PaymentRequirementsV1Schema>;
98
+ /**
99
+ * PaymentRequired (402 response) schema for V1.
100
+ * Contains payment requirements when a resource requires payment.
101
+ */
102
+ declare const PaymentRequiredV1Schema: z.ZodObject<{
103
+ x402Version: z.ZodLiteral<1>;
104
+ error: z.ZodOptional<z.ZodString>;
105
+ accepts: z.ZodArray<z.ZodObject<{
106
+ scheme: z.ZodString;
107
+ network: z.ZodString;
108
+ maxAmountRequired: z.ZodString;
109
+ resource: z.ZodString;
110
+ description: z.ZodString;
111
+ mimeType: z.ZodOptional<z.ZodString>;
112
+ outputSchema: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
113
+ payTo: z.ZodString;
114
+ maxTimeoutSeconds: z.ZodNumber;
115
+ asset: z.ZodString;
116
+ extra: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ description: string;
119
+ scheme: string;
120
+ network: string;
121
+ maxAmountRequired: string;
122
+ resource: string;
123
+ payTo: string;
124
+ maxTimeoutSeconds: number;
125
+ asset: string;
126
+ mimeType?: string | undefined;
127
+ outputSchema?: Record<string, unknown> | null | undefined;
128
+ extra?: Record<string, unknown> | null | undefined;
129
+ }, {
130
+ description: string;
131
+ scheme: string;
132
+ network: string;
133
+ maxAmountRequired: string;
134
+ resource: string;
135
+ payTo: string;
136
+ maxTimeoutSeconds: number;
137
+ asset: string;
138
+ mimeType?: string | undefined;
139
+ outputSchema?: Record<string, unknown> | null | undefined;
140
+ extra?: Record<string, unknown> | null | undefined;
141
+ }>, "many">;
142
+ }, "strip", z.ZodTypeAny, {
143
+ x402Version: 1;
144
+ accepts: {
145
+ description: string;
146
+ scheme: string;
147
+ network: string;
148
+ maxAmountRequired: string;
149
+ resource: string;
150
+ payTo: string;
151
+ maxTimeoutSeconds: number;
152
+ asset: string;
153
+ mimeType?: string | undefined;
154
+ outputSchema?: Record<string, unknown> | null | undefined;
155
+ extra?: Record<string, unknown> | null | undefined;
156
+ }[];
157
+ error?: string | undefined;
158
+ }, {
159
+ x402Version: 1;
160
+ accepts: {
161
+ description: string;
162
+ scheme: string;
163
+ network: string;
164
+ maxAmountRequired: string;
165
+ resource: string;
166
+ payTo: string;
167
+ maxTimeoutSeconds: number;
168
+ asset: string;
169
+ mimeType?: string | undefined;
170
+ outputSchema?: Record<string, unknown> | null | undefined;
171
+ extra?: Record<string, unknown> | null | undefined;
172
+ }[];
173
+ error?: string | undefined;
174
+ }>;
175
+ type PaymentRequiredV1 = z.infer<typeof PaymentRequiredV1Schema>;
176
+ /**
177
+ * PaymentPayload schema for V1.
178
+ * Contains the payment data sent by the client.
179
+ */
180
+ declare const PaymentPayloadV1Schema: z.ZodObject<{
181
+ x402Version: z.ZodLiteral<1>;
182
+ scheme: z.ZodString;
183
+ network: z.ZodString;
184
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
185
+ }, "strip", z.ZodTypeAny, {
186
+ scheme: string;
187
+ network: string;
188
+ x402Version: 1;
189
+ payload: Record<string, unknown>;
190
+ }, {
191
+ scheme: string;
192
+ network: string;
193
+ x402Version: 1;
194
+ payload: Record<string, unknown>;
195
+ }>;
196
+ type PaymentPayloadV1 = z.infer<typeof PaymentPayloadV1Schema>;
197
+ /**
198
+ * PaymentRequirements schema for V2.
199
+ * V2 uses "amount" instead of "maxAmountRequired" and doesn't include resource info.
200
+ */
201
+ declare const PaymentRequirementsV2Schema: z.ZodObject<{
202
+ scheme: z.ZodString;
203
+ network: z.ZodEffects<z.ZodString, string, string>;
204
+ amount: z.ZodString;
205
+ asset: z.ZodString;
206
+ payTo: z.ZodString;
207
+ maxTimeoutSeconds: z.ZodNumber;
208
+ extra: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
209
+ }, "strip", z.ZodTypeAny, {
210
+ scheme: string;
211
+ network: string;
212
+ payTo: string;
213
+ maxTimeoutSeconds: number;
214
+ asset: string;
215
+ amount: string;
216
+ extra?: Record<string, unknown> | null | undefined;
217
+ }, {
218
+ scheme: string;
219
+ network: string;
220
+ payTo: string;
221
+ maxTimeoutSeconds: number;
222
+ asset: string;
223
+ amount: string;
224
+ extra?: Record<string, unknown> | null | undefined;
225
+ }>;
226
+ type PaymentRequirementsV2 = z.infer<typeof PaymentRequirementsV2Schema>;
227
+ /**
228
+ * PaymentRequired (402 response) schema for V2.
229
+ * Contains payment requirements when a resource requires payment.
230
+ */
231
+ declare const PaymentRequiredV2Schema: z.ZodObject<{
232
+ x402Version: z.ZodLiteral<2>;
233
+ error: z.ZodOptional<z.ZodString>;
234
+ resource: z.ZodObject<{
235
+ url: z.ZodString;
236
+ description: z.ZodOptional<z.ZodString>;
237
+ mimeType: z.ZodOptional<z.ZodString>;
238
+ }, "strip", z.ZodTypeAny, {
239
+ url: string;
240
+ description?: string | undefined;
241
+ mimeType?: string | undefined;
242
+ }, {
243
+ url: string;
244
+ description?: string | undefined;
245
+ mimeType?: string | undefined;
246
+ }>;
247
+ accepts: z.ZodArray<z.ZodObject<{
248
+ scheme: z.ZodString;
249
+ network: z.ZodEffects<z.ZodString, string, string>;
250
+ amount: z.ZodString;
251
+ asset: z.ZodString;
252
+ payTo: z.ZodString;
253
+ maxTimeoutSeconds: z.ZodNumber;
254
+ extra: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ scheme: string;
257
+ network: string;
258
+ payTo: string;
259
+ maxTimeoutSeconds: number;
260
+ asset: string;
261
+ amount: string;
262
+ extra?: Record<string, unknown> | null | undefined;
263
+ }, {
264
+ scheme: string;
265
+ network: string;
266
+ payTo: string;
267
+ maxTimeoutSeconds: number;
268
+ asset: string;
269
+ amount: string;
270
+ extra?: Record<string, unknown> | null | undefined;
271
+ }>, "many">;
272
+ extensions: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
273
+ }, "strip", z.ZodTypeAny, {
274
+ resource: {
275
+ url: string;
276
+ description?: string | undefined;
277
+ mimeType?: string | undefined;
278
+ };
279
+ x402Version: 2;
280
+ accepts: {
281
+ scheme: string;
282
+ network: string;
283
+ payTo: string;
284
+ maxTimeoutSeconds: number;
285
+ asset: string;
286
+ amount: string;
287
+ extra?: Record<string, unknown> | null | undefined;
288
+ }[];
289
+ error?: string | undefined;
290
+ extensions?: Record<string, unknown> | null | undefined;
291
+ }, {
292
+ resource: {
293
+ url: string;
294
+ description?: string | undefined;
295
+ mimeType?: string | undefined;
296
+ };
297
+ x402Version: 2;
298
+ accepts: {
299
+ scheme: string;
300
+ network: string;
301
+ payTo: string;
302
+ maxTimeoutSeconds: number;
303
+ asset: string;
304
+ amount: string;
305
+ extra?: Record<string, unknown> | null | undefined;
306
+ }[];
307
+ error?: string | undefined;
308
+ extensions?: Record<string, unknown> | null | undefined;
309
+ }>;
310
+ type PaymentRequiredV2 = z.infer<typeof PaymentRequiredV2Schema>;
311
+ /**
312
+ * PaymentPayload schema for V2.
313
+ * Contains the payment data sent by the client.
314
+ */
315
+ declare const PaymentPayloadV2Schema: z.ZodObject<{
316
+ x402Version: z.ZodLiteral<2>;
317
+ resource: z.ZodOptional<z.ZodObject<{
318
+ url: z.ZodString;
319
+ description: z.ZodOptional<z.ZodString>;
320
+ mimeType: z.ZodOptional<z.ZodString>;
321
+ }, "strip", z.ZodTypeAny, {
322
+ url: string;
323
+ description?: string | undefined;
324
+ mimeType?: string | undefined;
325
+ }, {
326
+ url: string;
327
+ description?: string | undefined;
328
+ mimeType?: string | undefined;
329
+ }>>;
330
+ accepted: z.ZodObject<{
331
+ scheme: z.ZodString;
332
+ network: z.ZodEffects<z.ZodString, string, string>;
333
+ amount: z.ZodString;
334
+ asset: z.ZodString;
335
+ payTo: z.ZodString;
336
+ maxTimeoutSeconds: z.ZodNumber;
337
+ extra: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
338
+ }, "strip", z.ZodTypeAny, {
339
+ scheme: string;
340
+ network: string;
341
+ payTo: string;
342
+ maxTimeoutSeconds: number;
343
+ asset: string;
344
+ amount: string;
345
+ extra?: Record<string, unknown> | null | undefined;
346
+ }, {
347
+ scheme: string;
348
+ network: string;
349
+ payTo: string;
350
+ maxTimeoutSeconds: number;
351
+ asset: string;
352
+ amount: string;
353
+ extra?: Record<string, unknown> | null | undefined;
354
+ }>;
355
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
356
+ extensions: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
357
+ }, "strip", z.ZodTypeAny, {
358
+ x402Version: 2;
359
+ payload: Record<string, unknown>;
360
+ accepted: {
361
+ scheme: string;
362
+ network: string;
363
+ payTo: string;
364
+ maxTimeoutSeconds: number;
365
+ asset: string;
366
+ amount: string;
367
+ extra?: Record<string, unknown> | null | undefined;
368
+ };
369
+ resource?: {
370
+ url: string;
371
+ description?: string | undefined;
372
+ mimeType?: string | undefined;
373
+ } | undefined;
374
+ extensions?: Record<string, unknown> | null | undefined;
375
+ }, {
376
+ x402Version: 2;
377
+ payload: Record<string, unknown>;
378
+ accepted: {
379
+ scheme: string;
380
+ network: string;
381
+ payTo: string;
382
+ maxTimeoutSeconds: number;
383
+ asset: string;
384
+ amount: string;
385
+ extra?: Record<string, unknown> | null | undefined;
386
+ };
387
+ resource?: {
388
+ url: string;
389
+ description?: string | undefined;
390
+ mimeType?: string | undefined;
391
+ } | undefined;
392
+ extensions?: Record<string, unknown> | null | undefined;
393
+ }>;
394
+ type PaymentPayloadV2 = z.infer<typeof PaymentPayloadV2Schema>;
395
+ /**
396
+ * PaymentRequirements union schema - accepts either V1 or V2 format.
397
+ * Use this when you need to handle both versions.
398
+ */
399
+ declare const PaymentRequirementsSchema: z.ZodUnion<[z.ZodObject<{
400
+ scheme: z.ZodString;
401
+ network: z.ZodString;
402
+ maxAmountRequired: z.ZodString;
403
+ resource: z.ZodString;
404
+ description: z.ZodString;
405
+ mimeType: z.ZodOptional<z.ZodString>;
406
+ outputSchema: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
407
+ payTo: z.ZodString;
408
+ maxTimeoutSeconds: z.ZodNumber;
409
+ asset: z.ZodString;
410
+ extra: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
411
+ }, "strip", z.ZodTypeAny, {
412
+ description: string;
413
+ scheme: string;
414
+ network: string;
415
+ maxAmountRequired: string;
416
+ resource: string;
417
+ payTo: string;
418
+ maxTimeoutSeconds: number;
419
+ asset: string;
420
+ mimeType?: string | undefined;
421
+ outputSchema?: Record<string, unknown> | null | undefined;
422
+ extra?: Record<string, unknown> | null | undefined;
423
+ }, {
424
+ description: string;
425
+ scheme: string;
426
+ network: string;
427
+ maxAmountRequired: string;
428
+ resource: string;
429
+ payTo: string;
430
+ maxTimeoutSeconds: number;
431
+ asset: string;
432
+ mimeType?: string | undefined;
433
+ outputSchema?: Record<string, unknown> | null | undefined;
434
+ extra?: Record<string, unknown> | null | undefined;
435
+ }>, z.ZodObject<{
436
+ scheme: z.ZodString;
437
+ network: z.ZodEffects<z.ZodString, string, string>;
438
+ amount: z.ZodString;
439
+ asset: z.ZodString;
440
+ payTo: z.ZodString;
441
+ maxTimeoutSeconds: z.ZodNumber;
442
+ extra: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
443
+ }, "strip", z.ZodTypeAny, {
444
+ scheme: string;
445
+ network: string;
446
+ payTo: string;
447
+ maxTimeoutSeconds: number;
448
+ asset: string;
449
+ amount: string;
450
+ extra?: Record<string, unknown> | null | undefined;
451
+ }, {
452
+ scheme: string;
453
+ network: string;
454
+ payTo: string;
455
+ maxTimeoutSeconds: number;
456
+ asset: string;
457
+ amount: string;
458
+ extra?: Record<string, unknown> | null | undefined;
459
+ }>]>;
460
+ type PaymentRequirements = z.infer<typeof PaymentRequirementsSchema>;
461
+ /**
462
+ * PaymentRequired union schema - accepts either V1 or V2 format.
463
+ * Uses discriminated union on x402Version for efficient parsing.
464
+ */
465
+ declare const PaymentRequiredSchema: z.ZodDiscriminatedUnion<"x402Version", [z.ZodObject<{
466
+ x402Version: z.ZodLiteral<1>;
467
+ error: z.ZodOptional<z.ZodString>;
468
+ accepts: z.ZodArray<z.ZodObject<{
469
+ scheme: z.ZodString;
470
+ network: z.ZodString;
471
+ maxAmountRequired: z.ZodString;
472
+ resource: z.ZodString;
473
+ description: z.ZodString;
474
+ mimeType: z.ZodOptional<z.ZodString>;
475
+ outputSchema: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
476
+ payTo: z.ZodString;
477
+ maxTimeoutSeconds: z.ZodNumber;
478
+ asset: z.ZodString;
479
+ extra: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
480
+ }, "strip", z.ZodTypeAny, {
481
+ description: string;
482
+ scheme: string;
483
+ network: string;
484
+ maxAmountRequired: string;
485
+ resource: string;
486
+ payTo: string;
487
+ maxTimeoutSeconds: number;
488
+ asset: string;
489
+ mimeType?: string | undefined;
490
+ outputSchema?: Record<string, unknown> | null | undefined;
491
+ extra?: Record<string, unknown> | null | undefined;
492
+ }, {
493
+ description: string;
494
+ scheme: string;
495
+ network: string;
496
+ maxAmountRequired: string;
497
+ resource: string;
498
+ payTo: string;
499
+ maxTimeoutSeconds: number;
500
+ asset: string;
501
+ mimeType?: string | undefined;
502
+ outputSchema?: Record<string, unknown> | null | undefined;
503
+ extra?: Record<string, unknown> | null | undefined;
504
+ }>, "many">;
505
+ }, "strip", z.ZodTypeAny, {
506
+ x402Version: 1;
507
+ accepts: {
508
+ description: string;
509
+ scheme: string;
510
+ network: string;
511
+ maxAmountRequired: string;
512
+ resource: string;
513
+ payTo: string;
514
+ maxTimeoutSeconds: number;
515
+ asset: string;
516
+ mimeType?: string | undefined;
517
+ outputSchema?: Record<string, unknown> | null | undefined;
518
+ extra?: Record<string, unknown> | null | undefined;
519
+ }[];
520
+ error?: string | undefined;
521
+ }, {
522
+ x402Version: 1;
523
+ accepts: {
524
+ description: string;
525
+ scheme: string;
526
+ network: string;
527
+ maxAmountRequired: string;
528
+ resource: string;
529
+ payTo: string;
530
+ maxTimeoutSeconds: number;
531
+ asset: string;
532
+ mimeType?: string | undefined;
533
+ outputSchema?: Record<string, unknown> | null | undefined;
534
+ extra?: Record<string, unknown> | null | undefined;
535
+ }[];
536
+ error?: string | undefined;
537
+ }>, z.ZodObject<{
538
+ x402Version: z.ZodLiteral<2>;
539
+ error: z.ZodOptional<z.ZodString>;
540
+ resource: z.ZodObject<{
541
+ url: z.ZodString;
542
+ description: z.ZodOptional<z.ZodString>;
543
+ mimeType: z.ZodOptional<z.ZodString>;
544
+ }, "strip", z.ZodTypeAny, {
545
+ url: string;
546
+ description?: string | undefined;
547
+ mimeType?: string | undefined;
548
+ }, {
549
+ url: string;
550
+ description?: string | undefined;
551
+ mimeType?: string | undefined;
552
+ }>;
553
+ accepts: z.ZodArray<z.ZodObject<{
554
+ scheme: z.ZodString;
555
+ network: z.ZodEffects<z.ZodString, string, string>;
556
+ amount: z.ZodString;
557
+ asset: z.ZodString;
558
+ payTo: z.ZodString;
559
+ maxTimeoutSeconds: z.ZodNumber;
560
+ extra: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
561
+ }, "strip", z.ZodTypeAny, {
562
+ scheme: string;
563
+ network: string;
564
+ payTo: string;
565
+ maxTimeoutSeconds: number;
566
+ asset: string;
567
+ amount: string;
568
+ extra?: Record<string, unknown> | null | undefined;
569
+ }, {
570
+ scheme: string;
571
+ network: string;
572
+ payTo: string;
573
+ maxTimeoutSeconds: number;
574
+ asset: string;
575
+ amount: string;
576
+ extra?: Record<string, unknown> | null | undefined;
577
+ }>, "many">;
578
+ extensions: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
579
+ }, "strip", z.ZodTypeAny, {
580
+ resource: {
581
+ url: string;
582
+ description?: string | undefined;
583
+ mimeType?: string | undefined;
584
+ };
585
+ x402Version: 2;
586
+ accepts: {
587
+ scheme: string;
588
+ network: string;
589
+ payTo: string;
590
+ maxTimeoutSeconds: number;
591
+ asset: string;
592
+ amount: string;
593
+ extra?: Record<string, unknown> | null | undefined;
594
+ }[];
595
+ error?: string | undefined;
596
+ extensions?: Record<string, unknown> | null | undefined;
597
+ }, {
598
+ resource: {
599
+ url: string;
600
+ description?: string | undefined;
601
+ mimeType?: string | undefined;
602
+ };
603
+ x402Version: 2;
604
+ accepts: {
605
+ scheme: string;
606
+ network: string;
607
+ payTo: string;
608
+ maxTimeoutSeconds: number;
609
+ asset: string;
610
+ amount: string;
611
+ extra?: Record<string, unknown> | null | undefined;
612
+ }[];
613
+ error?: string | undefined;
614
+ extensions?: Record<string, unknown> | null | undefined;
615
+ }>]>;
616
+ type PaymentRequired = z.infer<typeof PaymentRequiredSchema>;
617
+ /**
618
+ * PaymentPayload union schema - accepts either V1 or V2 format.
619
+ * Uses discriminated union on x402Version for efficient parsing.
620
+ */
621
+ declare const PaymentPayloadSchema: z.ZodDiscriminatedUnion<"x402Version", [z.ZodObject<{
622
+ x402Version: z.ZodLiteral<1>;
623
+ scheme: z.ZodString;
624
+ network: z.ZodString;
625
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
626
+ }, "strip", z.ZodTypeAny, {
627
+ scheme: string;
628
+ network: string;
629
+ x402Version: 1;
630
+ payload: Record<string, unknown>;
631
+ }, {
632
+ scheme: string;
633
+ network: string;
634
+ x402Version: 1;
635
+ payload: Record<string, unknown>;
636
+ }>, z.ZodObject<{
637
+ x402Version: z.ZodLiteral<2>;
638
+ resource: z.ZodOptional<z.ZodObject<{
639
+ url: z.ZodString;
640
+ description: z.ZodOptional<z.ZodString>;
641
+ mimeType: z.ZodOptional<z.ZodString>;
642
+ }, "strip", z.ZodTypeAny, {
643
+ url: string;
644
+ description?: string | undefined;
645
+ mimeType?: string | undefined;
646
+ }, {
647
+ url: string;
648
+ description?: string | undefined;
649
+ mimeType?: string | undefined;
650
+ }>>;
651
+ accepted: z.ZodObject<{
652
+ scheme: z.ZodString;
653
+ network: z.ZodEffects<z.ZodString, string, string>;
654
+ amount: z.ZodString;
655
+ asset: z.ZodString;
656
+ payTo: z.ZodString;
657
+ maxTimeoutSeconds: z.ZodNumber;
658
+ extra: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
659
+ }, "strip", z.ZodTypeAny, {
660
+ scheme: string;
661
+ network: string;
662
+ payTo: string;
663
+ maxTimeoutSeconds: number;
664
+ asset: string;
665
+ amount: string;
666
+ extra?: Record<string, unknown> | null | undefined;
667
+ }, {
668
+ scheme: string;
669
+ network: string;
670
+ payTo: string;
671
+ maxTimeoutSeconds: number;
672
+ asset: string;
673
+ amount: string;
674
+ extra?: Record<string, unknown> | null | undefined;
675
+ }>;
676
+ payload: z.ZodRecord<z.ZodString, z.ZodUnknown>;
677
+ extensions: z.ZodNullable<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
678
+ }, "strip", z.ZodTypeAny, {
679
+ x402Version: 2;
680
+ payload: Record<string, unknown>;
681
+ accepted: {
682
+ scheme: string;
683
+ network: string;
684
+ payTo: string;
685
+ maxTimeoutSeconds: number;
686
+ asset: string;
687
+ amount: string;
688
+ extra?: Record<string, unknown> | null | undefined;
689
+ };
690
+ resource?: {
691
+ url: string;
692
+ description?: string | undefined;
693
+ mimeType?: string | undefined;
694
+ } | undefined;
695
+ extensions?: Record<string, unknown> | null | undefined;
696
+ }, {
697
+ x402Version: 2;
698
+ payload: Record<string, unknown>;
699
+ accepted: {
700
+ scheme: string;
701
+ network: string;
702
+ payTo: string;
703
+ maxTimeoutSeconds: number;
704
+ asset: string;
705
+ amount: string;
706
+ extra?: Record<string, unknown> | null | undefined;
707
+ };
708
+ resource?: {
709
+ url: string;
710
+ description?: string | undefined;
711
+ mimeType?: string | undefined;
712
+ } | undefined;
713
+ extensions?: Record<string, unknown> | null | undefined;
714
+ }>]>;
715
+ type PaymentPayload = z.infer<typeof PaymentPayloadSchema>;
716
+ /**
717
+ * Validates a PaymentRequired object (V1 or V2).
718
+ *
719
+ * @param value - The value to validate
720
+ * @returns A result object with success status and data or error
721
+ */
722
+ declare function parsePaymentRequired(value: unknown): z.SafeParseReturnType<unknown, PaymentRequired>;
723
+ /**
724
+ * Validates a PaymentRequired object and throws on error.
725
+ *
726
+ * @param value - The value to validate
727
+ * @returns The validated PaymentRequired
728
+ * @throws ZodError if validation fails
729
+ */
730
+ declare function validatePaymentRequired(value: unknown): PaymentRequired;
731
+ /**
732
+ * Type guard for PaymentRequired (V1 or V2).
733
+ *
734
+ * @param value - The value to check
735
+ * @returns True if the value is a valid PaymentRequired
736
+ */
737
+ declare function isPaymentRequired(value: unknown): value is PaymentRequired;
738
+ /**
739
+ * Validates a PaymentRequirements object (V1 or V2).
740
+ *
741
+ * @param value - The value to validate
742
+ * @returns A result object with success status and data or error
743
+ */
744
+ declare function parsePaymentRequirements(value: unknown): z.SafeParseReturnType<unknown, PaymentRequirements>;
745
+ /**
746
+ * Validates a PaymentRequirements object and throws on error.
747
+ *
748
+ * @param value - The value to validate
749
+ * @returns The validated PaymentRequirements
750
+ * @throws ZodError if validation fails
751
+ */
752
+ declare function validatePaymentRequirements(value: unknown): PaymentRequirements;
753
+ /**
754
+ * Type guard for PaymentRequirements (V1 or V2).
755
+ *
756
+ * @param value - The value to check
757
+ * @returns True if the value is a valid PaymentRequirements
758
+ */
759
+ declare function isPaymentRequirements(value: unknown): value is PaymentRequirements;
760
+ /**
761
+ * Validates a PaymentPayload object (V1 or V2).
762
+ *
763
+ * @param value - The value to validate
764
+ * @returns A result object with success status and data or error
765
+ */
766
+ declare function parsePaymentPayload(value: unknown): z.SafeParseReturnType<unknown, PaymentPayload>;
767
+ /**
768
+ * Validates a PaymentPayload object and throws on error.
769
+ *
770
+ * @param value - The value to validate
771
+ * @returns The validated PaymentPayload
772
+ * @throws ZodError if validation fails
773
+ */
774
+ declare function validatePaymentPayload(value: unknown): PaymentPayload;
775
+ /**
776
+ * Type guard for PaymentPayload (V1 or V2).
777
+ *
778
+ * @param value - The value to check
779
+ * @returns True if the value is a valid PaymentPayload
780
+ */
781
+ declare function isPaymentPayload(value: unknown): value is PaymentPayload;
782
+ /**
783
+ * Type guard for PaymentRequiredV1.
784
+ *
785
+ * @param value - The value to check
786
+ * @returns True if the value is a valid PaymentRequiredV1
787
+ */
788
+ declare function isPaymentRequiredV1(value: unknown): value is PaymentRequiredV1;
789
+ /**
790
+ * Type guard for PaymentRequiredV2.
791
+ *
792
+ * @param value - The value to check
793
+ * @returns True if the value is a valid PaymentRequiredV2
794
+ */
795
+ declare function isPaymentRequiredV2(value: unknown): value is PaymentRequiredV2;
796
+ /**
797
+ * Type guard for PaymentRequirementsV1.
798
+ *
799
+ * @param value - The value to check
800
+ * @returns True if the value is a valid PaymentRequirementsV1
801
+ */
802
+ declare function isPaymentRequirementsV1(value: unknown): value is PaymentRequirementsV1;
803
+ /**
804
+ * Type guard for PaymentRequirementsV2.
805
+ *
806
+ * @param value - The value to check
807
+ * @returns True if the value is a valid PaymentRequirementsV2
808
+ */
809
+ declare function isPaymentRequirementsV2(value: unknown): value is PaymentRequirementsV2;
810
+ /**
811
+ * Type guard for PaymentPayloadV1.
812
+ *
813
+ * @param value - The value to check
814
+ * @returns True if the value is a valid PaymentPayloadV1
815
+ */
816
+ declare function isPaymentPayloadV1(value: unknown): value is PaymentPayloadV1;
817
+ /**
818
+ * Type guard for PaymentPayloadV2.
819
+ *
820
+ * @param value - The value to check
821
+ * @returns True if the value is a valid PaymentPayloadV2
822
+ */
823
+ declare function isPaymentPayloadV2(value: unknown): value is PaymentPayloadV2;
824
+
825
+ export { Any, type Network, NetworkSchema, NetworkSchemaV1, NetworkSchemaV2, type NetworkV1, type NetworkV2, NonEmptyString, OptionalAny, type PaymentPayload, PaymentPayloadSchema, type PaymentPayloadV1, PaymentPayloadV1Schema, type PaymentPayloadV2, PaymentPayloadV2Schema, type PaymentRequired, PaymentRequiredSchema, type PaymentRequiredV1, PaymentRequiredV1Schema, type PaymentRequiredV2, PaymentRequiredV2Schema, type PaymentRequirements, PaymentRequirementsSchema, type PaymentRequirementsV1, PaymentRequirementsV1Schema, type PaymentRequirementsV2, PaymentRequirementsV2Schema, type ResourceInfo, ResourceInfoSchema, isPaymentPayload, isPaymentPayloadV1, isPaymentPayloadV2, isPaymentRequired, isPaymentRequiredV1, isPaymentRequiredV2, isPaymentRequirements, isPaymentRequirementsV1, isPaymentRequirementsV2, parsePaymentPayload, parsePaymentRequired, parsePaymentRequirements, validatePaymentPayload, validatePaymentRequired, validatePaymentRequirements };