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,630 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat pipeline orchestration for the API surface.
|
|
3
|
+
* S ref: S27 (streaming model), SD-01 (sync return), I-26 (streaming equivalence),
|
|
4
|
+
* I-28 (pipeline determinism), FPD-1 (why chat() returns synchronously),
|
|
5
|
+
* FPD-8 (HITL approval-required disables streaming)
|
|
6
|
+
*
|
|
7
|
+
* Phase: 4 (API Surface)
|
|
8
|
+
* Implements: SDD §7 build order item 6
|
|
9
|
+
*
|
|
10
|
+
* The chat pipeline is the core conversational API. It:
|
|
11
|
+
* 1. Returns ChatResult SYNCHRONOUSLY (SD-01) -- fields are async
|
|
12
|
+
* 2. Produces identical ChatResult structure for streaming/non-streaming (I-26)
|
|
13
|
+
* 3. Delegates to substrate's LlmGateway for LLM generation
|
|
14
|
+
* 4. Maps LlmStreamChunk -> StreamChunk at the API boundary
|
|
15
|
+
* 5. Supports AbortSignal cancellation (S27)
|
|
16
|
+
* 6. Enforces per-call timeout (default 60s per S27)
|
|
17
|
+
* 7. Implements cooperative backpressure (4KB buffer, 30s stall timeout per S36)
|
|
18
|
+
* 8. Suppresses streaming in HITL approval-required mode (FPD-8)
|
|
19
|
+
*
|
|
20
|
+
* No database tables owned. All state mutations delegated to L2 Orchestration.
|
|
21
|
+
*
|
|
22
|
+
* Invariants enforced: I-26 (streaming equivalence), I-27 (conversation integrity),
|
|
23
|
+
* I-28 (pipeline determinism)
|
|
24
|
+
* Failure modes defended: FM-02 (cost explosion via budget checks),
|
|
25
|
+
* FM-06 (provider unavailability)
|
|
26
|
+
*/
|
|
27
|
+
import { LimenError, ensureLimenError } from '../errors/limen_error.js';
|
|
28
|
+
import { requirePermission, buildOperationContext } from '../enforcement/rbac_guard.js';
|
|
29
|
+
import { requireRateLimit, requireStreamCapacity } from '../enforcement/rate_guard.js';
|
|
30
|
+
import { injectTechniques } from './technique_injector.js';
|
|
31
|
+
// Sprint 5: I-14 latency verification + I-15 cost tracking
|
|
32
|
+
import { evaluateLatency } from '../enforcement/latency_harness.js';
|
|
33
|
+
import { computeSessionOverhead } from '../enforcement/cost_tracker.js';
|
|
34
|
+
// CF-013: Input size limits at API boundary
|
|
35
|
+
/** Maximum chat message content size in bytes (default 100KB) */
|
|
36
|
+
const MAX_MESSAGE_BYTES = 102_400;
|
|
37
|
+
// ============================================================================
|
|
38
|
+
// ChatPipeline
|
|
39
|
+
// ============================================================================
|
|
40
|
+
/**
|
|
41
|
+
* S27, SD-01: Chat pipeline that returns ChatResult synchronously.
|
|
42
|
+
*
|
|
43
|
+
* Constructed once per createLimen() instance. Shared across all sessions
|
|
44
|
+
* within that instance, but state isolation is maintained via SessionState.
|
|
45
|
+
*/
|
|
46
|
+
export class ChatPipeline {
|
|
47
|
+
rbac;
|
|
48
|
+
rateLimiter;
|
|
49
|
+
orchestration;
|
|
50
|
+
gateway;
|
|
51
|
+
getConnection;
|
|
52
|
+
getAudit;
|
|
53
|
+
getSubstrate;
|
|
54
|
+
defaultTimeoutMs;
|
|
55
|
+
backpressure;
|
|
56
|
+
defaultModel;
|
|
57
|
+
techniqueReader;
|
|
58
|
+
modelContextWindow;
|
|
59
|
+
time;
|
|
60
|
+
constructor(rbac, rateLimiter, orchestration, gateway, getConnection, getAudit, getSubstrate, defaultTimeoutMs, backpressure, defaultModel, techniqueReader, modelContextWindow = 127_500, time) {
|
|
61
|
+
this.rbac = rbac;
|
|
62
|
+
this.rateLimiter = rateLimiter;
|
|
63
|
+
this.orchestration = orchestration;
|
|
64
|
+
this.gateway = gateway;
|
|
65
|
+
this.getConnection = getConnection;
|
|
66
|
+
this.getAudit = getAudit;
|
|
67
|
+
this.getSubstrate = getSubstrate;
|
|
68
|
+
this.defaultTimeoutMs = defaultTimeoutMs;
|
|
69
|
+
this.backpressure = backpressure;
|
|
70
|
+
this.defaultModel = defaultModel;
|
|
71
|
+
this.techniqueReader = techniqueReader;
|
|
72
|
+
this.modelContextWindow = modelContextWindow;
|
|
73
|
+
this.time = time;
|
|
74
|
+
}
|
|
75
|
+
get clock() {
|
|
76
|
+
return this.time ?? { nowISO: () => new Date().toISOString(), nowMs: () => Date.now() };
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* S27, SD-01: Execute chat pipeline.
|
|
80
|
+
* Returns ChatResult SYNCHRONOUSLY (SD-01). The fields (text, stream, metadata)
|
|
81
|
+
* are individually async.
|
|
82
|
+
*
|
|
83
|
+
* FPD-1: Sync return enables immediate stream consumption without extra await.
|
|
84
|
+
* I-26: Same ChatResult structure regardless of streaming mode.
|
|
85
|
+
*
|
|
86
|
+
* @param sessionState - Active session context
|
|
87
|
+
* @param message - User message (string or ChatMessage)
|
|
88
|
+
* @param options - Chat options (streaming, timeout, signal, etc.)
|
|
89
|
+
* @returns ChatResult with async text, stream, and metadata fields
|
|
90
|
+
*/
|
|
91
|
+
execute(sessionState, message, options) {
|
|
92
|
+
const conn = this.getConnection();
|
|
93
|
+
const ctx = buildOperationContext(sessionState.tenantId, sessionState.userId, sessionState.agentId, sessionState.permissions, sessionState.sessionId);
|
|
94
|
+
// I-13: RBAC check (SD-14: before rate limit)
|
|
95
|
+
requirePermission(this.rbac, ctx, 'chat');
|
|
96
|
+
// §36: Rate limit check (SD-14: after RBAC)
|
|
97
|
+
requireRateLimit(this.rateLimiter, conn, ctx, 'api_calls');
|
|
98
|
+
// §36: Stream capacity check
|
|
99
|
+
requireStreamCapacity(sessionState.activeStreams.size, this.backpressure.maxConcurrentStreams);
|
|
100
|
+
// Normalize message input
|
|
101
|
+
const chatMessage = typeof message === 'string'
|
|
102
|
+
? { role: 'user', content: message }
|
|
103
|
+
: message;
|
|
104
|
+
// CF-013: Validate message content size at API boundary
|
|
105
|
+
const contentBytes = Buffer.byteLength(chatMessage.content, 'utf8');
|
|
106
|
+
if (contentBytes > MAX_MESSAGE_BYTES) {
|
|
107
|
+
throw new LimenError('INVALID_INPUT', `Message content exceeds maximum size (${contentBytes} bytes > ${MAX_MESSAGE_BYTES} bytes limit).`);
|
|
108
|
+
}
|
|
109
|
+
// Determine streaming mode (default: true per S27)
|
|
110
|
+
const streaming = options?.stream !== false;
|
|
111
|
+
// FPD-8: HITL approval-required mode disables streaming
|
|
112
|
+
const hitlMode = options?.hitl?.mode ?? sessionState.hitlMode;
|
|
113
|
+
const effectiveStreaming = hitlMode === 'approval-required' ? false : streaming;
|
|
114
|
+
// Determine timeout
|
|
115
|
+
const timeoutMs = options?.timeoutMs ?? this.defaultTimeoutMs;
|
|
116
|
+
// Generate a unique stream ID for tracking
|
|
117
|
+
const streamId = crypto.randomUUID();
|
|
118
|
+
sessionState.activeStreams.add(streamId);
|
|
119
|
+
// Build the pipeline execution context
|
|
120
|
+
// exactOptionalPropertyTypes: only include optional fields when they have values
|
|
121
|
+
const pipelineCtx = {
|
|
122
|
+
ctx,
|
|
123
|
+
conn,
|
|
124
|
+
chatMessage,
|
|
125
|
+
sessionState,
|
|
126
|
+
streaming: effectiveStreaming,
|
|
127
|
+
timeoutMs,
|
|
128
|
+
streamId,
|
|
129
|
+
...(options?.signal !== undefined ? { signal: options.signal } : {}),
|
|
130
|
+
...(hitlMode !== undefined && hitlMode !== null ? { hitlMode } : {}),
|
|
131
|
+
...(options?.routing !== undefined ? { routing: options.routing } : {}),
|
|
132
|
+
...(options?.model !== undefined ? { model: options.model } : {}),
|
|
133
|
+
...(options?.maxTokens !== undefined ? { maxTokens: options.maxTokens } : {}),
|
|
134
|
+
...(options?.agent !== undefined ? { agent: options.agent } : {}),
|
|
135
|
+
};
|
|
136
|
+
// SD-01: Return ChatResult synchronously. Fields resolve asynchronously.
|
|
137
|
+
const { textPromise, streamIterable, metadataPromise } = this.buildAsyncResult(pipelineCtx);
|
|
138
|
+
return {
|
|
139
|
+
text: textPromise,
|
|
140
|
+
stream: streamIterable,
|
|
141
|
+
metadata: metadataPromise,
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Build the async result components for ChatResult.
|
|
146
|
+
* The pipeline execution drives the stream generator, which in turn
|
|
147
|
+
* drives text accumulation and metadata collection.
|
|
148
|
+
*/
|
|
149
|
+
buildAsyncResult(pctx) {
|
|
150
|
+
// Shared state between the three async result components
|
|
151
|
+
let resolveText;
|
|
152
|
+
let rejectText;
|
|
153
|
+
let resolveMetadata;
|
|
154
|
+
let rejectMetadata;
|
|
155
|
+
const textPromise = new Promise((resolve, reject) => {
|
|
156
|
+
resolveText = resolve;
|
|
157
|
+
rejectText = reject;
|
|
158
|
+
});
|
|
159
|
+
const metadataPromise = new Promise((resolve, reject) => {
|
|
160
|
+
resolveMetadata = resolve;
|
|
161
|
+
rejectMetadata = reject;
|
|
162
|
+
});
|
|
163
|
+
const pipeline = this;
|
|
164
|
+
// The stream iterable runs the pipeline and yields chunks
|
|
165
|
+
const streamIterable = {
|
|
166
|
+
[Symbol.asyncIterator]() {
|
|
167
|
+
return pipeline.runPipeline(pctx, resolveText, rejectText, resolveMetadata, rejectMetadata);
|
|
168
|
+
},
|
|
169
|
+
};
|
|
170
|
+
return { textPromise, streamIterable, metadataPromise };
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Run the pipeline and yield stream chunks.
|
|
174
|
+
*
|
|
175
|
+
* Delegates to the substrate's LlmGateway for generation.
|
|
176
|
+
* Maps LlmStreamChunk to public StreamChunk at the API boundary.
|
|
177
|
+
* Appends turn to conversation via L2 ConversationManager.
|
|
178
|
+
*/
|
|
179
|
+
runPipeline(pctx, resolveText, rejectText, resolveMetadata, rejectMetadata) {
|
|
180
|
+
const pipeline = this;
|
|
181
|
+
const pClock = this.clock;
|
|
182
|
+
let accumulated = '';
|
|
183
|
+
const startTime = pClock.nowMs();
|
|
184
|
+
let inputTokens = 0;
|
|
185
|
+
let outputTokens = 0;
|
|
186
|
+
let finishReason = 'stop';
|
|
187
|
+
let providerId = 'unknown';
|
|
188
|
+
let modelUsed = pctx.model ?? this.defaultModel;
|
|
189
|
+
let ttftMs = 0;
|
|
190
|
+
let firstContentEmitted = false;
|
|
191
|
+
// I-28: 9-phase execution tracking. Each phase records start/end for metadata.
|
|
192
|
+
const phaseTimings = [];
|
|
193
|
+
/**
|
|
194
|
+
* I-28: Execute a pipeline phase, recording its duration and emitting a status chunk.
|
|
195
|
+
* Even pass-through phases are recorded for deterministic pipeline structure.
|
|
196
|
+
*/
|
|
197
|
+
function runPhase(phaseName, fn) {
|
|
198
|
+
const phaseStart = pClock.nowMs();
|
|
199
|
+
fn();
|
|
200
|
+
const durationMs = pClock.nowMs() - phaseStart;
|
|
201
|
+
phaseTimings.push({ phase: phaseName, durationMs });
|
|
202
|
+
enqueueChunk({ type: 'status', phase: phaseName, durationMs });
|
|
203
|
+
}
|
|
204
|
+
/**
|
|
205
|
+
* I-28: Async variant for phases that require awaiting (generation, learning).
|
|
206
|
+
*/
|
|
207
|
+
async function runPhaseAsync(phaseName, fn) {
|
|
208
|
+
const phaseStart = pClock.nowMs();
|
|
209
|
+
await fn();
|
|
210
|
+
const durationMs = pClock.nowMs() - phaseStart;
|
|
211
|
+
phaseTimings.push({ phase: phaseName, durationMs });
|
|
212
|
+
enqueueChunk({ type: 'status', phase: phaseName, durationMs });
|
|
213
|
+
}
|
|
214
|
+
// Set up abort/timeout handling
|
|
215
|
+
const abortController = new AbortController();
|
|
216
|
+
let timeoutHandle = null;
|
|
217
|
+
if (pctx.signal) {
|
|
218
|
+
pctx.signal.addEventListener('abort', () => abortController.abort(), { once: true });
|
|
219
|
+
}
|
|
220
|
+
// S27: Default 60s timeout
|
|
221
|
+
timeoutHandle = setTimeout(() => abortController.abort(), pctx.timeoutMs);
|
|
222
|
+
// Chunks queue for the async iterator
|
|
223
|
+
const chunks = [];
|
|
224
|
+
// Mutable holder avoids TypeScript control-flow narrowing issues across async boundaries
|
|
225
|
+
const resolveHolder = { fn: null };
|
|
226
|
+
let pipelineComplete = false;
|
|
227
|
+
// CF-034a: Backpressure tracking — 4KB buffer, 30s stall detection
|
|
228
|
+
let bufferBytes = 0;
|
|
229
|
+
let drainResolve = null;
|
|
230
|
+
let stallTimer = null;
|
|
231
|
+
let backpressureRecorded = false;
|
|
232
|
+
// Track turn number from conversation append
|
|
233
|
+
let turnNumber = 0;
|
|
234
|
+
// Phase 2B: TGP ↔ Pipeline — technique injection result (set in context_assembly)
|
|
235
|
+
let techniqueInjection = null;
|
|
236
|
+
// Start the pipeline execution asynchronously
|
|
237
|
+
const pipelineExecution = (async () => {
|
|
238
|
+
try {
|
|
239
|
+
// Check for cancellation
|
|
240
|
+
if (abortController.signal.aborted) {
|
|
241
|
+
finishReason = pctx.signal?.aborted ? 'cancelled' : 'timeout';
|
|
242
|
+
enqueueChunk({ type: 'done', finishReason });
|
|
243
|
+
resolveText('');
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
const deps = pipeline.buildOrchDeps(pctx.conn);
|
|
247
|
+
// ── Phase 1: perception ──
|
|
248
|
+
// I-28: Process incoming message, normalize input, extract intent signals.
|
|
249
|
+
runPhase('perception', () => {
|
|
250
|
+
// Perception: message normalization already done in execute().
|
|
251
|
+
// This phase validates the input is well-formed for downstream processing.
|
|
252
|
+
});
|
|
253
|
+
// ── Phase 2: retrieval ──
|
|
254
|
+
// I-28: Retrieve relevant context from memory/knowledge stores.
|
|
255
|
+
runPhase('retrieval', () => {
|
|
256
|
+
// Retrieval: pass-through stub. Memory subsystem integration pending.
|
|
257
|
+
// When wired, this phase queries the knowledge store for relevant context.
|
|
258
|
+
});
|
|
259
|
+
// ── Phase 3: context_assembly ──
|
|
260
|
+
// I-28: Assemble conversation history + retrieved context into LLM prompt.
|
|
261
|
+
// Phase 2B: TGP ↔ Pipeline — inject active techniques into system prompt.
|
|
262
|
+
runPhase('context_assembly', () => {
|
|
263
|
+
// S26: Append user turn to conversation
|
|
264
|
+
const appendResult = pipeline.orchestration.conversations.appendTurn(deps, pctx.sessionState.conversationId, {
|
|
265
|
+
role: 'user',
|
|
266
|
+
content: pctx.chatMessage.content,
|
|
267
|
+
tokenCount: 0, // Token count computed by gateway
|
|
268
|
+
});
|
|
269
|
+
// S26: Extract turn number from conversation state
|
|
270
|
+
if (appendResult.ok) {
|
|
271
|
+
turnNumber = appendResult.value;
|
|
272
|
+
}
|
|
273
|
+
// Phase 2B: TGP ↔ Pipeline — query and prepare active techniques for injection.
|
|
274
|
+
// §31: Only active prompt_fragment techniques, ordered by confidence descending,
|
|
275
|
+
// truncated to 20% of model context window.
|
|
276
|
+
// I-96: Candidates, suspended, retired excluded by getActivePromptFragments.
|
|
277
|
+
// Graceful degradation: TGP failure = no techniques, model operates without them.
|
|
278
|
+
if (pipeline.techniqueReader && pctx.sessionState.tenantId) {
|
|
279
|
+
techniqueInjection = injectTechniques(pipeline.techniqueReader, pctx.conn, pctx.sessionState.agentId, pctx.sessionState.tenantId, pipeline.modelContextWindow);
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
// ── Phase 4: pre_safety ──
|
|
283
|
+
// DL-5: Pre-generation safety gate. Validates input against safety policies.
|
|
284
|
+
runPhase('pre_safety', () => {
|
|
285
|
+
// Pre-safety: pass-through stub. Safety gate pipeline pending Phase 5 wiring.
|
|
286
|
+
// When wired, this phase runs DL-5 safety checks on the assembled prompt.
|
|
287
|
+
});
|
|
288
|
+
// ── Phase 5: generation ──
|
|
289
|
+
// S27: Core LLM generation phase. Streaming or non-streaming.
|
|
290
|
+
await runPhaseAsync('generation', async () => {
|
|
291
|
+
// Build LLM request
|
|
292
|
+
// exactOptionalPropertyTypes: omit optional fields rather than setting undefined
|
|
293
|
+
// Phase 2B: TGP ↔ Pipeline — inject technique content into systemPrompt (I-94: verbatim)
|
|
294
|
+
const llmRequest = {
|
|
295
|
+
model: modelUsed,
|
|
296
|
+
messages: [{ role: 'user', content: pctx.chatMessage.content }],
|
|
297
|
+
maxTokens: pctx.maxTokens ?? 4096,
|
|
298
|
+
...(techniqueInjection && techniqueInjection.systemPromptSection.length > 0
|
|
299
|
+
? { systemPrompt: techniqueInjection.systemPromptSection }
|
|
300
|
+
: {}),
|
|
301
|
+
};
|
|
302
|
+
if (pctx.streaming) {
|
|
303
|
+
// Streaming mode: use requestStream
|
|
304
|
+
const streamResult = await pipeline.gateway.requestStream(pctx.conn, pctx.ctx, llmRequest);
|
|
305
|
+
if (!streamResult.ok) {
|
|
306
|
+
throw new LimenError('PROVIDER_UNAVAILABLE', 'LLM provider request failed.');
|
|
307
|
+
}
|
|
308
|
+
for await (const chunk of streamResult.value) {
|
|
309
|
+
if (abortController.signal.aborted) {
|
|
310
|
+
finishReason = pctx.signal?.aborted ? 'cancelled' : 'timeout';
|
|
311
|
+
break;
|
|
312
|
+
}
|
|
313
|
+
switch (chunk.type) {
|
|
314
|
+
case 'content_delta':
|
|
315
|
+
// S27: Track ttftMs -- time from pipeline start to first content_delta
|
|
316
|
+
if (!firstContentEmitted) {
|
|
317
|
+
ttftMs = pClock.nowMs() - startTime;
|
|
318
|
+
firstContentEmitted = true;
|
|
319
|
+
}
|
|
320
|
+
accumulated += chunk.delta;
|
|
321
|
+
// CF-034a: Use backpressure-aware enqueue for content deltas
|
|
322
|
+
await enqueueChunkWithBackpressure({ type: 'content_delta', delta: chunk.delta });
|
|
323
|
+
break;
|
|
324
|
+
case 'usage':
|
|
325
|
+
inputTokens = chunk.inputTokens;
|
|
326
|
+
outputTokens = chunk.outputTokens;
|
|
327
|
+
break;
|
|
328
|
+
case 'done':
|
|
329
|
+
finishReason = chunk.finishReason;
|
|
330
|
+
break;
|
|
331
|
+
case 'error':
|
|
332
|
+
throw new LimenError('PROVIDER_UNAVAILABLE', chunk.error);
|
|
333
|
+
case 'tool_call_delta':
|
|
334
|
+
// Map tool call deltas to stream chunks
|
|
335
|
+
break;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
// Non-streaming mode: use request
|
|
341
|
+
const responseResult = await pipeline.gateway.request(pctx.conn, pctx.ctx, llmRequest);
|
|
342
|
+
if (!responseResult.ok) {
|
|
343
|
+
throw new LimenError('PROVIDER_UNAVAILABLE', 'LLM provider request failed.');
|
|
344
|
+
}
|
|
345
|
+
const response = responseResult.value;
|
|
346
|
+
const text = typeof response.content === 'string'
|
|
347
|
+
? response.content
|
|
348
|
+
: response.content.filter((b) => b.type === 'text').map((b) => b.text).join('');
|
|
349
|
+
accumulated = text;
|
|
350
|
+
inputTokens = response.usage.inputTokens;
|
|
351
|
+
outputTokens = response.usage.outputTokens;
|
|
352
|
+
providerId = response.providerId;
|
|
353
|
+
modelUsed = response.model;
|
|
354
|
+
finishReason = response.finishReason;
|
|
355
|
+
// S27: Track ttftMs for non-streaming (first content available now)
|
|
356
|
+
ttftMs = pClock.nowMs() - startTime;
|
|
357
|
+
// I-26: Even in non-streaming mode, yield one content_delta chunk
|
|
358
|
+
enqueueChunk({ type: 'content_delta', delta: text });
|
|
359
|
+
}
|
|
360
|
+
});
|
|
361
|
+
// ── Phase 6: post_safety ──
|
|
362
|
+
// DL-5: Post-generation safety gate. Validates output against safety policies.
|
|
363
|
+
runPhase('post_safety', () => {
|
|
364
|
+
// Post-safety: pass-through stub. Safety gate pipeline pending Phase 5 wiring.
|
|
365
|
+
// When wired, this phase runs DL-5 output safety checks on generated content.
|
|
366
|
+
});
|
|
367
|
+
// ── Phase 7: learning ──
|
|
368
|
+
// S29: Learning cycle. Records interaction for future improvement.
|
|
369
|
+
// LEARNING-02: Records interaction to core_interactions for learning pipeline.
|
|
370
|
+
runPhase('learning', () => {
|
|
371
|
+
// S26: Append assistant turn to conversation
|
|
372
|
+
pipeline.orchestration.conversations.appendTurn(deps, pctx.sessionState.conversationId, {
|
|
373
|
+
role: 'assistant',
|
|
374
|
+
content: accumulated,
|
|
375
|
+
tokenCount: outputTokens,
|
|
376
|
+
modelUsed,
|
|
377
|
+
});
|
|
378
|
+
// Phase 7: Record interaction for learning pipeline (LEARNING-02)
|
|
379
|
+
// Non-fatal — interaction recording failure must not break the pipeline
|
|
380
|
+
try {
|
|
381
|
+
const interactionId = crypto.randomUUID();
|
|
382
|
+
const interactionNow = pClock.nowISO();
|
|
383
|
+
pctx.conn.run(`INSERT INTO core_interactions (id, tenant_id, agent_id, session_id, conversation_id, user_input, assistant_output, model_used, input_tokens, output_tokens, created_at)
|
|
384
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)`, [
|
|
385
|
+
interactionId,
|
|
386
|
+
pctx.sessionState.tenantId ?? null,
|
|
387
|
+
pctx.sessionState.agentId ?? null,
|
|
388
|
+
pctx.sessionState.sessionId,
|
|
389
|
+
pctx.sessionState.conversationId,
|
|
390
|
+
pctx.chatMessage.content,
|
|
391
|
+
accumulated,
|
|
392
|
+
modelUsed,
|
|
393
|
+
inputTokens,
|
|
394
|
+
outputTokens,
|
|
395
|
+
interactionNow,
|
|
396
|
+
]);
|
|
397
|
+
}
|
|
398
|
+
catch (recordingErr) {
|
|
399
|
+
// F-S2-003 FIX: Non-fatal, but record failure in audit trail for observability.
|
|
400
|
+
// Pattern: Sprint 1 fix F-S1-003 (capability result persistence failure audit).
|
|
401
|
+
try {
|
|
402
|
+
pipeline.getAudit().append(pctx.conn, {
|
|
403
|
+
tenantId: pctx.sessionState.tenantId ?? null,
|
|
404
|
+
actorType: 'system',
|
|
405
|
+
actorId: 'chat_pipeline',
|
|
406
|
+
operation: 'interaction_recording_failed',
|
|
407
|
+
resourceType: 'interaction',
|
|
408
|
+
resourceId: pctx.sessionState.conversationId,
|
|
409
|
+
detail: {
|
|
410
|
+
error: recordingErr instanceof Error ? recordingErr.message : String(recordingErr),
|
|
411
|
+
sessionId: pctx.sessionState.sessionId,
|
|
412
|
+
},
|
|
413
|
+
});
|
|
414
|
+
}
|
|
415
|
+
catch { /* audit itself failed — truly terminal, nothing to do */ }
|
|
416
|
+
}
|
|
417
|
+
});
|
|
418
|
+
// ── Phase 8: evaluation ──
|
|
419
|
+
// S32: Evaluate response quality metrics.
|
|
420
|
+
runPhase('evaluation', () => {
|
|
421
|
+
// Evaluation: pass-through stub. Quality evaluation pipeline pending Phase 5 wiring.
|
|
422
|
+
// When wired, this phase scores response quality and records evaluation metrics.
|
|
423
|
+
});
|
|
424
|
+
// ── Phase 9: audit ──
|
|
425
|
+
// I-03: Record the interaction in the audit trail.
|
|
426
|
+
runPhase('audit', () => {
|
|
427
|
+
// Audit: pass-through stub. Full audit entry pending Phase 5 wiring.
|
|
428
|
+
// When wired, this phase writes an append-only audit record per I-03.
|
|
429
|
+
});
|
|
430
|
+
// Emit done chunk
|
|
431
|
+
enqueueChunk({ type: 'done', finishReason });
|
|
432
|
+
// Resolve text promise
|
|
433
|
+
resolveText(accumulated);
|
|
434
|
+
// Build and resolve metadata with actual per-phase durations
|
|
435
|
+
const totalMs = pClock.nowMs() - startTime;
|
|
436
|
+
const metadata = {
|
|
437
|
+
traceId: crypto.randomUUID(),
|
|
438
|
+
sessionId: pctx.sessionState.sessionId,
|
|
439
|
+
conversationId: pctx.sessionState.conversationId,
|
|
440
|
+
// S26: Populate turnNumber from conversation state
|
|
441
|
+
turnNumber,
|
|
442
|
+
// S27: Time to first content_delta chunk
|
|
443
|
+
ttftMs,
|
|
444
|
+
totalMs,
|
|
445
|
+
tokens: {
|
|
446
|
+
input: inputTokens,
|
|
447
|
+
output: outputTokens,
|
|
448
|
+
// FM-02: Populate cost from actual LLM response usage data
|
|
449
|
+
cost: (inputTokens + outputTokens) * 0.000001,
|
|
450
|
+
},
|
|
451
|
+
provider: {
|
|
452
|
+
id: providerId,
|
|
453
|
+
model: modelUsed,
|
|
454
|
+
},
|
|
455
|
+
// I-28: Actual per-phase durations from 9-phase execution
|
|
456
|
+
phases: phaseTimings,
|
|
457
|
+
techniquesApplied: techniqueInjection?.count ?? 0,
|
|
458
|
+
techniqueTokenCost: techniqueInjection?.techniqueTokenCost ?? 0,
|
|
459
|
+
safetyGates: [],
|
|
460
|
+
};
|
|
461
|
+
// Sprint 5, I-14: Evaluate latency budget compliance (post-pipeline verification).
|
|
462
|
+
// Does NOT throw on violation — returns report for observability.
|
|
463
|
+
// Violations are informational; the pipeline has already completed.
|
|
464
|
+
const latencyReport = evaluateLatency(phaseTimings);
|
|
465
|
+
if (!latencyReport.withinBudget) {
|
|
466
|
+
// Emit latency warning via audit trail (non-fatal, best-effort)
|
|
467
|
+
try {
|
|
468
|
+
pipeline.getAudit().append(pctx.conn, {
|
|
469
|
+
tenantId: pctx.sessionState.tenantId ?? null,
|
|
470
|
+
actorType: 'system',
|
|
471
|
+
actorId: 'chat_pipeline',
|
|
472
|
+
operation: 'latency_budget_exceeded',
|
|
473
|
+
resourceType: 'pipeline',
|
|
474
|
+
resourceId: pctx.sessionState.sessionId,
|
|
475
|
+
detail: {
|
|
476
|
+
hotPathMs: latencyReport.hotPathMs,
|
|
477
|
+
hotPathBudgetMs: latencyReport.hotPathBudgetMs,
|
|
478
|
+
violationCount: latencyReport.violations.length,
|
|
479
|
+
violations: latencyReport.violations.map(v => ({
|
|
480
|
+
phase: v.phase,
|
|
481
|
+
budgetMs: v.budgetMs,
|
|
482
|
+
actualMs: v.actualMs,
|
|
483
|
+
severity: v.severity,
|
|
484
|
+
})),
|
|
485
|
+
},
|
|
486
|
+
});
|
|
487
|
+
}
|
|
488
|
+
catch { /* latency audit is best-effort */ }
|
|
489
|
+
}
|
|
490
|
+
// Sprint 5, I-15: Compute and record per-session overhead.
|
|
491
|
+
// The overhead snapshot is computed from metadata for observability.
|
|
492
|
+
// The actual cost scaling verification (evaluateCostScaling) is run
|
|
493
|
+
// at mission or session level, not per-pipeline-call.
|
|
494
|
+
computeSessionOverhead(pctx.sessionState.sessionId, '', // Mission ID not available at pipeline level
|
|
495
|
+
metadata);
|
|
496
|
+
resolveMetadata(metadata);
|
|
497
|
+
}
|
|
498
|
+
catch (error) {
|
|
499
|
+
const cortexError = ensureLimenError(error);
|
|
500
|
+
// Emit error chunk
|
|
501
|
+
enqueueChunk({ type: 'error', code: cortexError.code, message: cortexError.message });
|
|
502
|
+
// Reject text and metadata promises
|
|
503
|
+
rejectText(cortexError);
|
|
504
|
+
rejectMetadata(cortexError);
|
|
505
|
+
}
|
|
506
|
+
finally {
|
|
507
|
+
pipelineComplete = true;
|
|
508
|
+
// Clean up
|
|
509
|
+
if (timeoutHandle)
|
|
510
|
+
clearTimeout(timeoutHandle);
|
|
511
|
+
pctx.sessionState.activeStreams.delete(pctx.streamId);
|
|
512
|
+
// Wake up any waiting consumer
|
|
513
|
+
if (resolveHolder.fn)
|
|
514
|
+
resolveHolder.fn();
|
|
515
|
+
}
|
|
516
|
+
})();
|
|
517
|
+
// Suppress unhandled rejection -- it's handled via rejectText/rejectMetadata
|
|
518
|
+
pipelineExecution.catch(() => { });
|
|
519
|
+
/**
|
|
520
|
+
* CF-034a: Estimate byte size of a chunk for backpressure tracking.
|
|
521
|
+
*/
|
|
522
|
+
function estimateChunkBytes(chunk) {
|
|
523
|
+
if (chunk.type === 'content_delta')
|
|
524
|
+
return Buffer.byteLength(chunk.delta, 'utf8');
|
|
525
|
+
return 64; // Status/control chunks are small, estimate conservatively
|
|
526
|
+
}
|
|
527
|
+
function enqueueChunk(chunk) {
|
|
528
|
+
bufferBytes += estimateChunkBytes(chunk);
|
|
529
|
+
chunks.push(chunk);
|
|
530
|
+
if (resolveHolder.fn) {
|
|
531
|
+
resolveHolder.fn();
|
|
532
|
+
resolveHolder.fn = null;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
/**
|
|
536
|
+
* CF-034a: Async variant that waits for buffer drain when full.
|
|
537
|
+
* Used in the generation phase where content_delta chunks accumulate.
|
|
538
|
+
*/
|
|
539
|
+
async function enqueueChunkWithBackpressure(chunk) {
|
|
540
|
+
enqueueChunk(chunk);
|
|
541
|
+
// S36: If buffer exceeds configured size, wait for consumer to drain
|
|
542
|
+
if (bufferBytes > pipeline.backpressure.bufferSizeBytes) {
|
|
543
|
+
if (!backpressureRecorded) {
|
|
544
|
+
backpressureRecorded = true;
|
|
545
|
+
}
|
|
546
|
+
await new Promise(resolve => { drainResolve = resolve; });
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
/**
|
|
550
|
+
* CF-034a: Reset stall detection timer. Called on each next() invocation.
|
|
551
|
+
* If consumer doesn't call next() within stallTimeoutMs, abort the pipeline.
|
|
552
|
+
*/
|
|
553
|
+
function resetStallTimer() {
|
|
554
|
+
if (stallTimer)
|
|
555
|
+
clearTimeout(stallTimer);
|
|
556
|
+
stallTimer = setTimeout(() => {
|
|
557
|
+
// S36: Stall detected — consumer hasn't read in stallTimeoutMs
|
|
558
|
+
abortController.abort();
|
|
559
|
+
pipelineComplete = true;
|
|
560
|
+
if (resolveHolder.fn) {
|
|
561
|
+
resolveHolder.fn();
|
|
562
|
+
resolveHolder.fn = null;
|
|
563
|
+
}
|
|
564
|
+
}, pipeline.backpressure.stallTimeoutMs);
|
|
565
|
+
}
|
|
566
|
+
// AsyncIterator implementation
|
|
567
|
+
return {
|
|
568
|
+
async next() {
|
|
569
|
+
// CF-034a: Reset stall timer on each consumer read
|
|
570
|
+
resetStallTimer();
|
|
571
|
+
while (chunks.length === 0 && !pipelineComplete) {
|
|
572
|
+
// Wait for chunks to be enqueued
|
|
573
|
+
await new Promise((resolve) => {
|
|
574
|
+
resolveHolder.fn = resolve;
|
|
575
|
+
});
|
|
576
|
+
}
|
|
577
|
+
if (chunks.length > 0) {
|
|
578
|
+
const chunk = chunks.shift();
|
|
579
|
+
// CF-034a: Track buffer drain for backpressure
|
|
580
|
+
bufferBytes -= estimateChunkBytes(chunk);
|
|
581
|
+
if (bufferBytes < 0)
|
|
582
|
+
bufferBytes = 0;
|
|
583
|
+
// CF-034a: Resume producer if buffer drained below threshold
|
|
584
|
+
if (drainResolve && bufferBytes <= pipeline.backpressure.bufferSizeBytes) {
|
|
585
|
+
drainResolve();
|
|
586
|
+
drainResolve = null;
|
|
587
|
+
}
|
|
588
|
+
return { value: chunk, done: false };
|
|
589
|
+
}
|
|
590
|
+
// Pipeline complete, no more chunks
|
|
591
|
+
if (stallTimer)
|
|
592
|
+
clearTimeout(stallTimer);
|
|
593
|
+
return { value: undefined, done: true };
|
|
594
|
+
},
|
|
595
|
+
async return() {
|
|
596
|
+
// Consumer stopped reading early. Abort the pipeline.
|
|
597
|
+
if (stallTimer)
|
|
598
|
+
clearTimeout(stallTimer);
|
|
599
|
+
abortController.abort();
|
|
600
|
+
if (drainResolve) {
|
|
601
|
+
drainResolve();
|
|
602
|
+
drainResolve = null;
|
|
603
|
+
}
|
|
604
|
+
return { value: undefined, done: true };
|
|
605
|
+
},
|
|
606
|
+
async throw(_error) {
|
|
607
|
+
if (stallTimer)
|
|
608
|
+
clearTimeout(stallTimer);
|
|
609
|
+
abortController.abort();
|
|
610
|
+
if (drainResolve) {
|
|
611
|
+
drainResolve();
|
|
612
|
+
drainResolve = null;
|
|
613
|
+
}
|
|
614
|
+
return { value: undefined, done: true };
|
|
615
|
+
},
|
|
616
|
+
};
|
|
617
|
+
}
|
|
618
|
+
/**
|
|
619
|
+
* Build OrchestrationDeps for L2 subsystem calls.
|
|
620
|
+
*/
|
|
621
|
+
buildOrchDeps(conn) {
|
|
622
|
+
return {
|
|
623
|
+
conn,
|
|
624
|
+
substrate: this.getSubstrate(),
|
|
625
|
+
audit: this.getAudit(),
|
|
626
|
+
time: this.clock,
|
|
627
|
+
};
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
//# sourceMappingURL=chat_pipeline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat_pipeline.js","sourceRoot":"","sources":["../../../src/api/chat/chat_pipeline.ts"],"names":[],"mappings":"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"}
|