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,200 @@
1
+ /**
2
+ * Limen — TechniqueApplicator Implementation
3
+ * Phase 4E-2c: Learning System Application Mechanics
4
+ *
5
+ * Implements the TechniqueApplicator interface from learning_types.ts.
6
+ * Retrieves active techniques at inference time and records applications.
7
+ *
8
+ * S ref: S29.4 (application mechanics), S29.2 (applicationCount, lastApplied),
9
+ * S29.6 (retirement depends on applicationCount/lastApplied),
10
+ * I-03 (audit), I-07 (agent isolation)
11
+ *
12
+ * Engineering decisions:
13
+ * DEC-4E2C-001: Token estimation via chars/4 (no tokenizer, I-01)
14
+ * DEC-4E2C-002: Greedy fill with skip (not stop-at-overflow)
15
+ * DEC-4E2C-003: Ordering tiebreaker: created_at ASC, id ASC
16
+ * DEC-4E2C-004: No FK validation on recordApplications (R-07)
17
+ * DEC-4E2C-005: recordApplications synchronous, single transaction
18
+ */
19
+ import { randomUUID } from 'node:crypto';
20
+ function rowToTechnique(row) {
21
+ return {
22
+ id: row.id,
23
+ tenantId: row.tenant_id,
24
+ agentId: row.agent_id,
25
+ type: row.type,
26
+ content: row.content,
27
+ sourceMemoryIds: JSON.parse(row.source_memory_ids),
28
+ confidence: row.confidence,
29
+ successRate: row.success_rate,
30
+ applicationCount: row.application_count,
31
+ lastApplied: row.last_applied,
32
+ lastUpdated: row.last_updated,
33
+ status: row.status,
34
+ createdAt: row.created_at,
35
+ };
36
+ }
37
+ // ─── Token Estimation ───
38
+ /**
39
+ * Estimate token count from content length.
40
+ *
41
+ * DEC-4E2C-001: Uses chars/4 approximation because:
42
+ * (1) Contract tests use Math.ceil(content.length / 4)
43
+ * (2) No tokenizer dependency permitted (I-01: single production dependency)
44
+ * (3) Caller controls maxTokenBudget — overestimation is safe (conservative)
45
+ *
46
+ * Risk-if-wrong: Non-ASCII content (CJK, emoji) has higher tokens/char ratio,
47
+ * causing underestimation. Mitigated by conservative maxTokenBudget from caller
48
+ * and by the 20% ceiling being a safety margin, not a precision target.
49
+ */
50
+ export function estimateTokens(content) {
51
+ return Math.ceil(content.length / 4);
52
+ }
53
+ // ─── Audit Helpers ───
54
+ function actorType(ctx) {
55
+ if (ctx.userId)
56
+ return 'user';
57
+ if (ctx.agentId)
58
+ return 'agent';
59
+ return 'system';
60
+ }
61
+ function actorId(ctx) {
62
+ return (ctx.userId ?? ctx.agentId ?? 'system');
63
+ }
64
+ // ─── Factory ───
65
+ /**
66
+ * Create a TechniqueApplicator implementation.
67
+ * Follows the Limen factory pattern: factory → Object.freeze.
68
+ *
69
+ * @param deps - Learning system dependencies (audit, events, etc.)
70
+ * @param store - TechniqueStore for R-06 applicationCount/lastApplied updates
71
+ */
72
+ export function createTechniqueApplicator(deps, store) {
73
+ // ─── getActiveByType (shared query logic) ───
74
+ /**
75
+ * Query active techniques of a specific type for an agent.
76
+ * Results ordered by confidence DESC, created_at ASC, id ASC.
77
+ *
78
+ * DEC-4E2C-003: Tiebreaker rationale:
79
+ * - confidence DESC: spec requirement (S29.4)
80
+ * - created_at ASC: older techniques survived more evaluation cycles
81
+ * - id ASC: absolute determinism for identical confidence + timestamp
82
+ */
83
+ function getActiveByType(conn, agentId, tenantId, type) {
84
+ const rows = conn.query(`SELECT * FROM learning_techniques
85
+ WHERE agent_id = ? AND tenant_id = ? AND status = 'active' AND type = ?
86
+ ORDER BY confidence DESC, created_at ASC, id ASC`, [agentId, tenantId, type]);
87
+ return rows.map(rowToTechnique);
88
+ }
89
+ // ─── getActivePromptFragments ───
90
+ /**
91
+ * Retrieve active prompt fragments within token budget.
92
+ *
93
+ * DEC-4E2C-002: Greedy fill in confidence order.
94
+ * Processes techniques in confidence-descending order. Includes each technique
95
+ * if its estimated tokens fit within remaining budget. Skips techniques that
96
+ * don't fit and continues to try the next (a smaller one may still fit).
97
+ *
98
+ * The returned list preserves confidence-descending order because we iterate
99
+ * in that order and only append (never reorder).
100
+ *
101
+ * Alternatives rejected:
102
+ * - Stop-at-overflow: stops at first technique that doesn't fit. Disadvantage:
103
+ * a single oversized technique blocks all subsequent smaller techniques.
104
+ * - Partial inclusion: truncate individual technique content. Violates technique
105
+ * content integrity — a partial prompt fragment is semantically broken.
106
+ */
107
+ function getActivePromptFragments(conn, agentId, tenantId, maxTokenBudget) {
108
+ const techniques = getActiveByType(conn, agentId, tenantId, 'prompt_fragment');
109
+ const result = [];
110
+ let usedTokens = 0;
111
+ for (const technique of techniques) {
112
+ const tokens = estimateTokens(technique.content);
113
+ if (usedTokens + tokens <= maxTokenBudget) {
114
+ result.push(technique);
115
+ usedTokens += tokens;
116
+ }
117
+ }
118
+ return { ok: true, value: result };
119
+ }
120
+ // ─── getActiveDecisionRules ───
121
+ function getActiveDecisionRules(conn, agentId, tenantId) {
122
+ return { ok: true, value: getActiveByType(conn, agentId, tenantId, 'decision_rule') };
123
+ }
124
+ // ─── getActiveRagPatterns ───
125
+ function getActiveRagPatterns(conn, agentId, tenantId) {
126
+ return { ok: true, value: getActiveByType(conn, agentId, tenantId, 'rag_pattern') };
127
+ }
128
+ // ─── recordApplications ───
129
+ /**
130
+ * Record technique applications and update technique statistics.
131
+ *
132
+ * Two side effects (R-06, BINDING from Principal Architect):
133
+ * 1. Increment applicationCount on techniques where applied=true
134
+ * 2. Update lastApplied timestamp on techniques where applied=true
135
+ *
136
+ * These updates enable retirement evaluation (S29.6):
137
+ * - "over 50+ applications" uses applicationCount
138
+ * - "not applied in 90 days" uses lastApplied
139
+ *
140
+ * DEC-4E2C-004: No FK validation. Application records written for phantom
141
+ * technique IDs (R-07). store.get() gracefully returns TECHNIQUE_NOT_FOUND
142
+ * for non-existent techniques; the update is skipped but the log record persists.
143
+ *
144
+ * DEC-4E2C-005: Synchronous, single transaction. All INSERTs and technique
145
+ * updates are atomic. If any fails, the entire batch rolls back. This is
146
+ * acceptable because: (a) SQLite single-writer makes contention impossible,
147
+ * (b) the batch is typically small (techniques applied to one interaction),
148
+ * (c) atomicity prevents partial state (some records written, some not).
149
+ */
150
+ function recordApplications(conn, ctx, applications) {
151
+ if (applications.length === 0) {
152
+ return { ok: true, value: undefined };
153
+ }
154
+ const firstApp = applications[0];
155
+ const batchTenantId = ctx.tenantId ?? firstApp.tenantId;
156
+ conn.transaction(() => {
157
+ for (const app of applications) {
158
+ // Write application record (append-only log)
159
+ conn.run(`INSERT INTO learning_applications (id, technique_id, interaction_id, tenant_id, timestamp, applied)
160
+ VALUES (?, ?, ?, ?, ?, ?)`, [
161
+ randomUUID(),
162
+ app.techniqueId,
163
+ app.interactionId,
164
+ app.tenantId,
165
+ app.timestamp,
166
+ app.applied ? 1 : 0,
167
+ ]);
168
+ // R-06: Update technique statistics for applied techniques
169
+ if (app.applied && ctx.agentId) {
170
+ const getResult = store.get(conn, app.techniqueId, app.tenantId, ctx.agentId);
171
+ if (getResult.ok) {
172
+ store.update(conn, ctx, app.techniqueId, app.tenantId, {
173
+ applicationCount: getResult.value.applicationCount + 1,
174
+ lastApplied: app.timestamp,
175
+ });
176
+ }
177
+ // Phantom IDs: store.get returns TECHNIQUE_NOT_FOUND — skip silently (R-07)
178
+ }
179
+ }
180
+ // Audit entry for the batch (I-03)
181
+ deps.audit.append(conn, {
182
+ tenantId: batchTenantId,
183
+ actorType: actorType(ctx),
184
+ actorId: actorId(ctx),
185
+ operation: 'technique.record_applications',
186
+ resourceType: 'technique_application',
187
+ resourceId: `batch-${applications.length}`,
188
+ });
189
+ });
190
+ return { ok: true, value: undefined };
191
+ }
192
+ // ─── Return frozen applicator ───
193
+ return Object.freeze({
194
+ getActivePromptFragments,
195
+ getActiveDecisionRules,
196
+ getActiveRagPatterns,
197
+ recordApplications,
198
+ });
199
+ }
200
+ //# sourceMappingURL=technique_applicator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technique_applicator.js","sourceRoot":"","sources":["../../../src/learning/applicator/technique_applicator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Limen — ColdStartManager Implementation
3
+ * Phase 4E-2e: Learning System Convergence Subsystems
4
+ *
5
+ * Implements the ColdStartManager interface from learning_types.ts.
6
+ * Pre-built technique templates for new agents. Confidence 0.6.
7
+ *
8
+ * S ref: S29.9 (cold-start templates), BRK-S29-001 (template versioning)
9
+ *
10
+ * Engineering decisions:
11
+ * D1: Templates are hardcoded in-memory. Spec defines 5 templates (customer-support,
12
+ * document-qa, code-assistant, claims-processor, research-analyst). Additional
13
+ * templates (e.g., sales-default) are included for domain coverage.
14
+ * D2: Cold-start provenance: sourceMemoryIds = ['cold-start:template:<templateId>'].
15
+ * store.create() enforces non-empty sourceMemoryIds (S29.3 Step 4). Cold-start
16
+ * techniques don't originate from memories — the template IS the provenance source.
17
+ * This satisfies the validation while correctly representing origin.
18
+ * D3: getAvailableTemplates() takes no parameters (no conn needed). Templates are
19
+ * in-memory constants, not database-backed.
20
+ * D4: applyTemplate() creates ALL techniques atomically. If any create fails, the
21
+ * entire operation fails. store.create() handles per-technique audit internally.
22
+ * D5: Idempotent application. Applying the same template twice returns the existing
23
+ * techniques instead of creating duplicates. Checked via getBySourceMemory with
24
+ * the cold-start provenance pattern, filtered by agentId. BRK-IMPL-004.
25
+ */
26
+ import type { ColdStartManager, TechniqueStore } from '../interfaces/index.js';
27
+ /**
28
+ * Create a ColdStartManager implementation.
29
+ * Follows the Limen store pattern: factory → Object.freeze.
30
+ *
31
+ * S29.9: Pre-built technique templates. Confidence 0.6.
32
+ * BRK-S29-001: Templates must have version >= 1.
33
+ */
34
+ export declare function createColdStartManager(store: TechniqueStore): ColdStartManager;
35
+ //# sourceMappingURL=cold_start_manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cold_start_manager.d.ts","sourceRoot":"","sources":["../../../src/learning/cold_start/cold_start_manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,cAAc,EACf,MAAM,wBAAwB,CAAC;AAyEhC;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,cAAc,GAAG,gBAAgB,CAgE9E"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Limen — ColdStartManager Implementation
3
+ * Phase 4E-2e: Learning System Convergence Subsystems
4
+ *
5
+ * Implements the ColdStartManager interface from learning_types.ts.
6
+ * Pre-built technique templates for new agents. Confidence 0.6.
7
+ *
8
+ * S ref: S29.9 (cold-start templates), BRK-S29-001 (template versioning)
9
+ *
10
+ * Engineering decisions:
11
+ * D1: Templates are hardcoded in-memory. Spec defines 5 templates (customer-support,
12
+ * document-qa, code-assistant, claims-processor, research-analyst). Additional
13
+ * templates (e.g., sales-default) are included for domain coverage.
14
+ * D2: Cold-start provenance: sourceMemoryIds = ['cold-start:template:<templateId>'].
15
+ * store.create() enforces non-empty sourceMemoryIds (S29.3 Step 4). Cold-start
16
+ * techniques don't originate from memories — the template IS the provenance source.
17
+ * This satisfies the validation while correctly representing origin.
18
+ * D3: getAvailableTemplates() takes no parameters (no conn needed). Templates are
19
+ * in-memory constants, not database-backed.
20
+ * D4: applyTemplate() creates ALL techniques atomically. If any create fails, the
21
+ * entire operation fails. store.create() handles per-technique audit internally.
22
+ * D5: Idempotent application. Applying the same template twice returns the existing
23
+ * techniques instead of creating duplicates. Checked via getBySourceMemory with
24
+ * the cold-start provenance pattern, filtered by agentId. BRK-IMPL-004.
25
+ */
26
+ import { INITIAL_CONFIDENCE_COLD_START } from '../interfaces/index.js';
27
+ // ─── Template Definitions (§29.9) ───
28
+ const TEMPLATES = Object.freeze([
29
+ {
30
+ templateId: 'customer-support',
31
+ name: 'Customer Support',
32
+ version: 1,
33
+ techniques: Object.freeze([
34
+ { type: 'prompt_fragment', content: 'Acknowledge the customer\'s frustration before offering solutions.' },
35
+ { type: 'decision_rule', content: 'If customer has waited >24h for a response, escalate to priority queue.' },
36
+ { type: 'rag_pattern', content: 'Retrieve customer\'s recent ticket history before composing a response.' },
37
+ ]),
38
+ },
39
+ {
40
+ templateId: 'document-qa',
41
+ name: 'Document Q&A',
42
+ version: 1,
43
+ techniques: Object.freeze([
44
+ { type: 'prompt_fragment', content: 'Quote the relevant document section before providing an answer.' },
45
+ { type: 'decision_rule', content: 'If the answer is not in the provided documents, say so explicitly rather than guessing.' },
46
+ { type: 'rag_pattern', content: 'Retrieve the top 3 most relevant document sections by semantic similarity.' },
47
+ ]),
48
+ },
49
+ {
50
+ templateId: 'code-assistant',
51
+ name: 'Code Assistant',
52
+ version: 1,
53
+ techniques: Object.freeze([
54
+ { type: 'prompt_fragment', content: 'Include the programming language and version context in every code suggestion.' },
55
+ { type: 'decision_rule', content: 'If code has security implications, flag them explicitly before providing the solution.' },
56
+ { type: 'rag_pattern', content: 'Retrieve the project\'s existing code patterns before suggesting new implementations.' },
57
+ ]),
58
+ },
59
+ {
60
+ templateId: 'claims-processor',
61
+ name: 'Claims Processor',
62
+ version: 1,
63
+ techniques: Object.freeze([
64
+ { type: 'prompt_fragment', content: 'State the claim ID and status at the beginning of every response.' },
65
+ { type: 'decision_rule', content: 'If claim amount exceeds threshold, require supervisor approval before proceeding.' },
66
+ { type: 'rag_pattern', content: 'Retrieve similar past claims and their resolutions for reference.' },
67
+ ]),
68
+ },
69
+ {
70
+ templateId: 'research-analyst',
71
+ name: 'Research Analyst',
72
+ version: 1,
73
+ techniques: Object.freeze([
74
+ { type: 'prompt_fragment', content: 'Cite sources with author, date, and publication for every factual claim.' },
75
+ { type: 'decision_rule', content: 'If sources conflict, present both perspectives with confidence assessment.' },
76
+ { type: 'rag_pattern', content: 'Retrieve the most recent publications first, then expand to historical sources.' },
77
+ ]),
78
+ },
79
+ {
80
+ templateId: 'sales-default',
81
+ name: 'Sales Default',
82
+ version: 1,
83
+ techniques: Object.freeze([
84
+ { type: 'prompt_fragment', content: 'When discussing pricing, always mention the annual discount option first.' },
85
+ { type: 'decision_rule', content: 'If customer mentions budget constraints, offer a tiered pricing breakdown.' },
86
+ { type: 'rag_pattern', content: 'Retrieve product comparison data when customer asks about alternatives.' },
87
+ ]),
88
+ },
89
+ ]);
90
+ // ─── Factory ───
91
+ /**
92
+ * Create a ColdStartManager implementation.
93
+ * Follows the Limen store pattern: factory → Object.freeze.
94
+ *
95
+ * S29.9: Pre-built technique templates. Confidence 0.6.
96
+ * BRK-S29-001: Templates must have version >= 1.
97
+ */
98
+ export function createColdStartManager(store) {
99
+ // D3: getAvailableTemplates takes no parameters — templates are in-memory
100
+ function getAvailableTemplates() {
101
+ return { ok: true, value: TEMPLATES };
102
+ }
103
+ // D4: Creates ALL template techniques via store.create()
104
+ function applyTemplate(conn, ctx, agentId, tenantId, templateId) {
105
+ const template = TEMPLATES.find(t => t.templateId === templateId);
106
+ if (!template) {
107
+ return {
108
+ ok: false,
109
+ error: {
110
+ code: 'TEMPLATE_NOT_FOUND',
111
+ message: `Cold-start template '${templateId}' not found`,
112
+ spec: 'S29.9',
113
+ },
114
+ };
115
+ }
116
+ // D5: Idempotency check — if template already applied to this agent, return existing
117
+ const provenanceId = `cold-start:template:${templateId}`;
118
+ const existingResult = store.getBySourceMemory(conn, provenanceId, tenantId);
119
+ if (existingResult.ok) {
120
+ const agentTechniques = existingResult.value.filter(t => t.agentId === agentId);
121
+ if (agentTechniques.length > 0) {
122
+ return { ok: true, value: agentTechniques };
123
+ }
124
+ }
125
+ const techniques = [];
126
+ // D2: Provenance = template reference (store.create requires non-empty sourceMemoryIds)
127
+ const sourceMemoryIds = [provenanceId];
128
+ for (const entry of template.techniques) {
129
+ const createResult = store.create(conn, ctx, {
130
+ tenantId,
131
+ agentId,
132
+ type: entry.type,
133
+ content: entry.content,
134
+ sourceMemoryIds,
135
+ initialConfidence: INITIAL_CONFIDENCE_COLD_START, // 0.6 per S29.9
136
+ });
137
+ if (!createResult.ok) {
138
+ return createResult;
139
+ }
140
+ techniques.push(createResult.value);
141
+ }
142
+ return { ok: true, value: techniques };
143
+ }
144
+ return Object.freeze({ applyTemplate, getAvailableTemplates });
145
+ }
146
+ //# sourceMappingURL=cold_start_manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cold_start_manager.js","sourceRoot":"","sources":["../../../src/learning/cold_start/cold_start_manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Limen — LearningCycleOrchestrator Implementation
3
+ * Phase 4E-2f: Final Learning System Sub-Phase
4
+ *
5
+ * Implements the LearningCycleOrchestrator interface from learning_types.ts.
6
+ * Orchestrates the §29.3 extraction pipeline:
7
+ * collect → extract (per candidate) → confidence update → retirement sweep → specialization check
8
+ *
9
+ * S ref: S29.3 (learning cycle), S29.5 (confidence tracking), S29.6 (retirement),
10
+ * S29.10 (over-specialization), DEC-4E-003 (HITL confidence 1.0)
11
+ *
12
+ * Engineering decisions:
13
+ * D1: Pipeline order: collect → extract → confidence update (all active) → retirement sweep
14
+ * → specialization check. Per §29.3 interface comment: "collect -> extract -> dedup -> store
15
+ * -> track -> retire -> check specialization." Extract internally handles dedup + store.
16
+ * Track = updateConfidence for all active techniques with recorded outcomes.
17
+ * D2: HITL mechanism: when trigger === 'hitl_correction', after extractAndStore creates a novel
18
+ * technique (non-null return), call store.update() to override confidence to HITL_CONFIDENCE
19
+ * (1.0). The extractor creates at INITIAL_CONFIDENCE_EXTRACTED (0.5) — the orchestrator
20
+ * applies the HITL override because the trigger context is only visible here.
21
+ * D3: Cycle state: in-memory Map<string, string> keyed by agentId:tenantId. Limen is a library
22
+ * (SEC-004), not a server. State lives as long as the LearningSystem instance. Set AFTER
23
+ * cycle completes successfully (not before — failed cycles don't update timestamp).
24
+ * D4: Error handling: best-effort per candidate. collectCandidates failure aborts cycle (no
25
+ * candidates = no pipeline). Per-candidate extractAndStore failure is logged and skipped.
26
+ * LearningCycleResult has count fields → design intent is partial results.
27
+ * D5: Event emission: §29.3 interface comment says "Emits learning.cycle.completed event on
28
+ * completion." Guarded: only emits if deps.events.emit is a function. Test stubs use
29
+ * {} as EventBus — calling emit on stub would throw TypeError. Event is best-effort;
30
+ * cycle success does not depend on event delivery.
31
+ * D6: Confidence update scope: updateConfidence for all active techniques. With no outcomes,
32
+ * tracker returns current confidence unchanged (no DB write). Safe to call for all.
33
+ * D7: tenantId: extracted from ctx.tenantId. runCycle's interface takes agentId directly;
34
+ * tenantId comes from the OperationContext (same pattern as all Limen operations).
35
+ */
36
+ import type { LearningCycleOrchestrator, TechniqueStore, TechniqueExtractor, EffectivenessTracker, RetirementEvaluator, OverSpecializationDetector, LearningDeps } from '../interfaces/index.js';
37
+ /**
38
+ * Create a LearningCycleOrchestrator implementation.
39
+ * Follows the Limen store pattern: factory → Object.freeze.
40
+ *
41
+ * §29.3: Orchestrates the full learning cycle pipeline.
42
+ * All subsystems are injected — the orchestrator has no direct DB access.
43
+ */
44
+ export declare function createLearningCycleOrchestrator(deps: LearningDeps, store: TechniqueStore, extractor: TechniqueExtractor, tracker: EffectivenessTracker, retirement: RetirementEvaluator, specialization: OverSpecializationDetector): LearningCycleOrchestrator;
45
+ //# sourceMappingURL=learning_cycle_orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning_cycle_orchestrator.d.ts","sourceRoot":"","sources":["../../../src/learning/cycle/learning_cycle_orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAGH,OAAO,KAAK,EACV,yBAAyB,EACzB,cAAc,EAAE,kBAAkB,EAAE,oBAAoB,EACxD,mBAAmB,EAAE,0BAA0B,EAC/C,YAAY,EACb,MAAM,wBAAwB,CAAC;AAShC;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAC7C,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,cAAc,EACrB,SAAS,EAAE,kBAAkB,EAC7B,OAAO,EAAE,oBAAoB,EAC7B,UAAU,EAAE,mBAAmB,EAC/B,cAAc,EAAE,0BAA0B,GACzC,yBAAyB,CAkJ3B"}
@@ -0,0 +1,165 @@
1
+ /**
2
+ * Limen — LearningCycleOrchestrator Implementation
3
+ * Phase 4E-2f: Final Learning System Sub-Phase
4
+ *
5
+ * Implements the LearningCycleOrchestrator interface from learning_types.ts.
6
+ * Orchestrates the §29.3 extraction pipeline:
7
+ * collect → extract (per candidate) → confidence update → retirement sweep → specialization check
8
+ *
9
+ * S ref: S29.3 (learning cycle), S29.5 (confidence tracking), S29.6 (retirement),
10
+ * S29.10 (over-specialization), DEC-4E-003 (HITL confidence 1.0)
11
+ *
12
+ * Engineering decisions:
13
+ * D1: Pipeline order: collect → extract → confidence update (all active) → retirement sweep
14
+ * → specialization check. Per §29.3 interface comment: "collect -> extract -> dedup -> store
15
+ * -> track -> retire -> check specialization." Extract internally handles dedup + store.
16
+ * Track = updateConfidence for all active techniques with recorded outcomes.
17
+ * D2: HITL mechanism: when trigger === 'hitl_correction', after extractAndStore creates a novel
18
+ * technique (non-null return), call store.update() to override confidence to HITL_CONFIDENCE
19
+ * (1.0). The extractor creates at INITIAL_CONFIDENCE_EXTRACTED (0.5) — the orchestrator
20
+ * applies the HITL override because the trigger context is only visible here.
21
+ * D3: Cycle state: in-memory Map<string, string> keyed by agentId:tenantId. Limen is a library
22
+ * (SEC-004), not a server. State lives as long as the LearningSystem instance. Set AFTER
23
+ * cycle completes successfully (not before — failed cycles don't update timestamp).
24
+ * D4: Error handling: best-effort per candidate. collectCandidates failure aborts cycle (no
25
+ * candidates = no pipeline). Per-candidate extractAndStore failure is logged and skipped.
26
+ * LearningCycleResult has count fields → design intent is partial results.
27
+ * D5: Event emission: §29.3 interface comment says "Emits learning.cycle.completed event on
28
+ * completion." Guarded: only emits if deps.events.emit is a function. Test stubs use
29
+ * {} as EventBus — calling emit on stub would throw TypeError. Event is best-effort;
30
+ * cycle success does not depend on event delivery.
31
+ * D6: Confidence update scope: updateConfidence for all active techniques. With no outcomes,
32
+ * tracker returns current confidence unchanged (no DB write). Safe to call for all.
33
+ * D7: tenantId: extracted from ctx.tenantId. runCycle's interface takes agentId directly;
34
+ * tenantId comes from the OperationContext (same pattern as all Limen operations).
35
+ */
36
+ import { randomUUID } from 'node:crypto';
37
+ import { HITL_CONFIDENCE } from '../interfaces/index.js';
38
+ // ─── Factory ───
39
+ /**
40
+ * Create a LearningCycleOrchestrator implementation.
41
+ * Follows the Limen store pattern: factory → Object.freeze.
42
+ *
43
+ * §29.3: Orchestrates the full learning cycle pipeline.
44
+ * All subsystems are injected — the orchestrator has no direct DB access.
45
+ */
46
+ export function createLearningCycleOrchestrator(deps, store, extractor, tracker, retirement, specialization) {
47
+ // D3: In-memory cycle time tracking (per agent+tenant instance)
48
+ const lastCycleTimes = new Map();
49
+ function cycleKey(agentId, tenantId) {
50
+ return `${agentId}:${tenantId}`;
51
+ }
52
+ // ─── runCycle ───
53
+ async function runCycle(conn, ctx, agentId, trigger) {
54
+ const tenantId = ctx.tenantId;
55
+ const cycleId = randomUUID();
56
+ const now = deps.time.nowISO();
57
+ // Determine since-timestamp for candidate collection
58
+ const lastTime = lastCycleTimes.get(cycleKey(agentId, tenantId)) ?? '1970-01-01T00:00:00.000Z';
59
+ // ── Step 1: Collect candidates (§29.3 Step 1) ──
60
+ const candidatesResult = extractor.collectCandidates(conn, ctx, agentId, lastTime);
61
+ if (!candidatesResult.ok) {
62
+ return candidatesResult;
63
+ }
64
+ const candidates = candidatesResult.value;
65
+ let techniquesExtracted = 0;
66
+ let duplicatesReinforced = 0;
67
+ // ── Step 2: Extract and store each candidate (§29.3 Steps 2-4) ──
68
+ // D4: Best-effort per candidate — LLM failure for one doesn't abort cycle
69
+ for (const candidate of candidates) {
70
+ const extractResult = await extractor.extractAndStore(conn, ctx, candidate);
71
+ if (!extractResult.ok) {
72
+ // Per-candidate failure: skip, continue with remaining candidates
73
+ continue;
74
+ }
75
+ if (extractResult.value !== null) {
76
+ // Novel technique created
77
+ techniquesExtracted++;
78
+ // D2: HITL override — set confidence to 1.0 for HITL-triggered cycles
79
+ if (trigger === 'hitl_correction') {
80
+ store.update(conn, ctx, extractResult.value.id, tenantId, {
81
+ confidence: HITL_CONFIDENCE, // 1.0 per DEC-4E-003
82
+ });
83
+ }
84
+ }
85
+ else {
86
+ // Duplicate reinforced (EMA applied by extractor)
87
+ duplicatesReinforced++;
88
+ }
89
+ }
90
+ // ── Step 3: Confidence update for all active techniques (§29.5 "track") ──
91
+ // D6: updateConfidence is a no-op when no outcomes exist — safe to call for all
92
+ const activeTechniques = store.getByAgent(conn, agentId, tenantId, 'active');
93
+ if (activeTechniques.ok) {
94
+ for (const technique of activeTechniques.value) {
95
+ tracker.updateConfidence(conn, ctx, technique.id, tenantId);
96
+ // Errors ignored per D4 — confidence update is best-effort within cycle
97
+ }
98
+ }
99
+ // ── Step 4: Retirement sweep (§29.6) ──
100
+ let techniquesRetired = 0;
101
+ const retirementResult = retirement.evaluateAll(conn, agentId, tenantId);
102
+ if (retirementResult.ok) {
103
+ for (const decision of retirementResult.value) {
104
+ if (decision.shouldRetire && decision.reason !== null) {
105
+ const retireResult = store.retire(conn, ctx, decision.techniqueId, tenantId, decision.reason);
106
+ if (retireResult.ok) {
107
+ techniquesRetired++;
108
+ }
109
+ }
110
+ }
111
+ }
112
+ // ── Step 5: Over-specialization check (§29.10) ──
113
+ const specResult = specialization.analyze(conn, agentId, tenantId);
114
+ const overSpecializationDetected = specResult.ok ? specResult.value.overSpecialized : false;
115
+ // Build result
116
+ const cycleResult = {
117
+ cycleId,
118
+ agentId,
119
+ tenantId,
120
+ trigger,
121
+ candidatesEvaluated: candidates.length,
122
+ techniquesExtracted,
123
+ duplicatesReinforced,
124
+ techniquesRetired,
125
+ overSpecializationDetected,
126
+ timestamp: now,
127
+ };
128
+ // D3: Record cycle time AFTER successful completion
129
+ lastCycleTimes.set(cycleKey(agentId, tenantId), now);
130
+ // D5: Emit event (best-effort — guarded against stub EventBus)
131
+ if (typeof deps.events?.emit === 'function') {
132
+ try {
133
+ deps.events.emit(conn, ctx, {
134
+ type: 'learning.cycle.completed',
135
+ scope: 'system',
136
+ payload: {
137
+ cycleId,
138
+ agentId,
139
+ tenantId,
140
+ trigger,
141
+ techniquesExtracted,
142
+ duplicatesReinforced,
143
+ techniquesRetired,
144
+ overSpecializationDetected,
145
+ },
146
+ propagation: 'local',
147
+ });
148
+ }
149
+ catch {
150
+ // Event emission failure does not fail the cycle
151
+ }
152
+ }
153
+ return { ok: true, value: cycleResult };
154
+ }
155
+ // ─── getLastCycleTime ───
156
+ function getLastCycleTime(_conn, agentId, tenantId) {
157
+ const key = cycleKey(agentId, tenantId);
158
+ return {
159
+ ok: true,
160
+ value: lastCycleTimes.get(key) ?? null,
161
+ };
162
+ }
163
+ return Object.freeze({ runCycle, getLastCycleTime });
164
+ }
165
+ //# sourceMappingURL=learning_cycle_orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"learning_cycle_orchestrator.js","sourceRoot":"","sources":["../../../src/learning/cycle/learning_cycle_orchestrator.ts"],"names":[],"mappings":"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"}