@peac/kernel 0.11.3 → 0.12.0-preview.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/dist/index.d.ts CHANGED
@@ -4,10 +4,12 @@
4
4
  *
5
5
  * @packageDocumentation
6
6
  */
7
- export type { JsonPrimitive, JsonValue, JsonArray, JsonObject, NextAction, ErrorDefinition, ErrorCategory, PaymentRailEntry, ControlEngineEntry, TransportMethodEntry, AgentProtocolEntry, } from './types.js';
7
+ export type { JsonPrimitive, JsonValue, JsonArray, JsonObject, NextAction, ErrorDefinition, ErrorCategory, PaymentRailEntry, ControlEngineEntry, TransportMethodEntry, AgentProtocolEntry, Wire02Kind, EvidencePillar, } from './types.js';
8
8
  export { ERROR_CATEGORIES } from './types.js';
9
9
  export { WIRE_TYPE, WIRE_VERSION, ALGORITHMS, HEADERS, POLICY, ISSUER_CONFIG, DISCOVERY, // @deprecated - use POLICY instead
10
- JWKS, RECEIPT, LIMITS, BUNDLE_VERSION, VERIFICATION_REPORT_VERSION, HASH, parseHash, formatHash, isValidHash, VERIFIER_LIMITS, VERIFIER_NETWORK, PRIVATE_IP_RANGES, VERIFIER_POLICY_VERSION, VERIFICATION_MODES, CONSTANTS, } from './constants.js';
10
+ JWKS, RECEIPT, LIMITS, BUNDLE_VERSION, VERIFICATION_REPORT_VERSION, HASH, parseHash, formatHash, isValidHash, VERIFIER_LIMITS, VERIFIER_NETWORK, PRIVATE_IP_RANGES, VERIFIER_POLICY_VERSION, VERIFICATION_MODES, CONSTANTS, WIRE_01_JWS_TYP, WIRE_02_JWS_TYP, WIRE_02_JWS_TYP_ACCEPT, WIRE_02_VERSION, WIRE_VERSIONS, ISS_CANONICAL, TYPE_GRAMMAR, POLICY_BLOCK, OCCURRED_AT_TOLERANCE_SECONDS, PEAC_ALG, } from './constants.js';
11
+ export type { WireVersion, VerificationStrictness } from './constants.js';
12
+ export type { PolicyBlock, RepresentationFields, VerificationWarning } from './wire-02-types.js';
11
13
  export { ERROR_CODES, ERRORS, BUNDLE_ERRORS, DISPUTE_ERRORS, getError, isRetryable, type ErrorCode, } from './errors.js';
12
14
  export { PAYMENT_RAILS, CONTROL_ENGINES, TRANSPORT_METHODS, AGENT_PROTOCOLS, REGISTRIES, findPaymentRail, findControlEngine, findTransportMethod, findAgentProtocol, } from './registries.js';
13
15
  export { VARY_HEADERS, applyPurposeVary, getPeacVaryHeaders, needsPurposeVary } from './http.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAEV,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EAEV,UAAU,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,OAAO,EACP,MAAM,EACN,aAAa,EACb,SAAS,EAAE,mCAAmC;AAC9C,IAAI,EACJ,OAAO,EACP,MAAM,EACN,cAAc,EACd,2BAA2B,EAC3B,IAAI,EACJ,SAAS,EACT,UAAU,EACV,WAAW,EAEX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,GACV,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,WAAW,EACX,MAAM,EACN,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGjG,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5E,YAAY,EACV,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,cAAc,GACf,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAEV,aAAa,EACb,SAAS,EACT,SAAS,EACT,UAAU,EAEV,UAAU,EACV,eAAe,EACf,aAAa,EACb,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAElB,UAAU,EACV,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,OAAO,EACP,MAAM,EACN,aAAa,EACb,SAAS,EAAE,mCAAmC;AAC9C,IAAI,EACJ,OAAO,EACP,MAAM,EACN,cAAc,EACd,2BAA2B,EAC3B,IAAI,EACJ,SAAS,EACT,UAAU,EACV,WAAW,EAEX,eAAe,EACf,gBAAgB,EAChB,iBAAiB,EACjB,uBAAuB,EACvB,kBAAkB,EAClB,SAAS,EAET,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,eAAe,EACf,aAAa,EACb,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,6BAA6B,EAC7B,QAAQ,GACT,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAG1E,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAGjG,OAAO,EACL,WAAW,EACX,MAAM,EACN,aAAa,EACb,cAAc,EACd,QAAQ,EACR,WAAW,EACX,KAAK,SAAS,GACf,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAGjG,OAAO,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAC5E,YAAY,EACV,UAAU,EACV,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,uBAAuB,EACvB,cAAc,GACf,MAAM,cAAc,CAAC"}
package/dist/index.mjs CHANGED
@@ -3,6 +3,7 @@ var ERROR_CATEGORIES = [
3
3
  "attribution",
4
4
  "bundle",
5
5
  "control",
6
+ "cryptography",
6
7
  "dispute",
7
8
  "identity",
8
9
  "infrastructure",
@@ -153,6 +154,29 @@ var VERIFICATION_MODES = {
153
154
  /** Allow network fetches for key discovery */
154
155
  networkAllowed: "network_allowed"
155
156
  };
157
+ var WIRE_01_JWS_TYP = "peac-receipt/0.1";
158
+ var WIRE_02_JWS_TYP = "interaction-record+jwt";
159
+ var WIRE_02_JWS_TYP_ACCEPT = [
160
+ "interaction-record+jwt",
161
+ "application/interaction-record+jwt"
162
+ ];
163
+ var WIRE_02_VERSION = "0.2";
164
+ var WIRE_VERSIONS = ["0.1", "0.2"];
165
+ var ISS_CANONICAL = {
166
+ maxLength: 2048,
167
+ supportedSchemes: ["https", "did"],
168
+ /** Default port for https (rejected if explicit in iss). */
169
+ defaultPorts: { https: 443 }
170
+ };
171
+ var TYPE_GRAMMAR = { maxLength: 256 };
172
+ var POLICY_BLOCK = {
173
+ /** Maximum length of the policy.uri HTTPS hint (chars). */
174
+ uriMaxLength: 2048,
175
+ /** Maximum length of the policy.version label (chars). */
176
+ versionMaxLength: 256
177
+ };
178
+ var OCCURRED_AT_TOLERANCE_SECONDS = 300;
179
+ var PEAC_ALG = ALGORITHMS.default;
156
180
  var CONSTANTS = {
157
181
  WIRE_TYPE,
158
182
  WIRE_VERSION,
@@ -207,6 +231,12 @@ var ERROR_CODES = {
207
231
  // Control error codes
208
232
  E_CONTROL_DENIED: "E_CONTROL_DENIED",
209
233
  E_CONTROL_REVIEW_REQUIRED: "E_CONTROL_REVIEW_REQUIRED",
234
+ // Cryptography error codes
235
+ E_JWS_B64_REJECTED: "E_JWS_B64_REJECTED",
236
+ E_JWS_CRIT_REJECTED: "E_JWS_CRIT_REJECTED",
237
+ E_JWS_EMBEDDED_KEY: "E_JWS_EMBEDDED_KEY",
238
+ E_JWS_MISSING_KID: "E_JWS_MISSING_KID",
239
+ E_JWS_ZIP_REJECTED: "E_JWS_ZIP_REJECTED",
210
240
  // Dispute error codes
211
241
  E_DISPUTE_DUPLICATE: "E_DISPUTE_DUPLICATE",
212
242
  E_DISPUTE_EXPIRED: "E_DISPUTE_EXPIRED",
@@ -280,6 +310,10 @@ var ERROR_CODES = {
280
310
  E_UCP_VERIFICATION_FAILED: "E_UCP_VERIFICATION_FAILED",
281
311
  // Validation error codes
282
312
  E_CONSTRAINT_VIOLATION: "E_CONSTRAINT_VIOLATION",
313
+ E_EAT_INVALID_CBOR: "E_EAT_INVALID_CBOR",
314
+ E_EAT_INVALID_COSE: "E_EAT_INVALID_COSE",
315
+ E_EAT_SIZE_EXCEEDED: "E_EAT_SIZE_EXCEEDED",
316
+ E_EAT_UNSUPPORTED_ALG: "E_EAT_UNSUPPORTED_ALG",
283
317
  E_EVIDENCE_NOT_JSON: "E_EVIDENCE_NOT_JSON",
284
318
  E_EXPIRED: "E_EXPIRED",
285
319
  E_INVALID_AMOUNT: "E_INVALID_AMOUNT",
@@ -287,16 +321,27 @@ var ERROR_CODES = {
287
321
  E_INVALID_CURRENCY: "E_INVALID_CURRENCY",
288
322
  E_INVALID_FORMAT: "E_INVALID_FORMAT",
289
323
  E_INVALID_ISSUER: "E_INVALID_ISSUER",
324
+ E_INVALID_KIND: "E_INVALID_KIND",
325
+ E_INVALID_PILLAR_VALUE: "E_INVALID_PILLAR_VALUE",
290
326
  E_INVALID_RAIL: "E_INVALID_RAIL",
291
327
  E_INVALID_RECEIPT_ID: "E_INVALID_RECEIPT_ID",
292
328
  E_INVALID_SUBJECT: "E_INVALID_SUBJECT",
329
+ E_INVALID_TYPE: "E_INVALID_TYPE",
330
+ E_ISS_NOT_CANONICAL: "E_ISS_NOT_CANONICAL",
293
331
  E_MISSING_EXP: "E_MISSING_EXP",
294
332
  E_MISSING_REQUIRED_CLAIM: "E_MISSING_REQUIRED_CLAIM",
295
333
  E_NOT_YET_VALID: "E_NOT_YET_VALID",
334
+ E_OCCURRED_AT_FUTURE: "E_OCCURRED_AT_FUTURE",
335
+ E_OCCURRED_AT_ON_CHALLENGE: "E_OCCURRED_AT_ON_CHALLENGE",
296
336
  E_PARSE_ATTESTATION_INVALID: "E_PARSE_ATTESTATION_INVALID",
297
337
  E_PARSE_COMMERCE_INVALID: "E_PARSE_COMMERCE_INVALID",
298
338
  E_PARSE_INVALID_INPUT: "E_PARSE_INVALID_INPUT",
339
+ E_PILLARS_NOT_SORTED: "E_PILLARS_NOT_SORTED",
340
+ E_POLICY_BINDING_FAILED: "E_POLICY_BINDING_FAILED",
341
+ E_UNSUPPORTED_WIRE_VERSION: "E_UNSUPPORTED_WIRE_VERSION",
342
+ E_WIRE_VERSION_MISMATCH: "E_WIRE_VERSION_MISMATCH",
299
343
  // Verification error codes
344
+ E_EAT_SIGNATURE_FAILED: "E_EAT_SIGNATURE_FAILED",
300
345
  E_INVALID_SIGNATURE: "E_INVALID_SIGNATURE",
301
346
  E_KEY_NOT_FOUND: "E_KEY_NOT_FOUND",
302
347
  E_KID_REUSE_DETECTED: "E_KID_REUSE_DETECTED",
@@ -618,6 +663,52 @@ var ERRORS = {
618
663
  next_action: "contact_issuer",
619
664
  category: "control"
620
665
  },
666
+ // Cryptography error codes
667
+ E_JWS_B64_REJECTED: {
668
+ code: "E_JWS_B64_REJECTED",
669
+ http_status: 400,
670
+ title: "JWS b64:false Rejected",
671
+ description: "JWS header contains b64:false (RFC 7797 unencoded payload); unencoded payloads are not supported",
672
+ retryable: false,
673
+ next_action: "abort",
674
+ category: "cryptography"
675
+ },
676
+ E_JWS_CRIT_REJECTED: {
677
+ code: "E_JWS_CRIT_REJECTED",
678
+ http_status: 400,
679
+ title: "JWS crit Header Rejected",
680
+ description: "JWS header contains a crit field; critical header extensions are not supported and are rejected",
681
+ retryable: false,
682
+ next_action: "abort",
683
+ category: "cryptography"
684
+ },
685
+ E_JWS_EMBEDDED_KEY: {
686
+ code: "E_JWS_EMBEDDED_KEY",
687
+ http_status: 400,
688
+ title: "JWS Embedded Key Rejected",
689
+ description: "JWS header contains an embedded key (jwk, x5c, x5u, or jku); embedded key material is rejected by the PEAC JOSE hardening rules",
690
+ retryable: false,
691
+ next_action: "abort",
692
+ category: "cryptography"
693
+ },
694
+ E_JWS_MISSING_KID: {
695
+ code: "E_JWS_MISSING_KID",
696
+ http_status: 400,
697
+ title: "JWS kid Missing or Invalid",
698
+ description: "JWS header kid field is absent, empty, or exceeds the maximum allowed length (256 characters)",
699
+ retryable: false,
700
+ next_action: "abort",
701
+ category: "cryptography"
702
+ },
703
+ E_JWS_ZIP_REJECTED: {
704
+ code: "E_JWS_ZIP_REJECTED",
705
+ http_status: 400,
706
+ title: "JWS zip Header Rejected",
707
+ description: "JWS header contains a zip compression field; payload compression is not supported",
708
+ retryable: false,
709
+ next_action: "abort",
710
+ category: "cryptography"
711
+ },
621
712
  // Dispute error codes
622
713
  E_DISPUTE_DUPLICATE: {
623
714
  code: "E_DISPUTE_DUPLICATE",
@@ -1227,6 +1318,42 @@ var ERRORS = {
1227
1318
  next_action: "retry_with_different_input",
1228
1319
  category: "validation"
1229
1320
  },
1321
+ E_EAT_INVALID_CBOR: {
1322
+ code: "E_EAT_INVALID_CBOR",
1323
+ http_status: 400,
1324
+ title: "EAT Invalid CBOR",
1325
+ description: "EAT token is not valid CBOR or the payload is not a CBOR map",
1326
+ retryable: false,
1327
+ next_action: "abort",
1328
+ category: "validation"
1329
+ },
1330
+ E_EAT_INVALID_COSE: {
1331
+ code: "E_EAT_INVALID_COSE",
1332
+ http_status: 400,
1333
+ title: "EAT Invalid COSE",
1334
+ description: "EAT token is not a valid COSE_Sign1 structure per RFC 9052 Section 4.2",
1335
+ retryable: false,
1336
+ next_action: "abort",
1337
+ category: "validation"
1338
+ },
1339
+ E_EAT_SIZE_EXCEEDED: {
1340
+ code: "E_EAT_SIZE_EXCEEDED",
1341
+ http_status: 400,
1342
+ title: "EAT Size Exceeded",
1343
+ description: "EAT token exceeds the 64 KB size limit enforced before CBOR decode",
1344
+ retryable: false,
1345
+ next_action: "abort",
1346
+ category: "validation"
1347
+ },
1348
+ E_EAT_UNSUPPORTED_ALG: {
1349
+ code: "E_EAT_UNSUPPORTED_ALG",
1350
+ http_status: 400,
1351
+ title: "EAT Unsupported Algorithm",
1352
+ description: "COSE_Sign1 uses an unsupported algorithm; only EdDSA (alg: -8) is supported",
1353
+ retryable: false,
1354
+ next_action: "abort",
1355
+ category: "validation"
1356
+ },
1230
1357
  E_EVIDENCE_NOT_JSON: {
1231
1358
  code: "E_EVIDENCE_NOT_JSON",
1232
1359
  http_status: 400,
@@ -1290,6 +1417,24 @@ var ERRORS = {
1290
1417
  next_action: "retry_with_different_input",
1291
1418
  category: "validation"
1292
1419
  },
1420
+ E_INVALID_KIND: {
1421
+ code: "E_INVALID_KIND",
1422
+ http_status: 400,
1423
+ title: "Invalid Kind",
1424
+ description: "Wire 0.2 receipt kind field is missing or not one of the accepted structural kinds (evidence, challenge)",
1425
+ retryable: false,
1426
+ next_action: "abort",
1427
+ category: "validation"
1428
+ },
1429
+ E_INVALID_PILLAR_VALUE: {
1430
+ code: "E_INVALID_PILLAR_VALUE",
1431
+ http_status: 400,
1432
+ title: "Invalid Pillar Value",
1433
+ description: "Wire 0.2 pillars array contains an unrecognized pillar value outside the closed 10-value taxonomy",
1434
+ retryable: false,
1435
+ next_action: "abort",
1436
+ category: "validation"
1437
+ },
1293
1438
  E_INVALID_RAIL: {
1294
1439
  code: "E_INVALID_RAIL",
1295
1440
  http_status: 400,
@@ -1317,6 +1462,24 @@ var ERRORS = {
1317
1462
  next_action: "retry_with_different_input",
1318
1463
  category: "validation"
1319
1464
  },
1465
+ E_INVALID_TYPE: {
1466
+ code: "E_INVALID_TYPE",
1467
+ http_status: 400,
1468
+ title: "Invalid Type",
1469
+ description: "Wire 0.2 receipt type field is missing or does not conform to the required grammar (reverse-DNS or absolute URI)",
1470
+ retryable: false,
1471
+ next_action: "abort",
1472
+ category: "validation"
1473
+ },
1474
+ E_ISS_NOT_CANONICAL: {
1475
+ code: "E_ISS_NOT_CANONICAL",
1476
+ http_status: 400,
1477
+ title: "Issuer Not Canonical",
1478
+ description: "Wire 0.2 iss claim does not conform to canonical form: must be an https:// ASCII origin (no default port, no path) or a did: identifier",
1479
+ retryable: false,
1480
+ next_action: "abort",
1481
+ category: "validation"
1482
+ },
1320
1483
  E_MISSING_EXP: {
1321
1484
  code: "E_MISSING_EXP",
1322
1485
  http_status: 400,
@@ -1344,6 +1507,24 @@ var ERRORS = {
1344
1507
  next_action: "retry_after_delay",
1345
1508
  category: "validation"
1346
1509
  },
1510
+ E_OCCURRED_AT_FUTURE: {
1511
+ code: "E_OCCURRED_AT_FUTURE",
1512
+ http_status: 400,
1513
+ title: "occurred_at in Future",
1514
+ description: "Wire 0.2 occurred_at is more than the tolerance window ahead of the current time; the timestamp appears to be in the future",
1515
+ retryable: false,
1516
+ next_action: "retry_after_delay",
1517
+ category: "validation"
1518
+ },
1519
+ E_OCCURRED_AT_ON_CHALLENGE: {
1520
+ code: "E_OCCURRED_AT_ON_CHALLENGE",
1521
+ http_status: 400,
1522
+ title: "occurred_at on Challenge",
1523
+ description: "Wire 0.2 occurred_at field is present on a challenge-kind receipt; occurred_at is only permitted on evidence-kind receipts",
1524
+ retryable: false,
1525
+ next_action: "abort",
1526
+ category: "validation"
1527
+ },
1347
1528
  E_PARSE_ATTESTATION_INVALID: {
1348
1529
  code: "E_PARSE_ATTESTATION_INVALID",
1349
1530
  http_status: 400,
@@ -1371,7 +1552,52 @@ var ERRORS = {
1371
1552
  next_action: "retry_with_different_input",
1372
1553
  category: "validation"
1373
1554
  },
1555
+ E_PILLARS_NOT_SORTED: {
1556
+ code: "E_PILLARS_NOT_SORTED",
1557
+ http_status: 400,
1558
+ title: "Pillars Not Sorted",
1559
+ description: "Wire 0.2 pillars array is not in ascending lexicographic order or contains duplicates",
1560
+ retryable: false,
1561
+ next_action: "abort",
1562
+ category: "validation"
1563
+ },
1564
+ E_POLICY_BINDING_FAILED: {
1565
+ code: "E_POLICY_BINDING_FAILED",
1566
+ http_status: 400,
1567
+ title: "Policy Binding Failed",
1568
+ description: "Wire 0.2 policy.digest does not match the computed digest of the provided policy document",
1569
+ retryable: false,
1570
+ next_action: "none",
1571
+ category: "validation"
1572
+ },
1573
+ E_UNSUPPORTED_WIRE_VERSION: {
1574
+ code: "E_UNSUPPORTED_WIRE_VERSION",
1575
+ http_status: 400,
1576
+ title: "Unsupported Wire Version",
1577
+ description: "Receipt peac_version field specifies a wire version that is not supported by this implementation",
1578
+ retryable: false,
1579
+ next_action: "abort",
1580
+ category: "validation"
1581
+ },
1582
+ E_WIRE_VERSION_MISMATCH: {
1583
+ code: "E_WIRE_VERSION_MISMATCH",
1584
+ http_status: 400,
1585
+ title: "Wire Version Mismatch",
1586
+ description: "JWS header typ value and peac_version payload claim indicate different wire versions; the receipt is incoherent",
1587
+ retryable: false,
1588
+ next_action: "abort",
1589
+ category: "validation"
1590
+ },
1374
1591
  // Verification error codes
1592
+ E_EAT_SIGNATURE_FAILED: {
1593
+ code: "E_EAT_SIGNATURE_FAILED",
1594
+ http_status: 400,
1595
+ title: "EAT Signature Failed",
1596
+ description: "COSE_Sign1 Ed25519 signature verification failed over the Sig_structure",
1597
+ retryable: false,
1598
+ next_action: "retry_with_different_key",
1599
+ category: "verification"
1600
+ },
1375
1601
  E_INVALID_SIGNATURE: {
1376
1602
  code: "E_INVALID_SIGNATURE",
1377
1603
  http_status: 400,
@@ -1886,6 +2112,6 @@ function needsPurposeVary(purposeEnforced) {
1886
2112
  var PEAC_RECEIPT_HEADER = "PEAC-Receipt";
1887
2113
  var PEAC_RECEIPT_URL_HEADER = "PEAC-Receipt-URL";
1888
2114
 
1889
- export { AGENT_PROTOCOLS, ALGORITHMS, BUNDLE_ERRORS, BUNDLE_VERSION, CONSTANTS, CONTROL_ENGINES, DISCOVERY, DISPUTE_ERRORS, ERRORS, ERROR_CATEGORIES, ERROR_CODES, HASH, HEADERS, ISSUER_CONFIG, JWKS, LIMITS, PAYMENT_RAILS, PEAC_RECEIPT_HEADER, PEAC_RECEIPT_URL_HEADER, POLICY, PRIVATE_IP_RANGES, RECEIPT, REGISTRIES, TRANSPORT_METHODS, VARY_HEADERS, VERIFICATION_MODES, VERIFICATION_REPORT_VERSION, VERIFIER_LIMITS, VERIFIER_NETWORK, VERIFIER_POLICY_VERSION, WIRE_TYPE, WIRE_VERSION, applyPurposeVary, findAgentProtocol, findControlEngine, findPaymentRail, findTransportMethod, formatHash, getError, getPeacVaryHeaders, isRetryable, isValidHash, needsPurposeVary, parseHash };
2115
+ export { AGENT_PROTOCOLS, ALGORITHMS, BUNDLE_ERRORS, BUNDLE_VERSION, CONSTANTS, CONTROL_ENGINES, DISCOVERY, DISPUTE_ERRORS, ERRORS, ERROR_CATEGORIES, ERROR_CODES, HASH, HEADERS, ISSUER_CONFIG, ISS_CANONICAL, JWKS, LIMITS, OCCURRED_AT_TOLERANCE_SECONDS, PAYMENT_RAILS, PEAC_ALG, PEAC_RECEIPT_HEADER, PEAC_RECEIPT_URL_HEADER, POLICY, POLICY_BLOCK, PRIVATE_IP_RANGES, RECEIPT, REGISTRIES, TRANSPORT_METHODS, TYPE_GRAMMAR, VARY_HEADERS, VERIFICATION_MODES, VERIFICATION_REPORT_VERSION, VERIFIER_LIMITS, VERIFIER_NETWORK, VERIFIER_POLICY_VERSION, WIRE_01_JWS_TYP, WIRE_02_JWS_TYP, WIRE_02_JWS_TYP_ACCEPT, WIRE_02_VERSION, WIRE_TYPE, WIRE_VERSION, WIRE_VERSIONS, applyPurposeVary, findAgentProtocol, findControlEngine, findPaymentRail, findTransportMethod, formatHash, getError, getPeacVaryHeaders, isRetryable, isValidHash, needsPurposeVary, parseHash };
1890
2116
  //# sourceMappingURL=index.mjs.map
1891
2117
  //# sourceMappingURL=index.mjs.map