agor-live 0.17.2 → 0.17.3

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 (316) hide show
  1. package/dist/cli/lib/banner.d.ts +1 -1
  2. package/dist/cli/lib/banner.js +1 -1
  3. package/dist/cli/lib/check-migrations.test.js +9627 -9112
  4. package/dist/cli/lib/daemon-manager.test.js +9632 -9117
  5. package/dist/cli/lib/help.js +1 -1
  6. package/dist/core/api/index.d.cts +3 -3
  7. package/dist/core/api/index.d.ts +3 -3
  8. package/dist/core/{board-comment-DIdOJrSF.d.cts → board-comment-CCFVVN7K.d.cts} +0 -2
  9. package/dist/core/{board-comment-3N-jSgsk.d.ts → board-comment-iT3DgZb4.d.ts} +0 -2
  10. package/dist/core/claude/index.cjs +29 -19
  11. package/dist/core/claude/index.d.cts +2 -2
  12. package/dist/core/claude/index.d.ts +2 -2
  13. package/dist/core/claude/index.js +32 -33
  14. package/dist/core/client/index.cjs +49 -0
  15. package/dist/core/client/index.d.cts +7 -7
  16. package/dist/core/client/index.d.ts +7 -7
  17. package/dist/core/client/index.js +46 -0
  18. package/dist/core/{client-B5PyIvNc.d.cts → client-CemqXk0v.d.cts} +116 -100
  19. package/dist/core/{client-C1CsRi19.d.ts → client-uYEOha6g.d.ts} +116 -100
  20. package/dist/core/config/browser.d.cts +3 -3
  21. package/dist/core/config/browser.d.ts +3 -3
  22. package/dist/core/config/index.cjs +84 -41
  23. package/dist/core/config/index.d.cts +59 -17
  24. package/dist/core/config/index.d.ts +59 -17
  25. package/dist/core/config/index.js +86 -55
  26. package/dist/core/{config-manager-TxxjFMRd.d.cts → config-manager-B8TP9Kz0.d.cts} +12 -3
  27. package/dist/core/{config-manager-DTrsj6G3.d.ts → config-manager-CDEB0FY4.d.ts} +12 -3
  28. package/dist/core/{config-services-YEZ4DwCD.d.cts → config-services-CXyQKEK5.d.cts} +1 -1
  29. package/dist/core/{config-services-DcO2GRgh.d.ts → config-services-DhM7_yWn.d.ts} +1 -1
  30. package/dist/core/db/index.cjs +235 -175
  31. package/dist/core/db/index.d.cts +190 -147
  32. package/dist/core/db/index.d.ts +190 -147
  33. package/dist/core/db/index.js +239 -190
  34. package/dist/core/db/session-guard.d.cts +4 -4
  35. package/dist/core/db/session-guard.d.ts +4 -4
  36. package/dist/core/drizzle/postgres/0028_queued_tasks.sql +8 -0
  37. package/dist/core/drizzle/postgres/0030_migrate_queued_messages.sql +24 -0
  38. package/dist/core/drizzle/postgres/0031_restructure_agentic_tool_config.sql +201 -0
  39. package/dist/core/drizzle/postgres/meta/_journal.json +21 -0
  40. package/dist/core/drizzle/sqlite/0039_queued_tasks.sql +13 -0
  41. package/dist/core/drizzle/sqlite/0040_migrate_queued_messages.sql +61 -0
  42. package/dist/core/drizzle/sqlite/0041_restructure_agentic_tool_config.sql +204 -0
  43. package/dist/core/drizzle/sqlite/meta/_journal.json +21 -0
  44. package/dist/core/gateway/index.d.cts +2 -2
  45. package/dist/core/gateway/index.d.ts +2 -2
  46. package/dist/core/{gateway-BnOlAelY.d.cts → gateway-BWq4j_Ll.d.cts} +1 -1
  47. package/dist/core/{gateway-B_4X-v07.d.ts → gateway-C3Jm_akw.d.ts} +1 -1
  48. package/dist/core/git/index.d.cts +4 -4
  49. package/dist/core/git/index.d.ts +4 -4
  50. package/dist/core/index.cjs +474 -201
  51. package/dist/core/index.d.cts +12 -10
  52. package/dist/core/index.d.ts +12 -10
  53. package/dist/core/index.js +473 -216
  54. package/dist/core/lib/feathers-validation.cjs +2 -1
  55. package/dist/core/lib/feathers-validation.d.cts +1 -1
  56. package/dist/core/lib/feathers-validation.d.ts +1 -1
  57. package/dist/core/lib/feathers-validation.js +2 -1
  58. package/dist/core/mcp/index.cjs +26 -16
  59. package/dist/core/mcp/index.js +26 -16
  60. package/dist/core/{message-DinITA7a.d.cts → message-CSWOsdcZ.d.cts} +1 -9
  61. package/dist/core/{message-CHUUP6OS.d.ts → message-DZa8g0s0.d.ts} +1 -9
  62. package/dist/core/models/index.d.cts +3 -73
  63. package/dist/core/models/index.d.ts +3 -73
  64. package/dist/core/package.json +5 -0
  65. package/dist/core/permissions/index.d.cts +1 -1
  66. package/dist/core/permissions/index.d.ts +1 -1
  67. package/dist/core/resolve-config-BcL-Hv8k.d.ts +74 -0
  68. package/dist/core/resolve-config-DTCxuSBx.d.cts +74 -0
  69. package/dist/core/seed/index.cjs +145 -98
  70. package/dist/core/seed/index.js +148 -112
  71. package/dist/core/{session-guard-C0LkDEN7.d.ts → session-guard-BFqVtBoS.d.ts} +1 -1
  72. package/dist/core/{session-guard-kvAx_8Fb.d.cts → session-guard-KHh0cnET.d.cts} +1 -1
  73. package/dist/core/sessions/index.cjs +184 -0
  74. package/dist/core/sessions/index.d.cts +79 -0
  75. package/dist/core/sessions/index.d.ts +79 -0
  76. package/dist/core/sessions/index.js +157 -0
  77. package/dist/core/{task-BLPFCORT.d.ts → task-BHV-YHg1.d.ts} +41 -3
  78. package/dist/core/{task-wht1RJEL.d.cts → task-C2Hy7H6u.d.cts} +41 -3
  79. package/dist/core/templates/session-context.d.cts +1 -1
  80. package/dist/core/templates/session-context.d.ts +1 -1
  81. package/dist/core/tools/mcp/oauth-mcp-transport.cjs +168 -66
  82. package/dist/core/tools/mcp/oauth-mcp-transport.d.cts +92 -16
  83. package/dist/core/tools/mcp/oauth-mcp-transport.d.ts +92 -16
  84. package/dist/core/tools/mcp/oauth-mcp-transport.js +165 -66
  85. package/dist/core/tools/mcp/oauth-refresh.cjs +43 -53
  86. package/dist/core/tools/mcp/oauth-refresh.d.cts +3 -3
  87. package/dist/core/tools/mcp/oauth-refresh.d.ts +3 -3
  88. package/dist/core/tools/mcp/oauth-refresh.js +58 -78
  89. package/dist/core/types/index.cjs +49 -0
  90. package/dist/core/types/index.d.cts +7 -7
  91. package/dist/core/types/index.d.ts +7 -7
  92. package/dist/core/types/index.js +46 -0
  93. package/dist/core/{types-DNqfdt1z.d.cts → types-D4Rl6ZKN.d.cts} +18 -2
  94. package/dist/core/{types-DqPMmTad.d.ts → types-n61iaXub.d.ts} +18 -2
  95. package/dist/core/unix/index.cjs +164 -110
  96. package/dist/core/unix/index.d.cts +7 -8
  97. package/dist/core/unix/index.d.ts +7 -8
  98. package/dist/core/unix/index.js +167 -124
  99. package/dist/core/{user-DkNdeFoz.d.cts → user-CpfkcV2C.d.cts} +139 -13
  100. package/dist/core/{user-BfVWBmXA.d.ts → user-DP-XZMIM.d.ts} +139 -13
  101. package/dist/core/utils/permission-mode-mapper.d.cts +0 -2
  102. package/dist/core/utils/permission-mode-mapper.d.ts +0 -2
  103. package/dist/daemon/index.js +2976 -2791
  104. package/dist/daemon/main.js +2976 -2791
  105. package/dist/daemon/mcp/server.js +177 -134
  106. package/dist/daemon/mcp/tools/analytics.js +19 -5
  107. package/dist/daemon/mcp/tools/artifacts.js +19 -5
  108. package/dist/daemon/mcp/tools/boards.js +19 -5
  109. package/dist/daemon/mcp/tools/card-types.js +19 -5
  110. package/dist/daemon/mcp/tools/cards.js +19 -5
  111. package/dist/daemon/mcp/tools/environment.js +19 -5
  112. package/dist/daemon/mcp/tools/mcp-servers.d.ts +29 -2
  113. package/dist/daemon/mcp/tools/mcp-servers.js +64 -54
  114. package/dist/daemon/mcp/tools/messages.js +19 -5
  115. package/dist/daemon/mcp/tools/repos.js +19 -5
  116. package/dist/daemon/mcp/tools/search.js +19 -5
  117. package/dist/daemon/mcp/tools/sessions.js +175 -53
  118. package/dist/daemon/mcp/tools/tasks.js +19 -5
  119. package/dist/daemon/mcp/tools/users.js +19 -5
  120. package/dist/daemon/mcp/tools/worktrees.js +37 -38
  121. package/dist/daemon/register-hooks.js +52 -1
  122. package/dist/daemon/register-routes.js +436 -424
  123. package/dist/daemon/register-services.js +255 -140
  124. package/dist/daemon/services/config.d.ts +7 -1
  125. package/dist/daemon/services/config.js +3 -2
  126. package/dist/daemon/services/gateway.js +28 -15
  127. package/dist/daemon/services/mcp-servers.d.ts +7 -2
  128. package/dist/daemon/services/repos.js +2 -0
  129. package/dist/daemon/services/sessions.d.ts +1 -1
  130. package/dist/daemon/services/sessions.js +8 -16
  131. package/dist/daemon/services/tasks.js +16 -10
  132. package/dist/daemon/services/terminals.js +2 -0
  133. package/dist/daemon/services/users.d.ts +27 -11
  134. package/dist/daemon/services/users.js +89 -43
  135. package/dist/daemon/services/worktree-owners.js +2 -0
  136. package/dist/daemon/services/worktrees.js +2 -0
  137. package/dist/daemon/setup/index.js +5 -2
  138. package/dist/daemon/setup/socketio.d.ts +10 -1
  139. package/dist/daemon/setup/socketio.js +7 -3
  140. package/dist/daemon/startup.js +13 -1
  141. package/dist/daemon/utils/apply-session-config-defaults.d.ts +54 -0
  142. package/dist/daemon/utils/apply-session-config-defaults.js +46 -0
  143. package/dist/daemon/utils/spawn-executor.js +2 -0
  144. package/dist/daemon/utils/worktree-authorization.d.ts +2 -4
  145. package/dist/executor/commands/zellij.d.ts.map +1 -1
  146. package/dist/executor/commands/zellij.js +2 -2
  147. package/dist/executor/handlers/sdk/base-executor.d.ts +4 -3
  148. package/dist/executor/handlers/sdk/base-executor.d.ts.map +1 -1
  149. package/dist/executor/handlers/sdk/base-executor.js +11 -5
  150. package/dist/executor/payload-types.d.ts +14 -14
  151. package/dist/executor/sdk-handlers/claude/claude-tool.d.ts.map +1 -1
  152. package/dist/executor/sdk-handlers/claude/claude-tool.js +9 -4
  153. package/dist/executor/sdk-handlers/claude/import/task-extractor.d.ts.map +1 -1
  154. package/dist/executor/sdk-handlers/claude/import/task-extractor.js +0 -5
  155. package/dist/executor/sdk-handlers/claude/message-builder.d.ts +23 -2
  156. package/dist/executor/sdk-handlers/claude/message-builder.d.ts.map +1 -1
  157. package/dist/executor/sdk-handlers/claude/message-builder.js +33 -2
  158. package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.d.ts +9 -1
  159. package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.d.ts.map +1 -1
  160. package/dist/executor/sdk-handlers/claude/permissions/permission-hooks.js +12 -0
  161. package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
  162. package/dist/executor/sdk-handlers/claude/query-builder.js +11 -6
  163. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts +0 -5
  164. package/dist/executor/sdk-handlers/codex/codex-tool.d.ts.map +1 -1
  165. package/dist/executor/sdk-handlers/codex/codex-tool.js +9 -24
  166. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +15 -2
  167. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
  168. package/dist/executor/sdk-handlers/codex/prompt-service.js +39 -10
  169. package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts +0 -5
  170. package/dist/executor/sdk-handlers/copilot/copilot-tool.d.ts.map +1 -1
  171. package/dist/executor/sdk-handlers/copilot/copilot-tool.js +5 -22
  172. package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts +0 -5
  173. package/dist/executor/sdk-handlers/gemini/gemini-tool.d.ts.map +1 -1
  174. package/dist/executor/sdk-handlers/gemini/gemini-tool.js +9 -24
  175. package/dist/ui/assets/{CodeEditor.inner-CO-5PAnZ.js → CodeEditor.inner-CVLqZBtM.js} +1 -1
  176. package/dist/ui/assets/{CodeEditor.inner-CO-5PAnZ.js.gz → CodeEditor.inner-CVLqZBtM.js.gz} +0 -0
  177. package/dist/ui/assets/{_basePickBy-DfxojsEt.js → _basePickBy-CFq5ES2J.js} +1 -1
  178. package/dist/ui/assets/_basePickBy-CFq5ES2J.js.gz +0 -0
  179. package/dist/ui/assets/{_baseUniq-DWFPJOTC.js → _baseUniq-C4uKBvNt.js} +1 -1
  180. package/dist/ui/assets/_baseUniq-C4uKBvNt.js.gz +0 -0
  181. package/dist/ui/assets/{arc-vMZ_XGSI.js → arc-BnrcXDJJ.js} +1 -1
  182. package/dist/ui/assets/arc-BnrcXDJJ.js.gz +0 -0
  183. package/dist/ui/assets/{architectureDiagram-VXUJARFQ-DGpk_uOD.js → architectureDiagram-VXUJARFQ-DD9HD-WR.js} +1 -1
  184. package/dist/ui/assets/architectureDiagram-VXUJARFQ-DD9HD-WR.js.gz +0 -0
  185. package/dist/ui/assets/{base-80a1f760-BsVlOKqO.js → base-80a1f760-BK1VmxWU.js} +1 -1
  186. package/dist/ui/assets/{blockDiagram-VD42YOAC-BkRnxc94.js → blockDiagram-VD42YOAC-LBAckZZe.js} +1 -1
  187. package/dist/ui/assets/blockDiagram-VD42YOAC-LBAckZZe.js.gz +0 -0
  188. package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dcf-anJy.js → c4Diagram-YG6GDRKO-yEdylcYP.js} +1 -1
  189. package/dist/ui/assets/{c4Diagram-YG6GDRKO-Dcf-anJy.js.gz → c4Diagram-YG6GDRKO-yEdylcYP.js.gz} +0 -0
  190. package/dist/ui/assets/channel-CMN-iY3Q.js +1 -0
  191. package/dist/ui/assets/{chunk-4BX2VUAB-C4oVWDo8.js → chunk-4BX2VUAB-IHtzKbmQ.js} +1 -1
  192. package/dist/ui/assets/{chunk-55IACEB6-CsBbTu57.js → chunk-55IACEB6-C4o5tv_F.js} +1 -1
  193. package/dist/ui/assets/{chunk-B4BG7PRW-DtkeCZab.js → chunk-B4BG7PRW-EPkzLvlB.js} +1 -1
  194. package/dist/ui/assets/chunk-B4BG7PRW-EPkzLvlB.js.gz +0 -0
  195. package/dist/ui/assets/{chunk-DI55MBZ5-BQ_asW-1.js → chunk-DI55MBZ5-CW-Bzkzj.js} +1 -1
  196. package/dist/ui/assets/chunk-DI55MBZ5-CW-Bzkzj.js.gz +0 -0
  197. package/dist/ui/assets/{chunk-FMBD7UC4-DAdcLNG-.js → chunk-FMBD7UC4-DvGU02Io.js} +1 -1
  198. package/dist/ui/assets/{chunk-QN33PNHL-Do2zad3m.js → chunk-QN33PNHL-C-PIlz9n.js} +1 -1
  199. package/dist/ui/assets/{chunk-QZHKN3VN-CyhMmSdC.js → chunk-QZHKN3VN-BhpJFm6h.js} +1 -1
  200. package/dist/ui/assets/{chunk-TZMSLE5B-DlPypnIq.js → chunk-TZMSLE5B-Biake8IU.js} +1 -1
  201. package/dist/ui/assets/chunk-TZMSLE5B-Biake8IU.js.gz +0 -0
  202. package/dist/ui/assets/classDiagram-2ON5EDUG-Bz1et8oA.js +1 -0
  203. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-Bz1et8oA.js +1 -0
  204. package/dist/ui/assets/clone-Dxo5sEAf.js +1 -0
  205. package/dist/ui/assets/{consoleHook-59e792cb-DHYIclEd.js → consoleHook-59e792cb-BzEkHWE8.js} +1 -1
  206. package/dist/ui/assets/consoleHook-59e792cb-BzEkHWE8.js.gz +0 -0
  207. package/dist/ui/assets/{cose-bilkent-S5V4N54A-DotJH9qH.js → cose-bilkent-S5V4N54A-vAiVi74s.js} +1 -1
  208. package/dist/ui/assets/cose-bilkent-S5V4N54A-vAiVi74s.js.gz +0 -0
  209. package/dist/ui/assets/{dagre-6UL2VRFP-Btssr8QF.js → dagre-6UL2VRFP-C8w7TshD.js} +1 -1
  210. package/dist/ui/assets/dagre-6UL2VRFP-C8w7TshD.js.gz +0 -0
  211. package/dist/ui/assets/{diagram-PSM6KHXK-D5_Jkog3.js → diagram-PSM6KHXK-CvnjEmtQ.js} +1 -1
  212. package/dist/ui/assets/diagram-PSM6KHXK-CvnjEmtQ.js.gz +0 -0
  213. package/dist/ui/assets/{diagram-QEK2KX5R-DlPEVSL5.js → diagram-QEK2KX5R-D245unng.js} +1 -1
  214. package/dist/ui/assets/diagram-QEK2KX5R-D245unng.js.gz +0 -0
  215. package/dist/ui/assets/{diagram-S2PKOQOG-CjO1k8aG.js → diagram-S2PKOQOG-DgGUHL8Z.js} +1 -1
  216. package/dist/ui/assets/diagram-S2PKOQOG-DgGUHL8Z.js.gz +0 -0
  217. package/dist/ui/assets/{erDiagram-Q2GNP2WA-3cO02-K3.js → erDiagram-Q2GNP2WA-Cf5paK9b.js} +1 -1
  218. package/dist/ui/assets/erDiagram-Q2GNP2WA-Cf5paK9b.js.gz +0 -0
  219. package/dist/ui/assets/{flowDiagram-NV44I4VS-CajTpSxI.js → flowDiagram-NV44I4VS-BJpHmEXV.js} +1 -1
  220. package/dist/ui/assets/flowDiagram-NV44I4VS-BJpHmEXV.js.gz +0 -0
  221. package/dist/ui/assets/{ganttDiagram-LVOFAZNH-CnY_bV3o.js → ganttDiagram-LVOFAZNH-zOyTZcXC.js} +1 -1
  222. package/dist/ui/assets/{ganttDiagram-LVOFAZNH-CnY_bV3o.js.gz → ganttDiagram-LVOFAZNH-zOyTZcXC.js.gz} +0 -0
  223. package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-CH16bg-j.js → gitGraphDiagram-NY62KEGX-B0uxwqMv.js} +1 -1
  224. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-B0uxwqMv.js.gz +0 -0
  225. package/dist/ui/assets/{graph-IQoZvE3o.js → graph-NWXc73TO.js} +1 -1
  226. package/dist/ui/assets/graph-NWXc73TO.js.gz +0 -0
  227. package/dist/ui/assets/{index-599aeaf7-RUCkgwsg.js → index-599aeaf7-BKmNqoNF.js} +1 -1
  228. package/dist/ui/assets/index-599aeaf7-BKmNqoNF.js.gz +0 -0
  229. package/dist/ui/assets/{index-B3AvIgqP.js → index-BRYNiHLB.js} +345 -349
  230. package/dist/ui/assets/index-BRYNiHLB.js.gz +0 -0
  231. package/dist/ui/assets/{index-QV5-5yA2.js → index-BX6Xmhes.js} +1 -1
  232. package/dist/ui/assets/index-BX6Xmhes.js.gz +0 -0
  233. package/dist/ui/assets/{index-ChmRuj_T.js → index-W1hIq1uU.js} +1 -1
  234. package/dist/ui/assets/index-W1hIq1uU.js.gz +0 -0
  235. package/dist/ui/assets/{index-C-quzPWC.js → index-ctuok0zf.js} +1 -1
  236. package/dist/ui/assets/index-ctuok0zf.js.gz +0 -0
  237. package/dist/ui/assets/{infoDiagram-ER5ION4S-2e4gZVGT.js → infoDiagram-ER5ION4S-CquCuoTH.js} +1 -1
  238. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-B5bgV3GH.js → journeyDiagram-XKPGCS4Q-B_XkufZ8.js} +1 -1
  239. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-B_XkufZ8.js.gz +0 -0
  240. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-Bp-aWRSc.js → kanban-definition-3W4ZIXB7-C2Bo9HkB.js} +1 -1
  241. package/dist/ui/assets/kanban-definition-3W4ZIXB7-C2Bo9HkB.js.gz +0 -0
  242. package/dist/ui/assets/katex-C6wkUDai.css +1 -0
  243. package/dist/ui/assets/{katex-DGRguze2.css.gz → katex-C6wkUDai.css.gz} +0 -0
  244. package/dist/ui/assets/{layout-BH-2XJZq.js → layout-D9A7Uaku.js} +1 -1
  245. package/dist/ui/assets/layout-D9A7Uaku.js.gz +0 -0
  246. package/dist/ui/assets/{linear-DCYXhl_f.js → linear-BJUwJsxE.js} +1 -1
  247. package/dist/ui/assets/linear-BJUwJsxE.js.gz +0 -0
  248. package/dist/ui/assets/{mermaid.core-BAuL6kgQ.js → mermaid.core-DcOEcjcA.js} +5 -5
  249. package/dist/ui/assets/mermaid.core-DcOEcjcA.js.gz +0 -0
  250. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-DpH5N-N0.js → mindmap-definition-VGOIOE7T-BFT1m7BG.js} +1 -1
  251. package/dist/ui/assets/mindmap-definition-VGOIOE7T-BFT1m7BG.js.gz +0 -0
  252. package/dist/ui/assets/{pieDiagram-ADFJNKIX-BB8fBxj1.js → pieDiagram-ADFJNKIX-BFaX1oBV.js} +1 -1
  253. package/dist/ui/assets/pieDiagram-ADFJNKIX-BFaX1oBV.js.gz +0 -0
  254. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-D6oZLdUD.js → quadrantDiagram-AYHSOK5B-DQps5392.js} +1 -1
  255. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-DQps5392.js.gz +0 -0
  256. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-B4uGPp8w.js → requirementDiagram-UZGBJVZJ-3EZ5KWEi.js} +1 -1
  257. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-3EZ5KWEi.js.gz +0 -0
  258. package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-MXhIjhme.js → sankeyDiagram-TZEHDZUN-D0qcydqq.js} +1 -1
  259. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-D0qcydqq.js.gz +0 -0
  260. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-Cm53TYug.js → sequenceDiagram-WL72ISMW-BCR5gaaN.js} +1 -1
  261. package/dist/ui/assets/sequenceDiagram-WL72ISMW-BCR5gaaN.js.gz +0 -0
  262. package/dist/ui/assets/{stateDiagram-FKZM4ZOC-BVuxUkj5.js → stateDiagram-FKZM4ZOC-BvX4FLQ9.js} +1 -1
  263. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BvX4FLQ9.js.gz +0 -0
  264. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CxLDvgTF.js +1 -0
  265. package/dist/ui/assets/{timeline-definition-IT6M3QCI-CMypNiEP.js → timeline-definition-IT6M3QCI-_AWp5LJn.js} +1 -1
  266. package/dist/ui/assets/timeline-definition-IT6M3QCI-_AWp5LJn.js.gz +0 -0
  267. package/dist/ui/assets/{treemap-KMMF4GRG-BEtnV3BT.js → treemap-KMMF4GRG-BZ9FBl5-.js} +1 -1
  268. package/dist/ui/assets/treemap-KMMF4GRG-BZ9FBl5-.js.gz +0 -0
  269. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-BnioEYUM.js → xychartDiagram-PRI3JC2R-_wB7yuVd.js} +1 -1
  270. package/dist/ui/assets/xychartDiagram-PRI3JC2R-_wB7yuVd.js.gz +0 -0
  271. package/dist/ui/index.html +1 -1
  272. package/package.json +8 -8
  273. package/dist/ui/assets/_basePickBy-DfxojsEt.js.gz +0 -0
  274. package/dist/ui/assets/_baseUniq-DWFPJOTC.js.gz +0 -0
  275. package/dist/ui/assets/arc-vMZ_XGSI.js.gz +0 -0
  276. package/dist/ui/assets/architectureDiagram-VXUJARFQ-DGpk_uOD.js.gz +0 -0
  277. package/dist/ui/assets/blockDiagram-VD42YOAC-BkRnxc94.js.gz +0 -0
  278. package/dist/ui/assets/channel-B9aI4bYN.js +0 -1
  279. package/dist/ui/assets/chunk-B4BG7PRW-DtkeCZab.js.gz +0 -0
  280. package/dist/ui/assets/chunk-DI55MBZ5-BQ_asW-1.js.gz +0 -0
  281. package/dist/ui/assets/chunk-TZMSLE5B-DlPypnIq.js.gz +0 -0
  282. package/dist/ui/assets/classDiagram-2ON5EDUG-p-68WO4Z.js +0 -1
  283. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-p-68WO4Z.js +0 -1
  284. package/dist/ui/assets/clone-DzK5ogfn.js +0 -1
  285. package/dist/ui/assets/consoleHook-59e792cb-DHYIclEd.js.gz +0 -0
  286. package/dist/ui/assets/cose-bilkent-S5V4N54A-DotJH9qH.js.gz +0 -0
  287. package/dist/ui/assets/dagre-6UL2VRFP-Btssr8QF.js.gz +0 -0
  288. package/dist/ui/assets/diagram-PSM6KHXK-D5_Jkog3.js.gz +0 -0
  289. package/dist/ui/assets/diagram-QEK2KX5R-DlPEVSL5.js.gz +0 -0
  290. package/dist/ui/assets/diagram-S2PKOQOG-CjO1k8aG.js.gz +0 -0
  291. package/dist/ui/assets/erDiagram-Q2GNP2WA-3cO02-K3.js.gz +0 -0
  292. package/dist/ui/assets/flowDiagram-NV44I4VS-CajTpSxI.js.gz +0 -0
  293. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CH16bg-j.js.gz +0 -0
  294. package/dist/ui/assets/graph-IQoZvE3o.js.gz +0 -0
  295. package/dist/ui/assets/index-599aeaf7-RUCkgwsg.js.gz +0 -0
  296. package/dist/ui/assets/index-B3AvIgqP.js.gz +0 -0
  297. package/dist/ui/assets/index-C-quzPWC.js.gz +0 -0
  298. package/dist/ui/assets/index-ChmRuj_T.js.gz +0 -0
  299. package/dist/ui/assets/index-QV5-5yA2.js.gz +0 -0
  300. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-B5bgV3GH.js.gz +0 -0
  301. package/dist/ui/assets/kanban-definition-3W4ZIXB7-Bp-aWRSc.js.gz +0 -0
  302. package/dist/ui/assets/katex-DGRguze2.css +0 -1
  303. package/dist/ui/assets/layout-BH-2XJZq.js.gz +0 -0
  304. package/dist/ui/assets/linear-DCYXhl_f.js.gz +0 -0
  305. package/dist/ui/assets/mermaid.core-BAuL6kgQ.js.gz +0 -0
  306. package/dist/ui/assets/mindmap-definition-VGOIOE7T-DpH5N-N0.js.gz +0 -0
  307. package/dist/ui/assets/pieDiagram-ADFJNKIX-BB8fBxj1.js.gz +0 -0
  308. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-D6oZLdUD.js.gz +0 -0
  309. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-B4uGPp8w.js.gz +0 -0
  310. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-MXhIjhme.js.gz +0 -0
  311. package/dist/ui/assets/sequenceDiagram-WL72ISMW-Cm53TYug.js.gz +0 -0
  312. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BVuxUkj5.js.gz +0 -0
  313. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-8Jeww6Dc.js +0 -1
  314. package/dist/ui/assets/timeline-definition-IT6M3QCI-CMypNiEP.js.gz +0 -0
  315. package/dist/ui/assets/treemap-KMMF4GRG-BEtnV3BT.js.gz +0 -0
  316. package/dist/ui/assets/xychartDiagram-PRI3JC2R-BnioEYUM.js.gz +0 -0
@@ -137,7 +137,8 @@ var taskQuerySchema = createQuerySchema(
137
137
  session_id: import_typebox.Type.Optional(CommonSchemas.uuid),
138
138
  status: import_typebox.Type.Optional(
139
139
  import_typebox.Type.Union([
140
- import_typebox.Type.Literal("pending"),
140
+ import_typebox.Type.Literal("queued"),
141
+ import_typebox.Type.Literal("created"),
141
142
  import_typebox.Type.Literal("running"),
142
143
  import_typebox.Type.Literal("stopping"),
143
144
  import_typebox.Type.Literal("awaiting_permission"),
@@ -55,7 +55,7 @@ declare const sessionQuerySchema: _feathersjs_typebox.TIntersect<[TObject<{
55
55
  declare const taskQuerySchema: _feathersjs_typebox.TIntersect<[TObject<{
56
56
  task_id: _feathersjs_typebox.TOptional<_feathersjs_typebox.TString<string>>;
57
57
  session_id: _feathersjs_typebox.TOptional<_feathersjs_typebox.TString<string>>;
58
- status: _feathersjs_typebox.TOptional<_feathersjs_typebox.TUnion<[_feathersjs_typebox.TLiteral<"pending">, _feathersjs_typebox.TLiteral<"running">, _feathersjs_typebox.TLiteral<"stopping">, _feathersjs_typebox.TLiteral<"awaiting_permission">, _feathersjs_typebox.TLiteral<"awaiting_input">, _feathersjs_typebox.TLiteral<"timed_out">, _feathersjs_typebox.TLiteral<"completed">, _feathersjs_typebox.TLiteral<"failed">, _feathersjs_typebox.TLiteral<"stopped">]>>;
58
+ status: _feathersjs_typebox.TOptional<_feathersjs_typebox.TUnion<[_feathersjs_typebox.TLiteral<"queued">, _feathersjs_typebox.TLiteral<"created">, _feathersjs_typebox.TLiteral<"running">, _feathersjs_typebox.TLiteral<"stopping">, _feathersjs_typebox.TLiteral<"awaiting_permission">, _feathersjs_typebox.TLiteral<"awaiting_input">, _feathersjs_typebox.TLiteral<"timed_out">, _feathersjs_typebox.TLiteral<"completed">, _feathersjs_typebox.TLiteral<"failed">, _feathersjs_typebox.TLiteral<"stopped">]>>;
59
59
  created_at: _feathersjs_typebox.TOptional<_feathersjs_typebox.TInteger>;
60
60
  updated_at: _feathersjs_typebox.TOptional<_feathersjs_typebox.TInteger>;
61
61
  }>, TObject<{
@@ -55,7 +55,7 @@ declare const sessionQuerySchema: _feathersjs_typebox.TIntersect<[TObject<{
55
55
  declare const taskQuerySchema: _feathersjs_typebox.TIntersect<[TObject<{
56
56
  task_id: _feathersjs_typebox.TOptional<_feathersjs_typebox.TString<string>>;
57
57
  session_id: _feathersjs_typebox.TOptional<_feathersjs_typebox.TString<string>>;
58
- status: _feathersjs_typebox.TOptional<_feathersjs_typebox.TUnion<[_feathersjs_typebox.TLiteral<"pending">, _feathersjs_typebox.TLiteral<"running">, _feathersjs_typebox.TLiteral<"stopping">, _feathersjs_typebox.TLiteral<"awaiting_permission">, _feathersjs_typebox.TLiteral<"awaiting_input">, _feathersjs_typebox.TLiteral<"timed_out">, _feathersjs_typebox.TLiteral<"completed">, _feathersjs_typebox.TLiteral<"failed">, _feathersjs_typebox.TLiteral<"stopped">]>>;
58
+ status: _feathersjs_typebox.TOptional<_feathersjs_typebox.TUnion<[_feathersjs_typebox.TLiteral<"queued">, _feathersjs_typebox.TLiteral<"created">, _feathersjs_typebox.TLiteral<"running">, _feathersjs_typebox.TLiteral<"stopping">, _feathersjs_typebox.TLiteral<"awaiting_permission">, _feathersjs_typebox.TLiteral<"awaiting_input">, _feathersjs_typebox.TLiteral<"timed_out">, _feathersjs_typebox.TLiteral<"completed">, _feathersjs_typebox.TLiteral<"failed">, _feathersjs_typebox.TLiteral<"stopped">]>>;
59
59
  created_at: _feathersjs_typebox.TOptional<_feathersjs_typebox.TInteger>;
60
60
  updated_at: _feathersjs_typebox.TOptional<_feathersjs_typebox.TInteger>;
61
61
  }>, TObject<{
@@ -92,7 +92,8 @@ var taskQuerySchema = createQuerySchema(
92
92
  session_id: Type.Optional(CommonSchemas.uuid),
93
93
  status: Type.Optional(
94
94
  Type.Union([
95
- Type.Literal("pending"),
95
+ Type.Literal("queued"),
96
+ Type.Literal("created"),
96
97
  Type.Literal("running"),
97
98
  Type.Literal("stopping"),
98
99
  Type.Literal("awaiting_permission"),
@@ -186,6 +186,7 @@ var tasks = (0, import_pg_core.pgTable)(
186
186
  completed_at: t.timestamp("completed_at"),
187
187
  status: (0, import_pg_core.text)("status", {
188
188
  enum: [
189
+ "queued",
189
190
  "created",
190
191
  "running",
191
192
  "stopping",
@@ -197,6 +198,8 @@ var tasks = (0, import_pg_core.pgTable)(
197
198
  "stopped"
198
199
  ]
199
200
  }).notNull(),
201
+ // Queue position (lower drains first); only populated for status='queued'
202
+ queue_position: (0, import_pg_core.integer)("queue_position"),
200
203
  // User attribution
201
204
  created_by: (0, import_pg_core.varchar)("created_by", { length: 36 }).notNull().default("anonymous"),
202
205
  // MD5 of SDK session file at task completion (only populated when stateless_fs_mode is enabled)
@@ -206,7 +209,12 @@ var tasks = (0, import_pg_core.pgTable)(
206
209
  (table) => ({
207
210
  sessionIdx: (0, import_pg_core.index)("tasks_session_idx").on(table.session_id),
208
211
  statusIdx: (0, import_pg_core.index)("tasks_status_idx").on(table.status),
209
- createdIdx: (0, import_pg_core.index)("tasks_created_idx").on(table.created_at)
212
+ createdIdx: (0, import_pg_core.index)("tasks_created_idx").on(table.created_at),
213
+ queueIdx: (0, import_pg_core.index)("tasks_queue_idx").on(table.session_id, table.status, table.queue_position),
214
+ // Partial unique index — defense-in-depth for `tasks.createPending` race
215
+ // serialization. Only QUEUED rows are constrained; CREATED/RUNNING/done
216
+ // rows have NULL queue_position and are unaffected.
217
+ queuedPositionUnique: (0, import_pg_core.uniqueIndex)("tasks_queued_position_unique").on(table.session_id, table.queue_position).where(import_drizzle_orm2.sql`${table.status} = 'queued'`)
210
218
  })
211
219
  );
212
220
  var serializedSessions = (0, import_pg_core.pgTable)(
@@ -266,11 +274,9 @@ var messages = (0, import_pg_core.pgTable)(
266
274
  // First 200 chars for list views
267
275
  // Parent tool use ID (for nested tool calls - e.g., Task tool spawning Read/Grep)
268
276
  parent_tool_use_id: (0, import_pg_core.text)("parent_tool_use_id"),
269
- // Message queueing fields
270
- status: (0, import_pg_core.text)("status", { enum: ["queued"] }),
271
- // 'queued' or null (normal message)
272
- queue_position: (0, import_pg_core.integer)("queue_position"),
273
- // Position in queue (1, 2, 3, ...)
277
+ // NOTE: queueing moved off `messages` and onto `tasks.status='queued'` as
278
+ // of migration sqlite/0040 (postgres/0030). The legacy `status` and
279
+ // `queue_position` columns are gone — see `tasks.queue_position` instead.
274
280
  // Full data (JSON blob)
275
281
  data: t.json("data").$type().notNull()
276
282
  },
@@ -278,8 +284,7 @@ var messages = (0, import_pg_core.pgTable)(
278
284
  // Indexes for efficient lookups
279
285
  sessionIdx: (0, import_pg_core.index)("messages_session_id_idx").on(table.session_id),
280
286
  taskIdx: (0, import_pg_core.index)("messages_task_id_idx").on(table.task_id),
281
- sessionIndexIdx: (0, import_pg_core.index)("messages_session_index_idx").on(table.session_id, table.index),
282
- queueIdx: (0, import_pg_core.index)("messages_queue_idx").on(table.session_id, table.status, table.queue_position)
287
+ sessionIndexIdx: (0, import_pg_core.index)("messages_session_index_idx").on(table.session_id, table.index)
283
288
  })
284
289
  );
285
290
  var boards = (0, import_pg_core.pgTable)(
@@ -908,6 +913,7 @@ var tasks2 = (0, import_sqlite_core.sqliteTable)(
908
913
  completed_at: t2.timestamp("completed_at"),
909
914
  status: (0, import_sqlite_core.text)("status", {
910
915
  enum: [
916
+ "queued",
911
917
  "created",
912
918
  "running",
913
919
  "stopping",
@@ -919,6 +925,8 @@ var tasks2 = (0, import_sqlite_core.sqliteTable)(
919
925
  "stopped"
920
926
  ]
921
927
  }).notNull(),
928
+ // Queue position (lower drains first); only populated for status='queued'
929
+ queue_position: (0, import_sqlite_core.integer)("queue_position"),
922
930
  // User attribution
923
931
  created_by: (0, import_sqlite_core.text)("created_by", { length: 36 }).notNull().default("anonymous"),
924
932
  // MD5 of SDK session file at task completion (only populated when stateless_fs_mode is enabled)
@@ -928,7 +936,12 @@ var tasks2 = (0, import_sqlite_core.sqliteTable)(
928
936
  (table) => ({
929
937
  sessionIdx: (0, import_sqlite_core.index)("tasks_session_idx").on(table.session_id),
930
938
  statusIdx: (0, import_sqlite_core.index)("tasks_status_idx").on(table.status),
931
- createdIdx: (0, import_sqlite_core.index)("tasks_created_idx").on(table.created_at)
939
+ createdIdx: (0, import_sqlite_core.index)("tasks_created_idx").on(table.created_at),
940
+ queueIdx: (0, import_sqlite_core.index)("tasks_queue_idx").on(table.session_id, table.status, table.queue_position),
941
+ // Partial unique index — defense-in-depth for `tasks.createPending` race
942
+ // serialization. Only QUEUED rows are constrained; CREATED/RUNNING/done
943
+ // rows have NULL queue_position and are unaffected.
944
+ queuedPositionUnique: (0, import_sqlite_core.uniqueIndex)("tasks_queued_position_unique").on(table.session_id, table.queue_position).where(import_drizzle_orm3.sql`${table.status} = 'queued'`)
932
945
  })
933
946
  );
934
947
  var serializedSessions2 = (0, import_sqlite_core.sqliteTable)(
@@ -988,11 +1001,9 @@ var messages2 = (0, import_sqlite_core.sqliteTable)(
988
1001
  // First 200 chars for list views
989
1002
  // Parent tool use ID (for nested tool calls - e.g., Task tool spawning Read/Grep)
990
1003
  parent_tool_use_id: (0, import_sqlite_core.text)("parent_tool_use_id"),
991
- // Message queueing fields
992
- status: (0, import_sqlite_core.text)("status", { enum: ["queued"] }),
993
- // 'queued' or null (normal message)
994
- queue_position: (0, import_sqlite_core.integer)("queue_position"),
995
- // Position in queue (1, 2, 3, ...)
1004
+ // NOTE: queueing moved off `messages` and onto `tasks.status='queued'` as
1005
+ // of migration sqlite/0040 (postgres/0030). The legacy `status` and
1006
+ // `queue_position` columns are gone — see `tasks.queue_position` instead.
996
1007
  // Full data (JSON blob)
997
1008
  data: t2.json("data").$type().notNull()
998
1009
  },
@@ -1000,8 +1011,7 @@ var messages2 = (0, import_sqlite_core.sqliteTable)(
1000
1011
  // Indexes for efficient lookups
1001
1012
  sessionIdx: (0, import_sqlite_core.index)("messages_session_id_idx").on(table.session_id),
1002
1013
  taskIdx: (0, import_sqlite_core.index)("messages_task_id_idx").on(table.task_id),
1003
- sessionIndexIdx: (0, import_sqlite_core.index)("messages_session_index_idx").on(table.session_id, table.index),
1004
- queueIdx: (0, import_sqlite_core.index)("messages_queue_idx").on(table.session_id, table.status, table.queue_position)
1014
+ sessionIndexIdx: (0, import_sqlite_core.index)("messages_session_index_idx").on(table.session_id, table.index)
1005
1015
  })
1006
1016
  );
1007
1017
  var boards2 = (0, import_sqlite_core.sqliteTable)(
@@ -166,6 +166,7 @@ var tasks = pgTable(
166
166
  completed_at: t.timestamp("completed_at"),
167
167
  status: text("status", {
168
168
  enum: [
169
+ "queued",
169
170
  "created",
170
171
  "running",
171
172
  "stopping",
@@ -177,6 +178,8 @@ var tasks = pgTable(
177
178
  "stopped"
178
179
  ]
179
180
  }).notNull(),
181
+ // Queue position (lower drains first); only populated for status='queued'
182
+ queue_position: integer("queue_position"),
180
183
  // User attribution
181
184
  created_by: varchar("created_by", { length: 36 }).notNull().default("anonymous"),
182
185
  // MD5 of SDK session file at task completion (only populated when stateless_fs_mode is enabled)
@@ -186,7 +189,12 @@ var tasks = pgTable(
186
189
  (table) => ({
187
190
  sessionIdx: index("tasks_session_idx").on(table.session_id),
188
191
  statusIdx: index("tasks_status_idx").on(table.status),
189
- createdIdx: index("tasks_created_idx").on(table.created_at)
192
+ createdIdx: index("tasks_created_idx").on(table.created_at),
193
+ queueIdx: index("tasks_queue_idx").on(table.session_id, table.status, table.queue_position),
194
+ // Partial unique index — defense-in-depth for `tasks.createPending` race
195
+ // serialization. Only QUEUED rows are constrained; CREATED/RUNNING/done
196
+ // rows have NULL queue_position and are unaffected.
197
+ queuedPositionUnique: uniqueIndex("tasks_queued_position_unique").on(table.session_id, table.queue_position).where(sql2`${table.status} = 'queued'`)
190
198
  })
191
199
  );
192
200
  var serializedSessions = pgTable(
@@ -246,11 +254,9 @@ var messages = pgTable(
246
254
  // First 200 chars for list views
247
255
  // Parent tool use ID (for nested tool calls - e.g., Task tool spawning Read/Grep)
248
256
  parent_tool_use_id: text("parent_tool_use_id"),
249
- // Message queueing fields
250
- status: text("status", { enum: ["queued"] }),
251
- // 'queued' or null (normal message)
252
- queue_position: integer("queue_position"),
253
- // Position in queue (1, 2, 3, ...)
257
+ // NOTE: queueing moved off `messages` and onto `tasks.status='queued'` as
258
+ // of migration sqlite/0040 (postgres/0030). The legacy `status` and
259
+ // `queue_position` columns are gone — see `tasks.queue_position` instead.
254
260
  // Full data (JSON blob)
255
261
  data: t.json("data").$type().notNull()
256
262
  },
@@ -258,8 +264,7 @@ var messages = pgTable(
258
264
  // Indexes for efficient lookups
259
265
  sessionIdx: index("messages_session_id_idx").on(table.session_id),
260
266
  taskIdx: index("messages_task_id_idx").on(table.task_id),
261
- sessionIndexIdx: index("messages_session_index_idx").on(table.session_id, table.index),
262
- queueIdx: index("messages_queue_idx").on(table.session_id, table.status, table.queue_position)
267
+ sessionIndexIdx: index("messages_session_index_idx").on(table.session_id, table.index)
263
268
  })
264
269
  );
265
270
  var boards = pgTable(
@@ -896,6 +901,7 @@ var tasks2 = sqliteTable(
896
901
  completed_at: t2.timestamp("completed_at"),
897
902
  status: text2("status", {
898
903
  enum: [
904
+ "queued",
899
905
  "created",
900
906
  "running",
901
907
  "stopping",
@@ -907,6 +913,8 @@ var tasks2 = sqliteTable(
907
913
  "stopped"
908
914
  ]
909
915
  }).notNull(),
916
+ // Queue position (lower drains first); only populated for status='queued'
917
+ queue_position: integer2("queue_position"),
910
918
  // User attribution
911
919
  created_by: text2("created_by", { length: 36 }).notNull().default("anonymous"),
912
920
  // MD5 of SDK session file at task completion (only populated when stateless_fs_mode is enabled)
@@ -916,7 +924,12 @@ var tasks2 = sqliteTable(
916
924
  (table) => ({
917
925
  sessionIdx: index2("tasks_session_idx").on(table.session_id),
918
926
  statusIdx: index2("tasks_status_idx").on(table.status),
919
- createdIdx: index2("tasks_created_idx").on(table.created_at)
927
+ createdIdx: index2("tasks_created_idx").on(table.created_at),
928
+ queueIdx: index2("tasks_queue_idx").on(table.session_id, table.status, table.queue_position),
929
+ // Partial unique index — defense-in-depth for `tasks.createPending` race
930
+ // serialization. Only QUEUED rows are constrained; CREATED/RUNNING/done
931
+ // rows have NULL queue_position and are unaffected.
932
+ queuedPositionUnique: uniqueIndex2("tasks_queued_position_unique").on(table.session_id, table.queue_position).where(sql3`${table.status} = 'queued'`)
920
933
  })
921
934
  );
922
935
  var serializedSessions2 = sqliteTable(
@@ -976,11 +989,9 @@ var messages2 = sqliteTable(
976
989
  // First 200 chars for list views
977
990
  // Parent tool use ID (for nested tool calls - e.g., Task tool spawning Read/Grep)
978
991
  parent_tool_use_id: text2("parent_tool_use_id"),
979
- // Message queueing fields
980
- status: text2("status", { enum: ["queued"] }),
981
- // 'queued' or null (normal message)
982
- queue_position: integer2("queue_position"),
983
- // Position in queue (1, 2, 3, ...)
992
+ // NOTE: queueing moved off `messages` and onto `tasks.status='queued'` as
993
+ // of migration sqlite/0040 (postgres/0030). The legacy `status` and
994
+ // `queue_position` columns are gone — see `tasks.queue_position` instead.
984
995
  // Full data (JSON blob)
985
996
  data: t2.json("data").$type().notNull()
986
997
  },
@@ -988,8 +999,7 @@ var messages2 = sqliteTable(
988
999
  // Indexes for efficient lookups
989
1000
  sessionIdx: index2("messages_session_id_idx").on(table.session_id),
990
1001
  taskIdx: index2("messages_task_id_idx").on(table.task_id),
991
- sessionIndexIdx: index2("messages_session_index_idx").on(table.session_id, table.index),
992
- queueIdx: index2("messages_queue_idx").on(table.session_id, table.status, table.queue_position)
1002
+ sessionIndexIdx: index2("messages_session_index_idx").on(table.session_id, table.index)
993
1003
  })
994
1004
  );
995
1005
  var boards2 = sqliteTable(
@@ -15,10 +15,6 @@ declare enum MessageRole {
15
15
  ASSISTANT = "assistant",
16
16
  SYSTEM = "system"
17
17
  }
18
- /**
19
- * Message status for queueing
20
- */
21
- type MessageStatus = 'queued' | null;
22
18
  /**
23
19
  * Message source - where the message originated
24
20
  * - 'gateway': Message came from external platform (Slack, Discord, etc.)
@@ -186,10 +182,6 @@ interface Message {
186
182
  * This enables grouping nested tool calls under their parent in the UI.
187
183
  */
188
184
  parent_tool_use_id?: string | null;
189
- /** Message status (queued vs normal) */
190
- status?: MessageStatus;
191
- /** Position in queue (for queued messages only) */
192
- queue_position?: number | null;
193
185
  /** Agent-specific metadata */
194
186
  metadata?: {
195
187
  /** Model used for this message */
@@ -230,4 +222,4 @@ type MessageCreate = Omit<Message, 'message_id'> & {
230
222
  */
231
223
  type StreamingEventType = 'streaming:start' | 'streaming:chunk' | 'streaming:end' | 'streaming:error' | 'thinking:start' | 'thinking:chunk' | 'thinking:end';
232
224
 
233
- export { type ContentBlock as C, type DiffEnrichment as D, type FileDiff as F, type InputRequestContent as I, type Message as M, type PermissionRequestContent as P, type StreamingEventType as S, type ToolUse as T, type InputRequestOption as a, type InputRequestQuestion as b, InputRequestStatus as c, type MessageCreate as d, MessageRole as e, type MessageSource as f, type MessageStatus as g, type MessageType as h, PermissionScope as i, PermissionStatus as j, type StructuredPatchHunk as k };
225
+ export { type ContentBlock as C, type DiffEnrichment as D, type FileDiff as F, type InputRequestContent as I, type Message as M, type PermissionRequestContent as P, type StreamingEventType as S, type ToolUse as T, type InputRequestOption as a, type InputRequestQuestion as b, InputRequestStatus as c, type MessageCreate as d, MessageRole as e, type MessageSource as f, type MessageType as g, PermissionScope as h, PermissionStatus as i, type StructuredPatchHunk as j };
@@ -15,10 +15,6 @@ declare enum MessageRole {
15
15
  ASSISTANT = "assistant",
16
16
  SYSTEM = "system"
17
17
  }
18
- /**
19
- * Message status for queueing
20
- */
21
- type MessageStatus = 'queued' | null;
22
18
  /**
23
19
  * Message source - where the message originated
24
20
  * - 'gateway': Message came from external platform (Slack, Discord, etc.)
@@ -186,10 +182,6 @@ interface Message {
186
182
  * This enables grouping nested tool calls under their parent in the UI.
187
183
  */
188
184
  parent_tool_use_id?: string | null;
189
- /** Message status (queued vs normal) */
190
- status?: MessageStatus;
191
- /** Position in queue (for queued messages only) */
192
- queue_position?: number | null;
193
185
  /** Agent-specific metadata */
194
186
  metadata?: {
195
187
  /** Model used for this message */
@@ -230,4 +222,4 @@ type MessageCreate = Omit<Message, 'message_id'> & {
230
222
  */
231
223
  type StreamingEventType = 'streaming:start' | 'streaming:chunk' | 'streaming:end' | 'streaming:error' | 'thinking:start' | 'thinking:chunk' | 'thinking:end';
232
224
 
233
- export { type ContentBlock as C, type DiffEnrichment as D, type FileDiff as F, type InputRequestContent as I, type Message as M, type PermissionRequestContent as P, type StreamingEventType as S, type ToolUse as T, type InputRequestOption as a, type InputRequestQuestion as b, InputRequestStatus as c, type MessageCreate as d, MessageRole as e, type MessageSource as f, type MessageStatus as g, type MessageType as h, PermissionScope as i, PermissionStatus as j, type StructuredPatchHunk as k };
225
+ export { type ContentBlock as C, type DiffEnrichment as D, type FileDiff as F, type InputRequestContent as I, type Message as M, type PermissionRequestContent as P, type StreamingEventType as S, type ToolUse as T, type InputRequestOption as a, type InputRequestQuestion as b, InputRequestStatus as c, type MessageCreate as d, MessageRole as e, type MessageSource as f, type MessageType as g, PermissionScope as h, PermissionStatus as i, type StructuredPatchHunk as j };
@@ -1,7 +1,8 @@
1
1
  export { AVAILABLE_CLAUDE_MODEL_ALIASES, CODEX_CONTEXT_LIMITS, CODEX_MINI_MODEL, CODEX_MODELS, CODEX_MODEL_METADATA, ClaudeModel, CodexModel, DEFAULT_CLAUDE_MODEL, DEFAULT_CODEX_MODEL, getCodexContextWindowLimit } from './browser.cjs';
2
2
  import { GeminiModelInfo } from './gemini-shared.cjs';
3
3
  export { DEFAULT_GEMINI_MODEL, GEMINI_CONTEXT_LIMITS, GEMINI_MODELS, GeminiModel, getGeminiContextWindowLimit } from './gemini-shared.cjs';
4
- import { E as EffortLevel, a as Session } from '../session-MNU4BQv4.cjs';
4
+ export { M as ModelConfigInput, R as ResolvedModelConfig, r as resolveModelConfig, a as resolveModelConfigPrecedence } from '../resolve-config-DTCxuSBx.cjs';
5
+ import '../session-MNU4BQv4.cjs';
5
6
  import '../agentic-tool-BulhIUGb.cjs';
6
7
  import '../id-CoIbY_uc.cjs';
7
8
  import '../context-BpkCELpO.cjs';
@@ -49,75 +50,4 @@ declare function getAvailableGeminiModels(apiKey?: string): Promise<string[]>;
49
50
  */
50
51
  declare function clearGeminiModelCache(): void;
51
52
 
52
- /**
53
- * Model configuration normalization
54
- *
55
- * Single source of truth for turning a partial model-config input (from an
56
- * MCP tool arg, a user default, a worktree setting, etc.) into the canonical
57
- * shape persisted on `Session['model_config']`.
58
- *
59
- * Callers compose these helpers into a precedence chain instead of hand-rolling
60
- * the normalization at every session-creation site (MCP create, spawn service,
61
- * worktree auto-create, gateway session creation, ...). Centralizing here:
62
- *
63
- * - Guarantees every site writes the same shape (mode default, updated_at
64
- * stamp, conditional effort/provider inclusion), avoiding drift.
65
- * - Makes it safe to add a new optional field (e.g. a future `notes` or
66
- * `temperature`) in exactly one place.
67
- * - Returns `undefined` when there is no usable model, so callers can chain
68
- * with `??` or feed a list into `resolveModelConfigPrecedence`.
69
- */
70
-
71
- /**
72
- * Loose input shape accepted by the resolver.
73
- *
74
- * Mirrors `Session['model_config']` but every field is optional so we can
75
- * accept partials from MCP Zod schemas, user/tool defaults, worktree
76
- * overrides, and legacy callers — then either normalize or reject them
77
- * based on whether `model` is set.
78
- */
79
- type ModelConfigInput = {
80
- mode?: 'alias' | 'exact';
81
- model?: string;
82
- effort?: EffortLevel;
83
- provider?: string;
84
- };
85
- /**
86
- * Canonical persisted shape — a non-null `Session.model_config`.
87
- */
88
- type ResolvedModelConfig = NonNullable<Session['model_config']>;
89
- /**
90
- * Normalize a partial model-config into the shape persisted on
91
- * `session.model_config`. Returns `undefined` if no usable `model` was
92
- * provided, so callers can fall through to the next source in a precedence
93
- * chain.
94
- *
95
- * Behavior:
96
- * - `mode` defaults to `'alias'` (matches every legacy call site).
97
- * - `updated_at` is stamped from `opts.now ?? new Date()` (injectable for
98
- * determinism in tests).
99
- * - `effort` and `provider` are only included when explicitly defined, so
100
- * we never write `undefined` values onto the persisted object.
101
- */
102
- declare function resolveModelConfig(input: ModelConfigInput | undefined | null, opts?: {
103
- now?: Date;
104
- }): ResolvedModelConfig | undefined;
105
- /**
106
- * Walk a precedence list (highest priority first) and return the first
107
- * source that yields a resolvable model config. Mirrors the "explicit arg >
108
- * worktree override > user default" pattern used at session-create time.
109
- *
110
- * Example:
111
- * ```ts
112
- * const modelConfig = resolveModelConfigPrecedence([
113
- * args.modelConfig, // explicit MCP arg
114
- * worktree.modelConfig, // worktree override
115
- * userToolDefaults?.modelConfig, // user default
116
- * ]);
117
- * ```
118
- */
119
- declare function resolveModelConfigPrecedence(sources: Array<ModelConfigInput | undefined | null>, opts?: {
120
- now?: Date;
121
- }): ResolvedModelConfig | undefined;
122
-
123
- export { GeminiModelInfo, type ModelConfigInput, type ResolvedModelConfig, clearGeminiModelCache, fetchGeminiModels, getAvailableGeminiModels, resolveModelConfig, resolveModelConfigPrecedence };
53
+ export { GeminiModelInfo, clearGeminiModelCache, fetchGeminiModels, getAvailableGeminiModels };
@@ -1,7 +1,8 @@
1
1
  export { AVAILABLE_CLAUDE_MODEL_ALIASES, CODEX_CONTEXT_LIMITS, CODEX_MINI_MODEL, CODEX_MODELS, CODEX_MODEL_METADATA, ClaudeModel, CodexModel, DEFAULT_CLAUDE_MODEL, DEFAULT_CODEX_MODEL, getCodexContextWindowLimit } from './browser.js';
2
2
  import { GeminiModelInfo } from './gemini-shared.js';
3
3
  export { DEFAULT_GEMINI_MODEL, GEMINI_CONTEXT_LIMITS, GEMINI_MODELS, GeminiModel, getGeminiContextWindowLimit } from './gemini-shared.js';
4
- import { E as EffortLevel, a as Session } from '../session-CAfhv1qL.js';
4
+ export { M as ModelConfigInput, R as ResolvedModelConfig, r as resolveModelConfig, a as resolveModelConfigPrecedence } from '../resolve-config-BcL-Hv8k.js';
5
+ import '../session-CAfhv1qL.js';
5
6
  import '../agentic-tool-cYqsU5i5.js';
6
7
  import '../id-CoIbY_uc.js';
7
8
  import '../context-BpkCELpO.js';
@@ -49,75 +50,4 @@ declare function getAvailableGeminiModels(apiKey?: string): Promise<string[]>;
49
50
  */
50
51
  declare function clearGeminiModelCache(): void;
51
52
 
52
- /**
53
- * Model configuration normalization
54
- *
55
- * Single source of truth for turning a partial model-config input (from an
56
- * MCP tool arg, a user default, a worktree setting, etc.) into the canonical
57
- * shape persisted on `Session['model_config']`.
58
- *
59
- * Callers compose these helpers into a precedence chain instead of hand-rolling
60
- * the normalization at every session-creation site (MCP create, spawn service,
61
- * worktree auto-create, gateway session creation, ...). Centralizing here:
62
- *
63
- * - Guarantees every site writes the same shape (mode default, updated_at
64
- * stamp, conditional effort/provider inclusion), avoiding drift.
65
- * - Makes it safe to add a new optional field (e.g. a future `notes` or
66
- * `temperature`) in exactly one place.
67
- * - Returns `undefined` when there is no usable model, so callers can chain
68
- * with `??` or feed a list into `resolveModelConfigPrecedence`.
69
- */
70
-
71
- /**
72
- * Loose input shape accepted by the resolver.
73
- *
74
- * Mirrors `Session['model_config']` but every field is optional so we can
75
- * accept partials from MCP Zod schemas, user/tool defaults, worktree
76
- * overrides, and legacy callers — then either normalize or reject them
77
- * based on whether `model` is set.
78
- */
79
- type ModelConfigInput = {
80
- mode?: 'alias' | 'exact';
81
- model?: string;
82
- effort?: EffortLevel;
83
- provider?: string;
84
- };
85
- /**
86
- * Canonical persisted shape — a non-null `Session.model_config`.
87
- */
88
- type ResolvedModelConfig = NonNullable<Session['model_config']>;
89
- /**
90
- * Normalize a partial model-config into the shape persisted on
91
- * `session.model_config`. Returns `undefined` if no usable `model` was
92
- * provided, so callers can fall through to the next source in a precedence
93
- * chain.
94
- *
95
- * Behavior:
96
- * - `mode` defaults to `'alias'` (matches every legacy call site).
97
- * - `updated_at` is stamped from `opts.now ?? new Date()` (injectable for
98
- * determinism in tests).
99
- * - `effort` and `provider` are only included when explicitly defined, so
100
- * we never write `undefined` values onto the persisted object.
101
- */
102
- declare function resolveModelConfig(input: ModelConfigInput | undefined | null, opts?: {
103
- now?: Date;
104
- }): ResolvedModelConfig | undefined;
105
- /**
106
- * Walk a precedence list (highest priority first) and return the first
107
- * source that yields a resolvable model config. Mirrors the "explicit arg >
108
- * worktree override > user default" pattern used at session-create time.
109
- *
110
- * Example:
111
- * ```ts
112
- * const modelConfig = resolveModelConfigPrecedence([
113
- * args.modelConfig, // explicit MCP arg
114
- * worktree.modelConfig, // worktree override
115
- * userToolDefaults?.modelConfig, // user default
116
- * ]);
117
- * ```
118
- */
119
- declare function resolveModelConfigPrecedence(sources: Array<ModelConfigInput | undefined | null>, opts?: {
120
- now?: Date;
121
- }): ResolvedModelConfig | undefined;
122
-
123
- export { GeminiModelInfo, type ModelConfigInput, type ResolvedModelConfig, clearGeminiModelCache, fetchGeminiModels, getAvailableGeminiModels, resolveModelConfig, resolveModelConfigPrecedence };
53
+ export { GeminiModelInfo, clearGeminiModelCache, fetchGeminiModels, getAvailableGeminiModels };
@@ -155,6 +155,11 @@
155
155
  "import": "./models/index.js",
156
156
  "require": "./models/index.cjs"
157
157
  },
158
+ "./sessions": {
159
+ "types": "./sessions/index.d.ts",
160
+ "import": "./sessions/index.js",
161
+ "require": "./sessions/index.cjs"
162
+ },
158
163
  "./models/browser": {
159
164
  "types": "./models/browser.d.ts",
160
165
  "import": "./models/browser.js",
@@ -1,4 +1,4 @@
1
- import { i as PermissionScope } from '../message-DinITA7a.cjs';
1
+ import { h as PermissionScope } from '../message-CSWOsdcZ.cjs';
2
2
  import { T as TaskID, S as SessionID } from '../id-CoIbY_uc.cjs';
3
3
 
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { i as PermissionScope } from '../message-CHUUP6OS.js';
1
+ import { h as PermissionScope } from '../message-DZa8g0s0.js';
2
2
  import { T as TaskID, S as SessionID } from '../id-CoIbY_uc.js';
3
3
 
4
4
  /**
@@ -0,0 +1,74 @@
1
+ import { E as EffortLevel, a as Session } from './session-CAfhv1qL.js';
2
+
3
+ /**
4
+ * Model configuration normalization
5
+ *
6
+ * Single source of truth for turning a partial model-config input (from an
7
+ * MCP tool arg, a user default, a worktree setting, etc.) into the canonical
8
+ * shape persisted on `Session['model_config']`.
9
+ *
10
+ * Callers compose these helpers into a precedence chain instead of hand-rolling
11
+ * the normalization at every session-creation site (MCP create, spawn service,
12
+ * worktree auto-create, gateway session creation, ...). Centralizing here:
13
+ *
14
+ * - Guarantees every site writes the same shape (mode default, updated_at
15
+ * stamp, conditional effort/provider inclusion), avoiding drift.
16
+ * - Makes it safe to add a new optional field (e.g. a future `notes` or
17
+ * `temperature`) in exactly one place.
18
+ * - Returns `undefined` when there is no usable model, so callers can chain
19
+ * with `??` or feed a list into `resolveModelConfigPrecedence`.
20
+ */
21
+
22
+ /**
23
+ * Loose input shape accepted by the resolver.
24
+ *
25
+ * Mirrors `Session['model_config']` but every field is optional so we can
26
+ * accept partials from MCP Zod schemas, user/tool defaults, worktree
27
+ * overrides, and legacy callers — then either normalize or reject them
28
+ * based on whether `model` is set.
29
+ */
30
+ type ModelConfigInput = {
31
+ mode?: 'alias' | 'exact';
32
+ model?: string;
33
+ effort?: EffortLevel;
34
+ provider?: string;
35
+ };
36
+ /**
37
+ * Canonical persisted shape — a non-null `Session.model_config`.
38
+ */
39
+ type ResolvedModelConfig = NonNullable<Session['model_config']>;
40
+ /**
41
+ * Normalize a partial model-config into the shape persisted on
42
+ * `session.model_config`. Returns `undefined` if no usable `model` was
43
+ * provided, so callers can fall through to the next source in a precedence
44
+ * chain.
45
+ *
46
+ * Behavior:
47
+ * - `mode` defaults to `'alias'` (matches every legacy call site).
48
+ * - `updated_at` is stamped from `opts.now ?? new Date()` (injectable for
49
+ * determinism in tests).
50
+ * - `effort` and `provider` are only included when explicitly defined, so
51
+ * we never write `undefined` values onto the persisted object.
52
+ */
53
+ declare function resolveModelConfig(input: ModelConfigInput | undefined | null, opts?: {
54
+ now?: Date;
55
+ }): ResolvedModelConfig | undefined;
56
+ /**
57
+ * Walk a precedence list (highest priority first) and return the first
58
+ * source that yields a resolvable model config. Mirrors the "explicit arg >
59
+ * worktree override > user default" pattern used at session-create time.
60
+ *
61
+ * Example:
62
+ * ```ts
63
+ * const modelConfig = resolveModelConfigPrecedence([
64
+ * args.modelConfig, // explicit MCP arg
65
+ * worktree.modelConfig, // worktree override
66
+ * userToolDefaults?.modelConfig, // user default
67
+ * ]);
68
+ * ```
69
+ */
70
+ declare function resolveModelConfigPrecedence(sources: Array<ModelConfigInput | undefined | null>, opts?: {
71
+ now?: Date;
72
+ }): ResolvedModelConfig | undefined;
73
+
74
+ export { type ModelConfigInput as M, type ResolvedModelConfig as R, resolveModelConfigPrecedence as a, resolveModelConfig as r };