@peac/mappings-acp 0.10.0 → 0.11.2
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/LICENSE +1 -1
- package/README.md +2 -2
- package/dist/carrier.d.ts +70 -0
- package/dist/carrier.d.ts.map +1 -0
- package/dist/carrier.js +159 -0
- package/dist/carrier.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -2
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
package/LICENSE
CHANGED
|
@@ -175,7 +175,7 @@ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
|
|
175
175
|
|
|
176
176
|
END OF TERMS AND CONDITIONS
|
|
177
177
|
|
|
178
|
-
Copyright 2025 PEAC Protocol Contributors
|
|
178
|
+
Copyright 2025-2026 PEAC Protocol Contributors
|
|
179
179
|
|
|
180
180
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
181
181
|
you may not use this file except in compliance with the License.
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ pnpm add @peac/mappings-acp
|
|
|
10
10
|
|
|
11
11
|
## Documentation
|
|
12
12
|
|
|
13
|
-
See [peacprotocol.org](https://peacprotocol.org) for full documentation.
|
|
13
|
+
See [peacprotocol.org](https://www.peacprotocol.org) for full documentation.
|
|
14
14
|
|
|
15
15
|
## License
|
|
16
16
|
|
|
@@ -20,4 +20,4 @@ Apache-2.0
|
|
|
20
20
|
|
|
21
21
|
PEAC Protocol is an open source project stewarded by Originary and community contributors.
|
|
22
22
|
|
|
23
|
-
[
|
|
23
|
+
[Docs](https://www.peacprotocol.org) | [GitHub](https://github.com/peacprotocol/peac) | [Originary](https://www.originary.xyz)
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACP carrier adapter for Evidence Carrier Contract (DD-124).
|
|
3
|
+
*
|
|
4
|
+
* v0.11.1: header-only embed transport via PEAC-Receipt (compact JWS).
|
|
5
|
+
* All size limits enforce the 8 KB header ceiling (acp_headers).
|
|
6
|
+
* Reference mode is not supported; receipt_jws is required.
|
|
7
|
+
*/
|
|
8
|
+
import type { PeacEvidenceCarrier, CarrierMeta, CarrierValidationResult, CarrierAdapter } from '@peac/kernel';
|
|
9
|
+
/** ACP carrier size limits */
|
|
10
|
+
export declare const ACP_CARRIER_LIMITS: {
|
|
11
|
+
readonly embed: 65536;
|
|
12
|
+
readonly headers: 8192;
|
|
13
|
+
};
|
|
14
|
+
/** Simple header map */
|
|
15
|
+
export type HeaderMap = Record<string, string>;
|
|
16
|
+
/** ACP message with headers and optional body */
|
|
17
|
+
export interface AcpMessageLike {
|
|
18
|
+
headers?: HeaderMap;
|
|
19
|
+
body?: Record<string, unknown>;
|
|
20
|
+
[key: string]: unknown;
|
|
21
|
+
}
|
|
22
|
+
/** Extraction result */
|
|
23
|
+
export interface AcpExtractResult {
|
|
24
|
+
receipts: PeacEvidenceCarrier[];
|
|
25
|
+
meta: CarrierMeta;
|
|
26
|
+
}
|
|
27
|
+
/** Async extraction result with consistency violations */
|
|
28
|
+
export interface AcpExtractAsyncResult extends AcpExtractResult {
|
|
29
|
+
violations: string[];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Attach carrier to ACP headers.
|
|
33
|
+
*
|
|
34
|
+
* Sets PEAC-Receipt header with compact JWS.
|
|
35
|
+
* Requires receipt_jws; reference mode is not supported in v0.11.1.
|
|
36
|
+
*/
|
|
37
|
+
export declare function attachCarrierToACPHeaders(headers: HeaderMap, carrier: PeacEvidenceCarrier): HeaderMap;
|
|
38
|
+
/**
|
|
39
|
+
* Attach carrier to ACP message via headers.
|
|
40
|
+
*
|
|
41
|
+
* Enforces header-sized limits (8 KB) since ACP v0.11.1 uses
|
|
42
|
+
* PEAC-Receipt header as the sole transport surface.
|
|
43
|
+
*/
|
|
44
|
+
export declare function attachCarrierToACPMessage(msg: AcpMessageLike, carrier: PeacEvidenceCarrier): AcpMessageLike;
|
|
45
|
+
/**
|
|
46
|
+
* Extract carrier from ACP headers (sync).
|
|
47
|
+
*
|
|
48
|
+
* Reads PEAC-Receipt header as compact JWS and computes receipt_ref.
|
|
49
|
+
* Note: receipt_ref computation requires async; sync version returns a
|
|
50
|
+
* placeholder. Use extractCarrierFromACPHeadersAsync for full validation.
|
|
51
|
+
*/
|
|
52
|
+
export declare function extractCarrierFromACPHeaders(headers: HeaderMap): AcpExtractResult | null;
|
|
53
|
+
/**
|
|
54
|
+
* Extract carrier from ACP headers (async, DD-129).
|
|
55
|
+
*
|
|
56
|
+
* Computes receipt_ref from the JWS and validates consistency.
|
|
57
|
+
*/
|
|
58
|
+
export declare function extractCarrierFromACPHeadersAsync(headers: HeaderMap): Promise<AcpExtractAsyncResult | null>;
|
|
59
|
+
/**
|
|
60
|
+
* CarrierAdapter implementation for ACP messages.
|
|
61
|
+
*/
|
|
62
|
+
export declare class AcpCarrierAdapter implements CarrierAdapter<AcpMessageLike, AcpMessageLike> {
|
|
63
|
+
extract(input: AcpMessageLike): {
|
|
64
|
+
receipts: PeacEvidenceCarrier[];
|
|
65
|
+
meta: CarrierMeta;
|
|
66
|
+
} | null;
|
|
67
|
+
attach(output: AcpMessageLike, carriers: PeacEvidenceCarrier[], meta?: CarrierMeta): AcpMessageLike;
|
|
68
|
+
validateConstraints(carrier: PeacEvidenceCarrier, meta: CarrierMeta): CarrierValidationResult;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=carrier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carrier.d.ts","sourceRoot":"","sources":["../src/carrier.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,cAAc,EACf,MAAM,cAAc,CAAC;AAYtB,8BAA8B;AAC9B,eAAO,MAAM,kBAAkB;;;CAGrB,CAAC;AAMX,wBAAwB;AACxB,MAAM,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE/C,iDAAiD;AACjD,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,wBAAwB;AACxB,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,0DAA0D;AAC1D,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAMD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,SAAS,EAClB,OAAO,EAAE,mBAAmB,GAC3B,SAAS,CASX;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,GAAG,EAAE,cAAc,EACnB,OAAO,EAAE,mBAAmB,GAC3B,cAAc,CAkBhB;AAMD;;;;;;GAMG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,SAAS,GAAG,gBAAgB,GAAG,IAAI,CAmCxF;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,SAAS,GACjB,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAiCvC;AAMD;;GAEG;AACH,qBAAa,iBAAkB,YAAW,cAAc,CAAC,cAAc,EAAE,cAAc,CAAC;IACtF,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG;QAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;QAAC,IAAI,EAAE,WAAW,CAAA;KAAE,GAAG,IAAI;IAK7F,MAAM,CACJ,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,IAAI,CAAC,EAAE,WAAW,GACjB,cAAc;IAOjB,mBAAmB,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAE,WAAW,GAAG,uBAAuB;CAG9F"}
|
package/dist/carrier.js
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* ACP carrier adapter for Evidence Carrier Contract (DD-124).
|
|
4
|
+
*
|
|
5
|
+
* v0.11.1: header-only embed transport via PEAC-Receipt (compact JWS).
|
|
6
|
+
* All size limits enforce the 8 KB header ceiling (acp_headers).
|
|
7
|
+
* Reference mode is not supported; receipt_jws is required.
|
|
8
|
+
*/
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.AcpCarrierAdapter = exports.ACP_CARRIER_LIMITS = void 0;
|
|
11
|
+
exports.attachCarrierToACPHeaders = attachCarrierToACPHeaders;
|
|
12
|
+
exports.attachCarrierToACPMessage = attachCarrierToACPMessage;
|
|
13
|
+
exports.extractCarrierFromACPHeaders = extractCarrierFromACPHeaders;
|
|
14
|
+
exports.extractCarrierFromACPHeadersAsync = extractCarrierFromACPHeadersAsync;
|
|
15
|
+
const kernel_1 = require("@peac/kernel");
|
|
16
|
+
const schema_1 = require("@peac/schema");
|
|
17
|
+
// ---------------------------------------------------------------------------
|
|
18
|
+
// Constants
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
/** ACP carrier size limits */
|
|
21
|
+
exports.ACP_CARRIER_LIMITS = {
|
|
22
|
+
embed: schema_1.CARRIER_TRANSPORT_LIMITS.acp_embed,
|
|
23
|
+
headers: schema_1.CARRIER_TRANSPORT_LIMITS.acp_headers,
|
|
24
|
+
};
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Attach
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
/**
|
|
29
|
+
* Attach carrier to ACP headers.
|
|
30
|
+
*
|
|
31
|
+
* Sets PEAC-Receipt header with compact JWS.
|
|
32
|
+
* Requires receipt_jws; reference mode is not supported in v0.11.1.
|
|
33
|
+
*/
|
|
34
|
+
function attachCarrierToACPHeaders(headers, carrier) {
|
|
35
|
+
if (!carrier.receipt_jws) {
|
|
36
|
+
throw new Error('ACP carrier requires receipt_jws (embed format) in v0.11.1');
|
|
37
|
+
}
|
|
38
|
+
headers[kernel_1.PEAC_RECEIPT_HEADER] = carrier.receipt_jws;
|
|
39
|
+
if (carrier.receipt_url) {
|
|
40
|
+
headers[kernel_1.PEAC_RECEIPT_URL_HEADER] = carrier.receipt_url;
|
|
41
|
+
}
|
|
42
|
+
return headers;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Attach carrier to ACP message via headers.
|
|
46
|
+
*
|
|
47
|
+
* Enforces header-sized limits (8 KB) since ACP v0.11.1 uses
|
|
48
|
+
* PEAC-Receipt header as the sole transport surface.
|
|
49
|
+
*/
|
|
50
|
+
function attachCarrierToACPMessage(msg, carrier) {
|
|
51
|
+
const meta = {
|
|
52
|
+
transport: 'acp',
|
|
53
|
+
format: 'embed',
|
|
54
|
+
max_size: exports.ACP_CARRIER_LIMITS.headers,
|
|
55
|
+
};
|
|
56
|
+
const validation = (0, schema_1.validateCarrierConstraints)(carrier, meta);
|
|
57
|
+
if (!validation.valid) {
|
|
58
|
+
throw new Error(`Carrier constraint violation: ${validation.violations.join('; ')}`);
|
|
59
|
+
}
|
|
60
|
+
if (!msg.headers) {
|
|
61
|
+
msg.headers = {};
|
|
62
|
+
}
|
|
63
|
+
attachCarrierToACPHeaders(msg.headers, carrier);
|
|
64
|
+
return msg;
|
|
65
|
+
}
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
// Extract
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
/**
|
|
70
|
+
* Extract carrier from ACP headers (sync).
|
|
71
|
+
*
|
|
72
|
+
* Reads PEAC-Receipt header as compact JWS and computes receipt_ref.
|
|
73
|
+
* Note: receipt_ref computation requires async; sync version returns a
|
|
74
|
+
* placeholder. Use extractCarrierFromACPHeadersAsync for full validation.
|
|
75
|
+
*/
|
|
76
|
+
function extractCarrierFromACPHeaders(headers) {
|
|
77
|
+
// Case-insensitive header lookup per RFC 9110
|
|
78
|
+
const headerKey = Object.keys(headers).find((k) => k.toLowerCase() === kernel_1.PEAC_RECEIPT_HEADER.toLowerCase());
|
|
79
|
+
if (!headerKey)
|
|
80
|
+
return null;
|
|
81
|
+
const jws = headers[headerKey];
|
|
82
|
+
if (!jws || jws.length === 0)
|
|
83
|
+
return null;
|
|
84
|
+
// JWS from header: create carrier with placeholder ref (async computes real ref)
|
|
85
|
+
const carrier = {
|
|
86
|
+
receipt_ref: 'sha256:0000000000000000000000000000000000000000000000000000000000000000',
|
|
87
|
+
receipt_jws: jws,
|
|
88
|
+
};
|
|
89
|
+
// Extract receipt_url locator hint (DD-135)
|
|
90
|
+
const urlKey = Object.keys(headers).find((k) => k.toLowerCase() === kernel_1.PEAC_RECEIPT_URL_HEADER.toLowerCase());
|
|
91
|
+
if (urlKey && headers[urlKey]) {
|
|
92
|
+
carrier.receipt_url = headers[urlKey];
|
|
93
|
+
}
|
|
94
|
+
return {
|
|
95
|
+
receipts: [carrier],
|
|
96
|
+
meta: {
|
|
97
|
+
transport: 'acp',
|
|
98
|
+
format: 'embed',
|
|
99
|
+
max_size: exports.ACP_CARRIER_LIMITS.headers,
|
|
100
|
+
redaction: ['receipt_ref_pending_async'],
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Extract carrier from ACP headers (async, DD-129).
|
|
106
|
+
*
|
|
107
|
+
* Computes receipt_ref from the JWS and validates consistency.
|
|
108
|
+
*/
|
|
109
|
+
async function extractCarrierFromACPHeadersAsync(headers) {
|
|
110
|
+
const headerKey = Object.keys(headers).find((k) => k.toLowerCase() === kernel_1.PEAC_RECEIPT_HEADER.toLowerCase());
|
|
111
|
+
if (!headerKey)
|
|
112
|
+
return null;
|
|
113
|
+
const jws = headers[headerKey];
|
|
114
|
+
if (!jws || jws.length === 0)
|
|
115
|
+
return null;
|
|
116
|
+
const ref = await (0, schema_1.computeReceiptRef)(jws);
|
|
117
|
+
const carrier = {
|
|
118
|
+
receipt_ref: ref,
|
|
119
|
+
receipt_jws: jws,
|
|
120
|
+
};
|
|
121
|
+
// Extract receipt_url locator hint (DD-135)
|
|
122
|
+
const urlKey = Object.keys(headers).find((k) => k.toLowerCase() === kernel_1.PEAC_RECEIPT_URL_HEADER.toLowerCase());
|
|
123
|
+
if (urlKey && headers[urlKey]) {
|
|
124
|
+
carrier.receipt_url = headers[urlKey];
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
receipts: [carrier],
|
|
128
|
+
meta: {
|
|
129
|
+
transport: 'acp',
|
|
130
|
+
format: 'embed',
|
|
131
|
+
max_size: exports.ACP_CARRIER_LIMITS.headers,
|
|
132
|
+
},
|
|
133
|
+
violations: [],
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
// ---------------------------------------------------------------------------
|
|
137
|
+
// AcpCarrierAdapter
|
|
138
|
+
// ---------------------------------------------------------------------------
|
|
139
|
+
/**
|
|
140
|
+
* CarrierAdapter implementation for ACP messages.
|
|
141
|
+
*/
|
|
142
|
+
class AcpCarrierAdapter {
|
|
143
|
+
extract(input) {
|
|
144
|
+
if (!input.headers)
|
|
145
|
+
return null;
|
|
146
|
+
return extractCarrierFromACPHeaders(input.headers);
|
|
147
|
+
}
|
|
148
|
+
attach(output, carriers, meta) {
|
|
149
|
+
if (carriers.length > 0) {
|
|
150
|
+
attachCarrierToACPMessage(output, carriers[0]);
|
|
151
|
+
}
|
|
152
|
+
return output;
|
|
153
|
+
}
|
|
154
|
+
validateConstraints(carrier, meta) {
|
|
155
|
+
return (0, schema_1.validateCarrierConstraints)(carrier, meta);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
exports.AcpCarrierAdapter = AcpCarrierAdapter;
|
|
159
|
+
//# sourceMappingURL=carrier.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"carrier.js","sourceRoot":"","sources":["../src/carrier.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* @peac/mappings-acp
|
|
3
|
+
*
|
|
4
|
+
* Agentic Commerce Protocol (ACP) integration for PEAC.
|
|
5
|
+
* Maps ACP checkout events to PEAC receipts and carries evidence via HTTP headers.
|
|
4
6
|
*/
|
|
5
7
|
import type { PaymentEvidence } from '@peac/schema';
|
|
6
8
|
export * from './budget';
|
|
9
|
+
export type { HeaderMap, AcpMessageLike, AcpExtractResult, AcpExtractAsyncResult } from './carrier';
|
|
10
|
+
export { ACP_CARRIER_LIMITS, attachCarrierToACPHeaders, attachCarrierToACPMessage, extractCarrierFromACPHeaders, extractCarrierFromACPHeadersAsync, AcpCarrierAdapter, } from './carrier';
|
|
7
11
|
/**
|
|
8
12
|
* ACP Checkout Success Event
|
|
9
13
|
*/
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD,cAAc,UAAU,CAAC;AAGzB,YAAY,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAEpG,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,4BAA4B,EAC5B,iCAAiC,EACjC,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,eAAe,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,kBAAkB,GAAG,gBAAgB,CAoDlF;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1E,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE,MAAM,GACjB,CAAC,GAAG;IAAE,YAAY,EAAE,MAAM,CAAA;CAAE,CAK9B;AAED;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAK9F"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* @peac/mappings-acp
|
|
4
|
+
*
|
|
5
|
+
* Agentic Commerce Protocol (ACP) integration for PEAC.
|
|
6
|
+
* Maps ACP checkout events to PEAC receipts and carries evidence via HTTP headers.
|
|
5
7
|
*/
|
|
6
8
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
9
|
if (k2 === undefined) k2 = k;
|
|
@@ -18,10 +20,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
18
20
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
19
21
|
};
|
|
20
22
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.AcpCarrierAdapter = exports.extractCarrierFromACPHeadersAsync = exports.extractCarrierFromACPHeaders = exports.attachCarrierToACPMessage = exports.attachCarrierToACPHeaders = exports.ACP_CARRIER_LIMITS = void 0;
|
|
21
24
|
exports.fromACPCheckoutSuccess = fromACPCheckoutSuccess;
|
|
22
25
|
exports.attachReceiptToACPResponse = attachReceiptToACPResponse;
|
|
23
26
|
exports.extractReceiptFromACPResponse = extractReceiptFromACPResponse;
|
|
24
27
|
__exportStar(require("./budget"), exports);
|
|
28
|
+
var carrier_1 = require("./carrier");
|
|
29
|
+
Object.defineProperty(exports, "ACP_CARRIER_LIMITS", { enumerable: true, get: function () { return carrier_1.ACP_CARRIER_LIMITS; } });
|
|
30
|
+
Object.defineProperty(exports, "attachCarrierToACPHeaders", { enumerable: true, get: function () { return carrier_1.attachCarrierToACPHeaders; } });
|
|
31
|
+
Object.defineProperty(exports, "attachCarrierToACPMessage", { enumerable: true, get: function () { return carrier_1.attachCarrierToACPMessage; } });
|
|
32
|
+
Object.defineProperty(exports, "extractCarrierFromACPHeaders", { enumerable: true, get: function () { return carrier_1.extractCarrierFromACPHeaders; } });
|
|
33
|
+
Object.defineProperty(exports, "extractCarrierFromACPHeadersAsync", { enumerable: true, get: function () { return carrier_1.extractCarrierFromACPHeadersAsync; } });
|
|
34
|
+
Object.defineProperty(exports, "AcpCarrierAdapter", { enumerable: true, get: function () { return carrier_1.AcpCarrierAdapter; } });
|
|
25
35
|
/**
|
|
26
36
|
* Convert ACP checkout success event to PEAC receipt input
|
|
27
37
|
*
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@peac/mappings-acp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.2",
|
|
4
4
|
"description": "Agentic Commerce Protocol (ACP) integration for PEAC",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,15 +23,15 @@
|
|
|
23
23
|
"access": "public"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@peac/
|
|
27
|
-
"@peac/
|
|
28
|
-
"@peac/
|
|
26
|
+
"@peac/kernel": "0.11.2",
|
|
27
|
+
"@peac/schema": "0.11.2",
|
|
28
|
+
"@peac/protocol": "0.11.2"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
|
-
"@types/node": "^
|
|
31
|
+
"@types/node": "^22.19.11",
|
|
32
32
|
"typescript": "^5.3.3",
|
|
33
|
-
"vitest": "^
|
|
34
|
-
"@peac/crypto": "0.
|
|
33
|
+
"vitest": "^4.0.0",
|
|
34
|
+
"@peac/crypto": "0.11.2"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "tsc",
|