@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,70 @@
1
+ import {
2
+ Any,
3
+ NetworkSchema,
4
+ NetworkSchemaV1,
5
+ NetworkSchemaV2,
6
+ NonEmptyString,
7
+ OptionalAny,
8
+ PaymentPayloadSchema,
9
+ PaymentPayloadV1Schema,
10
+ PaymentPayloadV2Schema,
11
+ PaymentRequiredSchema,
12
+ PaymentRequiredV1Schema,
13
+ PaymentRequiredV2Schema,
14
+ PaymentRequirementsSchema,
15
+ PaymentRequirementsV1Schema,
16
+ PaymentRequirementsV2Schema,
17
+ ResourceInfoSchema,
18
+ isPaymentPayload,
19
+ isPaymentPayloadV1,
20
+ isPaymentPayloadV2,
21
+ isPaymentRequired,
22
+ isPaymentRequiredV1,
23
+ isPaymentRequiredV2,
24
+ isPaymentRequirements,
25
+ isPaymentRequirementsV1,
26
+ isPaymentRequirementsV2,
27
+ parsePaymentPayload,
28
+ parsePaymentRequired,
29
+ parsePaymentRequirements,
30
+ validatePaymentPayload,
31
+ validatePaymentRequired,
32
+ validatePaymentRequirements,
33
+ z
34
+ } from "../chunk-FPXAE3OS.mjs";
35
+ import "../chunk-BJTO5JO5.mjs";
36
+ export {
37
+ Any,
38
+ NetworkSchema,
39
+ NetworkSchemaV1,
40
+ NetworkSchemaV2,
41
+ NonEmptyString,
42
+ OptionalAny,
43
+ PaymentPayloadSchema,
44
+ PaymentPayloadV1Schema,
45
+ PaymentPayloadV2Schema,
46
+ PaymentRequiredSchema,
47
+ PaymentRequiredV1Schema,
48
+ PaymentRequiredV2Schema,
49
+ PaymentRequirementsSchema,
50
+ PaymentRequirementsV1Schema,
51
+ PaymentRequirementsV2Schema,
52
+ ResourceInfoSchema,
53
+ isPaymentPayload,
54
+ isPaymentPayloadV1,
55
+ isPaymentPayloadV2,
56
+ isPaymentRequired,
57
+ isPaymentRequiredV1,
58
+ isPaymentRequiredV2,
59
+ isPaymentRequirements,
60
+ isPaymentRequirementsV1,
61
+ isPaymentRequirementsV2,
62
+ parsePaymentPayload,
63
+ parsePaymentRequired,
64
+ parsePaymentRequirements,
65
+ validatePaymentPayload,
66
+ validatePaymentRequired,
67
+ validatePaymentRequirements,
68
+ z
69
+ };
70
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -0,0 +1,79 @@
1
+ import { a as PaymentRequirements, S as SettleResponse } from '../x402Client-TQHctrG7.mjs';
2
+ export { a5 as AfterSettleHook, a2 as AfterVerifyHook, a4 as BeforeSettleHook, a1 as BeforeVerifyHook, C as CompiledRoute, _ as ExtensionValidationResult, y as FacilitatorClient, z as FacilitatorConfig, A as FacilitatorResponseError, H as HTTPAdapter, w as HTTPFacilitatorClient, g as HTTPProcessResult, d as HTTPRequestContext, m as HTTPResponseBody, f as HTTPResponseInstructions, e as HTTPTransportContext, a6 as OnSettleFailureHook, a7 as OnVerifiedPaymentCanceledHook, a3 as OnVerifyFailureHook, Y as PaymentCancellationDispatcher, I as PaymentRequiredContext, h as PaywallConfig, i as PaywallProvider, q as ProcessSettleFailureResponse, o as ProcessSettleResultResponse, p as ProcessSettleSuccessResponse, t as ProtectedRequestHook, G as ResourceConfig, a0 as ResourceVerifyRespone, R as RouteConfig, s as RouteConfigurationError, r as RouteValidationError, k as RoutesConfig, ac as SETTLEMENT_OVERRIDES_HEADER, a8 as SchemeEnrichPaymentRequiredResponseHook, aa as SchemeEnrichSettlementPayloadHook, ab as SchemeEnrichSettlementResponseHook, a9 as SchemePaymentRequiredContext, M as SettleContext, Q as SettleFailureContext, O as SettleResultContext, n as SettlementFailedResponseBody, Z as SettlementOverrides, $ as SkipHandlerDirective, U as UnpaidResponseBody, X as VerifiedPaymentCancelOptions, T as VerifiedPaymentCanceledContext, W as VerifiedPaymentCancellationReason, J as VerifyContext, L as VerifyFailureContext, K as VerifyResultContext, ad as checkIfBazaarNeeded, B as getFacilitatorResponseError, x as x402HTTPResourceServer, E as x402ResourceServer } from '../x402Client-TQHctrG7.mjs';
3
+
4
+ /**
5
+ * True when a string field is treated as unset and may be filled by `enrichPaymentRequiredResponse`.
6
+ *
7
+ * @param value - Candidate string from `PaymentRequirements` (e.g. `payTo`, `amount`, `asset`)
8
+ * @returns Whether the field counts as vacant (empty or whitespace-only)
9
+ */
10
+ declare function isVacantStringField(value: string): boolean;
11
+ /**
12
+ * Deep snapshot of `accepts` entries before any `enrichPaymentRequiredResponse` runs.
13
+ *
14
+ * @param requirements - Payment requirement rows to clone
15
+ * @returns Cloned requirements suitable as an immutable baseline for policy checks
16
+ */
17
+ declare function snapshotPaymentRequirementsList(requirements: PaymentRequirements[]): PaymentRequirements[];
18
+ /**
19
+ * After extension enrichment, each `accepts[i]` must still match the baseline except that
20
+ * **`payTo`**, **`amount`**, and **`asset`** may change only when the baseline value is vacant
21
+ * (whitespace-only string). **`scheme`**, **`network`**, and **`maxTimeoutSeconds`** are never
22
+ * writable by extensions. **`extra`** may gain new keys; values for keys present in the baseline
23
+ * must be unchanged (deep-equal).
24
+ *
25
+ * @param baseline - Snapshot taken before any enrich hooks for this response
26
+ * @param current - Live `accepts` entries after an extension enrich step
27
+ * @param extensionKey - Registered extension key (for error messages)
28
+ * @returns Nothing; throws if the policy is violated
29
+ */
30
+ declare function assertAcceptsAllowlistedAfterExtensionEnrich(baseline: PaymentRequirements[], current: PaymentRequirements[], extensionKey: string): void;
31
+ /**
32
+ * Ensures scheme 402 enrichment only adds `extra` keys to matching accepts.
33
+ *
34
+ * @param baseline - Snapshot before the scheme enrich step
35
+ * @param current - Live `accepts` entries after scheme enrichment
36
+ * @param scheme - Scheme whose hook was invoked
37
+ * @param network - Network whose hook was invoked
38
+ */
39
+ declare function assertAcceptsAdditiveExtraAfterSchemeEnrich(baseline: PaymentRequirements[], current: PaymentRequirements[], scheme: string, network: string): void;
40
+ /**
41
+ * Immutable subset of {@link SettleResponse} compared across settlement extension enrich.
42
+ */
43
+ type SettleResponseCoreSnapshot = Pick<SettleResponse, "success" | "transaction" | "network" | "amount" | "payer" | "errorReason" | "errorMessage">;
44
+ /**
45
+ * Captures facilitator-settled fields that extensions must not rewrite.
46
+ *
47
+ * @param result - Settlement response from the facilitator
48
+ * @returns Plain snapshot of core fields for later comparison
49
+ */
50
+ declare function snapshotSettleResponseCore(result: SettleResponse): SettleResponseCoreSnapshot;
51
+ /**
52
+ * Ensures `enrichSettlementResponse` did not rewrite facilitator outcome fields; only
53
+ * `extensions` may be populated via the merger (in addition to in-place adds on `extensions`).
54
+ *
55
+ * @param before - Snapshot taken before extension settlement enrich
56
+ * @param after - Live settlement result after an extension enrich step
57
+ * @param extensionKey - Registered extension key (for error messages)
58
+ * @returns Nothing; throws if a core field changed
59
+ */
60
+ declare function assertSettleResponseCoreUnchanged(before: SettleResponseCoreSnapshot, after: SettleResponse, extensionKey: string): void;
61
+ /**
62
+ * Ensures scheme settlement-payload enrichment only adds server-owned fields.
63
+ *
64
+ * @param payload - Existing scheme payload before enrichment
65
+ * @param enrichment - Fields returned by the scheme enrichment hook
66
+ * @param callerLabel - Hook source label used in policy error messages
67
+ */
68
+ declare function assertAdditivePayloadEnrichment(payload: Record<string, unknown>, enrichment: Record<string, unknown>, callerLabel: string): void;
69
+ /**
70
+ * Ensures scheme response enrichment only adds new `extra` fields, including nested fields
71
+ * below existing objects.
72
+ *
73
+ * @param extra - Existing settlement extra fields
74
+ * @param enrichment - Fields returned by the scheme response enrichment hook
75
+ * @param callerLabel - Hook label used in policy error messages
76
+ */
77
+ declare function assertAdditiveSettlementExtra(extra: Record<string, unknown>, enrichment: Record<string, unknown>, callerLabel: string): void;
78
+
79
+ export { type SettleResponseCoreSnapshot, assertAcceptsAdditiveExtraAfterSchemeEnrich, assertAcceptsAllowlistedAfterExtensionEnrich, assertAdditivePayloadEnrichment, assertAdditiveSettlementExtra, assertSettleResponseCoreUnchanged, isVacantStringField, snapshotPaymentRequirementsList, snapshotSettleResponseCore };