@runfusion/fusion 0.51.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 (304) hide show
  1. package/dist/bin.js +9816 -4572
  2. package/dist/client/.vite/manifest.json +326 -326
  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-CTjNaKu-.js → AgentsView-CMB_7xly.js} +6 -11
  7. package/dist/client/assets/ChatView-D_2wBIIx.css +1 -0
  8. package/dist/client/assets/ChatView-IwWaNSeS.js +6 -0
  9. package/dist/client/assets/CommandCenter-B84TXfg6.js +71 -0
  10. package/dist/client/assets/{DevServerView-BE_o7v9j.js → DevServerView-B9QEJETp.js} +1 -1
  11. package/dist/client/assets/{DirectoryPicker-BpcPo65A.js → DirectoryPicker-BnaH1pb_.js} +1 -1
  12. package/dist/client/assets/DocumentsView-Cvm4OBRl.js +1 -0
  13. package/dist/client/assets/EvalsView-BpgA1nvW.js +1 -0
  14. package/dist/client/assets/ExperimentalAgentOnboardingModal-D4Z1IAW2.js +1 -0
  15. package/dist/client/assets/GoalsView-ui2CM549.js +2 -0
  16. package/dist/client/assets/InsightsView-qdJ5GhE_.js +11 -0
  17. package/dist/client/assets/MemoryView-Csc-90G0.js +2 -0
  18. package/dist/client/assets/PiExtensionsManager-Dbm3IpQW.js +11 -0
  19. package/dist/client/assets/PluginManager-B_zgRoI8.js +1 -0
  20. package/dist/client/assets/{PullRequestView-B7k8ogy4.js → PullRequestView-CB6L4vJw.js} +1 -1
  21. package/dist/client/assets/ResearchView-CRtoNtCn.js +1 -0
  22. package/dist/client/assets/SecretsView-JB0lfuzZ.js +1 -0
  23. package/dist/client/assets/SessionTerminal-CnxWsHxS.js +2 -0
  24. package/dist/client/assets/{SettingsModal-DAH7LuLw.js → SettingsModal-CS1-kUSO.js} +1 -1
  25. package/dist/client/assets/SettingsModal-CaE4JYxi.css +1 -0
  26. package/dist/client/assets/SettingsModal-D7ArHi7z.js +21 -0
  27. package/dist/client/assets/{SetupWizardModal-Bm6bG31V.js → SetupWizardModal-PYaS5VB9.js} +2 -2
  28. package/dist/client/assets/ShadcnColorPicker-3OgfenMo.css +1 -0
  29. package/dist/client/assets/ShadcnColorPicker-Tl1Xu-G4.js +11 -0
  30. package/dist/client/assets/{SkillsView-D_UEJY_f.js → SkillsView-CWVVQ3y_.js} +1 -1
  31. package/dist/client/assets/TodoView-CCloQhKG.js +6 -0
  32. package/dist/client/assets/WorkflowNodeEditor-Df-_206_.css +1 -0
  33. package/dist/client/assets/WorkflowNodeEditor-Dz8TU3is.js +8 -0
  34. package/dist/client/assets/{agentSkills-BiipFw1z.js → agentSkills-CFiw3LtX.js} +1 -1
  35. package/dist/client/assets/app-5S4z84u5.js +13 -0
  36. package/dist/client/assets/app-B1VYocx2.js +13 -0
  37. package/dist/client/assets/app-BhtYYxin.js +13 -0
  38. package/dist/client/assets/app-Cts0__Vx.js +13 -0
  39. package/dist/client/assets/app-DczBmsP4.js +13 -0
  40. package/dist/client/assets/app-_GFUqcMK.js +13 -0
  41. package/dist/client/assets/{architectureDiagram-3BPJPVTR-glwWkaDt.js → architectureDiagram-3BPJPVTR-DGp4hfr1.js} +1 -1
  42. package/dist/client/assets/blockDiagram-GPEHLZMM-CRyxRdCJ.js +132 -0
  43. package/dist/client/assets/{c4Diagram-AAUBKEIU-CQXf6PzI.js → c4Diagram-AAUBKEIU-CFjMzS7o.js} +1 -1
  44. package/dist/client/assets/channel-C9LQN4ee.js +1 -0
  45. package/dist/client/assets/{chunk-2J33WTMH-kak65s83.js → chunk-2J33WTMH-BMvR_yYt.js} +1 -1
  46. package/dist/client/assets/{chunk-4BX2VUAB-B_yEpoxU.js → chunk-4BX2VUAB-BUPHOpQy.js} +1 -1
  47. package/dist/client/assets/chunk-55IACEB6-C1paNu5q.js +1 -0
  48. package/dist/client/assets/chunk-727SXJPM-CG4hnjZD.js +206 -0
  49. package/dist/client/assets/{chunk-AQP2D5EJ-DBHuj4BH.js → chunk-AQP2D5EJ-Dm2nZ5Sz.js} +1 -1
  50. package/dist/client/assets/{chunk-FMBD7UC4-BJ3ghjau.js → chunk-FMBD7UC4-CY6d36wo.js} +1 -1
  51. package/dist/client/assets/chunk-ND2GUHAM-cbKdnrGz.js +1 -0
  52. package/dist/client/assets/{chunk-QZHKN3VN-DmVw_cEu.js → chunk-QZHKN3VN-BPenWytO.js} +1 -1
  53. package/dist/client/assets/classDiagram-4FO5ZUOK-C5TeEr7c.js +1 -0
  54. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-C5TeEr7c.js +1 -0
  55. package/dist/client/assets/cose-bilkent-S5V4N54A-BCFGTolm.js +1 -0
  56. package/dist/client/assets/dagre-BM42HDAG-yVhB-t2h.js +4 -0
  57. package/dist/client/assets/dashboard-view-C9dPtr0u.js +1 -0
  58. package/dist/client/assets/{dashboard-view-r4NTTh_X.js → dashboard-view-DHb5D1Hc.js} +218 -218
  59. package/dist/client/assets/diagram-2AECGRRQ-DtV2x39G.js +43 -0
  60. package/dist/client/assets/diagram-5GNKFQAL-DwwRRghJ.js +10 -0
  61. package/dist/client/assets/{diagram-KO2AKTUF-D7zY4Nlm.js → diagram-KO2AKTUF-JLrDx8k8.js} +1 -1
  62. package/dist/client/assets/diagram-LMA3HP47-C_AszN6R.js +24 -0
  63. package/dist/client/assets/diagram-OG6HWLK6-C-n05SOC.js +24 -0
  64. package/dist/client/assets/{erDiagram-TEJ5UH35-DfHtnaNg.js → erDiagram-TEJ5UH35-B-9edACX.js} +1 -1
  65. package/dist/client/assets/{flowDiagram-I6XJVG4X-Brbb_Jlh.js → flowDiagram-I6XJVG4X-D5ThlzTR.js} +1 -1
  66. package/dist/client/assets/{folder-open-BLwukrE0.js → folder-open-DLACu19m.js} +1 -1
  67. package/dist/client/assets/ganttDiagram-6RSMTGT7-DaqvxM8Q.js +292 -0
  68. package/dist/client/assets/gitGraphDiagram-PVQCEYII-CfWhxq7Y.js +106 -0
  69. package/dist/client/assets/index-D1IHwGhg.css +1 -0
  70. package/dist/client/assets/index-JlBzf2ck.js +1336 -0
  71. package/dist/client/assets/infoDiagram-5YYISTIA-BjDZFy9D.js +2 -0
  72. package/dist/client/assets/ishikawaDiagram-YF4QCWOH-BoMTizU1.js +70 -0
  73. package/dist/client/assets/journeyDiagram-JHISSGLW-BozwtvCa.js +139 -0
  74. package/dist/client/assets/kanban-definition-UN3LZRKU-CvrpmIXn.js +89 -0
  75. package/dist/client/assets/linear-CwI45w2t.js +1 -0
  76. package/dist/client/assets/{mermaid.core-0hUjZF5S.js → mermaid.core-KeGuTimD.js} +4 -4
  77. package/dist/client/assets/mindmap-definition-RKZ34NQL-DMjY04EF.js +96 -0
  78. package/dist/client/assets/pieDiagram-4H26LBE5-r_9L-pQr.js +30 -0
  79. package/dist/client/assets/quadrantDiagram-W4KKPZXB-CcZKANsw.js +7 -0
  80. package/dist/client/assets/requirementDiagram-4Y6WPE33-kqu_zuS5.js +84 -0
  81. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-Btl4NRo-.js → sankeyDiagram-5OEKKPKP-BLbamdKk.js} +1 -1
  82. package/dist/client/assets/sequenceDiagram-3UESZ5HK-DAKxqBlR.js +162 -0
  83. package/dist/client/assets/{shield-alert-yWvC7t2v.js → shield-alert-BdoEg9Yo.js} +1 -1
  84. package/dist/client/assets/stateDiagram-AJRCARHV-RJ2xY2-p.js +1 -0
  85. package/dist/client/assets/{stateDiagram-v2-BHNVJYJU-DYJRRNh-.js → stateDiagram-v2-BHNVJYJU-BzhgwjfG.js} +1 -1
  86. package/dist/client/assets/time-Ckmi30gH.js +1 -0
  87. package/dist/client/assets/{timeline-definition-PNZ67QCA-DZga7lqO.js → timeline-definition-PNZ67QCA-CT9ZQc6n.js} +1 -1
  88. package/dist/client/assets/{upload-BsYRkl_8.js → upload-B4v89B2G.js} +1 -1
  89. package/dist/client/assets/{users-dyoJEvrM.js → users-vuVXnTg0.js} +1 -1
  90. package/dist/client/assets/vendor-reactflow-CnI7NMXG.js +15 -0
  91. package/dist/client/assets/{vennDiagram-CIIHVFJN-C2P26V71.js → vennDiagram-CIIHVFJN-DCcEEtaE.js} +1 -1
  92. package/dist/client/assets/{wardley-L42UT6IY-ckctH9bL.js → wardley-L42UT6IY-_KOTjC_D.js} +1 -1
  93. package/dist/client/assets/wardleyDiagram-YWT4CUSO-D16g9VQZ.js +78 -0
  94. package/dist/client/assets/xychartDiagram-2RQKCTM6-CMIdike8.js +7 -0
  95. package/dist/client/index.html +8 -8
  96. package/dist/client/theme-data.css +296 -0
  97. package/dist/client/version.json +1 -1
  98. package/dist/desktop/client/.vite/manifest.json +1650 -0
  99. package/dist/{client/assets/AgentDetailView-CjwOlcMI.js → desktop/client/assets/AgentDetailView-CVv4BoTE.js} +5 -5
  100. package/dist/desktop/client/assets/AgentDetailView-CgbB51Iw.css +1 -0
  101. package/dist/{client/assets/AgentPermissionPolicyEditor-CD8znNHS.js → desktop/client/assets/AgentPermissionPolicyEditor-CQLNC_-O.js} +1 -1
  102. package/dist/desktop/client/assets/AgentsView-CzMa5Olf.css +1 -0
  103. package/dist/desktop/client/assets/AgentsView-DybRxzuI.js +29 -0
  104. package/dist/desktop/client/assets/ChatView-BtjkE0V7.css +1 -0
  105. package/dist/desktop/client/assets/ChatView-D_byETJX.js +19 -0
  106. package/dist/desktop/client/assets/CommandCenter-DDjpYkPe.css +1 -0
  107. package/dist/desktop/client/assets/CommandCenter-DEXoC2F7.js +71 -0
  108. package/dist/desktop/client/assets/DevServerView-CnEZI8Ax.js +1 -0
  109. package/dist/desktop/client/assets/DevServerView-iBondC7z.css +1 -0
  110. package/dist/desktop/client/assets/DirectoryPicker-0rspvcMz.css +1 -0
  111. package/dist/desktop/client/assets/DirectoryPicker-BUIZKLgl.js +1 -0
  112. package/dist/{client/assets/DocumentsView-Cpma23hu.js → desktop/client/assets/DocumentsView-BFq47DE7.js} +1 -1
  113. package/dist/{client/assets/EvalsView-DYSobhb7.js → desktop/client/assets/EvalsView-BEiGrFFa.js} +1 -1
  114. package/dist/desktop/client/assets/EvalsView-CTbgPUne.css +1 -0
  115. package/dist/desktop/client/assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css +1 -0
  116. package/dist/{client/assets/ExperimentalAgentOnboardingModal-D_iQqD-n.js → desktop/client/assets/ExperimentalAgentOnboardingModal-WzGxsxku.js} +1 -1
  117. package/dist/{client/assets/GoalsView-B6Wfxk59.js → desktop/client/assets/GoalsView-C6Qsc-VS.js} +1 -1
  118. package/dist/desktop/client/assets/GoalsView-CUh8JBnJ.css +1 -0
  119. package/dist/{client/assets/InsightsView-DZyMvYQ8.js → desktop/client/assets/InsightsView-C14VGuty.js} +1 -1
  120. package/dist/desktop/client/assets/InsightsView-C7yRTMPn.css +1 -0
  121. package/dist/{client/assets/MemoryView-B9Z6cRma.js → desktop/client/assets/MemoryView--XlaBNzQ.js} +1 -1
  122. package/dist/desktop/client/assets/MemoryView-CBDUr2Jy.css +1 -0
  123. package/dist/{client/assets/PiExtensionsManager-BQt3JU60.js → desktop/client/assets/PiExtensionsManager-BaQnu6IY.js} +1 -1
  124. package/dist/desktop/client/assets/PiExtensionsManager-kgTOHPE9.css +1 -0
  125. package/dist/desktop/client/assets/PluginManager-DSiHizRD.css +1 -0
  126. package/dist/{client/assets/PluginManager-DEsUstVo.js → desktop/client/assets/PluginManager-DqnMI_Zm.js} +1 -1
  127. package/dist/desktop/client/assets/PullRequestView-C8kBQljB.js +6 -0
  128. package/dist/desktop/client/assets/PullRequestView-CpdE3Yo_.css +1 -0
  129. package/dist/desktop/client/assets/ResearchView-DIVNQF4_.css +1 -0
  130. package/dist/{client/assets/ResearchView-BseF58_R.js → desktop/client/assets/ResearchView-OlGNDmqI.js} +1 -1
  131. package/dist/desktop/client/assets/SecretsView-CvFioX7R.css +1 -0
  132. package/dist/{client/assets/SecretsView-bkNS5VBC.js → desktop/client/assets/SecretsView-vHezddkt.js} +1 -1
  133. package/dist/desktop/client/assets/SessionTerminal-CPbzm5Oi.css +1 -0
  134. package/dist/{client/assets/SessionTerminal-BSllyqgF.js → desktop/client/assets/SessionTerminal-ClbvT_Fb.js} +2 -2
  135. package/dist/desktop/client/assets/SettingsModal-CL4GS1q-.js +21 -0
  136. package/dist/desktop/client/assets/SettingsModal-CvbiSIHS.css +1 -0
  137. package/dist/desktop/client/assets/SettingsModal-EWTm15Fk.js +1 -0
  138. package/dist/desktop/client/assets/SettingsModal-ino68pI2.css +1 -0
  139. package/dist/desktop/client/assets/SetupWizardModal-DsBTXY7k.js +2 -0
  140. package/dist/{client/assets/ShadcnColorPicker-CLiOvo7W.js → desktop/client/assets/ShadcnColorPicker-BciIe8Ls.js} +1 -1
  141. package/dist/{client/assets/ShadcnColorPicker-CzZo9UOD.css → desktop/client/assets/ShadcnColorPicker-pqVWCC5-.css} +1 -1
  142. package/dist/desktop/client/assets/SkillsView-CJ8snrma.css +1 -0
  143. package/dist/desktop/client/assets/SkillsView-UyhBA4_r.js +1 -0
  144. package/dist/desktop/client/assets/TodoView-CIsL_uvQ.css +1 -0
  145. package/dist/{client/assets/TodoView-CMCoPep1.js → desktop/client/assets/TodoView-CV7ma8AL.js} +1 -1
  146. package/dist/desktop/client/assets/WorkflowNodeEditor-BOouksjw.css +1 -0
  147. package/dist/desktop/client/assets/WorkflowNodeEditor-ThUL4msx.js +8 -0
  148. package/dist/desktop/client/assets/addon-fit-C1WQXRvu.js +1 -0
  149. package/dist/desktop/client/assets/addon-unicode11-BVmNDUBM.js +1 -0
  150. package/dist/desktop/client/assets/addon-web-links-CkVew5xs.js +1 -0
  151. package/dist/desktop/client/assets/addon-webgl-uLc0RKcC.js +58 -0
  152. package/dist/desktop/client/assets/agentSkills-BQzMaofj.js +1 -0
  153. package/dist/desktop/client/assets/agentSkills-bQJ4X1gH.css +1 -0
  154. package/dist/desktop/client/assets/agentsOrgChartLayout-BMvyuaLA.js +1 -0
  155. package/dist/desktop/client/assets/app-BJGkp7Tt.js +13 -0
  156. package/dist/desktop/client/assets/app-BKLUvvm8.js +13 -0
  157. package/dist/desktop/client/assets/app-BaoNC9zg.js +13 -0
  158. package/dist/desktop/client/assets/app-CZQ_fFNf.js +13 -0
  159. package/dist/desktop/client/assets/app-DAu3AzsS.js +13 -0
  160. package/dist/desktop/client/assets/app-DgezOJub.js +13 -0
  161. package/dist/desktop/client/assets/arc-cxkkNsnK.js +1 -0
  162. package/dist/desktop/client/assets/architectureDiagram-3BPJPVTR-MtAzQYUn.js +36 -0
  163. package/dist/desktop/client/assets/band-CquvqAHh.js +1 -0
  164. package/dist/{client/assets/blockDiagram-GPEHLZMM-C8DhxwG4.js → desktop/client/assets/blockDiagram-GPEHLZMM-zelYfqn3.js} +1 -1
  165. package/dist/desktop/client/assets/c4Diagram-AAUBKEIU-D3hNx0Hv.js +10 -0
  166. package/dist/desktop/client/assets/channel-Dj1-27Yg.js +1 -0
  167. package/dist/desktop/client/assets/chunk-2J33WTMH-B9IKEZ0p.js +1 -0
  168. package/dist/desktop/client/assets/chunk-4BX2VUAB-Dd7FeAwm.js +1 -0
  169. package/dist/{client/assets/chunk-55IACEB6-C9lQVeH5.js → desktop/client/assets/chunk-55IACEB6-DbzB46sJ.js} +1 -1
  170. package/dist/{client/assets/chunk-727SXJPM-D4SVzqNs.js → desktop/client/assets/chunk-727SXJPM-CDmlBZKV.js} +1 -1
  171. package/dist/desktop/client/assets/chunk-AQP2D5EJ-whMl1uk-.js +231 -0
  172. package/dist/desktop/client/assets/chunk-FMBD7UC4-E1WzORFR.js +15 -0
  173. package/dist/{client/assets/chunk-ND2GUHAM-CE4tkh6e.js → desktop/client/assets/chunk-ND2GUHAM-e0FuVXk6.js} +1 -1
  174. package/dist/desktop/client/assets/chunk-QZHKN3VN-B6q2GrbB.js +1 -0
  175. package/dist/desktop/client/assets/classDiagram-4FO5ZUOK-36LCOV5F.js +1 -0
  176. package/dist/desktop/client/assets/classDiagram-v2-Q7XG4LA2-36LCOV5F.js +1 -0
  177. package/dist/desktop/client/assets/common-BDp2y6CF.js +1 -0
  178. package/dist/desktop/client/assets/common-BnEo5fLN.js +1 -0
  179. package/dist/desktop/client/assets/common-Bzr_Y8h4.js +1 -0
  180. package/dist/desktop/client/assets/common-CvwyFzfv.js +1 -0
  181. package/dist/desktop/client/assets/common-CztCXRkz.js +1 -0
  182. package/dist/desktop/client/assets/common-DPe2mbb7.js +1 -0
  183. package/dist/{client/assets/cose-bilkent-S5V4N54A-DI_-BOYE.js → desktop/client/assets/cose-bilkent-S5V4N54A-BjSZ5UKD.js} +1 -1
  184. package/dist/desktop/client/assets/cytoscape.esm-OyMbaexL.js +331 -0
  185. package/dist/{client/assets/dagre-BM42HDAG-ywUbHZxt.js → desktop/client/assets/dagre-BM42HDAG-DxMH6moD.js} +1 -1
  186. package/dist/{client/assets/dashboard-view-DJvdban3.js → desktop/client/assets/dashboard-view-BW8tRppT.js} +1 -1
  187. package/dist/desktop/client/assets/dashboard-view-CuUPQZzi.css +1 -0
  188. package/dist/desktop/client/assets/dashboard-view-D_zsA-kz.css +1 -0
  189. package/dist/desktop/client/assets/dashboard-view-L_H47lEp.js +8161 -0
  190. package/dist/desktop/client/assets/defaultLocale-DX6XiGOO.js +1 -0
  191. package/dist/{client/assets/diagram-2AECGRRQ-CAGucHCe.js → desktop/client/assets/diagram-2AECGRRQ-DDUjym9F.js} +1 -1
  192. package/dist/{client/assets/diagram-5GNKFQAL-D_1uzVtW.js → desktop/client/assets/diagram-5GNKFQAL-nEqF7CSb.js} +1 -1
  193. package/dist/desktop/client/assets/diagram-KO2AKTUF-CFABtl0k.js +3 -0
  194. package/dist/{client/assets/diagram-LMA3HP47-C1T9eOzA.js → desktop/client/assets/diagram-LMA3HP47-ButXw1gy.js} +1 -1
  195. package/dist/{client/assets/diagram-OG6HWLK6-sWxhPvzU.js → desktop/client/assets/diagram-OG6HWLK6-CA17ZRZI.js} +1 -1
  196. package/dist/desktop/client/assets/erDiagram-TEJ5UH35-DmROZaa0.js +85 -0
  197. package/dist/desktop/client/assets/errors-07IrmOYM.js +1 -0
  198. package/dist/desktop/client/assets/errors-BPsCufin.js +1 -0
  199. package/dist/desktop/client/assets/errors-CcVDgqlA.js +1 -0
  200. package/dist/desktop/client/assets/errors-D-i_Bxc6.js +1 -0
  201. package/dist/desktop/client/assets/errors-DDdWAK-U.js +1 -0
  202. package/dist/desktop/client/assets/errors-DOF5Td3F.js +1 -0
  203. package/dist/desktop/client/assets/flowDiagram-I6XJVG4X-BCa7HuJ3.js +162 -0
  204. package/dist/desktop/client/assets/folder-open-G_6UGFyI.js +6 -0
  205. package/dist/{client/assets/ganttDiagram-6RSMTGT7-CLvZ7891.js → desktop/client/assets/ganttDiagram-6RSMTGT7-BeAYpPxh.js} +1 -1
  206. package/dist/{client/assets/gitGraphDiagram-PVQCEYII-DD56Jsa3.js → desktop/client/assets/gitGraphDiagram-PVQCEYII-BLwp2lCj.js} +1 -1
  207. package/dist/desktop/client/assets/graph--OzhPTMs.js +1 -0
  208. package/dist/desktop/client/assets/index-CSVe-MIA.css +1 -0
  209. package/dist/desktop/client/assets/index-DIURDjTF.js +1301 -0
  210. package/dist/{client/assets/infoDiagram-5YYISTIA-uXai801q.js → desktop/client/assets/infoDiagram-5YYISTIA-DF-q3NMx.js} +1 -1
  211. package/dist/desktop/client/assets/init-Dmth1JHB.js +1 -0
  212. package/dist/{client/assets/ishikawaDiagram-YF4QCWOH-C_bWlUP_.js → desktop/client/assets/ishikawaDiagram-YF4QCWOH-CKYDbUiH.js} +1 -1
  213. package/dist/{client/assets/journeyDiagram-JHISSGLW-B2kB9niE.js → desktop/client/assets/journeyDiagram-JHISSGLW-BgkdCr6Q.js} +1 -1
  214. package/dist/{client/assets/kanban-definition-UN3LZRKU-BJwlpR9z.js → desktop/client/assets/kanban-definition-UN3LZRKU-B9V97j0D.js} +1 -1
  215. package/dist/desktop/client/assets/katex-HP8lGamR.js +257 -0
  216. package/dist/desktop/client/assets/layout-SsrduOYp.js +1 -0
  217. package/dist/desktop/client/assets/mermaid.core-BBN7poU5.js +309 -0
  218. package/dist/{client/assets/mindmap-definition-RKZ34NQL-DsTgTpX-.js → desktop/client/assets/mindmap-definition-RKZ34NQL-C2_Jhjnr.js} +1 -1
  219. package/dist/desktop/client/assets/ordinal-DILIJJjt.js +1 -0
  220. package/dist/{client/assets/pieDiagram-4H26LBE5-BUQsNWHN.js → desktop/client/assets/pieDiagram-4H26LBE5-DOrO8u2b.js} +1 -1
  221. package/dist/desktop/client/assets/projectDetection-G3XuxD2X.js +1 -0
  222. package/dist/{client/assets/quadrantDiagram-W4KKPZXB-DOYWgfAz.js → desktop/client/assets/quadrantDiagram-W4KKPZXB-D4xxkMPR.js} +1 -1
  223. package/dist/{client/assets/requirementDiagram-4Y6WPE33-DUnPKaMd.js → desktop/client/assets/requirementDiagram-4Y6WPE33-BuyUaAlW.js} +1 -1
  224. package/dist/desktop/client/assets/sankeyDiagram-5OEKKPKP-DLGaZ5Gy.js +40 -0
  225. package/dist/{client/assets/sequenceDiagram-3UESZ5HK-b0hyJ_Wr.js → desktop/client/assets/sequenceDiagram-3UESZ5HK-B3xhIZnf.js} +1 -1
  226. package/dist/desktop/client/assets/shield-alert-D-Fxd0Va.js +6 -0
  227. package/dist/{client/assets/stateDiagram-AJRCARHV-orREjkd9.js → desktop/client/assets/stateDiagram-AJRCARHV-3C2cVTwx.js} +1 -1
  228. package/dist/desktop/client/assets/stateDiagram-v2-BHNVJYJU-uyCHbCJn.js +1 -0
  229. package/dist/desktop/client/assets/step-yuy0qJer.js +1 -0
  230. package/dist/desktop/client/assets/timeline-definition-PNZ67QCA-DHzoutyf.js +120 -0
  231. package/dist/desktop/client/assets/upload-Cv9kGgTr.js +6 -0
  232. package/dist/desktop/client/assets/users-DuxdQK9U.js +6 -0
  233. package/dist/desktop/client/assets/vendor-codemirror-jBKmHyH0.js +27 -0
  234. package/dist/desktop/client/assets/vendor-i18n-GF3RlKbq.js +9 -0
  235. package/dist/desktop/client/assets/vendor-react-SZ_qB27O.js +49 -0
  236. package/dist/desktop/client/assets/vendor-reactflow-C5ap-Sga.css +1 -0
  237. package/dist/desktop/client/assets/vendor-xterm-BNq00GSj.js +9 -0
  238. package/dist/desktop/client/assets/vendor-xterm-LZoznX6r.css +32 -0
  239. package/dist/desktop/client/assets/vennDiagram-CIIHVFJN-CKB5IBNU.js +34 -0
  240. package/dist/desktop/client/assets/wardley-L42UT6IY-DUw_nnW7.js +173 -0
  241. package/dist/{client/assets/wardleyDiagram-YWT4CUSO-9It3QAYs.js → desktop/client/assets/wardleyDiagram-YWT4CUSO-CgWLugtp.js} +1 -1
  242. package/dist/{client/assets/xychartDiagram-2RQKCTM6-Dj3sSBqg.js → desktop/client/assets/xychartDiagram-2RQKCTM6-BWpeCtlX.js} +1 -1
  243. package/dist/desktop/client/assets/zoom-out-NWbVkreR.js +41 -0
  244. package/dist/desktop/client/brands/hermes-logo.svg +1 -0
  245. package/dist/desktop/client/fonts/SymbolsNerdFontMono-Regular.ttf +0 -0
  246. package/dist/desktop/client/icons/icon-192.png +0 -0
  247. package/dist/desktop/client/icons/icon-512.png +0 -0
  248. package/dist/desktop/client/index.html +244 -0
  249. package/dist/desktop/client/logo.svg +6 -0
  250. package/dist/desktop/client/manifest.json +23 -0
  251. package/dist/desktop/client/sw.js +175 -0
  252. package/dist/desktop/client/theme-data.css +6858 -0
  253. package/dist/desktop/client/version.json +1 -0
  254. package/dist/desktop/main.js +17159 -0
  255. package/dist/desktop/main.js.map +7 -0
  256. package/dist/desktop/preload.js +110 -0
  257. package/dist/desktop/preload.js.map +7 -0
  258. package/dist/droid-cli/package.json +1 -1
  259. package/dist/extension.js +7200 -3247
  260. package/dist/pi-claude-cli/index.ts +51 -6
  261. package/dist/pi-claude-cli/package.json +5 -3
  262. package/dist/pi-claude-cli/src/__tests__/process-manager.test.ts +1 -1
  263. package/dist/pi-claude-cli/src/__tests__/provider.test.ts +48 -9
  264. package/dist/plugin-sdk/index.d.ts +40 -2
  265. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  266. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  267. package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +15 -3
  268. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  269. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  270. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  271. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  272. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  273. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  274. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  275. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  276. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  277. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  278. package/package.json +4 -3
  279. package/skill/fusion/SKILL.md +1 -0
  280. package/skill/fusion/references/engine-tools.md +3 -3
  281. package/skill/fusion/references/extension-tools.md +81 -4
  282. package/skill/fusion/references/fusion-capabilities.md +8 -0
  283. package/dist/client/assets/ChatView-DCWypaw3.js +0 -19
  284. package/dist/client/assets/ChatView-DwIIrJxb.css +0 -1
  285. package/dist/client/assets/CommandCenter-C4v0FMxx.js +0 -71
  286. package/dist/client/assets/SettingsModal-Dso0K76J.js +0 -21
  287. package/dist/client/assets/SettingsModal-tUDR6nJ9.css +0 -1
  288. package/dist/client/assets/WorkflowNodeEditor-BeQcn0Wa.js +0 -8
  289. package/dist/client/assets/WorkflowNodeEditor-WYIxHTxY.css +0 -1
  290. package/dist/client/assets/app-A1yCJR4Q.js +0 -13
  291. package/dist/client/assets/app-Bfiafek7.js +0 -13
  292. package/dist/client/assets/app-Bh-Xj32t.js +0 -13
  293. package/dist/client/assets/app-DxJHfzxz.js +0 -13
  294. package/dist/client/assets/app-T5iMjZpX.js +0 -13
  295. package/dist/client/assets/app-zR_n4GL2.js +0 -13
  296. package/dist/client/assets/channel-BY6zFSV1.js +0 -1
  297. package/dist/client/assets/classDiagram-4FO5ZUOK-CeX_WCiC.js +0 -1
  298. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CeX_WCiC.js +0 -1
  299. package/dist/client/assets/index-DAv17W73.js +0 -1317
  300. package/dist/client/assets/index-DhBnj8YN.css +0 -1
  301. /package/dist/{client → desktop/client}/assets/AgentPermissionPolicyEditor-CGxjOr6G.css +0 -0
  302. /package/dist/{client → desktop/client}/assets/linear-dXivciGL.js +0 -0
  303. /package/dist/{client → desktop/client}/assets/time-DoDTxsna.js +0 -0
  304. /package/dist/{client → desktop/client}/assets/vendor-reactflow-Bg-Qjzh8.js +0 -0
@@ -5,7 +5,16 @@
5
5
  * subprocess using stream-json NDJSON protocol.
6
6
  */
7
7
 
8
- import { getModels } from "@earendil-works/pi-ai";
8
+ /*
9
+ * FNXC:ModelCatalog 2026-07-01-17:30:
10
+ * pi-ai 0.80 restructured its static catalog API: the top-level `getModels`
11
+ * export moved to the deprecated `/compat` shim, and the canonical accessor is
12
+ * `getBuiltinModels` from `@earendil-works/pi-ai/providers/all`. pi-claude-cli
13
+ * now pins `@earendil-works/pi-ai` and `@earendil-works/pi-coding-agent` to
14
+ * `^0.80.3` (matching cli/engine) so the whole extension resolves one pi-ai
15
+ * version and the ExtensionAPI stream types stay compatible.
16
+ */
17
+ import { getBuiltinModels } from "@earendil-works/pi-ai/providers/all";
9
18
  import type { ExtensionAPI } from "@earendil-works/pi-coding-agent";
10
19
  import { streamViaCli } from "./src/provider.js";
11
20
  import { streamViaAcp } from "./src/acp-driver.js";
@@ -175,7 +184,7 @@ export default function (pi: ExtensionAPI) {
175
184
  // `claude` subprocess in streamViaCli still reports hard errors on send.
176
185
  void runCliValidationOnce();
177
186
 
178
- const catalogModels = getModels("anthropic").map((model) => ({
187
+ const catalogModels = getBuiltinModels("anthropic").map((model) => ({
179
188
  id: model.id,
180
189
  name: model.name,
181
190
  reasoning: model.reasoning,
@@ -190,6 +199,42 @@ export default function (pi: ExtensionAPI) {
190
199
  // catalog catches up.
191
200
  // https://platform.claude.com/docs/en/about-claude/models/overview
192
201
  const extraModels: typeof catalogModels = [
202
+ /*
203
+ * FNXC:ModelCatalog 2026-07-01-18:18:
204
+ * Keep Claude CLI supplemental metadata limited to models that Fusion can advertise without triggering the direct-Anthropic Sonnet 5 404 loop. `claude-sonnet-5` must come from the upstream/live registry before this provider shows it, because static metadata cannot prove the current account and CLI surface can call that model.
205
+ *
206
+ * FNXC:ModelCatalog 2026-07-01-20:37:
207
+ * Supersede the prior Claude CLI withholding only for `pi-claude-cli`: the local `claude` subprocess routes through the user's Claude subscription/login and its 2.1.197 `--model` help accepts latest aliases/full names, so the CLI picker should advertise Sonnet 5 and newer CLI-callable rows. Keep direct Anthropic supplemental metadata and static pricing withheld because FN-7374's per-account `404 not_found_error` applies to that API surface, not this subscription-authenticated CLI surface.
208
+ */
209
+ {
210
+ id: "claude-sonnet-5",
211
+ name: "Claude Sonnet 5",
212
+ reasoning: true,
213
+ input: ["text", "image"],
214
+ cost: { input: 2, output: 10, cacheRead: 0.2, cacheWrite: 2.5 },
215
+ contextWindow: 1_000_000,
216
+ maxTokens: 128_000,
217
+ },
218
+ {
219
+ id: "claude-fable-5",
220
+ name: "Claude Fable 5",
221
+ reasoning: true,
222
+ input: ["text", "image"],
223
+ // FNXC:ModelCatalog 2026-07-01-21:04: Fable 5 must use Anthropic's current $10/$50 per MTok row so Fusion's CLI picker does not understate supplemental model cost estimates.
224
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
225
+ contextWindow: 1_000_000,
226
+ maxTokens: 128_000,
227
+ },
228
+ {
229
+ id: "claude-opus-4-8",
230
+ name: "Claude Opus 4.8",
231
+ reasoning: true,
232
+ input: ["text", "image"],
233
+ // FNXC:ModelCatalog 2026-07-01-20:37: The overview confirms Opus 4.8 context/output limits; mirror the closest current Opus CLI supplemental pricing until a precise per-model price row is pinned for this subscription surface.
234
+ cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
235
+ contextWindow: 1_000_000,
236
+ maxTokens: 128_000,
237
+ },
193
238
  {
194
239
  id: "claude-opus-4-7",
195
240
  name: "Claude Opus 4.7",
@@ -205,8 +250,8 @@ export default function (pi: ExtensionAPI) {
205
250
  reasoning: true,
206
251
  input: ["text", "image"],
207
252
  cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
208
- contextWindow: 200_000,
209
- maxTokens: 16_384,
253
+ contextWindow: 1_000_000,
254
+ maxTokens: 64_000,
210
255
  },
211
256
  {
212
257
  id: "claude-sonnet-4-5",
@@ -215,7 +260,7 @@ export default function (pi: ExtensionAPI) {
215
260
  input: ["text", "image"],
216
261
  cost: { input: 3, output: 15, cacheRead: 0.3, cacheWrite: 3.75 },
217
262
  contextWindow: 200_000,
218
- maxTokens: 8_192,
263
+ maxTokens: 64_000,
219
264
  },
220
265
  {
221
266
  id: "claude-haiku-4-5",
@@ -224,7 +269,7 @@ export default function (pi: ExtensionAPI) {
224
269
  input: ["text", "image"],
225
270
  cost: { input: 0.8, output: 4, cacheRead: 0.08, cacheWrite: 1 },
226
271
  contextWindow: 200_000,
227
- maxTokens: 8_192,
272
+ maxTokens: 64_000,
228
273
  },
229
274
  ];
230
275
 
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion/pi-claude-cli",
3
- "version": "0.51.0",
3
+ "version": "0.53.0",
4
4
  "type": "module",
5
5
  "private": true,
6
6
  "main": "index.ts",
@@ -13,12 +13,14 @@
13
13
  "@agentclientprotocol/sdk": "0.24.0"
14
14
  },
15
15
  "devDependencies": {
16
+ "@earendil-works/pi-ai": "^0.80.3",
17
+ "@earendil-works/pi-coding-agent": "^0.80.3",
16
18
  "@types/node": "^22.0.0",
17
19
  "typescript": "^5.7.0",
18
20
  "vitest": "^4.1.0"
19
21
  },
20
22
  "peerDependencies": {
21
- "@earendil-works/pi-ai": "*",
22
- "@earendil-works/pi-coding-agent": "*"
23
+ "@earendil-works/pi-ai": "^0.80.3",
24
+ "@earendil-works/pi-coding-agent": "^0.80.3"
23
25
  }
24
26
  }
@@ -68,7 +68,7 @@ describe("buildClaudeSpawnArgs", () => {
68
68
  });
69
69
 
70
70
  expect(args).toContain("--model");
71
- expect(args).toContain("claude-sonnet-4-6");
71
+ expect(args[args.indexOf("--model") + 1]).toBe("claude-sonnet-4-6");
72
72
  expect(args).toContain("--resume");
73
73
  expect(args).toContain("sess-1");
74
74
  expect(args).toContain("--effort");
@@ -59,13 +59,18 @@ const { MockAssistantMessageEventStream } = vi.hoisted(() => {
59
59
  });
60
60
 
61
61
  vi.mock("@earendil-works/pi-ai", () => ({
62
- getModels: vi.fn(() => mockModels),
63
62
  AssistantMessageEventStream: MockAssistantMessageEventStream,
64
63
  calculateCost: vi.fn(),
65
64
  }));
66
65
 
66
+ // pi-ai 0.80 moved the static catalog read to `getBuiltinModels` in the
67
+ // `/providers/all` subpath (see index.ts). Mock it there.
68
+ vi.mock("@earendil-works/pi-ai/providers/all", () => ({
69
+ getBuiltinModels: vi.fn(() => mockModels),
70
+ }));
71
+
67
72
  import { spawn } from "node:child_process";
68
- import { getModels } from "@earendil-works/pi-ai";
73
+ import { getBuiltinModels } from "@earendil-works/pi-ai/providers/all";
69
74
  import { streamViaCli } from "../provider";
70
75
 
71
76
  describe("provider registration (default export)", () => {
@@ -116,7 +121,7 @@ describe("provider registration (default export)", () => {
116
121
  expect(firstModel.cost).toBeDefined();
117
122
  });
118
123
 
119
- it("includes all extra Claude model entries", async () => {
124
+ it("includes latest Claude models including Sonnet 5 for the CLI surface", async () => {
120
125
  const registerProvider = vi.fn();
121
126
  const mockPi = { registerProvider, on: vi.fn() } as any;
122
127
 
@@ -127,6 +132,9 @@ describe("provider registration (default export)", () => {
127
132
  const modelIds = new Set(config.models.map((m: { id: string }) => m.id));
128
133
 
129
134
  for (const id of [
135
+ "claude-sonnet-5",
136
+ "claude-fable-5",
137
+ "claude-opus-4-8",
130
138
  "claude-opus-4-7",
131
139
  "claude-sonnet-4-6",
132
140
  "claude-sonnet-4-5",
@@ -134,18 +142,36 @@ describe("provider registration (default export)", () => {
134
142
  ]) {
135
143
  expect(modelIds.has(id)).toBe(true);
136
144
  }
145
+
146
+ expect(
147
+ config.models.find((m: { id: string }) => m.id === "claude-fable-5"),
148
+ ).toMatchObject({
149
+ cost: { input: 10, output: 50, cacheRead: 1, cacheWrite: 12.5 },
150
+ });
137
151
  });
138
152
 
139
153
  it("deduplicates extra models when catalog already includes them", async () => {
140
154
  const registerProvider = vi.fn();
141
155
  const mockPi = { registerProvider, on: vi.fn() } as any;
142
- const getModelsMock = vi.mocked(getModels);
156
+ const getModelsMock = vi.mocked(getBuiltinModels);
157
+ const upstreamSonnet5 = {
158
+ id: "claude-sonnet-5",
159
+ name: "Claude Sonnet 5 Upstream",
160
+ api: "anthropic",
161
+ provider: "anthropic",
162
+ reasoning: false,
163
+ input: ["text"],
164
+ cost: { input: 99, output: 199, cacheRead: 9.9, cacheWrite: 24.75 },
165
+ contextWindow: 123_456,
166
+ maxTokens: 7_654,
167
+ } as any;
143
168
 
144
169
  getModelsMock.mockReturnValueOnce([
145
170
  ...mockModels,
171
+ upstreamSonnet5,
146
172
  {
147
173
  id: "claude-sonnet-4-6",
148
- name: "Claude Sonnet 4.6",
174
+ name: "Claude Sonnet 4.6 Upstream",
149
175
  api: "anthropic",
150
176
  provider: "anthropic",
151
177
  reasoning: true,
@@ -160,10 +186,23 @@ describe("provider registration (default export)", () => {
160
186
  mod.default(mockPi);
161
187
 
162
188
  const config = registerProvider.mock.calls[0][1];
163
- const matches = config.models.filter(
164
- (m: { id: string }) => m.id === "claude-sonnet-4-6",
165
- );
166
- expect(matches).toHaveLength(1);
189
+ for (const id of ["claude-sonnet-5", "claude-sonnet-4-6"]) {
190
+ const matches = config.models.filter(
191
+ (m: { id: string }) => m.id === id,
192
+ );
193
+ expect(matches).toHaveLength(1);
194
+ }
195
+
196
+ expect(
197
+ config.models.find((m: { id: string }) => m.id === "claude-sonnet-5"),
198
+ ).toMatchObject({
199
+ name: upstreamSonnet5.name,
200
+ reasoning: upstreamSonnet5.reasoning,
201
+ input: upstreamSonnet5.input,
202
+ cost: upstreamSonnet5.cost,
203
+ contextWindow: upstreamSonnet5.contextWindow,
204
+ maxTokens: upstreamSonnet5.maxTokens,
205
+ });
167
206
  });
168
207
  });
169
208
 
@@ -689,6 +689,13 @@ interface CustomFieldRejection {
689
689
  detail: string;
690
690
  }
691
691
 
692
+ type WorkflowLifecycleWarningCode = "missing-completion-summary" | "missing-merge-region" | "unsafe-terminal-before-merge" | "optional-group-after-execution" | "review-gate-without-failure-route";
693
+ interface WorkflowLifecycleWarning {
694
+ code: WorkflowLifecycleWarningCode;
695
+ nodeId?: string;
696
+ message: string;
697
+ }
698
+
692
699
  interface WorkflowNodeLayout {
693
700
  x: number;
694
701
  y: number;
@@ -698,15 +705,18 @@ interface WorkflowDefinition {
698
705
  id: string;
699
706
  name: string;
700
707
  description: string;
708
+ icon?: string;
701
709
  kind: WorkflowDefinitionKind;
702
710
  ir: WorkflowIr;
703
711
  layout: Record<string, WorkflowNodeLayout>;
712
+ lifecycleWarnings?: WorkflowLifecycleWarning[];
704
713
  createdAt: string;
705
714
  updatedAt: string;
706
715
  }
707
716
  interface WorkflowDefinitionInput {
708
717
  name: string;
709
718
  description?: string;
719
+ icon?: string;
710
720
  ir: WorkflowIr;
711
721
  layout?: Record<string, WorkflowNodeLayout>;
712
722
  kind?: WorkflowDefinitionKind;
@@ -714,6 +724,7 @@ interface WorkflowDefinitionInput {
714
724
  interface WorkflowDefinitionUpdate {
715
725
  name?: string;
716
726
  description?: string;
727
+ icon?: string | null;
717
728
  ir?: WorkflowIr;
718
729
  layout?: Record<string, WorkflowNodeLayout>;
719
730
  rehomeTo?: string;
@@ -2662,6 +2673,8 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
2662
2673
  private scanAndRecordCitations;
2663
2674
  private getTaskSelectClause;
2664
2675
  private computeTimedExecutionMs;
2676
+ private getLatestAgentLogActivityMs;
2677
+ private hasFreshAgentLogActivitySinceTaskUpdate;
2665
2678
  private getTaskSelectClauseWithActivityLogLimit;
2666
2679
  private createTaskPersistSerializationContext;
2667
2680
  private getTaskPersistValues;
@@ -2902,6 +2915,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
2902
2915
  handoffToReview(taskId: string, opts: HandoffToReviewOptions): Promise<Task>;
2903
2916
  private resolveWorkflowMoveActor;
2904
2917
  private resolveWorkflowBypassGuards;
2918
+ private isWorkflowDoneBypassGuardedTask;
2905
2919
  private shouldSkipWorkflowMovePolicies;
2906
2920
  private prepareWorkflowMovePolicyPreflight;
2907
2921
  private evaluateWorkflowMovePolicies;
@@ -3001,6 +3015,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
3001
3015
  githubTracking?: TaskGithubTracking | null;
3002
3016
  tokenUsage?: TaskTokenUsage | null;
3003
3017
  modifiedFiles?: string[] | null;
3018
+ workflowTransitionNotification?: Task["workflowTransitionNotification"] | null;
3004
3019
  missionId?: string | null;
3005
3020
  sliceId?: string | null;
3006
3021
  }, runContext?: RunMutationContext): Promise<Task>;
@@ -3309,6 +3324,7 @@ declare class TaskStore extends EventEmitter<TaskStoreEvents> {
3309
3324
  private resolveTaskWorkflowIrSync;
3310
3325
  private resolveEffectiveWorkflowIdSync;
3311
3326
  private countActiveInCapacitySlotSync;
3327
+ private countActiveExecutionWorktreeHoldersSync;
3312
3328
  getTaskWorkflowSelection(taskId: string): {
3313
3329
  workflowId: string;
3314
3330
  stepIds: string[];
@@ -3504,6 +3520,7 @@ interface CreateInteractiveAiSessionOptions {
3504
3520
  requestedSkillNames?: string[];
3505
3521
  additionalSkillPaths?: string[];
3506
3522
  onProgress?: (event: InteractiveAiSessionProgressEvent) => void;
3523
+ allowAnswerQuestionIdDrift?: boolean;
3507
3524
  }
3508
3525
  type InteractiveAiSessionProgressEvent = {
3509
3526
  type: "thinking";
@@ -4328,7 +4345,7 @@ declare const COMPLETION_DOCUMENTATION_MODES: readonly ["off", "changeset", "cha
4328
4345
  type CompletionDocumentationMode = (typeof COMPLETION_DOCUMENTATION_MODES)[number];
4329
4346
  declare const THEME_MODES: readonly ["dark", "light", "system"];
4330
4347
  type ThemeMode = (typeof THEME_MODES)[number];
4331
- declare const COLOR_THEMES: readonly ["default", "ocean", "forest", "sunset", "zen", "berry", "high-contrast", "industrial", "monochrome", "slate", "ash", "air", "graphite", "silver", "solarized", "factory", "factory-mono", "ayu", "one-dark", "nord", "dracula", "gruvbox", "tokyo-night", "catppuccin-mocha", "github-dark", "everforest", "rose-pine", "kanagawa", "night-owl", "palenight", "monokai-pro", "slime", "brutalist", "neon-city", "parchment", "terminal", "glass", "horizon", "vitesse", "outrun", "snazzy", "porple", "espresso", "mars", "poimandres", "ember", "rust", "copper", "foundry", "carbon", "sandstone", "lagoon", "frost", "lavender", "neon-bloom", "sepia", "shadcn", "shadcn-custom", "shadcn-blue", "shadcn-green", "shadcn-red", "shadcn-purple", "shadcn-pink", "shadcn-orange", "shadcn-yellow", "shadcn-mono-red", "shadcn-mono-blue", "shadcn-mono-green", "shadcn-mono-purple", "shadcn-mono-pink", "shadcn-mono-orange", "shadcn-mono-yellow", "shadcn-black", "shadcn-gray", "shadcn-gray-blue"];
4348
+ declare const COLOR_THEMES: readonly ["default", "ocean", "forest", "sunset", "zen", "berry", "high-contrast", "industrial", "monochrome", "slate", "ash", "air", "graphite", "silver", "solarized", "factory", "factory-mono", "ayu", "one-dark", "nord", "dracula", "gruvbox", "tokyo-night", "catppuccin-mocha", "github-dark", "everforest", "rose-pine", "kanagawa", "night-owl", "palenight", "monokai-pro", "slime", "brutalist", "neon-city", "parchment", "terminal", "glass", "glass-silver", "horizon", "vitesse", "outrun", "snazzy", "porple", "espresso", "mars", "poimandres", "ember", "rust", "copper", "foundry", "carbon", "sandstone", "lagoon", "frost", "lavender", "neon-bloom", "sepia", "shadcn", "shadcn-ember", "shadcn-custom", "shadcn-blue", "shadcn-green", "shadcn-red", "shadcn-purple", "shadcn-pink", "shadcn-orange", "shadcn-yellow", "shadcn-mono-red", "shadcn-mono-blue", "shadcn-mono-green", "shadcn-mono-purple", "shadcn-mono-pink", "shadcn-mono-orange", "shadcn-mono-yellow", "shadcn-black", "shadcn-gray", "shadcn-gray-blue"];
4332
4349
  type ColorTheme = (typeof COLOR_THEMES)[number];
4333
4350
  declare const SUPPORTED_LOCALES: readonly ["en", "zh-CN", "zh-TW", "fr", "es", "ko"];
4334
4351
  type Locale = (typeof SUPPORTED_LOCALES)[number];
@@ -4419,6 +4436,7 @@ interface WorkflowStepResult {
4419
4436
  workflowStepId: string;
4420
4437
  workflowStepName: string;
4421
4438
  phase?: WorkflowStepPhase;
4439
+ source?: "optional-group" | "node";
4422
4440
  status: "passed" | "failed" | "advisory_failure" | "skipped" | "pending";
4423
4441
  output?: string;
4424
4442
  verdict?: "APPROVE" | "APPROVE_WITH_NOTES" | "REVISE";
@@ -4537,6 +4555,15 @@ interface TaskLogEntry {
4537
4555
  outcome?: string;
4538
4556
  runContext?: RunMutationContext;
4539
4557
  }
4558
+ type WorkflowTransitionNotificationKind = "manual-merge-hold" | "recovery-requeue";
4559
+ interface WorkflowTransitionNotificationMarker {
4560
+ kind: WorkflowTransitionNotificationKind;
4561
+ column: ColumnId;
4562
+ transitionId: string;
4563
+ nodeId?: string;
4564
+ reason?: string;
4565
+ createdAt: string;
4566
+ }
4540
4567
  type ActivityEventType = "task:created" | "task:moved" | "task:updated" | "task:deleted" | "task:merged" | "task:failed" | "task:duplicate-warning-overridden" | "task:auto-archived-deterministic-duplicate" | "task:auto-archived-near-duplicate" | "task:near-duplicate-flagged" | "task:release-authorization-required" | "task:auto-archived-ghost-bug" | "task:auto-archived-duplicate" | "task:merge-worktree-reacquired" | "settings:updated" | "project:isolation-transition";
4541
4568
  interface ActivityLogEntry {
4542
4569
  id: string;
@@ -5115,6 +5142,7 @@ interface Task {
5115
5142
  stalePausedReview?: StalePausedReviewSignal;
5116
5143
  inReviewStalled?: InReviewStalledSignal;
5117
5144
  stalePausedTodo?: StalePausedTodoSignal;
5145
+ workflowTransitionNotification?: WorkflowTransitionNotificationMarker;
5118
5146
  stalledReview?: StalledReviewSignal;
5119
5147
  tokenUsage?: TaskTokenUsage;
5120
5148
  size?: "S" | "M" | "L";
@@ -5403,6 +5431,7 @@ interface GlobalSettings {
5403
5431
  colorTheme?: ColorTheme;
5404
5432
  shadcnCustomColors?: Record<string, string>;
5405
5433
  dashboardFontScalePct?: number;
5434
+ dismissModalsOnOutsideClick?: boolean;
5406
5435
  language?: Locale;
5407
5436
  defaultProvider?: string;
5408
5437
  defaultModelId?: string;
@@ -5579,6 +5608,7 @@ interface ProjectSettings {
5579
5608
  groupOverlappingFiles: boolean;
5580
5609
  ignoreHiddenOverlapPaths?: boolean;
5581
5610
  overlapIgnorePaths?: string[];
5611
+ allowAbsoluteFileBrowserPaths?: boolean;
5582
5612
  autoMerge: boolean;
5583
5613
  testMode?: boolean;
5584
5614
  mergeRequestContractShadowEnabled?: boolean;
@@ -5617,6 +5647,8 @@ interface ProjectSettings {
5617
5647
  recycleWorktrees?: boolean;
5618
5648
  showWorktreeGrouping?: boolean;
5619
5649
  openTasksInRightSidebar?: boolean;
5650
+ openMobileTasksInPopup?: boolean;
5651
+ taskDetailChatFirst?: boolean;
5620
5652
  executorAllowSiblingBranchRename?: boolean;
5621
5653
  worktreeNaming?: "random" | "task-id" | "task-title";
5622
5654
  worktrunk?: WorktrunkSettings;
@@ -5694,7 +5726,8 @@ interface ProjectSettings {
5694
5726
  autoApproveBackendIds?: string[];
5695
5727
  };
5696
5728
  defaultAgentPermissionPolicy?: {
5697
- rules: Partial<AgentPermissionPolicyRules>;
5729
+ rules?: Partial<AgentPermissionPolicyRules>;
5730
+ toolRules?: AgentPermissionPolicyToolRules;
5698
5731
  };
5699
5732
  specStalenessEnabled?: boolean;
5700
5733
  specStalenessMaxAgeMs?: number;
@@ -5754,6 +5787,7 @@ interface ProjectSettings {
5754
5787
  githubCommentTemplate?: string;
5755
5788
  githubCloseSourceIssueOnDone?: boolean;
5756
5789
  githubTrackingEnabledByDefault?: boolean;
5790
+ githubLinkImportedIssuesToTracking?: boolean;
5757
5791
  githubTrackingDefaultRepo?: string;
5758
5792
  githubTrackingDedupEnabled?: boolean;
5759
5793
  githubAuthMode?: GithubAuthMode;
@@ -5801,7 +5835,9 @@ interface ProjectSettings {
5801
5835
  reflectionAfterTask?: boolean;
5802
5836
  reviewHandoffPolicy?: "disabled" | "comment-triggered" | "always";
5803
5837
  quickChatButtonMode?: "floating" | "footer" | "off";
5838
+ quickChatCloseOnOutsideClick?: boolean;
5804
5839
  showQuickChatFAB?: boolean;
5840
+ showTaskChatsInCommonFeed?: boolean;
5805
5841
  chatAutoCleanupDays?: number;
5806
5842
  mailAutoCleanupDays?: number;
5807
5843
  operationalLogRetentionDays?: number;
@@ -6429,12 +6465,14 @@ declare const SANDBOX_PROVISIONING_APPROVAL_MODES: readonly ["always", "trusted-
6429
6465
  type SandboxProvisioningApprovalMode = (typeof SANDBOX_PROVISIONING_APPROVAL_MODES)[number];
6430
6466
  type AgentPermissionPolicyActionCategory = PermanentAgentSensitiveActionCategory;
6431
6467
  type AgentPermissionPolicyDisposition = "allow" | "block" | "require-approval";
6468
+ type AgentPermissionPolicyToolRules = Record<string, AgentPermissionPolicyDisposition>;
6432
6469
  declare const AGENT_PERMISSION_POLICY_PRESET_IDS: readonly ["unrestricted", "approval-required", "locked-down", "custom"];
6433
6470
  type AgentPermissionPolicyPresetId = (typeof AGENT_PERMISSION_POLICY_PRESET_IDS)[number];
6434
6471
  type AgentPermissionPolicyRules = Record<AgentPermissionPolicyActionCategory, AgentPermissionPolicyDisposition>;
6435
6472
  interface AgentPermissionPolicy {
6436
6473
  presetId: AgentPermissionPolicyPresetId;
6437
6474
  rules: AgentPermissionPolicyRules;
6475
+ toolRules?: AgentPermissionPolicyToolRules;
6438
6476
  }
6439
6477
  interface Agent {
6440
6478
  id: string;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/acp-runtime",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/cli-printing-press",
3
- "version": "0.1.31",
3
+ "version": "0.1.33",
4
4
  "type": "module",
5
5
  "private": true,
6
6
  "exports": {
@@ -1029,10 +1029,15 @@ function buildStageSystemPrompt(stage) {
1029
1029
  `You are running the Compound Engineering "${stage.stageId}" stage.`,
1030
1030
  `Apply the bundled skill "${stage.skillId}" (it has been loaded into this session).`,
1031
1031
  "",
1032
+ /*
1033
+ * FNXC:CompoundEngineering 2026-07-01-13:41:
1034
+ * CE dashboard stages may load rich skills that were authored for chat/terminal flows, including instructions to ask blocking questions or write prose summaries. The interactive session seam is stricter: every visible turn must translate any loaded-skill instruction into the structured question/complete JSON protocol so a newly launched Debug stage cannot become an Error session from non-JSON output.
1035
+ */
1036
+ "The JSON protocol below has priority over any loaded-skill instruction about asking questions, using blocking question tools, writing prose summaries, previewing commits/PRs, or ending with chat text: translate any loaded-skill instruction into a JSON question or JSON complete event.",
1032
1037
  "Drive the stage as an interactive question/answer flow. On every turn respond with ONLY a JSON object:",
1033
1038
  ' - To ask the user something: {"type":"question","data":{"id":"<unique>","type":"single_select|multi_select|text|confirm","question":"...","options":[{"id":"..","label":".."}]}}',
1034
1039
  ' - When the stage is finished: {"type":"complete","data":{"artifact":"<full markdown document>", ...}}',
1035
- "No markdown fences, no prose outside the JSON object.",
1040
+ "No markdown fences, no prose outside the JSON object. Do not call user-question tools from this interactive stage; emit a JSON question instead.",
1036
1041
  "",
1037
1042
  `The user's reply arrives as {"type":"answer","questionId":"...","response":...}. The response takes one of three shapes:`,
1038
1043
  " - a direct answer to your question (an option id, array of option ids, text, or boolean),",
@@ -1085,7 +1090,7 @@ var CeOrchestrator = class {
1085
1090
  * bundled skill (closing the U2/U5 skill-discovery carry-forward). Model
1086
1091
  * provider/model are setting-gated (U9); omitted keys let the host pick defaults.
1087
1092
  */
1088
- buildSessionOptions(stage, sessionId) {
1093
+ buildSessionOptions(stage, sessionId, opts = {}) {
1089
1094
  const defaultProvider = getDefaultProvider(this.ctx.settings);
1090
1095
  const defaultModelId = getDefaultModelId(this.ctx.settings);
1091
1096
  const additionalSkillPaths = resolveStageSkillPaths();
@@ -1096,6 +1101,11 @@ var CeOrchestrator = class {
1096
1101
  tools: "coding",
1097
1102
  requestedSkillNames: [stage.skillId],
1098
1103
  additionalSkillPaths,
1104
+ /*
1105
+ * FNXC:CompoundEngineering 2026-07-01-17:31:
1106
+ * Question-id drift tolerance is recovery-only. Fresh CE sessions keep the strict interactive seam guard so live/DB question divergence is surfaced immediately; rehydration enables the tolerance because the persisted session row is the recovery anchor after a restart.
1107
+ */
1108
+ ...opts.allowAnswerQuestionIdDrift ? { allowAnswerQuestionIdDrift: true } : {},
1099
1109
  onProgress: (event) => this.handleProgress(sessionId, event),
1100
1110
  ...defaultProvider ? { defaultProvider } : {},
1101
1111
  ...defaultModelId ? { defaultModelId } : {}
@@ -1367,7 +1377,9 @@ var CeOrchestrator = class {
1367
1377
  }
1368
1378
  }
1369
1379
  async rehydrateReplay(session, stage) {
1370
- const interactive = await this.factory(this.buildSessionOptions(stage, session.id));
1380
+ const interactive = await this.factory(
1381
+ this.buildSessionOptions(stage, session.id, { allowAnswerQuestionIdDrift: true })
1382
+ );
1371
1383
  const live = interactive.session;
1372
1384
  const userTurns = session.conversationHistory.filter((t) => t.role === "user");
1373
1385
  try {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/compound-engineering",
3
- "version": "0.1.14",
3
+ "version": "0.1.16",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/cursor-runtime",
3
- "version": "0.1.33",
3
+ "version": "0.1.35",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/dependency-graph",
3
- "version": "0.1.45",
3
+ "version": "0.1.47",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/droid-runtime",
3
- "version": "0.1.40",
3
+ "version": "0.1.42",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/hermes-runtime",
3
- "version": "0.2.64",
3
+ "version": "0.2.66",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/openclaw-runtime",
3
- "version": "0.2.64",
3
+ "version": "0.2.66",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/paperclip-runtime",
3
- "version": "0.2.64",
3
+ "version": "0.2.66",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/reports",
3
- "version": "0.1.33",
3
+ "version": "0.1.35",
4
4
  "type": "module",
5
5
  "private": true,
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/roadmap",
3
- "version": "0.1.33",
3
+ "version": "0.1.35",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fusion-plugin-examples/whatsapp-chat",
3
- "version": "0.1.33",
3
+ "version": "0.1.35",
4
4
  "type": "module",
5
5
  "private": true,
6
6
  "exports": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@runfusion/fusion",
3
- "version": "0.51.0",
3
+ "version": "0.53.0",
4
4
  "license": "MIT",
5
5
  "description": "Fusion CLI: HTTP API server, daemon, dashboard launcher, and task tooling for the Fusion AI coding agent.",
6
6
  "homepage": "https://github.com/Runfusion/Fusion#readme",
@@ -34,6 +34,7 @@
34
34
  "dist/**/*.d.ts.map",
35
35
  "dist/**/*.js.map",
36
36
  "dist/client/**",
37
+ "dist/desktop/**",
37
38
  "dist/pi-claude-cli/**",
38
39
  "dist/droid-cli/**",
39
40
  "dist/plugins/**",
@@ -41,8 +42,8 @@
41
42
  "README.md"
42
43
  ],
43
44
  "dependencies": {
44
- "@earendil-works/pi-ai": "^0.79.9",
45
- "@earendil-works/pi-coding-agent": "^0.79.9",
45
+ "@earendil-works/pi-ai": "^0.80.3",
46
+ "@earendil-works/pi-coding-agent": "^0.80.3",
46
47
  "dockerode": "^4.0.12",
47
48
  "express": "^5.1.0",
48
49
  "i18next": "^26.3.1",
@@ -28,6 +28,7 @@ Mission → Milestone → Slice → Feature → Task
28
28
  **Tool categories:**
29
29
  <!-- BEGIN: tool-categories (auto-generated by scripts/sync-fusion-skill-tools.mjs — do not edit by hand) -->
30
30
  - **Task tools** — `fn_task_create`, `fn_task_update`, `fn_task_list`, `fn_task_show`, `fn_task_attach`, `fn_task_pause`, `fn_task_unpause`, `fn_task_retry`, `fn_task_duplicate`, `fn_task_refine`, `fn_task_archive`, `fn_task_unarchive`, `fn_task_delete`, `fn_task_plan`
31
+ - **Workflow tools** — `fn_workflow_list`, `fn_workflow_get`, `fn_workflow_create`, `fn_workflow_update`, `fn_workflow_delete`, `fn_workflow_settings`, `fn_trait_list`, `fn_workflow_select`
31
32
  - **GitHub tools** — `fn_task_import_github`, `fn_task_import_github_issue`, `fn_task_browse_github_issues`
32
33
  - **Mission tools** — `fn_mission_create`, `fn_mission_list`, `fn_mission_show`, `fn_mission_list_goals`, `fn_mission_link_goal`, `fn_mission_unlink_goal`, `fn_mission_backfill_assertions`, `fn_mission_delete`, `fn_mission_update`, `fn_milestone_add`, `fn_slice_add`, `fn_feature_add`, `fn_feature_delete`, `fn_slice_delete`, `fn_milestone_delete`, `fn_slice_activate`, `fn_feature_link_task`, `fn_feature_update`, `fn_milestone_update`
33
34
  - **Goal tools** — `fn_goal_list`, `fn_goal_create`, `fn_goal_archive`, `fn_goal_show`
@@ -1,11 +1,11 @@
1
1
  # Engine Session-Scoped Tools
2
2
 
3
- These tools are **not** part of the user-invokable extension surface. They are injected by the engine at runtime for specific agent session types.
3
+ This reference documents tools injected by the engine at runtime for specific agent session types. Some shared workflow tools are also part of the public extension surface; use `references/extension-tools.md` as the canonical user-invokable extension reference and this page for runtime agent-role availability.
4
4
 
5
5
  - Source files: `packages/engine/src/agent-tools.ts`, `triage.ts`, `executor.ts`, `merger.ts`, `agent-heartbeat.ts`
6
6
  - Availability: only when the engine creates a session for the matching agent role
7
7
  - Runtime contract: engine sessions now forward requested skill names (`skillSelection.requestedSkillNames`) into the generic runtime `skills` field so non-pi runtimes can still receive Fusion skill intent.
8
- - Important: do not tell users to call these directly from the generic extension tool list
8
+ - Important: do not tell users to call runtime-only tools directly from the generic extension tool list
9
9
 
10
10
  ## Shared runtime tools (`agent-tools.ts`)
11
11
 
@@ -54,7 +54,7 @@ These tools are **not** part of the user-invokable extension surface. They are i
54
54
  | `fn_send_message` | executor, step-session, heartbeat | Send inbox messages to agents/users | `to_id` (string), `content` (string), `type?` (`agent-to-agent` \| `agent-to-user`), `reply_to_message_id?` (string) |
55
55
  | `fn_read_messages` | executor, step-session, heartbeat | Read inbox messages | `unread_only?` (boolean), `limit?` (number) |
56
56
  | `fn_post_room_message` | heartbeat | Post a message to a chat room the agent is a member of | `roomId` (string), `content` (string), `replyToMessageId?` (string), `mentions?` (string[]) |
57
- | `fn_artifact_register` | triage, executor, heartbeat; chat/planning (explicit `task_id`) | Register an artifact (document, image, video, audio, or other) so other agents and tasks can discover it | `type` (string), `title` (string), `description?` (string), `mimeType?` (string), `uri?` (string), `content?` (string), `taskId?` (string); chat/planning also require `task_id` (string) |
57
+ | `fn_artifact_register` | triage, executor, heartbeat; chat/planning (explicit `task_id`) | Register an artifact (document, image, video, audio, or other) so other agents and tasks can discover it; image artifacts may provide `dataBase64` bytes for registry-managed media storage | `type` (string), `title` (string), `description?` (string), `mimeType?` (string), `uri?` (string), `content?` (string), `dataBase64?` (base64 string), `taskId?` (string); chat/planning also require `task_id` (string) |
58
58
  | `fn_artifact_list` | triage, executor, heartbeat; chat/planning (explicit `task_id`) | List registered artifacts across agents and tasks with filters for type, authorId, taskId, search, limit, and offset | `type?` (string), `authorId?` (string), `taskId?` (string), `search?` (string), `limit?` (number), `offset?` (number); chat/planning also require `task_id` (string) |
59
59
  | `fn_artifact_view` | triage, executor, heartbeat | View a registered artifact by id, including metadata and inline content or the uri/path reference for media artifacts | `id` (string) |
60
60