agent-passport-system 4.3.0 → 4.4.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.
- package/README.md +6 -6
- package/dist/src/adapters/crewai.js +2 -2
- package/dist/src/adapters/crewai.js.map +1 -1
- package/dist/src/adapters/gonka.js +5 -5
- package/dist/src/adapters/gonka.js.map +1 -1
- package/dist/src/adapters/ibac.js +2 -2
- package/dist/src/adapters/ibac.js.map +1 -1
- package/dist/src/adapters/langchain.js +2 -2
- package/dist/src/adapters/langchain.js.map +1 -1
- package/dist/src/adapters/mcp.js +2 -2
- package/dist/src/adapters/mcp.js.map +1 -1
- package/dist/src/adapters/oauth-id-jag/import-v1.js +4 -4
- package/dist/src/adapters/oauth-id-jag/import-v1.js.map +1 -1
- package/dist/src/adapters/oauth-id-jag/index.js +4 -4
- package/dist/src/adapters/oauth-id-jag/index.js.map +1 -1
- package/dist/src/cli/index.js +50 -5
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/core/a2a.js +2 -2
- package/dist/src/core/a2a.js.map +1 -1
- package/dist/src/core/action-ref.d.ts +7 -28
- package/dist/src/core/action-ref.d.ts.map +1 -1
- package/dist/src/core/action-ref.js +20 -6
- package/dist/src/core/action-ref.js.map +1 -1
- package/dist/src/core/agora.js +2 -2
- package/dist/src/core/agora.js.map +1 -1
- package/dist/src/core/aps-txt.d.ts.map +1 -1
- package/dist/src/core/aps-txt.js +4 -3
- package/dist/src/core/aps-txt.js.map +1 -1
- package/dist/src/core/attestation.d.ts +8 -0
- package/dist/src/core/attestation.d.ts.map +1 -1
- package/dist/src/core/attestation.js +13 -3
- package/dist/src/core/attestation.js.map +1 -1
- package/dist/src/core/behavioral-fingerprint.js +2 -2
- package/dist/src/core/behavioral-fingerprint.js.map +1 -1
- package/dist/src/core/behavioral-memory-receipt.js +2 -2
- package/dist/src/core/behavioral-memory-receipt.js.map +1 -1
- package/dist/src/core/behavioral-memory.js +3 -3
- package/dist/src/core/behavioral-memory.js.map +1 -1
- package/dist/src/core/bilateral-receipt.d.ts.map +1 -1
- package/dist/src/core/bilateral-receipt.js +34 -8
- package/dist/src/core/bilateral-receipt.js.map +1 -1
- package/dist/src/core/canonical-jcs.d.ts +36 -2
- package/dist/src/core/canonical-jcs.d.ts.map +1 -1
- package/dist/src/core/canonical-jcs.js +96 -7
- package/dist/src/core/canonical-jcs.js.map +1 -1
- package/dist/src/core/canonical.d.ts +26 -0
- package/dist/src/core/canonical.d.ts.map +1 -1
- package/dist/src/core/canonical.js +64 -0
- package/dist/src/core/canonical.js.map +1 -1
- package/dist/src/core/charter.d.ts.map +1 -1
- package/dist/src/core/charter.js +25 -17
- package/dist/src/core/charter.js.map +1 -1
- package/dist/src/core/commerce.js +2 -2
- package/dist/src/core/commerce.js.map +1 -1
- package/dist/src/core/completion.js +2 -2
- package/dist/src/core/completion.js.map +1 -1
- package/dist/src/core/coordination.js +10 -10
- package/dist/src/core/coordination.js.map +1 -1
- package/dist/src/core/credential-request.js +2 -2
- package/dist/src/core/credential-request.js.map +1 -1
- package/dist/src/core/cross-chain.d.ts +8 -0
- package/dist/src/core/cross-chain.d.ts.map +1 -1
- package/dist/src/core/cross-chain.js +23 -9
- package/dist/src/core/cross-chain.js.map +1 -1
- package/dist/src/core/data-lifecycle.js +7 -7
- package/dist/src/core/data-lifecycle.js.map +1 -1
- package/dist/src/core/data-source-attribution.js +3 -3
- package/dist/src/core/data-source-attribution.js.map +1 -1
- package/dist/src/core/data-source.js +5 -5
- package/dist/src/core/data-source.js.map +1 -1
- package/dist/src/core/decision-semantics.d.ts +9 -9
- package/dist/src/core/decision-semantics.d.ts.map +1 -1
- package/dist/src/core/decision-semantics.js +20 -6
- package/dist/src/core/decision-semantics.js.map +1 -1
- package/dist/src/core/delegation.d.ts.map +1 -1
- package/dist/src/core/delegation.js +3 -2
- package/dist/src/core/delegation.js.map +1 -1
- package/dist/src/core/did.js +2 -2
- package/dist/src/core/did.js.map +1 -1
- package/dist/src/core/encrypted-messaging.js +5 -5
- package/dist/src/core/encrypted-messaging.js.map +1 -1
- package/dist/src/core/escalation.js +4 -4
- package/dist/src/core/escalation.js.map +1 -1
- package/dist/src/core/evaluation-context.js +3 -3
- package/dist/src/core/evaluation-context.js.map +1 -1
- package/dist/src/core/evidence-bundle.d.ts +8 -0
- package/dist/src/core/evidence-bundle.d.ts.map +1 -1
- package/dist/src/core/evidence-bundle.js +13 -3
- package/dist/src/core/evidence-bundle.js.map +1 -1
- package/dist/src/core/execution-attestation.js +7 -7
- package/dist/src/core/execution-attestation.js.map +1 -1
- package/dist/src/core/execution-envelope.js +7 -7
- package/dist/src/core/execution-envelope.js.map +1 -1
- package/dist/src/core/federation.js +3 -3
- package/dist/src/core/federation.js.map +1 -1
- package/dist/src/core/fidelity-probe.js +2 -2
- package/dist/src/core/fidelity-probe.js.map +1 -1
- package/dist/src/core/governance-block.d.ts.map +1 -1
- package/dist/src/core/governance-block.js +8 -5
- package/dist/src/core/governance-block.js.map +1 -1
- package/dist/src/core/governance-consumer.d.ts.map +1 -1
- package/dist/src/core/governance-consumer.js +4 -1
- package/dist/src/core/governance-consumer.js.map +1 -1
- package/dist/src/core/governance.js +3 -3
- package/dist/src/core/governance.js.map +1 -1
- package/dist/src/core/identity.js +5 -5
- package/dist/src/core/identity.js.map +1 -1
- package/dist/src/core/intent.js +5 -5
- package/dist/src/core/intent.js.map +1 -1
- package/dist/src/core/key-rotation.d.ts.map +1 -1
- package/dist/src/core/key-rotation.js +12 -2
- package/dist/src/core/key-rotation.js.map +1 -1
- package/dist/src/core/messaging-audit.js +2 -2
- package/dist/src/core/messaging-audit.js.map +1 -1
- package/dist/src/core/obligations.js +6 -6
- package/dist/src/core/obligations.js.map +1 -1
- package/dist/src/core/oracle-witness.js +2 -2
- package/dist/src/core/oracle-witness.js.map +1 -1
- package/dist/src/core/passport.js +3 -3
- package/dist/src/core/passport.js.map +1 -1
- package/dist/src/core/policy.d.ts.map +1 -1
- package/dist/src/core/policy.js +12 -11
- package/dist/src/core/policy.js.map +1 -1
- package/dist/src/core/precedent.js +2 -2
- package/dist/src/core/precedent.js.map +1 -1
- package/dist/src/core/principal.js +3 -3
- package/dist/src/core/principal.js.map +1 -1
- package/dist/src/core/probe-identity.js +2 -2
- package/dist/src/core/probe-identity.js.map +1 -1
- package/dist/src/core/reserve.js +2 -2
- package/dist/src/core/reserve.js.map +1 -1
- package/dist/src/core/reversibility-fold.d.ts +8 -0
- package/dist/src/core/reversibility-fold.d.ts.map +1 -1
- package/dist/src/core/reversibility-fold.js +13 -3
- package/dist/src/core/reversibility-fold.js.map +1 -1
- package/dist/src/core/routing.js +6 -6
- package/dist/src/core/routing.js.map +1 -1
- package/dist/src/core/tool-integrity.d.ts.map +1 -1
- package/dist/src/core/tool-integrity.js +18 -8
- package/dist/src/core/tool-integrity.js.map +1 -1
- package/dist/src/core/transactional.js +4 -4
- package/dist/src/core/transactional.js.map +1 -1
- package/dist/src/core/values.js +3 -3
- package/dist/src/core/values.js.map +1 -1
- package/dist/src/core/vc-wrapper.js +2 -2
- package/dist/src/core/vc-wrapper.js.map +1 -1
- package/dist/src/core/vc.js +2 -2
- package/dist/src/core/vc.js.map +1 -1
- package/dist/src/core/write-policy.d.ts +37 -0
- package/dist/src/core/write-policy.d.ts.map +1 -0
- package/dist/src/core/write-policy.js +100 -0
- package/dist/src/core/write-policy.js.map +1 -0
- package/dist/src/decisionReceipt.d.ts +9 -1
- package/dist/src/decisionReceipt.d.ts.map +1 -1
- package/dist/src/decisionReceipt.js +40 -6
- package/dist/src/decisionReceipt.js.map +1 -1
- package/dist/src/interop/agent-json-bridge.js +2 -2
- package/dist/src/interop/agent-json-bridge.js.map +1 -1
- package/dist/src/profiles/a2a/identity-v1.js +2 -2
- package/dist/src/profiles/a2a/identity-v1.js.map +1 -1
- package/dist/src/storage/receipt-bundle.d.ts.map +1 -1
- package/dist/src/storage/receipt-bundle.js +12 -4
- package/dist/src/storage/receipt-bundle.js.map +1 -1
- package/dist/src/storage/volatile-backend.js +4 -4
- package/dist/src/storage/volatile-backend.js.map +1 -1
- package/dist/src/types/policy.d.ts +1 -1
- package/dist/src/types/policy.d.ts.map +1 -1
- package/dist/src/v2/accountability/construct/action.js +3 -3
- package/dist/src/v2/accountability/construct/action.js.map +1 -1
- package/dist/src/v2/accountability/construct/authority-boundary.js +3 -3
- package/dist/src/v2/accountability/construct/authority-boundary.js.map +1 -1
- package/dist/src/v2/accountability/construct/bundle.d.ts.map +1 -1
- package/dist/src/v2/accountability/construct/bundle.js +5 -3
- package/dist/src/v2/accountability/construct/bundle.js.map +1 -1
- package/dist/src/v2/accountability/construct/contestability.js +4 -4
- package/dist/src/v2/accountability/construct/contestability.js.map +1 -1
- package/dist/src/v2/accountability/construct/custody.js +3 -3
- package/dist/src/v2/accountability/construct/custody.js.map +1 -1
- package/dist/src/v2/accountability/verify/bundle.d.ts.map +1 -1
- package/dist/src/v2/accountability/verify/bundle.js +4 -2
- package/dist/src/v2/accountability/verify/bundle.js.map +1 -1
- package/dist/src/v2/attribution-consent/create.d.ts +12 -1
- package/dist/src/v2/attribution-consent/create.d.ts.map +1 -1
- package/dist/src/v2/attribution-consent/create.js +18 -6
- package/dist/src/v2/attribution-consent/create.js.map +1 -1
- package/dist/src/v2/attribution-consent/sign.js +2 -2
- package/dist/src/v2/attribution-consent/sign.js.map +1 -1
- package/dist/src/v2/attribution-primitive/canonical.d.ts +17 -2
- package/dist/src/v2/attribution-primitive/canonical.d.ts.map +1 -1
- package/dist/src/v2/attribution-primitive/canonical.js +27 -3
- package/dist/src/v2/attribution-primitive/canonical.js.map +1 -1
- package/dist/src/v2/attribution-primitive/construct.d.ts +0 -15
- package/dist/src/v2/attribution-primitive/construct.d.ts.map +1 -1
- package/dist/src/v2/attribution-primitive/construct.js +24 -11
- package/dist/src/v2/attribution-primitive/construct.js.map +1 -1
- package/dist/src/v2/attribution-primitive/merkle.d.ts +7 -3
- package/dist/src/v2/attribution-primitive/merkle.d.ts.map +1 -1
- package/dist/src/v2/attribution-primitive/merkle.js +18 -6
- package/dist/src/v2/attribution-primitive/merkle.js.map +1 -1
- package/dist/src/v2/attribution-primitive/residual.js +2 -2
- package/dist/src/v2/attribution-primitive/residual.js.map +1 -1
- package/dist/src/v2/attribution-settlement/aggregate.d.ts +8 -0
- package/dist/src/v2/attribution-settlement/aggregate.d.ts.map +1 -1
- package/dist/src/v2/attribution-settlement/aggregate.js +16 -6
- package/dist/src/v2/attribution-settlement/aggregate.js.map +1 -1
- package/dist/src/v2/attribution-settlement/merkle.d.ts +8 -0
- package/dist/src/v2/attribution-settlement/merkle.d.ts.map +1 -1
- package/dist/src/v2/attribution-settlement/merkle.js +11 -1
- package/dist/src/v2/attribution-settlement/merkle.js.map +1 -1
- package/dist/src/v2/attribution-settlement/sign.d.ts +9 -3
- package/dist/src/v2/attribution-settlement/sign.d.ts.map +1 -1
- package/dist/src/v2/attribution-settlement/sign.js +18 -4
- package/dist/src/v2/attribution-settlement/sign.js.map +1 -1
- package/dist/src/v2/authority-delegation/canonical.d.ts +14 -0
- package/dist/src/v2/authority-delegation/canonical.d.ts.map +1 -1
- package/dist/src/v2/authority-delegation/canonical.js +28 -2
- package/dist/src/v2/authority-delegation/canonical.js.map +1 -1
- package/dist/src/v2/authority-delegation/issue.js +2 -2
- package/dist/src/v2/authority-delegation/issue.js.map +1 -1
- package/dist/src/v2/behavioral_drift_window/envelope.d.ts +8 -0
- package/dist/src/v2/behavioral_drift_window/envelope.d.ts.map +1 -1
- package/dist/src/v2/behavioral_drift_window/envelope.js +13 -2
- package/dist/src/v2/behavioral_drift_window/envelope.js.map +1 -1
- package/dist/src/v2/bridge.d.ts +8 -0
- package/dist/src/v2/bridge.d.ts.map +1 -1
- package/dist/src/v2/bridge.js +13 -2
- package/dist/src/v2/bridge.js.map +1 -1
- package/dist/src/v2/cognitive-attestation/envelope.d.ts +9 -7
- package/dist/src/v2/cognitive-attestation/envelope.d.ts.map +1 -1
- package/dist/src/v2/cognitive-attestation/envelope.js +18 -4
- package/dist/src/v2/cognitive-attestation/envelope.js.map +1 -1
- package/dist/src/v2/cognitive_attestation/envelope.d.ts +8 -0
- package/dist/src/v2/cognitive_attestation/envelope.d.ts.map +1 -1
- package/dist/src/v2/cognitive_attestation/envelope.js +13 -2
- package/dist/src/v2/cognitive_attestation/envelope.js.map +1 -1
- package/dist/src/v2/context-provenance/cpa.d.ts +8 -0
- package/dist/src/v2/context-provenance/cpa.d.ts.map +1 -1
- package/dist/src/v2/context-provenance/cpa.js +22 -8
- package/dist/src/v2/context-provenance/cpa.js.map +1 -1
- package/dist/src/v2/context-provenance/merkle.d.ts +21 -18
- package/dist/src/v2/context-provenance/merkle.d.ts.map +1 -1
- package/dist/src/v2/context-provenance/merkle.js +38 -5
- package/dist/src/v2/context-provenance/merkle.js.map +1 -1
- package/dist/src/v2/context-provenance/types.d.ts +1 -1
- package/dist/src/v2/cross_issuer_attestation/envelope.d.ts +8 -0
- package/dist/src/v2/cross_issuer_attestation/envelope.d.ts.map +1 -1
- package/dist/src/v2/cross_issuer_attestation/envelope.js +13 -2
- package/dist/src/v2/cross_issuer_attestation/envelope.js.map +1 -1
- package/dist/src/v2/hash-pointer/profile.d.ts.map +1 -1
- package/dist/src/v2/hash-pointer/profile.js +11 -3
- package/dist/src/v2/hash-pointer/profile.js.map +1 -1
- package/dist/src/v2/human-escalation.d.ts +10 -0
- package/dist/src/v2/human-escalation.d.ts.map +1 -1
- package/dist/src/v2/human-escalation.js +15 -1
- package/dist/src/v2/human-escalation.js.map +1 -1
- package/dist/src/v2/human-oversight/index.d.ts +9 -9
- package/dist/src/v2/human-oversight/index.d.ts.map +1 -1
- package/dist/src/v2/human-oversight/index.js +18 -4
- package/dist/src/v2/human-oversight/index.js.map +1 -1
- package/dist/src/v2/instruction-provenance/canonicalize.d.ts +17 -5
- package/dist/src/v2/instruction-provenance/canonicalize.d.ts.map +1 -1
- package/dist/src/v2/instruction-provenance/canonicalize.js +28 -3
- package/dist/src/v2/instruction-provenance/canonicalize.js.map +1 -1
- package/dist/src/v2/instruction-provenance/envelope.js +3 -3
- package/dist/src/v2/instruction-provenance/envelope.js.map +1 -1
- package/dist/src/v2/memory_provenance/envelope.d.ts +8 -0
- package/dist/src/v2/memory_provenance/envelope.d.ts.map +1 -1
- package/dist/src/v2/memory_provenance/envelope.js +13 -2
- package/dist/src/v2/memory_provenance/envelope.js.map +1 -1
- package/dist/src/v2/mutual-auth/certificate.d.ts.map +1 -1
- package/dist/src/v2/mutual-auth/certificate.js +6 -4
- package/dist/src/v2/mutual-auth/certificate.js.map +1 -1
- package/dist/src/v2/mutual-auth/handshake.js +3 -3
- package/dist/src/v2/mutual-auth/handshake.js.map +1 -1
- package/dist/src/v2/mutual-auth/trust-bundle.d.ts.map +1 -1
- package/dist/src/v2/mutual-auth/trust-bundle.js +4 -3
- package/dist/src/v2/mutual-auth/trust-bundle.js.map +1 -1
- package/dist/src/v2/mutual-auth/types.d.ts +3 -3
- package/dist/src/v2/mutual-auth/types.d.ts.map +1 -1
- package/dist/src/v2/payment-rails/acp/index.d.ts.map +1 -1
- package/dist/src/v2/payment-rails/acp/index.js +52 -11
- package/dist/src/v2/payment-rails/acp/index.js.map +1 -1
- package/dist/src/v2/payment-rails/acp/types.d.ts +4 -4
- package/dist/src/v2/payment-rails/acp/types.d.ts.map +1 -1
- package/dist/src/v2/payment-rails/ap2/index.js +2 -2
- package/dist/src/v2/payment-rails/ap2/index.js.map +1 -1
- package/dist/src/v2/payment-rails/canonicalize.d.ts +32 -0
- package/dist/src/v2/payment-rails/canonicalize.d.ts.map +1 -1
- package/dist/src/v2/payment-rails/canonicalize.js +41 -1
- package/dist/src/v2/payment-rails/canonicalize.js.map +1 -1
- package/dist/src/v2/payment-rails/cycles/index.d.ts.map +1 -1
- package/dist/src/v2/payment-rails/cycles/index.js +10 -7
- package/dist/src/v2/payment-rails/cycles/index.js.map +1 -1
- package/dist/src/v2/payment-rails/cycles/types.d.ts +1 -1
- package/dist/src/v2/payment-rails/cycles/types.d.ts.map +1 -1
- package/dist/src/v2/payment-rails/hooks.d.ts.map +1 -1
- package/dist/src/v2/payment-rails/hooks.js +5 -5
- package/dist/src/v2/payment-rails/hooks.js.map +1 -1
- package/dist/src/v2/payment-rails/mpp/index.d.ts.map +1 -1
- package/dist/src/v2/payment-rails/mpp/index.js +11 -7
- package/dist/src/v2/payment-rails/mpp/index.js.map +1 -1
- package/dist/src/v2/payment-rails/mpp/types.d.ts +4 -4
- package/dist/src/v2/payment-rails/mpp/types.d.ts.map +1 -1
- package/dist/src/v2/policy-bundle/bundle.d.ts.map +1 -1
- package/dist/src/v2/policy-bundle/bundle.js +5 -3
- package/dist/src/v2/policy-bundle/bundle.js.map +1 -1
- package/dist/src/v2/provisional-statement/create.d.ts +13 -2
- package/dist/src/v2/provisional-statement/create.d.ts.map +1 -1
- package/dist/src/v2/provisional-statement/create.js +18 -6
- package/dist/src/v2/provisional-statement/create.js.map +1 -1
- package/dist/src/v2/read_fidelity_receipt/receipt.d.ts +8 -0
- package/dist/src/v2/read_fidelity_receipt/receipt.d.ts.map +1 -1
- package/dist/src/v2/read_fidelity_receipt/receipt.js +13 -2
- package/dist/src/v2/read_fidelity_receipt/receipt.js.map +1 -1
- package/dist/src/v2/revocation-enforcement/observation.js +2 -2
- package/dist/src/v2/revocation-enforcement/observation.js.map +1 -1
- package/dist/src/v2/trust-policy/policy.d.ts.map +1 -1
- package/dist/src/v2/trust-policy/policy.js +51 -3
- package/dist/src/v2/trust-policy/policy.js.map +1 -1
- package/dist/src/v2/wallet-binding/bind.d.ts.map +1 -1
- package/dist/src/v2/wallet-binding/bind.js +29 -9
- package/dist/src/v2/wallet-binding/bind.js.map +1 -1
- package/package.json +7 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/core/attestation.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,kDAAkD;AAClD,2FAA2F;AAE3F,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAChD,OAAO,EAAQ,MAAM,EAAwB,MAAM,mBAAmB,CAAA;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAe7C,uBAAuB;AACvB,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACzD,CAAC;AAED,gCAAgC;AAChC,wCAAwC;AACxC,4DAA4D;AAC5D,MAAM,UAAU,uBAAuB,CACrC,aAAqB,EACrB,OAGC;IAED,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,gBAAgB,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IAElF,OAAO;QACL,WAAW,EAAE,MAAM,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC5E,KAAK,EAAE,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAC9D,qBAAqB,EAAE,aAAa;QACpC,2BAA2B,EAAE,OAAO,EAAE,gBAAgB,IAAI,CAAC,SAAS,CAAC;QACrE,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE;QAC/B,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE;KAC5B,CAAA;AACH,CAAC;AAED,iCAAiC;AACjC,iDAAiD;AACjD,kFAAkF;AAClF,MAAM,UAAU,wBAAwB,CACtC,WAA+B,EAC/B,SAA4B,EAC5B,mBAAwC,CAAC,6BAA6B;;IAEtE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IAEtB,kBAAkB;IAClB,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,EAAE,CAAC;QAC1C,OAAO;YACL,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,iCAAiC;YACzC,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;SAC9B,CAAA;IACH,CAAC;IAED,sBAAsB;IACtB,IAAI,WAAW,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;QAC1C,OAAO;YACL,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,yCAAyC;YACjD,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;SAC9B,CAAA;IACH,CAAC;IAED,oBAAoB;IACpB,IAAI,WAAW,CAAC,aAAa,KAAK,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAClE,OAAO;YACL,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,sDAAsD;YAC9D,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;SAC9B,CAAA;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,WAAW,GAAG,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAA;IACjE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;YACL,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,YAAY,WAAW,CAAC,QAAQ,6BAA6B;YACrE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;SAC9B,CAAA;IACH,CAAC;IAED,4BAA4B;IAC5B,MAAM,OAAO,GAAG,YAAY,CAAC;QAC3B,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,KAAK,EAAE,WAAW,CAAC,KAAK;QACxB,aAAa,EAAE,WAAW,CAAC,aAAa;QACxC,YAAY,EAAE,WAAW,CAAC,YAAY;QACtC,SAAS,EAAE,WAAW,CAAC,SAAS;QAChC,qBAAqB,EAAE,WAAW,CAAC,qBAAqB;QACxD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;QACpD,mBAAmB,EAAE,WAAW,CAAC,mBAAmB;QACpD,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,SAAS,EAAE,WAAW,CAAC,SAAS;KACjC,CAAC,CAAA;IAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;IACpE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,SAAS,EAAE,qBAAqB;YAChC,MAAM,EAAE,QAAQ;YAChB,MAAM,EAAE,wCAAwC;YAChD,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;SAC9B,CAAA;IACH,CAAC;IAED,OAAO;QACL,SAAS,EAAE,qBAAqB;QAChC,MAAM,EAAE,UAAU;QAClB,MAAM,EAAE,gCAAgC,WAAW,CAAC,QAAQ,EAAE;QAC9D,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;KAC9B,CAAA;AACH,CAAC;AAED,8DAA8D;AAC9D,6EAA6E;AAC7E,+EAA+E;AAC/E,kFAAkF;AAClF,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAC5E,uEAAuE;AAEvE,2DAA2D;AAC3D,MAAM,UAAU,sBAAsB,CAAC,OAAwB;IAC7D,QAAQ,OAAO,EAAE,CAAC;QAChB,KAAK,MAAM,EAAE,OAAO,CAAC,CAAA;QACrB,KAAK,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAC/B,KAAK,gBAAgB,EAAE,OAAO,CAAC,CAAA;QAC/B,KAAK,iBAAiB,EAAE,OAAO,CAAC,CAAA;IAClC,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,6DAA6D;AAC7D,MAAM,4BAA4B,GAAG;IACnC,WAAW,EAAE,UAAU;IACvB,sBAAsB,EAAE,qBAAqB;IAC7C,WAAW,EAAE,UAAU;IACvB,wBAAwB,EAAE,uBAAuB;IACjD,WAAW,EAAE,UAAU;IACvB,iBAAiB,EAAE,gBAAgB;IACnC,sBAAsB,EAAE,qBAAqB;CACrC,CAAA;AAEV;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,uBAAuB,CAAC,IAOvC;IACC,qCAAqC;IACrC,IAAI,IAAI,CAAC,mBAAmB;QAAE,OAAO,iBAAiB,CAAA;IAEtD,uFAAuF;IACvF,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAA;QACnC,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3E,OAAO,gBAAgB,CAAA;QACzB,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,MAAM,GAAG,IAAI,4BAA4B,EAAE,CAAC;YAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;gBACpE,OAAO,gBAAgB,CAAA;YACzB,CAAC;QACH,CAAC;IACH,CAAC;IAED,iBAAiB;IACjB,IAAI,IAAI,CAAC,kBAAkB;QAAE,OAAO,gBAAgB,CAAA;IAEpD,OAAO,MAAM,CAAA;AACf,CAAC;AAED,6BAA6B;AAC7B,yDAAyD;AACzD,sCAAsC;AACtC,gCAAgC;AAChC,6EAA6E;AAC7E,qCAAqC;AACrC,MAAM,UAAU,oBAAoB,CAClC,QAAgC,EAChC,OAKC;IAED,MAAM,GAAG,GAAG,OAAO,IAAI,EAAE,CAAA;IAEzB,+BAA+B;IAC/B,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,uBAAuB,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACpF,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACrD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,4DAA4D;IAC5D,iEAAiE;IACjE,IAAI,GAAG,CAAC,mBAAmB,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QACtD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,GAAG,CAAC,kBAAkB,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAA;IACV,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,gCAAgC;AAChC,+CAA+C;AAC/C,MAAM,UAAU,uBAAuB,CACrC,KAAoB,EACpB,QAAgC;IAEhC,MAAM,KAAK,GAAsB,EAAE,CAAA;IAEnC,IAAI,KAAK,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;IAC1C,IAAI,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;IACtF,IAAI,KAAK,IAAI,CAAC,IAAI,QAAQ,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;IACxF,IAAI,KAAK,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC7C,IAAI,QAAQ,CAAC,gBAAgB;QAAE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAA;IAC5D,IAAI,QAAQ,CAAC,oBAAoB;QAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAElE,OAAO,KAAK,CAAA;AACd,CAAC;AAED,qCAAqC;AACrC,wEAAwE;AACxE,wFAAwF;AACxF,MAAM,UAAU,4BAA4B,CAAC,QAAgC;IAC3E,OAAO,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,8BAA8B;AAC9B,iEAAiE;AACjE,MAAM,UAAU,qBAAqB,CACnC,QAAgC,EAChC,OAOC;IAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;IACrD,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;IACtD,MAAM,UAAU,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAA;IAEzD,OAAO;QACL,QAAQ;QACR,UAAU,EAAE;YACV,aAAa,EAAE,KAAK;YACpB,qBAAqB,EAAE,UAAU;YACjC,KAAK;YACL,mBAAmB,EAAE,OAAO,EAAE,mBAAmB,IAAI,EAAE;YACvD,cAAc,EAAE,OAAO,EAAE,cAAc;YACvC,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACrC;KACF,CAAA;AACH,CAAC;AAED,wBAAwB;AACxB,yDAAyD;AACzD,kEAAkE;AAClE,MAAM,UAAU,eAAe,CAC7B,cAA8B,EAC9B,OAAwB;IAExB,MAAM,OAAO,GAA+B;QAC1C,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,aAAa;QAC/C,qBAAqB,EAAE,OAAO,CAAC,UAAU,CAAC,qBAAqB;QAC/D,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK;KAChC,CAAA;IACD,OAAO;QACL,GAAG,cAAc;QACjB,WAAW,EAAE,OAAO;KACrB,CAAA;AACH,CAAC;AAED,gCAAgC;AAChC,kDAAkD;AAClD,qEAAqE;AACrE,8BAA8B;AAC9B,MAAM,UAAU,uBAAuB,CACrC,OAAuE;IAEvE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IAEtB,8CAA8C;IAC9C,MAAM,eAAe,GAA6B,OAAO;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE;QACP,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAA;QAC1C,SAAS,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;QAC7B,OAAO;YACL,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;YAC3B,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,kBAAkB,EAAE,SAAS,CAAC,WAAW,EAAE;SAC5C,CAAA;IACH,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAA;IAEvD,MAAM,SAAS,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;IAC1E,MAAM,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAA;IAE7D,OAAO;QACL,OAAO,EAAE,eAAe;QACxB,UAAU,EAAE,eAAe,CAAC,MAAM;QAClC,cAAc,EAAE,SAAS;QACzB,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;QAC7B,YAAY;KACb,CAAA;AACH,CAAC;AAED,kCAAkC;AAClC,kFAAkF;AAClF,MAAM,UAAU,yBAAyB,CACvC,QAAmC;IAEnC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA;IACtB,OAAO;QACL,SAAS,EAAE,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC5F,WAAW,EAAE,GAAG,CAAC,WAAW,EAAE;QAC9B,QAAQ,EAAE;YACR,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE;YAC7B,GAAG,QAAQ;SACZ;QACD,mBAAmB,EAAE,EAAE;QACvB,oBAAoB,EAAE,EAAE;QACxB,mBAAmB,EAAE,EAAE;KACxB,CAAA;AACH,CAAC;AAED,yBAAyB;AACzB,iDAAiD;AACjD,MAAM,UAAU,gBAAgB,CAAC,SAA4B;IAC3D,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,GAAG,IAAI,IAAI,EAAE,CAAA;AACnD,CAAC;AAED,uBAAuB;AACvB,yDAAyD;AACzD,MAAM,UAAU,cAAc,CAAC,KAAoB,EAAE,OAAsB;IACzE,OAAO,KAAK,IAAI,OAAO,CAAA;AACzB,CAAC;AAED,kCAAkC;AAClC,4FAA4F;AAC5F,0FAA0F;AAC1F,gFAAgF;AAChF,0EAA0E;AAC1E,MAAM,UAAU,yBAAyB,CACvC,KAWC;IAED,IAAI,OAAgC,CAAA;IACpC,IAAI,SAA6B,CAAA;IAEjC,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC1C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,wCAAwC;YACxC,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACpE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;gBAC7B,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,mCAAmC;gBACnC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;YACzC,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;SAAM,CAAC;QACN,OAAO,GAAG,KAAK,CAAC,WAAW,CAAA;IAC7B,CAAC;IAED,yCAAyC;IACzC,MAAM,SAAS,GAAG,MAAM,CACtB,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,CAC/E,CAAA;IACD,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,CAAA;IAE1C,OAAO;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,MAAM,CAAC,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC;QAC5E,aAAa;QACb,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;QACxD,aAAa,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;QACrF,kBAAkB,EAAE,KAAK,CAAC,kBAAkB,IAAI,MAAM,CAAC,OAAO,CAAC,mBAAmB,IAAI,KAAK,CAAC;QAC5F,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClI,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC3I,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,SAAS;KAC3B,CAAA;AACH,CAAC;AAED,4BAA4B;AAC5B,qFAAqF;AACrF,oFAAoF;AACpF,8FAA8F;AAC9F,MAAM,UAAU,mBAAmB,CACjC,GAAM,EACN,MAAiB;IAEjB,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IACpF,MAAM,SAAS,GAA4B,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAA;IAC1E,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG;YAAE,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;IACrC,CAAC;IACD,OAAO;QACL,GAAG,GAAG;QACN,iBAAiB,EAAE,QAAQ;QAC3B,YAAY,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;KACnD,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"attestation.js","sourceRoot":"","sources":["../../../src/core/attestation.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
// experiment design), gap audit §3 row 10, gap audit §5 rank 2.
|
|
32
32
|
// ══════════════════════════════════════════════════════════════════
|
|
33
33
|
import { sign, verify } from '../crypto/keys.js';
|
|
34
|
-
import { canonicalize } from './canonical.js';
|
|
34
|
+
import { canonicalize, canonicalizeForWrite } from './canonical.js';
|
|
35
35
|
import { verifyFidelityAttestation } from './fidelity-probe.js';
|
|
36
36
|
// ── Create ──
|
|
37
37
|
/** Compose and sign a BehavioralFingerprint envelope.
|
|
@@ -74,7 +74,7 @@ export function createBehavioralFingerprint(subject, fidelity, opts) {
|
|
|
74
74
|
measurerPublicKey: opts.measurerPublicKey,
|
|
75
75
|
signedAt,
|
|
76
76
|
};
|
|
77
|
-
const payload =
|
|
77
|
+
const payload = canonicalizeForWrite(unsigned);
|
|
78
78
|
const signature = sign(payload, opts.signingKey);
|
|
79
79
|
return {
|
|
80
80
|
...unsigned,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavioral-fingerprint.js","sourceRoot":"","sources":["../../../src/core/behavioral-fingerprint.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,iEAAiE;AACjE,qEAAqE;AACrE,yEAAyE;AACzE,YAAY;AACZ,EAAE;AACF,yDAAyD;AACzD,0DAA0D;AAC1D,EAAE;AACF,+CAA+C;AAC/C,8EAA8E;AAC9E,EAAE;AACF,wEAAwE;AACxE,+EAA+E;AAC/E,EAAE;AACF,uEAAuE;AACvE,yEAAyE;AACzE,0EAA0E;AAC1E,sEAAsE;AACtE,EAAE;AACF,wEAAwE;AACxE,uEAAuE;AACvE,qEAAqE;AACrE,0EAA0E;AAC1E,sEAAsE;AACtE,mCAAmC;AACnC,EAAE;AACF,wEAAwE;AACxE,gEAAgE;AAChE,qEAAqE;AAErE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"behavioral-fingerprint.js","sourceRoot":"","sources":["../../../src/core/behavioral-fingerprint.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Behavioral Memory Receipts — lifecycle audit trail for BMOs
|
|
4
4
|
import { v4 as uuidv4 } from 'uuid';
|
|
5
5
|
import { sign, verify } from '../crypto/keys.js';
|
|
6
|
-
import { canonicalize } from './canonical.js';
|
|
6
|
+
import { canonicalize, canonicalizeForWrite } from './canonical.js';
|
|
7
7
|
export function createBMOReceipt(opts) {
|
|
8
8
|
if (!opts.bmo_id || typeof opts.bmo_id !== 'string')
|
|
9
9
|
throw new Error('createBMOReceipt: bmo_id must be a non-empty string');
|
|
@@ -16,7 +16,7 @@ export function createBMOReceipt(opts) {
|
|
|
16
16
|
actor_id: opts.actor_id,
|
|
17
17
|
timestamp: new Date().toISOString(),
|
|
18
18
|
};
|
|
19
|
-
const canonical =
|
|
19
|
+
const canonical = canonicalizeForWrite(receipt);
|
|
20
20
|
const signature = sign(canonical, opts.private_key);
|
|
21
21
|
return { ...receipt, signature };
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavioral-memory-receipt.js","sourceRoot":"","sources":["../../../src/core/behavioral-memory-receipt.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,8DAA8D;AAE9D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"behavioral-memory-receipt.js","sourceRoot":"","sources":["../../../src/core/behavioral-memory-receipt.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,8DAA8D;AAE9D,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAGnE,MAAM,UAAU,gBAAgB,CAAC,IAKhC;IACC,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;IAC3H,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IACjI,MAAM,OAAO,GAAkC;QAC7C,UAAU,EAAE,YAAY,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;QAC/C,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAA;IACD,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAA;IAC/C,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;IACnD,OAAO,EAAE,GAAG,OAAO,EAAE,SAAS,EAAgB,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAmB,EAAE,SAAiB;IACrE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAA;IAC1C,MAAM,SAAS,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IACxC,OAAO,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAChD,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Behavioral Memory Objects — create, verify, expire, export/import
|
|
4
4
|
import { v4 as uuidv4 } from 'uuid';
|
|
5
5
|
import { sign, verify } from '../crypto/keys.js';
|
|
6
|
-
import { canonicalize } from './canonical.js';
|
|
6
|
+
import { canonicalize, canonicalizeForWrite } from './canonical.js';
|
|
7
7
|
export function createBehavioralMemoryObject(opts) {
|
|
8
8
|
const now = new Date();
|
|
9
9
|
const bmo = {
|
|
@@ -20,7 +20,7 @@ export function createBehavioralMemoryObject(opts) {
|
|
|
20
20
|
portable: opts.portable,
|
|
21
21
|
format_version: '1.0',
|
|
22
22
|
};
|
|
23
|
-
const canonical =
|
|
23
|
+
const canonical = canonicalizeForWrite(bmo);
|
|
24
24
|
const issuer_signature = sign(canonical, opts.issuer_private_key);
|
|
25
25
|
return { ...bmo, issuer_signature };
|
|
26
26
|
}
|
|
@@ -45,7 +45,7 @@ export function exportBehavioralMemory(bmos, exporterId, privateKey) {
|
|
|
45
45
|
bmos,
|
|
46
46
|
exporter_id: exporterId,
|
|
47
47
|
};
|
|
48
|
-
const canonical =
|
|
48
|
+
const canonical = canonicalizeForWrite(bundle);
|
|
49
49
|
const signature = sign(canonical, privateKey);
|
|
50
50
|
return { ...bundle, signature };
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"behavioral-memory.js","sourceRoot":"","sources":["../../../src/core/behavioral-memory.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,oEAAoE;AAEpE,OAAO,EAAE,EAAE,IAAI,MAAM,EAAE,MAAM,MAAM,CAAA;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"behavioral-memory.js","sourceRoot":"","sources":["../../../src/core/behavioral-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bilateral-receipt.d.ts","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,+BAA+B,CAAA;
|
|
1
|
+
{"version":3,"file":"bilateral-receipt.d.ts","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,gBAAgB,EAChB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EACjB,MAAM,+BAA+B,CAAA;AA4BtC;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,iBAAiB,EAAE,MAAM,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,kBAAkB,CAAA;IAC3B,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE,MAAM,CAAA;IACnB,yBAAyB,EAAE,MAAM,CAAA;IACjC,sBAAsB,EAAE,MAAM,CAAA;IAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC1C;;;;;OAKG;IACH,GAAG,CAAC,EAAE,OAAO,+BAA+B,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAA;IACrE;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IAInB,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC,GAAG,gBAAgB,CA6CnB;AAKD,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,gBAAgB,EACzB,wBAAwB,EAAE,MAAM,EAChC,qBAAqB,EAAE,MAAM,EAC7B,gBAAgB,CAAC,EAAE,MAAM,GACxB,4BAA4B,CAuD9B;AAMD;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAA;IACZ,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;IAKd,kBAAkB,CAAC,EAAE,OAAO,oCAAoC,EAAE,kBAAkB,CAAA;CACrF,GAAG,kBAAkB,CAUrB;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,UAAU,EAAE,kBAAkB,EAC9B,UAAU,EAAE,MAAM,GACjB,OAAO,CAET;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,gBAAgB,CAAA;IAClC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B,GAAG,qBAAqB,CAmDxB"}
|
|
@@ -16,8 +16,25 @@
|
|
|
16
16
|
// ══════════════════════════════════════════════════════════════════
|
|
17
17
|
import { createHash, randomUUID } from 'node:crypto';
|
|
18
18
|
import { sign, verify } from '../crypto/keys.js';
|
|
19
|
-
import { canonicalize } from './canonical.js';
|
|
19
|
+
import { canonicalize, canonicalizeForWrite } from './canonical.js';
|
|
20
20
|
import { isRecord } from './is-record.js';
|
|
21
|
+
/**
|
|
22
|
+
* Signing-preimage profile for this module.
|
|
23
|
+
*
|
|
24
|
+
* Profile: core BilateralReceipt v1.0, preimage = canonicalize(body) (legacy:
|
|
25
|
+
* sorted keys, null and undefined members removed). Not RFC 8785. A JCS profile
|
|
26
|
+
* would be a new versioned type.
|
|
27
|
+
*
|
|
28
|
+
* The distinction matters because the repository also ships an RFC 8785
|
|
29
|
+
* canonicalizer, canonicalizeJCS(), and a fixture corpus under
|
|
30
|
+
* fixtures/bilateral-delegation/ that exercises it. That corpus tests the
|
|
31
|
+
* canonicalizer and the in-toto/DecisionReceipt envelope shapes, not this type,
|
|
32
|
+
* so passing it establishes nothing about these signatures. The two serializers
|
|
33
|
+
* differ in the way that matters here: legacy removes null and undefined
|
|
34
|
+
* members, JCS preserves null and rejects undefined. They also differ on NaN,
|
|
35
|
+
* Infinity, lone surrogates and circular references, which this type does not
|
|
36
|
+
* carry.
|
|
37
|
+
*/
|
|
21
38
|
function sha256(input) {
|
|
22
39
|
return createHash('sha256').update(input).digest('hex');
|
|
23
40
|
}
|
|
@@ -33,23 +50,32 @@ function sha256(input) {
|
|
|
33
50
|
export function createBilateralReceipt(opts) {
|
|
34
51
|
const now = new Date().toISOString();
|
|
35
52
|
// Build the receipt body (everything both agents agree on)
|
|
53
|
+
// Optional members use a conditional spread so an omitted option leaves the
|
|
54
|
+
// key genuinely absent rather than present holding undefined. The signed
|
|
55
|
+
// bytes are unchanged either way, because the legacy canonicalize() below
|
|
56
|
+
// already removed undefined members; this keeps the returned object free of
|
|
57
|
+
// undefined-valued keys, which is what #101 asks builders to do.
|
|
36
58
|
const body = {
|
|
37
59
|
receiptId: randomUUID(),
|
|
38
60
|
version: '1.0',
|
|
39
61
|
requestingAgentId: opts.requestingAgentId,
|
|
40
62
|
servingAgentId: opts.servingAgentId,
|
|
41
|
-
delegationId: opts.delegationId,
|
|
63
|
+
...(opts.delegationId !== undefined && { delegationId: opts.delegationId }),
|
|
42
64
|
outcome: opts.outcome,
|
|
43
65
|
requestedAt: opts.requestedAt,
|
|
44
66
|
completedAt: opts.completedAt,
|
|
45
67
|
agreedAt: now,
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
68
|
+
...(opts.evidenceCommitments !== undefined && {
|
|
69
|
+
evidenceCommitments: opts.evidenceCommitments,
|
|
70
|
+
}),
|
|
71
|
+
...(opts.aud !== undefined && { aud: opts.aud }),
|
|
72
|
+
...(opts.action_ref !== undefined && { action_ref: opts.action_ref }),
|
|
73
|
+
...(opts.fieldDisclosureProfile !== undefined && {
|
|
74
|
+
fieldDisclosureProfile: opts.fieldDisclosureProfile,
|
|
75
|
+
}),
|
|
50
76
|
};
|
|
51
77
|
// Both agents sign the SAME canonical body
|
|
52
|
-
const canonical =
|
|
78
|
+
const canonical = canonicalizeForWrite(body);
|
|
53
79
|
const requestingAgentSignature = sign(canonical, opts.requestingAgentPrivateKey);
|
|
54
80
|
const servingAgentSignature = sign(canonical, opts.servingAgentPrivateKey);
|
|
55
81
|
// Optional gateway witness
|
|
@@ -60,7 +86,7 @@ export function createBilateralReceipt(opts) {
|
|
|
60
86
|
...body,
|
|
61
87
|
requestingAgentSignature,
|
|
62
88
|
servingAgentSignature,
|
|
63
|
-
gatewaySignature,
|
|
89
|
+
...(gatewaySignature !== undefined && { gatewaySignature }),
|
|
64
90
|
};
|
|
65
91
|
}
|
|
66
92
|
// ══════════════════════════════════════════════════════════════════
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bilateral-receipt.js","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,+DAA+D;AAC/D,qEAAqE;AACrE,8DAA8D;AAC9D,EAAE;AACF,gEAAgE;AAChE,yDAAyD;AACzD,EAAE;AACF,oEAAoE;AACpE,2DAA2D;AAC3D,EAAE;AACF,qEAAqE;AACrE,gCAAgC;AAChC,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"bilateral-receipt.js","sourceRoot":"","sources":["../../../src/core/bilateral-receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,10 +12,35 @@ export declare class JcsCanonicalizationError extends Error {
|
|
|
12
12
|
/** RFC 8785 JSON Canonicalization Scheme.
|
|
13
13
|
* Differences from legacy canonicalize():
|
|
14
14
|
* - null values ARE preserved (not filtered)
|
|
15
|
-
* - undefined
|
|
15
|
+
* - undefined is REJECTED at any depth with a TypeError naming its path.
|
|
16
|
+
* undefined is not a JSON value and RFC 8785 defines no canonical form for
|
|
17
|
+
* it, so coercing it would sign a value the caller never wrote (#101).
|
|
18
|
+
* A caller that needs the byte null on the wire passes an explicit null.
|
|
16
19
|
* - Number serialization follows ES2015 spec
|
|
17
|
-
* - All other behavior is identical (sorted keys, no whitespace)
|
|
20
|
+
* - All other behavior is identical (sorted keys, no whitespace)
|
|
21
|
+
*
|
|
22
|
+
* The undefined walk runs ONCE here, over the whole value, before any byte is
|
|
23
|
+
* emitted. canonicalizeValue() below is the recursive emitter and does not
|
|
24
|
+
* re-assert: folding the walk into the recursion would rescan every subtree at
|
|
25
|
+
* every depth and make canonicalization O(n * depth). */
|
|
18
26
|
export declare function canonicalizeJCS(value: unknown): string;
|
|
27
|
+
/** RFC 8785 canonicalization for a NEW WRITE, with the APS unsafe-integer rule applied.
|
|
28
|
+
*
|
|
29
|
+
* Byte-identical to canonicalizeJCS() for every value it accepts. The only difference
|
|
30
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is refused
|
|
31
|
+
* rather than emitted. See core/write-policy.ts for the rule and its rationale.
|
|
32
|
+
*
|
|
33
|
+
* Use this at signing and new-write boundaries only. A verifier rebuilding the preimage
|
|
34
|
+
* of an artifact signed before this rule existed must keep calling canonicalizeJCS(),
|
|
35
|
+
* or it would refuse bytes it accepted before.
|
|
36
|
+
*
|
|
37
|
+
* The number check runs INSIDE the emitting walk, on the same read that produces the
|
|
38
|
+
* byte, so a getter or Proxy that answers differently on a second read cannot slip an
|
|
39
|
+
* unsafe integer past it. Note the pre-existing assertNoUndefined() walk is still a
|
|
40
|
+
* separate traversal; that exposure predates this change and is not addressed here. */
|
|
41
|
+
export declare function canonicalizeJCSForWrite(value: unknown): string;
|
|
42
|
+
/** @deprecated canonicalizeJCS() is itself strict as of #101; this alias exists only so the name keeps resolving. */
|
|
43
|
+
export declare function canonicalizeJCSStrict(value: unknown): string;
|
|
19
44
|
/** Detect which canonicalization variant was likely used.
|
|
20
45
|
* Checks if null values are present — JCS preserves them, legacy strips them. */
|
|
21
46
|
export declare function detectCanonicalVariant(obj: unknown, canonicalString: string): 'jcs' | 'legacy' | 'ambiguous';
|
|
@@ -34,6 +59,15 @@ export interface CanonicalizationTestVector {
|
|
|
34
59
|
* cross-implementation hash whose conformance pin requires strict JCS
|
|
35
60
|
* (e.g. action_ref per draft-pidlisnyi-aps-01 §4.1). */
|
|
36
61
|
export declare function canonicalHashJCS(obj: Record<string, unknown>): string;
|
|
62
|
+
/** Write-boundary twin of canonicalHashJCS().
|
|
63
|
+
*
|
|
64
|
+
* Reaches a canonicalizer only indirectly, so a call-site census over canonicalizer
|
|
65
|
+
* usage cannot see it. Emits the same digest as canonicalHashJCS() for every value it
|
|
66
|
+
* accepts; the only difference is that an integer-valued number outside the
|
|
67
|
+
* interoperable IEEE 754 range is refused instead of hashed. Use at signing and
|
|
68
|
+
* new-write boundaries ONLY: canonicalHashJCS() stays unrestricted because verifiers
|
|
69
|
+
* re-derive references with it over artifacts signed before this rule. */
|
|
70
|
+
export declare function canonicalHashJCSForWrite(obj: Record<string, unknown>): string;
|
|
37
71
|
/** Built-in test vectors for cross-language verification */
|
|
38
72
|
export declare function getTestVectors(): CanonicalizationTestVector[];
|
|
39
73
|
//# sourceMappingURL=canonical-jcs.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-jcs.d.ts","sourceRoot":"","sources":["../../../src/core/canonical-jcs.ts"],"names":[],"mappings":"AAgBA;;6EAE6E;AAC7E,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,qBAAoB;IACrC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAmB,EAKnE;CACF;AAqBD
|
|
1
|
+
{"version":3,"file":"canonical-jcs.d.ts","sourceRoot":"","sources":["../../../src/core/canonical-jcs.ts"],"names":[],"mappings":"AAgBA;;6EAE6E;AAC7E,qBAAa,wBAAyB,SAAQ,KAAK;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,oEAAoE;IACpE,QAAQ,CAAC,QAAQ,qBAAoB;IACrC,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,YAAY,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAmB,EAKnE;CACF;AAqBD;;;;;;;;;;;;;0DAa0D;AAC1D,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGtD;AAED;;;;;;;;;;;;;wFAawF;AACxF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE9D;AAkFD,qHAAqH;AACrH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE5D;AAED;kFACkF;AAClF,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,OAAO,EACZ,eAAe,EAAE,MAAM,GACtB,KAAK,GAAG,QAAQ,GAAG,WAAW,CAMhC;AAaD,mEAAmE;AACnE,MAAM,WAAW,0BAA0B;IACzC,EAAE,EAAE,MAAM,CAAA;IACV,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,OAAO,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;CACtB;AAOD;;;yDAGyD;AACzD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAErE;AAED;;;;;;;2EAO2E;AAC3E,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAE7E;AAED,4DAA4D;AAC5D,wBAAgB,cAAc,IAAI,0BAA0B,EAAE,CAoF7D"}
|
|
@@ -53,18 +53,62 @@ function assertNoLoneSurrogate(s) {
|
|
|
53
53
|
/** RFC 8785 JSON Canonicalization Scheme.
|
|
54
54
|
* Differences from legacy canonicalize():
|
|
55
55
|
* - null values ARE preserved (not filtered)
|
|
56
|
-
* - undefined
|
|
56
|
+
* - undefined is REJECTED at any depth with a TypeError naming its path.
|
|
57
|
+
* undefined is not a JSON value and RFC 8785 defines no canonical form for
|
|
58
|
+
* it, so coercing it would sign a value the caller never wrote (#101).
|
|
59
|
+
* A caller that needs the byte null on the wire passes an explicit null.
|
|
57
60
|
* - Number serialization follows ES2015 spec
|
|
58
|
-
* - All other behavior is identical (sorted keys, no whitespace)
|
|
61
|
+
* - All other behavior is identical (sorted keys, no whitespace)
|
|
62
|
+
*
|
|
63
|
+
* The undefined walk runs ONCE here, over the whole value, before any byte is
|
|
64
|
+
* emitted. canonicalizeValue() below is the recursive emitter and does not
|
|
65
|
+
* re-assert: folding the walk into the recursion would rescan every subtree at
|
|
66
|
+
* every depth and make canonicalization O(n * depth). */
|
|
59
67
|
export function canonicalizeJCS(value) {
|
|
60
|
-
|
|
68
|
+
assertNoUndefined(value, '$');
|
|
69
|
+
return canonicalizeValue(value);
|
|
70
|
+
}
|
|
71
|
+
/** RFC 8785 canonicalization for a NEW WRITE, with the APS unsafe-integer rule applied.
|
|
72
|
+
*
|
|
73
|
+
* Byte-identical to canonicalizeJCS() for every value it accepts. The only difference
|
|
74
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is refused
|
|
75
|
+
* rather than emitted. See core/write-policy.ts for the rule and its rationale.
|
|
76
|
+
*
|
|
77
|
+
* Use this at signing and new-write boundaries only. A verifier rebuilding the preimage
|
|
78
|
+
* of an artifact signed before this rule existed must keep calling canonicalizeJCS(),
|
|
79
|
+
* or it would refuse bytes it accepted before.
|
|
80
|
+
*
|
|
81
|
+
* The number check runs INSIDE the emitting walk, on the same read that produces the
|
|
82
|
+
* byte, so a getter or Proxy that answers differently on a second read cannot slip an
|
|
83
|
+
* unsafe integer past it. Note the pre-existing assertNoUndefined() walk is still a
|
|
84
|
+
* separate traversal; that exposure predates this change and is not addressed here. */
|
|
85
|
+
export function canonicalizeJCSForWrite(value) {
|
|
86
|
+
return canonicalizeValue(value, '$');
|
|
87
|
+
}
|
|
88
|
+
/** Recursive RFC 8785 emitter. Precondition: the value already passed
|
|
89
|
+
* assertNoUndefined(), so undefined cannot appear here. If one appears anyway,
|
|
90
|
+
* for instance from a getter that answers differently on a second read, the
|
|
91
|
+
* default branch throws rather than silently emitting null. */
|
|
92
|
+
function canonicalizeValue(value, writePath) {
|
|
93
|
+
if (value === null)
|
|
61
94
|
return 'null';
|
|
95
|
+
// Write path only: reject undefined here rather than in a separate pre-pass, so the
|
|
96
|
+
// whole traversal reads each property exactly once. Same message and path format as
|
|
97
|
+
// assertNoUndefined(), which still guards the ordinary read path above.
|
|
98
|
+
if (writePath !== undefined && value === undefined) {
|
|
99
|
+
throw new TypeError(`canonicalizeJCS: undefined at ${writePath}`);
|
|
100
|
+
}
|
|
62
101
|
switch (typeof value) {
|
|
63
102
|
case 'boolean':
|
|
64
103
|
return value ? 'true' : 'false';
|
|
65
104
|
case 'number': {
|
|
66
105
|
if (!isFinite(value))
|
|
67
106
|
throw new Error('JCS does not support Infinity or NaN');
|
|
107
|
+
// Write-policy check, threaded from canonicalizeJCSForWrite(). Undefined on the
|
|
108
|
+
// ordinary canonicalizeJCS() path, which stays byte-identical and unrestricted.
|
|
109
|
+
if (writePath !== undefined && isUnsafeWriteInteger(value)) {
|
|
110
|
+
throw new UnsafeIntegerError(writePath);
|
|
111
|
+
}
|
|
68
112
|
// ES2015 number serialization — JSON.stringify handles this correctly
|
|
69
113
|
return JSON.stringify(value);
|
|
70
114
|
}
|
|
@@ -75,7 +119,14 @@ export function canonicalizeJCS(value) {
|
|
|
75
119
|
if (value instanceof Date)
|
|
76
120
|
return JSON.stringify(value);
|
|
77
121
|
if (Array.isArray(value)) {
|
|
78
|
-
|
|
122
|
+
if (writePath !== undefined) {
|
|
123
|
+
const parts = [];
|
|
124
|
+
for (let i = 0; i < value.length; i++) {
|
|
125
|
+
parts.push(canonicalizeValue(value[i], `${writePath}[${i}]`));
|
|
126
|
+
}
|
|
127
|
+
return '[' + parts.join(',') + ']';
|
|
128
|
+
}
|
|
129
|
+
return '[' + value.map(item => canonicalizeValue(item)).join(',') + ']';
|
|
79
130
|
}
|
|
80
131
|
// Object: sort keys as UTF-16 code unit arrays per RFC 8785 3.2.3, preserve null values
|
|
81
132
|
const obj = value;
|
|
@@ -84,9 +135,7 @@ export function canonicalizeJCS(value) {
|
|
|
84
135
|
for (const key of keys) {
|
|
85
136
|
assertNoLoneSurrogate(key);
|
|
86
137
|
const v = obj[key];
|
|
87
|
-
|
|
88
|
-
// Only skip if the key was never set (shouldn't happen with Object.keys)
|
|
89
|
-
pairs.push(`${JSON.stringify(key)}:${canonicalizeJCS(v)}`);
|
|
138
|
+
pairs.push(`${JSON.stringify(key)}:${canonicalizeValue(v, writePath === undefined ? undefined : `${writePath}.${key}`)}`);
|
|
90
139
|
}
|
|
91
140
|
return '{' + pairs.join(',') + '}';
|
|
92
141
|
}
|
|
@@ -94,6 +143,34 @@ export function canonicalizeJCS(value) {
|
|
|
94
143
|
throw new Error(`JCS: unsupported type ${typeof value}`);
|
|
95
144
|
}
|
|
96
145
|
}
|
|
146
|
+
/** Path-tracking walk that rejects `undefined` anywhere in the value.
|
|
147
|
+
* RFC 8785 canonicalizes JSON data, and `undefined` is not a JSON value, so
|
|
148
|
+
* there is no defined canonical form for it. Rather than coerce it, which
|
|
149
|
+
* would silently turn one value into a different one before the bytes are
|
|
150
|
+
* signed, canonicalizeJCS() names the exact location and refuses. */
|
|
151
|
+
function assertNoUndefined(value, path) {
|
|
152
|
+
if (value === undefined) {
|
|
153
|
+
throw new TypeError(`canonicalizeJCS: undefined at ${path}`);
|
|
154
|
+
}
|
|
155
|
+
if (value === null || typeof value !== 'object')
|
|
156
|
+
return;
|
|
157
|
+
if (value instanceof Date)
|
|
158
|
+
return;
|
|
159
|
+
if (Array.isArray(value)) {
|
|
160
|
+
// An array hole and an explicit undefined element both read as undefined
|
|
161
|
+
// here, which is the intended rejection: neither has a JSON encoding.
|
|
162
|
+
for (let i = 0; i < value.length; i++)
|
|
163
|
+
assertNoUndefined(value[i], `${path}[${i}]`);
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const obj = value;
|
|
167
|
+
for (const key of Object.keys(obj))
|
|
168
|
+
assertNoUndefined(obj[key], `${path}.${key}`);
|
|
169
|
+
}
|
|
170
|
+
/** @deprecated canonicalizeJCS() is itself strict as of #101; this alias exists only so the name keeps resolving. */
|
|
171
|
+
export function canonicalizeJCSStrict(value) {
|
|
172
|
+
return canonicalizeJCS(value);
|
|
173
|
+
}
|
|
97
174
|
/** Detect which canonicalization variant was likely used.
|
|
98
175
|
* Checks if null values are present — JCS preserves them, legacy strips them. */
|
|
99
176
|
export function detectCanonicalVariant(obj, canonicalString) {
|
|
@@ -115,6 +192,7 @@ function hasNullValues(obj) {
|
|
|
115
192
|
return Object.values(obj).some(v => v === null || v === undefined || hasNullValues(v));
|
|
116
193
|
}
|
|
117
194
|
import { createHash } from 'crypto';
|
|
195
|
+
import { isUnsafeWriteInteger, UnsafeIntegerError } from './write-policy.js';
|
|
118
196
|
/** Generate SHA-256 hex digest of a string */
|
|
119
197
|
function sha256hex(input) {
|
|
120
198
|
return createHash('sha256').update(input, 'utf-8').digest('hex');
|
|
@@ -126,6 +204,17 @@ function sha256hex(input) {
|
|
|
126
204
|
export function canonicalHashJCS(obj) {
|
|
127
205
|
return sha256hex(canonicalizeJCS(obj));
|
|
128
206
|
}
|
|
207
|
+
/** Write-boundary twin of canonicalHashJCS().
|
|
208
|
+
*
|
|
209
|
+
* Reaches a canonicalizer only indirectly, so a call-site census over canonicalizer
|
|
210
|
+
* usage cannot see it. Emits the same digest as canonicalHashJCS() for every value it
|
|
211
|
+
* accepts; the only difference is that an integer-valued number outside the
|
|
212
|
+
* interoperable IEEE 754 range is refused instead of hashed. Use at signing and
|
|
213
|
+
* new-write boundaries ONLY: canonicalHashJCS() stays unrestricted because verifiers
|
|
214
|
+
* re-derive references with it over artifacts signed before this rule. */
|
|
215
|
+
export function canonicalHashJCSForWrite(obj) {
|
|
216
|
+
return sha256hex(canonicalizeJCSForWrite(obj));
|
|
217
|
+
}
|
|
129
218
|
/** Built-in test vectors for cross-language verification */
|
|
130
219
|
export function getTestVectors() {
|
|
131
220
|
const vectors = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical-jcs.js","sourceRoot":"","sources":["../../../src/core/canonical-jcs.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,kEAAkE;AAClE,qEAAqE;AACrE,qEAAqE;AACrE,wEAAwE;AACxE,EAAE;AACF,wBAAwB;AACxB,mDAAmD;AACnD,uDAAuD;AACvD,EAAE;AACF,gEAAgE;AAChE,6DAA6D;AAC7D,qEAAqE;AAErE;;6EAE6E;AAC7E,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IACxC,IAAI,CAAQ;IACrB,oEAAoE;IAC3D,QAAQ,GAAG,iBAAiB,CAAA;IACrC,mEAAmE;IAC1D,MAAM,CAAQ;IACvB,YAAY,IAAY,EAAE,OAAe,EAAE,MAAM,GAAG,gBAAgB;QAClE,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAA;QACtC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;CACF;AAED;;;;kFAIkF;AAClF,SAAS,qBAAqB,CAAC,CAAS;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YACvD,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;gBAAC,CAAC,EAAE,CAAC;gBAAC,SAAQ;YAAC,CAAC,CAAC,aAAa;YACrE,MAAM,IAAI,wBAAwB,CAAC,wBAAwB,EAAE,kJAAkJ,CAAC,CAAA;QAClN,CAAC;QACD,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;YAC/B,MAAM,IAAI,wBAAwB,CAAC,wBAAwB,EAAE,iJAAiJ,CAAC,CAAA;QACjN,CAAC;IACH,CAAC;AACH,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"canonical-jcs.js","sourceRoot":"","sources":["../../../src/core/canonical-jcs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,31 @@
|
|
|
1
1
|
export declare function canonicalize(obj: unknown, _ancestors?: WeakSet<object>): string;
|
|
2
|
+
/** Legacy canonicalization for a NEW WRITE, with the APS unsafe-integer rule applied.
|
|
3
|
+
*
|
|
4
|
+
* Byte-identical to canonicalize() for every value it accepts: same key sort, same
|
|
5
|
+
* null and undefined stripping, same Date handling, same cycle rule. The only
|
|
6
|
+
* difference is that an integer-valued number outside the interoperable IEEE 754 range
|
|
7
|
+
* is refused rather than emitted. See core/write-policy.ts for the rule.
|
|
8
|
+
*
|
|
9
|
+
* Use at signing and new-write boundaries ONLY. Verification, recompute and any path
|
|
10
|
+
* rebuilding the preimage of an existing artifact must keep calling canonicalize(),
|
|
11
|
+
* which stays unrestricted so historical bytes keep verifying.
|
|
12
|
+
*
|
|
13
|
+
* READS EACH PROPERTY EXACTLY ONCE. canonicalize() above reads obj[key] twice, once in
|
|
14
|
+
* its filter and once in its map, so a standalone validator in front of it would make a
|
|
15
|
+
* third read and a getter or Proxy could answer safe, safe, then unsafe. Here the value
|
|
16
|
+
* is captured once into `val`, checked, and emitted from that same capture, so the
|
|
17
|
+
* value checked is the value signed. Do not refactor this back into filter plus map. */
|
|
18
|
+
export declare function canonicalizeForWrite(obj: unknown, path?: string, _ancestors?: WeakSet<object>): string;
|
|
2
19
|
export declare function canonicalJson(obj: Record<string, unknown>): string;
|
|
3
20
|
export declare function canonicalHash(obj: Record<string, unknown>): string;
|
|
21
|
+
/** Write-boundary twin of canonicalHash().
|
|
22
|
+
*
|
|
23
|
+
* Reaches a canonicalizer indirectly through canonicalJson(), so a census over direct
|
|
24
|
+
* canonicalizer calls cannot see it. Same digest as canonicalHash() for every value it
|
|
25
|
+
* accepts; the only difference is that an integer-valued number outside the
|
|
26
|
+
* interoperable IEEE 754 range is refused instead of hashed. Use at signing and
|
|
27
|
+
* new-write boundaries ONLY: canonicalHash() stays unrestricted because verifiers
|
|
28
|
+
* recompute commitments with it over artifacts committed before this rule. */
|
|
29
|
+
export declare function canonicalHashForWrite(obj: Record<string, unknown>): string;
|
|
4
30
|
export declare function normalizeTimestamp(ts: string): string;
|
|
5
31
|
//# sourceMappingURL=canonical.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../src/core/canonical.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../src/core/canonical.ts"],"names":[],"mappings":"AAYA,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CA8B/E;AAED;;;;;;;;;;;;;;;yFAeyF;AACzF,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,OAAO,EACZ,IAAI,SAAM,EACV,UAAU,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,GAC3B,MAAM,CA8BR;AAKD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAElE;AAGD,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAElE;AAED;;;;;;;+EAO+E;AAC/E,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAE1E;AAMD,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAOrD"}
|