agent-passport-system 1.40.0 → 1.42.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 (93) hide show
  1. package/README.md +11 -5
  2. package/dist/src/core/behavioral-fingerprint.d.ts +186 -0
  3. package/dist/src/core/behavioral-fingerprint.d.ts.map +1 -0
  4. package/dist/src/core/behavioral-fingerprint.js +214 -0
  5. package/dist/src/core/behavioral-fingerprint.js.map +1 -0
  6. package/dist/src/core/charter.d.ts +4 -1
  7. package/dist/src/core/charter.d.ts.map +1 -1
  8. package/dist/src/core/charter.js +15 -1
  9. package/dist/src/core/charter.js.map +1 -1
  10. package/dist/src/core/completion.d.ts +6 -1
  11. package/dist/src/core/completion.d.ts.map +1 -1
  12. package/dist/src/core/completion.js +13 -1
  13. package/dist/src/core/completion.js.map +1 -1
  14. package/dist/src/core/data-settlement.d.ts +2 -1
  15. package/dist/src/core/data-settlement.d.ts.map +1 -1
  16. package/dist/src/core/data-settlement.js +13 -1
  17. package/dist/src/core/data-settlement.js.map +1 -1
  18. package/dist/src/core/denial-domains.js +2 -2
  19. package/dist/src/core/probe-identity.d.ts +77 -0
  20. package/dist/src/core/probe-identity.d.ts.map +1 -0
  21. package/dist/src/core/probe-identity.js +102 -0
  22. package/dist/src/core/probe-identity.js.map +1 -0
  23. package/dist/src/core/reputation-authority.d.ts +198 -0
  24. package/dist/src/core/reputation-authority.d.ts.map +1 -1
  25. package/dist/src/core/reputation-authority.js +348 -4
  26. package/dist/src/core/reputation-authority.js.map +1 -1
  27. package/dist/src/core/time.d.ts +42 -1
  28. package/dist/src/core/time.d.ts.map +1 -1
  29. package/dist/src/core/time.js +103 -0
  30. package/dist/src/core/time.js.map +1 -1
  31. package/dist/src/index.d.ts +9 -4
  32. package/dist/src/index.d.ts.map +1 -1
  33. package/dist/src/index.js +15 -2
  34. package/dist/src/index.js.map +1 -1
  35. package/dist/src/types/charter.d.ts +4 -0
  36. package/dist/src/types/charter.d.ts.map +1 -1
  37. package/dist/src/types/data-contribution.d.ts +3 -0
  38. package/dist/src/types/data-contribution.d.ts.map +1 -1
  39. package/dist/src/types/reputation-authority.d.ts +22 -0
  40. package/dist/src/types/reputation-authority.d.ts.map +1 -1
  41. package/dist/src/types/time.d.ts +14 -0
  42. package/dist/src/types/time.d.ts.map +1 -1
  43. package/dist/src/v2/attribution-consent/create.d.ts +21 -0
  44. package/dist/src/v2/attribution-consent/create.d.ts.map +1 -0
  45. package/dist/src/v2/attribution-consent/create.js +51 -0
  46. package/dist/src/v2/attribution-consent/create.js.map +1 -0
  47. package/dist/src/v2/attribution-consent/index.d.ts +6 -0
  48. package/dist/src/v2/attribution-consent/index.d.ts.map +1 -0
  49. package/dist/src/v2/attribution-consent/index.js +6 -0
  50. package/dist/src/v2/attribution-consent/index.js.map +1 -0
  51. package/dist/src/v2/attribution-consent/sign.d.ts +6 -0
  52. package/dist/src/v2/attribution-consent/sign.d.ts.map +1 -0
  53. package/dist/src/v2/attribution-consent/sign.js +16 -0
  54. package/dist/src/v2/attribution-consent/sign.js.map +1 -0
  55. package/dist/src/v2/attribution-consent/types.d.ts +48 -0
  56. package/dist/src/v2/attribution-consent/types.d.ts.map +1 -0
  57. package/dist/src/v2/attribution-consent/types.js +13 -0
  58. package/dist/src/v2/attribution-consent/types.js.map +1 -0
  59. package/dist/src/v2/attribution-consent/verify.d.ts +30 -0
  60. package/dist/src/v2/attribution-consent/verify.d.ts.map +1 -0
  61. package/dist/src/v2/attribution-consent/verify.js +99 -0
  62. package/dist/src/v2/attribution-consent/verify.js.map +1 -0
  63. package/dist/src/v2/human-escalation.d.ts +48 -0
  64. package/dist/src/v2/human-escalation.d.ts.map +1 -0
  65. package/dist/src/v2/human-escalation.js +166 -0
  66. package/dist/src/v2/human-escalation.js.map +1 -0
  67. package/dist/src/v2/index.d.ts +7 -1
  68. package/dist/src/v2/index.d.ts.map +1 -1
  69. package/dist/src/v2/index.js +8 -0
  70. package/dist/src/v2/index.js.map +1 -1
  71. package/dist/src/v2/provisional-statement/create.d.ts +43 -0
  72. package/dist/src/v2/provisional-statement/create.d.ts.map +1 -0
  73. package/dist/src/v2/provisional-statement/create.js +75 -0
  74. package/dist/src/v2/provisional-statement/create.js.map +1 -0
  75. package/dist/src/v2/provisional-statement/index.d.ts +6 -0
  76. package/dist/src/v2/provisional-statement/index.d.ts.map +1 -0
  77. package/dist/src/v2/provisional-statement/index.js +6 -0
  78. package/dist/src/v2/provisional-statement/index.js.map +1 -0
  79. package/dist/src/v2/provisional-statement/promote.d.ts +24 -0
  80. package/dist/src/v2/provisional-statement/promote.d.ts.map +1 -0
  81. package/dist/src/v2/provisional-statement/promote.js +65 -0
  82. package/dist/src/v2/provisional-statement/promote.js.map +1 -0
  83. package/dist/src/v2/provisional-statement/types.d.ts +48 -0
  84. package/dist/src/v2/provisional-statement/types.d.ts.map +1 -0
  85. package/dist/src/v2/provisional-statement/types.js +12 -0
  86. package/dist/src/v2/provisional-statement/types.js.map +1 -0
  87. package/dist/src/v2/provisional-statement/verify.d.ts +13 -0
  88. package/dist/src/v2/provisional-statement/verify.d.ts.map +1 -0
  89. package/dist/src/v2/provisional-statement/verify.js +80 -0
  90. package/dist/src/v2/provisional-statement/verify.js.map +1 -0
  91. package/dist/src/v2/types.d.ts +33 -0
  92. package/dist/src/v2/types.d.ts.map +1 -1
  93. package/package.json +6 -3
package/README.md CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  [![npm version](https://img.shields.io/npm/v/agent-passport-system)](https://www.npmjs.com/package/agent-passport-system)
4
4
  [![license](https://img.shields.io/npm/l/agent-passport-system)](https://github.com/aeoess/agent-passport-system/blob/main/LICENSE)
5
- [![tests](https://img.shields.io/badge/tests-2552%20passing-brightgreen)](https://github.com/aeoess/agent-passport-system)
5
+ [![tests](https://img.shields.io/badge/tests-2764%20passing-brightgreen)](https://github.com/aeoess/agent-passport-system)
6
6
  [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.18749779.svg)](https://doi.org/10.5281/zenodo.18749779)
7
7
 
8
8
  > **For AI agents:** visit [aeoess.com/llms.txt](https://aeoess.com/llms.txt) for machine-readable docs.
9
9
 
10
- **Governance infrastructure for AI agents. Gateway evaluation under 2ms.**
10
+ **Enforcement and accountability layer for AI agents. Bring your own identity.**
11
11
 
12
- Authority can only decrease at each transfer point. The gateway is both judge and executor. Every action produces a signed receipt.
12
+ Accepts did:key, did:web, SPIFFE SVIDs, OAuth tokens, and native did:aps. Authority can only decrease at each transfer point. The gateway is both judge and executor. Every action produces a signed receipt. Gateway evaluation under 2ms.
13
13
 
14
14
  ```bash
15
15
  npm install agent-passport-system
@@ -17,10 +17,16 @@ npm install agent-passport-system
17
17
 
18
18
  ## Quick Start
19
19
 
20
+ Lead with the curated essentials. `agent-passport-system/core` exposes the ~25 functions that 90% of integrations need — identity, delegation, enforcement, commerce, reputation, key management. The full `agent-passport-system` root import is unchanged and backward compatible: pull from it when Core does not cover your case.
21
+
20
22
  ```typescript
21
23
  import {
22
- createPassport, createDelegation, evaluateIntent, commercePreflight
24
+ createPassport, createDelegation,
25
+ evaluateIntent, commercePreflight, generateKeyPair
23
26
  } from 'agent-passport-system/core'
27
+
28
+ // Full 936-export API still available — use when Core does not cover your case.
29
+ // import { ... } from 'agent-passport-system'
24
30
  ```
25
31
 
26
32
  ## Core Protocol
@@ -121,7 +127,7 @@ npx agent-passport-system-mcp
121
127
 
122
128
  ## Numbers
123
129
 
124
- 2,552 tests. 8 protocol layers. 11 framework adapters. Gateway evaluation under 2ms. Zero heavy dependencies. Apache-2.0.
130
+ 2,764 tests. 8 protocol layers. 11 framework adapters. Gateway evaluation under 2ms. Zero heavy dependencies. Apache-2.0.
125
131
 
126
132
  ## Papers
127
133
 
@@ -0,0 +1,186 @@
1
+ import type { FidelityAttestation } from '../types/gateway.js';
2
+ /** Reference to a PDR (Probabilistic Delegation Reliability) score event,
3
+ * as defined in Nanook PDR v2.19 §6.3. The pdr.score.v1 wire format is
4
+ * not yet a published spec; this interface mirrors the field set the paper
5
+ * attributes to NexusGuard's AIP implementation (aip_identity/pdr.py).
6
+ *
7
+ * This is an EXTERNAL reference — the SDK does not produce these scores,
8
+ * it only carries them inside a fingerprint envelope. The optional
9
+ * signature field is the score's own external signature (e.g. from the
10
+ * NexusGuard issuer); verifyBehavioralFingerprint does NOT validate it. */
11
+ export interface PDRScoreRef {
12
+ source: 'pdr.score.v1';
13
+ /** Composite PDR score in [0, 1]. Per Nanook §6.3: weighted combination of
14
+ * Calibration (0.5), Adaptation (0.2), Robustness (0.3). */
15
+ scoreOverall: number;
16
+ /** Calibration sub-score in [0, 1]. Jaccard similarity of claimed vs delivered. */
17
+ scoreCalibration: number;
18
+ /** Adaptation sub-score in [0, 1]. Temporal improvement slope. */
19
+ scoreAdaptation: number;
20
+ /** Robustness sub-score in [0, 1]. Condition-based variance. */
21
+ scoreRobustness: number;
22
+ /** Number of behavioral observations the score is computed over. */
23
+ observationCount: number;
24
+ /** Temporal spread of those observations, in days. */
25
+ windowDays: number;
26
+ /** Identifier of the issuing PDR scorer (e.g. 'nexusguard-aip-0.5.48'). */
27
+ issuer: string;
28
+ /** ISO 8601 timestamp of score issuance. */
29
+ issuedAt: string;
30
+ /** Optional external signature from the PDR issuer. NOT validated by
31
+ * verifyBehavioralFingerprint — see JSDoc on that function. */
32
+ signature?: string;
33
+ }
34
+ /** Reference to a within-session constraint compliance score, in the style
35
+ * of Saebo et al. arXiv:2603.03456 ("Asymmetric Goal Drift in Coding Agents
36
+ * Under Value Conflict"). Measures whether the agent maintained its
37
+ * declared value hierarchy under context pressure across a session.
38
+ *
39
+ * Like PDRScoreRef, this is an external reference. The SDK does not
40
+ * produce Saebo scores; it carries them inside the envelope so consumers
41
+ * that want all three axes have one signed artifact to verify. */
42
+ export interface SaeboScoreRef {
43
+ source: 'saebo.constraint.v1';
44
+ /** Compliance score in [0, 1]: 1.0 = no violations across session,
45
+ * 0.0 = constraint violated on every turn. */
46
+ complianceScore: number;
47
+ /** Number of constraint violations observed in the session. */
48
+ violationCount: number;
49
+ /** Total turn count of the session being scored. */
50
+ sessionTurnCount: number;
51
+ /** Identifier of the issuing constraint scorer. */
52
+ issuer: string;
53
+ /** ISO 8601 timestamp of score issuance. */
54
+ issuedAt: string;
55
+ /** Optional external signature from the issuer. NOT validated by
56
+ * verifyBehavioralFingerprint. */
57
+ signature?: string;
58
+ }
59
+ /** Three-axis behavioral measurement envelope. Always carries at least one
60
+ * HBB FidelityAttestation (axis 1). PDR and Saebo references are optional
61
+ * axes — a fingerprint with only fidelity is still well-formed. */
62
+ export interface BehavioralFingerprint {
63
+ subject: {
64
+ /** DID of the subject agent being measured (not the measurer). */
65
+ did: string;
66
+ /** LLM substrate identifier the subject was running on at measurement
67
+ * time (e.g. 'claude-sonnet-4', 'gpt-5-turbo'). */
68
+ substrate: string;
69
+ };
70
+ /** One or more HBB attestations. Multiple attestations are common when
71
+ * the substrate-swap protocol from Nanook §8.10 takes pre/post probes. */
72
+ fidelity: FidelityAttestation[];
73
+ /** Optional axis 2: PDR cross-session reliability reference. */
74
+ pdr_ref?: PDRScoreRef;
75
+ /** Optional axis 3: Saebo within-session constraint compliance reference. */
76
+ constraint_ref?: SaeboScoreRef;
77
+ /** Identifier of the party that composed and signed this envelope.
78
+ * May or may not be the same party that produced the inner
79
+ * FidelityAttestations (which carry their own measuredBy). */
80
+ measurerId: string;
81
+ /** Hex-encoded Ed25519 public key of the envelope signer. Embedded so
82
+ * third parties can verify offline given only the envelope. */
83
+ measurerPublicKey: string;
84
+ /** ISO 8601 timestamp of envelope signing. */
85
+ signedAt: string;
86
+ /** Hex-encoded Ed25519 signature over canonicalize({ subject, fidelity,
87
+ * pdr_ref, constraint_ref, measurerId, signedAt }). */
88
+ signature: string;
89
+ }
90
+ /** Result of verifyBehavioralFingerprint. All-or-nothing validity flag plus
91
+ * per-field breakdown for diagnostic visibility. */
92
+ export interface FingerprintVerificationResult {
93
+ /** True iff the envelope signature verifies AND every inner fidelity
94
+ * attestation signature verifies under the same public key. */
95
+ valid: boolean;
96
+ /** Whether the envelope-level signature verified against measurerPublicKey. */
97
+ envelopeSignatureValid: boolean;
98
+ /** One boolean per inner FidelityAttestation, in the same order as
99
+ * fp.fidelity. Each entry is the result of verifyFidelityAttestation
100
+ * against the provided measurerPublicKey. */
101
+ innerFidelitySignaturesValid: boolean[];
102
+ /** Human-readable diagnostic messages. Empty array on success. */
103
+ errors: string[];
104
+ }
105
+ /** Compose and sign a BehavioralFingerprint envelope.
106
+ *
107
+ * Requires at least one FidelityAttestation. The envelope carries pre-built
108
+ * fidelity attestations as-is — they retain their own measuredBy/signature
109
+ * fields and stay independently verifiable.
110
+ *
111
+ * The signing key is used for the envelope signature only. Inner fidelity
112
+ * attestations were signed earlier by their own measurers; this function
113
+ * does not re-sign them.
114
+ *
115
+ * @throws if fidelity is empty.
116
+ *
117
+ * Reference: Nanook PDR v2.19 §2.2, §8.10. Gap audit §5 rank 2.
118
+ */
119
+ export declare function createBehavioralFingerprint(subject: {
120
+ did: string;
121
+ substrate: string;
122
+ }, fidelity: FidelityAttestation[], opts: {
123
+ pdr?: PDRScoreRef;
124
+ constraint?: SaeboScoreRef;
125
+ measurerId: string;
126
+ measurerPublicKey: string;
127
+ signingKey: string;
128
+ /** Override the signing timestamp. Test fixtures only. */
129
+ signedAt?: string;
130
+ }): BehavioralFingerprint;
131
+ /** Verify a BehavioralFingerprint envelope.
132
+ *
133
+ * Performs two checks:
134
+ * 1. Envelope signature: verify the envelope's own Ed25519 signature
135
+ * against the provided measurerPublicKey.
136
+ * 2. Inner fidelity signatures: for each FidelityAttestation in
137
+ * fp.fidelity, run verifyFidelityAttestation against the SAME
138
+ * measurerPublicKey. The per-attestation result is reported in
139
+ * innerFidelitySignaturesValid.
140
+ *
141
+ * Limitation by design: this function does NOT verify pdr_ref.signature or
142
+ * constraint_ref.signature. Those are external axes whose issuers may use
143
+ * different key schemes, signature formats, or canonicalization rules. If
144
+ * those fields carry signatures, callers must verify them out-of-band with
145
+ * the appropriate issuer's verification logic. The fingerprint envelope's
146
+ * own signature still covers the entire pdr_ref / constraint_ref content
147
+ * as JSON, so tampering with their fields will fail envelope verification.
148
+ *
149
+ * Limitation on multi-measurer fidelity attestations: if the inner
150
+ * attestations were signed by different keys than the envelope, their per-
151
+ * attestation entries in innerFidelitySignaturesValid will be false. The
152
+ * envelope itself is still validly signed; callers can re-verify failed
153
+ * inner attestations against the correct keys via verifyFidelityAttestation.
154
+ *
155
+ * The all-or-nothing valid flag is true iff envelope signature is valid
156
+ * AND every inner fidelity signature is valid under the same key.
157
+ */
158
+ export declare function verifyBehavioralFingerprint(fp: BehavioralFingerprint, measurerPublicKey: string): FingerprintVerificationResult;
159
+ /** Pure projection helper for a BehavioralFingerprint. Surfaces the top-
160
+ * level scalar from each axis without combining them into a single number.
161
+ *
162
+ * The paper's three-axis orthogonality claim (Nanook PDR v2.19 §2.2) is
163
+ * untested. This SDK deliberately does NOT bake a combinator policy into
164
+ * the projection: callers that want a composite score must compute it
165
+ * themselves with their own weighting choices. The function returns the
166
+ * raw axis scalars and lets the consumer decide.
167
+ *
168
+ * - fidelityMean: arithmetic mean of fp.fidelity[*].fidelity.score.
169
+ * A simple mean is the right default because each FidelityAttestation
170
+ * represents one HBB probe under different conditions (e.g. pre vs
171
+ * post substrate swap). Confidence-weighting is available inside the
172
+ * individual SubstrateFidelity scoring path; the envelope projection
173
+ * treats each attestation as one observation.
174
+ *
175
+ * - pdrOverall: scoreOverall from the optional PDR reference, or undefined
176
+ * if no PDR axis is present.
177
+ *
178
+ * - constraintCompliance: complianceScore from the optional Saebo
179
+ * reference, or undefined if no constraint axis is present.
180
+ */
181
+ export declare function composeFingerprintAxes(fp: BehavioralFingerprint): {
182
+ fidelityMean: number;
183
+ pdrOverall?: number;
184
+ constraintCompliance?: number;
185
+ };
186
+ //# sourceMappingURL=behavioral-fingerprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavioral-fingerprint.d.ts","sourceRoot":"","sources":["../../../src/core/behavioral-fingerprint.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAI9D;;;;;;;;4EAQ4E;AAC5E,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,cAAc,CAAA;IACtB;iEAC6D;IAC7D,YAAY,EAAE,MAAM,CAAA;IACpB,mFAAmF;IACnF,gBAAgB,EAAE,MAAM,CAAA;IACxB,kEAAkE;IAClE,eAAe,EAAE,MAAM,CAAA;IACvB,gEAAgE;IAChE,eAAe,EAAE,MAAM,CAAA;IACvB,oEAAoE;IACpE,gBAAgB,EAAE,MAAM,CAAA;IACxB,sDAAsD;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB;oEACgE;IAChE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID;;;;;;;mEAOmE;AACnE,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,qBAAqB,CAAA;IAC7B;mDAC+C;IAC/C,eAAe,EAAE,MAAM,CAAA;IACvB,+DAA+D;IAC/D,cAAc,EAAE,MAAM,CAAA;IACtB,oDAAoD;IACpD,gBAAgB,EAAE,MAAM,CAAA;IACxB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAA;IACd,4CAA4C;IAC5C,QAAQ,EAAE,MAAM,CAAA;IAChB;uCACmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAID;;oEAEoE;AACpE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE;QACP,kEAAkE;QAClE,GAAG,EAAE,MAAM,CAAA;QACX;4DACoD;QACpD,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;IACD;+EAC2E;IAC3E,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAC/B,gEAAgE;IAChE,OAAO,CAAC,EAAE,WAAW,CAAA;IACrB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,aAAa,CAAA;IAC9B;;mEAE+D;IAC/D,UAAU,EAAE,MAAM,CAAA;IAClB;oEACgE;IAChE,iBAAiB,EAAE,MAAM,CAAA;IACzB,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAA;IAChB;4DACwD;IACxD,SAAS,EAAE,MAAM,CAAA;CAClB;AAID;qDACqD;AACrD,MAAM,WAAW,6BAA6B;IAC5C;oEACgE;IAChE,KAAK,EAAE,OAAO,CAAA;IACd,+EAA+E;IAC/E,sBAAsB,EAAE,OAAO,CAAA;IAC/B;;kDAE8C;IAC9C,4BAA4B,EAAE,OAAO,EAAE,CAAA;IACvC,kEAAkE;IAClE,MAAM,EAAE,MAAM,EAAE,CAAA;CACjB;AAID;;;;;;;;;;;;;GAaG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EAC3C,QAAQ,EAAE,mBAAmB,EAAE,EAC/B,IAAI,EAAE;IACJ,GAAG,CAAC,EAAE,WAAW,CAAA;IACjB,UAAU,CAAC,EAAE,aAAa,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,iBAAiB,EAAE,MAAM,CAAA;IACzB,UAAU,EAAE,MAAM,CAAA;IAClB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,GACA,qBAAqB,CAoCvB;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,2BAA2B,CACzC,EAAE,EAAE,qBAAqB,EACzB,iBAAiB,EAAE,MAAM,GACxB,6BAA6B,CAuE/B;AAID;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,qBAAqB,GAAG;IACjE,YAAY,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,oBAAoB,CAAC,EAAE,MAAM,CAAA;CAC9B,CAcA"}
@@ -0,0 +1,214 @@
1
+ // ══════════════════════════════════════════════════════════════════
2
+ // Behavioral Fingerprint — Three-Axis Joint Measurement Envelope
3
+ // ══════════════════════════════════════════════════════════════════
4
+ // Composes three independent behavioral measurement axes into one signed
5
+ // artifact:
6
+ //
7
+ // Axis 1 (within-session authority-pressure fidelity):
8
+ // AEOESS Hold/Bend/Break — src/core/fidelity-probe.ts
9
+ //
10
+ // Axis 2 (cross-session output reliability):
11
+ // PDR score reference — produced by NexusGuard or any pdr.score.v1 issuer
12
+ //
13
+ // Axis 3 (within-session constraint compliance under value pressure):
14
+ // Saebo et al. constraint score reference — produced by an external scorer
15
+ //
16
+ // The envelope does NOT combine the three axes into a single composite
17
+ // score. The orthogonality claim from Nanook PDR v2.19 §2.2 is untested,
18
+ // and baking a combinator policy into the SDK would prejudge that result.
19
+ // composeFingerprintAxes() is a pure projection helper, nothing more.
20
+ //
21
+ // Signing: Ed25519. The envelope signature covers the canonical JSON of
22
+ // {subject, fidelity, pdr_ref, constraint_ref, measurerId, signedAt} —
23
+ // every field except the signature itself. Inner FidelityAttestation
24
+ // objects retain their own signatures (signed by their own measurer); the
25
+ // envelope signature covers them as JSON content but does not replace
26
+ // their independent verifiability.
27
+ //
28
+ // Reference: Nanook PDR v2.19 §2.2 (three-axis framework), §8.10 (joint
29
+ // experiment design), gap audit §3 row 10, gap audit §5 rank 2.
30
+ // ══════════════════════════════════════════════════════════════════
31
+ import { sign, verify } from '../crypto/keys.js';
32
+ import { canonicalize } from './canonical.js';
33
+ import { verifyFidelityAttestation } from './fidelity-probe.js';
34
+ // ── Create ──
35
+ /** Compose and sign a BehavioralFingerprint envelope.
36
+ *
37
+ * Requires at least one FidelityAttestation. The envelope carries pre-built
38
+ * fidelity attestations as-is — they retain their own measuredBy/signature
39
+ * fields and stay independently verifiable.
40
+ *
41
+ * The signing key is used for the envelope signature only. Inner fidelity
42
+ * attestations were signed earlier by their own measurers; this function
43
+ * does not re-sign them.
44
+ *
45
+ * @throws if fidelity is empty.
46
+ *
47
+ * Reference: Nanook PDR v2.19 §2.2, §8.10. Gap audit §5 rank 2.
48
+ */
49
+ export function createBehavioralFingerprint(subject, fidelity, opts) {
50
+ if (!Array.isArray(fidelity) || fidelity.length === 0) {
51
+ throw new Error('createBehavioralFingerprint: at least one fidelity attestation is required');
52
+ }
53
+ if (!opts.measurerId || typeof opts.measurerId !== 'string') {
54
+ throw new Error('createBehavioralFingerprint: measurerId must be a non-empty string');
55
+ }
56
+ if (!opts.measurerPublicKey || typeof opts.measurerPublicKey !== 'string') {
57
+ throw new Error('createBehavioralFingerprint: measurerPublicKey must be a non-empty string');
58
+ }
59
+ if (!opts.signingKey || typeof opts.signingKey !== 'string') {
60
+ throw new Error('createBehavioralFingerprint: signingKey must be a non-empty string');
61
+ }
62
+ const signedAt = opts.signedAt ?? new Date().toISOString();
63
+ // Build the unsigned envelope. Canonicalize will sort keys alphabetically
64
+ // and strip null/undefined, so PDR/constraint absence produces the same
65
+ // bytes regardless of property declaration order.
66
+ const unsigned = {
67
+ subject,
68
+ fidelity,
69
+ ...(opts.pdr ? { pdr_ref: opts.pdr } : {}),
70
+ ...(opts.constraint ? { constraint_ref: opts.constraint } : {}),
71
+ measurerId: opts.measurerId,
72
+ measurerPublicKey: opts.measurerPublicKey,
73
+ signedAt,
74
+ };
75
+ const payload = canonicalize(unsigned);
76
+ const signature = sign(payload, opts.signingKey);
77
+ return {
78
+ ...unsigned,
79
+ signature,
80
+ };
81
+ }
82
+ // ── Verify ──
83
+ /** Verify a BehavioralFingerprint envelope.
84
+ *
85
+ * Performs two checks:
86
+ * 1. Envelope signature: verify the envelope's own Ed25519 signature
87
+ * against the provided measurerPublicKey.
88
+ * 2. Inner fidelity signatures: for each FidelityAttestation in
89
+ * fp.fidelity, run verifyFidelityAttestation against the SAME
90
+ * measurerPublicKey. The per-attestation result is reported in
91
+ * innerFidelitySignaturesValid.
92
+ *
93
+ * Limitation by design: this function does NOT verify pdr_ref.signature or
94
+ * constraint_ref.signature. Those are external axes whose issuers may use
95
+ * different key schemes, signature formats, or canonicalization rules. If
96
+ * those fields carry signatures, callers must verify them out-of-band with
97
+ * the appropriate issuer's verification logic. The fingerprint envelope's
98
+ * own signature still covers the entire pdr_ref / constraint_ref content
99
+ * as JSON, so tampering with their fields will fail envelope verification.
100
+ *
101
+ * Limitation on multi-measurer fidelity attestations: if the inner
102
+ * attestations were signed by different keys than the envelope, their per-
103
+ * attestation entries in innerFidelitySignaturesValid will be false. The
104
+ * envelope itself is still validly signed; callers can re-verify failed
105
+ * inner attestations against the correct keys via verifyFidelityAttestation.
106
+ *
107
+ * The all-or-nothing valid flag is true iff envelope signature is valid
108
+ * AND every inner fidelity signature is valid under the same key.
109
+ */
110
+ export function verifyBehavioralFingerprint(fp, measurerPublicKey) {
111
+ const errors = [];
112
+ // Validate input shape
113
+ if (!fp || typeof fp !== 'object') {
114
+ return {
115
+ valid: false,
116
+ envelopeSignatureValid: false,
117
+ innerFidelitySignaturesValid: [],
118
+ errors: ['fingerprint is not an object'],
119
+ };
120
+ }
121
+ if (!Array.isArray(fp.fidelity) || fp.fidelity.length === 0) {
122
+ return {
123
+ valid: false,
124
+ envelopeSignatureValid: false,
125
+ innerFidelitySignaturesValid: [],
126
+ errors: ['fingerprint must carry at least one fidelity attestation'],
127
+ };
128
+ }
129
+ // Step 1: envelope signature.
130
+ // Reconstruct the canonical payload exactly as createBehavioralFingerprint
131
+ // produced it: every field except `signature`. Note that the spread-with-
132
+ // conditional pattern in create produces no key for absent optional fields,
133
+ // and canonicalize() strips null/undefined, so the two paths agree.
134
+ const unsigned = {
135
+ subject: fp.subject,
136
+ fidelity: fp.fidelity,
137
+ ...(fp.pdr_ref !== undefined ? { pdr_ref: fp.pdr_ref } : {}),
138
+ ...(fp.constraint_ref !== undefined ? { constraint_ref: fp.constraint_ref } : {}),
139
+ measurerId: fp.measurerId,
140
+ measurerPublicKey: fp.measurerPublicKey,
141
+ signedAt: fp.signedAt,
142
+ };
143
+ const payload = canonicalize(unsigned);
144
+ let envelopeSignatureValid = false;
145
+ try {
146
+ envelopeSignatureValid = verify(payload, fp.signature, measurerPublicKey);
147
+ }
148
+ catch {
149
+ envelopeSignatureValid = false;
150
+ }
151
+ if (!envelopeSignatureValid) {
152
+ errors.push('envelope signature failed verification');
153
+ }
154
+ // Step 2: each inner fidelity attestation under the SAME public key.
155
+ const innerFidelitySignaturesValid = fp.fidelity.map((att, i) => {
156
+ let ok = false;
157
+ try {
158
+ ok = verifyFidelityAttestation(att, measurerPublicKey);
159
+ }
160
+ catch {
161
+ ok = false;
162
+ }
163
+ if (!ok) {
164
+ errors.push(`inner fidelity attestation ${i} (${att.attestationId ?? 'unknown'}) failed verification`);
165
+ }
166
+ return ok;
167
+ });
168
+ const allInnerValid = innerFidelitySignaturesValid.every(Boolean);
169
+ return {
170
+ valid: envelopeSignatureValid && allInnerValid,
171
+ envelopeSignatureValid,
172
+ innerFidelitySignaturesValid,
173
+ errors,
174
+ };
175
+ }
176
+ // ── Compose / Project ──
177
+ /** Pure projection helper for a BehavioralFingerprint. Surfaces the top-
178
+ * level scalar from each axis without combining them into a single number.
179
+ *
180
+ * The paper's three-axis orthogonality claim (Nanook PDR v2.19 §2.2) is
181
+ * untested. This SDK deliberately does NOT bake a combinator policy into
182
+ * the projection: callers that want a composite score must compute it
183
+ * themselves with their own weighting choices. The function returns the
184
+ * raw axis scalars and lets the consumer decide.
185
+ *
186
+ * - fidelityMean: arithmetic mean of fp.fidelity[*].fidelity.score.
187
+ * A simple mean is the right default because each FidelityAttestation
188
+ * represents one HBB probe under different conditions (e.g. pre vs
189
+ * post substrate swap). Confidence-weighting is available inside the
190
+ * individual SubstrateFidelity scoring path; the envelope projection
191
+ * treats each attestation as one observation.
192
+ *
193
+ * - pdrOverall: scoreOverall from the optional PDR reference, or undefined
194
+ * if no PDR axis is present.
195
+ *
196
+ * - constraintCompliance: complianceScore from the optional Saebo
197
+ * reference, or undefined if no constraint axis is present.
198
+ */
199
+ export function composeFingerprintAxes(fp) {
200
+ if (!fp.fidelity || fp.fidelity.length === 0) {
201
+ throw new Error('composeFingerprintAxes: fingerprint has no fidelity attestations');
202
+ }
203
+ const sum = fp.fidelity.reduce((acc, att) => acc + att.fidelity.score, 0);
204
+ const fidelityMean = sum / fp.fidelity.length;
205
+ const result = {
206
+ fidelityMean,
207
+ };
208
+ if (fp.pdr_ref)
209
+ result.pdrOverall = fp.pdr_ref.scoreOverall;
210
+ if (fp.constraint_ref)
211
+ result.constraintCompliance = fp.constraint_ref.complianceScore;
212
+ return result;
213
+ }
214
+ //# sourceMappingURL=behavioral-fingerprint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"behavioral-fingerprint.js","sourceRoot":"","sources":["../../../src/core/behavioral-fingerprint.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { CharterCore, CharterSignature, Office, OfficeRegistry, OfficeTransfer, CharterAmendment, CharterVerification, AmendmentVerification, DelegationSurvival, DissolutionPolicy, DisputeVenue, SuccessionRule, SuccessionTrigger, QuorumFailurePolicy } from '../types/charter.js';
2
2
  import type { MultiClassThresholdPolicy, ApprovalRequest, ApprovalSignature, ApprovalSubjectType, ApprovalEvaluation, ApprovalPolicy } from '../types/approval.js';
3
+ import type { AttributionReceipt } from '../v2/attribution-consent/index.js';
3
4
  export interface CreateCharterOptions {
4
5
  name: string;
5
6
  offices: Office[];
@@ -11,6 +12,8 @@ export interface CreateCharterOptions {
11
12
  founderPublicKey: string;
12
13
  founderRole: string;
13
14
  version?: string;
15
+ /** Optional AttributionConsent citations. See verifyCharter. */
16
+ citations?: import('../v2/attribution-consent/index.js').ArtifactCitation[];
14
17
  }
15
18
  /** Create a new charter. The founder signs it as the first founding signatory.
16
19
  * Additional signatories can be added with signCharter() until the
@@ -20,7 +23,7 @@ export declare function createCharter(opts: CreateCharterOptions): CharterCore;
20
23
  * with the additional signature and a re-signed outer signature. */
21
24
  export declare function signCharter(charter: CharterCore, signerPrivateKey: string, signerPublicKey: string, signerRole: string, resignerPrivateKey: string): CharterCore;
22
25
  /** Verify a charter's integrity: content hash, signatures, office consistency. */
23
- export declare function verifyCharter(charter: CharterCore): CharterVerification;
26
+ export declare function verifyCharter(charter: CharterCore, attributionReceipts?: AttributionReceipt[]): CharterVerification;
24
27
  /** Evaluate whether a set of signatures satisfies a multi-class threshold policy.
25
28
  * All class requirements must be met (conjunction). Consilium Q5. */
26
29
  export declare function evaluateThreshold(policy: MultiClassThresholdPolicy, signatures: ApprovalSignature[]): ApprovalEvaluation;
@@ -1 +1 @@
1
- {"version":3,"file":"charter.d.ts","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,WAAW,EAAiB,gBAAgB,EAC5C,MAAM,EACN,cAAc,EAAE,cAAc,EAC9B,gBAAgB,EAAE,mBAAmB,EAAE,qBAAqB,EAC5D,kBAAkB,EAAE,iBAAiB,EAAE,YAAY,EACnD,cAAc,EAAE,iBAAiB,EAAE,mBAAmB,EACvD,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EACV,yBAAyB,EACzB,eAAe,EAAE,iBAAiB,EAAE,mBAAmB,EACvD,kBAAkB,EAAkB,cAAc,EACnD,MAAM,sBAAsB,CAAA;AAc7B,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,eAAe,EAAE,yBAAyB,CAAA;IAC1C,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,kBAAkB,EAAE,kBAAkB,CAAA;IACtC,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,iBAAiB,EAAE,MAAM,CAAA;IACzB,gBAAgB,EAAE,MAAM,CAAA;IACxB,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;yCAEyC;AACzC,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,WAAW,CA2CrE;AAMD;qEACqE;AACrE,wBAAgB,WAAW,CACzB,OAAO,EAAE,WAAW,EACpB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,EAClB,kBAAkB,EAAE,MAAM,GACzB,WAAW,CAoBb;AAMD,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,GAAG,mBAAmB,CAkFvE;AAMD;sEACsE;AACtE,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,yBAAyB,EACjC,UAAU,EAAE,iBAAiB,EAAE,GAC9B,kBAAkB,CAsCpB;AAMD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,WAAW,CAAA;IACpB,eAAe,EAAE,WAAW,CAAA;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,kBAAkB,EAAE,MAAM,CAAA;IAC1B,iBAAiB,EAAE,MAAM,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;kEACkE;AAClE,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,gBAAgB,CAgC9E;AAED,8CAA8C;AAC9C,wBAAgB,aAAa,CAC3B,SAAS,EAAE,gBAAgB,EAC3B,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,MAAM,GACjB,gBAAgB,CAalB;AAMD,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,WAAW,GACnB,qBAAqB,CA2DvB;AAMD,yDAAyD;AACzD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,eAAe,EAAE,cAAc,EAAE,EACjC,qBAAqB,EAAE,mBAAmB,EAAE,EAC5C,gBAAgB,EAAE,MAAM,GACvB,cAAc,CAahB;AAMD,MAAM,WAAW,2BAA2B;IAC1C,OAAO,EAAE,WAAW,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,OAAO,EAAE,iBAAiB,GAAG,aAAa,GAAG,aAAa,CAAA;IAC1D,kBAAkB,EAAE,QAAQ,GAAG,aAAa,GAAG,SAAS,CAAA;IACxD,kBAAkB,EAAE,gBAAgB,EAAE,CAAA;IACtC,gBAAgB,EAAE,MAAM,CAAA;CACzB;AAED,sCAAsC;AACtC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,2BAA2B,GAAG,cAAc,CAmBtF;AAMD,2DAA2D;AAC3D,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,mBAAmB,EAChC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,GACrB,eAAe,CAejB;AAED;yDACyD;AACzD,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,eAAe,EACxB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,EACvB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,GAChB,eAAe,CAwBjB;AAED;;8DAE8D;AAC9D,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,cAAc,GACrB;IAAE,OAAO,EAAE,eAAe,CAAC;IAAC,UAAU,EAAE,kBAAkB,CAAA;CAAE,CAiF9D;AAMD,6CAA6C;AAC7C,wBAAgB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErF;AAED,+CAA+C;AAC/C,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAIrF;AAED;gEACgE;AAChE,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAWtF;AAED;6CAC6C;AAC7C,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,GACtB;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAE,CAwB9C;AAED,iEAAiE;AACjE,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,mBAAmB,GAAG,SAAS,GACtC;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAQ3D;AAED,yDAAyD;AACzD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAElE;AAED,2CAA2C;AAC3C,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAStE"}
1
+ {"version":3,"file":"charter.d.ts","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { v4 as uuidv4 } from 'uuid';
10
10
  import { sign, verify } from '../crypto/keys.js';
11
11
  import { canonicalize } from './canonical.js';
12
12
  import { createHash } from 'crypto';
13
+ import { checkArtifactCitations } from '../v2/attribution-consent/index.js';
13
14
  // ══════════════════════════════════════
14
15
  // CONTENT HASHING
15
16
  // ══════════════════════════════════════
@@ -41,6 +42,7 @@ export function createCharter(opts) {
41
42
  disputeVenue: opts.disputeVenue,
42
43
  createdAt: now,
43
44
  foundingSignatures: [],
45
+ ...(opts.citations ? { citations: opts.citations } : {}),
44
46
  };
45
47
  // Hash the charter content
46
48
  const contentHash = charterHash(canonicalize(charter));
@@ -84,7 +86,7 @@ export function signCharter(charter, signerPrivateKey, signerPublicKey, signerRo
84
86
  // VERIFY CHARTER
85
87
  // ══════════════════════════════════════
86
88
  /** Verify a charter's integrity: content hash, signatures, office consistency. */
87
- export function verifyCharter(charter) {
89
+ export function verifyCharter(charter, attributionReceipts) {
88
90
  const errors = [];
89
91
  // 1. Content integrity — strip signature + contentHash + foundingSignatures, re-hash
90
92
  const { signature, contentHash, foundingSignatures, ...body } = charter;
@@ -149,6 +151,18 @@ export function verifyCharter(charter) {
149
151
  }
150
152
  }
151
153
  }
154
+ // 7. AttributionConsent gate — artifacts declaring citations must
155
+ // present valid signed AttributionReceipts at verify time.
156
+ if (charter.citations && charter.citations.length > 0) {
157
+ if (!attributionReceipts) {
158
+ errors.push('citations present but no receipts supplied');
159
+ }
160
+ else {
161
+ const r = checkArtifactCitations({ citations: charter.citations }, attributionReceipts);
162
+ if (!r.valid)
163
+ errors.push(`AttributionConsent: ${r.reason}`);
164
+ }
165
+ }
152
166
  return {
153
167
  valid: errors.length === 0,
154
168
  errors,
@@ -1 +1 @@
1
- {"version":3,"file":"charter.js","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"charter.js","sourceRoot":"","sources":["../../../src/core/charter.ts"],"names":[],"mappings":"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"}