agor-live 0.21.2 → 0.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (431) hide show
  1. package/dist/cli/commands/branch/env/restart.js +1 -1
  2. package/dist/cli/commands/branch/env/start.js +1 -1
  3. package/dist/cli/commands/branch/env/stop.js +1 -1
  4. package/dist/core/api/index.cjs +5 -1
  5. package/dist/core/api/index.d.ts +6 -1
  6. package/dist/core/api/index.d.ts.map +1 -1
  7. package/dist/core/api/index.js +5 -1
  8. package/dist/core/claude/index.cjs +162 -14
  9. package/dist/core/claude/index.js +166 -18
  10. package/dist/core/client/index.cjs +43 -3
  11. package/dist/core/client/index.js +37 -3
  12. package/dist/core/config/browser.cjs +2 -2
  13. package/dist/core/config/browser.js +2 -2
  14. package/dist/core/config/config-manager.d.ts.map +1 -1
  15. package/dist/core/config/constants.d.ts +1 -1
  16. package/dist/core/config/index.cjs +174 -20
  17. package/dist/core/config/index.js +178 -24
  18. package/dist/core/config/types.d.ts +8 -0
  19. package/dist/core/config/types.d.ts.map +1 -1
  20. package/dist/core/db/index.cjs +495 -86
  21. package/dist/core/db/index.js +482 -75
  22. package/dist/core/db/repositories/artifacts.d.ts.map +1 -1
  23. package/dist/core/db/repositories/branches.d.ts +13 -1
  24. package/dist/core/db/repositories/branches.d.ts.map +1 -1
  25. package/dist/core/db/repositories/gateway-channels.d.ts.map +1 -1
  26. package/dist/core/db/repositories/index.d.ts +1 -0
  27. package/dist/core/db/repositories/index.d.ts.map +1 -1
  28. package/dist/core/db/repositories/session-relationships.d.ts +30 -0
  29. package/dist/core/db/repositories/session-relationships.d.ts.map +1 -0
  30. package/dist/core/db/repositories/users.d.ts +11 -0
  31. package/dist/core/db/repositories/users.d.ts.map +1 -1
  32. package/dist/core/db/schema.d.ts +421 -4
  33. package/dist/core/db/schema.d.ts.map +1 -1
  34. package/dist/core/db/schema.postgres.d.ts +226 -2
  35. package/dist/core/db/schema.postgres.d.ts.map +1 -1
  36. package/dist/core/db/schema.sqlite.d.ts +228 -2
  37. package/dist/core/db/schema.sqlite.d.ts.map +1 -1
  38. package/dist/core/drizzle/postgres/0050_artifact_source_session.sql +3 -0
  39. package/dist/core/drizzle/postgres/0051_session_relationships.sql +26 -0
  40. package/dist/core/drizzle/postgres/meta/_journal.json +14 -0
  41. package/dist/core/drizzle/sqlite/0059_artifact_source_session.sql +2 -0
  42. package/dist/core/drizzle/sqlite/0060_session_relationships.sql +23 -0
  43. package/dist/core/drizzle/sqlite/meta/_journal.json +14 -0
  44. package/dist/core/gateway/connector-registry.d.ts.map +1 -1
  45. package/dist/core/gateway/connector.d.ts +22 -0
  46. package/dist/core/gateway/connector.d.ts.map +1 -1
  47. package/dist/core/gateway/connectors/slack.d.ts +35 -3
  48. package/dist/core/gateway/connectors/slack.d.ts.map +1 -1
  49. package/dist/core/gateway/connectors/teams.d.ts +107 -0
  50. package/dist/core/gateway/connectors/teams.d.ts.map +1 -0
  51. package/dist/core/gateway/context.d.ts.map +1 -1
  52. package/dist/core/gateway/index.cjs +552 -52
  53. package/dist/core/gateway/index.d.ts +3 -2
  54. package/dist/core/gateway/index.d.ts.map +1 -1
  55. package/dist/core/gateway/index.js +544 -52
  56. package/dist/core/gateway/system-message.d.ts +21 -0
  57. package/dist/core/gateway/system-message.d.ts.map +1 -1
  58. package/dist/core/index.cjs +616 -127
  59. package/dist/core/index.js +597 -116
  60. package/dist/core/mcp/index.cjs +146 -9
  61. package/dist/core/mcp/index.js +146 -9
  62. package/dist/core/mcp/template-resolver.d.ts.map +1 -1
  63. package/dist/core/seed/index.cjs +375 -59
  64. package/dist/core/seed/index.js +378 -62
  65. package/dist/core/sessions/index.cjs +19 -0
  66. package/dist/core/sessions/index.js +19 -0
  67. package/dist/core/templates/agor-system-prompt.md +21 -53
  68. package/dist/core/templates/session-context.cjs +2 -73
  69. package/dist/core/templates/session-context.d.ts +9 -53
  70. package/dist/core/templates/session-context.d.ts.map +1 -1
  71. package/dist/core/templates/session-context.js +2 -72
  72. package/dist/core/tools/mcp/jwt-auth.cjs +2 -20
  73. package/dist/core/tools/mcp/jwt-auth.d.ts.map +1 -1
  74. package/dist/core/tools/mcp/jwt-auth.js +2 -20
  75. package/dist/core/tools/mcp/oauth-mcp-transport.cjs +2 -15
  76. package/dist/core/tools/mcp/oauth-mcp-transport.d.ts.map +1 -1
  77. package/dist/core/tools/mcp/oauth-mcp-transport.js +2 -15
  78. package/dist/core/tools/mcp/oauth-refresh.cjs +167 -19
  79. package/dist/core/tools/mcp/oauth-refresh.js +167 -19
  80. package/dist/core/types/artifact.d.ts +5 -1
  81. package/dist/core/types/artifact.d.ts.map +1 -1
  82. package/dist/core/types/branch.d.ts +14 -0
  83. package/dist/core/types/branch.d.ts.map +1 -1
  84. package/dist/core/types/gateway.d.ts +1 -1
  85. package/dist/core/types/gateway.d.ts.map +1 -1
  86. package/dist/core/types/id.d.ts +1 -0
  87. package/dist/core/types/id.d.ts.map +1 -1
  88. package/dist/core/types/index.cjs +36 -0
  89. package/dist/core/types/index.js +30 -0
  90. package/dist/core/types/session.d.ts +65 -1
  91. package/dist/core/types/session.d.ts.map +1 -1
  92. package/dist/core/types/task.d.ts +9 -0
  93. package/dist/core/types/task.d.ts.map +1 -1
  94. package/dist/core/unix/index.cjs +371 -55
  95. package/dist/core/unix/index.js +374 -58
  96. package/dist/core/unix/unix-integration-service.d.ts +10 -7
  97. package/dist/core/unix/unix-integration-service.d.ts.map +1 -1
  98. package/dist/core/utils/permission-mode-mapper.cjs +19 -0
  99. package/dist/core/utils/permission-mode-mapper.js +19 -0
  100. package/dist/daemon/declarations.d.ts +7 -0
  101. package/dist/daemon/declarations.d.ts.map +1 -1
  102. package/dist/daemon/hooks/gateway-route.d.ts.map +1 -1
  103. package/dist/daemon/hooks/gateway-route.js +53 -1
  104. package/dist/daemon/index.js +3760 -2107
  105. package/dist/daemon/main.js +3760 -2107
  106. package/dist/daemon/mcp/server.js +155 -17
  107. package/dist/daemon/mcp/tools/analytics.js +6 -7
  108. package/dist/daemon/mcp/tools/artifacts.d.ts.map +1 -1
  109. package/dist/daemon/mcp/tools/artifacts.js +7 -7
  110. package/dist/daemon/mcp/tools/boards.js +6 -7
  111. package/dist/daemon/mcp/tools/branches.js +6 -7
  112. package/dist/daemon/mcp/tools/card-types.js +6 -7
  113. package/dist/daemon/mcp/tools/cards.js +6 -7
  114. package/dist/daemon/mcp/tools/environment.d.ts.map +1 -1
  115. package/dist/daemon/mcp/tools/environment.js +19 -12
  116. package/dist/daemon/mcp/tools/knowledge.js +6 -7
  117. package/dist/daemon/mcp/tools/mcp-servers.js +6 -7
  118. package/dist/daemon/mcp/tools/messages.js +6 -7
  119. package/dist/daemon/mcp/tools/proxies.js +6 -7
  120. package/dist/daemon/mcp/tools/repos.js +6 -7
  121. package/dist/daemon/mcp/tools/schedules.js +6 -7
  122. package/dist/daemon/mcp/tools/search.js +6 -7
  123. package/dist/daemon/mcp/tools/sessions.d.ts.map +1 -1
  124. package/dist/daemon/mcp/tools/sessions.js +140 -11
  125. package/dist/daemon/mcp/tools/tasks.js +6 -7
  126. package/dist/daemon/mcp/tools/users.js +6 -7
  127. package/dist/daemon/mcp/tools/widgets.js +7 -8
  128. package/dist/daemon/register-hooks.d.ts +5 -1
  129. package/dist/daemon/register-hooks.d.ts.map +1 -1
  130. package/dist/daemon/register-hooks.js +404 -179
  131. package/dist/daemon/register-routes.d.ts.map +1 -1
  132. package/dist/daemon/register-routes.js +360 -162
  133. package/dist/daemon/register-services.d.ts.map +1 -1
  134. package/dist/daemon/register-services.js +1928 -671
  135. package/dist/daemon/services/artifacts.d.ts +10 -1
  136. package/dist/daemon/services/artifacts.d.ts.map +1 -1
  137. package/dist/daemon/services/artifacts.js +25 -1
  138. package/dist/daemon/services/branches.d.ts +11 -1
  139. package/dist/daemon/services/branches.d.ts.map +1 -1
  140. package/dist/daemon/services/branches.js +470 -184
  141. package/dist/daemon/services/claude-models.js +879 -339
  142. package/dist/daemon/services/gateway.d.ts +58 -2
  143. package/dist/daemon/services/gateway.d.ts.map +1 -1
  144. package/dist/daemon/services/gateway.js +590 -47
  145. package/dist/daemon/services/groups.d.ts +2 -0
  146. package/dist/daemon/services/groups.d.ts.map +1 -1
  147. package/dist/daemon/services/groups.js +56 -0
  148. package/dist/daemon/services/mcp-servers.d.ts.map +1 -1
  149. package/dist/daemon/services/mcp-servers.js +0 -6
  150. package/dist/daemon/services/scheduler.d.ts.map +1 -1
  151. package/dist/daemon/services/scheduler.js +6 -2
  152. package/dist/daemon/services/sessions.d.ts +11 -3
  153. package/dist/daemon/services/sessions.d.ts.map +1 -1
  154. package/dist/daemon/services/sessions.js +68 -7
  155. package/dist/daemon/services/tasks.d.ts +13 -2
  156. package/dist/daemon/services/tasks.d.ts.map +1 -1
  157. package/dist/daemon/services/tasks.js +42 -26
  158. package/dist/daemon/startup.js +6 -2
  159. package/dist/daemon/utils/session-stop.d.ts +43 -0
  160. package/dist/daemon/utils/session-stop.d.ts.map +1 -0
  161. package/dist/daemon/utils/session-stop.js +102 -0
  162. package/dist/daemon/utils/session-task-state.d.ts +7 -2
  163. package/dist/daemon/utils/session-task-state.d.ts.map +1 -1
  164. package/dist/daemon/utils/session-task-state.js +9 -3
  165. package/dist/daemon/utils/session-tasks.d.ts +4 -4
  166. package/dist/daemon/utils/session-tasks.d.ts.map +1 -1
  167. package/dist/daemon/utils/session-tasks.js +4 -8
  168. package/dist/executor/commands/environment.d.ts +13 -0
  169. package/dist/executor/commands/environment.d.ts.map +1 -0
  170. package/dist/executor/commands/environment.js +287 -0
  171. package/dist/executor/commands/index.d.ts.map +1 -1
  172. package/dist/executor/commands/index.js +5 -1
  173. package/dist/executor/commands/unix.d.ts +8 -1
  174. package/dist/executor/commands/unix.d.ts.map +1 -1
  175. package/dist/executor/commands/unix.js +157 -2
  176. package/dist/executor/payload-types.d.ts +201 -5
  177. package/dist/executor/payload-types.d.ts.map +1 -1
  178. package/dist/executor/payload-types.js +98 -0
  179. package/dist/executor/sdk-handlers/base/mcp-scoping.d.ts.map +1 -1
  180. package/dist/executor/sdk-handlers/base/mcp-scoping.js +14 -0
  181. package/dist/executor/sdk-handlers/claude/message-processor.d.ts.map +1 -1
  182. package/dist/executor/sdk-handlers/claude/message-processor.js +0 -1
  183. package/dist/executor/sdk-handlers/claude/query-builder.d.ts +1 -0
  184. package/dist/executor/sdk-handlers/claude/query-builder.d.ts.map +1 -1
  185. package/dist/executor/sdk-handlers/claude/query-builder.js +91 -39
  186. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts +12 -5
  187. package/dist/executor/sdk-handlers/codex/prompt-service.d.ts.map +1 -1
  188. package/dist/executor/sdk-handlers/codex/prompt-service.js +72 -30
  189. package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts +2 -4
  190. package/dist/executor/sdk-handlers/copilot/prompt-service.d.ts.map +1 -1
  191. package/dist/executor/sdk-handlers/copilot/prompt-service.js +4 -13
  192. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts +2 -4
  193. package/dist/executor/sdk-handlers/gemini/prompt-service.d.ts.map +1 -1
  194. package/dist/executor/sdk-handlers/gemini/prompt-service.js +4 -13
  195. package/dist/ui/assets/App-DcEY8Ota.js +3 -0
  196. package/dist/ui/assets/App-DcEY8Ota.js.gz +0 -0
  197. package/dist/ui/assets/{ArtifactConsentModal-ParNk5kW.js → ArtifactConsentModal-CiCbK9iv.js} +1 -1
  198. package/dist/ui/assets/ArtifactConsentModal-CiCbK9iv.js.gz +0 -0
  199. package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js +9 -0
  200. package/dist/ui/assets/ArtifactFullscreenPage-CfsTEGKd.js.gz +0 -0
  201. package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js +18 -0
  202. package/dist/ui/assets/AutocompleteTextarea-BAFFH_5e.js.gz +0 -0
  203. package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js +34 -0
  204. package/dist/ui/assets/BoardObjectNodes-D-O6bZIG.js.gz +0 -0
  205. package/dist/ui/assets/{CodeEditor.inner-D51Z_CLQ.js → CodeEditor.inner-DBgsP4tn.js} +2 -2
  206. package/dist/ui/assets/CodeEditor.inner-DBgsP4tn.js.gz +0 -0
  207. package/dist/ui/assets/ConversationView-CUWR0gR6.js +1 -0
  208. package/dist/ui/assets/ConversationView-CUWR0gR6.js.gz +0 -0
  209. package/dist/ui/assets/KnowledgePage-B2bzlXfn.js +24 -0
  210. package/dist/ui/assets/KnowledgePage-B2bzlXfn.js.gz +0 -0
  211. package/dist/ui/assets/MarketingScreenshotPage-9Qd7eZsm.css +1 -0
  212. package/dist/ui/assets/MarketingScreenshotPage-zv5RUCuV.js +143 -0
  213. package/dist/ui/assets/MarketingScreenshotPage-zv5RUCuV.js.gz +0 -0
  214. package/dist/ui/assets/MobileApp-VgVnsnsN.js +1 -0
  215. package/dist/ui/assets/MobileApp-VgVnsnsN.js.gz +0 -0
  216. package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js +20 -0
  217. package/dist/ui/assets/SessionCanvas-f1-1Gbcw.js.gz +0 -0
  218. package/dist/ui/assets/{App-BAdBsEnV.css → SessionCanvas-mEmYGZhC.css} +1 -1
  219. package/dist/ui/assets/SessionCanvas-mEmYGZhC.css.gz +0 -0
  220. package/dist/ui/assets/{StreamdownDemoPage-B9wbgp2s.js → StreamdownDemoPage-wzWaqWwr.js} +1 -1
  221. package/dist/ui/assets/StreamdownDemoPage-wzWaqWwr.js.gz +0 -0
  222. package/dist/ui/assets/{ThemeSwitcher-ubn6IOz9.js → ThemeSwitcher-Dly2y9pi.js} +1 -1
  223. package/dist/ui/assets/ThemeSwitcher-Dly2y9pi.js.gz +0 -0
  224. package/dist/ui/assets/antd-CfbbHJOz.js +401 -0
  225. package/dist/ui/assets/antd-CfbbHJOz.js.gz +0 -0
  226. package/dist/ui/assets/architecture-U656AL7Q-CykGFbQU.js +1 -0
  227. package/dist/ui/assets/{architectureDiagram-VXUJARFQ-ChmZt3zk.js → architectureDiagram-VXUJARFQ-C8HXAenz.js} +1 -1
  228. package/dist/ui/assets/architectureDiagram-VXUJARFQ-C8HXAenz.js.gz +0 -0
  229. package/dist/ui/assets/{blockDiagram-VD42YOAC-CzGHAHao.js → blockDiagram-VD42YOAC-BhZaEN19.js} +1 -1
  230. package/dist/ui/assets/blockDiagram-VD42YOAC-BhZaEN19.js.gz +0 -0
  231. package/dist/ui/assets/{c4Diagram-YG6GDRKO-DscJyaWN.js → c4Diagram-YG6GDRKO-Dk_UH-sY.js} +1 -1
  232. package/dist/ui/assets/c4Diagram-YG6GDRKO-Dk_UH-sY.js.gz +0 -0
  233. package/dist/ui/assets/channel-D6_nUWlW.js +1 -0
  234. package/dist/ui/assets/{chunk-4BX2VUAB-DoWpTvP8.js → chunk-4BX2VUAB-XprbG2TG.js} +1 -1
  235. package/dist/ui/assets/chunk-55IACEB6-ByzqIgSb.js +1 -0
  236. package/dist/ui/assets/{chunk-ABZYJK2D-RzDCrjE6.js → chunk-ABZYJK2D-BJcrryHK.js} +1 -1
  237. package/dist/ui/assets/chunk-ABZYJK2D-BJcrryHK.js.gz +0 -0
  238. package/dist/ui/assets/{chunk-AGHRB4JF-jidCS5Of.js → chunk-AGHRB4JF-DvxmfbM0.js} +1 -1
  239. package/dist/ui/assets/chunk-AGHRB4JF-DvxmfbM0.js.gz +0 -0
  240. package/dist/ui/assets/{chunk-ATLVNIR6-BEIIfJtC.js → chunk-ATLVNIR6-DbeJ0OrR.js} +1 -1
  241. package/dist/ui/assets/chunk-ATLVNIR6-DbeJ0OrR.js.gz +0 -0
  242. package/dist/ui/assets/{chunk-B4BG7PRW-B8b6dQQ2.js → chunk-B4BG7PRW-C53q2ggf.js} +1 -1
  243. package/dist/ui/assets/chunk-B4BG7PRW-C53q2ggf.js.gz +0 -0
  244. package/dist/ui/assets/{chunk-CVBHYZKI-D-mQAfrk.js → chunk-CVBHYZKI-B3EBSlb3.js} +1 -1
  245. package/dist/ui/assets/{chunk-DI55MBZ5-BfATX3V8.js → chunk-DI55MBZ5-vIyNEQN-.js} +1 -1
  246. package/dist/ui/assets/chunk-DI55MBZ5-vIyNEQN-.js.gz +0 -0
  247. package/dist/ui/assets/chunk-EXTU4WIE-B3ObkuOm.js +1 -0
  248. package/dist/ui/assets/{chunk-FMBD7UC4-fqXscNvc.js → chunk-FMBD7UC4-rddmfK-Z.js} +1 -1
  249. package/dist/ui/assets/{chunk-HN2XXSSU-BCHvD80g.js → chunk-HN2XXSSU-Dttqcg3b.js} +1 -1
  250. package/dist/ui/assets/chunk-HN2XXSSU-Dttqcg3b.js.gz +0 -0
  251. package/dist/ui/assets/{chunk-JA3XYJ7Z-Cp6dqHnY.js → chunk-JA3XYJ7Z-DbNDev3D.js} +1 -1
  252. package/dist/ui/assets/chunk-JA3XYJ7Z-DbNDev3D.js.gz +0 -0
  253. package/dist/ui/assets/{chunk-JZLCHNYA-cKMooY3y.js → chunk-JZLCHNYA-EUmx2y4H.js} +1 -1
  254. package/dist/ui/assets/chunk-JZLCHNYA-EUmx2y4H.js.gz +0 -0
  255. package/dist/ui/assets/{chunk-MI3HLSF2-BlzO5wOE.js → chunk-MI3HLSF2-65n9Mkyc.js} +1 -1
  256. package/dist/ui/assets/chunk-MI3HLSF2-65n9Mkyc.js.gz +0 -0
  257. package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js +2 -0
  258. package/dist/ui/assets/chunk-N4CR4FBY-mv5koXqW.js.gz +0 -0
  259. package/dist/ui/assets/{chunk-QN33PNHL-DIHGQ_pd.js → chunk-QN33PNHL-DsRKK6NR.js} +1 -1
  260. package/dist/ui/assets/{chunk-QXUST7PY-C9l0muI0.js → chunk-QXUST7PY-BCYnMiS3.js} +1 -1
  261. package/dist/ui/assets/chunk-QXUST7PY-BCYnMiS3.js.gz +0 -0
  262. package/dist/ui/assets/chunk-QZHKN3VN-HucAw4xW.js +1 -0
  263. package/dist/ui/assets/{chunk-S3R3BYOJ-VJiLzt2o.js → chunk-S3R3BYOJ-CWMEa9Dc.js} +1 -1
  264. package/dist/ui/assets/chunk-S3R3BYOJ-CWMEa9Dc.js.gz +0 -0
  265. package/dist/ui/assets/{chunk-TZMSLE5B-DZwI0C_2.js → chunk-TZMSLE5B-BuQUQcTr.js} +1 -1
  266. package/dist/ui/assets/chunk-TZMSLE5B-BuQUQcTr.js.gz +0 -0
  267. package/dist/ui/assets/classDiagram-2ON5EDUG-CUT3rPTB.js +1 -0
  268. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-CUT3rPTB.js +1 -0
  269. package/dist/ui/assets/{cose-bilkent-S5V4N54A-Ipik-oSD.js → cose-bilkent-S5V4N54A-CnPB3ARO.js} +1 -1
  270. package/dist/ui/assets/cose-bilkent-S5V4N54A-CnPB3ARO.js.gz +0 -0
  271. package/dist/ui/assets/cursor-QEb7m-rN.png +0 -0
  272. package/dist/ui/assets/{dagre-6UL2VRFP-BDpyWQnh.js → dagre-6UL2VRFP-DhS-k_Se.js} +1 -1
  273. package/dist/ui/assets/dagre-6UL2VRFP-DhS-k_Se.js.gz +0 -0
  274. package/dist/ui/assets/{dagre-CgA4KhUX.js → dagre-KgLoHEuy.js} +1 -1
  275. package/dist/ui/assets/dagre-KgLoHEuy.js.gz +0 -0
  276. package/dist/ui/assets/{diagram-PSM6KHXK-B4GRzxLJ.js → diagram-PSM6KHXK-BZg3MJmb.js} +1 -1
  277. package/dist/ui/assets/diagram-PSM6KHXK-BZg3MJmb.js.gz +0 -0
  278. package/dist/ui/assets/{diagram-QEK2KX5R-BWPW28XI.js → diagram-QEK2KX5R-BPCitvbo.js} +1 -1
  279. package/dist/ui/assets/diagram-QEK2KX5R-BPCitvbo.js.gz +0 -0
  280. package/dist/ui/assets/{diagram-S2PKOQOG-BIHhcGoV.js → diagram-S2PKOQOG-NW4uK6sx.js} +1 -1
  281. package/dist/ui/assets/diagram-S2PKOQOG-NW4uK6sx.js.gz +0 -0
  282. package/dist/ui/assets/{editor-C-HJ7Yw0.js → editor-CzFWIUw2.js} +1 -1
  283. package/dist/ui/assets/editor-CzFWIUw2.js.gz +0 -0
  284. package/dist/ui/assets/{emoji-D8F6B62m.js → emoji-Dkz4Zzv_.js} +1 -1
  285. package/dist/ui/assets/emoji-Dkz4Zzv_.js.gz +0 -0
  286. package/dist/ui/assets/{erDiagram-Q2GNP2WA-ubTaAFcK.js → erDiagram-Q2GNP2WA-me1fboaf.js} +1 -1
  287. package/dist/ui/assets/erDiagram-Q2GNP2WA-me1fboaf.js.gz +0 -0
  288. package/dist/ui/assets/{flowDiagram-NV44I4VS-BHLCTYjI.js → flowDiagram-NV44I4VS-DzE8dGsh.js} +1 -1
  289. package/dist/ui/assets/flowDiagram-NV44I4VS-DzE8dGsh.js.gz +0 -0
  290. package/dist/ui/assets/{ganttDiagram-LVOFAZNH-ClC3pay1.js → ganttDiagram-LVOFAZNH-CFQD09Mi.js} +2 -2
  291. package/dist/ui/assets/ganttDiagram-LVOFAZNH-CFQD09Mi.js.gz +0 -0
  292. package/dist/ui/assets/{gitGraph-F6HP7TQM-DghoobE6.js → gitGraph-F6HP7TQM-CfFE_uAC.js} +1 -1
  293. package/dist/ui/assets/{gitGraphDiagram-NY62KEGX-Clqpiswu.js → gitGraphDiagram-NY62KEGX-CaVoxU4C.js} +1 -1
  294. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-CaVoxU4C.js.gz +0 -0
  295. package/dist/ui/assets/index-BN5_Qq7R.js +324 -0
  296. package/dist/ui/assets/index-BN5_Qq7R.js.gz +0 -0
  297. package/dist/ui/assets/index-DxuPq13l.css +1 -0
  298. package/dist/ui/assets/index-DxuPq13l.css.gz +0 -0
  299. package/dist/ui/assets/{info-NVLQJR56-0ZldEXPQ.js → info-NVLQJR56-i_xHYg3f.js} +1 -1
  300. package/dist/ui/assets/{infoDiagram-ER5ION4S-DMmPX-il.js → infoDiagram-ER5ION4S-2NL93b78.js} +1 -1
  301. package/dist/ui/assets/{journeyDiagram-XKPGCS4Q-CrVickA2.js → journeyDiagram-XKPGCS4Q-CZF-2DHU.js} +1 -1
  302. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CZF-2DHU.js.gz +0 -0
  303. package/dist/ui/assets/{kanban-definition-3W4ZIXB7-C_BsdHYL.js → kanban-definition-3W4ZIXB7-CfvJIOny.js} +1 -1
  304. package/dist/ui/assets/kanban-definition-3W4ZIXB7-CfvJIOny.js.gz +0 -0
  305. package/dist/ui/assets/{line-CfBP7Yic.js → line-DDv8kOJk.js} +1 -1
  306. package/dist/ui/assets/{linear-BsjageUB.js → linear-Daef-l29.js} +1 -1
  307. package/dist/ui/assets/linear-Daef-l29.js.gz +0 -0
  308. package/dist/ui/assets/{mermaid-parser.core-DZdP-NFq.js → mermaid-parser.core-CdK9QgYV.js} +2 -2
  309. package/dist/ui/assets/mermaid-parser.core-CdK9QgYV.js.gz +0 -0
  310. package/dist/ui/assets/{mermaid.core-TNrI0pHG.js → mermaid.core-D6GS9mU-.js} +3 -3
  311. package/dist/ui/assets/mermaid.core-D6GS9mU-.js.gz +0 -0
  312. package/dist/ui/assets/message-SqLqNYcv.js +36 -0
  313. package/dist/ui/assets/message-SqLqNYcv.js.gz +0 -0
  314. package/dist/ui/assets/{mindmap-definition-VGOIOE7T-BbmaUjMY.js → mindmap-definition-VGOIOE7T-Cb3QMflX.js} +1 -1
  315. package/dist/ui/assets/mindmap-definition-VGOIOE7T-Cb3QMflX.js.gz +0 -0
  316. package/dist/ui/assets/{packet-BFZMPI3H-D_ZhkXuT.js → packet-BFZMPI3H-Bm2uwz4i.js} +1 -1
  317. package/dist/ui/assets/{particles-Dv28pjOd.js → particles-DsJFOarW.js} +1 -1
  318. package/dist/ui/assets/particles-DsJFOarW.js.gz +0 -0
  319. package/dist/ui/assets/{pie-7BOR55EZ-Dn0Q3qNx.js → pie-7BOR55EZ-5i17tVnF.js} +1 -1
  320. package/dist/ui/assets/{pieDiagram-ADFJNKIX-BbyjfYu8.js → pieDiagram-ADFJNKIX-BxIwQWvw.js} +1 -1
  321. package/dist/ui/assets/pieDiagram-ADFJNKIX-BxIwQWvw.js.gz +0 -0
  322. package/dist/ui/assets/{quadrantDiagram-AYHSOK5B-Bc3GqMKz.js → quadrantDiagram-AYHSOK5B-B5HPe4ga.js} +1 -1
  323. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-B5HPe4ga.js.gz +0 -0
  324. package/dist/ui/assets/{radar-NHE76QYJ-BHwoAy1q.js → radar-NHE76QYJ-BTn-tq0k.js} +1 -1
  325. package/dist/ui/assets/{reactflow-BVYPxNhc.js → reactflow-Bf74ngoo.js} +2 -2
  326. package/dist/ui/assets/reactflow-Bf74ngoo.js.gz +0 -0
  327. package/dist/ui/assets/{requirementDiagram-UZGBJVZJ-BQaKKL09.js → requirementDiagram-UZGBJVZJ-YfI6llkX.js} +1 -1
  328. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-YfI6llkX.js.gz +0 -0
  329. package/dist/ui/assets/{sandpack-BQW_FQ7G.js → sandpack-D7koO5op.js} +1 -1
  330. package/dist/ui/assets/sandpack-D7koO5op.js.gz +0 -0
  331. package/dist/ui/assets/{sankeyDiagram-TZEHDZUN-DiJvDvhb.js → sankeyDiagram-TZEHDZUN-DOk_B10B.js} +1 -1
  332. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DOk_B10B.js.gz +0 -0
  333. package/dist/ui/assets/{sequenceDiagram-WL72ISMW-Dw32824o.js → sequenceDiagram-WL72ISMW-DAe4Um17.js} +1 -1
  334. package/dist/ui/assets/sequenceDiagram-WL72ISMW-DAe4Um17.js.gz +0 -0
  335. package/dist/ui/assets/{stateDiagram-FKZM4ZOC-BCOpNdHV.js → stateDiagram-FKZM4ZOC-CCesDu_C.js} +1 -1
  336. package/dist/ui/assets/stateDiagram-FKZM4ZOC-CCesDu_C.js.gz +0 -0
  337. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-CMlIrsoO.js +1 -0
  338. package/dist/ui/assets/{syntax-VJrU5BEu.js → syntax-C-M-8jOU.js} +1 -1
  339. package/dist/ui/assets/syntax-C-M-8jOU.js.gz +0 -0
  340. package/dist/ui/assets/{theme-DZtFA8b4.js → theme-BQZdiqwv.js} +1 -1
  341. package/dist/ui/assets/{timeline-definition-IT6M3QCI-Jh_WZzXv.js → timeline-definition-IT6M3QCI-D6P5txjT.js} +1 -1
  342. package/dist/ui/assets/timeline-definition-IT6M3QCI-D6P5txjT.js.gz +0 -0
  343. package/dist/ui/assets/{treemap-KMMF4GRG-CPYIgjxE.js → treemap-KMMF4GRG-Bitm3gy4.js} +1 -1
  344. package/dist/ui/assets/{knowledgeRoutes-CivaUqha.js → useUserLocalStorage-Ckb8HsIw.js} +1 -1
  345. package/dist/ui/assets/useUserLocalStorage-Ckb8HsIw.js.gz +0 -0
  346. package/dist/ui/assets/{xychartDiagram-PRI3JC2R-CERc7Rdb.js → xychartDiagram-PRI3JC2R-CsybjUbd.js} +1 -1
  347. package/dist/ui/assets/xychartDiagram-PRI3JC2R-CsybjUbd.js.gz +0 -0
  348. package/dist/ui/index.html +13 -11
  349. package/dist/ui/index.html.gz +0 -0
  350. package/package.json +10 -9
  351. package/dist/ui/assets/App-9s2WHM6S.js +0 -22
  352. package/dist/ui/assets/App-9s2WHM6S.js.gz +0 -0
  353. package/dist/ui/assets/App-BAdBsEnV.css.gz +0 -0
  354. package/dist/ui/assets/ArtifactConsentModal-ParNk5kW.js.gz +0 -0
  355. package/dist/ui/assets/ArtifactFullscreenPage-VQxLMCiN.js +0 -9
  356. package/dist/ui/assets/ArtifactFullscreenPage-VQxLMCiN.js.gz +0 -0
  357. package/dist/ui/assets/AutocompleteTextarea-3RchrIgk.js +0 -18
  358. package/dist/ui/assets/AutocompleteTextarea-3RchrIgk.js.gz +0 -0
  359. package/dist/ui/assets/CodeEditor.inner-D51Z_CLQ.js.gz +0 -0
  360. package/dist/ui/assets/ConversationView-Dyddw2b1.js +0 -34
  361. package/dist/ui/assets/ConversationView-Dyddw2b1.js.gz +0 -0
  362. package/dist/ui/assets/KnowledgePage-CdftslnF.js +0 -24
  363. package/dist/ui/assets/KnowledgePage-CdftslnF.js.gz +0 -0
  364. package/dist/ui/assets/MobileApp-BdBMpnJ1.js +0 -1
  365. package/dist/ui/assets/MobileApp-BdBMpnJ1.js.gz +0 -0
  366. package/dist/ui/assets/StreamdownDemoPage-B9wbgp2s.js.gz +0 -0
  367. package/dist/ui/assets/ThemeSwitcher-ubn6IOz9.js.gz +0 -0
  368. package/dist/ui/assets/antd-C-HfEC4E.js +0 -400
  369. package/dist/ui/assets/antd-C-HfEC4E.js.gz +0 -0
  370. package/dist/ui/assets/architecture-U656AL7Q-dkBewUpN.js +0 -1
  371. package/dist/ui/assets/architectureDiagram-VXUJARFQ-ChmZt3zk.js.gz +0 -0
  372. package/dist/ui/assets/blockDiagram-VD42YOAC-CzGHAHao.js.gz +0 -0
  373. package/dist/ui/assets/c4Diagram-YG6GDRKO-DscJyaWN.js.gz +0 -0
  374. package/dist/ui/assets/channel-DvRQqEqC.js +0 -1
  375. package/dist/ui/assets/chunk-55IACEB6-DojF2pZN.js +0 -1
  376. package/dist/ui/assets/chunk-ABZYJK2D-RzDCrjE6.js.gz +0 -0
  377. package/dist/ui/assets/chunk-AGHRB4JF-jidCS5Of.js.gz +0 -0
  378. package/dist/ui/assets/chunk-ATLVNIR6-BEIIfJtC.js.gz +0 -0
  379. package/dist/ui/assets/chunk-B4BG7PRW-B8b6dQQ2.js.gz +0 -0
  380. package/dist/ui/assets/chunk-DI55MBZ5-BfATX3V8.js.gz +0 -0
  381. package/dist/ui/assets/chunk-EXTU4WIE-BKt6lPJM.js +0 -1
  382. package/dist/ui/assets/chunk-HN2XXSSU-BCHvD80g.js.gz +0 -0
  383. package/dist/ui/assets/chunk-JA3XYJ7Z-Cp6dqHnY.js.gz +0 -0
  384. package/dist/ui/assets/chunk-JZLCHNYA-cKMooY3y.js.gz +0 -0
  385. package/dist/ui/assets/chunk-MI3HLSF2-BlzO5wOE.js.gz +0 -0
  386. package/dist/ui/assets/chunk-N4CR4FBY-pASDorUx.js +0 -2
  387. package/dist/ui/assets/chunk-N4CR4FBY-pASDorUx.js.gz +0 -0
  388. package/dist/ui/assets/chunk-QXUST7PY-C9l0muI0.js.gz +0 -0
  389. package/dist/ui/assets/chunk-QZHKN3VN-CZskCFCf.js +0 -1
  390. package/dist/ui/assets/chunk-S3R3BYOJ-VJiLzt2o.js.gz +0 -0
  391. package/dist/ui/assets/chunk-TZMSLE5B-DZwI0C_2.js.gz +0 -0
  392. package/dist/ui/assets/classDiagram-2ON5EDUG-BFASUbmZ.js +0 -1
  393. package/dist/ui/assets/classDiagram-v2-WZHVMYZB-BFASUbmZ.js +0 -1
  394. package/dist/ui/assets/cose-bilkent-S5V4N54A-Ipik-oSD.js.gz +0 -0
  395. package/dist/ui/assets/dagre-6UL2VRFP-BDpyWQnh.js.gz +0 -0
  396. package/dist/ui/assets/dagre-CgA4KhUX.js.gz +0 -0
  397. package/dist/ui/assets/diagram-PSM6KHXK-B4GRzxLJ.js.gz +0 -0
  398. package/dist/ui/assets/diagram-QEK2KX5R-BWPW28XI.js.gz +0 -0
  399. package/dist/ui/assets/diagram-S2PKOQOG-BIHhcGoV.js.gz +0 -0
  400. package/dist/ui/assets/editor-C-HJ7Yw0.js.gz +0 -0
  401. package/dist/ui/assets/emoji-D8F6B62m.js.gz +0 -0
  402. package/dist/ui/assets/erDiagram-Q2GNP2WA-ubTaAFcK.js.gz +0 -0
  403. package/dist/ui/assets/flowDiagram-NV44I4VS-BHLCTYjI.js.gz +0 -0
  404. package/dist/ui/assets/ganttDiagram-LVOFAZNH-ClC3pay1.js.gz +0 -0
  405. package/dist/ui/assets/gitGraphDiagram-NY62KEGX-Clqpiswu.js.gz +0 -0
  406. package/dist/ui/assets/index-D9OElx9A.css +0 -1
  407. package/dist/ui/assets/index-D9OElx9A.css.gz +0 -0
  408. package/dist/ui/assets/index-DxPuzG7E.js +0 -350
  409. package/dist/ui/assets/index-DxPuzG7E.js.gz +0 -0
  410. package/dist/ui/assets/journeyDiagram-XKPGCS4Q-CrVickA2.js.gz +0 -0
  411. package/dist/ui/assets/kanban-definition-3W4ZIXB7-C_BsdHYL.js.gz +0 -0
  412. package/dist/ui/assets/knowledgeRoutes-CivaUqha.js.gz +0 -0
  413. package/dist/ui/assets/linear-BsjageUB.js.gz +0 -0
  414. package/dist/ui/assets/mermaid-parser.core-DZdP-NFq.js.gz +0 -0
  415. package/dist/ui/assets/mermaid.core-TNrI0pHG.js.gz +0 -0
  416. package/dist/ui/assets/message-BtWWJ9Af.js +0 -36
  417. package/dist/ui/assets/message-BtWWJ9Af.js.gz +0 -0
  418. package/dist/ui/assets/mindmap-definition-VGOIOE7T-BbmaUjMY.js.gz +0 -0
  419. package/dist/ui/assets/particles-Dv28pjOd.js.gz +0 -0
  420. package/dist/ui/assets/pieDiagram-ADFJNKIX-BbyjfYu8.js.gz +0 -0
  421. package/dist/ui/assets/quadrantDiagram-AYHSOK5B-Bc3GqMKz.js.gz +0 -0
  422. package/dist/ui/assets/reactflow-BVYPxNhc.js.gz +0 -0
  423. package/dist/ui/assets/requirementDiagram-UZGBJVZJ-BQaKKL09.js.gz +0 -0
  424. package/dist/ui/assets/sandpack-BQW_FQ7G.js.gz +0 -0
  425. package/dist/ui/assets/sankeyDiagram-TZEHDZUN-DiJvDvhb.js.gz +0 -0
  426. package/dist/ui/assets/sequenceDiagram-WL72ISMW-Dw32824o.js.gz +0 -0
  427. package/dist/ui/assets/stateDiagram-FKZM4ZOC-BCOpNdHV.js.gz +0 -0
  428. package/dist/ui/assets/stateDiagram-v2-4FDKWEC3-Cuqwvgfg.js +0 -1
  429. package/dist/ui/assets/syntax-VJrU5BEu.js.gz +0 -0
  430. package/dist/ui/assets/timeline-definition-IT6M3QCI-Jh_WZzXv.js.gz +0 -0
  431. package/dist/ui/assets/xychartDiagram-PRI3JC2R-CERc7Rdb.js.gz +0 -0
@@ -519,15 +519,35 @@ var init_schedule = __esm({
519
519
  });
520
520
 
521
521
  // src/types/session.ts
522
+ var SessionStatus, EXECUTING_SESSION_STATUSES;
522
523
  var init_session = __esm({
523
524
  "src/types/session.ts"() {
524
525
  "use strict";
525
526
  init_esm_shims();
527
+ SessionStatus = {
528
+ IDLE: "idle",
529
+ RUNNING: "running",
530
+ STOPPING: "stopping",
531
+ // Stop requested, waiting for task to stop
532
+ AWAITING_PERMISSION: "awaiting_permission",
533
+ AWAITING_INPUT: "awaiting_input",
534
+ // Legacy / pre-#1177: AskUserQuestion was disallowed at the SDK; new sessions never enter this state, kept for historical rows
535
+ TIMED_OUT: "timed_out",
536
+ // Permission/input request timed out, executor exited — user must re-prompt
537
+ COMPLETED: "completed",
538
+ FAILED: "failed"
539
+ };
540
+ EXECUTING_SESSION_STATUSES = /* @__PURE__ */ new Set([
541
+ SessionStatus.RUNNING,
542
+ SessionStatus.STOPPING,
543
+ SessionStatus.AWAITING_PERMISSION,
544
+ SessionStatus.AWAITING_INPUT
545
+ ]);
526
546
  }
527
547
  });
528
548
 
529
549
  // src/types/task.ts
530
- var TaskStatus, TERMINAL_TASK_STATUSES;
550
+ var TaskStatus, TERMINAL_TASK_STATUSES, EXECUTING_TASK_STATUSES;
531
551
  var init_task = __esm({
532
552
  "src/types/task.ts"() {
533
553
  "use strict";
@@ -555,6 +575,12 @@ var init_task = __esm({
555
575
  TaskStatus.STOPPED,
556
576
  TaskStatus.TIMED_OUT
557
577
  ]);
578
+ EXECUTING_TASK_STATUSES = /* @__PURE__ */ new Set([
579
+ TaskStatus.RUNNING,
580
+ TaskStatus.STOPPING,
581
+ TaskStatus.AWAITING_PERMISSION,
582
+ TaskStatus.AWAITING_INPUT
583
+ ]);
558
584
  }
559
585
  });
560
586
 
@@ -699,6 +725,8 @@ __export(schema_postgres_exports, {
699
725
  serializedSessions: () => serializedSessions,
700
726
  sessionEnvSelections: () => sessionEnvSelections,
701
727
  sessionMcpServers: () => sessionMcpServers,
728
+ sessionRelationships: () => sessionRelationships,
729
+ sessionRelationshipsRelations: () => sessionRelationshipsRelations,
702
730
  sessions: () => sessions,
703
731
  sessionsRelations: () => sessionsRelations,
704
732
  tasks: () => tasks,
@@ -722,7 +750,7 @@ import {
722
750
  uniqueIndex,
723
751
  varchar
724
752
  } from "drizzle-orm/pg-core";
725
- var bytea, t, sessions, tasks, serializedSessions, messages, boards, repos, branches, branchOwners, boardOwners, schedules, users, groups, groupMemberships, branchGroupGrants, boardGroupGrants, appVariables, userApiKeys, mcpServers, cardTypes, cards, artifacts, artifactTrustGrants, boardObjects, sessionMcpServers, userMcpOauthTokens, boardComments, gatewayChannels, threadSessionMap, sessionEnvSelections, kbNamespaces, kbNamespaceAcl, kbDocuments, kbDocumentVersions, kbDocumentUnits, kbEmbeddingSpaces, kbGraphNodes, kbGraphEdges, sessionsRelations, branchesRelations, schedulesRelations;
753
+ var bytea, t, sessions, sessionRelationships, tasks, serializedSessions, messages, boards, repos, branches, branchOwners, boardOwners, schedules, users, groups, groupMemberships, branchGroupGrants, boardGroupGrants, appVariables, userApiKeys, mcpServers, cardTypes, cards, artifacts, artifactTrustGrants, boardObjects, sessionMcpServers, userMcpOauthTokens, boardComments, gatewayChannels, threadSessionMap, sessionEnvSelections, kbNamespaces, kbNamespaceAcl, kbDocuments, kbDocumentVersions, kbDocumentUnits, kbEmbeddingSpaces, kbGraphNodes, kbGraphEdges, sessionsRelations, sessionRelationshipsRelations, branchesRelations, schedulesRelations;
726
754
  var init_schema_postgres = __esm({
727
755
  "src/db/schema.postgres.ts"() {
728
756
  "use strict";
@@ -815,6 +843,36 @@ var init_schema_postgres = __esm({
815
843
  scheduleRunUnique: uniqueIndex("sessions_schedule_run_unique").on(table.schedule_id, table.scheduled_run_at).where(sql`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
816
844
  })
817
845
  );
846
+ sessionRelationships = pgTable(
847
+ "session_relationships",
848
+ {
849
+ relationship_id: varchar("relationship_id", { length: 36 }).primaryKey(),
850
+ source_session_id: varchar("source_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
851
+ target_session_id: varchar("target_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
852
+ relationship_type: text("relationship_type", { enum: ["remote_create"] }).notNull(),
853
+ created_by: varchar("created_by", { length: 36 }).notNull(),
854
+ created_at: t.timestamp("created_at").notNull(),
855
+ updated_at: t.timestamp("updated_at"),
856
+ callback_enabled: t.bool("callback_enabled").notNull().default(false),
857
+ callback_session_id: varchar("callback_session_id", { length: 36 }).references(
858
+ () => sessions.session_id,
859
+ {
860
+ onDelete: "set null"
861
+ }
862
+ ),
863
+ data: t.json("data")
864
+ },
865
+ (table) => ({
866
+ sourceIdx: index("session_relationships_source_idx").on(table.source_session_id),
867
+ targetIdx: index("session_relationships_target_idx").on(table.target_session_id),
868
+ callbackIdx: index("session_relationships_callback_idx").on(table.callback_session_id),
869
+ sourceTargetTypeUnique: uniqueIndex("session_relationships_source_target_type_unique").on(
870
+ table.source_session_id,
871
+ table.target_session_id,
872
+ table.relationship_type
873
+ )
874
+ })
875
+ );
818
876
  tasks = pgTable(
819
877
  "tasks",
820
878
  {
@@ -1351,6 +1409,12 @@ var init_schema_postgres = __esm({
1351
1409
  branch_id: varchar("branch_id", { length: 36 }).references(() => branches.branch_id, {
1352
1410
  onDelete: "set null"
1353
1411
  }),
1412
+ source_session_id: varchar("source_session_id", { length: 36 }).references(
1413
+ () => sessions.session_id,
1414
+ {
1415
+ onDelete: "set null"
1416
+ }
1417
+ ),
1354
1418
  board_id: varchar("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
1355
1419
  name: text("name").notNull(),
1356
1420
  description: text("description"),
@@ -1377,6 +1441,7 @@ var init_schema_postgres = __esm({
1377
1441
  },
1378
1442
  (table) => ({
1379
1443
  branchIdx: index("artifacts_branch_idx").on(table.branch_id),
1444
+ sourceSessionIdx: index("artifacts_source_session_idx").on(table.source_session_id),
1380
1445
  boardIdx: index("artifacts_board_idx").on(table.board_id),
1381
1446
  archivedIdx: index("artifacts_archived_idx").on(table.archived),
1382
1447
  publicIdx: index("artifacts_public_idx").on(table.public)
@@ -1533,7 +1598,7 @@ var init_schema_postgres = __esm({
1533
1598
  // Materialized for queries
1534
1599
  name: text("name").notNull(),
1535
1600
  channel_type: text("channel_type", {
1536
- enum: ["slack", "discord", "whatsapp", "telegram", "github"]
1601
+ enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
1537
1602
  }).notNull(),
1538
1603
  target_branch_id: varchar("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
1539
1604
  agor_user_id: varchar("agor_user_id", { length: 36 }).notNull(),
@@ -1917,7 +1982,7 @@ var init_schema_postgres = __esm({
1917
1982
  archivedIdx: index("kb_graph_edges_archived_idx").on(table.archived)
1918
1983
  })
1919
1984
  );
1920
- sessionsRelations = relations(sessions, ({ one }) => ({
1985
+ sessionsRelations = relations(sessions, ({ one, many }) => ({
1921
1986
  branch: one(branches, {
1922
1987
  fields: [sessions.branch_id],
1923
1988
  references: [branches.branch_id]
@@ -1925,6 +1990,24 @@ var init_schema_postgres = __esm({
1925
1990
  schedule: one(schedules, {
1926
1991
  fields: [sessions.schedule_id],
1927
1992
  references: [schedules.schedule_id]
1993
+ }),
1994
+ outboundRelationships: many(sessionRelationships, { relationName: "relationshipSource" }),
1995
+ inboundRelationships: many(sessionRelationships, { relationName: "relationshipTarget" })
1996
+ }));
1997
+ sessionRelationshipsRelations = relations(sessionRelationships, ({ one }) => ({
1998
+ sourceSession: one(sessions, {
1999
+ fields: [sessionRelationships.source_session_id],
2000
+ references: [sessions.session_id],
2001
+ relationName: "relationshipSource"
2002
+ }),
2003
+ targetSession: one(sessions, {
2004
+ fields: [sessionRelationships.target_session_id],
2005
+ references: [sessions.session_id],
2006
+ relationName: "relationshipTarget"
2007
+ }),
2008
+ callbackSession: one(sessions, {
2009
+ fields: [sessionRelationships.callback_session_id],
2010
+ references: [sessions.session_id]
1928
2011
  })
1929
2012
  }));
1930
2013
  branchesRelations = relations(branches, ({ many }) => ({
@@ -1977,6 +2060,8 @@ __export(schema_sqlite_exports, {
1977
2060
  serializedSessions: () => serializedSessions2,
1978
2061
  sessionEnvSelections: () => sessionEnvSelections2,
1979
2062
  sessionMcpServers: () => sessionMcpServers2,
2063
+ sessionRelationships: () => sessionRelationships2,
2064
+ sessionRelationshipsRelations: () => sessionRelationshipsRelations2,
1980
2065
  sessions: () => sessions2,
1981
2066
  sessionsRelations: () => sessionsRelations2,
1982
2067
  tasks: () => tasks2,
@@ -1995,7 +2080,7 @@ import {
1995
2080
  text as text2,
1996
2081
  uniqueIndex as uniqueIndex2
1997
2082
  } from "drizzle-orm/sqlite-core";
1998
- var t2, sessions2, tasks2, serializedSessions2, messages2, boards2, repos2, branches2, branchOwners2, boardOwners2, schedules2, users2, groups2, groupMemberships2, branchGroupGrants2, boardGroupGrants2, appVariables2, userApiKeys2, mcpServers2, cardTypes2, cards2, artifacts2, artifactTrustGrants2, boardObjects2, sessionMcpServers2, userMcpOauthTokens2, boardComments2, gatewayChannels2, threadSessionMap2, sessionEnvSelections2, kbNamespaces2, kbNamespaceAcl2, kbDocuments2, kbDocumentVersions2, kbDocumentUnits2, kbEmbeddingSpaces2, kbGraphNodes2, kbGraphEdges2, sessionsRelations2, branchesRelations2, schedulesRelations2;
2083
+ var t2, sessions2, sessionRelationships2, tasks2, serializedSessions2, messages2, boards2, repos2, branches2, branchOwners2, boardOwners2, schedules2, users2, groups2, groupMemberships2, branchGroupGrants2, boardGroupGrants2, appVariables2, userApiKeys2, mcpServers2, cardTypes2, cards2, artifacts2, artifactTrustGrants2, boardObjects2, sessionMcpServers2, userMcpOauthTokens2, boardComments2, gatewayChannels2, threadSessionMap2, sessionEnvSelections2, kbNamespaces2, kbNamespaceAcl2, kbDocuments2, kbDocumentVersions2, kbDocumentUnits2, kbEmbeddingSpaces2, kbGraphNodes2, kbGraphEdges2, sessionsRelations2, sessionRelationshipsRelations2, branchesRelations2, schedulesRelations2;
1999
2084
  var init_schema_sqlite = __esm({
2000
2085
  "src/db/schema.sqlite.ts"() {
2001
2086
  "use strict";
@@ -2085,6 +2170,36 @@ var init_schema_sqlite = __esm({
2085
2170
  scheduleRunUnique: uniqueIndex2("sessions_schedule_run_unique").on(table.schedule_id, table.scheduled_run_at).where(sql2`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
2086
2171
  })
2087
2172
  );
2173
+ sessionRelationships2 = sqliteTable(
2174
+ "session_relationships",
2175
+ {
2176
+ relationship_id: text2("relationship_id", { length: 36 }).primaryKey(),
2177
+ source_session_id: text2("source_session_id", { length: 36 }).notNull().references(() => sessions2.session_id, { onDelete: "cascade" }),
2178
+ target_session_id: text2("target_session_id", { length: 36 }).notNull().references(() => sessions2.session_id, { onDelete: "cascade" }),
2179
+ relationship_type: text2("relationship_type", { enum: ["remote_create"] }).notNull(),
2180
+ created_by: text2("created_by", { length: 36 }).notNull(),
2181
+ created_at: t2.timestamp("created_at").notNull(),
2182
+ updated_at: t2.timestamp("updated_at"),
2183
+ callback_enabled: t2.bool("callback_enabled").notNull().default(false),
2184
+ callback_session_id: text2("callback_session_id", { length: 36 }).references(
2185
+ () => sessions2.session_id,
2186
+ {
2187
+ onDelete: "set null"
2188
+ }
2189
+ ),
2190
+ data: t2.json("data")
2191
+ },
2192
+ (table) => ({
2193
+ sourceIdx: index2("session_relationships_source_idx").on(table.source_session_id),
2194
+ targetIdx: index2("session_relationships_target_idx").on(table.target_session_id),
2195
+ callbackIdx: index2("session_relationships_callback_idx").on(table.callback_session_id),
2196
+ sourceTargetTypeUnique: uniqueIndex2("session_relationships_source_target_type_unique").on(
2197
+ table.source_session_id,
2198
+ table.target_session_id,
2199
+ table.relationship_type
2200
+ )
2201
+ })
2202
+ );
2088
2203
  tasks2 = sqliteTable(
2089
2204
  "tasks",
2090
2205
  {
@@ -2629,6 +2744,12 @@ var init_schema_sqlite = __esm({
2629
2744
  branch_id: text2("branch_id", { length: 36 }).references(() => branches2.branch_id, {
2630
2745
  onDelete: "set null"
2631
2746
  }),
2747
+ source_session_id: text2("source_session_id", { length: 36 }).references(
2748
+ () => sessions2.session_id,
2749
+ {
2750
+ onDelete: "set null"
2751
+ }
2752
+ ),
2632
2753
  board_id: text2("board_id", { length: 36 }).notNull().references(() => boards2.board_id, { onDelete: "cascade" }),
2633
2754
  name: text2("name").notNull(),
2634
2755
  description: text2("description"),
@@ -2655,6 +2776,7 @@ var init_schema_sqlite = __esm({
2655
2776
  },
2656
2777
  (table) => ({
2657
2778
  branchIdx: index2("artifacts_branch_idx").on(table.branch_id),
2779
+ sourceSessionIdx: index2("artifacts_source_session_idx").on(table.source_session_id),
2658
2780
  boardIdx: index2("artifacts_board_idx").on(table.board_id),
2659
2781
  archivedIdx: index2("artifacts_archived_idx").on(table.archived),
2660
2782
  publicIdx: index2("artifacts_public_idx").on(table.public)
@@ -2813,7 +2935,7 @@ var init_schema_sqlite = __esm({
2813
2935
  // Materialized for queries
2814
2936
  name: text2("name").notNull(),
2815
2937
  channel_type: text2("channel_type", {
2816
- enum: ["slack", "discord", "whatsapp", "telegram", "github"]
2938
+ enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
2817
2939
  }).notNull(),
2818
2940
  target_branch_id: text2("target_branch_id", { length: 36 }).notNull().references(() => branches2.branch_id, { onDelete: "cascade" }),
2819
2941
  agor_user_id: text2("agor_user_id", { length: 36 }).notNull(),
@@ -3196,7 +3318,7 @@ var init_schema_sqlite = __esm({
3196
3318
  archivedIdx: index2("kb_graph_edges_archived_idx").on(table.archived)
3197
3319
  })
3198
3320
  );
3199
- sessionsRelations2 = relations2(sessions2, ({ one }) => ({
3321
+ sessionsRelations2 = relations2(sessions2, ({ one, many }) => ({
3200
3322
  branch: one(branches2, {
3201
3323
  fields: [sessions2.branch_id],
3202
3324
  references: [branches2.branch_id]
@@ -3204,6 +3326,24 @@ var init_schema_sqlite = __esm({
3204
3326
  schedule: one(schedules2, {
3205
3327
  fields: [sessions2.schedule_id],
3206
3328
  references: [schedules2.schedule_id]
3329
+ }),
3330
+ outboundRelationships: many(sessionRelationships2, { relationName: "relationshipSource" }),
3331
+ inboundRelationships: many(sessionRelationships2, { relationName: "relationshipTarget" })
3332
+ }));
3333
+ sessionRelationshipsRelations2 = relations2(sessionRelationships2, ({ one }) => ({
3334
+ sourceSession: one(sessions2, {
3335
+ fields: [sessionRelationships2.source_session_id],
3336
+ references: [sessions2.session_id],
3337
+ relationName: "relationshipSource"
3338
+ }),
3339
+ targetSession: one(sessions2, {
3340
+ fields: [sessionRelationships2.target_session_id],
3341
+ references: [sessions2.session_id],
3342
+ relationName: "relationshipTarget"
3343
+ }),
3344
+ callbackSession: one(sessions2, {
3345
+ fields: [sessionRelationships2.callback_session_id],
3346
+ references: [sessions2.session_id]
3207
3347
  })
3208
3348
  }));
3209
3349
  branchesRelations2 = relations2(branches2, ({ many }) => ({
@@ -3275,7 +3415,7 @@ var init_database_wrapper = __esm({
3275
3415
  });
3276
3416
 
3277
3417
  // src/db/schema.ts
3278
- var dialect, schema, sessions3, tasks3, messages3, boards3, repos3, branches3, branchOwners3, boardOwners3, groups3, groupMemberships3, branchGroupGrants3, boardGroupGrants3, schedules3, users3, appVariables3, mcpServers3, cardTypes3, cards3, artifacts3, artifactTrustGrants3, boardObjects3, sessionMcpServers3, sessionEnvSelections3, userMcpOauthTokens3, boardComments3, gatewayChannels3, threadSessionMap3, userApiKeys3, serializedSessions3, kbNamespaces3, kbNamespaceAcl3, kbDocuments3, kbDocumentVersions3, kbDocumentUnits3, kbEmbeddingSpaces3, kbGraphNodes3, kbGraphEdges3;
3418
+ var dialect, schema, sessions3, tasks3, messages3, boards3, repos3, branches3, branchOwners3, boardOwners3, groups3, groupMemberships3, branchGroupGrants3, boardGroupGrants3, schedules3, users3, appVariables3, mcpServers3, cardTypes3, cards3, artifacts3, artifactTrustGrants3, boardObjects3, sessionMcpServers3, sessionRelationships3, sessionEnvSelections3, userMcpOauthTokens3, boardComments3, gatewayChannels3, threadSessionMap3, userApiKeys3, serializedSessions3, kbNamespaces3, kbNamespaceAcl3, kbDocuments3, kbDocumentVersions3, kbDocumentUnits3, kbEmbeddingSpaces3, kbGraphNodes3, kbGraphEdges3;
3279
3419
  var init_schema = __esm({
3280
3420
  "src/db/schema.ts"() {
3281
3421
  "use strict";
@@ -3307,6 +3447,7 @@ var init_schema = __esm({
3307
3447
  artifactTrustGrants3 = schema.artifactTrustGrants;
3308
3448
  boardObjects3 = schema.boardObjects;
3309
3449
  sessionMcpServers3 = schema.sessionMcpServers;
3450
+ sessionRelationships3 = schema.sessionRelationships;
3310
3451
  sessionEnvSelections3 = schema.sessionEnvSelections;
3311
3452
  userMcpOauthTokens3 = schema.userMcpOauthTokens;
3312
3453
  boardComments3 = schema.boardComments;
@@ -3471,17 +3612,17 @@ init_esm_shims();
3471
3612
  init_esm_shims();
3472
3613
  init_ids();
3473
3614
  import {
3474
- and as and22,
3615
+ and as and23,
3475
3616
  asc as asc3,
3476
3617
  desc as desc6,
3477
- eq as eq30,
3618
+ eq as eq31,
3478
3619
  gt,
3479
3620
  gte,
3480
- inArray as inArray7,
3621
+ inArray as inArray8,
3481
3622
  like as like16,
3482
3623
  lte as lte2,
3483
- or as or8,
3484
- sql as sql14
3624
+ or as or9,
3625
+ sql as sql15
3485
3626
  } from "drizzle-orm";
3486
3627
  import bcryptjs from "bcryptjs";
3487
3628
 
@@ -3733,13 +3874,20 @@ import { and as and17, desc as desc5, eq as eq23, inArray as inArray5, like as l
3733
3874
  init_database_wrapper();
3734
3875
  init_schema();
3735
3876
 
3877
+ // src/db/repositories/session-relationships.ts
3878
+ init_esm_shims();
3879
+ init_ids();
3880
+ init_database_wrapper();
3881
+ init_schema();
3882
+ import { and as and19, eq as eq25, inArray as inArray6, or as or8 } from "drizzle-orm";
3883
+
3736
3884
  // src/db/repositories/tasks.ts
3737
3885
  init_esm_shims();
3738
3886
  init_types2();
3739
3887
  init_ids();
3740
3888
  init_database_wrapper();
3741
3889
  init_schema();
3742
- import { eq as eq25, inArray as inArray6, like as like13, sql as sql13 } from "drizzle-orm";
3890
+ import { eq as eq26, inArray as inArray7, like as like13, sql as sql13 } from "drizzle-orm";
3743
3891
 
3744
3892
  // src/db/repositories/thread-session-map.ts
3745
3893
  init_esm_shims();
@@ -3747,7 +3895,7 @@ init_types2();
3747
3895
  init_ids();
3748
3896
  init_database_wrapper();
3749
3897
  init_schema();
3750
- import { and as and19, eq as eq26, like as like14, lt as lt2 } from "drizzle-orm";
3898
+ import { and as and20, eq as eq27, like as like14, lt as lt2 } from "drizzle-orm";
3751
3899
 
3752
3900
  // src/db/repositories/user-api-keys.ts
3753
3901
  init_esm_shims();
@@ -3756,18 +3904,18 @@ init_database_wrapper();
3756
3904
  init_schema();
3757
3905
  import { randomBytes as randomBytes3 } from "crypto";
3758
3906
  import bcrypt2 from "bcryptjs";
3759
- import { and as and20, eq as eq27 } from "drizzle-orm";
3907
+ import { and as and21, eq as eq28 } from "drizzle-orm";
3760
3908
 
3761
3909
  // src/db/repositories/user-mcp-oauth-tokens.ts
3762
3910
  init_esm_shims();
3763
3911
  init_database_wrapper();
3764
3912
  init_schema();
3765
- import { and as and21, eq as eq28, isNull as isNull6 } from "drizzle-orm";
3913
+ import { and as and22, eq as eq29, isNull as isNull6 } from "drizzle-orm";
3766
3914
 
3767
3915
  // src/db/repositories/users.ts
3768
3916
  init_esm_shims();
3769
3917
  init_types2();
3770
- import { eq as eq29, like as like15 } from "drizzle-orm";
3918
+ import { eq as eq30, like as like15, sql as sql14 } from "drizzle-orm";
3771
3919
 
3772
3920
  // src/config/env-vars.ts
3773
3921
  init_esm_shims();
@@ -46,6 +46,8 @@ __export(client_exports, {
46
46
  ENTITY_PATH_SEGMENTS: () => ENTITY_PATH_SEGMENTS,
47
47
  ENVIRONMENT: () => ENVIRONMENT,
48
48
  ENV_VAR_SCOPES_V05: () => ENV_VAR_SCOPES_V05,
49
+ EXECUTING_SESSION_STATUSES: () => EXECUTING_SESSION_STATUSES,
50
+ EXECUTING_TASK_STATUSES: () => EXECUTING_TASK_STATUSES,
49
51
  GIT: () => GIT,
50
52
  GRANT_ENV_VAR_NAMES: () => GRANT_ENV_VAR_NAMES,
51
53
  InputRequestStatus: () => InputRequestStatus,
@@ -148,6 +150,9 @@ __export(client_exports, {
148
150
  isServiceEnabled: () => isServiceEnabled,
149
151
  isServiceExternallyAccessible: () => isServiceExternallyAccessible,
150
152
  isServiceFullAccess: () => isServiceFullAccess,
153
+ isSessionExecuting: () => isSessionExecuting,
154
+ isSessionPromptable: () => isSessionPromptable,
155
+ isTaskExecuting: () => isTaskExecuting,
151
156
  isTerminalTaskStatus: () => isTerminalTaskStatus,
152
157
  isThreadRoot: () => isThreadRoot,
153
158
  isValidCron: () => isValidCron,
@@ -172,6 +177,7 @@ __export(client_exports, {
172
177
  resolveVariant: () => resolveVariant,
173
178
  resolveVariantOrThrow: () => resolveVariantOrThrow,
174
179
  roundToMinute: () => roundToMinute,
180
+ sessionCanStartTask: () => sessionCanStartTask,
175
181
  sessionPath: () => sessionPath,
176
182
  shortId: () => shortId,
177
183
  titleFromKnowledgeContent: () => titleFromKnowledgeContent,
@@ -241,8 +247,8 @@ var ENVIRONMENT = {
241
247
  * Logs command timeout in milliseconds
242
248
  * How long to wait for logs command to complete
243
249
  */
244
- LOGS_TIMEOUT_MS: 1e4,
245
- // 10 seconds
250
+ LOGS_TIMEOUT_MS: 3e4,
251
+ // 30 seconds
246
252
  /**
247
253
  * Maximum number of log lines to return from logs command
248
254
  * Prevents daemon crashes from massive log outputs
@@ -465,7 +471,11 @@ function extendBranchesService(client) {
465
471
  const branchesService = client.service("branches");
466
472
  if (branchesService[BRANCHES_SERVICE_EXTENDED]) return;
467
473
  if (typeof branchesService.methods === "function") {
468
- branchesService.methods("initializeUnixGroup", "ensureAssistantKnowledgeNamespace");
474
+ branchesService.methods(
475
+ "updateEnvironment",
476
+ "initializeUnixGroup",
477
+ "ensureAssistantKnowledgeNamespace"
478
+ );
469
479
  }
470
480
  branchesService[BRANCHES_SERVICE_EXTENDED] = true;
471
481
  }
@@ -1584,6 +1594,21 @@ function getDefaultPermissionMode(agenticTool) {
1584
1594
  return "auto";
1585
1595
  }
1586
1596
  }
1597
+ function sessionCanStartTask(status, readyForPrompt) {
1598
+ return status === SessionStatus.IDLE || status === SessionStatus.FAILED && readyForPrompt === true;
1599
+ }
1600
+ function isSessionPromptable(session) {
1601
+ return sessionCanStartTask(session.status, session.ready_for_prompt);
1602
+ }
1603
+ var EXECUTING_SESSION_STATUSES = /* @__PURE__ */ new Set([
1604
+ SessionStatus.RUNNING,
1605
+ SessionStatus.STOPPING,
1606
+ SessionStatus.AWAITING_PERMISSION,
1607
+ SessionStatus.AWAITING_INPUT
1608
+ ]);
1609
+ function isSessionExecuting(session) {
1610
+ return EXECUTING_SESSION_STATUSES.has(session.status);
1611
+ }
1587
1612
  function isGatewaySession(session) {
1588
1613
  const ctx = session.custom_context;
1589
1614
  return !!ctx?.gateway_source;
@@ -1632,6 +1657,15 @@ var TERMINAL_TASK_STATUSES = /* @__PURE__ */ new Set([
1632
1657
  function isTerminalTaskStatus(status) {
1633
1658
  return status !== void 0 && TERMINAL_TASK_STATUSES.has(status);
1634
1659
  }
1660
+ var EXECUTING_TASK_STATUSES = /* @__PURE__ */ new Set([
1661
+ TaskStatus.RUNNING,
1662
+ TaskStatus.STOPPING,
1663
+ TaskStatus.AWAITING_PERMISSION,
1664
+ TaskStatus.AWAITING_INPUT
1665
+ ]);
1666
+ function isTaskExecuting(task) {
1667
+ return EXECUTING_TASK_STATUSES.has(task.status);
1668
+ }
1635
1669
 
1636
1670
  // src/types/user.ts
1637
1671
  var ROLES = {
@@ -2029,6 +2063,8 @@ function getKnowledgeUrl(namespaceSlug, documentPath, baseUrl) {
2029
2063
  ENTITY_PATH_SEGMENTS,
2030
2064
  ENVIRONMENT,
2031
2065
  ENV_VAR_SCOPES_V05,
2066
+ EXECUTING_SESSION_STATUSES,
2067
+ EXECUTING_TASK_STATUSES,
2032
2068
  GIT,
2033
2069
  GRANT_ENV_VAR_NAMES,
2034
2070
  InputRequestStatus,
@@ -2131,6 +2167,9 @@ function getKnowledgeUrl(namespaceSlug, documentPath, baseUrl) {
2131
2167
  isServiceEnabled,
2132
2168
  isServiceExternallyAccessible,
2133
2169
  isServiceFullAccess,
2170
+ isSessionExecuting,
2171
+ isSessionPromptable,
2172
+ isTaskExecuting,
2134
2173
  isTerminalTaskStatus,
2135
2174
  isThreadRoot,
2136
2175
  isValidCron,
@@ -2155,6 +2194,7 @@ function getKnowledgeUrl(namespaceSlug, documentPath, baseUrl) {
2155
2194
  resolveVariant,
2156
2195
  resolveVariantOrThrow,
2157
2196
  roundToMinute,
2197
+ sessionCanStartTask,
2158
2198
  sessionPath,
2159
2199
  shortId,
2160
2200
  titleFromKnowledgeContent,
@@ -47,8 +47,8 @@ var ENVIRONMENT = {
47
47
  * Logs command timeout in milliseconds
48
48
  * How long to wait for logs command to complete
49
49
  */
50
- LOGS_TIMEOUT_MS: 1e4,
51
- // 10 seconds
50
+ LOGS_TIMEOUT_MS: 3e4,
51
+ // 30 seconds
52
52
  /**
53
53
  * Maximum number of log lines to return from logs command
54
54
  * Prevents daemon crashes from massive log outputs
@@ -271,7 +271,11 @@ function extendBranchesService(client) {
271
271
  const branchesService = client.service("branches");
272
272
  if (branchesService[BRANCHES_SERVICE_EXTENDED]) return;
273
273
  if (typeof branchesService.methods === "function") {
274
- branchesService.methods("initializeUnixGroup", "ensureAssistantKnowledgeNamespace");
274
+ branchesService.methods(
275
+ "updateEnvironment",
276
+ "initializeUnixGroup",
277
+ "ensureAssistantKnowledgeNamespace"
278
+ );
275
279
  }
276
280
  branchesService[BRANCHES_SERVICE_EXTENDED] = true;
277
281
  }
@@ -1390,6 +1394,21 @@ function getDefaultPermissionMode(agenticTool) {
1390
1394
  return "auto";
1391
1395
  }
1392
1396
  }
1397
+ function sessionCanStartTask(status, readyForPrompt) {
1398
+ return status === SessionStatus.IDLE || status === SessionStatus.FAILED && readyForPrompt === true;
1399
+ }
1400
+ function isSessionPromptable(session) {
1401
+ return sessionCanStartTask(session.status, session.ready_for_prompt);
1402
+ }
1403
+ var EXECUTING_SESSION_STATUSES = /* @__PURE__ */ new Set([
1404
+ SessionStatus.RUNNING,
1405
+ SessionStatus.STOPPING,
1406
+ SessionStatus.AWAITING_PERMISSION,
1407
+ SessionStatus.AWAITING_INPUT
1408
+ ]);
1409
+ function isSessionExecuting(session) {
1410
+ return EXECUTING_SESSION_STATUSES.has(session.status);
1411
+ }
1393
1412
  function isGatewaySession(session) {
1394
1413
  const ctx = session.custom_context;
1395
1414
  return !!ctx?.gateway_source;
@@ -1438,6 +1457,15 @@ var TERMINAL_TASK_STATUSES = /* @__PURE__ */ new Set([
1438
1457
  function isTerminalTaskStatus(status) {
1439
1458
  return status !== void 0 && TERMINAL_TASK_STATUSES.has(status);
1440
1459
  }
1460
+ var EXECUTING_TASK_STATUSES = /* @__PURE__ */ new Set([
1461
+ TaskStatus.RUNNING,
1462
+ TaskStatus.STOPPING,
1463
+ TaskStatus.AWAITING_PERMISSION,
1464
+ TaskStatus.AWAITING_INPUT
1465
+ ]);
1466
+ function isTaskExecuting(task) {
1467
+ return EXECUTING_TASK_STATUSES.has(task.status);
1468
+ }
1441
1469
 
1442
1470
  // src/types/user.ts
1443
1471
  var ROLES = {
@@ -1834,6 +1862,8 @@ export {
1834
1862
  ENTITY_PATH_SEGMENTS,
1835
1863
  ENVIRONMENT,
1836
1864
  ENV_VAR_SCOPES_V05,
1865
+ EXECUTING_SESSION_STATUSES,
1866
+ EXECUTING_TASK_STATUSES,
1837
1867
  GIT,
1838
1868
  GRANT_ENV_VAR_NAMES,
1839
1869
  InputRequestStatus,
@@ -1936,6 +1966,9 @@ export {
1936
1966
  isServiceEnabled,
1937
1967
  isServiceExternallyAccessible,
1938
1968
  isServiceFullAccess,
1969
+ isSessionExecuting,
1970
+ isSessionPromptable,
1971
+ isTaskExecuting,
1939
1972
  isTerminalTaskStatus,
1940
1973
  isThreadRoot,
1941
1974
  isValidCron,
@@ -1960,6 +1993,7 @@ export {
1960
1993
  resolveVariant,
1961
1994
  resolveVariantOrThrow,
1962
1995
  roundToMinute,
1996
+ sessionCanStartTask,
1963
1997
  sessionPath,
1964
1998
  shortId,
1965
1999
  titleFromKnowledgeContent,
@@ -106,8 +106,8 @@ var ENVIRONMENT = {
106
106
  * Logs command timeout in milliseconds
107
107
  * How long to wait for logs command to complete
108
108
  */
109
- LOGS_TIMEOUT_MS: 1e4,
110
- // 10 seconds
109
+ LOGS_TIMEOUT_MS: 3e4,
110
+ // 30 seconds
111
111
  /**
112
112
  * Maximum number of log lines to return from logs command
113
113
  * Prevents daemon crashes from massive log outputs
@@ -41,8 +41,8 @@ var ENVIRONMENT = {
41
41
  * Logs command timeout in milliseconds
42
42
  * How long to wait for logs command to complete
43
43
  */
44
- LOGS_TIMEOUT_MS: 1e4,
45
- // 10 seconds
44
+ LOGS_TIMEOUT_MS: 3e4,
45
+ // 30 seconds
46
46
  /**
47
47
  * Maximum number of log lines to return from logs command
48
48
  * Prevents daemon crashes from massive log outputs
@@ -1 +1 @@
1
- {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/config/config-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/config/config-manager.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export declare const ENVIRONMENT: {
48
48
  * Logs command timeout in milliseconds
49
49
  * How long to wait for logs command to complete
50
50
  */
51
- readonly LOGS_TIMEOUT_MS: 10000;
51
+ readonly LOGS_TIMEOUT_MS: 30000;
52
52
  /**
53
53
  * Maximum number of log lines to return from logs command
54
54
  * Prevents daemon crashes from massive log outputs