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,257 @@
1
+ /**
2
+ * RBAC engine implementation.
3
+ * S ref: §34, I-13, §3.7
4
+ *
5
+ * Phase: 1 (Kernel) -- Build Order 6
6
+ * Required by all API-facing modules.
7
+ *
8
+ * §34: RBAC with five default roles (admin, developer, operator, viewer, auditor).
9
+ * I-13: Authorization completeness -- every operation enforces RBAC.
10
+ * §3.7: Single-user default mode where RBAC is dormant.
11
+ */
12
+ import { randomUUID } from 'node:crypto';
13
+ /**
14
+ * Default role definitions per §34.
15
+ * S ref: §34 (five default roles with predefined permission sets)
16
+ */
17
+ const DEFAULT_ROLES = [
18
+ {
19
+ name: 'admin',
20
+ permissions: [
21
+ 'create_agent', 'modify_agent', 'delete_agent',
22
+ 'chat', 'infer', 'create_mission',
23
+ 'view_telemetry', 'view_audit',
24
+ 'manage_providers', 'manage_budgets', 'manage_roles',
25
+ 'purge_data',
26
+ 'approve_response', 'edit_response', 'takeover_session', 'review_batch',
27
+ ],
28
+ },
29
+ {
30
+ name: 'developer',
31
+ permissions: [
32
+ 'create_agent', 'modify_agent',
33
+ 'chat', 'infer', 'create_mission',
34
+ 'view_telemetry',
35
+ ],
36
+ },
37
+ {
38
+ name: 'operator',
39
+ permissions: [
40
+ 'chat',
41
+ 'view_telemetry',
42
+ 'manage_providers', 'manage_budgets',
43
+ ],
44
+ },
45
+ {
46
+ name: 'viewer',
47
+ permissions: [
48
+ 'chat',
49
+ 'view_telemetry',
50
+ ],
51
+ },
52
+ {
53
+ name: 'auditor',
54
+ permissions: [
55
+ 'view_audit',
56
+ 'view_telemetry',
57
+ ],
58
+ },
59
+ ];
60
+ /**
61
+ * Create an RbacEngine implementation.
62
+ * CF-006: Accepts optional conn to restore RBAC active state from DB on restart.
63
+ * If custom roles exist (is_default=0), RBAC activates immediately.
64
+ * S ref: §34 (RBAC), I-13 (authorization completeness), §3.7 (dormant mode)
65
+ */
66
+ export function createRbacEngine(conn) {
67
+ /** RBAC active state. Starts dormant (single-user default). S ref: §3.7. */
68
+ let rbacActive = false;
69
+ // CF-006: Restore active state from DB if custom roles exist.
70
+ // Without this, a restart after role creation leaves RBAC dormant,
71
+ // bypassing all permission checks until a new custom role is created.
72
+ if (conn) {
73
+ const customRoleCount = conn.get('SELECT COUNT(*) as cnt FROM core_roles WHERE is_default = 0');
74
+ if (customRoleCount && customRoleCount.cnt > 0) {
75
+ rbacActive = true;
76
+ }
77
+ }
78
+ return {
79
+ /**
80
+ * Check if context has required permission.
81
+ * In dormant mode (single-user), always returns true.
82
+ * S ref: §34 (permission check), I-13 (every operation enforces RBAC)
83
+ */
84
+ checkPermission(ctx, required) {
85
+ try {
86
+ // §3.7: In single-user mode, RBAC is dormant -- all operations allowed
87
+ if (!rbacActive) {
88
+ return { ok: true, value: true };
89
+ }
90
+ // I-13: Check if context has the required permission
91
+ const hasPermission = ctx.permissions.has(required);
92
+ return { ok: true, value: hasPermission };
93
+ }
94
+ catch (err) {
95
+ return {
96
+ ok: false,
97
+ error: {
98
+ code: 'RBAC_CHECK_FAILED',
99
+ message: err instanceof Error ? err.message : String(err),
100
+ spec: 'I-13',
101
+ },
102
+ };
103
+ }
104
+ },
105
+ /**
106
+ * Check if RBAC is currently active.
107
+ * S ref: §3.7 (single-user mode), §34 (multi-user activation)
108
+ */
109
+ isActive() {
110
+ return rbacActive;
111
+ },
112
+ /**
113
+ * Create a role with the specified permissions.
114
+ * Activates RBAC if not already active.
115
+ * S ref: §34 (role management)
116
+ */
117
+ createRole(conn, ctx, name, permissions) {
118
+ try {
119
+ const roleId = randomUUID();
120
+ const tenantId = ctx.tenantId;
121
+ conn.run(`INSERT INTO core_roles (id, tenant_id, name, permissions, is_default, version, created_at, updated_at)
122
+ VALUES (?, ?, ?, ?, 0, 1, strftime('%Y-%m-%dT%H:%M:%fZ','now'), strftime('%Y-%m-%dT%H:%M:%fZ','now'))`, [roleId, tenantId, name, JSON.stringify(permissions)]);
123
+ // Activate RBAC when first non-default role is created
124
+ rbacActive = true;
125
+ return { ok: true, value: roleId };
126
+ }
127
+ catch (err) {
128
+ return {
129
+ ok: false,
130
+ error: {
131
+ code: 'ROLE_CREATE_FAILED',
132
+ message: err instanceof Error ? err.message : String(err),
133
+ spec: '§34',
134
+ },
135
+ };
136
+ }
137
+ },
138
+ /**
139
+ * Assign role to principal (user or agent).
140
+ * S ref: §34 (role assignment), DL-3 (trust progression)
141
+ */
142
+ assignRole(conn, ctx, principalType, principalId, roleId) {
143
+ try {
144
+ // Verify role exists
145
+ const role = conn.get(`SELECT id FROM core_roles WHERE id = ?`, [roleId]);
146
+ if (!role) {
147
+ return {
148
+ ok: false,
149
+ error: {
150
+ code: 'ROLE_NOT_FOUND',
151
+ message: `Role ${roleId} not found`,
152
+ spec: '§34',
153
+ },
154
+ };
155
+ }
156
+ const id = randomUUID();
157
+ const tenantId = ctx.tenantId;
158
+ const grantedBy = ctx.userId ?? ctx.agentId ?? 'system';
159
+ conn.run(`INSERT INTO core_role_assignments (id, tenant_id, principal_type, principal_id, role_id, granted_by, granted_at)
160
+ VALUES (?, ?, ?, ?, ?, ?, strftime('%Y-%m-%dT%H:%M:%fZ','now'))
161
+ ON CONFLICT(tenant_id, principal_type, principal_id, role_id) DO NOTHING`, [id, tenantId, principalType, principalId, roleId, grantedBy]);
162
+ return { ok: true, value: undefined };
163
+ }
164
+ catch (err) {
165
+ return {
166
+ ok: false,
167
+ error: {
168
+ code: 'ROLE_ASSIGN_FAILED',
169
+ message: err instanceof Error ? err.message : String(err),
170
+ spec: '§34',
171
+ },
172
+ };
173
+ }
174
+ },
175
+ /**
176
+ * Revoke role from principal.
177
+ * S ref: §34 (role revocation)
178
+ */
179
+ revokeRole(conn, ctx, principalType, principalId, roleId) {
180
+ try {
181
+ const tenantId = ctx.tenantId;
182
+ conn.run(`DELETE FROM core_role_assignments
183
+ WHERE principal_type = ? AND principal_id = ? AND role_id = ?
184
+ AND (tenant_id = ? OR (tenant_id IS NULL AND ? IS NULL))`, [principalType, principalId, roleId, tenantId, tenantId]);
185
+ return { ok: true, value: undefined };
186
+ }
187
+ catch (err) {
188
+ return {
189
+ ok: false,
190
+ error: {
191
+ code: 'ROLE_REVOKE_FAILED',
192
+ message: err instanceof Error ? err.message : String(err),
193
+ spec: '§34',
194
+ },
195
+ };
196
+ }
197
+ },
198
+ /**
199
+ * Get permissions for a principal.
200
+ * Returns the union of all permissions from all assigned roles.
201
+ * S ref: §34 (permission resolution)
202
+ */
203
+ getPermissions(conn, principalType, principalId, tenantId) {
204
+ try {
205
+ const rows = conn.query(`SELECT r.permissions FROM core_roles r
206
+ INNER JOIN core_role_assignments ra ON ra.role_id = r.id
207
+ WHERE ra.principal_type = ? AND ra.principal_id = ?
208
+ AND (ra.tenant_id = ? OR (ra.tenant_id IS NULL AND ? IS NULL))
209
+ AND (ra.expires_at IS NULL OR ra.expires_at > strftime('%Y-%m-%dT%H:%M:%fZ','now'))`, [principalType, principalId, tenantId, tenantId]);
210
+ const permissionSet = new Set();
211
+ for (const row of rows) {
212
+ const perms = JSON.parse(row.permissions);
213
+ for (const p of perms) {
214
+ permissionSet.add(p);
215
+ }
216
+ }
217
+ return { ok: true, value: permissionSet };
218
+ }
219
+ catch (err) {
220
+ return {
221
+ ok: false,
222
+ error: {
223
+ code: 'PERMISSIONS_FETCH_FAILED',
224
+ message: err instanceof Error ? err.message : String(err),
225
+ spec: '§34',
226
+ },
227
+ };
228
+ }
229
+ },
230
+ /**
231
+ * Seed default roles (admin, developer, operator, viewer, auditor).
232
+ * S ref: §34 (five default roles with predefined permission sets)
233
+ */
234
+ seedDefaultRoles(conn) {
235
+ try {
236
+ for (const role of DEFAULT_ROLES) {
237
+ const roleId = randomUUID();
238
+ conn.run(`INSERT INTO core_roles (id, tenant_id, name, permissions, is_default, version, created_at, updated_at)
239
+ VALUES (?, NULL, ?, ?, 1, 1, strftime('%Y-%m-%dT%H:%M:%fZ','now'), strftime('%Y-%m-%dT%H:%M:%fZ','now'))
240
+ ON CONFLICT(tenant_id, name) DO NOTHING`, [roleId, role.name, JSON.stringify(role.permissions)]);
241
+ }
242
+ return { ok: true, value: undefined };
243
+ }
244
+ catch (err) {
245
+ return {
246
+ ok: false,
247
+ error: {
248
+ code: 'SEED_ROLES_FAILED',
249
+ message: err instanceof Error ? err.message : String(err),
250
+ spec: '§34',
251
+ },
252
+ };
253
+ }
254
+ },
255
+ };
256
+ }
257
+ //# sourceMappingURL=rbac_engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rbac_engine.js","sourceRoot":"","sources":["../../../src/kernel/rbac/rbac_engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Data retention scheduler implementation.
3
+ * S ref: §35, I-06, I-02
4
+ *
5
+ * Phase: 1 (Kernel) -- Build Order 7
6
+ * Depends on database + audit + crypto.
7
+ *
8
+ * §35: Configurable per-type retention with automated archival/deletion.
9
+ * I-06: Audit entries archived to sealed file, never deleted.
10
+ * I-02: User data ownership -- retention supports purge operations.
11
+ *
12
+ * Default retention values (§35):
13
+ * - memories: 365 days (archive)
14
+ * - audit: 2555 days / 7 years (archive to sealed file per I-06)
15
+ * - sessions: 90 days (archive)
16
+ * - artifacts: mission-scoped + retention period (archive)
17
+ * - techniques: indefinite (soft_delete per I-10)
18
+ * - events: 90 days (delete)
19
+ */
20
+ import type { RetentionScheduler, AuditTrail } from '../interfaces/index.js';
21
+ import type { TimeProvider } from '../interfaces/time.js';
22
+ /**
23
+ * Default retention policies per §35.
24
+ * S ref: §35 (default retention values)
25
+ */
26
+ declare const DEFAULT_POLICIES: ReadonlyArray<{
27
+ dataType: string;
28
+ retentionDays: number;
29
+ action: 'archive' | 'delete' | 'soft_delete';
30
+ }>;
31
+ /**
32
+ * Create a RetentionScheduler implementation.
33
+ * S ref: §35 (retention policies), I-06 (audit archival), I-02 (data ownership)
34
+ */
35
+ /**
36
+ * CF-018: Create a RetentionScheduler with optional audit trail for tombstoning.
37
+ * When auditTrail is provided, the 'audit' data type uses tombstone() instead of delete.
38
+ */
39
+ export declare function createRetentionScheduler(auditTrail?: AuditTrail, time?: TimeProvider): RetentionScheduler;
40
+ export { DEFAULT_POLICIES };
41
+ //# sourceMappingURL=retention_scheduler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention_scheduler.d.ts","sourceRoot":"","sources":["../../../src/kernel/retention/retention_scheduler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,OAAO,KAAK,EAEV,kBAAkB,EAClB,UAAU,EACX,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D;;;GAGG;AACH,QAAA,MAAM,gBAAgB,EAAE,aAAa,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,aAAa,CAAC;CAC9C,CAOA,CAAC;AAEF;;;GAGG;AACH;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,YAAY,GAAG,kBAAkB,CAmOzG;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -0,0 +1,218 @@
1
+ /**
2
+ * Data retention scheduler implementation.
3
+ * S ref: §35, I-06, I-02
4
+ *
5
+ * Phase: 1 (Kernel) -- Build Order 7
6
+ * Depends on database + audit + crypto.
7
+ *
8
+ * §35: Configurable per-type retention with automated archival/deletion.
9
+ * I-06: Audit entries archived to sealed file, never deleted.
10
+ * I-02: User data ownership -- retention supports purge operations.
11
+ *
12
+ * Default retention values (§35):
13
+ * - memories: 365 days (archive)
14
+ * - audit: 2555 days / 7 years (archive to sealed file per I-06)
15
+ * - sessions: 90 days (archive)
16
+ * - artifacts: mission-scoped + retention period (archive)
17
+ * - techniques: indefinite (soft_delete per I-10)
18
+ * - events: 90 days (delete)
19
+ */
20
+ import { randomUUID } from 'node:crypto';
21
+ /**
22
+ * Default retention policies per §35.
23
+ * S ref: §35 (default retention values)
24
+ */
25
+ const DEFAULT_POLICIES = [
26
+ { dataType: 'memories', retentionDays: 365, action: 'archive' },
27
+ { dataType: 'audit', retentionDays: 2555, action: 'archive' }, // 7 years per I-06
28
+ { dataType: 'sessions', retentionDays: 90, action: 'archive' },
29
+ { dataType: 'artifacts', retentionDays: 365, action: 'archive' },
30
+ { dataType: 'techniques', retentionDays: 0, action: 'soft_delete' }, // 0 = indefinite (I-10)
31
+ { dataType: 'events', retentionDays: 90, action: 'delete' },
32
+ ];
33
+ /**
34
+ * Create a RetentionScheduler implementation.
35
+ * S ref: §35 (retention policies), I-06 (audit archival), I-02 (data ownership)
36
+ */
37
+ /**
38
+ * CF-018: Create a RetentionScheduler with optional audit trail for tombstoning.
39
+ * When auditTrail is provided, the 'audit' data type uses tombstone() instead of delete.
40
+ */
41
+ export function createRetentionScheduler(auditTrail, time) {
42
+ const clock = time ?? { nowISO: () => new Date().toISOString(), nowMs: () => Date.now() };
43
+ return {
44
+ /**
45
+ * Execute retention pass: archive/delete records past retention period.
46
+ * S ref: §35 (automated retention execution)
47
+ */
48
+ executeRetention(conn, _ctx) {
49
+ try {
50
+ const runId = randomUUID();
51
+ let recordsArchived = 0;
52
+ let recordsDeleted = 0;
53
+ const policiesApplied = [];
54
+ // Get active policies
55
+ const policies = conn.query(`SELECT id, data_type, retention_days, action, enabled
56
+ FROM core_retention_policies WHERE enabled = 1`);
57
+ // Record the run start
58
+ conn.run(`INSERT INTO core_retention_runs (id, started_at, policies_applied, status)
59
+ VALUES (?, strftime('%Y-%m-%dT%H:%M:%fZ','now'), ?, 'running')`, [runId, JSON.stringify(policies.map(p => p.id))]);
60
+ for (const policy of policies) {
61
+ if (policy.retention_days === 0)
62
+ continue; // 0 = indefinite
63
+ const cutoffMs = clock.nowMs() - (policy.retention_days * 24 * 60 * 60 * 1000);
64
+ const cutoff = new Date(cutoffMs).toISOString();
65
+ // CF-018: Execute retention per data type
66
+ switch (policy.data_type) {
67
+ case 'events': {
68
+ if (policy.action === 'delete') {
69
+ const result = conn.run(`DELETE FROM obs_events WHERE created_at < ? AND delivered = 1`, [cutoff]);
70
+ recordsDeleted += result.changes;
71
+ }
72
+ break;
73
+ }
74
+ case 'sessions': {
75
+ // Delete conversation turns for old conversations, then conversations, then sessions
76
+ const oldConvs = conn.query(`SELECT id FROM core_conversations WHERE created_at < ?`, [cutoff]);
77
+ for (const conv of oldConvs) {
78
+ recordsDeleted += conn.run(`DELETE FROM core_conversation_turns WHERE conversation_id = ?`, [conv.id]).changes;
79
+ }
80
+ recordsDeleted += conn.run(`DELETE FROM core_conversations WHERE created_at < ?`, [cutoff]).changes;
81
+ break;
82
+ }
83
+ case 'artifacts': {
84
+ // Delete artifact dependencies first, then artifacts
85
+ const oldArtifacts = conn.query(`SELECT id FROM core_artifacts WHERE created_at < ?`, [cutoff]);
86
+ for (const art of oldArtifacts) {
87
+ recordsDeleted += conn.run(`DELETE FROM core_artifact_dependencies WHERE artifact_id = ?`, [art.id]).changes;
88
+ }
89
+ recordsDeleted += conn.run(`DELETE FROM core_artifacts WHERE created_at < ?`, [cutoff]).changes;
90
+ break;
91
+ }
92
+ case 'audit': {
93
+ // I-06: Audit entries are NEVER deleted. Use tombstone (CF-035) or archive.
94
+ if (auditTrail && policy.action === 'archive') {
95
+ // Tombstone audit entries per tenant for entries older than cutoff
96
+ // Find distinct tenants with old entries
97
+ const tenants = conn.query(`SELECT DISTINCT tenant_id FROM core_audit_log WHERE timestamp < ? AND tenant_id IS NOT NULL`, [cutoff]);
98
+ for (const t of tenants) {
99
+ const result = auditTrail.tombstone(conn, t.tenant_id);
100
+ if (result.ok) {
101
+ recordsArchived += result.value.tombstonedEntries;
102
+ }
103
+ }
104
+ }
105
+ break;
106
+ }
107
+ case 'memories':
108
+ case 'techniques': {
109
+ // CF-002 dependency: core_memories and core_techniques tables don't exist yet.
110
+ // These will be handled when the learning system (SS29) is implemented.
111
+ break;
112
+ }
113
+ }
114
+ policiesApplied.push(policy.id);
115
+ }
116
+ // Update run status
117
+ conn.run(`UPDATE core_retention_runs SET
118
+ completed_at = strftime('%Y-%m-%dT%H:%M:%fZ','now'),
119
+ policies_applied = ?, records_archived = ?, records_deleted = ?,
120
+ status = 'completed'
121
+ WHERE id = ?`, [JSON.stringify(policiesApplied), recordsArchived, recordsDeleted, runId]);
122
+ return {
123
+ ok: true,
124
+ value: {
125
+ runId,
126
+ recordsArchived,
127
+ recordsDeleted,
128
+ policiesApplied,
129
+ },
130
+ };
131
+ }
132
+ catch (err) {
133
+ return {
134
+ ok: false,
135
+ error: {
136
+ code: 'RETENTION_EXECUTE_FAILED',
137
+ message: err instanceof Error ? err.message : String(err),
138
+ spec: '§35',
139
+ },
140
+ };
141
+ }
142
+ },
143
+ /**
144
+ * Get current retention policies.
145
+ * S ref: §35 (policy inspection)
146
+ */
147
+ getPolicies(conn, _ctx) {
148
+ try {
149
+ const rows = conn.query(`SELECT id, data_type, retention_days, action, enabled
150
+ FROM core_retention_policies ORDER BY data_type`);
151
+ const policies = rows.map(row => ({
152
+ id: row.id,
153
+ dataType: row.data_type,
154
+ retentionDays: row.retention_days,
155
+ action: row.action,
156
+ enabled: row.enabled === 1,
157
+ }));
158
+ return { ok: true, value: policies };
159
+ }
160
+ catch (err) {
161
+ return {
162
+ ok: false,
163
+ error: {
164
+ code: 'RETENTION_GET_POLICIES_FAILED',
165
+ message: err instanceof Error ? err.message : String(err),
166
+ spec: '§35',
167
+ },
168
+ };
169
+ }
170
+ },
171
+ /**
172
+ * Update retention policy for a data type.
173
+ * S ref: §35 (configurable retention periods)
174
+ */
175
+ updatePolicy(conn, _ctx, dataType, retentionDays, action) {
176
+ try {
177
+ // I-06: Audit entries must always use 'archive' action, never 'delete'
178
+ if (dataType === 'audit' && action === 'delete') {
179
+ return {
180
+ ok: false,
181
+ error: {
182
+ code: 'AUDIT_RETENTION_VIOLATION',
183
+ message: 'Audit entries must be archived, not deleted (I-06)',
184
+ spec: 'I-06',
185
+ },
186
+ };
187
+ }
188
+ const result = conn.run(`UPDATE core_retention_policies SET
189
+ retention_days = ?, action = ?,
190
+ updated_at = strftime('%Y-%m-%dT%H:%M:%fZ','now')
191
+ WHERE data_type = ?`, [retentionDays, action, dataType]);
192
+ if (result.changes === 0) {
193
+ return {
194
+ ok: false,
195
+ error: {
196
+ code: 'RETENTION_POLICY_NOT_FOUND',
197
+ message: `No retention policy found for data type "${dataType}"`,
198
+ spec: '§35',
199
+ },
200
+ };
201
+ }
202
+ return { ok: true, value: undefined };
203
+ }
204
+ catch (err) {
205
+ return {
206
+ ok: false,
207
+ error: {
208
+ code: 'RETENTION_UPDATE_FAILED',
209
+ message: err instanceof Error ? err.message : String(err),
210
+ spec: '§35',
211
+ },
212
+ };
213
+ }
214
+ },
215
+ };
216
+ }
217
+ export { DEFAULT_POLICIES };
218
+ //# sourceMappingURL=retention_scheduler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"retention_scheduler.js","sourceRoot":"","sources":["../../../src/kernel/retention/retention_scheduler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
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
+ import type { TenantContext, DatabaseConnection } from '../interfaces/index.js';
17
+ /**
18
+ * Create a TenantContext implementation.
19
+ * S ref: RDD-3 (transparent tenancy), FM-10 (tenant isolation)
20
+ */
21
+ export declare function createTenantContext(primaryConn: DatabaseConnection): TenantContext;
22
+ //# sourceMappingURL=tenant_context.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenant_context.d.ts","sourceRoot":"","sources":["../../../src/kernel/tenant/tenant_context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAEV,aAAa,EAAE,kBAAkB,EAClC,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,GAAG,aAAa,CAwFlF"}