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,105 @@
1
+ /**
2
+ * Cost scaling verification tracker.
3
+ * S ref: I-15 (Linear Cost Scaling), §4 (Performance Invariants)
4
+ *
5
+ * Phase: Sprint 5 (Performance & Events)
6
+ * Implements: Per-session overhead tracking and linear scaling verification.
7
+ *
8
+ * I-15: "Engine overhead per agent-session scales linearly, not quadratically."
9
+ *
10
+ * Overhead = total tokens consumed - raw LLM I/O tokens.
11
+ * This captures the pipeline skeleton cost (system prompts, context assembly)
12
+ * and injected technique cost.
13
+ *
14
+ * Linear scaling is verified via R-squared (R^2) of linear regression on
15
+ * overhead vs session index. R^2 > 0.95 = linear. If <= 2 sessions exist,
16
+ * isLinear defaults to true (insufficient data for statistical verification).
17
+ *
18
+ * Design decisions:
19
+ * - `recordSessionOverhead`: Queries `core_interactions` for session token
20
+ * totals, computes overhead from ResponseMetadata technique cost.
21
+ * - `evaluateCostScaling`: Queries all sessions for a mission, runs linear
22
+ * regression, returns R^2 and verdict.
23
+ * - No new tables required: reads from existing `core_interactions`.
24
+ *
25
+ * Invariants enforced: I-15
26
+ * Failure modes defended: FM-02 (cost explosion detection)
27
+ */
28
+ import type { DatabaseConnection } from '../../kernel/interfaces/index.js';
29
+ import type { ResponseMetadata } from '../interfaces/api.js';
30
+ /**
31
+ * Per-session overhead snapshot.
32
+ */
33
+ export interface SessionOverhead {
34
+ readonly sessionId: string;
35
+ readonly missionId: string;
36
+ readonly fixedOverhead: number;
37
+ readonly techniqueOverhead: number;
38
+ readonly totalOverhead: number;
39
+ }
40
+ /**
41
+ * Cost scaling evaluation report.
42
+ */
43
+ export interface CostScalingReport {
44
+ readonly sessionCount: number;
45
+ readonly overheads: readonly SessionOverhead[];
46
+ readonly linearityR2: number;
47
+ readonly isLinear: boolean;
48
+ readonly averageOverhead: number;
49
+ readonly maxOverhead: number;
50
+ }
51
+ /**
52
+ * I-15: Record per-session overhead from pipeline metadata.
53
+ *
54
+ * Computes overhead as the difference between total tokens consumed and the
55
+ * raw LLM I/O (which scales with user content, not engine complexity).
56
+ *
57
+ * The technique overhead comes from ResponseMetadata.techniqueTokenCost,
58
+ * which tracks the token cost of injected prompt fragments (I-54).
59
+ *
60
+ * Fixed overhead is the pipeline skeleton cost: context assembly, system
61
+ * prompts, safety gates, evaluation, and audit instrumentation. This is
62
+ * estimated as (total tokens - user content tokens - technique tokens).
63
+ *
64
+ * Since this data is derived at pipeline time and stored implicitly in
65
+ * core_interactions, we return the computed overhead for the caller to
66
+ * use (e.g., emit as a warning event or store in metrics).
67
+ *
68
+ * @param conn - Database connection for querying core_interactions
69
+ * @param sessionId - Session identifier
70
+ * @param missionId - Mission identifier (may be empty for sessionless chat)
71
+ * @param metadata - ResponseMetadata from the completed pipeline
72
+ * @returns SessionOverhead snapshot
73
+ */
74
+ export declare function computeSessionOverhead(sessionId: string, missionId: string, metadata: ResponseMetadata): SessionOverhead;
75
+ /**
76
+ * I-15: Evaluate cost scaling linearity across sessions within a mission.
77
+ *
78
+ * Queries core_interactions for all sessions associated with a mission,
79
+ * computes per-session token totals, and runs linear regression on the
80
+ * overhead sequence to verify R^2 > 0.95 (linear scaling).
81
+ *
82
+ * If <= 2 sessions exist, isLinear defaults to true (insufficient data
83
+ * for meaningful statistical analysis).
84
+ *
85
+ * @param conn - Database connection
86
+ * @param missionId - Mission to evaluate
87
+ * @returns CostScalingReport with R^2, verdict, and per-session details
88
+ */
89
+ export declare function evaluateCostScaling(conn: DatabaseConnection, missionId: string): CostScalingReport;
90
+ /**
91
+ * Compute R^2 (coefficient of determination) for a sequence of values
92
+ * against their index (0, 1, 2, ..., n-1).
93
+ *
94
+ * R^2 = 1 - (SS_res / SS_tot)
95
+ * where:
96
+ * SS_res = sum of (actual - predicted)^2
97
+ * SS_tot = sum of (actual - mean)^2
98
+ *
99
+ * predicted = a + b * i (least squares linear fit)
100
+ *
101
+ * @param values - Array of numeric values ordered by index
102
+ * @returns R^2 value between 0 and 1 (1 = perfectly linear)
103
+ */
104
+ export declare function computeLinearR2(values: readonly number[]): number;
105
+ //# sourceMappingURL=cost_tracker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost_tracker.d.ts","sourceRoot":"","sources":["../../../src/api/enforcement/cost_tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AAC3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAM7D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,EAAE,SAAS,eAAe,EAAE,CAAC;IAC/C,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,gBAAgB,GACzB,eAAe,CA2BjB;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,kBAAkB,EACxB,SAAS,EAAE,MAAM,GAChB,iBAAiB,CAkFnB;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAgDjE"}
@@ -0,0 +1,227 @@
1
+ /**
2
+ * Cost scaling verification tracker.
3
+ * S ref: I-15 (Linear Cost Scaling), §4 (Performance Invariants)
4
+ *
5
+ * Phase: Sprint 5 (Performance & Events)
6
+ * Implements: Per-session overhead tracking and linear scaling verification.
7
+ *
8
+ * I-15: "Engine overhead per agent-session scales linearly, not quadratically."
9
+ *
10
+ * Overhead = total tokens consumed - raw LLM I/O tokens.
11
+ * This captures the pipeline skeleton cost (system prompts, context assembly)
12
+ * and injected technique cost.
13
+ *
14
+ * Linear scaling is verified via R-squared (R^2) of linear regression on
15
+ * overhead vs session index. R^2 > 0.95 = linear. If <= 2 sessions exist,
16
+ * isLinear defaults to true (insufficient data for statistical verification).
17
+ *
18
+ * Design decisions:
19
+ * - `recordSessionOverhead`: Queries `core_interactions` for session token
20
+ * totals, computes overhead from ResponseMetadata technique cost.
21
+ * - `evaluateCostScaling`: Queries all sessions for a mission, runs linear
22
+ * regression, returns R^2 and verdict.
23
+ * - No new tables required: reads from existing `core_interactions`.
24
+ *
25
+ * Invariants enforced: I-15
26
+ * Failure modes defended: FM-02 (cost explosion detection)
27
+ */
28
+ // ============================================================================
29
+ // Overhead Recording
30
+ // ============================================================================
31
+ /**
32
+ * I-15: Record per-session overhead from pipeline metadata.
33
+ *
34
+ * Computes overhead as the difference between total tokens consumed and the
35
+ * raw LLM I/O (which scales with user content, not engine complexity).
36
+ *
37
+ * The technique overhead comes from ResponseMetadata.techniqueTokenCost,
38
+ * which tracks the token cost of injected prompt fragments (I-54).
39
+ *
40
+ * Fixed overhead is the pipeline skeleton cost: context assembly, system
41
+ * prompts, safety gates, evaluation, and audit instrumentation. This is
42
+ * estimated as (total tokens - user content tokens - technique tokens).
43
+ *
44
+ * Since this data is derived at pipeline time and stored implicitly in
45
+ * core_interactions, we return the computed overhead for the caller to
46
+ * use (e.g., emit as a warning event or store in metrics).
47
+ *
48
+ * @param conn - Database connection for querying core_interactions
49
+ * @param sessionId - Session identifier
50
+ * @param missionId - Mission identifier (may be empty for sessionless chat)
51
+ * @param metadata - ResponseMetadata from the completed pipeline
52
+ * @returns SessionOverhead snapshot
53
+ */
54
+ export function computeSessionOverhead(sessionId, missionId, metadata) {
55
+ // Technique overhead comes from the pipeline's technique injection
56
+ const techniqueOverhead = metadata.techniqueTokenCost;
57
+ // Fixed overhead: pipeline skeleton cost beyond raw LLM I/O
58
+ // The total tokens includes everything; the raw I/O is input + output tokens
59
+ // that the user's content required. Fixed overhead is everything else.
60
+ // Since we cannot perfectly separate user-content tokens from system-prompt
61
+ // tokens at this level, we estimate fixed overhead as a constant per pipeline
62
+ // execution. The key invariant (I-15) is that this does NOT grow quadratically
63
+ // with session count.
64
+ //
65
+ // For now, fixed overhead = 0 (baseline). The actual pipeline skeleton tokens
66
+ // are accounted within input_tokens by the LLM provider. What matters for I-15
67
+ // is that technique overhead (which grows with technique count, not session
68
+ // count) is tracked and the total overhead per session stays bounded.
69
+ const fixedOverhead = 0;
70
+ const totalOverhead = fixedOverhead + techniqueOverhead;
71
+ return {
72
+ sessionId,
73
+ missionId,
74
+ fixedOverhead,
75
+ techniqueOverhead,
76
+ totalOverhead,
77
+ };
78
+ }
79
+ // ============================================================================
80
+ // Cost Scaling Evaluation
81
+ // ============================================================================
82
+ /**
83
+ * I-15: Evaluate cost scaling linearity across sessions within a mission.
84
+ *
85
+ * Queries core_interactions for all sessions associated with a mission,
86
+ * computes per-session token totals, and runs linear regression on the
87
+ * overhead sequence to verify R^2 > 0.95 (linear scaling).
88
+ *
89
+ * If <= 2 sessions exist, isLinear defaults to true (insufficient data
90
+ * for meaningful statistical analysis).
91
+ *
92
+ * @param conn - Database connection
93
+ * @param missionId - Mission to evaluate
94
+ * @returns CostScalingReport with R^2, verdict, and per-session details
95
+ */
96
+ export function evaluateCostScaling(conn, missionId) {
97
+ // Query per-session token totals from core_interactions.
98
+ // Sessions are ordered by first interaction time (proxy for session index).
99
+ // Note: No core_sessions table exists yet. When it does (with mission_id FK),
100
+ // the missionId parameter can be used for scoped queries. Currently we query
101
+ // all sessions in core_interactions. The missionId filter is a forward
102
+ // obligation for when session-mission linking is implemented.
103
+ const effectiveSessions = conn.query(`SELECT
104
+ session_id,
105
+ SUM(input_tokens) as total_input,
106
+ SUM(output_tokens) as total_output,
107
+ COUNT(*) as interaction_count
108
+ FROM core_interactions
109
+ WHERE session_id IS NOT NULL
110
+ GROUP BY session_id
111
+ ORDER BY MIN(created_at) ASC`);
112
+ if (effectiveSessions.length === 0) {
113
+ return {
114
+ sessionCount: 0,
115
+ overheads: [],
116
+ linearityR2: 1.0,
117
+ isLinear: true,
118
+ averageOverhead: 0,
119
+ maxOverhead: 0,
120
+ };
121
+ }
122
+ // Compute per-session overhead
123
+ // For I-15 verification: overhead = total tokens per session.
124
+ // The invariant states overhead scales linearly with session count,
125
+ // meaning each new session adds a roughly constant cost, not a
126
+ // cost proportional to the number of existing sessions.
127
+ const overheads = effectiveSessions.map((s) => {
128
+ const totalTokens = s.total_input + s.total_output;
129
+ return {
130
+ sessionId: s.session_id,
131
+ missionId,
132
+ fixedOverhead: totalTokens,
133
+ techniqueOverhead: 0, // Computed at pipeline time, not queryable after the fact
134
+ totalOverhead: totalTokens,
135
+ };
136
+ });
137
+ // If <= 2 sessions, insufficient data for regression
138
+ if (overheads.length <= 2) {
139
+ const avg = overheads.reduce((sum, o) => sum + o.totalOverhead, 0) / overheads.length;
140
+ const maxOh = Math.max(...overheads.map(o => o.totalOverhead));
141
+ return {
142
+ sessionCount: overheads.length,
143
+ overheads,
144
+ linearityR2: 1.0,
145
+ isLinear: true,
146
+ averageOverhead: avg,
147
+ maxOverhead: maxOh,
148
+ };
149
+ }
150
+ // Linear regression: fit overhead[i] = a + b * i
151
+ // R^2 = 1 - (SS_res / SS_tot)
152
+ const n = overheads.length;
153
+ const values = overheads.map(o => o.totalOverhead);
154
+ const r2 = computeLinearR2(values);
155
+ const avg = values.reduce((sum, v) => sum + v, 0) / n;
156
+ const maxOh = Math.max(...values);
157
+ return {
158
+ sessionCount: n,
159
+ overheads,
160
+ linearityR2: r2,
161
+ isLinear: r2 > 0.95,
162
+ averageOverhead: avg,
163
+ maxOverhead: maxOh,
164
+ };
165
+ }
166
+ // ============================================================================
167
+ // Linear Regression Helper
168
+ // ============================================================================
169
+ /**
170
+ * Compute R^2 (coefficient of determination) for a sequence of values
171
+ * against their index (0, 1, 2, ..., n-1).
172
+ *
173
+ * R^2 = 1 - (SS_res / SS_tot)
174
+ * where:
175
+ * SS_res = sum of (actual - predicted)^2
176
+ * SS_tot = sum of (actual - mean)^2
177
+ *
178
+ * predicted = a + b * i (least squares linear fit)
179
+ *
180
+ * @param values - Array of numeric values ordered by index
181
+ * @returns R^2 value between 0 and 1 (1 = perfectly linear)
182
+ */
183
+ export function computeLinearR2(values) {
184
+ const n = values.length;
185
+ if (n <= 1)
186
+ return 1.0;
187
+ // Compute means
188
+ let sumX = 0;
189
+ let sumY = 0;
190
+ for (let i = 0; i < n; i++) {
191
+ sumX += i;
192
+ sumY += (values[i] ?? 0);
193
+ }
194
+ const meanX = sumX / n;
195
+ const meanY = sumY / n;
196
+ // Compute slope (b) and intercept (a) via least squares
197
+ let numerator = 0;
198
+ let denominator = 0;
199
+ for (let i = 0; i < n; i++) {
200
+ const dx = i - meanX;
201
+ numerator += dx * ((values[i] ?? 0) - meanY);
202
+ denominator += dx * dx;
203
+ }
204
+ // If all x values are identical (impossible for index sequence but handle gracefully)
205
+ if (denominator === 0)
206
+ return 1.0;
207
+ const b = numerator / denominator;
208
+ const a = meanY - b * meanX;
209
+ // Compute SS_res and SS_tot
210
+ let ssRes = 0;
211
+ let ssTot = 0;
212
+ for (let i = 0; i < n; i++) {
213
+ const val = values[i] ?? 0;
214
+ const predicted = a + b * i;
215
+ const residual = val - predicted;
216
+ ssRes += residual * residual;
217
+ const deviation = val - meanY;
218
+ ssTot += deviation * deviation;
219
+ }
220
+ // If SS_tot is 0 (all values identical), perfect linear fit
221
+ if (ssTot === 0)
222
+ return 1.0;
223
+ const r2 = 1 - (ssRes / ssTot);
224
+ // Clamp to [0, 1] to handle floating point imprecision
225
+ return Math.max(0, Math.min(1, r2));
226
+ }
227
+ //# sourceMappingURL=cost_tracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cost_tracker.js","sourceRoot":"","sources":["../../../src/api/enforcement/cost_tracker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Latency budget enforcement harness.
3
+ * S ref: I-14 (Predictable Latency), §4 (Performance Invariants)
4
+ *
5
+ * Phase: Sprint 5 (Performance & Events)
6
+ * Implements: Per-phase latency budget verification for the 9-phase chat pipeline.
7
+ *
8
+ * I-14: "Memory retrieval: < 50ms for up to 100K memories. Perception: < 5ms.
9
+ * Mutation-audit: < 1ms (same SQLite transaction). Hot-path total
10
+ * (excl. LLM): <= 103ms."
11
+ *
12
+ * This module is a VERIFICATION function, not middleware. It takes phase timings
13
+ * from ResponseMetadata.phases (produced by the pipeline) and returns a report
14
+ * indicating whether budgets were met or violated.
15
+ *
16
+ * Design decisions:
17
+ * - Pure function: no side effects, no database access, no state mutation.
18
+ * - Does NOT throw on violation: returns violations in report (degraded mode).
19
+ * - WARNING when phase exceeds budget by < 2x; CRITICAL when >= 2x.
20
+ * - 'generation' phase excluded from hot-path total (LLM latency is external).
21
+ *
22
+ * Invariants enforced: I-14
23
+ * Failure modes defended: FM-11 (observability overhead < 2%)
24
+ */
25
+ import type { PipelinePhase } from '../interfaces/api.js';
26
+ /**
27
+ * I-14: Per-phase latency budgets in milliseconds.
28
+ * Defaults derived from spec:
29
+ * - perception: 5ms
30
+ * - retrieval: 50ms (100K memories)
31
+ * - contextAssembly: 15ms
32
+ * - preSafety: 5ms
33
+ * - postSafety: 5ms
34
+ * - learning: 10ms
35
+ * - evaluation: 5ms
36
+ * - audit: 1ms (mutation-audit, same SQLite transaction)
37
+ * - hotPathTotal: 103ms (sum excl. generation)
38
+ */
39
+ export interface LatencyBudget {
40
+ readonly perception: number;
41
+ readonly retrieval: number;
42
+ readonly contextAssembly: number;
43
+ readonly preSafety: number;
44
+ readonly postSafety: number;
45
+ readonly learning: number;
46
+ readonly evaluation: number;
47
+ readonly audit: number;
48
+ readonly hotPathTotal: number;
49
+ }
50
+ /**
51
+ * A single latency budget violation detected during evaluation.
52
+ */
53
+ export interface LatencyViolation {
54
+ readonly phase: PipelinePhase;
55
+ readonly budgetMs: number;
56
+ readonly actualMs: number;
57
+ readonly severity: 'warning' | 'critical';
58
+ }
59
+ /**
60
+ * Latency evaluation report produced by evaluateLatency().
61
+ */
62
+ export interface LatencyReport {
63
+ readonly violations: readonly LatencyViolation[];
64
+ readonly hotPathMs: number;
65
+ readonly hotPathBudgetMs: number;
66
+ readonly withinBudget: boolean;
67
+ }
68
+ /**
69
+ * I-14: Default latency budgets derived from the spec.
70
+ * All values in milliseconds.
71
+ */
72
+ export declare const DEFAULT_LATENCY_BUDGET: LatencyBudget;
73
+ /**
74
+ * I-14: Evaluate phase timings against latency budgets.
75
+ *
76
+ * Pure function. Takes phase timings from ResponseMetadata.phases and returns
77
+ * a LatencyReport with any violations found.
78
+ *
79
+ * Severity classification:
80
+ * - WARNING: phase exceeds budget but by less than 2x
81
+ * - CRITICAL: phase exceeds budget by 2x or more
82
+ *
83
+ * The 'generation' phase is excluded from hot-path total calculation because
84
+ * LLM inference latency is external and unbounded by design.
85
+ *
86
+ * @param phases - Array of { phase, durationMs } from ResponseMetadata
87
+ * @param budget - Optional partial budget overrides (merged with defaults)
88
+ * @returns LatencyReport with violations, hot-path total, and overall verdict
89
+ */
90
+ export declare function evaluateLatency(phases: ReadonlyArray<{
91
+ readonly phase: PipelinePhase;
92
+ readonly durationMs: number;
93
+ }>, budget?: Partial<LatencyBudget>): LatencyReport;
94
+ //# sourceMappingURL=latency_harness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latency_harness.d.ts","sourceRoot":"","sources":["../../../src/api/enforcement/latency_harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAM1D;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,QAAQ,EAAE,SAAS,GAAG,UAAU,CAAC;CAC3C;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAMD;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,aAUnC,CAAC;AAyBH;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,aAAa,CAAC;IAAE,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,EACrF,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAC9B,aAAa,CA6Cf"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Latency budget enforcement harness.
3
+ * S ref: I-14 (Predictable Latency), §4 (Performance Invariants)
4
+ *
5
+ * Phase: Sprint 5 (Performance & Events)
6
+ * Implements: Per-phase latency budget verification for the 9-phase chat pipeline.
7
+ *
8
+ * I-14: "Memory retrieval: < 50ms for up to 100K memories. Perception: < 5ms.
9
+ * Mutation-audit: < 1ms (same SQLite transaction). Hot-path total
10
+ * (excl. LLM): <= 103ms."
11
+ *
12
+ * This module is a VERIFICATION function, not middleware. It takes phase timings
13
+ * from ResponseMetadata.phases (produced by the pipeline) and returns a report
14
+ * indicating whether budgets were met or violated.
15
+ *
16
+ * Design decisions:
17
+ * - Pure function: no side effects, no database access, no state mutation.
18
+ * - Does NOT throw on violation: returns violations in report (degraded mode).
19
+ * - WARNING when phase exceeds budget by < 2x; CRITICAL when >= 2x.
20
+ * - 'generation' phase excluded from hot-path total (LLM latency is external).
21
+ *
22
+ * Invariants enforced: I-14
23
+ * Failure modes defended: FM-11 (observability overhead < 2%)
24
+ */
25
+ // ============================================================================
26
+ // Constants
27
+ // ============================================================================
28
+ /**
29
+ * I-14: Default latency budgets derived from the spec.
30
+ * All values in milliseconds.
31
+ */
32
+ export const DEFAULT_LATENCY_BUDGET = Object.freeze({
33
+ perception: 5,
34
+ retrieval: 50,
35
+ contextAssembly: 15,
36
+ preSafety: 5,
37
+ postSafety: 5,
38
+ learning: 10,
39
+ evaluation: 5,
40
+ audit: 1,
41
+ hotPathTotal: 103,
42
+ });
43
+ // ============================================================================
44
+ // Phase-to-Budget Mapping
45
+ // ============================================================================
46
+ /**
47
+ * Maps PipelinePhase names to LatencyBudget keys.
48
+ * 'generation' has no budget entry because it is excluded from hot-path totals.
49
+ */
50
+ const PHASE_BUDGET_MAP = new Map([
51
+ ['perception', 'perception'],
52
+ ['retrieval', 'retrieval'],
53
+ ['context_assembly', 'contextAssembly'],
54
+ ['pre_safety', 'preSafety'],
55
+ ['post_safety', 'postSafety'],
56
+ ['learning', 'learning'],
57
+ ['evaluation', 'evaluation'],
58
+ ['audit', 'audit'],
59
+ ]);
60
+ // ============================================================================
61
+ // Evaluation Function
62
+ // ============================================================================
63
+ /**
64
+ * I-14: Evaluate phase timings against latency budgets.
65
+ *
66
+ * Pure function. Takes phase timings from ResponseMetadata.phases and returns
67
+ * a LatencyReport with any violations found.
68
+ *
69
+ * Severity classification:
70
+ * - WARNING: phase exceeds budget but by less than 2x
71
+ * - CRITICAL: phase exceeds budget by 2x or more
72
+ *
73
+ * The 'generation' phase is excluded from hot-path total calculation because
74
+ * LLM inference latency is external and unbounded by design.
75
+ *
76
+ * @param phases - Array of { phase, durationMs } from ResponseMetadata
77
+ * @param budget - Optional partial budget overrides (merged with defaults)
78
+ * @returns LatencyReport with violations, hot-path total, and overall verdict
79
+ */
80
+ export function evaluateLatency(phases, budget) {
81
+ // Merge custom budget overrides with defaults
82
+ const effectiveBudget = {
83
+ ...DEFAULT_LATENCY_BUDGET,
84
+ ...budget,
85
+ };
86
+ const violations = [];
87
+ let hotPathMs = 0;
88
+ for (const entry of phases) {
89
+ // Exclude 'generation' from hot-path total
90
+ if (entry.phase !== 'generation') {
91
+ hotPathMs += entry.durationMs;
92
+ }
93
+ // Check per-phase budget
94
+ const budgetKey = PHASE_BUDGET_MAP.get(entry.phase);
95
+ if (budgetKey !== undefined) {
96
+ const phaseBudget = effectiveBudget[budgetKey];
97
+ if (entry.durationMs > phaseBudget) {
98
+ // Severity: CRITICAL if >= 2x budget, WARNING if < 2x
99
+ const severity = entry.durationMs >= phaseBudget * 2
100
+ ? 'critical'
101
+ : 'warning';
102
+ violations.push({
103
+ phase: entry.phase,
104
+ budgetMs: phaseBudget,
105
+ actualMs: entry.durationMs,
106
+ severity,
107
+ });
108
+ }
109
+ }
110
+ }
111
+ // Check hot-path total budget
112
+ const withinHotPath = hotPathMs <= effectiveBudget.hotPathTotal;
113
+ return {
114
+ violations,
115
+ hotPathMs,
116
+ hotPathBudgetMs: effectiveBudget.hotPathTotal,
117
+ withinBudget: violations.length === 0 && withinHotPath,
118
+ };
119
+ }
120
+ //# sourceMappingURL=latency_harness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"latency_harness.js","sourceRoot":"","sources":["../../../src/api/enforcement/latency_harness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAqDH,+EAA+E;AAC/E,YAAY;AACZ,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAkB,MAAM,CAAC,MAAM,CAAC;IACjE,UAAU,EAAE,CAAC;IACb,SAAS,EAAE,EAAE;IACb,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE,CAAC;IACZ,UAAU,EAAE,CAAC;IACb,QAAQ,EAAE,EAAE;IACZ,UAAU,EAAE,CAAC;IACb,KAAK,EAAE,CAAC;IACR,YAAY,EAAE,GAAG;CAClB,CAAC,CAAC;AAEH,+EAA+E;AAC/E,0BAA0B;AAC1B,+EAA+E;AAE/E;;;GAGG;AACH,MAAM,gBAAgB,GAA0E,IAAI,GAAG,CAAC;IACtG,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,WAAW,EAAE,WAAW,CAAC;IAC1B,CAAC,kBAAkB,EAAE,iBAAiB,CAAC;IACvC,CAAC,YAAY,EAAE,WAAW,CAAC;IAC3B,CAAC,aAAa,EAAE,YAAY,CAAC;IAC7B,CAAC,UAAU,EAAE,UAAU,CAAC;IACxB,CAAC,YAAY,EAAE,YAAY,CAAC;IAC5B,CAAC,OAAO,EAAE,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,+EAA+E;AAC/E,sBAAsB;AACtB,+EAA+E;AAE/E;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAqF,EACrF,MAA+B;IAE/B,8CAA8C;IAC9C,MAAM,eAAe,GAAkB;QACrC,GAAG,sBAAsB;QACzB,GAAG,MAAM;KACV,CAAC;IAEF,MAAM,UAAU,GAAuB,EAAE,CAAC;IAC1C,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,2CAA2C;QAC3C,IAAI,KAAK,CAAC,KAAK,KAAK,YAAY,EAAE,CAAC;YACjC,SAAS,IAAI,KAAK,CAAC,UAAU,CAAC;QAChC,CAAC;QAED,yBAAyB;QACzB,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAC/C,IAAI,KAAK,CAAC,UAAU,GAAG,WAAW,EAAE,CAAC;gBACnC,sDAAsD;gBACtD,MAAM,QAAQ,GAA2B,KAAK,CAAC,UAAU,IAAI,WAAW,GAAG,CAAC;oBAC1E,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,SAAS,CAAC;gBAEd,UAAU,CAAC,IAAI,CAAC;oBACd,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,QAAQ,EAAE,WAAW;oBACrB,QAAQ,EAAE,KAAK,CAAC,UAAU;oBAC1B,QAAQ;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,aAAa,GAAG,SAAS,IAAI,eAAe,CAAC,YAAY,CAAC;IAEhE,OAAO;QACL,UAAU;QACV,SAAS;QACT,eAAe,EAAE,eAAe,CAAC,YAAY;QAC7C,YAAY,EAAE,UAAU,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa;KACvD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Rate limit enforcement guard for the API surface.
3
+ * S ref: §36 (rate limiting), SD-14 (RBAC -> Rate Limit -> Execute ordering),
4
+ * FM-02 (cost explosion defense)
5
+ *
6
+ * Phase: 4 (API Surface)
7
+ * Implements: SDD §7 build order item 4
8
+ *
9
+ * After RBAC passes (FPD-5), rate limiting checks the token-bucket
10
+ * before allowing the operation to proceed. The kernel's RateLimiter
11
+ * handles the token-bucket state in SQLite.
12
+ *
13
+ * Three bucket types per §36:
14
+ * - api_calls: General API call rate (default 100/min)
15
+ * - emit_event: Event emission rate (default 10/min)
16
+ * - propose_rejections: Rejection tracking
17
+ *
18
+ * Invariants enforced: I-13 (enforcement ordering via SD-14)
19
+ * Failure modes defended: FM-02 (cost explosion via call frequency capping)
20
+ */
21
+ import type { OperationContext, RateLimiter, BucketType, DatabaseConnection } from '../../kernel/interfaces/index.js';
22
+ /**
23
+ * §36, SD-14: Require rate limit allowance for the current operation.
24
+ *
25
+ * This function MUST be called AFTER RBAC check (FPD-5) and BEFORE
26
+ * delegation to orchestration.
27
+ *
28
+ * The kernel's RateLimiter.checkAndConsume() atomically checks and
29
+ * consumes a token from the specified bucket. If no tokens remain,
30
+ * this function throws RATE_LIMITED with cooldownMs indicating when
31
+ * the bucket will refill.
32
+ *
33
+ * @param rateLimiter - The kernel's RateLimiter instance
34
+ * @param conn - Database connection for atomic token-bucket operations
35
+ * @param ctx - The operation context (scopes the bucket to tenant/agent)
36
+ * @param bucketType - Which rate limit bucket to check
37
+ * @throws LimenError with code RATE_LIMITED if bucket is exhausted
38
+ */
39
+ export declare function requireRateLimit(rateLimiter: RateLimiter, conn: DatabaseConnection, ctx: OperationContext, bucketType: BucketType): void;
40
+ /**
41
+ * §36: Check concurrent stream count against per-tenant limit.
42
+ *
43
+ * S36 specifies a default of 50 concurrent streams per tenant.
44
+ * This is separate from the token-bucket rate limiter -- it tracks
45
+ * active stream count in memory (not in SQLite).
46
+ *
47
+ * @param activeStreamCount - Current number of active streams for this tenant
48
+ * @param maxConcurrentStreams - Configured maximum (default 50 per S36)
49
+ * @throws LimenError with code RATE_LIMITED if stream limit reached
50
+ */
51
+ export declare function requireStreamCapacity(activeStreamCount: number, maxConcurrentStreams: number): void;
52
+ //# sourceMappingURL=rate_guard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate_guard.d.ts","sourceRoot":"","sources":["../../../src/api/enforcement/rate_guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,EAC9D,MAAM,kCAAkC,CAAC;AAG1C;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,kBAAkB,EACxB,GAAG,EAAE,gBAAgB,EACrB,UAAU,EAAE,UAAU,GACrB,IAAI,CA8BN;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,iBAAiB,EAAE,MAAM,EACzB,oBAAoB,EAAE,MAAM,GAC3B,IAAI,CAQN"}