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
@@ -85,6 +85,8 @@ __export(schema_postgres_exports, {
85
85
  serializedSessions: () => serializedSessions,
86
86
  sessionEnvSelections: () => sessionEnvSelections,
87
87
  sessionMcpServers: () => sessionMcpServers,
88
+ sessionRelationships: () => sessionRelationships,
89
+ sessionRelationshipsRelations: () => sessionRelationshipsRelations,
88
90
  sessions: () => sessions,
89
91
  sessionsRelations: () => sessionsRelations,
90
92
  tasks: () => tasks,
@@ -97,6 +99,27 @@ __export(schema_postgres_exports, {
97
99
  // src/types/branch.ts
98
100
  var BRANCH_PERMISSION_LEVELS = ["none", "view", "session", "prompt", "all"];
99
101
 
102
+ // src/types/session.ts
103
+ var SessionStatus = {
104
+ IDLE: "idle",
105
+ RUNNING: "running",
106
+ STOPPING: "stopping",
107
+ // Stop requested, waiting for task to stop
108
+ AWAITING_PERMISSION: "awaiting_permission",
109
+ AWAITING_INPUT: "awaiting_input",
110
+ // Legacy / pre-#1177: AskUserQuestion was disallowed at the SDK; new sessions never enter this state, kept for historical rows
111
+ TIMED_OUT: "timed_out",
112
+ // Permission/input request timed out, executor exited — user must re-prompt
113
+ COMPLETED: "completed",
114
+ FAILED: "failed"
115
+ };
116
+ var EXECUTING_SESSION_STATUSES = /* @__PURE__ */ new Set([
117
+ SessionStatus.RUNNING,
118
+ SessionStatus.STOPPING,
119
+ SessionStatus.AWAITING_PERMISSION,
120
+ SessionStatus.AWAITING_INPUT
121
+ ]);
122
+
100
123
  // src/types/task.ts
101
124
  var TaskStatus = {
102
125
  QUEUED: "queued",
@@ -121,6 +144,12 @@ var TERMINAL_TASK_STATUSES = /* @__PURE__ */ new Set([
121
144
  TaskStatus.STOPPED,
122
145
  TaskStatus.TIMED_OUT
123
146
  ]);
147
+ var EXECUTING_TASK_STATUSES = /* @__PURE__ */ new Set([
148
+ TaskStatus.RUNNING,
149
+ TaskStatus.STOPPING,
150
+ TaskStatus.AWAITING_PERMISSION,
151
+ TaskStatus.AWAITING_INPUT
152
+ ]);
124
153
 
125
154
  // src/types/user.ts
126
155
  var ROLES = {
@@ -241,6 +270,36 @@ var sessions = (0, import_pg_core.pgTable)(
241
270
  scheduleRunUnique: (0, import_pg_core.uniqueIndex)("sessions_schedule_run_unique").on(table.schedule_id, table.scheduled_run_at).where(import_drizzle_orm2.sql`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
242
271
  })
243
272
  );
273
+ var sessionRelationships = (0, import_pg_core.pgTable)(
274
+ "session_relationships",
275
+ {
276
+ relationship_id: (0, import_pg_core.varchar)("relationship_id", { length: 36 }).primaryKey(),
277
+ source_session_id: (0, import_pg_core.varchar)("source_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
278
+ target_session_id: (0, import_pg_core.varchar)("target_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
279
+ relationship_type: (0, import_pg_core.text)("relationship_type", { enum: ["remote_create"] }).notNull(),
280
+ created_by: (0, import_pg_core.varchar)("created_by", { length: 36 }).notNull(),
281
+ created_at: t.timestamp("created_at").notNull(),
282
+ updated_at: t.timestamp("updated_at"),
283
+ callback_enabled: t.bool("callback_enabled").notNull().default(false),
284
+ callback_session_id: (0, import_pg_core.varchar)("callback_session_id", { length: 36 }).references(
285
+ () => sessions.session_id,
286
+ {
287
+ onDelete: "set null"
288
+ }
289
+ ),
290
+ data: t.json("data")
291
+ },
292
+ (table) => ({
293
+ sourceIdx: (0, import_pg_core.index)("session_relationships_source_idx").on(table.source_session_id),
294
+ targetIdx: (0, import_pg_core.index)("session_relationships_target_idx").on(table.target_session_id),
295
+ callbackIdx: (0, import_pg_core.index)("session_relationships_callback_idx").on(table.callback_session_id),
296
+ sourceTargetTypeUnique: (0, import_pg_core.uniqueIndex)("session_relationships_source_target_type_unique").on(
297
+ table.source_session_id,
298
+ table.target_session_id,
299
+ table.relationship_type
300
+ )
301
+ })
302
+ );
244
303
  var tasks = (0, import_pg_core.pgTable)(
245
304
  "tasks",
246
305
  {
@@ -777,6 +836,12 @@ var artifacts = (0, import_pg_core.pgTable)(
777
836
  branch_id: (0, import_pg_core.varchar)("branch_id", { length: 36 }).references(() => branches.branch_id, {
778
837
  onDelete: "set null"
779
838
  }),
839
+ source_session_id: (0, import_pg_core.varchar)("source_session_id", { length: 36 }).references(
840
+ () => sessions.session_id,
841
+ {
842
+ onDelete: "set null"
843
+ }
844
+ ),
780
845
  board_id: (0, import_pg_core.varchar)("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
781
846
  name: (0, import_pg_core.text)("name").notNull(),
782
847
  description: (0, import_pg_core.text)("description"),
@@ -803,6 +868,7 @@ var artifacts = (0, import_pg_core.pgTable)(
803
868
  },
804
869
  (table) => ({
805
870
  branchIdx: (0, import_pg_core.index)("artifacts_branch_idx").on(table.branch_id),
871
+ sourceSessionIdx: (0, import_pg_core.index)("artifacts_source_session_idx").on(table.source_session_id),
806
872
  boardIdx: (0, import_pg_core.index)("artifacts_board_idx").on(table.board_id),
807
873
  archivedIdx: (0, import_pg_core.index)("artifacts_archived_idx").on(table.archived),
808
874
  publicIdx: (0, import_pg_core.index)("artifacts_public_idx").on(table.public)
@@ -959,7 +1025,7 @@ var gatewayChannels = (0, import_pg_core.pgTable)(
959
1025
  // Materialized for queries
960
1026
  name: (0, import_pg_core.text)("name").notNull(),
961
1027
  channel_type: (0, import_pg_core.text)("channel_type", {
962
- enum: ["slack", "discord", "whatsapp", "telegram", "github"]
1028
+ enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
963
1029
  }).notNull(),
964
1030
  target_branch_id: (0, import_pg_core.varchar)("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
965
1031
  agor_user_id: (0, import_pg_core.varchar)("agor_user_id", { length: 36 }).notNull(),
@@ -1343,7 +1409,7 @@ var kbGraphEdges = (0, import_pg_core.pgTable)(
1343
1409
  archivedIdx: (0, import_pg_core.index)("kb_graph_edges_archived_idx").on(table.archived)
1344
1410
  })
1345
1411
  );
1346
- var sessionsRelations = (0, import_drizzle_orm2.relations)(sessions, ({ one }) => ({
1412
+ var sessionsRelations = (0, import_drizzle_orm2.relations)(sessions, ({ one, many }) => ({
1347
1413
  branch: one(branches, {
1348
1414
  fields: [sessions.branch_id],
1349
1415
  references: [branches.branch_id]
@@ -1351,6 +1417,24 @@ var sessionsRelations = (0, import_drizzle_orm2.relations)(sessions, ({ one }) =
1351
1417
  schedule: one(schedules, {
1352
1418
  fields: [sessions.schedule_id],
1353
1419
  references: [schedules.schedule_id]
1420
+ }),
1421
+ outboundRelationships: many(sessionRelationships, { relationName: "relationshipSource" }),
1422
+ inboundRelationships: many(sessionRelationships, { relationName: "relationshipTarget" })
1423
+ }));
1424
+ var sessionRelationshipsRelations = (0, import_drizzle_orm2.relations)(sessionRelationships, ({ one }) => ({
1425
+ sourceSession: one(sessions, {
1426
+ fields: [sessionRelationships.source_session_id],
1427
+ references: [sessions.session_id],
1428
+ relationName: "relationshipSource"
1429
+ }),
1430
+ targetSession: one(sessions, {
1431
+ fields: [sessionRelationships.target_session_id],
1432
+ references: [sessions.session_id],
1433
+ relationName: "relationshipTarget"
1434
+ }),
1435
+ callbackSession: one(sessions, {
1436
+ fields: [sessionRelationships.callback_session_id],
1437
+ references: [sessions.session_id]
1354
1438
  })
1355
1439
  }));
1356
1440
  var branchesRelations = (0, import_drizzle_orm2.relations)(branches, ({ many }) => ({
@@ -1401,6 +1485,8 @@ __export(schema_sqlite_exports, {
1401
1485
  serializedSessions: () => serializedSessions2,
1402
1486
  sessionEnvSelections: () => sessionEnvSelections2,
1403
1487
  sessionMcpServers: () => sessionMcpServers2,
1488
+ sessionRelationships: () => sessionRelationships2,
1489
+ sessionRelationshipsRelations: () => sessionRelationshipsRelations2,
1404
1490
  sessions: () => sessions2,
1405
1491
  sessionsRelations: () => sessionsRelations2,
1406
1492
  tasks: () => tasks2,
@@ -1495,6 +1581,36 @@ var sessions2 = (0, import_sqlite_core.sqliteTable)(
1495
1581
  scheduleRunUnique: (0, import_sqlite_core.uniqueIndex)("sessions_schedule_run_unique").on(table.schedule_id, table.scheduled_run_at).where(import_drizzle_orm3.sql`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
1496
1582
  })
1497
1583
  );
1584
+ var sessionRelationships2 = (0, import_sqlite_core.sqliteTable)(
1585
+ "session_relationships",
1586
+ {
1587
+ relationship_id: (0, import_sqlite_core.text)("relationship_id", { length: 36 }).primaryKey(),
1588
+ source_session_id: (0, import_sqlite_core.text)("source_session_id", { length: 36 }).notNull().references(() => sessions2.session_id, { onDelete: "cascade" }),
1589
+ target_session_id: (0, import_sqlite_core.text)("target_session_id", { length: 36 }).notNull().references(() => sessions2.session_id, { onDelete: "cascade" }),
1590
+ relationship_type: (0, import_sqlite_core.text)("relationship_type", { enum: ["remote_create"] }).notNull(),
1591
+ created_by: (0, import_sqlite_core.text)("created_by", { length: 36 }).notNull(),
1592
+ created_at: t2.timestamp("created_at").notNull(),
1593
+ updated_at: t2.timestamp("updated_at"),
1594
+ callback_enabled: t2.bool("callback_enabled").notNull().default(false),
1595
+ callback_session_id: (0, import_sqlite_core.text)("callback_session_id", { length: 36 }).references(
1596
+ () => sessions2.session_id,
1597
+ {
1598
+ onDelete: "set null"
1599
+ }
1600
+ ),
1601
+ data: t2.json("data")
1602
+ },
1603
+ (table) => ({
1604
+ sourceIdx: (0, import_sqlite_core.index)("session_relationships_source_idx").on(table.source_session_id),
1605
+ targetIdx: (0, import_sqlite_core.index)("session_relationships_target_idx").on(table.target_session_id),
1606
+ callbackIdx: (0, import_sqlite_core.index)("session_relationships_callback_idx").on(table.callback_session_id),
1607
+ sourceTargetTypeUnique: (0, import_sqlite_core.uniqueIndex)("session_relationships_source_target_type_unique").on(
1608
+ table.source_session_id,
1609
+ table.target_session_id,
1610
+ table.relationship_type
1611
+ )
1612
+ })
1613
+ );
1498
1614
  var tasks2 = (0, import_sqlite_core.sqliteTable)(
1499
1615
  "tasks",
1500
1616
  {
@@ -2039,6 +2155,12 @@ var artifacts2 = (0, import_sqlite_core.sqliteTable)(
2039
2155
  branch_id: (0, import_sqlite_core.text)("branch_id", { length: 36 }).references(() => branches2.branch_id, {
2040
2156
  onDelete: "set null"
2041
2157
  }),
2158
+ source_session_id: (0, import_sqlite_core.text)("source_session_id", { length: 36 }).references(
2159
+ () => sessions2.session_id,
2160
+ {
2161
+ onDelete: "set null"
2162
+ }
2163
+ ),
2042
2164
  board_id: (0, import_sqlite_core.text)("board_id", { length: 36 }).notNull().references(() => boards2.board_id, { onDelete: "cascade" }),
2043
2165
  name: (0, import_sqlite_core.text)("name").notNull(),
2044
2166
  description: (0, import_sqlite_core.text)("description"),
@@ -2065,6 +2187,7 @@ var artifacts2 = (0, import_sqlite_core.sqliteTable)(
2065
2187
  },
2066
2188
  (table) => ({
2067
2189
  branchIdx: (0, import_sqlite_core.index)("artifacts_branch_idx").on(table.branch_id),
2190
+ sourceSessionIdx: (0, import_sqlite_core.index)("artifacts_source_session_idx").on(table.source_session_id),
2068
2191
  boardIdx: (0, import_sqlite_core.index)("artifacts_board_idx").on(table.board_id),
2069
2192
  archivedIdx: (0, import_sqlite_core.index)("artifacts_archived_idx").on(table.archived),
2070
2193
  publicIdx: (0, import_sqlite_core.index)("artifacts_public_idx").on(table.public)
@@ -2223,7 +2346,7 @@ var gatewayChannels2 = (0, import_sqlite_core.sqliteTable)(
2223
2346
  // Materialized for queries
2224
2347
  name: (0, import_sqlite_core.text)("name").notNull(),
2225
2348
  channel_type: (0, import_sqlite_core.text)("channel_type", {
2226
- enum: ["slack", "discord", "whatsapp", "telegram", "github"]
2349
+ enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
2227
2350
  }).notNull(),
2228
2351
  target_branch_id: (0, import_sqlite_core.text)("target_branch_id", { length: 36 }).notNull().references(() => branches2.branch_id, { onDelete: "cascade" }),
2229
2352
  agor_user_id: (0, import_sqlite_core.text)("agor_user_id", { length: 36 }).notNull(),
@@ -2606,7 +2729,7 @@ var kbGraphEdges2 = (0, import_sqlite_core.sqliteTable)(
2606
2729
  archivedIdx: (0, import_sqlite_core.index)("kb_graph_edges_archived_idx").on(table.archived)
2607
2730
  })
2608
2731
  );
2609
- var sessionsRelations2 = (0, import_drizzle_orm3.relations)(sessions2, ({ one }) => ({
2732
+ var sessionsRelations2 = (0, import_drizzle_orm3.relations)(sessions2, ({ one, many }) => ({
2610
2733
  branch: one(branches2, {
2611
2734
  fields: [sessions2.branch_id],
2612
2735
  references: [branches2.branch_id]
@@ -2614,6 +2737,24 @@ var sessionsRelations2 = (0, import_drizzle_orm3.relations)(sessions2, ({ one })
2614
2737
  schedule: one(schedules2, {
2615
2738
  fields: [sessions2.schedule_id],
2616
2739
  references: [schedules2.schedule_id]
2740
+ }),
2741
+ outboundRelationships: many(sessionRelationships2, { relationName: "relationshipSource" }),
2742
+ inboundRelationships: many(sessionRelationships2, { relationName: "relationshipTarget" })
2743
+ }));
2744
+ var sessionRelationshipsRelations2 = (0, import_drizzle_orm3.relations)(sessionRelationships2, ({ one }) => ({
2745
+ sourceSession: one(sessions2, {
2746
+ fields: [sessionRelationships2.source_session_id],
2747
+ references: [sessions2.session_id],
2748
+ relationName: "relationshipSource"
2749
+ }),
2750
+ targetSession: one(sessions2, {
2751
+ fields: [sessionRelationships2.target_session_id],
2752
+ references: [sessions2.session_id],
2753
+ relationName: "relationshipTarget"
2754
+ }),
2755
+ callbackSession: one(sessions2, {
2756
+ fields: [sessionRelationships2.callback_session_id],
2757
+ references: [sessions2.session_id]
2617
2758
  })
2618
2759
  }));
2619
2760
  var branchesRelations2 = (0, import_drizzle_orm3.relations)(branches2, ({ many }) => ({
@@ -2963,6 +3104,7 @@ var artifacts3 = schema.artifacts;
2963
3104
  var artifactTrustGrants3 = schema.artifactTrustGrants;
2964
3105
  var boardObjects3 = schema.boardObjects;
2965
3106
  var sessionMcpServers3 = schema.sessionMcpServers;
3107
+ var sessionRelationships3 = schema.sessionRelationships;
2966
3108
  var sessionEnvSelections3 = schema.sessionEnvSelections;
2967
3109
  var userMcpOauthTokens3 = schema.userMcpOauthTokens;
2968
3110
  var boardComments3 = schema.boardComments;
@@ -3122,11 +3264,6 @@ function buildMCPTemplateContextFromEnv(env) {
3122
3264
  userEnv[key] = value;
3123
3265
  }
3124
3266
  }
3125
- if (allowedKeys.size > 0) {
3126
- console.log(
3127
- ` \u{1F510} MCP template context: ${allowedKeys.size} user env var(s) available for templates`
3128
- );
3129
- }
3130
3267
  return {
3131
3268
  user: {
3132
3269
  env: userEnv
@@ -52,6 +52,8 @@ __export(schema_postgres_exports, {
52
52
  serializedSessions: () => serializedSessions,
53
53
  sessionEnvSelections: () => sessionEnvSelections,
54
54
  sessionMcpServers: () => sessionMcpServers,
55
+ sessionRelationships: () => sessionRelationships,
56
+ sessionRelationshipsRelations: () => sessionRelationshipsRelations,
55
57
  sessions: () => sessions,
56
58
  sessionsRelations: () => sessionsRelations,
57
59
  tasks: () => tasks,
@@ -64,6 +66,27 @@ __export(schema_postgres_exports, {
64
66
  // src/types/branch.ts
65
67
  var BRANCH_PERMISSION_LEVELS = ["none", "view", "session", "prompt", "all"];
66
68
 
69
+ // src/types/session.ts
70
+ var SessionStatus = {
71
+ IDLE: "idle",
72
+ RUNNING: "running",
73
+ STOPPING: "stopping",
74
+ // Stop requested, waiting for task to stop
75
+ AWAITING_PERMISSION: "awaiting_permission",
76
+ AWAITING_INPUT: "awaiting_input",
77
+ // Legacy / pre-#1177: AskUserQuestion was disallowed at the SDK; new sessions never enter this state, kept for historical rows
78
+ TIMED_OUT: "timed_out",
79
+ // Permission/input request timed out, executor exited — user must re-prompt
80
+ COMPLETED: "completed",
81
+ FAILED: "failed"
82
+ };
83
+ var EXECUTING_SESSION_STATUSES = /* @__PURE__ */ new Set([
84
+ SessionStatus.RUNNING,
85
+ SessionStatus.STOPPING,
86
+ SessionStatus.AWAITING_PERMISSION,
87
+ SessionStatus.AWAITING_INPUT
88
+ ]);
89
+
67
90
  // src/types/task.ts
68
91
  var TaskStatus = {
69
92
  QUEUED: "queued",
@@ -88,6 +111,12 @@ var TERMINAL_TASK_STATUSES = /* @__PURE__ */ new Set([
88
111
  TaskStatus.STOPPED,
89
112
  TaskStatus.TIMED_OUT
90
113
  ]);
114
+ var EXECUTING_TASK_STATUSES = /* @__PURE__ */ new Set([
115
+ TaskStatus.RUNNING,
116
+ TaskStatus.STOPPING,
117
+ TaskStatus.AWAITING_PERMISSION,
118
+ TaskStatus.AWAITING_INPUT
119
+ ]);
91
120
 
92
121
  // src/types/user.ts
93
122
  var ROLES = {
@@ -221,6 +250,36 @@ var sessions = pgTable(
221
250
  scheduleRunUnique: uniqueIndex("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`)
222
251
  })
223
252
  );
253
+ var sessionRelationships = pgTable(
254
+ "session_relationships",
255
+ {
256
+ relationship_id: varchar("relationship_id", { length: 36 }).primaryKey(),
257
+ source_session_id: varchar("source_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
258
+ target_session_id: varchar("target_session_id", { length: 36 }).notNull().references(() => sessions.session_id, { onDelete: "cascade" }),
259
+ relationship_type: text("relationship_type", { enum: ["remote_create"] }).notNull(),
260
+ created_by: varchar("created_by", { length: 36 }).notNull(),
261
+ created_at: t.timestamp("created_at").notNull(),
262
+ updated_at: t.timestamp("updated_at"),
263
+ callback_enabled: t.bool("callback_enabled").notNull().default(false),
264
+ callback_session_id: varchar("callback_session_id", { length: 36 }).references(
265
+ () => sessions.session_id,
266
+ {
267
+ onDelete: "set null"
268
+ }
269
+ ),
270
+ data: t.json("data")
271
+ },
272
+ (table) => ({
273
+ sourceIdx: index("session_relationships_source_idx").on(table.source_session_id),
274
+ targetIdx: index("session_relationships_target_idx").on(table.target_session_id),
275
+ callbackIdx: index("session_relationships_callback_idx").on(table.callback_session_id),
276
+ sourceTargetTypeUnique: uniqueIndex("session_relationships_source_target_type_unique").on(
277
+ table.source_session_id,
278
+ table.target_session_id,
279
+ table.relationship_type
280
+ )
281
+ })
282
+ );
224
283
  var tasks = pgTable(
225
284
  "tasks",
226
285
  {
@@ -757,6 +816,12 @@ var artifacts = pgTable(
757
816
  branch_id: varchar("branch_id", { length: 36 }).references(() => branches.branch_id, {
758
817
  onDelete: "set null"
759
818
  }),
819
+ source_session_id: varchar("source_session_id", { length: 36 }).references(
820
+ () => sessions.session_id,
821
+ {
822
+ onDelete: "set null"
823
+ }
824
+ ),
760
825
  board_id: varchar("board_id", { length: 36 }).notNull().references(() => boards.board_id, { onDelete: "cascade" }),
761
826
  name: text("name").notNull(),
762
827
  description: text("description"),
@@ -783,6 +848,7 @@ var artifacts = pgTable(
783
848
  },
784
849
  (table) => ({
785
850
  branchIdx: index("artifacts_branch_idx").on(table.branch_id),
851
+ sourceSessionIdx: index("artifacts_source_session_idx").on(table.source_session_id),
786
852
  boardIdx: index("artifacts_board_idx").on(table.board_id),
787
853
  archivedIdx: index("artifacts_archived_idx").on(table.archived),
788
854
  publicIdx: index("artifacts_public_idx").on(table.public)
@@ -939,7 +1005,7 @@ var gatewayChannels = pgTable(
939
1005
  // Materialized for queries
940
1006
  name: text("name").notNull(),
941
1007
  channel_type: text("channel_type", {
942
- enum: ["slack", "discord", "whatsapp", "telegram", "github"]
1008
+ enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
943
1009
  }).notNull(),
944
1010
  target_branch_id: varchar("target_branch_id", { length: 36 }).notNull().references(() => branches.branch_id, { onDelete: "cascade" }),
945
1011
  agor_user_id: varchar("agor_user_id", { length: 36 }).notNull(),
@@ -1323,7 +1389,7 @@ var kbGraphEdges = pgTable(
1323
1389
  archivedIdx: index("kb_graph_edges_archived_idx").on(table.archived)
1324
1390
  })
1325
1391
  );
1326
- var sessionsRelations = relations(sessions, ({ one }) => ({
1392
+ var sessionsRelations = relations(sessions, ({ one, many }) => ({
1327
1393
  branch: one(branches, {
1328
1394
  fields: [sessions.branch_id],
1329
1395
  references: [branches.branch_id]
@@ -1331,6 +1397,24 @@ var sessionsRelations = relations(sessions, ({ one }) => ({
1331
1397
  schedule: one(schedules, {
1332
1398
  fields: [sessions.schedule_id],
1333
1399
  references: [schedules.schedule_id]
1400
+ }),
1401
+ outboundRelationships: many(sessionRelationships, { relationName: "relationshipSource" }),
1402
+ inboundRelationships: many(sessionRelationships, { relationName: "relationshipTarget" })
1403
+ }));
1404
+ var sessionRelationshipsRelations = relations(sessionRelationships, ({ one }) => ({
1405
+ sourceSession: one(sessions, {
1406
+ fields: [sessionRelationships.source_session_id],
1407
+ references: [sessions.session_id],
1408
+ relationName: "relationshipSource"
1409
+ }),
1410
+ targetSession: one(sessions, {
1411
+ fields: [sessionRelationships.target_session_id],
1412
+ references: [sessions.session_id],
1413
+ relationName: "relationshipTarget"
1414
+ }),
1415
+ callbackSession: one(sessions, {
1416
+ fields: [sessionRelationships.callback_session_id],
1417
+ references: [sessions.session_id]
1334
1418
  })
1335
1419
  }));
1336
1420
  var branchesRelations = relations(branches, ({ many }) => ({
@@ -1381,6 +1465,8 @@ __export(schema_sqlite_exports, {
1381
1465
  serializedSessions: () => serializedSessions2,
1382
1466
  sessionEnvSelections: () => sessionEnvSelections2,
1383
1467
  sessionMcpServers: () => sessionMcpServers2,
1468
+ sessionRelationships: () => sessionRelationships2,
1469
+ sessionRelationshipsRelations: () => sessionRelationshipsRelations2,
1384
1470
  sessions: () => sessions2,
1385
1471
  sessionsRelations: () => sessionsRelations2,
1386
1472
  tasks: () => tasks2,
@@ -1483,6 +1569,36 @@ var sessions2 = sqliteTable(
1483
1569
  scheduleRunUnique: uniqueIndex2("sessions_schedule_run_unique").on(table.schedule_id, table.scheduled_run_at).where(sql3`${table.schedule_id} IS NOT NULL AND ${table.scheduled_run_at} IS NOT NULL`)
1484
1570
  })
1485
1571
  );
1572
+ var sessionRelationships2 = sqliteTable(
1573
+ "session_relationships",
1574
+ {
1575
+ relationship_id: text2("relationship_id", { length: 36 }).primaryKey(),
1576
+ source_session_id: text2("source_session_id", { length: 36 }).notNull().references(() => sessions2.session_id, { onDelete: "cascade" }),
1577
+ target_session_id: text2("target_session_id", { length: 36 }).notNull().references(() => sessions2.session_id, { onDelete: "cascade" }),
1578
+ relationship_type: text2("relationship_type", { enum: ["remote_create"] }).notNull(),
1579
+ created_by: text2("created_by", { length: 36 }).notNull(),
1580
+ created_at: t2.timestamp("created_at").notNull(),
1581
+ updated_at: t2.timestamp("updated_at"),
1582
+ callback_enabled: t2.bool("callback_enabled").notNull().default(false),
1583
+ callback_session_id: text2("callback_session_id", { length: 36 }).references(
1584
+ () => sessions2.session_id,
1585
+ {
1586
+ onDelete: "set null"
1587
+ }
1588
+ ),
1589
+ data: t2.json("data")
1590
+ },
1591
+ (table) => ({
1592
+ sourceIdx: index2("session_relationships_source_idx").on(table.source_session_id),
1593
+ targetIdx: index2("session_relationships_target_idx").on(table.target_session_id),
1594
+ callbackIdx: index2("session_relationships_callback_idx").on(table.callback_session_id),
1595
+ sourceTargetTypeUnique: uniqueIndex2("session_relationships_source_target_type_unique").on(
1596
+ table.source_session_id,
1597
+ table.target_session_id,
1598
+ table.relationship_type
1599
+ )
1600
+ })
1601
+ );
1486
1602
  var tasks2 = sqliteTable(
1487
1603
  "tasks",
1488
1604
  {
@@ -2027,6 +2143,12 @@ var artifacts2 = sqliteTable(
2027
2143
  branch_id: text2("branch_id", { length: 36 }).references(() => branches2.branch_id, {
2028
2144
  onDelete: "set null"
2029
2145
  }),
2146
+ source_session_id: text2("source_session_id", { length: 36 }).references(
2147
+ () => sessions2.session_id,
2148
+ {
2149
+ onDelete: "set null"
2150
+ }
2151
+ ),
2030
2152
  board_id: text2("board_id", { length: 36 }).notNull().references(() => boards2.board_id, { onDelete: "cascade" }),
2031
2153
  name: text2("name").notNull(),
2032
2154
  description: text2("description"),
@@ -2053,6 +2175,7 @@ var artifacts2 = sqliteTable(
2053
2175
  },
2054
2176
  (table) => ({
2055
2177
  branchIdx: index2("artifacts_branch_idx").on(table.branch_id),
2178
+ sourceSessionIdx: index2("artifacts_source_session_idx").on(table.source_session_id),
2056
2179
  boardIdx: index2("artifacts_board_idx").on(table.board_id),
2057
2180
  archivedIdx: index2("artifacts_archived_idx").on(table.archived),
2058
2181
  publicIdx: index2("artifacts_public_idx").on(table.public)
@@ -2211,7 +2334,7 @@ var gatewayChannels2 = sqliteTable(
2211
2334
  // Materialized for queries
2212
2335
  name: text2("name").notNull(),
2213
2336
  channel_type: text2("channel_type", {
2214
- enum: ["slack", "discord", "whatsapp", "telegram", "github"]
2337
+ enum: ["slack", "discord", "whatsapp", "telegram", "github", "teams"]
2215
2338
  }).notNull(),
2216
2339
  target_branch_id: text2("target_branch_id", { length: 36 }).notNull().references(() => branches2.branch_id, { onDelete: "cascade" }),
2217
2340
  agor_user_id: text2("agor_user_id", { length: 36 }).notNull(),
@@ -2594,7 +2717,7 @@ var kbGraphEdges2 = sqliteTable(
2594
2717
  archivedIdx: index2("kb_graph_edges_archived_idx").on(table.archived)
2595
2718
  })
2596
2719
  );
2597
- var sessionsRelations2 = relations2(sessions2, ({ one }) => ({
2720
+ var sessionsRelations2 = relations2(sessions2, ({ one, many }) => ({
2598
2721
  branch: one(branches2, {
2599
2722
  fields: [sessions2.branch_id],
2600
2723
  references: [branches2.branch_id]
@@ -2602,6 +2725,24 @@ var sessionsRelations2 = relations2(sessions2, ({ one }) => ({
2602
2725
  schedule: one(schedules2, {
2603
2726
  fields: [sessions2.schedule_id],
2604
2727
  references: [schedules2.schedule_id]
2728
+ }),
2729
+ outboundRelationships: many(sessionRelationships2, { relationName: "relationshipSource" }),
2730
+ inboundRelationships: many(sessionRelationships2, { relationName: "relationshipTarget" })
2731
+ }));
2732
+ var sessionRelationshipsRelations2 = relations2(sessionRelationships2, ({ one }) => ({
2733
+ sourceSession: one(sessions2, {
2734
+ fields: [sessionRelationships2.source_session_id],
2735
+ references: [sessions2.session_id],
2736
+ relationName: "relationshipSource"
2737
+ }),
2738
+ targetSession: one(sessions2, {
2739
+ fields: [sessionRelationships2.target_session_id],
2740
+ references: [sessions2.session_id],
2741
+ relationName: "relationshipTarget"
2742
+ }),
2743
+ callbackSession: one(sessions2, {
2744
+ fields: [sessionRelationships2.callback_session_id],
2745
+ references: [sessions2.session_id]
2605
2746
  })
2606
2747
  }));
2607
2748
  var branchesRelations2 = relations2(branches2, ({ many }) => ({
@@ -2951,6 +3092,7 @@ var artifacts3 = schema.artifacts;
2951
3092
  var artifactTrustGrants3 = schema.artifactTrustGrants;
2952
3093
  var boardObjects3 = schema.boardObjects;
2953
3094
  var sessionMcpServers3 = schema.sessionMcpServers;
3095
+ var sessionRelationships3 = schema.sessionRelationships;
2954
3096
  var sessionEnvSelections3 = schema.sessionEnvSelections;
2955
3097
  var userMcpOauthTokens3 = schema.userMcpOauthTokens;
2956
3098
  var boardComments3 = schema.boardComments;
@@ -3110,11 +3252,6 @@ function buildMCPTemplateContextFromEnv(env) {
3110
3252
  userEnv[key] = value;
3111
3253
  }
3112
3254
  }
3113
- if (allowedKeys.size > 0) {
3114
- console.log(
3115
- ` \u{1F510} MCP template context: ${allowedKeys.size} user env var(s) available for templates`
3116
- );
3117
- }
3118
3255
  return {
3119
3256
  user: {
3120
3257
  env: userEnv
@@ -1 +1 @@
1
- {"version":3,"file":"template-resolver.d.ts","sourceRoot":"","sources":["../../src/mcp/template-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAIH,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,UAAU,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,oFAAoF;IACpF,MAAM,EAAE,SAAS,CAAC;IAClB,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1D,kBAAkB,CAyBpB;AAiDD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC/C,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAepC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,kBAAkB,GAC1B,2BAA2B,CA2K7B;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,EAAE,EACpB,OAAO,EAAE,kBAAkB,GAC1B,2BAA2B,EAAE,CAE/B"}
1
+ {"version":3,"file":"template-resolver.d.ts","sourceRoot":"","sources":["../../src/mcp/template-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAIH,OAAO,KAAK,EAAW,SAAS,EAAE,MAAM,UAAU,CAAC;AAEnD;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,oFAAoF;IACpF,MAAM,EAAE,SAAS,CAAC;IAClB,wEAAwE;IACxE,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,2EAA2E;IAC3E,OAAO,EAAE,OAAO,CAAC;IACjB,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,8BAA8B,CAC5C,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAC1D,kBAAkB,CAmBpB;AAiDD;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC/C,OAAO,EAAE,kBAAkB,GAC1B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAepC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,yBAAyB,CACvC,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,kBAAkB,GAC1B,2BAA2B,CA2K7B;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,SAAS,EAAE,EACpB,OAAO,EAAE,kBAAkB,GAC1B,2BAA2B,EAAE,CAE/B"}