@kya-os/mcp 1.16.2 → 1.18.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 +641 -0
- package/CONFORMANCE.md +12 -6
- package/README.md +67 -26
- package/SPEC.md +105 -18
- 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 +12 -4
- package/dist/card/delegation.js +38 -22
- 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 +42 -5
- package/dist/delegation/chain-enforcement.js +127 -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 +30 -4
- package/dist/middleware/with-kya-os-server.js +19 -0
- package/dist/middleware/with-kya-os-server.js.map +1 -1
- package/dist/middleware/with-kya-os.config-types.d.ts +32 -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 +52 -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 +24 -19
- 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
|
@@ -6,17 +6,90 @@
|
|
|
6
6
|
* paths: `wrapWithProof` (success responses) and `attachOutcomeProof` (denied /
|
|
7
7
|
* step-up / needs-authorization outcomes). Extracted from `./with-kya-os.ts`.
|
|
8
8
|
*/
|
|
9
|
-
import { KYA_OS_PROOF_META_KEY, LEGACY_PROOF_META_KEY, RESPONSE_PROOF_PROFILE_ENVELOPE, } from "../proof/generator.js";
|
|
9
|
+
import { KYA_OS_PROOF_META_KEY, LEGACY_NAMESPACED_PROOF_META_KEY, LEGACY_PROOF_META_KEY, RESPONSE_PROOF_PROFILE_ENVELOPE, } from "../proof/generator.js";
|
|
10
10
|
import { validateHandshakeFormat, } from "../session/manager.js";
|
|
11
11
|
import { base64urlEncodeFromBytes } from "../utils/base64.js";
|
|
12
12
|
import { logger } from "../logging/index.js";
|
|
13
13
|
import { KYA_OS_ERROR_CODES } from "../errors.js";
|
|
14
14
|
import { sanitizeForMessage } from "./with-kya-os.helpers.js";
|
|
15
|
+
/** The `_meta` member carrying this middleware's audit-lifecycle marker. */
|
|
16
|
+
const auditMetaKey = 'org.kya-os/audit';
|
|
17
|
+
/**
|
|
18
|
+
* The private `_meta` member a middleware's wrappers stamp their results with
|
|
19
|
+
* while an outer layer (the withKyaOs transport) reads them. It holds a random
|
|
20
|
+
* per-middleware token, and the transport strips it before a message leaves,
|
|
21
|
+
* so it never reaches the wire. It lives in `_meta` because the MCP SDK
|
|
22
|
+
* re-creates the result object when it validates it, and `_meta` survives
|
|
23
|
+
* that.
|
|
24
|
+
*/
|
|
25
|
+
export const LIFECYCLE_STAMP_META_KEY = 'org.kya-os/lifecycle-stamp';
|
|
26
|
+
/**
|
|
27
|
+
* `_meta` members only the middleware itself may set: proofs, a proof error,
|
|
28
|
+
* the audit marker and the lifecycle stamp. A tool result carrying them that
|
|
29
|
+
* the middleware did not produce (content relayed from an upstream server, or
|
|
30
|
+
* set by the handler) cannot be told apart from a forgery.
|
|
31
|
+
*/
|
|
32
|
+
const outcomeMetaKeys = [
|
|
33
|
+
KYA_OS_PROOF_META_KEY,
|
|
34
|
+
LEGACY_NAMESPACED_PROOF_META_KEY,
|
|
35
|
+
LEGACY_PROOF_META_KEY,
|
|
36
|
+
'proofError',
|
|
37
|
+
auditMetaKey,
|
|
38
|
+
LIFECYCLE_STAMP_META_KEY,
|
|
39
|
+
];
|
|
40
|
+
/** `result` without the `_meta` members in `keys`, dropping `_meta` if nothing else is left. */
|
|
41
|
+
function withoutMetaKeys(result, keys) {
|
|
42
|
+
const metadata = result._meta;
|
|
43
|
+
if (metadata === undefined || !keys.some((key) => Object.hasOwn(metadata, key))) {
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
const kept = Object.fromEntries(Object.entries(metadata).filter(([key]) => !keys.includes(key)));
|
|
47
|
+
const copy = { ...result };
|
|
48
|
+
if (Object.keys(kept).length > 0)
|
|
49
|
+
copy._meta = kept;
|
|
50
|
+
else
|
|
51
|
+
delete copy._meta;
|
|
52
|
+
return copy;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Remove the `_meta` members only the middleware may set (proofs, proof error,
|
|
56
|
+
* audit marker, lifecycle stamp) from a result it did not produce, keeping
|
|
57
|
+
* every other member (traceparent and the like). Returns a copy when anything
|
|
58
|
+
* is removed.
|
|
59
|
+
*/
|
|
60
|
+
export function withoutOutcomeMeta(result) {
|
|
61
|
+
return withoutMetaKeys(result, outcomeMetaKeys);
|
|
62
|
+
}
|
|
63
|
+
/** Remove the lifecycle stamp, which must never leave the process. */
|
|
64
|
+
export function withoutLifecycleStamp(result) {
|
|
65
|
+
return withoutMetaKeys(result, [LIFECYCLE_STAMP_META_KEY]);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Each middleware's hook for an outer auto-proof layer, keyed by its
|
|
69
|
+
* `wrapWithProof` so the transport can reach it from whatever
|
|
70
|
+
* `KyaOsMiddleware` it is handed without widening the public interface; a
|
|
71
|
+
* custom implementation simply has no entry.
|
|
72
|
+
*/
|
|
73
|
+
const outerProofLayerHooks = new WeakMap();
|
|
74
|
+
/**
|
|
75
|
+
* Tell the middleware behind `wrapWithProof` that an outer layer (the withKyaOs
|
|
76
|
+
* transport) reads its results. From then on its wrappers stamp what they
|
|
77
|
+
* return with the middleware's token. Returns the check for that stamp, or
|
|
78
|
+
* undefined for a middleware this module did not create, whose results are
|
|
79
|
+
* then never treated as its own.
|
|
80
|
+
*/
|
|
81
|
+
export function attachOuterProofLayer(wrapWithProof) {
|
|
82
|
+
return outerProofLayerHooks.get(wrapWithProof)?.();
|
|
83
|
+
}
|
|
15
84
|
export function createSessionProof(deps) {
|
|
16
85
|
const { identity, config, cryptoProvider, sessionManager, proofGenerator, auditLog, audit, emitLegacyProofKey, responseProofProfile, } = deps;
|
|
17
86
|
const bindsEnvelope = responseProofProfile === RESPONSE_PROOF_PROFILE_ENVELOPE;
|
|
18
87
|
const auditedTerminalResponses = new WeakSet();
|
|
19
|
-
|
|
88
|
+
// This middleware's lifecycle token, minted once an outer layer reads its
|
|
89
|
+
// results. Only wrappers holding it can stamp a result as their own.
|
|
90
|
+
let lifecycleStamp;
|
|
91
|
+
const hasOwnStamp = (response) => lifecycleStamp !== undefined &&
|
|
92
|
+
response._meta?.[LIFECYCLE_STAMP_META_KEY] === lifecycleStamp;
|
|
20
93
|
const emitAudit = async (label, operation, toolName) => {
|
|
21
94
|
try {
|
|
22
95
|
await operation();
|
|
@@ -73,6 +146,27 @@ export function createSessionProof(deps) {
|
|
|
73
146
|
return typeof auditMetadata === 'object' && auditMetadata !== null &&
|
|
74
147
|
auditMetadata.terminal === true;
|
|
75
148
|
};
|
|
149
|
+
/**
|
|
150
|
+
* The handler's `_meta` members a proof or proof error is merged into: every
|
|
151
|
+
* member except the proofs, proof error, audit marker and stamp, which only
|
|
152
|
+
* the middleware sets. A handler relaying an upstream result could
|
|
153
|
+
* otherwise ship them next to this middleware's proof.
|
|
154
|
+
*/
|
|
155
|
+
const handlerMeta = (response) => withoutOutcomeMeta(response)._meta ?? {};
|
|
156
|
+
/**
|
|
157
|
+
* Stamp a result whose lifecycle a wrapper has run, so the outer layer
|
|
158
|
+
* neither re-proves nor re-audits it. Without an outer layer there is no
|
|
159
|
+
* token, nothing would strip the stamp, and the result is returned as it was.
|
|
160
|
+
*/
|
|
161
|
+
const stampLifecycle = (response) => {
|
|
162
|
+
if (lifecycleStamp === undefined)
|
|
163
|
+
return response;
|
|
164
|
+
response._meta = {
|
|
165
|
+
...(response._meta ?? {}),
|
|
166
|
+
[LIFECYCLE_STAMP_META_KEY]: lifecycleStamp,
|
|
167
|
+
};
|
|
168
|
+
return response;
|
|
169
|
+
};
|
|
76
170
|
const auditContext = (context) => context === undefined
|
|
77
171
|
? undefined
|
|
78
172
|
: {
|
|
@@ -163,11 +257,40 @@ export function createSessionProof(deps) {
|
|
|
163
257
|
...(result.error && { isError: true }),
|
|
164
258
|
};
|
|
165
259
|
}
|
|
260
|
+
// The store keeps an expired session until something deletes it, so its raw
|
|
261
|
+
// size overcounts live sessions: one stale session would leave the fallback
|
|
262
|
+
// ambiguous for good. A count above one triggers a sweep first, at most once
|
|
263
|
+
// per interval so a genuinely multi-client deployment does not scan the
|
|
264
|
+
// whole store on every unthreaded call.
|
|
265
|
+
const sessionSweepIntervalMs = 60_000;
|
|
266
|
+
let lastSessionSweepAt;
|
|
267
|
+
async function liveSessionCount() {
|
|
268
|
+
const count = sessionManager.getStats().activeSessions;
|
|
269
|
+
const now = Date.now();
|
|
270
|
+
if (count <= 1 ||
|
|
271
|
+
(lastSessionSweepAt !== undefined && now - lastSessionSweepAt < sessionSweepIntervalMs)) {
|
|
272
|
+
return count;
|
|
273
|
+
}
|
|
274
|
+
lastSessionSweepAt = now;
|
|
275
|
+
try {
|
|
276
|
+
await sessionManager.cleanup();
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
logger.error("[kya-os] Session sweep failed", {
|
|
280
|
+
error: error instanceof Error ? error.message : String(error),
|
|
281
|
+
});
|
|
282
|
+
return count;
|
|
283
|
+
}
|
|
284
|
+
return sessionManager.getStats().activeSessions;
|
|
285
|
+
}
|
|
286
|
+
// Concurrent first calls share one in-flight auto session: one per caller
|
|
287
|
+
// would leave several live sessions, and every later call ambiguous.
|
|
288
|
+
let autoSessionInFlight;
|
|
166
289
|
async function ensureSession() {
|
|
167
290
|
if (activeSessionId) {
|
|
168
291
|
const existing = await sessionManager.getSession(activeSessionId);
|
|
169
292
|
if (existing) {
|
|
170
|
-
if (
|
|
293
|
+
if ((await liveSessionCount()) <= 1) {
|
|
171
294
|
return activeSessionId;
|
|
172
295
|
}
|
|
173
296
|
// Ambiguous: more than one session and none threaded — do NOT borrow.
|
|
@@ -179,6 +302,12 @@ export function createSessionProof(deps) {
|
|
|
179
302
|
}
|
|
180
303
|
if (!config.autoSession)
|
|
181
304
|
return undefined;
|
|
305
|
+
autoSessionInFlight ??= createAutoSession().finally(() => {
|
|
306
|
+
autoSessionInFlight = undefined;
|
|
307
|
+
});
|
|
308
|
+
return autoSessionInFlight;
|
|
309
|
+
}
|
|
310
|
+
async function createAutoSession() {
|
|
182
311
|
// Generate a server-side session with cryptographically random nonce (SPEC.md §4)
|
|
183
312
|
const nonceBytes = await cryptoProvider.randomBytes(16);
|
|
184
313
|
const nonce = base64urlEncodeFromBytes(nonceBytes);
|
|
@@ -195,7 +324,7 @@ export function createSessionProof(deps) {
|
|
|
195
324
|
return undefined;
|
|
196
325
|
}
|
|
197
326
|
function wrapWithProof(toolName, handler) {
|
|
198
|
-
|
|
327
|
+
const run = async (args, sessionId, context) => {
|
|
199
328
|
const intentDelivered = await emitAudit('Required tool intent audit delivery failed', () => audit?.tool('started', {
|
|
200
329
|
toolName,
|
|
201
330
|
outcome: 'unknown',
|
|
@@ -277,8 +406,9 @@ export function createSessionProof(deps) {
|
|
|
277
406
|
const proof = await proofGenerator.generateProof(request, response, session, { scopeId: context?.scopeId, profile: responseProofProfile });
|
|
278
407
|
// Attach proof under the namespaced _meta key (rendered by MCP
|
|
279
408
|
// Inspector, invisible to LLMs), plus the legacy bare key when enabled.
|
|
280
|
-
//
|
|
281
|
-
|
|
409
|
+
// Keys the handler set (traceparent, related-task, ...) are kept: the
|
|
410
|
+
// middleware does not own `_meta` (SPEC §7.6).
|
|
411
|
+
result._meta = withProofMeta(handlerMeta(result), proof);
|
|
282
412
|
const proofAuditDelivered = await emitAudit('Required generated-proof audit delivery failed', () => audit?.proof('generated', {
|
|
283
413
|
outcome: 'succeeded',
|
|
284
414
|
context: auditContext(context),
|
|
@@ -318,6 +448,7 @@ export function createSessionProof(deps) {
|
|
|
318
448
|
error: error instanceof Error ? error.message : String(error),
|
|
319
449
|
});
|
|
320
450
|
result._meta = {
|
|
451
|
+
...handlerMeta(result),
|
|
321
452
|
proofError: "Proof generation failed — response is unproven",
|
|
322
453
|
};
|
|
323
454
|
const rejectionAuditDelivered = await emitAudit('Failed to record proof-generation rejection', () => audit?.proof('rejected', {
|
|
@@ -331,8 +462,13 @@ export function createSessionProof(deps) {
|
|
|
331
462
|
}
|
|
332
463
|
return result;
|
|
333
464
|
};
|
|
465
|
+
return async (args, sessionId, context) => stampLifecycle(await run(args, sessionId, context));
|
|
334
466
|
}
|
|
335
|
-
|
|
467
|
+
outerProofLayerHooks.set(wrapWithProof, () => {
|
|
468
|
+
lifecycleStamp ??= base64urlEncodeFromBytes(globalThis.crypto.getRandomValues(new Uint8Array(16)));
|
|
469
|
+
return hasOwnStamp;
|
|
470
|
+
});
|
|
471
|
+
const outcomeProof = async (response, toolName, args, sessionId, reason, outcome = "denied", paramsOverride, responseData) => {
|
|
336
472
|
const phase = outcome === 'denied' ? 'denied' : 'step_up_required';
|
|
337
473
|
const reasonCode = outcome === 'needs_authorization'
|
|
338
474
|
? 'NEEDS_AUTHORIZATION'
|
|
@@ -424,6 +560,9 @@ export function createSessionProof(deps) {
|
|
|
424
560
|
}
|
|
425
561
|
return response;
|
|
426
562
|
};
|
|
563
|
+
// Outcome results are stamped like wrapper results, so the outer layer
|
|
564
|
+
// passes a signed denial or challenge through instead of re-proving it.
|
|
565
|
+
const attachOutcomeProof = async (...outcome) => stampLifecycle(await outcomeProof(...outcome));
|
|
427
566
|
return { handleHandshake, ensureSession, wrapWithProof, attachOutcomeProof };
|
|
428
567
|
}
|
|
429
568
|
//# sourceMappingURL=with-kya-os.session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"with-kya-os.session.js","sourceRoot":"","sources":["../../src/middleware/with-kya-os.session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"with-kya-os.session.js","sourceRoot":"","sources":["../../src/middleware/with-kya-os.session.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,24 @@ export interface KyaOsCallContext {
|
|
|
38
38
|
authorization?: AuthorizationEvidence;
|
|
39
39
|
correlationId?: string;
|
|
40
40
|
causationId?: string;
|
|
41
|
+
/**
|
|
42
|
+
* The principal `wrapWithDelegation` authenticated: the delegation subject,
|
|
43
|
+
* its controller, and the scopes the verified credential (or durable grant)
|
|
44
|
+
* carries. A composed `withPolicyGate` evaluates these instead of re-reading
|
|
45
|
+
* `_kyaos_delegation`, which the delegation gate has already stripped.
|
|
46
|
+
*/
|
|
47
|
+
principal?: {
|
|
48
|
+
agentDid: string;
|
|
49
|
+
responsibleParty?: string;
|
|
50
|
+
delegatedScopes: readonly string[];
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Approval grants the caller supplied as `_kyaos_approvals`. The delegation
|
|
54
|
+
* gate withholds every `_kyaos*` argument from the handler (and from the
|
|
55
|
+
* holder-binding hash), so it forwards these here for a composed
|
|
56
|
+
* `withPolicyGate` to verify on a step-up resume.
|
|
57
|
+
*/
|
|
58
|
+
approvals?: unknown;
|
|
41
59
|
}
|
|
42
60
|
export interface KyaOsToolHandler<T extends Record<string, unknown> = Record<string, unknown>> {
|
|
43
61
|
(args: T, sessionId?: string, context?: KyaOsCallContext): Promise<{
|
|
@@ -164,7 +182,12 @@ export interface PolicyGateOptions {
|
|
|
164
182
|
classifier?: RiskClassifier;
|
|
165
183
|
/** Derive the resource namespace from the tool args (defaults to the tool name). */
|
|
166
184
|
resolveNamespace?: (args: Record<string, unknown>) => string;
|
|
167
|
-
/**
|
|
185
|
+
/**
|
|
186
|
+
* Tool-arg key carrying approval grants on resume. Default "_kyaos_approvals".
|
|
187
|
+
* Composed after `wrapWithDelegation`, the default key arrives through the
|
|
188
|
+
* call context (the outer gate strips `_kyaos*` arguments); a custom key
|
|
189
|
+
* outside that prefix passes through as an ordinary argument.
|
|
190
|
+
*/
|
|
168
191
|
approvalsArgKey?: string;
|
|
169
192
|
/** Verifier for approval-grant signatures (identity-layer). Default: reject all. */
|
|
170
193
|
isValidApprovalSignature?: (grant: ApprovalGrant) => Promise<boolean>;
|
|
@@ -175,10 +198,10 @@ export interface PolicyGateOptions {
|
|
|
175
198
|
* scope or identity, so it must NOT be trusted to allow on its own. When you
|
|
176
199
|
* compose it AFTER wrapWithDelegation (the expected usage), pass
|
|
177
200
|
* `scopeMatched: true` to signal that the delegated scope was already verified.
|
|
178
|
-
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
201
|
+
* Composed that way, the engine sees the principal and scopes the delegation
|
|
202
|
+
* gate authenticated (via the call context). Used standalone, principal facts
|
|
203
|
+
* are projected from the (unverified) `_kyaos_delegation` arg on a best-effort
|
|
204
|
+
* basis and must not be treated as authenticated.
|
|
181
205
|
*/
|
|
182
206
|
scopeMatched?: boolean;
|
|
183
207
|
}
|
|
184
|
-
//# sourceMappingURL=with-kya-os.types.d.ts.map
|
|
@@ -19,6 +19,14 @@ export interface ApprovalGrant {
|
|
|
19
19
|
export interface QuorumResult {
|
|
20
20
|
satisfied: boolean;
|
|
21
21
|
reason?: string;
|
|
22
|
+
/**
|
|
23
|
+
* The distinct approver DIDs whose grants verified (allowlisted, bound to the
|
|
24
|
+
* request, signature accepted), whether or not they reached the quorum. The
|
|
25
|
+
* only set a policy engine's `humanApprovals` should be built from.
|
|
26
|
+
* `verifyApprovalQuorum` always sets it; it is optional so that code
|
|
27
|
+
* building its own `QuorumResult` keeps compiling.
|
|
28
|
+
*/
|
|
29
|
+
approvers?: string[];
|
|
22
30
|
}
|
|
23
31
|
export interface Quorum {
|
|
24
32
|
n: number;
|
|
@@ -29,6 +37,9 @@ export interface Quorum {
|
|
|
29
37
|
* Quorum is satisfied iff at least `quorum.n` DISTINCT approvers each signed an
|
|
30
38
|
* `approve` grant over EXACTLY `requestHash`, drawn from `quorum.approvers`
|
|
31
39
|
* (empty = any), with a signature accepted by `isValidSignature`.
|
|
40
|
+
*
|
|
41
|
+
* `requestHash` may list several hashes when they all identify the one
|
|
42
|
+
* suspended action, as the hashes of its legacy and SPEC §7.3 request shapes
|
|
43
|
+
* do; a grant over any of them counts.
|
|
32
44
|
*/
|
|
33
|
-
export declare function verifyApprovalQuorum(grants: ApprovalGrant[], requestHash: string, quorum: Quorum, isValidSignature: (g: ApprovalGrant) => Promise<boolean>): Promise<QuorumResult>;
|
|
34
|
-
//# sourceMappingURL=approval.d.ts.map
|
|
45
|
+
export declare function verifyApprovalQuorum(grants: ApprovalGrant[], requestHash: string | readonly string[], quorum: Quorum, isValidSignature: (g: ApprovalGrant) => Promise<boolean>): Promise<QuorumResult>;
|
package/dist/policy/approval.js
CHANGED
|
@@ -2,18 +2,25 @@
|
|
|
2
2
|
* Quorum is satisfied iff at least `quorum.n` DISTINCT approvers each signed an
|
|
3
3
|
* `approve` grant over EXACTLY `requestHash`, drawn from `quorum.approvers`
|
|
4
4
|
* (empty = any), with a signature accepted by `isValidSignature`.
|
|
5
|
+
*
|
|
6
|
+
* `requestHash` may list several hashes when they all identify the one
|
|
7
|
+
* suspended action, as the hashes of its legacy and SPEC §7.3 request shapes
|
|
8
|
+
* do; a grant over any of them counts.
|
|
5
9
|
*/
|
|
6
10
|
export async function verifyApprovalQuorum(grants, requestHash, quorum, isValidSignature) {
|
|
11
|
+
const actionHashes = typeof requestHash === 'string'
|
|
12
|
+
? [requestHash]
|
|
13
|
+
: requestHash;
|
|
7
14
|
// A non-positive quorum is a misconfiguration (e.g. a third-party engine
|
|
8
15
|
// returning {n:0}); treat it as never-satisfiable rather than auto-passing.
|
|
9
16
|
if (quorum.n <= 0) {
|
|
10
|
-
return { satisfied: false, reason: 'invalid_quorum:n<=0' };
|
|
17
|
+
return { satisfied: false, reason: 'invalid_quorum:n<=0', approvers: [] };
|
|
11
18
|
}
|
|
12
19
|
const approvers = new Set();
|
|
13
20
|
for (const g of grants) {
|
|
14
21
|
if (g.decision !== 'approve')
|
|
15
22
|
continue;
|
|
16
|
-
if (g.requestHash
|
|
23
|
+
if (!actionHashes.includes(g.requestHash))
|
|
17
24
|
continue; // TOCTOU guard
|
|
18
25
|
if (quorum.approvers.length > 0 && !quorum.approvers.includes(g.approverDid))
|
|
19
26
|
continue;
|
|
@@ -22,8 +29,12 @@ export async function verifyApprovalQuorum(grants, requestHash, quorum, isValidS
|
|
|
22
29
|
approvers.add(g.approverDid);
|
|
23
30
|
}
|
|
24
31
|
if (approvers.size >= quorum.n) {
|
|
25
|
-
return { satisfied: true };
|
|
32
|
+
return { satisfied: true, approvers: [...approvers] };
|
|
26
33
|
}
|
|
27
|
-
return {
|
|
34
|
+
return {
|
|
35
|
+
satisfied: false,
|
|
36
|
+
reason: `quorum_not_met:${approvers.size}/${quorum.n}`,
|
|
37
|
+
approvers: [...approvers],
|
|
38
|
+
};
|
|
28
39
|
}
|
|
29
40
|
//# sourceMappingURL=approval.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/policy/approval.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"approval.js","sourceRoot":"","sources":["../../src/policy/approval.ts"],"names":[],"mappings":"AAsCA;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAuB,EACvB,WAAuC,EACvC,MAAc,EACd,gBAAwD;IAExD,MAAM,YAAY,GAAsB,OAAO,WAAW,KAAK,QAAQ;QACrE,CAAC,CAAC,CAAC,WAAW,CAAC;QACf,CAAC,CAAC,WAAW,CAAC;IAChB,yEAAyE;IACzE,4EAA4E;IAC5E,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;IAC5E,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;YAAE,SAAS;QACvC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;YAAE,SAAS,CAAC,eAAe;QACpE,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC;YAAE,SAAS;QACvF,IAAI,CAAC,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC,CAAC;YAAE,SAAS;QAC3C,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC;IACxD,CAAC;IACD,OAAO;QACL,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,kBAAkB,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,CAAC,EAAE;QACtD,SAAS,EAAE,CAAC,GAAG,SAAS,CAAC;KAC1B,CAAC;AACJ,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { PolicyEngine } from './engine.js';
|
|
2
2
|
import type { PolicyRequest, PolicyDecision } from './types.js';
|
|
3
3
|
export interface DefaultPolicyConfig {
|
|
4
|
-
/**
|
|
4
|
+
/** Distinct approvals required for a step-up. Default 1. */
|
|
5
5
|
stepUpQuorum?: number;
|
|
6
6
|
/** Allowed approver DIDs; empty/undefined = any identity may approve. */
|
|
7
7
|
stepUpApprovers?: string[];
|
|
@@ -13,6 +13,10 @@ export interface DefaultPolicyConfig {
|
|
|
13
13
|
* - irreversible/high/catastrophic → step_up (or allow once quorum met)
|
|
14
14
|
* - otherwise → allow
|
|
15
15
|
*
|
|
16
|
+
* The quorum counts DISTINCT approver DIDs from `context.humanApprovals`, and
|
|
17
|
+
* only those on `stepUpApprovers` when it is set. Feed `humanApprovals` from
|
|
18
|
+
* `verifyApprovalQuorum(...).approvers`, never from unverified input.
|
|
19
|
+
*
|
|
16
20
|
* Production deployments are expected to swap in an OPA/Rego or Cedar adapter;
|
|
17
21
|
* this engine encodes the same fail-closed posture as a sensible default.
|
|
18
22
|
*/
|
|
@@ -21,4 +25,3 @@ export declare class DefaultPolicyEngine implements PolicyEngine {
|
|
|
21
25
|
constructor(cfg?: DefaultPolicyConfig);
|
|
22
26
|
evaluate(req: PolicyRequest): Promise<PolicyDecision>;
|
|
23
27
|
}
|
|
24
|
-
//# sourceMappingURL=default-engine.d.ts.map
|
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
* - irreversible/high/catastrophic → step_up (or allow once quorum met)
|
|
6
6
|
* - otherwise → allow
|
|
7
7
|
*
|
|
8
|
+
* The quorum counts DISTINCT approver DIDs from `context.humanApprovals`, and
|
|
9
|
+
* only those on `stepUpApprovers` when it is set. Feed `humanApprovals` from
|
|
10
|
+
* `verifyApprovalQuorum(...).approvers`, never from unverified input.
|
|
11
|
+
*
|
|
8
12
|
* Production deployments are expected to swap in an OPA/Rego or Cedar adapter;
|
|
9
13
|
* this engine encodes the same fail-closed posture as a sensible default.
|
|
10
14
|
*/
|
|
@@ -26,12 +30,16 @@ export class DefaultPolicyEngine {
|
|
|
26
30
|
severity === 'high';
|
|
27
31
|
if (dangerous) {
|
|
28
32
|
const n = this.cfg.stepUpQuorum ?? 1;
|
|
29
|
-
|
|
33
|
+
// Distinct DIDs only, and only allowlisted ones when an allowlist is set:
|
|
34
|
+
// one approver named twice is not two approvals.
|
|
35
|
+
const allowed = this.cfg.stepUpApprovers ?? [];
|
|
36
|
+
const approvers = new Set(humanApprovals.filter((did) => allowed.length === 0 || allowed.includes(did)));
|
|
37
|
+
if (approvers.size >= n) {
|
|
30
38
|
return { decision: 'allow' };
|
|
31
39
|
}
|
|
32
40
|
return {
|
|
33
41
|
decision: 'step_up',
|
|
34
|
-
quorum: { n, approvers:
|
|
42
|
+
quorum: { n, approvers: allowed },
|
|
35
43
|
reason: 'destructive_action_requires_approval',
|
|
36
44
|
};
|
|
37
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-engine.js","sourceRoot":"","sources":["../../src/policy/default-engine.ts"],"names":[],"mappings":"AAUA
|
|
1
|
+
{"version":3,"file":"default-engine.js","sourceRoot":"","sources":["../../src/policy/default-engine.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,mBAAmB;IACD;IAA7B,YAA6B,MAA2B,EAAE;QAA7B,QAAG,GAAH,GAAG,CAA0B;IAAG,CAAC;IAE9D,KAAK,CAAC,QAAQ,CAAC,GAAkB;QAC/B,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QAE9E,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;QAC3D,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC;QAChE,CAAC;QAED,MAAM,SAAS,GACb,aAAa,KAAK,cAAc;YAChC,QAAQ,KAAK,cAAc;YAC3B,QAAQ,KAAK,MAAM,CAAC;QAEtB,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC;YACrC,0EAA0E;YAC1E,iDAAiD;YACjD,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC;YAC/C,MAAM,SAAS,GAAG,IAAI,GAAG,CACvB,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAC9E,CAAC;YACF,IAAI,SAAS,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;gBACxB,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAC/B,CAAC;YACD,OAAO;gBACL,QAAQ,EAAE,SAAS;gBACnB,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE;gBACjC,MAAM,EAAE,sCAAsC;aAC/C,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAC/B,CAAC;CACF"}
|
package/dist/policy/engine.d.ts
CHANGED
package/dist/policy/index.d.ts
CHANGED
package/dist/policy/types.d.ts
CHANGED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The request a proof's `requestHash` covers (SPEC §7.3), and the shapes of
|
|
3
|
+
* one tool call a verifier accepts it for.
|
|
4
|
+
*
|
|
5
|
+
* SPEC §7.3 covers the JSON-RPC request the client actually sends, so anyone
|
|
6
|
+
* holding the wire message can recompute the hash: the `tools/call` message's
|
|
7
|
+
* `{ method, params }` with the members that cannot be signed taken out.
|
|
8
|
+
* `params._meta` is intermediary-mutable transport metadata, and the
|
|
9
|
+
* `_kyaos`-prefixed control arguments carry the credentials that authorize the
|
|
10
|
+
* call (a delegation, the holder-binding proof, approval grants); two of those
|
|
11
|
+
* are themselves bound to this hash, so covering them would make the hash
|
|
12
|
+
* depend on its own output.
|
|
13
|
+
*
|
|
14
|
+
* Producers in 1.x still hash the legacy shape `{ method: <tool name>, params:
|
|
15
|
+
* <arguments> }`, so verifiers already deployed keep accepting their proofs.
|
|
16
|
+
* Verifiers accept a hash of either shape of the same call (see
|
|
17
|
+
* {@link alternateRequestShapes}); producers switch to the §7.3 shape in 2.0.0.
|
|
18
|
+
*/
|
|
19
|
+
import type { ToolRequest } from './generator.js';
|
|
20
|
+
/**
|
|
21
|
+
* Whether an argument key is reserved KYA-OS protocol envelope (`_kyaos*`:
|
|
22
|
+
* `_kyaos_delegation`, `_kyaos_proof`, `_kyaos_approvals`, …) rather than caller
|
|
23
|
+
* tool intent. The SINGLE predicate behind both the request hash and the
|
|
24
|
+
* middleware's handler-arg stripping, so the set excluded from the bound hash
|
|
25
|
+
* and the set withheld from the handler cannot drift — a proof binds exactly the
|
|
26
|
+
* call the handler runs.
|
|
27
|
+
*/
|
|
28
|
+
export declare function isKyaOsControlArg(key: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The other shapes of the call `request` describes, whose `requestHash` a
|
|
31
|
+
* verifier accepts as well as the hash of `request` itself. A caller may hold
|
|
32
|
+
* the call in either shape: the legacy shape `{ method: <tool name>, params:
|
|
33
|
+
* <arguments> }` that 1.x producers sign, or the `tools/call` request as sent.
|
|
34
|
+
* From either, this yields the SPEC §7.3 covered request and the legacy shape
|
|
35
|
+
* with the arguments as given and with the control args removed: 1.x
|
|
36
|
+
* producers differ in whether control args stay in the legacy shape (the
|
|
37
|
+
* holder-binding request, the step-up hash and wrapped handlers drop them, a
|
|
38
|
+
* proof added at the transport keeps them).
|
|
39
|
+
*
|
|
40
|
+
* Every shape describes the same tool name and business arguments, so
|
|
41
|
+
* accepting any of them binds the same call. The legacy shape keeps its known
|
|
42
|
+
* ambiguities for the 1.x line: a tool named after a JSON-RPC method hashes
|
|
43
|
+
* like that method's request, and `params` members other than the arguments
|
|
44
|
+
* are not covered.
|
|
45
|
+
*/
|
|
46
|
+
export declare function alternateRequestShapes(request: ToolRequest): ToolRequest[];
|