limen-ai 1.0.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 +47 -0
- package/LICENSE +190 -0
- package/README.md +546 -0
- package/dist/api/agents/agent_api.d.ts +126 -0
- package/dist/api/agents/agent_api.d.ts.map +1 -0
- package/dist/api/agents/agent_api.js +467 -0
- package/dist/api/agents/agent_api.js.map +1 -0
- package/dist/api/agents/trust_progression.d.ts +78 -0
- package/dist/api/agents/trust_progression.d.ts.map +1 -0
- package/dist/api/agents/trust_progression.js +124 -0
- package/dist/api/agents/trust_progression.js.map +1 -0
- package/dist/api/chat/chat_pipeline.d.ts +91 -0
- package/dist/api/chat/chat_pipeline.d.ts.map +1 -0
- package/dist/api/chat/chat_pipeline.js +630 -0
- package/dist/api/chat/chat_pipeline.js.map +1 -0
- package/dist/api/chat/technique_injector.d.ts +86 -0
- package/dist/api/chat/technique_injector.d.ts.map +1 -0
- package/dist/api/chat/technique_injector.js +125 -0
- package/dist/api/chat/technique_injector.js.map +1 -0
- package/dist/api/data/data_api.d.ts +91 -0
- package/dist/api/data/data_api.d.ts.map +1 -0
- package/dist/api/data/data_api.js +306 -0
- package/dist/api/data/data_api.js.map +1 -0
- package/dist/api/enforcement/cost_tracker.d.ts +105 -0
- package/dist/api/enforcement/cost_tracker.d.ts.map +1 -0
- package/dist/api/enforcement/cost_tracker.js +227 -0
- package/dist/api/enforcement/cost_tracker.js.map +1 -0
- package/dist/api/enforcement/latency_harness.d.ts +94 -0
- package/dist/api/enforcement/latency_harness.d.ts.map +1 -0
- package/dist/api/enforcement/latency_harness.js +120 -0
- package/dist/api/enforcement/latency_harness.js.map +1 -0
- package/dist/api/enforcement/rate_guard.d.ts +52 -0
- package/dist/api/enforcement/rate_guard.d.ts.map +1 -0
- package/dist/api/enforcement/rate_guard.js +79 -0
- package/dist/api/enforcement/rate_guard.js.map +1 -0
- package/dist/api/enforcement/rbac_guard.d.ts +55 -0
- package/dist/api/enforcement/rbac_guard.d.ts.map +1 -0
- package/dist/api/enforcement/rbac_guard.js +77 -0
- package/dist/api/enforcement/rbac_guard.js.map +1 -0
- package/dist/api/errors/limen_error.d.ts +81 -0
- package/dist/api/errors/limen_error.d.ts.map +1 -0
- package/dist/api/errors/limen_error.js +324 -0
- package/dist/api/errors/limen_error.js.map +1 -0
- package/dist/api/facades/claim_facade.d.ts +47 -0
- package/dist/api/facades/claim_facade.d.ts.map +1 -0
- package/dist/api/facades/claim_facade.js +67 -0
- package/dist/api/facades/claim_facade.js.map +1 -0
- package/dist/api/facades/working_memory_facade.d.ts +47 -0
- package/dist/api/facades/working_memory_facade.d.ts.map +1 -0
- package/dist/api/facades/working_memory_facade.js +74 -0
- package/dist/api/facades/working_memory_facade.js.map +1 -0
- package/dist/api/governance/governed_orchestration.d.ts +76 -0
- package/dist/api/governance/governed_orchestration.d.ts.map +1 -0
- package/dist/api/governance/governed_orchestration.js +413 -0
- package/dist/api/governance/governed_orchestration.js.map +1 -0
- package/dist/api/index.d.ts +84 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/index.js +847 -0
- package/dist/api/index.js.map +1 -0
- package/dist/api/infer/infer_pipeline.d.ts +51 -0
- package/dist/api/infer/infer_pipeline.d.ts.map +1 -0
- package/dist/api/infer/infer_pipeline.js +291 -0
- package/dist/api/infer/infer_pipeline.js.map +1 -0
- package/dist/api/interfaces/api.d.ts +940 -0
- package/dist/api/interfaces/api.d.ts.map +1 -0
- package/dist/api/interfaces/api.js +21 -0
- package/dist/api/interfaces/api.js.map +1 -0
- package/dist/api/knowledge/knowledge_api.d.ts +55 -0
- package/dist/api/knowledge/knowledge_api.d.ts.map +1 -0
- package/dist/api/knowledge/knowledge_api.js +89 -0
- package/dist/api/knowledge/knowledge_api.js.map +1 -0
- package/dist/api/migration/023_agent_persistence.d.ts +32 -0
- package/dist/api/migration/023_agent_persistence.d.ts.map +1 -0
- package/dist/api/migration/023_agent_persistence.js +158 -0
- package/dist/api/migration/023_agent_persistence.js.map +1 -0
- package/dist/api/migration/024_trust_learning.d.ts +36 -0
- package/dist/api/migration/024_trust_learning.d.ts.map +1 -0
- package/dist/api/migration/024_trust_learning.js +194 -0
- package/dist/api/migration/024_trust_learning.js.map +1 -0
- package/dist/api/migration/025_knowledge_graph.d.ts +29 -0
- package/dist/api/migration/025_knowledge_graph.d.ts.map +1 -0
- package/dist/api/migration/025_knowledge_graph.js +97 -0
- package/dist/api/migration/025_knowledge_graph.js.map +1 -0
- package/dist/api/migration/026_replay_pipeline.d.ts +30 -0
- package/dist/api/migration/026_replay_pipeline.d.ts.map +1 -0
- package/dist/api/migration/026_replay_pipeline.js +118 -0
- package/dist/api/migration/026_replay_pipeline.js.map +1 -0
- package/dist/api/missions/mission_api.d.ts +74 -0
- package/dist/api/missions/mission_api.d.ts.map +1 -0
- package/dist/api/missions/mission_api.js +408 -0
- package/dist/api/missions/mission_api.js.map +1 -0
- package/dist/api/observability/health.d.ts +36 -0
- package/dist/api/observability/health.d.ts.map +1 -0
- package/dist/api/observability/health.js +92 -0
- package/dist/api/observability/health.js.map +1 -0
- package/dist/api/observability/metrics.d.ts +95 -0
- package/dist/api/observability/metrics.d.ts.map +1 -0
- package/dist/api/observability/metrics.js +260 -0
- package/dist/api/observability/metrics.js.map +1 -0
- package/dist/api/roles/roles_api.d.ts +45 -0
- package/dist/api/roles/roles_api.d.ts.map +1 -0
- package/dist/api/roles/roles_api.js +77 -0
- package/dist/api/roles/roles_api.js.map +1 -0
- package/dist/api/sessions/session_manager.d.ts +110 -0
- package/dist/api/sessions/session_manager.d.ts.map +1 -0
- package/dist/api/sessions/session_manager.js +278 -0
- package/dist/api/sessions/session_manager.js.map +1 -0
- package/dist/budget/harness/dba_harness.d.ts +36 -0
- package/dist/budget/harness/dba_harness.d.ts.map +1 -0
- package/dist/budget/harness/dba_harness.js +58 -0
- package/dist/budget/harness/dba_harness.js.map +1 -0
- package/dist/budget/impl/dba_impl.d.ts +47 -0
- package/dist/budget/impl/dba_impl.d.ts.map +1 -0
- package/dist/budget/impl/dba_impl.js +402 -0
- package/dist/budget/impl/dba_impl.js.map +1 -0
- package/dist/budget/interfaces/dba_types.d.ts +708 -0
- package/dist/budget/interfaces/dba_types.d.ts.map +1 -0
- package/dist/budget/interfaces/dba_types.js +124 -0
- package/dist/budget/interfaces/dba_types.js.map +1 -0
- package/dist/claims/evidence/capability_scope_validator.d.ts +32 -0
- package/dist/claims/evidence/capability_scope_validator.d.ts.map +1 -0
- package/dist/claims/evidence/capability_scope_validator.js +72 -0
- package/dist/claims/evidence/capability_scope_validator.js.map +1 -0
- package/dist/claims/evidence/evidence_validator.d.ts +35 -0
- package/dist/claims/evidence/evidence_validator.d.ts.map +1 -0
- package/dist/claims/evidence/evidence_validator.js +118 -0
- package/dist/claims/evidence/evidence_validator.js.map +1 -0
- package/dist/claims/harness/claim_harness.d.ts +22 -0
- package/dist/claims/harness/claim_harness.d.ts.map +1 -0
- package/dist/claims/harness/claim_harness.js +26 -0
- package/dist/claims/harness/claim_harness.js.map +1 -0
- package/dist/claims/interfaces/claim_types.d.ts +858 -0
- package/dist/claims/interfaces/claim_types.d.ts.map +1 -0
- package/dist/claims/interfaces/claim_types.js +201 -0
- package/dist/claims/interfaces/claim_types.js.map +1 -0
- package/dist/claims/migration/019_ccp_claims.d.ts +23 -0
- package/dist/claims/migration/019_ccp_claims.d.ts.map +1 -0
- package/dist/claims/migration/019_ccp_claims.js +196 -0
- package/dist/claims/migration/019_ccp_claims.js.map +1 -0
- package/dist/claims/store/claim_stores.d.ts +27 -0
- package/dist/claims/store/claim_stores.d.ts.map +1 -0
- package/dist/claims/store/claim_stores.js +1352 -0
- package/dist/claims/store/claim_stores.js.map +1 -0
- package/dist/context/harness/cgp_harness.d.ts +32 -0
- package/dist/context/harness/cgp_harness.d.ts.map +1 -0
- package/dist/context/harness/cgp_harness.js +295 -0
- package/dist/context/harness/cgp_harness.js.map +1 -0
- package/dist/context/interfaces/cgp_types.d.ts +905 -0
- package/dist/context/interfaces/cgp_types.d.ts.map +1 -0
- package/dist/context/interfaces/cgp_types.js +112 -0
- package/dist/context/interfaces/cgp_types.js.map +1 -0
- package/dist/context/stores/cgp_stores.d.ts +42 -0
- package/dist/context/stores/cgp_stores.d.ts.map +1 -0
- package/dist/context/stores/cgp_stores.js +856 -0
- package/dist/context/stores/cgp_stores.js.map +1 -0
- package/dist/execution/harness/egp_harness.d.ts +43 -0
- package/dist/execution/harness/egp_harness.d.ts.map +1 -0
- package/dist/execution/harness/egp_harness.js +54 -0
- package/dist/execution/harness/egp_harness.js.map +1 -0
- package/dist/execution/interfaces/egp_types.d.ts +1042 -0
- package/dist/execution/interfaces/egp_types.d.ts.map +1 -0
- package/dist/execution/interfaces/egp_types.js +195 -0
- package/dist/execution/interfaces/egp_types.js.map +1 -0
- package/dist/execution/stores/egp_stores.d.ts +29 -0
- package/dist/execution/stores/egp_stores.d.ts.map +1 -0
- package/dist/execution/stores/egp_stores.js +1250 -0
- package/dist/execution/stores/egp_stores.js.map +1 -0
- package/dist/execution/wiring/execution_gate.d.ts +56 -0
- package/dist/execution/wiring/execution_gate.d.ts.map +1 -0
- package/dist/execution/wiring/execution_gate.js +77 -0
- package/dist/execution/wiring/execution_gate.js.map +1 -0
- package/dist/execution/wiring/floor_enforcer.d.ts +68 -0
- package/dist/execution/wiring/floor_enforcer.d.ts.map +1 -0
- package/dist/execution/wiring/floor_enforcer.js +96 -0
- package/dist/execution/wiring/floor_enforcer.js.map +1 -0
- package/dist/execution/wiring/invocation_gate.d.ts +58 -0
- package/dist/execution/wiring/invocation_gate.d.ts.map +1 -0
- package/dist/execution/wiring/invocation_gate.js +69 -0
- package/dist/execution/wiring/invocation_gate.js.map +1 -0
- package/dist/execution/wiring/terminal_release.d.ts +56 -0
- package/dist/execution/wiring/terminal_release.d.ts.map +1 -0
- package/dist/execution/wiring/terminal_release.js +85 -0
- package/dist/execution/wiring/terminal_release.js.map +1 -0
- package/dist/governance/harness/governance_harness.d.ts +54 -0
- package/dist/governance/harness/governance_harness.d.ts.map +1 -0
- package/dist/governance/harness/governance_harness.js +60 -0
- package/dist/governance/harness/governance_harness.js.map +1 -0
- package/dist/governance/migration/012_governance_runs_traces.d.ts +21 -0
- package/dist/governance/migration/012_governance_runs_traces.d.ts.map +1 -0
- package/dist/governance/migration/012_governance_runs_traces.js +115 -0
- package/dist/governance/migration/012_governance_runs_traces.js.map +1 -0
- package/dist/governance/migration/013_governance_contracts.d.ts +18 -0
- package/dist/governance/migration/013_governance_contracts.d.ts.map +1 -0
- package/dist/governance/migration/013_governance_contracts.js +59 -0
- package/dist/governance/migration/013_governance_contracts.js.map +1 -0
- package/dist/governance/migration/014_governance_supervisor.d.ts +16 -0
- package/dist/governance/migration/014_governance_supervisor.d.ts.map +1 -0
- package/dist/governance/migration/014_governance_supervisor.js +75 -0
- package/dist/governance/migration/014_governance_supervisor.js.map +1 -0
- package/dist/governance/migration/015_governance_eval.d.ts +18 -0
- package/dist/governance/migration/015_governance_eval.d.ts.map +1 -0
- package/dist/governance/migration/015_governance_eval.js +65 -0
- package/dist/governance/migration/015_governance_eval.js.map +1 -0
- package/dist/governance/migration/016_governance_capabilities.d.ts +16 -0
- package/dist/governance/migration/016_governance_capabilities.d.ts.map +1 -0
- package/dist/governance/migration/016_governance_capabilities.js +60 -0
- package/dist/governance/migration/016_governance_capabilities.js.map +1 -0
- package/dist/governance/migration/017_governance_handoffs_idempotency.d.ts +20 -0
- package/dist/governance/migration/017_governance_handoffs_idempotency.d.ts.map +1 -0
- package/dist/governance/migration/017_governance_handoffs_idempotency.js +103 -0
- package/dist/governance/migration/017_governance_handoffs_idempotency.js.map +1 -0
- package/dist/governance/migration/018_supervisor_decision_delete_trigger.d.ts +17 -0
- package/dist/governance/migration/018_supervisor_decision_delete_trigger.d.ts.map +1 -0
- package/dist/governance/migration/018_supervisor_decision_delete_trigger.js +37 -0
- package/dist/governance/migration/018_supervisor_decision_delete_trigger.js.map +1 -0
- package/dist/governance/stores/governance_stores.d.ts +78 -0
- package/dist/governance/stores/governance_stores.d.ts.map +1 -0
- package/dist/governance/stores/governance_stores.js +1117 -0
- package/dist/governance/stores/governance_stores.js.map +1 -0
- package/dist/kernel/audit/audit_trail.d.ts +24 -0
- package/dist/kernel/audit/audit_trail.d.ts.map +1 -0
- package/dist/kernel/audit/audit_trail.js +569 -0
- package/dist/kernel/audit/audit_trail.js.map +1 -0
- package/dist/kernel/crypto/crypto_engine.d.ts +49 -0
- package/dist/kernel/crypto/crypto_engine.d.ts.map +1 -0
- package/dist/kernel/crypto/crypto_engine.js +350 -0
- package/dist/kernel/crypto/crypto_engine.js.map +1 -0
- package/dist/kernel/database/database_lifecycle.d.ts +24 -0
- package/dist/kernel/database/database_lifecycle.d.ts.map +1 -0
- package/dist/kernel/database/database_lifecycle.js +404 -0
- package/dist/kernel/database/database_lifecycle.js.map +1 -0
- package/dist/kernel/database/migrations.d.ts +21 -0
- package/dist/kernel/database/migrations.d.ts.map +1 -0
- package/dist/kernel/database/migrations.js +407 -0
- package/dist/kernel/database/migrations.js.map +1 -0
- package/dist/kernel/events/event_bus.d.ts +25 -0
- package/dist/kernel/events/event_bus.d.ts.map +1 -0
- package/dist/kernel/events/event_bus.js +302 -0
- package/dist/kernel/events/event_bus.js.map +1 -0
- package/dist/kernel/events/webhook_delivery.d.ts +90 -0
- package/dist/kernel/events/webhook_delivery.d.ts.map +1 -0
- package/dist/kernel/events/webhook_delivery.js +324 -0
- package/dist/kernel/events/webhook_delivery.js.map +1 -0
- package/dist/kernel/index.d.ts +39 -0
- package/dist/kernel/index.d.ts.map +1 -0
- package/dist/kernel/index.js +263 -0
- package/dist/kernel/index.js.map +1 -0
- package/dist/kernel/interfaces/audit.d.ts +146 -0
- package/dist/kernel/interfaces/audit.d.ts.map +1 -0
- package/dist/kernel/interfaces/audit.js +15 -0
- package/dist/kernel/interfaces/audit.js.map +1 -0
- package/dist/kernel/interfaces/capability_manifest.d.ts +104 -0
- package/dist/kernel/interfaces/capability_manifest.d.ts.map +1 -0
- package/dist/kernel/interfaces/capability_manifest.js +44 -0
- package/dist/kernel/interfaces/capability_manifest.js.map +1 -0
- package/dist/kernel/interfaces/common.d.ts +91 -0
- package/dist/kernel/interfaces/common.d.ts.map +1 -0
- package/dist/kernel/interfaces/common.js +10 -0
- package/dist/kernel/interfaces/common.js.map +1 -0
- package/dist/kernel/interfaces/crypto.d.ts +95 -0
- package/dist/kernel/interfaces/crypto.d.ts.map +1 -0
- package/dist/kernel/interfaces/crypto.js +14 -0
- package/dist/kernel/interfaces/crypto.js.map +1 -0
- package/dist/kernel/interfaces/database.d.ts +157 -0
- package/dist/kernel/interfaces/database.d.ts.map +1 -0
- package/dist/kernel/interfaces/database.js +10 -0
- package/dist/kernel/interfaces/database.js.map +1 -0
- package/dist/kernel/interfaces/eval.d.ts +93 -0
- package/dist/kernel/interfaces/eval.d.ts.map +1 -0
- package/dist/kernel/interfaces/eval.js +17 -0
- package/dist/kernel/interfaces/eval.js.map +1 -0
- package/dist/kernel/interfaces/events.d.ts +73 -0
- package/dist/kernel/interfaces/events.d.ts.map +1 -0
- package/dist/kernel/interfaces/events.js +13 -0
- package/dist/kernel/interfaces/events.js.map +1 -0
- package/dist/kernel/interfaces/governance_ids.d.ts +93 -0
- package/dist/kernel/interfaces/governance_ids.d.ts.map +1 -0
- package/dist/kernel/interfaces/governance_ids.js +18 -0
- package/dist/kernel/interfaces/governance_ids.js.map +1 -0
- package/dist/kernel/interfaces/idempotency.d.ts +143 -0
- package/dist/kernel/interfaces/idempotency.d.ts.map +1 -0
- package/dist/kernel/interfaces/idempotency.js +22 -0
- package/dist/kernel/interfaces/idempotency.js.map +1 -0
- package/dist/kernel/interfaces/index.d.ts +29 -0
- package/dist/kernel/interfaces/index.d.ts.map +1 -0
- package/dist/kernel/interfaces/index.js +9 -0
- package/dist/kernel/interfaces/index.js.map +1 -0
- package/dist/kernel/interfaces/kernel.d.ts +79 -0
- package/dist/kernel/interfaces/kernel.d.ts.map +1 -0
- package/dist/kernel/interfaces/kernel.js +13 -0
- package/dist/kernel/interfaces/kernel.js.map +1 -0
- package/dist/kernel/interfaces/lifecycle.d.ts +115 -0
- package/dist/kernel/interfaces/lifecycle.d.ts.map +1 -0
- package/dist/kernel/interfaces/lifecycle.js +53 -0
- package/dist/kernel/interfaces/lifecycle.js.map +1 -0
- package/dist/kernel/interfaces/mission_contract.d.ts +106 -0
- package/dist/kernel/interfaces/mission_contract.d.ts.map +1 -0
- package/dist/kernel/interfaces/mission_contract.js +20 -0
- package/dist/kernel/interfaces/mission_contract.js.map +1 -0
- package/dist/kernel/interfaces/namespace.d.ts +30 -0
- package/dist/kernel/interfaces/namespace.d.ts.map +1 -0
- package/dist/kernel/interfaces/namespace.js +12 -0
- package/dist/kernel/interfaces/namespace.js.map +1 -0
- package/dist/kernel/interfaces/rate_limiter.d.ts +42 -0
- package/dist/kernel/interfaces/rate_limiter.d.ts.map +1 -0
- package/dist/kernel/interfaces/rate_limiter.js +12 -0
- package/dist/kernel/interfaces/rate_limiter.js.map +1 -0
- package/dist/kernel/interfaces/rbac.d.ts +58 -0
- package/dist/kernel/interfaces/rbac.d.ts.map +1 -0
- package/dist/kernel/interfaces/rbac.js +13 -0
- package/dist/kernel/interfaces/rbac.js.map +1 -0
- package/dist/kernel/interfaces/retention.d.ts +58 -0
- package/dist/kernel/interfaces/retention.d.ts.map +1 -0
- package/dist/kernel/interfaces/retention.js +13 -0
- package/dist/kernel/interfaces/retention.js.map +1 -0
- package/dist/kernel/interfaces/run_identity.d.ts +132 -0
- package/dist/kernel/interfaces/run_identity.d.ts.map +1 -0
- package/dist/kernel/interfaces/run_identity.js +16 -0
- package/dist/kernel/interfaces/run_identity.js.map +1 -0
- package/dist/kernel/interfaces/supervisor.d.ts +175 -0
- package/dist/kernel/interfaces/supervisor.d.ts.map +1 -0
- package/dist/kernel/interfaces/supervisor.js +25 -0
- package/dist/kernel/interfaces/supervisor.js.map +1 -0
- package/dist/kernel/interfaces/tenant.d.ts +34 -0
- package/dist/kernel/interfaces/tenant.d.ts.map +1 -0
- package/dist/kernel/interfaces/tenant.js +12 -0
- package/dist/kernel/interfaces/tenant.js.map +1 -0
- package/dist/kernel/interfaces/time.d.ts +29 -0
- package/dist/kernel/interfaces/time.d.ts.map +1 -0
- package/dist/kernel/interfaces/time.js +13 -0
- package/dist/kernel/interfaces/time.js.map +1 -0
- package/dist/kernel/interfaces/trace.d.ts +264 -0
- package/dist/kernel/interfaces/trace.d.ts.map +1 -0
- package/dist/kernel/interfaces/trace.js +17 -0
- package/dist/kernel/interfaces/trace.js.map +1 -0
- package/dist/kernel/namespace/namespace_enforcer.d.ts +20 -0
- package/dist/kernel/namespace/namespace_enforcer.d.ts.map +1 -0
- package/dist/kernel/namespace/namespace_enforcer.js +91 -0
- package/dist/kernel/namespace/namespace_enforcer.js.map +1 -0
- package/dist/kernel/rate_limiter/rate_limiter.d.ts +23 -0
- package/dist/kernel/rate_limiter/rate_limiter.d.ts.map +1 -0
- package/dist/kernel/rate_limiter/rate_limiter.js +146 -0
- package/dist/kernel/rate_limiter/rate_limiter.js.map +1 -0
- package/dist/kernel/rbac/rbac_engine.d.ts +20 -0
- package/dist/kernel/rbac/rbac_engine.d.ts.map +1 -0
- package/dist/kernel/rbac/rbac_engine.js +257 -0
- package/dist/kernel/rbac/rbac_engine.js.map +1 -0
- package/dist/kernel/retention/retention_scheduler.d.ts +41 -0
- package/dist/kernel/retention/retention_scheduler.d.ts.map +1 -0
- package/dist/kernel/retention/retention_scheduler.js +218 -0
- package/dist/kernel/retention/retention_scheduler.js.map +1 -0
- package/dist/kernel/tenant/tenant_context.d.ts +22 -0
- package/dist/kernel/tenant/tenant_context.d.ts.map +1 -0
- package/dist/kernel/tenant/tenant_context.js +107 -0
- package/dist/kernel/tenant/tenant_context.js.map +1 -0
- package/dist/kernel/tenant/tenant_scope.d.ts +81 -0
- package/dist/kernel/tenant/tenant_scope.d.ts.map +1 -0
- package/dist/kernel/tenant/tenant_scope.js +168 -0
- package/dist/kernel/tenant/tenant_scope.js.map +1 -0
- package/dist/kernel/time/time_provider.d.ts +39 -0
- package/dist/kernel/time/time_provider.d.ts.map +1 -0
- package/dist/kernel/time/time_provider.js +58 -0
- package/dist/kernel/time/time_provider.js.map +1 -0
- package/dist/learning/applicator/technique_applicator.d.ts +41 -0
- package/dist/learning/applicator/technique_applicator.d.ts.map +1 -0
- package/dist/learning/applicator/technique_applicator.js +200 -0
- package/dist/learning/applicator/technique_applicator.js.map +1 -0
- package/dist/learning/cold_start/cold_start_manager.d.ts +35 -0
- package/dist/learning/cold_start/cold_start_manager.d.ts.map +1 -0
- package/dist/learning/cold_start/cold_start_manager.js +146 -0
- package/dist/learning/cold_start/cold_start_manager.js.map +1 -0
- package/dist/learning/cycle/learning_cycle_orchestrator.d.ts +45 -0
- package/dist/learning/cycle/learning_cycle_orchestrator.d.ts.map +1 -0
- package/dist/learning/cycle/learning_cycle_orchestrator.js +165 -0
- package/dist/learning/cycle/learning_cycle_orchestrator.js.map +1 -0
- package/dist/learning/extractor/technique_extractor.d.ts +48 -0
- package/dist/learning/extractor/technique_extractor.d.ts.map +1 -0
- package/dist/learning/extractor/technique_extractor.js +357 -0
- package/dist/learning/extractor/technique_extractor.js.map +1 -0
- package/dist/learning/harness/learning_harness.d.ts +26 -0
- package/dist/learning/harness/learning_harness.d.ts.map +1 -0
- package/dist/learning/harness/learning_harness.js +58 -0
- package/dist/learning/harness/learning_harness.js.map +1 -0
- package/dist/learning/interfaces/index.d.ts +7 -0
- package/dist/learning/interfaces/index.d.ts.map +1 -0
- package/dist/learning/interfaces/index.js +10 -0
- package/dist/learning/interfaces/index.js.map +1 -0
- package/dist/learning/interfaces/learning_types.d.ts +398 -0
- package/dist/learning/interfaces/learning_types.d.ts.map +1 -0
- package/dist/learning/interfaces/learning_types.js +69 -0
- package/dist/learning/interfaces/learning_types.js.map +1 -0
- package/dist/learning/migration/007_learning_techniques.d.ts +23 -0
- package/dist/learning/migration/007_learning_techniques.d.ts.map +1 -0
- package/dist/learning/migration/007_learning_techniques.js +86 -0
- package/dist/learning/migration/007_learning_techniques.js.map +1 -0
- package/dist/learning/migration/008_learning_outcomes.d.ts +23 -0
- package/dist/learning/migration/008_learning_outcomes.d.ts.map +1 -0
- package/dist/learning/migration/008_learning_outcomes.js +79 -0
- package/dist/learning/migration/008_learning_outcomes.js.map +1 -0
- package/dist/learning/migration/009_learning_applications.d.ts +25 -0
- package/dist/learning/migration/009_learning_applications.d.ts.map +1 -0
- package/dist/learning/migration/009_learning_applications.js +82 -0
- package/dist/learning/migration/009_learning_applications.js.map +1 -0
- package/dist/learning/migration/010_learning_quarantine.d.ts +22 -0
- package/dist/learning/migration/010_learning_quarantine.d.ts.map +1 -0
- package/dist/learning/migration/010_learning_quarantine.js +78 -0
- package/dist/learning/migration/010_learning_quarantine.js.map +1 -0
- package/dist/learning/migration/011_learning_transfers.d.ts +22 -0
- package/dist/learning/migration/011_learning_transfers.d.ts.map +1 -0
- package/dist/learning/migration/011_learning_transfers.js +77 -0
- package/dist/learning/migration/011_learning_transfers.js.map +1 -0
- package/dist/learning/quarantine/quarantine_manager.d.ts +34 -0
- package/dist/learning/quarantine/quarantine_manager.d.ts.map +1 -0
- package/dist/learning/quarantine/quarantine_manager.js +200 -0
- package/dist/learning/quarantine/quarantine_manager.js.map +1 -0
- package/dist/learning/retirement/retirement_evaluator.d.ts +35 -0
- package/dist/learning/retirement/retirement_evaluator.d.ts.map +1 -0
- package/dist/learning/retirement/retirement_evaluator.js +131 -0
- package/dist/learning/retirement/retirement_evaluator.js.map +1 -0
- package/dist/learning/specialization/over_specialization_detector.d.ts +32 -0
- package/dist/learning/specialization/over_specialization_detector.d.ts.map +1 -0
- package/dist/learning/specialization/over_specialization_detector.js +105 -0
- package/dist/learning/specialization/over_specialization_detector.js.map +1 -0
- package/dist/learning/store/technique_store.d.ts +22 -0
- package/dist/learning/store/technique_store.d.ts.map +1 -0
- package/dist/learning/store/technique_store.js +369 -0
- package/dist/learning/store/technique_store.js.map +1 -0
- package/dist/learning/tracker/effectiveness_tracker.d.ts +26 -0
- package/dist/learning/tracker/effectiveness_tracker.d.ts.map +1 -0
- package/dist/learning/tracker/effectiveness_tracker.js +158 -0
- package/dist/learning/tracker/effectiveness_tracker.js.map +1 -0
- package/dist/learning/transfer/cross_agent_transfer.d.ts +35 -0
- package/dist/learning/transfer/cross_agent_transfer.d.ts.map +1 -0
- package/dist/learning/transfer/cross_agent_transfer.js +245 -0
- package/dist/learning/transfer/cross_agent_transfer.js.map +1 -0
- package/dist/orchestration/artifacts/artifact_store.d.ts +19 -0
- package/dist/orchestration/artifacts/artifact_store.d.ts.map +1 -0
- package/dist/orchestration/artifacts/artifact_store.js +213 -0
- package/dist/orchestration/artifacts/artifact_store.js.map +1 -0
- package/dist/orchestration/artifacts/cascade_walker.d.ts +39 -0
- package/dist/orchestration/artifacts/cascade_walker.d.ts.map +1 -0
- package/dist/orchestration/artifacts/cascade_walker.js +107 -0
- package/dist/orchestration/artifacts/cascade_walker.js.map +1 -0
- package/dist/orchestration/budget/budget_governance.d.ts +20 -0
- package/dist/orchestration/budget/budget_governance.d.ts.map +1 -0
- package/dist/orchestration/budget/budget_governance.js +182 -0
- package/dist/orchestration/budget/budget_governance.js.map +1 -0
- package/dist/orchestration/checkpoints/checkpoint_coordinator.d.ts +22 -0
- package/dist/orchestration/checkpoints/checkpoint_coordinator.d.ts.map +1 -0
- package/dist/orchestration/checkpoints/checkpoint_coordinator.js +252 -0
- package/dist/orchestration/checkpoints/checkpoint_coordinator.js.map +1 -0
- package/dist/orchestration/checkpoints/drift_engine.d.ts +52 -0
- package/dist/orchestration/checkpoints/drift_engine.d.ts.map +1 -0
- package/dist/orchestration/checkpoints/drift_engine.js +126 -0
- package/dist/orchestration/checkpoints/drift_engine.js.map +1 -0
- package/dist/orchestration/compaction/bounded_cognition.d.ts +22 -0
- package/dist/orchestration/compaction/bounded_cognition.d.ts.map +1 -0
- package/dist/orchestration/compaction/bounded_cognition.js +124 -0
- package/dist/orchestration/compaction/bounded_cognition.js.map +1 -0
- package/dist/orchestration/conversation/conversation_manager.d.ts +25 -0
- package/dist/orchestration/conversation/conversation_manager.d.ts.map +1 -0
- package/dist/orchestration/conversation/conversation_manager.js +260 -0
- package/dist/orchestration/conversation/conversation_manager.js.map +1 -0
- package/dist/orchestration/events/event_propagation.d.ts +20 -0
- package/dist/orchestration/events/event_propagation.d.ts.map +1 -0
- package/dist/orchestration/events/event_propagation.js +160 -0
- package/dist/orchestration/events/event_propagation.js.map +1 -0
- package/dist/orchestration/index.d.ts +28 -0
- package/dist/orchestration/index.d.ts.map +1 -0
- package/dist/orchestration/index.js +147 -0
- package/dist/orchestration/index.js.map +1 -0
- package/dist/orchestration/interfaces/orchestration.d.ts +494 -0
- package/dist/orchestration/interfaces/orchestration.d.ts.map +1 -0
- package/dist/orchestration/interfaces/orchestration.js +64 -0
- package/dist/orchestration/interfaces/orchestration.js.map +1 -0
- package/dist/orchestration/migration/003_orchestration.d.ts +27 -0
- package/dist/orchestration/migration/003_orchestration.d.ts.map +1 -0
- package/dist/orchestration/migration/003_orchestration.js +336 -0
- package/dist/orchestration/migration/003_orchestration.js.map +1 -0
- package/dist/orchestration/migration/004_tenant_isolation.d.ts +22 -0
- package/dist/orchestration/migration/004_tenant_isolation.d.ts.map +1 -0
- package/dist/orchestration/migration/004_tenant_isolation.js +179 -0
- package/dist/orchestration/migration/004_tenant_isolation.js.map +1 -0
- package/dist/orchestration/migration/005_immutability_triggers.d.ts +30 -0
- package/dist/orchestration/migration/005_immutability_triggers.d.ts.map +1 -0
- package/dist/orchestration/migration/005_immutability_triggers.js +93 -0
- package/dist/orchestration/migration/005_immutability_triggers.js.map +1 -0
- package/dist/orchestration/migration/006_audit_tombstone.d.ts +26 -0
- package/dist/orchestration/migration/006_audit_tombstone.d.ts.map +1 -0
- package/dist/orchestration/migration/006_audit_tombstone.js +71 -0
- package/dist/orchestration/migration/006_audit_tombstone.js.map +1 -0
- package/dist/orchestration/missions/mission_recovery.d.ts +60 -0
- package/dist/orchestration/missions/mission_recovery.d.ts.map +1 -0
- package/dist/orchestration/missions/mission_recovery.js +251 -0
- package/dist/orchestration/missions/mission_recovery.js.map +1 -0
- package/dist/orchestration/missions/mission_store.d.ts +16 -0
- package/dist/orchestration/missions/mission_store.d.ts.map +1 -0
- package/dist/orchestration/missions/mission_store.js +280 -0
- package/dist/orchestration/missions/mission_store.js.map +1 -0
- package/dist/orchestration/syscalls/create_artifact.d.ts +13 -0
- package/dist/orchestration/syscalls/create_artifact.d.ts.map +1 -0
- package/dist/orchestration/syscalls/create_artifact.js +23 -0
- package/dist/orchestration/syscalls/create_artifact.js.map +1 -0
- package/dist/orchestration/syscalls/emit_event.d.ts +13 -0
- package/dist/orchestration/syscalls/emit_event.d.ts.map +1 -0
- package/dist/orchestration/syscalls/emit_event.js +13 -0
- package/dist/orchestration/syscalls/emit_event.js.map +1 -0
- package/dist/orchestration/syscalls/propose_mission.d.ts +14 -0
- package/dist/orchestration/syscalls/propose_mission.d.ts.map +1 -0
- package/dist/orchestration/syscalls/propose_mission.js +27 -0
- package/dist/orchestration/syscalls/propose_mission.js.map +1 -0
- package/dist/orchestration/syscalls/propose_task_execution.d.ts +13 -0
- package/dist/orchestration/syscalls/propose_task_execution.d.ts.map +1 -0
- package/dist/orchestration/syscalls/propose_task_execution.js +84 -0
- package/dist/orchestration/syscalls/propose_task_execution.js.map +1 -0
- package/dist/orchestration/syscalls/propose_task_graph.d.ts +13 -0
- package/dist/orchestration/syscalls/propose_task_graph.d.ts.map +1 -0
- package/dist/orchestration/syscalls/propose_task_graph.js +22 -0
- package/dist/orchestration/syscalls/propose_task_graph.js.map +1 -0
- package/dist/orchestration/syscalls/read_artifact.d.ts +14 -0
- package/dist/orchestration/syscalls/read_artifact.d.ts.map +1 -0
- package/dist/orchestration/syscalls/read_artifact.js +31 -0
- package/dist/orchestration/syscalls/read_artifact.js.map +1 -0
- package/dist/orchestration/syscalls/request_budget.d.ts +14 -0
- package/dist/orchestration/syscalls/request_budget.d.ts.map +1 -0
- package/dist/orchestration/syscalls/request_budget.js +46 -0
- package/dist/orchestration/syscalls/request_budget.js.map +1 -0
- package/dist/orchestration/syscalls/request_capability.d.ts +13 -0
- package/dist/orchestration/syscalls/request_capability.d.ts.map +1 -0
- package/dist/orchestration/syscalls/request_capability.js +136 -0
- package/dist/orchestration/syscalls/request_capability.js.map +1 -0
- package/dist/orchestration/syscalls/respond_checkpoint.d.ts +12 -0
- package/dist/orchestration/syscalls/respond_checkpoint.d.ts.map +1 -0
- package/dist/orchestration/syscalls/respond_checkpoint.js +12 -0
- package/dist/orchestration/syscalls/respond_checkpoint.js.map +1 -0
- package/dist/orchestration/syscalls/submit_result.d.ts +15 -0
- package/dist/orchestration/syscalls/submit_result.d.ts.map +1 -0
- package/dist/orchestration/syscalls/submit_result.js +97 -0
- package/dist/orchestration/syscalls/submit_result.js.map +1 -0
- package/dist/orchestration/tasks/task_graph.d.ts +26 -0
- package/dist/orchestration/tasks/task_graph.d.ts.map +1 -0
- package/dist/orchestration/tasks/task_graph.js +204 -0
- package/dist/orchestration/tasks/task_graph.js.map +1 -0
- package/dist/orchestration/tasks/task_store.d.ts +18 -0
- package/dist/orchestration/tasks/task_store.d.ts.map +1 -0
- package/dist/orchestration/tasks/task_store.js +99 -0
- package/dist/orchestration/tasks/task_store.js.map +1 -0
- package/dist/reference-agent/artifact_manager.d.ts +119 -0
- package/dist/reference-agent/artifact_manager.d.ts.map +1 -0
- package/dist/reference-agent/artifact_manager.js +149 -0
- package/dist/reference-agent/artifact_manager.js.map +1 -0
- package/dist/reference-agent/checkpoint_handler.d.ts +186 -0
- package/dist/reference-agent/checkpoint_handler.d.ts.map +1 -0
- package/dist/reference-agent/checkpoint_handler.js +423 -0
- package/dist/reference-agent/checkpoint_handler.js.map +1 -0
- package/dist/reference-agent/index.d.ts +43 -0
- package/dist/reference-agent/index.d.ts.map +1 -0
- package/dist/reference-agent/index.js +53 -0
- package/dist/reference-agent/index.js.map +1 -0
- package/dist/reference-agent/mission_planner.d.ts +163 -0
- package/dist/reference-agent/mission_planner.d.ts.map +1 -0
- package/dist/reference-agent/mission_planner.js +375 -0
- package/dist/reference-agent/mission_planner.js.map +1 -0
- package/dist/reference-agent/reference_agent.d.ts +130 -0
- package/dist/reference-agent/reference_agent.d.ts.map +1 -0
- package/dist/reference-agent/reference_agent.js +360 -0
- package/dist/reference-agent/reference_agent.js.map +1 -0
- package/dist/reference-agent/reference_agent.types.d.ts +199 -0
- package/dist/reference-agent/reference_agent.types.d.ts.map +1 -0
- package/dist/reference-agent/reference_agent.types.js +59 -0
- package/dist/reference-agent/reference_agent.types.js.map +1 -0
- package/dist/reference-agent/result_aggregator.d.ts +107 -0
- package/dist/reference-agent/result_aggregator.d.ts.map +1 -0
- package/dist/reference-agent/result_aggregator.js +219 -0
- package/dist/reference-agent/result_aggregator.js.map +1 -0
- package/dist/reference-agent/system_call_client.d.ts +106 -0
- package/dist/reference-agent/system_call_client.d.ts.map +1 -0
- package/dist/reference-agent/system_call_client.js +231 -0
- package/dist/reference-agent/system_call_client.js.map +1 -0
- package/dist/reference-agent/task_executor.d.ts +108 -0
- package/dist/reference-agent/task_executor.d.ts.map +1 -0
- package/dist/reference-agent/task_executor.js +249 -0
- package/dist/reference-agent/task_executor.js.map +1 -0
- package/dist/substrate/accounting/resource_accounting.d.ts +52 -0
- package/dist/substrate/accounting/resource_accounting.d.ts.map +1 -0
- package/dist/substrate/accounting/resource_accounting.js +200 -0
- package/dist/substrate/accounting/resource_accounting.js.map +1 -0
- package/dist/substrate/adapters/capability_registry.d.ts +28 -0
- package/dist/substrate/adapters/capability_registry.d.ts.map +1 -0
- package/dist/substrate/adapters/capability_registry.js +196 -0
- package/dist/substrate/adapters/capability_registry.js.map +1 -0
- package/dist/substrate/gateway/llm_gateway.d.ts +68 -0
- package/dist/substrate/gateway/llm_gateway.d.ts.map +1 -0
- package/dist/substrate/gateway/llm_gateway.js +442 -0
- package/dist/substrate/gateway/llm_gateway.js.map +1 -0
- package/dist/substrate/heartbeat/heartbeat_monitor.d.ts +40 -0
- package/dist/substrate/heartbeat/heartbeat_monitor.d.ts.map +1 -0
- package/dist/substrate/heartbeat/heartbeat_monitor.js +170 -0
- package/dist/substrate/heartbeat/heartbeat_monitor.js.map +1 -0
- package/dist/substrate/index.d.ts +59 -0
- package/dist/substrate/index.d.ts.map +1 -0
- package/dist/substrate/index.js +143 -0
- package/dist/substrate/index.js.map +1 -0
- package/dist/substrate/interfaces/substrate.d.ts +486 -0
- package/dist/substrate/interfaces/substrate.d.ts.map +1 -0
- package/dist/substrate/interfaces/substrate.js +14 -0
- package/dist/substrate/interfaces/substrate.js.map +1 -0
- package/dist/substrate/migration/002_substrate.d.ts +24 -0
- package/dist/substrate/migration/002_substrate.d.ts.map +1 -0
- package/dist/substrate/migration/002_substrate.js +188 -0
- package/dist/substrate/migration/002_substrate.js.map +1 -0
- package/dist/substrate/migration/022_transport_deliberation.d.ts +31 -0
- package/dist/substrate/migration/022_transport_deliberation.d.ts.map +1 -0
- package/dist/substrate/migration/022_transport_deliberation.js +77 -0
- package/dist/substrate/migration/022_transport_deliberation.js.map +1 -0
- package/dist/substrate/replay/replay_engine.d.ts +65 -0
- package/dist/substrate/replay/replay_engine.d.ts.map +1 -0
- package/dist/substrate/replay/replay_engine.js +316 -0
- package/dist/substrate/replay/replay_engine.js.map +1 -0
- package/dist/substrate/scheduler/task_scheduler.d.ts +38 -0
- package/dist/substrate/scheduler/task_scheduler.d.ts.map +1 -0
- package/dist/substrate/scheduler/task_scheduler.js +486 -0
- package/dist/substrate/scheduler/task_scheduler.js.map +1 -0
- package/dist/substrate/transport/adapters/anthropic_adapter.d.ts +57 -0
- package/dist/substrate/transport/adapters/anthropic_adapter.d.ts.map +1 -0
- package/dist/substrate/transport/adapters/anthropic_adapter.js +455 -0
- package/dist/substrate/transport/adapters/anthropic_adapter.js.map +1 -0
- package/dist/substrate/transport/adapters/gemini_adapter.d.ts +86 -0
- package/dist/substrate/transport/adapters/gemini_adapter.d.ts.map +1 -0
- package/dist/substrate/transport/adapters/gemini_adapter.js +456 -0
- package/dist/substrate/transport/adapters/gemini_adapter.js.map +1 -0
- package/dist/substrate/transport/adapters/groq_adapter.d.ts +50 -0
- package/dist/substrate/transport/adapters/groq_adapter.d.ts.map +1 -0
- package/dist/substrate/transport/adapters/groq_adapter.js +179 -0
- package/dist/substrate/transport/adapters/groq_adapter.js.map +1 -0
- package/dist/substrate/transport/adapters/mistral_adapter.d.ts +50 -0
- package/dist/substrate/transport/adapters/mistral_adapter.d.ts.map +1 -0
- package/dist/substrate/transport/adapters/mistral_adapter.js +179 -0
- package/dist/substrate/transport/adapters/mistral_adapter.js.map +1 -0
- package/dist/substrate/transport/adapters/ollama_adapter.d.ts +66 -0
- package/dist/substrate/transport/adapters/ollama_adapter.d.ts.map +1 -0
- package/dist/substrate/transport/adapters/ollama_adapter.js +347 -0
- package/dist/substrate/transport/adapters/ollama_adapter.js.map +1 -0
- package/dist/substrate/transport/adapters/openai_adapter.d.ts +68 -0
- package/dist/substrate/transport/adapters/openai_adapter.d.ts.map +1 -0
- package/dist/substrate/transport/adapters/openai_adapter.js +439 -0
- package/dist/substrate/transport/adapters/openai_adapter.js.map +1 -0
- package/dist/substrate/transport/adapters/openai_compat.d.ts +64 -0
- package/dist/substrate/transport/adapters/openai_compat.d.ts.map +1 -0
- package/dist/substrate/transport/adapters/openai_compat.js +326 -0
- package/dist/substrate/transport/adapters/openai_compat.js.map +1 -0
- package/dist/substrate/transport/index.d.ts +17 -0
- package/dist/substrate/transport/index.d.ts.map +1 -0
- package/dist/substrate/transport/index.js +25 -0
- package/dist/substrate/transport/index.js.map +1 -0
- package/dist/substrate/transport/stream_parser.d.ts +69 -0
- package/dist/substrate/transport/stream_parser.d.ts.map +1 -0
- package/dist/substrate/transport/stream_parser.js +280 -0
- package/dist/substrate/transport/stream_parser.js.map +1 -0
- package/dist/substrate/transport/transport_engine.d.ts +53 -0
- package/dist/substrate/transport/transport_engine.d.ts.map +1 -0
- package/dist/substrate/transport/transport_engine.js +444 -0
- package/dist/substrate/transport/transport_engine.js.map +1 -0
- package/dist/substrate/transport/transport_types.d.ts +207 -0
- package/dist/substrate/transport/transport_types.d.ts.map +1 -0
- package/dist/substrate/transport/transport_types.js +13 -0
- package/dist/substrate/transport/transport_types.js.map +1 -0
- package/dist/substrate/workers/worker_runtime.d.ts +40 -0
- package/dist/substrate/workers/worker_runtime.d.ts.map +1 -0
- package/dist/substrate/workers/worker_runtime.js +294 -0
- package/dist/substrate/workers/worker_runtime.js.map +1 -0
- package/dist/techniques/harness/tgp_harness.d.ts +39 -0
- package/dist/techniques/harness/tgp_harness.d.ts.map +1 -0
- package/dist/techniques/harness/tgp_harness.js +49 -0
- package/dist/techniques/harness/tgp_harness.js.map +1 -0
- package/dist/techniques/interfaces/tgp_types.d.ts +646 -0
- package/dist/techniques/interfaces/tgp_types.d.ts.map +1 -0
- package/dist/techniques/interfaces/tgp_types.js +160 -0
- package/dist/techniques/interfaces/tgp_types.js.map +1 -0
- package/dist/techniques/migration/020_tgp_governance.d.ts +36 -0
- package/dist/techniques/migration/020_tgp_governance.d.ts.map +1 -0
- package/dist/techniques/migration/020_tgp_governance.js +249 -0
- package/dist/techniques/migration/020_tgp_governance.js.map +1 -0
- package/dist/techniques/store/tgp_stores.d.ts +36 -0
- package/dist/techniques/store/tgp_stores.d.ts.map +1 -0
- package/dist/techniques/store/tgp_stores.js +854 -0
- package/dist/techniques/store/tgp_stores.js.map +1 -0
- package/dist/working-memory/harness/wmp_harness.d.ts +43 -0
- package/dist/working-memory/harness/wmp_harness.d.ts.map +1 -0
- package/dist/working-memory/harness/wmp_harness.js +81 -0
- package/dist/working-memory/harness/wmp_harness.js.map +1 -0
- package/dist/working-memory/interfaces/wmp_types.d.ts +635 -0
- package/dist/working-memory/interfaces/wmp_types.d.ts.map +1 -0
- package/dist/working-memory/interfaces/wmp_types.js +144 -0
- package/dist/working-memory/interfaces/wmp_types.js.map +1 -0
- package/dist/working-memory/migration/021_wmp.d.ts +21 -0
- package/dist/working-memory/migration/021_wmp.d.ts.map +1 -0
- package/dist/working-memory/migration/021_wmp.js +139 -0
- package/dist/working-memory/migration/021_wmp.js.map +1 -0
- package/dist/working-memory/stores/wmp_stores.d.ts +28 -0
- package/dist/working-memory/stores/wmp_stores.d.ts.map +1 -0
- package/dist/working-memory/stores/wmp_stores.js +754 -0
- package/dist/working-memory/stores/wmp_stores.js.map +1 -0
- package/package.json +84 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forward-only migration v17: Learning Outcome Tracking
|
|
3
|
+
* S ref: S29.5 (effectiveness tracking), I-07 (agent isolation), FM-10 (tenant isolation)
|
|
4
|
+
*
|
|
5
|
+
* Phase: 4E-2d (Certification — EffectivenessTracker + RetirementEvaluator)
|
|
6
|
+
*
|
|
7
|
+
* Adds:
|
|
8
|
+
* - learning_outcomes table (per-technique outcome records)
|
|
9
|
+
* - Indexes for technique+tenant lookup and rolling window query
|
|
10
|
+
* - Tenant immutability trigger (same pattern as Phase 4B)
|
|
11
|
+
*
|
|
12
|
+
* Schema derives from EffectivenessTracker.recordOutcome interface:
|
|
13
|
+
* Stores outcome classification per technique per interaction.
|
|
14
|
+
* No FOREIGN KEY to learning_techniques — audit history survives
|
|
15
|
+
* technique retirement (same rationale as learning_applications).
|
|
16
|
+
*/
|
|
17
|
+
import { createHash } from 'node:crypto';
|
|
18
|
+
// ─── Migration v17: Learning Outcomes Table ───
|
|
19
|
+
const MIGRATION_017_SQL = `
|
|
20
|
+
-- Migration 017: Learning Outcome Tracking
|
|
21
|
+
-- S ref: S29.5 (effectiveness tracking), I-07 (agent isolation), FM-10 (tenant isolation)
|
|
22
|
+
-- Phase: 4E-2d
|
|
23
|
+
-- Constraint: C-05 (forward-only migration)
|
|
24
|
+
|
|
25
|
+
-- ────────────────────────────────────────────────────────────
|
|
26
|
+
-- Outcome tracking table
|
|
27
|
+
-- Each row records a single outcome observation for a technique.
|
|
28
|
+
-- Used by EffectivenessTracker.getSuccessRate for rolling window.
|
|
29
|
+
-- No FK to learning_techniques: audit history survives retirement.
|
|
30
|
+
-- ────────────────────────────────────────────────────────────
|
|
31
|
+
|
|
32
|
+
CREATE TABLE learning_outcomes (
|
|
33
|
+
id TEXT PRIMARY KEY,
|
|
34
|
+
technique_id TEXT NOT NULL,
|
|
35
|
+
tenant_id TEXT NOT NULL,
|
|
36
|
+
outcome TEXT NOT NULL CHECK (outcome IN ('positive', 'neutral', 'negative')),
|
|
37
|
+
created_at TEXT NOT NULL
|
|
38
|
+
);
|
|
39
|
+
|
|
40
|
+
-- ────────────────────────────────────────────────────────────
|
|
41
|
+
-- Indexes
|
|
42
|
+
-- Primary: technique + tenant lookup (all queries scoped by both)
|
|
43
|
+
-- Secondary: rolling window query (ORDER BY created_at DESC LIMIT 50)
|
|
44
|
+
-- ────────────────────────────────────────────────────────────
|
|
45
|
+
|
|
46
|
+
CREATE INDEX idx_lo_technique_tenant ON learning_outcomes(technique_id, tenant_id);
|
|
47
|
+
CREATE INDEX idx_lo_technique_tenant_time ON learning_outcomes(technique_id, tenant_id, created_at DESC);
|
|
48
|
+
|
|
49
|
+
-- ────────────────────────────────────────────────────────────
|
|
50
|
+
-- Tenant immutability trigger (same pattern as Phase 4B)
|
|
51
|
+
-- Prevents tenant_id from being changed after INSERT.
|
|
52
|
+
-- ────────────────────────────────────────────────────────────
|
|
53
|
+
|
|
54
|
+
CREATE TRIGGER learning_outcomes_tenant_immutable
|
|
55
|
+
BEFORE UPDATE OF tenant_id ON learning_outcomes
|
|
56
|
+
WHEN OLD.tenant_id IS NOT NULL AND NEW.tenant_id IS NOT OLD.tenant_id
|
|
57
|
+
BEGIN
|
|
58
|
+
SELECT RAISE(ABORT, 'I-MUT: tenant_id is immutable after INSERT on learning_outcomes');
|
|
59
|
+
END;
|
|
60
|
+
`;
|
|
61
|
+
// ─── Build Migration Entry ───
|
|
62
|
+
function buildEntry(version, name, sql) {
|
|
63
|
+
return {
|
|
64
|
+
version,
|
|
65
|
+
name,
|
|
66
|
+
sql,
|
|
67
|
+
checksum: createHash('sha256').update(sql).digest('hex'),
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Get Phase 4E-2d (Learning Outcomes) migration.
|
|
72
|
+
* Version 17 continues from Phase 4E-2a's version 16.
|
|
73
|
+
*/
|
|
74
|
+
export function getPhase4E2dOutcomesMigration() {
|
|
75
|
+
return [
|
|
76
|
+
buildEntry(17, 'learning_outcomes', MIGRATION_017_SQL),
|
|
77
|
+
];
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=008_learning_outcomes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"008_learning_outcomes.js","sourceRoot":"","sources":["../../../src/learning/migration/008_learning_outcomes.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,iDAAiD;AAEjD,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCzB,CAAC;AAEF,gCAAgC;AAEhC,SAAS,UAAU,CAAC,OAAe,EAAE,IAAY,EAAE,GAAW;IAC5D,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG;QACH,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,UAAU,CAAC,EAAE,EAAE,mBAAmB,EAAE,iBAAiB,CAAC;KACvD,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forward-only migration v18: Learning System Application Log
|
|
3
|
+
* S ref: S29.4 (application recording), I-03 (audit), I-07 (agent isolation)
|
|
4
|
+
*
|
|
5
|
+
* Phase: 4E-2c (Certification — Learning System TechniqueApplicator)
|
|
6
|
+
*
|
|
7
|
+
* Adds:
|
|
8
|
+
* - learning_applications table (application recording log)
|
|
9
|
+
* - Indexes for technique-level and tenant-level lookup
|
|
10
|
+
* - Tenant immutability trigger
|
|
11
|
+
*
|
|
12
|
+
* Design decisions:
|
|
13
|
+
* R-07: NO foreign key to learning_techniques. Application records are an
|
|
14
|
+
* append-only audit log. Techniques may be retired and eventually tombstoned
|
|
15
|
+
* (GDPR, I-03) while application history is preserved. Phantom technique IDs
|
|
16
|
+
* are acceptable — the log records what was attempted, not what currently exists.
|
|
17
|
+
* Contract test #18 exercises this with phantom IDs ('t-1', 't-2').
|
|
18
|
+
*/
|
|
19
|
+
import type { MigrationEntry } from '../../kernel/interfaces/index.js';
|
|
20
|
+
/**
|
|
21
|
+
* Get Phase 4E-2c (Learning Applications) migration.
|
|
22
|
+
* Version 18 continues from Phase 4E-2d's version 17 (learning_outcomes).
|
|
23
|
+
*/
|
|
24
|
+
export declare function getPhase4E2cApplicationsMigration(): MigrationEntry[];
|
|
25
|
+
//# sourceMappingURL=009_learning_applications.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"009_learning_applications.d.ts","sourceRoot":"","sources":["../../../src/learning/migration/009_learning_applications.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AA2DvE;;;GAGG;AACH,wBAAgB,iCAAiC,IAAI,cAAc,EAAE,CAIpE"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forward-only migration v18: Learning System Application Log
|
|
3
|
+
* S ref: S29.4 (application recording), I-03 (audit), I-07 (agent isolation)
|
|
4
|
+
*
|
|
5
|
+
* Phase: 4E-2c (Certification — Learning System TechniqueApplicator)
|
|
6
|
+
*
|
|
7
|
+
* Adds:
|
|
8
|
+
* - learning_applications table (application recording log)
|
|
9
|
+
* - Indexes for technique-level and tenant-level lookup
|
|
10
|
+
* - Tenant immutability trigger
|
|
11
|
+
*
|
|
12
|
+
* Design decisions:
|
|
13
|
+
* R-07: NO foreign key to learning_techniques. Application records are an
|
|
14
|
+
* append-only audit log. Techniques may be retired and eventually tombstoned
|
|
15
|
+
* (GDPR, I-03) while application history is preserved. Phantom technique IDs
|
|
16
|
+
* are acceptable — the log records what was attempted, not what currently exists.
|
|
17
|
+
* Contract test #18 exercises this with phantom IDs ('t-1', 't-2').
|
|
18
|
+
*/
|
|
19
|
+
import { createHash } from 'node:crypto';
|
|
20
|
+
// ─── Migration v18: Learning Applications Table ───
|
|
21
|
+
const MIGRATION_018_SQL = `
|
|
22
|
+
-- Migration 018: Learning System Application Log
|
|
23
|
+
-- S ref: S29.4 (application recording), I-03 (audit), R-07 (no FK)
|
|
24
|
+
-- Phase: 4E-2c
|
|
25
|
+
-- Constraint: C-05 (forward-only migration)
|
|
26
|
+
|
|
27
|
+
-- ────────────────────────────────────────────────────────────
|
|
28
|
+
-- Application log table
|
|
29
|
+
-- Append-only record of technique applications per interaction.
|
|
30
|
+
-- No FK to learning_techniques (R-07) — techniques may be
|
|
31
|
+
-- tombstoned while application history is preserved for audit.
|
|
32
|
+
-- ────────────────────────────────────────────────────────────
|
|
33
|
+
|
|
34
|
+
CREATE TABLE learning_applications (
|
|
35
|
+
id TEXT PRIMARY KEY,
|
|
36
|
+
technique_id TEXT NOT NULL,
|
|
37
|
+
interaction_id TEXT NOT NULL,
|
|
38
|
+
tenant_id TEXT NOT NULL,
|
|
39
|
+
timestamp TEXT NOT NULL,
|
|
40
|
+
applied INTEGER NOT NULL DEFAULT 1 -- 1=applied, 0=skipped due to context limits (S29.4)
|
|
41
|
+
);
|
|
42
|
+
|
|
43
|
+
-- ────────────────────────────────────────────────────────────
|
|
44
|
+
-- Indexes
|
|
45
|
+
-- Primary: technique-level aggregation for effectiveness tracking
|
|
46
|
+
-- Secondary: tenant-scoped queries for tenant isolation
|
|
47
|
+
-- ────────────────────────────────────────────────────────────
|
|
48
|
+
|
|
49
|
+
CREATE INDEX idx_la_technique ON learning_applications(technique_id);
|
|
50
|
+
CREATE INDEX idx_la_tenant_technique ON learning_applications(tenant_id, technique_id);
|
|
51
|
+
|
|
52
|
+
-- ────────────────────────────────────────────────────────────
|
|
53
|
+
-- Tenant immutability trigger (same pattern as Phase 4B, 4E-2a)
|
|
54
|
+
-- Prevents tenant_id from being changed after INSERT.
|
|
55
|
+
-- ────────────────────────────────────────────────────────────
|
|
56
|
+
|
|
57
|
+
CREATE TRIGGER learning_applications_tenant_immutable
|
|
58
|
+
BEFORE UPDATE OF tenant_id ON learning_applications
|
|
59
|
+
WHEN OLD.tenant_id IS NOT NULL AND NEW.tenant_id IS NOT OLD.tenant_id
|
|
60
|
+
BEGIN
|
|
61
|
+
SELECT RAISE(ABORT, 'I-MUT: tenant_id is immutable after INSERT on learning_applications');
|
|
62
|
+
END;
|
|
63
|
+
`;
|
|
64
|
+
// ─── Build Migration Entry ───
|
|
65
|
+
function buildEntry(version, name, sql) {
|
|
66
|
+
return {
|
|
67
|
+
version,
|
|
68
|
+
name,
|
|
69
|
+
sql,
|
|
70
|
+
checksum: createHash('sha256').update(sql).digest('hex'),
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Get Phase 4E-2c (Learning Applications) migration.
|
|
75
|
+
* Version 18 continues from Phase 4E-2d's version 17 (learning_outcomes).
|
|
76
|
+
*/
|
|
77
|
+
export function getPhase4E2cApplicationsMigration() {
|
|
78
|
+
return [
|
|
79
|
+
buildEntry(18, 'learning_applications', MIGRATION_018_SQL),
|
|
80
|
+
];
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=009_learning_applications.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"009_learning_applications.js","sourceRoot":"","sources":["../../../src/learning/migration/009_learning_applications.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,qDAAqD;AAErD,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CzB,CAAC;AAEF,gCAAgC;AAEhC,SAAS,UAAU,CAAC,OAAe,EAAE,IAAY,EAAE,GAAW;IAC5D,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG;QACH,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iCAAiC;IAC/C,OAAO;QACL,UAAU,CAAC,EAAE,EAAE,uBAAuB,EAAE,iBAAiB,CAAC;KAC3D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forward-only migration v19: Learning System Quarantine Entries
|
|
3
|
+
* S ref: S29.7 (quarantine cascade), FM-01 (memory poisoning defense), I-03 (audit)
|
|
4
|
+
*
|
|
5
|
+
* Phase: 4E-2e (Certification — Learning System Convergence Subsystems)
|
|
6
|
+
*
|
|
7
|
+
* Adds:
|
|
8
|
+
* - learning_quarantine_entries table (quarantine tracking)
|
|
9
|
+
* - Index for tenant + resolution status (getPending queries)
|
|
10
|
+
* - Tenant immutability trigger (same pattern as Phase 4B)
|
|
11
|
+
*
|
|
12
|
+
* Schema derives from QuarantineEntry interface in learning_types.ts:
|
|
13
|
+
* id, technique_id, agent_id, tenant_id, reason,
|
|
14
|
+
* quarantined_at, resolved_at, resolution
|
|
15
|
+
*/
|
|
16
|
+
import type { MigrationEntry } from '../../kernel/interfaces/index.js';
|
|
17
|
+
/**
|
|
18
|
+
* Get Phase 4E-2e (Learning QuarantineManager) migration.
|
|
19
|
+
* Version 19 continues from Phase 4E-2d's version 18.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getPhase4E2eQuarantineMigration(): MigrationEntry[];
|
|
22
|
+
//# sourceMappingURL=010_learning_quarantine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"010_learning_quarantine.d.ts","sourceRoot":"","sources":["../../../src/learning/migration/010_learning_quarantine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AA0DvE;;;GAGG;AACH,wBAAgB,+BAA+B,IAAI,cAAc,EAAE,CAIlE"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forward-only migration v19: Learning System Quarantine Entries
|
|
3
|
+
* S ref: S29.7 (quarantine cascade), FM-01 (memory poisoning defense), I-03 (audit)
|
|
4
|
+
*
|
|
5
|
+
* Phase: 4E-2e (Certification — Learning System Convergence Subsystems)
|
|
6
|
+
*
|
|
7
|
+
* Adds:
|
|
8
|
+
* - learning_quarantine_entries table (quarantine tracking)
|
|
9
|
+
* - Index for tenant + resolution status (getPending queries)
|
|
10
|
+
* - Tenant immutability trigger (same pattern as Phase 4B)
|
|
11
|
+
*
|
|
12
|
+
* Schema derives from QuarantineEntry interface in learning_types.ts:
|
|
13
|
+
* id, technique_id, agent_id, tenant_id, reason,
|
|
14
|
+
* quarantined_at, resolved_at, resolution
|
|
15
|
+
*/
|
|
16
|
+
import { createHash } from 'node:crypto';
|
|
17
|
+
// ─── Migration v19: Learning Quarantine Entries Table ───
|
|
18
|
+
const MIGRATION_019_SQL = `
|
|
19
|
+
-- Migration 019: Learning System Quarantine Entries
|
|
20
|
+
-- S ref: S29.7 (quarantine cascade), FM-01 (memory poisoning defense)
|
|
21
|
+
-- Phase: 4E-2e
|
|
22
|
+
-- Constraint: C-05 (forward-only migration)
|
|
23
|
+
|
|
24
|
+
-- ────────────────────────────────────────────────────────────
|
|
25
|
+
-- Quarantine entries track technique suspensions from FM-01.
|
|
26
|
+
-- Resolution requires human authority (HITL review).
|
|
27
|
+
-- No FK to learning_techniques — entries survive technique lifecycle.
|
|
28
|
+
-- ────────────────────────────────────────────────────────────
|
|
29
|
+
|
|
30
|
+
CREATE TABLE learning_quarantine_entries (
|
|
31
|
+
id TEXT PRIMARY KEY,
|
|
32
|
+
technique_id TEXT NOT NULL,
|
|
33
|
+
agent_id TEXT NOT NULL,
|
|
34
|
+
tenant_id TEXT NOT NULL,
|
|
35
|
+
reason TEXT NOT NULL,
|
|
36
|
+
quarantined_at TEXT NOT NULL,
|
|
37
|
+
resolved_at TEXT,
|
|
38
|
+
resolution TEXT CHECK (resolution IS NULL OR resolution IN ('reactivated', 'permanently_retired')),
|
|
39
|
+
created_at TEXT NOT NULL
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
-- ────────────────────────────────────────────────────────────
|
|
43
|
+
-- Indexes
|
|
44
|
+
-- Primary access pattern: getPending queries tenant + unresolved
|
|
45
|
+
-- ────────────────────────────────────────────────────────────
|
|
46
|
+
|
|
47
|
+
CREATE INDEX idx_lqe_tenant_pending ON learning_quarantine_entries(tenant_id, resolved_at);
|
|
48
|
+
|
|
49
|
+
-- ────────────────────────────────────────────────────────────
|
|
50
|
+
-- Tenant immutability trigger (same pattern as Phase 4B)
|
|
51
|
+
-- ────────────────────────────────────────────────────────────
|
|
52
|
+
|
|
53
|
+
CREATE TRIGGER learning_quarantine_entries_tenant_immutable
|
|
54
|
+
BEFORE UPDATE OF tenant_id ON learning_quarantine_entries
|
|
55
|
+
WHEN OLD.tenant_id IS NOT NULL AND NEW.tenant_id IS NOT OLD.tenant_id
|
|
56
|
+
BEGIN
|
|
57
|
+
SELECT RAISE(ABORT, 'I-MUT: tenant_id is immutable after INSERT on learning_quarantine_entries');
|
|
58
|
+
END;
|
|
59
|
+
`;
|
|
60
|
+
// ─── Build Migration Entry ───
|
|
61
|
+
function buildEntry(version, name, sql) {
|
|
62
|
+
return {
|
|
63
|
+
version,
|
|
64
|
+
name,
|
|
65
|
+
sql,
|
|
66
|
+
checksum: createHash('sha256').update(sql).digest('hex'),
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get Phase 4E-2e (Learning QuarantineManager) migration.
|
|
71
|
+
* Version 19 continues from Phase 4E-2d's version 18.
|
|
72
|
+
*/
|
|
73
|
+
export function getPhase4E2eQuarantineMigration() {
|
|
74
|
+
return [
|
|
75
|
+
buildEntry(19, 'learning_quarantine_entries', MIGRATION_019_SQL),
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=010_learning_quarantine.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"010_learning_quarantine.js","sourceRoot":"","sources":["../../../src/learning/migration/010_learning_quarantine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,2DAA2D;AAE3D,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyCzB,CAAC;AAEF,gCAAgC;AAEhC,SAAS,UAAU,CAAC,OAAe,EAAE,IAAY,EAAE,GAAW;IAC5D,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG;QACH,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,UAAU,CAAC,EAAE,EAAE,6BAA6B,EAAE,iBAAiB,CAAC;KACjE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forward-only migration v20: Learning System Transfer Requests
|
|
3
|
+
* S ref: S29.8 (cross-agent transfer protocol), I-07 (agent isolation), DEC-4E-002
|
|
4
|
+
*
|
|
5
|
+
* Phase: 4E-2e (Certification — Learning System Convergence Subsystems)
|
|
6
|
+
*
|
|
7
|
+
* Adds:
|
|
8
|
+
* - learning_transfer_requests table (transfer lifecycle tracking)
|
|
9
|
+
* - Index for tenant + status (pending request queries)
|
|
10
|
+
* - Tenant immutability trigger (same pattern as Phase 4B)
|
|
11
|
+
*
|
|
12
|
+
* Schema derives from TransferRequest interface in learning_types.ts:
|
|
13
|
+
* id, tenant_id, source_agent_id, target_agent_id, technique_id,
|
|
14
|
+
* status, created_at, resolved_at
|
|
15
|
+
*/
|
|
16
|
+
import type { MigrationEntry } from '../../kernel/interfaces/index.js';
|
|
17
|
+
/**
|
|
18
|
+
* Get Phase 4E-2e (Learning CrossAgentTransfer) migration.
|
|
19
|
+
* Version 20 continues from Phase 4E-2e's quarantine migration v19.
|
|
20
|
+
*/
|
|
21
|
+
export declare function getPhase4E2eTransferMigration(): MigrationEntry[];
|
|
22
|
+
//# sourceMappingURL=011_learning_transfers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"011_learning_transfers.d.ts","sourceRoot":"","sources":["../../../src/learning/migration/011_learning_transfers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAyDvE;;;GAGG;AACH,wBAAgB,6BAA6B,IAAI,cAAc,EAAE,CAIhE"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Forward-only migration v20: Learning System Transfer Requests
|
|
3
|
+
* S ref: S29.8 (cross-agent transfer protocol), I-07 (agent isolation), DEC-4E-002
|
|
4
|
+
*
|
|
5
|
+
* Phase: 4E-2e (Certification — Learning System Convergence Subsystems)
|
|
6
|
+
*
|
|
7
|
+
* Adds:
|
|
8
|
+
* - learning_transfer_requests table (transfer lifecycle tracking)
|
|
9
|
+
* - Index for tenant + status (pending request queries)
|
|
10
|
+
* - Tenant immutability trigger (same pattern as Phase 4B)
|
|
11
|
+
*
|
|
12
|
+
* Schema derives from TransferRequest interface in learning_types.ts:
|
|
13
|
+
* id, tenant_id, source_agent_id, target_agent_id, technique_id,
|
|
14
|
+
* status, created_at, resolved_at
|
|
15
|
+
*/
|
|
16
|
+
import { createHash } from 'node:crypto';
|
|
17
|
+
// ─── Migration v20: Learning Transfer Requests Table ───
|
|
18
|
+
const MIGRATION_020_SQL = `
|
|
19
|
+
-- Migration 020: Learning System Transfer Requests
|
|
20
|
+
-- S ref: S29.8 (cross-agent transfer), DEC-4E-002 (cross-tenant blocked)
|
|
21
|
+
-- Phase: 4E-2e
|
|
22
|
+
-- Constraint: C-05 (forward-only migration)
|
|
23
|
+
|
|
24
|
+
-- ────────────────────────────────────────────────────────────
|
|
25
|
+
-- Transfer requests track cross-agent technique transfers.
|
|
26
|
+
-- Single tenant_id field — cross-tenant structurally impossible (DEC-4E-002).
|
|
27
|
+
-- No FK to learning_techniques — request survives technique lifecycle.
|
|
28
|
+
-- ────────────────────────────────────────────────────────────
|
|
29
|
+
|
|
30
|
+
CREATE TABLE learning_transfer_requests (
|
|
31
|
+
id TEXT PRIMARY KEY,
|
|
32
|
+
tenant_id TEXT NOT NULL,
|
|
33
|
+
source_agent_id TEXT NOT NULL,
|
|
34
|
+
target_agent_id TEXT NOT NULL,
|
|
35
|
+
technique_id TEXT NOT NULL,
|
|
36
|
+
status TEXT NOT NULL DEFAULT 'pending' CHECK (status IN ('pending', 'approved', 'rejected')),
|
|
37
|
+
created_at TEXT NOT NULL,
|
|
38
|
+
resolved_at TEXT
|
|
39
|
+
);
|
|
40
|
+
|
|
41
|
+
-- ────────────────────────────────────────────────────────────
|
|
42
|
+
-- Indexes
|
|
43
|
+
-- Primary access pattern: pending requests by tenant
|
|
44
|
+
-- ────────────────────────────────────────────────────────────
|
|
45
|
+
|
|
46
|
+
CREATE INDEX idx_ltr_tenant_status ON learning_transfer_requests(tenant_id, status);
|
|
47
|
+
|
|
48
|
+
-- ────────────────────────────────────────────────────────────
|
|
49
|
+
-- Tenant immutability trigger (same pattern as Phase 4B)
|
|
50
|
+
-- ────────────────────────────────────────────────────────────
|
|
51
|
+
|
|
52
|
+
CREATE TRIGGER learning_transfer_requests_tenant_immutable
|
|
53
|
+
BEFORE UPDATE OF tenant_id ON learning_transfer_requests
|
|
54
|
+
WHEN OLD.tenant_id IS NOT NULL AND NEW.tenant_id IS NOT OLD.tenant_id
|
|
55
|
+
BEGIN
|
|
56
|
+
SELECT RAISE(ABORT, 'I-MUT: tenant_id is immutable after INSERT on learning_transfer_requests');
|
|
57
|
+
END;
|
|
58
|
+
`;
|
|
59
|
+
// ─── Build Migration Entry ───
|
|
60
|
+
function buildEntry(version, name, sql) {
|
|
61
|
+
return {
|
|
62
|
+
version,
|
|
63
|
+
name,
|
|
64
|
+
sql,
|
|
65
|
+
checksum: createHash('sha256').update(sql).digest('hex'),
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get Phase 4E-2e (Learning CrossAgentTransfer) migration.
|
|
70
|
+
* Version 20 continues from Phase 4E-2e's quarantine migration v19.
|
|
71
|
+
*/
|
|
72
|
+
export function getPhase4E2eTransferMigration() {
|
|
73
|
+
return [
|
|
74
|
+
buildEntry(20, 'learning_transfer_requests', MIGRATION_020_SQL),
|
|
75
|
+
];
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=011_learning_transfers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"011_learning_transfers.js","sourceRoot":"","sources":["../../../src/learning/migration/011_learning_transfers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAGzC,0DAA0D;AAE1D,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwCzB,CAAC;AAEF,gCAAgC;AAEhC,SAAS,UAAU,CAAC,OAAe,EAAE,IAAY,EAAE,GAAW;IAC5D,OAAO;QACL,OAAO;QACP,IAAI;QACJ,GAAG;QACH,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;KACzD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO;QACL,UAAU,CAAC,EAAE,EAAE,4BAA4B,EAAE,iBAAiB,CAAC;KAChE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Limen — QuarantineManager Implementation
|
|
3
|
+
* Phase 4E-2e: Learning System Convergence Subsystems
|
|
4
|
+
*
|
|
5
|
+
* Implements the QuarantineManager interface from learning_types.ts.
|
|
6
|
+
* FM-01 defense: atomic suspension of suspected techniques.
|
|
7
|
+
* Resolution requires human authority (HITL review).
|
|
8
|
+
*
|
|
9
|
+
* S ref: S29.7 (quarantine cascade), FM-01 (memory poisoning),
|
|
10
|
+
* I-03 (audit atomicity), I-07 (agent isolation)
|
|
11
|
+
*
|
|
12
|
+
* Engineering decisions:
|
|
13
|
+
* D1: Already-retired techniques in cascade are SKIPPED (FS-04: cannot suspend retired).
|
|
14
|
+
* A quarantine entry is NOT created for skipped retired techniques — they're
|
|
15
|
+
* already out of service. Creating an entry would pollute getPending.
|
|
16
|
+
* D2: Already-suspended techniques in cascade: quarantine entry IS created, but
|
|
17
|
+
* store.suspend() is NOT called (suspended→suspended is invalid transition).
|
|
18
|
+
* The entry tracks the quarantine reason even though the technique was already suspended.
|
|
19
|
+
* D3: resolve() checks technique's current status before acting. If technique was
|
|
20
|
+
* retired between quarantine and resolution (e.g., by RetirementEvaluator), the
|
|
21
|
+
* entry is still resolved but the reactivation fails gracefully.
|
|
22
|
+
* D4: Cross-agent quarantine: quarantine() is the only operation that crosses agent
|
|
23
|
+
* boundaries within a tenant. It queries by id+tenant_id (no agentId filter)
|
|
24
|
+
* because memory poisoning affects all agents referencing that memory.
|
|
25
|
+
*/
|
|
26
|
+
import type { QuarantineManager, TechniqueStore, LearningDeps } from '../interfaces/index.js';
|
|
27
|
+
/**
|
|
28
|
+
* Create a QuarantineManager implementation.
|
|
29
|
+
* Follows the Limen store pattern: factory → Object.freeze.
|
|
30
|
+
*
|
|
31
|
+
* S29.7: "memory quarantine + technique suspension in one SQLite transaction (I-03)."
|
|
32
|
+
*/
|
|
33
|
+
export declare function createQuarantineManager(deps: LearningDeps, store: TechniqueStore): QuarantineManager;
|
|
34
|
+
//# sourceMappingURL=quarantine_manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quarantine_manager.d.ts","sourceRoot":"","sources":["../../../src/learning/quarantine/quarantine_manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACJ,cAAc,EAAE,YAAY,EAC1C,MAAM,wBAAwB,CAAC;AAsDhC;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,cAAc,GAAG,iBAAiB,CAyMpG"}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Limen — QuarantineManager Implementation
|
|
3
|
+
* Phase 4E-2e: Learning System Convergence Subsystems
|
|
4
|
+
*
|
|
5
|
+
* Implements the QuarantineManager interface from learning_types.ts.
|
|
6
|
+
* FM-01 defense: atomic suspension of suspected techniques.
|
|
7
|
+
* Resolution requires human authority (HITL review).
|
|
8
|
+
*
|
|
9
|
+
* S ref: S29.7 (quarantine cascade), FM-01 (memory poisoning),
|
|
10
|
+
* I-03 (audit atomicity), I-07 (agent isolation)
|
|
11
|
+
*
|
|
12
|
+
* Engineering decisions:
|
|
13
|
+
* D1: Already-retired techniques in cascade are SKIPPED (FS-04: cannot suspend retired).
|
|
14
|
+
* A quarantine entry is NOT created for skipped retired techniques — they're
|
|
15
|
+
* already out of service. Creating an entry would pollute getPending.
|
|
16
|
+
* D2: Already-suspended techniques in cascade: quarantine entry IS created, but
|
|
17
|
+
* store.suspend() is NOT called (suspended→suspended is invalid transition).
|
|
18
|
+
* The entry tracks the quarantine reason even though the technique was already suspended.
|
|
19
|
+
* D3: resolve() checks technique's current status before acting. If technique was
|
|
20
|
+
* retired between quarantine and resolution (e.g., by RetirementEvaluator), the
|
|
21
|
+
* entry is still resolved but the reactivation fails gracefully.
|
|
22
|
+
* D4: Cross-agent quarantine: quarantine() is the only operation that crosses agent
|
|
23
|
+
* boundaries within a tenant. It queries by id+tenant_id (no agentId filter)
|
|
24
|
+
* because memory poisoning affects all agents referencing that memory.
|
|
25
|
+
*/
|
|
26
|
+
import { randomUUID } from 'node:crypto';
|
|
27
|
+
import { CONFIDENCE_RESET_REACTIVATION } from '../interfaces/index.js';
|
|
28
|
+
function rowToEntry(row) {
|
|
29
|
+
return {
|
|
30
|
+
id: row.id,
|
|
31
|
+
techniqueId: row.technique_id,
|
|
32
|
+
tenantId: row.tenant_id,
|
|
33
|
+
agentId: row.agent_id,
|
|
34
|
+
reason: row.reason,
|
|
35
|
+
quarantinedAt: row.quarantined_at,
|
|
36
|
+
resolvedAt: row.resolved_at,
|
|
37
|
+
resolution: row.resolution,
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
// ─── Audit Helpers ───
|
|
41
|
+
function actorType(ctx) {
|
|
42
|
+
if (ctx.userId)
|
|
43
|
+
return 'user';
|
|
44
|
+
if (ctx.agentId)
|
|
45
|
+
return 'agent';
|
|
46
|
+
return 'system';
|
|
47
|
+
}
|
|
48
|
+
function actorId(ctx) {
|
|
49
|
+
return (ctx.userId ?? ctx.agentId ?? 'system');
|
|
50
|
+
}
|
|
51
|
+
// ─── Factory ───
|
|
52
|
+
/**
|
|
53
|
+
* Create a QuarantineManager implementation.
|
|
54
|
+
* Follows the Limen store pattern: factory → Object.freeze.
|
|
55
|
+
*
|
|
56
|
+
* S29.7: "memory quarantine + technique suspension in one SQLite transaction (I-03)."
|
|
57
|
+
*/
|
|
58
|
+
export function createQuarantineManager(deps, store) {
|
|
59
|
+
// ─── quarantine ───
|
|
60
|
+
function quarantine(conn, ctx, techniqueIds, tenantId, reason) {
|
|
61
|
+
const entries = [];
|
|
62
|
+
const now = deps.time.nowISO();
|
|
63
|
+
conn.transaction(() => {
|
|
64
|
+
for (const tid of techniqueIds) {
|
|
65
|
+
// Query directly by id + tenant_id (no agentId — cross-agent quarantine, D4)
|
|
66
|
+
const technique = conn.get(`SELECT id, tenant_id, agent_id, status FROM learning_techniques WHERE id = ? AND tenant_id = ?`, [tid, tenantId]);
|
|
67
|
+
if (!technique)
|
|
68
|
+
continue; // Technique not found — skip silently
|
|
69
|
+
// D1: Skip already-retired techniques (FS-04)
|
|
70
|
+
if (technique.status === 'retired')
|
|
71
|
+
continue;
|
|
72
|
+
// D2: If already suspended, create entry but skip suspend call
|
|
73
|
+
if (technique.status === 'active') {
|
|
74
|
+
store.suspend(conn, ctx, tid, tenantId);
|
|
75
|
+
}
|
|
76
|
+
const entryId = randomUUID();
|
|
77
|
+
conn.run(`INSERT INTO learning_quarantine_entries
|
|
78
|
+
(id, technique_id, agent_id, tenant_id, reason, quarantined_at, resolved_at, resolution, created_at)
|
|
79
|
+
VALUES (?, ?, ?, ?, ?, ?, NULL, NULL, ?)`, [entryId, tid, technique.agent_id, tenantId, reason, now, now]);
|
|
80
|
+
entries.push({
|
|
81
|
+
id: entryId,
|
|
82
|
+
techniqueId: tid,
|
|
83
|
+
tenantId,
|
|
84
|
+
agentId: technique.agent_id,
|
|
85
|
+
reason,
|
|
86
|
+
quarantinedAt: now,
|
|
87
|
+
resolvedAt: null,
|
|
88
|
+
resolution: null,
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
deps.audit.append(conn, {
|
|
92
|
+
tenantId,
|
|
93
|
+
actorType: actorType(ctx),
|
|
94
|
+
actorId: actorId(ctx),
|
|
95
|
+
operation: `quarantine.cascade:${techniqueIds.length}`,
|
|
96
|
+
resourceType: 'quarantine',
|
|
97
|
+
resourceId: entries.map(e => e.id).join(','),
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
return { ok: true, value: entries };
|
|
101
|
+
}
|
|
102
|
+
// ─── resolve ───
|
|
103
|
+
function resolve(conn, ctx, entryId, resolution) {
|
|
104
|
+
const callerTenantId = ctx.tenantId;
|
|
105
|
+
const entry = conn.get(`SELECT * FROM learning_quarantine_entries WHERE id = ? AND tenant_id = ?`, [entryId, callerTenantId]);
|
|
106
|
+
if (!entry) {
|
|
107
|
+
return {
|
|
108
|
+
ok: false,
|
|
109
|
+
error: {
|
|
110
|
+
code: 'QUARANTINE_ENTRY_NOT_FOUND',
|
|
111
|
+
message: `Quarantine entry ${entryId} not found`,
|
|
112
|
+
spec: 'S29.7',
|
|
113
|
+
},
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
if (entry.resolved_at !== null) {
|
|
117
|
+
return {
|
|
118
|
+
ok: false,
|
|
119
|
+
error: {
|
|
120
|
+
code: 'ALREADY_RESOLVED',
|
|
121
|
+
message: `Quarantine entry ${entryId} already resolved as ${entry.resolution}`,
|
|
122
|
+
spec: 'S29.7',
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
const techniqueId = entry.technique_id;
|
|
127
|
+
const entryTenantId = entry.tenant_id;
|
|
128
|
+
const now = deps.time.nowISO();
|
|
129
|
+
// BRK-IMPL-006: Check store operation result BEFORE updating quarantine entry.
|
|
130
|
+
// If the technique's state has changed since quarantine (e.g., retired through
|
|
131
|
+
// another path), the store operation will fail. We must not mark the entry as
|
|
132
|
+
// resolved with an incorrect resolution.
|
|
133
|
+
let storeResult;
|
|
134
|
+
if (resolution === 'reactivated') {
|
|
135
|
+
storeResult = store.reactivate(conn, ctx, techniqueId, entryTenantId, CONFIDENCE_RESET_REACTIVATION);
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// permanently_retired
|
|
139
|
+
storeResult = store.retire(conn, ctx, techniqueId, entryTenantId, 'quarantine_retired');
|
|
140
|
+
}
|
|
141
|
+
if (!storeResult.ok) {
|
|
142
|
+
return {
|
|
143
|
+
ok: false,
|
|
144
|
+
error: {
|
|
145
|
+
code: 'TECHNIQUE_STATE_CHANGED',
|
|
146
|
+
message: `Cannot resolve quarantine as '${resolution}': ${storeResult.error.message}`,
|
|
147
|
+
spec: 'S29.7',
|
|
148
|
+
},
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
// Store operation succeeded — now update quarantine entry
|
|
152
|
+
conn.transaction(() => {
|
|
153
|
+
conn.run(`UPDATE learning_quarantine_entries SET resolved_at = ?, resolution = ? WHERE id = ?`, [now, resolution, entryId]);
|
|
154
|
+
deps.audit.append(conn, {
|
|
155
|
+
tenantId: entryTenantId,
|
|
156
|
+
actorType: actorType(ctx),
|
|
157
|
+
actorId: actorId(ctx),
|
|
158
|
+
operation: `quarantine.resolve:${resolution}`,
|
|
159
|
+
resourceType: 'quarantine',
|
|
160
|
+
resourceId: entryId,
|
|
161
|
+
});
|
|
162
|
+
});
|
|
163
|
+
return { ok: true, value: undefined };
|
|
164
|
+
}
|
|
165
|
+
// ─── getPending ───
|
|
166
|
+
function getPending(conn, tenantId) {
|
|
167
|
+
const rows = conn.query(`SELECT * FROM learning_quarantine_entries WHERE tenant_id = ? AND resolved_at IS NULL ORDER BY quarantined_at ASC`, [tenantId]);
|
|
168
|
+
return { ok: true, value: rows.map(rowToEntry) };
|
|
169
|
+
}
|
|
170
|
+
// ─── cascadeFromMemory (BRK-IMPL-007) ───
|
|
171
|
+
/**
|
|
172
|
+
* BRK-IMPL-007: GDPR cascade — when a source memory is tombstoned/poisoned,
|
|
173
|
+
* find all derived techniques via getBySourceMemory and quarantine them.
|
|
174
|
+
* Bridges memory → technique → quarantine in one operation.
|
|
175
|
+
*
|
|
176
|
+
* S ref: S29.7 (quarantine cascade), FM-01 (memory poisoning), GDPR Art. 17
|
|
177
|
+
*/
|
|
178
|
+
function cascadeFromMemory(conn, ctx, memoryId, tenantId, reason) {
|
|
179
|
+
// Step 1: Find all techniques derived from this memory
|
|
180
|
+
const techniquesResult = store.getBySourceMemory(conn, memoryId, tenantId);
|
|
181
|
+
if (!techniquesResult.ok)
|
|
182
|
+
return techniquesResult;
|
|
183
|
+
const techniques = techniquesResult.value;
|
|
184
|
+
if (techniques.length === 0) {
|
|
185
|
+
// No derived techniques — cascade is a no-op (valid case)
|
|
186
|
+
return { ok: true, value: [] };
|
|
187
|
+
}
|
|
188
|
+
// Step 2: Quarantine all derived techniques
|
|
189
|
+
const techniqueIds = techniques.map(t => t.id);
|
|
190
|
+
return quarantine(conn, ctx, techniqueIds, tenantId, reason);
|
|
191
|
+
}
|
|
192
|
+
// ─── Return frozen manager ───
|
|
193
|
+
return Object.freeze({
|
|
194
|
+
quarantine,
|
|
195
|
+
resolve,
|
|
196
|
+
getPending,
|
|
197
|
+
cascadeFromMemory,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
//# sourceMappingURL=quarantine_manager.js.map
|