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
|
@@ -28,9 +28,9 @@
|
|
|
28
28
|
// their `total_pooled_weight` sums across the period (I-C6).
|
|
29
29
|
// ══════════════════════════════════════════════════════════════════
|
|
30
30
|
import { createHash } from 'node:crypto';
|
|
31
|
-
import { canonicalize } from '../../core/canonical.js';
|
|
31
|
+
import { canonicalize, canonicalizeForWrite } from '../../core/canonical.js';
|
|
32
32
|
import { assertCanonicalTimestamp, } from '../attribution-primitive/canonical.js';
|
|
33
|
-
import { buildMerkleRoot, emptyAxisMerkleRoot,
|
|
33
|
+
import { buildMerkleRoot, emptyAxisMerkleRoot, leafHashForWrite } from './merkle.js';
|
|
34
34
|
function isResidual(x) {
|
|
35
35
|
return (typeof x === 'object' &&
|
|
36
36
|
x !== null &&
|
|
@@ -62,6 +62,16 @@ export function contributorLeafHashHex(c) {
|
|
|
62
62
|
export function residualLeafHashHex(r) {
|
|
63
63
|
return createHash('sha256').update(canonicalize(r)).digest('hex');
|
|
64
64
|
}
|
|
65
|
+
/** Write-boundary twin of residualLeafHashHex().
|
|
66
|
+
*
|
|
67
|
+
* Emits the same bytes as residualLeafHashHex() for every value it accepts. The only difference
|
|
68
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
69
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
70
|
+
* residualLeafHashHex() stays unrestricted so an artifact signed before this rule keeps
|
|
71
|
+
* verifying. */
|
|
72
|
+
export function residualLeafHashHexForWrite(r) {
|
|
73
|
+
return createHash('sha256').update(canonicalizeForWrite(r)).digest('hex');
|
|
74
|
+
}
|
|
65
75
|
function emptyAccum() {
|
|
66
76
|
return {
|
|
67
77
|
map: new Map(),
|
|
@@ -180,7 +190,7 @@ function finalizeAxis(axis, accum, period) {
|
|
|
180
190
|
contribution_count: count,
|
|
181
191
|
};
|
|
182
192
|
const merkle_leaf_hash = createHash('sha256')
|
|
183
|
-
.update(
|
|
193
|
+
.update(canonicalizeForWrite(leafBody))
|
|
184
194
|
.digest('hex');
|
|
185
195
|
return {
|
|
186
196
|
contributor_did: did,
|
|
@@ -196,7 +206,7 @@ function finalizeAxis(axis, accum, period) {
|
|
|
196
206
|
}
|
|
197
207
|
const sortedPerReceiptHashes = [...accum.perReceiptResidualHashes].sort();
|
|
198
208
|
const pooled_contributors_hash = createHash('sha256')
|
|
199
|
-
.update(
|
|
209
|
+
.update(canonicalizeForWrite(sortedPerReceiptHashes))
|
|
200
210
|
.digest('hex');
|
|
201
211
|
const residual_id = `residual:${axis}`;
|
|
202
212
|
residual_bucket = {
|
|
@@ -208,7 +218,7 @@ function finalizeAxis(axis, accum, period) {
|
|
|
208
218
|
}
|
|
209
219
|
const leafHashes = contributors.map((c) => Buffer.from(c.merkle_leaf_hash, 'hex'));
|
|
210
220
|
if (residual_bucket) {
|
|
211
|
-
leafHashes.push(Buffer.from(
|
|
221
|
+
leafHashes.push(Buffer.from(residualLeafHashHexForWrite(residual_bucket), 'hex'));
|
|
212
222
|
}
|
|
213
223
|
const axis_merkle_root = leafHashes.length === 0 ? emptyAxisMerkleRoot() : buildMerkleRoot(leafHashes).toString('hex');
|
|
214
224
|
return {
|
|
@@ -288,7 +298,7 @@ export function aggregateAttributionPrimitives(receipts, period, options) {
|
|
|
288
298
|
C: finalizeAxis('C', accums.C, clonePeriod()),
|
|
289
299
|
};
|
|
290
300
|
const sortedActionRefs = inPeriod.map((r) => r.action_ref).sort();
|
|
291
|
-
const actionRefLeaves = sortedActionRefs.map((ref) =>
|
|
301
|
+
const actionRefLeaves = sortedActionRefs.map((ref) => leafHashForWrite(ref));
|
|
292
302
|
const input_receipts_hash = actionRefLeaves.length === 0
|
|
293
303
|
? emptyAxisMerkleRoot()
|
|
294
304
|
: buildMerkleRoot(actionRefLeaves).toString('hex');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/aggregate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aggregate.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/aggregate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
/** sha256(canonicalize(obj)) as raw 32 bytes. */
|
|
2
2
|
export declare function leafHash(obj: unknown): Buffer;
|
|
3
|
+
/** Write-boundary twin of leafHash().
|
|
4
|
+
*
|
|
5
|
+
* Emits the same bytes as leafHash() for every value it accepts. The only difference
|
|
6
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
7
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
8
|
+
* leafHash() stays unrestricted so an artifact signed before this rule keeps
|
|
9
|
+
* verifying. */
|
|
10
|
+
export declare function leafHashForWrite(obj: unknown): Buffer;
|
|
3
11
|
/** Build a balanced binary Merkle tree over arbitrary leaf hashes and
|
|
4
12
|
* return the root as raw bytes. Leaves and internal nodes are domain-
|
|
5
13
|
* separated; an odd trailing node is promoted unchanged (never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/merkle.ts"],"names":[],"mappings":"AA6CA,iDAAiD;AACjD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE7C;AAED;;;;;0CAK0C;AAC1C,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAiBxD;AAED;;;;oDAIoD;AACpD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE,CAgCV;AAED;;+BAE+B;AAC/B,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,eAAe,EAAE,MAAM,GACtB,OAAO,CAkBT;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
|
|
1
|
+
{"version":3,"file":"merkle.d.ts","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/merkle.ts"],"names":[],"mappings":"AA6CA,iDAAiD;AACjD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAE7C;AACD;;;;;;iBAMiB;AACjB,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;;;;0CAK0C;AAC1C,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAiBxD;AAED;;;;oDAIoD;AACpD,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,MAAM,EAAE,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,EAAE,CAgCV;AAED;;+BAE+B;AAC/B,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EAAE,EACd,eAAe,EAAE,MAAM,GACtB,OAAO,CAkBT;AAED,gEAAgE;AAChE,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C"}
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
// axis_merkle_root — handled by the caller.
|
|
23
23
|
// ══════════════════════════════════════════════════════════════════
|
|
24
24
|
import { createHash } from 'node:crypto';
|
|
25
|
-
import { canonicalize } from '../../core/canonical.js';
|
|
25
|
+
import { canonicalize, canonicalizeForWrite } from '../../core/canonical.js';
|
|
26
26
|
const LEAF_TAG = Buffer.from([0x00]);
|
|
27
27
|
const NODE_TAG = Buffer.from([0x01]);
|
|
28
28
|
/** Path token marking a level where the target was the lone odd node and
|
|
@@ -41,6 +41,16 @@ function hashInternalNode(left, right) {
|
|
|
41
41
|
export function leafHash(obj) {
|
|
42
42
|
return createHash('sha256').update(canonicalize(obj)).digest();
|
|
43
43
|
}
|
|
44
|
+
/** Write-boundary twin of leafHash().
|
|
45
|
+
*
|
|
46
|
+
* Emits the same bytes as leafHash() for every value it accepts. The only difference
|
|
47
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
48
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
49
|
+
* leafHash() stays unrestricted so an artifact signed before this rule keeps
|
|
50
|
+
* verifying. */
|
|
51
|
+
export function leafHashForWrite(obj) {
|
|
52
|
+
return createHash('sha256').update(canonicalizeForWrite(obj)).digest();
|
|
53
|
+
}
|
|
44
54
|
/** Build a balanced binary Merkle tree over arbitrary leaf hashes and
|
|
45
55
|
* return the root as raw bytes. Leaves and internal nodes are domain-
|
|
46
56
|
* separated; an odd trailing node is promoted unchanged (never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merkle.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/merkle.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,qEAAqE;AACrE,sEAAsE;AACtE,oBAAoB;AACpB,EAAE;AACF,kEAAkE;AAClE,wEAAwE;AACxE,uEAAuE;AACvE,iEAAiE;AACjE,yEAAyE;AACzE,mEAAmE;AACnE,uEAAuE;AACvE,kEAAkE;AAClE,kDAAkD;AAClD,uCAAuC;AACvC,EAAE;AACF,wEAAwE;AACxE,4CAA4C;AAC5C,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"merkle.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/merkle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import type { SettlementRecord } from './types.js';
|
|
2
|
-
/** Produce the canonical byte string a verifier signs/recomputes. The
|
|
3
|
-
* `signature` field is omitted (the canonicalizer already drops
|
|
4
|
-
* undefined keys, but we strip explicitly for clarity across ports). */
|
|
5
2
|
export declare function settlementSigningPayload(record: Omit<SettlementRecord, 'signature'>): string;
|
|
3
|
+
/** Write-boundary twin of settlementSigningPayload().
|
|
4
|
+
*
|
|
5
|
+
* Shares one implementation body with settlementSigningPayload() so the two can never drift apart
|
|
6
|
+
* on the field list. Emits the same bytes for every value it accepts; the only
|
|
7
|
+
* difference is that an integer-valued number outside the interoperable IEEE 754
|
|
8
|
+
* range is refused instead of serialized. Use at signing and new-write boundaries
|
|
9
|
+
* ONLY: settlementSigningPayload() stays unrestricted so an artifact signed before this rule keeps
|
|
10
|
+
* verifying. */
|
|
11
|
+
export declare function settlementSigningPayloadForWrite(record: Omit<SettlementRecord, 'signature'>): string;
|
|
6
12
|
/** Canonical settlement_record_hash — hex sha256 of the signing payload.
|
|
7
13
|
* Stable across Python/TS so verifiers can short-circuit signature
|
|
8
14
|
* checks to a single 32-byte commitment. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/sign.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"sign.d.ts","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/sign.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAiBlD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAC1C,MAAM,CAER;AAED;;;;;;;iBAOiB;AACjB,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAC1C,MAAM,CAER;AAED;;6CAE6C;AAC7C,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,GAC1C,MAAM,CAER;AAED;4EAC4E;AAC5E,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC,EAC3C,oBAAoB,EAAE,MAAM,GAC3B,MAAM,CAKR;AAED;yEACyE;AACzE,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,EAAE,MAAM,GAC1B,OAAO,CAcT"}
|
|
@@ -10,18 +10,32 @@
|
|
|
10
10
|
// exact bytes so TS-signed records verify in Python and vice versa.
|
|
11
11
|
// ══════════════════════════════════════════════════════════════════
|
|
12
12
|
import { createHash } from 'node:crypto';
|
|
13
|
-
import { canonicalize } from '../../core/canonical.js';
|
|
13
|
+
import { canonicalize, canonicalizeForWrite } from '../../core/canonical.js';
|
|
14
14
|
import { sign as ed25519Sign, verify as ed25519Verify } from '../../crypto/keys.js';
|
|
15
15
|
/** Produce the canonical byte string a verifier signs/recomputes. The
|
|
16
16
|
* `signature` field is omitted (the canonicalizer already drops
|
|
17
17
|
* undefined keys, but we strip explicitly for clarity across ports). */
|
|
18
|
-
|
|
18
|
+
function settlementSigningPayloadImpl(record, canon) {
|
|
19
19
|
const { ...body } = record;
|
|
20
20
|
// Ensure no `signature` bleeds through if the caller hands us a full
|
|
21
21
|
// record and asks for the body. Canonicalize is stable under key
|
|
22
22
|
// removal, so the order of removal doesn't matter.
|
|
23
23
|
delete body.signature;
|
|
24
|
-
return
|
|
24
|
+
return canon(body);
|
|
25
|
+
}
|
|
26
|
+
export function settlementSigningPayload(record) {
|
|
27
|
+
return settlementSigningPayloadImpl(record, canonicalize);
|
|
28
|
+
}
|
|
29
|
+
/** Write-boundary twin of settlementSigningPayload().
|
|
30
|
+
*
|
|
31
|
+
* Shares one implementation body with settlementSigningPayload() so the two can never drift apart
|
|
32
|
+
* on the field list. Emits the same bytes for every value it accepts; the only
|
|
33
|
+
* difference is that an integer-valued number outside the interoperable IEEE 754
|
|
34
|
+
* range is refused instead of serialized. Use at signing and new-write boundaries
|
|
35
|
+
* ONLY: settlementSigningPayload() stays unrestricted so an artifact signed before this rule keeps
|
|
36
|
+
* verifying. */
|
|
37
|
+
export function settlementSigningPayloadForWrite(record) {
|
|
38
|
+
return settlementSigningPayloadImpl(record, canonicalizeForWrite);
|
|
25
39
|
}
|
|
26
40
|
/** Canonical settlement_record_hash — hex sha256 of the signing payload.
|
|
27
41
|
* Stable across Python/TS so verifiers can short-circuit signature
|
|
@@ -35,7 +49,7 @@ export function signSettlementRecord(record, gatewayPrivateKeyHex) {
|
|
|
35
49
|
if (!gatewayPrivateKeyHex || typeof gatewayPrivateKeyHex !== 'string') {
|
|
36
50
|
throw new Error('attribution-settlement: gatewayPrivateKeyHex required');
|
|
37
51
|
}
|
|
38
|
-
return ed25519Sign(
|
|
52
|
+
return ed25519Sign(settlementSigningPayloadForWrite(record), gatewayPrivateKeyHex);
|
|
39
53
|
}
|
|
40
54
|
/** Verify just the Ed25519 signature on a settlement record. Returns a
|
|
41
55
|
* boolean; for full S1–S5 verification use `verifySettlementRecord`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/sign.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,6CAA6C;AAC7C,qEAAqE;AACrE,qEAAqE;AACrE,kEAAkE;AAClE,yDAAyD;AACzD,oEAAoE;AACpE,oEAAoE;AACpE,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"sign.js","sourceRoot":"","sources":["../../../../src/v2/attribution-settlement/sign.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,6CAA6C;AAC7C,qEAAqE;AACrE,qEAAqE;AACrE,kEAAkE;AAClE,yDAAyD;AACzD,oEAAoE;AACpE,oEAAoE;AACpE,qEAAqE;AAErE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,IAAI,IAAI,WAAW,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAGnF;;yEAEyE;AACzE,SAAS,4BAA4B,CACnC,MAA2C,EAC3C,KAA6B;IAE7B,MAAM,EAAE,GAAG,IAAI,EAAE,GAAG,MAAiC,CAAA;IACrD,qEAAqE;IACrE,iEAAiE;IACjE,mDAAmD;IACnD,OAAO,IAAI,CAAC,SAAS,CAAA;IACrB,OAAO,KAAK,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAA2C;IAE3C,OAAO,4BAA4B,CAAC,MAAM,EAAE,YAAY,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;;;iBAOiB;AACjB,MAAM,UAAU,gCAAgC,CAC9C,MAA2C;IAE3C,OAAO,4BAA4B,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;AACnE,CAAC;AAED;;6CAE6C;AAC7C,MAAM,UAAU,oBAAoB,CAClC,MAA2C;IAE3C,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACpF,CAAC;AAED;4EAC4E;AAC5E,MAAM,UAAU,oBAAoB,CAClC,MAA2C,EAC3C,oBAA4B;IAE5B,IAAI,CAAC,oBAAoB,IAAI,OAAO,oBAAoB,KAAK,QAAQ,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAA;IAC1E,CAAC;IACD,OAAO,WAAW,CAAC,gCAAgC,CAAC,MAAM,CAAC,EAAE,oBAAoB,CAAC,CAAA;AACpF,CAAC;AAED;yEACyE;AACzE,MAAM,UAAU,yBAAyB,CACvC,MAAwB,EACxB,mBAA2B;IAE3B,IAAI,CAAC,mBAAmB;QAAE,OAAO,KAAK,CAAA;IACtC,IAAI,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IACvF,IAAI,CAAC;QACH,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QACrC,KAAK,SAAS,CAAA;QACd,OAAO,aAAa,CAClB,wBAAwB,CAAC,IAA2C,CAAC,EACrE,MAAM,CAAC,SAAS,EAChB,mBAAmB,CACpB,CAAA;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC"}
|
|
@@ -3,7 +3,21 @@ export declare const AUTHORITY_DELEGATION_ID_DOMAIN = "APS-AUTHORITY-DELEGATION-
|
|
|
3
3
|
export declare const AUTHORITY_DELEGATION_SIGNATURE_DOMAIN = "APS-AUTHORITY-DELEGATION-SIGNATURE-V1\0";
|
|
4
4
|
/** Exact RFC 8785 input used to derive delegation_id. */
|
|
5
5
|
export declare function authorityDelegationIdInput(body: AuthorityDelegationBodyV1): string;
|
|
6
|
+
/** Write-boundary twin of authorityDelegationIdInput().
|
|
7
|
+
*
|
|
8
|
+
* Emits the same bytes as authorityDelegationIdInput() for every value it accepts. The only difference
|
|
9
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
10
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
11
|
+
* authorityDelegationIdInput() stays unrestricted so an artifact signed before this rule keeps
|
|
12
|
+
* verifying. */
|
|
13
|
+
export declare function authorityDelegationIdInputForWrite(body: AuthorityDelegationBodyV1): string;
|
|
6
14
|
export declare function computeAuthorityDelegationId(body: AuthorityDelegationBodyV1): string;
|
|
15
|
+
/** Write-boundary twin of computeAuthorityDelegationId().
|
|
16
|
+
*
|
|
17
|
+
* Reaches a canonicalizer only indirectly, through authorityDelegationIdInput. Use when
|
|
18
|
+
* ISSUING a delegation; verify.ts and the budget ledger keep calling the unrestricted
|
|
19
|
+
* form so a delegation issued before this rule still re-derives its id. */
|
|
20
|
+
export declare function computeAuthorityDelegationIdForWrite(body: AuthorityDelegationBodyV1): string;
|
|
7
21
|
/** Exact Ed25519 input: domain plus JCS(record without signature). */
|
|
8
22
|
export declare function authorityDelegationSignatureInput(delegation: Omit<AuthorityDelegationV1, 'signature'>): string;
|
|
9
23
|
export declare function signAuthorityDelegation(delegation: Omit<AuthorityDelegationV1, 'signature'>, privateKey: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/canonical.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAElF,eAAO,MAAM,8BAA8B,qCAAqC,CAAA;AAChF,eAAO,MAAM,qCAAqC,4CAA4C,CAAA;AAM9F,yDAAyD;AACzD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAElF;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAEpF;AAED,sEAAsE;AACtE,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GACnD,MAAM,CAER;
|
|
1
|
+
{"version":3,"file":"canonical.d.ts","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/canonical.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,yBAAyB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAElF,eAAO,MAAM,8BAA8B,qCAAqC,CAAA;AAChF,eAAO,MAAM,qCAAqC,4CAA4C,CAAA;AAM9F,yDAAyD;AACzD,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAElF;AACD;;;;;;iBAMiB;AACjB,wBAAgB,kCAAkC,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAE1F;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAEpF;AAED;;;;4EAI4E;AAC5E,wBAAgB,oCAAoC,CAAC,IAAI,EAAE,yBAAyB,GAAG,MAAM,CAE5F;AAED,sEAAsE;AACtE,wBAAgB,iCAAiC,CAC/C,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,GACnD,MAAM,CAER;AAaD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC,EACpD,UAAU,EAAE,MAAM,GACjB,MAAM,CAER;AAED,wBAAgB,kCAAkC,CAChD,UAAU,EAAE,qBAAqB,EACjC,SAAS,EAAE,MAAM,GAChB,OAAO,CAGT;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,qBAAqB,GAChC,yBAAyB,CAG3B"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) 2026 Tymofii Pidlisnyi
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
3
|
import { createHash } from 'node:crypto';
|
|
4
|
-
import { canonicalizeJCS } from '../../core/canonical-jcs.js';
|
|
4
|
+
import { canonicalizeJCS, canonicalizeJCSForWrite } from '../../core/canonical-jcs.js';
|
|
5
5
|
import { sign, verify } from '../../crypto/keys.js';
|
|
6
6
|
export const AUTHORITY_DELEGATION_ID_DOMAIN = 'APS-AUTHORITY-DELEGATION-ID-V1\0';
|
|
7
7
|
export const AUTHORITY_DELEGATION_SIGNATURE_DOMAIN = 'APS-AUTHORITY-DELEGATION-SIGNATURE-V1\0';
|
|
@@ -12,15 +12,41 @@ function sha256Hex(value) {
|
|
|
12
12
|
export function authorityDelegationIdInput(body) {
|
|
13
13
|
return AUTHORITY_DELEGATION_ID_DOMAIN + canonicalizeJCS(body);
|
|
14
14
|
}
|
|
15
|
+
/** Write-boundary twin of authorityDelegationIdInput().
|
|
16
|
+
*
|
|
17
|
+
* Emits the same bytes as authorityDelegationIdInput() for every value it accepts. The only difference
|
|
18
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
19
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
20
|
+
* authorityDelegationIdInput() stays unrestricted so an artifact signed before this rule keeps
|
|
21
|
+
* verifying. */
|
|
22
|
+
export function authorityDelegationIdInputForWrite(body) {
|
|
23
|
+
return AUTHORITY_DELEGATION_ID_DOMAIN + canonicalizeJCSForWrite(body);
|
|
24
|
+
}
|
|
15
25
|
export function computeAuthorityDelegationId(body) {
|
|
16
26
|
return `sha256:${sha256Hex(authorityDelegationIdInput(body))}`;
|
|
17
27
|
}
|
|
28
|
+
/** Write-boundary twin of computeAuthorityDelegationId().
|
|
29
|
+
*
|
|
30
|
+
* Reaches a canonicalizer only indirectly, through authorityDelegationIdInput. Use when
|
|
31
|
+
* ISSUING a delegation; verify.ts and the budget ledger keep calling the unrestricted
|
|
32
|
+
* form so a delegation issued before this rule still re-derives its id. */
|
|
33
|
+
export function computeAuthorityDelegationIdForWrite(body) {
|
|
34
|
+
return `sha256:${sha256Hex(authorityDelegationIdInputForWrite(body))}`;
|
|
35
|
+
}
|
|
18
36
|
/** Exact Ed25519 input: domain plus JCS(record without signature). */
|
|
19
37
|
export function authorityDelegationSignatureInput(delegation) {
|
|
20
38
|
return AUTHORITY_DELEGATION_SIGNATURE_DOMAIN + canonicalizeJCS(delegation);
|
|
21
39
|
}
|
|
40
|
+
/** Write-boundary twin of authorityDelegationSignatureInput().
|
|
41
|
+
*
|
|
42
|
+
* signAuthorityDelegation() mints a signature over this string while
|
|
43
|
+
* verifyAuthorityDelegationSignature() rebuilds the identical string to check an
|
|
44
|
+
* existing one, so the helper is shared and cannot be guarded in place. */
|
|
45
|
+
function authorityDelegationSignatureInputForWrite(delegation) {
|
|
46
|
+
return AUTHORITY_DELEGATION_SIGNATURE_DOMAIN + canonicalizeJCSForWrite(delegation);
|
|
47
|
+
}
|
|
22
48
|
export function signAuthorityDelegation(delegation, privateKey) {
|
|
23
|
-
return sign(
|
|
49
|
+
return sign(authorityDelegationSignatureInputForWrite(delegation), privateKey);
|
|
24
50
|
}
|
|
25
51
|
export function verifyAuthorityDelegationSignature(delegation, publicKey) {
|
|
26
52
|
const { signature, ...unsigned } = delegation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/canonical.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"canonical.js","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/canonical.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACtF,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAGnD,MAAM,CAAC,MAAM,8BAA8B,GAAG,kCAAkC,CAAA;AAChF,MAAM,CAAC,MAAM,qCAAqC,GAAG,yCAAyC,CAAA;AAE9F,SAAS,SAAS,CAAC,KAAa;IAC9B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;AACjE,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,0BAA0B,CAAC,IAA+B;IACxE,OAAO,8BAA8B,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;AAC/D,CAAC;AACD;;;;;;iBAMiB;AACjB,MAAM,UAAU,kCAAkC,CAAC,IAA+B;IAChF,OAAO,8BAA8B,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAA;AACvE,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAA+B;IAC1E,OAAO,UAAU,SAAS,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;AAChE,CAAC;AAED;;;;4EAI4E;AAC5E,MAAM,UAAU,oCAAoC,CAAC,IAA+B;IAClF,OAAO,UAAU,SAAS,CAAC,kCAAkC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAA;AACxE,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,iCAAiC,CAC/C,UAAoD;IAEpD,OAAO,qCAAqC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;AAC5E,CAAC;AAED;;;;4EAI4E;AAC5E,SAAS,yCAAyC,CAChD,UAAoD;IAEpD,OAAO,qCAAqC,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAA;AACpF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAoD,EACpD,UAAkB;IAElB,OAAO,IAAI,CAAC,yCAAyC,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAA;AAChF,CAAC;AAED,MAAM,UAAU,kCAAkC,CAChD,UAAiC,EACjC,SAAiB;IAEjB,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,GAAG,UAAU,CAAA;IAC7C,OAAO,MAAM,CAAC,iCAAiC,CAAC,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;AAClF,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAAiC;IAEjC,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,EAAE,GAAG,UAAU,CAAA;IACnF,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) 2026 Tymofii Pidlisnyi
|
|
2
2
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
import {
|
|
3
|
+
import { computeAuthorityDelegationIdForWrite, signAuthorityDelegation, } from './canonical.js';
|
|
4
4
|
import { compareAuthority } from './compare.js';
|
|
5
5
|
import { validateAuthorityDelegationShape } from './schema.js';
|
|
6
6
|
function assertBody(body) {
|
|
@@ -17,7 +17,7 @@ function assertBody(body) {
|
|
|
17
17
|
/** Create a deterministic v1 record from explicit body fields and an Ed25519 key. */
|
|
18
18
|
export function issueAuthorityDelegation(body, privateKey) {
|
|
19
19
|
assertBody(body);
|
|
20
|
-
const delegation_id =
|
|
20
|
+
const delegation_id = computeAuthorityDelegationIdForWrite(body);
|
|
21
21
|
const unsigned = { ...body, delegation_id };
|
|
22
22
|
return { ...unsigned, signature: signAuthorityDelegation(unsigned, privateKey) };
|
|
23
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/issue.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AAEtC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"issue.js","sourceRoot":"","sources":["../../../../src/v2/authority-delegation/issue.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,14 @@ import type { BehavioralDriftWindowEnvelope, UnsignedBehavioralDriftWindowEnvelo
|
|
|
6
6
|
* envelope from a partial shape.
|
|
7
7
|
*/
|
|
8
8
|
export declare function canonicalizeForSignature(envelope: UnsignedBehavioralDriftWindowEnvelope | BehavioralDriftWindowEnvelope): string;
|
|
9
|
+
/** Write-boundary twin of canonicalizeForSignature().
|
|
10
|
+
*
|
|
11
|
+
* Emits the same bytes as canonicalizeForSignature() for every value it accepts. The only difference
|
|
12
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
13
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
14
|
+
* canonicalizeForSignature() stays unrestricted so an artifact signed before this rule keeps
|
|
15
|
+
* verifying. */
|
|
16
|
+
export declare function canonicalizeForSignatureForWrite(envelope: UnsignedBehavioralDriftWindowEnvelope | BehavioralDriftWindowEnvelope): string;
|
|
9
17
|
/**
|
|
10
18
|
* Sign an unsigned envelope with the observer's Ed25519 private key
|
|
11
19
|
* (hex). Derives the public key from the private key and writes it into
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../../src/v2/behavioral_drift_window/envelope.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,6BAA6B,EAC7B,qCAAqC,EACtC,MAAM,YAAY,CAAA;AAEnB;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,qCAAqC,GAAG,6BAA6B,GAC9E,MAAM,CAGR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,qCAAqC,GAC9C,6BAA6B,CAM/B"}
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../../src/v2/behavioral_drift_window/envelope.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EACV,6BAA6B,EAC7B,qCAAqC,EACtC,MAAM,YAAY,CAAA;AAEnB;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,qCAAqC,GAAG,6BAA6B,GAC9E,MAAM,CAGR;AAED;;;;;;iBAMiB;AACjB,wBAAgB,gCAAgC,CAC9C,QAAQ,EAAE,qCAAqC,GAAG,6BAA6B,GAC9E,MAAM,CAGR;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,aAAa,EAAE,MAAM,EACrB,QAAQ,EAAE,qCAAqC,GAC9C,6BAA6B,CAM/B"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
// from a key-verification standpoint; the verifier checks the signature
|
|
15
15
|
// against observer_id. For self-attestation the two coincide.
|
|
16
16
|
// ══════════════════════════════════════════════════════════════════
|
|
17
|
-
import { canonicalizeJCS } from '../../core/canonical-jcs.js';
|
|
17
|
+
import { canonicalizeJCS, canonicalizeJCSForWrite } from '../../core/canonical-jcs.js';
|
|
18
18
|
import { sign, publicKeyFromPrivate } from '../../crypto/keys.js';
|
|
19
19
|
/**
|
|
20
20
|
* Canonicalize an envelope for signing. The signature field is set to the
|
|
@@ -26,6 +26,17 @@ export function canonicalizeForSignature(envelope) {
|
|
|
26
26
|
const draft = { ...envelope, signature: '' };
|
|
27
27
|
return canonicalizeJCS(draft);
|
|
28
28
|
}
|
|
29
|
+
/** Write-boundary twin of canonicalizeForSignature().
|
|
30
|
+
*
|
|
31
|
+
* Emits the same bytes as canonicalizeForSignature() for every value it accepts. The only difference
|
|
32
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
33
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
34
|
+
* canonicalizeForSignature() stays unrestricted so an artifact signed before this rule keeps
|
|
35
|
+
* verifying. */
|
|
36
|
+
export function canonicalizeForSignatureForWrite(envelope) {
|
|
37
|
+
const draft = { ...envelope, signature: '' };
|
|
38
|
+
return canonicalizeJCSForWrite(draft);
|
|
39
|
+
}
|
|
29
40
|
/**
|
|
30
41
|
* Sign an unsigned envelope with the observer's Ed25519 private key
|
|
31
42
|
* (hex). Derives the public key from the private key and writes it into
|
|
@@ -43,7 +54,7 @@ export function canonicalizeForSignature(envelope) {
|
|
|
43
54
|
export function signBehavioralDriftWindow(privateKeyHex, unsigned) {
|
|
44
55
|
const observer_id = publicKeyFromPrivate(privateKeyHex);
|
|
45
56
|
const withDerivedKey = { ...unsigned, observer_id };
|
|
46
|
-
const bytes =
|
|
57
|
+
const bytes = canonicalizeForSignatureForWrite(withDerivedKey);
|
|
47
58
|
const signature = sign(bytes, privateKeyHex);
|
|
48
59
|
return { ...withDerivedKey, signature };
|
|
49
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../../src/v2/behavioral_drift_window/envelope.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,+DAA+D;AAC/D,qEAAqE;AACrE,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,sEAAsE;AACtE,aAAa;AACb,EAAE;AACF,oEAAoE;AACpE,uEAAuE;AACvE,wEAAwE;AACxE,8DAA8D;AAC9D,qEAAqE;AAErE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"envelope.js","sourceRoot":"","sources":["../../../../src/v2/behavioral_drift_window/envelope.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC,qEAAqE;AACrE,+DAA+D;AAC/D,qEAAqE;AACrE,wEAAwE;AACxE,sEAAsE;AACtE,wEAAwE;AACxE,sEAAsE;AACtE,aAAa;AACb,EAAE;AACF,oEAAoE;AACpE,uEAAuE;AACvE,wEAAwE;AACxE,8DAA8D;AAC9D,qEAAqE;AAErE,OAAO,EAAE,eAAe,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAA;AACtF,OAAO,EAAE,IAAI,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAOjE;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAA+E;IAE/E,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;IAC5C,OAAO,eAAe,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC;AAED;;;;;;iBAMiB;AACjB,MAAM,UAAU,gCAAgC,CAC9C,QAA+E;IAE/E,MAAM,KAAK,GAAG,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE,CAAA;IAC5C,OAAO,uBAAuB,CAAC,KAAK,CAAC,CAAA;AACvC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,yBAAyB,CACvC,aAAqB,EACrB,QAA+C;IAE/C,MAAM,WAAW,GAAG,oBAAoB,CAAC,aAAa,CAAC,CAAA;IACvD,MAAM,cAAc,GAA0C,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAA;IAC1F,MAAM,KAAK,GAAG,gCAAgC,CAAC,cAAc,CAAC,CAAA;IAC9D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC,CAAA;IAC5C,OAAO,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,CAAA;AACzC,CAAC"}
|
package/dist/src/v2/bridge.d.ts
CHANGED
|
@@ -7,6 +7,14 @@ import type { PolicyContext, V2Delegation, V2ScopeDefinition, ArtifactProvenance
|
|
|
7
7
|
import type { BehavioralAttestationResult } from '../types/attestation.js';
|
|
8
8
|
export declare function sha256(data: string): string;
|
|
9
9
|
export declare function hashObject(obj: Record<string, unknown>): string;
|
|
10
|
+
/** Write-boundary twin of hashObject().
|
|
11
|
+
*
|
|
12
|
+
* Emits the same bytes as hashObject() for every value it accepts. The only difference
|
|
13
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
14
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
15
|
+
* hashObject() stays unrestricted so an artifact signed before this rule keeps
|
|
16
|
+
* verifying. */
|
|
17
|
+
export declare function hashObjectForWrite(obj: Record<string, unknown>): string;
|
|
10
18
|
export declare function signObject(obj: Record<string, unknown>, privateKey: string): string;
|
|
11
19
|
export declare function verifyObject(obj: Record<string, unknown>, signature: string, publicKey: string): boolean;
|
|
12
20
|
export declare function createPolicyContext(params: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/v2/bridge.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bridge.d.ts","sourceRoot":"","sources":["../../../src/v2/bridge.ts"],"names":[],"mappings":"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"}
|
package/dist/src/v2/bridge.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import crypto from 'node:crypto';
|
|
8
8
|
import { v4 as uuidv4 } from 'uuid';
|
|
9
9
|
import { sign, verify } from '../crypto/keys.js';
|
|
10
|
-
import { canonicalize } from '../core/canonical.js';
|
|
10
|
+
import { canonicalize, canonicalizeForWrite } from '../core/canonical.js';
|
|
11
11
|
import { validateAttestationResult } from '../core/evaluation-context.js';
|
|
12
12
|
// ═══════════════════════════════════════════════
|
|
13
13
|
// CRYPTO BRIDGE — v1 sign/verify adapted for v2 object signing
|
|
@@ -19,8 +19,19 @@ export function hashObject(obj) {
|
|
|
19
19
|
const canonical = canonicalize(obj);
|
|
20
20
|
return sha256(canonical);
|
|
21
21
|
}
|
|
22
|
+
/** Write-boundary twin of hashObject().
|
|
23
|
+
*
|
|
24
|
+
* Emits the same bytes as hashObject() for every value it accepts. The only difference
|
|
25
|
+
* is that an integer-valued number outside the interoperable IEEE 754 range is
|
|
26
|
+
* refused instead of serialized. Use at signing and new-write boundaries ONLY:
|
|
27
|
+
* hashObject() stays unrestricted so an artifact signed before this rule keeps
|
|
28
|
+
* verifying. */
|
|
29
|
+
export function hashObjectForWrite(obj) {
|
|
30
|
+
const canonical = canonicalizeForWrite(obj);
|
|
31
|
+
return sha256(canonical);
|
|
32
|
+
}
|
|
22
33
|
export function signObject(obj, privateKey) {
|
|
23
|
-
const hash =
|
|
34
|
+
const hash = hashObjectForWrite(obj);
|
|
24
35
|
return sign(hash, privateKey);
|
|
25
36
|
}
|
|
26
37
|
export function verifyObject(obj, signature, publicKey) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/v2/bridge.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,sCAAsC;AACtC;;;GAGG;AAEH,OAAO,MAAM,MAAM,aAAa,CAAA;AAChC,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,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"bridge.js","sourceRoot":"","sources":["../../../src/v2/bridge.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,14 +11,16 @@ export declare function sortFeatureActivations(acts: FeatureActivation[]): Featu
|
|
|
11
11
|
* sign it via `signAttestation`.
|
|
12
12
|
*/
|
|
13
13
|
export declare function buildAttestation(input: BuildAttestationInput): CognitiveAttestation;
|
|
14
|
-
/**
|
|
15
|
-
* JCS-canonicalize the attestation for signing. Signatures are elided
|
|
16
|
-
* (`signatures: []`) so all signers over the same payload produce the
|
|
17
|
-
* same input bytes regardless of signing order.
|
|
18
|
-
*
|
|
19
|
-
* Returns UTF-8 bytes. To obtain the canonical string, decode with TextDecoder.
|
|
20
|
-
*/
|
|
21
14
|
export declare function canonicalizeAttestation(att: CognitiveAttestation): Uint8Array;
|
|
15
|
+
/** Write-boundary twin of canonicalizeAttestation().
|
|
16
|
+
*
|
|
17
|
+
* Shares one implementation body with canonicalizeAttestation() 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: canonicalizeAttestation() stays unrestricted so an artifact signed before this rule keeps
|
|
22
|
+
* verifying. */
|
|
23
|
+
export declare function canonicalizeAttestationForWrite(att: CognitiveAttestation): Uint8Array;
|
|
22
24
|
/**
|
|
23
25
|
* Sign an attestation with a 32-byte Ed25519 seed. Appends a new entry to
|
|
24
26
|
* `signatures`. Returns a new object; never mutates input.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../../src/v2/cognitive-attestation/envelope.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAA;AAcnB;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAOrF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,oBAAoB,CAuCnF;
|
|
1
|
+
{"version":3,"file":"envelope.d.ts","sourceRoot":"","sources":["../../../../src/v2/cognitive-attestation/envelope.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,UAAU,EACX,MAAM,YAAY,CAAA;AAcnB;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,GAAG,iBAAiB,EAAE,CAOrF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,oBAAoB,CAuCnF;AAsBD,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,oBAAoB,GAAG,UAAU,CAE7E;AAED;;;;;;;iBAOiB;AACjB,wBAAgB,+BAA+B,CAAC,GAAG,EAAE,oBAAoB,GAAG,UAAU,CAErF;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,oBAAoB,EACzB,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,GACrB,oBAAoB,CAsBtB;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,oBAAoB,GAAG,MAAM,CAO5E;AAkCD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,OAAO,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAsJxF"}
|