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":"types.d.ts","sourceRoot":"","sources":["../../../../../src/v2/payment-rails/mpp/types.ts"],"names":[],"mappings":"AAuCA,qEAAqE;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,YAAY,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AAEtE,eAAO,MAAM,WAAW,EAAG,2BAAoC,CAAA;AAE/D;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,WAAW,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAI1E;;;;GAIG;AACH,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAA;IACpB,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;IAChB,uEAAuE;IACvE,UAAU,EAAE,MAAM,CAAA;IAClB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAA;CACd;AAID;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,OAAO,CAAA;IACpB,6DAA6D;IAC7D,iBAAiB,EAAE,MAAM,CAAA;IACzB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,SAAS,GAAG,SAAS,CAAA;IAC9B,+DAA+D;IAC/D,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,cAAc,EAAE,MAAM,CAAA;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAA;IAC1B,kBAAkB,EAAE,MAAM,CAAA;IAC1B,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAA;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,aAAa,GAAG,kBAAkB,CAAA;AAI3E;;;;;GAKG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,aAAa,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAA;CAChB;AAID;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,qBAAqB,CAAA;IACnC,WAAW,EAAE,OAAO,WAAW,CAAA;IAC/B,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,aAAa,CAAA;IAC1B,kDAAkD;IAClD,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;CACjB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,iEAAiE;IACjE,cAAc,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/v2/payment-rails/mpp/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../src/v2/policy-bundle/bundle.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAOH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAGnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAGnE,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EAExB,sBAAsB,EACtB,YAAY,EACb,MAAM,YAAY,CAAA;AAqBnB,mCAAmC;AACnC,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,OAAO,EAAE,UAAU,GAAG,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC5C,2EAA2E;IAC3E,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,IAAI,YAAY,CAavD;AA2BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,oBAAoB,
|
|
1
|
+
{"version":3,"file":"bundle.d.ts","sourceRoot":"","sources":["../../../../src/v2/policy-bundle/bundle.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAOH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAGnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAGnE,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EAExB,sBAAsB,EACtB,YAAY,EACb,MAAM,YAAY,CAAA;AAqBnB,mCAAmC;AACnC,MAAM,WAAW,qBAAqB;IACpC,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAA;IACZ,8CAA8C;IAC9C,OAAO,EAAE,UAAU,GAAG,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,qBAAqB,EAAE,CAAA;IAC9B,gBAAgB,EAAE,MAAM,CAAA;IACxB,eAAe,EAAE,MAAM,CAAA;IACvB,kFAAkF;IAClF,UAAU,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAC5C,2EAA2E;IAC3E,YAAY,CAAC,EAAE,YAAY,CAAA;IAC3B,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,iFAAiF;AACjF,wBAAgB,wBAAwB,IAAI,YAAY,CAavD;AA2BD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,GAAG,oBAAoB,CA0CvF;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,QAAQ,EAAE,oBAAoB,GAAG,YAAY,CAEzE;AAED,MAAM,WAAW,yBAAyB;IACxC;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;OAGG;IACH,QAAQ,CAAC,EAAE,UAAU,CAAA;CACtB;AAQD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,oBAAoB,EAC9B,OAAO,GAAE,yBAA8B,GACtC,wBAAwB,CA8E1B;AAmCD;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,oBAAoB,GAAG,MAAM,CAE5E;AAED,2EAA2E;AAC3E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAQ9E;AAED,uDAAuD;AACvD,wBAAgB,cAAc,CAAC,QAAQ,EAAE,oBAAoB,GAAG,UAAU,CAEzE"}
|
|
@@ -42,7 +42,7 @@
|
|
|
42
42
|
import { createHash } from 'node:crypto';
|
|
43
43
|
import { sign, verify } from '../../crypto/keys.js';
|
|
44
44
|
import { createDID } from '../../core/did.js';
|
|
45
|
-
import { canonicalizeJCS, canonicalHashJCS } from '../../core/canonical-jcs.js';
|
|
45
|
+
import { canonicalizeJCS, canonicalizeJCSForWrite, canonicalHashJCS } from '../../core/canonical-jcs.js';
|
|
46
46
|
import { resolveTermsForPath } from '../../core/aps-txt.js';
|
|
47
47
|
import { packTar, unpackTar } from './tar.js';
|
|
48
48
|
// ── encoding helpers ──
|
|
@@ -138,8 +138,10 @@ export function createPolicyBundle(input) {
|
|
|
138
138
|
governance: buildGovernance(input.governance),
|
|
139
139
|
scopeOfClaim: input.scopeOfClaim ?? defaultPolicyBundleScope(),
|
|
140
140
|
};
|
|
141
|
-
// Detached signature over the JCS-canonical manifest.
|
|
142
|
-
|
|
141
|
+
// Detached signature over the JCS-canonical manifest. This is a NEW bundle, so the
|
|
142
|
+
// write canonicalizer applies; verifyPolicyBundle rebuilds the same string with the
|
|
143
|
+
// unrestricted form so a bundle signed before the rule still verifies.
|
|
144
|
+
const canonical = canonicalizeJCSForWrite(manifest);
|
|
143
145
|
const signature = sign(canonical, input.signerPrivateKey);
|
|
144
146
|
return { manifest, signature, tarHex: bytesToHex(tarBytes) };
|
|
145
147
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../../src/v2/policy-bundle/bundle.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../../src/v2/policy-bundle/bundle.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AACxG,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAK3D,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AAW7C,yBAAyB;AAEzB,SAAS,SAAS,CAAC,KAAiB;IAClC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACzD,CAAC;AAED,SAAS,UAAU,CAAC,KAAiB;IACnC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAC7E,CAAC;AAED,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACtD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;IACtD,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC;QAAE,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;IACtF,OAAO,GAAG,CAAA;AACZ,CAAC;AAuBD,iFAAiF;AACjF,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,OAAO,EACL,iGAAiG;QACnG,eAAe,EAAE;YACf,+DAA+D;YAC/D,uFAAuF;YACvF,uEAAuE;SACxE;QACD,YAAY,EAAE,eAAe;QAC7B,YAAY,EAAE,UAAU;QACxB,aAAa,EAAE,IAAI;KACpB,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,OAA4B;IACpD,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAA;AAClF,CAAC;AAED,SAAS,eAAe,CAAC,KAAuC;IAC9D,MAAM,oBAAoB,GAAG,KAAK,EAAE,oBAAoB,IAAI,IAAI,CAAA;IAChE,MAAM,SAAS,GAAG,KAAK,EAAE,SAAS,IAAI,EAAE,CAAA;IACxC,MAAM,aAAa,GAAG,KAAK,EAAE,aAAa,IAAI,EAAE,CAAA;IAChD,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,EAAE,CAAA;IACtC,IAAI,UAAgC,CAAA;IACpC,IAAI,KAAK,EAAE,UAAU,EAAE,CAAC;QACtB,UAAU,GAAG,KAAK,CAAC,UAAU,CAAA;IAC/B,CAAC;SAAM,IAAI,oBAAoB,KAAK,IAAI,EAAE,CAAC;QACzC,UAAU,GAAG,SAAS,CAAA;IACxB,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA;QACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAA;QACvC,IAAI,YAAY,IAAI,WAAW;YAAE,UAAU,GAAG,OAAO,CAAA;aAChD,IAAI,WAAW;YAAE,UAAU,GAAG,WAAW,CAAA;aACzC,IAAI,YAAY;YAAE,UAAU,GAAG,eAAe,CAAA;;YAC9C,UAAU,GAAG,SAAS,CAAA;IAC7B,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAA;AACjF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAA8B;IAC/D,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAA;IACjE,CAAC;IAED,MAAM,OAAO,GAAe,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAChD,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC;KAClC,CAAC,CAAC,CAAA;IAEH,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;IAErC,0DAA0D;IAC1D,MAAM,WAAW,GAA4B,OAAO;SACjD,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC5E,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnE,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAClD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;IAE7D,MAAM,QAAQ,GAAyB;QACrC,MAAM,EAAE,mBAAmB;QAC3B,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,SAAS;QACT,KAAK,EAAE,WAAW;QAClB,eAAe,EAAE,KAAK,CAAC,eAAe;QACtC,SAAS;QACT,SAAS;QACT,UAAU,EAAE,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC;QAC7C,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,wBAAwB,EAAE;KAC/D,CAAA;IAED,mFAAmF;IACnF,oFAAoF;IACpF,uEAAuE;IACvE,MAAM,SAAS,GAAG,uBAAuB,CAAC,QAA8C,CAAC,CAAA;IACzF,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAA;IAEzD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAA;AAC9D,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,YAAY,CAAC,QAA8B;IACzD,OAAO,gBAAgB,CAAC,QAA8C,CAAC,CAAA;AACzE,CAAC;AAsBD,2EAA2E;AAC3E,SAAS,WAAW,CAAC,KAAsB;IACzC,MAAM,MAAM,GAAG,CAAC,WAAW,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,SAAS,CAAU,CAAA;IAC5F,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,CAAA;AACrD,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAA8B,EAC9B,OAAO,GAA8B,EAAE;IAEvC,MAAM,OAAO,GAAa,EAAE,CAAA;IAC5B,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAA;IAExC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAA;IAEpC,wCAAwC;IACxC,MAAM,SAAS,GAAG,eAAe,CAAC,QAA8C,CAAC,CAAA;IACjF,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAA;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,cAAc,GAAG,KAAK,CAAA;IACxB,CAAC;IACD,IAAI,CAAC,cAAc;QAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;IAEtD,4BAA4B;IAC5B,IAAI,mBAAmB,GAAG,KAAK,CAAA;IAC/B,IAAI,CAAC;QACH,mBAAmB,GAAG,SAAS,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAA;IAClF,CAAC;IAAC,MAAM,CAAC;QACP,mBAAmB,GAAG,KAAK,CAAA;IAC7B,CAAC;IACD,IAAI,CAAC,mBAAmB;QAAE,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IAE7D,sCAAsC;IACtC,IAAI,QAAQ,GAAsB,IAAI,CAAA;IACtC,IAAI,cAAc,GAAG,KAAK,CAAA;IAC1B,IAAI,eAAe,GAAG,KAAK,CAAA;IAC3B,IAAI,CAAC;QACH,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;QAC1D,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,SAAS,CAAA;QAC3D,IAAI,CAAC,cAAc;YAAE,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAA;QAEtD,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAA;QACnC,eAAe,GAAG,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACnE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5D,OAAO,CAAC,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAA;QACtC,cAAc,GAAG,KAAK,CAAA;QACtB,eAAe,GAAG,KAAK,CAAA;IACzB,CAAC;IAED,2CAA2C;IAC3C,MAAM,gBAAgB,GACpB,QAAQ,CAAC,UAAU,CAAC,UAAU,KAAK,WAAW;QAC9C,QAAQ,CAAC,UAAU,CAAC,UAAU,KAAK,OAAO,CAAA;IAC5C,IAAI,gBAAgB;QAAE,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAA;IAE1D,oCAAoC;IACpC,IAAI,OAAO,GAAG,KAAK,CAAA;IACnB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAA;QAC9D,MAAM,KAAK,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;QAC3E,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,GAAG,IAAI,CAAA;YACd,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACzB,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GACT,cAAc;QACd,mBAAmB;QACnB,cAAc;QACd,eAAe;QACf,CAAC,OAAO,CAAA;IAEV,OAAO;QACL,KAAK;QACL,YAAY,EAAE,KAAK;QACnB,cAAc;QACd,cAAc;QACd,eAAe;QACf,mBAAmB;QACnB,gBAAgB;QAChB,OAAO;QACP,OAAO;KACR,CAAA;AACH,CAAC;AAED,qFAAqF;AACrF,SAAS,aAAa,CACpB,OAAmB,EACnB,IAA6B,EAC7B,OAAiB;IAEjB,IAAI,OAAO,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;QACnC,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAiC,CAAA;IAC1D,KAAK,MAAM,CAAC,IAAI,IAAI;QAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;IAE9C,IAAI,EAAE,GAAG,IAAI,CAAA;IACb,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,wBAAwB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YAClD,EAAE,GAAG,KAAK,CAAA;YACV,SAAQ;QACV,CAAC;QACD,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YAChD,EAAE,GAAG,KAAK,CAAA;QACZ,CAAC;QACD,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;YACzC,OAAO,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAA;YAChD,EAAE,GAAG,KAAK,CAAA;QACZ,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAA;AACX,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAA8B;IAClE,OAAO,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;AAC1C,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAClC,IAAI,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,mBAAmB;YAAE,OAAO,IAAI,CAAA;QACjE,OAAO,MAA8B,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,cAAc,CAAC,QAA8B;IAC3D,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA;AACpC,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { HybridTimestamp } from '../../types/time.js';
|
|
|
2
2
|
import type { ProvisionalStatement, AgentDID, PrincipalDID, Ed25519Signature } from './types.js';
|
|
3
3
|
/** Canonical payload an author signs to attest a provisional statement.
|
|
4
4
|
* Verifiers reconstruct this exact payload to check author_signature. */
|
|
5
|
-
|
|
5
|
+
interface StatementSigningInput {
|
|
6
6
|
id: string;
|
|
7
7
|
version: '1.0';
|
|
8
8
|
author: AgentDID;
|
|
@@ -10,7 +10,17 @@ export declare function statementSigningPayload(s: {
|
|
|
10
10
|
content: string;
|
|
11
11
|
created_at: HybridTimestamp;
|
|
12
12
|
dead_man_expires_at?: HybridTimestamp;
|
|
13
|
-
}
|
|
13
|
+
}
|
|
14
|
+
export declare function statementSigningPayload(s: StatementSigningInput): string;
|
|
15
|
+
/** Write-boundary twin of statementSigningPayload().
|
|
16
|
+
*
|
|
17
|
+
* Shares one implementation body with statementSigningPayload() so the two can never drift apart
|
|
18
|
+
* on the field list. Emits the same bytes for every value it accepts; the only
|
|
19
|
+
* difference is that an integer-valued number outside the interoperable IEEE 754
|
|
20
|
+
* range is refused instead of serialized. Use at signing and new-write boundaries
|
|
21
|
+
* ONLY: statementSigningPayload() stays unrestricted so an artifact signed before this rule keeps
|
|
22
|
+
* verifying. */
|
|
23
|
+
export declare function statementSigningPayloadForWrite(s: StatementSigningInput): string;
|
|
14
24
|
export interface CreateProvisionalParams {
|
|
15
25
|
author: AgentDID;
|
|
16
26
|
author_principal: PrincipalDID;
|
|
@@ -40,4 +50,5 @@ export declare function verifyAuthorSignature(statement: ProvisionalStatement):
|
|
|
40
50
|
export declare function withdrawProvisional(statement: ProvisionalStatement, author_sig: Ed25519Signature): ProvisionalStatement;
|
|
41
51
|
/** Compute the withdrawal payload an author must sign. */
|
|
42
52
|
export declare function withdrawalPayload(statement_id: string): string;
|
|
53
|
+
export {};
|
|
43
54
|
//# sourceMappingURL=create.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/v2/provisional-statement/create.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAEnB;0EAC0E;AAC1E,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../src/v2/provisional-statement/create.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EACV,oBAAoB,EACpB,QAAQ,EACR,YAAY,EACZ,gBAAgB,EACjB,MAAM,YAAY,CAAA;AAEnB;0EAC0E;AAC1E,UAAU,qBAAqB;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,EAAE,KAAK,CAAA;IACd,MAAM,EAAE,QAAQ,CAAA;IAChB,gBAAgB,EAAE,YAAY,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,UAAU,EAAE,eAAe,CAAA;IAC3B,mBAAmB,CAAC,EAAE,eAAe,CAAA;CACtC;AAiBD,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAExE;AAED;;;;;;;iBAOiB;AACjB,wBAAgB,+BAA+B,CAAC,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAEhF;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,QAAQ,CAAA;IAChB,gBAAgB,EAAE,YAAY,CAAA;IAC9B,OAAO,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,gBAAgB,EAAE,MAAM,CAAA;IACxB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAA;IACjB,qFAAqF;IACrF,mBAAmB,CAAC,EAAE,eAAe,CAAA;IACrC,wCAAwC;IACxC,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,oBAAoB,CAqBvF;AAED;;;wCAGwC;AACxC,wBAAgB,SAAS,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAElE;AAED;;qBAEqB;AACrB,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,oBAAoB,GAAG,OAAO,CAG9E;AAED;;sCAEsC;AACtC,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,oBAAoB,EAC/B,UAAU,EAAE,gBAAgB,GAC3B,oBAAoB,CAYtB;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAE9D"}
|
|
@@ -5,12 +5,10 @@
|
|
|
5
5
|
// ══════════════════════════════════════════════════════════════════
|
|
6
6
|
import crypto from 'node:crypto';
|
|
7
7
|
import { sign, verify } from '../../crypto/keys.js';
|
|
8
|
-
import { canonicalize } from '../../core/canonical.js';
|
|
8
|
+
import { canonicalize, canonicalizeForWrite } from '../../core/canonical.js';
|
|
9
9
|
import { createHybridTimestamp } from '../../core/time.js';
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
export function statementSigningPayload(s) {
|
|
13
|
-
return canonicalize({
|
|
10
|
+
function statementSigningPayloadImpl(s, canon) {
|
|
11
|
+
return canon({
|
|
14
12
|
id: s.id,
|
|
15
13
|
version: s.version,
|
|
16
14
|
author: s.author,
|
|
@@ -20,6 +18,20 @@ export function statementSigningPayload(s) {
|
|
|
20
18
|
...(s.dead_man_expires_at ? { dead_man_expires_at: s.dead_man_expires_at } : {}),
|
|
21
19
|
});
|
|
22
20
|
}
|
|
21
|
+
export function statementSigningPayload(s) {
|
|
22
|
+
return statementSigningPayloadImpl(s, canonicalize);
|
|
23
|
+
}
|
|
24
|
+
/** Write-boundary twin of statementSigningPayload().
|
|
25
|
+
*
|
|
26
|
+
* Shares one implementation body with statementSigningPayload() so the two can never drift apart
|
|
27
|
+
* on the field list. Emits the same bytes for every value it accepts; the only
|
|
28
|
+
* difference is that an integer-valued number outside the interoperable IEEE 754
|
|
29
|
+
* range is refused instead of serialized. Use at signing and new-write boundaries
|
|
30
|
+
* ONLY: statementSigningPayload() stays unrestricted so an artifact signed before this rule keeps
|
|
31
|
+
* verifying. */
|
|
32
|
+
export function statementSigningPayloadForWrite(s) {
|
|
33
|
+
return statementSigningPayloadImpl(s, canonicalizeForWrite);
|
|
34
|
+
}
|
|
23
35
|
export function createProvisional(params) {
|
|
24
36
|
const id = params.id ?? crypto.randomBytes(16).toString('hex');
|
|
25
37
|
const created_at = createHybridTimestamp(params.gatewayId);
|
|
@@ -32,7 +44,7 @@ export function createProvisional(params) {
|
|
|
32
44
|
created_at,
|
|
33
45
|
...(params.dead_man_expires_at ? { dead_man_expires_at: params.dead_man_expires_at } : {}),
|
|
34
46
|
};
|
|
35
|
-
const author_signature = sign(
|
|
47
|
+
const author_signature = sign(statementSigningPayloadForWrite(base), params.authorPrivateKey);
|
|
36
48
|
return {
|
|
37
49
|
...base,
|
|
38
50
|
status: 'provisional',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/v2/provisional-statement/create.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,4EAA4E;AAC5E,qEAAqE;AAErE,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../src/v2/provisional-statement/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,14 @@ import type { CreateReadFidelityReceiptInput, ReadFidelityReceipt, ReadFidelityV
|
|
|
5
5
|
* or an unsigned draft (no sig key present).
|
|
6
6
|
*/
|
|
7
7
|
export declare function canonicalNoSig(record: object): string;
|
|
8
|
+
/** Write-boundary twin of canonicalNoSig().
|
|
9
|
+
*
|
|
10
|
+
* Emits the same bytes as canonicalNoSig() for every value it accepts. The only difference
|
|
11
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
12
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
13
|
+
* canonicalNoSig() stays unrestricted so an artifact signed before this rule keeps
|
|
14
|
+
* verifying. */
|
|
15
|
+
export declare function canonicalNoSigForWrite(record: object): string;
|
|
8
16
|
/**
|
|
9
17
|
* Build and sign a read fidelity receipt. Validates the input
|
|
10
18
|
* (n MUST equal challenge.span_commitments.length, challenge.seed MUST
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../../src/v2/read_fidelity_receipt/receipt.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,8BAA8B,EAC9B,mBAAmB,EAEnB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAYnB;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGrD;AAsHD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,8BAA8B,EACtC,aAAa,EAAE,MAAM,GACpB,mBAAmB,CA0DrB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,wBAAwB,CAWnF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,GACjB,yBAAyB,CA2C3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,qBAAqB,CAiBvB"}
|
|
1
|
+
{"version":3,"file":"receipt.d.ts","sourceRoot":"","sources":["../../../../src/v2/read_fidelity_receipt/receipt.ts"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EACV,8BAA8B,EAC9B,mBAAmB,EAEnB,wBAAwB,EACxB,yBAAyB,EACzB,qBAAqB,EACtB,MAAM,YAAY,CAAA;AAYnB;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGrD;AACD;;;;;;iBAMiB;AACjB,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAG7D;AAsHD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,8BAA8B,EACtC,aAAa,EAAE,MAAM,GACpB,mBAAmB,CA0DrB;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,OAAO,GAAG,wBAAwB,CAWnF;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,OAAO,EACf,UAAU,EAAE,MAAM,GACjB,yBAAyB,CA2C3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,SAAS,MAAM,EAAE,GAC3B,qBAAqB,CAiBvB"}
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
// is the replay binding doing its job.
|
|
14
14
|
// ══════════════════════════════════════════════════════════════════
|
|
15
15
|
import { createHash } from 'node:crypto';
|
|
16
|
-
import { canonicalizeJCS } from '../../core/canonical-jcs.js';
|
|
16
|
+
import { canonicalizeJCS, canonicalizeJCSForWrite } from '../../core/canonical-jcs.js';
|
|
17
17
|
import { sign, verify as edVerify, publicKeyFromPrivate } from '../../crypto/keys.js';
|
|
18
18
|
import { commitSpans, deriveSeed, sampleSpans, scoreResponses } from './sampler.js';
|
|
19
19
|
const DIGEST_RE = /^sha256:[0-9a-f]{64}$/;
|
|
@@ -32,6 +32,17 @@ export function canonicalNoSig(record) {
|
|
|
32
32
|
const { sig: _sig, ...rest } = record;
|
|
33
33
|
return canonicalizeJCS(rest);
|
|
34
34
|
}
|
|
35
|
+
/** Write-boundary twin of canonicalNoSig().
|
|
36
|
+
*
|
|
37
|
+
* Emits the same bytes as canonicalNoSig() for every value it accepts. The only difference
|
|
38
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
39
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
40
|
+
* canonicalNoSig() stays unrestricted so an artifact signed before this rule keeps
|
|
41
|
+
* verifying. */
|
|
42
|
+
export function canonicalNoSigForWrite(record) {
|
|
43
|
+
const { sig: _sig, ...rest } = record;
|
|
44
|
+
return canonicalizeJCSForWrite(rest);
|
|
45
|
+
}
|
|
35
46
|
/**
|
|
36
47
|
* Structural checks shared by verifyReadFidelityReceipt and
|
|
37
48
|
* verifyAgainstSource. Returns the first failing reason, or null when
|
|
@@ -193,7 +204,7 @@ export function createReadFidelityReceipt(fields, privateKeyHex) {
|
|
|
193
204
|
throw new Error('challenge.seed does not match the seed derivation over ' +
|
|
194
205
|
'content_digest, presentation_digest, nonce, and version');
|
|
195
206
|
}
|
|
196
|
-
const sig = sign(
|
|
207
|
+
const sig = sign(canonicalNoSigForWrite(draft), privateKeyHex);
|
|
197
208
|
return { ...draft, sig };
|
|
198
209
|
}
|
|
199
210
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../../src/v2/read_fidelity_receipt/receipt.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,gDAAgD;AAChD,qEAAqE;AACrE,mEAAmE;AACnE,kEAAkE;AAClE,iEAAiE;AACjE,qEAAqE;AACrE,gEAAgE;AAChE,mEAAmE;AACnE,oEAAoE;AACpE,uCAAuC;AACvC,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"receipt.js","sourceRoot":"","sources":["../../../../src/v2/read_fidelity_receipt/receipt.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
// observed_at; or that the decision was the right one. Outcome labels are
|
|
25
25
|
// derived reporting vocabulary and are never part of the signed bytes.
|
|
26
26
|
// ════════════════════════════════════════════════════════════════════
|
|
27
|
-
import { canonicalize } from '../../core/canonical.js';
|
|
27
|
+
import { canonicalize, canonicalizeForWrite } from '../../core/canonical.js';
|
|
28
28
|
import { verify } from '../../crypto/keys.js';
|
|
29
29
|
import { defaultKeyId } from '../../adapters/remote-signer/types.js';
|
|
30
30
|
const CAEP_SESSION_REVOKED = 'https://schemas.openid.net/secevent/caep/event-type/session-revoked';
|
|
@@ -81,7 +81,7 @@ export async function buildRevocationObservation(params, signer) {
|
|
|
81
81
|
observer_key,
|
|
82
82
|
observer_key_id,
|
|
83
83
|
};
|
|
84
|
-
const signature = await signer.sign(
|
|
84
|
+
const signature = await signer.sign(canonicalizeForWrite(signable));
|
|
85
85
|
return { ...signable, signature };
|
|
86
86
|
}
|
|
87
87
|
// ══════════════════════════════════════════════════════════════════
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observation.js","sourceRoot":"","sources":["../../../../src/v2/revocation-enforcement/observation.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,8EAA8E;AAC9E,qEAAqE;AACrE,mEAAmE;AACnE,0EAA0E;AAC1E,6EAA6E;AAC7E,6EAA6E;AAC7E,2CAA2C;AAC3C,EAAE;AACF,2EAA2E;AAC3E,6EAA6E;AAC7E,0EAA0E;AAC1E,8EAA8E;AAC9E,6EAA6E;AAC7E,EAAE;AACF,sEAAsE;AACtE,2EAA2E;AAC3E,2EAA2E;AAC3E,yCAAyC;AACzC,4EAA4E;AAC5E,kEAAkE;AAClE,4EAA4E;AAC5E,yEAAyE;AACzE,uEAAuE;AAEvE,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"observation.js","sourceRoot":"","sources":["../../../../src/v2/revocation-enforcement/observation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../src/v2/trust-policy/policy.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAA;AAInB,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,sBAAsB,CAAC,EAAE,aAAa,CAAA;IACtC,gBAAgB,CAAC,EAAE,eAAe,CAAA;CACnC;AAED;sEACsE;AACtE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,yBAAyB,EAChC,oBAAoB,EAAE,MAAM,GAC3B,mBAAmB,CAiBrB;
|
|
1
|
+
{"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../../../src/v2/trust-policy/policy.ts"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACzB,MAAM,YAAY,CAAA;AAInB,MAAM,WAAW,yBAAyB;IACxC,SAAS,EAAE,MAAM,CAAA;IACjB,cAAc,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,aAAa,EAAE,MAAM,CAAA;IACrB,eAAe,EAAE,aAAa,EAAE,CAAA;IAChC,cAAc,CAAC,EAAE,YAAY,EAAE,CAAA;IAC/B,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,sBAAsB,CAAC,EAAE,aAAa,CAAA;IACtC,gBAAgB,CAAC,EAAE,eAAe,CAAA;CACnC;AAED;sEACsE;AACtE,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,yBAAyB,EAChC,oBAAoB,EAAE,MAAM,GAC3B,mBAAmB,CAiBrB;AAiDD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,mBAAmB,EAC7B,gBAAgB,EAAE,MAAM,GACvB,eAAe,CAKjB;AAID,MAAM,WAAW,4BAA4B;IAC3C;0DACsD;IACtD,6BAA6B,EAAE,MAAM,EAAE,CAAA;IACvC,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd;;;;gCAI4B;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED;;6DAE6D;AAC7D,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,eAAe,EACvB,OAAO,EAAE,4BAA4B,GACpC,mBAAmB,CA+BrB"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// freshness window. The one addition over the bundle is an explicit
|
|
11
11
|
// anti-rollback version gate.
|
|
12
12
|
// ══════════════════════════════════════════════════════════════════
|
|
13
|
-
import { canonicalizeJCS } from '../../core/canonical-jcs.js';
|
|
13
|
+
import { canonicalizeJCS, canonicalizeJCSForWrite } from '../../core/canonical-jcs.js';
|
|
14
14
|
import { sign as edSignHex, verify as edVerifyHex } from '../../crypto/keys.js';
|
|
15
15
|
import { TRUST_ROOT_POLICY_SPEC_VERSION, } from './types.js';
|
|
16
16
|
/** Build an unsigned trust-root-policy body. Defaults preserve the
|
|
@@ -33,8 +33,56 @@ export function buildTrustRootPolicy(input, publisher_pubkey_hex) {
|
|
|
33
33
|
publisher_pubkey_hex,
|
|
34
34
|
};
|
|
35
35
|
}
|
|
36
|
+
/** Build the canonicalization preimage for a trust root policy body.
|
|
37
|
+
*
|
|
38
|
+
* A TrustedIssuer element may carry `stale_behavior` as a present-and-undefined
|
|
39
|
+
* member, because buildTrustRootPolicy passes the caller's issuer array through
|
|
40
|
+
* by reference and normalizes only top-level optionals. canonicalizeJCS() used
|
|
41
|
+
* to coerce that to null, so the shipped preimage carries "stale_behavior":null.
|
|
42
|
+
* canonicalizeJCS is strict as of #101, so the value is made explicit here.
|
|
43
|
+
*
|
|
44
|
+
* Key PRESENCE is preserved exactly: only a key that is present AND undefined
|
|
45
|
+
* becomes null. An issuer whose `stale_behavior` key is genuinely absent, which
|
|
46
|
+
* is what every JSON round trip and most callers produce, is left untouched.
|
|
47
|
+
* Converting that one too would ADD "stale_behavior":null and move the bytes.
|
|
48
|
+
*
|
|
49
|
+
* Applied on BOTH the sign side and the verify side. Applying it to one only
|
|
50
|
+
* would make the two preimages disagree and every signature would fail. */
|
|
51
|
+
function policyPreimage(body) {
|
|
52
|
+
// explicit null: keeps the shipped preimage bytes (#101); omission would change signatures
|
|
53
|
+
return nullNormalize(body);
|
|
54
|
+
}
|
|
55
|
+
/** Depth-first rewrite of every present-and-undefined member to an explicit
|
|
56
|
+
* null, returning a copy. Covers every optional a caller can hand us, not just
|
|
57
|
+
* stale_behavior: TrustedIssuer.anchor and .binding_constraints,
|
|
58
|
+
* ResolverRule.failure_policy and .timeout_ms, and RotationRule.superseded are
|
|
59
|
+
* all optional and all reach the canonicalizer through caller-supplied arrays
|
|
60
|
+
* that buildTrustRootPolicy passes by reference.
|
|
61
|
+
*
|
|
62
|
+
* Key presence is preserved exactly: an absent member stays absent, so no byte
|
|
63
|
+
* is added. Only the preimage copy is normalized; the caller's policy object is
|
|
64
|
+
* untouched, which matters because verdict.ts reads sibling members such as
|
|
65
|
+
* pinned_keys[].not_before and not_after and must keep seeing them unchanged. */
|
|
66
|
+
function nullNormalize(value) {
|
|
67
|
+
if (value === undefined)
|
|
68
|
+
return null;
|
|
69
|
+
if (value === null || typeof value !== 'object')
|
|
70
|
+
return value;
|
|
71
|
+
if (value instanceof Date)
|
|
72
|
+
return value;
|
|
73
|
+
if (Array.isArray(value)) {
|
|
74
|
+
return value.map(v => (v === undefined ? null : nullNormalize(v)));
|
|
75
|
+
}
|
|
76
|
+
const src = value;
|
|
77
|
+
const out = {};
|
|
78
|
+
for (const key of Object.keys(src)) {
|
|
79
|
+
const v = src[key];
|
|
80
|
+
out[key] = v === undefined ? null : nullNormalize(v);
|
|
81
|
+
}
|
|
82
|
+
return out;
|
|
83
|
+
}
|
|
36
84
|
export function signTrustRootPolicy(unsigned, publisher_sk_hex) {
|
|
37
|
-
const canonical =
|
|
85
|
+
const canonical = canonicalizeJCSForWrite(policyPreimage(unsigned));
|
|
38
86
|
const sig_hex = edSignHex(canonical, publisher_sk_hex);
|
|
39
87
|
const sig_b64 = Buffer.from(sig_hex, 'hex').toString('base64');
|
|
40
88
|
return { ...unsigned, signature_b64: sig_b64 };
|
|
@@ -54,7 +102,7 @@ export function verifyTrustRootPolicy(policy, options) {
|
|
|
54
102
|
return { ok: false, reason: 'untrusted_publisher' };
|
|
55
103
|
}
|
|
56
104
|
const { signature_b64, ...rest } = policy;
|
|
57
|
-
const canonical = canonicalizeJCS(rest);
|
|
105
|
+
const canonical = canonicalizeJCS(policyPreimage(rest));
|
|
58
106
|
const sig_hex = Buffer.from(signature_b64, 'base64').toString('hex');
|
|
59
107
|
const sigOk = edVerifyHex(canonical, sig_hex, policy.publisher_pubkey_hex);
|
|
60
108
|
if (!sigOk)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/v2/trust-policy/policy.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,iEAAiE;AACjE,qEAAqE;AACrE,sEAAsE;AACtE,uEAAuE;AACvE,gEAAgE;AAChE,sEAAsE;AACtE,oEAAoE;AACpE,8BAA8B;AAC9B,qEAAqE;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"policy.js","sourceRoot":"","sources":["../../../../src/v2/trust-policy/policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../../../src/v2/wallet-binding/bind.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAEV,WAAW,EACX,2BAA2B,EAC3B,WAAW,EACZ,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"bind.d.ts","sourceRoot":"","sources":["../../../../src/v2/wallet-binding/bind.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AAC7D,OAAO,KAAK,EAEV,WAAW,EACX,2BAA2B,EAC3B,WAAW,EACZ,MAAM,YAAY,CAAA;AAiFnB;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE;IAC/B,QAAQ,EAAE,cAAc,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,qBAAqB,CAAC,EAAE,2BAA2B,CAAA;IACnD,qEAAqE;IACrE,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GAAG,cAAc,CA6DjB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,QAAQ,EAAE,cAAc,CAAA;IACxB,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,GAAG;IAAE,QAAQ,EAAE,cAAc,CAAC;IAAC,WAAW,EAAE,WAAW,CAAA;CAAE,CA0DzD;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,cAAc,CAAA;IACxB,KAAK,EAAE,WAAW,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,cAAc,EACxB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,MAAM,GACd,OAAO,CAAA;AACV,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAA;AAkCzE;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAYxF"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// Wallet Binding — bind / unbind / verify functions
|
|
5
5
|
// ══════════════════════════════════════════════════════════════════
|
|
6
6
|
import { sign, verify } from '../../crypto/keys.js';
|
|
7
|
-
import { canonicalize } from '../../core/canonical.js';
|
|
7
|
+
import { canonicalize, canonicalizeForWrite } from '../../core/canonical.js';
|
|
8
8
|
/**
|
|
9
9
|
* Build the canonical payload that the passport private key signs to
|
|
10
10
|
* attest a binding. Verifiers reconstruct this exact payload to check
|
|
@@ -23,16 +23,28 @@ function validateSolanaAddress(address) {
|
|
|
23
23
|
throw new Error('bindWallet: invalid Solana address — not valid base58 (0, O, I, l forbidden)');
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
|
-
function
|
|
27
|
-
return
|
|
26
|
+
function bindingPayloadImpl(opts, canon) {
|
|
27
|
+
return canon({
|
|
28
28
|
passport_id: opts.passport_id,
|
|
29
29
|
chain: opts.chain,
|
|
30
30
|
address: opts.address,
|
|
31
31
|
bound_at: opts.bound_at,
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
function
|
|
35
|
-
return canonicalize
|
|
34
|
+
function bindingPayload(opts) {
|
|
35
|
+
return bindingPayloadImpl(opts, canonicalize);
|
|
36
|
+
}
|
|
37
|
+
/** Write-boundary twin of bindingPayload().
|
|
38
|
+
*
|
|
39
|
+
* bindWallet() signs this payload and verifyBoundWallet() rebuilds it, so the helper is
|
|
40
|
+
* shared and cannot be guarded in place. Every member is currently a string, so the rule
|
|
41
|
+
* cannot fire through this preimage today; the twin exists so a future numeric member is
|
|
42
|
+
* covered by construction rather than by remembering. */
|
|
43
|
+
function bindingPayloadForWrite(opts) {
|
|
44
|
+
return bindingPayloadImpl(opts, canonicalizeForWrite);
|
|
45
|
+
}
|
|
46
|
+
function unbindPayloadImpl(opts, canon) {
|
|
47
|
+
return canon({
|
|
36
48
|
passport_id: opts.passport_id,
|
|
37
49
|
chain: opts.chain,
|
|
38
50
|
address: opts.address,
|
|
@@ -40,6 +52,14 @@ function unbindPayload(opts) {
|
|
|
40
52
|
event: 'unbind',
|
|
41
53
|
});
|
|
42
54
|
}
|
|
55
|
+
function unbindPayload(opts) {
|
|
56
|
+
return unbindPayloadImpl(opts, canonicalize);
|
|
57
|
+
}
|
|
58
|
+
/** Write-boundary twin of unbindPayload(). See bindingPayloadForWrite() for why this is
|
|
59
|
+
* a split rather than a guard: unbindWallet() signs and verifyUnbindEvent() rebuilds. */
|
|
60
|
+
function unbindPayloadForWrite(opts) {
|
|
61
|
+
return unbindPayloadImpl(opts, canonicalizeForWrite);
|
|
62
|
+
}
|
|
43
63
|
/**
|
|
44
64
|
* Bind an external wallet to a passport. Produces a new SignedPassport with
|
|
45
65
|
* the BoundWallet appended to bound_wallets and the entire passport re-signed
|
|
@@ -60,7 +80,7 @@ export function bindWallet(opts) {
|
|
|
60
80
|
validateSolanaAddress(opts.address);
|
|
61
81
|
}
|
|
62
82
|
const bound_at = opts.boundAt ?? new Date().toISOString();
|
|
63
|
-
const payload =
|
|
83
|
+
const payload = bindingPayloadForWrite({
|
|
64
84
|
passport_id: opts.passport.passport.agentId,
|
|
65
85
|
chain: opts.chain,
|
|
66
86
|
address: opts.address,
|
|
@@ -94,7 +114,7 @@ export function bindWallet(opts) {
|
|
|
94
114
|
// Re-sign the entire passport so verifyPassport() still passes for the new
|
|
95
115
|
// shape. The binding_signature alone is enough to prove the binding to an
|
|
96
116
|
// external verifier; the re-sign keeps the passport itself self-consistent.
|
|
97
|
-
const passportSignature = sign(
|
|
117
|
+
const passportSignature = sign(canonicalizeForWrite(updatedPassport), opts.privateKey);
|
|
98
118
|
return {
|
|
99
119
|
...opts.passport,
|
|
100
120
|
passport: updatedPassport,
|
|
@@ -117,7 +137,7 @@ export function unbindWallet(opts) {
|
|
|
117
137
|
throw new Error(`unbindWallet: no bound wallet matches chain="${opts.chain}" address="${opts.address}"`);
|
|
118
138
|
}
|
|
119
139
|
const unbound_at = opts.unboundAt ?? new Date().toISOString();
|
|
120
|
-
const payload =
|
|
140
|
+
const payload = unbindPayloadForWrite({
|
|
121
141
|
passport_id: opts.passport.passport.agentId,
|
|
122
142
|
chain: opts.chain,
|
|
123
143
|
address: opts.address,
|
|
@@ -139,7 +159,7 @@ export function unbindWallet(opts) {
|
|
|
139
159
|
...opts.passport.passport,
|
|
140
160
|
bound_wallets: updatedWallets,
|
|
141
161
|
};
|
|
142
|
-
const passportSignature = sign(
|
|
162
|
+
const passportSignature = sign(canonicalizeForWrite(updatedPassport), opts.privateKey);
|
|
143
163
|
const unbindEvent = {
|
|
144
164
|
passport_id: opts.passport.passport.agentId,
|
|
145
165
|
chain: opts.chain,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bind.js","sourceRoot":"","sources":["../../../../src/v2/wallet-binding/bind.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,oDAAoD;AACpD,qEAAqE;AAErE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"bind.js","sourceRoot":"","sources":["../../../../src/v2/wallet-binding/bind.ts"],"names":[],"mappings":"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"}
|