@makaio/framework 1.0.0-dev-1781117225170 → 1.0.0-dev-1781354548379

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 (342) hide show
  1. package/README.md +29 -0
  2. package/dist/.makaio-build.json +2 -2
  3. package/dist/adapter-UpcpZDOv.mjs +1 -0
  4. package/dist/adapters/config/index.d.mts +1 -1
  5. package/dist/adapters/config/index.mjs +1 -1
  6. package/dist/adapters/index.d.mts +13 -5
  7. package/dist/adapters/index.mjs +2 -2
  8. package/dist/adapters/node.d.mts +1 -1
  9. package/dist/adapters/node.mjs +1 -1
  10. package/dist/bus/index.mjs +1 -1
  11. package/dist/client-BJVDImPV.d.mts +175 -0
  12. package/dist/clients/index.d.mts +101 -1
  13. package/dist/clients/index.mjs +2 -2
  14. package/dist/contracts/adapter/index.d.mts +2 -2
  15. package/dist/contracts/adapter/index.mjs +1 -1
  16. package/dist/contracts/adapter/schemas/session-lineage.d.mts +1 -1
  17. package/dist/contracts/artifact/index.d.mts +1 -1
  18. package/dist/contracts/client/index.d.mts +2 -2
  19. package/dist/contracts/common/index.d.mts +1 -1
  20. package/dist/contracts/config/index.d.mts +1 -1
  21. package/dist/contracts/extension/index.d.mts +4 -4
  22. package/dist/contracts/extension/index.mjs +1 -1
  23. package/dist/contracts/facet/index.d.mts +1 -1
  24. package/dist/contracts/harness/index.d.mts +1 -1
  25. package/dist/contracts/host/index.d.mts +1 -1
  26. package/dist/contracts/index.d.mts +786 -108
  27. package/dist/contracts/index.mjs +1 -1
  28. package/dist/contracts/materialization/index.d.mts +3 -3
  29. package/dist/contracts/model-registry/index.d.mts +1 -1
  30. package/dist/contracts/native-session-supervisor/index.d.mts +1 -1
  31. package/dist/contracts/platform/index.d.mts +1 -1
  32. package/dist/contracts/provider/index.d.mts +2 -2
  33. package/dist/contracts/session/index.d.mts +3 -3
  34. package/dist/contracts/session/index.mjs +1 -1
  35. package/dist/contracts/shared/index.d.mts +1 -1
  36. package/dist/contracts/skill/index.d.mts +1 -1
  37. package/dist/contracts/telemetry/index.d.mts +1 -1
  38. package/dist/contracts/timeout/index.d.mts +1 -1
  39. package/dist/contracts/variant/index.d.mts +1 -1
  40. package/dist/{definition-Cp-5xJp_.d.mts → definition-DqJOg6Lv.d.mts} +1 -1
  41. package/dist/{detached-extension-handle-oXbjv1tA.mjs → detached-extension-handle-Diiwgm13.mjs} +1 -1
  42. package/dist/drizzle/0001_messages_content_tsv.na.md +18 -0
  43. package/dist/drizzle/0012_legal_kate_bishop.sql +3 -0
  44. package/dist/drizzle/0013_eager_rhodey.sql +56 -0
  45. package/dist/drizzle/0014_fancy_ultimo.sql +1 -0
  46. package/dist/drizzle/0015_m_mqbh8q5b.sql +1 -0
  47. package/dist/drizzle/0016_m_mqbmq8h7.sql +1 -0
  48. package/dist/drizzle/0017_m_mqbnf924.sql +1 -0
  49. package/dist/drizzle/meta/0012_snapshot.json +2934 -0
  50. package/dist/drizzle/meta/0013_snapshot.json +2954 -0
  51. package/dist/drizzle/meta/0014_snapshot.json +2959 -0
  52. package/dist/drizzle/meta/0015_snapshot.json +2966 -0
  53. package/dist/drizzle/meta/0016_snapshot.json +2973 -0
  54. package/dist/drizzle/meta/0017_snapshot.json +2980 -0
  55. package/dist/drizzle/meta/_journal.json +42 -0
  56. package/dist/drizzle-wjquQK2m.mjs +1 -0
  57. package/dist/extension-DfNcE0zm.mjs +1 -0
  58. package/dist/extension-ZBN4BGre.mjs +1 -0
  59. package/dist/{filesystem-service-CBJT7A5w.mjs → filesystem-service-BjfrUmGS.mjs} +1 -1
  60. package/dist/{globby-C0lgTOUl.mjs → globby-BIH65cbN.mjs} +1 -1
  61. package/dist/handler-DqpiV9eA.mjs +1 -0
  62. package/dist/handlers-BAB4fQNH.mjs +41 -0
  63. package/dist/{index-uQl_1wQO.d.mts → index-BAhJKQLX.d.mts} +8 -8
  64. package/dist/{index-i7o6FtS0.d.mts → index-BDRKAxIV.d.mts} +129 -2
  65. package/dist/{index-CXfWW8cP.d.mts → index-BHAOu6Hs.d.mts} +20 -20
  66. package/dist/{index-t9Vt4Jbb.d.mts → index-BHzgDuRE.d.mts} +20 -3
  67. package/dist/{index-SFkbbDxs.d.mts → index-BYkOUd0x.d.mts} +1 -1
  68. package/dist/{index-CmGvjpUG.d.mts → index-BheaEhyI.d.mts} +6 -6
  69. package/dist/{index-Dsu1tPHm.d.mts → index-Bibt5jAX.d.mts} +8 -8
  70. package/dist/{index-Bw8SkcWG.d.mts → index-Bw_zL7Rs.d.mts} +1 -1
  71. package/dist/{index-ClgVA8Rz.d.mts → index-C3zfJg6s.d.mts} +6 -6
  72. package/dist/{index-v2kRZnfw2.d.mts → index-CH5U3zSA2.d.mts} +20 -10
  73. package/dist/{index-hWzUQtDn.d.mts → index-CTn_Xi-p.d.mts} +92 -19
  74. package/dist/{index-BY-fz0Jy.d.mts → index-DPIdX6kb.d.mts} +358 -110
  75. package/dist/{index-kLBWooVu.d.mts → index-Da4ABgRq.d.mts} +12 -12
  76. package/dist/{index-C1uZLARQ.d.mts → index-DrGLAuZc.d.mts} +1409 -72
  77. package/dist/{index-CT-zFurA.d.mts → index-Drz_a7kW.d.mts} +1 -1
  78. package/dist/{index-BELri1Hy.d.mts → index-IekAD8Gp.d.mts} +8 -8
  79. package/dist/{index-C_jIVT40.d.mts → index-fVgKVvta.d.mts} +1 -1
  80. package/dist/{index-BFaeVdsn2.d.mts → index-zgm2j9V92.d.mts} +44 -2
  81. package/dist/kernel/cli/index.d.mts +2 -2
  82. package/dist/kernel/cli/register.d.mts +1 -1
  83. package/dist/kernel/extension/index.d.mts +1 -1
  84. package/dist/kernel/extension/index.mjs +1 -1
  85. package/dist/kernel/index.d.mts +5 -5
  86. package/dist/kernel/index.mjs +1 -1
  87. package/dist/kernel/namespace/index.d.mts +1 -1
  88. package/dist/kernel/observability/index.d.mts +1 -1
  89. package/dist/kernel/providers/index.d.mts +1 -1
  90. package/dist/kernel/window/index.d.mts +1 -1
  91. package/dist/{lib-zuQKc8ym.mjs → lib-Cq5R6Tx9.mjs} +1 -1
  92. package/dist/{lib-IkUYa2Qs.mjs → lib-nlcl5kRW.mjs} +1 -1
  93. package/dist/{load-extensions-DE8qDIqi.d.mts → load-extensions-D9nbDIiW.d.mts} +1 -1
  94. package/dist/{load-extensions-CwxilDj1.mjs → load-extensions-wELQ4BBN.mjs} +1 -1
  95. package/dist/mcp-http-server/index.d.mts +132 -19
  96. package/dist/mcp-http-server/index.mjs +2 -2
  97. package/dist/{namespace-Dik_dNeE.d.mts → namespace--s0d86h-.d.mts} +144 -0
  98. package/dist/{namespace-ffepZB8Y.d.mts → namespace-B73Sxj5L.d.mts} +6 -6
  99. package/dist/{namespace-CZPu_jvy.d.mts → namespace-Boe6l5n9.d.mts} +82 -46
  100. package/dist/{namespace-Da_dHfdm.d.mts → namespace-BxxBhcV_.d.mts} +2 -2
  101. package/dist/namespace-Dfq6MDN9.mjs +1 -0
  102. package/dist/{namespace-DvHoeMUV.d.mts → namespace-aJJfBJU5.d.mts} +173 -3
  103. package/dist/node/bus-server/index.d.mts +1 -1
  104. package/dist/node/bus-server/index.mjs +1 -1
  105. package/dist/node/bus-server/server-lifecycle.d.mts +1 -1
  106. package/dist/node/bus-server/server-lifecycle.mjs +1 -1
  107. package/dist/{orchestrator-shared-FnWrPS09.mjs → orchestrator-shared-BKFXaKPL.mjs} +1 -1
  108. package/dist/{package-B2HkKyRz.d.mts → package--RZnpN2J.d.mts} +2 -3
  109. package/dist/package-BzJvtM5O.mjs +1 -0
  110. package/dist/package-DzN_jdqd.mjs +1 -0
  111. package/dist/package.json +1 -1
  112. package/dist/primitive-runtime-CNC_bSac.mjs +1 -0
  113. package/dist/registry-RG-bkw3c.mjs +146 -0
  114. package/dist/rules/index.d.mts +1 -1
  115. package/dist/rules/index.mjs +1 -1
  116. package/dist/rules/schemas.d.mts +1 -1
  117. package/dist/runtime-bun/index.mjs +1 -1
  118. package/dist/runtime-node/bus/runtime/namespace.d.mts +8 -8
  119. package/dist/runtime-node/bus/runtime/schemas.d.mts +11 -4
  120. package/dist/runtime-node/bus/runtime/schemas.mjs +1 -1
  121. package/dist/runtime-node/extension-discovery.d.mts +1 -1
  122. package/dist/runtime-node/extension-validation.d.mts +1 -1
  123. package/dist/runtime-node/extension-validation.mjs +1 -1
  124. package/dist/runtime-node/index.d.mts +77 -38
  125. package/dist/runtime-node/index.mjs +26 -53
  126. package/dist/runtime-node/makaio-config.d.mts +1 -1
  127. package/dist/runtime-node/makaio-config.mjs +1 -1
  128. package/dist/runtime-node/workflow-worker/index.d.mts +1 -1
  129. package/dist/runtime-node/workflow-worker/index.mjs +1 -1
  130. package/dist/runtime-node/workflow-worker/worker-entry.mjs +1 -1
  131. package/dist/schema-C3TgjrsV.mjs +1 -0
  132. package/dist/schema-CzhOc7TV.mjs +1 -0
  133. package/dist/{schema-CfuF2cXW.d.mts → schema-DGMLvVoQ.d.mts} +237 -11
  134. package/dist/schemas-CuKayWhA.mjs +1 -0
  135. package/dist/{schemas-SPI-Y87l2.d.mts → schemas-kVcJMjjn2.d.mts} +6 -6
  136. package/dist/{schemas-BiMxSTUx.d.mts → schemas-t1VR6_b_.d.mts} +3 -3
  137. package/dist/services/adapter-runtime/index.d.mts +3 -3
  138. package/dist/services/adapter-runtime/namespace.d.mts +1 -1
  139. package/dist/services/adapter-runtime/schemas.d.mts +1 -1
  140. package/dist/services/adapter-subsystem/index.d.mts +2 -2
  141. package/dist/services/adapter-subsystem/namespace.d.mts +1 -1
  142. package/dist/services/agent-runtime/index.d.mts +2 -2
  143. package/dist/services/agent-runtime/namespace.d.mts +1 -1
  144. package/dist/services/agent-runtime/schemas.d.mts +1 -1
  145. package/dist/services/capability/index.d.mts +1 -1
  146. package/dist/services/codebase/index.d.mts +2 -2
  147. package/dist/services/codebase/namespace.d.mts +1 -1
  148. package/dist/services/codebase/schemas.d.mts +1 -1
  149. package/dist/services/compression/index.d.mts +2 -2
  150. package/dist/services/compression/namespace.d.mts +1 -1
  151. package/dist/services/compression/schemas.d.mts +1 -1
  152. package/dist/services/context-rules/index.d.mts +4 -4
  153. package/dist/services/execution-target/index.d.mts +3 -3
  154. package/dist/services/execution-target/namespace.d.mts +1 -1
  155. package/dist/services/execution-target/schemas.d.mts +1 -1
  156. package/dist/services/filesystem/index.d.mts +1 -1
  157. package/dist/services/filesystem/index.mjs +1 -1
  158. package/dist/services/filesystem/namespace.d.mts +6 -6
  159. package/dist/services/filesystem/schemas.d.mts +3 -3
  160. package/dist/services/harness/index.d.mts +31 -20
  161. package/dist/services/harness/index.mjs +1 -1
  162. package/dist/services/harness/storage/schema.d.mts +60 -16
  163. package/dist/services/harness/storage/schema.mjs +1 -1
  164. package/dist/services/index.d.mts +166 -69
  165. package/dist/services/index.mjs +1 -1
  166. package/dist/services/log-import/browser.d.mts +2 -2
  167. package/dist/services/log-import/index.d.mts +9 -15
  168. package/dist/services/log-import/index.mjs +2 -2
  169. package/dist/services/log-import/log-import.d.mts +1 -1
  170. package/dist/services/model-registry/index.d.mts +1 -1
  171. package/dist/services/preferences/index.d.mts +2 -2
  172. package/dist/services/preferences/schemas.d.mts +1 -1
  173. package/dist/services/preferences/storage-namespace.d.mts +2 -2
  174. package/dist/services/provider-context/index.d.mts +1 -1
  175. package/dist/services/provider-context/index.mjs +1 -1
  176. package/dist/services/session/handlers/index.d.mts +1 -1
  177. package/dist/services/session/handlers/index.mjs +1 -1
  178. package/dist/services/session/index.d.mts +10 -10
  179. package/dist/services/session/index.mjs +1 -1
  180. package/dist/services/session/messages/namespace.d.mts +1 -1
  181. package/dist/services/session/messages/namespace.mjs +1 -1
  182. package/dist/services/session/orchestrator-testing/index.d.mts +1 -1
  183. package/dist/services/session/orchestrator-testing/index.mjs +1 -1
  184. package/dist/services/session/session-events/namespace.d.mts +1 -1
  185. package/dist/services/session/session-events/namespace.mjs +1 -1
  186. package/dist/services/session/storage/namespace.d.mts +1 -1
  187. package/dist/services/session/storage/schema.d.mts +2 -2
  188. package/dist/services/session/storage/schema.mjs +1 -1
  189. package/dist/services/session/testing/index.d.mts +18 -2
  190. package/dist/services/session/testing/index.mjs +54 -3
  191. package/dist/services/session/testing/orchestrator-shared.d.mts +1 -1
  192. package/dist/services/session/testing/orchestrator-shared.mjs +1 -1
  193. package/dist/services/session/turns/namespace.d.mts +1 -1
  194. package/dist/services/session/turns/namespace.mjs +1 -1
  195. package/dist/services/session-editor/index.d.mts +1 -1
  196. package/dist/services/settings/index.d.mts +3 -3
  197. package/dist/services/settings/index.mjs +1 -1
  198. package/dist/services/settings/namespace.d.mts +6 -6
  199. package/dist/services/settings/storage/clients-namespace.d.mts +1 -1
  200. package/dist/services/settings/storage/clients-namespace.mjs +1 -1
  201. package/dist/services/settings/storage/index.d.mts +3 -3
  202. package/dist/services/settings/storage/index.mjs +1 -1
  203. package/dist/services/settings/storage/providers-namespace.d.mts +1 -1
  204. package/dist/services/settings/storage/providers-namespace.mjs +1 -1
  205. package/dist/services/subagent/index.d.mts +1 -1
  206. package/dist/services/subagent/index.mjs +1 -1
  207. package/dist/services/subagent-template/index.d.mts +2 -2
  208. package/dist/services/subagent-template/namespace.d.mts +1 -1
  209. package/dist/services/subagent-template/schemas.d.mts +1 -1
  210. package/dist/services/tool-approval/index.d.mts +1 -1
  211. package/dist/services/tool-approval/index.mjs +1 -1
  212. package/dist/services/tools/index.d.mts +1 -1
  213. package/dist/services/tools/index.mjs +1 -1
  214. package/dist/services/tray-menu/index.d.mts +3 -3
  215. package/dist/services/tray-menu/namespace.d.mts +1 -1
  216. package/dist/services/tray-menu/schemas.d.mts +1 -1
  217. package/dist/services/turn/index.d.mts +1 -1
  218. package/dist/services/turn/namespace.d.mts +1 -1
  219. package/dist/services/turn/schemas.d.mts +72 -0
  220. package/dist/services/turn/schemas.mjs +1 -1
  221. package/dist/{session-C1Cami7U.mjs → session-BwX5_k47.mjs} +1 -1
  222. package/dist/session-P4nX60Xx.mjs +39 -0
  223. package/dist/{src-DI5TcYUW.mjs → src-CBG3IHUl.mjs} +1 -1
  224. package/dist/storage/drizzle/client.d.mts +2 -78
  225. package/dist/storage/drizzle/client.mjs +1 -1
  226. package/dist/storage/drizzle/columns/postgres.d.mts +88 -0
  227. package/dist/storage/drizzle/columns/postgres.mjs +1 -0
  228. package/dist/storage/drizzle/columns/sqlite.d.mts +81 -0
  229. package/dist/storage/drizzle/columns/sqlite.mjs +1 -0
  230. package/dist/storage/drizzle/index.d.mts +976 -23
  231. package/dist/storage/drizzle/index.mjs +1 -1
  232. package/dist/storage/handlers/drizzle/index.d.mts +1 -1
  233. package/dist/storage/handlers/drizzle/index.mjs +1 -1
  234. package/dist/storage/handlers/index.d.mts +1 -1
  235. package/dist/storage/handlers/index.mjs +1 -1
  236. package/dist/testing/drizzle-harness.d.mts +52 -6
  237. package/dist/testing/drizzle-harness.mjs +1 -1
  238. package/dist/testing/index.d.mts +34 -2
  239. package/dist/testing/index.mjs +1 -1
  240. package/dist/{tool-approval-service-BgNcJvKx.mjs → tool-approval-service-DNHV5x0M.mjs} +1 -1
  241. package/dist/tools-CQImrHAp.mjs +1 -0
  242. package/dist/{types-CZHV05Lu.d.mts → types-BpuLMR2m.d.mts} +616 -433
  243. package/dist/{types-C5Uy3WEy.d.mts → types-D0fPFh-D.d.mts} +1 -1
  244. package/dist/{types-0u6hpELc.d.mts → types-D6jnDjP2.d.mts} +18 -5
  245. package/dist/ui-components/index.d.mts +36 -37
  246. package/dist/ui-kernel/index.d.mts +1 -1
  247. package/dist/ui-kernel/pages/schemas.d.mts +1 -1
  248. package/dist/ui-views/index.d.mts +2 -2
  249. package/dist/workflow-engine/index.d.mts +539 -110
  250. package/dist/workflow-engine/index.mjs +1 -1
  251. package/dist/workflow-engine/package.d.mts +1 -1
  252. package/dist/workflow-engine/package.mjs +1 -1
  253. package/dist/workflow-engine/workflow-orchestrator.mjs +1 -1
  254. package/dist/{workflow-worker-hDaQzTBl.mjs → workflow-worker-CK9Sqj7D.mjs} +1 -1
  255. package/package.json +49 -1
  256. package/dist/adapter-Dt2FDMs4.mjs +0 -1
  257. package/dist/drizzle-DpjZFY_j.mjs +0 -1
  258. package/dist/extension--5Q190u_.mjs +0 -1
  259. package/dist/extension-DFIZ3FCJ.mjs +0 -1
  260. package/dist/handlers-Bev7-xjL.mjs +0 -41
  261. package/dist/namespace-CDiM5Bcr.mjs +0 -1
  262. package/dist/namespace-h0HIuqx0.mjs +0 -1
  263. package/dist/package-C9wOiMK9.mjs +0 -1
  264. package/dist/package-OE9dMQsq.mjs +0 -1
  265. package/dist/primitive-runtime-1Z3JbRUj.mjs +0 -1
  266. package/dist/schema-DCJyzRHe.mjs +0 -1
  267. package/dist/schema-DOnJmAPw.mjs +0 -1
  268. package/dist/schemas-CSUwpaNm.mjs +0 -1
  269. package/dist/session-BnfsJoZi.mjs +0 -134
  270. package/dist/tools-B8d8Iqqx.mjs +0 -1
  271. package/dist/types-yTKQTAok.d.mts +0 -31
  272. /package/dist/{ajv-0JG5NFEd.mjs → ajv-BA2z5ztb.mjs} +0 -0
  273. /package/dist/{await-trigger-CHuOd5co.mjs → await-trigger-DREnXCEJ.mjs} +0 -0
  274. /package/dist/{base-orchestrator-D-S9v5VY.d.mts → base-orchestrator-M5mAB5-w.d.mts} +0 -0
  275. /package/dist/{cleanEnvForAdapter-BlpmyXYk.mjs → cleanEnvForAdapter-vZfPGi0X.mjs} +0 -0
  276. /package/dist/{clients-namespace-E97p_GKF.d.mts → clients-namespace-SFk7OTop.d.mts} +0 -0
  277. /package/dist/{config-namespace-R_34Wfps.d.mts → config-namespace-BzAvE2nY.d.mts} +0 -0
  278. /package/dist/{create-static-mount-B9Szo_7y.mjs → create-static-mount-BB1MIQ9J.mjs} +0 -0
  279. /package/dist/{cross-spawn-CTptpCy4.mjs → cross-spawn-BL6EvJBv.mjs} +0 -0
  280. /package/dist/{cursor-storage-YikwAZR5.mjs → cursor-storage-CmKjSvKY.mjs} +0 -0
  281. /package/dist/{definition-CYzWS2eR.d.mts → definition-BSghHJpQ.d.mts} +0 -0
  282. /package/dist/{definition-CvOuzWNT.d.mts → definition-q6iLw11H.d.mts} +0 -0
  283. /package/dist/{descriptor-to-package-9nrAH_D5.mjs → descriptor-to-package-CY8oc2gl.mjs} +0 -0
  284. /package/dist/{esm-CglYG5aA.mjs → esm-CQVFKEW5.mjs} +0 -0
  285. /package/dist/{extension-discovery-BD1-oNU_.d.mts → extension-discovery-CkV_VRdJ.d.mts} +0 -0
  286. /package/dist/{filesystem-service-BcwRp4k1.d.mts → filesystem-service-Ddngll0j.d.mts} +0 -0
  287. /package/dist/{index-DJQew2k-.d.mts → index-9IDJUJ4X.d.mts} +0 -0
  288. /package/dist/{index-CNYPKkyH.d.mts → index-BBvcP-P0.d.mts} +0 -0
  289. /package/dist/{index-DfUBcVtG.d.mts → index-BCKRUuI2.d.mts} +0 -0
  290. /package/dist/{index-Dn9Uum3F.d.mts → index-BMpRB6iE.d.mts} +0 -0
  291. /package/dist/{index-CdNDnxXR.d.mts → index-BbCjtc3h.d.mts} +0 -0
  292. /package/dist/{index-B6RGNugn.d.mts → index-BnQSPC6c.d.mts} +0 -0
  293. /package/dist/{index-DUPZKsd3.d.mts → index-BpXX9WZJ.d.mts} +0 -0
  294. /package/dist/{index-DUhXk_q6.d.mts → index-BpniJgxu.d.mts} +0 -0
  295. /package/dist/{index-ChG8ZUNP.d.mts → index-Bsp0O_sI.d.mts} +0 -0
  296. /package/dist/{index-CF7dnqQj.d.mts → index-Buo9H8RK.d.mts} +0 -0
  297. /package/dist/{index-9KnLzPYu.d.mts → index-BxFA1XcP.d.mts} +0 -0
  298. /package/dist/{index-AZ4iLe7O2.d.mts → index-C33Tq1ei2.d.mts} +0 -0
  299. /package/dist/{index--0CnhN0g.d.mts → index-C6BhKRnH.d.mts} +0 -0
  300. /package/dist/{index-BV8rSmDZ.d.mts → index-CDU_s69P.d.mts} +0 -0
  301. /package/dist/{index-BDlpFEsp2.d.mts → index-CGJjA-hR2.d.mts} +0 -0
  302. /package/dist/{index-DNGUXQGC.d.mts → index-Cz9JMjZK.d.mts} +0 -0
  303. /package/dist/{index-C-YBGCCG.d.mts → index-D0SUjZmU.d.mts} +0 -0
  304. /package/dist/{index-yNb7G73-.d.mts → index-D6Iyvz9T.d.mts} +0 -0
  305. /package/dist/{index-ziQTLYUO.d.mts → index-DOfq0qqv.d.mts} +0 -0
  306. /package/dist/{index-BYxgW2i0.d.mts → index-DSV1aFgK.d.mts} +0 -0
  307. /package/dist/{index-Dbwm5Y-Q.d.mts → index-Dsq2zKvu.d.mts} +0 -0
  308. /package/dist/{jsonl-transport-DBHQgcIm.mjs → jsonl-transport-C21tpVfe.mjs} +0 -0
  309. /package/dist/{lib-CaOdTS9F.mjs → lib-CNOQJtgs.mjs} +0 -0
  310. /package/dist/{namespace-DnZ4rS6T2.d.mts → namespace-B60mn8J-2.d.mts} +0 -0
  311. /package/dist/{namespace-DfYutvMT.d.mts → namespace-BBVtD1gu.d.mts} +0 -0
  312. /package/dist/{namespace-BaJJxBsI.d.mts → namespace-CHMszppN.d.mts} +0 -0
  313. /package/dist/{namespace-uGw5nK6d.d.mts → namespace-CqUGzG53.d.mts} +0 -0
  314. /package/dist/{namespace-13uMtVGj.d.mts → namespace-DRFJN-_z.d.mts} +0 -0
  315. /package/dist/{namespace-TfZGCy7N.d.mts → namespace-DzVf1hVH.d.mts} +0 -0
  316. /package/dist/{namespace-QTFnJWHC.d.mts → namespace-XTGCaSXj.d.mts} +0 -0
  317. /package/dist/{namespace-CTrNKkxY.d.mts → namespace-nlsvvMtD.d.mts} +0 -0
  318. /package/dist/{namespace-DkDvQJhB.d.mts → namespace-uuR0Fg5r.d.mts} +0 -0
  319. /package/dist/{orchestrator-shared-BZVeoRfr.d.mts → orchestrator-shared-D91Wk7z-.d.mts} +0 -0
  320. /package/dist/{out-CiFds_ap.mjs → out-C1JFb2Bp.mjs} +0 -0
  321. /package/dist/{provider-context-lfG0BpqX.mjs → provider-context-wp4VSJFI.mjs} +0 -0
  322. /package/dist/{providers-namespace-Cc9FQ-Zt.d.mts → providers-namespace-BqWYkydw.d.mts} +0 -0
  323. /package/dist/{schemas-BD-1NGmS.d.mts → schemas-B5ToLwIs.d.mts} +0 -0
  324. /package/dist/{schemas-Hy-lsBpg.d.mts → schemas-B77Gi8Xr.d.mts} +0 -0
  325. /package/dist/{schemas-BzK1I1eX.d.mts → schemas-C792eVAZ.d.mts} +0 -0
  326. /package/dist/{schemas-CYS6bkht.d.mts → schemas-Chyj6HuZ.d.mts} +0 -0
  327. /package/dist/{schemas-DL_bGYyZ.d.mts → schemas-DZUaRcYl.d.mts} +0 -0
  328. /package/dist/{schemas-DdZwjeF0.d.mts → schemas-Dv5FxHDT.d.mts} +0 -0
  329. /package/dist/{schemas-CsjB6gel.d.mts → schemas-Dyk7JuVl.d.mts} +0 -0
  330. /package/dist/{schemas-DFWGb4uj.d.mts → schemas-Kq33MTPY.d.mts} +0 -0
  331. /package/dist/{schemas-BFeP62V4.d.mts → schemas-lqvZ6UpK.d.mts} +0 -0
  332. /package/dist/{server-lifecycle-DVAbXQzg.d.mts → server-lifecycle-47mygK3E.d.mts} +0 -0
  333. /package/dist/{server-lifecycle-JTFuSJhg.mjs → server-lifecycle-Cg47L59Q.mjs} +0 -0
  334. /package/dist/{session-lineage-CxHc3_bm.d.mts → session-lineage-CKg6mErA.d.mts} +0 -0
  335. /package/dist/{shared-schemas-CKe2uN4-.mjs → shared-schemas-DYL7a-No.mjs} +0 -0
  336. /package/dist/{src-4_2jBceX.mjs → src-DedDL9iv.mjs} +0 -0
  337. /package/dist/{storage-namespace-I30TaZP7.d.mts → storage-namespace-BXmMUd7a.d.mts} +0 -0
  338. /package/dist/{storage-namespace-definition-ZNBL3v2h.d.mts → storage-namespace-definition-C3XbpiP8.d.mts} +0 -0
  339. /package/dist/{types-11QnNmpW.d.mts → types-5Gw3iVpK.d.mts} +0 -0
  340. /package/dist/{types-BKNpS4Xw.d.mts → types-B0BtvVAq.d.mts} +0 -0
  341. /package/dist/{types-BtMNh2FS.d.mts → types-D-bP8RRE.d.mts} +0 -0
  342. /package/dist/{window-registry-QD1rTk_f.d.mts → window-registry-CfEi_Ji4.d.mts} +0 -0
@@ -1,16 +1,18 @@
1
- import { r as ExecutionTarget } from "./schemas-BD-1NGmS.mjs";
2
- import { d as Turn$1 } from "./index--0CnhN0g.mjs";
3
- import { a as PipelineStep, o as SessionEditorAction, t as ActionCategory } from "./types-11QnNmpW.mjs";
4
- import { a as agents, o as sessions } from "./schema-CfuF2cXW.mjs";
1
+ import { r as ExecutionTarget } from "./schemas-B5ToLwIs.mjs";
2
+ import { d as Turn$1 } from "./index-C6BhKRnH.mjs";
3
+ import { a as PipelineStep, o as SessionEditorAction, t as ActionCategory } from "./types-5Gw3iVpK.mjs";
5
4
  import { z } from "zod";
6
5
  import * as _$_makaio_core0 from "@makaio/framework/core";
7
6
  import { ExtractSubjectPayload, SubjectDefinition } from "@makaio/framework/core";
8
7
  import { IMakaioBus } from "@makaio/framework/bus";
9
- import { AIReasoningLevel, AdapterRuntimeOptions, BranchKind, ContextWindowState, ExtensionContext, ForkOptions, ForkTransforms, IMakaioSession, MakaioSessionAgent, MakaioSessionEvent, Message, MessageBlock, MessageInput, ReasoningLevelMap, SessionContext, SessionExtensionContext, SessionLineage, SessionLineageKind, SessionMessage, SessionMessageBlock, TurnInitiator } from "@makaio/framework/contracts";
8
+ import { AIReasoningLevel, AdapterRuntimeOptions, BranchKind, ContextWindowState, ForkOptions, ForkTransforms, IMakaioSession, MakaioSessionAgent, MakaioSessionEvent, Message, MessageBlock, MessageInput, ReasoningLevelMap, SessionContext, SessionExtensionContext, SessionLineage, SessionLineageKind, SessionMessage, SessionMessageBlock, TurnInitiator } from "@makaio/framework/contracts";
10
9
  import { BaseService } from "@makaio/framework/service-base";
11
- import * as _$drizzle_orm_sqlite_core0 from "drizzle-orm/sqlite-core";
12
10
  import * as _$_makaio_storage_core0 from "@makaio/framework/storage";
11
+ import * as _$drizzle_orm_sqlite_core0 from "drizzle-orm/sqlite-core";
12
+ import * as _$drizzle_orm_pg_core0 from "drizzle-orm/pg-core";
13
+ import * as _$_makaio_storage_drizzle0 from "@makaio/framework/storage/drizzle";
13
14
  import { MakaioDatabase } from "@makaio/framework/storage/drizzle";
15
+ import * as _$drizzle_orm0 from "drizzle-orm";
14
16
 
15
17
  //#region services/core/src/session/session-service.d.ts
16
18
  /**
@@ -18,7 +20,8 @@ import { MakaioDatabase } from "@makaio/framework/storage/drizzle";
18
20
  *
19
21
  * Registers the minimal, load-bearing session handlers that the framework SDK
20
22
  * requires: `session.create`, `session.get`, `session.list`, `session.close`,
21
- * `session.agent.added`, and `session.agent.removed`.
23
+ * `session.turn.await`, `session.restartAgents`, `session.agent.added`, and
24
+ * `session.agent.removed`.
22
25
  *
23
26
  * Host-specific handlers (search, update, resume, archive, purge, analytics,
24
27
  * context window, branching) are registered by the host session service which
@@ -64,7 +67,7 @@ declare class MakaioSessionService extends BaseService {
64
67
  /**
65
68
  * Initialize the service.
66
69
  *
67
- * Registers the six framework-core session bus handlers, then performs
70
+ * Registers the framework-core session bus handlers, then performs
68
71
  * startup reconciliation to close any turns that were left `active` by a
69
72
  * prior process crash. Each orphaned turn is closed with status `'error'`
70
73
  * and a `'process-restart'` error message, and a `turn.completed` event is
@@ -103,8 +106,9 @@ interface CoreSessionServiceHandlerDeps {
103
106
  }
104
107
  /**
105
108
  * Registers the framework-core session service handlers:
106
- * `session.create`, `session.get`, `session.list`, `session.close`,
107
- * `session.update`, `session.archive`, `session.purge`,
109
+ * `session.create`, `session.get`, `session.list`, `session.turn.await`,
110
+ * `session.close`, `session.restartAgents`, `session.update`,
111
+ * `session.archive`, `session.purge`, `session.registerExternal`,
108
112
  * `session.agent.added`, and `session.agent.removed`.
109
113
  *
110
114
  * These handlers cover the minimal, load-bearing session contract for the
@@ -144,8 +148,8 @@ interface ISessionOrchestrator {
144
148
  * 1. Get or create session (via `getOrCreateSession`)
145
149
  * 2. Start agent if session has no agents — resolves the canonical
146
150
  * `adapterName` from direct selections, uses `adapterId` directly when
147
- * provided, otherwise resolves it via `AdapterRegistry`, then calls bare
148
- * `AdapterSubjects.startAgent`
151
+ * provided, otherwise resolves it via `AdapterRegistry`, resolves
152
+ * provider credentials when selected, then calls `AdapterSubjects.startAgent`
149
153
  * 3. Resolve target agents (via `resolveTargetAgents`)
150
154
  * 4. Verify agent liveness and build recovery context for dead agents
151
155
  * (requestOptional `AdapterSubjects.getAgent` + `buildRecoveryContext`)
@@ -186,7 +190,7 @@ declare class SessionOrchestrator implements ISessionOrchestrator {
186
190
  * Core flow:
187
191
  * 1. Get or create session
188
192
  * 2. Start agent if session has no agents (canonicalize direct selections,
189
- * resolve adapterId, bare startAgent)
193
+ * resolve adapterId, resolve provider credentials, startAgent)
190
194
  * 3. Resolve target agents
191
195
  * 4. Verify agent liveness and build recovery context for dead agents
192
196
  * 5. Get or create turn (via SessionTurnManager)
@@ -922,6 +926,7 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
922
926
  adapterSessionId: z.ZodOptional<z.ZodString>;
923
927
  model: z.ZodOptional<z.ZodString>;
924
928
  cwd: z.ZodOptional<z.ZodString>;
929
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
925
930
  providerConfigId: z.ZodOptional<z.ZodString>;
926
931
  personaId: z.ZodOptional<z.ZodString>;
927
932
  profileId: z.ZodOptional<z.ZodString>;
@@ -937,8 +942,8 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
937
942
  member: "member";
938
943
  }>;
939
944
  status: z.ZodEnum<{
940
- active: "active";
941
945
  idle: "idle";
946
+ active: "active";
942
947
  dead: "dead";
943
948
  disposed: "disposed";
944
949
  }>;
@@ -964,6 +969,7 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
964
969
  adapterSessionId: z.ZodOptional<z.ZodString>;
965
970
  model: z.ZodOptional<z.ZodString>;
966
971
  cwd: z.ZodOptional<z.ZodString>;
972
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
967
973
  providerConfigId: z.ZodOptional<z.ZodString>;
968
974
  personaId: z.ZodOptional<z.ZodString>;
969
975
  profileId: z.ZodOptional<z.ZodString>;
@@ -979,8 +985,8 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
979
985
  member: "member";
980
986
  }>;
981
987
  status: z.ZodEnum<{
982
- active: "active";
983
988
  idle: "idle";
989
+ active: "active";
984
990
  dead: "dead";
985
991
  disposed: "disposed";
986
992
  }>;
@@ -1017,8 +1023,8 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1017
1023
  adapterName: z.ZodString;
1018
1024
  status: z.ZodOptional<z.ZodEnum<{
1019
1025
  all: "all";
1020
- active: "active";
1021
1026
  idle: "idle";
1027
+ active: "active";
1022
1028
  dead: "dead";
1023
1029
  disposed: "disposed";
1024
1030
  }>>;
@@ -1032,6 +1038,7 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1032
1038
  adapterSessionId: z.ZodOptional<z.ZodString>;
1033
1039
  model: z.ZodOptional<z.ZodString>;
1034
1040
  cwd: z.ZodOptional<z.ZodString>;
1041
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1035
1042
  providerConfigId: z.ZodOptional<z.ZodString>;
1036
1043
  personaId: z.ZodOptional<z.ZodString>;
1037
1044
  profileId: z.ZodOptional<z.ZodString>;
@@ -1047,8 +1054,8 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1047
1054
  member: "member";
1048
1055
  }>;
1049
1056
  status: z.ZodEnum<{
1050
- active: "active";
1051
1057
  idle: "idle";
1058
+ active: "active";
1052
1059
  dead: "dead";
1053
1060
  disposed: "disposed";
1054
1061
  }>;
@@ -1076,6 +1083,7 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1076
1083
  adapterSessionId: z.ZodOptional<z.ZodString>;
1077
1084
  model: z.ZodOptional<z.ZodString>;
1078
1085
  cwd: z.ZodOptional<z.ZodString>;
1086
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1079
1087
  providerConfigId: z.ZodOptional<z.ZodString>;
1080
1088
  personaId: z.ZodOptional<z.ZodString>;
1081
1089
  profileId: z.ZodOptional<z.ZodString>;
@@ -1091,8 +1099,8 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1091
1099
  member: "member";
1092
1100
  }>;
1093
1101
  status: z.ZodEnum<{
1094
- active: "active";
1095
1102
  idle: "idle";
1103
+ active: "active";
1096
1104
  dead: "dead";
1097
1105
  disposed: "disposed";
1098
1106
  }>;
@@ -1111,8 +1119,8 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1111
1119
  request: z.ZodObject<{
1112
1120
  agentId: z.ZodString;
1113
1121
  status: z.ZodEnum<{
1114
- active: "active";
1115
1122
  idle: "idle";
1123
+ active: "active";
1116
1124
  dead: "dead";
1117
1125
  disposed: "disposed";
1118
1126
  }>;
@@ -1145,8 +1153,10 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1145
1153
  updateRuntime: {
1146
1154
  request: z.ZodObject<{
1147
1155
  agentId: z.ZodString;
1156
+ adapterId: z.ZodOptional<z.ZodString>;
1148
1157
  cwd: z.ZodOptional<z.ZodString>;
1149
1158
  model: z.ZodOptional<z.ZodString>;
1159
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1150
1160
  providerConfigId: z.ZodOptional<z.ZodString>;
1151
1161
  }, z.core.$strip>;
1152
1162
  response: z.ZodObject<{
@@ -1292,6 +1302,25 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1292
1302
  }, {}, {
1293
1303
  length: number | undefined;
1294
1304
  }>;
1305
+ allowedDirectories: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1306
+ name: string;
1307
+ tableName: "agents";
1308
+ dataType: "json";
1309
+ columnType: "SQLiteTextJson";
1310
+ data: string[];
1311
+ driverParam: string;
1312
+ notNull: false;
1313
+ hasDefault: false;
1314
+ isPrimaryKey: false;
1315
+ isAutoincrement: false;
1316
+ hasRuntimeDefault: false;
1317
+ enumValues: undefined;
1318
+ baseColumn: never;
1319
+ identity: undefined;
1320
+ generated: undefined;
1321
+ }, {}, {
1322
+ $type: string[];
1323
+ }>;
1295
1324
  providerConfigId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1296
1325
  name: "provider_config_id";
1297
1326
  tableName: "agents";
@@ -1430,7 +1459,7 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1430
1459
  tableName: "agents";
1431
1460
  dataType: "string";
1432
1461
  columnType: "SQLiteText";
1433
- data: "active" | "idle" | "dead" | "disposed";
1462
+ data: "idle" | "active" | "dead" | "disposed";
1434
1463
  driverParam: string;
1435
1464
  notNull: true;
1436
1465
  hasDefault: false;
@@ -1445,7 +1474,7 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1445
1474
  length: number | undefined;
1446
1475
  }>;
1447
1476
  createdAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1448
- name: "created_at";
1477
+ name: string;
1449
1478
  tableName: "agents";
1450
1479
  dataType: "number";
1451
1480
  columnType: "SQLiteInteger";
@@ -1462,7 +1491,7 @@ declare const AgentStorageNamespace: _$_makaio_storage_core0.StorageNamespaceDef
1462
1491
  generated: undefined;
1463
1492
  }, {}, {}>;
1464
1493
  lastActivityAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1465
- name: "last_activity_at";
1494
+ name: string;
1466
1495
  tableName: "agents";
1467
1496
  dataType: "number";
1468
1497
  columnType: "SQLiteInteger";
@@ -1506,6 +1535,7 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1506
1535
  adapterSessionId: z.ZodOptional<z.ZodString>;
1507
1536
  model: z.ZodOptional<z.ZodString>;
1508
1537
  cwd: z.ZodOptional<z.ZodString>;
1538
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1509
1539
  providerConfigId: z.ZodOptional<z.ZodString>;
1510
1540
  personaId: z.ZodOptional<z.ZodString>;
1511
1541
  profileId: z.ZodOptional<z.ZodString>;
@@ -1521,8 +1551,8 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1521
1551
  member: "member";
1522
1552
  }>;
1523
1553
  status: z.ZodEnum<{
1524
- active: "active";
1525
1554
  idle: "idle";
1555
+ active: "active";
1526
1556
  dead: "dead";
1527
1557
  disposed: "disposed";
1528
1558
  }>;
@@ -1548,6 +1578,7 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1548
1578
  adapterSessionId: z.ZodOptional<z.ZodString>;
1549
1579
  model: z.ZodOptional<z.ZodString>;
1550
1580
  cwd: z.ZodOptional<z.ZodString>;
1581
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1551
1582
  providerConfigId: z.ZodOptional<z.ZodString>;
1552
1583
  personaId: z.ZodOptional<z.ZodString>;
1553
1584
  profileId: z.ZodOptional<z.ZodString>;
@@ -1563,8 +1594,8 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1563
1594
  member: "member";
1564
1595
  }>;
1565
1596
  status: z.ZodEnum<{
1566
- active: "active";
1567
1597
  idle: "idle";
1598
+ active: "active";
1568
1599
  dead: "dead";
1569
1600
  disposed: "disposed";
1570
1601
  }>;
@@ -1601,8 +1632,8 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1601
1632
  adapterName: z.ZodString;
1602
1633
  status: z.ZodOptional<z.ZodEnum<{
1603
1634
  all: "all";
1604
- active: "active";
1605
1635
  idle: "idle";
1636
+ active: "active";
1606
1637
  dead: "dead";
1607
1638
  disposed: "disposed";
1608
1639
  }>>;
@@ -1616,6 +1647,7 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1616
1647
  adapterSessionId: z.ZodOptional<z.ZodString>;
1617
1648
  model: z.ZodOptional<z.ZodString>;
1618
1649
  cwd: z.ZodOptional<z.ZodString>;
1650
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1619
1651
  providerConfigId: z.ZodOptional<z.ZodString>;
1620
1652
  personaId: z.ZodOptional<z.ZodString>;
1621
1653
  profileId: z.ZodOptional<z.ZodString>;
@@ -1631,8 +1663,8 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1631
1663
  member: "member";
1632
1664
  }>;
1633
1665
  status: z.ZodEnum<{
1634
- active: "active";
1635
1666
  idle: "idle";
1667
+ active: "active";
1636
1668
  dead: "dead";
1637
1669
  disposed: "disposed";
1638
1670
  }>;
@@ -1660,6 +1692,7 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1660
1692
  adapterSessionId: z.ZodOptional<z.ZodString>;
1661
1693
  model: z.ZodOptional<z.ZodString>;
1662
1694
  cwd: z.ZodOptional<z.ZodString>;
1695
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1663
1696
  providerConfigId: z.ZodOptional<z.ZodString>;
1664
1697
  personaId: z.ZodOptional<z.ZodString>;
1665
1698
  profileId: z.ZodOptional<z.ZodString>;
@@ -1675,8 +1708,8 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1675
1708
  member: "member";
1676
1709
  }>;
1677
1710
  status: z.ZodEnum<{
1678
- active: "active";
1679
1711
  idle: "idle";
1712
+ active: "active";
1680
1713
  dead: "dead";
1681
1714
  disposed: "disposed";
1682
1715
  }>;
@@ -1695,8 +1728,8 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1695
1728
  request: z.ZodObject<{
1696
1729
  agentId: z.ZodString;
1697
1730
  status: z.ZodEnum<{
1698
- active: "active";
1699
1731
  idle: "idle";
1732
+ active: "active";
1700
1733
  dead: "dead";
1701
1734
  disposed: "disposed";
1702
1735
  }>;
@@ -1729,8 +1762,10 @@ declare const AgentStorageSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core0.
1729
1762
  updateRuntime: {
1730
1763
  request: z.ZodObject<{
1731
1764
  agentId: z.ZodString;
1765
+ adapterId: z.ZodOptional<z.ZodString>;
1732
1766
  cwd: z.ZodOptional<z.ZodString>;
1733
1767
  model: z.ZodOptional<z.ZodString>;
1768
+ allowedDirectories: z.ZodOptional<z.ZodArray<z.ZodString>>;
1734
1769
  providerConfigId: z.ZodOptional<z.ZodString>;
1735
1770
  }, z.core.$strip>;
1736
1771
  response: z.ZodObject<{
@@ -1763,7 +1798,7 @@ declare function registerMemorySessionStorage(bus: IMakaioBus): () => void;
1763
1798
  /**
1764
1799
  * Register Drizzle-based session storage handlers.
1765
1800
  *
1766
- * Persists sessions to SQLite/libSQL via Drizzle ORM.
1801
+ * Persists sessions via Drizzle ORM.
1767
1802
  * Provides durable storage suitable for production deployments.
1768
1803
  *
1769
1804
  * CONCURRENCY INVARIANT: All handlers must use single-statement operations only.
@@ -1773,8 +1808,7 @@ declare function registerMemorySessionStorage(bus: IMakaioBus): () => void;
1773
1808
  * deadlocks on the same connection. Single statements serialize automatically
1774
1809
  * via SQLite's busy_timeout + WAL mode.
1775
1810
  * @param bus - The bus instance to register handlers on
1776
- * @param db - The Drizzle database instance (any libSQL database)
1777
- * @param _ctx - Extension context (unused; reserved for future use)
1811
+ * @param db - The Drizzle database instance
1778
1812
  * @returns Cleanup function to unsubscribe all handlers
1779
1813
  * @example
1780
1814
  * ```typescript
@@ -1784,13 +1818,13 @@ declare function registerMemorySessionStorage(bus: IMakaioBus): () => void;
1784
1818
  *
1785
1819
  * const client = createClient({ url: 'file:./makaio.db' });
1786
1820
  * const db = drizzle(client);
1787
- * const cleanup = registerDrizzleSessionStorage(bus, db, ctx);
1821
+ * const cleanup = registerDrizzleSessionStorage(bus, db);
1788
1822
  *
1789
1823
  * // Later, when shutting down:
1790
1824
  * cleanup();
1791
1825
  * ```
1792
1826
  */
1793
- declare function registerDrizzleSessionStorage(bus: IMakaioBus, db: MakaioDatabase, _ctx: ExtensionContext): () => void;
1827
+ declare function registerDrizzleSessionStorage(bus: IMakaioBus, db: MakaioDatabase): () => void;
1794
1828
  //#endregion
1795
1829
  //#region services/core/src/session/storage/agent-memory-handler.d.ts
1796
1830
  /**
@@ -1802,15 +1836,948 @@ declare function registerDrizzleSessionStorage(bus: IMakaioBus, db: MakaioDataba
1802
1836
  */
1803
1837
  declare function registerMemoryAgentStorage(bus: IMakaioBus): () => void;
1804
1838
  //#endregion
1839
+ //#region services/core/src/session/storage/schema.variants.d.ts
1840
+ /** Dialect variants for the session storage tables. */
1841
+ declare const sessionStorageSchema: _$_makaio_storage_drizzle0.DialectSchema<{
1842
+ sessions: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
1843
+ name: "sessions";
1844
+ schema: undefined;
1845
+ columns: {
1846
+ sessionId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1847
+ name: "session_id";
1848
+ tableName: "sessions";
1849
+ dataType: "string";
1850
+ columnType: "SQLiteText";
1851
+ data: string;
1852
+ driverParam: string;
1853
+ notNull: true;
1854
+ hasDefault: false;
1855
+ isPrimaryKey: true;
1856
+ isAutoincrement: false;
1857
+ hasRuntimeDefault: false;
1858
+ enumValues: [string, ...string[]];
1859
+ baseColumn: never;
1860
+ identity: undefined;
1861
+ generated: undefined;
1862
+ }, {}, {
1863
+ length: number | undefined;
1864
+ }>;
1865
+ createdAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1866
+ name: string;
1867
+ tableName: "sessions";
1868
+ dataType: "number";
1869
+ columnType: "SQLiteInteger";
1870
+ data: number;
1871
+ driverParam: number;
1872
+ notNull: true;
1873
+ hasDefault: false;
1874
+ isPrimaryKey: false;
1875
+ isAutoincrement: false;
1876
+ hasRuntimeDefault: false;
1877
+ enumValues: undefined;
1878
+ baseColumn: never;
1879
+ identity: undefined;
1880
+ generated: undefined;
1881
+ }, {}, {}>;
1882
+ lastActivityAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1883
+ name: string;
1884
+ tableName: "sessions";
1885
+ dataType: "number";
1886
+ columnType: "SQLiteInteger";
1887
+ data: number;
1888
+ driverParam: number;
1889
+ notNull: true;
1890
+ hasDefault: false;
1891
+ isPrimaryKey: false;
1892
+ isAutoincrement: false;
1893
+ hasRuntimeDefault: false;
1894
+ enumValues: undefined;
1895
+ baseColumn: never;
1896
+ identity: undefined;
1897
+ generated: undefined;
1898
+ }, {}, {}>;
1899
+ status: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1900
+ name: "status";
1901
+ tableName: "sessions";
1902
+ dataType: "string";
1903
+ columnType: "SQLiteText";
1904
+ data: "closed" | "discovered" | "active" | "archived";
1905
+ driverParam: string;
1906
+ notNull: true;
1907
+ hasDefault: false;
1908
+ isPrimaryKey: false;
1909
+ isAutoincrement: false;
1910
+ hasRuntimeDefault: false;
1911
+ enumValues: ["active", "closed", "archived", "discovered"];
1912
+ baseColumn: never;
1913
+ identity: undefined;
1914
+ generated: undefined;
1915
+ }, {}, {
1916
+ length: number | undefined;
1917
+ }>;
1918
+ leadAgentId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1919
+ name: "lead_agent_id";
1920
+ tableName: "sessions";
1921
+ dataType: "string";
1922
+ columnType: "SQLiteText";
1923
+ data: string;
1924
+ driverParam: string;
1925
+ notNull: false;
1926
+ hasDefault: false;
1927
+ isPrimaryKey: false;
1928
+ isAutoincrement: false;
1929
+ hasRuntimeDefault: false;
1930
+ enumValues: [string, ...string[]];
1931
+ baseColumn: never;
1932
+ identity: undefined;
1933
+ generated: undefined;
1934
+ }, {}, {
1935
+ length: number | undefined;
1936
+ }>;
1937
+ parentSessionId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1938
+ name: "parent_session_id";
1939
+ tableName: "sessions";
1940
+ dataType: "string";
1941
+ columnType: "SQLiteText";
1942
+ data: string;
1943
+ driverParam: string;
1944
+ notNull: false;
1945
+ hasDefault: false;
1946
+ isPrimaryKey: false;
1947
+ isAutoincrement: false;
1948
+ hasRuntimeDefault: false;
1949
+ enumValues: [string, ...string[]];
1950
+ baseColumn: never;
1951
+ identity: undefined;
1952
+ generated: undefined;
1953
+ }, {}, {
1954
+ length: number | undefined;
1955
+ }>;
1956
+ contextInheritance: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1957
+ name: "context_inheritance";
1958
+ tableName: "sessions";
1959
+ dataType: "string";
1960
+ columnType: "SQLiteText";
1961
+ data: "none" | "parent-history";
1962
+ driverParam: string;
1963
+ notNull: false;
1964
+ hasDefault: false;
1965
+ isPrimaryKey: false;
1966
+ isAutoincrement: false;
1967
+ hasRuntimeDefault: false;
1968
+ enumValues: ["parent-history", "none"];
1969
+ baseColumn: never;
1970
+ identity: undefined;
1971
+ generated: undefined;
1972
+ }, {}, {
1973
+ length: number | undefined;
1974
+ }>;
1975
+ rootSessionId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1976
+ name: "root_session_id";
1977
+ tableName: "sessions";
1978
+ dataType: "string";
1979
+ columnType: "SQLiteText";
1980
+ data: string;
1981
+ driverParam: string;
1982
+ notNull: false;
1983
+ hasDefault: false;
1984
+ isPrimaryKey: false;
1985
+ isAutoincrement: false;
1986
+ hasRuntimeDefault: false;
1987
+ enumValues: [string, ...string[]];
1988
+ baseColumn: never;
1989
+ identity: undefined;
1990
+ generated: undefined;
1991
+ }, {}, {
1992
+ length: number | undefined;
1993
+ }>;
1994
+ forkPointMessageId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1995
+ name: "fork_point_message_id";
1996
+ tableName: "sessions";
1997
+ dataType: "string";
1998
+ columnType: "SQLiteText";
1999
+ data: string;
2000
+ driverParam: string;
2001
+ notNull: false;
2002
+ hasDefault: false;
2003
+ isPrimaryKey: false;
2004
+ isAutoincrement: false;
2005
+ hasRuntimeDefault: false;
2006
+ enumValues: [string, ...string[]];
2007
+ baseColumn: never;
2008
+ identity: undefined;
2009
+ generated: undefined;
2010
+ }, {}, {
2011
+ length: number | undefined;
2012
+ }>;
2013
+ branchKind: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2014
+ name: "branch_kind";
2015
+ tableName: "sessions";
2016
+ dataType: "string";
2017
+ columnType: "SQLiteText";
2018
+ data: "fork" | "subagent" | "compress" | "branch" | "rewrite" | "coordinator" | "aside";
2019
+ driverParam: string;
2020
+ notNull: false;
2021
+ hasDefault: false;
2022
+ isPrimaryKey: false;
2023
+ isAutoincrement: false;
2024
+ hasRuntimeDefault: false;
2025
+ enumValues: ["fork", "branch", "subagent", "compress", "rewrite", "coordinator", "aside"];
2026
+ baseColumn: never;
2027
+ identity: undefined;
2028
+ generated: undefined;
2029
+ }, {}, {
2030
+ length: number | undefined;
2031
+ }>;
2032
+ adapterName: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2033
+ name: "adapter_name";
2034
+ tableName: "sessions";
2035
+ dataType: "string";
2036
+ columnType: "SQLiteText";
2037
+ data: string;
2038
+ driverParam: string;
2039
+ notNull: false;
2040
+ hasDefault: false;
2041
+ isPrimaryKey: false;
2042
+ isAutoincrement: false;
2043
+ hasRuntimeDefault: false;
2044
+ enumValues: [string, ...string[]];
2045
+ baseColumn: never;
2046
+ identity: undefined;
2047
+ generated: undefined;
2048
+ }, {}, {
2049
+ length: number | undefined;
2050
+ }>;
2051
+ adapterSessionId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2052
+ name: "adapter_session_id";
2053
+ tableName: "sessions";
2054
+ dataType: "string";
2055
+ columnType: "SQLiteText";
2056
+ data: string;
2057
+ driverParam: string;
2058
+ notNull: false;
2059
+ hasDefault: false;
2060
+ isPrimaryKey: false;
2061
+ isAutoincrement: false;
2062
+ hasRuntimeDefault: false;
2063
+ enumValues: [string, ...string[]];
2064
+ baseColumn: never;
2065
+ identity: undefined;
2066
+ generated: undefined;
2067
+ }, {}, {
2068
+ length: number | undefined;
2069
+ }>;
2070
+ adapterId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2071
+ name: "adapter_id";
2072
+ tableName: "sessions";
2073
+ dataType: "string";
2074
+ columnType: "SQLiteText";
2075
+ data: string;
2076
+ driverParam: string;
2077
+ notNull: false;
2078
+ hasDefault: false;
2079
+ isPrimaryKey: false;
2080
+ isAutoincrement: false;
2081
+ hasRuntimeDefault: false;
2082
+ enumValues: [string, ...string[]];
2083
+ baseColumn: never;
2084
+ identity: undefined;
2085
+ generated: undefined;
2086
+ }, {}, {
2087
+ length: number | undefined;
2088
+ }>;
2089
+ clientId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2090
+ name: "client_id";
2091
+ tableName: "sessions";
2092
+ dataType: "string";
2093
+ columnType: "SQLiteText";
2094
+ data: string;
2095
+ driverParam: string;
2096
+ notNull: false;
2097
+ hasDefault: false;
2098
+ isPrimaryKey: false;
2099
+ isAutoincrement: false;
2100
+ hasRuntimeDefault: false;
2101
+ enumValues: [string, ...string[]];
2102
+ baseColumn: never;
2103
+ identity: undefined;
2104
+ generated: undefined;
2105
+ }, {}, {
2106
+ length: number | undefined;
2107
+ }>;
2108
+ clientAccountId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2109
+ name: "client_account_id";
2110
+ tableName: "sessions";
2111
+ dataType: "string";
2112
+ columnType: "SQLiteText";
2113
+ data: string;
2114
+ driverParam: string;
2115
+ notNull: false;
2116
+ hasDefault: false;
2117
+ isPrimaryKey: false;
2118
+ isAutoincrement: false;
2119
+ hasRuntimeDefault: false;
2120
+ enumValues: [string, ...string[]];
2121
+ baseColumn: never;
2122
+ identity: undefined;
2123
+ generated: undefined;
2124
+ }, {}, {
2125
+ length: number | undefined;
2126
+ }>;
2127
+ lastClientIdentityObservation: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2128
+ name: "last_client_identity_observation";
2129
+ tableName: "sessions";
2130
+ dataType: "string";
2131
+ columnType: "SQLiteText";
2132
+ data: string;
2133
+ driverParam: string;
2134
+ notNull: false;
2135
+ hasDefault: false;
2136
+ isPrimaryKey: false;
2137
+ isAutoincrement: false;
2138
+ hasRuntimeDefault: false;
2139
+ enumValues: [string, ...string[]];
2140
+ baseColumn: never;
2141
+ identity: undefined;
2142
+ generated: undefined;
2143
+ }, {}, {
2144
+ length: number | undefined;
2145
+ }>;
2146
+ isOrchestrated: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2147
+ name: string;
2148
+ tableName: "sessions";
2149
+ dataType: "boolean";
2150
+ columnType: "SQLiteBoolean";
2151
+ data: boolean;
2152
+ driverParam: number;
2153
+ notNull: false;
2154
+ hasDefault: true;
2155
+ isPrimaryKey: false;
2156
+ isAutoincrement: false;
2157
+ hasRuntimeDefault: false;
2158
+ enumValues: undefined;
2159
+ baseColumn: never;
2160
+ identity: undefined;
2161
+ generated: undefined;
2162
+ }, {}, {}>;
2163
+ title: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2164
+ name: "title";
2165
+ tableName: "sessions";
2166
+ dataType: "string";
2167
+ columnType: "SQLiteText";
2168
+ data: string;
2169
+ driverParam: string;
2170
+ notNull: false;
2171
+ hasDefault: false;
2172
+ isPrimaryKey: false;
2173
+ isAutoincrement: false;
2174
+ hasRuntimeDefault: false;
2175
+ enumValues: [string, ...string[]];
2176
+ baseColumn: never;
2177
+ identity: undefined;
2178
+ generated: undefined;
2179
+ }, {}, {
2180
+ length: number | undefined;
2181
+ }>;
2182
+ summary: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2183
+ name: "summary";
2184
+ tableName: "sessions";
2185
+ dataType: "string";
2186
+ columnType: "SQLiteText";
2187
+ data: string;
2188
+ driverParam: string;
2189
+ notNull: false;
2190
+ hasDefault: false;
2191
+ isPrimaryKey: false;
2192
+ isAutoincrement: false;
2193
+ hasRuntimeDefault: false;
2194
+ enumValues: [string, ...string[]];
2195
+ baseColumn: never;
2196
+ identity: undefined;
2197
+ generated: undefined;
2198
+ }, {}, {
2199
+ length: number | undefined;
2200
+ }>;
2201
+ summaryUpdatedAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2202
+ name: string;
2203
+ tableName: "sessions";
2204
+ dataType: "number";
2205
+ columnType: "SQLiteInteger";
2206
+ data: number;
2207
+ driverParam: number;
2208
+ notNull: false;
2209
+ hasDefault: false;
2210
+ isPrimaryKey: false;
2211
+ isAutoincrement: false;
2212
+ hasRuntimeDefault: false;
2213
+ enumValues: undefined;
2214
+ baseColumn: never;
2215
+ identity: undefined;
2216
+ generated: undefined;
2217
+ }, {}, {}>;
2218
+ isImported: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2219
+ name: string;
2220
+ tableName: "sessions";
2221
+ dataType: "boolean";
2222
+ columnType: "SQLiteBoolean";
2223
+ data: boolean;
2224
+ driverParam: number;
2225
+ notNull: false;
2226
+ hasDefault: true;
2227
+ isPrimaryKey: false;
2228
+ isAutoincrement: false;
2229
+ hasRuntimeDefault: false;
2230
+ enumValues: undefined;
2231
+ baseColumn: never;
2232
+ identity: undefined;
2233
+ generated: undefined;
2234
+ }, {}, {}>;
2235
+ forkTransforms: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2236
+ name: "fork_transforms";
2237
+ tableName: "sessions";
2238
+ dataType: "string";
2239
+ columnType: "SQLiteText";
2240
+ data: string;
2241
+ driverParam: string;
2242
+ notNull: false;
2243
+ hasDefault: false;
2244
+ isPrimaryKey: false;
2245
+ isAutoincrement: false;
2246
+ hasRuntimeDefault: false;
2247
+ enumValues: [string, ...string[]];
2248
+ baseColumn: never;
2249
+ identity: undefined;
2250
+ generated: undefined;
2251
+ }, {}, {
2252
+ length: number | undefined;
2253
+ }>;
2254
+ targetWorkingDirectory: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2255
+ name: "target_working_directory";
2256
+ tableName: "sessions";
2257
+ dataType: "string";
2258
+ columnType: "SQLiteText";
2259
+ data: string;
2260
+ driverParam: string;
2261
+ notNull: false;
2262
+ hasDefault: false;
2263
+ isPrimaryKey: false;
2264
+ isAutoincrement: false;
2265
+ hasRuntimeDefault: false;
2266
+ enumValues: [string, ...string[]];
2267
+ baseColumn: never;
2268
+ identity: undefined;
2269
+ generated: undefined;
2270
+ }, {}, {
2271
+ length: number | undefined;
2272
+ }>;
2273
+ executionTargetId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2274
+ name: "execution_target_id";
2275
+ tableName: "sessions";
2276
+ dataType: "string";
2277
+ columnType: "SQLiteText";
2278
+ data: string;
2279
+ driverParam: string;
2280
+ notNull: false;
2281
+ hasDefault: false;
2282
+ isPrimaryKey: false;
2283
+ isAutoincrement: false;
2284
+ hasRuntimeDefault: false;
2285
+ enumValues: [string, ...string[]];
2286
+ baseColumn: never;
2287
+ identity: undefined;
2288
+ generated: undefined;
2289
+ }, {}, {
2290
+ length: number | undefined;
2291
+ }>;
2292
+ approvalPolicyOverride: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2293
+ name: "approval_policy_override";
2294
+ tableName: "sessions";
2295
+ dataType: "string";
2296
+ columnType: "SQLiteText";
2297
+ data: "reject" | "always-ask" | "full-access";
2298
+ driverParam: string;
2299
+ notNull: false;
2300
+ hasDefault: false;
2301
+ isPrimaryKey: false;
2302
+ isAutoincrement: false;
2303
+ hasRuntimeDefault: false;
2304
+ enumValues: ["reject", "always-ask", "full-access"];
2305
+ baseColumn: never;
2306
+ identity: undefined;
2307
+ generated: undefined;
2308
+ }, {}, {
2309
+ length: number | undefined;
2310
+ }>;
2311
+ spawningToolCallId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2312
+ name: "spawning_tool_call_id";
2313
+ tableName: "sessions";
2314
+ dataType: "string";
2315
+ columnType: "SQLiteText";
2316
+ data: string;
2317
+ driverParam: string;
2318
+ notNull: false;
2319
+ hasDefault: false;
2320
+ isPrimaryKey: false;
2321
+ isAutoincrement: false;
2322
+ hasRuntimeDefault: false;
2323
+ enumValues: [string, ...string[]];
2324
+ baseColumn: never;
2325
+ identity: undefined;
2326
+ generated: undefined;
2327
+ }, {}, {
2328
+ length: number | undefined;
2329
+ }>;
2330
+ source: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2331
+ name: "source";
2332
+ tableName: "sessions";
2333
+ dataType: "string";
2334
+ columnType: "SQLiteText";
2335
+ data: string;
2336
+ driverParam: string;
2337
+ notNull: false;
2338
+ hasDefault: false;
2339
+ isPrimaryKey: false;
2340
+ isAutoincrement: false;
2341
+ hasRuntimeDefault: false;
2342
+ enumValues: [string, ...string[]];
2343
+ baseColumn: never;
2344
+ identity: undefined;
2345
+ generated: undefined;
2346
+ }, {}, {
2347
+ length: number | undefined;
2348
+ }>;
2349
+ parentExternalSessionId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2350
+ name: "parent_external_session_id";
2351
+ tableName: "sessions";
2352
+ dataType: "string";
2353
+ columnType: "SQLiteText";
2354
+ data: string;
2355
+ driverParam: string;
2356
+ notNull: false;
2357
+ hasDefault: false;
2358
+ isPrimaryKey: false;
2359
+ isAutoincrement: false;
2360
+ hasRuntimeDefault: false;
2361
+ enumValues: [string, ...string[]];
2362
+ baseColumn: never;
2363
+ identity: undefined;
2364
+ generated: undefined;
2365
+ }, {}, {
2366
+ length: number | undefined;
2367
+ }>;
2368
+ logFilePath: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2369
+ name: "log_file_path";
2370
+ tableName: "sessions";
2371
+ dataType: "string";
2372
+ columnType: "SQLiteText";
2373
+ data: string;
2374
+ driverParam: string;
2375
+ notNull: false;
2376
+ hasDefault: false;
2377
+ isPrimaryKey: false;
2378
+ isAutoincrement: false;
2379
+ hasRuntimeDefault: false;
2380
+ enumValues: [string, ...string[]];
2381
+ baseColumn: never;
2382
+ identity: undefined;
2383
+ generated: undefined;
2384
+ }, {}, {
2385
+ length: number | undefined;
2386
+ }>;
2387
+ discoveredAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2388
+ name: string;
2389
+ tableName: "sessions";
2390
+ dataType: "number";
2391
+ columnType: "SQLiteInteger";
2392
+ data: number;
2393
+ driverParam: number;
2394
+ notNull: false;
2395
+ hasDefault: false;
2396
+ isPrimaryKey: false;
2397
+ isAutoincrement: false;
2398
+ hasRuntimeDefault: false;
2399
+ enumValues: undefined;
2400
+ baseColumn: never;
2401
+ identity: undefined;
2402
+ generated: undefined;
2403
+ }, {}, {}>;
2404
+ importStatus: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2405
+ name: "import_status";
2406
+ tableName: "sessions";
2407
+ dataType: "string";
2408
+ columnType: "SQLiteText";
2409
+ data: "discovered" | "imported" | "tracking";
2410
+ driverParam: string;
2411
+ notNull: false;
2412
+ hasDefault: false;
2413
+ isPrimaryKey: false;
2414
+ isAutoincrement: false;
2415
+ hasRuntimeDefault: false;
2416
+ enumValues: ["discovered", "imported", "tracking"];
2417
+ baseColumn: never;
2418
+ identity: undefined;
2419
+ generated: undefined;
2420
+ }, {}, {
2421
+ length: number | undefined;
2422
+ }>;
2423
+ };
2424
+ dialect: "sqlite";
2425
+ }>;
2426
+ agents: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2427
+ name: "agents";
2428
+ schema: undefined;
2429
+ columns: {
2430
+ agentId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2431
+ name: "agent_id";
2432
+ tableName: "agents";
2433
+ dataType: "string";
2434
+ columnType: "SQLiteText";
2435
+ data: string;
2436
+ driverParam: string;
2437
+ notNull: true;
2438
+ hasDefault: false;
2439
+ isPrimaryKey: true;
2440
+ isAutoincrement: false;
2441
+ hasRuntimeDefault: false;
2442
+ enumValues: [string, ...string[]];
2443
+ baseColumn: never;
2444
+ identity: undefined;
2445
+ generated: undefined;
2446
+ }, {}, {
2447
+ length: number | undefined;
2448
+ }>;
2449
+ adapterId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2450
+ name: "adapter_id";
2451
+ tableName: "agents";
2452
+ dataType: "string";
2453
+ columnType: "SQLiteText";
2454
+ data: string;
2455
+ driverParam: string;
2456
+ notNull: true;
2457
+ hasDefault: false;
2458
+ isPrimaryKey: false;
2459
+ isAutoincrement: false;
2460
+ hasRuntimeDefault: false;
2461
+ enumValues: [string, ...string[]];
2462
+ baseColumn: never;
2463
+ identity: undefined;
2464
+ generated: undefined;
2465
+ }, {}, {
2466
+ length: number | undefined;
2467
+ }>;
2468
+ adapterName: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2469
+ name: "adapter_name";
2470
+ tableName: "agents";
2471
+ dataType: "string";
2472
+ columnType: "SQLiteText";
2473
+ data: string;
2474
+ driverParam: string;
2475
+ notNull: true;
2476
+ hasDefault: false;
2477
+ isPrimaryKey: false;
2478
+ isAutoincrement: false;
2479
+ hasRuntimeDefault: false;
2480
+ enumValues: [string, ...string[]];
2481
+ baseColumn: never;
2482
+ identity: undefined;
2483
+ generated: undefined;
2484
+ }, {}, {
2485
+ length: number | undefined;
2486
+ }>;
2487
+ sessionId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2488
+ name: "session_id";
2489
+ tableName: "agents";
2490
+ dataType: "string";
2491
+ columnType: "SQLiteText";
2492
+ data: string;
2493
+ driverParam: string;
2494
+ notNull: true;
2495
+ hasDefault: false;
2496
+ isPrimaryKey: false;
2497
+ isAutoincrement: false;
2498
+ hasRuntimeDefault: false;
2499
+ enumValues: [string, ...string[]];
2500
+ baseColumn: never;
2501
+ identity: undefined;
2502
+ generated: undefined;
2503
+ }, {}, {
2504
+ length: number | undefined;
2505
+ }>;
2506
+ adapterSessionId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2507
+ name: "adapter_session_id";
2508
+ tableName: "agents";
2509
+ dataType: "string";
2510
+ columnType: "SQLiteText";
2511
+ data: string;
2512
+ driverParam: string;
2513
+ notNull: false;
2514
+ hasDefault: false;
2515
+ isPrimaryKey: false;
2516
+ isAutoincrement: false;
2517
+ hasRuntimeDefault: false;
2518
+ enumValues: [string, ...string[]];
2519
+ baseColumn: never;
2520
+ identity: undefined;
2521
+ generated: undefined;
2522
+ }, {}, {
2523
+ length: number | undefined;
2524
+ }>;
2525
+ model: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2526
+ name: "model";
2527
+ tableName: "agents";
2528
+ dataType: "string";
2529
+ columnType: "SQLiteText";
2530
+ data: string;
2531
+ driverParam: string;
2532
+ notNull: false;
2533
+ hasDefault: false;
2534
+ isPrimaryKey: false;
2535
+ isAutoincrement: false;
2536
+ hasRuntimeDefault: false;
2537
+ enumValues: [string, ...string[]];
2538
+ baseColumn: never;
2539
+ identity: undefined;
2540
+ generated: undefined;
2541
+ }, {}, {
2542
+ length: number | undefined;
2543
+ }>;
2544
+ cwd: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2545
+ name: "cwd";
2546
+ tableName: "agents";
2547
+ dataType: "string";
2548
+ columnType: "SQLiteText";
2549
+ data: string;
2550
+ driverParam: string;
2551
+ notNull: false;
2552
+ hasDefault: false;
2553
+ isPrimaryKey: false;
2554
+ isAutoincrement: false;
2555
+ hasRuntimeDefault: false;
2556
+ enumValues: [string, ...string[]];
2557
+ baseColumn: never;
2558
+ identity: undefined;
2559
+ generated: undefined;
2560
+ }, {}, {
2561
+ length: number | undefined;
2562
+ }>;
2563
+ allowedDirectories: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2564
+ name: string;
2565
+ tableName: "agents";
2566
+ dataType: "json";
2567
+ columnType: "SQLiteTextJson";
2568
+ data: string[];
2569
+ driverParam: string;
2570
+ notNull: false;
2571
+ hasDefault: false;
2572
+ isPrimaryKey: false;
2573
+ isAutoincrement: false;
2574
+ hasRuntimeDefault: false;
2575
+ enumValues: undefined;
2576
+ baseColumn: never;
2577
+ identity: undefined;
2578
+ generated: undefined;
2579
+ }, {}, {
2580
+ $type: string[];
2581
+ }>;
2582
+ providerConfigId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2583
+ name: "provider_config_id";
2584
+ tableName: "agents";
2585
+ dataType: "string";
2586
+ columnType: "SQLiteText";
2587
+ data: string;
2588
+ driverParam: string;
2589
+ notNull: false;
2590
+ hasDefault: false;
2591
+ isPrimaryKey: false;
2592
+ isAutoincrement: false;
2593
+ hasRuntimeDefault: false;
2594
+ enumValues: [string, ...string[]];
2595
+ baseColumn: never;
2596
+ identity: undefined;
2597
+ generated: undefined;
2598
+ }, {}, {
2599
+ length: number | undefined;
2600
+ }>;
2601
+ personaId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2602
+ name: "persona_id";
2603
+ tableName: "agents";
2604
+ dataType: "string";
2605
+ columnType: "SQLiteText";
2606
+ data: string;
2607
+ driverParam: string;
2608
+ notNull: false;
2609
+ hasDefault: false;
2610
+ isPrimaryKey: false;
2611
+ isAutoincrement: false;
2612
+ hasRuntimeDefault: false;
2613
+ enumValues: [string, ...string[]];
2614
+ baseColumn: never;
2615
+ identity: undefined;
2616
+ generated: undefined;
2617
+ }, {}, {
2618
+ length: number | undefined;
2619
+ }>;
2620
+ profileId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2621
+ name: "profile_id";
2622
+ tableName: "agents";
2623
+ dataType: "string";
2624
+ columnType: "SQLiteText";
2625
+ data: string;
2626
+ driverParam: string;
2627
+ notNull: false;
2628
+ hasDefault: false;
2629
+ isPrimaryKey: false;
2630
+ isAutoincrement: false;
2631
+ hasRuntimeDefault: false;
2632
+ enumValues: [string, ...string[]];
2633
+ baseColumn: never;
2634
+ identity: undefined;
2635
+ generated: undefined;
2636
+ }, {}, {
2637
+ length: number | undefined;
2638
+ }>;
2639
+ harnessId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2640
+ name: "harness_id";
2641
+ tableName: "agents";
2642
+ dataType: "string";
2643
+ columnType: "SQLiteText";
2644
+ data: string;
2645
+ driverParam: string;
2646
+ notNull: false;
2647
+ hasDefault: false;
2648
+ isPrimaryKey: false;
2649
+ isAutoincrement: false;
2650
+ hasRuntimeDefault: false;
2651
+ enumValues: [string, ...string[]];
2652
+ baseColumn: never;
2653
+ identity: undefined;
2654
+ generated: undefined;
2655
+ }, {}, {
2656
+ length: number | undefined;
2657
+ }>;
2658
+ clientId: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2659
+ name: "client_id";
2660
+ tableName: "agents";
2661
+ dataType: "string";
2662
+ columnType: "SQLiteText";
2663
+ data: string;
2664
+ driverParam: string;
2665
+ notNull: false;
2666
+ hasDefault: false;
2667
+ isPrimaryKey: false;
2668
+ isAutoincrement: false;
2669
+ hasRuntimeDefault: false;
2670
+ enumValues: [string, ...string[]];
2671
+ baseColumn: never;
2672
+ identity: undefined;
2673
+ generated: undefined;
2674
+ }, {}, {
2675
+ length: number | undefined;
2676
+ }>;
2677
+ compressionMode: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2678
+ name: "compression_mode";
2679
+ tableName: "agents";
2680
+ dataType: "string";
2681
+ columnType: "SQLiteText";
2682
+ data: string;
2683
+ driverParam: string;
2684
+ notNull: false;
2685
+ hasDefault: false;
2686
+ isPrimaryKey: false;
2687
+ isAutoincrement: false;
2688
+ hasRuntimeDefault: false;
2689
+ enumValues: [string, ...string[]];
2690
+ baseColumn: never;
2691
+ identity: undefined;
2692
+ generated: undefined;
2693
+ }, {}, {
2694
+ length: number | undefined;
2695
+ }>;
2696
+ role: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2697
+ name: "role";
2698
+ tableName: "agents";
2699
+ dataType: "string";
2700
+ columnType: "SQLiteText";
2701
+ data: "lead" | "member";
2702
+ driverParam: string;
2703
+ notNull: true;
2704
+ hasDefault: false;
2705
+ isPrimaryKey: false;
2706
+ isAutoincrement: false;
2707
+ hasRuntimeDefault: false;
2708
+ enumValues: ["lead", "member"];
2709
+ baseColumn: never;
2710
+ identity: undefined;
2711
+ generated: undefined;
2712
+ }, {}, {
2713
+ length: number | undefined;
2714
+ }>;
2715
+ status: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2716
+ name: "status";
2717
+ tableName: "agents";
2718
+ dataType: "string";
2719
+ columnType: "SQLiteText";
2720
+ data: "idle" | "active" | "dead" | "disposed";
2721
+ driverParam: string;
2722
+ notNull: true;
2723
+ hasDefault: false;
2724
+ isPrimaryKey: false;
2725
+ isAutoincrement: false;
2726
+ hasRuntimeDefault: false;
2727
+ enumValues: ["idle", "active", "dead", "disposed"];
2728
+ baseColumn: never;
2729
+ identity: undefined;
2730
+ generated: undefined;
2731
+ }, {}, {
2732
+ length: number | undefined;
2733
+ }>;
2734
+ createdAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2735
+ name: string;
2736
+ tableName: "agents";
2737
+ dataType: "number";
2738
+ columnType: "SQLiteInteger";
2739
+ data: number;
2740
+ driverParam: number;
2741
+ notNull: true;
2742
+ hasDefault: false;
2743
+ isPrimaryKey: false;
2744
+ isAutoincrement: false;
2745
+ hasRuntimeDefault: false;
2746
+ enumValues: undefined;
2747
+ baseColumn: never;
2748
+ identity: undefined;
2749
+ generated: undefined;
2750
+ }, {}, {}>;
2751
+ lastActivityAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2752
+ name: string;
2753
+ tableName: "agents";
2754
+ dataType: "number";
2755
+ columnType: "SQLiteInteger";
2756
+ data: number;
2757
+ driverParam: number;
2758
+ notNull: true;
2759
+ hasDefault: false;
2760
+ isPrimaryKey: false;
2761
+ isAutoincrement: false;
2762
+ hasRuntimeDefault: false;
2763
+ enumValues: undefined;
2764
+ baseColumn: never;
2765
+ identity: undefined;
2766
+ generated: undefined;
2767
+ }, {}, {}>;
2768
+ };
2769
+ dialect: "sqlite";
2770
+ }>;
2771
+ }>;
2772
+ //#endregion
1805
2773
  //#region services/core/src/session/storage/agent-drizzle-handler.d.ts
1806
2774
  /**
1807
2775
  * Register Drizzle-based agent storage handlers.
1808
2776
  *
1809
- * Persists agents to SQLite/libSQL via Drizzle ORM.
2777
+ * Persists agents via Drizzle ORM.
1810
2778
  * Provides durable storage suitable for production deployments.
1811
2779
  * @param bus - The bus instance to register handlers on
1812
2780
  * @param db - The MakaioDatabase instance
1813
- * @param _ctx - Extension context (unused; reserved for future use)
1814
2781
  * @returns Cleanup function to unsubscribe all handlers
1815
2782
  * @example
1816
2783
  * ```typescript
@@ -1820,17 +2787,20 @@ declare function registerMemoryAgentStorage(bus: IMakaioBus): () => void;
1820
2787
  *
1821
2788
  * const client = createClient({ url: 'file:./makaio.db' });
1822
2789
  * const db = drizzle(client);
1823
- * const cleanup = registerDrizzleAgentStorage(bus, db, ctx);
2790
+ * const cleanup = registerDrizzleAgentStorage(bus, db);
1824
2791
  *
1825
2792
  * // Later, when shutting down:
1826
2793
  * cleanup();
1827
2794
  * ```
1828
2795
  */
1829
- declare function registerDrizzleAgentStorage(bus: IMakaioBus, db: MakaioDatabase, _ctx: ExtensionContext): () => void;
2796
+ declare function registerDrizzleAgentStorage(bus: IMakaioBus, db: MakaioDatabase): () => void;
1830
2797
  //#endregion
1831
2798
  //#region services/core/src/session/storage/fts-search-handler.d.ts
1832
2799
  /**
1833
2800
  * Registers FTS-backed `storage:session.search` handler.
2801
+ *
2802
+ * Works on both SQLite (FTS5 MATCH) and Postgres (`tsvector @@ websearch_to_tsquery`)
2803
+ * through the engine's FTS strategy, resolved once at registration.
1834
2804
  * @param bus - Bus instance used for handler registration
1835
2805
  * @param db - Drizzle database instance
1836
2806
  * @returns Cleanup function that unregisters the search handler
@@ -1838,6 +2808,8 @@ declare function registerDrizzleAgentStorage(bus: IMakaioBus, db: MakaioDatabase
1838
2808
  declare function registerFtsSearchHandler(bus: IMakaioBus, db: MakaioDatabase): () => void;
1839
2809
  //#endregion
1840
2810
  //#region services/core/src/session/storage/fts-search-utils.d.ts
2811
+ /** Canonical column shape of the agents table, resolved through the dialect seam. */
2812
+ type AgentsTable = typeof sessionStorageSchema.sqlite.agents;
1841
2813
  /**
1842
2814
  * Row shape returned by FTS session search queries.
1843
2815
  *
@@ -1846,7 +2818,7 @@ declare function registerFtsSearchHandler(bus: IMakaioBus, db: MakaioDatabase):
1846
2818
  * managed by the host-owned junction table after the sealed-sessions
1847
2819
  * refactor.
1848
2820
  */
1849
- interface SearchSessionRow {
2821
+ type SearchSessionRow = {
1850
2822
  session_id: string;
1851
2823
  created_at: number;
1852
2824
  last_activity_at: number;
@@ -1866,7 +2838,7 @@ interface SearchSessionRow {
1866
2838
  summary_updated_at: number | null;
1867
2839
  fork_transforms: string | null;
1868
2840
  target_working_directory: string | null;
1869
- }
2841
+ };
1870
2842
  /**
1871
2843
  * Filter parameters accepted by FTS search queries.
1872
2844
  *
@@ -1884,9 +2856,12 @@ interface SearchFilters {
1884
2856
  * @param sessionIds - Matched session IDs
1885
2857
  * @returns Agent rows keyed by session ID
1886
2858
  */
1887
- declare function fetchAgentsBySession(db: MakaioDatabase, sessionIds: string[]): Promise<Map<string, Array<typeof agents.$inferSelect>>>;
2859
+ declare function fetchAgentsBySession(db: MakaioDatabase, sessionIds: string[]): Promise<Map<string, Array<AgentsTable['$inferSelect']>>>;
1888
2860
  /**
1889
2861
  * Resolves first-user-message previews for matched sessions.
2862
+ *
2863
+ * The same-timestamp tie-break is engine-owned (`StorageEngine.fts`): rowid
2864
+ * insertion order on SQLite, lexicographic message_id order on Postgres.
1890
2865
  * @param db - Drizzle database instance
1891
2866
  * @param sessionIds - Matched session IDs
1892
2867
  * @returns First user message text keyed by session ID
@@ -1917,7 +2892,7 @@ declare function parseForkTransforms(raw: string | null): ForkTransforms | undef
1917
2892
  * @param countBySession - Message count map
1918
2893
  * @returns Session payload with preview block
1919
2894
  */
1920
- declare function mapRowToSession(row: SearchSessionRow, sessionAgents: Array<typeof agents.$inferSelect>, previewBySession: Map<string, string | null>, countBySession: Map<string, number>): IMakaioSession & {
2895
+ declare function mapRowToSession(row: SearchSessionRow, sessionAgents: Array<AgentsTable['$inferSelect']>, previewBySession: Map<string, string | null>, countBySession: Map<string, number>): IMakaioSession & {
1921
2896
  preview: {
1922
2897
  messageCount: number;
1923
2898
  firstUserMessage: string | null;
@@ -1925,8 +2900,8 @@ declare function mapRowToSession(row: SearchSessionRow, sessionAgents: Array<typ
1925
2900
  };
1926
2901
  //#endregion
1927
2902
  //#region services/core/src/session/storage/drizzle-utils.d.ts
1928
- type SessionRow = typeof sessions.$inferSelect;
1929
- type AgentRow = typeof agents.$inferSelect;
2903
+ type SessionRow = (typeof sessionStorageSchema.sqlite.sessions)['$inferSelect'];
2904
+ type AgentRow = (typeof sessionStorageSchema.sqlite.agents)['$inferSelect'];
1930
2905
  /**
1931
2906
  * Preview maps for session list response hydration.
1932
2907
  */
@@ -1962,6 +2937,22 @@ declare function mapAgentsBySession(agentRows: AgentRow[]): Map<string, AgentRow
1962
2937
  */
1963
2938
  declare function fetchSessionPreviewMaps(db: MakaioDatabase, sessionIds: string[], includePreview: boolean): Promise<SessionPreviewMaps>;
1964
2939
  //#endregion
2940
+ //#region services/core/src/session/storage/ancestor-query.d.ts
2941
+ /**
2942
+ * Get the ancestor chain for a session (self, parent, grandparent, ..., root).
2943
+ * Uses recursive CTE for arbitrary depth.
2944
+ * @param db - The Drizzle database instance
2945
+ * @param sessionId - The session ID to get ancestors for
2946
+ * @returns Array of session IDs from the given session to root
2947
+ * @example
2948
+ * ```typescript
2949
+ * // For a chain: root -> fork1 -> fork2
2950
+ * const chain = await getSessionAncestorChain(db, 'fork2');
2951
+ * // Returns: ['fork2', 'fork1', 'root']
2952
+ * ```
2953
+ */
2954
+ declare function getSessionAncestorChain(db: MakaioDatabase, sessionId: string): Promise<string[]>;
2955
+ //#endregion
1965
2956
  //#region services/core/src/session/session-events/schema.d.ts
1966
2957
  /**
1967
2958
  * Session events table schema.
@@ -1982,13 +2973,88 @@ declare function fetchSessionPreviewMaps(db: MakaioDatabase, sessionIds: string[
1982
2973
  *
1983
2974
  * SEAM: The `sessionId` FK enables cascade delete when sessions are purged.
1984
2975
  * Future embeddings table can reference `eventId` for vector search.
2976
+ *
2977
+ * The `messages` table stays a hand-written twin (it carries a Postgres-only
2978
+ * `content_tsv` generated column), so the `messageId` FK target comes from the
2979
+ * twin's `messageIdColumnPair` thunk rather than a `columnPair` on a dual table.
1985
2980
  */
2981
+ declare const sessionEventsDual: _$_makaio_storage_drizzle0.DualTable<"session_events", {
2982
+ /**
2983
+ * Auto-increment ID for stable cursor-based pagination.
2984
+ * Opaque to consumers — use eventId for external references.
2985
+ */
2986
+ id: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.HasDefault<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm0.IsIdentity<_$drizzle_orm_pg_core0.PgBigInt53BuilderInitial<string>, "always">>>>;
2987
+ /**
2988
+ * Makaio session ID (FK to sessions table).
2989
+ * All events for a session are deleted when session is purged.
2990
+ */
2991
+ sessionId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"session_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"session_id", [string, ...string[]]>>>;
2992
+ /**
2993
+ * Unique event identifier (UUID).
2994
+ * Used for deduplication and external references.
2995
+ */
2996
+ eventId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"event_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"event_id", [string, ...string[]]>>>;
2997
+ /**
2998
+ * Event timestamp (Unix ms).
2999
+ * Used for ordering and time-based queries.
3000
+ */
3001
+ timestamp: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgBigInt53BuilderInitial<string>>>;
3002
+ /**
3003
+ * Event type discriminator.
3004
+ *
3005
+ * - 'message': Reference to messages table (conversation content)
3006
+ * - 'agent.added': Agent joined session
3007
+ * - 'turn.started': Turn began
3008
+ * - 'turn.completed': Turn finished
3009
+ * - 'user_message.sent/acknowledged/completed': User message lifecycle
3010
+ */
3011
+ type: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"type", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"type", [string, ...string[]]>>>;
3012
+ /**
3013
+ * Agent ID (nullable).
3014
+ * Populated for agent.added events.
3015
+ */
3016
+ agentId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"agent_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"agent_id", [string, ...string[]]>>;
3017
+ /**
3018
+ * Adapter ID (nullable).
3019
+ * Populated for agent.added events.
3020
+ */
3021
+ adapterId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"adapter_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"adapter_id", [string, ...string[]]>>;
3022
+ /**
3023
+ * Originating message ID for correlation.
3024
+ * References the user message that triggered this event.
3025
+ * NOT a FK to messages table - purely for correlation/grouping.
3026
+ */
3027
+ originatingMessageId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"originating_message_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"originating_message_id", [string, ...string[]]>>;
3028
+ /**
3029
+ * Reference to messages table.
3030
+ * Populated for type='message' events.
3031
+ * FK enables cascade delete when message is removed.
3032
+ */
3033
+ messageId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"message_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"message_id", [string, ...string[]]>>;
3034
+ /**
3035
+ * Turn ID for grouping.
3036
+ * Groups all events within a single turn (user message → agent responses).
3037
+ */
3038
+ turnId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"turn_id", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"turn_id", [string, ...string[]]>>;
3039
+ /**
3040
+ * Extracted text content for search/embeddings.
3041
+ * Populated for text-bearing events (messages, reasoning).
3042
+ * NULL for structural events (tool.use, complete).
3043
+ */
3044
+ contentText: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"content_text", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"content_text", [string, ...string[]]>>;
3045
+ /**
3046
+ * Full event payload as JSON string.
3047
+ * Contains complete data for exact API reconstruction.
3048
+ */
3049
+ payload: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"payload", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"payload", [string, ...string[]]>>>;
3050
+ }>;
3051
+ /** SQLite face of the `session_events` table (canonical schema). */
1986
3052
  declare const sessionEvents: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
1987
3053
  name: "session_events";
1988
3054
  schema: undefined;
1989
3055
  columns: {
1990
3056
  id: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
1991
- name: "id";
3057
+ name: string;
1992
3058
  tableName: "session_events";
1993
3059
  dataType: "number";
1994
3060
  columnType: "SQLiteInteger";
@@ -2043,7 +3109,7 @@ declare const sessionEvents: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2043
3109
  length: number | undefined;
2044
3110
  }>;
2045
3111
  timestamp: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2046
- name: "timestamp";
3112
+ name: string;
2047
3113
  tableName: "session_events";
2048
3114
  dataType: "number";
2049
3115
  columnType: "SQLiteInteger";
@@ -2216,6 +3282,10 @@ declare const sessionEvents: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2216
3282
  }>;
2217
3283
  /**
2218
3284
  * Type for inserting a new session event.
3285
+ *
3286
+ * Derived from the SQLite face: SQLite keeps the auto-increment `id` optional,
3287
+ * while the Postgres `GENERATED ALWAYS AS IDENTITY` face omits it. The insert
3288
+ * path never supplies `id`, so the SQLite face is the canonical insert shape.
2219
3289
  */
2220
3290
  type InsertSessionEvent = typeof sessionEvents.$inferInsert;
2221
3291
  /**
@@ -2255,11 +3325,10 @@ declare function registerMemorySessionEventStorage(bus: IMakaioBus): () => void;
2255
3325
  /**
2256
3326
  * Register Drizzle-based session event storage handlers.
2257
3327
  *
2258
- * Persists events to SQLite/libSQL via Drizzle ORM with cursor-based
2259
- * pagination and content extraction for future FTS/embedding support.
3328
+ * Persists events via Drizzle ORM with cursor-based pagination and content
3329
+ * extraction for future FTS/embedding support.
2260
3330
  * @param bus - The bus instance to register handlers on
2261
- * @param db - The Drizzle database instance (any libSQL database)
2262
- * @param _ctx - Extension context (unused; reserved for future use)
3331
+ * @param db - The Drizzle database instance
2263
3332
  * @returns Cleanup function to unsubscribe all handlers
2264
3333
  * @example
2265
3334
  * ```typescript
@@ -2269,13 +3338,13 @@ declare function registerMemorySessionEventStorage(bus: IMakaioBus): () => void;
2269
3338
  *
2270
3339
  * const client = createClient({ url: 'file:./makaio.db' });
2271
3340
  * const db = drizzle(client);
2272
- * const cleanup = registerDrizzleSessionEventStorage(bus, db, ctx);
3341
+ * const cleanup = registerDrizzleSessionEventStorage(bus, db);
2273
3342
  *
2274
3343
  * // Later, when shutting down:
2275
3344
  * cleanup();
2276
3345
  * ```
2277
3346
  */
2278
- declare function registerDrizzleSessionEventStorage(bus: IMakaioBus, db: MakaioDatabase, _ctx: ExtensionContext): () => void;
3347
+ declare function registerDrizzleSessionEventStorage(bus: IMakaioBus, db: MakaioDatabase): () => void;
2279
3348
  //#endregion
2280
3349
  //#region services/core/src/session/session-logger.d.ts
2281
3350
  /**
@@ -2383,6 +3452,33 @@ declare class SessionLogger {
2383
3452
  * Tracks byte offsets for incremental log file import.
2384
3453
  * Enables resuming import from the last processed position after restarts.
2385
3454
  */
3455
+ declare const importCursorsDual: _$_makaio_storage_drizzle0.DualTable<"import_cursors", {
3456
+ /**
3457
+ * Absolute path to the log file (primary key).
3458
+ * Example: ~/.claude/projects/-Users-foo-project/abc123.jsonl
3459
+ */
3460
+ filePath: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"file_path", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"file_path", [string, ...string[]]>>>>;
3461
+ /**
3462
+ * Number of bytes successfully read and processed.
3463
+ * Import resumes from this offset on next run.
3464
+ * SQLite INTEGER is int8-capable; the Postgres face mirrors this with
3465
+ * `bigint` ('number' mode) so large log files keep their resume cursor on
3466
+ * both dialects. `'number'` mode bounds values at 2^53, the same bound the
3467
+ * JS write path (`stat.size`) has.
3468
+ */
3469
+ bytesRead: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgBigInt53BuilderInitial<string>>>;
3470
+ /**
3471
+ * ISO 8601 timestamp of file's last modification when cursor was saved.
3472
+ * Used to detect file rotation (file shrunk = rotation occurred).
3473
+ */
3474
+ lastModified: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"last_modified", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"last_modified", [string, ...string[]]>>>;
3475
+ /**
3476
+ * Timestamp when this cursor was last updated.
3477
+ * Stored as Unix timestamp in milliseconds.
3478
+ */
3479
+ updatedAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgBigInt53BuilderInitial<string>>>;
3480
+ }>;
3481
+ /** SQLite face of the `import_cursors` table (canonical schema). */
2386
3482
  declare const importCursors: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2387
3483
  name: "import_cursors";
2388
3484
  schema: undefined;
@@ -2407,7 +3503,7 @@ declare const importCursors: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2407
3503
  length: number | undefined;
2408
3504
  }>;
2409
3505
  bytesRead: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2410
- name: "bytes_read";
3506
+ name: string;
2411
3507
  tableName: "import_cursors";
2412
3508
  dataType: "number";
2413
3509
  columnType: "SQLiteInteger";
@@ -2443,7 +3539,7 @@ declare const importCursors: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2443
3539
  length: number | undefined;
2444
3540
  }>;
2445
3541
  updatedAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2446
- name: "updated_at";
3542
+ name: string;
2447
3543
  tableName: "import_cursors";
2448
3544
  dataType: "number";
2449
3545
  columnType: "SQLiteInteger";
@@ -2471,25 +3567,167 @@ declare const importCursors: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2471
3567
  * On restart, import continues from the last processed byte offset.
2472
3568
  * @param bus - The bus instance to register handlers on
2473
3569
  * @param db - Drizzle database instance
2474
- * @param _ctx - Extension context (unused; reserved for future use)
2475
3570
  * @returns Cleanup function to unsubscribe all handlers
2476
3571
  * @example
2477
3572
  * ```typescript
2478
3573
  * import { registerDrizzleImportCursorStorage } from '@makaio/framework/services/session';
2479
3574
  *
2480
- * const cleanup = registerDrizzleImportCursorStorage(bus, db, ctx);
3575
+ * const cleanup = registerDrizzleImportCursorStorage(bus, db);
2481
3576
  *
2482
3577
  * // Later, when shutting down:
2483
3578
  * cleanup();
2484
3579
  * ```
2485
3580
  */
2486
- declare function registerDrizzleImportCursorStorage(bus: IMakaioBus, db: MakaioDatabase, _ctx: ExtensionContext): () => void;
3581
+ declare function registerDrizzleImportCursorStorage(bus: IMakaioBus, db: MakaioDatabase): () => void;
3582
+ //#endregion
3583
+ //#region services/core/src/session/embeddings/index-manager.d.ts
3584
+ /**
3585
+ * Manages dynamic embedding index tables per model.
3586
+ *
3587
+ * Each embedding model gets its own indexed table for efficient
3588
+ * vector similarity search. Tables are created on-demand when
3589
+ * a new model is used.
3590
+ *
3591
+ * ## Table Structure
3592
+ *
3593
+ * Each table (`embeddings_idx_<model_slug>`) contains:
3594
+ * - `entity_type`: Type of entity (e.g., 'session', 'message')
3595
+ * - `entity_id`: ID of the entity
3596
+ * - `embedding`: Vector data in the engine's binary column type
3597
+ * (`BLOB` on SQLite — F32_BLOB in libsql production — `bytea` on Postgres)
3598
+ *
3599
+ * Everything dialect-specific (binary column type, catalog existence probes)
3600
+ * is delegated to the storage engine serving the handle's dialect.
3601
+ *
3602
+ * ## Design Rationale
3603
+ *
3604
+ * Per-model tables enable:
3605
+ * 1. Efficient vector indexing (one index per embedding dimension)
3606
+ * 2. Model-specific optimizations
3607
+ * 3. Easy cleanup when models are deprecated
3608
+ * 4. Ensemble search across multiple models
3609
+ * @example
3610
+ * ```typescript
3611
+ * const manager = new EmbeddingIndexManager(db);
3612
+ *
3613
+ * // Create/ensure table for a model
3614
+ * await manager.ensureIndexTable('text-embedding-3-small', 1536);
3615
+ *
3616
+ * // Insert embedding
3617
+ * await manager.upsertIndexed(
3618
+ * 'text-embedding-3-small',
3619
+ * 1536,
3620
+ * 'session',
3621
+ * 'session-123',
3622
+ * embedding
3623
+ * );
3624
+ *
3625
+ * // Search similar
3626
+ * const results = await manager.searchSimilar(
3627
+ * 'text-embedding-3-small',
3628
+ * queryEmbedding,
3629
+ * 10
3630
+ * );
3631
+ * ```
3632
+ */
3633
+ declare class EmbeddingIndexManager {
3634
+ /** Raw SQL executor for all dynamic (non-schema) table operations. */
3635
+ private readonly rawSql;
3636
+ /** Engine serving the handle's dialect — binary column type and catalog probes. */
3637
+ private readonly engine;
3638
+ /**
3639
+ * Cache of known tables to avoid redundant CREATE TABLE checks.
3640
+ */
3641
+ private readonly knownTables;
3642
+ /**
3643
+ * @param db - Drizzle database instance for all dynamic table operations.
3644
+ */
3645
+ constructor(db: MakaioDatabase);
3646
+ /**
3647
+ * Slugify model name for use as table suffix.
3648
+ *
3649
+ * Converts model names to valid SQLite identifiers by replacing
3650
+ * non-alphanumeric characters with underscores and lowercasing.
3651
+ * @param model - The model name (e.g., 'text-embedding-3-small')
3652
+ * @returns Slugified name (e.g., 'text_embedding_3_small')
3653
+ * @example
3654
+ * slugify('text-embedding-3-small') // 'text_embedding_3_small'
3655
+ * slugify('nomic-embed-text') // 'nomic_embed_text'
3656
+ * slugify('all-MiniLM-L6-v2') // 'all_minilm_l6_v2'
3657
+ */
3658
+ private slugify;
3659
+ /**
3660
+ * Create a stable hash suffix to avoid slug collisions.
3661
+ * @param model - The model name
3662
+ * @returns Short lowercase hash string
3663
+ */
3664
+ private hashModel;
3665
+ /**
3666
+ * Get table name for a model.
3667
+ * @param model - The model name
3668
+ * @returns Full table name with prefix
3669
+ */
3670
+ getTableName(model: string): string;
3671
+ /**
3672
+ * Ensure index table exists for a model.
3673
+ *
3674
+ * Creates the table with a binary column for vector storage if not exists
3675
+ * (`BLOB` on SQLite, `bytea` on Postgres).
3676
+ * Uses in-memory cache to avoid redundant CREATE TABLE statements.
3677
+ *
3678
+ * Note: In production with libsql, F32_BLOB would be used for native
3679
+ * vector operations. Standard SQLite uses BLOB as fallback.
3680
+ * @param model - The model name
3681
+ * @param _dimensions - Number of dimensions (reserved for F32_BLOB validation)
3682
+ * @returns The table name
3683
+ */
3684
+ ensureIndexTable(model: string, _dimensions: number): Promise<string>;
3685
+ /**
3686
+ * Insert or update embedding in index table.
3687
+ * @param model - The model name
3688
+ * @param dimensions - Number of dimensions
3689
+ * @param entityType - Type of entity (e.g., 'session', 'message')
3690
+ * @param entityId - ID of the entity
3691
+ * @param embedding - The embedding vector
3692
+ */
3693
+ upsertIndexed(model: string, dimensions: number, entityType: string, entityId: string, embedding: Float32Array): Promise<void>;
3694
+ /**
3695
+ * Search for similar embeddings using Euclidean distance.
3696
+ *
3697
+ * Note: In production with libsql vector extensions, this would use
3698
+ * native vector distance operators. This implementation provides a
3699
+ * basic fallback using manual distance calculation.
3700
+ * @param model - The model name
3701
+ * @param queryEmbedding - The query embedding vector
3702
+ * @param limit - Maximum number of results (default: 10)
3703
+ * @returns Array of results with entity info and distance
3704
+ */
3705
+ searchSimilar(model: string, queryEmbedding: Float32Array, limit?: number): Promise<Array<{
3706
+ entityType: string;
3707
+ entityId: string;
3708
+ distance: number;
3709
+ }>>;
3710
+ /**
3711
+ * Delete embedding by entity.
3712
+ * @param model - The model name
3713
+ * @param entityType - Type of entity
3714
+ * @param entityId - ID of the entity
3715
+ */
3716
+ deleteByEntity(model: string, entityType: string, entityId: string): Promise<void>;
3717
+ /**
3718
+ * Calculate Euclidean distance between two vectors.
3719
+ * @param a - First vector
3720
+ * @param b - Second vector
3721
+ * @returns The Euclidean distance
3722
+ */
3723
+ private euclideanDistance;
3724
+ }
2487
3725
  //#endregion
2488
3726
  //#region services/core/src/session/turns/drizzle-handler.d.ts
2489
3727
  /**
2490
3728
  * Register Drizzle-based turn storage handlers.
2491
3729
  *
2492
- * Manages turn lifecycle in SQLite/libSQL via Drizzle ORM.
3730
+ * Manages turn lifecycle via Drizzle ORM.
2493
3731
  *
2494
3732
  * CONCURRENCY INVARIANT: All handlers must use single-statement operations only.
2495
3733
  * Storage handlers share a single DB connection. Fire-and-forget bus events
@@ -2499,10 +3737,9 @@ declare function registerDrizzleImportCursorStorage(bus: IMakaioBus, db: MakaioD
2499
3737
  * via SQLite's busy_timeout + WAL mode.
2500
3738
  * @param bus - The bus instance to register handlers on
2501
3739
  * @param db - The Drizzle database instance
2502
- * @param _ctx - Extension context (unused; reserved for future use)
2503
3740
  * @returns Cleanup function to unsubscribe all handlers
2504
3741
  */
2505
- declare function registerDrizzleTurnStorage(bus: IMakaioBus, db: MakaioDatabase, _ctx: ExtensionContext): () => void;
3742
+ declare function registerDrizzleTurnStorage(bus: IMakaioBus, db: MakaioDatabase): () => void;
2506
3743
  //#endregion
2507
3744
  //#region services/core/src/session/turns/memory-handler.d.ts
2508
3745
  /**
@@ -2526,6 +3763,57 @@ declare function registerMemoryTurnStorage(bus: IMakaioBus): () => void;
2526
3763
  * - Links to session via FK for cascade delete
2527
3764
  * - Status tracks completion state for UI progress indication
2528
3765
  */
3766
+ declare const turnsDual: _$_makaio_storage_drizzle0.DualTable<"turns", {
3767
+ /**
3768
+ * Unique turn identifier (UUID).
3769
+ */
3770
+ turnId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"turn_id", [string, ...string[]], number | undefined>>>, _$drizzle_orm0.IsPrimaryKey<_$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"turn_id", [string, ...string[]]>>>>;
3771
+ /**
3772
+ * Foreign key to the parent session.
3773
+ * Cascade deletes when session is removed.
3774
+ */
3775
+ sessionId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"session_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"session_id", [string, ...string[]]>>>;
3776
+ /**
3777
+ * Monotonic per-session ordinal (1-based).
3778
+ * Assigned atomically at creation to preserve insertion order.
3779
+ * Plain integer counter — stays integer on both dialects.
3780
+ */
3781
+ turnNumber: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgIntegerBuilderInitial<string>>>;
3782
+ /**
3783
+ * Turn start timestamp (Unix ms).
3784
+ * When the user message was received.
3785
+ */
3786
+ startedAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgBigInt53BuilderInitial<string>>>;
3787
+ /**
3788
+ * Turn completion timestamp (Unix ms).
3789
+ * When all agents have responded. NULL while in progress.
3790
+ */
3791
+ completedAt: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>, _$drizzle_orm_pg_core0.PgBigInt53BuilderInitial<string>>;
3792
+ /**
3793
+ * Turn status.
3794
+ * - 'active': Turn in progress, agents responding
3795
+ * - 'completed': All agents have responded
3796
+ * - 'error': Turn failed with error
3797
+ */
3798
+ status: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"status", ["active", "completed", "error"], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"status", ["active", "completed", "error"]>>>;
3799
+ /**
3800
+ * Error message if status is 'error'.
3801
+ * NULL for successful turns.
3802
+ */
3803
+ error: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"error", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"error", [string, ...string[]]>>;
3804
+ /**
3805
+ * Aggregated usage/cost for this turn.
3806
+ * Populated on turn completion. Stored as JSON string.
3807
+ * @see TurnUsageSchema in libs/contracts for structure definition
3808
+ */
3809
+ usage: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"usage", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"usage", [string, ...string[]]>>;
3810
+ /**
3811
+ * Turn origin metadata for loop prevention and audit.
3812
+ * Stored as hand-stringified JSON because turn.create uses a raw SQL CTE.
3813
+ */
3814
+ initiator: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"initiator", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"initiator", [string, ...string[]]>>;
3815
+ }>;
3816
+ /** SQLite face of the `turns` table (canonical schema). */
2529
3817
  declare const turns: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2530
3818
  name: "turns";
2531
3819
  schema: undefined;
@@ -2569,7 +3857,7 @@ declare const turns: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2569
3857
  length: number | undefined;
2570
3858
  }>;
2571
3859
  turnNumber: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2572
- name: "turn_number";
3860
+ name: string;
2573
3861
  tableName: "turns";
2574
3862
  dataType: "number";
2575
3863
  columnType: "SQLiteInteger";
@@ -2586,7 +3874,7 @@ declare const turns: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2586
3874
  generated: undefined;
2587
3875
  }, {}, {}>;
2588
3876
  startedAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2589
- name: "started_at";
3877
+ name: string;
2590
3878
  tableName: "turns";
2591
3879
  dataType: "number";
2592
3880
  columnType: "SQLiteInteger";
@@ -2603,7 +3891,7 @@ declare const turns: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2603
3891
  generated: undefined;
2604
3892
  }, {}, {}>;
2605
3893
  completedAt: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2606
- name: "completed_at";
3894
+ name: string;
2607
3895
  tableName: "turns";
2608
3896
  dataType: "number";
2609
3897
  columnType: "SQLiteInteger";
@@ -2676,6 +3964,25 @@ declare const turns: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2676
3964
  }, {}, {
2677
3965
  length: number | undefined;
2678
3966
  }>;
3967
+ initiator: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
3968
+ name: "initiator";
3969
+ tableName: "turns";
3970
+ dataType: "string";
3971
+ columnType: "SQLiteText";
3972
+ data: string;
3973
+ driverParam: string;
3974
+ notNull: false;
3975
+ hasDefault: false;
3976
+ isPrimaryKey: false;
3977
+ isAutoincrement: false;
3978
+ hasRuntimeDefault: false;
3979
+ enumValues: [string, ...string[]];
3980
+ baseColumn: never;
3981
+ identity: undefined;
3982
+ generated: undefined;
3983
+ }, {}, {
3984
+ length: number | undefined;
3985
+ }>;
2679
3986
  };
2680
3987
  dialect: "sqlite";
2681
3988
  }>;
@@ -2692,13 +3999,12 @@ type SelectTurn = typeof turns.$inferSelect;
2692
3999
  /**
2693
4000
  * Register Drizzle-based message storage handlers.
2694
4001
  *
2695
- * Manages message persistence in SQLite/libSQL via Drizzle ORM.
4002
+ * Manages message persistence via Drizzle ORM.
2696
4003
  * @param bus - The bus instance to register handlers on
2697
4004
  * @param db - The Drizzle database instance
2698
- * @param _ctx - Extension context (unused; reserved for future use)
2699
4005
  * @returns Cleanup function to unsubscribe all handlers
2700
4006
  */
2701
- declare function registerDrizzleMessageStorage(bus: IMakaioBus, db: MakaioDatabase, _ctx: ExtensionContext): () => void;
4007
+ declare function registerDrizzleMessageStorage(bus: IMakaioBus, db: MakaioDatabase): () => void;
2702
4008
  //#endregion
2703
4009
  //#region services/core/src/session/messages/memory-handler.d.ts
2704
4010
  /**
@@ -2901,7 +4207,7 @@ declare const messages: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
2901
4207
  length: number | undefined;
2902
4208
  }>;
2903
4209
  timestamp: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
2904
- name: "timestamp";
4210
+ name: string;
2905
4211
  tableName: "messages";
2906
4212
  dataType: "number";
2907
4213
  columnType: "SQLiteInteger";
@@ -3116,7 +4422,7 @@ declare const MessageRoutingNamespace: _$_makaio_storage_core0.StorageNamespaceD
3116
4422
  length: number | undefined;
3117
4423
  }>;
3118
4424
  timestamp: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
3119
- name: "timestamp";
4425
+ name: string;
3120
4426
  tableName: "message_routing";
3121
4427
  dataType: "number";
3122
4428
  columnType: "SQLiteInteger";
@@ -3243,13 +4549,12 @@ declare const MessageRoutingSubjects: _$_makaio_core0.BusSubjects<_$_makaio_core
3243
4549
  /**
3244
4550
  * Register Drizzle-based message routing storage handlers.
3245
4551
  *
3246
- * Manages message delivery tracking in SQLite/libSQL via Drizzle ORM.
4552
+ * Manages message delivery tracking via Drizzle ORM.
3247
4553
  * @param bus - The bus instance to register handlers on
3248
4554
  * @param db - The Drizzle database instance
3249
- * @param _ctx - Extension context (unused; reserved for future use)
3250
4555
  * @returns Cleanup function to unsubscribe all handlers
3251
4556
  */
3252
- declare function registerDrizzleMessageRoutingStorage(bus: IMakaioBus, db: MakaioDatabase, _ctx: ExtensionContext): () => void;
4557
+ declare function registerDrizzleMessageRoutingStorage(bus: IMakaioBus, db: MakaioDatabase): () => void;
3253
4558
  //#endregion
3254
4559
  //#region services/core/src/session/message-routing/schema.d.ts
3255
4560
  /**
@@ -3264,7 +4569,39 @@ declare function registerDrizzleMessageRoutingStorage(bus: IMakaioBus, db: Makai
3264
4569
  * - Composite primary key allows multiple status entries per message-agent pair
3265
4570
  * - Enables tracking of delivery lifecycle for each target agent
3266
4571
  * - Supports querying "which agents have completed for this message?"
4572
+ *
4573
+ * The `messages` table stays a hand-written twin (it carries a Postgres-only
4574
+ * `content_tsv` generated column), so the FK target comes from the twin's
4575
+ * `messageIdColumnPair` thunk rather than a `columnPair` on a dual table.
3267
4576
  */
4577
+ declare const messageRoutingDual: _$_makaio_storage_drizzle0.DualTable<"message_routing", {
4578
+ /**
4579
+ * Foreign key to the message being routed.
4580
+ * Cascade deletes when message is removed.
4581
+ */
4582
+ messageId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"message_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"message_id", [string, ...string[]]>>>;
4583
+ /**
4584
+ * Target agent ID.
4585
+ */
4586
+ agentId: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"agent_id", [string, ...string[]], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"agent_id", [string, ...string[]]>>>;
4587
+ /**
4588
+ * Routing status.
4589
+ * - 'sent': Message dispatched to agent's queue
4590
+ * - 'acknowledged': Agent received and started processing
4591
+ * - 'completed': Agent finished responding
4592
+ */
4593
+ status: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"status", ["sent", "acknowledged", "completed"], number | undefined>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgTextBuilderInitial<"status", ["sent", "acknowledged", "completed"]>>>;
4594
+ /**
4595
+ * Status change timestamp (Unix ms).
4596
+ */
4597
+ timestamp: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm0.NotNull<_$drizzle_orm_sqlite_core0.SQLiteIntegerBuilderInitial<string>>, _$drizzle_orm0.NotNull<_$drizzle_orm_pg_core0.PgBigInt53BuilderInitial<string>>>;
4598
+ /**
4599
+ * Error message if routing failed.
4600
+ * NULL for successful routing.
4601
+ */
4602
+ error: _$_makaio_storage_drizzle0.DualBuilder<_$drizzle_orm_sqlite_core0.SQLiteTextBuilderInitial<"error", [string, ...string[]], number | undefined>, _$drizzle_orm_pg_core0.PgTextBuilderInitial<"error", [string, ...string[]]>>;
4603
+ }>;
4604
+ /** SQLite face of the `message_routing` table (canonical schema). */
3268
4605
  declare const messageRouting: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<{
3269
4606
  name: "message_routing";
3270
4607
  schema: undefined;
@@ -3327,7 +4664,7 @@ declare const messageRouting: _$drizzle_orm_sqlite_core0.SQLiteTableWithColumns<
3327
4664
  length: number | undefined;
3328
4665
  }>;
3329
4666
  timestamp: _$drizzle_orm_sqlite_core0.SQLiteColumn<{
3330
- name: "timestamp";
4667
+ name: string;
3331
4668
  tableName: "message_routing";
3332
4669
  dataType: "number";
3333
4670
  columnType: "SQLiteInteger";
@@ -3637,4 +4974,4 @@ declare function buildSessionContext(bus: IMakaioBus, options: BuildContextOptio
3637
4974
  */
3638
4975
  declare function getFullConversation(bus: IMakaioBus, sessionId: string): Promise<ContextAssemblyResult>;
3639
4976
  //#endregion
3640
- export { registerMemoryAgentStorage as $, registerDrizzleImportCursorStorage as A, buildRecoveryContext as At, SessionPreviewMaps as B, AdapterRegistry as Bt, registerMemoryMessageStorage as C, buildTurnInitiator as Ct, turns as D, ensureAgentModel as Dt, SelectTurn as E, ensureAgentCwd as Et, registerDrizzleSessionEventStorage as F, getOrCreateSession as Ft, SearchSessionRow as G, mapAgentsBySession as H, SessionOrchestrator as Ht, registerMemorySessionEventStorage as I, resolveTargetAgents as It, fetchPreviewBySession as J, fetchAgentsBySession as K, InsertSessionEvent as L, extractTextContent as Lt, EventTransform as M, resolveExecutionTarget as Mt, SessionLogger as N, resolveModelCapabilities as Nt, registerMemoryTurnStorage as O, recoverAgent as Ot, SessionLoggerOptions as P, findTurnByAgent as Pt, registerDrizzleAgentStorage as Q, SelectSessionEvent as R, normalizeToBlocks as Rt, messages as S, SessionContextWindowState as St, InsertTurn as T, buildRecoveryContextWithPipeline as Tt, mapToSession as U, registerCoreSessionServiceHandlers as Ut, fetchSessionPreviewMaps as V, ISessionOrchestrator as Vt, SearchFilters as W, MakaioSessionService as Wt, parseForkTransforms as X, mapRowToSession as Y, registerFtsSearchHandler as Z, registerDrizzleMessageRoutingStorage as _, registerGetStatusCountsHandler as _t, kindToBranchKind as a, createSessionExtensionContext as at, InsertMessage as b, AgentContextState as bt, registerSpawningToolCallResolver as c, FallbackRuntimeOptions as ct, MakaioSession as d, normalizeSelectionString as dt, registerDrizzleSessionStorage as et, MakaioSessionConfig as f, resolveAdapterNameById as ft, messageRouting as g, actionRegistry as gt, SelectMessageRouting as h, resetBuiltInActionsRegistration as ht, ContextAssemblyResult as i, SessionExtensionContextImpl as it, importCursors as j, resolveAdapterId as jt, registerDrizzleTurnStorage as k, verifyAndRecoverAgents as kt, registerCompressLineageResolver as l, pickFallbackRuntimeOptions as lt, InsertMessageRouting as m, registerBuiltInActions as mt, buildSessionContext as n, AgentStorageNamespace as nt, toSessionLineage as o, SessionBridge as ot, StartTurnOptions as p, registerListActionsHandler as pt, fetchMessageCountsBySession as q, BuildContextOptions as r, AgentStorageSubjects as rt, registerSessionDiscoveredHandler as s, assembleForkContext as st, getFullConversation as t, registerMemorySessionStorage as tt, registerParentResolver as u, CONNECTOR_SWAP_DEFAULT_PIPELINE as ut, MessageRoutingNamespace as v, registerResumeHandler as vt, registerDrizzleMessageStorage as w, RecoveryConfig as wt, SelectMessage as x, ContextWindowTrackerConfig as xt, MessageRoutingSubjects as y, ContextWindowTracker as yt, sessionEvents as z, TurnContextEnricher as zt };
4977
+ export { fetchMessageCountsBySession as $, registerMemoryTurnStorage as A, RecoveryConfig as At, registerMemorySessionEventStorage as B, findTurnByAgent as Bt, messages as C, registerGetStatusCountsHandler as Ct, SelectTurn as D, ContextWindowTrackerConfig as Dt, InsertTurn as E, AgentContextState as Et, importCursorsDual as F, verifyAndRecoverAgents as Ft, getSessionAncestorChain as G, TurnContextEnricher as Gt, SelectSessionEvent as H, resolveTargetAgents as Ht, EventTransform as I, buildRecoveryContext as It, mapAgentsBySession as J, SessionOrchestrator as Jt, SessionPreviewMaps as K, AdapterRegistry as Kt, SessionLogger as L, resolveAdapterId as Lt, EmbeddingIndexManager as M, ensureAgentCwd as Mt, registerDrizzleImportCursorStorage as N, ensureAgentModel as Nt, turns as O, SessionContextWindowState as Ot, importCursors as P, recoverAgent as Pt, fetchAgentsBySession as Q, SessionLoggerOptions as R, resolveExecutionTarget as Rt, SelectMessage as S, actionRegistry as St, registerDrizzleMessageStorage as T, ContextWindowTracker as Tt, sessionEvents as U, extractTextContent as Ut, InsertSessionEvent as V, getOrCreateSession as Vt, sessionEventsDual as W, normalizeToBlocks as Wt, SearchFilters as X, MakaioSessionService as Xt, mapToSession as Y, registerCoreSessionServiceHandlers as Yt, SearchSessionRow as Z, messageRoutingDual as _, normalizeSelectionString as _t, kindToBranchKind as a, registerMemoryAgentStorage as at, MessageRoutingSubjects as b, registerBuiltInActions as bt, registerSpawningToolCallResolver as c, AgentStorageNamespace as ct, MakaioSession as d, createSessionExtensionContext as dt, fetchPreviewBySession as et, MakaioSessionConfig as f, SessionBridge as ft, messageRouting as g, CONNECTOR_SWAP_DEFAULT_PIPELINE as gt, SelectMessageRouting as h, pickFallbackRuntimeOptions as ht, ContextAssemblyResult as i, registerDrizzleAgentStorage as it, registerDrizzleTurnStorage as j, buildRecoveryContextWithPipeline as jt, turnsDual as k, buildTurnInitiator as kt, registerCompressLineageResolver as l, AgentStorageSubjects as lt, InsertMessageRouting as m, FallbackRuntimeOptions as mt, buildSessionContext as n, parseForkTransforms as nt, toSessionLineage as o, registerDrizzleSessionStorage as ot, StartTurnOptions as p, assembleForkContext as pt, fetchSessionPreviewMaps as q, ISessionOrchestrator as qt, BuildContextOptions as r, registerFtsSearchHandler as rt, registerSessionDiscoveredHandler as s, registerMemorySessionStorage as st, getFullConversation as t, mapRowToSession as tt, registerParentResolver as u, SessionExtensionContextImpl as ut, registerDrizzleMessageRoutingStorage as v, resolveAdapterNameById as vt, registerMemoryMessageStorage as w, registerResumeHandler as wt, InsertMessage as x, resetBuiltInActionsRegistration as xt, MessageRoutingNamespace as y, registerListActionsHandler as yt, registerDrizzleSessionEventStorage as z, resolveModelCapabilities as zt };