@vorionsys/atsf-core 0.2.3 → 0.3.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/CHANGELOG.md +1 -0
- package/LICENSE +1 -1
- package/README.md +82 -29
- package/dist/adapters/base-adapter.d.ts +94 -0
- package/dist/adapters/base-adapter.d.ts.map +1 -0
- package/dist/adapters/base-adapter.js +233 -0
- package/dist/adapters/base-adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +9 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +5 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/types.d.ts +83 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +4 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/adapters/webhook-handler.d.ts +64 -0
- package/dist/adapters/webhook-handler.d.ts.map +1 -0
- package/dist/adapters/webhook-handler.js +170 -0
- package/dist/adapters/webhook-handler.js.map +1 -0
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +3 -1
- package/dist/api/index.js.map +1 -1
- package/dist/api/server.d.ts +2 -2
- package/dist/api/server.d.ts.map +1 -1
- package/dist/api/server.js +149 -184
- package/dist/api/server.js.map +1 -1
- package/dist/arbitration/index.d.ts +4 -12
- package/dist/arbitration/index.d.ts.map +1 -1
- package/dist/arbitration/index.js +43 -46
- package/dist/arbitration/index.js.map +1 -1
- package/dist/arbitration/types.d.ts +10 -10
- package/dist/arbitration/types.d.ts.map +1 -1
- package/dist/arbitration/types.js +2 -8
- package/dist/arbitration/types.js.map +1 -1
- package/dist/basis/evaluator.d.ts +1 -6
- package/dist/basis/evaluator.d.ts.map +1 -1
- package/dist/basis/evaluator.js +56 -56
- package/dist/basis/evaluator.js.map +1 -1
- package/dist/basis/index.d.ts +3 -3
- package/dist/basis/index.d.ts.map +1 -1
- package/dist/basis/index.js +5 -3
- package/dist/basis/index.js.map +1 -1
- package/dist/basis/parser.d.ts +30 -30
- package/dist/basis/parser.d.ts.map +1 -1
- package/dist/basis/parser.js +27 -32
- package/dist/basis/parser.js.map +1 -1
- package/dist/basis/types.d.ts +2 -2
- package/dist/basis/types.d.ts.map +1 -1
- package/dist/basis/types.js +2 -3
- package/dist/basis/types.js.map +1 -1
- package/dist/chain/index.d.ts +0 -8
- package/dist/chain/index.d.ts.map +1 -1
- package/dist/chain/index.js +18 -16
- package/dist/chain/index.js.map +1 -1
- package/dist/cognigate/index.d.ts +1 -9
- package/dist/cognigate/index.d.ts.map +1 -1
- package/dist/cognigate/index.js +35 -44
- package/dist/cognigate/index.js.map +1 -1
- package/dist/common/adapters.d.ts +4 -4
- package/dist/common/adapters.d.ts.map +1 -1
- package/dist/common/adapters.js +54 -70
- package/dist/common/adapters.js.map +1 -1
- package/dist/common/config.d.ts +69 -68
- package/dist/common/config.d.ts.map +1 -1
- package/dist/common/config.js +52 -50
- package/dist/common/config.js.map +1 -1
- package/dist/common/index.d.ts +4 -4
- package/dist/common/index.d.ts.map +1 -1
- package/dist/common/index.js +6 -4
- package/dist/common/index.js.map +1 -1
- package/dist/common/logger.d.ts +1 -1
- package/dist/common/logger.d.ts.map +1 -1
- package/dist/common/logger.js +10 -8
- package/dist/common/logger.js.map +1 -1
- package/dist/common/types.d.ts +12 -12
- package/dist/common/types.d.ts.map +1 -1
- package/dist/common/types.js +7 -14
- package/dist/common/types.js.map +1 -1
- package/dist/containment/index.d.ts +3 -11
- package/dist/containment/index.d.ts.map +1 -1
- package/dist/containment/index.js +107 -119
- package/dist/containment/index.js.map +1 -1
- package/dist/containment/types.d.ts +11 -11
- package/dist/containment/types.d.ts.map +1 -1
- package/dist/containment/types.js +2 -8
- package/dist/containment/types.js.map +1 -1
- package/dist/contracts/index.d.ts +9 -17
- package/dist/contracts/index.d.ts.map +1 -1
- package/dist/contracts/index.js +56 -59
- package/dist/contracts/index.js.map +1 -1
- package/dist/contracts/types.d.ts +12 -12
- package/dist/contracts/types.d.ts.map +1 -1
- package/dist/contracts/types.js +2 -8
- package/dist/contracts/types.js.map +1 -1
- package/dist/crewai/callback.d.ts +2 -9
- package/dist/crewai/callback.d.ts.map +1 -1
- package/dist/crewai/callback.js +29 -27
- package/dist/crewai/callback.js.map +1 -1
- package/dist/crewai/executor.d.ts +95 -11
- package/dist/crewai/executor.d.ts.map +1 -1
- package/dist/crewai/executor.js +459 -16
- package/dist/crewai/executor.js.map +1 -1
- package/dist/crewai/index.d.ts +4 -4
- package/dist/crewai/index.d.ts.map +1 -1
- package/dist/crewai/index.js +6 -4
- package/dist/crewai/index.js.map +1 -1
- package/dist/crewai/tools.d.ts +1 -1
- package/dist/crewai/tools.d.ts.map +1 -1
- package/dist/crewai/tools.js +40 -46
- package/dist/crewai/tools.js.map +1 -1
- package/dist/crewai/types.d.ts +66 -3
- package/dist/crewai/types.d.ts.map +1 -1
- package/dist/crewai/types.js +2 -7
- package/dist/crewai/types.js.map +1 -1
- package/dist/enforce/index.d.ts +226 -19
- package/dist/enforce/index.d.ts.map +1 -1
- package/dist/enforce/index.js +55 -81
- package/dist/enforce/index.js.map +1 -1
- package/dist/enforce/trust-aware-enforcement-service.d.ts +8 -23
- package/dist/enforce/trust-aware-enforcement-service.d.ts.map +1 -1
- package/dist/enforce/trust-aware-enforcement-service.js +109 -125
- package/dist/enforce/trust-aware-enforcement-service.js.map +1 -1
- package/dist/governance/fluid-workflow.d.ts +8 -16
- package/dist/governance/fluid-workflow.d.ts.map +1 -1
- package/dist/governance/fluid-workflow.js +88 -114
- package/dist/governance/fluid-workflow.js.map +1 -1
- package/dist/governance/index.d.ts +7 -15
- package/dist/governance/index.d.ts.map +1 -1
- package/dist/governance/index.js +76 -81
- package/dist/governance/index.js.map +1 -1
- package/dist/governance/proof-bridge.d.ts +6 -6
- package/dist/governance/proof-bridge.d.ts.map +1 -1
- package/dist/governance/proof-bridge.js +6 -16
- package/dist/governance/proof-bridge.js.map +1 -1
- package/dist/governance/types.d.ts +9 -16
- package/dist/governance/types.d.ts.map +1 -1
- package/dist/governance/types.js +2 -8
- package/dist/governance/types.js.map +1 -1
- package/dist/index.d.ts +30 -29
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +33 -31
- package/dist/index.js.map +1 -1
- package/dist/intent/index.d.ts +55 -18
- package/dist/intent/index.d.ts.map +1 -1
- package/dist/intent/index.js +25 -26
- package/dist/intent/index.js.map +1 -1
- package/dist/intent/persistent-intent-service.d.ts +2 -17
- package/dist/intent/persistent-intent-service.d.ts.map +1 -1
- package/dist/intent/persistent-intent-service.js +33 -43
- package/dist/intent/persistent-intent-service.js.map +1 -1
- package/dist/intent/supabase-intent-repository.d.ts +107 -0
- package/dist/intent/supabase-intent-repository.d.ts.map +1 -0
- package/dist/intent/supabase-intent-repository.js +406 -0
- package/dist/intent/supabase-intent-repository.js.map +1 -0
- package/dist/intent-gateway/index.d.ts +5 -28
- package/dist/intent-gateway/index.d.ts.map +1 -1
- package/dist/intent-gateway/index.js +341 -508
- package/dist/intent-gateway/index.js.map +1 -1
- package/dist/langchain/callback.d.ts +2 -9
- package/dist/langchain/callback.d.ts.map +1 -1
- package/dist/langchain/callback.js +32 -30
- package/dist/langchain/callback.js.map +1 -1
- package/dist/langchain/executor.d.ts +4 -11
- package/dist/langchain/executor.d.ts.map +1 -1
- package/dist/langchain/executor.js +82 -82
- package/dist/langchain/executor.js.map +1 -1
- package/dist/langchain/index.d.ts +5 -5
- package/dist/langchain/index.d.ts.map +1 -1
- package/dist/langchain/index.js +7 -5
- package/dist/langchain/index.js.map +1 -1
- package/dist/langchain/tools.d.ts +1 -1
- package/dist/langchain/tools.d.ts.map +1 -1
- package/dist/langchain/tools.js +36 -43
- package/dist/langchain/tools.js.map +1 -1
- package/dist/langchain/types.d.ts +3 -3
- package/dist/langchain/types.d.ts.map +1 -1
- package/dist/langchain/types.js +2 -7
- package/dist/langchain/types.js.map +1 -1
- package/dist/layers/implementations/L0-request-format.d.ts +2 -2
- package/dist/layers/implementations/L0-request-format.d.ts.map +1 -1
- package/dist/layers/implementations/L0-request-format.js +54 -54
- package/dist/layers/implementations/L0-request-format.js.map +1 -1
- package/dist/layers/implementations/L1-input-size.d.ts +2 -2
- package/dist/layers/implementations/L1-input-size.d.ts.map +1 -1
- package/dist/layers/implementations/L1-input-size.js +41 -49
- package/dist/layers/implementations/L1-input-size.js.map +1 -1
- package/dist/layers/implementations/L2-charset-sanitizer.d.ts +2 -2
- package/dist/layers/implementations/L2-charset-sanitizer.d.ts.map +1 -1
- package/dist/layers/implementations/L2-charset-sanitizer.js +73 -81
- package/dist/layers/implementations/L2-charset-sanitizer.js.map +1 -1
- package/dist/layers/implementations/L3-schema-conformance.d.ts +3 -3
- package/dist/layers/implementations/L3-schema-conformance.d.ts.map +1 -1
- package/dist/layers/implementations/L3-schema-conformance.js +75 -82
- package/dist/layers/implementations/L3-schema-conformance.js.map +1 -1
- package/dist/layers/implementations/L4-injection-detector.d.ts +4 -4
- package/dist/layers/implementations/L4-injection-detector.d.ts.map +1 -1
- package/dist/layers/implementations/L4-injection-detector.js +83 -85
- package/dist/layers/implementations/L4-injection-detector.js.map +1 -1
- package/dist/layers/implementations/L5-rate-limiter.d.ts +2 -2
- package/dist/layers/implementations/L5-rate-limiter.d.ts.map +1 -1
- package/dist/layers/implementations/L5-rate-limiter.js +22 -20
- package/dist/layers/implementations/L5-rate-limiter.js.map +1 -1
- package/dist/layers/implementations/index.d.ts +6 -6
- package/dist/layers/implementations/index.d.ts.map +1 -1
- package/dist/layers/implementations/index.js +8 -6
- package/dist/layers/implementations/index.js.map +1 -1
- package/dist/layers/index.d.ts +3 -11
- package/dist/layers/index.d.ts.map +1 -1
- package/dist/layers/index.js +73 -99
- package/dist/layers/index.js.map +1 -1
- package/dist/layers/types.d.ts +16 -16
- package/dist/layers/types.d.ts.map +1 -1
- package/dist/layers/types.js +2 -8
- package/dist/layers/types.js.map +1 -1
- package/dist/paramesphere/activation-collector.d.ts +128 -0
- package/dist/paramesphere/activation-collector.d.ts.map +1 -0
- package/dist/paramesphere/activation-collector.js +260 -0
- package/dist/paramesphere/activation-collector.js.map +1 -0
- package/dist/paramesphere/cognitive-envelope.d.ts +73 -0
- package/dist/paramesphere/cognitive-envelope.d.ts.map +1 -0
- package/dist/paramesphere/cognitive-envelope.js +209 -0
- package/dist/paramesphere/cognitive-envelope.js.map +1 -0
- package/dist/paramesphere/envelope-integration.d.ts +60 -0
- package/dist/paramesphere/envelope-integration.d.ts.map +1 -0
- package/dist/paramesphere/envelope-integration.js +93 -0
- package/dist/paramesphere/envelope-integration.js.map +1 -0
- package/dist/paramesphere/fingerprint-monitor.d.ts +136 -0
- package/dist/paramesphere/fingerprint-monitor.d.ts.map +1 -0
- package/dist/paramesphere/fingerprint-monitor.js +212 -0
- package/dist/paramesphere/fingerprint-monitor.js.map +1 -0
- package/dist/paramesphere/fingerprint-store.d.ts +85 -0
- package/dist/paramesphere/fingerprint-store.d.ts.map +1 -0
- package/dist/paramesphere/fingerprint-store.js +68 -0
- package/dist/paramesphere/fingerprint-store.js.map +1 -0
- package/dist/paramesphere/index.d.ts +21 -0
- package/dist/paramesphere/index.d.ts.map +1 -0
- package/dist/paramesphere/index.js +18 -0
- package/dist/paramesphere/index.js.map +1 -0
- package/dist/paramesphere/monitor-integration.d.ts +37 -0
- package/dist/paramesphere/monitor-integration.d.ts.map +1 -0
- package/dist/paramesphere/monitor-integration.js +81 -0
- package/dist/paramesphere/monitor-integration.js.map +1 -0
- package/dist/paramesphere/paramesphere-engine.d.ts +111 -0
- package/dist/paramesphere/paramesphere-engine.d.ts.map +1 -0
- package/dist/paramesphere/paramesphere-engine.js +542 -0
- package/dist/paramesphere/paramesphere-engine.js.map +1 -0
- package/dist/paramesphere/types.d.ts +142 -0
- package/dist/paramesphere/types.d.ts.map +1 -0
- package/dist/paramesphere/types.js +4 -0
- package/dist/paramesphere/types.js.map +1 -0
- package/dist/persistence/file.d.ts +3 -10
- package/dist/persistence/file.d.ts.map +1 -1
- package/dist/persistence/file.js +30 -32
- package/dist/persistence/file.js.map +1 -1
- package/dist/persistence/index.d.ts +7 -7
- package/dist/persistence/index.d.ts.map +1 -1
- package/dist/persistence/index.js +20 -18
- package/dist/persistence/index.js.map +1 -1
- package/dist/persistence/memory.d.ts +3 -3
- package/dist/persistence/memory.d.ts.map +1 -1
- package/dist/persistence/memory.js +10 -17
- package/dist/persistence/memory.js.map +1 -1
- package/dist/persistence/sqlite.d.ts +3 -11
- package/dist/persistence/sqlite.d.ts.map +1 -1
- package/dist/persistence/sqlite.js +42 -39
- package/dist/persistence/sqlite.js.map +1 -1
- package/dist/persistence/supabase.d.ts +3 -3
- package/dist/persistence/supabase.d.ts.map +1 -1
- package/dist/persistence/supabase.js +46 -49
- package/dist/persistence/supabase.js.map +1 -1
- package/dist/persistence/types.d.ts +5 -5
- package/dist/persistence/types.d.ts.map +1 -1
- package/dist/persistence/types.js +2 -7
- package/dist/persistence/types.js.map +1 -1
- package/dist/phase6/ceiling.d.ts +5 -21
- package/dist/phase6/ceiling.d.ts.map +1 -1
- package/dist/phase6/ceiling.js +38 -69
- package/dist/phase6/ceiling.js.map +1 -1
- package/dist/phase6/context.d.ts +3 -20
- package/dist/phase6/context.d.ts.map +1 -1
- package/dist/phase6/context.js +49 -93
- package/dist/phase6/context.js.map +1 -1
- package/dist/phase6/index.d.ts +12 -12
- package/dist/phase6/index.d.ts.map +1 -1
- package/dist/phase6/index.js +17 -15
- package/dist/phase6/index.js.map +1 -1
- package/dist/phase6/presets.d.ts +2 -18
- package/dist/phase6/presets.d.ts.map +1 -1
- package/dist/phase6/presets.js +35 -39
- package/dist/phase6/presets.js.map +1 -1
- package/dist/phase6/provenance.d.ts +4 -19
- package/dist/phase6/provenance.d.ts.map +1 -1
- package/dist/phase6/provenance.js +37 -42
- package/dist/phase6/provenance.js.map +1 -1
- package/dist/phase6/role-gates/index.d.ts +2 -2
- package/dist/phase6/role-gates/index.d.ts.map +1 -1
- package/dist/phase6/role-gates/index.js +4 -2
- package/dist/phase6/role-gates/index.js.map +1 -1
- package/dist/phase6/role-gates/kernel.d.ts.map +1 -1
- package/dist/phase6/role-gates/kernel.js +18 -16
- package/dist/phase6/role-gates/kernel.js.map +1 -1
- package/dist/phase6/role-gates/policy.d.ts +2 -2
- package/dist/phase6/role-gates/policy.d.ts.map +1 -1
- package/dist/phase6/role-gates/policy.js +8 -17
- package/dist/phase6/role-gates/policy.js.map +1 -1
- package/dist/phase6/role-gates.d.ts +4 -20
- package/dist/phase6/role-gates.d.ts.map +1 -1
- package/dist/phase6/role-gates.js +60 -80
- package/dist/phase6/role-gates.js.map +1 -1
- package/dist/phase6/types.d.ts +53 -23
- package/dist/phase6/types.d.ts.map +1 -1
- package/dist/phase6/types.js +131 -177
- package/dist/phase6/types.js.map +1 -1
- package/dist/phase6/weight-presets/canonical.d.ts.map +1 -1
- package/dist/phase6/weight-presets/canonical.js +12 -10
- package/dist/phase6/weight-presets/canonical.js.map +1 -1
- package/dist/phase6/weight-presets/deltas.d.ts +2 -2
- package/dist/phase6/weight-presets/deltas.d.ts.map +1 -1
- package/dist/phase6/weight-presets/deltas.js +29 -37
- package/dist/phase6/weight-presets/deltas.js.map +1 -1
- package/dist/phase6/weight-presets/index.d.ts +3 -3
- package/dist/phase6/weight-presets/index.d.ts.map +1 -1
- package/dist/phase6/weight-presets/index.js +5 -3
- package/dist/phase6/weight-presets/index.js.map +1 -1
- package/dist/phase6/weight-presets/merger.d.ts +2 -12
- package/dist/phase6/weight-presets/merger.d.ts.map +1 -1
- package/dist/phase6/weight-presets/merger.js +45 -39
- package/dist/phase6/weight-presets/merger.js.map +1 -1
- package/dist/proof/index.d.ts +6 -13
- package/dist/proof/index.d.ts.map +1 -1
- package/dist/proof/index.js +63 -51
- package/dist/proof/index.js.map +1 -1
- package/dist/proof/merkle.d.ts +24 -19
- package/dist/proof/merkle.d.ts.map +1 -1
- package/dist/proof/merkle.js +118 -32
- package/dist/proof/merkle.js.map +1 -1
- package/dist/proof/zk-proofs.d.ts +6 -24
- package/dist/proof/zk-proofs.d.ts.map +1 -1
- package/dist/proof/zk-proofs.js +45 -42
- package/dist/proof/zk-proofs.js.map +1 -1
- package/dist/provenance/index.d.ts +3 -11
- package/dist/provenance/index.d.ts.map +1 -1
- package/dist/provenance/index.js +19 -19
- package/dist/provenance/index.js.map +1 -1
- package/dist/provenance/types.d.ts +4 -4
- package/dist/provenance/types.d.ts.map +1 -1
- package/dist/provenance/types.js +2 -8
- package/dist/provenance/types.js.map +1 -1
- package/dist/sandbox-training/challenges.d.ts +1 -1
- package/dist/sandbox-training/challenges.d.ts.map +1 -1
- package/dist/sandbox-training/challenges.js +230 -236
- package/dist/sandbox-training/challenges.js.map +1 -1
- package/dist/sandbox-training/graduation.d.ts +1 -1
- package/dist/sandbox-training/graduation.d.ts.map +1 -1
- package/dist/sandbox-training/graduation.js +17 -22
- package/dist/sandbox-training/graduation.js.map +1 -1
- package/dist/sandbox-training/index.d.ts +9 -9
- package/dist/sandbox-training/index.d.ts.map +1 -1
- package/dist/sandbox-training/index.js +8 -6
- package/dist/sandbox-training/index.js.map +1 -1
- package/dist/sandbox-training/promotion-service.d.ts +4 -4
- package/dist/sandbox-training/promotion-service.d.ts.map +1 -1
- package/dist/sandbox-training/promotion-service.js +7 -16
- package/dist/sandbox-training/promotion-service.js.map +1 -1
- package/dist/sandbox-training/runner.d.ts +1 -1
- package/dist/sandbox-training/runner.d.ts.map +1 -1
- package/dist/sandbox-training/runner.js +75 -82
- package/dist/sandbox-training/runner.js.map +1 -1
- package/dist/sandbox-training/scorer.d.ts +4 -4
- package/dist/sandbox-training/scorer.d.ts.map +1 -1
- package/dist/sandbox-training/scorer.js +7 -13
- package/dist/sandbox-training/scorer.js.map +1 -1
- package/dist/sandbox-training/types.d.ts +4 -4
- package/dist/sandbox-training/types.d.ts.map +1 -1
- package/dist/sandbox-training/types.js +9 -19
- package/dist/sandbox-training/types.js.map +1 -1
- package/dist/trust-engine/ceiling-enforcement/audit.d.ts +1 -9
- package/dist/trust-engine/ceiling-enforcement/audit.d.ts.map +1 -1
- package/dist/trust-engine/ceiling-enforcement/audit.js +6 -11
- package/dist/trust-engine/ceiling-enforcement/audit.js.map +1 -1
- package/dist/trust-engine/ceiling-enforcement/index.d.ts +2 -2
- package/dist/trust-engine/ceiling-enforcement/index.d.ts.map +1 -1
- package/dist/trust-engine/ceiling-enforcement/index.js +4 -2
- package/dist/trust-engine/ceiling-enforcement/index.js.map +1 -1
- package/dist/trust-engine/ceiling-enforcement/kernel.d.ts +12 -10
- package/dist/trust-engine/ceiling-enforcement/kernel.d.ts.map +1 -1
- package/dist/trust-engine/ceiling-enforcement/kernel.js +28 -20
- package/dist/trust-engine/ceiling-enforcement/kernel.js.map +1 -1
- package/dist/trust-engine/context-policy/enforcement.d.ts +0 -9
- package/dist/trust-engine/context-policy/enforcement.d.ts.map +1 -1
- package/dist/trust-engine/context-policy/enforcement.js +2 -9
- package/dist/trust-engine/context-policy/enforcement.js.map +1 -1
- package/dist/trust-engine/context-policy/factory.d.ts +1 -1
- package/dist/trust-engine/context-policy/factory.d.ts.map +1 -1
- package/dist/trust-engine/context-policy/factory.js +3 -1
- package/dist/trust-engine/context-policy/factory.js.map +1 -1
- package/dist/trust-engine/context-policy/index.d.ts +2 -2
- package/dist/trust-engine/context-policy/index.d.ts.map +1 -1
- package/dist/trust-engine/context-policy/index.js +4 -2
- package/dist/trust-engine/context-policy/index.js.map +1 -1
- package/dist/trust-engine/creation-modifiers/index.d.ts +1 -1
- package/dist/trust-engine/creation-modifiers/index.d.ts.map +1 -1
- package/dist/trust-engine/creation-modifiers/index.js +3 -1
- package/dist/trust-engine/creation-modifiers/index.js.map +1 -1
- package/dist/trust-engine/creation-modifiers/types.d.ts.map +1 -1
- package/dist/trust-engine/creation-modifiers/types.js +5 -2
- package/dist/trust-engine/creation-modifiers/types.js.map +1 -1
- package/dist/trust-engine/decay-profiles.d.ts +37 -136
- package/dist/trust-engine/decay-profiles.d.ts.map +1 -1
- package/dist/trust-engine/decay-profiles.js +61 -183
- package/dist/trust-engine/decay-profiles.js.map +1 -1
- package/dist/trust-engine/index.d.ts +327 -22
- package/dist/trust-engine/index.d.ts.map +1 -1
- package/dist/trust-engine/index.js +706 -130
- package/dist/trust-engine/index.js.map +1 -1
- package/dist/trust-engine/phase6-types.d.ts +15 -18
- package/dist/trust-engine/phase6-types.d.ts.map +1 -1
- package/dist/trust-engine/phase6-types.js +32 -36
- package/dist/trust-engine/phase6-types.js.map +1 -1
- package/dist/trust-engine/trust-verifier.d.ts +121 -0
- package/dist/trust-engine/trust-verifier.d.ts.map +1 -0
- package/dist/trust-engine/trust-verifier.js +226 -0
- package/dist/trust-engine/trust-verifier.js.map +1 -0
- package/package.json +140 -135
- package/dist/enforce/types.d.ts +0 -234
- package/dist/enforce/types.d.ts.map +0 -1
- package/dist/enforce/types.js +0 -10
- package/dist/enforce/types.js.map +0 -1
- package/dist/intent/types.d.ts +0 -69
- package/dist/intent/types.d.ts.map +0 -1
- package/dist/intent/types.js +0 -10
- package/dist/intent/types.js.map +0 -1
- package/dist/trust-engine/types.d.ts +0 -77
- package/dist/trust-engine/types.d.ts.map +0 -1
- package/dist/trust-engine/types.js +0 -20
- package/dist/trust-engine/types.js.map +0 -1
|
@@ -0,0 +1,406 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright 2024-2026 Vorion LLC
|
|
3
|
+
/**
|
|
4
|
+
* Supabase/Postgres Persistence Adapter for Intent Service
|
|
5
|
+
*
|
|
6
|
+
* Production-quality intent service backed by Supabase (PostgreSQL). Provides:
|
|
7
|
+
* - Full IIntentService interface implementation
|
|
8
|
+
* - Input validation (same rules as PersistentIntentService)
|
|
9
|
+
* - State machine enforcement for status transitions
|
|
10
|
+
* - Tenant isolation via tenantId column (and optional RLS)
|
|
11
|
+
* - Configurable table name and schema for multi-schema deployments
|
|
12
|
+
* - Correlation ID tracking for distributed tracing
|
|
13
|
+
* - Type-only import of @supabase/supabase-js to avoid hard dependency
|
|
14
|
+
*
|
|
15
|
+
* Requires the migration in ./migrations/001_create_intents_table.sql to be
|
|
16
|
+
* applied before use.
|
|
17
|
+
*
|
|
18
|
+
* @packageDocumentation
|
|
19
|
+
*/
|
|
20
|
+
import { createLogger } from '../common/logger.js';
|
|
21
|
+
const logger = createLogger({ component: 'supabase-intent-repository' });
|
|
22
|
+
// =============================================================================
|
|
23
|
+
// STATE MACHINE
|
|
24
|
+
// =============================================================================
|
|
25
|
+
/**
|
|
26
|
+
* Valid status transitions for the intent lifecycle.
|
|
27
|
+
* Mirrors PersistentIntentService exactly.
|
|
28
|
+
*/
|
|
29
|
+
const VALID_TRANSITIONS = {
|
|
30
|
+
pending: ['evaluating', 'cancelled'],
|
|
31
|
+
evaluating: ['approved', 'denied', 'escalated', 'failed'],
|
|
32
|
+
approved: ['executing', 'cancelled'],
|
|
33
|
+
denied: [],
|
|
34
|
+
escalated: ['approved', 'denied', 'cancelled'],
|
|
35
|
+
executing: ['completed', 'failed'],
|
|
36
|
+
completed: [],
|
|
37
|
+
failed: ['pending'], // allow retry
|
|
38
|
+
cancelled: [],
|
|
39
|
+
};
|
|
40
|
+
// =============================================================================
|
|
41
|
+
// VALIDATION
|
|
42
|
+
// =============================================================================
|
|
43
|
+
/**
|
|
44
|
+
* Validate an IntentSubmission. Returns an array of error messages (empty = valid).
|
|
45
|
+
* Mirrors PersistentIntentService validation logic exactly.
|
|
46
|
+
*/
|
|
47
|
+
function validateSubmission(submission) {
|
|
48
|
+
const errors = [];
|
|
49
|
+
if (!submission.entityId || typeof submission.entityId !== 'string') {
|
|
50
|
+
errors.push('entityId is required and must be a non-empty string');
|
|
51
|
+
}
|
|
52
|
+
if (!submission.goal || typeof submission.goal !== 'string') {
|
|
53
|
+
errors.push('goal is required and must be a non-empty string');
|
|
54
|
+
}
|
|
55
|
+
if (submission.goal && submission.goal.length > 10_000) {
|
|
56
|
+
errors.push('goal must be 10,000 characters or fewer');
|
|
57
|
+
}
|
|
58
|
+
if (submission.context !== undefined &&
|
|
59
|
+
(typeof submission.context !== 'object' || submission.context === null)) {
|
|
60
|
+
errors.push('context must be a plain object');
|
|
61
|
+
}
|
|
62
|
+
if (submission.expiresIn !== undefined) {
|
|
63
|
+
if (typeof submission.expiresIn !== 'number' || submission.expiresIn <= 0) {
|
|
64
|
+
errors.push('expiresIn must be a positive number (milliseconds)');
|
|
65
|
+
}
|
|
66
|
+
if (submission.expiresIn > 86_400_000) {
|
|
67
|
+
errors.push('expiresIn cannot exceed 24 hours (86400000ms)');
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return errors;
|
|
71
|
+
}
|
|
72
|
+
const CONFIG_DEFAULTS = {
|
|
73
|
+
tableName: 'intents',
|
|
74
|
+
schema: 'public',
|
|
75
|
+
defaultExpirationMs: 3_600_000,
|
|
76
|
+
};
|
|
77
|
+
// =============================================================================
|
|
78
|
+
// MAPPING HELPERS
|
|
79
|
+
// =============================================================================
|
|
80
|
+
/**
|
|
81
|
+
* Convert a database row (snake_case) to an Intent domain object (camelCase).
|
|
82
|
+
*/
|
|
83
|
+
function rowToIntent(row) {
|
|
84
|
+
return {
|
|
85
|
+
id: row.id,
|
|
86
|
+
tenantId: row.tenant_id,
|
|
87
|
+
entityId: row.entity_id,
|
|
88
|
+
goal: row.goal,
|
|
89
|
+
context: row.context,
|
|
90
|
+
metadata: row.metadata,
|
|
91
|
+
status: row.status,
|
|
92
|
+
createdAt: row.created_at,
|
|
93
|
+
updatedAt: row.updated_at,
|
|
94
|
+
trustSnapshot: row.trust_snapshot,
|
|
95
|
+
trustLevel: row.trust_level,
|
|
96
|
+
correlationId: row.correlation_id,
|
|
97
|
+
actionType: row.action_type,
|
|
98
|
+
resourceScope: row.resource_scope,
|
|
99
|
+
dataSensitivity: row.data_sensitivity,
|
|
100
|
+
reversibility: row.reversibility,
|
|
101
|
+
expiresAt: row.expires_at,
|
|
102
|
+
source: row.source,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Convert an Intent domain object to a database row for insertion.
|
|
107
|
+
*/
|
|
108
|
+
function intentToRow(intent) {
|
|
109
|
+
return {
|
|
110
|
+
id: intent.id,
|
|
111
|
+
tenant_id: intent.tenantId ?? '',
|
|
112
|
+
entity_id: intent.entityId,
|
|
113
|
+
goal: intent.goal,
|
|
114
|
+
context: intent.context,
|
|
115
|
+
metadata: intent.metadata,
|
|
116
|
+
status: intent.status,
|
|
117
|
+
created_at: intent.createdAt,
|
|
118
|
+
updated_at: intent.updatedAt,
|
|
119
|
+
trust_snapshot: intent.trustSnapshot ?? null,
|
|
120
|
+
trust_level: intent.trustLevel ?? null,
|
|
121
|
+
correlation_id: intent.correlationId ?? crypto.randomUUID(),
|
|
122
|
+
action_type: intent.actionType ?? null,
|
|
123
|
+
resource_scope: intent.resourceScope ?? null,
|
|
124
|
+
data_sensitivity: intent.dataSensitivity ?? null,
|
|
125
|
+
reversibility: intent.reversibility ?? null,
|
|
126
|
+
expires_at: intent.expiresAt ?? null,
|
|
127
|
+
source: intent.source ?? null,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
// =============================================================================
|
|
131
|
+
// SUPABASE INTENT REPOSITORY
|
|
132
|
+
// =============================================================================
|
|
133
|
+
/**
|
|
134
|
+
* Supabase/Postgres-backed intent service.
|
|
135
|
+
*
|
|
136
|
+
* Implements the full IIntentService interface with durable persistence,
|
|
137
|
+
* input validation, state machine enforcement, and tenant isolation.
|
|
138
|
+
*
|
|
139
|
+
* @example
|
|
140
|
+
* ```typescript
|
|
141
|
+
* import { createClient } from '@supabase/supabase-js';
|
|
142
|
+
* import { createSupabaseIntentRepository } from '@vorionsys/atsf-core/intent/supabase-intent-repository';
|
|
143
|
+
*
|
|
144
|
+
* const supabase = createClient(SUPABASE_URL, SUPABASE_KEY);
|
|
145
|
+
* const intentService = createSupabaseIntentRepository({ client: supabase });
|
|
146
|
+
*
|
|
147
|
+
* const intent = await intentService.submit(
|
|
148
|
+
* { entityId: 'agent-1', goal: 'Send email', context: {} },
|
|
149
|
+
* { tenantId: 'tenant-abc' }
|
|
150
|
+
* );
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
export class SupabaseIntentRepository {
|
|
154
|
+
client;
|
|
155
|
+
tableName;
|
|
156
|
+
schema;
|
|
157
|
+
defaultExpirationMs;
|
|
158
|
+
constructor(config) {
|
|
159
|
+
if (!config.client) {
|
|
160
|
+
throw new Error('SupabaseIntentRepository requires a SupabaseClient instance');
|
|
161
|
+
}
|
|
162
|
+
this.client = config.client;
|
|
163
|
+
this.tableName = config.tableName ?? CONFIG_DEFAULTS.tableName;
|
|
164
|
+
this.schema = config.schema ?? CONFIG_DEFAULTS.schema;
|
|
165
|
+
this.defaultExpirationMs = config.defaultExpirationMs ?? CONFIG_DEFAULTS.defaultExpirationMs;
|
|
166
|
+
logger.info({ tableName: this.tableName, schema: this.schema }, 'SupabaseIntentRepository initialized');
|
|
167
|
+
}
|
|
168
|
+
// ---------------------------------------------------------------------------
|
|
169
|
+
// Private: get a schema-scoped query builder for the intents table
|
|
170
|
+
// ---------------------------------------------------------------------------
|
|
171
|
+
table() {
|
|
172
|
+
return this.client.schema(this.schema).from(this.tableName);
|
|
173
|
+
}
|
|
174
|
+
// ---------------------------------------------------------------------------
|
|
175
|
+
// IIntentService.submit
|
|
176
|
+
// ---------------------------------------------------------------------------
|
|
177
|
+
/**
|
|
178
|
+
* Submit a new intent with full validation and persist to Supabase.
|
|
179
|
+
*/
|
|
180
|
+
async submit(submission, options) {
|
|
181
|
+
// Validate input
|
|
182
|
+
const errors = validateSubmission(submission);
|
|
183
|
+
if (errors.length > 0) {
|
|
184
|
+
throw new Error(`Invalid intent submission: ${errors.join('; ')}`);
|
|
185
|
+
}
|
|
186
|
+
if (!options.tenantId) {
|
|
187
|
+
throw new Error('tenantId is required in SubmitOptions');
|
|
188
|
+
}
|
|
189
|
+
const now = new Date().toISOString();
|
|
190
|
+
const correlationId = submission.correlationId ?? crypto.randomUUID();
|
|
191
|
+
const expiresAt = submission.expiresIn
|
|
192
|
+
? new Date(Date.now() + submission.expiresIn).toISOString()
|
|
193
|
+
: new Date(Date.now() + this.defaultExpirationMs).toISOString();
|
|
194
|
+
const intent = {
|
|
195
|
+
id: crypto.randomUUID(),
|
|
196
|
+
tenantId: options.tenantId,
|
|
197
|
+
entityId: submission.entityId,
|
|
198
|
+
goal: submission.goal,
|
|
199
|
+
context: submission.context ?? {},
|
|
200
|
+
metadata: submission.metadata ?? {},
|
|
201
|
+
status: 'pending',
|
|
202
|
+
createdAt: now,
|
|
203
|
+
updatedAt: now,
|
|
204
|
+
trustSnapshot: options.trustSnapshot ?? null,
|
|
205
|
+
trustLevel: options.trustLevel ?? null,
|
|
206
|
+
correlationId,
|
|
207
|
+
actionType: submission.actionType ?? null,
|
|
208
|
+
resourceScope: submission.resourceScope ?? null,
|
|
209
|
+
dataSensitivity: submission.dataSensitivity ?? null,
|
|
210
|
+
reversibility: submission.reversibility ?? null,
|
|
211
|
+
expiresAt,
|
|
212
|
+
source: submission.source ?? null,
|
|
213
|
+
};
|
|
214
|
+
const row = intentToRow(intent);
|
|
215
|
+
const { data, error } = await this.table()
|
|
216
|
+
.insert(row)
|
|
217
|
+
.select()
|
|
218
|
+
.single();
|
|
219
|
+
if (error) {
|
|
220
|
+
logger.error({ error: error.message, code: error.code, intentId: intent.id }, 'Failed to insert intent into Supabase');
|
|
221
|
+
throw new Error(`Failed to persist intent: ${error.message}`);
|
|
222
|
+
}
|
|
223
|
+
const persisted = rowToIntent(data);
|
|
224
|
+
logger.info({
|
|
225
|
+
intentId: persisted.id,
|
|
226
|
+
entityId: persisted.entityId,
|
|
227
|
+
tenantId: options.tenantId,
|
|
228
|
+
goal: persisted.goal.slice(0, 100),
|
|
229
|
+
correlationId,
|
|
230
|
+
actionType: persisted.actionType,
|
|
231
|
+
}, 'Intent submitted');
|
|
232
|
+
return persisted;
|
|
233
|
+
}
|
|
234
|
+
// ---------------------------------------------------------------------------
|
|
235
|
+
// IIntentService.get
|
|
236
|
+
// ---------------------------------------------------------------------------
|
|
237
|
+
/**
|
|
238
|
+
* Retrieve an intent by ID with tenant isolation.
|
|
239
|
+
* Returns undefined if not found or if the intent belongs to a different tenant.
|
|
240
|
+
*/
|
|
241
|
+
async get(id, tenantId) {
|
|
242
|
+
const { data, error } = await this.table()
|
|
243
|
+
.select('*')
|
|
244
|
+
.eq('id', id)
|
|
245
|
+
.eq('tenant_id', tenantId)
|
|
246
|
+
.maybeSingle();
|
|
247
|
+
if (error) {
|
|
248
|
+
logger.error({ error: error.message, code: error.code, intentId: id }, 'Failed to fetch intent from Supabase');
|
|
249
|
+
throw new Error(`Failed to fetch intent: ${error.message}`);
|
|
250
|
+
}
|
|
251
|
+
if (!data) {
|
|
252
|
+
return undefined;
|
|
253
|
+
}
|
|
254
|
+
const intent = rowToIntent(data);
|
|
255
|
+
// Check expiration: if expired and not yet terminal, auto-cancel
|
|
256
|
+
if (this.isExpired(intent)) {
|
|
257
|
+
await this.expireIntent(intent);
|
|
258
|
+
return undefined;
|
|
259
|
+
}
|
|
260
|
+
return intent;
|
|
261
|
+
}
|
|
262
|
+
// ---------------------------------------------------------------------------
|
|
263
|
+
// IIntentService.updateStatus
|
|
264
|
+
// ---------------------------------------------------------------------------
|
|
265
|
+
/**
|
|
266
|
+
* Update the status of an intent with state machine enforcement.
|
|
267
|
+
* Returns the updated intent, or undefined if not found / wrong tenant.
|
|
268
|
+
* Throws if the requested transition is invalid.
|
|
269
|
+
*/
|
|
270
|
+
async updateStatus(id, tenantId, status) {
|
|
271
|
+
// First, fetch the current intent to validate the transition
|
|
272
|
+
const { data: currentData, error: fetchError } = await this.table()
|
|
273
|
+
.select('*')
|
|
274
|
+
.eq('id', id)
|
|
275
|
+
.eq('tenant_id', tenantId)
|
|
276
|
+
.maybeSingle();
|
|
277
|
+
if (fetchError) {
|
|
278
|
+
logger.error({ error: fetchError.message, code: fetchError.code, intentId: id }, 'Failed to fetch intent for status update');
|
|
279
|
+
throw new Error(`Failed to fetch intent for status update: ${fetchError.message}`);
|
|
280
|
+
}
|
|
281
|
+
if (!currentData) {
|
|
282
|
+
return undefined;
|
|
283
|
+
}
|
|
284
|
+
const currentIntent = rowToIntent(currentData);
|
|
285
|
+
// Validate transition against the state machine
|
|
286
|
+
const allowed = VALID_TRANSITIONS[currentIntent.status];
|
|
287
|
+
if (!allowed || !allowed.includes(status)) {
|
|
288
|
+
throw new Error(`Invalid status transition: '${currentIntent.status}' -> '${status}'. ` +
|
|
289
|
+
`Allowed transitions from '${currentIntent.status}': [${allowed?.join(', ') ?? 'none'}]`);
|
|
290
|
+
}
|
|
291
|
+
// Perform the update
|
|
292
|
+
const { data: updatedData, error: updateError } = await this.table()
|
|
293
|
+
.update({ status, updated_at: new Date().toISOString() })
|
|
294
|
+
.eq('id', id)
|
|
295
|
+
.eq('tenant_id', tenantId)
|
|
296
|
+
.select()
|
|
297
|
+
.single();
|
|
298
|
+
if (updateError) {
|
|
299
|
+
logger.error({ error: updateError.message, code: updateError.code, intentId: id }, 'Failed to update intent status in Supabase');
|
|
300
|
+
throw new Error(`Failed to update intent status: ${updateError.message}`);
|
|
301
|
+
}
|
|
302
|
+
const updated = rowToIntent(updatedData);
|
|
303
|
+
logger.info({ intentId: id, from: currentIntent.status, to: status }, 'Intent status updated');
|
|
304
|
+
return updated;
|
|
305
|
+
}
|
|
306
|
+
// ---------------------------------------------------------------------------
|
|
307
|
+
// IIntentService.listByEntity
|
|
308
|
+
// ---------------------------------------------------------------------------
|
|
309
|
+
/**
|
|
310
|
+
* List all intents for a given entity within a tenant.
|
|
311
|
+
* Results are sorted by creation time (newest first).
|
|
312
|
+
* Expired intents are excluded.
|
|
313
|
+
*/
|
|
314
|
+
async listByEntity(entityId, tenantId) {
|
|
315
|
+
const { data, error } = await this.table()
|
|
316
|
+
.select('*')
|
|
317
|
+
.eq('entity_id', entityId)
|
|
318
|
+
.eq('tenant_id', tenantId)
|
|
319
|
+
.order('created_at', { ascending: false });
|
|
320
|
+
if (error) {
|
|
321
|
+
logger.error({ error: error.message, code: error.code, entityId, tenantId }, 'Failed to list intents from Supabase');
|
|
322
|
+
throw new Error(`Failed to list intents: ${error.message}`);
|
|
323
|
+
}
|
|
324
|
+
if (!data || data.length === 0) {
|
|
325
|
+
return [];
|
|
326
|
+
}
|
|
327
|
+
const now = Date.now();
|
|
328
|
+
const results = [];
|
|
329
|
+
for (const row of data) {
|
|
330
|
+
const intent = rowToIntent(row);
|
|
331
|
+
if (!this.isExpired(intent, now)) {
|
|
332
|
+
results.push(intent);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
return results;
|
|
336
|
+
}
|
|
337
|
+
// ===========================================================================
|
|
338
|
+
// Private Helpers
|
|
339
|
+
// ===========================================================================
|
|
340
|
+
/**
|
|
341
|
+
* Check if an intent has passed its expiration time.
|
|
342
|
+
*/
|
|
343
|
+
isExpired(intent, now) {
|
|
344
|
+
if (!intent.expiresAt)
|
|
345
|
+
return false;
|
|
346
|
+
return new Date(intent.expiresAt).getTime() < (now ?? Date.now());
|
|
347
|
+
}
|
|
348
|
+
/**
|
|
349
|
+
* Mark an expired, non-terminal intent as cancelled in the database.
|
|
350
|
+
*/
|
|
351
|
+
async expireIntent(intent) {
|
|
352
|
+
const terminalStatuses = ['completed', 'cancelled', 'denied'];
|
|
353
|
+
if (terminalStatuses.includes(intent.status)) {
|
|
354
|
+
return;
|
|
355
|
+
}
|
|
356
|
+
const { error } = await this.table()
|
|
357
|
+
.update({ status: 'cancelled', updated_at: new Date().toISOString() })
|
|
358
|
+
.eq('id', intent.id)
|
|
359
|
+
.eq('tenant_id', intent.tenantId ?? '');
|
|
360
|
+
if (error) {
|
|
361
|
+
logger.warn({ error: error.message, intentId: intent.id }, 'Failed to auto-cancel expired intent');
|
|
362
|
+
}
|
|
363
|
+
else {
|
|
364
|
+
logger.debug({ intentId: intent.id }, 'Intent expired and auto-cancelled');
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
// =============================================================================
|
|
369
|
+
// FACTORY FUNCTION
|
|
370
|
+
// =============================================================================
|
|
371
|
+
/**
|
|
372
|
+
* Create a new SupabaseIntentRepository instance.
|
|
373
|
+
*
|
|
374
|
+
* This factory provides a convenient way to instantiate the repository
|
|
375
|
+
* without directly importing the class, useful for dependency injection
|
|
376
|
+
* and testing.
|
|
377
|
+
*
|
|
378
|
+
* @param config - Repository configuration including the Supabase client
|
|
379
|
+
* @returns A configured SupabaseIntentRepository implementing IIntentService
|
|
380
|
+
*
|
|
381
|
+
* @example
|
|
382
|
+
* ```typescript
|
|
383
|
+
* import { createClient } from '@supabase/supabase-js';
|
|
384
|
+
* import { createSupabaseIntentRepository } from '@vorionsys/atsf-core/intent/supabase-intent-repository';
|
|
385
|
+
*
|
|
386
|
+
* const supabase = createClient(
|
|
387
|
+
* process.env.SUPABASE_URL!,
|
|
388
|
+
* process.env.SUPABASE_SERVICE_KEY!
|
|
389
|
+
* );
|
|
390
|
+
*
|
|
391
|
+
* const intentService = createSupabaseIntentRepository({
|
|
392
|
+
* client: supabase,
|
|
393
|
+
* tableName: 'intents', // default
|
|
394
|
+
* schema: 'public', // default
|
|
395
|
+
* defaultExpirationMs: 3600000, // 1 hour default
|
|
396
|
+
* });
|
|
397
|
+
*
|
|
398
|
+
* // Wire it into the service locator
|
|
399
|
+
* import { setIntentService } from '@vorionsys/atsf-core';
|
|
400
|
+
* setIntentService(intentService);
|
|
401
|
+
* ```
|
|
402
|
+
*/
|
|
403
|
+
export function createSupabaseIntentRepository(config) {
|
|
404
|
+
return new SupabaseIntentRepository(config);
|
|
405
|
+
}
|
|
406
|
+
//# sourceMappingURL=supabase-intent-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supabase-intent-repository.js","sourceRoot":"","sources":["../../src/intent/supabase-intent-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
* INTENT GATEWAY - Jurisdictional Router & Governance Topology Selector
|
|
3
|
-
*
|
|
4
|
-
* The Intent Gateway is the policy-aware front door for all agent intents.
|
|
5
|
-
* It resolves the operational jurisdiction from tenant context, composes
|
|
6
|
-
* applicable policy bundles (with deterministic conflict resolution), selects
|
|
7
|
-
* the governance regime that will supervise execution, and enriches the
|
|
8
|
-
* submit options with the regime's minimum trust level and metadata.
|
|
9
|
-
*
|
|
10
|
-
* Pipeline: intake -> jurisdiction resolution -> policy composition
|
|
11
|
-
* -> regime selection -> enriched submit
|
|
12
|
-
*
|
|
13
|
-
* Key design decisions exposed in this open-source version:
|
|
14
|
-
* - Jurisdiction is a first-class concept, not an afterthought.
|
|
15
|
-
* - Policy conflicts are detected eagerly and resolved deterministically
|
|
16
|
-
* (strictest-wins for ordered dimensions, additive for unordered ones).
|
|
17
|
-
* - EU AI Act risk classification runs inline for EU jurisdictions.
|
|
18
|
-
* - Every regime carries a minimum trust level; the gateway enforces it.
|
|
19
|
-
* - The gateway degrades gracefully: on error it falls through to
|
|
20
|
-
* passthrough mode with a warning, never silently drops an intent.
|
|
21
|
-
*
|
|
22
|
-
* @packageDocumentation
|
|
23
|
-
*/
|
|
24
|
-
import type { TrustLevel, Intent } from "../common/types.js";
|
|
1
|
+
import type { TrustLevel, Intent } from '../common/types.js';
|
|
25
2
|
/** Supported jurisdictional scopes. */
|
|
26
3
|
export declare const JURISDICTIONS: readonly ["GLOBAL", "EU", "US", "APAC", "UK", "CA", "AU", "JP", "SG", "CH"];
|
|
27
4
|
export type Jurisdiction = (typeof JURISDICTIONS)[number];
|
|
@@ -47,13 +24,13 @@ export type AiActClassification = (typeof AI_ACT_CLASSIFICATIONS)[number];
|
|
|
47
24
|
export declare const AI_ACT_HIGH_RISK_CATEGORIES: readonly ["biometric-identification", "critical-infrastructure", "education-vocational", "employment-worker-management", "essential-services", "law-enforcement", "migration-asylum-border", "justice-democratic"];
|
|
48
25
|
export type AiActHighRiskCategory = (typeof AI_ACT_HIGH_RISK_CATEGORIES)[number];
|
|
49
26
|
/** How the jurisdiction was determined. */
|
|
50
|
-
export type JurisdictionSource =
|
|
27
|
+
export type JurisdictionSource = 'tenant-config' | 'metadata-inference' | 'default';
|
|
51
28
|
/** Enforcement strength of a policy constraint. */
|
|
52
|
-
export type EnforcementLevel =
|
|
29
|
+
export type EnforcementLevel = 'advisory' | 'required' | 'mandatory' | 'blocking';
|
|
53
30
|
/** Policy constraint categories. */
|
|
54
|
-
export type PolicyConstraintType =
|
|
31
|
+
export type PolicyConstraintType = 'retention' | 'crypto' | 'consent' | 'escalation' | 'data-residency' | 'trust-level' | 'external-services' | 'proof-anchoring' | 'audit-requirement' | 'processing-restriction';
|
|
55
32
|
/** Severity of a policy conflict. */
|
|
56
|
-
export type ConflictSeverity =
|
|
33
|
+
export type ConflictSeverity = 'low' | 'medium' | 'high' | 'critical';
|
|
57
34
|
/**
|
|
58
35
|
* Resolved jurisdictional context for an intent.
|
|
59
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/intent-gateway/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/intent-gateway/index.ts"],"names":[],"mappings":"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"}
|