@kya-os/mcp 1.16.2 → 1.17.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/AUDITABILITY.md +129 -8
- package/CHANGELOG.md +579 -0
- package/CONFORMANCE.md +4 -4
- package/README.md +65 -26
- package/SPEC.md +85 -17
- package/dist/audit/adapters/legacy-audit-log.d.ts +0 -1
- package/dist/audit/adapters/mcp.d.ts +0 -1
- package/dist/audit/adapters/mcp.js +35 -20
- package/dist/audit/adapters/mcp.js.map +1 -1
- package/dist/audit/adapters/references.d.ts +9 -0
- package/dist/audit/adapters/references.js +22 -0
- package/dist/audit/adapters/references.js.map +1 -0
- package/dist/audit/assurance.d.ts +0 -1
- package/dist/audit/checkpoint-coordinator.d.ts +0 -1
- package/dist/audit/checkpoint.d.ts +17 -1
- package/dist/audit/checkpoint.js +76 -21
- package/dist/audit/checkpoint.js.map +1 -1
- package/dist/audit/cli.d.ts +0 -1
- package/dist/audit/crypto.d.ts +0 -1
- package/dist/audit/crypto.js +12 -3
- package/dist/audit/crypto.js.map +1 -1
- package/dist/audit/errors.d.ts +0 -1
- package/dist/audit/evidence.d.ts +0 -1
- package/dist/audit/index.d.ts +0 -1
- package/dist/audit/integrity.d.ts +0 -1
- package/dist/audit/merkle.d.ts +0 -1
- package/dist/audit/mirror-service.d.ts +0 -1
- package/dist/audit/projection.d.ts +1 -1
- package/dist/audit/projection.js +23 -2
- package/dist/audit/projection.js.map +1 -1
- package/dist/audit/providers/anchor.d.ts +0 -1
- package/dist/audit/providers/evidence.d.ts +0 -1
- package/dist/audit/providers/journal.d.ts +0 -1
- package/dist/audit/providers/memory-journal.d.ts +0 -1
- package/dist/audit/providers/observer.d.ts +0 -1
- package/dist/audit/providers/outbox.d.ts +35 -6
- package/dist/audit/providers/outbox.js +46 -8
- package/dist/audit/providers/outbox.js.map +1 -1
- package/dist/audit/providers/recorder-client.d.ts +0 -1
- package/dist/audit/providers/source-state.d.ts +24 -2
- package/dist/audit/providers/source-state.js +65 -44
- package/dist/audit/providers/source-state.js.map +1 -1
- package/dist/audit/read-contract.d.ts +0 -1
- package/dist/audit/read-service.d.ts +2 -3
- package/dist/audit/read-service.js +17 -12
- package/dist/audit/read-service.js.map +1 -1
- package/dist/audit/recorder-service.d.ts +33 -5
- package/dist/audit/recorder-service.js +116 -20
- package/dist/audit/recorder-service.js.map +1 -1
- package/dist/audit/reference-recorder.d.ts +0 -1
- package/dist/audit/replay-bundle.d.ts +0 -1
- package/dist/audit/replay-bundle.js +143 -36
- package/dist/audit/replay-bundle.js.map +1 -1
- package/dist/audit/schemas.d.ts +0 -1
- package/dist/audit/service.d.ts +6 -3
- package/dist/audit/service.js +55 -24
- package/dist/audit/service.js.map +1 -1
- package/dist/audit/testing/index.d.ts +0 -1
- package/dist/audit/testing/provider-contracts.d.ts +1 -2
- package/dist/audit/testing/provider-contracts.js +32 -2
- package/dist/audit/testing/provider-contracts.js.map +1 -1
- package/dist/audit/types.d.ts +0 -1
- package/dist/audit/verifier.d.ts +57 -5
- package/dist/audit/verifier.js +240 -49
- package/dist/audit/verifier.js.map +1 -1
- package/dist/auth/handshake.d.ts +12 -1
- package/dist/auth/handshake.js +44 -11
- package/dist/auth/handshake.js.map +1 -1
- package/dist/auth/index.d.ts +0 -1
- package/dist/auth/types.d.ts +0 -1
- package/dist/authz/accountability.d.ts +0 -1
- package/dist/authz/adapter.d.ts +0 -1
- package/dist/authz/examples/inmemory-oidc.d.ts +0 -1
- package/dist/authz/index.d.ts +0 -1
- package/dist/authz/oidc/authorize.d.ts +0 -1
- package/dist/authz/oidc/metadata.d.ts +0 -1
- package/dist/authz/oidc/oidc-adapter.d.ts +0 -1
- package/dist/authz/oidc/oidc-adapter.js +51 -3
- package/dist/authz/oidc/oidc-adapter.js.map +1 -1
- package/dist/authz/oidc/pending-flow-store.d.ts +6 -1
- package/dist/authz/oidc/pending-flow-store.js +22 -2
- package/dist/authz/oidc/pending-flow-store.js.map +1 -1
- package/dist/authz/oidc/pkce.d.ts +0 -1
- package/dist/authz/registry.d.ts +0 -1
- package/dist/authz/requirement.d.ts +0 -1
- package/dist/card/build.d.ts +0 -1
- package/dist/card/builder.d.ts +0 -1
- package/dist/card/cimd.d.ts +19 -5
- package/dist/card/cimd.js +52 -7
- package/dist/card/cimd.js.map +1 -1
- package/dist/card/delegation.d.ts +0 -1
- package/dist/card/delegation.js +25 -15
- package/dist/card/delegation.js.map +1 -1
- package/dist/card/emit.d.ts +0 -1
- package/dist/card/index.d.ts +0 -1
- package/dist/card/middleware.d.ts +0 -1
- package/dist/card/proof/build.d.ts +0 -1
- package/dist/card/proof/canonical.d.ts +0 -1
- package/dist/card/proof/canonical.js +6 -1
- package/dist/card/proof/canonical.js.map +1 -1
- package/dist/card/proof/http-sig.d.ts +0 -1
- package/dist/card/proof/index.d.ts +0 -1
- package/dist/card/proof/nonce-cache.d.ts +15 -14
- package/dist/card/proof/nonce-cache.js +22 -20
- package/dist/card/proof/nonce-cache.js.map +1 -1
- package/dist/card/proof/signer.d.ts +0 -1
- package/dist/card/proof/types.d.ts +10 -4
- package/dist/card/proof/types.js +2 -2
- package/dist/card/proof/verify.d.ts +0 -1
- package/dist/card/proof/verify.js +17 -3
- package/dist/card/proof/verify.js.map +1 -1
- package/dist/card/resolve.d.ts +0 -1
- package/dist/card/resolve.js +13 -8
- package/dist/card/resolve.js.map +1 -1
- package/dist/card/revocation.d.ts +0 -1
- package/dist/card/revocation.js +18 -6
- package/dist/card/revocation.js.map +1 -1
- package/dist/card/schema.d.ts +7 -6
- package/dist/card/schema.js +7 -3
- package/dist/card/schema.js.map +1 -1
- package/dist/card/verify.d.ts +0 -1
- package/dist/delegation/audience-validator.d.ts +0 -1
- package/dist/delegation/bitstring.d.ts +0 -1
- package/dist/delegation/cascading-revocation.d.ts +1 -2
- package/dist/delegation/cascading-revocation.js +34 -36
- package/dist/delegation/cascading-revocation.js.map +1 -1
- package/dist/delegation/chain-enforcement.d.ts +26 -5
- package/dist/delegation/chain-enforcement.js +110 -34
- package/dist/delegation/chain-enforcement.js.map +1 -1
- package/dist/delegation/delegation-graph.d.ts +30 -1
- package/dist/delegation/delegation-graph.js +33 -0
- package/dist/delegation/delegation-graph.js.map +1 -1
- package/dist/delegation/delegation-registration.d.ts +22 -0
- package/dist/delegation/delegation-registration.js +51 -0
- package/dist/delegation/delegation-registration.js.map +1 -0
- package/dist/delegation/delegation-status-entry.d.ts +22 -0
- package/dist/delegation/delegation-status-entry.js +42 -0
- package/dist/delegation/delegation-status-entry.js.map +1 -0
- package/dist/delegation/did-key-resolver.d.ts +0 -1
- package/dist/delegation/did-key-resolver.js +15 -4
- package/dist/delegation/did-key-resolver.js.map +1 -1
- package/dist/delegation/did-linkage.d.ts +0 -1
- package/dist/delegation/did-resolver-registry.d.ts +0 -1
- package/dist/delegation/did-web-resolver.d.ts +0 -1
- package/dist/delegation/did-web-resolver.js +40 -5
- package/dist/delegation/did-web-resolver.js.map +1 -1
- package/dist/delegation/holder-binding.d.ts +11 -11
- package/dist/delegation/holder-binding.js +8 -17
- package/dist/delegation/holder-binding.js.map +1 -1
- package/dist/delegation/index.d.ts +0 -1
- package/dist/delegation/outbound-headers.d.ts +0 -1
- package/dist/delegation/outbound-proof.d.ts +0 -1
- package/dist/delegation/scope-matcher.d.ts +25 -2
- package/dist/delegation/scope-matcher.js +75 -5
- package/dist/delegation/scope-matcher.js.map +1 -1
- package/dist/delegation/status-cache.d.ts +0 -1
- package/dist/delegation/statuslist-manager.d.ts +18 -2
- package/dist/delegation/statuslist-manager.js +40 -14
- package/dist/delegation/statuslist-manager.js.map +1 -1
- package/dist/delegation/storage/memory-graph-storage.d.ts +9 -3
- package/dist/delegation/storage/memory-graph-storage.js +28 -14
- package/dist/delegation/storage/memory-graph-storage.js.map +1 -1
- package/dist/delegation/storage/memory-statuslist-storage.d.ts +0 -1
- package/dist/delegation/utils.d.ts +5 -5
- package/dist/delegation/utils.js +4 -4
- package/dist/delegation/utils.js.map +1 -1
- package/dist/delegation/vc-issuer.d.ts +0 -1
- package/dist/delegation/vc-jwt-verify.d.ts +7 -2
- package/dist/delegation/vc-jwt-verify.js +55 -3
- package/dist/delegation/vc-jwt-verify.js.map +1 -1
- package/dist/delegation/vc-verification-checks.d.ts +0 -1
- package/dist/delegation/vc-verification-checks.js +9 -5
- package/dist/delegation/vc-verification-checks.js.map +1 -1
- package/dist/delegation/vc-verifier.d.ts +0 -1
- package/dist/delegation/vc-verifier.types.d.ts +0 -1
- package/dist/delegation/verification-method-key.d.ts +0 -1
- package/dist/delegation/verification-method-key.js +4 -3
- package/dist/delegation/verification-method-key.js.map +1 -1
- package/dist/errors.d.ts +0 -1
- package/dist/extension/declaration.d.ts +0 -1
- package/dist/extension/gate.d.ts +0 -1
- package/dist/extension/index.d.ts +0 -1
- package/dist/extension/settings.d.ts +0 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/integrations/cheqd/dlr.d.ts +0 -1
- package/dist/integrations/cheqd/dlr.js +6 -1
- package/dist/integrations/cheqd/dlr.js.map +1 -1
- package/dist/integrations/cheqd/index.d.ts +0 -1
- package/dist/integrations/cheqd/linkage.d.ts +0 -1
- package/dist/integrations/cheqd/registrar.d.ts +0 -1
- package/dist/integrations/cheqd/resolver.d.ts +0 -1
- package/dist/integrations/cheqd/statuslist-resolver.d.ts +0 -1
- package/dist/logging/index.d.ts +0 -1
- package/dist/logging/logger.d.ts +0 -1
- package/dist/middleware/index.d.ts +0 -1
- package/dist/middleware/kya-os-transport.d.ts +5 -3
- package/dist/middleware/kya-os-transport.js +58 -24
- package/dist/middleware/kya-os-transport.js.map +1 -1
- package/dist/middleware/with-kya-os-server.d.ts +24 -4
- package/dist/middleware/with-kya-os-server.js +7 -0
- package/dist/middleware/with-kya-os-server.js.map +1 -1
- package/dist/middleware/with-kya-os.config-types.d.ts +22 -4
- package/dist/middleware/with-kya-os.d.ts +0 -1
- package/dist/middleware/with-kya-os.delegation-gate.d.ts +2 -1
- package/dist/middleware/with-kya-os.delegation-gate.js +37 -9
- package/dist/middleware/with-kya-os.delegation-gate.js.map +1 -1
- package/dist/middleware/with-kya-os.delegation-verify.d.ts +1 -1
- package/dist/middleware/with-kya-os.delegation-verify.js +45 -9
- package/dist/middleware/with-kya-os.delegation-verify.js.map +1 -1
- package/dist/middleware/with-kya-os.deps.d.ts +0 -1
- package/dist/middleware/with-kya-os.grants.d.ts +13 -6
- package/dist/middleware/with-kya-os.grants.js +56 -18
- package/dist/middleware/with-kya-os.grants.js.map +1 -1
- package/dist/middleware/with-kya-os.helpers.d.ts +0 -1
- package/dist/middleware/with-kya-os.js +14 -4
- package/dist/middleware/with-kya-os.js.map +1 -1
- package/dist/middleware/with-kya-os.policy-gate.d.ts +0 -1
- package/dist/middleware/with-kya-os.policy-gate.js +18 -9
- package/dist/middleware/with-kya-os.policy-gate.js.map +1 -1
- package/dist/middleware/with-kya-os.protocol.d.ts +0 -1
- package/dist/middleware/with-kya-os.session.d.ts +28 -1
- package/dist/middleware/with-kya-os.session.js +146 -7
- package/dist/middleware/with-kya-os.session.js.map +1 -1
- package/dist/middleware/with-kya-os.types.d.ts +28 -5
- package/dist/policy/approval.d.ts +13 -2
- package/dist/policy/approval.js +15 -4
- package/dist/policy/approval.js.map +1 -1
- package/dist/policy/classifier.d.ts +0 -1
- package/dist/policy/default-engine.d.ts +5 -2
- package/dist/policy/default-engine.js +10 -2
- package/dist/policy/default-engine.js.map +1 -1
- package/dist/policy/engine.d.ts +0 -1
- package/dist/policy/index.d.ts +0 -1
- package/dist/policy/projection.d.ts +0 -1
- package/dist/policy/types.d.ts +0 -1
- package/dist/proof/covered-request.d.ts +46 -0
- package/dist/proof/covered-request.js +107 -0
- package/dist/proof/covered-request.js.map +1 -0
- package/dist/proof/errors.d.ts +3 -1
- package/dist/proof/errors.js +5 -0
- package/dist/proof/errors.js.map +1 -1
- package/dist/proof/generator.d.ts +51 -1
- package/dist/proof/generator.js +71 -13
- package/dist/proof/generator.js.map +1 -1
- package/dist/proof/index.d.ts +1 -2
- package/dist/proof/index.js.map +1 -1
- package/dist/proof/verifier.d.ts +50 -12
- package/dist/proof/verifier.js +164 -84
- package/dist/proof/verifier.js.map +1 -1
- package/dist/providers/audit-log.d.ts +0 -1
- package/dist/providers/base.d.ts +19 -1
- package/dist/providers/base.js.map +1 -1
- package/dist/providers/grant-store.d.ts +8 -2
- package/dist/providers/grant-store.js +5 -5
- package/dist/providers/grant-store.js.map +1 -1
- package/dist/providers/index.d.ts +0 -1
- package/dist/providers/memory.d.ts +19 -1
- package/dist/providers/memory.js +53 -7
- package/dist/providers/memory.js.map +1 -1
- package/dist/providers/node-crypto.d.ts +4 -1
- package/dist/providers/node-crypto.js +32 -9
- package/dist/providers/node-crypto.js.map +1 -1
- package/dist/providers/nonce-admission.d.ts +31 -0
- package/dist/providers/nonce-admission.js +47 -0
- package/dist/providers/nonce-admission.js.map +1 -0
- package/dist/providers/nonce-retention.d.ts +8 -0
- package/dist/providers/nonce-retention.js +15 -0
- package/dist/providers/nonce-retention.js.map +1 -0
- package/dist/providers/runtime-fetch.d.ts +0 -1
- package/dist/providers/system-clock.d.ts +0 -1
- package/dist/providers/web-crypto.d.ts +0 -1
- package/dist/providers/web-crypto.js +7 -1
- package/dist/providers/web-crypto.js.map +1 -1
- package/dist/session/index.d.ts +0 -1
- package/dist/session/manager.d.ts +13 -1
- package/dist/session/manager.js +25 -9
- package/dist/session/manager.js.map +1 -1
- package/dist/session/session-store.d.ts +0 -1
- package/dist/types/protocol.d.ts +11 -3
- package/dist/types/protocol.js +21 -14
- package/dist/types/protocol.js.map +1 -1
- package/dist/utils/base58.d.ts +16 -3
- package/dist/utils/base58.js +34 -12
- package/dist/utils/base58.js.map +1 -1
- package/dist/utils/base64.d.ts +0 -1
- package/dist/utils/canonical-json.d.ts +7 -1
- package/dist/utils/canonical-json.js +130 -60
- package/dist/utils/canonical-json.js.map +1 -1
- package/dist/utils/crypto-service.d.ts +0 -1
- package/dist/utils/crypto-service.js +22 -2
- package/dist/utils/crypto-service.js.map +1 -1
- package/dist/utils/did-helpers.d.ts +0 -1
- package/dist/utils/ed25519-constants.d.ts +0 -1
- package/dist/utils/ed25519-public-key.d.ts +27 -0
- package/dist/utils/ed25519-public-key.js +86 -0
- package/dist/utils/ed25519-public-key.js.map +1 -0
- package/dist/utils/guards.d.ts +0 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/ip-classifier.d.ts +0 -1
- package/dist/utils/safe-fetch-transports.d.ts +0 -1
- package/dist/utils/safe-fetch-types.d.ts +0 -1
- package/dist/utils/safe-fetch.d.ts +0 -1
- package/dist/utils/statuslist-bits.d.ts +0 -1
- package/dist/utils/statuslist-purpose.d.ts +0 -1
- package/dist/utils/ttl-cache.d.ts +0 -1
- package/dist/utils/url.d.ts +0 -1
- package/package.json +9 -6
- package/schemas/card-delegation-credential.json +4 -1
- package/dist/audit/adapters/legacy-audit-log.d.ts.map +0 -1
- package/dist/audit/adapters/mcp.d.ts.map +0 -1
- package/dist/audit/assurance.d.ts.map +0 -1
- package/dist/audit/checkpoint-coordinator.d.ts.map +0 -1
- package/dist/audit/checkpoint.d.ts.map +0 -1
- package/dist/audit/cli.d.ts.map +0 -1
- package/dist/audit/crypto.d.ts.map +0 -1
- package/dist/audit/errors.d.ts.map +0 -1
- package/dist/audit/evidence.d.ts.map +0 -1
- package/dist/audit/index.d.ts.map +0 -1
- package/dist/audit/integrity.d.ts.map +0 -1
- package/dist/audit/merkle.d.ts.map +0 -1
- package/dist/audit/mirror-service.d.ts.map +0 -1
- package/dist/audit/projection.d.ts.map +0 -1
- package/dist/audit/providers/anchor.d.ts.map +0 -1
- package/dist/audit/providers/evidence.d.ts.map +0 -1
- package/dist/audit/providers/journal.d.ts.map +0 -1
- package/dist/audit/providers/memory-journal.d.ts.map +0 -1
- package/dist/audit/providers/observer.d.ts.map +0 -1
- package/dist/audit/providers/outbox.d.ts.map +0 -1
- package/dist/audit/providers/recorder-client.d.ts.map +0 -1
- package/dist/audit/providers/source-state.d.ts.map +0 -1
- package/dist/audit/read-contract.d.ts.map +0 -1
- package/dist/audit/read-service.d.ts.map +0 -1
- package/dist/audit/recorder-service.d.ts.map +0 -1
- package/dist/audit/reference-recorder.d.ts.map +0 -1
- package/dist/audit/replay-bundle.d.ts.map +0 -1
- package/dist/audit/schemas.d.ts.map +0 -1
- package/dist/audit/service.d.ts.map +0 -1
- package/dist/audit/testing/index.d.ts.map +0 -1
- package/dist/audit/testing/provider-contracts.d.ts.map +0 -1
- package/dist/audit/types.d.ts.map +0 -1
- package/dist/audit/verifier.d.ts.map +0 -1
- package/dist/auth/handshake.d.ts.map +0 -1
- package/dist/auth/index.d.ts.map +0 -1
- package/dist/auth/types.d.ts.map +0 -1
- package/dist/authz/accountability.d.ts.map +0 -1
- package/dist/authz/adapter.d.ts.map +0 -1
- package/dist/authz/examples/inmemory-oidc.d.ts.map +0 -1
- package/dist/authz/index.d.ts.map +0 -1
- package/dist/authz/oidc/authorize.d.ts.map +0 -1
- package/dist/authz/oidc/metadata.d.ts.map +0 -1
- package/dist/authz/oidc/oidc-adapter.d.ts.map +0 -1
- package/dist/authz/oidc/pending-flow-store.d.ts.map +0 -1
- package/dist/authz/oidc/pkce.d.ts.map +0 -1
- package/dist/authz/registry.d.ts.map +0 -1
- package/dist/authz/requirement.d.ts.map +0 -1
- package/dist/card/build.d.ts.map +0 -1
- package/dist/card/builder.d.ts.map +0 -1
- package/dist/card/cimd.d.ts.map +0 -1
- package/dist/card/delegation.d.ts.map +0 -1
- package/dist/card/emit.d.ts.map +0 -1
- package/dist/card/index.d.ts.map +0 -1
- package/dist/card/middleware.d.ts.map +0 -1
- package/dist/card/proof/build.d.ts.map +0 -1
- package/dist/card/proof/canonical.d.ts.map +0 -1
- package/dist/card/proof/http-sig.d.ts.map +0 -1
- package/dist/card/proof/index.d.ts.map +0 -1
- package/dist/card/proof/nonce-cache.d.ts.map +0 -1
- package/dist/card/proof/signer.d.ts.map +0 -1
- package/dist/card/proof/types.d.ts.map +0 -1
- package/dist/card/proof/verify.d.ts.map +0 -1
- package/dist/card/resolve.d.ts.map +0 -1
- package/dist/card/revocation.d.ts.map +0 -1
- package/dist/card/schema.d.ts.map +0 -1
- package/dist/card/verify.d.ts.map +0 -1
- package/dist/delegation/audience-validator.d.ts.map +0 -1
- package/dist/delegation/bitstring.d.ts.map +0 -1
- package/dist/delegation/cascading-revocation.d.ts.map +0 -1
- package/dist/delegation/chain-enforcement.d.ts.map +0 -1
- package/dist/delegation/delegation-graph.d.ts.map +0 -1
- package/dist/delegation/did-key-resolver.d.ts.map +0 -1
- package/dist/delegation/did-linkage.d.ts.map +0 -1
- package/dist/delegation/did-resolver-registry.d.ts.map +0 -1
- package/dist/delegation/did-web-resolver.d.ts.map +0 -1
- package/dist/delegation/holder-binding.d.ts.map +0 -1
- package/dist/delegation/index.d.ts.map +0 -1
- package/dist/delegation/outbound-headers.d.ts.map +0 -1
- package/dist/delegation/outbound-proof.d.ts.map +0 -1
- package/dist/delegation/scope-matcher.d.ts.map +0 -1
- package/dist/delegation/status-cache.d.ts.map +0 -1
- package/dist/delegation/statuslist-manager.d.ts.map +0 -1
- package/dist/delegation/storage/memory-graph-storage.d.ts.map +0 -1
- package/dist/delegation/storage/memory-statuslist-storage.d.ts.map +0 -1
- package/dist/delegation/utils.d.ts.map +0 -1
- package/dist/delegation/vc-issuer.d.ts.map +0 -1
- package/dist/delegation/vc-jwt-verify.d.ts.map +0 -1
- package/dist/delegation/vc-verification-checks.d.ts.map +0 -1
- package/dist/delegation/vc-verifier.d.ts.map +0 -1
- package/dist/delegation/vc-verifier.types.d.ts.map +0 -1
- package/dist/delegation/verification-method-key.d.ts.map +0 -1
- package/dist/errors.d.ts.map +0 -1
- package/dist/extension/declaration.d.ts.map +0 -1
- package/dist/extension/gate.d.ts.map +0 -1
- package/dist/extension/index.d.ts.map +0 -1
- package/dist/extension/settings.d.ts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/integrations/cheqd/dlr.d.ts.map +0 -1
- package/dist/integrations/cheqd/index.d.ts.map +0 -1
- package/dist/integrations/cheqd/linkage.d.ts.map +0 -1
- package/dist/integrations/cheqd/registrar.d.ts.map +0 -1
- package/dist/integrations/cheqd/resolver.d.ts.map +0 -1
- package/dist/integrations/cheqd/statuslist-resolver.d.ts.map +0 -1
- package/dist/logging/index.d.ts.map +0 -1
- package/dist/logging/logger.d.ts.map +0 -1
- package/dist/middleware/index.d.ts.map +0 -1
- package/dist/middleware/kya-os-transport.d.ts.map +0 -1
- package/dist/middleware/with-kya-os-server.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.config-types.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.delegation-gate.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.delegation-verify.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.deps.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.grants.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.helpers.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.policy-gate.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.protocol.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.session.d.ts.map +0 -1
- package/dist/middleware/with-kya-os.types.d.ts.map +0 -1
- package/dist/policy/approval.d.ts.map +0 -1
- package/dist/policy/classifier.d.ts.map +0 -1
- package/dist/policy/default-engine.d.ts.map +0 -1
- package/dist/policy/engine.d.ts.map +0 -1
- package/dist/policy/index.d.ts.map +0 -1
- package/dist/policy/projection.d.ts.map +0 -1
- package/dist/policy/types.d.ts.map +0 -1
- package/dist/proof/errors.d.ts.map +0 -1
- package/dist/proof/generator.d.ts.map +0 -1
- package/dist/proof/index.d.ts.map +0 -1
- package/dist/proof/verifier.d.ts.map +0 -1
- package/dist/providers/audit-log.d.ts.map +0 -1
- package/dist/providers/base.d.ts.map +0 -1
- package/dist/providers/grant-store.d.ts.map +0 -1
- package/dist/providers/index.d.ts.map +0 -1
- package/dist/providers/memory.d.ts.map +0 -1
- package/dist/providers/node-crypto.d.ts.map +0 -1
- package/dist/providers/runtime-fetch.d.ts.map +0 -1
- package/dist/providers/system-clock.d.ts.map +0 -1
- package/dist/providers/web-crypto.d.ts.map +0 -1
- package/dist/session/index.d.ts.map +0 -1
- package/dist/session/manager.d.ts.map +0 -1
- package/dist/session/session-store.d.ts.map +0 -1
- package/dist/types/protocol.d.ts.map +0 -1
- package/dist/utils/base58.d.ts.map +0 -1
- package/dist/utils/base64.d.ts.map +0 -1
- package/dist/utils/canonical-json.d.ts.map +0 -1
- package/dist/utils/crypto-service.d.ts.map +0 -1
- package/dist/utils/did-helpers.d.ts.map +0 -1
- package/dist/utils/ed25519-constants.d.ts.map +0 -1
- package/dist/utils/guards.d.ts.map +0 -1
- package/dist/utils/index.d.ts.map +0 -1
- package/dist/utils/ip-classifier.d.ts.map +0 -1
- package/dist/utils/safe-fetch-transports.d.ts.map +0 -1
- package/dist/utils/safe-fetch-types.d.ts.map +0 -1
- package/dist/utils/safe-fetch.d.ts.map +0 -1
- package/dist/utils/statuslist-bits.d.ts.map +0 -1
- package/dist/utils/statuslist-purpose.d.ts.map +0 -1
- package/dist/utils/ttl-cache.d.ts.map +0 -1
- package/dist/utils/url.d.ts.map +0 -1
package/dist/audit/service.js
CHANGED
|
@@ -2,11 +2,11 @@ import { canonicalizeJson } from '../utils/canonical-json.js';
|
|
|
2
2
|
import { assertAuditCapabilities } from './assurance.js';
|
|
3
3
|
import { AuditProtocolError, AUDIT_ERROR_CODES } from './errors.js';
|
|
4
4
|
import { collectAuditEvidenceRefs, digestAuditEvent } from './integrity.js';
|
|
5
|
+
import { auditOutboxItemKey } from './providers/outbox.js';
|
|
5
6
|
import { parseAuditProducerEvent } from './schemas.js';
|
|
6
7
|
/** Producer-side service: creates frozen events and applies declared delivery semantics. */
|
|
7
8
|
export class AuditTrailService {
|
|
8
9
|
configuration;
|
|
9
|
-
idCounter = 0n;
|
|
10
10
|
sourceState;
|
|
11
11
|
sourceConstructionTail = Promise.resolve();
|
|
12
12
|
get auditProfile() {
|
|
@@ -44,8 +44,7 @@ export class AuditTrailService {
|
|
|
44
44
|
const encryptedEvidence = options.encryptedEvidence ?? [];
|
|
45
45
|
const buffered = this.configuration.delivery === 'buffered';
|
|
46
46
|
const { event, submission } = await this.withSourceConstruction(async () => {
|
|
47
|
-
const builtEvent = await this.buildAndLinkEvent(input, eventId);
|
|
48
|
-
this.assertEvidenceIsReferenced(builtEvent, encryptedEvidence);
|
|
47
|
+
const builtEvent = await this.buildAndLinkEvent(input, eventId, encryptedEvidence);
|
|
49
48
|
const frozenSubmission = Object.freeze({
|
|
50
49
|
ledgerId: this.configuration.ledgerId,
|
|
51
50
|
// Buffered submissions are never epoch-pinned: a durable outbox item may
|
|
@@ -96,27 +95,42 @@ export class AuditTrailService {
|
|
|
96
95
|
return { delivered: 0, failed: 0 };
|
|
97
96
|
let delivered = 0;
|
|
98
97
|
let failed = 0;
|
|
98
|
+
const outbox = this.configuration.outbox;
|
|
99
99
|
const blockedSources = new Set();
|
|
100
|
-
for await (const item of
|
|
100
|
+
for await (const item of outbox.pending(limit)) {
|
|
101
101
|
const sourceId = item.submission.producerEvent.source.sourceId;
|
|
102
102
|
if (blockedSources.has(sourceId))
|
|
103
103
|
continue;
|
|
104
|
+
// An adapter that predates AuditOutboxItemKey matches items by event ID
|
|
105
|
+
// alone, so it is handed the bare ID it was written for.
|
|
106
|
+
const key = outbox.capabilities.keyedBySource === true
|
|
107
|
+
? auditOutboxItemKey(item)
|
|
108
|
+
: item.eventId;
|
|
109
|
+
let entry;
|
|
104
110
|
try {
|
|
105
|
-
|
|
106
|
-
try {
|
|
107
|
-
await this.sourceState.markReceipted(sourceId, item.submission.producerEvent.source.sourceSequence, entry.entryDigest);
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
this.configuration.onSourceStateFailure?.(error, item.submission.producerEvent);
|
|
111
|
-
}
|
|
112
|
-
await this.configuration.outbox.markDelivered(item.eventId);
|
|
113
|
-
delivered += 1;
|
|
111
|
+
entry = await this.submitAndValidate(item.submission);
|
|
114
112
|
}
|
|
115
113
|
catch (error) {
|
|
116
|
-
await
|
|
114
|
+
await outbox.markFailed(key, error);
|
|
117
115
|
this.configuration.onDeliveryFailure?.(error, item.submission.producerEvent);
|
|
118
116
|
blockedSources.add(sourceId);
|
|
119
117
|
failed += 1;
|
|
118
|
+
continue;
|
|
119
|
+
}
|
|
120
|
+
// The recorder commit is authoritative from here on: later bookkeeping
|
|
121
|
+
// failures must never be reported as a delivery failure.
|
|
122
|
+
delivered += 1;
|
|
123
|
+
try {
|
|
124
|
+
await this.sourceState.markReceipted(sourceId, item.submission.producerEvent.source.sourceSequence, entry.entryDigest);
|
|
125
|
+
}
|
|
126
|
+
catch (error) {
|
|
127
|
+
this.configuration.onSourceStateFailure?.(error, item.submission.producerEvent);
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
await outbox.markDelivered(key);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
this.configuration.onAcknowledgementFailure?.(error, item.submission.producerEvent);
|
|
120
134
|
}
|
|
121
135
|
}
|
|
122
136
|
return { delivered, failed };
|
|
@@ -154,21 +168,37 @@ export class AuditTrailService {
|
|
|
154
168
|
release();
|
|
155
169
|
}
|
|
156
170
|
}
|
|
157
|
-
async buildAndLinkEvent(input, eventId) {
|
|
158
|
-
const
|
|
159
|
-
const
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
171
|
+
async buildAndLinkEvent(input, eventId, encryptedEvidence) {
|
|
172
|
+
const sourceId = this.configuration.sourceId;
|
|
173
|
+
const occurredAt = input.occurredAt ?? this.configuration.clock.now();
|
|
174
|
+
// Everything the source claim does not decide is validated first, so locally
|
|
175
|
+
// rejected input never burns a source sequence or breaks predecessor linkage.
|
|
176
|
+
const provisional = this.buildEvent(input, eventId, occurredAt, { sequence: '0' });
|
|
177
|
+
canonicalizeJson(provisional);
|
|
178
|
+
this.assertEvidenceIsReferenced(provisional, encryptedEvidence);
|
|
179
|
+
const claim = await this.sourceState.claimEvent(sourceId, eventId);
|
|
180
|
+
try {
|
|
181
|
+
const event = this.buildEvent(input, eventId, occurredAt, claim);
|
|
182
|
+
const eventDigest = await digestAuditEvent(this.configuration.hasher, event);
|
|
183
|
+
await this.sourceState.markEmitted(sourceId, eventId, claim.sequence, eventDigest);
|
|
184
|
+
return event;
|
|
185
|
+
}
|
|
186
|
+
catch (error) {
|
|
187
|
+
// The build failure is what the caller must see; a claim that cannot be
|
|
188
|
+
// released stays visible as a pending source gap.
|
|
189
|
+
await this.sourceState.abandonClaim?.(sourceId, eventId, claim.sequence)
|
|
190
|
+
.catch(() => undefined);
|
|
191
|
+
throw error;
|
|
192
|
+
}
|
|
163
193
|
}
|
|
164
|
-
buildEvent(input, eventId, sourceClaim) {
|
|
194
|
+
buildEvent(input, eventId, occurredAt, sourceClaim) {
|
|
165
195
|
return parseAuditProducerEvent({
|
|
166
196
|
...input,
|
|
167
197
|
schema: 'https://schema.kya-os.org/v1/protocol/audit/event/v1.0.0',
|
|
168
198
|
eventId,
|
|
169
199
|
eventVersion: '1.0.0',
|
|
170
200
|
binding: this.configuration.binding,
|
|
171
|
-
occurredAt
|
|
201
|
+
occurredAt,
|
|
172
202
|
tenantRef: this.configuration.tenantRef,
|
|
173
203
|
source: {
|
|
174
204
|
producer: this.configuration.producer,
|
|
@@ -185,8 +215,9 @@ export class AuditTrailService {
|
|
|
185
215
|
if (this.configuration.eventIdFactory !== undefined) {
|
|
186
216
|
return this.configuration.eventIdFactory();
|
|
187
217
|
}
|
|
188
|
-
|
|
189
|
-
|
|
218
|
+
// Random rather than clock/counter based: trails sharing an outbox or a
|
|
219
|
+
// recorder must never mint the same default event ID.
|
|
220
|
+
return `audit_${crypto.randomUUID()}`;
|
|
190
221
|
}
|
|
191
222
|
assertEvidenceIsReferenced(event, encryptedEvidence) {
|
|
192
223
|
const refs = new Map(collectAuditEvidenceRefs(event).map((ref) => [ref.objectId, ref]));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/audit/service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAA0B,MAAM,gBAAgB,CAAC;AAEjF,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACpE,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/audit/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { AuditAnchorProvider } from '../providers/anchor.js';
|
|
|
3
3
|
import type { AuditEvidenceProvider } from '../providers/evidence.js';
|
|
4
4
|
import type { AuditJournalProvider } from '../providers/journal.js';
|
|
5
5
|
import type { AuditCheckpointObserverProvider } from '../providers/observer.js';
|
|
6
|
-
import type
|
|
6
|
+
import { type AuditOutboxProvider } from '../providers/outbox.js';
|
|
7
7
|
import type { SignedAuditCheckpointV1 } from '../types.js';
|
|
8
8
|
export interface AuditProviderContractCheck {
|
|
9
9
|
name: string;
|
|
@@ -48,4 +48,3 @@ export declare function evaluateAuditAnchorProviderContract(input: {
|
|
|
48
48
|
}): Promise<AuditProviderContractReport>;
|
|
49
49
|
/** Executable FIFO, retry-accounting, and acknowledgement contract for outboxes. */
|
|
50
50
|
export declare function evaluateAuditOutboxProviderContract(createProvider: () => AuditOutboxProvider | Promise<AuditOutboxProvider>): Promise<AuditProviderContractReport>;
|
|
51
|
-
//# sourceMappingURL=provider-contracts.d.ts.map
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { auditOutboxItemKey, } from '../providers/outbox.js';
|
|
1
2
|
function digest(character) {
|
|
2
3
|
return `sha256:${character.repeat(64)}`;
|
|
3
4
|
}
|
|
@@ -342,8 +343,12 @@ export async function evaluateAuditOutboxProviderContract(createProvider) {
|
|
|
342
343
|
values.push(value);
|
|
343
344
|
return values;
|
|
344
345
|
};
|
|
346
|
+
// Acknowledge the way the trail does: by key when the adapter declares it.
|
|
347
|
+
const keyOf = (provider, value) => provider.capabilities.keyedBySource === true ? auditOutboxItemKey(value) : value.eventId;
|
|
348
|
+
let keyedBySource = false;
|
|
345
349
|
await check(checks, 'declares and preserves FIFO order per source', async () => {
|
|
346
350
|
const provider = await createProvider();
|
|
351
|
+
keyedBySource = provider.capabilities.keyedBySource === true;
|
|
347
352
|
expectContract(provider.capabilities.fifoPerSource === true, 'fifoPerSource must be true');
|
|
348
353
|
await provider.enqueue(item(firstEntry));
|
|
349
354
|
await provider.enqueue(item(secondEntry));
|
|
@@ -379,13 +384,38 @@ export async function evaluateAuditOutboxProviderContract(createProvider) {
|
|
|
379
384
|
const provider = await createProvider();
|
|
380
385
|
await provider.enqueue(item(firstEntry));
|
|
381
386
|
await provider.enqueue(item(secondEntry));
|
|
382
|
-
await provider.markFailed(firstEntry
|
|
387
|
+
await provider.markFailed(keyOf(provider, item(firstEntry)), new Error('offline'));
|
|
383
388
|
let pending = await collect(provider);
|
|
384
389
|
expectContract(pending[0]?.attempts === 1, 'failed delivery attempt was not persisted');
|
|
385
|
-
await provider.markDelivered(firstEntry
|
|
390
|
+
await provider.markDelivered(keyOf(provider, item(firstEntry)));
|
|
386
391
|
pending = await collect(provider);
|
|
387
392
|
expectContract(pending.length === 1 && pending[0]?.eventId === secondEntry.core.event.eventId, 'acknowledgement removed the wrong pending item');
|
|
388
393
|
});
|
|
394
|
+
// Only an adapter that declares source-scoped keys promises to keep two
|
|
395
|
+
// sources' items with one event ID apart.
|
|
396
|
+
if (keyedBySource) {
|
|
397
|
+
await check(checks, 'keys items by producer source and event identity', async () => {
|
|
398
|
+
const provider = await createProvider();
|
|
399
|
+
const own = item(firstEntry);
|
|
400
|
+
const otherSource = {
|
|
401
|
+
...own,
|
|
402
|
+
submission: {
|
|
403
|
+
...own.submission,
|
|
404
|
+
producerEvent: {
|
|
405
|
+
...own.submission.producerEvent,
|
|
406
|
+
source: { ...own.submission.producerEvent.source, sourceId: 'contract-source-2' },
|
|
407
|
+
},
|
|
408
|
+
},
|
|
409
|
+
};
|
|
410
|
+
await provider.enqueue(own);
|
|
411
|
+
await provider.enqueue(otherSource);
|
|
412
|
+
expectContract((await collect(provider)).length === 2, 'an event ID from one source displaced another source\'s pending item');
|
|
413
|
+
await provider.markDelivered(auditOutboxItemKey(own));
|
|
414
|
+
const pending = await collect(provider);
|
|
415
|
+
expectContract(pending.length === 1 &&
|
|
416
|
+
pending[0]?.submission.producerEvent.source.sourceId === 'contract-source-2', 'acknowledging one source removed another source\'s pending item');
|
|
417
|
+
});
|
|
418
|
+
}
|
|
389
419
|
return report('outbox', checks);
|
|
390
420
|
}
|
|
391
421
|
//# sourceMappingURL=provider-contracts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-contracts.js","sourceRoot":"","sources":["../../../src/audit/testing/provider-contracts.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"provider-contracts.js","sourceRoot":"","sources":["../../../src/audit/testing/provider-contracts.ts"],"names":[],"mappings":"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"}
|
package/dist/audit/types.d.ts
CHANGED
package/dist/audit/verifier.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { type AuditHasher, type AuditSignatureVerifier } from './crypto.js';
|
|
2
|
-
import type { AuditVerificationDimension, AuditObservationReceiptV1, AuditVerificationPolicyV1, AuditVerificationReportV1, SignedAuditCheckpointV1, SignedAuditEntryV1 } from './types.js';
|
|
2
|
+
import type { AuditVerificationDimension, AuditObservationReceiptV1, AuditVerificationPolicyV1, AuditVerificationReportV1, SignedAuditCheckpointV1, SignedAuditEntryV1, SignerRef } from './types.js';
|
|
3
3
|
export declare const AUDIT_REASON_CODES: Readonly<{
|
|
4
4
|
readonly NOT_EVALUATED: "AUDIT_NOT_EVALUATED";
|
|
5
5
|
readonly SCHEMA_INVALID: "AUDIT_SCHEMA_INVALID";
|
|
6
6
|
readonly UNSUPPORTED_SUITE: "AUDIT_UNSUPPORTED_SUITE";
|
|
7
7
|
readonly UNSUPPORTED_ALGORITHM: "AUDIT_UNSUPPORTED_ALGORITHM";
|
|
8
8
|
readonly UNTRUSTED_RECORDER: "AUDIT_UNTRUSTED_RECORDER";
|
|
9
|
+
readonly KEY_BOUNDARY_UNRESOLVED: "AUDIT_KEY_BOUNDARY_UNRESOLVED";
|
|
10
|
+
readonly KEY_NOT_CURRENT: "AUDIT_KEY_NOT_CURRENT";
|
|
9
11
|
readonly SIGNATURE_INVALID: "AUDIT_SIGNATURE_INVALID";
|
|
10
12
|
readonly EVENT_DIGEST_MISMATCH: "AUDIT_EVENT_DIGEST_MISMATCH";
|
|
11
13
|
readonly EVIDENCE_MANIFEST_DIGEST_MISMATCH: "AUDIT_EVIDENCE_MANIFEST_DIGEST_MISMATCH";
|
|
@@ -23,12 +25,14 @@ export declare const AUDIT_REASON_CODES: Readonly<{
|
|
|
23
25
|
readonly CHECKPOINT_CHAIN_MISMATCH: "AUDIT_CHECKPOINT_CHAIN_MISMATCH";
|
|
24
26
|
readonly CHECKPOINT_FORK_DETECTED: "AUDIT_CHECKPOINT_FORK_DETECTED";
|
|
25
27
|
readonly MERKLE_PROOF_INVALID: "AUDIT_MERKLE_PROOF_INVALID";
|
|
28
|
+
readonly MERKLE_PROOF_MISSING: "AUDIT_MERKLE_PROOF_MISSING";
|
|
26
29
|
readonly OBSERVER_EVIDENCE_MISSING: "AUDIT_OBSERVER_EVIDENCE_MISSING";
|
|
27
30
|
readonly OBSERVATION_DIGEST_MISMATCH: "AUDIT_OBSERVATION_DIGEST_MISMATCH";
|
|
28
31
|
readonly OBSERVATION_SIGNATURE_INVALID: "AUDIT_OBSERVATION_SIGNATURE_INVALID";
|
|
29
32
|
readonly OBSERVATION_SCOPE_MISMATCH: "AUDIT_OBSERVATION_SCOPE_MISMATCH";
|
|
30
33
|
readonly UNTRUSTED_OBSERVER: "AUDIT_UNTRUSTED_OBSERVER";
|
|
31
34
|
readonly OBSERVATION_STALE: "AUDIT_OBSERVATION_STALE";
|
|
35
|
+
readonly OBSERVATION_FUTURE_DATED: "AUDIT_OBSERVATION_FUTURE_DATED";
|
|
32
36
|
readonly OBSERVATION_CHAIN_MISMATCH: "AUDIT_OBSERVATION_CHAIN_MISMATCH";
|
|
33
37
|
readonly UNTRUSTED_SUPPORTING_ANCHOR: "AUDIT_UNTRUSTED_SUPPORTING_ANCHOR";
|
|
34
38
|
readonly SUPPORTING_ANCHOR_INVALID: "AUDIT_SUPPORTING_ANCHOR_INVALID";
|
|
@@ -44,16 +48,41 @@ export declare const AUDIT_REASON_CODES: Readonly<{
|
|
|
44
48
|
readonly BUNDLE_SELECTION_INCOMPLETE: "AUDIT_BUNDLE_SELECTION_INCOMPLETE";
|
|
45
49
|
readonly VERIFICATION_POLICY_MISMATCH: "AUDIT_VERIFICATION_POLICY_MISMATCH";
|
|
46
50
|
readonly VERIFICATION_POLICY_INVALID: "AUDIT_VERIFICATION_POLICY_INVALID";
|
|
51
|
+
readonly REQUIRED_PROFILE_UNMET: "AUDIT_REQUIRED_PROFILE_UNMET";
|
|
47
52
|
readonly EXPLICITLY_REDACTED: "AUDIT_EXPLICITLY_REDACTED";
|
|
48
53
|
readonly EXPLICITLY_DISPOSED: "AUDIT_EXPLICITLY_DISPOSED";
|
|
49
54
|
readonly EXPLICITLY_UNAVAILABLE: "AUDIT_EXPLICITLY_UNAVAILABLE";
|
|
50
55
|
}>;
|
|
56
|
+
/**
|
|
57
|
+
* Marks every dimension the policy's `requiredAuditProfile` depends on as
|
|
58
|
+
* invalid unless it is `valid`: AAP-1 needs cryptographic integrity, AAP-2
|
|
59
|
+
* adds chain integrity, AAP-3 adds checkpoint integrity, and AAP-4 adds
|
|
60
|
+
* observation integrity backed by a supporting anchor receipt.
|
|
61
|
+
*/
|
|
62
|
+
export declare function applyRequiredAuditProfile(report: AuditVerificationReportV1, policy: AuditVerificationPolicyV1, evidence?: {
|
|
63
|
+
supportingAnchors: boolean;
|
|
64
|
+
}): AuditVerificationReportV1;
|
|
51
65
|
export interface AuditArtifactVerifierOptions {
|
|
52
66
|
hasher: AuditHasher;
|
|
53
67
|
signatures: AuditSignatureVerifier;
|
|
54
68
|
verifiedAt?: () => number;
|
|
69
|
+
/** How far an observation may be dated ahead of `verifiedAt` (default 120 s). */
|
|
70
|
+
maxClockSkewMs?: number;
|
|
55
71
|
authorization?: AuditAuthorizationVerifier;
|
|
56
72
|
}
|
|
73
|
+
/** Supporting artifacts that let a verifier resolve checkpoint-bounded key validity. */
|
|
74
|
+
export interface AuditVerificationContext {
|
|
75
|
+
/** Checkpoints that policy `validFromCheckpoint`/`validUntilCheckpoint` digests may name. */
|
|
76
|
+
checkpoints?: readonly SignedAuditCheckpointV1[];
|
|
77
|
+
}
|
|
78
|
+
/** Artifacts whose signing keys a verification relied on. */
|
|
79
|
+
export interface AuditSignedArtifacts {
|
|
80
|
+
entries?: readonly SignedAuditEntryV1[];
|
|
81
|
+
checkpoints?: readonly SignedAuditCheckpointV1[];
|
|
82
|
+
observations?: readonly AuditObservationReceiptV1[];
|
|
83
|
+
/** The exporter that signed a replay-bundle manifest. */
|
|
84
|
+
exporter?: SignerRef;
|
|
85
|
+
}
|
|
57
86
|
/** Optional collateral verifier kept separate from structural/cryptographic verification. */
|
|
58
87
|
export interface AuditAuthorizationVerifier {
|
|
59
88
|
verifyAsObserved(entries: readonly SignedAuditEntryV1[], policy: AuditVerificationPolicyV1): Promise<AuditVerificationDimension>;
|
|
@@ -63,11 +92,34 @@ export interface AuditAuthorizationVerifier {
|
|
|
63
92
|
export declare class AuditArtifactVerifier {
|
|
64
93
|
private readonly options;
|
|
65
94
|
constructor(options: AuditArtifactVerifierOptions);
|
|
66
|
-
verifyEntries(entries: readonly unknown[], policy: AuditVerificationPolicyV1 | unknown): Promise<AuditVerificationReportV1>;
|
|
67
|
-
|
|
68
|
-
|
|
95
|
+
verifyEntries(entries: readonly unknown[], policy: AuditVerificationPolicyV1 | unknown, context?: AuditVerificationContext): Promise<AuditVerificationReportV1>;
|
|
96
|
+
/**
|
|
97
|
+
* Evaluates the `current` and `both` key revocation modes: whether every key
|
|
98
|
+
* these artifacts were signed with is still valid at `verifiedAt`. The
|
|
99
|
+
* as-observed check, at signing time and ledger position, stays in the
|
|
100
|
+
* integrity dimensions under every mode, because revocation does not rewrite
|
|
101
|
+
* what was observed; this result belongs in `currentAuthorization`, which the
|
|
102
|
+
* report keeps separate from it. Returns `undefined` under `as_observed`, and
|
|
103
|
+
* `indeterminate` when the verifier has no `verifiedAt` clock.
|
|
104
|
+
*/
|
|
105
|
+
verifyCurrentKeys(policy: AuditVerificationPolicyV1, artifacts: AuditSignedArtifacts): AuditVerificationDimension | undefined;
|
|
106
|
+
/** Verifies a checkpoint and recomputes its root from the complete journal prefix. */
|
|
107
|
+
verifyCheckpoint(checkpoint: SignedAuditCheckpointV1, entries: readonly SignedAuditEntryV1[], policy: AuditVerificationPolicyV1, context?: AuditVerificationContext): Promise<AuditVerificationDimension>;
|
|
108
|
+
/**
|
|
109
|
+
* Verifies a checkpoint's schema, suite, issuer trust, digest, signature, and
|
|
110
|
+
* declared range without its leaves. It proves only what the recorder
|
|
111
|
+
* signed; entries are bound to it separately by inclusion proofs.
|
|
112
|
+
*/
|
|
113
|
+
verifySignedCheckpoint(checkpoint: SignedAuditCheckpointV1, policy: AuditVerificationPolicyV1, context?: AuditVerificationContext): Promise<AuditVerificationDimension>;
|
|
114
|
+
verifyObservation(checkpoint: SignedAuditCheckpointV1, receipt: AuditObservationReceiptV1, policy: AuditVerificationPolicyV1, context?: AuditVerificationContext): Promise<AuditVerificationDimension>;
|
|
115
|
+
private checkSignedCheckpoint;
|
|
116
|
+
/**
|
|
117
|
+
* Indexes candidate checkpoints by their recomputed digest. A policy names a
|
|
118
|
+
* boundary by digest, which commits to the checkpoint core, so a matching
|
|
119
|
+
* core authenticates the boundary's ledger epoch and tree size by itself.
|
|
120
|
+
*/
|
|
121
|
+
private boundaries;
|
|
69
122
|
private verifyEntry;
|
|
70
123
|
private verifyChainPosition;
|
|
71
124
|
}
|
|
72
125
|
export declare function mergeAuditDimensions(...values: readonly AuditVerificationDimension[]): AuditVerificationDimension;
|
|
73
|
-
//# sourceMappingURL=verifier.d.ts.map
|