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.
Files changed (704) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/LICENSE +190 -0
  3. package/README.md +546 -0
  4. package/dist/api/agents/agent_api.d.ts +126 -0
  5. package/dist/api/agents/agent_api.d.ts.map +1 -0
  6. package/dist/api/agents/agent_api.js +467 -0
  7. package/dist/api/agents/agent_api.js.map +1 -0
  8. package/dist/api/agents/trust_progression.d.ts +78 -0
  9. package/dist/api/agents/trust_progression.d.ts.map +1 -0
  10. package/dist/api/agents/trust_progression.js +124 -0
  11. package/dist/api/agents/trust_progression.js.map +1 -0
  12. package/dist/api/chat/chat_pipeline.d.ts +91 -0
  13. package/dist/api/chat/chat_pipeline.d.ts.map +1 -0
  14. package/dist/api/chat/chat_pipeline.js +630 -0
  15. package/dist/api/chat/chat_pipeline.js.map +1 -0
  16. package/dist/api/chat/technique_injector.d.ts +86 -0
  17. package/dist/api/chat/technique_injector.d.ts.map +1 -0
  18. package/dist/api/chat/technique_injector.js +125 -0
  19. package/dist/api/chat/technique_injector.js.map +1 -0
  20. package/dist/api/data/data_api.d.ts +91 -0
  21. package/dist/api/data/data_api.d.ts.map +1 -0
  22. package/dist/api/data/data_api.js +306 -0
  23. package/dist/api/data/data_api.js.map +1 -0
  24. package/dist/api/enforcement/cost_tracker.d.ts +105 -0
  25. package/dist/api/enforcement/cost_tracker.d.ts.map +1 -0
  26. package/dist/api/enforcement/cost_tracker.js +227 -0
  27. package/dist/api/enforcement/cost_tracker.js.map +1 -0
  28. package/dist/api/enforcement/latency_harness.d.ts +94 -0
  29. package/dist/api/enforcement/latency_harness.d.ts.map +1 -0
  30. package/dist/api/enforcement/latency_harness.js +120 -0
  31. package/dist/api/enforcement/latency_harness.js.map +1 -0
  32. package/dist/api/enforcement/rate_guard.d.ts +52 -0
  33. package/dist/api/enforcement/rate_guard.d.ts.map +1 -0
  34. package/dist/api/enforcement/rate_guard.js +79 -0
  35. package/dist/api/enforcement/rate_guard.js.map +1 -0
  36. package/dist/api/enforcement/rbac_guard.d.ts +55 -0
  37. package/dist/api/enforcement/rbac_guard.d.ts.map +1 -0
  38. package/dist/api/enforcement/rbac_guard.js +77 -0
  39. package/dist/api/enforcement/rbac_guard.js.map +1 -0
  40. package/dist/api/errors/limen_error.d.ts +81 -0
  41. package/dist/api/errors/limen_error.d.ts.map +1 -0
  42. package/dist/api/errors/limen_error.js +324 -0
  43. package/dist/api/errors/limen_error.js.map +1 -0
  44. package/dist/api/facades/claim_facade.d.ts +47 -0
  45. package/dist/api/facades/claim_facade.d.ts.map +1 -0
  46. package/dist/api/facades/claim_facade.js +67 -0
  47. package/dist/api/facades/claim_facade.js.map +1 -0
  48. package/dist/api/facades/working_memory_facade.d.ts +47 -0
  49. package/dist/api/facades/working_memory_facade.d.ts.map +1 -0
  50. package/dist/api/facades/working_memory_facade.js +74 -0
  51. package/dist/api/facades/working_memory_facade.js.map +1 -0
  52. package/dist/api/governance/governed_orchestration.d.ts +76 -0
  53. package/dist/api/governance/governed_orchestration.d.ts.map +1 -0
  54. package/dist/api/governance/governed_orchestration.js +413 -0
  55. package/dist/api/governance/governed_orchestration.js.map +1 -0
  56. package/dist/api/index.d.ts +84 -0
  57. package/dist/api/index.d.ts.map +1 -0
  58. package/dist/api/index.js +847 -0
  59. package/dist/api/index.js.map +1 -0
  60. package/dist/api/infer/infer_pipeline.d.ts +51 -0
  61. package/dist/api/infer/infer_pipeline.d.ts.map +1 -0
  62. package/dist/api/infer/infer_pipeline.js +291 -0
  63. package/dist/api/infer/infer_pipeline.js.map +1 -0
  64. package/dist/api/interfaces/api.d.ts +940 -0
  65. package/dist/api/interfaces/api.d.ts.map +1 -0
  66. package/dist/api/interfaces/api.js +21 -0
  67. package/dist/api/interfaces/api.js.map +1 -0
  68. package/dist/api/knowledge/knowledge_api.d.ts +55 -0
  69. package/dist/api/knowledge/knowledge_api.d.ts.map +1 -0
  70. package/dist/api/knowledge/knowledge_api.js +89 -0
  71. package/dist/api/knowledge/knowledge_api.js.map +1 -0
  72. package/dist/api/migration/023_agent_persistence.d.ts +32 -0
  73. package/dist/api/migration/023_agent_persistence.d.ts.map +1 -0
  74. package/dist/api/migration/023_agent_persistence.js +158 -0
  75. package/dist/api/migration/023_agent_persistence.js.map +1 -0
  76. package/dist/api/migration/024_trust_learning.d.ts +36 -0
  77. package/dist/api/migration/024_trust_learning.d.ts.map +1 -0
  78. package/dist/api/migration/024_trust_learning.js +194 -0
  79. package/dist/api/migration/024_trust_learning.js.map +1 -0
  80. package/dist/api/migration/025_knowledge_graph.d.ts +29 -0
  81. package/dist/api/migration/025_knowledge_graph.d.ts.map +1 -0
  82. package/dist/api/migration/025_knowledge_graph.js +97 -0
  83. package/dist/api/migration/025_knowledge_graph.js.map +1 -0
  84. package/dist/api/migration/026_replay_pipeline.d.ts +30 -0
  85. package/dist/api/migration/026_replay_pipeline.d.ts.map +1 -0
  86. package/dist/api/migration/026_replay_pipeline.js +118 -0
  87. package/dist/api/migration/026_replay_pipeline.js.map +1 -0
  88. package/dist/api/missions/mission_api.d.ts +74 -0
  89. package/dist/api/missions/mission_api.d.ts.map +1 -0
  90. package/dist/api/missions/mission_api.js +408 -0
  91. package/dist/api/missions/mission_api.js.map +1 -0
  92. package/dist/api/observability/health.d.ts +36 -0
  93. package/dist/api/observability/health.d.ts.map +1 -0
  94. package/dist/api/observability/health.js +92 -0
  95. package/dist/api/observability/health.js.map +1 -0
  96. package/dist/api/observability/metrics.d.ts +95 -0
  97. package/dist/api/observability/metrics.d.ts.map +1 -0
  98. package/dist/api/observability/metrics.js +260 -0
  99. package/dist/api/observability/metrics.js.map +1 -0
  100. package/dist/api/roles/roles_api.d.ts +45 -0
  101. package/dist/api/roles/roles_api.d.ts.map +1 -0
  102. package/dist/api/roles/roles_api.js +77 -0
  103. package/dist/api/roles/roles_api.js.map +1 -0
  104. package/dist/api/sessions/session_manager.d.ts +110 -0
  105. package/dist/api/sessions/session_manager.d.ts.map +1 -0
  106. package/dist/api/sessions/session_manager.js +278 -0
  107. package/dist/api/sessions/session_manager.js.map +1 -0
  108. package/dist/budget/harness/dba_harness.d.ts +36 -0
  109. package/dist/budget/harness/dba_harness.d.ts.map +1 -0
  110. package/dist/budget/harness/dba_harness.js +58 -0
  111. package/dist/budget/harness/dba_harness.js.map +1 -0
  112. package/dist/budget/impl/dba_impl.d.ts +47 -0
  113. package/dist/budget/impl/dba_impl.d.ts.map +1 -0
  114. package/dist/budget/impl/dba_impl.js +402 -0
  115. package/dist/budget/impl/dba_impl.js.map +1 -0
  116. package/dist/budget/interfaces/dba_types.d.ts +708 -0
  117. package/dist/budget/interfaces/dba_types.d.ts.map +1 -0
  118. package/dist/budget/interfaces/dba_types.js +124 -0
  119. package/dist/budget/interfaces/dba_types.js.map +1 -0
  120. package/dist/claims/evidence/capability_scope_validator.d.ts +32 -0
  121. package/dist/claims/evidence/capability_scope_validator.d.ts.map +1 -0
  122. package/dist/claims/evidence/capability_scope_validator.js +72 -0
  123. package/dist/claims/evidence/capability_scope_validator.js.map +1 -0
  124. package/dist/claims/evidence/evidence_validator.d.ts +35 -0
  125. package/dist/claims/evidence/evidence_validator.d.ts.map +1 -0
  126. package/dist/claims/evidence/evidence_validator.js +118 -0
  127. package/dist/claims/evidence/evidence_validator.js.map +1 -0
  128. package/dist/claims/harness/claim_harness.d.ts +22 -0
  129. package/dist/claims/harness/claim_harness.d.ts.map +1 -0
  130. package/dist/claims/harness/claim_harness.js +26 -0
  131. package/dist/claims/harness/claim_harness.js.map +1 -0
  132. package/dist/claims/interfaces/claim_types.d.ts +858 -0
  133. package/dist/claims/interfaces/claim_types.d.ts.map +1 -0
  134. package/dist/claims/interfaces/claim_types.js +201 -0
  135. package/dist/claims/interfaces/claim_types.js.map +1 -0
  136. package/dist/claims/migration/019_ccp_claims.d.ts +23 -0
  137. package/dist/claims/migration/019_ccp_claims.d.ts.map +1 -0
  138. package/dist/claims/migration/019_ccp_claims.js +196 -0
  139. package/dist/claims/migration/019_ccp_claims.js.map +1 -0
  140. package/dist/claims/store/claim_stores.d.ts +27 -0
  141. package/dist/claims/store/claim_stores.d.ts.map +1 -0
  142. package/dist/claims/store/claim_stores.js +1352 -0
  143. package/dist/claims/store/claim_stores.js.map +1 -0
  144. package/dist/context/harness/cgp_harness.d.ts +32 -0
  145. package/dist/context/harness/cgp_harness.d.ts.map +1 -0
  146. package/dist/context/harness/cgp_harness.js +295 -0
  147. package/dist/context/harness/cgp_harness.js.map +1 -0
  148. package/dist/context/interfaces/cgp_types.d.ts +905 -0
  149. package/dist/context/interfaces/cgp_types.d.ts.map +1 -0
  150. package/dist/context/interfaces/cgp_types.js +112 -0
  151. package/dist/context/interfaces/cgp_types.js.map +1 -0
  152. package/dist/context/stores/cgp_stores.d.ts +42 -0
  153. package/dist/context/stores/cgp_stores.d.ts.map +1 -0
  154. package/dist/context/stores/cgp_stores.js +856 -0
  155. package/dist/context/stores/cgp_stores.js.map +1 -0
  156. package/dist/execution/harness/egp_harness.d.ts +43 -0
  157. package/dist/execution/harness/egp_harness.d.ts.map +1 -0
  158. package/dist/execution/harness/egp_harness.js +54 -0
  159. package/dist/execution/harness/egp_harness.js.map +1 -0
  160. package/dist/execution/interfaces/egp_types.d.ts +1042 -0
  161. package/dist/execution/interfaces/egp_types.d.ts.map +1 -0
  162. package/dist/execution/interfaces/egp_types.js +195 -0
  163. package/dist/execution/interfaces/egp_types.js.map +1 -0
  164. package/dist/execution/stores/egp_stores.d.ts +29 -0
  165. package/dist/execution/stores/egp_stores.d.ts.map +1 -0
  166. package/dist/execution/stores/egp_stores.js +1250 -0
  167. package/dist/execution/stores/egp_stores.js.map +1 -0
  168. package/dist/execution/wiring/execution_gate.d.ts +56 -0
  169. package/dist/execution/wiring/execution_gate.d.ts.map +1 -0
  170. package/dist/execution/wiring/execution_gate.js +77 -0
  171. package/dist/execution/wiring/execution_gate.js.map +1 -0
  172. package/dist/execution/wiring/floor_enforcer.d.ts +68 -0
  173. package/dist/execution/wiring/floor_enforcer.d.ts.map +1 -0
  174. package/dist/execution/wiring/floor_enforcer.js +96 -0
  175. package/dist/execution/wiring/floor_enforcer.js.map +1 -0
  176. package/dist/execution/wiring/invocation_gate.d.ts +58 -0
  177. package/dist/execution/wiring/invocation_gate.d.ts.map +1 -0
  178. package/dist/execution/wiring/invocation_gate.js +69 -0
  179. package/dist/execution/wiring/invocation_gate.js.map +1 -0
  180. package/dist/execution/wiring/terminal_release.d.ts +56 -0
  181. package/dist/execution/wiring/terminal_release.d.ts.map +1 -0
  182. package/dist/execution/wiring/terminal_release.js +85 -0
  183. package/dist/execution/wiring/terminal_release.js.map +1 -0
  184. package/dist/governance/harness/governance_harness.d.ts +54 -0
  185. package/dist/governance/harness/governance_harness.d.ts.map +1 -0
  186. package/dist/governance/harness/governance_harness.js +60 -0
  187. package/dist/governance/harness/governance_harness.js.map +1 -0
  188. package/dist/governance/migration/012_governance_runs_traces.d.ts +21 -0
  189. package/dist/governance/migration/012_governance_runs_traces.d.ts.map +1 -0
  190. package/dist/governance/migration/012_governance_runs_traces.js +115 -0
  191. package/dist/governance/migration/012_governance_runs_traces.js.map +1 -0
  192. package/dist/governance/migration/013_governance_contracts.d.ts +18 -0
  193. package/dist/governance/migration/013_governance_contracts.d.ts.map +1 -0
  194. package/dist/governance/migration/013_governance_contracts.js +59 -0
  195. package/dist/governance/migration/013_governance_contracts.js.map +1 -0
  196. package/dist/governance/migration/014_governance_supervisor.d.ts +16 -0
  197. package/dist/governance/migration/014_governance_supervisor.d.ts.map +1 -0
  198. package/dist/governance/migration/014_governance_supervisor.js +75 -0
  199. package/dist/governance/migration/014_governance_supervisor.js.map +1 -0
  200. package/dist/governance/migration/015_governance_eval.d.ts +18 -0
  201. package/dist/governance/migration/015_governance_eval.d.ts.map +1 -0
  202. package/dist/governance/migration/015_governance_eval.js +65 -0
  203. package/dist/governance/migration/015_governance_eval.js.map +1 -0
  204. package/dist/governance/migration/016_governance_capabilities.d.ts +16 -0
  205. package/dist/governance/migration/016_governance_capabilities.d.ts.map +1 -0
  206. package/dist/governance/migration/016_governance_capabilities.js +60 -0
  207. package/dist/governance/migration/016_governance_capabilities.js.map +1 -0
  208. package/dist/governance/migration/017_governance_handoffs_idempotency.d.ts +20 -0
  209. package/dist/governance/migration/017_governance_handoffs_idempotency.d.ts.map +1 -0
  210. package/dist/governance/migration/017_governance_handoffs_idempotency.js +103 -0
  211. package/dist/governance/migration/017_governance_handoffs_idempotency.js.map +1 -0
  212. package/dist/governance/migration/018_supervisor_decision_delete_trigger.d.ts +17 -0
  213. package/dist/governance/migration/018_supervisor_decision_delete_trigger.d.ts.map +1 -0
  214. package/dist/governance/migration/018_supervisor_decision_delete_trigger.js +37 -0
  215. package/dist/governance/migration/018_supervisor_decision_delete_trigger.js.map +1 -0
  216. package/dist/governance/stores/governance_stores.d.ts +78 -0
  217. package/dist/governance/stores/governance_stores.d.ts.map +1 -0
  218. package/dist/governance/stores/governance_stores.js +1117 -0
  219. package/dist/governance/stores/governance_stores.js.map +1 -0
  220. package/dist/kernel/audit/audit_trail.d.ts +24 -0
  221. package/dist/kernel/audit/audit_trail.d.ts.map +1 -0
  222. package/dist/kernel/audit/audit_trail.js +569 -0
  223. package/dist/kernel/audit/audit_trail.js.map +1 -0
  224. package/dist/kernel/crypto/crypto_engine.d.ts +49 -0
  225. package/dist/kernel/crypto/crypto_engine.d.ts.map +1 -0
  226. package/dist/kernel/crypto/crypto_engine.js +350 -0
  227. package/dist/kernel/crypto/crypto_engine.js.map +1 -0
  228. package/dist/kernel/database/database_lifecycle.d.ts +24 -0
  229. package/dist/kernel/database/database_lifecycle.d.ts.map +1 -0
  230. package/dist/kernel/database/database_lifecycle.js +404 -0
  231. package/dist/kernel/database/database_lifecycle.js.map +1 -0
  232. package/dist/kernel/database/migrations.d.ts +21 -0
  233. package/dist/kernel/database/migrations.d.ts.map +1 -0
  234. package/dist/kernel/database/migrations.js +407 -0
  235. package/dist/kernel/database/migrations.js.map +1 -0
  236. package/dist/kernel/events/event_bus.d.ts +25 -0
  237. package/dist/kernel/events/event_bus.d.ts.map +1 -0
  238. package/dist/kernel/events/event_bus.js +302 -0
  239. package/dist/kernel/events/event_bus.js.map +1 -0
  240. package/dist/kernel/events/webhook_delivery.d.ts +90 -0
  241. package/dist/kernel/events/webhook_delivery.d.ts.map +1 -0
  242. package/dist/kernel/events/webhook_delivery.js +324 -0
  243. package/dist/kernel/events/webhook_delivery.js.map +1 -0
  244. package/dist/kernel/index.d.ts +39 -0
  245. package/dist/kernel/index.d.ts.map +1 -0
  246. package/dist/kernel/index.js +263 -0
  247. package/dist/kernel/index.js.map +1 -0
  248. package/dist/kernel/interfaces/audit.d.ts +146 -0
  249. package/dist/kernel/interfaces/audit.d.ts.map +1 -0
  250. package/dist/kernel/interfaces/audit.js +15 -0
  251. package/dist/kernel/interfaces/audit.js.map +1 -0
  252. package/dist/kernel/interfaces/capability_manifest.d.ts +104 -0
  253. package/dist/kernel/interfaces/capability_manifest.d.ts.map +1 -0
  254. package/dist/kernel/interfaces/capability_manifest.js +44 -0
  255. package/dist/kernel/interfaces/capability_manifest.js.map +1 -0
  256. package/dist/kernel/interfaces/common.d.ts +91 -0
  257. package/dist/kernel/interfaces/common.d.ts.map +1 -0
  258. package/dist/kernel/interfaces/common.js +10 -0
  259. package/dist/kernel/interfaces/common.js.map +1 -0
  260. package/dist/kernel/interfaces/crypto.d.ts +95 -0
  261. package/dist/kernel/interfaces/crypto.d.ts.map +1 -0
  262. package/dist/kernel/interfaces/crypto.js +14 -0
  263. package/dist/kernel/interfaces/crypto.js.map +1 -0
  264. package/dist/kernel/interfaces/database.d.ts +157 -0
  265. package/dist/kernel/interfaces/database.d.ts.map +1 -0
  266. package/dist/kernel/interfaces/database.js +10 -0
  267. package/dist/kernel/interfaces/database.js.map +1 -0
  268. package/dist/kernel/interfaces/eval.d.ts +93 -0
  269. package/dist/kernel/interfaces/eval.d.ts.map +1 -0
  270. package/dist/kernel/interfaces/eval.js +17 -0
  271. package/dist/kernel/interfaces/eval.js.map +1 -0
  272. package/dist/kernel/interfaces/events.d.ts +73 -0
  273. package/dist/kernel/interfaces/events.d.ts.map +1 -0
  274. package/dist/kernel/interfaces/events.js +13 -0
  275. package/dist/kernel/interfaces/events.js.map +1 -0
  276. package/dist/kernel/interfaces/governance_ids.d.ts +93 -0
  277. package/dist/kernel/interfaces/governance_ids.d.ts.map +1 -0
  278. package/dist/kernel/interfaces/governance_ids.js +18 -0
  279. package/dist/kernel/interfaces/governance_ids.js.map +1 -0
  280. package/dist/kernel/interfaces/idempotency.d.ts +143 -0
  281. package/dist/kernel/interfaces/idempotency.d.ts.map +1 -0
  282. package/dist/kernel/interfaces/idempotency.js +22 -0
  283. package/dist/kernel/interfaces/idempotency.js.map +1 -0
  284. package/dist/kernel/interfaces/index.d.ts +29 -0
  285. package/dist/kernel/interfaces/index.d.ts.map +1 -0
  286. package/dist/kernel/interfaces/index.js +9 -0
  287. package/dist/kernel/interfaces/index.js.map +1 -0
  288. package/dist/kernel/interfaces/kernel.d.ts +79 -0
  289. package/dist/kernel/interfaces/kernel.d.ts.map +1 -0
  290. package/dist/kernel/interfaces/kernel.js +13 -0
  291. package/dist/kernel/interfaces/kernel.js.map +1 -0
  292. package/dist/kernel/interfaces/lifecycle.d.ts +115 -0
  293. package/dist/kernel/interfaces/lifecycle.d.ts.map +1 -0
  294. package/dist/kernel/interfaces/lifecycle.js +53 -0
  295. package/dist/kernel/interfaces/lifecycle.js.map +1 -0
  296. package/dist/kernel/interfaces/mission_contract.d.ts +106 -0
  297. package/dist/kernel/interfaces/mission_contract.d.ts.map +1 -0
  298. package/dist/kernel/interfaces/mission_contract.js +20 -0
  299. package/dist/kernel/interfaces/mission_contract.js.map +1 -0
  300. package/dist/kernel/interfaces/namespace.d.ts +30 -0
  301. package/dist/kernel/interfaces/namespace.d.ts.map +1 -0
  302. package/dist/kernel/interfaces/namespace.js +12 -0
  303. package/dist/kernel/interfaces/namespace.js.map +1 -0
  304. package/dist/kernel/interfaces/rate_limiter.d.ts +42 -0
  305. package/dist/kernel/interfaces/rate_limiter.d.ts.map +1 -0
  306. package/dist/kernel/interfaces/rate_limiter.js +12 -0
  307. package/dist/kernel/interfaces/rate_limiter.js.map +1 -0
  308. package/dist/kernel/interfaces/rbac.d.ts +58 -0
  309. package/dist/kernel/interfaces/rbac.d.ts.map +1 -0
  310. package/dist/kernel/interfaces/rbac.js +13 -0
  311. package/dist/kernel/interfaces/rbac.js.map +1 -0
  312. package/dist/kernel/interfaces/retention.d.ts +58 -0
  313. package/dist/kernel/interfaces/retention.d.ts.map +1 -0
  314. package/dist/kernel/interfaces/retention.js +13 -0
  315. package/dist/kernel/interfaces/retention.js.map +1 -0
  316. package/dist/kernel/interfaces/run_identity.d.ts +132 -0
  317. package/dist/kernel/interfaces/run_identity.d.ts.map +1 -0
  318. package/dist/kernel/interfaces/run_identity.js +16 -0
  319. package/dist/kernel/interfaces/run_identity.js.map +1 -0
  320. package/dist/kernel/interfaces/supervisor.d.ts +175 -0
  321. package/dist/kernel/interfaces/supervisor.d.ts.map +1 -0
  322. package/dist/kernel/interfaces/supervisor.js +25 -0
  323. package/dist/kernel/interfaces/supervisor.js.map +1 -0
  324. package/dist/kernel/interfaces/tenant.d.ts +34 -0
  325. package/dist/kernel/interfaces/tenant.d.ts.map +1 -0
  326. package/dist/kernel/interfaces/tenant.js +12 -0
  327. package/dist/kernel/interfaces/tenant.js.map +1 -0
  328. package/dist/kernel/interfaces/time.d.ts +29 -0
  329. package/dist/kernel/interfaces/time.d.ts.map +1 -0
  330. package/dist/kernel/interfaces/time.js +13 -0
  331. package/dist/kernel/interfaces/time.js.map +1 -0
  332. package/dist/kernel/interfaces/trace.d.ts +264 -0
  333. package/dist/kernel/interfaces/trace.d.ts.map +1 -0
  334. package/dist/kernel/interfaces/trace.js +17 -0
  335. package/dist/kernel/interfaces/trace.js.map +1 -0
  336. package/dist/kernel/namespace/namespace_enforcer.d.ts +20 -0
  337. package/dist/kernel/namespace/namespace_enforcer.d.ts.map +1 -0
  338. package/dist/kernel/namespace/namespace_enforcer.js +91 -0
  339. package/dist/kernel/namespace/namespace_enforcer.js.map +1 -0
  340. package/dist/kernel/rate_limiter/rate_limiter.d.ts +23 -0
  341. package/dist/kernel/rate_limiter/rate_limiter.d.ts.map +1 -0
  342. package/dist/kernel/rate_limiter/rate_limiter.js +146 -0
  343. package/dist/kernel/rate_limiter/rate_limiter.js.map +1 -0
  344. package/dist/kernel/rbac/rbac_engine.d.ts +20 -0
  345. package/dist/kernel/rbac/rbac_engine.d.ts.map +1 -0
  346. package/dist/kernel/rbac/rbac_engine.js +257 -0
  347. package/dist/kernel/rbac/rbac_engine.js.map +1 -0
  348. package/dist/kernel/retention/retention_scheduler.d.ts +41 -0
  349. package/dist/kernel/retention/retention_scheduler.d.ts.map +1 -0
  350. package/dist/kernel/retention/retention_scheduler.js +218 -0
  351. package/dist/kernel/retention/retention_scheduler.js.map +1 -0
  352. package/dist/kernel/tenant/tenant_context.d.ts +22 -0
  353. package/dist/kernel/tenant/tenant_context.d.ts.map +1 -0
  354. package/dist/kernel/tenant/tenant_context.js +107 -0
  355. package/dist/kernel/tenant/tenant_context.js.map +1 -0
  356. package/dist/kernel/tenant/tenant_scope.d.ts +81 -0
  357. package/dist/kernel/tenant/tenant_scope.d.ts.map +1 -0
  358. package/dist/kernel/tenant/tenant_scope.js +168 -0
  359. package/dist/kernel/tenant/tenant_scope.js.map +1 -0
  360. package/dist/kernel/time/time_provider.d.ts +39 -0
  361. package/dist/kernel/time/time_provider.d.ts.map +1 -0
  362. package/dist/kernel/time/time_provider.js +58 -0
  363. package/dist/kernel/time/time_provider.js.map +1 -0
  364. package/dist/learning/applicator/technique_applicator.d.ts +41 -0
  365. package/dist/learning/applicator/technique_applicator.d.ts.map +1 -0
  366. package/dist/learning/applicator/technique_applicator.js +200 -0
  367. package/dist/learning/applicator/technique_applicator.js.map +1 -0
  368. package/dist/learning/cold_start/cold_start_manager.d.ts +35 -0
  369. package/dist/learning/cold_start/cold_start_manager.d.ts.map +1 -0
  370. package/dist/learning/cold_start/cold_start_manager.js +146 -0
  371. package/dist/learning/cold_start/cold_start_manager.js.map +1 -0
  372. package/dist/learning/cycle/learning_cycle_orchestrator.d.ts +45 -0
  373. package/dist/learning/cycle/learning_cycle_orchestrator.d.ts.map +1 -0
  374. package/dist/learning/cycle/learning_cycle_orchestrator.js +165 -0
  375. package/dist/learning/cycle/learning_cycle_orchestrator.js.map +1 -0
  376. package/dist/learning/extractor/technique_extractor.d.ts +48 -0
  377. package/dist/learning/extractor/technique_extractor.d.ts.map +1 -0
  378. package/dist/learning/extractor/technique_extractor.js +357 -0
  379. package/dist/learning/extractor/technique_extractor.js.map +1 -0
  380. package/dist/learning/harness/learning_harness.d.ts +26 -0
  381. package/dist/learning/harness/learning_harness.d.ts.map +1 -0
  382. package/dist/learning/harness/learning_harness.js +58 -0
  383. package/dist/learning/harness/learning_harness.js.map +1 -0
  384. package/dist/learning/interfaces/index.d.ts +7 -0
  385. package/dist/learning/interfaces/index.d.ts.map +1 -0
  386. package/dist/learning/interfaces/index.js +10 -0
  387. package/dist/learning/interfaces/index.js.map +1 -0
  388. package/dist/learning/interfaces/learning_types.d.ts +398 -0
  389. package/dist/learning/interfaces/learning_types.d.ts.map +1 -0
  390. package/dist/learning/interfaces/learning_types.js +69 -0
  391. package/dist/learning/interfaces/learning_types.js.map +1 -0
  392. package/dist/learning/migration/007_learning_techniques.d.ts +23 -0
  393. package/dist/learning/migration/007_learning_techniques.d.ts.map +1 -0
  394. package/dist/learning/migration/007_learning_techniques.js +86 -0
  395. package/dist/learning/migration/007_learning_techniques.js.map +1 -0
  396. package/dist/learning/migration/008_learning_outcomes.d.ts +23 -0
  397. package/dist/learning/migration/008_learning_outcomes.d.ts.map +1 -0
  398. package/dist/learning/migration/008_learning_outcomes.js +79 -0
  399. package/dist/learning/migration/008_learning_outcomes.js.map +1 -0
  400. package/dist/learning/migration/009_learning_applications.d.ts +25 -0
  401. package/dist/learning/migration/009_learning_applications.d.ts.map +1 -0
  402. package/dist/learning/migration/009_learning_applications.js +82 -0
  403. package/dist/learning/migration/009_learning_applications.js.map +1 -0
  404. package/dist/learning/migration/010_learning_quarantine.d.ts +22 -0
  405. package/dist/learning/migration/010_learning_quarantine.d.ts.map +1 -0
  406. package/dist/learning/migration/010_learning_quarantine.js +78 -0
  407. package/dist/learning/migration/010_learning_quarantine.js.map +1 -0
  408. package/dist/learning/migration/011_learning_transfers.d.ts +22 -0
  409. package/dist/learning/migration/011_learning_transfers.d.ts.map +1 -0
  410. package/dist/learning/migration/011_learning_transfers.js +77 -0
  411. package/dist/learning/migration/011_learning_transfers.js.map +1 -0
  412. package/dist/learning/quarantine/quarantine_manager.d.ts +34 -0
  413. package/dist/learning/quarantine/quarantine_manager.d.ts.map +1 -0
  414. package/dist/learning/quarantine/quarantine_manager.js +200 -0
  415. package/dist/learning/quarantine/quarantine_manager.js.map +1 -0
  416. package/dist/learning/retirement/retirement_evaluator.d.ts +35 -0
  417. package/dist/learning/retirement/retirement_evaluator.d.ts.map +1 -0
  418. package/dist/learning/retirement/retirement_evaluator.js +131 -0
  419. package/dist/learning/retirement/retirement_evaluator.js.map +1 -0
  420. package/dist/learning/specialization/over_specialization_detector.d.ts +32 -0
  421. package/dist/learning/specialization/over_specialization_detector.d.ts.map +1 -0
  422. package/dist/learning/specialization/over_specialization_detector.js +105 -0
  423. package/dist/learning/specialization/over_specialization_detector.js.map +1 -0
  424. package/dist/learning/store/technique_store.d.ts +22 -0
  425. package/dist/learning/store/technique_store.d.ts.map +1 -0
  426. package/dist/learning/store/technique_store.js +369 -0
  427. package/dist/learning/store/technique_store.js.map +1 -0
  428. package/dist/learning/tracker/effectiveness_tracker.d.ts +26 -0
  429. package/dist/learning/tracker/effectiveness_tracker.d.ts.map +1 -0
  430. package/dist/learning/tracker/effectiveness_tracker.js +158 -0
  431. package/dist/learning/tracker/effectiveness_tracker.js.map +1 -0
  432. package/dist/learning/transfer/cross_agent_transfer.d.ts +35 -0
  433. package/dist/learning/transfer/cross_agent_transfer.d.ts.map +1 -0
  434. package/dist/learning/transfer/cross_agent_transfer.js +245 -0
  435. package/dist/learning/transfer/cross_agent_transfer.js.map +1 -0
  436. package/dist/orchestration/artifacts/artifact_store.d.ts +19 -0
  437. package/dist/orchestration/artifacts/artifact_store.d.ts.map +1 -0
  438. package/dist/orchestration/artifacts/artifact_store.js +213 -0
  439. package/dist/orchestration/artifacts/artifact_store.js.map +1 -0
  440. package/dist/orchestration/artifacts/cascade_walker.d.ts +39 -0
  441. package/dist/orchestration/artifacts/cascade_walker.d.ts.map +1 -0
  442. package/dist/orchestration/artifacts/cascade_walker.js +107 -0
  443. package/dist/orchestration/artifacts/cascade_walker.js.map +1 -0
  444. package/dist/orchestration/budget/budget_governance.d.ts +20 -0
  445. package/dist/orchestration/budget/budget_governance.d.ts.map +1 -0
  446. package/dist/orchestration/budget/budget_governance.js +182 -0
  447. package/dist/orchestration/budget/budget_governance.js.map +1 -0
  448. package/dist/orchestration/checkpoints/checkpoint_coordinator.d.ts +22 -0
  449. package/dist/orchestration/checkpoints/checkpoint_coordinator.d.ts.map +1 -0
  450. package/dist/orchestration/checkpoints/checkpoint_coordinator.js +252 -0
  451. package/dist/orchestration/checkpoints/checkpoint_coordinator.js.map +1 -0
  452. package/dist/orchestration/checkpoints/drift_engine.d.ts +52 -0
  453. package/dist/orchestration/checkpoints/drift_engine.d.ts.map +1 -0
  454. package/dist/orchestration/checkpoints/drift_engine.js +126 -0
  455. package/dist/orchestration/checkpoints/drift_engine.js.map +1 -0
  456. package/dist/orchestration/compaction/bounded_cognition.d.ts +22 -0
  457. package/dist/orchestration/compaction/bounded_cognition.d.ts.map +1 -0
  458. package/dist/orchestration/compaction/bounded_cognition.js +124 -0
  459. package/dist/orchestration/compaction/bounded_cognition.js.map +1 -0
  460. package/dist/orchestration/conversation/conversation_manager.d.ts +25 -0
  461. package/dist/orchestration/conversation/conversation_manager.d.ts.map +1 -0
  462. package/dist/orchestration/conversation/conversation_manager.js +260 -0
  463. package/dist/orchestration/conversation/conversation_manager.js.map +1 -0
  464. package/dist/orchestration/events/event_propagation.d.ts +20 -0
  465. package/dist/orchestration/events/event_propagation.d.ts.map +1 -0
  466. package/dist/orchestration/events/event_propagation.js +160 -0
  467. package/dist/orchestration/events/event_propagation.js.map +1 -0
  468. package/dist/orchestration/index.d.ts +28 -0
  469. package/dist/orchestration/index.d.ts.map +1 -0
  470. package/dist/orchestration/index.js +147 -0
  471. package/dist/orchestration/index.js.map +1 -0
  472. package/dist/orchestration/interfaces/orchestration.d.ts +494 -0
  473. package/dist/orchestration/interfaces/orchestration.d.ts.map +1 -0
  474. package/dist/orchestration/interfaces/orchestration.js +64 -0
  475. package/dist/orchestration/interfaces/orchestration.js.map +1 -0
  476. package/dist/orchestration/migration/003_orchestration.d.ts +27 -0
  477. package/dist/orchestration/migration/003_orchestration.d.ts.map +1 -0
  478. package/dist/orchestration/migration/003_orchestration.js +336 -0
  479. package/dist/orchestration/migration/003_orchestration.js.map +1 -0
  480. package/dist/orchestration/migration/004_tenant_isolation.d.ts +22 -0
  481. package/dist/orchestration/migration/004_tenant_isolation.d.ts.map +1 -0
  482. package/dist/orchestration/migration/004_tenant_isolation.js +179 -0
  483. package/dist/orchestration/migration/004_tenant_isolation.js.map +1 -0
  484. package/dist/orchestration/migration/005_immutability_triggers.d.ts +30 -0
  485. package/dist/orchestration/migration/005_immutability_triggers.d.ts.map +1 -0
  486. package/dist/orchestration/migration/005_immutability_triggers.js +93 -0
  487. package/dist/orchestration/migration/005_immutability_triggers.js.map +1 -0
  488. package/dist/orchestration/migration/006_audit_tombstone.d.ts +26 -0
  489. package/dist/orchestration/migration/006_audit_tombstone.d.ts.map +1 -0
  490. package/dist/orchestration/migration/006_audit_tombstone.js +71 -0
  491. package/dist/orchestration/migration/006_audit_tombstone.js.map +1 -0
  492. package/dist/orchestration/missions/mission_recovery.d.ts +60 -0
  493. package/dist/orchestration/missions/mission_recovery.d.ts.map +1 -0
  494. package/dist/orchestration/missions/mission_recovery.js +251 -0
  495. package/dist/orchestration/missions/mission_recovery.js.map +1 -0
  496. package/dist/orchestration/missions/mission_store.d.ts +16 -0
  497. package/dist/orchestration/missions/mission_store.d.ts.map +1 -0
  498. package/dist/orchestration/missions/mission_store.js +280 -0
  499. package/dist/orchestration/missions/mission_store.js.map +1 -0
  500. package/dist/orchestration/syscalls/create_artifact.d.ts +13 -0
  501. package/dist/orchestration/syscalls/create_artifact.d.ts.map +1 -0
  502. package/dist/orchestration/syscalls/create_artifact.js +23 -0
  503. package/dist/orchestration/syscalls/create_artifact.js.map +1 -0
  504. package/dist/orchestration/syscalls/emit_event.d.ts +13 -0
  505. package/dist/orchestration/syscalls/emit_event.d.ts.map +1 -0
  506. package/dist/orchestration/syscalls/emit_event.js +13 -0
  507. package/dist/orchestration/syscalls/emit_event.js.map +1 -0
  508. package/dist/orchestration/syscalls/propose_mission.d.ts +14 -0
  509. package/dist/orchestration/syscalls/propose_mission.d.ts.map +1 -0
  510. package/dist/orchestration/syscalls/propose_mission.js +27 -0
  511. package/dist/orchestration/syscalls/propose_mission.js.map +1 -0
  512. package/dist/orchestration/syscalls/propose_task_execution.d.ts +13 -0
  513. package/dist/orchestration/syscalls/propose_task_execution.d.ts.map +1 -0
  514. package/dist/orchestration/syscalls/propose_task_execution.js +84 -0
  515. package/dist/orchestration/syscalls/propose_task_execution.js.map +1 -0
  516. package/dist/orchestration/syscalls/propose_task_graph.d.ts +13 -0
  517. package/dist/orchestration/syscalls/propose_task_graph.d.ts.map +1 -0
  518. package/dist/orchestration/syscalls/propose_task_graph.js +22 -0
  519. package/dist/orchestration/syscalls/propose_task_graph.js.map +1 -0
  520. package/dist/orchestration/syscalls/read_artifact.d.ts +14 -0
  521. package/dist/orchestration/syscalls/read_artifact.d.ts.map +1 -0
  522. package/dist/orchestration/syscalls/read_artifact.js +31 -0
  523. package/dist/orchestration/syscalls/read_artifact.js.map +1 -0
  524. package/dist/orchestration/syscalls/request_budget.d.ts +14 -0
  525. package/dist/orchestration/syscalls/request_budget.d.ts.map +1 -0
  526. package/dist/orchestration/syscalls/request_budget.js +46 -0
  527. package/dist/orchestration/syscalls/request_budget.js.map +1 -0
  528. package/dist/orchestration/syscalls/request_capability.d.ts +13 -0
  529. package/dist/orchestration/syscalls/request_capability.d.ts.map +1 -0
  530. package/dist/orchestration/syscalls/request_capability.js +136 -0
  531. package/dist/orchestration/syscalls/request_capability.js.map +1 -0
  532. package/dist/orchestration/syscalls/respond_checkpoint.d.ts +12 -0
  533. package/dist/orchestration/syscalls/respond_checkpoint.d.ts.map +1 -0
  534. package/dist/orchestration/syscalls/respond_checkpoint.js +12 -0
  535. package/dist/orchestration/syscalls/respond_checkpoint.js.map +1 -0
  536. package/dist/orchestration/syscalls/submit_result.d.ts +15 -0
  537. package/dist/orchestration/syscalls/submit_result.d.ts.map +1 -0
  538. package/dist/orchestration/syscalls/submit_result.js +97 -0
  539. package/dist/orchestration/syscalls/submit_result.js.map +1 -0
  540. package/dist/orchestration/tasks/task_graph.d.ts +26 -0
  541. package/dist/orchestration/tasks/task_graph.d.ts.map +1 -0
  542. package/dist/orchestration/tasks/task_graph.js +204 -0
  543. package/dist/orchestration/tasks/task_graph.js.map +1 -0
  544. package/dist/orchestration/tasks/task_store.d.ts +18 -0
  545. package/dist/orchestration/tasks/task_store.d.ts.map +1 -0
  546. package/dist/orchestration/tasks/task_store.js +99 -0
  547. package/dist/orchestration/tasks/task_store.js.map +1 -0
  548. package/dist/reference-agent/artifact_manager.d.ts +119 -0
  549. package/dist/reference-agent/artifact_manager.d.ts.map +1 -0
  550. package/dist/reference-agent/artifact_manager.js +149 -0
  551. package/dist/reference-agent/artifact_manager.js.map +1 -0
  552. package/dist/reference-agent/checkpoint_handler.d.ts +186 -0
  553. package/dist/reference-agent/checkpoint_handler.d.ts.map +1 -0
  554. package/dist/reference-agent/checkpoint_handler.js +423 -0
  555. package/dist/reference-agent/checkpoint_handler.js.map +1 -0
  556. package/dist/reference-agent/index.d.ts +43 -0
  557. package/dist/reference-agent/index.d.ts.map +1 -0
  558. package/dist/reference-agent/index.js +53 -0
  559. package/dist/reference-agent/index.js.map +1 -0
  560. package/dist/reference-agent/mission_planner.d.ts +163 -0
  561. package/dist/reference-agent/mission_planner.d.ts.map +1 -0
  562. package/dist/reference-agent/mission_planner.js +375 -0
  563. package/dist/reference-agent/mission_planner.js.map +1 -0
  564. package/dist/reference-agent/reference_agent.d.ts +130 -0
  565. package/dist/reference-agent/reference_agent.d.ts.map +1 -0
  566. package/dist/reference-agent/reference_agent.js +360 -0
  567. package/dist/reference-agent/reference_agent.js.map +1 -0
  568. package/dist/reference-agent/reference_agent.types.d.ts +199 -0
  569. package/dist/reference-agent/reference_agent.types.d.ts.map +1 -0
  570. package/dist/reference-agent/reference_agent.types.js +59 -0
  571. package/dist/reference-agent/reference_agent.types.js.map +1 -0
  572. package/dist/reference-agent/result_aggregator.d.ts +107 -0
  573. package/dist/reference-agent/result_aggregator.d.ts.map +1 -0
  574. package/dist/reference-agent/result_aggregator.js +219 -0
  575. package/dist/reference-agent/result_aggregator.js.map +1 -0
  576. package/dist/reference-agent/system_call_client.d.ts +106 -0
  577. package/dist/reference-agent/system_call_client.d.ts.map +1 -0
  578. package/dist/reference-agent/system_call_client.js +231 -0
  579. package/dist/reference-agent/system_call_client.js.map +1 -0
  580. package/dist/reference-agent/task_executor.d.ts +108 -0
  581. package/dist/reference-agent/task_executor.d.ts.map +1 -0
  582. package/dist/reference-agent/task_executor.js +249 -0
  583. package/dist/reference-agent/task_executor.js.map +1 -0
  584. package/dist/substrate/accounting/resource_accounting.d.ts +52 -0
  585. package/dist/substrate/accounting/resource_accounting.d.ts.map +1 -0
  586. package/dist/substrate/accounting/resource_accounting.js +200 -0
  587. package/dist/substrate/accounting/resource_accounting.js.map +1 -0
  588. package/dist/substrate/adapters/capability_registry.d.ts +28 -0
  589. package/dist/substrate/adapters/capability_registry.d.ts.map +1 -0
  590. package/dist/substrate/adapters/capability_registry.js +196 -0
  591. package/dist/substrate/adapters/capability_registry.js.map +1 -0
  592. package/dist/substrate/gateway/llm_gateway.d.ts +68 -0
  593. package/dist/substrate/gateway/llm_gateway.d.ts.map +1 -0
  594. package/dist/substrate/gateway/llm_gateway.js +442 -0
  595. package/dist/substrate/gateway/llm_gateway.js.map +1 -0
  596. package/dist/substrate/heartbeat/heartbeat_monitor.d.ts +40 -0
  597. package/dist/substrate/heartbeat/heartbeat_monitor.d.ts.map +1 -0
  598. package/dist/substrate/heartbeat/heartbeat_monitor.js +170 -0
  599. package/dist/substrate/heartbeat/heartbeat_monitor.js.map +1 -0
  600. package/dist/substrate/index.d.ts +59 -0
  601. package/dist/substrate/index.d.ts.map +1 -0
  602. package/dist/substrate/index.js +143 -0
  603. package/dist/substrate/index.js.map +1 -0
  604. package/dist/substrate/interfaces/substrate.d.ts +486 -0
  605. package/dist/substrate/interfaces/substrate.d.ts.map +1 -0
  606. package/dist/substrate/interfaces/substrate.js +14 -0
  607. package/dist/substrate/interfaces/substrate.js.map +1 -0
  608. package/dist/substrate/migration/002_substrate.d.ts +24 -0
  609. package/dist/substrate/migration/002_substrate.d.ts.map +1 -0
  610. package/dist/substrate/migration/002_substrate.js +188 -0
  611. package/dist/substrate/migration/002_substrate.js.map +1 -0
  612. package/dist/substrate/migration/022_transport_deliberation.d.ts +31 -0
  613. package/dist/substrate/migration/022_transport_deliberation.d.ts.map +1 -0
  614. package/dist/substrate/migration/022_transport_deliberation.js +77 -0
  615. package/dist/substrate/migration/022_transport_deliberation.js.map +1 -0
  616. package/dist/substrate/replay/replay_engine.d.ts +65 -0
  617. package/dist/substrate/replay/replay_engine.d.ts.map +1 -0
  618. package/dist/substrate/replay/replay_engine.js +316 -0
  619. package/dist/substrate/replay/replay_engine.js.map +1 -0
  620. package/dist/substrate/scheduler/task_scheduler.d.ts +38 -0
  621. package/dist/substrate/scheduler/task_scheduler.d.ts.map +1 -0
  622. package/dist/substrate/scheduler/task_scheduler.js +486 -0
  623. package/dist/substrate/scheduler/task_scheduler.js.map +1 -0
  624. package/dist/substrate/transport/adapters/anthropic_adapter.d.ts +57 -0
  625. package/dist/substrate/transport/adapters/anthropic_adapter.d.ts.map +1 -0
  626. package/dist/substrate/transport/adapters/anthropic_adapter.js +455 -0
  627. package/dist/substrate/transport/adapters/anthropic_adapter.js.map +1 -0
  628. package/dist/substrate/transport/adapters/gemini_adapter.d.ts +86 -0
  629. package/dist/substrate/transport/adapters/gemini_adapter.d.ts.map +1 -0
  630. package/dist/substrate/transport/adapters/gemini_adapter.js +456 -0
  631. package/dist/substrate/transport/adapters/gemini_adapter.js.map +1 -0
  632. package/dist/substrate/transport/adapters/groq_adapter.d.ts +50 -0
  633. package/dist/substrate/transport/adapters/groq_adapter.d.ts.map +1 -0
  634. package/dist/substrate/transport/adapters/groq_adapter.js +179 -0
  635. package/dist/substrate/transport/adapters/groq_adapter.js.map +1 -0
  636. package/dist/substrate/transport/adapters/mistral_adapter.d.ts +50 -0
  637. package/dist/substrate/transport/adapters/mistral_adapter.d.ts.map +1 -0
  638. package/dist/substrate/transport/adapters/mistral_adapter.js +179 -0
  639. package/dist/substrate/transport/adapters/mistral_adapter.js.map +1 -0
  640. package/dist/substrate/transport/adapters/ollama_adapter.d.ts +66 -0
  641. package/dist/substrate/transport/adapters/ollama_adapter.d.ts.map +1 -0
  642. package/dist/substrate/transport/adapters/ollama_adapter.js +347 -0
  643. package/dist/substrate/transport/adapters/ollama_adapter.js.map +1 -0
  644. package/dist/substrate/transport/adapters/openai_adapter.d.ts +68 -0
  645. package/dist/substrate/transport/adapters/openai_adapter.d.ts.map +1 -0
  646. package/dist/substrate/transport/adapters/openai_adapter.js +439 -0
  647. package/dist/substrate/transport/adapters/openai_adapter.js.map +1 -0
  648. package/dist/substrate/transport/adapters/openai_compat.d.ts +64 -0
  649. package/dist/substrate/transport/adapters/openai_compat.d.ts.map +1 -0
  650. package/dist/substrate/transport/adapters/openai_compat.js +326 -0
  651. package/dist/substrate/transport/adapters/openai_compat.js.map +1 -0
  652. package/dist/substrate/transport/index.d.ts +17 -0
  653. package/dist/substrate/transport/index.d.ts.map +1 -0
  654. package/dist/substrate/transport/index.js +25 -0
  655. package/dist/substrate/transport/index.js.map +1 -0
  656. package/dist/substrate/transport/stream_parser.d.ts +69 -0
  657. package/dist/substrate/transport/stream_parser.d.ts.map +1 -0
  658. package/dist/substrate/transport/stream_parser.js +280 -0
  659. package/dist/substrate/transport/stream_parser.js.map +1 -0
  660. package/dist/substrate/transport/transport_engine.d.ts +53 -0
  661. package/dist/substrate/transport/transport_engine.d.ts.map +1 -0
  662. package/dist/substrate/transport/transport_engine.js +444 -0
  663. package/dist/substrate/transport/transport_engine.js.map +1 -0
  664. package/dist/substrate/transport/transport_types.d.ts +207 -0
  665. package/dist/substrate/transport/transport_types.d.ts.map +1 -0
  666. package/dist/substrate/transport/transport_types.js +13 -0
  667. package/dist/substrate/transport/transport_types.js.map +1 -0
  668. package/dist/substrate/workers/worker_runtime.d.ts +40 -0
  669. package/dist/substrate/workers/worker_runtime.d.ts.map +1 -0
  670. package/dist/substrate/workers/worker_runtime.js +294 -0
  671. package/dist/substrate/workers/worker_runtime.js.map +1 -0
  672. package/dist/techniques/harness/tgp_harness.d.ts +39 -0
  673. package/dist/techniques/harness/tgp_harness.d.ts.map +1 -0
  674. package/dist/techniques/harness/tgp_harness.js +49 -0
  675. package/dist/techniques/harness/tgp_harness.js.map +1 -0
  676. package/dist/techniques/interfaces/tgp_types.d.ts +646 -0
  677. package/dist/techniques/interfaces/tgp_types.d.ts.map +1 -0
  678. package/dist/techniques/interfaces/tgp_types.js +160 -0
  679. package/dist/techniques/interfaces/tgp_types.js.map +1 -0
  680. package/dist/techniques/migration/020_tgp_governance.d.ts +36 -0
  681. package/dist/techniques/migration/020_tgp_governance.d.ts.map +1 -0
  682. package/dist/techniques/migration/020_tgp_governance.js +249 -0
  683. package/dist/techniques/migration/020_tgp_governance.js.map +1 -0
  684. package/dist/techniques/store/tgp_stores.d.ts +36 -0
  685. package/dist/techniques/store/tgp_stores.d.ts.map +1 -0
  686. package/dist/techniques/store/tgp_stores.js +854 -0
  687. package/dist/techniques/store/tgp_stores.js.map +1 -0
  688. package/dist/working-memory/harness/wmp_harness.d.ts +43 -0
  689. package/dist/working-memory/harness/wmp_harness.d.ts.map +1 -0
  690. package/dist/working-memory/harness/wmp_harness.js +81 -0
  691. package/dist/working-memory/harness/wmp_harness.js.map +1 -0
  692. package/dist/working-memory/interfaces/wmp_types.d.ts +635 -0
  693. package/dist/working-memory/interfaces/wmp_types.d.ts.map +1 -0
  694. package/dist/working-memory/interfaces/wmp_types.js +144 -0
  695. package/dist/working-memory/interfaces/wmp_types.js.map +1 -0
  696. package/dist/working-memory/migration/021_wmp.d.ts +21 -0
  697. package/dist/working-memory/migration/021_wmp.d.ts.map +1 -0
  698. package/dist/working-memory/migration/021_wmp.js +139 -0
  699. package/dist/working-memory/migration/021_wmp.js.map +1 -0
  700. package/dist/working-memory/stores/wmp_stores.d.ts +28 -0
  701. package/dist/working-memory/stores/wmp_stores.d.ts.map +1 -0
  702. package/dist/working-memory/stores/wmp_stores.js +754 -0
  703. package/dist/working-memory/stores/wmp_stores.js.map +1 -0
  704. 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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"}