@peac/adapter-x402 0.12.4 → 0.12.6

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.
package/README.md CHANGED
@@ -1,26 +1,18 @@
1
1
  # @peac/adapter-x402
2
2
 
3
- Verification, term-matching, and evidence mapping for the x402
4
- Offer/Receipt extension (compatible with upstream coinbase/x402).
3
+ x402 offer verification, receipt extraction, and PEAC interaction record mapping for the x402 Offer/Receipt extension.
5
4
 
6
- ## Overview
7
-
8
- This package verifies x402 extension artifacts (offers and receipts) and maps
9
- them into canonical PEAC interaction records. It implements term-matching
10
- verification where `acceptIndex` is treated as an untrusted hint and the
11
- binding comes from matching signed payload fields against accept terms.
12
-
13
- Compatible with upstream x402 Offer/Receipt extension wire shapes. Defaults
14
- match upstream behavior; stricter verification is available via opt-in
15
- configuration.
16
-
17
- ## Install
5
+ ## Installation
18
6
 
19
7
  ```bash
20
8
  pnpm add @peac/adapter-x402
21
9
  ```
22
10
 
23
- ## Usage
11
+ ## What It Does
12
+
13
+ `@peac/adapter-x402` is a Layer 4 adapter that verifies x402 offer and receipt artifacts, extracts receipt data from HTTP response headers, and maps the results into canonical PEAC interaction records. It implements a verification-first architecture with layered checks: wire validation, term-matching, offer-receipt consistency, and opt-in cryptographic verification. The adapter reads both PEAC-Receipt and upstream x402 response headers (v1 and v2) with priority-based fallback.
14
+
15
+ ## How Do I Use It?
24
16
 
25
17
  ### Verify an offer against accept terms
26
18
 
@@ -37,119 +29,63 @@ if (result.valid) {
37
29
  }
38
30
  ```
39
31
 
40
- ### Select accept entry with term-matching
32
+ ### Extract receipt artifacts from HTTP response headers
41
33
 
42
34
  ```typescript
43
- import { selectAccept } from '@peac/adapter-x402';
35
+ import { extractReceiptArtifactFromHeaders } from '@peac/adapter-x402';
44
36
 
45
- // With hint (bounds-check + term-match via offer.acceptIndex)
46
- const match = selectAccept(offerPayload, accepts, offer.acceptIndex);
37
+ // Dual-header read: checks PEAC-Receipt, then PAYMENT-RESPONSE (v2),
38
+ // then X-PAYMENT-RESPONSE (v1)
39
+ const artifact = extractReceiptArtifactFromHeaders(responseHeaders);
47
40
 
48
- // Without hint (scan for unique match)
49
- const match = selectAccept(offerPayload, accepts);
41
+ if (artifact) {
42
+ console.log('Source:', artifact.source); // 'peac' | 'x402_v2' | 'x402_v1'
43
+ console.log('Is PEAC receipt:', artifact.isPeacReceipt);
44
+ console.log('Raw artifact:', artifact.rawArtifact);
45
+ }
50
46
  ```
51
47
 
52
- ### Map to PEAC record
48
+ ### Build evidence carriers from x402 responses
53
49
 
54
50
  ```typescript
55
- import { toPeacRecord } from '@peac/adapter-x402';
51
+ import { fromOfferResponse, X402CarrierAdapter } from '@peac/adapter-x402';
56
52
 
57
- const record = toPeacRecord(challenge, settlementResponse);
58
- // record.proofs.x402.offer -- raw offer preserved for audit
59
- // record.proofs.x402.receipt -- raw receipt preserved for audit
60
- // record.evidence.resourceUrl -- from signed offer payload
61
- // record.evidence.payer -- from signed receipt payload
62
- // record.evidence.transaction -- optional, from receipt (privacy-minimal)
63
- // record.hints.acceptIndex -- { value: 0, untrusted: true }
53
+ // Extract from an x402 402 response (offer)
54
+ const extraction = fromOfferResponse(response);
55
+ console.log('Carriers:', extraction.receipts);
56
+ console.log('Transport:', extraction.meta.transport);
57
+
58
+ // Or use the CarrierAdapter interface
59
+ const adapter = new X402CarrierAdapter();
64
60
  ```
65
61
 
66
- ### Extract from upstream wire format
62
+ ### Map an x402 payment flow to a PEAC record
67
63
 
68
64
  ```typescript
69
- import { extractExtensionInfo, extractReceiptFromHeaders } from '@peac/adapter-x402';
70
-
71
- // Extract offers from upstream 402 response body
72
- const info = extractExtensionInfo(responseBody);
73
- // info.offers: RawSignedOffer[]
74
- // info.receipt?: RawSignedReceipt
65
+ import { toPeacRecord } from '@peac/adapter-x402';
75
66
 
76
- // Extract receipt from settlement response headers
77
- const receipt = extractReceiptFromHeaders(responseHeaders);
67
+ const record = toPeacRecord(challenge, settlementResponse);
68
+ // record.proofs.x402.offer -- raw offer preserved for audit
69
+ // record.proofs.x402.receipt -- raw receipt preserved for audit
70
+ // record.evidence.resourceUrl -- from signed offer payload
71
+ // record.evidence.payer -- from signed receipt payload
78
72
  ```
79
73
 
80
- ## acceptIndex: hint-only semantics
81
-
82
- In the x402 Offer/Receipt extension, `acceptIndex` is an unsigned per-offer
83
- field outside the signed payload. Verifiers MUST NOT rely on it as a binding
84
- mechanism.
85
-
86
- This package treats `acceptIndex` as advisory:
87
-
88
- - If present: bounds-check, then term-match `accepts[acceptIndex]` against
89
- the signed payload. Reject on mismatch.
90
- - If absent: scan all `accepts[]` entries for a unique match. If ambiguous
91
- (multiple matches), reject.
92
- - If tampered: does not affect security because the binding comes from
93
- comparing signed payload fields, not the unsigned index.
94
-
95
- ## API
96
-
97
- ### `verifyOffer(offer, accepts, config?)`
98
-
99
- Verify a signed offer against accept terms. Checks structure, expiry,
100
- version, signature format, and term-matching.
101
-
102
- ### `verifyReceipt(receipt, config?)`
103
-
104
- Verify a signed receipt's required fields, version, payer format, and
105
- issuedAt recency.
106
-
107
- ### `verifyOfferReceiptConsistency(offerPayload, receiptPayload, config?, options?)`
108
-
109
- Verify consistency between an offer and a receipt (resourceUrl, network,
110
- issuedAt freshness, optional payer candidate matching).
111
-
112
- ### `matchAcceptTerms(payload, accept, addressComparator?)`
113
-
114
- Compare offer payload fields against a single accept entry. Returns an
115
- array of mismatched field names (empty means match).
116
-
117
- ### `selectAccept(payload, accepts, acceptIndex?, addressComparator?)`
118
-
119
- Select the matching accept entry. Throws `X402Error` on failure.
120
-
121
- ### `toPeacRecord(challenge, settlementResponse, options?)`
122
-
123
- Map an x402 payment flow to a PEAC interaction record.
124
-
125
- ## x402 Version Support
126
-
127
- This adapter supports x402 **Offer/Receipt extension version 1** (default).
128
-
129
- | Component | Versions | Details |
130
- | ----------------------- | ------------ | --------------------------------------------------------- |
131
- | Offer/Receipt extension | v1 (default) | Configurable via `supportedVersions` option |
132
- | HTTP header dialect | v1 + v2 | Auto-detected by `@peac/rails-x402` via `detectDialect()` |
133
-
134
- The version is configurable per call:
135
-
136
- ```typescript
137
- const result = verifyOffer(offer, accepts, {
138
- supportedVersions: [1, 2],
139
- });
140
- ```
74
+ ## Integrates With
141
75
 
142
- The adapter defines its own x402 types (no external x402 npm dependencies).
76
+ - `@peac/adapter-core` (Layer 4): Shared Result types and validators
77
+ - `@peac/kernel` (Layer 0): Wire constants and evidence carrier types
78
+ - `@peac/schema` (Layer 1): Receipt ref computation and carrier validation
79
+ - `@peac/crypto` (Layer 2): JWS parsing utilities
143
80
 
144
- ## Error handling
81
+ ## For Agent Developers
145
82
 
146
- All verification functions return structured results with error arrays.
147
- The `selectAccept` and `toPeacRecord` functions throw `X402Error` with:
83
+ If you are building an AI agent that makes paid API calls via x402:
148
84
 
149
- - `code`: Machine-readable error code (lowercase snake_case)
150
- - `httpStatus`: Suggested HTTP status code
151
- - `field`: Optional field that caused the error
152
- - `details`: Optional structured details
85
+ - Use `extractReceiptArtifactFromHeaders()` to capture receipt evidence from HTTP responses
86
+ - Use `verifyOffer()` and `verifyReceipt()` to validate x402 artifacts before accepting them
87
+ - Use `toPeacRecord()` to map verified x402 flows into signed PEAC interaction records
88
+ - See the [llms.txt](https://github.com/peacprotocol/peac/blob/main/llms.txt) for a concise protocol overview
153
89
 
154
90
  ## License
155
91
 
package/dist/carrier.d.ts CHANGED
@@ -39,6 +39,13 @@ export type ReceiptArtifactFormat = 'jws' | 'json' | 'unknown';
39
39
  /** Result of extracting a receipt artifact from headers */
40
40
  export interface ReceiptArtifactResult {
41
41
  source: ReceiptArtifactSource;
42
+ /**
43
+ * Detected x402 wire version (1 or 2) based on transport evidence.
44
+ * For 'x402_v2' source: always 2. For 'x402_v1': always 1.
45
+ * For 'peac' source: inferred from adjacent x402 headers if present,
46
+ * otherwise undefined (version-neutral).
47
+ */
48
+ wireVersion: 1 | 2 | undefined;
42
49
  headerName: string;
43
50
  rawArtifact: string;
44
51
  parsedForm?: unknown;
@@ -1 +1 @@
1
- {"version":3,"file":"carrier.d.ts","sourceRoot":"","sources":["../src/carrier.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,cAAc,EACf,MAAM,cAAc,CAAC;AAYtB,+BAA+B;AAC/B,eAAO,MAAM,mBAAmB;;;CAGtB,CAAC;AAgBX,wBAAwB;AACxB,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnD,4DAA4D;AAC5D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,+CAA+C;AAC/C,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnE,wDAAwD;AACxD,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,CAAC;AAExD,6CAA6C;AAC7C,MAAM,MAAM,qBAAqB,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AAE/D,2DAA2D;AAC3D,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,qBAAqB,CAAC;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,mBAAmB,CAAC;IAClC;;;;;OAKG;IACH,cAAc,EAAE,qBAAqB,CAAC;IACtC;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,wBAAwB;AACxB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,IAAI,EAAE,WAAW,CAAC;IAClB;;;;;;;;;OASG;IACH,gBAAgB,CAAC,EAAE,qBAAqB,CAAC;CAC1C;AAED,8BAA8B;AAC9B,MAAM,WAAW,sBAAuB,SAAQ,iBAAiB;IAC/D,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAyBD;;;;;;;;;;GAUG;AACH,wBAAgB,iCAAiC,CAC/C,OAAO,EAAE,aAAa,GACrB,qBAAqB,GAAG,IAAI,CA8C9B;AAiDD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,iBAAiB,GAAG,IAAI,CAkB1B;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAiBxC;AAMD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,iBAAiB,GAAG,IAAI,CAE1B;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,sBAAsB,GAAG,IAAI,CAAC,CAExC;AAMD;;;;;GAKG;AACH,qBAAa,kBAAmB,YAAW,cAAc,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;IAC3F,OAAO,CAAC,KAAK,EAAE,gBAAgB,GAAG;QAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;IAK/F,MAAM,CACJ,MAAM,EAAE,gBAAgB,EACxB,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,IAAI,CAAC,EAAE,WAAW,GACjB,gBAAgB;IA4BnB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,GAAG,uBAAuB;CAG9F"}
1
+ {"version":3,"file":"carrier.d.ts","sourceRoot":"","sources":["../src/carrier.ts"],"names":[],"mappings":"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"}
package/dist/carrier.js CHANGED
@@ -82,6 +82,11 @@ function extractReceiptArtifactFromHeaders(headers) {
82
82
  if (peacValue) {
83
83
  return {
84
84
  source: 'peac',
85
+ wireVersion: findHeader(headers, X402_V2_RECEIPT_HEADER)
86
+ ? 2
87
+ : findHeader(headers, X402_V1_RECEIPT_HEADER)
88
+ ? 1
89
+ : undefined,
85
90
  headerName: kernel_1.PEAC_RECEIPT_HEADER,
86
91
  rawArtifact: peacValue,
87
92
  artifactKind: 'receipt',
@@ -96,6 +101,7 @@ function extractReceiptArtifactFromHeaders(headers) {
96
101
  if (v2Value) {
97
102
  return {
98
103
  source: 'x402_v2',
104
+ wireVersion: 2,
99
105
  headerName: X402_V2_RECEIPT_HEADER,
100
106
  rawArtifact: v2Value,
101
107
  parsedForm: tryParseJson(v2Value),
@@ -110,6 +116,7 @@ function extractReceiptArtifactFromHeaders(headers) {
110
116
  if (v1Value) {
111
117
  return {
112
118
  source: 'x402_v1',
119
+ wireVersion: 1,
113
120
  headerName: X402_V1_RECEIPT_HEADER,
114
121
  rawArtifact: v1Value,
115
122
  parsedForm: tryParseJson(v1Value),
@@ -1 +1 @@
1
- {"version":3,"file":"carrier.js","sourceRoot":"","sources":["../src/carrier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"carrier.js","sourceRoot":"","sources":["../src/carrier.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -14,15 +14,23 @@
14
14
  */
15
15
  export type { RawOfferPayload, RawReceiptPayload, RawJWSSignedOffer, RawEIP712SignedOffer, RawSignedOffer, RawJWSSignedReceipt, RawEIP712SignedReceipt, RawSignedReceipt, RawX402ExtensionInfo, ParsedCompactJWS, } from './raw.js';
16
16
  export { OFFER_RECEIPT, MAX_COMPACT_JWS_BYTES, X402_RECEIPT_HEADERS, parseCompactJWS, extractOfferPayload, extractReceiptPayload, extractExtensionInfo, extractReceiptFromHeaders, } from './raw.js';
17
+ export type { RawV2Resource, RawV2PaymentRequiredAccept, RawV2PaymentRequired, RawV2PaymentAuthorization, RawV2PaymentProofBody, RawV2PaymentPayload, RawV2SettlementResponseSuccess, RawV2SettlementResponseFailure, RawV2SettlementResponse, } from './raw-v2.js';
18
+ export { X402_V2_HEADERS } from './raw-v2.js';
19
+ export type { X402WireVersion, X402WireVersionDetection } from './version.js';
20
+ export { detectX402Version, detectX402VersionFromSource } from './version.js';
17
21
  export type { NormalizedOfferPayload, NormalizedReceiptPayload } from './normalize.js';
18
22
  export { normalizeOfferPayload, normalizeReceiptPayload } from './normalize.js';
23
+ export type { NormalizedV2Offer, NormalizedV2Receipt } from './normalize-v2.js';
24
+ export { normalizeV2Offer, normalizeV2Offers, normalizeV2Receipt } from './normalize-v2.js';
19
25
  export type { SignatureFormat, OfferPayload, SignedOffer, ReceiptPayload, SignedReceipt, AcceptEntry, X402OfferReceiptChallenge, X402SettlementResponse, WireVerification, OfferVerification, ReceiptVerification, ConsistencyVerification, ConsistencyOptions, VerificationError, VerificationStatus, X402PeacRecord, X402AdapterConfig, MismatchPolicy, AddressComparator, CryptoResult, CryptoVerifier, EIP712Domain, SignerAuthorizer, AuthorizationContext, AuthorizationResult, } from './types.js';
20
26
  export { X402_OFFER_RECEIPT_PROFILE, MAX_ACCEPT_ENTRIES, MAX_TOTAL_ACCEPTS_BYTES, MAX_AMOUNT_LENGTH, defaultAddressComparator, } from './types.js';
21
27
  export type { Result, AdapterError, AdapterErrorCode, JsonObject } from './types.js';
22
28
  export { X402Error } from './errors.js';
23
29
  export type { X402ErrorCode } from './errors.js';
24
- export { verifyOffer, verifyReceipt, verifyOfferWire, verifyReceiptWire, verifyOfferReceiptConsistency, matchAcceptTerms, selectAccept, } from './verify.js';
25
- export { toPeacRecord, toPeacCarrier } from './map.js';
30
+ export { verifyOffer, verifyReceipt, verifyOfferV2, verifyReceiptV2, verifyOfferUnified, verifyReceiptUnified, verifyOfferWire, verifyReceiptWire, verifyOfferReceiptConsistency, matchAcceptTerms, selectAccept, } from './verify.js';
31
+ export type { V2OfferVerification, V2ReceiptVerification } from './verify.js';
32
+ export { toPeacRecord, toPeacRecordV2, toPeacCarrier } from './map.js';
33
+ export type { ToPeacRecordV2Options } from './map.js';
26
34
  export type { X402HeaderMap, X402ResponseLike, X402ExtractResult, X402ExtractAsyncResult, ReceiptArtifactSource, ReceiptArtifactKind, ReceiptArtifactFormat, ReceiptArtifactResult, } from './carrier.js';
27
35
  export { X402_CARRIER_LIMITS, extractReceiptArtifactFromHeaders, fromOfferResponse, fromOfferResponseAsync, fromSettlementResponse, fromSettlementResponseAsync, X402CarrierAdapter, } from './carrier.js';
28
36
  export type { ChallengeType } from './challenge.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,YAAY,EACV,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAGlB,YAAY,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAEvF,OAAO,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAGhF,YAAY,EACV,eAAe,EACf,YAAY,EACZ,WAAW,EACX,cAAc,EACd,aAAa,EACb,WAAW,EACX,yBAAyB,EACzB,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,0BAA0B,EAC1B,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AAGpB,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGrF,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAGjD,OAAO,EACL,WAAW,EACX,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,6BAA6B,EAC7B,gBAAgB,EAChB,YAAY,GACb,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGvD,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,mBAAmB,EACnB,iCAAiC,EACjC,iBAAiB,EACjB,sBAAsB,EACtB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAGtB,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@
14
14
  * @packageDocumentation
15
15
  */
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.mapX402ToChallengeType = exports.X402CarrierAdapter = exports.fromSettlementResponseAsync = exports.fromSettlementResponse = exports.fromOfferResponseAsync = exports.fromOfferResponse = exports.extractReceiptArtifactFromHeaders = exports.X402_CARRIER_LIMITS = exports.toPeacCarrier = exports.toPeacRecord = exports.selectAccept = exports.matchAcceptTerms = exports.verifyOfferReceiptConsistency = exports.verifyReceiptWire = exports.verifyOfferWire = exports.verifyReceipt = exports.verifyOffer = exports.X402Error = exports.defaultAddressComparator = exports.MAX_AMOUNT_LENGTH = exports.MAX_TOTAL_ACCEPTS_BYTES = exports.MAX_ACCEPT_ENTRIES = exports.X402_OFFER_RECEIPT_PROFILE = exports.normalizeReceiptPayload = exports.normalizeOfferPayload = exports.extractReceiptFromHeaders = exports.extractExtensionInfo = exports.extractReceiptPayload = exports.extractOfferPayload = exports.parseCompactJWS = exports.X402_RECEIPT_HEADERS = exports.MAX_COMPACT_JWS_BYTES = exports.OFFER_RECEIPT = void 0;
17
+ exports.mapX402ToChallengeType = exports.X402CarrierAdapter = exports.fromSettlementResponseAsync = exports.fromSettlementResponse = exports.fromOfferResponseAsync = exports.fromOfferResponse = exports.extractReceiptArtifactFromHeaders = exports.X402_CARRIER_LIMITS = exports.toPeacCarrier = exports.toPeacRecordV2 = exports.toPeacRecord = exports.selectAccept = exports.matchAcceptTerms = exports.verifyOfferReceiptConsistency = exports.verifyReceiptWire = exports.verifyOfferWire = exports.verifyReceiptUnified = exports.verifyOfferUnified = exports.verifyReceiptV2 = exports.verifyOfferV2 = exports.verifyReceipt = exports.verifyOffer = exports.X402Error = exports.defaultAddressComparator = exports.MAX_AMOUNT_LENGTH = exports.MAX_TOTAL_ACCEPTS_BYTES = exports.MAX_ACCEPT_ENTRIES = exports.X402_OFFER_RECEIPT_PROFILE = exports.normalizeV2Receipt = exports.normalizeV2Offers = exports.normalizeV2Offer = exports.normalizeReceiptPayload = exports.normalizeOfferPayload = exports.detectX402VersionFromSource = exports.detectX402Version = exports.X402_V2_HEADERS = exports.extractReceiptFromHeaders = exports.extractExtensionInfo = exports.extractReceiptPayload = exports.extractOfferPayload = exports.parseCompactJWS = exports.X402_RECEIPT_HEADERS = exports.MAX_COMPACT_JWS_BYTES = exports.OFFER_RECEIPT = void 0;
18
18
  var raw_js_1 = require("./raw.js");
19
19
  Object.defineProperty(exports, "OFFER_RECEIPT", { enumerable: true, get: function () { return raw_js_1.OFFER_RECEIPT; } });
20
20
  Object.defineProperty(exports, "MAX_COMPACT_JWS_BYTES", { enumerable: true, get: function () { return raw_js_1.MAX_COMPACT_JWS_BYTES; } });
@@ -24,9 +24,18 @@ Object.defineProperty(exports, "extractOfferPayload", { enumerable: true, get: f
24
24
  Object.defineProperty(exports, "extractReceiptPayload", { enumerable: true, get: function () { return raw_js_1.extractReceiptPayload; } });
25
25
  Object.defineProperty(exports, "extractExtensionInfo", { enumerable: true, get: function () { return raw_js_1.extractExtensionInfo; } });
26
26
  Object.defineProperty(exports, "extractReceiptFromHeaders", { enumerable: true, get: function () { return raw_js_1.extractReceiptFromHeaders; } });
27
+ var raw_v2_js_1 = require("./raw-v2.js");
28
+ Object.defineProperty(exports, "X402_V2_HEADERS", { enumerable: true, get: function () { return raw_v2_js_1.X402_V2_HEADERS; } });
29
+ var version_js_1 = require("./version.js");
30
+ Object.defineProperty(exports, "detectX402Version", { enumerable: true, get: function () { return version_js_1.detectX402Version; } });
31
+ Object.defineProperty(exports, "detectX402VersionFromSource", { enumerable: true, get: function () { return version_js_1.detectX402VersionFromSource; } });
27
32
  var normalize_js_1 = require("./normalize.js");
28
33
  Object.defineProperty(exports, "normalizeOfferPayload", { enumerable: true, get: function () { return normalize_js_1.normalizeOfferPayload; } });
29
34
  Object.defineProperty(exports, "normalizeReceiptPayload", { enumerable: true, get: function () { return normalize_js_1.normalizeReceiptPayload; } });
35
+ var normalize_v2_js_1 = require("./normalize-v2.js");
36
+ Object.defineProperty(exports, "normalizeV2Offer", { enumerable: true, get: function () { return normalize_v2_js_1.normalizeV2Offer; } });
37
+ Object.defineProperty(exports, "normalizeV2Offers", { enumerable: true, get: function () { return normalize_v2_js_1.normalizeV2Offers; } });
38
+ Object.defineProperty(exports, "normalizeV2Receipt", { enumerable: true, get: function () { return normalize_v2_js_1.normalizeV2Receipt; } });
30
39
  // Constants and functions from types
31
40
  var types_js_1 = require("./types.js");
32
41
  Object.defineProperty(exports, "X402_OFFER_RECEIPT_PROFILE", { enumerable: true, get: function () { return types_js_1.X402_OFFER_RECEIPT_PROFILE; } });
@@ -41,6 +50,10 @@ Object.defineProperty(exports, "X402Error", { enumerable: true, get: function ()
41
50
  var verify_js_1 = require("./verify.js");
42
51
  Object.defineProperty(exports, "verifyOffer", { enumerable: true, get: function () { return verify_js_1.verifyOffer; } });
43
52
  Object.defineProperty(exports, "verifyReceipt", { enumerable: true, get: function () { return verify_js_1.verifyReceipt; } });
53
+ Object.defineProperty(exports, "verifyOfferV2", { enumerable: true, get: function () { return verify_js_1.verifyOfferV2; } });
54
+ Object.defineProperty(exports, "verifyReceiptV2", { enumerable: true, get: function () { return verify_js_1.verifyReceiptV2; } });
55
+ Object.defineProperty(exports, "verifyOfferUnified", { enumerable: true, get: function () { return verify_js_1.verifyOfferUnified; } });
56
+ Object.defineProperty(exports, "verifyReceiptUnified", { enumerable: true, get: function () { return verify_js_1.verifyReceiptUnified; } });
44
57
  Object.defineProperty(exports, "verifyOfferWire", { enumerable: true, get: function () { return verify_js_1.verifyOfferWire; } });
45
58
  Object.defineProperty(exports, "verifyReceiptWire", { enumerable: true, get: function () { return verify_js_1.verifyReceiptWire; } });
46
59
  Object.defineProperty(exports, "verifyOfferReceiptConsistency", { enumerable: true, get: function () { return verify_js_1.verifyOfferReceiptConsistency; } });
@@ -49,6 +62,7 @@ Object.defineProperty(exports, "selectAccept", { enumerable: true, get: function
49
62
  // Mapping
50
63
  var map_js_1 = require("./map.js");
51
64
  Object.defineProperty(exports, "toPeacRecord", { enumerable: true, get: function () { return map_js_1.toPeacRecord; } });
65
+ Object.defineProperty(exports, "toPeacRecordV2", { enumerable: true, get: function () { return map_js_1.toPeacRecordV2; } });
52
66
  Object.defineProperty(exports, "toPeacCarrier", { enumerable: true, get: function () { return map_js_1.toPeacCarrier; } });
53
67
  var carrier_js_1 = require("./carrier.js");
54
68
  Object.defineProperty(exports, "X402_CARRIER_LIMITS", { enumerable: true, get: function () { return carrier_js_1.X402_CARRIER_LIMITS; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAgBH,mCASkB;AARhB,uGAAA,aAAa,OAAA;AACb,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,yGAAA,eAAe,OAAA;AACf,6GAAA,mBAAmB,OAAA;AACnB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,mHAAA,yBAAyB,OAAA;AAM3B,+CAAgF;AAAvE,qHAAA,qBAAqB,OAAA;AAAE,uHAAA,uBAAuB,OAAA;AA+BvD,qCAAqC;AACrC,uCAMoB;AALlB,sHAAA,0BAA0B,OAAA;AAC1B,8GAAA,kBAAkB,OAAA;AAClB,mHAAA,uBAAuB,OAAA;AACvB,6GAAA,iBAAiB,OAAA;AACjB,oHAAA,wBAAwB,OAAA;AAM1B,SAAS;AACT,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAGlB,eAAe;AACf,yCAQqB;AAPnB,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,0HAAA,6BAA6B,OAAA;AAC7B,6GAAA,gBAAgB,OAAA;AAChB,yGAAA,YAAY,OAAA;AAGd,UAAU;AACV,mCAAuD;AAA9C,sGAAA,YAAY,OAAA;AAAE,uGAAA,aAAa,OAAA;AAcpC,2CAQsB;AAPpB,iHAAA,mBAAmB,OAAA;AACnB,+HAAA,iCAAiC,OAAA;AACjC,+GAAA,iBAAiB,OAAA;AACjB,oHAAA,sBAAsB,OAAA;AACtB,oHAAA,sBAAsB,OAAA;AACtB,yHAAA,2BAA2B,OAAA;AAC3B,gHAAA,kBAAkB,OAAA;AAKpB,+CAAwD;AAA/C,sHAAA,sBAAsB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;AAgBH,mCASkB;AARhB,uGAAA,aAAa,OAAA;AACb,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,yGAAA,eAAe,OAAA;AACf,6GAAA,mBAAmB,OAAA;AACnB,+GAAA,qBAAqB,OAAA;AACrB,8GAAA,oBAAoB,OAAA;AACpB,mHAAA,yBAAyB,OAAA;AAgB3B,yCAA8C;AAArC,4GAAA,eAAe,OAAA;AAIxB,2CAA8E;AAArE,+GAAA,iBAAiB,OAAA;AAAE,yHAAA,2BAA2B,OAAA;AAKvD,+CAAgF;AAAvE,qHAAA,qBAAqB,OAAA;AAAE,uHAAA,uBAAuB,OAAA;AAIvD,qDAA4F;AAAnF,mHAAA,gBAAgB,OAAA;AAAE,oHAAA,iBAAiB,OAAA;AAAE,qHAAA,kBAAkB,OAAA;AA+BhE,qCAAqC;AACrC,uCAMoB;AALlB,sHAAA,0BAA0B,OAAA;AAC1B,8GAAA,kBAAkB,OAAA;AAClB,mHAAA,uBAAuB,OAAA;AACvB,6GAAA,iBAAiB,OAAA;AACjB,oHAAA,wBAAwB,OAAA;AAM1B,SAAS;AACT,yCAAwC;AAA/B,sGAAA,SAAS,OAAA;AAGlB,eAAe;AACf,yCAYqB;AAXnB,wGAAA,WAAW,OAAA;AACX,0GAAA,aAAa,OAAA;AACb,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,+GAAA,kBAAkB,OAAA;AAClB,iHAAA,oBAAoB,OAAA;AACpB,4GAAA,eAAe,OAAA;AACf,8GAAA,iBAAiB,OAAA;AACjB,0HAAA,6BAA6B,OAAA;AAC7B,6GAAA,gBAAgB,OAAA;AAChB,yGAAA,YAAY,OAAA;AAId,UAAU;AACV,mCAAuE;AAA9D,sGAAA,YAAY,OAAA;AAAE,wGAAA,cAAc,OAAA;AAAE,uGAAA,aAAa,OAAA;AAepD,2CAQsB;AAPpB,iHAAA,mBAAmB,OAAA;AACnB,+HAAA,iCAAiC,OAAA;AACjC,+GAAA,iBAAiB,OAAA;AACjB,oHAAA,sBAAsB,OAAA;AACtB,oHAAA,sBAAsB,OAAA;AACtB,yHAAA,2BAA2B,OAAA;AAC3B,gHAAA,kBAAkB,OAAA;AAKpB,+CAAwD;AAA/C,sHAAA,sBAAsB,OAAA"}
package/dist/map.d.ts CHANGED
@@ -8,6 +8,8 @@
8
8
  * Raw upstream artifacts are preserved as-is in proofs.
9
9
  */
10
10
  import type { PeacEvidenceCarrier } from '@peac/kernel';
11
+ import type { RawSignedOffer, RawSignedReceipt } from './raw.js';
12
+ import type { NormalizedV2Offer, NormalizedV2Receipt } from './normalize-v2.js';
11
13
  import type { X402OfferReceiptChallenge, X402SettlementResponse, X402PeacRecord, OfferVerification, ConsistencyVerification, CryptoResult, AuthorizationResult } from './types.js';
12
14
  /**
13
15
  * Options for record mapping
@@ -60,6 +62,36 @@ export interface ToPeacRecordOptions {
60
62
  * @throws X402Error if inputs are structurally invalid
61
63
  */
62
64
  export declare function toPeacRecord(paymentRequired: X402OfferReceiptChallenge, settlementResponse: X402SettlementResponse, options?: ToPeacRecordOptions): X402PeacRecord;
65
+ /**
66
+ * Options for V2 record mapping
67
+ */
68
+ export interface ToPeacRecordV2Options {
69
+ /** Offer verification result */
70
+ offerVerification?: OfferVerification;
71
+ /** Consistency verification result */
72
+ consistencyVerification?: ConsistencyVerification;
73
+ /** Whether cryptographic verification was performed */
74
+ cryptoVerified?: boolean;
75
+ /** Crypto verification result */
76
+ cryptoResult?: CryptoResult;
77
+ /** Signer authorization result */
78
+ authorizationResult?: AuthorizationResult;
79
+ }
80
+ /**
81
+ * Map V2 x402 payment flow to a PEAC interaction record.
82
+ *
83
+ * V2 uses per-accept-entry offers with different semantics:
84
+ * maxTimeoutSeconds (duration) instead of validUntil (epoch),
85
+ * resource metadata, and scheme-specific extra data.
86
+ *
87
+ * @param offer - Normalized V2 offer (single accept entry)
88
+ * @param receipt - Normalized V2 receipt (caller supplies resourceUrl and issuedAt)
89
+ * @param rawOffer - Raw upstream offer artifact (preserved in proofs)
90
+ * @param rawReceipt - Raw upstream receipt artifact (preserved in proofs)
91
+ * @param options - Optional verification results for hints
92
+ * @returns Canonical PEAC interaction record
93
+ */
94
+ export declare function toPeacRecordV2(offer: NormalizedV2Offer, receipt: NormalizedV2Receipt, rawOffer: RawSignedOffer, rawReceipt: RawSignedReceipt, options?: ToPeacRecordV2Options): X402PeacRecord;
63
95
  /**
64
96
  * Convert an x402 PEAC record to a PeacEvidenceCarrier.
65
97
  *
package/dist/map.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAOxD,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EAEd,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;OAEG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,eAAe,EAAE,yBAAyB,EAC1C,kBAAkB,EAAE,sBAAsB,EAC1C,OAAO,CAAC,EAAE,mBAAmB,GAC5B,cAAc,CA2HhB;AAMD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAMpF"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAGjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAChF,OAAO,KAAK,EACV,yBAAyB,EACzB,sBAAsB,EACtB,cAAc,EAEd,iBAAiB,EACjB,uBAAuB,EACvB,YAAY,EACZ,mBAAmB,EACpB,MAAM,YAAY,CAAC;AAGpB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC;;OAEG;IACH,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;OAEG;IACH,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAC1C;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,YAAY,CAC1B,eAAe,EAAE,yBAAyB,EAC1C,kBAAkB,EAAE,sBAAsB,EAC1C,OAAO,CAAC,EAAE,mBAAmB,GAC5B,cAAc,CA2HhB;AAMD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gCAAgC;IAChC,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,sCAAsC;IACtC,uBAAuB,CAAC,EAAE,uBAAuB,CAAC;IAClD,uDAAuD;IACvD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iCAAiC;IACjC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,kCAAkC;IAClC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,mBAAmB,EAC5B,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,gBAAgB,EAC5B,OAAO,CAAC,EAAE,qBAAqB,GAC9B,cAAc,CAsEhB;AAMD;;;;;;;;GAQG;AACH,wBAAsB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAMpF"}
package/dist/map.js CHANGED
@@ -10,6 +10,7 @@
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.toPeacRecord = toPeacRecord;
13
+ exports.toPeacRecordV2 = toPeacRecordV2;
13
14
  exports.toPeacCarrier = toPeacCarrier;
14
15
  const schema_1 = require("@peac/schema");
15
16
  const errors_js_1 = require("./errors.js");
@@ -131,6 +132,86 @@ function toPeacRecord(paymentRequired, settlementResponse, options) {
131
132
  createdAt: new Date().toISOString(),
132
133
  };
133
134
  }
135
+ /**
136
+ * Map V2 x402 payment flow to a PEAC interaction record.
137
+ *
138
+ * V2 uses per-accept-entry offers with different semantics:
139
+ * maxTimeoutSeconds (duration) instead of validUntil (epoch),
140
+ * resource metadata, and scheme-specific extra data.
141
+ *
142
+ * @param offer - Normalized V2 offer (single accept entry)
143
+ * @param receipt - Normalized V2 receipt (caller supplies resourceUrl and issuedAt)
144
+ * @param rawOffer - Raw upstream offer artifact (preserved in proofs)
145
+ * @param rawReceipt - Raw upstream receipt artifact (preserved in proofs)
146
+ * @param options - Optional verification results for hints
147
+ * @returns Canonical PEAC interaction record
148
+ */
149
+ function toPeacRecordV2(offer, receipt, rawOffer, rawReceipt, options) {
150
+ const hints = {};
151
+ if (receipt.resourceUrl) {
152
+ hints.resourceUrl = receipt.resourceUrl;
153
+ }
154
+ // Build verification status
155
+ const offerVerification = options?.offerVerification;
156
+ const cryptoResult = options?.cryptoResult;
157
+ const authResult = options?.authorizationResult;
158
+ const verification = {
159
+ structural: true,
160
+ cryptographic: {
161
+ verified: options?.cryptoVerified ?? false,
162
+ ...(!(options?.cryptoVerified ?? false) && { reason: 'not_checked' }),
163
+ format: rawOffer.format,
164
+ ...(cryptoResult?.signer && { signer: cryptoResult.signer }),
165
+ },
166
+ termMatching: {
167
+ matched: offerVerification?.valid ?? false,
168
+ method: offerVerification?.usedHint ? 'hint' : 'scan',
169
+ ...(offerVerification?.matchedIndex !== undefined && {
170
+ matchedIndex: offerVerification.matchedIndex,
171
+ }),
172
+ ...(!offerVerification && { reason: 'not_verified' }),
173
+ },
174
+ ...(options?.consistencyVerification && {
175
+ consistency: {
176
+ checked: true,
177
+ valid: options.consistencyVerification.valid,
178
+ },
179
+ }),
180
+ ...(authResult && {
181
+ signerAuthorization: {
182
+ checked: true,
183
+ authorized: authResult.authorized,
184
+ ...(authResult.method && { method: authResult.method }),
185
+ },
186
+ }),
187
+ };
188
+ hints.verification = verification;
189
+ return {
190
+ version: types_js_1.X402_OFFER_RECEIPT_PROFILE,
191
+ proofs: {
192
+ x402: {
193
+ offer: rawOffer,
194
+ receipt: rawReceipt,
195
+ },
196
+ },
197
+ evidence: {
198
+ resourceUrl: offer.resource.url,
199
+ network: offer.network,
200
+ payee: offer.payTo,
201
+ asset: offer.asset,
202
+ amount: offer.amount,
203
+ offerVersion: offer.version,
204
+ maxTimeoutSeconds: offer.maxTimeoutSeconds,
205
+ scheme: offer.scheme,
206
+ ...(receipt.payer && { payer: receipt.payer }),
207
+ ...(receipt.issuedAt && { issuedAt: receipt.issuedAt }),
208
+ ...(receipt.transaction && { transaction: receipt.transaction }),
209
+ receiptVersion: receipt.version,
210
+ },
211
+ hints,
212
+ createdAt: new Date().toISOString(),
213
+ };
214
+ }
134
215
  // ---------------------------------------------------------------------------
135
216
  // Evidence Carrier mapping
136
217
  // ---------------------------------------------------------------------------
package/dist/map.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../src/map.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAyEH,oCA+HC;AAoCD,wCA4EC;AAeD,sCAMC;AA1UD,yCAAiD;AAEjD,2CAAwC;AAExC,qCAAsE;AACtE,iDAAgF;AAYhF,yCAAwD;AAsCxD;;;;;;;;;;;;;;GAcG;AACH,SAAgB,YAAY,CAC1B,eAA0C,EAC1C,kBAA0C,EAC1C,OAA6B;IAE7B,MAAM,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,OAAO,EAAE,kBAAkB,CAAC;IAEhD,wBAAwB;IACxB,IACE,CAAC,eAAe,CAAC,MAAM;QACvB,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC;QACtC,eAAe,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EACnC,CAAC;QACD,MAAM,IAAI,qBAAS,CACjB,sBAAsB,EACtB,uDAAuD,CACxD,CAAC;IACJ,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,IAAI,UAAU,IAAI,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAClE,MAAM,IAAI,qBAAS,CACjB,sBAAsB,EACtB,cAAc,UAAU,wBAAwB,eAAe,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,CACrF,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAmB,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACjE,MAAM,OAAO,GAAqB,kBAAkB,CAAC,OAAO,CAAC;IAE7D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,qBAAS,CACjB,wBAAwB,EACxB,iDAAiD,CAClD,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,MAAM,eAAe,GAAG,IAAA,4BAAmB,EAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChE,MAAM,iBAAiB,GAAG,IAAA,8BAAqB,EAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,IAAA,oCAAqB,EAAC,eAAe,CAAC,CAAC;IAC5D,MAAM,cAAc,GAAG,IAAA,sCAAuB,EAAC,iBAAiB,CAAC,CAAC;IAElE,wDAAwD;IACxD,MAAM,KAAK,GAA4B,EAAE,CAAC;IAE1C,4CAA4C;IAC5C,MAAM,YAAY,GAAG,OAAO,EAAE,iBAAiB,EAAE,YAAY,CAAC;IAC9D,MAAM,gBAAgB,GAAG,YAAY,EAAE,oBAAoB,IAAI,KAAK,CAAC;IAErE,+BAA+B;IAC/B,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,KAAK,CAAC,WAAW,GAAG;YAClB,KAAK,EAAE,KAAK,CAAC,WAAW;YACxB,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,gBAAgB,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;SACpD,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,IAAI,kBAAkB,CAAC,WAAW,CAAC;IAClF,IAAI,WAAW,EAAE,CAAC;QAChB,KAAK,CAAC,WAAW,GAAG,WAAW,CAAC;IAClC,CAAC;IAED,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,CAAC;IACrD,MAAM,oBAAoB,GAAG,iBAAiB,KAAK,SAAS,CAAC;IAC7D,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;IAC3C,MAAM,UAAU,GAAG,OAAO,EAAE,mBAAmB,CAAC;IAEhD,MAAM,YAAY,GAAuB;QACvC,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO,EAAE,cAAc,IAAI,KAAK;YAC1C,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YACrE,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;SAC7D;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,oBAAoB,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK;YAC/D,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACrD,GAAG,CAAC,iBAAiB,EAAE,YAAY,KAAK,SAAS,IAAI;gBACnD,YAAY,EAAE,iBAAiB,CAAC,YAAY;aAC7C,CAAC;YACF,GAAG,CAAC,CAAC,oBAAoB,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;SACzD;QACD,GAAG,CAAC,OAAO,EAAE,uBAAuB,IAAI;YACtC,WAAW,EAAE;gBACX,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,KAAK;aAC7C;SACF,CAAC;QACF,GAAG,CAAC,UAAU,IAAI;YAChB,mBAAmB,EAAE;gBACnB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;aACxD;SACF,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;IAElC,OAAO;QACL,OAAO,EAAE,qCAA0B;QACnC,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,KAAK,EAAE,oCAAoC;gBAC3C,OAAO,EAAE,oCAAoC;aAC9C;SACF;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,GAAG,CAAC,YAAY,CAAC,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,UAAU,EAAE,CAAC;YACrF,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,MAAM,EAAE,YAAY,CAAC,MAAM;YAC3B,YAAY,EAAE,YAAY,CAAC,OAAO;YAClC,GAAG,CAAC,cAAc,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5D,GAAG,CAAC,cAAc,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC;YACrE,GAAG,CAAC,cAAc,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,WAAW,EAAE,CAAC;YAC9E,GAAG,CAAC,cAAc,CAAC,OAAO,KAAK,SAAS,IAAI,EAAE,cAAc,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC;SACxF;QACD,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAsBD;;;;;;;;;;;;;GAaG;AACH,SAAgB,cAAc,CAC5B,KAAwB,EACxB,OAA4B,EAC5B,QAAwB,EACxB,UAA4B,EAC5B,OAA+B;IAE/B,MAAM,KAAK,GAA4B,EAAE,CAAC;IAE1C,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;QACxB,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED,4BAA4B;IAC5B,MAAM,iBAAiB,GAAG,OAAO,EAAE,iBAAiB,CAAC;IACrD,MAAM,YAAY,GAAG,OAAO,EAAE,YAAY,CAAC;IAC3C,MAAM,UAAU,GAAG,OAAO,EAAE,mBAAmB,CAAC;IAEhD,MAAM,YAAY,GAAuB;QACvC,UAAU,EAAE,IAAI;QAChB,aAAa,EAAE;YACb,QAAQ,EAAE,OAAO,EAAE,cAAc,IAAI,KAAK;YAC1C,GAAG,CAAC,CAAC,CAAC,OAAO,EAAE,cAAc,IAAI,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;YACrE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,CAAC;SAC7D;QACD,YAAY,EAAE;YACZ,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,KAAK;YAC1C,MAAM,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;YACrD,GAAG,CAAC,iBAAiB,EAAE,YAAY,KAAK,SAAS,IAAI;gBACnD,YAAY,EAAE,iBAAiB,CAAC,YAAY;aAC7C,CAAC;YACF,GAAG,CAAC,CAAC,iBAAiB,IAAI,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;SACtD;QACD,GAAG,CAAC,OAAO,EAAE,uBAAuB,IAAI;YACtC,WAAW,EAAE;gBACX,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,OAAO,CAAC,uBAAuB,CAAC,KAAK;aAC7C;SACF,CAAC;QACF,GAAG,CAAC,UAAU,IAAI;YAChB,mBAAmB,EAAE;gBACnB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,GAAG,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC;aACxD;SACF,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,YAAY,GAAG,YAAY,CAAC;IAElC,OAAO;QACL,OAAO,EAAE,qCAA0B;QACnC,MAAM,EAAE;YACN,IAAI,EAAE;gBACJ,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,UAAU;aACpB;SACF;QACD,QAAQ,EAAE;YACR,WAAW,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;YAC/B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,YAAY,EAAE,KAAK,CAAC,OAAO;YAC3B,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;YAC1C,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;YAC9C,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;YACvD,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,CAAC;YAChE,cAAc,EAAE,OAAO,CAAC,OAAO;SAChC;QACD,KAAK;QACL,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,2BAA2B;AAC3B,8EAA8E;AAE9E;;;;;;;;GAQG;AACI,KAAK,UAAU,aAAa,CAAC,UAAkB;IACpD,MAAM,GAAG,GAAG,MAAM,IAAA,0BAAiB,EAAC,UAAU,CAAC,CAAC;IAChD,OAAO;QACL,WAAW,EAAE,GAAG;QAChB,WAAW,EAAE,UAAU;KACxB,CAAC;AACJ,CAAC"}