@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,209 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright 2024-2026 Vorion LLC
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Defaults
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
const DEFAULT_ENVELOPE_CONFIG = {
|
|
7
|
+
k: 3.0,
|
|
8
|
+
breachThreshold: 3,
|
|
9
|
+
dimensions: 6,
|
|
10
|
+
measurementIntervalMs: 300_000, // 5 minutes
|
|
11
|
+
maxBreachCounter: 100,
|
|
12
|
+
};
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// CognitiveEnvelope
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
export class CognitiveEnvelope {
|
|
17
|
+
config;
|
|
18
|
+
// Baseline statistics
|
|
19
|
+
mu = [];
|
|
20
|
+
sigma = [];
|
|
21
|
+
lowerBounds = [];
|
|
22
|
+
upperBounds = [];
|
|
23
|
+
baselined = false;
|
|
24
|
+
// Breach tracking
|
|
25
|
+
breachCounter = 0;
|
|
26
|
+
lastCheckMs = 0;
|
|
27
|
+
constructor(config) {
|
|
28
|
+
this.config = { ...DEFAULT_ENVELOPE_CONFIG, ...config };
|
|
29
|
+
if (this.config.dimensions < 1) {
|
|
30
|
+
throw new Error('dimensions must be >= 1');
|
|
31
|
+
}
|
|
32
|
+
if (this.config.k <= 0) {
|
|
33
|
+
throw new Error('k must be > 0');
|
|
34
|
+
}
|
|
35
|
+
if (this.config.breachThreshold < 1) {
|
|
36
|
+
throw new Error('breachThreshold must be >= 1');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
// -----------------------------------------------------------------------
|
|
40
|
+
// Public API
|
|
41
|
+
// -----------------------------------------------------------------------
|
|
42
|
+
/**
|
|
43
|
+
* Establish the envelope baseline from an observation period.
|
|
44
|
+
*
|
|
45
|
+
* @param measurements Array of observation vectors. Each inner array has
|
|
46
|
+
* length equal to `config.dimensions`. At least 2
|
|
47
|
+
* observations are required to compute sigma.
|
|
48
|
+
*/
|
|
49
|
+
baselineFromObservations(measurements) {
|
|
50
|
+
const D = this.config.dimensions;
|
|
51
|
+
if (measurements.length < 2) {
|
|
52
|
+
throw new Error('At least 2 observations required to establish a baseline');
|
|
53
|
+
}
|
|
54
|
+
for (const m of measurements) {
|
|
55
|
+
if (m.length !== D) {
|
|
56
|
+
throw new Error(`Measurement vector length ${m.length} does not match configured dimensions ${D}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const N = measurements.length;
|
|
60
|
+
this.mu = new Array(D).fill(0);
|
|
61
|
+
this.sigma = new Array(D).fill(0);
|
|
62
|
+
// Compute mean
|
|
63
|
+
for (const m of measurements) {
|
|
64
|
+
for (let d = 0; d < D; d++) {
|
|
65
|
+
this.mu[d] += m[d];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
for (let d = 0; d < D; d++) {
|
|
69
|
+
this.mu[d] /= N;
|
|
70
|
+
}
|
|
71
|
+
// Compute sample standard deviation
|
|
72
|
+
for (const m of measurements) {
|
|
73
|
+
for (let d = 0; d < D; d++) {
|
|
74
|
+
const diff = m[d] - this.mu[d];
|
|
75
|
+
this.sigma[d] += diff * diff;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
for (let d = 0; d < D; d++) {
|
|
79
|
+
this.sigma[d] = Math.sqrt(this.sigma[d] / (N - 1));
|
|
80
|
+
// Guard against zero variance: use a tiny epsilon
|
|
81
|
+
if (this.sigma[d] < 1e-15) {
|
|
82
|
+
this.sigma[d] = 1e-15;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
// Compute bounds
|
|
86
|
+
this.lowerBounds = new Array(D);
|
|
87
|
+
this.upperBounds = new Array(D);
|
|
88
|
+
for (let d = 0; d < D; d++) {
|
|
89
|
+
this.lowerBounds[d] = this.mu[d] - this.config.k * this.sigma[d];
|
|
90
|
+
this.upperBounds[d] = this.mu[d] + this.config.k * this.sigma[d];
|
|
91
|
+
}
|
|
92
|
+
this.baselined = true;
|
|
93
|
+
this.breachCounter = 0;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Check a current characteristic vector against the envelope.
|
|
97
|
+
*
|
|
98
|
+
* Breach counter increments on any-dimension breach and decrements
|
|
99
|
+
* (towards 0) on a clean check. Trust multiplier is determined by
|
|
100
|
+
* the counter value relative to the threshold.
|
|
101
|
+
*/
|
|
102
|
+
checkBreach(currentChars) {
|
|
103
|
+
if (!this.baselined) {
|
|
104
|
+
throw new Error('Envelope not baselined — call baselineFromObservations() first');
|
|
105
|
+
}
|
|
106
|
+
const D = this.config.dimensions;
|
|
107
|
+
if (currentChars.length !== D) {
|
|
108
|
+
throw new Error(`Characteristic vector length ${currentChars.length} does not match dimensions ${D}`);
|
|
109
|
+
}
|
|
110
|
+
// Rate-limit checks
|
|
111
|
+
const now = Date.now();
|
|
112
|
+
if (this.lastCheckMs > 0 && now - this.lastCheckMs < this.config.measurementIntervalMs) {
|
|
113
|
+
// Return a clean result without modifying state
|
|
114
|
+
return {
|
|
115
|
+
breached: this.breachCounter >= this.config.breachThreshold,
|
|
116
|
+
trustMultiplier: this.currentTrustMultiplier(),
|
|
117
|
+
breachCounter: this.breachCounter,
|
|
118
|
+
dimensionBreaches: new Array(D).fill(false),
|
|
119
|
+
maxDeviation: 0,
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
this.lastCheckMs = now;
|
|
123
|
+
// Per-dimension breach check
|
|
124
|
+
const dimensionBreaches = new Array(D);
|
|
125
|
+
let anyBreach = false;
|
|
126
|
+
let maxDeviation = 0;
|
|
127
|
+
for (let d = 0; d < D; d++) {
|
|
128
|
+
const deviation = Math.abs(currentChars[d] - this.mu[d]) / this.sigma[d];
|
|
129
|
+
if (deviation > maxDeviation)
|
|
130
|
+
maxDeviation = deviation;
|
|
131
|
+
const outside = currentChars[d] < this.lowerBounds[d] || currentChars[d] > this.upperBounds[d];
|
|
132
|
+
dimensionBreaches[d] = outside;
|
|
133
|
+
if (outside)
|
|
134
|
+
anyBreach = true;
|
|
135
|
+
}
|
|
136
|
+
// Update breach counter
|
|
137
|
+
if (anyBreach) {
|
|
138
|
+
this.breachCounter++;
|
|
139
|
+
// Clamp to maxBreachCounter to cap recovery cost from sustained attacks
|
|
140
|
+
if (this.breachCounter > this.config.maxBreachCounter) {
|
|
141
|
+
this.breachCounter = this.config.maxBreachCounter;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
else {
|
|
145
|
+
// Decrement towards zero on clean check
|
|
146
|
+
if (this.breachCounter > 0)
|
|
147
|
+
this.breachCounter--;
|
|
148
|
+
}
|
|
149
|
+
const breached = this.breachCounter >= this.config.breachThreshold;
|
|
150
|
+
return {
|
|
151
|
+
breached,
|
|
152
|
+
trustMultiplier: this.currentTrustMultiplier(),
|
|
153
|
+
breachCounter: this.breachCounter,
|
|
154
|
+
dimensionBreaches,
|
|
155
|
+
maxDeviation,
|
|
156
|
+
};
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Get the current internal state of the envelope.
|
|
160
|
+
*/
|
|
161
|
+
getState() {
|
|
162
|
+
return {
|
|
163
|
+
baselined: this.baselined,
|
|
164
|
+
mu: [...this.mu],
|
|
165
|
+
sigma: [...this.sigma],
|
|
166
|
+
breachCounter: this.breachCounter,
|
|
167
|
+
lastCheckMs: this.lastCheckMs,
|
|
168
|
+
lowerBounds: [...this.lowerBounds],
|
|
169
|
+
upperBounds: [...this.upperBounds],
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Reset the breach counter to zero without clearing the baseline.
|
|
174
|
+
*/
|
|
175
|
+
reset() {
|
|
176
|
+
this.breachCounter = 0;
|
|
177
|
+
this.lastCheckMs = 0;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* Fully clear the baseline and all state.
|
|
181
|
+
*/
|
|
182
|
+
clearBaseline() {
|
|
183
|
+
this.mu = [];
|
|
184
|
+
this.sigma = [];
|
|
185
|
+
this.lowerBounds = [];
|
|
186
|
+
this.upperBounds = [];
|
|
187
|
+
this.baselined = false;
|
|
188
|
+
this.breachCounter = 0;
|
|
189
|
+
this.lastCheckMs = 0;
|
|
190
|
+
}
|
|
191
|
+
// -----------------------------------------------------------------------
|
|
192
|
+
// Internal
|
|
193
|
+
// -----------------------------------------------------------------------
|
|
194
|
+
/**
|
|
195
|
+
* Compute the trust multiplier based on breach counter.
|
|
196
|
+
*
|
|
197
|
+
* - counter == 0 → 1.0 (normal)
|
|
198
|
+
* - 0 < counter < threshold → 0.9 (approaching breach)
|
|
199
|
+
* - counter >= threshold → 0.7 (full breach)
|
|
200
|
+
*/
|
|
201
|
+
currentTrustMultiplier() {
|
|
202
|
+
if (this.breachCounter <= 0)
|
|
203
|
+
return 1.0;
|
|
204
|
+
if (this.breachCounter < this.config.breachThreshold)
|
|
205
|
+
return 0.9;
|
|
206
|
+
return 0.7;
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
//# sourceMappingURL=cognitive-envelope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cognitive-envelope.js","sourceRoot":"","sources":["../../src/paramesphere/cognitive-envelope.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Envelope Integration — Connects CognitiveEnvelope to TrustEngine.
|
|
3
|
+
*
|
|
4
|
+
* Thin adapter that periodically runs the envelope's `checkBreach()` against
|
|
5
|
+
* a caller-supplied dimension vector and, when a breach is detected, records
|
|
6
|
+
* a trust signal via `TrustEngine.recordSignal()`.
|
|
7
|
+
*
|
|
8
|
+
* The monitor runs on an interval (default 60 s) and is fully decoupled:
|
|
9
|
+
* the envelope decides whether there is a breach, and this module just
|
|
10
|
+
* translates that into trust signals. Breach history is kept for audit.
|
|
11
|
+
*
|
|
12
|
+
* @packageDocumentation
|
|
13
|
+
*/
|
|
14
|
+
import type { CognitiveEnvelope } from './cognitive-envelope.js';
|
|
15
|
+
import type { BreachResult } from './types.js';
|
|
16
|
+
import type { TrustEngine } from '../trust-engine/index.js';
|
|
17
|
+
/** Configuration for the envelope-to-engine integration. */
|
|
18
|
+
export interface EnvelopeIntegrationConfig {
|
|
19
|
+
/** Interval between automatic breach checks in milliseconds. Default: 60 000 (1 min). */
|
|
20
|
+
checkIntervalMs?: number;
|
|
21
|
+
/** Entity ID whose trust score will receive breach signals. */
|
|
22
|
+
entityId: string;
|
|
23
|
+
/** Function that returns the current characteristic vector (6 dimensions). */
|
|
24
|
+
getDimensions: () => number[];
|
|
25
|
+
}
|
|
26
|
+
/** A recorded breach event kept for audit. */
|
|
27
|
+
export interface BreachHistoryEntry {
|
|
28
|
+
timestamp: string;
|
|
29
|
+
result: BreachResult;
|
|
30
|
+
signalId: string;
|
|
31
|
+
}
|
|
32
|
+
/** Handle returned by {@link connectEnvelopeToTrustEngine}. */
|
|
33
|
+
export interface EnvelopeMonitor {
|
|
34
|
+
/** Stop the interval and release resources. */
|
|
35
|
+
stop(): void;
|
|
36
|
+
/** Read-only copy of breach history. */
|
|
37
|
+
getBreachHistory(): BreachHistoryEntry[];
|
|
38
|
+
/** Number of checks executed so far. */
|
|
39
|
+
getCheckCount(): number;
|
|
40
|
+
/** Whether the monitor interval is currently running. */
|
|
41
|
+
isRunning(): boolean;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Wire a CognitiveEnvelope's breach detection to a TrustEngine.
|
|
45
|
+
*
|
|
46
|
+
* Starts an interval that calls `envelope.checkBreach(getDimensions())`.
|
|
47
|
+
* When a breach is detected, a trust signal is recorded with the
|
|
48
|
+
* `trustMultiplier` as the signal value (0.7 for full breach, 0.9 for
|
|
49
|
+
* approaching) and metadata describing the breach.
|
|
50
|
+
*
|
|
51
|
+
* @returns An {@link EnvelopeMonitor} handle — call `.stop()` to tear down.
|
|
52
|
+
*/
|
|
53
|
+
export declare function connectEnvelopeToTrustEngine(envelope: CognitiveEnvelope, engine: TrustEngine, config: EnvelopeIntegrationConfig): EnvelopeMonitor;
|
|
54
|
+
/**
|
|
55
|
+
* Stop an EnvelopeMonitor and release its interval.
|
|
56
|
+
*
|
|
57
|
+
* Convenience wrapper — equivalent to `monitor.stop()`.
|
|
58
|
+
*/
|
|
59
|
+
export declare function disconnectEnvelope(monitor: EnvelopeMonitor): void;
|
|
60
|
+
//# sourceMappingURL=envelope-integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envelope-integration.d.ts","sourceRoot":"","sources":["../../src/paramesphere/envelope-integration.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAM5D,4DAA4D;AAC5D,MAAM,WAAW,yBAAyB;IACxC,yFAAyF;IACzF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+DAA+D;IAC/D,QAAQ,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,aAAa,EAAE,MAAM,MAAM,EAAE,CAAC;CAC/B;AAED,8CAA8C;AAC9C,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,IAAI,IAAI,IAAI,CAAC;IACb,wCAAwC;IACxC,gBAAgB,IAAI,kBAAkB,EAAE,CAAC;IACzC,wCAAwC;IACxC,aAAa,IAAI,MAAM,CAAC;IACxB,yDAAyD;IACzD,SAAS,IAAI,OAAO,CAAC;CACtB;AAcD;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,iBAAiB,EAC3B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,yBAAyB,GAChC,eAAe,CA0EjB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAEjE"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright 2024-2026 Vorion LLC
|
|
3
|
+
// ---------------------------------------------------------------------------
|
|
4
|
+
// Defaults
|
|
5
|
+
// ---------------------------------------------------------------------------
|
|
6
|
+
const DEFAULT_CHECK_INTERVAL_MS = 60_000;
|
|
7
|
+
const SIGNAL_SOURCE = 'cognitive-envelope';
|
|
8
|
+
const SIGNAL_TYPE_BREACH = 'ENVELOPE_BREACH';
|
|
9
|
+
// ---------------------------------------------------------------------------
|
|
10
|
+
// Public API
|
|
11
|
+
// ---------------------------------------------------------------------------
|
|
12
|
+
/**
|
|
13
|
+
* Wire a CognitiveEnvelope's breach detection to a TrustEngine.
|
|
14
|
+
*
|
|
15
|
+
* Starts an interval that calls `envelope.checkBreach(getDimensions())`.
|
|
16
|
+
* When a breach is detected, a trust signal is recorded with the
|
|
17
|
+
* `trustMultiplier` as the signal value (0.7 for full breach, 0.9 for
|
|
18
|
+
* approaching) and metadata describing the breach.
|
|
19
|
+
*
|
|
20
|
+
* @returns An {@link EnvelopeMonitor} handle — call `.stop()` to tear down.
|
|
21
|
+
*/
|
|
22
|
+
export function connectEnvelopeToTrustEngine(envelope, engine, config) {
|
|
23
|
+
if (!config.entityId) {
|
|
24
|
+
throw new Error('entityId is required');
|
|
25
|
+
}
|
|
26
|
+
if (typeof config.getDimensions !== 'function') {
|
|
27
|
+
throw new Error('getDimensions must be a function');
|
|
28
|
+
}
|
|
29
|
+
const intervalMs = config.checkIntervalMs ?? DEFAULT_CHECK_INTERVAL_MS;
|
|
30
|
+
if (intervalMs <= 0) {
|
|
31
|
+
throw new Error('checkIntervalMs must be > 0');
|
|
32
|
+
}
|
|
33
|
+
const breachHistory = [];
|
|
34
|
+
let checkCount = 0;
|
|
35
|
+
let running = true;
|
|
36
|
+
// The core check function — also exported on the monitor for manual invocation in tests.
|
|
37
|
+
function runCheck() {
|
|
38
|
+
const dims = config.getDimensions();
|
|
39
|
+
const result = envelope.checkBreach(dims);
|
|
40
|
+
checkCount++;
|
|
41
|
+
if (result.breached) {
|
|
42
|
+
const signalId = `${SIGNAL_SOURCE}-${config.entityId}-${Date.now()}`;
|
|
43
|
+
const signal = {
|
|
44
|
+
id: signalId,
|
|
45
|
+
entityId: config.entityId,
|
|
46
|
+
type: SIGNAL_TYPE_BREACH,
|
|
47
|
+
value: result.trustMultiplier,
|
|
48
|
+
source: SIGNAL_SOURCE,
|
|
49
|
+
timestamp: new Date().toISOString(),
|
|
50
|
+
metadata: {
|
|
51
|
+
breachCounter: result.breachCounter,
|
|
52
|
+
maxDeviation: result.maxDeviation,
|
|
53
|
+
dimensionBreaches: result.dimensionBreaches,
|
|
54
|
+
trustMultiplier: result.trustMultiplier,
|
|
55
|
+
},
|
|
56
|
+
};
|
|
57
|
+
breachHistory.push({
|
|
58
|
+
timestamp: signal.timestamp,
|
|
59
|
+
result,
|
|
60
|
+
signalId,
|
|
61
|
+
});
|
|
62
|
+
void engine.recordSignal(signal);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
const timer = setInterval(runCheck, intervalMs);
|
|
66
|
+
const monitor = {
|
|
67
|
+
stop() {
|
|
68
|
+
if (!running)
|
|
69
|
+
return;
|
|
70
|
+
clearInterval(timer);
|
|
71
|
+
running = false;
|
|
72
|
+
},
|
|
73
|
+
getBreachHistory() {
|
|
74
|
+
return [...breachHistory];
|
|
75
|
+
},
|
|
76
|
+
getCheckCount() {
|
|
77
|
+
return checkCount;
|
|
78
|
+
},
|
|
79
|
+
isRunning() {
|
|
80
|
+
return running;
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
return monitor;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Stop an EnvelopeMonitor and release its interval.
|
|
87
|
+
*
|
|
88
|
+
* Convenience wrapper — equivalent to `monitor.stop()`.
|
|
89
|
+
*/
|
|
90
|
+
export function disconnectEnvelope(monitor) {
|
|
91
|
+
monitor.stop();
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=envelope-integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"envelope-integration.js","sourceRoot":"","sources":["../../src/paramesphere/envelope-integration.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAqDjC,8EAA8E;AAC9E,WAAW;AACX,8EAA8E;AAE9E,MAAM,yBAAyB,GAAG,MAAM,CAAC;AACzC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAC3C,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AAE7C,8EAA8E;AAC9E,aAAa;AACb,8EAA8E;AAE9E;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAC1C,QAA2B,EAC3B,MAAmB,EACnB,MAAiC;IAEjC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,IAAI,yBAAyB,CAAC;IACvE,IAAI,UAAU,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,aAAa,GAAyB,EAAE,CAAC;IAC/C,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,yFAAyF;IACzF,SAAS,QAAQ;QACf,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1C,UAAU,EAAE,CAAC;QAEb,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,GAAG,aAAa,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAErE,MAAM,MAAM,GAAG;gBACb,EAAE,EAAE,QAAQ;gBACZ,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,IAAI,EAAE,kBAAkB;gBACxB,KAAK,EAAE,MAAM,CAAC,eAAe;gBAC7B,MAAM,EAAE,aAAa;gBACrB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,QAAQ,EAAE;oBACR,aAAa,EAAE,MAAM,CAAC,aAAa;oBACnC,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAC3C,eAAe,EAAE,MAAM,CAAC,eAAe;iBACxC;aACF,CAAC;YAEF,aAAa,CAAC,IAAI,CAAC;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM;gBACN,QAAQ;aACT,CAAC,CAAC;YAEH,KAAK,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAoB;QAC/B,IAAI;YACF,IAAI,CAAC,OAAO;gBAAE,OAAO;YACrB,aAAa,CAAC,KAAK,CAAC,CAAC;YACrB,OAAO,GAAG,KAAK,CAAC;QAClB,CAAC;QAED,gBAAgB;YACd,OAAO,CAAC,GAAG,aAAa,CAAC,CAAC;QAC5B,CAAC;QAED,aAAa;YACX,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,SAAS;YACP,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAwB;IACzD,OAAO,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* FingerprintMonitor — Scheduled fingerprinting with automatic alerting.
|
|
3
|
+
*
|
|
4
|
+
* Runs fingerprint checks on a configurable interval, emits callbacks on
|
|
5
|
+
* drift detection, and produces signal-ready objects when tampering is
|
|
6
|
+
* detected. Deliberately decoupled from the trust engine — the monitor
|
|
7
|
+
* detects and reports, it never directly modifies trust scores.
|
|
8
|
+
*
|
|
9
|
+
* Key behaviours:
|
|
10
|
+
* - First check for a given entity establishes its baseline fingerprint.
|
|
11
|
+
* - Subsequent checks compare against that baseline via
|
|
12
|
+
* `ParameSphereEngine.checkDrift()`.
|
|
13
|
+
* - Drift exceeding `driftThreshold` triggers the `onDriftDetected` callback.
|
|
14
|
+
* - Drift exceeding `2 × driftThreshold` is classified as *tampering* and
|
|
15
|
+
* triggers the `onTamperingDetected` callback.
|
|
16
|
+
* - When `emitTrustSignal` is true, `MonitorCheckResult` includes a
|
|
17
|
+
* signal-ready payload (`trustSignal`) that callers can forward to a
|
|
18
|
+
* trust engine without introducing a direct dependency.
|
|
19
|
+
*
|
|
20
|
+
* @packageDocumentation
|
|
21
|
+
*/
|
|
22
|
+
import type { ParameSphereFingerprint, DriftResult } from './types.js';
|
|
23
|
+
import type { ParameSphereEngine } from './paramesphere-engine.js';
|
|
24
|
+
/** Configuration for the FingerprintMonitor. */
|
|
25
|
+
export interface FingerprintMonitorConfig {
|
|
26
|
+
/** ParameSphere engine instance used to compute and compare fingerprints. */
|
|
27
|
+
engine: ParameSphereEngine;
|
|
28
|
+
/** Interval between scheduled fingerprint checks, in milliseconds (default: 300 000 = 5 min). */
|
|
29
|
+
checkIntervalMs?: number;
|
|
30
|
+
/** Cosine-distance threshold that constitutes drift (default: 0.05). */
|
|
31
|
+
driftThreshold?: number;
|
|
32
|
+
/** Called whenever drift is detected. */
|
|
33
|
+
onDriftDetected?: (entityId: string, result: DriftResult) => void;
|
|
34
|
+
/** Called each time a fingerprint is successfully computed. */
|
|
35
|
+
onFingerprintTaken?: (entityId: string, fingerprint: ParameSphereFingerprint) => void;
|
|
36
|
+
/** Called when drift exceeds 2× threshold (severe — likely tampering). */
|
|
37
|
+
onTamperingDetected?: (entityId: string, result: DriftResult) => void;
|
|
38
|
+
/**
|
|
39
|
+
* When true, `MonitorCheckResult.trustSignal` is populated with a
|
|
40
|
+
* signal-ready object that consumers can forward to a trust engine.
|
|
41
|
+
* Default: true.
|
|
42
|
+
*/
|
|
43
|
+
emitTrustSignal?: boolean;
|
|
44
|
+
}
|
|
45
|
+
/** Result of a single monitor check cycle. */
|
|
46
|
+
export interface MonitorCheckResult {
|
|
47
|
+
entityId: string;
|
|
48
|
+
fingerprint: ParameSphereFingerprint;
|
|
49
|
+
driftDetected: boolean;
|
|
50
|
+
/** Drift exceeds 2× threshold — severe / likely tampering. */
|
|
51
|
+
tamperingDetected: boolean;
|
|
52
|
+
/** Measured cosine distance from baseline (0 on first check). */
|
|
53
|
+
driftDistance: number;
|
|
54
|
+
checkedAt: Date;
|
|
55
|
+
/**
|
|
56
|
+
* Signal-ready object suitable for forwarding to a trust engine.
|
|
57
|
+
* Present only when `emitTrustSignal` is enabled AND drift or
|
|
58
|
+
* tampering was detected.
|
|
59
|
+
*/
|
|
60
|
+
trustSignal?: TrustSignalPayload;
|
|
61
|
+
}
|
|
62
|
+
/** Lightweight trust signal payload — decoupled from the trust engine's own type. */
|
|
63
|
+
export interface TrustSignalPayload {
|
|
64
|
+
entityId: string;
|
|
65
|
+
type: string;
|
|
66
|
+
value: number;
|
|
67
|
+
source: string;
|
|
68
|
+
timestamp: string;
|
|
69
|
+
metadata: Record<string, unknown>;
|
|
70
|
+
}
|
|
71
|
+
/** Per-entity monitoring status. */
|
|
72
|
+
export interface MonitorStatus {
|
|
73
|
+
entityId: string;
|
|
74
|
+
lastCheck: Date | null;
|
|
75
|
+
checksCompleted: number;
|
|
76
|
+
driftsDetected: number;
|
|
77
|
+
tamperingsDetected: number;
|
|
78
|
+
status: 'monitoring' | 'stopped';
|
|
79
|
+
}
|
|
80
|
+
export declare class FingerprintMonitor {
|
|
81
|
+
private readonly engine;
|
|
82
|
+
private readonly checkIntervalMs;
|
|
83
|
+
private readonly driftThreshold;
|
|
84
|
+
private readonly emitTrustSignal;
|
|
85
|
+
private onDriftDetected?;
|
|
86
|
+
private onFingerprintTaken?;
|
|
87
|
+
private onTamperingDetected?;
|
|
88
|
+
private readonly entities;
|
|
89
|
+
constructor(config: FingerprintMonitorConfig);
|
|
90
|
+
/**
|
|
91
|
+
* Start monitoring an entity's model weights.
|
|
92
|
+
*
|
|
93
|
+
* The first scheduled check establishes the baseline fingerprint.
|
|
94
|
+
* Subsequent checks compare against that baseline.
|
|
95
|
+
*
|
|
96
|
+
* @param entityId Unique identifier for the monitored entity / model.
|
|
97
|
+
* @param getWeights Callback that returns the current weight matrices.
|
|
98
|
+
*/
|
|
99
|
+
startMonitoring(entityId: string, getWeights: () => Float32Array[]): void;
|
|
100
|
+
/**
|
|
101
|
+
* Stop monitoring an entity. Clears the interval and marks status
|
|
102
|
+
* as `stopped`. The entity remains in the map so stats are queryable.
|
|
103
|
+
*/
|
|
104
|
+
stopMonitoring(entityId: string): void;
|
|
105
|
+
/**
|
|
106
|
+
* Manually trigger a fingerprint check outside the scheduled interval.
|
|
107
|
+
*/
|
|
108
|
+
checkNow(entityId: string): Promise<MonitorCheckResult>;
|
|
109
|
+
/**
|
|
110
|
+
* Get monitoring status for an entity.
|
|
111
|
+
*/
|
|
112
|
+
getStatus(entityId: string): MonitorStatus | undefined;
|
|
113
|
+
/**
|
|
114
|
+
* List all entity IDs currently registered (monitoring or stopped).
|
|
115
|
+
*/
|
|
116
|
+
getMonitoredEntities(): string[];
|
|
117
|
+
/**
|
|
118
|
+
* Replace the drift-detected callback. Allows integration layers to
|
|
119
|
+
* wire callbacks after construction without subclassing.
|
|
120
|
+
*/
|
|
121
|
+
setOnDriftDetected(cb: ((entityId: string, result: DriftResult) => void) | undefined): void;
|
|
122
|
+
/**
|
|
123
|
+
* Replace the tampering-detected callback.
|
|
124
|
+
*/
|
|
125
|
+
setOnTamperingDetected(cb: ((entityId: string, result: DriftResult) => void) | undefined): void;
|
|
126
|
+
/**
|
|
127
|
+
* Replace the fingerprint-taken callback.
|
|
128
|
+
*/
|
|
129
|
+
setOnFingerprintTaken(cb: ((entityId: string, fingerprint: ParameSphereFingerprint) => void) | undefined): void;
|
|
130
|
+
/**
|
|
131
|
+
* Stop all monitored entities and clear all state.
|
|
132
|
+
*/
|
|
133
|
+
shutdown(): void;
|
|
134
|
+
private runCheck;
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=fingerprint-monitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fingerprint-monitor.d.ts","sourceRoot":"","sources":["../../src/paramesphere/fingerprint-monitor.ts"],"names":[],"mappings":"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"}
|