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
@@ -14952,7 +14952,11 @@ var agenticToolConfigSchema = external_exports.object({
14952
14952
  );
14953
14953
 
14954
14954
  // src/mcp/tools/sessions.ts
14955
- import { BranchRepository as BranchRepository5, shortId as shortId5 } from "@agor/core/db";
14955
+ import {
14956
+ BranchRepository as BranchRepository5,
14957
+ SessionRelationshipRepository,
14958
+ shortId as shortId5
14959
+ } from "@agor/core/db";
14956
14960
  import {
14957
14961
  AVAILABLE_CLAUDE_MODEL_ALIASES,
14958
14962
  CODEX_MODEL_METADATA,
@@ -15011,12 +15015,7 @@ import { generateId as generateId2, SessionRepository as SessionRepository3 } fr
15011
15015
  import { MessageRole } from "@agor/core/types";
15012
15016
 
15013
15017
  // src/utils/session-tasks.ts
15014
- import { TaskStatus } from "@agor/core/types";
15015
- var ACTIVE_TASK_STATUSES = /* @__PURE__ */ new Set([
15016
- TaskStatus.RUNNING,
15017
- TaskStatus.AWAITING_PERMISSION,
15018
- TaskStatus.STOPPING
15019
- ]);
15018
+ import { EXECUTING_TASK_STATUSES, isTaskExecuting } from "@agor/core/types";
15020
15019
 
15021
15020
  // src/widgets/env-vars/index.ts
15022
15021
  import { ENV_VAR_CONSTRAINTS, isEnvVarAllowed, validateEnvVar } from "@agor/core/config";
@@ -14954,7 +14954,11 @@ import { getBaseUrl, loadConfig, resolveProxies } from "@agor/core/config";
14954
14954
  import { extractSlugFromUrl, isValidGitUrl, isValidSlug } from "@agor/core/config";
14955
14955
 
14956
14956
  // src/mcp/tools/sessions.ts
14957
- import { BranchRepository as BranchRepository5, shortId as shortId5 } from "@agor/core/db";
14957
+ import {
14958
+ BranchRepository as BranchRepository5,
14959
+ SessionRelationshipRepository,
14960
+ shortId as shortId5
14961
+ } from "@agor/core/db";
14958
14962
  import {
14959
14963
  AVAILABLE_CLAUDE_MODEL_ALIASES,
14960
14964
  CODEX_MODEL_METADATA,
@@ -15013,12 +15017,7 @@ import { generateId as generateId2, SessionRepository as SessionRepository3 } fr
15013
15017
  import { MessageRole } from "@agor/core/types";
15014
15018
 
15015
15019
  // src/utils/session-tasks.ts
15016
- import { TaskStatus } from "@agor/core/types";
15017
- var ACTIVE_TASK_STATUSES = /* @__PURE__ */ new Set([
15018
- TaskStatus.RUNNING,
15019
- TaskStatus.AWAITING_PERMISSION,
15020
- TaskStatus.STOPPING
15021
- ]);
15020
+ import { EXECUTING_TASK_STATUSES, isTaskExecuting } from "@agor/core/types";
15022
15021
 
15023
15022
  // src/widgets/env-vars/index.ts
15024
15023
  import { ENV_VAR_CONSTRAINTS, isEnvVarAllowed, validateEnvVar } from "@agor/core/config";
@@ -15037,7 +15037,11 @@ var agenticToolConfigSchema = external_exports.object({
15037
15037
  );
15038
15038
 
15039
15039
  // src/mcp/tools/sessions.ts
15040
- import { BranchRepository as BranchRepository5, shortId as shortId5 } from "@agor/core/db";
15040
+ import {
15041
+ BranchRepository as BranchRepository5,
15042
+ SessionRelationshipRepository,
15043
+ shortId as shortId5
15044
+ } from "@agor/core/db";
15041
15045
  import {
15042
15046
  AVAILABLE_CLAUDE_MODEL_ALIASES,
15043
15047
  CODEX_MODEL_METADATA,
@@ -15096,12 +15100,7 @@ import { generateId as generateId2, SessionRepository as SessionRepository3 } fr
15096
15100
  import { MessageRole } from "@agor/core/types";
15097
15101
 
15098
15102
  // src/utils/session-tasks.ts
15099
- import { TaskStatus } from "@agor/core/types";
15100
- var ACTIVE_TASK_STATUSES = /* @__PURE__ */ new Set([
15101
- TaskStatus.RUNNING,
15102
- TaskStatus.AWAITING_PERMISSION,
15103
- TaskStatus.STOPPING
15104
- ]);
15103
+ import { EXECUTING_TASK_STATUSES, isTaskExecuting } from "@agor/core/types";
15105
15104
 
15106
15105
  // src/widgets/env-vars/index.ts
15107
15106
  import { ENV_VAR_CONSTRAINTS, isEnvVarAllowed, validateEnvVar } from "@agor/core/config";
@@ -1 +1 @@
1
- {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sessions.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsBzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA0H/C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAg0C7E"}
1
+ {"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools/sessions.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAsBzE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AA0H/C,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,CAogD7E"}
@@ -506,7 +506,11 @@ var init_executor_read_impersonation = __esm({
506
506
  });
507
507
 
508
508
  // src/mcp/tools/sessions.ts
509
- import { BranchRepository as BranchRepository5, shortId as shortId6 } from "@agor/core/db";
509
+ import {
510
+ BranchRepository as BranchRepository5,
511
+ SessionRelationshipRepository,
512
+ shortId as shortId6
513
+ } from "@agor/core/db";
510
514
  import {
511
515
  AVAILABLE_CLAUDE_MODEL_ALIASES,
512
516
  CODEX_MODEL_METADATA,
@@ -15538,12 +15542,7 @@ import { generateId as generateId2, SessionRepository as SessionRepository3 } fr
15538
15542
  import { MessageRole } from "@agor/core/types";
15539
15543
 
15540
15544
  // src/utils/session-tasks.ts
15541
- import { TaskStatus } from "@agor/core/types";
15542
- var ACTIVE_TASK_STATUSES = /* @__PURE__ */ new Set([
15543
- TaskStatus.RUNNING,
15544
- TaskStatus.AWAITING_PERMISSION,
15545
- TaskStatus.STOPPING
15546
- ]);
15545
+ import { EXECUTING_TASK_STATUSES, isTaskExecuting } from "@agor/core/types";
15547
15546
 
15548
15547
  // src/widgets/env-vars/index.ts
15549
15548
  import { ENV_VAR_CONSTRAINTS, isEnvVarAllowed, validateEnvVar } from "@agor/core/config";
@@ -16130,10 +16129,70 @@ function registerSessionTools(server, ctx) {
16130
16129
  return textResult({ error: `Unknown mode: ${mode}` });
16131
16130
  }
16132
16131
  );
16132
+ server.registerTool(
16133
+ "agor_session_relationships_list",
16134
+ {
16135
+ description: "List durable non-genealogy relationships for a session, including cross-branch remote-created child/parent links. Defaults to the current session.",
16136
+ annotations: { readOnlyHint: true },
16137
+ inputSchema: external_exports.object({
16138
+ sessionId: mcpOptionalId(
16139
+ "sessionId",
16140
+ "Session",
16141
+ "Session ID to inspect (defaults to current session)"
16142
+ )
16143
+ })
16144
+ },
16145
+ async (args) => {
16146
+ const sessionId = args.sessionId ? await resolveSessionId(ctx, args.sessionId) : ctx.sessionId;
16147
+ if (!sessionId) return sessionContextRequiredResult();
16148
+ await ctx.app.service("sessions").get(sessionId, ctx.baseServiceParams);
16149
+ const relationships = await new SessionRelationshipRepository(ctx.db).findForSession(
16150
+ sessionId
16151
+ );
16152
+ return textResult({ relationships });
16153
+ }
16154
+ );
16155
+ server.registerTool(
16156
+ "agor_session_relationships_set_callback",
16157
+ {
16158
+ description: "Enable or disable callback/report-back delivery for a durable session relationship without deleting the relationship itself.",
16159
+ inputSchema: external_exports.object({
16160
+ relationshipId: mcpRequiredString(
16161
+ "relationshipId",
16162
+ "Session relationship ID returned by agor_session_relationships_list"
16163
+ ),
16164
+ callbackEnabled: external_exports.boolean().describe("Whether the remote child should report back.")
16165
+ })
16166
+ },
16167
+ async (args) => {
16168
+ const repo = new SessionRelationshipRepository(ctx.db);
16169
+ const relationshipId = args.relationshipId;
16170
+ const existingRelationship = await repo.get(relationshipId);
16171
+ await ctx.app.service("sessions").get(existingRelationship.source_session_id, ctx.baseServiceParams);
16172
+ const targetSession = await ctx.app.service("sessions").get(existingRelationship.target_session_id, ctx.baseServiceParams);
16173
+ const relationship = await repo.setCallbackEnabled(relationshipId, args.callbackEnabled);
16174
+ const callbackSessionId = relationship.callback_session_id ?? relationship.source_session_id;
16175
+ await ctx.app.service("sessions").patch(
16176
+ relationship.target_session_id,
16177
+ {
16178
+ callback_config: {
16179
+ ...targetSession.callback_config ?? {},
16180
+ enabled: args.callbackEnabled,
16181
+ callback_session_id: callbackSessionId
16182
+ }
16183
+ },
16184
+ {
16185
+ ...ctx.baseServiceParams,
16186
+ _skipRelationshipCallbackSync: true
16187
+ }
16188
+ );
16189
+ return textResult({ relationship });
16190
+ }
16191
+ );
16133
16192
  server.registerTool(
16134
16193
  "agor_sessions_create",
16135
16194
  {
16136
- description: 'Create a new session in an existing branch. Use for starting fresh work on a new task in the same codebase (e.g., new feature branch, separate investigation). Unlike spawn, this creates an independent session with no parent-child relationship. MCP servers are inherited from the branch (if configured) or user defaults, or can be overridden via `mcpServerIds`. Model selection falls back to user defaults and can be overridden via `modelConfig` (accepts either a model ID string like "claude-opus-4-6" or a full {mode, model, effort, advisorModel, provider} object \u2014 call `agor_models_list` to discover valid model IDs per agenticTool). Supports optional callbacks to notify the creating session when the new session completes.',
16195
+ description: 'Create a new session in an existing branch. When called from an MCP session context in the same target branch (the default for branch-local orchestrator agents), the new session is automatically linked to the calling session as its parent \u2014 pass `parentSessionId: null` to create an unlinked root session instead. Cross-branch sessions are not genealogy-linked automatically; use callbacks for remote completion routing. Use for starting work on a new task in the same codebase (e.g., new feature branch, separate investigation). MCP servers are inherited from the branch (if configured) or user defaults, or can be overridden via `mcpServerIds`. Model selection falls back to user defaults and can be overridden via `modelConfig` (accepts either a model ID string like "claude-opus-4-6" or a full {mode, model, effort, advisorModel, provider} object \u2014 call `agor_models_list` to discover valid model IDs per agenticTool). Supports optional callbacks to notify the creating session when the new session completes.',
16137
16196
  inputSchema: external_exports.object({
16138
16197
  branchId: mcpRequiredId(
16139
16198
  "branchId",
@@ -16163,6 +16222,9 @@ function registerSessionTools(server, ctx) {
16163
16222
  callbackMode: external_exports.enum(["once", "persistent"]).optional().describe(
16164
16223
  'Callback firing mode: "once" (default) fires on first completion then auto-disables, "persistent" fires on every completion'
16165
16224
  ),
16225
+ parentSessionId: external_exports.string().min(1, "parentSessionId cannot be empty when provided.").nullish().describe(
16226
+ "Parent session ID to link this session to in the branch-local genealogy tree. Must be in the target branch. When omitted and called from a session MCP context in the same branch, automatically defaults to the calling session. Pass null to explicitly create a root session with no parent; use callbackSessionId for cross-branch routing."
16227
+ ),
16166
16228
  mcpServerIds: external_exports.array(mcpRequiredId("mcpServerIds[]", "MCP server")).optional().describe(
16167
16229
  "MCP server IDs to attach. Overrides branch and user default inheritance. Omit to use branch config > user defaults."
16168
16230
  ),
@@ -16217,6 +16279,37 @@ function registerSessionTools(server, ctx) {
16217
16279
  if (wantsCallback) {
16218
16280
  callbackConfig.callback_mode = args.callbackMode ?? "once";
16219
16281
  }
16282
+ let resolvedParentSessionId;
16283
+ let parentSessionForPatch;
16284
+ let skippedAutoParentDueToBranchMismatch = false;
16285
+ let remoteRelationshipSourceSessionId;
16286
+ let remoteRelationshipSourceBranchId;
16287
+ if (args.parentSessionId !== void 0) {
16288
+ if (args.parentSessionId !== null) {
16289
+ resolvedParentSessionId = await resolveSessionId(ctx, args.parentSessionId);
16290
+ parentSessionForPatch = await ctx.app.service("sessions").get(resolvedParentSessionId, ctx.baseServiceParams);
16291
+ if (parentSessionForPatch.branch_id !== branch.branch_id) {
16292
+ throw new Error(
16293
+ `parentSessionId must reference a session in the target branch (${shortId6(branch.branch_id)}). For cross-branch completion routing, use enableCallback/callbackSessionId instead of genealogy.`
16294
+ );
16295
+ }
16296
+ }
16297
+ } else if (ctx.sessionId) {
16298
+ const callingSession = await ctx.app.service("sessions").get(ctx.sessionId, ctx.baseServiceParams);
16299
+ if (callingSession.branch_id === branch.branch_id) {
16300
+ resolvedParentSessionId = callingSession.session_id;
16301
+ parentSessionForPatch = callingSession;
16302
+ } else {
16303
+ skippedAutoParentDueToBranchMismatch = true;
16304
+ remoteRelationshipSourceSessionId = callingSession.session_id;
16305
+ remoteRelationshipSourceBranchId = callingSession.branch_id;
16306
+ }
16307
+ }
16308
+ if (remoteRelationshipSourceSessionId && effectiveCallbackSessionId) {
16309
+ callbackConfig.enabled ??= Boolean(wantsCallback);
16310
+ callbackConfig.callback_session_id ??= effectiveCallbackSessionId;
16311
+ callbackConfig.callback_created_by ??= ctx.userId;
16312
+ }
16220
16313
  const sessionData = {
16221
16314
  branch_id: branch.branch_id,
16222
16315
  agentic_tool: agenticTool,
@@ -16234,10 +16327,44 @@ function registerSessionTools(server, ctx) {
16234
16327
  base_sha: currentSha,
16235
16328
  current_sha: currentSha
16236
16329
  },
16237
- genealogy: { children: [] },
16330
+ genealogy: {
16331
+ ...resolvedParentSessionId && { parent_session_id: resolvedParentSessionId },
16332
+ children: []
16333
+ },
16238
16334
  tasks: []
16239
16335
  };
16240
16336
  const session = await ctx.app.service("sessions").create(sessionData, ctx.baseServiceParams);
16337
+ const remoteRelationship = remoteRelationshipSourceSessionId ? await new SessionRelationshipRepository(ctx.db).create({
16338
+ source_session_id: remoteRelationshipSourceSessionId,
16339
+ target_session_id: session.session_id,
16340
+ relationship_type: "remote_create",
16341
+ created_by: ctx.userId,
16342
+ callback_enabled: Boolean(wantsCallback),
16343
+ // Keep the durable relationship target even when callbacks are
16344
+ // muted. callback_enabled/callback_config.enabled are the delivery
16345
+ // switches; callback_session_id is the stable endpoint to re-enable.
16346
+ callback_session_id: effectiveCallbackSessionId ? effectiveCallbackSessionId : null,
16347
+ data: {
16348
+ source_branch_id: remoteRelationshipSourceBranchId,
16349
+ target_branch_id: branch.branch_id
16350
+ }
16351
+ }) : null;
16352
+ if (remoteRelationship && remoteRelationshipSourceSessionId) {
16353
+ const sourceSession = await ctx.app.service("sessions").get(remoteRelationshipSourceSessionId, ctx.baseServiceParams);
16354
+ ctx.app.service("sessions").emit?.("patched", sourceSession, ctx.baseServiceParams);
16355
+ }
16356
+ if (resolvedParentSessionId && parentSessionForPatch) {
16357
+ await ctx.app.service("sessions").patch(
16358
+ resolvedParentSessionId,
16359
+ {
16360
+ genealogy: {
16361
+ ...parentSessionForPatch.genealogy,
16362
+ children: [...parentSessionForPatch.genealogy?.children ?? [], session.session_id]
16363
+ }
16364
+ },
16365
+ ctx.baseServiceParams
16366
+ );
16367
+ }
16241
16368
  const mcpAttachFailures = [];
16242
16369
  if (mcpServerIds && mcpServerIds.length > 0) {
16243
16370
  for (const mcpServerId of mcpServerIds) {
@@ -16266,11 +16393,13 @@ function registerSessionTools(server, ctx) {
16266
16393
  );
16267
16394
  }
16268
16395
  const callbackNote = callbackConfig.callback_session_id ? ` Callback will be sent to session ${shortId6(callbackConfig.callback_session_id)} on completion.` : "";
16396
+ const parentNote = resolvedParentSessionId ? ` Linked to parent session ${shortId6(resolvedParentSessionId)}.` : skippedAutoParentDueToBranchMismatch ? " Not genealogy-linked because the target branch differs from the calling session branch." : "";
16269
16397
  const mcpFailureNote = mcpAttachFailures.length > 0 ? ` Warning: ${mcpAttachFailures.length} requested MCP server(s) failed to attach \u2014 see mcpAttachFailures.` : "";
16270
16398
  return textResult({
16271
16399
  session: redactSessionForMcp(session),
16272
16400
  taskId: initialTask?.task_id,
16273
- note: args.initialPrompt ? `Session created and initial prompt execution started.${callbackNote}${mcpFailureNote}` : `Session created successfully.${callbackNote}${mcpFailureNote}`,
16401
+ note: args.initialPrompt ? `Session created and initial prompt execution started.${parentNote}${callbackNote}${mcpFailureNote}` : `Session created successfully.${parentNote}${callbackNote}${mcpFailureNote}`,
16402
+ ...remoteRelationship && { remoteRelationship },
16274
16403
  ...mcpAttachFailures.length > 0 && { mcpAttachFailures }
16275
16404
  });
16276
16405
  }
@@ -16519,7 +16648,7 @@ function registerSessionTools(server, ctx) {
16519
16648
  server.registerTool(
16520
16649
  "agor_sessions_stop",
16521
16650
  {
16522
- description: "Stop a running session. Kills the executor process and sets the session to idle. Use this for emergency stops, timeout-based cancellation, or human-in-the-loop gates. Only works on sessions in active states (running, awaiting_permission, stopping).",
16651
+ description: "Stop a running session. Kills the executor process and sets the session to idle. Use this for emergency stops, timeout-based cancellation, or human-in-the-loop gates. Only works on sessions in active states (running, stopping, awaiting_permission, awaiting_input).",
16523
16652
  annotations: { destructiveHint: true },
16524
16653
  inputSchema: external_exports.object({
16525
16654
  sessionId: mcpRequiredId("sessionId", "Session", "Session ID to stop (UUIDv7 or short ID)"),
@@ -14958,7 +14958,11 @@ var agenticToolConfigSchema = external_exports.object({
14958
14958
  );
14959
14959
 
14960
14960
  // src/mcp/tools/sessions.ts
14961
- import { BranchRepository as BranchRepository5, shortId as shortId5 } from "@agor/core/db";
14961
+ import {
14962
+ BranchRepository as BranchRepository5,
14963
+ SessionRelationshipRepository,
14964
+ shortId as shortId5
14965
+ } from "@agor/core/db";
14962
14966
  import {
14963
14967
  AVAILABLE_CLAUDE_MODEL_ALIASES,
14964
14968
  CODEX_MODEL_METADATA,
@@ -15017,12 +15021,7 @@ import { generateId as generateId2, SessionRepository as SessionRepository3 } fr
15017
15021
  import { MessageRole } from "@agor/core/types";
15018
15022
 
15019
15023
  // src/utils/session-tasks.ts
15020
- import { TaskStatus } from "@agor/core/types";
15021
- var ACTIVE_TASK_STATUSES = /* @__PURE__ */ new Set([
15022
- TaskStatus.RUNNING,
15023
- TaskStatus.AWAITING_PERMISSION,
15024
- TaskStatus.STOPPING
15025
- ]);
15024
+ import { EXECUTING_TASK_STATUSES, isTaskExecuting } from "@agor/core/types";
15026
15025
 
15027
15026
  // src/widgets/env-vars/index.ts
15028
15027
  import { ENV_VAR_CONSTRAINTS, isEnvVarAllowed, validateEnvVar } from "@agor/core/config";
@@ -14947,7 +14947,11 @@ var agenticToolConfigSchema = external_exports.object({
14947
14947
  );
14948
14948
 
14949
14949
  // src/mcp/tools/sessions.ts
14950
- import { BranchRepository as BranchRepository5, shortId as shortId5 } from "@agor/core/db";
14950
+ import {
14951
+ BranchRepository as BranchRepository5,
14952
+ SessionRelationshipRepository,
14953
+ shortId as shortId5
14954
+ } from "@agor/core/db";
14951
14955
  import {
14952
14956
  AVAILABLE_CLAUDE_MODEL_ALIASES,
14953
14957
  CODEX_MODEL_METADATA,
@@ -15003,12 +15007,7 @@ import { generateId as generateId2, SessionRepository as SessionRepository3 } fr
15003
15007
  import { MessageRole } from "@agor/core/types";
15004
15008
 
15005
15009
  // src/utils/session-tasks.ts
15006
- import { TaskStatus } from "@agor/core/types";
15007
- var ACTIVE_TASK_STATUSES = /* @__PURE__ */ new Set([
15008
- TaskStatus.RUNNING,
15009
- TaskStatus.AWAITING_PERMISSION,
15010
- TaskStatus.STOPPING
15011
- ]);
15010
+ import { EXECUTING_TASK_STATUSES, isTaskExecuting } from "@agor/core/types";
15012
15011
 
15013
15012
  // src/widgets/env-vars/index.ts
15014
15013
  import { ENV_VAR_CONSTRAINTS, isEnvVarAllowed, validateEnvVar } from "@agor/core/config";
@@ -102,12 +102,7 @@ async function appendSystemMessage(opts) {
102
102
  }
103
103
 
104
104
  // src/utils/session-tasks.ts
105
- import { TaskStatus } from "@agor/core/types";
106
- var ACTIVE_TASK_STATUSES = /* @__PURE__ */ new Set([
107
- TaskStatus.RUNNING,
108
- TaskStatus.AWAITING_PERMISSION,
109
- TaskStatus.STOPPING
110
- ]);
105
+ import { EXECUTING_TASK_STATUSES, isTaskExecuting } from "@agor/core/types";
111
106
  function recencyKey(t) {
112
107
  return new Date(t.started_at || t.created_at).getTime();
113
108
  }
@@ -128,7 +123,7 @@ async function findTasksForSession(app, sessionId, params) {
128
123
  async function findHostTaskForSession(app, sessionId, params) {
129
124
  const all = await findTasksForSession(app, sessionId, params);
130
125
  if (all.length === 0) return void 0;
131
- return all.find((t) => ACTIVE_TASK_STATUSES.has(t.status)) ?? all[0];
126
+ return all.find((t) => isTaskExecuting(t)) ?? all[0];
132
127
  }
133
128
 
134
129
  // src/widgets/env-vars/index.ts
@@ -15038,7 +15033,11 @@ var agenticToolConfigSchema = external_exports.object({
15038
15033
  );
15039
15034
 
15040
15035
  // src/mcp/tools/sessions.ts
15041
- import { BranchRepository as BranchRepository5, shortId as shortId5 } from "@agor/core/db";
15036
+ import {
15037
+ BranchRepository as BranchRepository5,
15038
+ SessionRelationshipRepository,
15039
+ shortId as shortId5
15040
+ } from "@agor/core/db";
15042
15041
  import {
15043
15042
  AVAILABLE_CLAUDE_MODEL_ALIASES,
15044
15043
  CODEX_MODEL_METADATA,
@@ -8,8 +8,9 @@
8
8
  import { type AgorConfig } from '@agor/core/config';
9
9
  import { type BranchRepository, type Database, type SessionRepository, type UsersRepository } from '@agor/core/db';
10
10
  import type { Application } from '@agor/core/feathers';
11
- import type { HookContext } from '@agor/core/types';
11
+ import type { HookContext, Paginated, Params, Session } from '@agor/core/types';
12
12
  import type { BoardsServiceImpl, MessagesServiceImpl, SessionsServiceImpl } from './declarations.js';
13
+ export declare function shouldValidateRepoEnvironmentPayload(value: unknown): boolean;
13
14
  /**
14
15
  * Session fields written as runtime bookkeeping during the prompt/execution
15
16
  * lifecycle, on behalf of the session's authenticated user. These are NOT
@@ -41,6 +42,9 @@ import type { BoardsServiceImpl, MessagesServiceImpl, SessionsServiceImpl } from
41
42
  */
42
43
  export declare const PROMPT_FLOW_PATCH_FIELDS: readonly string[];
43
44
  export declare function isPromptFlowPatchOnly(data: unknown): boolean;
45
+ export declare function shouldRunSessionPostTurnHooks(session: Pick<Session, 'status' | 'ready_for_prompt'>): boolean;
46
+ export declare function shouldDrainQueueAfterSessionPostTurnPatch(session: Pick<Session, 'status' | 'ready_for_prompt'>, params?: Params): boolean;
47
+ export declare function enrichSessionFindResultWithRemoteRelationships(result: Paginated<Session> | Session[], sessionsService: Pick<SessionsServiceImpl, 'enrichRemoteRelationships'>): Promise<Paginated<Session> | Session[]>;
44
48
  /**
45
49
  * Interface for dependencies needed by hook registration.
46
50
  */
@@ -1 +1 @@
1
- {"version":3,"file":"register-hooks.d.ts","sourceRoot":"","sources":["../src/register-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,KAAK,UAAU,EAMhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EAEb,KAAK,iBAAiB,EAGtB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAcvD,OAAO,KAAK,EAIV,WAAW,EAOZ,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAwK3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAQrD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAK5D;AAeD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,QAAQ,CAAC;IACb,GAAG,EAAE,WAAW,GAAG;QAAE,EAAE,CAAC,EAAE,OAAO,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,cAAc,EAAE;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC;IAG7C,eAAe,EAAE,mBAAmB,CAAC;IACrC,eAAe,EAAE,mBAAmB,CAAC;IACrC,aAAa,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC7C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,iBAAiB,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,CA8iF7D"}
1
+ {"version":3,"file":"register-hooks.d.ts","sourceRoot":"","sources":["../src/register-hooks.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,KAAK,UAAU,EAMhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,QAAQ,EAEb,KAAK,iBAAiB,EAGtB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAOvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAcvD,OAAO,KAAK,EAMV,WAAW,EAEX,SAAS,EACT,MAAM,EACN,OAAO,EAGR,MAAM,kBAAkB,CAAC;AAG1B,OAAO,KAAK,EACV,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACpB,MAAM,mBAAmB,CAAC;AAgG3B,wBAAgB,oCAAoC,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE5E;AAwFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAQrD,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,OAAO,CAK5D;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,kBAAkB,CAAC,GACpD,OAAO,CAET;AAED,wBAAgB,yCAAyC,CACvD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,GAAG,kBAAkB,CAAC,EACrD,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAMT;AAED,wBAAsB,8CAA8C,CAClE,MAAM,EAAE,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE,EACtC,eAAe,EAAE,IAAI,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,GACtE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,OAAO,EAAE,CAAC,CAazC;AAeD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,QAAQ,CAAC;IACb,GAAG,EAAE,WAAW,GAAG;QAAE,EAAE,CAAC,EAAE,OAAO,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IACvD,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IAC5D,cAAc,EAAE;QAAE,eAAe,EAAE,OAAO,CAAA;KAAE,CAAC;IAG7C,eAAe,EAAE,mBAAmB,CAAC;IACrC,eAAe,EAAE,mBAAmB,CAAC;IACrC,aAAa,EAAE,iBAAiB,GAAG,SAAS,CAAC;IAC7C,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,eAAe,EAAE,eAAe,CAAC;IACjC,kBAAkB,EAAE,iBAAiB,CAAC;CACvC;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,oBAAoB,GAAG,IAAI,CAorF7D"}