agent-passport-system 4.2.0 → 4.3.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 (30) hide show
  1. package/README.md +2 -2
  2. package/dist/src/core/action-ref.d.ts +21 -0
  3. package/dist/src/core/action-ref.d.ts.map +1 -1
  4. package/dist/src/core/action-ref.js +47 -7
  5. package/dist/src/core/action-ref.js.map +1 -1
  6. package/dist/src/core/canonical-jcs.js +2 -2
  7. package/dist/src/core/canonical-jcs.js.map +1 -1
  8. package/dist/src/profiles/a2a/index.d.ts.map +1 -1
  9. package/dist/src/profiles/a2a/index.js +2 -0
  10. package/dist/src/profiles/a2a/index.js.map +1 -1
  11. package/dist/src/profiles/mcp/index.d.ts.map +1 -1
  12. package/dist/src/profiles/mcp/index.js +2 -0
  13. package/dist/src/profiles/mcp/index.js.map +1 -1
  14. package/dist/src/v2/action-reference/index.d.ts.map +1 -1
  15. package/dist/src/v2/action-reference/index.js +2 -0
  16. package/dist/src/v2/action-reference/index.js.map +1 -1
  17. package/dist/src/v2/identity-binding/index.d.ts.map +1 -1
  18. package/dist/src/v2/identity-binding/index.js +2 -0
  19. package/dist/src/v2/identity-binding/index.js.map +1 -1
  20. package/dist/src/v2/receipt-core/decision-ref.d.ts +1 -1
  21. package/dist/src/v2/receipt-core/decision-ref.d.ts.map +1 -1
  22. package/dist/src/v2/receipt-core/decision-ref.js +14 -2
  23. package/dist/src/v2/receipt-core/decision-ref.js.map +1 -1
  24. package/dist/src/v2/receipt-core/receipt.d.ts +1 -0
  25. package/dist/src/v2/receipt-core/receipt.d.ts.map +1 -1
  26. package/dist/src/v2/receipt-core/receipt.js +1 -1
  27. package/dist/src/v2/receipt-core/receipt.js.map +1 -1
  28. package/dist/src/v2/receipt-core/types.d.ts +1 -0
  29. package/dist/src/v2/receipt-core/types.d.ts.map +1 -1
  30. package/package.json +2 -2
package/README.md CHANGED
@@ -251,7 +251,7 @@ The composition contract specifies how a verifier MUST cross-check per-request s
251
251
 
252
252
  4,326 tests. 8 protocol layers. Framework adapters for CrewAI, LangChain, ADK, A2A, MCP, OpenShell, IBAC, Gonka. Gateway evaluation under 2ms. Zero heavy dependencies. Apache-2.0.
253
253
 
254
- The test count is one number derived from the suite, not three guesses. The badge above, this section, and the `package.json` description all carry the same `4,026`, which is the `tests` total reported by `npm test`. When the suite grows, re-run `npm test`, read the `tests` line, and update all three to match.
254
+ The test count is one number derived from the suite, not three guesses. The badge above, this section, and the `package.json` description all carry the same `4,326`, which is the `tests` total reported by `npm test`. When the suite grows, re-run `npm test`, read the `tests` line, and update all three to match.
255
255
 
256
256
  ## Papers
257
257
 
@@ -263,7 +263,7 @@ The test count is one number derived from the suite, not three guesses. The badg
263
263
  - [Governance in the Medium](https://doi.org/10.5281/zenodo.19582550)
264
264
  - [Cognitive Attestation](https://doi.org/10.5281/zenodo.19646276)
265
265
  - [The Evidence-Safety Gap](https://doi.org/10.5281/zenodo.19914628)
266
- - IETF Internet-Draft: `draft-pidlisnyi-aps-01`
266
+ - IETF Internet-Draft: `draft-pidlisnyi-aps-03`
267
267
 
268
268
  ## Security and conformance
269
269
 
@@ -11,6 +11,21 @@ export type ActionRefIntent = Omit<Pick<ActionIntent, 'agentId' | 'action' | 'cr
11
11
  scopeRequired: ActionIntent['action']['scopeRequired'] | readonly string[];
12
12
  };
13
13
  };
14
+ /** Raised when scopeRequired carries two elements that are equal after NFC
15
+ * normalization. draft-pidlisnyi-aps-03 §4.1 defines scope_required as a
16
+ * duplicate-free array, so a duplicated array has no canonical form and is
17
+ * rejected rather than deduplicated: an equality key must not map distinct
18
+ * inputs onto one value silently. Subclasses the built-in Error so any
19
+ * existing handler that catches Error (or `catch (e)`) still catches it and
20
+ * fails closed. */
21
+ export declare class DuplicateScopeRequiredError extends Error {
22
+ readonly code = "ERR_DUPLICATE_SCOPE_REQUIRED";
23
+ /** Stable machine-readable category, shared across the APS SDKs. */
24
+ readonly category = "invalid_scope_required";
25
+ /** Specific failure within the category. */
26
+ readonly reason = "duplicate_scope_required";
27
+ constructor(message: string);
28
+ }
14
29
  /**
15
30
  * Compute the content-addressed request identity for an ActionIntent.
16
31
  *
@@ -22,6 +37,12 @@ export type ActionRefIntent = Omit<Pick<ActionIntent, 'agentId' | 'action' | 'cr
22
37
  * array, the array is sorted by Unicode code point. No case folding; scopes
23
38
  * that differ only in case stay distinct.
24
39
  *
40
+ * Throws DuplicateScopeRequiredError when an array scopeRequired holds two
41
+ * elements equal after NFC normalization. The throw happens inside
42
+ * canonicalization, before the digest is computed, so a duplicated array can
43
+ * never present as an identity mismatch downstream: there is no action_ref to
44
+ * compare in the first place.
45
+ *
25
46
  * Canonicalization follows RFC 8785 JCS strictly, per draft-pidlisnyi-aps-01
26
47
  * §4.1: null/undefined-valued keys are preserved (not stripped) so that two
27
48
  * APS engines independently hashing the same request produce the same
@@ -1 +1 @@
1
- {"version":3,"file":"action-ref.d.ts","sourceRoot":"","sources":["../../../src/core/action-ref.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GACzB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC,EAAE,QAAQ,CAAC,GAAG;IACvE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,GAAG;QACtD,aAAa,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,EAAE,CAAA;KAC3E,CAAA;CACF,CAAA;AAuCH;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAQhE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D"}
1
+ {"version":3,"file":"action-ref.d.ts","sourceRoot":"","sources":["../../../src/core/action-ref.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEtD;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GACzB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,CAAC,EAAE,QAAQ,CAAC,GAAG;IACvE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,eAAe,CAAC,GAAG;QACtD,aAAa,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC,eAAe,CAAC,GAAG,SAAS,MAAM,EAAE,CAAA;KAC3E,CAAA;CACF,CAAA;AAEH;;;;;;oBAMoB;AACpB,qBAAa,2BAA4B,SAAQ,KAAK;IACpD,QAAQ,CAAC,IAAI,kCAAiC;IAC9C,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,4BAA2B;IAC5C,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,8BAA6B;IAC5C,YAAY,OAAO,EAAE,MAAM,EAG1B;CACF;AAyDD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,CAQhE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAE7D"}
@@ -18,6 +18,24 @@
18
18
  // ══════════════════════════════════════════════════════════════════
19
19
  import { normalizeTimestamp } from './canonical.js';
20
20
  import { canonicalHashJCS } from './canonical-jcs.js';
21
+ /** Raised when scopeRequired carries two elements that are equal after NFC
22
+ * normalization. draft-pidlisnyi-aps-03 §4.1 defines scope_required as a
23
+ * duplicate-free array, so a duplicated array has no canonical form and is
24
+ * rejected rather than deduplicated: an equality key must not map distinct
25
+ * inputs onto one value silently. Subclasses the built-in Error so any
26
+ * existing handler that catches Error (or `catch (e)`) still catches it and
27
+ * fails closed. */
28
+ export class DuplicateScopeRequiredError extends Error {
29
+ code = 'ERR_DUPLICATE_SCOPE_REQUIRED';
30
+ /** Stable machine-readable category, shared across the APS SDKs. */
31
+ category = 'invalid_scope_required';
32
+ /** Specific failure within the category. */
33
+ reason = 'duplicate_scope_required';
34
+ constructor(message) {
35
+ super(message);
36
+ this.name = 'DuplicateScopeRequiredError';
37
+ }
38
+ }
21
39
  /**
22
40
  * Compare two strings by Unicode code point, per §4.1's sort requirement.
23
41
  * The JS default sort compares UTF-16 code units, which orders astral-plane
@@ -40,18 +58,34 @@ function compareCodePoints(a, b) {
40
58
  }
41
59
  /**
42
60
  * Canonicalize scopeRequired per draft-pidlisnyi-aps-03 §4.1 before hashing:
43
- * NFC-normalize each scope string, then sort the array by Unicode code point.
44
- * Operates on a copy; never mutates the caller's array. The single-string
45
- * form (the current ActionIntent type) is NFC-normalized; null/undefined and
46
- * any non-conforming shape (non-string elements) pass through unchanged so
47
- * the strict-JCS null-preservation contract and legacy behavior for
48
- * out-of-spec input both hold.
61
+ * NFC-normalize each scope string, reject duplicates, then sort the array by
62
+ * Unicode code point. Operates on a copy; never mutates the caller's array.
63
+ * The single-string form (the current ActionIntent type) is NFC-normalized;
64
+ * null/undefined and any non-conforming shape (non-string elements) pass
65
+ * through unchanged so the strict-JCS null-preservation contract and legacy
66
+ * behavior for out-of-spec input both hold.
67
+ *
68
+ * §4.1 defines scope_required as a duplicate-free array. Duplicates are
69
+ * detected AFTER normalization, so two spellings that collide only under NFC
70
+ * (U+00E9 and "e" + U+0301) reject as well. Rejection rather than dedupe:
71
+ * silently collapsing ["a","a"] to ["a"] would map two distinct inputs onto
72
+ * one identity with no error, and would change the identity previously
73
+ * computed for the duplicated input. Valid arrays are byte-unchanged.
49
74
  */
50
75
  function canonicalizeScopeRequired(scope) {
51
76
  if (typeof scope === 'string')
52
77
  return scope.normalize('NFC');
53
78
  if (Array.isArray(scope) && scope.every((s) => typeof s === 'string')) {
54
- return scope.map((s) => s.normalize('NFC')).sort(compareCodePoints);
79
+ const normalized = scope.map((s) => s.normalize('NFC'));
80
+ const seen = new Set();
81
+ for (const s of normalized) {
82
+ if (seen.has(s)) {
83
+ throw new DuplicateScopeRequiredError('computeActionRef: scope_required contains duplicate elements after NFC ' +
84
+ `normalization (duplicate_scope_required): ${JSON.stringify(s)}`);
85
+ }
86
+ seen.add(s);
87
+ }
88
+ return normalized.sort(compareCodePoints);
55
89
  }
56
90
  return scope;
57
91
  }
@@ -66,6 +100,12 @@ function canonicalizeScopeRequired(scope) {
66
100
  * array, the array is sorted by Unicode code point. No case folding; scopes
67
101
  * that differ only in case stay distinct.
68
102
  *
103
+ * Throws DuplicateScopeRequiredError when an array scopeRequired holds two
104
+ * elements equal after NFC normalization. The throw happens inside
105
+ * canonicalization, before the digest is computed, so a duplicated array can
106
+ * never present as an identity mismatch downstream: there is no action_ref to
107
+ * compare in the first place.
108
+ *
69
109
  * Canonicalization follows RFC 8785 JCS strictly, per draft-pidlisnyi-aps-01
70
110
  * §4.1: null/undefined-valued keys are preserved (not stripped) so that two
71
111
  * APS engines independently hashing the same request produce the same
@@ -1 +1 @@
1
- {"version":3,"file":"action-ref.js","sourceRoot":"","sources":["../../../src/core/action-ref.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,kDAAkD;AAClD,qEAAqE;AACrE,4CAA4C;AAC5C,qGAAqG;AACrG,8EAA8E;AAC9E,EAAE;AACF,mEAAmE;AACnE,yEAAyE;AACzE,2EAA2E;AAC3E,oCAAoC;AACpC,EAAE;AACF,yEAAyE;AACzE,wEAAwE;AACxE,+BAA+B;AAC/B,qEAAqE;AAErE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAiBrD;;;;;;GAMG;AACH,SAAS,iBAAiB,CAAC,CAAS,EAAE,CAAS;IAC7C,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAW,CAAA;QACrC,MAAM,EAAE,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAW,CAAA;QACrC,IAAI,EAAE,KAAK,EAAE;YAAE,OAAO,EAAE,GAAG,EAAE,CAAA;QAC7B,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,CAAC;IACD,OAAO,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;AACxC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,yBAAyB,CAAC,KAAc;IAC/C,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QACtE,OAAQ,KAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IACnF,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAuB;IACtD,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IACvD,OAAO,gBAAgB,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;QAC9B,aAAa,EAAE,yBAAyB,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC;QACrE,SAAS,EAAE,kBAAkB,CAAC,EAAE,CAAC;KAClC,CAAC,CAAA;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAClF,CAAC"}
1
+ {"version":3,"file":"action-ref.js","sourceRoot":"","sources":["../../../src/core/action-ref.ts"],"names":[],"mappings":"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"}
@@ -77,7 +77,7 @@ export function canonicalizeJCS(value) {
77
77
  if (Array.isArray(value)) {
78
78
  return '[' + value.map(item => canonicalizeJCS(item)).join(',') + ']';
79
79
  }
80
- // Object: sort keys by Unicode code point, preserve null values
80
+ // Object: sort keys as UTF-16 code unit arrays per RFC 8785 3.2.3, preserve null values
81
81
  const obj = value;
82
82
  const keys = Object.keys(obj).sort();
83
83
  const pairs = [];
@@ -141,7 +141,7 @@ export function getTestVectors() {
141
141
  // V2: Object with null — variants diverge
142
142
  addVector('cv-002', 'Null value — JCS preserves, legacy strips', { agentId: 'agent-001', metadata: null, scope: 'read' }, '{"agentId":"agent-001","metadata":null,"scope":"read"}', '{"agentId":"agent-001","scope":"read"}');
143
143
  // V3: Key ordering
144
- addVector('cv-003', 'Keys sorted by Unicode code point', { zebra: 1, alpha: 2, middle: 3 }, '{"alpha":2,"middle":3,"zebra":1}', '{"alpha":2,"middle":3,"zebra":1}');
144
+ addVector('cv-003', 'Keys sorted by UTF-16 code units', { zebra: 1, alpha: 2, middle: 3 }, '{"alpha":2,"middle":3,"zebra":1}', '{"alpha":2,"middle":3,"zebra":1}');
145
145
  // V4: Nested objects with null
146
146
  addVector('cv-004', 'Nested object with null at depth', { outer: { inner: null, value: 42 }, top: 'ok' }, '{"outer":{"inner":null,"value":42},"top":"ok"}', '{"outer":{"value":42},"top":"ok"}');
147
147
  // V5: Arrays with null elements
@@ -1 +1 @@
1
- {"version":3,"file":"canonical-jcs.js","sourceRoot":"","sources":["../../../src/core/canonical-jcs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"canonical-jcs.js","sourceRoot":"","sources":["../../../src/core/canonical-jcs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/profiles/a2a/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/profiles/a2a/index.ts"],"names":[],"mappings":"AAGA,cAAc,kBAAkB,CAAA"}
@@ -1,2 +1,4 @@
1
+ // Copyright (c) 2026 Tymofii Pidlisnyi
2
+ // SPDX-License-Identifier: Apache-2.0
1
3
  export * from './identity-v1.js';
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/profiles/a2a/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/profiles/a2a/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AAEtC,cAAc,kBAAkB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/profiles/mcp/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/profiles/mcp/index.ts"],"names":[],"mappings":"AAGA,cAAc,uBAAuB,CAAA"}
@@ -1,2 +1,4 @@
1
+ // Copyright (c) 2026 Tymofii Pidlisnyi
2
+ // SPDX-License-Identifier: Apache-2.0
1
3
  export * from './authorization-v1.js';
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/profiles/mcp/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/profiles/mcp/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AAEtC,cAAc,uBAAuB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/action-reference/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/action-reference/index.ts"],"names":[],"mappings":"AAGA,cAAc,SAAS,CAAA"}
@@ -1,2 +1,4 @@
1
+ // Copyright (c) 2026 Tymofii Pidlisnyi
2
+ // SPDX-License-Identifier: Apache-2.0
1
3
  export * from './v2.js';
2
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v2/action-reference/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v2/action-reference/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AAEtC,cAAc,SAAS,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/identity-binding/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/v2/identity-binding/index.ts"],"names":[],"mappings":"AAGA,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA"}
@@ -1,3 +1,5 @@
1
+ // Copyright (c) 2026 Tymofii Pidlisnyi
2
+ // SPDX-License-Identifier: Apache-2.0
1
3
  export * from './types.js';
2
4
  export * from './did-aps.js';
3
5
  export * from './passport.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v2/identity-binding/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/v2/identity-binding/index.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AAEtC,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA"}
@@ -15,7 +15,7 @@ export declare function buildDecisionRefV1(input: {
15
15
  authority_state: JsonValue;
16
16
  policy_input: JsonValue;
17
17
  decision_context: JsonValue;
18
- decision_output: JsonValue;
18
+ decision_output: CoreDecisionOutputV1;
19
19
  }): {
20
20
  input: DecisionRefInputV1;
21
21
  decision_ref: string;
@@ -1 +1 @@
1
- {"version":3,"file":"decision-ref.d.ts","sourceRoot":"","sources":["../../../../src/v2/receipt-core/decision-ref.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAErF,eAAO,MAAM,gBAAgB,EAAG,qBAA8B,CAAA;AAC9D,eAAO,MAAM,uBAAuB;aAClC,SAAS,EAAE,2BAA2B;aACtC,MAAM,EAAE,wBAAwB;aAChC,OAAO,EAAE,yBAAyB;aAClC,MAAM,EAAE,wBAAwB;CACxB,CAAA;AAMV,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,OAAO,uBAAuB,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAEjH;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAW1E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAGtE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CA2B/F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,SAAS,CAAA;IAC1B,YAAY,EAAE,SAAS,CAAA;IACvB,gBAAgB,EAAE,SAAS,CAAA;IAC3B,eAAe,EAAE,SAAS,CAAA;CAC3B,GAAG;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAWtD"}
1
+ {"version":3,"file":"decision-ref.d.ts","sourceRoot":"","sources":["../../../../src/v2/receipt-core/decision-ref.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAErF,eAAO,MAAM,gBAAgB,EAAG,qBAA8B,CAAA;AAC9D,eAAO,MAAM,uBAAuB;aAClC,SAAS,EAAE,2BAA2B;aACtC,MAAM,EAAE,wBAAwB;aAChC,OAAO,EAAE,yBAAyB;aAClC,MAAM,EAAE,wBAAwB;CACxB,CAAA;AAOV,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,MAAM,OAAO,uBAAuB,EAAE,KAAK,EAAE,SAAS,GAAG,MAAM,CAEjH;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAW1E;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAGtE;AAED,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,oBAAoB,GAAG,oBAAoB,CAgC/F;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE;IACxC,UAAU,EAAE,MAAM,CAAA;IAClB,eAAe,EAAE,SAAS,CAAA;IAC1B,YAAY,EAAE,SAAS,CAAA;IACvB,gBAAgB,EAAE,SAAS,CAAA;IAC3B,eAAe,EAAE,oBAAoB,CAAA;CACtC,GAAG;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CActD"}
@@ -2,6 +2,7 @@
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
  import { createHash } from 'node:crypto';
4
4
  import { strictJCS, assertExactKeys } from './jcs.js';
5
+ import { isExactUtcMilliseconds } from './receipt.js';
5
6
  export const DECISION_REF_TAG = 'APS-DECISION-REF-V1';
6
7
  export const DECISION_COMPONENT_TAGS = {
7
8
  authority: 'APS-DECISION-AUTHORITY-V1',
@@ -12,6 +13,7 @@ export const DECISION_COMPONENT_TAGS = {
12
13
  const HEX64 = /^[0-9a-f]{64}$/;
13
14
  const tagged = (tag, canonical) => `${tag}\0${canonical}`;
14
15
  const sha256Hex = (value) => createHash('sha256').update(value, 'utf8').digest('hex');
16
+ // Internal hash primitive: input must already be normalized. Protocol-facing callers use buildDecisionRefV1.
15
17
  export function computeDecisionComponentRefV1(tag, value) {
16
18
  return sha256Hex(tagged(DECISION_COMPONENT_TAGS[tag], strictJCS(value)));
17
19
  }
@@ -30,7 +32,7 @@ export function computeDecisionRefV1(input) {
30
32
  return sha256Hex(tagged(DECISION_REF_TAG, strictJCS(input)));
31
33
  }
32
34
  export function normalizeCoreDecisionOutputV1(input) {
33
- assertExactKeys(input, ['profile', 'verdict', 'effective_authority_ref', 'constraints'], ['profile', 'verdict', 'effective_authority_ref', 'constraints'], 'CoreDecisionOutputV1');
35
+ assertExactKeys(input, ['profile', 'verdict', 'effective_authority_ref', 'constraints', 'valid_until'], ['profile', 'verdict', 'effective_authority_ref', 'constraints', 'valid_until'], 'CoreDecisionOutputV1');
34
36
  strictJCS(input);
35
37
  if (input.profile !== 'aps-core-decision-output-v1')
36
38
  throw new TypeError('CoreDecisionOutputV1: profile');
@@ -48,6 +50,13 @@ export function normalizeCoreDecisionOutputV1(input) {
48
50
  if (!Array.isArray(input.constraints) || !input.constraints.every(v => typeof v === 'string')) {
49
51
  throw new TypeError('CoreDecisionOutputV1: constraints');
50
52
  }
53
+ if (input.verdict === 'deny') {
54
+ if (input.valid_until !== null)
55
+ throw new TypeError('CoreDecisionOutputV1: deny requires null valid_until');
56
+ }
57
+ else if (typeof input.valid_until !== 'string' || !isExactUtcMilliseconds(input.valid_until)) {
58
+ throw new TypeError('CoreDecisionOutputV1: permit/narrow require valid_until as exact UTC milliseconds');
59
+ }
51
60
  const constraints = [...new Set(input.constraints.map(v => v.normalize('NFC')))]
52
61
  .sort((a, b) => {
53
62
  const aa = Array.from(a, c => c.codePointAt(0));
@@ -62,13 +71,16 @@ export function normalizeCoreDecisionOutputV1(input) {
62
71
  export function buildDecisionRefV1(input) {
63
72
  if (!HEX64.test(input.action_ref))
64
73
  throw new TypeError('action_ref must be lowercase sha256 hex');
74
+ // Normalize before hashing: the normalizer validates the closed five-member shape, so an
75
+ // unnormalized or malformed decision output cannot reach the digest through this path.
76
+ const normalizedOutput = normalizeCoreDecisionOutputV1(input.decision_output);
65
77
  const refInput = {
66
78
  profile: 'aps-decision-ref-v1',
67
79
  action_ref: input.action_ref,
68
80
  authority_state_ref: computeDecisionComponentRefV1('authority', input.authority_state),
69
81
  policy_ref: computeDecisionComponentRefV1('policy', input.policy_input),
70
82
  context_ref: computeDecisionComponentRefV1('context', input.decision_context),
71
- decision_output_ref: computeDecisionComponentRefV1('output', input.decision_output),
83
+ decision_output_ref: computeDecisionComponentRefV1('output', normalizedOutput),
72
84
  };
73
85
  return { input: refInput, decision_ref: computeDecisionRefV1(refInput) };
74
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decision-ref.js","sourceRoot":"","sources":["../../../../src/v2/receipt-core/decision-ref.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decision-ref.js","sourceRoot":"","sources":["../../../../src/v2/receipt-core/decision-ref.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AAGrD,MAAM,CAAC,MAAM,gBAAgB,GAAG,qBAA8B,CAAA;AAC9D,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,SAAS,EAAE,2BAA2B;IACtC,MAAM,EAAE,wBAAwB;IAChC,OAAO,EAAE,yBAAyB;IAClC,MAAM,EAAE,wBAAwB;CACxB,CAAA;AAEV,MAAM,KAAK,GAAG,gBAAgB,CAAA;AAC9B,MAAM,MAAM,GAAG,CAAC,GAAW,EAAE,SAAiB,EAAU,EAAE,CAAC,GAAG,GAAG,KAAK,SAAS,EAAE,CAAA;AACjF,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AAErG,6GAA6G;AAC7G,MAAM,UAAU,6BAA6B,CAAC,GAAyC,EAAE,KAAgB;IACvG,OAAO,SAAS,CAAC,MAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC1E,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,KAAyB;IAClE,eAAe,CAAC,KAA2C,EACzD,CAAC,SAAS,EAAE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,CAAC,EACpG,CAAC,SAAS,EAAE,YAAY,EAAE,qBAAqB,EAAE,YAAY,EAAE,aAAa,EAAE,qBAAqB,CAAC,EACpG,oBAAoB,CAAC,CAAA;IACvB,IAAI,KAAK,CAAC,OAAO,KAAK,qBAAqB;QAAE,MAAM,IAAI,SAAS,CAAC,6BAA6B,CAAC,CAAA;IAC/F,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,SAAS,CAAC,uBAAuB,GAAG,+BAA+B,CAAC,CAAA;QAChF,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,0BAA0B,CAAC,KAAK,CAAC,CAAA;IACjC,OAAO,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC9D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAA2B;IACvE,eAAe,CAAC,KAA2C,EACzD,CAAC,SAAS,EAAE,SAAS,EAAE,yBAAyB,EAAE,aAAa,EAAE,aAAa,CAAC,EAC/E,CAAC,SAAS,EAAE,SAAS,EAAE,yBAAyB,EAAE,aAAa,EAAE,aAAa,CAAC,EAAE,sBAAsB,CAAC,CAAA;IAC1G,SAAS,CAAC,KAAK,CAAC,CAAA;IAChB,IAAI,KAAK,CAAC,OAAO,KAAK,6BAA6B;QAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAA;IACzG,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,+BAA+B,CAAC,CAAA;IAC/G,IAAI,KAAK,CAAC,uBAAuB,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACzF,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAA;IACtE,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;QACvE,MAAM,IAAI,SAAS,CAAC,kEAAkE,CAAC,CAAA;IACzF,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,IAAI,EAAE,CAAC;QACvE,MAAM,IAAI,SAAS,CAAC,qEAAqE,CAAC,CAAA;IAC5F,CAAC;IACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC9F,MAAM,IAAI,SAAS,CAAC,mCAAmC,CAAC,CAAA;IAC1D,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI;YAAE,MAAM,IAAI,SAAS,CAAC,sDAAsD,CAAC,CAAA;IAC7G,CAAC;SAAM,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/F,MAAM,IAAI,SAAS,CAAC,mFAAmF,CAAC,CAAA;IAC1G,CAAC;IACD,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC7E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACb,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAW,CAAC,CAAA;QACzD,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAW,CAAC,CAAA;QACzD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;YAAE,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QAClG,OAAO,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAA;IAC9B,CAAC,CAAC,CAAA;IACJ,OAAO,EAAE,GAAG,KAAK,EAAE,WAAW,EAAE,CAAA;AAClC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAMlC;IACC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;QAAE,MAAM,IAAI,SAAS,CAAC,yCAAyC,CAAC,CAAA;IACjG,yFAAyF;IACzF,uFAAuF;IACvF,MAAM,gBAAgB,GAAG,6BAA6B,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAC7E,MAAM,QAAQ,GAAuB;QACnC,OAAO,EAAE,qBAAqB;QAC9B,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,mBAAmB,EAAE,6BAA6B,CAAC,WAAW,EAAE,KAAK,CAAC,eAAe,CAAC;QACtF,UAAU,EAAE,6BAA6B,CAAC,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;QACvE,WAAW,EAAE,6BAA6B,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC;QAC7E,mBAAmB,EAAE,6BAA6B,CAAC,QAAQ,EAAE,gBAAwC,CAAC;KACvG,CAAA;IACD,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAA;AAC1E,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { ReceiptSignatureV1, ReceiptSignerV1, ReceiptV1 } from './types.js';
2
2
  export declare const RECEIPT_ID_TAG: 'APS-RECEIPT-ID-V1';
3
3
  export declare const RECEIPT_SIG_TAG: 'APS-RECEIPT-SIG-V1';
4
+ export declare function isExactUtcMilliseconds(value: string): boolean;
4
5
  export declare function receiptIdPayloadV1(receipt: ReceiptV1): string;
5
6
  export declare function computeReceiptIdV1(receipt: ReceiptV1): string;
6
7
  export declare function receiptSignaturePayloadV1(receipt: ReceiptV1, descriptor: Omit<ReceiptSignatureV1, 'value'>): string;
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../../src/v2/receipt-core/receipt.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAiB,kBAAkB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE/F,eAAO,MAAM,cAAc,EAAG,mBAA4B,CAAA;AAC1D,eAAO,MAAM,eAAe,EAAG,oBAA6B,CAAA;AA2B5D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAE7D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAE7D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,MAAM,CAGnH;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,UAAO,GAAG,IAAI,CAiChF;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,YAAY,CAAC,EACpD,OAAO,EAAE,eAAe,EAAE,GACzB,SAAS,CAeX;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAA;IACd,gBAAgB,EAAE,OAAO,CAAA;IACzB,iBAAiB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACxF,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,qBAAqB,CAmB9J"}
1
+ {"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../../src/v2/receipt-core/receipt.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAiB,kBAAkB,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE/F,eAAO,MAAM,cAAc,EAAG,mBAA4B,CAAA;AAC1D,eAAO,MAAM,eAAe,EAAG,oBAA6B,CAAA;AAe5D,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAI7D;AAQD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAE7D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAE7D;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,MAAM,CAGnH;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,UAAO,GAAG,IAAI,CAiChF;AAED,wBAAgB,eAAe,CAC7B,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,YAAY,GAAG,YAAY,CAAC,EACpD,OAAO,EAAE,eAAe,EAAE,GACzB,SAAS,CAeX;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,OAAO,CAAA;IACd,gBAAgB,EAAE,OAAO,CAAA;IACzB,iBAAiB,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;IACxF,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,GAAG,qBAAqB,CAmB9J"}
@@ -16,7 +16,7 @@ function compareEvidence(a, b) {
16
16
  function compareSignatures(a, b) {
17
17
  return compareUtf8(a.signer, b.signer) || compareUtf8(a.key_id, b.key_id);
18
18
  }
19
- function isExactUtcMilliseconds(value) {
19
+ export function isExactUtcMilliseconds(value) {
20
20
  if (!UTC_MS.test(value))
21
21
  return false;
22
22
  const parsed = new Date(value);
@@ -1 +1 @@
1
- {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../../src/v2/receipt-core/receipt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../../src/v2/receipt-core/receipt.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,7 @@ export interface CoreDecisionOutputV1 {
49
49
  verdict: 'permit' | 'deny' | 'narrow';
50
50
  effective_authority_ref: Hex64 | null;
51
51
  constraints: string[];
52
+ valid_until: string | null;
52
53
  }
53
54
  export interface SupportingRecordV1 {
54
55
  profile: 'aps-supporting-record-v1';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/v2/receipt-core/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/v2/receipt-core/types.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAA;AAC5D,MAAM,MAAM,SAAS,GAAG,aAAa,GAAG,SAAS,EAAE,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAA;AAElF,MAAM,MAAM,KAAK,GAAG,MAAM,CAAA;AAC1B,MAAM,MAAM,MAAM,GAAG,MAAM,CAAA;AAE3B,MAAM,WAAW,aAAa;IAC5B,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,KAAK,CAAA;CACd;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,GAAG,EAAE,SAAS,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,gBAAgB,CAAA;IACzB,UAAU,EAAE,KAAK,CAAA;IACjB,YAAY,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,UAAU,EAAE,KAAK,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,KAAK,CAAA;IACpB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,aAAa,EAAE,CAAA;IAC9B,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IACpC,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,UAAU,EAAE,kBAAkB,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,qBAAqB,CAAA;IAC9B,UAAU,EAAE,KAAK,CAAA;IACjB,mBAAmB,EAAE,KAAK,CAAA;IAC1B,UAAU,EAAE,KAAK,CAAA;IACjB,WAAW,EAAE,KAAK,CAAA;IAClB,mBAAmB,EAAE,KAAK,CAAA;CAC3B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,6BAA6B,CAAA;IACtC,OAAO,EAAE,QAAQ,GAAG,MAAM,GAAG,QAAQ,CAAA;IACrC,uBAAuB,EAAE,KAAK,GAAG,IAAI,CAAA;IACrC,WAAW,EAAE,MAAM,EAAE,CAAA;IACrB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,0BAA0B,CAAA;IACnC,SAAS,EAAE,KAAK,CAAA;IAChB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,aAAa,EAAE,MAAM,CAAA;IACrB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,KAAK,CAAA;IAClB,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,CAAA;IAClC,OAAO,EAAE,SAAS,CAAA;IAClB,GAAG,EAAE,MAAM,CAAA;CACZ;AAED,MAAM,WAAW,2BAA2B;IAC1C,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,SAAS,CAAA;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,MAAM,EAAE,KAAK,CAAA;CACd;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,sBAAsB,EAAE,CAAA;IACjC,WAAW,EAAE,KAAK,CAAA;CACnB;AAED,MAAM,MAAM,yBAAyB,GACjC;IAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAC,MAAM,EAAE,KAAK,CAAA;CAAE,GAC7C;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAA;AAE3B,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,uBAAuB,CAAA;IAChC,MAAM,EAAE,sBAAsB,CAAA;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,yBAAyB,EAAE,CAAA;CAClC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-passport-system",
3
- "version": "4.2.0",
3
+ "version": "4.3.0",
4
4
  "description": "Enforcement and accountability layer for AI agents. Bring your own identity (did:key, did:web, SPIFFE, OAuth, did:aps). Verifier hot path p50 = 420ns bare-metal Linux EPYC 7313P (§13.1 canonical environment per spec), 347ns AWS c7i.2xlarge, 292ns Mac M3. Gateway enforcement, monotonic narrowing, cascade revocation, Bayesian reputation, wallet binding, unified four-axis attribution primitive, per-period attribution settlement, data lifecycle, mutual authentication, Wave 1 accountability primitives (action, authority-boundary, custody, contestability, bundle), evidentiary type safety (claim/evidence registry, claim verifier with forbidden-substitution detection, contestation cascade). 4,326 tests.",
5
5
  "type": "module",
6
6
  "main": "dist/src/index.js",
@@ -71,7 +71,7 @@
71
71
  "type": "git",
72
72
  "url": "git+https://github.com/aeoess/agent-passport-system.git"
73
73
  },
74
- "homepage": "https://aeoess.com/passport.html",
74
+ "homepage": "https://agent-passport.org",
75
75
  "bugs": {
76
76
  "url": "https://github.com/aeoess/agent-passport-system/issues"
77
77
  },