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,569 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Audit trail implementation.
|
|
3
|
+
* S ref: I-03, I-06, §3.5, FM-08, T-5
|
|
4
|
+
*
|
|
5
|
+
* Phase: 1 (Kernel) -- Build Order 3
|
|
6
|
+
* Must exist before any state mutation occurs.
|
|
7
|
+
*
|
|
8
|
+
* I-03: Every state mutation and its audit entry in same transaction.
|
|
9
|
+
* I-06: Append-only. No modify, no delete. Retention = archival.
|
|
10
|
+
* §3.5: SHA-256 hash chaining. Monotonic sequence numbers. Append-only.
|
|
11
|
+
* FM-08: Defense against audit trail tampering via hash chain + triggers.
|
|
12
|
+
*/
|
|
13
|
+
import { randomUUID } from 'node:crypto';
|
|
14
|
+
import { createRequire } from 'node:module';
|
|
15
|
+
// ─── Genesis hash: SHA-256 of empty string ───
|
|
16
|
+
// Well-known constant. Anchors the hash chain (SDD A06-3).
|
|
17
|
+
const GENESIS_HASH = 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855';
|
|
18
|
+
/**
|
|
19
|
+
* FM-10 + §3.5: Unwrap tenant-scoped connection for audit chain queries.
|
|
20
|
+
* The audit hash chain is GLOBAL (all tenants share one monotonic sequence).
|
|
21
|
+
* TenantScopedConnection.raw provides the unscoped connection.
|
|
22
|
+
* If conn is not scoped, returns conn unchanged.
|
|
23
|
+
*
|
|
24
|
+
* S ref: §3.5 (global hash chain), FM-10 (tenant scoping must not corrupt chain)
|
|
25
|
+
*/
|
|
26
|
+
function unwrapForChainQuery(conn) {
|
|
27
|
+
return 'raw' in conn && conn.raw !== undefined
|
|
28
|
+
? conn.raw
|
|
29
|
+
: conn;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Compute SHA-256 hash for audit chain entry.
|
|
33
|
+
* Uses a deterministic field ordering for consistent hashing.
|
|
34
|
+
* S ref: §3.5 (SHA-256 hash chaining)
|
|
35
|
+
*/
|
|
36
|
+
function computeEntryHash(sha256Fn, previousHash, input, timestamp, seqNo) {
|
|
37
|
+
// Deterministic serialization: fixed field order, canonical JSON
|
|
38
|
+
const data = [
|
|
39
|
+
previousHash,
|
|
40
|
+
String(seqNo),
|
|
41
|
+
timestamp,
|
|
42
|
+
input.actorType,
|
|
43
|
+
input.actorId,
|
|
44
|
+
input.operation,
|
|
45
|
+
input.resourceType,
|
|
46
|
+
input.resourceId,
|
|
47
|
+
input.detail ? JSON.stringify(input.detail, Object.keys(input.detail).sort()) : '',
|
|
48
|
+
].join('|');
|
|
49
|
+
return sha256Fn(data);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Create an AuditTrail implementation.
|
|
53
|
+
* Requires a sha256 function from the crypto module.
|
|
54
|
+
* S ref: I-03 (atomic audit), I-06 (immutability),
|
|
55
|
+
* §3.5 (hash chaining), FM-08 (tamper detection)
|
|
56
|
+
*/
|
|
57
|
+
export function createAuditTrail(sha256Fn, time) {
|
|
58
|
+
const clock = time ?? { nowISO: () => new Date().toISOString(), nowMs: () => Date.now() };
|
|
59
|
+
return {
|
|
60
|
+
/**
|
|
61
|
+
* Append entry. MUST be called within same transaction as mutation (I-03).
|
|
62
|
+
* S ref: I-03 (atomic audit), §3.5 (hash chaining, monotonic sequence)
|
|
63
|
+
*/
|
|
64
|
+
append(conn, input) {
|
|
65
|
+
try {
|
|
66
|
+
const id = randomUUID();
|
|
67
|
+
const timestamp = clock.nowISO();
|
|
68
|
+
// Get previous hash (chain head or genesis)
|
|
69
|
+
// FM-10: Use raw connection — hash chain is GLOBAL, not per-tenant (§3.5)
|
|
70
|
+
const rawConn = unwrapForChainQuery(conn);
|
|
71
|
+
const lastEntry = rawConn.get(`SELECT current_hash, seq_no FROM core_audit_log ORDER BY seq_no DESC LIMIT 1`);
|
|
72
|
+
const previousHash = lastEntry?.current_hash ?? GENESIS_HASH;
|
|
73
|
+
const seqNo = (lastEntry?.seq_no ?? 0) + 1;
|
|
74
|
+
// Compute hash for this entry
|
|
75
|
+
const currentHash = computeEntryHash(sha256Fn, previousHash, input, timestamp, seqNo);
|
|
76
|
+
// Insert into audit log
|
|
77
|
+
const detailJson = input.detail ? JSON.stringify(input.detail) : null;
|
|
78
|
+
conn.run(`INSERT INTO core_audit_log (id, seq_no, tenant_id, timestamp, actor_type, actor_id,
|
|
79
|
+
operation, resource_type, resource_id, detail, previous_hash, current_hash)
|
|
80
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [id, seqNo, input.tenantId, timestamp, input.actorType, input.actorId,
|
|
81
|
+
input.operation, input.resourceType, input.resourceId,
|
|
82
|
+
detailJson, previousHash, currentHash]);
|
|
83
|
+
const entry = {
|
|
84
|
+
seqNo,
|
|
85
|
+
id,
|
|
86
|
+
tenantId: input.tenantId,
|
|
87
|
+
timestamp,
|
|
88
|
+
actorType: input.actorType,
|
|
89
|
+
actorId: input.actorId,
|
|
90
|
+
operation: input.operation,
|
|
91
|
+
resourceType: input.resourceType,
|
|
92
|
+
resourceId: input.resourceId,
|
|
93
|
+
detail: input.detail ?? null,
|
|
94
|
+
previousHash,
|
|
95
|
+
currentHash,
|
|
96
|
+
};
|
|
97
|
+
return { ok: true, value: entry };
|
|
98
|
+
}
|
|
99
|
+
catch (err) {
|
|
100
|
+
return {
|
|
101
|
+
ok: false,
|
|
102
|
+
error: {
|
|
103
|
+
code: 'AUDIT_APPEND_FAILED',
|
|
104
|
+
message: err instanceof Error ? err.message : String(err),
|
|
105
|
+
spec: 'I-03, I-06',
|
|
106
|
+
},
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
/**
|
|
111
|
+
* Batch append for observational (non-mutating) audits.
|
|
112
|
+
* S ref: §3.5 (observational audit batching)
|
|
113
|
+
*/
|
|
114
|
+
appendBatch(conn, inputs) {
|
|
115
|
+
try {
|
|
116
|
+
const entries = [];
|
|
117
|
+
// Get chain head once
|
|
118
|
+
// FM-10: Use raw connection — hash chain is GLOBAL, not per-tenant (§3.5)
|
|
119
|
+
const rawConn = unwrapForChainQuery(conn);
|
|
120
|
+
const lastEntry = rawConn.get(`SELECT current_hash, seq_no FROM core_audit_log ORDER BY seq_no DESC LIMIT 1`);
|
|
121
|
+
let previousHash = lastEntry?.current_hash ?? GENESIS_HASH;
|
|
122
|
+
let seqNo = (lastEntry?.seq_no ?? 0);
|
|
123
|
+
const insertStmt = `INSERT INTO core_audit_log (id, seq_no, tenant_id, timestamp, actor_type, actor_id,
|
|
124
|
+
operation, resource_type, resource_id, detail, previous_hash, current_hash)
|
|
125
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`;
|
|
126
|
+
for (const input of inputs) {
|
|
127
|
+
const id = randomUUID();
|
|
128
|
+
const timestamp = clock.nowISO();
|
|
129
|
+
seqNo += 1;
|
|
130
|
+
const currentHash = computeEntryHash(sha256Fn, previousHash, input, timestamp, seqNo);
|
|
131
|
+
const detailJson = input.detail ? JSON.stringify(input.detail) : null;
|
|
132
|
+
conn.run(insertStmt, [id, seqNo, input.tenantId, timestamp, input.actorType, input.actorId,
|
|
133
|
+
input.operation, input.resourceType, input.resourceId,
|
|
134
|
+
detailJson, previousHash, currentHash]);
|
|
135
|
+
entries.push({
|
|
136
|
+
seqNo,
|
|
137
|
+
id,
|
|
138
|
+
tenantId: input.tenantId,
|
|
139
|
+
timestamp,
|
|
140
|
+
actorType: input.actorType,
|
|
141
|
+
actorId: input.actorId,
|
|
142
|
+
operation: input.operation,
|
|
143
|
+
resourceType: input.resourceType,
|
|
144
|
+
resourceId: input.resourceId,
|
|
145
|
+
detail: input.detail ?? null,
|
|
146
|
+
previousHash,
|
|
147
|
+
currentHash,
|
|
148
|
+
});
|
|
149
|
+
previousHash = currentHash;
|
|
150
|
+
}
|
|
151
|
+
return { ok: true, value: entries };
|
|
152
|
+
}
|
|
153
|
+
catch (err) {
|
|
154
|
+
return {
|
|
155
|
+
ok: false,
|
|
156
|
+
error: {
|
|
157
|
+
code: 'AUDIT_BATCH_FAILED',
|
|
158
|
+
message: err instanceof Error ? err.message : String(err),
|
|
159
|
+
spec: 'I-03, I-06',
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
/**
|
|
165
|
+
* Query entries. RBAC: requires 'view_audit' permission.
|
|
166
|
+
* S ref: I-13 (authorization on audit read)
|
|
167
|
+
*/
|
|
168
|
+
query(conn, ctx, filter) {
|
|
169
|
+
try {
|
|
170
|
+
// I-13: Check view_audit permission
|
|
171
|
+
if (ctx.permissions.size > 0 && !ctx.permissions.has('view_audit')) {
|
|
172
|
+
return {
|
|
173
|
+
ok: false,
|
|
174
|
+
error: {
|
|
175
|
+
code: 'PERMISSION_DENIED',
|
|
176
|
+
message: 'view_audit permission required to query audit entries',
|
|
177
|
+
spec: 'I-13',
|
|
178
|
+
},
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
const conditions = [];
|
|
182
|
+
const params = [];
|
|
183
|
+
if (filter.tenantId !== undefined) {
|
|
184
|
+
conditions.push('tenant_id = ?');
|
|
185
|
+
params.push(filter.tenantId);
|
|
186
|
+
}
|
|
187
|
+
if (filter.actorId !== undefined) {
|
|
188
|
+
conditions.push('actor_id = ?');
|
|
189
|
+
params.push(filter.actorId);
|
|
190
|
+
}
|
|
191
|
+
if (filter.operation !== undefined) {
|
|
192
|
+
conditions.push('operation = ?');
|
|
193
|
+
params.push(filter.operation);
|
|
194
|
+
}
|
|
195
|
+
if (filter.resourceType !== undefined) {
|
|
196
|
+
conditions.push('resource_type = ?');
|
|
197
|
+
params.push(filter.resourceType);
|
|
198
|
+
}
|
|
199
|
+
if (filter.resourceId !== undefined) {
|
|
200
|
+
conditions.push('resource_id = ?');
|
|
201
|
+
params.push(filter.resourceId);
|
|
202
|
+
}
|
|
203
|
+
if (filter.fromTimestamp !== undefined) {
|
|
204
|
+
conditions.push('timestamp >= ?');
|
|
205
|
+
params.push(filter.fromTimestamp);
|
|
206
|
+
}
|
|
207
|
+
if (filter.toTimestamp !== undefined) {
|
|
208
|
+
conditions.push('timestamp <= ?');
|
|
209
|
+
params.push(filter.toTimestamp);
|
|
210
|
+
}
|
|
211
|
+
const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
|
|
212
|
+
const limit = filter.limit ?? 100;
|
|
213
|
+
const offset = filter.offset ?? 0;
|
|
214
|
+
const sql = `SELECT seq_no, id, tenant_id, timestamp, actor_type, actor_id,
|
|
215
|
+
operation, resource_type, resource_id, detail, previous_hash, current_hash
|
|
216
|
+
FROM core_audit_log ${where}
|
|
217
|
+
ORDER BY seq_no ASC LIMIT ? OFFSET ?`;
|
|
218
|
+
params.push(limit, offset);
|
|
219
|
+
const rows = conn.query(sql, params);
|
|
220
|
+
const entries = rows.map(row => ({
|
|
221
|
+
seqNo: row.seq_no,
|
|
222
|
+
id: row.id,
|
|
223
|
+
tenantId: row.tenant_id,
|
|
224
|
+
timestamp: row.timestamp,
|
|
225
|
+
actorType: row.actor_type,
|
|
226
|
+
actorId: row.actor_id,
|
|
227
|
+
operation: row.operation,
|
|
228
|
+
resourceType: row.resource_type,
|
|
229
|
+
resourceId: row.resource_id,
|
|
230
|
+
detail: row.detail ? JSON.parse(row.detail) : null,
|
|
231
|
+
previousHash: row.previous_hash,
|
|
232
|
+
currentHash: row.current_hash,
|
|
233
|
+
}));
|
|
234
|
+
return { ok: true, value: entries };
|
|
235
|
+
}
|
|
236
|
+
catch (err) {
|
|
237
|
+
return {
|
|
238
|
+
ok: false,
|
|
239
|
+
error: {
|
|
240
|
+
code: 'AUDIT_QUERY_FAILED',
|
|
241
|
+
message: err instanceof Error ? err.message : String(err),
|
|
242
|
+
spec: 'I-06',
|
|
243
|
+
},
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
},
|
|
247
|
+
/**
|
|
248
|
+
* Verify hash chain integrity.
|
|
249
|
+
* S ref: FM-08 (chain verification as runtime health check)
|
|
250
|
+
*/
|
|
251
|
+
verifyChain(conn, tenantId) {
|
|
252
|
+
try {
|
|
253
|
+
const tenantFilter = tenantId !== undefined ? 'WHERE tenant_id = ?' : '';
|
|
254
|
+
const params = tenantId !== undefined ? [tenantId] : [];
|
|
255
|
+
const rows = conn.query(`SELECT seq_no, tenant_id, timestamp, actor_type, actor_id, operation,
|
|
256
|
+
resource_type, resource_id, detail, previous_hash, current_hash
|
|
257
|
+
FROM core_audit_log ${tenantFilter} ORDER BY seq_no ASC`, params);
|
|
258
|
+
if (rows.length === 0) {
|
|
259
|
+
return {
|
|
260
|
+
ok: true,
|
|
261
|
+
value: {
|
|
262
|
+
valid: true,
|
|
263
|
+
totalEntries: 0,
|
|
264
|
+
firstSeqNo: 0,
|
|
265
|
+
lastSeqNo: 0,
|
|
266
|
+
brokenAt: null,
|
|
267
|
+
expectedHash: null,
|
|
268
|
+
actualHash: null,
|
|
269
|
+
gaps: [],
|
|
270
|
+
},
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
const gaps = [];
|
|
274
|
+
let valid = true;
|
|
275
|
+
let brokenAt = null;
|
|
276
|
+
let expectedHash = null;
|
|
277
|
+
let actualHash = null;
|
|
278
|
+
let prevHash = GENESIS_HASH;
|
|
279
|
+
for (let i = 0; i < rows.length; i++) {
|
|
280
|
+
const row = rows[i];
|
|
281
|
+
// Check for sequence gaps
|
|
282
|
+
if (i > 0) {
|
|
283
|
+
const prevSeqNo = rows[i - 1].seq_no;
|
|
284
|
+
for (let s = prevSeqNo + 1; s < row.seq_no; s++) {
|
|
285
|
+
gaps.push(s);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
// Verify previousHash links
|
|
289
|
+
if (row.previous_hash !== prevHash) {
|
|
290
|
+
valid = false;
|
|
291
|
+
brokenAt = row.seq_no;
|
|
292
|
+
expectedHash = prevHash;
|
|
293
|
+
actualHash = row.previous_hash;
|
|
294
|
+
break;
|
|
295
|
+
}
|
|
296
|
+
// Recompute hash
|
|
297
|
+
const input = {
|
|
298
|
+
tenantId: row.tenant_id,
|
|
299
|
+
actorType: row.actor_type,
|
|
300
|
+
actorId: row.actor_id,
|
|
301
|
+
operation: row.operation,
|
|
302
|
+
resourceType: row.resource_type,
|
|
303
|
+
resourceId: row.resource_id,
|
|
304
|
+
...(row.detail ? { detail: JSON.parse(row.detail) } : {}),
|
|
305
|
+
};
|
|
306
|
+
const recomputedHash = computeEntryHash(sha256Fn, row.previous_hash, input, row.timestamp, row.seq_no);
|
|
307
|
+
if (recomputedHash !== row.current_hash) {
|
|
308
|
+
valid = false;
|
|
309
|
+
brokenAt = row.seq_no;
|
|
310
|
+
expectedHash = recomputedHash;
|
|
311
|
+
actualHash = row.current_hash;
|
|
312
|
+
break;
|
|
313
|
+
}
|
|
314
|
+
prevHash = row.current_hash;
|
|
315
|
+
}
|
|
316
|
+
return {
|
|
317
|
+
ok: true,
|
|
318
|
+
value: {
|
|
319
|
+
valid: valid && gaps.length === 0,
|
|
320
|
+
totalEntries: rows.length,
|
|
321
|
+
firstSeqNo: rows[0].seq_no,
|
|
322
|
+
lastSeqNo: rows[rows.length - 1].seq_no,
|
|
323
|
+
brokenAt,
|
|
324
|
+
expectedHash,
|
|
325
|
+
actualHash,
|
|
326
|
+
gaps,
|
|
327
|
+
},
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
catch (err) {
|
|
331
|
+
return {
|
|
332
|
+
ok: false,
|
|
333
|
+
error: {
|
|
334
|
+
code: 'CHAIN_VERIFY_FAILED',
|
|
335
|
+
message: err instanceof Error ? err.message : String(err),
|
|
336
|
+
spec: 'FM-08',
|
|
337
|
+
},
|
|
338
|
+
};
|
|
339
|
+
}
|
|
340
|
+
},
|
|
341
|
+
/**
|
|
342
|
+
* Archive entries to sealed file.
|
|
343
|
+
* S ref: I-06 (archival to sealed file, not deletion)
|
|
344
|
+
*/
|
|
345
|
+
archive(conn, olderThan, outputPath) {
|
|
346
|
+
try {
|
|
347
|
+
// Find entries to archive
|
|
348
|
+
const entries = conn.query(`SELECT seq_no, current_hash FROM core_audit_log WHERE timestamp < ? ORDER BY seq_no ASC`, [olderThan]);
|
|
349
|
+
if (entries.length === 0) {
|
|
350
|
+
return {
|
|
351
|
+
ok: false,
|
|
352
|
+
error: {
|
|
353
|
+
code: 'NO_ENTRIES_TO_ARCHIVE',
|
|
354
|
+
message: 'No audit entries found older than the specified timestamp',
|
|
355
|
+
spec: 'I-06',
|
|
356
|
+
},
|
|
357
|
+
};
|
|
358
|
+
}
|
|
359
|
+
const firstSeqNo = entries[0].seq_no;
|
|
360
|
+
const lastSeqNo = entries[entries.length - 1].seq_no;
|
|
361
|
+
const finalHash = entries[entries.length - 1].current_hash;
|
|
362
|
+
const segmentId = randomUUID();
|
|
363
|
+
// Create archive database and copy entries
|
|
364
|
+
// NOTE: Archive DB creation uses better-sqlite3 directly
|
|
365
|
+
// This is the only place outside database_lifecycle.ts that opens a DB
|
|
366
|
+
// because archive files are independent sealed databases.
|
|
367
|
+
// S ref: I-06 (sealed archive files are independent SQLite databases)
|
|
368
|
+
const require = createRequire(import.meta.url);
|
|
369
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports -- synchronous import required for sealed archive DB (I-06)
|
|
370
|
+
const BetterSqlite3 = require('better-sqlite3');
|
|
371
|
+
const archiveDb = new BetterSqlite3(outputPath);
|
|
372
|
+
archiveDb.exec(`
|
|
373
|
+
CREATE TABLE core_audit_log (
|
|
374
|
+
seq_no INTEGER PRIMARY KEY,
|
|
375
|
+
id TEXT NOT NULL UNIQUE,
|
|
376
|
+
tenant_id TEXT,
|
|
377
|
+
timestamp TEXT NOT NULL,
|
|
378
|
+
actor_type TEXT NOT NULL,
|
|
379
|
+
actor_id TEXT NOT NULL,
|
|
380
|
+
operation TEXT NOT NULL,
|
|
381
|
+
resource_type TEXT NOT NULL,
|
|
382
|
+
resource_id TEXT NOT NULL,
|
|
383
|
+
detail TEXT,
|
|
384
|
+
previous_hash TEXT NOT NULL,
|
|
385
|
+
current_hash TEXT NOT NULL
|
|
386
|
+
);
|
|
387
|
+
`);
|
|
388
|
+
// Copy entries
|
|
389
|
+
const sourceEntries = conn.query(`SELECT * FROM core_audit_log WHERE seq_no >= ? AND seq_no <= ? ORDER BY seq_no ASC`, [firstSeqNo, lastSeqNo]);
|
|
390
|
+
const insertStmt = archiveDb.prepare(`INSERT INTO core_audit_log VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`);
|
|
391
|
+
const insertAll = archiveDb.transaction(() => {
|
|
392
|
+
for (const entry of sourceEntries) {
|
|
393
|
+
insertStmt.run(entry.seq_no, entry.id, entry.tenant_id, entry.timestamp, entry.actor_type, entry.actor_id, entry.operation, entry.resource_type, entry.resource_id, entry.detail, entry.previous_hash, entry.current_hash);
|
|
394
|
+
}
|
|
395
|
+
});
|
|
396
|
+
insertAll();
|
|
397
|
+
archiveDb.close();
|
|
398
|
+
// Record archive segment
|
|
399
|
+
conn.run(`INSERT INTO core_audit_archive_segments (id, file_path, first_seq_no, last_seq_no, final_hash, entry_count, archived_at)
|
|
400
|
+
VALUES (?, ?, ?, ?, ?, ?, strftime('%Y-%m-%dT%H:%M:%fZ','now'))`, [segmentId, outputPath, firstSeqNo, lastSeqNo, finalHash, entries.length]);
|
|
401
|
+
// Remove archived entries from active table.
|
|
402
|
+
// SEC-004 fix: Set archival flag to bypass DELETE trigger (I-06 defense-in-depth).
|
|
403
|
+
// The trigger WHEN clause checks core_audit_archive_active; if a row exists, DELETE is allowed.
|
|
404
|
+
// Flag is inserted and removed within the same transaction for atomicity.
|
|
405
|
+
conn.run(`INSERT OR IGNORE INTO core_audit_archive_active (id) VALUES (1)`);
|
|
406
|
+
conn.run(`DELETE FROM core_audit_log WHERE seq_no >= ? AND seq_no <= ?`, [firstSeqNo, lastSeqNo]);
|
|
407
|
+
conn.run(`DELETE FROM core_audit_archive_active WHERE id = 1`);
|
|
408
|
+
return {
|
|
409
|
+
ok: true,
|
|
410
|
+
value: {
|
|
411
|
+
segmentId,
|
|
412
|
+
archivedEntries: entries.length,
|
|
413
|
+
firstSeqNo,
|
|
414
|
+
lastSeqNo,
|
|
415
|
+
finalHash,
|
|
416
|
+
filePath: outputPath,
|
|
417
|
+
},
|
|
418
|
+
};
|
|
419
|
+
}
|
|
420
|
+
catch (err) {
|
|
421
|
+
return {
|
|
422
|
+
ok: false,
|
|
423
|
+
error: {
|
|
424
|
+
code: 'ARCHIVE_FAILED',
|
|
425
|
+
message: err instanceof Error ? err.message : String(err),
|
|
426
|
+
spec: 'I-06',
|
|
427
|
+
},
|
|
428
|
+
};
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
/**
|
|
432
|
+
* CF-035, GDPR Art. 17: Tombstone audit entries for a tenant.
|
|
433
|
+
* Replaces PII fields (detail, actor_id) with sanitized values
|
|
434
|
+
* while preserving hash chain integrity via cascade re-hash.
|
|
435
|
+
*
|
|
436
|
+
* Algorithm:
|
|
437
|
+
* 1. Find all entries for the given tenant
|
|
438
|
+
* 2. Set tombstone flag (bypasses I-06 UPDATE trigger)
|
|
439
|
+
* 3. For each tenant entry: replace detail → {"purged":true,"purge_date":"..."}, actor_id → "purged"
|
|
440
|
+
* 4. Starting from the earliest tombstoned entry, cascade re-hash ALL subsequent entries
|
|
441
|
+
* (even non-tenant entries, because the chain is global per DEC-CERT-001)
|
|
442
|
+
* 5. Clear tombstone flag
|
|
443
|
+
* 6. Verify chain integrity
|
|
444
|
+
*
|
|
445
|
+
* S ref: I-06 (controlled UPDATE exception), I-02 (right to erasure),
|
|
446
|
+
* DEC-CERT-001 (global chain GDPR condition), §3.5 (hash chaining)
|
|
447
|
+
*/
|
|
448
|
+
tombstone(conn, tenantId) {
|
|
449
|
+
try {
|
|
450
|
+
// FM-10: Use raw connection — hash chain is GLOBAL (§3.5)
|
|
451
|
+
const rawConn = unwrapForChainQuery(conn);
|
|
452
|
+
// Find entries to tombstone
|
|
453
|
+
const tenantEntries = rawConn.query(`SELECT seq_no FROM core_audit_log WHERE tenant_id = ? ORDER BY seq_no ASC`, [tenantId]);
|
|
454
|
+
if (tenantEntries.length === 0) {
|
|
455
|
+
return {
|
|
456
|
+
ok: true,
|
|
457
|
+
value: { tombstonedEntries: 0, rehashedEntries: 0, chainValid: true },
|
|
458
|
+
};
|
|
459
|
+
}
|
|
460
|
+
const firstTombstoneSeqNo = tenantEntries[0].seq_no;
|
|
461
|
+
const purgeDate = clock.nowISO().split('T')[0]; // YYYY-MM-DD
|
|
462
|
+
const tombstoneDetail = JSON.stringify({ purged: true, purge_date: purgeDate });
|
|
463
|
+
// Execute within a transaction for atomicity
|
|
464
|
+
rawConn.transaction(() => {
|
|
465
|
+
// Set tombstone flag to bypass I-06 UPDATE trigger
|
|
466
|
+
rawConn.run(`INSERT OR IGNORE INTO core_audit_tombstone_active (id) VALUES (1)`);
|
|
467
|
+
// Step 1: Tombstone all tenant entries (replace PII fields)
|
|
468
|
+
rawConn.run(`UPDATE core_audit_log SET detail = ?, actor_id = 'purged' WHERE tenant_id = ?`, [tombstoneDetail, tenantId]);
|
|
469
|
+
// Step 2: Cascade re-hash from first tombstoned entry to end of chain
|
|
470
|
+
// Read ALL entries from first tombstoned entry onward
|
|
471
|
+
const allEntries = rawConn.query(`SELECT seq_no, tenant_id, timestamp, actor_type, actor_id, operation,
|
|
472
|
+
resource_type, resource_id, detail, previous_hash, current_hash
|
|
473
|
+
FROM core_audit_log WHERE seq_no >= ? ORDER BY seq_no ASC`, [firstTombstoneSeqNo]);
|
|
474
|
+
// Get the previous_hash for the first entry in the re-hash range
|
|
475
|
+
let prevHash;
|
|
476
|
+
if (firstTombstoneSeqNo === 1) {
|
|
477
|
+
prevHash = GENESIS_HASH;
|
|
478
|
+
}
|
|
479
|
+
else {
|
|
480
|
+
const predecessor = rawConn.get(`SELECT current_hash FROM core_audit_log WHERE seq_no < ? ORDER BY seq_no DESC LIMIT 1`, [firstTombstoneSeqNo]);
|
|
481
|
+
prevHash = predecessor?.current_hash ?? GENESIS_HASH;
|
|
482
|
+
}
|
|
483
|
+
// Re-hash each entry
|
|
484
|
+
for (const entry of allEntries) {
|
|
485
|
+
const input = {
|
|
486
|
+
tenantId: entry.tenant_id,
|
|
487
|
+
actorType: entry.actor_type,
|
|
488
|
+
actorId: entry.actor_id,
|
|
489
|
+
operation: entry.operation,
|
|
490
|
+
resourceType: entry.resource_type,
|
|
491
|
+
resourceId: entry.resource_id,
|
|
492
|
+
...(entry.detail ? { detail: JSON.parse(entry.detail) } : {}),
|
|
493
|
+
};
|
|
494
|
+
const newHash = computeEntryHash(sha256Fn, prevHash, input, entry.timestamp, entry.seq_no);
|
|
495
|
+
rawConn.run(`UPDATE core_audit_log SET previous_hash = ?, current_hash = ? WHERE seq_no = ?`, [prevHash, newHash, entry.seq_no]);
|
|
496
|
+
prevHash = newHash;
|
|
497
|
+
}
|
|
498
|
+
// Clear tombstone flag
|
|
499
|
+
rawConn.run(`DELETE FROM core_audit_tombstone_active WHERE id = 1`);
|
|
500
|
+
});
|
|
501
|
+
// Verify chain integrity post-tombstone
|
|
502
|
+
const verifyResult = this.verifyChain(rawConn);
|
|
503
|
+
const chainValid = verifyResult.ok ? verifyResult.value.valid : false;
|
|
504
|
+
const rehashedEntries = rawConn.get(`SELECT COUNT(*) as count FROM core_audit_log WHERE seq_no >= ?`, [firstTombstoneSeqNo])?.count ?? 0;
|
|
505
|
+
// FO-001: Meta-audit entry recording the tombstone operation itself.
|
|
506
|
+
// Uses null tenantId because this is a system-level operation on the global chain.
|
|
507
|
+
// Appended AFTER the tombstone transaction so it extends the chain normally.
|
|
508
|
+
this.append(conn, {
|
|
509
|
+
tenantId: null,
|
|
510
|
+
actorType: 'system',
|
|
511
|
+
actorId: 'gdpr_tombstone',
|
|
512
|
+
operation: 'gdpr_tombstone',
|
|
513
|
+
resourceType: 'audit_trail',
|
|
514
|
+
resourceId: tenantId,
|
|
515
|
+
detail: { tombstonedEntries: tenantEntries.length, rehashedEntries, chainValid },
|
|
516
|
+
});
|
|
517
|
+
return {
|
|
518
|
+
ok: true,
|
|
519
|
+
value: { tombstonedEntries: tenantEntries.length, rehashedEntries, chainValid },
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
catch (err) {
|
|
523
|
+
// Ensure tombstone flag is cleaned up on error
|
|
524
|
+
try {
|
|
525
|
+
const rawConn = unwrapForChainQuery(conn);
|
|
526
|
+
rawConn.run(`DELETE FROM core_audit_tombstone_active WHERE id = 1`);
|
|
527
|
+
}
|
|
528
|
+
catch { /* cleanup best-effort */ }
|
|
529
|
+
return {
|
|
530
|
+
ok: false,
|
|
531
|
+
error: {
|
|
532
|
+
code: 'TOMBSTONE_FAILED',
|
|
533
|
+
message: err instanceof Error ? err.message : String(err),
|
|
534
|
+
spec: 'CF-035, I-06, GDPR Art. 17',
|
|
535
|
+
},
|
|
536
|
+
};
|
|
537
|
+
}
|
|
538
|
+
},
|
|
539
|
+
/**
|
|
540
|
+
* Get current chain head hash.
|
|
541
|
+
* S ref: §3.5 (hash chaining state)
|
|
542
|
+
*/
|
|
543
|
+
getChainHead(conn, tenantId) {
|
|
544
|
+
try {
|
|
545
|
+
const tenantFilter = tenantId !== undefined ? 'WHERE tenant_id = ?' : '';
|
|
546
|
+
const params = tenantId !== undefined ? [tenantId] : [];
|
|
547
|
+
const row = conn.get(`SELECT current_hash FROM core_audit_log ${tenantFilter} ORDER BY seq_no DESC LIMIT 1`, params);
|
|
548
|
+
// If no entries, check archive segments for chain continuity
|
|
549
|
+
if (!row) {
|
|
550
|
+
const archiveRow = conn.get(`SELECT final_hash FROM core_audit_archive_segments ORDER BY last_seq_no DESC LIMIT 1`);
|
|
551
|
+
return { ok: true, value: archiveRow?.final_hash ?? GENESIS_HASH };
|
|
552
|
+
}
|
|
553
|
+
return { ok: true, value: row.current_hash };
|
|
554
|
+
}
|
|
555
|
+
catch (err) {
|
|
556
|
+
return {
|
|
557
|
+
ok: false,
|
|
558
|
+
error: {
|
|
559
|
+
code: 'CHAIN_HEAD_FAILED',
|
|
560
|
+
message: err instanceof Error ? err.message : String(err),
|
|
561
|
+
spec: '§3.5',
|
|
562
|
+
},
|
|
563
|
+
};
|
|
564
|
+
}
|
|
565
|
+
},
|
|
566
|
+
};
|
|
567
|
+
}
|
|
568
|
+
export { GENESIS_HASH };
|
|
569
|
+
//# sourceMappingURL=audit_trail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit_trail.js","sourceRoot":"","sources":["../../../src/kernel/audit/audit_trail.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cryptographic primitives implementation.
|
|
3
|
+
* S ref: I-11, FM-10, IP-1, IP-6
|
|
4
|
+
*
|
|
5
|
+
* Phase: 1 (Kernel) -- Build Order 4
|
|
6
|
+
* Required by audit (SHA-256 hash chaining) and vault.
|
|
7
|
+
*
|
|
8
|
+
* I-11: AES-256-GCM default encryption. PBKDF2 key derivation (600k iterations).
|
|
9
|
+
* IP-1: Vault for secure credential storage.
|
|
10
|
+
* IP-6: HMAC-SHA256 for webhook signing.
|
|
11
|
+
*
|
|
12
|
+
* All crypto uses Node.js built-in crypto module (I-01 compliance).
|
|
13
|
+
*/
|
|
14
|
+
import type { CryptoEngine, VaultOperations } from '../interfaces/index.js';
|
|
15
|
+
/** AES-256-GCM constants. S ref: I-11. */
|
|
16
|
+
declare const AES_256_GCM: "aes-256-gcm";
|
|
17
|
+
declare const KEY_LENGTH = 32;
|
|
18
|
+
declare const IV_LENGTH = 12;
|
|
19
|
+
declare const AUTH_TAG_LENGTH = 16;
|
|
20
|
+
/** Default PBKDF2 iterations. S ref: I-11. */
|
|
21
|
+
declare const DEFAULT_PBKDF2_ITERATIONS = 600000;
|
|
22
|
+
/**
|
|
23
|
+
* Create a CryptoEngine implementation.
|
|
24
|
+
* S ref: I-11 (encryption at rest), §3.5 (SHA-256), IP-6 (HMAC)
|
|
25
|
+
*/
|
|
26
|
+
export declare function createCryptoEngine(): CryptoEngine;
|
|
27
|
+
/**
|
|
28
|
+
* Create VaultOperations implementation.
|
|
29
|
+
* S ref: I-11 (encryption at rest), IP-1 (secure credential storage)
|
|
30
|
+
*/
|
|
31
|
+
export declare function createVaultOperations(crypto: CryptoEngine, masterKey: Buffer): VaultOperations;
|
|
32
|
+
/**
|
|
33
|
+
* CF-010: String-level encryption adapter.
|
|
34
|
+
* Wraps CryptoEngine's Buffer-based AES-256-GCM encrypt/decrypt into a
|
|
35
|
+
* string-in/string-out interface suitable for LLM gateway and event bus.
|
|
36
|
+
*
|
|
37
|
+
* Format: base64(iv):base64(authTag):base64(ciphertext)
|
|
38
|
+
* Uses the first 32 bytes of masterKey directly (no derivation — derivation
|
|
39
|
+
* is for per-tenant vault entries, not for system-level encryption).
|
|
40
|
+
*
|
|
41
|
+
* S ref: I-11 (encryption at rest), CF-010 (LLM + webhook encryption)
|
|
42
|
+
*/
|
|
43
|
+
export interface StringEncryption {
|
|
44
|
+
encrypt(plaintext: string): string;
|
|
45
|
+
decrypt(ciphertext: string): string;
|
|
46
|
+
}
|
|
47
|
+
export declare function createStringEncryption(crypto: CryptoEngine, masterKey: Buffer): StringEncryption;
|
|
48
|
+
export { DEFAULT_PBKDF2_ITERATIONS, KEY_LENGTH, IV_LENGTH, AUTH_TAG_LENGTH, AES_256_GCM };
|
|
49
|
+
//# sourceMappingURL=crypto_engine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crypto_engine.d.ts","sourceRoot":"","sources":["../../../src/kernel/crypto/crypto_engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,KAAK,EAEV,YAAY,EAAE,eAAe,EAE9B,MAAM,wBAAwB,CAAC;AAEhC,0CAA0C;AAC1C,QAAA,MAAM,WAAW,EAAG,aAAsB,CAAC;AAC3C,QAAA,MAAM,UAAU,KAAK,CAAC;AACtB,QAAA,MAAM,SAAS,KAAK,CAAC;AACrB,QAAA,MAAM,eAAe,KAAK,CAAC;AAE3B,8CAA8C;AAC9C,QAAA,MAAM,yBAAyB,SAAU,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAiIjD;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,eAAe,CA6L9F;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IACnC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;CACrC;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,GAAG,gBAAgB,CAkChG;AAED,OAAO,EAAE,yBAAyB,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC"}
|