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,444 @@
1
+ /**
2
+ * Core transport engine for LLM HTTP communication.
3
+ * S ref: §25.4 (LLM Gateway), I-01 (no SDK deps), I-04 (provider independence)
4
+ *
5
+ * Phase: 5A (Sprint 5A — Shared Transport Infrastructure)
6
+ * Implements: createTransportEngine() factory
7
+ *
8
+ * Behaviors:
9
+ * execute() — non-streaming: fetch + retry (2 retries / 3 total, 120s cap, 60s Retry-After cap)
10
+ * executeStream() — streaming: fetch + NO retry after first byte, tiered timeouts
11
+ * shutdown() — abort all in-flight requests, reject new requests
12
+ *
13
+ * Security constraints enforced:
14
+ * C-SEC-P5-06: Response size limit 10MB
15
+ * C-SEC-P5-07: JSON parse safety
16
+ * C-SEC-P5-15: Circuit breaker checked BEFORE each retry
17
+ * C-SEC-P5-19: TLS enforcement for non-local URLs
18
+ * C-SEC-P5-20: Shutdown support (GATEWAY_SHUTTING_DOWN)
19
+ * CR-1 / C-SEC-P5-04: API key resolved ONCE at adapter creation
20
+ * CR-2: Retry-After > 60s → hard error
21
+ * CR-3: Streaming timeouts (30s first-byte, 30s stall, 10min total)
22
+ *
23
+ * Hard Stop #7: All temporal logic uses TimeProvider.
24
+ */
25
+ // ─── Constants ───
26
+ /** Maximum number of retries for non-streaming requests (2 retries = 3 total attempts) */
27
+ const MAX_RETRIES = 2;
28
+ /** Total duration cap for non-streaming requests: 120 seconds */
29
+ const DURATION_CAP_MS = 120_000;
30
+ /** Maximum Retry-After value: 60 seconds (CR-2) */
31
+ const MAX_RETRY_AFTER_MS = 60_000;
32
+ /** Response size limit: 10MB (C-SEC-P5-06) */
33
+ const MAX_RESPONSE_BYTES = 10_485_760;
34
+ /** Streaming: first-byte timeout 30s (CR-3) */
35
+ const STREAM_FIRST_BYTE_TIMEOUT_MS = 30_000;
36
+ /** Streaming: stall detection timeout 30s (CR-3) */
37
+ const STREAM_STALL_TIMEOUT_MS = 30_000;
38
+ /** Streaming: total duration cap 10 minutes (CR-3) */
39
+ const STREAM_TOTAL_TIMEOUT_MS = 600_000;
40
+ // ─── Error Helper ───
41
+ class TransportError extends Error {
42
+ code;
43
+ constructor(code, message) {
44
+ super(message);
45
+ this.name = 'TransportError';
46
+ this.code = code;
47
+ }
48
+ }
49
+ /**
50
+ * C-SEC-P5-01/02: Scrub potential credentials from error messages.
51
+ * Removes URL query parameter values that could contain API keys
52
+ * (e.g., Gemini ?key=AIzaSy...) and Bearer tokens.
53
+ */
54
+ function scrubErrorMessage(msg) {
55
+ return msg
56
+ .replace(/([?&])key=[^&\s]*/gi, '$1key=[REDACTED]')
57
+ .replace(/Bearer\s+[^\s"']*/gi, 'Bearer [REDACTED]');
58
+ }
59
+ // ─── URL Validation ───
60
+ /**
61
+ * Check if a URL is a local address (loopback or localhost).
62
+ * Local URLs are exempt from TLS enforcement.
63
+ */
64
+ function isLocalUrl(url) {
65
+ try {
66
+ const parsed = new URL(url);
67
+ const hostname = parsed.hostname;
68
+ return (hostname === 'localhost' ||
69
+ hostname === '127.0.0.1' ||
70
+ hostname === '::1' ||
71
+ hostname === '[::1]' ||
72
+ hostname.endsWith('.local'));
73
+ }
74
+ catch {
75
+ return false;
76
+ }
77
+ }
78
+ /**
79
+ * C-SEC-P5-19: TLS enforcement for non-local URLs.
80
+ * Reject http:// URLs that are not local.
81
+ */
82
+ function enforceTls(url) {
83
+ if (url.startsWith('http://') && !isLocalUrl(url)) {
84
+ throw new TransportError('TRANSPORT_TLS_REQUIRED', 'Non-local URLs must use HTTPS (C-SEC-P5-19)');
85
+ }
86
+ }
87
+ // ─── Retry-After Parsing ───
88
+ /**
89
+ * Parse HTTP Retry-After header value.
90
+ * Supports both seconds format and HTTP-date format.
91
+ * Returns delay in milliseconds, or null if unparseable.
92
+ */
93
+ function parseRetryAfter(value, clock) {
94
+ if (!value)
95
+ return null;
96
+ // Try as seconds (integer)
97
+ const seconds = parseInt(value, 10);
98
+ if (!isNaN(seconds) && seconds >= 0) {
99
+ return seconds * 1000;
100
+ }
101
+ // Try as HTTP-date
102
+ const date = Date.parse(value);
103
+ if (!isNaN(date)) {
104
+ const delayMs = date - clock.nowMs();
105
+ return delayMs > 0 ? delayMs : 0;
106
+ }
107
+ return null;
108
+ }
109
+ // ─── Response Size Check ───
110
+ /**
111
+ * C-SEC-P5-06: Check response size from Content-Length header.
112
+ * Also checked after reading the body.
113
+ */
114
+ function checkResponseSize(contentLength) {
115
+ if (contentLength) {
116
+ const size = parseInt(contentLength, 10);
117
+ if (!isNaN(size) && size > MAX_RESPONSE_BYTES) {
118
+ throw new TransportError('TRANSPORT_RESPONSE_TOO_LARGE', `Response size ${size} bytes exceeds limit of ${MAX_RESPONSE_BYTES} bytes (C-SEC-P5-06)`);
119
+ }
120
+ }
121
+ }
122
+ // ─── Transport Engine Factory ───
123
+ /**
124
+ * Create a transport engine instance.
125
+ * S ref: §25.4, C-07 (Object.freeze)
126
+ *
127
+ * @param options - Configuration options including time provider, health updater, circuit breaker
128
+ */
129
+ export function createTransportEngine(options) {
130
+ const clock = options?.time ?? { nowISO: () => new Date().toISOString(), nowMs: () => Date.now() };
131
+ const updateHealth = options?.updateHealth;
132
+ const isCircuitOpen = options?.isCircuitOpen;
133
+ /** C-SEC-P5-20: Track in-flight controllers for shutdown */
134
+ const inFlightControllers = new Set();
135
+ let shuttingDown = false;
136
+ /**
137
+ * Create a composed abort signal from caller signal + timeout.
138
+ * Uses AbortSignal.any() (Node.js >= 22).
139
+ */
140
+ function createComposedSignal(callerSignal, timeoutMs, controller) {
141
+ const signals = [controller.signal];
142
+ if (callerSignal) {
143
+ signals.push(callerSignal);
144
+ }
145
+ signals.push(AbortSignal.timeout(timeoutMs));
146
+ return AbortSignal.any(signals);
147
+ }
148
+ /**
149
+ * Extract headers from fetch Response as a plain object.
150
+ */
151
+ function extractHeaders(response) {
152
+ const headers = {};
153
+ response.headers.forEach((value, key) => {
154
+ headers[key] = value;
155
+ });
156
+ return headers;
157
+ }
158
+ /**
159
+ * Execute a non-streaming LLM request with retry logic.
160
+ *
161
+ * Retry policy:
162
+ * - Maximum 2 retries (3 total attempts)
163
+ * - 120s total duration cap
164
+ * - Retry-After > 60s → hard error (CR-2)
165
+ * - Circuit breaker checked BEFORE each attempt (C-SEC-P5-15)
166
+ * - Only retryable status codes trigger retry (adapter.isRetryableStatus)
167
+ */
168
+ async function execute(adapter, opts) {
169
+ // C-SEC-P5-20: Reject if shutting down
170
+ if (shuttingDown) {
171
+ throw new TransportError('GATEWAY_SHUTTING_DOWN', 'Transport engine is shutting down');
172
+ }
173
+ const startTime = clock.nowMs();
174
+ let lastError = null;
175
+ let retryCount = 0;
176
+ for (let attempt = 0; attempt <= MAX_RETRIES; attempt++) {
177
+ // C-SEC-P5-15: Circuit breaker check BEFORE each attempt
178
+ if (isCircuitOpen?.(adapter.providerId)) {
179
+ throw new TransportError('TRANSPORT_CIRCUIT_OPEN', `Circuit breaker open for provider ${adapter.providerId}`);
180
+ }
181
+ // Duration cap check
182
+ const elapsed = clock.nowMs() - startTime;
183
+ if (elapsed >= DURATION_CAP_MS) {
184
+ throw new TransportError('TRANSPORT_TIMEOUT', `Total duration cap exceeded: ${elapsed}ms >= ${DURATION_CAP_MS}ms`);
185
+ }
186
+ const remainingMs = DURATION_CAP_MS - elapsed;
187
+ const controller = new AbortController();
188
+ inFlightControllers.add(controller);
189
+ try {
190
+ // C-SEC-P5-20: Check shutdown again after adding controller
191
+ if (shuttingDown) {
192
+ throw new TransportError('GATEWAY_SHUTTING_DOWN', 'Transport engine is shutting down');
193
+ }
194
+ const httpRequest = adapter.buildRequest(opts.request, false);
195
+ // C-SEC-P5-19: TLS enforcement
196
+ enforceTls(httpRequest.url);
197
+ const composedSignal = createComposedSignal(opts.signal, remainingMs, controller);
198
+ const attemptStart = clock.nowMs();
199
+ const response = await fetch(httpRequest.url, {
200
+ method: httpRequest.method,
201
+ headers: httpRequest.headers,
202
+ body: JSON.stringify(httpRequest.body),
203
+ signal: composedSignal,
204
+ });
205
+ const attemptLatency = clock.nowMs() - attemptStart;
206
+ // Check if status is retryable
207
+ if (!response.ok && adapter.isRetryableStatus(response.status)) {
208
+ // Parse Retry-After
209
+ const retryAfterMs = parseRetryAfter(response.headers.get('retry-after'), clock);
210
+ // CR-2: Retry-After > 60s → hard error
211
+ if (retryAfterMs !== null && retryAfterMs > MAX_RETRY_AFTER_MS) {
212
+ updateHealth?.(adapter.providerId, false, attemptLatency, `Retry-After too long: ${retryAfterMs}ms`);
213
+ throw new TransportError('TRANSPORT_RETRY_AFTER_TOO_LONG', `Retry-After ${retryAfterMs}ms exceeds maximum ${MAX_RETRY_AFTER_MS}ms (CR-2)`);
214
+ }
215
+ // Update health: failure
216
+ updateHealth?.(adapter.providerId, false, attemptLatency, `HTTP ${response.status}`);
217
+ if (attempt < MAX_RETRIES) {
218
+ retryCount++;
219
+ // Wait for Retry-After delay or use exponential backoff
220
+ const delay = retryAfterMs ?? Math.min(1000 * Math.pow(2, attempt), 10000);
221
+ await new Promise((resolve) => {
222
+ const timerId = setTimeout(resolve, delay);
223
+ // If aborted during wait, resolve immediately
224
+ if (composedSignal.aborted) {
225
+ clearTimeout(timerId);
226
+ resolve();
227
+ }
228
+ });
229
+ continue;
230
+ }
231
+ // All retries exhausted
232
+ throw new TransportError('TRANSPORT_RETRY_EXHAUSTED', `All ${MAX_RETRIES + 1} attempts failed for provider ${adapter.providerId}. Last status: ${response.status}`);
233
+ }
234
+ // Non-retryable error
235
+ if (!response.ok) {
236
+ const attemptLat = clock.nowMs() - attemptStart;
237
+ updateHealth?.(adapter.providerId, false, attemptLat, `HTTP ${response.status}`);
238
+ throw new TransportError('TRANSPORT_PROVIDER_ERROR', `Provider ${adapter.providerId} returned non-retryable status ${response.status}`);
239
+ }
240
+ // C-SEC-P5-06: Check Content-Length
241
+ checkResponseSize(response.headers.get('content-length'));
242
+ // Read response body
243
+ const bodyText = await response.text();
244
+ // C-SEC-P5-06: Verify actual body size
245
+ if (bodyText.length > MAX_RESPONSE_BYTES) {
246
+ throw new TransportError('TRANSPORT_RESPONSE_TOO_LARGE', `Response body ${bodyText.length} bytes exceeds limit of ${MAX_RESPONSE_BYTES} bytes (C-SEC-P5-06)`);
247
+ }
248
+ // Build TransportHttpResponse
249
+ const httpResponse = {
250
+ status: response.status,
251
+ headers: extractHeaders(response),
252
+ body: bodyText,
253
+ };
254
+ // Parse response via adapter (C-SEC-P5-07: JSON parse safety handled here)
255
+ let result;
256
+ try {
257
+ result = adapter.parseResponse(httpResponse);
258
+ }
259
+ catch (parseErr) {
260
+ const msg = parseErr instanceof Error ? parseErr.message : String(parseErr);
261
+ // Distinguish JSON parse errors from other parse errors
262
+ if (msg.includes('JSON') || msg.includes('parse') || msg.includes('Unexpected token')) {
263
+ throw new TransportError('TRANSPORT_JSON_PARSE_ERROR', `Failed to parse provider response: ${msg}`);
264
+ }
265
+ throw parseErr;
266
+ }
267
+ const totalMs = clock.nowMs() - startTime;
268
+ // Update health: success
269
+ updateHealth?.(adapter.providerId, true, attemptLatency);
270
+ return {
271
+ ...result,
272
+ retryCount,
273
+ totalMs,
274
+ };
275
+ }
276
+ catch (error) {
277
+ if (error instanceof TransportError) {
278
+ lastError = error;
279
+ // Re-throw non-retryable transport errors immediately
280
+ if (error.code === 'GATEWAY_SHUTTING_DOWN' ||
281
+ error.code === 'TRANSPORT_CIRCUIT_OPEN' ||
282
+ error.code === 'TRANSPORT_TIMEOUT' ||
283
+ error.code === 'TRANSPORT_TLS_REQUIRED' ||
284
+ error.code === 'TRANSPORT_RETRY_AFTER_TOO_LONG' ||
285
+ error.code === 'TRANSPORT_PROVIDER_ERROR' ||
286
+ error.code === 'TRANSPORT_RESPONSE_TOO_LARGE' ||
287
+ error.code === 'TRANSPORT_JSON_PARSE_ERROR' ||
288
+ error.code === 'TRANSPORT_RETRY_EXHAUSTED') {
289
+ throw error;
290
+ }
291
+ }
292
+ // Handle abort (caller signal or timeout)
293
+ if (error instanceof DOMException && error.name === 'AbortError') {
294
+ if (shuttingDown) {
295
+ throw new TransportError('GATEWAY_SHUTTING_DOWN', 'Request aborted: transport engine shutting down');
296
+ }
297
+ if (opts.signal?.aborted) {
298
+ throw new TransportError('TRANSPORT_ABORTED', 'Request aborted by caller');
299
+ }
300
+ throw new TransportError('TRANSPORT_TIMEOUT', 'Request timed out');
301
+ }
302
+ // Handle TimeoutError (from AbortSignal.timeout)
303
+ if (error instanceof DOMException && error.name === 'TimeoutError') {
304
+ throw new TransportError('TRANSPORT_TIMEOUT', 'Request timed out');
305
+ }
306
+ // Network errors — retryable on non-final attempt
307
+ if (error instanceof TypeError) {
308
+ const attemptLat = clock.nowMs() - startTime;
309
+ updateHealth?.(adapter.providerId, false, attemptLat, error.message);
310
+ lastError = error;
311
+ if (attempt < MAX_RETRIES) {
312
+ retryCount++;
313
+ continue;
314
+ }
315
+ }
316
+ // Unknown error — don't retry
317
+ if (lastError && !(lastError instanceof TransportError)) {
318
+ throw new TransportError('TRANSPORT_NETWORK_ERROR', `Network error after ${retryCount + 1} attempt(s): ${scrubErrorMessage(lastError.message)}`);
319
+ }
320
+ throw lastError ?? error;
321
+ }
322
+ finally {
323
+ inFlightControllers.delete(controller);
324
+ }
325
+ }
326
+ // Should not reach here, but safety net
327
+ throw lastError ?? new TransportError('TRANSPORT_RETRY_EXHAUSTED', `All attempts exhausted for provider ${adapter.providerId}`);
328
+ }
329
+ /**
330
+ * Execute a streaming LLM request.
331
+ *
332
+ * Streaming policy:
333
+ * - NO retry after first byte received
334
+ * - 30s first-byte timeout (CR-3)
335
+ * - 30s stall detection within stream (handled by adapter/parser)
336
+ * - 10min total duration cap (CR-3)
337
+ */
338
+ async function executeStream(adapter, opts) {
339
+ // C-SEC-P5-20: Reject if shutting down
340
+ if (shuttingDown) {
341
+ throw new TransportError('GATEWAY_SHUTTING_DOWN', 'Transport engine is shutting down');
342
+ }
343
+ // C-SEC-P5-15: Circuit breaker check
344
+ if (isCircuitOpen?.(adapter.providerId)) {
345
+ throw new TransportError('TRANSPORT_CIRCUIT_OPEN', `Circuit breaker open for provider ${adapter.providerId}`);
346
+ }
347
+ const controller = new AbortController();
348
+ inFlightControllers.add(controller);
349
+ try {
350
+ if (shuttingDown) {
351
+ throw new TransportError('GATEWAY_SHUTTING_DOWN', 'Transport engine is shutting down');
352
+ }
353
+ const httpRequest = adapter.buildRequest(opts.request, true);
354
+ // C-SEC-P5-19: TLS enforcement
355
+ enforceTls(httpRequest.url);
356
+ // First-byte timeout: 30s
357
+ const firstByteSignal = createComposedSignal(opts.signal, STREAM_FIRST_BYTE_TIMEOUT_MS, controller);
358
+ const streamStart = clock.nowMs();
359
+ const response = await fetch(httpRequest.url, {
360
+ method: httpRequest.method,
361
+ headers: httpRequest.headers,
362
+ body: JSON.stringify(httpRequest.body),
363
+ signal: firstByteSignal,
364
+ });
365
+ if (!response.ok) {
366
+ const attemptLat = clock.nowMs() - streamStart;
367
+ updateHealth?.(adapter.providerId, false, attemptLat, `HTTP ${response.status}`);
368
+ throw new TransportError('TRANSPORT_PROVIDER_ERROR', `Provider ${adapter.providerId} returned status ${response.status} for streaming request`);
369
+ }
370
+ if (!response.body) {
371
+ throw new TransportError('TRANSPORT_STREAM_ERROR', 'Streaming response has no body');
372
+ }
373
+ // Delegate to adapter for stream parsing
374
+ // The adapter handles thinking block aggregation internally
375
+ const streamResult = adapter.parseStream(response.body, controller.signal);
376
+ // Wrap the stream to add total timeout and health update on completion
377
+ const startMs = streamStart;
378
+ async function* wrappedStream() {
379
+ try {
380
+ for await (const chunk of streamResult.stream) {
381
+ // CR-3: total duration cap
382
+ if (clock.nowMs() - startMs > STREAM_TOTAL_TIMEOUT_MS) {
383
+ throw new TransportError('TRANSPORT_STREAM_TOTAL_TIMEOUT', `Streaming total duration exceeded ${STREAM_TOTAL_TIMEOUT_MS}ms (CR-3)`);
384
+ }
385
+ yield chunk;
386
+ }
387
+ const totalLat = clock.nowMs() - startMs;
388
+ updateHealth?.(adapter.providerId, true, totalLat);
389
+ }
390
+ catch (error) {
391
+ const totalLat = clock.nowMs() - startMs;
392
+ const msg = error instanceof Error ? error.message : String(error);
393
+ updateHealth?.(adapter.providerId, false, totalLat, msg);
394
+ throw error;
395
+ }
396
+ finally {
397
+ inFlightControllers.delete(controller);
398
+ }
399
+ }
400
+ return {
401
+ stream: wrappedStream(),
402
+ getDeliberation: () => streamResult.getDeliberation(),
403
+ getTotalMs: () => clock.nowMs() - startMs,
404
+ };
405
+ }
406
+ catch (error) {
407
+ inFlightControllers.delete(controller);
408
+ if (error instanceof TransportError) {
409
+ throw error;
410
+ }
411
+ if (error instanceof DOMException && (error.name === 'AbortError' || error.name === 'TimeoutError')) {
412
+ if (shuttingDown) {
413
+ throw new TransportError('GATEWAY_SHUTTING_DOWN', 'Stream aborted: transport engine shutting down');
414
+ }
415
+ if (opts.signal?.aborted) {
416
+ throw new TransportError('TRANSPORT_ABORTED', 'Stream aborted by caller');
417
+ }
418
+ throw new TransportError('TRANSPORT_FIRST_BYTE_TIMEOUT', 'Streaming first-byte timeout exceeded (30s)');
419
+ }
420
+ throw new TransportError('TRANSPORT_NETWORK_ERROR', `Network error during stream setup: ${scrubErrorMessage(error instanceof Error ? error.message : String(error))}`);
421
+ }
422
+ }
423
+ /**
424
+ * C-SEC-P5-20: Initiate graceful shutdown.
425
+ * All in-flight requests are aborted. New requests are rejected.
426
+ */
427
+ function shutdown() {
428
+ shuttingDown = true;
429
+ for (const controller of inFlightControllers) {
430
+ controller.abort();
431
+ }
432
+ inFlightControllers.clear();
433
+ }
434
+ const engine = {
435
+ execute,
436
+ executeStream,
437
+ shutdown,
438
+ };
439
+ return Object.freeze(engine);
440
+ }
441
+ // ─── Exports ───
442
+ export { TransportError, MAX_RETRIES, DURATION_CAP_MS, MAX_RETRY_AFTER_MS, MAX_RESPONSE_BYTES };
443
+ export { STREAM_FIRST_BYTE_TIMEOUT_MS, STREAM_STALL_TIMEOUT_MS, STREAM_TOTAL_TIMEOUT_MS };
444
+ //# sourceMappingURL=transport_engine.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport_engine.js","sourceRoot":"","sources":["../../../src/substrate/transport/transport_engine.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * Transport layer types for LLM HTTP communication.
3
+ * S ref: §25.4 (LLM Gateway), I-01 (no SDK deps), I-04 (provider independence)
4
+ *
5
+ * Phase: 5A (Sprint 5A — Shared Transport Infrastructure)
6
+ * Implements: All composition types for the transport engine and provider adapters.
7
+ *
8
+ * This file is TYPES ONLY — no runtime logic.
9
+ *
10
+ * Design Source: Phase 5 Design Source Output 2 (Type Architecture)
11
+ */
12
+ import type { TimeProvider } from '../../kernel/interfaces/time.js';
13
+ import type { LlmRequest, LlmResponse, LlmStreamChunk } from '../interfaces/substrate.js';
14
+ /**
15
+ * Transport-layer error codes. Each maps to a specific failure scenario.
16
+ * S ref: §25.4, FM-06 (provider dependency), FM-12 (failover cascade)
17
+ */
18
+ export type TransportErrorCode = 'TRANSPORT_TIMEOUT' | 'TRANSPORT_RETRY_EXHAUSTED' | 'TRANSPORT_CIRCUIT_OPEN' | 'TRANSPORT_RESPONSE_TOO_LARGE' | 'TRANSPORT_JSON_PARSE_ERROR' | 'TRANSPORT_TLS_REQUIRED' | 'TRANSPORT_PROVIDER_ERROR' | 'TRANSPORT_NETWORK_ERROR' | 'TRANSPORT_ABORTED' | 'TRANSPORT_STREAM_ERROR' | 'TRANSPORT_RETRY_AFTER_TOO_LONG' | 'GATEWAY_SHUTTING_DOWN' | 'TRANSPORT_MISSING_API_KEY' | 'TRANSPORT_FIRST_BYTE_TIMEOUT' | 'TRANSPORT_STALL_DETECTED' | 'TRANSPORT_STREAM_TOTAL_TIMEOUT' | 'TRANSPORT_SSE_LINE_TOO_LONG' | 'TRANSPORT_SSE_MAX_EVENTS' | 'TRANSPORT_NDJSON_LINE_TOO_LONG';
19
+ /**
20
+ * A parsed Server-Sent Event.
21
+ * S ref: §27 (streaming protocol)
22
+ */
23
+ export interface SSEEvent {
24
+ /** The event type field (empty string if not specified) */
25
+ readonly event: string;
26
+ /** The data field (may span multiple lines, joined with \n) */
27
+ readonly data: string;
28
+ /** The id field (if present) */
29
+ readonly id?: string;
30
+ /** The retry field in milliseconds (if present) */
31
+ readonly retry?: number;
32
+ }
33
+ /**
34
+ * A provider-specific HTTP request, built by the adapter.
35
+ * S ref: I-01 (fetch-based, no SDK), I-04 (provider independence)
36
+ */
37
+ export interface TransportHttpRequest {
38
+ /** Full URL for the HTTP request */
39
+ readonly url: string;
40
+ /** HTTP method (always POST for LLM APIs) */
41
+ readonly method: 'POST';
42
+ /** HTTP headers (includes auth, content-type, provider-specific headers) */
43
+ readonly headers: Readonly<Record<string, string>>;
44
+ /** JSON-serializable request body */
45
+ readonly body: Record<string, unknown>;
46
+ /** Whether this request expects a streaming response */
47
+ readonly stream: boolean;
48
+ }
49
+ /**
50
+ * Raw HTTP response before provider-specific parsing.
51
+ */
52
+ export interface TransportHttpResponse {
53
+ /** HTTP status code */
54
+ readonly status: number;
55
+ /** HTTP headers */
56
+ readonly headers: Readonly<Record<string, string>>;
57
+ /** Response body as string (for non-streaming) */
58
+ readonly body: string;
59
+ }
60
+ /**
61
+ * Deliberation metrics extracted from provider responses.
62
+ * Tracks thinking/reasoning token usage for cost accounting.
63
+ * S ref: §25.6 (resource accounting — deliberation columns)
64
+ *
65
+ * CR-5: The Anthropic adapter handles thinking blocks → deliberation.
66
+ * OpenAI reasoning_tokens subtraction is NOT included (that is OpenAI-specific).
67
+ */
68
+ export interface DeliberationMetrics {
69
+ /** Number of deliberation/thinking tokens consumed */
70
+ readonly deliberationTokens: number;
71
+ /** Whether deliberation data is authoritative (from provider) or estimated */
72
+ readonly accountingMode: 'provider_authoritative' | 'estimated';
73
+ /** Raw provider-reported thinking token count, or null if not applicable */
74
+ readonly providerReportedThinkingTokens: number | null;
75
+ }
76
+ /**
77
+ * Result from a non-streaming transport execution.
78
+ * Includes both the LLM response and transport-level metadata.
79
+ */
80
+ export interface TransportResult {
81
+ /** The parsed LLM response */
82
+ readonly response: LlmResponse;
83
+ /** Deliberation metrics for accounting */
84
+ readonly deliberation: DeliberationMetrics;
85
+ /** Number of retry attempts made */
86
+ readonly retryCount: number;
87
+ /** Total wall clock time including retries */
88
+ readonly totalMs: number;
89
+ }
90
+ /**
91
+ * Result from a streaming transport execution.
92
+ * The stream is an async iterable of LlmStreamChunks.
93
+ */
94
+ export interface TransportStreamResult {
95
+ /** The async iterable stream of chunks */
96
+ readonly stream: AsyncIterable<LlmStreamChunk>;
97
+ /** Deliberation metrics — populated after stream completes */
98
+ readonly getDeliberation: () => DeliberationMetrics;
99
+ /** Total wall clock time — populated after stream completes */
100
+ readonly getTotalMs: () => number;
101
+ }
102
+ /**
103
+ * Provider adapter interface. Each provider (Anthropic, OpenAI, Ollama)
104
+ * implements this interface to translate between Limen's internal
105
+ * LlmRequest/LlmResponse and the provider's HTTP API.
106
+ *
107
+ * S ref: I-04 (provider independence), I-01 (no SDK deps)
108
+ *
109
+ * Key constraints:
110
+ * - C-SEC-P5-01/02: API key NEVER appears in logs or error messages
111
+ * - C-SEC-P5-22: Provider output is untrusted input
112
+ * - C-SEC-P5-23: Tool call structural validation
113
+ * - CR-1 / C-SEC-P5-04: API key resolved ONCE at creation, NOT per-request
114
+ */
115
+ export interface ProviderAdapter {
116
+ /** Provider identifier (e.g., 'anthropic', 'openai', 'ollama') */
117
+ readonly providerId: string;
118
+ /**
119
+ * Build provider-specific HTTP request from Limen LlmRequest.
120
+ * API key is embedded in headers at this point (resolved at adapter creation).
121
+ */
122
+ buildRequest(request: LlmRequest, streaming: boolean): TransportHttpRequest;
123
+ /**
124
+ * Parse provider-specific HTTP response into Limen LlmResponse.
125
+ * C-SEC-P5-22: Provider output is untrusted — validate structure.
126
+ * C-SEC-P5-23: Tool calls must have non-empty id, valid name, object input.
127
+ */
128
+ parseResponse(httpResponse: TransportHttpResponse): TransportResult;
129
+ /**
130
+ * Parse a streaming response into an async iterable of LlmStreamChunks.
131
+ * Thinking blocks are aggregated internally and NOT emitted as LlmStreamChunk.
132
+ * Deliberation metrics are available via getDeliberation() after stream completes.
133
+ */
134
+ parseStream(body: ReadableStream<Uint8Array>, signal?: AbortSignal): TransportStreamResult;
135
+ /** Whether this adapter supports streaming responses */
136
+ supportsStreaming(): boolean;
137
+ /**
138
+ * Whether the given HTTP status code is retryable for this provider.
139
+ * S ref: FM-12 (failover), DL-1 (circuit breaker)
140
+ */
141
+ isRetryableStatus(status: number): boolean;
142
+ }
143
+ /**
144
+ * Transport engine options for a single request.
145
+ */
146
+ export interface TransportExecuteOptions {
147
+ /** The original LLM request (for logging and metadata) */
148
+ readonly request: LlmRequest;
149
+ /** Optional caller-provided abort signal */
150
+ readonly signal?: AbortSignal;
151
+ }
152
+ /**
153
+ * Transport engine — executes HTTP requests against LLM providers.
154
+ * Handles retry logic, circuit breaker integration, timeouts, and health updates.
155
+ *
156
+ * S ref: §25.4 (LLM Gateway), I-01 (fetch-based), I-04 (provider independence)
157
+ *
158
+ * Key behaviors:
159
+ * - Non-streaming: 2 retries (3 total), 120s duration cap, Retry-After parsing
160
+ * - Streaming: NO retry after first byte, 30s first-byte timeout, 30s stall, 10min total
161
+ * - Circuit breaker checked BEFORE each attempt (C-SEC-P5-15)
162
+ * - Response size limit 10MB (C-SEC-P5-06)
163
+ * - TLS enforcement for non-local URLs (C-SEC-P5-19)
164
+ * - Shutdown support via AbortController tracking (C-SEC-P5-20)
165
+ */
166
+ export interface TransportEngine {
167
+ /**
168
+ * Execute a non-streaming LLM request with retry logic.
169
+ * Returns TransportResult on success, or rejects with a transport error.
170
+ */
171
+ execute(adapter: ProviderAdapter, options: TransportExecuteOptions): Promise<TransportResult>;
172
+ /**
173
+ * Execute a streaming LLM request.
174
+ * No retry after first byte received.
175
+ * Returns TransportStreamResult on success, or rejects with a transport error.
176
+ */
177
+ executeStream(adapter: ProviderAdapter, options: TransportExecuteOptions): Promise<TransportStreamResult>;
178
+ /**
179
+ * Initiate graceful shutdown. All in-flight requests are aborted
180
+ * with GATEWAY_SHUTTING_DOWN. New requests are rejected immediately.
181
+ * C-SEC-P5-20: Shutdown support.
182
+ */
183
+ shutdown(): void;
184
+ }
185
+ /**
186
+ * Function type for updating provider health after each request attempt.
187
+ * S ref: DL-1 (circuit breaker), §25.4 (provider health tracking)
188
+ */
189
+ export type UpdateProviderHealthFn = (providerId: string, success: boolean, latencyMs: number, errorMessage?: string) => void;
190
+ /**
191
+ * Function type for checking circuit breaker state before a request.
192
+ * Returns true if the circuit is OPEN (request should NOT proceed).
193
+ * S ref: C-SEC-P5-15, DL-1
194
+ */
195
+ export type IsCircuitOpenFn = (providerId: string) => boolean;
196
+ /**
197
+ * Options for creating a transport engine instance.
198
+ */
199
+ export interface TransportEngineOptions {
200
+ /** Time provider for clock injection (Hard Stop #7) */
201
+ readonly time?: TimeProvider;
202
+ /** Function to update provider health after attempts */
203
+ readonly updateHealth?: UpdateProviderHealthFn;
204
+ /** Function to check circuit breaker state */
205
+ readonly isCircuitOpen?: IsCircuitOpenFn;
206
+ }
207
+ //# sourceMappingURL=transport_types.d.ts.map