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