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,107 @@
1
+ /**
2
+ * Tenant context implementation.
3
+ * S ref: RDD-3, FM-10
4
+ *
5
+ * Phase: 1 (Kernel) -- Build Order 7
6
+ * Transparent tenant isolation.
7
+ *
8
+ * RDD-3: Consumer never knows which tenancy mode is active.
9
+ * FM-10: Tenant data leakage prevention via automatic tenant_id injection.
10
+ *
11
+ * Three modes:
12
+ * - single: No tenant_id column population. All queries return rows where tenant_id IS NULL.
13
+ * - row-level: Automatic WHERE tenant_id = ? injection.
14
+ * - database: Each tenant gets its own database file.
15
+ */
16
+ /**
17
+ * Create a TenantContext implementation.
18
+ * S ref: RDD-3 (transparent tenancy), FM-10 (tenant isolation)
19
+ */
20
+ export function createTenantContext(primaryConn) {
21
+ return {
22
+ /**
23
+ * Execute SQL with automatic tenant_id injection (row-level mode)
24
+ * or routing to correct database file (DB-per-tenant mode).
25
+ * S ref: RDD-3 (transparent tenancy), FM-10 (isolation enforcement)
26
+ */
27
+ execute(conn, ctx, sql, params) {
28
+ try {
29
+ switch (conn.tenancyMode) {
30
+ case 'single': {
31
+ // A-6: Single-user mode -- no tenant filtering needed
32
+ const result = conn.query(sql, params);
33
+ return { ok: true, value: result };
34
+ }
35
+ case 'row-level': {
36
+ // FM-10: Inject tenant_id filter
37
+ if (!ctx.tenantId) {
38
+ return {
39
+ ok: false,
40
+ error: {
41
+ code: 'TENANT_ID_REQUIRED',
42
+ message: 'Row-level tenancy requires a tenantId in OperationContext',
43
+ spec: 'FM-10',
44
+ },
45
+ };
46
+ }
47
+ // NOTE: SQL injection of tenant filters should be done at a higher level.
48
+ // For Phase 1, we pass through and expect callers to include tenant_id in their queries.
49
+ // The tenant context provides the routing abstraction.
50
+ const result = conn.query(sql, params);
51
+ return { ok: true, value: result };
52
+ }
53
+ case 'database': {
54
+ // FM-10: Route to tenant-specific database
55
+ // Phase 1 implementation: uses the primary connection.
56
+ // Full DB-per-tenant routing requires substrate-level connection pooling (Phase 2).
57
+ const result = conn.query(sql, params);
58
+ return { ok: true, value: result };
59
+ }
60
+ default: {
61
+ return {
62
+ ok: false,
63
+ error: {
64
+ code: 'INVALID_TENANCY_MODE',
65
+ message: `Unknown tenancy mode: ${conn.tenancyMode}`,
66
+ spec: 'RDD-3',
67
+ },
68
+ };
69
+ }
70
+ }
71
+ }
72
+ catch (err) {
73
+ return {
74
+ ok: false,
75
+ error: {
76
+ code: 'TENANT_EXECUTE_FAILED',
77
+ message: err instanceof Error ? err.message : String(err),
78
+ spec: 'RDD-3, FM-10',
79
+ },
80
+ };
81
+ }
82
+ },
83
+ /**
84
+ * Get tenant-scoped connection.
85
+ * S ref: RDD-3 (transparent routing), FM-10 (isolation)
86
+ */
87
+ getConnection(_ctx) {
88
+ try {
89
+ // For single and row-level modes, return the primary connection.
90
+ // For database mode, Phase 1 returns the primary connection.
91
+ // Full DB-per-tenant routing is a Phase 2 capability.
92
+ return { ok: true, value: primaryConn };
93
+ }
94
+ catch (err) {
95
+ return {
96
+ ok: false,
97
+ error: {
98
+ code: 'TENANT_CONNECTION_FAILED',
99
+ message: err instanceof Error ? err.message : String(err),
100
+ spec: 'RDD-3',
101
+ },
102
+ };
103
+ }
104
+ },
105
+ };
106
+ }
107
+ //# sourceMappingURL=tenant_context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant_context.js","sourceRoot":"","sources":["../../../src/kernel/tenant/tenant_context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH;;;GAGG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAA+B;IACjE,OAAO;QACL;;;;WAIG;QACH,OAAO,CAAI,IAAwB,EAAE,GAAqB,EAAE,GAAW,EAAE,MAAkB;YACzF,IAAI,CAAC;gBACH,QAAQ,IAAI,CAAC,WAAW,EAAE,CAAC;oBACzB,KAAK,QAAQ,CAAC,CAAC,CAAC;wBACd,sDAAsD;wBACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;wBAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBACrC,CAAC;oBAED,KAAK,WAAW,CAAC,CAAC,CAAC;wBACjB,iCAAiC;wBACjC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;4BAClB,OAAO;gCACL,EAAE,EAAE,KAAK;gCACT,KAAK,EAAE;oCACL,IAAI,EAAE,oBAAoB;oCAC1B,OAAO,EAAE,2DAA2D;oCACpE,IAAI,EAAE,OAAO;iCACd;6BACF,CAAC;wBACJ,CAAC;wBACD,0EAA0E;wBAC1E,yFAAyF;wBACzF,uDAAuD;wBACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;wBAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBACrC,CAAC;oBAED,KAAK,UAAU,CAAC,CAAC,CAAC;wBAChB,2CAA2C;wBAC3C,uDAAuD;wBACvD,oFAAoF;wBACpF,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;wBAC1C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;oBACrC,CAAC;oBAED,OAAO,CAAC,CAAC,CAAC;wBACR,OAAO;4BACL,EAAE,EAAE,KAAK;4BACT,KAAK,EAAE;gCACL,IAAI,EAAE,sBAAsB;gCAC5B,OAAO,EAAE,yBAAyB,IAAI,CAAC,WAAqB,EAAE;gCAC9D,IAAI,EAAE,OAAO;6BACd;yBACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,uBAAuB;wBAC7B,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;wBACzD,IAAI,EAAE,cAAc;qBACrB;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED;;;WAGG;QACH,aAAa,CAAC,IAAsB;YAClC,IAAI,CAAC;gBACH,iEAAiE;gBACjE,6DAA6D;gBAC7D,sDAAsD;gBACtD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YAC1C,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,EAAE,EAAE,KAAK;oBACT,KAAK,EAAE;wBACL,IAAI,EAAE,0BAA0B;wBAChC,OAAO,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;wBACzD,IAAI,EAAE,OAAO;qBACd;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Tenant-scoped connection facade.
3
+ * S ref: FM-10 (tenant data leakage prevention), RDD-3 (transparent tenancy)
4
+ *
5
+ * Phase: 4B (Certification — Tenant Isolation)
6
+ * Decision: DEC-CERT-002 (tenant_id on all tables)
7
+ *
8
+ * Mechanism: Wraps a raw DatabaseConnection, intercepting query(), get(), run()
9
+ * to auto-inject `AND tenant_id = ?` for SELECT/UPDATE/DELETE in row-level mode.
10
+ * INSERTs pass through unchanged (caller includes tenant_id).
11
+ *
12
+ * In single/database mode: pure pass-through (no injection).
13
+ *
14
+ * This is the "suspenders" half of belt-and-suspenders. The "belt" is explicit
15
+ * tenant_id predicates in each query. Together, a developer who forgets the belt
16
+ * still has the suspenders. A developer writing a new query cannot bypass this —
17
+ * the facade IS the connection. There is no raw DatabaseConnection accessible
18
+ * from orchestration code except via the explicit .raw escape hatch.
19
+ *
20
+ * CORR1-01 + AUDIT-001: Complex SQL fail-safe. JOINs, CTEs, subqueries, and
21
+ * set operations THROW immediately rather than silently mis-positioning the
22
+ * tenant predicate. Forces the developer to use .raw with SYSTEM_SCOPE annotation.
23
+ *
24
+ * AUDIT-002: Falsy tenantId check. Empty string is as dangerous as null.
25
+ */
26
+ import type { DatabaseConnection, TenantId } from '../interfaces/index.js';
27
+ /**
28
+ * A DatabaseConnection with automatic tenant_id injection.
29
+ * Satisfies DatabaseConnection interface — all existing code compiles unchanged.
30
+ * The `raw` and `tenantId` properties are additive.
31
+ */
32
+ export interface TenantScopedConnection extends DatabaseConnection {
33
+ /** Escape hatch for system operations (audit hash chain, bulk expiry). */
34
+ readonly raw: DatabaseConnection;
35
+ /** Current tenant context. Null in single mode or when no tenant is set. */
36
+ readonly tenantId: TenantId | null;
37
+ }
38
+ /**
39
+ * FM-10: Inject tenant_id predicate into SQL queries.
40
+ *
41
+ * Rules:
42
+ * 1. INSERT statements: pass through unchanged (caller includes tenant_id)
43
+ * 2. Complex SQL (JOIN, CTE, subquery, set ops): THROW — not safe for regex injection
44
+ * 3. SELECT/UPDATE/DELETE with WHERE: append AND tenant_id = ?
45
+ * 4. SELECT/UPDATE/DELETE without WHERE: add WHERE tenant_id = ?
46
+ * 5. Position: before ORDER BY, GROUP BY, LIMIT, HAVING clauses
47
+ *
48
+ * Constraints (verified against current codebase — no violations):
49
+ * - No CTEs in vulnerable queries (getRootMissionId uses loop)
50
+ * - No JOINs in vulnerable queries (all single-table)
51
+ * - No subqueries in vulnerable queries
52
+ * - All UPDATE/DELETE have WHERE clauses
53
+ *
54
+ * CORR1-01 + AUDIT-001: Complex SQL fail-safe. If a future developer introduces
55
+ * a JOIN, CTE, subquery, or set operation, the facade THROWS immediately rather
56
+ * than silently mis-positioning the tenant predicate. This forces the developer
57
+ * to use deps.conn.raw with SYSTEM_SCOPE annotation and manual tenant scoping.
58
+ *
59
+ * Exported for unit testing (Layer 1 tests).
60
+ */
61
+ export declare function injectTenantPredicate(sql: string, params: unknown[], tenantId: TenantId): {
62
+ scopedSql: string;
63
+ scopedParams: unknown[];
64
+ };
65
+ /**
66
+ * FM-10: Create a tenant-scoped connection facade.
67
+ * In row-level mode: auto-injects AND tenant_id = ? into all
68
+ * SELECT/UPDATE/DELETE queries. INSERTs pass through unchanged.
69
+ * In single/database mode: pass-through (no injection).
70
+ *
71
+ * The returned object satisfies DatabaseConnection interface —
72
+ * all existing code works unchanged.
73
+ *
74
+ * AUDIT-002: Uses falsy check (!tenantId) — empty string is as dangerous as null.
75
+ *
76
+ * @param conn - Raw DatabaseConnection to wrap
77
+ * @param scopedTenantId - Tenant to scope queries to. Null = no scoping.
78
+ * @returns TenantScopedConnection with .raw escape hatch and .tenantId property
79
+ */
80
+ export declare function createTenantScopedConnection(conn: DatabaseConnection, scopedTenantId: TenantId | null): TenantScopedConnection;
81
+ //# sourceMappingURL=tenant_scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant_scope.d.ts","sourceRoot":"","sources":["../../../src/kernel/tenant/tenant_scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EACV,kBAAkB,EAAqB,QAAQ,EAChD,MAAM,wBAAwB,CAAC;AAIhC;;;;GAIG;AACH,MAAM,WAAW,sBAAuB,SAAQ,kBAAkB;IAChE,0EAA0E;IAC1E,QAAQ,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACjC,4EAA4E;IAC5E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAAC;CACpC;AA6BD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,OAAO,EAAE,EACjB,QAAQ,EAAE,QAAQ,GACjB;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,OAAO,EAAE,CAAA;CAAE,CA+BhD;AAID;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,kBAAkB,EACxB,cAAc,EAAE,QAAQ,GAAG,IAAI,GAC9B,sBAAsB,CAgExB"}
@@ -0,0 +1,168 @@
1
+ /**
2
+ * Tenant-scoped connection facade.
3
+ * S ref: FM-10 (tenant data leakage prevention), RDD-3 (transparent tenancy)
4
+ *
5
+ * Phase: 4B (Certification — Tenant Isolation)
6
+ * Decision: DEC-CERT-002 (tenant_id on all tables)
7
+ *
8
+ * Mechanism: Wraps a raw DatabaseConnection, intercepting query(), get(), run()
9
+ * to auto-inject `AND tenant_id = ?` for SELECT/UPDATE/DELETE in row-level mode.
10
+ * INSERTs pass through unchanged (caller includes tenant_id).
11
+ *
12
+ * In single/database mode: pure pass-through (no injection).
13
+ *
14
+ * This is the "suspenders" half of belt-and-suspenders. The "belt" is explicit
15
+ * tenant_id predicates in each query. Together, a developer who forgets the belt
16
+ * still has the suspenders. A developer writing a new query cannot bypass this —
17
+ * the facade IS the connection. There is no raw DatabaseConnection accessible
18
+ * from orchestration code except via the explicit .raw escape hatch.
19
+ *
20
+ * CORR1-01 + AUDIT-001: Complex SQL fail-safe. JOINs, CTEs, subqueries, and
21
+ * set operations THROW immediately rather than silently mis-positioning the
22
+ * tenant predicate. Forces the developer to use .raw with SYSTEM_SCOPE annotation.
23
+ *
24
+ * AUDIT-002: Falsy tenantId check. Empty string is as dangerous as null.
25
+ */
26
+ // ─── Complex SQL Patterns (CORR1-01 + AUDIT-001) ───
27
+ /**
28
+ * Patterns that indicate complex SQL where regex-based tenant_id injection
29
+ * is unsafe. If any pattern matches, injectTenantPredicate THROWS rather
30
+ * than silently mis-positioning the predicate.
31
+ *
32
+ * Verified against current codebase: zero vulnerable queries use these patterns.
33
+ * This fail-safe catches future developers who introduce complex SQL without
34
+ * using the .raw escape hatch.
35
+ */
36
+ const COMPLEX_SQL_PATTERNS = [
37
+ /\bJOIN\b/i,
38
+ /\bWITH\b/i,
39
+ /\bIN\s*\(\s*SELECT\b/i,
40
+ /\bEXISTS\s*\(/i,
41
+ /\bNOT\s+IN\s*\(\s*SELECT\b/i,
42
+ /\bNOT\s+EXISTS\s*\(/i,
43
+ /\bUNION\b/i,
44
+ /\bEXCEPT\b/i,
45
+ /\bINTERSECT\b/i,
46
+ /\bANY\s*\(/i,
47
+ /\bALL\s*\(\s*SELECT\b/i,
48
+ ];
49
+ // ─── SQL Injection Logic ───
50
+ /**
51
+ * FM-10: Inject tenant_id predicate into SQL queries.
52
+ *
53
+ * Rules:
54
+ * 1. INSERT statements: pass through unchanged (caller includes tenant_id)
55
+ * 2. Complex SQL (JOIN, CTE, subquery, set ops): THROW — not safe for regex injection
56
+ * 3. SELECT/UPDATE/DELETE with WHERE: append AND tenant_id = ?
57
+ * 4. SELECT/UPDATE/DELETE without WHERE: add WHERE tenant_id = ?
58
+ * 5. Position: before ORDER BY, GROUP BY, LIMIT, HAVING clauses
59
+ *
60
+ * Constraints (verified against current codebase — no violations):
61
+ * - No CTEs in vulnerable queries (getRootMissionId uses loop)
62
+ * - No JOINs in vulnerable queries (all single-table)
63
+ * - No subqueries in vulnerable queries
64
+ * - All UPDATE/DELETE have WHERE clauses
65
+ *
66
+ * CORR1-01 + AUDIT-001: Complex SQL fail-safe. If a future developer introduces
67
+ * a JOIN, CTE, subquery, or set operation, the facade THROWS immediately rather
68
+ * than silently mis-positioning the tenant predicate. This forces the developer
69
+ * to use deps.conn.raw with SYSTEM_SCOPE annotation and manual tenant scoping.
70
+ *
71
+ * Exported for unit testing (Layer 1 tests).
72
+ */
73
+ export function injectTenantPredicate(sql, params, tenantId) {
74
+ const trimmed = sql.trim();
75
+ const upper = trimmed.toUpperCase();
76
+ // Rule 1: INSERTs pass through
77
+ if (upper.startsWith('INSERT')) {
78
+ return { scopedSql: sql, scopedParams: params };
79
+ }
80
+ // Rule 2: Complex SQL fail-safe — THROW, don't silently mis-inject
81
+ for (const pattern of COMPLEX_SQL_PATTERNS) {
82
+ if (pattern.test(trimmed)) {
83
+ throw new Error(`TenantScopedConnection: Complex SQL detected (${pattern}). ` +
84
+ `Use deps.conn.raw with // SYSTEM_SCOPE annotation for complex queries. ` +
85
+ `SQL: ${trimmed.slice(0, 80)}...`);
86
+ }
87
+ }
88
+ // Rule 3-5: Simple SELECT/UPDATE/DELETE — inject tenant_id
89
+ const hasWhere = /\bWHERE\b/i.test(trimmed);
90
+ const tenantClause = hasWhere ? ' AND tenant_id = ?' : ' WHERE tenant_id = ?';
91
+ // Find insertion point: before trailing clauses
92
+ const trailingPattern = /\b(ORDER\s+BY|GROUP\s+BY|LIMIT|HAVING)\b/i;
93
+ const trailingMatch = trimmed.match(trailingPattern);
94
+ const insertPos = trailingMatch?.index ?? trimmed.length;
95
+ const scopedSql = trimmed.slice(0, insertPos) + tenantClause + trimmed.slice(insertPos);
96
+ return { scopedSql, scopedParams: [...params, tenantId] };
97
+ }
98
+ // ─── Factory ───
99
+ /**
100
+ * FM-10: Create a tenant-scoped connection facade.
101
+ * In row-level mode: auto-injects AND tenant_id = ? into all
102
+ * SELECT/UPDATE/DELETE queries. INSERTs pass through unchanged.
103
+ * In single/database mode: pass-through (no injection).
104
+ *
105
+ * The returned object satisfies DatabaseConnection interface —
106
+ * all existing code works unchanged.
107
+ *
108
+ * AUDIT-002: Uses falsy check (!tenantId) — empty string is as dangerous as null.
109
+ *
110
+ * @param conn - Raw DatabaseConnection to wrap
111
+ * @param scopedTenantId - Tenant to scope queries to. Null = no scoping.
112
+ * @returns TenantScopedConnection with .raw escape hatch and .tenantId property
113
+ */
114
+ export function createTenantScopedConnection(conn, scopedTenantId) {
115
+ // Single mode or falsy tenant: no scoping needed
116
+ // AUDIT-002: Use falsy check — empty string is as dangerous as null
117
+ if (conn.tenancyMode !== 'row-level' || !scopedTenantId) {
118
+ return {
119
+ dataDir: conn.dataDir,
120
+ schemaVersion: conn.schemaVersion,
121
+ tenancyMode: conn.tenancyMode,
122
+ raw: conn,
123
+ tenantId: scopedTenantId,
124
+ transaction(fn) {
125
+ return conn.transaction(fn);
126
+ },
127
+ run(sql, params) {
128
+ return conn.run(sql, params);
129
+ },
130
+ query(sql, params) {
131
+ return conn.query(sql, params);
132
+ },
133
+ get(sql, params) {
134
+ return conn.get(sql, params);
135
+ },
136
+ close() {
137
+ return conn.close();
138
+ },
139
+ };
140
+ }
141
+ // Row-level mode with valid tenantId: full scoping
142
+ return {
143
+ dataDir: conn.dataDir,
144
+ schemaVersion: conn.schemaVersion,
145
+ tenancyMode: conn.tenancyMode,
146
+ tenantId: scopedTenantId,
147
+ raw: conn,
148
+ query(sql, params) {
149
+ const { scopedSql, scopedParams } = injectTenantPredicate(sql, params ?? [], scopedTenantId);
150
+ return conn.query(scopedSql, scopedParams);
151
+ },
152
+ get(sql, params) {
153
+ const { scopedSql, scopedParams } = injectTenantPredicate(sql, params ?? [], scopedTenantId);
154
+ return conn.get(scopedSql, scopedParams);
155
+ },
156
+ run(sql, params) {
157
+ const { scopedSql, scopedParams } = injectTenantPredicate(sql, params ?? [], scopedTenantId);
158
+ return conn.run(scopedSql, scopedParams);
159
+ },
160
+ transaction(fn) {
161
+ return conn.transaction(fn);
162
+ },
163
+ close() {
164
+ return conn.close();
165
+ },
166
+ };
167
+ }
168
+ //# sourceMappingURL=tenant_scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant_scope.js","sourceRoot":"","sources":["../../../src/kernel/tenant/tenant_scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAoBH,sDAAsD;AAEtD;;;;;;;;GAQG;AACH,MAAM,oBAAoB,GAAsB;IAC9C,WAAW;IACX,WAAW;IACX,uBAAuB;IACvB,gBAAgB;IAChB,6BAA6B;IAC7B,sBAAsB;IACtB,YAAY;IACZ,aAAa;IACb,gBAAgB;IAChB,aAAa;IACb,wBAAwB;CACzB,CAAC;AAEF,8BAA8B;AAE9B;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAW,EACX,MAAiB,EACjB,QAAkB;IAElB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IAEpC,+BAA+B;IAC/B,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,CAAC;IAClD,CAAC;IAED,mEAAmE;IACnE,KAAK,MAAM,OAAO,IAAI,oBAAoB,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CACb,iDAAiD,OAAO,KAAK;gBAC7D,yEAAyE;gBACzE,QAAQ,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,2DAA2D;IAC3D,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB,CAAC;IAE9E,gDAAgD;IAChD,MAAM,eAAe,GAAG,2CAA2C,CAAC;IACpE,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;IACrD,MAAM,SAAS,GAAG,aAAa,EAAE,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC;IAEzD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACxF,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,CAAC,GAAG,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC;AAC5D,CAAC;AAED,kBAAkB;AAElB;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,4BAA4B,CAC1C,IAAwB,EACxB,cAA+B;IAE/B,iDAAiD;IACjD,oEAAoE;IACpE,IAAI,IAAI,CAAC,WAAW,KAAK,WAAW,IAAI,CAAC,cAAc,EAAE,CAAC;QACxD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,GAAG,EAAE,IAAI;YACT,QAAQ,EAAE,cAAc;YAExB,WAAW,CAAI,EAAW;gBACxB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAC9B,CAAC;YAED,GAAG,CAAC,GAAW,EAAE,MAAkB;gBACjC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAC/B,CAAC;YAED,KAAK,CAAI,GAAW,EAAE,MAAkB;gBACtC,OAAO,IAAI,CAAC,KAAK,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;YACpC,CAAC;YAED,GAAG,CAAI,GAAW,EAAE,MAAkB;gBACpC,OAAO,IAAI,CAAC,GAAG,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;YAClC,CAAC;YAED,KAAK;gBACH,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;YACtB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,aAAa,EAAE,IAAI,CAAC,aAAa;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,QAAQ,EAAE,cAAc;QACxB,GAAG,EAAE,IAAI;QAET,KAAK,CAAI,GAAW,EAAE,MAAkB;YACtC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;YAC7F,OAAO,IAAI,CAAC,KAAK,CAAI,SAAS,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC;QAED,GAAG,CAAI,GAAW,EAAE,MAAkB;YACpC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;YAC7F,OAAO,IAAI,CAAC,GAAG,CAAI,SAAS,EAAE,YAAY,CAAC,CAAC;QAC9C,CAAC;QAED,GAAG,CAAC,GAAW,EAAE,MAAkB;YACjC,MAAM,EAAE,SAAS,EAAE,YAAY,EAAE,GAAG,qBAAqB,CAAC,GAAG,EAAE,MAAM,IAAI,EAAE,EAAE,cAAc,CAAC,CAAC;YAC7F,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAC3C,CAAC;QAED,WAAW,CAAI,EAAW;YACxB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;QAED,KAAK;YACH,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Time provider implementations.
3
+ * S ref: Hard Stop #7 (clock injection)
4
+ *
5
+ * Phase: 1 (Kernel)
6
+ * Implements: System clock (production) and test clock (deterministic testing).
7
+ *
8
+ * System provider: thin wrapper around Date — zero overhead, real clock.
9
+ * Test provider: deterministic, advanceable — enables time-dependent testing
10
+ * without flakiness or sleep().
11
+ */
12
+ import type { TimeProvider } from '../interfaces/time.js';
13
+ /**
14
+ * Create a system time provider using the real clock.
15
+ * Used in production. Returns current wall-clock time.
16
+ *
17
+ * S ref: Hard Stop #7
18
+ */
19
+ export declare function createSystemTimeProvider(): TimeProvider;
20
+ /**
21
+ * Create a deterministic test time provider.
22
+ * Starts at a fixed epoch (or specified time) and only advances when told.
23
+ *
24
+ * Usage:
25
+ * const time = createTestTimeProvider();
26
+ * time.nowISO(); // "2026-01-01T00:00:00.000Z"
27
+ * time.advance(1000); // advance 1 second
28
+ * time.nowISO(); // "2026-01-01T00:00:01.000Z"
29
+ * time.set(new Date('2026-06-15T12:00:00Z').getTime()); // jump to specific time
30
+ *
31
+ * S ref: Hard Stop #7, C-06
32
+ */
33
+ export declare function createTestTimeProvider(startMs?: number): TimeProvider & {
34
+ /** Advance the clock by the given number of milliseconds */
35
+ advance(ms: number): void;
36
+ /** Set the clock to an exact millisecond timestamp */
37
+ set(ms: number): void;
38
+ };
39
+ //# sourceMappingURL=time_provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time_provider.d.ts","sourceRoot":"","sources":["../../../src/kernel/time/time_provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,wBAAwB,IAAI,YAAY,CASvD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,GAAE,MAAuD,GAC/D,YAAY,GAAG;IAChB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,sDAAsD;IACtD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAiBA"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Time provider implementations.
3
+ * S ref: Hard Stop #7 (clock injection)
4
+ *
5
+ * Phase: 1 (Kernel)
6
+ * Implements: System clock (production) and test clock (deterministic testing).
7
+ *
8
+ * System provider: thin wrapper around Date — zero overhead, real clock.
9
+ * Test provider: deterministic, advanceable — enables time-dependent testing
10
+ * without flakiness or sleep().
11
+ */
12
+ /**
13
+ * Create a system time provider using the real clock.
14
+ * Used in production. Returns current wall-clock time.
15
+ *
16
+ * S ref: Hard Stop #7
17
+ */
18
+ export function createSystemTimeProvider() {
19
+ return {
20
+ nowISO() {
21
+ return new Date().toISOString();
22
+ },
23
+ nowMs() {
24
+ return Date.now();
25
+ },
26
+ };
27
+ }
28
+ /**
29
+ * Create a deterministic test time provider.
30
+ * Starts at a fixed epoch (or specified time) and only advances when told.
31
+ *
32
+ * Usage:
33
+ * const time = createTestTimeProvider();
34
+ * time.nowISO(); // "2026-01-01T00:00:00.000Z"
35
+ * time.advance(1000); // advance 1 second
36
+ * time.nowISO(); // "2026-01-01T00:00:01.000Z"
37
+ * time.set(new Date('2026-06-15T12:00:00Z').getTime()); // jump to specific time
38
+ *
39
+ * S ref: Hard Stop #7, C-06
40
+ */
41
+ export function createTestTimeProvider(startMs = new Date('2026-01-01T00:00:00.000Z').getTime()) {
42
+ let currentMs = startMs;
43
+ return {
44
+ nowISO() {
45
+ return new Date(currentMs).toISOString();
46
+ },
47
+ nowMs() {
48
+ return currentMs;
49
+ },
50
+ advance(ms) {
51
+ currentMs += ms;
52
+ },
53
+ set(ms) {
54
+ currentMs = ms;
55
+ },
56
+ };
57
+ }
58
+ //# sourceMappingURL=time_provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"time_provider.js","sourceRoot":"","sources":["../../../src/kernel/time/time_provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH;;;;;GAKG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,MAAM;YACJ,OAAO,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC;QACD,KAAK;YACH,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAAkB,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC,OAAO,EAAE;IAOhE,IAAI,SAAS,GAAG,OAAO,CAAC;IAExB,OAAO;QACL,MAAM;YACJ,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,CAAC;QACD,KAAK;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,CAAC,EAAU;YAChB,SAAS,IAAI,EAAE,CAAC;QAClB,CAAC;QACD,GAAG,CAAC,EAAU;YACZ,SAAS,GAAG,EAAE,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -0,0 +1,41 @@
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 type { TechniqueApplicator, TechniqueStore, LearningDeps } from '../interfaces/index.js';
20
+ /**
21
+ * Estimate token count from content length.
22
+ *
23
+ * DEC-4E2C-001: Uses chars/4 approximation because:
24
+ * (1) Contract tests use Math.ceil(content.length / 4)
25
+ * (2) No tokenizer dependency permitted (I-01: single production dependency)
26
+ * (3) Caller controls maxTokenBudget — overestimation is safe (conservative)
27
+ *
28
+ * Risk-if-wrong: Non-ASCII content (CJK, emoji) has higher tokens/char ratio,
29
+ * causing underestimation. Mitigated by conservative maxTokenBudget from caller
30
+ * and by the 20% ceiling being a safety margin, not a precision target.
31
+ */
32
+ export declare function estimateTokens(content: string): number;
33
+ /**
34
+ * Create a TechniqueApplicator implementation.
35
+ * Follows the Limen factory pattern: factory → Object.freeze.
36
+ *
37
+ * @param deps - Learning system dependencies (audit, events, etc.)
38
+ * @param store - TechniqueStore for R-06 applicationCount/lastApplied updates
39
+ */
40
+ export declare function createTechniqueApplicator(deps: LearningDeps, store: TechniqueStore): TechniqueApplicator;
41
+ //# sourceMappingURL=technique_applicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"technique_applicator.d.ts","sourceRoot":"","sources":["../../../src/learning/applicator/technique_applicator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,KAAK,EACV,mBAAmB,EAAE,cAAc,EACe,YAAY,EAC/D,MAAM,wBAAwB,CAAC;AA6ChC;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD;AAgBD;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,cAAc,GACpB,mBAAmB,CAqLrB"}