@runfusion/fusion 0.52.0 → 0.53.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 (292) hide show
  1. package/dist/bin.js +2918 -2185
  2. package/dist/client/.vite/manifest.json +248 -248
  3. package/dist/client/assets/AgentDetailView-CHSaiBNh.js +18 -0
  4. package/dist/client/assets/AgentPermissionPolicyEditor-Bfy55DIO.js +6 -0
  5. package/dist/client/assets/AgentPermissionPolicyEditor-TpdlOWZW.css +1 -0
  6. package/dist/client/assets/{AgentsView-DJJO0laF.js → AgentsView-CMB_7xly.js} +3 -3
  7. package/dist/client/assets/ChatView-IwWaNSeS.js +6 -0
  8. package/dist/client/assets/{CommandCenter-CKvo0MuO.js → CommandCenter-B84TXfg6.js} +2 -2
  9. package/dist/client/assets/{DevServerView-BHLG4Mxg.js → DevServerView-B9QEJETp.js} +1 -1
  10. package/dist/client/assets/{DirectoryPicker-CRY-rpnj.js → DirectoryPicker-BnaH1pb_.js} +1 -1
  11. package/dist/client/assets/{DocumentsView-DhC4dnXD.js → DocumentsView-Cvm4OBRl.js} +1 -1
  12. package/dist/client/assets/{EvalsView-DsnLOVZB.js → EvalsView-BpgA1nvW.js} +1 -1
  13. package/dist/client/assets/{ExperimentalAgentOnboardingModal-B4iFX60E.js → ExperimentalAgentOnboardingModal-D4Z1IAW2.js} +1 -1
  14. package/dist/client/assets/{GoalsView-D5bzq6W9.js → GoalsView-ui2CM549.js} +1 -1
  15. package/dist/client/assets/{InsightsView-Drpu72M4.js → InsightsView-qdJ5GhE_.js} +1 -1
  16. package/dist/client/assets/{MemoryView-auLBP3UW.js → MemoryView-Csc-90G0.js} +1 -1
  17. package/dist/client/assets/{PiExtensionsManager-RlbkXf_t.js → PiExtensionsManager-Dbm3IpQW.js} +1 -1
  18. package/dist/client/assets/{PluginManager-BJMUacpG.js → PluginManager-B_zgRoI8.js} +1 -1
  19. package/dist/client/assets/{PullRequestView-344B9WF-.js → PullRequestView-CB6L4vJw.js} +1 -1
  20. package/dist/client/assets/{ResearchView-BNqt-f53.js → ResearchView-CRtoNtCn.js} +1 -1
  21. package/dist/client/assets/{SecretsView-Be8Tm8It.js → SecretsView-JB0lfuzZ.js} +1 -1
  22. package/dist/client/assets/SessionTerminal-CnxWsHxS.js +2 -0
  23. package/dist/client/assets/{SettingsModal-B28DuhaN.js → SettingsModal-CS1-kUSO.js} +1 -1
  24. package/dist/client/assets/SettingsModal-D7ArHi7z.js +21 -0
  25. package/dist/client/assets/{SetupWizardModal-y2j9aZoi.js → SetupWizardModal-PYaS5VB9.js} +2 -2
  26. package/dist/client/assets/ShadcnColorPicker-3OgfenMo.css +1 -0
  27. package/dist/client/assets/ShadcnColorPicker-Tl1Xu-G4.js +11 -0
  28. package/dist/client/assets/{SkillsView-HQp7UTdA.js → SkillsView-CWVVQ3y_.js} +1 -1
  29. package/dist/client/assets/{TodoView-DF7_qWGH.js → TodoView-CCloQhKG.js} +1 -1
  30. package/dist/client/assets/WorkflowNodeEditor-Dz8TU3is.js +8 -0
  31. package/dist/client/assets/{agentSkills-Cy_HrYHd.js → agentSkills-CFiw3LtX.js} +1 -1
  32. package/dist/client/assets/app-5S4z84u5.js +13 -0
  33. package/dist/client/assets/app-B1VYocx2.js +13 -0
  34. package/dist/client/assets/app-BhtYYxin.js +13 -0
  35. package/dist/client/assets/app-Cts0__Vx.js +13 -0
  36. package/dist/client/assets/app-DczBmsP4.js +13 -0
  37. package/dist/client/assets/app-_GFUqcMK.js +13 -0
  38. package/dist/client/assets/{architectureDiagram-3BPJPVTR-4ur4sxlr.js → architectureDiagram-3BPJPVTR-DGp4hfr1.js} +1 -1
  39. package/dist/client/assets/{blockDiagram-GPEHLZMM-BgZeqq_q.js → blockDiagram-GPEHLZMM-CRyxRdCJ.js} +1 -1
  40. package/dist/client/assets/{c4Diagram-AAUBKEIU-BQtdOIrm.js → c4Diagram-AAUBKEIU-CFjMzS7o.js} +1 -1
  41. package/dist/client/assets/channel-C9LQN4ee.js +1 -0
  42. package/dist/client/assets/{chunk-2J33WTMH-C1k1PBy1.js → chunk-2J33WTMH-BMvR_yYt.js} +1 -1
  43. package/dist/client/assets/{chunk-4BX2VUAB-hNujwvSn.js → chunk-4BX2VUAB-BUPHOpQy.js} +1 -1
  44. package/dist/client/assets/{chunk-55IACEB6-CnXV9LyI.js → chunk-55IACEB6-C1paNu5q.js} +1 -1
  45. package/dist/client/assets/{chunk-727SXJPM-B-ocMdYN.js → chunk-727SXJPM-CG4hnjZD.js} +1 -1
  46. package/dist/client/assets/{chunk-AQP2D5EJ-CWNRUL6C.js → chunk-AQP2D5EJ-Dm2nZ5Sz.js} +1 -1
  47. package/dist/client/assets/{chunk-FMBD7UC4-DerrCiYe.js → chunk-FMBD7UC4-CY6d36wo.js} +1 -1
  48. package/dist/client/assets/{chunk-ND2GUHAM-BfcSPlX-.js → chunk-ND2GUHAM-cbKdnrGz.js} +1 -1
  49. package/dist/client/assets/{chunk-QZHKN3VN-BaWScAds.js → chunk-QZHKN3VN-BPenWytO.js} +1 -1
  50. package/dist/client/assets/classDiagram-4FO5ZUOK-C5TeEr7c.js +1 -0
  51. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-C5TeEr7c.js +1 -0
  52. package/dist/client/assets/{cose-bilkent-S5V4N54A-n0Oeinz2.js → cose-bilkent-S5V4N54A-BCFGTolm.js} +1 -1
  53. package/dist/client/assets/{dagre-BM42HDAG-CUtehSt2.js → dagre-BM42HDAG-yVhB-t2h.js} +1 -1
  54. package/dist/client/assets/{dashboard-view-DWKCxtr5.js → dashboard-view-C9dPtr0u.js} +1 -1
  55. package/dist/client/assets/{dashboard-view-BW3GHqgb.js → dashboard-view-DHb5D1Hc.js} +1 -1
  56. package/dist/client/assets/{diagram-2AECGRRQ-Bz4aOzhR.js → diagram-2AECGRRQ-DtV2x39G.js} +1 -1
  57. package/dist/client/assets/{diagram-5GNKFQAL-UoxIMwPf.js → diagram-5GNKFQAL-DwwRRghJ.js} +1 -1
  58. package/dist/client/assets/{diagram-KO2AKTUF-BYR7hloS.js → diagram-KO2AKTUF-JLrDx8k8.js} +1 -1
  59. package/dist/client/assets/{diagram-LMA3HP47-BR9MaP8U.js → diagram-LMA3HP47-C_AszN6R.js} +1 -1
  60. package/dist/client/assets/{diagram-OG6HWLK6-BOfldYHv.js → diagram-OG6HWLK6-C-n05SOC.js} +1 -1
  61. package/dist/client/assets/{erDiagram-TEJ5UH35-B8x9mfOs.js → erDiagram-TEJ5UH35-B-9edACX.js} +1 -1
  62. package/dist/client/assets/{flowDiagram-I6XJVG4X-DBnTroCV.js → flowDiagram-I6XJVG4X-D5ThlzTR.js} +1 -1
  63. package/dist/client/assets/{folder-open-CFze34Eq.js → folder-open-DLACu19m.js} +1 -1
  64. package/dist/client/assets/{ganttDiagram-6RSMTGT7-BfzFy7iz.js → ganttDiagram-6RSMTGT7-DaqvxM8Q.js} +1 -1
  65. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-CNTFu6IY.js → gitGraphDiagram-PVQCEYII-CfWhxq7Y.js} +1 -1
  66. package/dist/client/assets/index-D1IHwGhg.css +1 -0
  67. package/dist/client/assets/index-JlBzf2ck.js +1336 -0
  68. package/dist/client/assets/{infoDiagram-5YYISTIA-DJiBRaAl.js → infoDiagram-5YYISTIA-BjDZFy9D.js} +1 -1
  69. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CIY9t4cc.js → ishikawaDiagram-YF4QCWOH-BoMTizU1.js} +1 -1
  70. package/dist/client/assets/{journeyDiagram-JHISSGLW-HLMZmcjY.js → journeyDiagram-JHISSGLW-BozwtvCa.js} +1 -1
  71. package/dist/client/assets/{kanban-definition-UN3LZRKU-x9nKoxCI.js → kanban-definition-UN3LZRKU-CvrpmIXn.js} +1 -1
  72. package/dist/client/assets/{mermaid.core-pHkdB6fb.js → mermaid.core-KeGuTimD.js} +4 -4
  73. package/dist/client/assets/{mindmap-definition-RKZ34NQL-Bs_4Tofu.js → mindmap-definition-RKZ34NQL-DMjY04EF.js} +1 -1
  74. package/dist/client/assets/{pieDiagram-4H26LBE5-BGHz9JGZ.js → pieDiagram-4H26LBE5-r_9L-pQr.js} +1 -1
  75. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-xHSR7cAR.js → quadrantDiagram-W4KKPZXB-CcZKANsw.js} +1 -1
  76. package/dist/client/assets/{requirementDiagram-4Y6WPE33-D7YMNM44.js → requirementDiagram-4Y6WPE33-kqu_zuS5.js} +1 -1
  77. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-OAXuab3Y.js → sankeyDiagram-5OEKKPKP-BLbamdKk.js} +1 -1
  78. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-BZCjKFVL.js → sequenceDiagram-3UESZ5HK-DAKxqBlR.js} +1 -1
  79. package/dist/client/assets/{shield-alert-BBK8Risa.js → shield-alert-BdoEg9Yo.js} +1 -1
  80. package/dist/client/assets/{stateDiagram-AJRCARHV-COnJQqA4.js → stateDiagram-AJRCARHV-RJ2xY2-p.js} +1 -1
  81. package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-Diml4Nhm.js → stateDiagram-v2-BHNVJYJU-BzhgwjfG.js} +1 -1
  82. package/dist/client/assets/{timeline-definition-PNZ67QCA-DHIKvV9L.js → timeline-definition-PNZ67QCA-CT9ZQc6n.js} +1 -1
  83. package/dist/client/assets/{upload-CqUJUdZW.js → upload-B4v89B2G.js} +1 -1
  84. package/dist/client/assets/{users-CAE-FEzI.js → users-vuVXnTg0.js} +1 -1
  85. package/dist/client/assets/{vennDiagram-CIIHVFJN-o9AxLDoL.js → vennDiagram-CIIHVFJN-DCcEEtaE.js} +1 -1
  86. package/dist/client/assets/{wardley-L42UT6IY-B7MIazje.js → wardley-L42UT6IY-_KOTjC_D.js} +1 -1
  87. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-B6qUJx0N.js → wardleyDiagram-YWT4CUSO-D16g9VQZ.js} +1 -1
  88. package/dist/client/assets/{xychartDiagram-2RQKCTM6-13mSXuCA.js → xychartDiagram-2RQKCTM6-CMIdike8.js} +1 -1
  89. package/dist/client/index.html +3 -3
  90. package/dist/client/theme-data.css +156 -0
  91. package/dist/client/version.json +1 -1
  92. package/dist/desktop/client/.vite/manifest.json +1650 -0
  93. package/dist/{client/assets/AgentDetailView-C-PM8cwG.js → desktop/client/assets/AgentDetailView-CVv4BoTE.js} +5 -5
  94. package/dist/desktop/client/assets/AgentDetailView-CgbB51Iw.css +1 -0
  95. package/dist/{client/assets/AgentPermissionPolicyEditor-DrVW4VPc.js → desktop/client/assets/AgentPermissionPolicyEditor-CQLNC_-O.js} +1 -1
  96. package/dist/desktop/client/assets/AgentsView-CzMa5Olf.css +1 -0
  97. package/dist/desktop/client/assets/AgentsView-DybRxzuI.js +29 -0
  98. package/dist/desktop/client/assets/ChatView-BtjkE0V7.css +1 -0
  99. package/dist/desktop/client/assets/ChatView-D_byETJX.js +19 -0
  100. package/dist/desktop/client/assets/CommandCenter-DDjpYkPe.css +1 -0
  101. package/dist/desktop/client/assets/CommandCenter-DEXoC2F7.js +71 -0
  102. package/dist/desktop/client/assets/DevServerView-CnEZI8Ax.js +1 -0
  103. package/dist/desktop/client/assets/DevServerView-iBondC7z.css +1 -0
  104. package/dist/desktop/client/assets/DirectoryPicker-0rspvcMz.css +1 -0
  105. package/dist/desktop/client/assets/DirectoryPicker-BUIZKLgl.js +1 -0
  106. package/dist/desktop/client/assets/DocumentsView-BFq47DE7.js +1 -0
  107. package/dist/desktop/client/assets/EvalsView-BEiGrFFa.js +1 -0
  108. package/dist/desktop/client/assets/EvalsView-CTbgPUne.css +1 -0
  109. package/dist/desktop/client/assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css +1 -0
  110. package/dist/desktop/client/assets/ExperimentalAgentOnboardingModal-WzGxsxku.js +1 -0
  111. package/dist/desktop/client/assets/GoalsView-C6Qsc-VS.js +2 -0
  112. package/dist/desktop/client/assets/GoalsView-CUh8JBnJ.css +1 -0
  113. package/dist/desktop/client/assets/InsightsView-C14VGuty.js +11 -0
  114. package/dist/desktop/client/assets/InsightsView-C7yRTMPn.css +1 -0
  115. package/dist/desktop/client/assets/MemoryView--XlaBNzQ.js +2 -0
  116. package/dist/desktop/client/assets/MemoryView-CBDUr2Jy.css +1 -0
  117. package/dist/desktop/client/assets/PiExtensionsManager-BaQnu6IY.js +11 -0
  118. package/dist/desktop/client/assets/PiExtensionsManager-kgTOHPE9.css +1 -0
  119. package/dist/desktop/client/assets/PluginManager-DSiHizRD.css +1 -0
  120. package/dist/desktop/client/assets/PluginManager-DqnMI_Zm.js +1 -0
  121. package/dist/desktop/client/assets/PullRequestView-C8kBQljB.js +6 -0
  122. package/dist/desktop/client/assets/PullRequestView-CpdE3Yo_.css +1 -0
  123. package/dist/desktop/client/assets/ResearchView-DIVNQF4_.css +1 -0
  124. package/dist/desktop/client/assets/ResearchView-OlGNDmqI.js +1 -0
  125. package/dist/desktop/client/assets/SecretsView-CvFioX7R.css +1 -0
  126. package/dist/desktop/client/assets/SecretsView-vHezddkt.js +1 -0
  127. package/dist/desktop/client/assets/SessionTerminal-CPbzm5Oi.css +1 -0
  128. package/dist/desktop/client/assets/SessionTerminal-ClbvT_Fb.js +2 -0
  129. package/dist/desktop/client/assets/SettingsModal-CL4GS1q-.js +21 -0
  130. package/dist/desktop/client/assets/SettingsModal-CvbiSIHS.css +1 -0
  131. package/dist/desktop/client/assets/SettingsModal-EWTm15Fk.js +1 -0
  132. package/dist/desktop/client/assets/SettingsModal-ino68pI2.css +1 -0
  133. package/dist/desktop/client/assets/SetupWizardModal-DsBTXY7k.js +2 -0
  134. package/dist/desktop/client/assets/ShadcnColorPicker-BciIe8Ls.js +11 -0
  135. package/dist/desktop/client/assets/ShadcnColorPicker-pqVWCC5-.css +1 -0
  136. package/dist/desktop/client/assets/SkillsView-CJ8snrma.css +1 -0
  137. package/dist/desktop/client/assets/SkillsView-UyhBA4_r.js +1 -0
  138. package/dist/desktop/client/assets/TodoView-CIsL_uvQ.css +1 -0
  139. package/dist/desktop/client/assets/TodoView-CV7ma8AL.js +6 -0
  140. package/dist/desktop/client/assets/WorkflowNodeEditor-BOouksjw.css +1 -0
  141. package/dist/desktop/client/assets/WorkflowNodeEditor-ThUL4msx.js +8 -0
  142. package/dist/desktop/client/assets/addon-fit-C1WQXRvu.js +1 -0
  143. package/dist/desktop/client/assets/addon-unicode11-BVmNDUBM.js +1 -0
  144. package/dist/desktop/client/assets/addon-web-links-CkVew5xs.js +1 -0
  145. package/dist/desktop/client/assets/addon-webgl-uLc0RKcC.js +58 -0
  146. package/dist/desktop/client/assets/agentSkills-BQzMaofj.js +1 -0
  147. package/dist/desktop/client/assets/agentSkills-bQJ4X1gH.css +1 -0
  148. package/dist/desktop/client/assets/agentsOrgChartLayout-BMvyuaLA.js +1 -0
  149. package/dist/desktop/client/assets/app-BJGkp7Tt.js +13 -0
  150. package/dist/desktop/client/assets/app-BKLUvvm8.js +13 -0
  151. package/dist/desktop/client/assets/app-BaoNC9zg.js +13 -0
  152. package/dist/desktop/client/assets/app-CZQ_fFNf.js +13 -0
  153. package/dist/{client/assets/app-nvVayIeU.js → desktop/client/assets/app-DAu3AzsS.js} +3 -3
  154. package/dist/desktop/client/assets/app-DgezOJub.js +13 -0
  155. package/dist/desktop/client/assets/arc-cxkkNsnK.js +1 -0
  156. package/dist/desktop/client/assets/architectureDiagram-3BPJPVTR-MtAzQYUn.js +36 -0
  157. package/dist/desktop/client/assets/band-CquvqAHh.js +1 -0
  158. package/dist/desktop/client/assets/blockDiagram-GPEHLZMM-zelYfqn3.js +132 -0
  159. package/dist/desktop/client/assets/c4Diagram-AAUBKEIU-D3hNx0Hv.js +10 -0
  160. package/dist/desktop/client/assets/channel-Dj1-27Yg.js +1 -0
  161. package/dist/desktop/client/assets/chunk-2J33WTMH-B9IKEZ0p.js +1 -0
  162. package/dist/desktop/client/assets/chunk-4BX2VUAB-Dd7FeAwm.js +1 -0
  163. package/dist/desktop/client/assets/chunk-55IACEB6-DbzB46sJ.js +1 -0
  164. package/dist/desktop/client/assets/chunk-727SXJPM-CDmlBZKV.js +206 -0
  165. package/dist/desktop/client/assets/chunk-AQP2D5EJ-whMl1uk-.js +231 -0
  166. package/dist/desktop/client/assets/chunk-FMBD7UC4-E1WzORFR.js +15 -0
  167. package/dist/desktop/client/assets/chunk-ND2GUHAM-e0FuVXk6.js +1 -0
  168. package/dist/desktop/client/assets/chunk-QZHKN3VN-B6q2GrbB.js +1 -0
  169. package/dist/desktop/client/assets/classDiagram-4FO5ZUOK-36LCOV5F.js +1 -0
  170. package/dist/desktop/client/assets/classDiagram-v2-Q7XG4LA2-36LCOV5F.js +1 -0
  171. package/dist/desktop/client/assets/common-BDp2y6CF.js +1 -0
  172. package/dist/desktop/client/assets/common-BnEo5fLN.js +1 -0
  173. package/dist/desktop/client/assets/common-Bzr_Y8h4.js +1 -0
  174. package/dist/desktop/client/assets/common-CvwyFzfv.js +1 -0
  175. package/dist/desktop/client/assets/common-CztCXRkz.js +1 -0
  176. package/dist/desktop/client/assets/common-DPe2mbb7.js +1 -0
  177. package/dist/desktop/client/assets/cose-bilkent-S5V4N54A-BjSZ5UKD.js +1 -0
  178. package/dist/desktop/client/assets/cytoscape.esm-OyMbaexL.js +331 -0
  179. package/dist/desktop/client/assets/dagre-BM42HDAG-DxMH6moD.js +4 -0
  180. package/dist/desktop/client/assets/dashboard-view-BW8tRppT.js +1 -0
  181. package/dist/desktop/client/assets/dashboard-view-CuUPQZzi.css +1 -0
  182. package/dist/desktop/client/assets/dashboard-view-D_zsA-kz.css +1 -0
  183. package/dist/desktop/client/assets/dashboard-view-L_H47lEp.js +8161 -0
  184. package/dist/desktop/client/assets/defaultLocale-DX6XiGOO.js +1 -0
  185. package/dist/desktop/client/assets/diagram-2AECGRRQ-DDUjym9F.js +43 -0
  186. package/dist/desktop/client/assets/diagram-5GNKFQAL-nEqF7CSb.js +10 -0
  187. package/dist/desktop/client/assets/diagram-KO2AKTUF-CFABtl0k.js +3 -0
  188. package/dist/desktop/client/assets/diagram-LMA3HP47-ButXw1gy.js +24 -0
  189. package/dist/desktop/client/assets/diagram-OG6HWLK6-CA17ZRZI.js +24 -0
  190. package/dist/desktop/client/assets/erDiagram-TEJ5UH35-DmROZaa0.js +85 -0
  191. package/dist/desktop/client/assets/errors-07IrmOYM.js +1 -0
  192. package/dist/desktop/client/assets/errors-BPsCufin.js +1 -0
  193. package/dist/desktop/client/assets/errors-CcVDgqlA.js +1 -0
  194. package/dist/desktop/client/assets/errors-D-i_Bxc6.js +1 -0
  195. package/dist/desktop/client/assets/errors-DDdWAK-U.js +1 -0
  196. package/dist/desktop/client/assets/errors-DOF5Td3F.js +1 -0
  197. package/dist/desktop/client/assets/flowDiagram-I6XJVG4X-BCa7HuJ3.js +162 -0
  198. package/dist/desktop/client/assets/folder-open-G_6UGFyI.js +6 -0
  199. package/dist/desktop/client/assets/ganttDiagram-6RSMTGT7-BeAYpPxh.js +292 -0
  200. package/dist/desktop/client/assets/gitGraphDiagram-PVQCEYII-BLwp2lCj.js +106 -0
  201. package/dist/desktop/client/assets/graph--OzhPTMs.js +1 -0
  202. package/dist/desktop/client/assets/index-CSVe-MIA.css +1 -0
  203. package/dist/desktop/client/assets/index-DIURDjTF.js +1301 -0
  204. package/dist/desktop/client/assets/infoDiagram-5YYISTIA-DF-q3NMx.js +2 -0
  205. package/dist/desktop/client/assets/init-Dmth1JHB.js +1 -0
  206. package/dist/desktop/client/assets/ishikawaDiagram-YF4QCWOH-CKYDbUiH.js +70 -0
  207. package/dist/desktop/client/assets/journeyDiagram-JHISSGLW-BgkdCr6Q.js +139 -0
  208. package/dist/desktop/client/assets/kanban-definition-UN3LZRKU-B9V97j0D.js +89 -0
  209. package/dist/desktop/client/assets/katex-HP8lGamR.js +257 -0
  210. package/dist/desktop/client/assets/layout-SsrduOYp.js +1 -0
  211. package/dist/desktop/client/assets/linear-dXivciGL.js +1 -0
  212. package/dist/desktop/client/assets/mermaid.core-BBN7poU5.js +309 -0
  213. package/dist/desktop/client/assets/mindmap-definition-RKZ34NQL-C2_Jhjnr.js +96 -0
  214. package/dist/desktop/client/assets/ordinal-DILIJJjt.js +1 -0
  215. package/dist/desktop/client/assets/pieDiagram-4H26LBE5-DOrO8u2b.js +30 -0
  216. package/dist/desktop/client/assets/projectDetection-G3XuxD2X.js +1 -0
  217. package/dist/desktop/client/assets/quadrantDiagram-W4KKPZXB-D4xxkMPR.js +7 -0
  218. package/dist/desktop/client/assets/requirementDiagram-4Y6WPE33-BuyUaAlW.js +84 -0
  219. package/dist/desktop/client/assets/sankeyDiagram-5OEKKPKP-DLGaZ5Gy.js +40 -0
  220. package/dist/desktop/client/assets/sequenceDiagram-3UESZ5HK-B3xhIZnf.js +162 -0
  221. package/dist/desktop/client/assets/shield-alert-D-Fxd0Va.js +6 -0
  222. package/dist/desktop/client/assets/stateDiagram-AJRCARHV-3C2cVTwx.js +1 -0
  223. package/dist/desktop/client/assets/stateDiagram-v2-BHNVJYJU-uyCHbCJn.js +1 -0
  224. package/dist/desktop/client/assets/step-yuy0qJer.js +1 -0
  225. package/dist/desktop/client/assets/time-DoDTxsna.js +1 -0
  226. package/dist/desktop/client/assets/timeline-definition-PNZ67QCA-DHzoutyf.js +120 -0
  227. package/dist/desktop/client/assets/upload-Cv9kGgTr.js +6 -0
  228. package/dist/desktop/client/assets/users-DuxdQK9U.js +6 -0
  229. package/dist/desktop/client/assets/vendor-codemirror-jBKmHyH0.js +27 -0
  230. package/dist/desktop/client/assets/vendor-i18n-GF3RlKbq.js +9 -0
  231. package/dist/desktop/client/assets/vendor-react-SZ_qB27O.js +49 -0
  232. package/dist/desktop/client/assets/vendor-reactflow-Bg-Qjzh8.js +15 -0
  233. package/dist/desktop/client/assets/vendor-reactflow-C5ap-Sga.css +1 -0
  234. package/dist/desktop/client/assets/vendor-xterm-BNq00GSj.js +9 -0
  235. package/dist/desktop/client/assets/vendor-xterm-LZoznX6r.css +32 -0
  236. package/dist/desktop/client/assets/vennDiagram-CIIHVFJN-CKB5IBNU.js +34 -0
  237. package/dist/desktop/client/assets/wardley-L42UT6IY-DUw_nnW7.js +173 -0
  238. package/dist/desktop/client/assets/wardleyDiagram-YWT4CUSO-CgWLugtp.js +78 -0
  239. package/dist/desktop/client/assets/xychartDiagram-2RQKCTM6-BWpeCtlX.js +7 -0
  240. package/dist/desktop/client/assets/zoom-out-NWbVkreR.js +41 -0
  241. package/dist/desktop/client/brands/hermes-logo.svg +1 -0
  242. package/dist/desktop/client/fonts/SymbolsNerdFontMono-Regular.ttf +0 -0
  243. package/dist/desktop/client/icons/icon-192.png +0 -0
  244. package/dist/desktop/client/icons/icon-512.png +0 -0
  245. package/dist/desktop/client/index.html +244 -0
  246. package/dist/desktop/client/logo.svg +6 -0
  247. package/dist/desktop/client/manifest.json +23 -0
  248. package/dist/desktop/client/sw.js +175 -0
  249. package/dist/desktop/client/theme-data.css +6858 -0
  250. package/dist/desktop/client/version.json +1 -0
  251. package/dist/desktop/main.js +17159 -0
  252. package/dist/desktop/main.js.map +7 -0
  253. package/dist/desktop/preload.js +110 -0
  254. package/dist/desktop/preload.js.map +7 -0
  255. package/dist/droid-cli/package.json +1 -1
  256. package/dist/extension.js +1569 -1295
  257. package/dist/pi-claude-cli/index.ts +40 -8
  258. package/dist/pi-claude-cli/package.json +5 -3
  259. package/dist/pi-claude-cli/src/__tests__/process-manager.test.ts +2 -2
  260. package/dist/pi-claude-cli/src/__tests__/provider.test.ts +39 -23
  261. package/dist/plugin-sdk/index.d.ts +9 -2
  262. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  263. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  264. package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +15 -3
  265. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  266. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  267. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  268. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  269. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  270. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  271. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  272. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  273. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  274. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  275. package/package.json +4 -3
  276. package/dist/client/assets/ChatView-C7uTm5hO.js +0 -16
  277. package/dist/client/assets/SessionTerminal-CumHUelZ.js +0 -2
  278. package/dist/client/assets/SettingsModal-AJfer-ve.js +0 -21
  279. package/dist/client/assets/ShadcnColorPicker-Cc72uPKJ.js +0 -11
  280. package/dist/client/assets/ShadcnColorPicker-CyeAnJUU.css +0 -1
  281. package/dist/client/assets/WorkflowNodeEditor-BjpqTIYE.js +0 -8
  282. package/dist/client/assets/app-CGubyqAW.js +0 -13
  283. package/dist/client/assets/app-CrQpHbIs.js +0 -13
  284. package/dist/client/assets/app-DboK-0Ty.js +0 -13
  285. package/dist/client/assets/app-DjnYET2y.js +0 -13
  286. package/dist/client/assets/app-MacS555z.js +0 -13
  287. package/dist/client/assets/channel-Dn5XowfJ.js +0 -1
  288. package/dist/client/assets/classDiagram-4FO5ZUOK-zSOW-KNk.js +0 -1
  289. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-zSOW-KNk.js +0 -1
  290. package/dist/client/assets/index-QnHUwSjw.css +0 -1
  291. package/dist/client/assets/index-Y-vyXPPN.js +0 -1331
  292. /package/dist/{client → desktop/client}/assets/AgentPermissionPolicyEditor-CGxjOr6G.css +0 -0
@@ -0,0 +1,4 @@
1
+ import{_ as w,aD as F,aE as _,aF as Y,aG as j,l as r,c as H,aH as V,aI as K,a1 as U,ay as $,a2 as P,a0 as q,aJ as z,aK as Q,aL as W}from"./mermaid.core-BBN7poU5.js";import{i as N,G as B}from"./graph--OzhPTMs.js";import{b as Z,m as R,l as I}from"./layout-SsrduOYp.js";import"./index-DIURDjTF.js";import"./vendor-react-SZ_qB27O.js";import"./vendor-i18n-GF3RlKbq.js";import"./vendor-reactflow-Bg-Qjzh8.js";import"./vendor-xterm-BNq00GSj.js";import"./vendor-codemirror-jBKmHyH0.js";import"./step-yuy0qJer.js";var ee=4;function ne(e){return Z(e,ee)}function p(e){var t={options:{directed:e.isDirected(),multigraph:e.isMultigraph(),compound:e.isCompound()},nodes:te(e),edges:se(e)};return N(e.graph())||(t.value=ne(e.graph())),t}function te(e){return R(e.nodes(),function(t){var n=e.node(t),a=e.parent(t),i={v:t};return N(n)||(i.value=n),N(a)||(i.parent=a),i})}function se(e){return R(e.edges(),function(t){var n=e.edge(t),a={v:t.v,w:t.w};return N(t.name)||(a.name=t.name),N(n)||(a.value=n),a})}var d=new Map,y=new Map,A=new Map,re=w(()=>{y.clear(),A.clear(),d.clear()},"clear"),D=w((e,t)=>{const n=y.get(t)||[];return r.trace("In isDescendant",t," ",e," = ",n.includes(e)),n.includes(e)},"isDescendant"),ie=w((e,t)=>{const n=y.get(t)||[];return r.info("Descendants of ",t," is ",n),r.info("Edge is ",e),e.v===t||e.w===t?!1:n?n.includes(e.v)||D(e.v,t)||D(e.w,t)||n.includes(e.w):(r.debug("Tilt, ",t,",not in descendants"),!1)},"edgeInCluster"),G=w((e,t,n,a)=>{r.warn("Copying children of ",e,"root",a,"data",t.node(e),a);const i=t.children(e)||[];e!==a&&i.push(e),r.warn("Copying (nodes) clusterId",e,"nodes",i),i.forEach(o=>{if(t.children(o).length>0)G(o,t,n,a);else{const l=t.node(o);r.info("cp ",o," to ",a," with parent ",e),n.setNode(o,l),a!==t.parent(o)&&(r.warn("Setting parent",o,t.parent(o)),n.setParent(o,t.parent(o))),e!==a&&o!==e?(r.debug("Setting parent",o,e),n.setParent(o,e)):(r.info("In copy ",e,"root",a,"data",t.node(e),a),r.debug("Not Setting parent for node=",o,"cluster!==rootId",e!==a,"node!==clusterId",o!==e));const u=t.edges(o);r.debug("Copying Edges",u),u.forEach(c=>{r.info("Edge",c);const m=t.edge(c.v,c.w,c.name);r.info("Edge data",m,a);try{ie(c,a)?(r.info("Copying as ",c.v,c.w,m,c.name),n.setEdge(c.v,c.w,m,c.name),r.info("newGraph edges ",n.edges(),n.edge(n.edges()[0]))):r.info("Skipping copy of edge ",c.v,"-->",c.w," rootId: ",a," clusterId:",e)}catch(h){r.error(h)}})}r.debug("Removing node",o),t.removeNode(o)})},"copy"),J=w((e,t)=>{const n=t.children(e);let a=[...n];for(const i of n)A.set(i,e),a=[...a,...J(i,t)];return a},"extractDescendants"),oe=w((e,t,n)=>{const a=e.edges().filter(c=>c.v===t||c.w===t),i=e.edges().filter(c=>c.v===n||c.w===n),o=a.map(c=>({v:c.v===t?n:c.v,w:c.w===t?t:c.w})),l=i.map(c=>({v:c.v,w:c.w}));return o.filter(c=>l.some(m=>c.v===m.v&&c.w===m.w))},"findCommonEdges"),C=w((e,t,n)=>{const a=t.children(e);if(r.trace("Searching children of id ",e,a),a.length<1)return e;let i;for(const o of a){const l=C(o,t,n),u=oe(t,n,l);if(l)if(u.length>0)i=l;else return l}return i},"findNonClusterChild"),k=w(e=>!d.has(e)||!d.get(e).externalConnections?e:d.has(e)?d.get(e).id:e,"getAnchorId"),ae=w((e,t)=>{if(!e||t>10){r.debug("Opting out, no graph ");return}else r.debug("Opting in, graph ");e.nodes().forEach(function(n){e.children(n).length>0&&(r.warn("Cluster identified",n," Replacement id in edges: ",C(n,e,n)),y.set(n,J(n,e)),d.set(n,{id:C(n,e,n),clusterData:e.node(n)}))}),e.nodes().forEach(function(n){const a=e.children(n),i=e.edges();a.length>0?(r.debug("Cluster identified",n,y),i.forEach(o=>{const l=D(o.v,n),u=D(o.w,n);l^u&&(r.warn("Edge: ",o," leaves cluster ",n),r.warn("Descendants of XXX ",n,": ",y.get(n)),d.get(n).externalConnections=!0)})):r.debug("Not a cluster ",n,y)});for(let n of d.keys()){const a=d.get(n).id,i=e.parent(a);i!==n&&d.has(i)&&!d.get(i).externalConnections&&(d.get(n).id=i)}e.edges().forEach(function(n){const a=e.edge(n);r.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(n)),r.warn("Edge "+n.v+" -> "+n.w+": "+JSON.stringify(e.edge(n)));let i=n.v,o=n.w;if(r.warn("Fix XXX",d,"ids:",n.v,n.w,"Translating: ",d.get(n.v)," --- ",d.get(n.w)),d.get(n.v)||d.get(n.w)){if(r.warn("Fixing and trying - removing XXX",n.v,n.w,n.name),i=k(n.v),o=k(n.w),e.removeEdge(n.v,n.w,n.name),i!==n.v){const l=e.parent(i);d.get(l).externalConnections=!0,a.fromCluster=n.v}if(o!==n.w){const l=e.parent(o);d.get(l).externalConnections=!0,a.toCluster=n.w}r.warn("Fix Replacing with XXX",i,o,n.name),e.setEdge(i,o,a,n.name)}}),r.warn("Adjusted Graph",p(e)),L(e,0),r.trace(d)},"adjustClustersAndEdges"),L=w((e,t)=>{if(r.warn("extractor - ",t,p(e),e.children("D")),t>10){r.error("Bailing out");return}let n=e.nodes(),a=!1;for(const i of n){const o=e.children(i);a=a||o.length>0}if(!a){r.debug("Done, no node has children",e.nodes());return}r.debug("Nodes = ",n,t);for(const i of n)if(r.debug("Extracting node",i,d,d.has(i)&&!d.get(i).externalConnections,!e.parent(i),e.node(i),e.children("D")," Depth ",t),!d.has(i))r.debug("Not a cluster",i,t);else if(!d.get(i).externalConnections&&e.children(i)&&e.children(i).length>0){r.warn("Cluster without external connections, without a parent and with children",i,t);let l=e.graph().rankdir==="TB"?"LR":"TB";d.get(i)?.clusterData?.dir&&(l=d.get(i).clusterData.dir,r.warn("Fixing dir",d.get(i).clusterData.dir,l));const u=new B({multigraph:!0,compound:!0}).setGraph({rankdir:l,nodesep:50,ranksep:50,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}});r.warn("Old graph before copy",p(e)),G(i,e,u,i),e.setNode(i,{clusterNode:!0,id:i,clusterData:d.get(i).clusterData,label:d.get(i).label,graph:u}),r.warn("New graph after copy node: (",i,")",p(u)),r.debug("Old graph after copy",p(e))}else r.warn("Cluster ** ",i," **not meeting the criteria !externalConnections:",!d.get(i).externalConnections," no parent: ",!e.parent(i)," children ",e.children(i)&&e.children(i).length>0,e.children("D"),t),r.debug(d);n=e.nodes(),r.warn("New list of nodes",n);for(const i of n){const o=e.node(i);r.warn(" Now next level",i,o),o?.clusterNode&&L(o.graph,t+1)}},"extractor"),T=w((e,t)=>{if(t.length===0)return[];let n=Object.assign([],t);return t.forEach(a=>{const i=e.children(a),o=T(e,i);n=[...n,...o]}),n},"sorter"),ce=w(e=>T(e,e.children()),"sortNodesByHierarchy"),M=w(async(e,t,n,a,i,o)=>{r.warn("Graph in recursive render:XAX",p(t),i);const l=t.graph().rankdir;r.trace("Dir in recursive render - dir:",l);const u=e.insert("g").attr("class","root");t.nodes()?r.info("Recursive render XXX",t.nodes()):r.info("No nodes found for",t),t.edges().length>0&&r.info("Recursive edges",t.edge(t.edges()[0]));const c=u.insert("g").attr("class","clusters"),m=u.insert("g").attr("class","edgePaths"),h=u.insert("g").attr("class","edgeLabels"),v=u.insert("g").attr("class","nodes");await Promise.all(t.nodes().map(async function(f){const s=t.node(f);if(i!==void 0){const g=JSON.parse(JSON.stringify(i.clusterData));r.trace(`Setting data for parent cluster XXX
2
+ Node.id = `,f,`
3
+ data=`,g.height,`
4
+ Parent cluster`,i.height),t.setNode(i.id,g),t.parent(f)||(r.trace("Setting parent",f,i.id),t.setParent(f,i.id,g))}if(r.info("(Insert) Node XXX"+f+": "+JSON.stringify(t.node(f))),s?.clusterNode){r.info("Cluster identified XBX",f,s.width,t.node(f));const{ranksep:g,nodesep:X}=t.graph();s.graph.setGraph({...s.graph.graph(),ranksep:g+25,nodesep:X});const E=await M(v,s.graph,n,a,t.node(f),o),x=E.elem;V(s,x),s.diff=E.diff||0,r.info("New compound node after recursive render XAX",f,"width",s.width,"height",s.height),K(x,s)}else t.children(f).length>0?(r.trace("Cluster - the non recursive path XBX",f,s.id,s,s.width,"Graph:",t),r.trace(C(s.id,t)),d.set(s.id,{id:C(s.id,t),node:s})):(r.trace("Node - the non recursive path XAX",f,v,t.node(f),l),await U(v,t.node(f),{config:o,dir:l}))})),await w(async()=>{const f=t.edges().map(async function(s){const g=t.edge(s.v,s.w,s.name);r.info("Edge "+s.v+" -> "+s.w+": "+JSON.stringify(s)),r.info("Edge "+s.v+" -> "+s.w+": ",s," ",JSON.stringify(t.edge(s))),r.info("Fix",d,"ids:",s.v,s.w,"Translating: ",d.get(s.v),d.get(s.w)),await W(h,g)});await Promise.all(f)},"processEdges")(),r.info("Graph before layout:",JSON.stringify(p(t))),r.info("############################################# XXX"),r.info("### Layout ### XXX"),r.info("############################################# XXX"),I(t),r.info("Graph after layout:",JSON.stringify(p(t)));let O=0,{subGraphTitleTotalMargin:S}=$(o);return await Promise.all(ce(t).map(async function(f){const s=t.node(f);if(r.info("Position XBX => "+f+": ("+s.x,","+s.y,") width: ",s.width," height: ",s.height),s?.clusterNode)s.y+=S,r.info("A tainted cluster node XBX1",f,s.id,s.width,s.height,s.x,s.y,t.parent(f)),d.get(s.id).node=s,P(s);else if(t.children(f).length>0){r.info("A pure cluster node XBX1",f,s.id,s.x,s.y,s.width,s.height,t.parent(f)),s.height+=S,t.node(s.parentId);const g=s?.padding/2||0,X=s?.labelBBox?.height||0,E=X-g||0;r.debug("OffsetY",E,"labelHeight",X,"halfPadding",g),await q(c,s),d.get(s.id).node=s}else{const g=t.node(s.parentId);s.y+=S/2,r.info("A regular node XBX1 - using the padding",s.id,"parent",s.parentId,s.width,s.height,s.x,s.y,"offsetY",s.offsetY,"parent",g,g?.offsetY,s),P(s)}})),t.edges().forEach(function(f){const s=t.edge(f);r.info("Edge "+f.v+" -> "+f.w+": "+JSON.stringify(s),s),s.points.forEach(x=>x.y+=S/2);const g=t.node(f.v);var X=t.node(f.w);const E=z(m,s,d,n,g,X,a);Q(s,E)}),t.nodes().forEach(function(f){const s=t.node(f);r.info(f,s.type,s.diff),s.isGroup&&(O=s.diff)}),r.warn("Returning from recursive render XAX",u,O),{elem:u,diff:O}},"recursiveRender"),be=w(async(e,t)=>{const n=new B({multigraph:!0,compound:!0}).setGraph({rankdir:e.direction,nodesep:e.config?.nodeSpacing||e.config?.flowchart?.nodeSpacing||e.nodeSpacing,ranksep:e.config?.rankSpacing||e.config?.flowchart?.rankSpacing||e.rankSpacing,marginx:8,marginy:8}).setDefaultEdgeLabel(function(){return{}}),a=t.select("g");F(a,e.markers,e.type,e.diagramId),_(),Y(),j(),re(),e.nodes.forEach(o=>{n.setNode(o.id,{...o}),o.parentId&&n.setParent(o.id,o.parentId)}),r.debug("Edges:",e.edges),e.edges.forEach(o=>{if(o.start===o.end){const l=o.start,u=l+"---"+l+"---1",c=l+"---"+l+"---2",m=n.node(l);n.setNode(u,{domId:u,id:u,parentId:m.parentId,labelStyle:"",label:"",padding:0,shape:"labelRect",style:"",width:10,height:10}),n.setParent(u,m.parentId),n.setNode(c,{domId:c,id:c,parentId:m.parentId,labelStyle:"",padding:0,shape:"labelRect",label:"",style:"",width:10,height:10}),n.setParent(c,m.parentId);const h=structuredClone(o),v=structuredClone(o),b=structuredClone(o);h.label="",h.arrowTypeEnd="none",h.endLabelLeft="",h.endLabelRight="",h.startLabelLeft="",h.id=l+"-cyclic-special-1",v.startLabelRight="",v.startLabelLeft="",v.endLabelLeft="",v.endLabelRight="",v.arrowTypeStart="none",v.arrowTypeEnd="none",v.id=l+"-cyclic-special-mid",b.label="",b.startLabelRight="",b.startLabelLeft="",b.arrowTypeStart="none",m.isGroup&&(h.fromCluster=l,b.toCluster=l),b.id=l+"-cyclic-special-2",b.arrowTypeStart="none",n.setEdge(l,u,h,l+"-cyclic-special-0"),n.setEdge(u,c,v,l+"-cyclic-special-1"),n.setEdge(c,l,b,l+"-cyc<lic-special-2")}else n.setEdge(o.start,o.end,{...o},o.id)}),r.warn("Graph at first:",JSON.stringify(p(n))),ae(n),r.warn("Graph after XAX:",JSON.stringify(p(n)));const i=H();await M(a,n,e.type,e.diagramId,void 0,i)},"render");export{be as render};
@@ -0,0 +1 @@
1
+ import{r as t,j as H}from"./vendor-react-SZ_qB27O.js";import{dl as ve,dm as Ye,dn as _e,dp as Xe,dq as je}from"./index-DIURDjTF.js";import{Z as $e,a as Ge,M as We,R as Le}from"./zoom-out-NWbVkreR.js";import"./vendor-i18n-GF3RlKbq.js";import"./vendor-reactflow-Bg-Qjzh8.js";import"./vendor-xterm-BNq00GSj.js";import"./vendor-codemirror-jBKmHyH0.js";const xe=4,we=300,Fe=24;function Ue({taskId:r,position:i,scale:o,canDrag:a,onPositionChange:d,onDragStateChange:c,onDragEnd:x,onDoubleTap:b}){const[I,z]=t.useState(!1),M=t.useRef(null),T=t.useRef(i),E=t.useRef(!1),n=t.useRef(null),m=t.useRef(!1);T.current=i,m.current=I;const l=t.useCallback(()=>{n.current=null},[]),P=t.useCallback(u=>{M.current=null,z(!1),m.current=!1,u&&(c?.(!1),x?.(),E.current=!0,l())},[x,c,l]),N=t.useCallback(u=>{if(!u.isPrimary)return;if(u.defaultPrevented){l();return}const S=Date.now();n.current&&S-n.current.timeStamp>we&&l(),a&&u.stopPropagation();const p=u.currentTarget;a&&typeof p.setPointerCapture=="function"&&p.setPointerCapture(u.pointerId),M.current={pointerId:u.pointerId,pointerType:u.pointerType,startPointer:{x:u.clientX,y:u.clientY},startPosition:T.current,defaultPrevented:u.defaultPrevented,movedBeyondThreshold:!1}},[a,l]),v=t.useCallback(u=>{const S=M.current;if(!S||S.pointerId!==u.pointerId)return;a&&u.stopPropagation();const p=u.clientX-S.startPointer.x,U=u.clientY-S.startPointer.y,_=Math.hypot(p,U);if(_>=xe&&(S.movedBeyondThreshold=!0),!a){S.movedBeyondThreshold&&l();return}if(!m.current&&_>=xe&&(z(!0),m.current=!0,c?.(!0),l()),_<xe)return;const re=o>0?o:1;d(r,{x:S.startPosition.x+p/re,y:S.startPosition.y+U/re})},[a,c,d,l,o,r]),G=t.useCallback((u,S)=>{if(!b||S.defaultPrevented||S.movedBeyondThreshold)return Date.now()-(n.current?.timeStamp??0)>we&&l(),!1;if(S.pointerType==="mouse")return l(),!1;const p={timeStamp:Date.now(),point:{x:S.startPointer.x,y:S.startPointer.y}},U=n.current;return!U||p.timeStamp-U.timeStamp>we||Math.hypot(p.point.x-U.point.x,p.point.y-U.point.y)>Fe?(n.current=p,!1):(E.current=!0,l(),b(),!0)},[b,l]),Z=t.useCallback(u=>{const S=M.current;if(!S||S.pointerId!==u.pointerId)return;a&&u.stopPropagation(),a&&typeof u.currentTarget.hasPointerCapture=="function"&&u.currentTarget.hasPointerCapture(u.pointerId)&&typeof u.currentTarget.releasePointerCapture=="function"&&u.currentTarget.releasePointerCapture(u.pointerId);const p=m.current;!p&&G(u,S)&&u.preventDefault(),P(p)},[a,P,G]),W=t.useCallback(u=>{const S=M.current;!S||S.pointerId!==u.pointerId||(a&&u.stopPropagation(),a&&typeof u.currentTarget.hasPointerCapture=="function"&&u.currentTarget.hasPointerCapture(u.pointerId)&&typeof u.currentTarget.releasePointerCapture=="function"&&u.currentTarget.releasePointerCapture(u.pointerId),l(),P(m.current))},[a,P,l]),Y=t.useCallback(u=>{E.current&&(E.current=!1,u.preventDefault(),u.stopPropagation())},[]);return t.useMemo(()=>({isDragging:I,onPointerDown:N,onPointerMove:v,onPointerUp:Z,onPointerCancel:W,onClickCapture:Y}),[I,Y,W,N,v,Z])}const Be=new Set(["planning","researching","executing","finalizing","merging","merging-fix"]);function Ze(r){return r?r.charAt(0).toUpperCase()+r.slice(1):"Executing"}function Ke({style:r,position:i,scale:o,isSelected:a=!1,isHighlighted:d=!1,isDimmed:c=!1,onMouseEnter:x,onMouseLeave:b,onClick:I,onNodePositionChange:z,onNodeDragStateChange:M,onNodeDragEnd:T,...E}){const{task:n,globalPaused:m,taskStuckTimeoutMs:l,lastFetchTimeMs:P,onOpenDetail:N}=E,v=n.status==="failed",G=n.paused===!0,Z=ve(n,l,P),W=n.column==="triage"&&n.status==="awaiting-approval",Y=!m&&!v&&!G&&!Z&&!W&&(n.column==="in-progress"||Be.has(n.status)),u=typeof n.currentStep=="number"&&n.currentStep>=0&&Array.isArray(n.steps)&&n.currentStep<n.steps.length,S=n.column==="in-review",p=Ue({taskId:n.id,position:i,scale:o,canDrag:a,onPositionChange:z,onDragStateChange:M,onDragEnd:T,onDoubleTap:()=>N(n)});return H.jsxs("div",{className:`graph-task-node${a?" graph-node--draggable graph-task-node--selected":""}${p.isDragging?" graph-node--dragging":""}${d?" graph-task-node--highlighted graph-node--highlighted":""}${c?" graph-task-node--dimmed graph-node--dimmed":""}${Y?" graph-task-node--active":""}${S?" graph-task-node--in-review":""}`,style:r,draggable:!1,"data-testid":`graph-task-node-${n.id}`,"data-current-step":Y&&u?String(n.currentStep):void 0,onMouseEnter:x,onMouseLeave:b,onClick:I,onDoubleClick:U=>{U.defaultPrevented||N(n)},onClickCapture:p.onClickCapture,onPointerDown:p.onPointerDown,onPointerMove:p.onPointerMove,onPointerUp:p.onPointerUp,onPointerCancel:p.onPointerCancel,children:[Y?H.jsx("div",{className:"graph-task-active-indicator",children:H.jsx("span",{className:"graph-task-active-indicator-text",children:Ze(n.status)})}):null,H.jsx(Ye,{...E,onOpenDetail:()=>{},disableDrag:!0})]})}function Ve({zoom:r,onZoomIn:i,onZoomOut:o,onFitToGraph:a,onResetView:d}){return H.jsxs("div",{className:"graph-toolbar","data-testid":"graph-toolbar",children:[H.jsx("button",{className:"btn btn-icon",title:"Zoom in (Ctrl+=)","aria-label":"Zoom in",onClick:i,children:H.jsx($e,{size:16})}),H.jsx("button",{className:"btn btn-icon",title:"Zoom out (Ctrl+-)","aria-label":"Zoom out",onClick:o,children:H.jsx(Ge,{size:16})}),H.jsxs("div",{className:"graph-toolbar__zoom-label","aria-live":"polite",children:[Math.round(r*100),"%"]}),H.jsx("button",{className:"btn btn-icon",title:"Fit to graph (Ctrl+Shift+F)","aria-label":"Fit to graph",onClick:a,children:H.jsx(We,{size:16})}),H.jsx("button",{className:"btn btn-icon",title:"Reset view (Ctrl+0)","aria-label":"Reset view",onClick:d,children:H.jsx(Le,{size:16})})]})}const qe=280,Je=100;function Qe({edges:r,positions:i,nodeWidth:o=qe,nodeHeight:a=Je,nodeHeights:d,highlightedEdgeIds:c}){const x=!!(c&&c.size>0);return H.jsxs("svg",{className:"dependency-graph-edges","aria-hidden":"true",children:[H.jsx("defs",{children:H.jsx("marker",{id:"dependency-graph-arrowhead",markerWidth:"10",markerHeight:"7",refX:"10",refY:"3.5",orient:"auto",markerUnits:"strokeWidth",children:H.jsx("path",{d:"M 0 0 L 10 3.5 L 0 7 z",style:{fill:"var(--border)"}})})}),r.map(b=>{const I=i.get(b.source),z=i.get(b.target);if(!I||!z)return null;const M=`${b.source}->${b.target}`,T=x&&(c?.has(M)??!1),E=I.x+o/2,n=I.y+(d?.get(b.source)??a),m=z.x+o/2,l=z.y,P=n+(l-n)/2;return H.jsx("path",{"data-testid":"dependency-edge","data-edge-id":M,className:`dependency-graph-edge${T?" graph-edge--highlighted":""}${x&&!T?" graph-edge--dimmed":""}`,d:`M ${E} ${n} C ${E} ${P}, ${m} ${P}, ${m} ${l}`,fill:"none",markerEnd:"url(#dependency-graph-arrowhead)",style:{opacity:x&&!T?.15:1,stroke:T?"var(--todo)":"var(--border)",strokeWidth:T?"var(--space-xs)":"var(--btn-border-width)",transition:"opacity var(--transition-fast), stroke var(--transition-fast), stroke-width var(--transition-fast)"}},M)})]})}const et=new Set(["triage","todo","in-progress","in-review"]);function tt(r){return r.filter(i=>et.has(i.column))}const nt={nodeWidth:280,nodeHeight:100,horizontalGap:40,verticalGap:80,orientation:"vertical"};function ke(r,i){const o={...nt,...i},a=r.nodes.map(n=>n.task.id);if(a.length===0)return new Map;const d=new Map,c=new Map;for(const n of a)c.set(n,0),d.set(n,[]);for(const n of r.edges)!c.has(n.source)||!c.has(n.target)||(d.get(n.target)?.push(n.source),c.set(n.source,(c.get(n.source)??0)+1));const x=a.filter(n=>(c.get(n)??0)===0),b=[];for(;x.length>0;){const n=x.shift();b.push(n);for(const m of d.get(n)??[]){const l=(c.get(m)??0)-1;c.set(m,l),l===0&&x.push(m)}}for(const n of a)b.includes(n)||b.push(n);const I=new Map;for(const n of b){const m=r.edges.filter(P=>P.source===n).map(P=>P.target);let l=0;for(const P of m)l=Math.max(l,(I.get(P)??0)+1);I.set(n,l)}const z=new Map;for(const n of a){const m=I.get(n)??0,l=z.get(m)??[];l.push(n),z.set(m,l)}const M=new Map,T=Array.from(z.keys()).sort((n,m)=>n-m),E=new Map;if(o.orientation==="vertical"){let n=0;for(const m of T){E.set(m,n);const l=z.get(m)??[],P=Math.max(o.nodeHeight,...l.map(N=>o.measuredHeights?.get(N)??o.nodeHeight));n+=P+o.verticalGap}}for(const n of T){const m=z.get(n)??[];if(m.sort(),o.orientation==="horizontal"){const G=-(m.reduce((Y,u)=>Y+(o.measuredHeights?.get(u)??o.nodeHeight),0)+Math.max(0,m.length-1)*o.verticalGap)/2,Z=n*(o.nodeWidth+o.horizontalGap);let W=G;for(const Y of m)M.set(Y,{x:Z,y:W}),W+=(o.measuredHeights?.get(Y)??o.nodeHeight)+o.verticalGap;continue}const N=-(m.length*o.nodeWidth+Math.max(0,m.length-1)*o.horizontalGap)/2;m.forEach((v,G)=>{const Z=N+G*(o.nodeWidth+o.horizontalGap),W=E.get(n)??n*(o.nodeHeight+o.verticalGap);M.set(v,{x:Z,y:W})})}return M}function rt(r){return t.useMemo(()=>{const i=r.map(d=>({task:d})),o=new Set(r.map(d=>d.id)),a=r.flatMap(d=>(d.dependencies??[]).filter(c=>o.has(c)).map(c=>({source:d.id,target:c})));return{nodes:i,edges:a}},[r])}const ue=.1,le=3,De=40,ot=200;function te(r,i,o){return Math.min(o,Math.max(i,r))}function st(r){if(!(r instanceof HTMLElement))return!1;const i=r.tagName.toLowerCase();return r.isContentEditable||i==="input"||i==="textarea"||i==="select"}function it(){const[r,i]=t.useState({x:0,y:0}),[o,a]=t.useState(1),[d,c]=t.useState(!1),x=t.useRef(r),b=t.useRef(o),I=t.useRef(null),z=t.useRef(null),M=t.useRef(new Map),T=t.useRef(null),E=t.useRef({minX:0,minY:0,maxX:0,maxY:0});t.useEffect(()=>{x.current=r},[r]),t.useEffect(()=>{b.current=o},[o]),t.useEffect(()=>()=>{I.current!==null&&window.clearTimeout(I.current)},[]);const n=t.useMemo(()=>`translate(${r.x}px, ${r.y}px) scale(${o})`,[r.x,r.y,o]),m=t.useMemo(()=>Math.round(o*100),[o]),l=t.useCallback(s=>{if(!s){I.current!==null&&(window.clearTimeout(I.current),I.current=null),c(!1);return}c(!0),I.current!==null&&window.clearTimeout(I.current),I.current=window.setTimeout(()=>{c(!1),I.current=null},ot)},[]),P=t.useCallback((s,h,w,k=b.current)=>{const C=E.current;if(C.maxX<=C.minX||C.maxY<=C.minY)return{x:te(s.x,-h,h),y:te(s.y,-w,w)};const X=h-C.maxX*k,A=-C.minX*k,j=w-C.maxY*k,B=-C.minY*k,oe=X>A?(X+A)/2:te(s.x,X,A),q=j>B?(j+B)/2:te(s.y,j,B);return{x:oe,y:q}},[]),N=t.useCallback((s,h,w,k)=>{const C=b.current,X=x.current,A=te(s,ue,le),j=A/C,B=P({x:h.x-(h.x-X.x)*j,y:h.y-(h.y-X.y)*j},w,k,A);a(A),i(B)},[P]),v=t.useCallback((s,h,w,k)=>{l(!1);const C=k??{x:h/2,y:w/2};N(b.current*s,C,h,w)},[l,N]),G=t.useCallback((s,h)=>{if(s&&h){v(1.2,s,h);return}a(w=>te(w+.1,ue,le))},[v]),Z=t.useCallback((s,h)=>{if(s&&h){v(1/1.2,s,h);return}a(w=>te(w-.1,ue,le))},[v]),W=t.useCallback(()=>{l(!0),i({x:0,y:0}),a(1)},[l]),Y=t.useCallback((s,h,w,k)=>{if(l(!0),s.size===0){i({x:0,y:0}),a(1);return}const C=k?.nodeWidth??280,X=k?.nodeHeight??100,A=Array.from(s.entries()),j=Math.min(...A.map(([,ee])=>ee.x)),B=Math.min(...A.map(([,ee])=>ee.y)),oe=Math.max(...A.map(([,ee])=>ee.x+C)),q=Math.max(...A.map(([ee,me])=>me.y+(k?.measuredHeights?.get(ee)??X))),L=Math.max(1,oe-j),J=Math.max(1,q-B),Q=Math.max(1,h-De*2),pe=Math.max(1,w-De*2),se=te(Math.min(Q/L,pe/J),ue,le),de=(h-L*se)/2-j*se,he=(w-J*se)/2-B*se;a(se),i(P({x:de,y:he},h,w,se))},[P,l]),u=t.useCallback((s,h)=>{if(M.current.set(s,h),M.current.size===2){const[w,k]=Array.from(M.current.values());T.current={distance:Math.hypot(w.x-k.x,w.y-k.y),zoom:b.current,pan:x.current,midpoint:{x:(w.x+k.x)/2,y:(w.y+k.y)/2}},z.current=null;return}z.current={start:h,panStart:x.current}},[]),S=t.useCallback((s,h,w,k)=>{if(M.current.has(s)&&M.current.set(s,h),M.current.size===2&&T.current){l(!1);const[A,j]=Array.from(M.current.values()),oe=Math.hypot(A.x-j.x,A.y-j.y)/Math.max(1,T.current.distance),q={x:(A.x+j.x)/2,y:(A.y+j.y)/2},L=te(T.current.zoom*oe,ue,le),J=L/T.current.zoom,Q=P({x:q.x-(T.current.midpoint.x-T.current.pan.x)*J,y:q.y-(T.current.midpoint.y-T.current.pan.y)*J},w,k);a(L),i(Q);return}const C=z.current;if(!C)return;l(!1);const X={x:C.panStart.x+(h.x-C.start.x),y:C.panStart.y+(h.y-C.start.y)};i(P(X,w,k))},[P,l]),p=t.useCallback(s=>{if(M.current.delete(s),M.current.size<2&&(T.current=null),M.current.size===1){const[h]=Array.from(M.current.values());z.current={start:h,panStart:x.current};return}M.current.size===0&&(z.current=null)},[]),U=t.useCallback((s,h,w,k)=>{l(!1);const C={x:x.current.x-s,y:x.current.y-h};i(P(C,w,k))},[P,l]),_=t.useCallback((s,h,w,k)=>{const C=s<0?1.1:.9;l(!1),N(b.current*C,h,w,k)},[l,N]),re=t.useCallback(s=>{E.current=s},[]),V=t.useCallback((s,h,w,k,C)=>{if(st(s.target))return;const X=s.metaKey||s.ctrlKey;if(s.key==="Escape"){s.preventDefault(),W();return}if(X){if(s.key==="="||s.key==="+"){s.preventDefault(),v(1.2,h,w);return}if(s.key==="-"){s.preventDefault(),v(1/1.2,h,w);return}if(s.key==="0"){s.preventDefault(),W();return}(s.key==="f"||s.key==="F")&&s.shiftKey&&(s.preventDefault(),Y(k,h,w,C))}},[Y,W,v]);return{pan:r,zoom:o,zoomPercent:m,transform:n,transitioning:d,zoomIn:G,zoomOut:Z,resetView:W,fitToGraph:Y,setAnimate:l,onPointerDown:u,onPointerMove:S,onPointerUp:p,onWheelPan:U,onWheelZoom:_,handleKeyDown:V,setGraphBounds:re}}function at(r){const{upstreamMap:i,downstreamMap:o}=t.useMemo(()=>{const d=new Map,c=new Map;for(const x of r)d.set(x.id,new Set(x.dependencies??[])),c.has(x.id)||c.set(x.id,new Set);for(const x of r)for(const b of x.dependencies??[])c.has(b)||c.set(b,new Set),c.get(b)?.add(x.id);return{upstreamMap:d,downstreamMap:c}},[r]);return{getChain:t.useCallback(d=>{if(!i.has(d)&&!o.has(d))return new Set;const c=new Set([d]),x=(b,I)=>{const z=[b],M=new Set([b]);for(;z.length>0;){const T=z.shift();if(!T)continue;const E=I.get(T);if(E)for(const n of E)M.has(n)||(M.add(n),c.add(n),z.push(n))}};return x(d,i),x(d,o),c},[o,i])}}const Me="fusion-plugin-dependency-graph:positions";function fe(r){if(!r||typeof r!="object")return!1;const i=r;return typeof i.x=="number"&&Number.isFinite(i.x)&&typeof i.y=="number"&&Number.isFinite(i.y)}function ct(r){const i=_e(Me,r);if(!i)return{};try{const o=JSON.parse(i);if(!o||typeof o!="object")return{};const a={};for(const[d,c]of Object.entries(o))fe(c)&&(a[d]=c);return a}catch{return{}}}function ut(r,i,o){const a={};for(const[d,c]of Object.entries(r))i.has(d)&&fe(c)&&(a[d]=c);Xe(Me,JSON.stringify(a),o)}function lt(r){je(Me,r)}function dt(r,i,o){const a={};for(const[d,c]of Object.entries(r))o.has(d)&&fe(c)&&(a[d]=c);for(const[d,c]of Object.entries(i))o.has(d)&&fe(c)&&(a[d]=c);return a}function ft(r,i){const o={};for(const[a,d]of Object.entries(r))i.has(a)&&(o[a]=d);return o}function pt({projectId:r,visibleTaskIds:i}){const[o,a]=t.useState(null);t.useEffect(()=>{a(ct(r))},[r]);const d=t.useCallback(x=>{ut(x,i,r),a(ft(x,i))},[r,i]),c=t.useCallback(()=>{lt(r),a(null)},[r]);return{savedPositions:o,persistPositions:d,clearSavedPositions:c}}const ce=280,ne=100,ht=768,Re=4;function mt({tasks:r,projectId:i,onOpenTaskDetail:o,onOpenDetail:a,addToast:d,globalPaused:c,onUpdateTask:x,onArchiveTask:b,onUnarchiveTask:I,onDeleteTask:z,onRetryTask:M,onOpenDetailWithTab:T,taskStuckTimeoutMs:E,onOpenMission:n,onMoveTask:m,lastFetchTimeMs:l,workflowStepNameLookup:P}){const N=t.useRef(null),v=t.useRef(null),G=t.useRef(!1),Z=t.useRef(new Map),[W,Y]=t.useState(null),[u,S]=t.useState(null),[p,U]=t.useState({width:0,height:0}),[_,re]=t.useState(new Map),V=t.useMemo(()=>tt(r),[r]),s=rt(V),{getChain:h}=at(V),w=W??u,k=t.useMemo(()=>w?h(w):new Set,[w,h]),C=t.useMemo(()=>{const e=p.width||(typeof window<"u"?window.innerWidth:0);return(p.height||(typeof window<"u"?window.innerHeight:0))>e||e<ht?"horizontal":"vertical"},[p.height,p.width]),X=t.useMemo(()=>({nodeWidth:ce,nodeHeight:ne,horizontalGap:40,verticalGap:80,orientation:C,measuredHeights:_}),[_,C]),A=t.useMemo(()=>ke(s,X),[s,X]),j=t.useMemo(()=>new Set(V.map(e=>e.id)),[V]),{savedPositions:B,persistPositions:oe,clearSavedPositions:q}=pt({projectId:i,visibleTaskIds:j}),[L,J]=t.useState(A),[Q,pe]=t.useState(!1);t.useEffect(()=>{const e={};for(const[g,D]of A.entries())e[g]=D;const f=B?dt(e,B,j):e;J(new Map(Object.entries(f)))},[A,B,j]),t.useEffect(()=>{const e=N.current;if(!e)return;const f=(D,O)=>{U(y=>y.width===D&&y.height===O?y:{width:D,height:O})};if(typeof ResizeObserver>"u"){f(e.clientWidth||(typeof window<"u"?window.innerWidth:0),e.clientHeight||(typeof window<"u"?window.innerHeight:0));return}f(e.clientWidth,e.clientHeight);const g=new ResizeObserver(D=>{const O=D[0];O&&f(O.contentRect.width,O.contentRect.height)});return g.observe(e),()=>g.disconnect()},[]),t.useEffect(()=>{const e=N.current;if(!e)return;const f=new Set(s.nodes.map(y=>y.task.id)),g=new Map;for(const y of f){const R=e.querySelector(`[data-testid="graph-task-node-${y}"]`);R&&g.set(y,R)}Z.current=g,re(y=>{let R=!1;const $=new Map;for(const[K,ae]of y.entries()){if(!f.has(K)){R=!0;continue}$.set(K,ae)}return R?$:y});const D=(y,R)=>{re($=>{const K=$.get(y);if(K!==void 0&&Math.abs(K-R)<1)return $;const ae=new Map($);return ae.set(y,R),ae})};for(const[y,R]of g.entries())D(y,R.offsetHeight||ne);if(typeof ResizeObserver>"u")return;const O=new ResizeObserver(y=>{for(const R of y){const $=R.target,K=Array.from(g.entries()).find(([,ae])=>ae===$)?.[0];K&&D(K,$.offsetHeight||ne)}});for(const y of g.values())O.observe(y);return()=>O.disconnect()},[s.nodes,L,p.height,p.width]);const{transform:se,zoom:de,transitioning:he,zoomIn:ee,zoomOut:me,resetView:Ie,fitToGraph:ge,onPointerDown:He,onPointerMove:ze,onPointerUp:be,onWheelPan:Ne,onWheelZoom:Oe,handleKeyDown:Ee,setGraphBounds:Pe}=it(),F=t.useMemo(()=>{const e=Array.from(L.values());if(e.length===0)return{minX:0,minY:0,maxX:0,maxY:0,width:0,height:0};const f=Math.min(...e.map(y=>y.x)),g=Math.min(...e.map(y=>y.y)),D=Math.max(...e.map(y=>y.x+ce)),O=Math.max(...Array.from(L.entries()).map(([y,R])=>R.y+(_.get(y)??ne)));return{minX:f,minY:g,maxX:D,maxY:O,width:Math.max(0,D-f),height:Math.max(0,O-g)}},[_,L]),ie=t.useMemo(()=>{if(L.size===0)return L;const e=new Map;for(const[f,g]of L.entries())e.set(f,{x:g.x-F.minX,y:g.y-F.minY});return e},[F.minX,F.minY,L]);t.useEffect(()=>{Pe({minX:0,minY:0,maxX:F.width,maxY:F.height})},[F.height,F.width,Pe]);const Se=t.useMemo(()=>Array.from(ie.keys()).sort().join("|"),[ie]),ye=t.useMemo(()=>[Se,p.width,p.height,F.width,F.height,Array.from(_.entries()).sort(([e],[f])=>e.localeCompare(f)).map(([e,f])=>`${e}:${Math.round(f)}`).join("|")].join("::"),[F.height,F.width,Se,_,p.height,p.width]),Te=t.useRef(null);t.useEffect(()=>{if(V.length===0||ie.size===0)return;const e=N.current;if(!e)return;const f=e.clientWidth||p.width,g=e.clientHeight||p.height;if(f===0||g===0||Te.current===ye)return;let D=0,O=0;const y=()=>{const R=N.current;if(!R)return;const $=R.clientWidth||p.width,K=R.clientHeight||p.height;$===0||K===0||(ge(ie,$,K,{nodeWidth:ce,nodeHeight:ne,measuredHeights:_}),Te.current=ye)};return typeof requestAnimationFrame=="function"?D=requestAnimationFrame(()=>{O=requestAnimationFrame(y)}):y(),()=>{D&&cancelAnimationFrame(D),O&&cancelAnimationFrame(O)}},[V.length,ye,ge,_,ie,p.height,p.width]);const Ce=t.useCallback(()=>{q();const e=ke(s,X);J(e)},[q,s,X]),Ae=t.useCallback(()=>{const e={};for(const[f,g]of L.entries())e[f]=g;oe(e)},[oe,L]);return H.jsxs("section",{className:"dependency-graph","data-testid":"dependency-graph",children:[H.jsx("div",{ref:N,className:"dependency-graph__viewport",onPointerDown:e=>{Q||(v.current={x:e.clientX,y:e.clientY},G.current=!1,He(e.pointerId,{x:e.clientX,y:e.clientY}))},onPointerMove:e=>{if(Q)return;const f=N.current;if(!f)return;const g=v.current;if(g){const D=Math.abs(e.clientX-g.x),O=Math.abs(e.clientY-g.y);(D>Re||O>Re)&&(G.current=!0)}ze(e.pointerId,{x:e.clientX,y:e.clientY},f.clientWidth,f.clientHeight)},onPointerUp:e=>{Q||be(e.pointerId),v.current=null},onPointerCancel:e=>{Q||be(e.pointerId),v.current=null,G.current=!1},onWheel:e=>{e.preventDefault();const f=N.current;if(f){if(e.ctrlKey||e.metaKey){const g=f.getBoundingClientRect();Oe(e.deltaY,{x:e.clientX-g.left,y:e.clientY-g.top},f.clientWidth,f.clientHeight);return}Ne(e.deltaX,e.deltaY,f.clientWidth,f.clientHeight)}},onKeyDown:e=>{const f=N.current;f&&Ee(e,f.clientWidth,f.clientHeight,ie,{nodeWidth:ce,nodeHeight:ne,measuredHeights:_})},tabIndex:0,onClick:()=>{G.current||Q||S(null)},children:V.length===0?H.jsx("div",{className:"dependency-graph__empty",children:"No active tasks to display in graph view."}):H.jsxs("div",{className:`graph-canvas-transform${he?" graph-canvas-transform--animate":""}`,style:{transform:se,width:`${F.width}px`,height:`${F.height}px`},children:[H.jsx(Qe,{edges:s.edges,positions:ie,nodeWidth:ce,nodeHeight:ne,nodeHeights:_,highlightedEdgeIds:k.size>0?new Set(s.edges.filter(e=>k.has(e.source)&&k.has(e.target)).map(e=>`${e.source}->${e.target}`)):void 0}),H.jsx("div",{className:"dependency-graph__nodes-layer",children:s.nodes.map(e=>{const f=ie.get(e.task.id);return f?H.jsx(Ke,{task:e.task,projectId:i,isSelected:u===e.task.id,style:{minHeight:`${ne}px`,left:`${f.x}px`,top:`${f.y}px`},position:f,scale:de,onNodePositionChange:(g,D)=>{J(O=>{const y={x:D.x+F.minX,y:D.y+F.minY},R=O.get(g);if(R&&R.x===y.x&&R.y===y.y)return O;const $=new Map(O);return $.set(g,y),$})},onNodeDragStateChange:pe,onNodeDragEnd:Ae,isHighlighted:k.size>0&&k.has(e.task.id),isDimmed:k.size>0&&!k.has(e.task.id),onOpenDetail:a??(g=>o?.(g.id)),addToast:d??(()=>{}),globalPaused:c,onUpdateTask:x,onArchiveTask:b,onUnarchiveTask:I,onDeleteTask:z,onRetryTask:M,onOpenDetailWithTab:T,taskStuckTimeoutMs:E,onOpenMission:n,onMoveTask:m,lastFetchTimeMs:l,workflowStepNameLookup:P,onMouseEnter:()=>Y(e.task.id),onMouseLeave:()=>Y(null),onClick:g=>{g.stopPropagation(),G.current=!1,S(D=>D===e.task.id?null:e.task.id)}},e.task.id):null})})]})}),H.jsx(Ve,{zoom:de,onZoomIn:()=>{const e=N.current;e&&ee(e.clientWidth,e.clientHeight)},onZoomOut:()=>{const e=N.current;e&&me(e.clientWidth,e.clientHeight)},onFitToGraph:()=>{Ce();const e=N.current;if(!e)return;const f=ke(s,X),g=new Map,D=Array.from(f.values()),O=D.length>0?Math.min(...D.map(R=>R.x)):0,y=D.length>0?Math.min(...D.map(R=>R.y)):0;for(const[R,$]of f.entries())g.set(R,{x:$.x-O,y:$.y-y});ge(g,e.clientWidth,e.clientHeight,{nodeWidth:ce,nodeHeight:ne,measuredHeights:_})},onResetView:()=>{Ce(),Ie()}})]})}function gt(r){return new Map((r??[]).map(i=>[i.id,i.name]))}function St({context:r}){return t.createElement(mt,{tasks:r?.tasks??[],projectId:r?.projectId,workflowStepNameLookup:gt(r?.workflowSteps),onOpenDetail:r?.openTaskDetail})}export{mt as DependencyGraph,St as DependencyGraphDashboardView,St as default};
@@ -0,0 +1 @@
1
+ .graph-task-node{position:absolute;z-index:1;width:min(100%,var(--graph-task-node-width, calc(var(--space-2xl) * 9)));max-width:var(--graph-task-node-max-width, calc(var(--space-2xl) * 9.5));transition:box-shadow var(--transition-fast),z-index var(--transition-fast),opacity var(--transition-fast),border-color var(--transition-fast);border:var(--btn-border-width) solid transparent;border-radius:var(--radius-sm);touch-action:manipulation}.graph-task-node:hover{box-shadow:var(--shadow-md);z-index:2}.graph-task-node--selected{box-shadow:var(--focus-ring-strong),var(--shadow-md);z-index:2}.graph-task-node--highlighted{box-shadow:0 0 0 var(--btn-border-width) var(--todo),var(--shadow-md);z-index:2}.graph-task-node--dimmed{opacity:.4}.graph-task-node--active{border-color:color-mix(in srgb,var(--in-progress) 50%,transparent);box-shadow:0 0 0 var(--btn-border-width) color-mix(in srgb,var(--in-progress) 45%,transparent),0 0 var(--space-md) color-mix(in srgb,var(--in-progress) 50%,transparent),0 0 var(--space-xl) color-mix(in srgb,var(--in-progress) 20%,transparent);transform:scale(1.01)}.graph-task-node--in-review{border-inline-start:calc(var(--btn-border-width) * 3) solid var(--in-review);border-start-start-radius:var(--radius-md);border-end-start-radius:var(--radius-md)}.graph-task-active-indicator{display:flex;align-items:center;min-height:calc(var(--space-xs) * 5);width:100%;padding-inline:var(--space-sm);background:color-mix(in srgb,var(--in-progress) 85%,transparent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;animation:graph-task-active-pulse calc(var(--transition-normal) * 8) ease-in-out infinite}.graph-task-active-indicator-text{font-family:var(--font-mono);font-size:calc(var(--space-xs) * 2.5);font-weight:600;line-height:1;letter-spacing:.04em;text-transform:uppercase;color:var(--card)}.graph-task-node .card{width:100%;height:100%}.graph-task-node[data-current-step="0"] .card-steps-list .card-step-item:nth-child(1),.graph-task-node[data-current-step="1"] .card-steps-list .card-step-item:nth-child(2),.graph-task-node[data-current-step="2"] .card-steps-list .card-step-item:nth-child(3),.graph-task-node[data-current-step="3"] .card-steps-list .card-step-item:nth-child(4),.graph-task-node[data-current-step="4"] .card-steps-list .card-step-item:nth-child(5),.graph-task-node[data-current-step="5"] .card-steps-list .card-step-item:nth-child(6),.graph-task-node[data-current-step="6"] .card-steps-list .card-step-item:nth-child(7),.graph-task-node[data-current-step="7"] .card-steps-list .card-step-item:nth-child(8),.graph-task-node[data-current-step="8"] .card-steps-list .card-step-item:nth-child(9),.graph-task-node[data-current-step="9"] .card-steps-list .card-step-item:nth-child(10),.graph-task-node[data-current-step="10"] .card-steps-list .card-step-item:nth-child(11),.graph-task-node[data-current-step="11"] .card-steps-list .card-step-item:nth-child(12),.graph-task-node[data-current-step="12"] .card-steps-list .card-step-item:nth-child(13),.graph-task-node[data-current-step="13"] .card-steps-list .card-step-item:nth-child(14),.graph-task-node[data-current-step="14"] .card-steps-list .card-step-item:nth-child(15),.graph-task-node[data-current-step="15"] .card-steps-list .card-step-item:nth-child(16),.graph-task-node[data-current-step="16"] .card-steps-list .card-step-item:nth-child(17),.graph-task-node[data-current-step="17"] .card-steps-list .card-step-item:nth-child(18),.graph-task-node[data-current-step="18"] .card-steps-list .card-step-item:nth-child(19),.graph-task-node[data-current-step="19"] .card-steps-list .card-step-item:nth-child(20){background:color-mix(in srgb,var(--in-progress) 15%,transparent);border-left:calc(var(--btn-border-width) * 2) solid var(--in-progress);padding-left:var(--space-xs);font-weight:500}.graph-task-node[data-current-step="0"] .card-steps-list .card-step-item:nth-child(1) .card-step-dot,.graph-task-node[data-current-step="1"] .card-steps-list .card-step-item:nth-child(2) .card-step-dot,.graph-task-node[data-current-step="2"] .card-steps-list .card-step-item:nth-child(3) .card-step-dot,.graph-task-node[data-current-step="3"] .card-steps-list .card-step-item:nth-child(4) .card-step-dot,.graph-task-node[data-current-step="4"] .card-steps-list .card-step-item:nth-child(5) .card-step-dot,.graph-task-node[data-current-step="5"] .card-steps-list .card-step-item:nth-child(6) .card-step-dot,.graph-task-node[data-current-step="6"] .card-steps-list .card-step-item:nth-child(7) .card-step-dot,.graph-task-node[data-current-step="7"] .card-steps-list .card-step-item:nth-child(8) .card-step-dot,.graph-task-node[data-current-step="8"] .card-steps-list .card-step-item:nth-child(9) .card-step-dot,.graph-task-node[data-current-step="9"] .card-steps-list .card-step-item:nth-child(10) .card-step-dot,.graph-task-node[data-current-step="10"] .card-steps-list .card-step-item:nth-child(11) .card-step-dot,.graph-task-node[data-current-step="11"] .card-steps-list .card-step-item:nth-child(12) .card-step-dot,.graph-task-node[data-current-step="12"] .card-steps-list .card-step-item:nth-child(13) .card-step-dot,.graph-task-node[data-current-step="13"] .card-steps-list .card-step-item:nth-child(14) .card-step-dot,.graph-task-node[data-current-step="14"] .card-steps-list .card-step-item:nth-child(15) .card-step-dot,.graph-task-node[data-current-step="15"] .card-steps-list .card-step-item:nth-child(16) .card-step-dot,.graph-task-node[data-current-step="16"] .card-steps-list .card-step-item:nth-child(17) .card-step-dot,.graph-task-node[data-current-step="17"] .card-steps-list .card-step-item:nth-child(18) .card-step-dot,.graph-task-node[data-current-step="18"] .card-steps-list .card-step-item:nth-child(19) .card-step-dot,.graph-task-node[data-current-step="19"] .card-steps-list .card-step-item:nth-child(20) .card-step-dot{width:var(--space-sm);height:var(--space-sm);animation:graph-task-step-pulse calc(var(--transition-normal) * 10) ease-in-out infinite}@keyframes graph-task-active-pulse{0%,to{background:color-mix(in srgb,var(--in-progress) 85%,transparent)}50%{background:color-mix(in srgb,var(--in-progress) 65%,transparent)}}@keyframes graph-task-step-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.75}}@media(max-width:768px){.graph-task-node{width:min(100%,var(--graph-task-node-mobile-width, calc(var(--space-2xl) * 8)))}.graph-task-node--active{transform:scale(1.005)}.graph-task-active-indicator{min-height:var(--space-xl);padding-inline:var(--space-md)}.graph-task-active-indicator-text{font-size:calc(var(--space-xs) * 2.75)}}.graph-node--highlighted{opacity:1;box-shadow:var(--shadow-glow)}.graph-node--dimmed{opacity:.25;transition:opacity var(--transition-fast)}.graph-edge--highlighted{opacity:1;stroke:var(--todo);stroke-width:var(--space-xs)}.graph-edge--dimmed{opacity:.15;transition:opacity var(--transition-fast)}@media(max-width:768px){.graph-node--dimmed,.graph-edge--dimmed{transition:opacity var(--transition-fast)}}.graph-node--draggable{cursor:grab;touch-action:none}.graph-node--dragging{z-index:3;cursor:grabbing;box-shadow:var(--shadow-lg);transform:scale(1.02);transition:transform var(--transition-fast),box-shadow var(--transition-fast),z-index var(--transition-fast)}.graph-toolbar{position:absolute;right:var(--space-md);bottom:var(--space-md);display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:var(--surface);border:var(--btn-border-width) solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:10}.graph-toolbar__zoom-label{min-width:3.5ch;color:var(--text-muted);font-family:var(--font-mono);font-size:.75rem;text-align:center}@media(max-width:768px){.graph-toolbar{right:var(--space-sm);bottom:var(--space-sm);padding:var(--space-md)}.graph-toolbar .btn-icon{min-width:calc(var(--space-xs) * 11);min-height:calc(var(--space-xs) * 11)}}.dependency-graph{position:relative;flex:1 1 auto;min-width:0;box-sizing:border-box;height:100%;padding:var(--space-md)}.dependency-graph__viewport{position:relative;overflow:hidden;height:100%;min-height:calc(var(--space-2xl) * 10);border:var(--btn-border-width) solid var(--border);border-radius:var(--radius-md);background:var(--surface);touch-action:none}.dependency-graph__viewport:focus-visible{box-shadow:var(--focus-ring-strong)}.graph-canvas-transform{position:relative;transform-origin:top left}.graph-canvas-transform--animate{transition:transform var(--transition-normal)}.dependency-graph__nodes-layer{position:relative;z-index:1}.dependency-graph__nodes-layer .graph-task-node{max-width:min(100%,calc(var(--space-2xl) * 9))}.dependency-graph-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.dependency-graph__empty{color:var(--text-muted);display:flex;align-items:center;justify-content:center;height:100%}@media(max-width:768px){.dependency-graph{padding:var(--space-sm)}}
@@ -0,0 +1 @@
1
+ .ce-view{display:flex;color:var(--text);flex:1 1 auto;flex-direction:column;min-width:0;min-height:0;width:100%;height:100%;box-sizing:border-box;overflow:hidden}.ce-view-body{display:flex;flex:1 1 auto;flex-direction:column;gap:var(--space-lg);min-width:0;min-height:0;padding:var(--space-lg) calc(var(--space-lg) + var(--space-xs)) var(--space-lg);box-sizing:border-box;overflow:auto}.ce-view-summary{font-size:.8rem;color:var(--text-muted)}.ce-loading,.ce-view-error{padding:var(--space-md) var(--space-lg);font-size:.85rem}.ce-view-error{color:var(--color-error)}.ce-empty{max-width:36rem;padding:var(--space-xl);display:flex;flex-direction:column;gap:var(--space-md);align-items:flex-start}.ce-empty h3{margin:0}.ce-empty-hint{color:var(--text-muted);font-size:.85rem}.ce-groups{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--space-2xl) * 9),1fr));gap:var(--space-lg)}.ce-group{border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:var(--space-sm)}.ce-group[data-empty=true]{color:var(--text-muted)}.ce-group-header{display:flex;align-items:center;justify-content:space-between}.ce-group-header h3{margin:0;font-size:.95rem}.ce-group-count{font-size:.75rem;color:var(--text-dim)}.ce-group-empty{margin:0;font-size:.8rem;color:var(--text-dim)}.ce-artifact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(var(--space-sm) - var(--space-xs) / 2)}.ce-artifact{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:.85rem}.ce-artifact.is-selected{font-weight:600}.ce-artifact-btn{background:none;border:none;text-align:left;cursor:pointer;display:flex;flex-direction:column;color:inherit;padding:var(--space-xs) 0;flex:1}.ce-artifact-path{font-size:.7rem;color:var(--text-dim)}.ce-artifact-open{appearance:none;background:none;border:none;color:var(--color-info);cursor:pointer;font:inherit;padding:0;text-decoration:underline}.ce-artifact-open:hover,.ce-artifact-open:focus-visible{color:var(--color-info)}.ce-artifact-error .ce-artifact-error-msg{color:var(--color-error);font-size:.78rem}.ce-artifact-error{flex-direction:column;align-items:flex-start;gap:calc(var(--space-xs) / 2)}.ce-view[data-mobile=true] .ce-view-body{width:100%;padding:var(--space-sm)}.ce-view[data-mobile=true] .ce-groups{grid-template-columns:1fr}.ce-view[data-mobile=true] .ce-flow-header,.ce-view[data-mobile=true] .ce-flow-guidance-row{align-items:stretch;flex-direction:column}.ce-view[data-mobile=true] .ce-view-start,.ce-view[data-mobile=true] .ce-flow-close,.ce-view[data-mobile=true] .ce-flow-cancel{margin-left:0}.ce-view[data-mobile=true] .ce-flow-turn{max-width:100%}@media(max-width:768px){.ce-view-body{width:100%;padding:var(--space-sm)}.ce-flow-header,.ce-flow-guidance-row{align-items:stretch;flex-direction:column}.ce-session-row{align-items:stretch;flex-direction:row}.ce-session-open{flex-wrap:wrap}.ce-flow-turn{max-width:100%}.ce-view-start,.ce-session-cancel,.ce-session-discard,.ce-flow-cancel,.ce-flow-close{margin-left:0}}.ce-launcher{margin:var(--space-md) 0}.ce-launcher-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--space-2xl) * 4.5),1fr));gap:var(--space-sm)}.ce-launcher-tile{width:100%;display:flex;align-items:center;gap:var(--space-sm)}.ce-launcher-icon{flex:none}.ce-view-start{margin-left:auto}.ce-flow{margin:var(--space-md) 0;display:flex;flex:1 1 auto;flex-direction:column;gap:calc(var(--space-sm) + var(--space-xs) / 2);min-height:0;overflow-y:auto}.ce-flow-header{display:flex;align-items:center;gap:var(--space-sm)}.ce-flow-header h3{margin:0;text-transform:capitalize}.ce-flow-status{font-size:.72rem;color:var(--text-muted);text-transform:capitalize}.ce-flow-cancel,.ce-flow-close{margin-left:auto}.ce-flow-cancel+.ce-flow-close{margin-left:0}.ce-flow-transcript{list-style:none;margin:0;padding:0;display:flex;flex:1 1 auto;flex-direction:column;gap:calc(var(--space-sm) - var(--space-xs) / 2);min-height:0;overflow-y:auto}.ce-flow-turn{display:flex;flex-direction:column}.ce-flow-turn-role{font-size:.65rem;text-transform:uppercase;color:var(--text-dim)}.ce-flow-turn-agent .ce-flow-turn-text{white-space:pre-wrap}.ce-flow-thinking{font-style:italic;color:var(--text-muted)}.ce-flow-question-panel,.ce-flow-question{display:flex;flex-direction:column;gap:var(--space-sm)}.ce-flow-question{gap:var(--space-xs)}.ce-flow-question-text{font-weight:600;margin:0}.ce-flow-question-desc{font-size:.8rem;color:var(--text-muted);margin:0}.ce-flow-text{display:flex;flex-direction:column;gap:var(--space-xs)}.ce-flow-text textarea,.ce-flow-guidance-row textarea{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-primary);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ce-flow-text textarea{width:100%;resize:vertical}.ce-flow-text textarea:focus,.ce-flow-guidance-row textarea:focus{border-color:var(--todo);box-shadow:var(--focus-ring)}.ce-flow-text textarea::placeholder,.ce-flow-guidance-row textarea::placeholder{color:var(--text-dim)}.ce-flow-confirm{display:flex;gap:var(--space-sm)}.ce-flow-options,.ce-flow-options ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(var(--space-sm) - var(--space-xs) / 2)}.ce-flow-option{width:100%;text-align:left;display:flex;flex-direction:column}.ce-flow-option-desc{font-size:.72rem;color:var(--text-muted)}.ce-flow-checkbox{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast)}.ce-flow-checkbox:hover{background:var(--card-hover);border-color:var(--text-muted)}.ce-flow-checkbox:has(input:focus-visible){border-color:var(--todo);box-shadow:var(--focus-ring)}.ce-flow-checkbox-input{width:var(--space-lg);height:var(--space-lg);margin:0;accent-color:var(--todo)}.ce-flow-error{color:var(--color-error);font-size:.82rem}.ce-flow-degraded{border:1px dashed var(--color-warning);border-radius:var(--radius-sm);padding:calc(var(--space-sm) + var(--space-xs) / 2);background:color-mix(in srgb,var(--color-warning) 8%,transparent)}.ce-flow-degraded-banner{margin:0 0 var(--space-xs);font-size:.78rem;font-weight:600;color:var(--color-warning)}.ce-flow-degraded-options{font-size:.78rem;color:var(--text-muted);margin:0 0 var(--space-xs);padding-left:calc(var(--space-lg) + var(--space-xs) / 2)}.ce-sessions{margin-bottom:var(--space-md)}.ce-sessions-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:calc(var(--space-sm) - var(--space-xs) / 2)}.ce-session-row{display:flex;align-items:center;gap:var(--space-sm)}.ce-session-row.is-active .ce-session-open{border-color:var(--todo);background:color-mix(in srgb,var(--todo) 8%,transparent)}.ce-session-open{flex:1 1 auto;min-width:0;display:flex;align-items:baseline;justify-content:flex-start;gap:calc(var(--space-sm) + var(--space-xs) / 2);text-align:left;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);cursor:pointer}.ce-session-open:hover:not(:disabled){background:var(--card-hover);border-color:var(--text-muted)}.ce-session-open:disabled{cursor:default;opacity:.6}.ce-session-stage{font-weight:600}.ce-session-status{font-size:.74rem;text-transform:capitalize;color:var(--text-muted)}.ce-session-status-awaiting_input{color:var(--color-warning);font-weight:600}.ce-session-status-error,.ce-session-status-interrupted{color:var(--color-error)}.ce-session-status-completed{color:var(--color-success)}.ce-session-updated{margin-left:auto;font-size:.72rem;color:var(--text-dim)}.ce-session-cancel,.ce-session-discard{flex:none}.ce-session-cancel,.ce-flow-cancel{appearance:none;display:inline-flex;align-items:center;justify-content:center;width:calc(var(--space-xl) + var(--space-sm));height:calc(var(--space-xl) + var(--space-sm));padding:var(--space-xs);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--color-error);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.ce-session-cancel:hover:not(:disabled),.ce-flow-cancel:hover:not(:disabled){background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error)}.ce-session-cancel:focus-visible,.ce-flow-cancel:focus-visible{box-shadow:var(--focus-ring);outline:none}.ce-session-cancel:disabled,.ce-flow-cancel:disabled{cursor:default;opacity:.6}.ce-flow-transcript{list-style:none;margin:0 0 var(--space-md);padding:0;display:flex;flex:1 1 auto;flex-direction:column;gap:calc(var(--space-sm) - var(--space-xs) / 4);min-height:0;overflow-y:auto}.ce-flow-turn{display:flex;flex-direction:column;gap:calc(var(--space-xs) / 2);max-width:85%;padding:calc(var(--space-sm) - var(--space-xs) / 4) calc(var(--space-sm) + var(--space-xs) / 2);border-radius:var(--radius-lg);background:color-mix(in srgb,var(--border) 30%,transparent)}.ce-flow-turn-user{align-self:flex-end;background:color-mix(in srgb,var(--todo) 12%,transparent)}.ce-flow-turn-role{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}.ce-flow-turn-text{white-space:pre-wrap;word-break:break-word;font-size:.86rem}.ce-flow-turn-answer.is-steering{border-left:3px solid var(--color-warning)}.ce-flow-turn-comment{font-size:.78rem;font-style:italic;color:var(--text-muted);border-top:1px dashed color-mix(in srgb,var(--border) 60%,transparent);padding-top:var(--space-xs)}.ce-flow-turn-done{align-self:center;background:color-mix(in srgb,var(--color-success) 10%,transparent);font-size:.8rem}.ce-flow-artifact-path{color:var(--text-dim)}.ce-flow-turn-activity{background:transparent;padding:0;max-width:100%}.ce-flow-activity-details summary{cursor:pointer;font-size:.78rem;color:var(--text-muted)}.ce-flow-activity{display:flex;flex-direction:column;gap:var(--space-xs);margin:calc(var(--space-sm) - var(--space-xs) / 2) 0 0;padding:var(--space-sm) calc(var(--space-sm) + var(--space-xs) / 2);border:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:var(--radius-md);background:color-mix(in srgb,var(--border) 12%,transparent);max-height:16rem;overflow-y:auto}.ce-activity-block{margin:0;font-size:.76rem;white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono, ui-monospace, monospace)}.ce-activity-thinking{color:var(--text-dim);font-style:italic}.ce-activity-tool{font-size:.76rem;font-family:var(--font-mono, ui-monospace, monospace)}.ce-activity-tool.is-running .ce-activity-tool-marker{color:var(--todo)}.ce-activity-tool.is-done .ce-activity-tool-marker{color:var(--color-success)}.ce-activity-tool.is-error .ce-activity-tool-marker{color:var(--color-error)}.ce-flow-working{margin:var(--space-xs) 0}.ce-flow-working-label{display:flex;align-items:center;gap:calc(var(--space-sm) - var(--space-xs) / 4);margin:0 0 calc(var(--space-sm) - var(--space-xs) / 2);font-size:.82rem;color:var(--text-muted)}.ce-flow-pulse{width:var(--space-sm);height:var(--space-sm);border-radius:50%;background:var(--todo);animation:ce-pulse 1.2s ease-in-out infinite}@keyframes ce-pulse{0%,to{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.ce-flow-guidance{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px dashed color-mix(in srgb,var(--border) 70%,transparent)}.ce-flow-guidance-label{display:block;font-size:.74rem;color:var(--text-dim);margin-bottom:calc(var(--space-sm) - var(--space-xs) / 2)}.ce-flow-guidance-row{display:flex;gap:var(--space-xs);align-items:flex-end}.ce-flow-guidance-row textarea{flex:1;resize:vertical}.ce-flow-recover,.ce-flow-complete{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.ce-flow-recover p,.ce-flow-complete p{margin:0}