@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
@@ -1,4 +1,4 @@
1
- import{s as St,g as Mt,q as Nt,p as zt,a as Lt,b as Tt,_ as u,L as At,E as Xt,G as K,l as J,K as Et,d as Yt,z as It,c as j}from"./mermaid.core-0hUjZF5S.js";import{p as Bt}from"./chunk-4BX2VUAB-B_yEpoxU.js";import{p as Ft}from"./wardley-L42UT6IY-ckctH9bL.js";import"./index-DAv17W73.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 D=u((e,n)=>{const r=e<=1?e*100:e;if(r<0||r>100)throw new Error(`${n} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return r},"toPercent"),A=u((e,n,r)=>({x:D(n,`${r} evolution`),y:D(e,`${r} visibility`)}),"toCoordinates"),U=u(e=>{if(e){if(e==="+<>")return"bidirectional";if(e==="+<")return"backward";if(e==="+>")return"forward"}},"getFlowFromPort"),Rt=u(e=>{if(!e?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(e)?.[1];return e.includes("<>")?{flow:"bidirectional",label:r}:e.includes("<")?{flow:"backward",label:r}:e.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),Ot=u((e,n)=>{if(Bt(e,n),e.size&&n.setSize(e.size.width,e.size.height),e.evolution){const r=e.evolution.stages.map(a=>a.secondName?`${a.name.trim()} / ${a.secondName.trim()}`:a.name.trim()),x=e.evolution.stages.filter(a=>a.boundary!==void 0).map(a=>a.boundary);n.updateAxes({stages:r,stageBoundaries:x})}if(e.anchors.forEach(r=>{const x=A(r.visibility,r.evolution,`Anchor "${r.name}"`);n.addNode(r.name,r.name,x.x,x.y,"anchor")}),e.components.forEach(r=>{const x=A(r.visibility,r.evolution,`Component "${r.name}"`),a=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,d=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,w=r.decorator?.strategy;n.addNode(r.name,r.name,x.x,x.y,"component",a,d,r.inertia,w)}),e.notes.forEach(r=>{const x=A(r.visibility,r.evolution,`Note "${r.text}"`);n.addNote(r.text,x.x,x.y)}),e.pipelines.forEach(r=>{const x=n.getNode(r.parent);if(!x||typeof x.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const a=x.y;n.startPipeline(r.parent),r.components.forEach(d=>{const w=`${r.parent}_${d.name}`,C=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,F=D(d.evolution,`Pipeline component "${d.name}" evolution`);n.addNode(w,d.name,F,a,"pipeline-component",C,g),n.addPipelineComponent(r.parent,w)})}),e.links.forEach(r=>{const x=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let a=U(r.fromPort)??U(r.toPort);const{flow:d,label:w}=Rt(r.arrow);!a&&d&&(a=d);const C=r.linkLabel,g=w??C;n.addLink(n.resolveNodeId(r.from),n.resolveNodeId(r.to),x,g,a)}),e.evolves.forEach(r=>{const x=n.getNode(r.component);if(x?.y!==void 0){const a=D(r.target,`Evolve target for "${r.component}"`);n.addTrend(r.component,a,x.y)}}),e.annotations.length>0){const r=e.annotations[0],x=A(r.x,r.y,"Annotations box");n.setAnnotationsBox(x.x,x.y)}e.annotation.forEach(r=>{const x=A(r.x,r.y,`Annotation ${r.number}`);n.addAnnotation(r.number,[{x:x.x,y:x.y}],r.text)}),e.accelerators.forEach(r=>{const x=A(r.x,r.y,`Accelerator "${r.name}"`);n.addAccelerator(r.name,x.x,x.y)}),e.deaccelerators.forEach(r=>{const x=A(r.x,r.y,`Deaccelerator "${r.name}"`);n.addDeaccelerator(r.name,x.x,x.y)})},"populateDb"),Q={parser:{yy:void 0},parse:u(async e=>{const n=await Ft("wardley",e);J.debug(n);const r=Q.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ot(n,r)},"parse")},Wt=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{u(this,"WardleyBuilder")}addNode(e){const n=this.nodes.get(e.id)??{id:e.id,label:e.label},r={...n,...e,className:e.className??n.className,labelOffsetX:e.labelOffsetX??n.labelOffsetX,labelOffsetY:e.labelOffsetY??n.labelOffsetY};this.nodes.set(e.id,r)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const n=this.nodes.get(e);n&&(n.isPipelineParent=!0)}addPipelineComponent(e,n){const r=this.pipelines.get(e);r&&r.componentIds.push(n);const x=this.nodes.get(n);x&&(x.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,n){this.annotationsBox={x:e,y:n}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,n){this.size={width:e,height:n}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(const[n,r]of this.nodes)if(r.label===e)return n;return e}build(){const e=[];for(const n of this.nodes.values()){if(typeof n.x!="number"||typeof n.y!="number")throw new Error(`Node "${n.label}" is missing coordinates`);e.push(n)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},k=new Wt;function tt(){return j()["wardley-beta"]}u(tt,"getConfig");function et(e,n,r,x,a,d,w,C,g){k.addNode({id:e,label:n,x:r,y:x,className:a,labelOffsetX:d,labelOffsetY:w,inertia:C,sourceStrategy:g})}u(et,"addNode");function at(e,n,r=!1,x,a){k.addLink({source:e,target:n,dashed:r,label:x,flow:a})}u(at,"addLink");function rt(e,n,r){k.addTrend({nodeId:e,targetX:n,targetY:r})}u(rt,"addTrend");function ot(e,n,r){k.addAnnotation({number:e,coordinates:n,text:r})}u(ot,"addAnnotation");function nt(e,n,r){k.addNote({text:e,x:n,y:r})}u(nt,"addNote");function st(e,n,r){k.addAccelerator({name:e,x:n,y:r})}u(st,"addAccelerator");function it(e,n,r){k.addDeaccelerator({name:e,x:n,y:r})}u(it,"addDeaccelerator");function dt(e,n){k.setAnnotationsBox(e,n)}u(dt,"setAnnotationsBox");function lt(e,n){k.setSize(e,n)}u(lt,"setSize");function ct(e){k.startPipeline(e)}u(ct,"startPipeline");function pt(e,n){k.addPipelineComponent(e,n)}u(pt,"addPipelineComponent");function ft(e){k.setAxes(e)}u(ft,"updateAxes");function ht(e){return k.getNode(e)}u(ht,"getNode");function xt(e){return k.resolveNodeId(e)}u(xt,"resolveNodeId");function gt(){return k.build()}u(gt,"getWardleyData");function yt(){k.clear(),It()}u(yt,"clear");var Dt={getConfig:tt,addNode:et,addLink:at,addTrend:rt,addAnnotation:ot,addNote:nt,addAccelerator:st,addDeaccelerator:it,setAnnotationsBox:dt,setSize:lt,startPipeline:ct,addPipelineComponent:pt,updateAxes:ft,getNode:ht,resolveNodeId:xt,getWardleyData:gt,clear:yt,setAccTitle:Tt,getAccTitle:Lt,setDiagramTitle:zt,getDiagramTitle:Nt,getAccDescription:Mt,setAccDescription:St},Gt=["Genesis","Custom Built","Product","Commodity"],qt=u(()=>{const{themeVariables:e}=j();return{backgroundColor:e.wardley?.backgroundColor??e.background??"#fff",axisColor:e.wardley?.axisColor??"#000",axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??"#222",gridColor:e.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:e.wardley?.componentFill??"#fff",componentStroke:e.wardley?.componentStroke??"#000",componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??"#222",linkStroke:e.wardley?.linkStroke??"#000",evolutionStroke:e.wardley?.evolutionStroke??"#dc3545",annotationStroke:e.wardley?.annotationStroke??"#000",annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??"#222",annotationFill:e.wardley?.annotationFill??e.background??"#fff"}},"getTheme"),Ht=u(()=>{const e=j()["wardley-beta"];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},"getConfigValues"),jt=u((e,n,r,x)=>{J.debug(`Rendering Wardley map
1
+ import{s as St,g as Mt,q as Nt,p as zt,a as Lt,b as Tt,_ as u,L as At,E as Xt,G as K,l as J,K as Et,d as Yt,z as It,c as j}from"./mermaid.core-BBN7poU5.js";import{p as Bt}from"./chunk-4BX2VUAB-Dd7FeAwm.js";import{p as Ft}from"./wardley-L42UT6IY-DUw_nnW7.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 D=u((e,n)=>{const r=e<=1?e*100:e;if(r<0||r>100)throw new Error(`${n} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${e}`);return r},"toPercent"),A=u((e,n,r)=>({x:D(n,`${r} evolution`),y:D(e,`${r} visibility`)}),"toCoordinates"),U=u(e=>{if(e){if(e==="+<>")return"bidirectional";if(e==="+<")return"backward";if(e==="+>")return"forward"}},"getFlowFromPort"),Rt=u(e=>{if(!e?.startsWith("+"))return{};const r=/^\+'([^']*)'/.exec(e)?.[1];return e.includes("<>")?{flow:"bidirectional",label:r}:e.includes("<")?{flow:"backward",label:r}:e.includes(">")?{flow:"forward",label:r}:{label:r}},"extractFlowFromArrow"),Ot=u((e,n)=>{if(Bt(e,n),e.size&&n.setSize(e.size.width,e.size.height),e.evolution){const r=e.evolution.stages.map(a=>a.secondName?`${a.name.trim()} / ${a.secondName.trim()}`:a.name.trim()),x=e.evolution.stages.filter(a=>a.boundary!==void 0).map(a=>a.boundary);n.updateAxes({stages:r,stageBoundaries:x})}if(e.anchors.forEach(r=>{const x=A(r.visibility,r.evolution,`Anchor "${r.name}"`);n.addNode(r.name,r.name,x.x,x.y,"anchor")}),e.components.forEach(r=>{const x=A(r.visibility,r.evolution,`Component "${r.name}"`),a=r.label?(r.label.negX?-1:1)*r.label.offsetX:void 0,d=r.label?(r.label.negY?-1:1)*r.label.offsetY:void 0,w=r.decorator?.strategy;n.addNode(r.name,r.name,x.x,x.y,"component",a,d,r.inertia,w)}),e.notes.forEach(r=>{const x=A(r.visibility,r.evolution,`Note "${r.text}"`);n.addNote(r.text,x.x,x.y)}),e.pipelines.forEach(r=>{const x=n.getNode(r.parent);if(!x||typeof x.y!="number")throw new Error(`Pipeline "${r.parent}" must reference an existing component with coordinates.`);const a=x.y;n.startPipeline(r.parent),r.components.forEach(d=>{const w=`${r.parent}_${d.name}`,C=d.label?(d.label.negX?-1:1)*d.label.offsetX:void 0,g=d.label?(d.label.negY?-1:1)*d.label.offsetY:void 0,F=D(d.evolution,`Pipeline component "${d.name}" evolution`);n.addNode(w,d.name,F,a,"pipeline-component",C,g),n.addPipelineComponent(r.parent,w)})}),e.links.forEach(r=>{const x=!!r.arrow&&(r.arrow.includes("-.->")||r.arrow.includes(".-."));let a=U(r.fromPort)??U(r.toPort);const{flow:d,label:w}=Rt(r.arrow);!a&&d&&(a=d);const C=r.linkLabel,g=w??C;n.addLink(n.resolveNodeId(r.from),n.resolveNodeId(r.to),x,g,a)}),e.evolves.forEach(r=>{const x=n.getNode(r.component);if(x?.y!==void 0){const a=D(r.target,`Evolve target for "${r.component}"`);n.addTrend(r.component,a,x.y)}}),e.annotations.length>0){const r=e.annotations[0],x=A(r.x,r.y,"Annotations box");n.setAnnotationsBox(x.x,x.y)}e.annotation.forEach(r=>{const x=A(r.x,r.y,`Annotation ${r.number}`);n.addAnnotation(r.number,[{x:x.x,y:x.y}],r.text)}),e.accelerators.forEach(r=>{const x=A(r.x,r.y,`Accelerator "${r.name}"`);n.addAccelerator(r.name,x.x,x.y)}),e.deaccelerators.forEach(r=>{const x=A(r.x,r.y,`Deaccelerator "${r.name}"`);n.addDeaccelerator(r.name,x.x,x.y)})},"populateDb"),Q={parser:{yy:void 0},parse:u(async e=>{const n=await Ft("wardley",e);J.debug(n);const r=Q.parser?.yy;if(!r||typeof r.addNode!="function")throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");Ot(n,r)},"parse")},Wt=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}static{u(this,"WardleyBuilder")}addNode(e){const n=this.nodes.get(e.id)??{id:e.id,label:e.label},r={...n,...e,className:e.className??n.className,labelOffsetX:e.labelOffsetX??n.labelOffsetX,labelOffsetY:e.labelOffsetY??n.labelOffsetY};this.nodes.set(e.id,r)}addLink(e){this.links.push(e)}addTrend(e){this.trends.set(e.nodeId,e)}startPipeline(e){this.pipelines.set(e,{nodeId:e,componentIds:[]});const n=this.nodes.get(e);n&&(n.isPipelineParent=!0)}addPipelineComponent(e,n){const r=this.pipelines.get(e);r&&r.componentIds.push(n);const x=this.nodes.get(n);x&&(x.inPipeline=!0)}addAnnotation(e){this.annotations.push(e)}addNote(e){this.notes.push(e)}addAccelerator(e){this.accelerators.push(e)}addDeaccelerator(e){this.deaccelerators.push(e)}setAnnotationsBox(e,n){this.annotationsBox={x:e,y:n}}setAxes(e){this.axes={...this.axes,...e}}setSize(e,n){this.size={width:e,height:n}}getNode(e){return this.nodes.get(e)}resolveNodeId(e){if(this.nodes.has(e))return e;for(const[n,r]of this.nodes)if(r.label===e)return n;return e}build(){const e=[];for(const n of this.nodes.values()){if(typeof n.x!="number"||typeof n.y!="number")throw new Error(`Node "${n.label}" is missing coordinates`);e.push(n)}return{nodes:e,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:{...this.axes},size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},k=new Wt;function tt(){return j()["wardley-beta"]}u(tt,"getConfig");function et(e,n,r,x,a,d,w,C,g){k.addNode({id:e,label:n,x:r,y:x,className:a,labelOffsetX:d,labelOffsetY:w,inertia:C,sourceStrategy:g})}u(et,"addNode");function at(e,n,r=!1,x,a){k.addLink({source:e,target:n,dashed:r,label:x,flow:a})}u(at,"addLink");function rt(e,n,r){k.addTrend({nodeId:e,targetX:n,targetY:r})}u(rt,"addTrend");function ot(e,n,r){k.addAnnotation({number:e,coordinates:n,text:r})}u(ot,"addAnnotation");function nt(e,n,r){k.addNote({text:e,x:n,y:r})}u(nt,"addNote");function st(e,n,r){k.addAccelerator({name:e,x:n,y:r})}u(st,"addAccelerator");function it(e,n,r){k.addDeaccelerator({name:e,x:n,y:r})}u(it,"addDeaccelerator");function dt(e,n){k.setAnnotationsBox(e,n)}u(dt,"setAnnotationsBox");function lt(e,n){k.setSize(e,n)}u(lt,"setSize");function ct(e){k.startPipeline(e)}u(ct,"startPipeline");function pt(e,n){k.addPipelineComponent(e,n)}u(pt,"addPipelineComponent");function ft(e){k.setAxes(e)}u(ft,"updateAxes");function ht(e){return k.getNode(e)}u(ht,"getNode");function xt(e){return k.resolveNodeId(e)}u(xt,"resolveNodeId");function gt(){return k.build()}u(gt,"getWardleyData");function yt(){k.clear(),It()}u(yt,"clear");var Dt={getConfig:tt,addNode:et,addLink:at,addTrend:rt,addAnnotation:ot,addNote:nt,addAccelerator:st,addDeaccelerator:it,setAnnotationsBox:dt,setSize:lt,startPipeline:ct,addPipelineComponent:pt,updateAxes:ft,getNode:ht,resolveNodeId:xt,getWardleyData:gt,clear:yt,setAccTitle:Tt,getAccTitle:Lt,setDiagramTitle:zt,getDiagramTitle:Nt,getAccDescription:Mt,setAccDescription:St},Gt=["Genesis","Custom Built","Product","Commodity"],qt=u(()=>{const{themeVariables:e}=j();return{backgroundColor:e.wardley?.backgroundColor??e.background??"#fff",axisColor:e.wardley?.axisColor??"#000",axisTextColor:e.wardley?.axisTextColor??e.primaryTextColor??"#222",gridColor:e.wardley?.gridColor??"rgba(100, 100, 100, 0.2)",componentFill:e.wardley?.componentFill??"#fff",componentStroke:e.wardley?.componentStroke??"#000",componentLabelColor:e.wardley?.componentLabelColor??e.primaryTextColor??"#222",linkStroke:e.wardley?.linkStroke??"#000",evolutionStroke:e.wardley?.evolutionStroke??"#dc3545",annotationStroke:e.wardley?.annotationStroke??"#000",annotationTextColor:e.wardley?.annotationTextColor??e.primaryTextColor??"#222",annotationFill:e.wardley?.annotationFill??e.background??"#fff"}},"getTheme"),Ht=u(()=>{const e=j()["wardley-beta"];return{width:e?.width??900,height:e?.height??600,padding:e?.padding??48,nodeRadius:e?.nodeRadius??6,nodeLabelOffset:e?.nodeLabelOffset??8,axisFontSize:e?.axisFontSize??12,labelFontSize:e?.labelFontSize??10,showGrid:e?.showGrid??!1,useMaxWidth:e?.useMaxWidth??!0}},"getConfigValues"),jt=u((e,n,r,x)=>{J.debug(`Rendering Wardley map
2
2
  `+e);const a=Ht(),d=qt(),w=a.nodeRadius*1.6,C=x.db,g=C.getWardleyData(),F=C.getDiagramTitle(),S=g.size?.width??a.width,b=g.size?.height??a.height,E=Et(n);E.selectAll("*").remove(),Yt(E,b,S,a.useMaxWidth),E.attr("viewBox",`0 0 ${S} ${b}`);const v=E.append("g").attr("class","wardley-map"),G=E.append("defs");G.append("marker").attr("id",`arrow-${n}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.evolutionStroke).attr("stroke","none"),G.append("marker").attr("id",`link-arrow-end-${n}`).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",d.linkStroke).attr("stroke","none"),G.append("marker").attr("id",`link-arrow-start-${n}`).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",d.linkStroke).attr("stroke","none"),v.append("rect").attr("class","wardley-background").attr("width",S).attr("height",b).attr("fill",d.backgroundColor);const Y=S-a.padding*2,I=b-a.padding*2;F&&v.append("text").attr("class","wardley-title").attr("x",S/2).attr("y",a.padding/2).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize*1.05).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(F);const z=u(t=>a.padding+t/100*Y,"projectX"),L=u(t=>b-a.padding-t/100*I,"projectY"),R=v.append("g").attr("class","wardley-axes");R.append("line").attr("x1",a.padding).attr("x2",S-a.padding).attr("y1",b-a.padding).attr("y2",b-a.padding).attr("stroke",d.axisColor).attr("stroke-width",1),R.append("line").attr("x1",a.padding).attr("x2",a.padding).attr("y1",a.padding).attr("y2",b-a.padding).attr("stroke",d.axisColor).attr("stroke-width",1);const ut=g.axes.xLabel??"Evolution",wt=g.axes.yLabel??"Visibility";R.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",a.padding+Y/2).attr("y",b-a.padding/4).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(ut),R.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",a.padding/3).attr("y",a.padding+I/2).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform",`rotate(-90 ${a.padding/3} ${a.padding+I/2})`).text(wt);const B=g.axes.stages&&g.axes.stages.length>0?g.axes.stages:Gt;if(B.length>0){const t=v.append("g").attr("class","wardley-stages"),s=g.axes.stageBoundaries,o=[];if(s&&s.length===B.length){let i=0;s.forEach(p=>{o.push({start:i,end:p}),i=p})}else{const i=1/B.length;B.forEach((p,l)=>{o.push({start:l*i,end:(l+1)*i})})}B.forEach((i,p)=>{const l=o[p],f=a.padding+l.start*Y,h=a.padding+l.end*Y,y=(f+h)/2;p>0&&t.append("line").attr("x1",f).attr("x2",f).attr("y1",a.padding).attr("y2",b-a.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",y).attr("y",b-a.padding/1.5).attr("fill",d.axisTextColor).attr("font-size",a.axisFontSize-2).attr("text-anchor","middle").text(i)})}if(a.showGrid){const t=v.append("g").attr("class","wardley-grid");for(let s=1;s<4;s++){const o=s/4,i=a.padding+Y*o;t.append("line").attr("x1",i).attr("x2",i).attr("y1",a.padding).attr("y2",b-a.padding).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",a.padding).attr("x2",S-a.padding).attr("y1",b-a.padding-I*o).attr("y2",b-a.padding-I*o).attr("stroke",d.gridColor).attr("stroke-dasharray","2 6")}}const c=new Map;if(g.nodes.forEach(t=>{c.set(t.id,{x:z(t.x),y:L(t.y),node:t})}),g.pipelines.length>0){const t=v.append("g").attr("class","wardley-pipelines"),s=v.append("g").attr("class","wardley-pipeline-links");g.pipelines.forEach(o=>{if(o.componentIds.length===0)return;const i=o.componentIds.map(h=>({id:h,pos:c.get(h),node:g.nodes.find(y=>y.id===h)})).filter(h=>h.pos&&h.node).sort((h,y)=>h.node.x-y.node.x);for(let h=0;h<i.length-1;h++){const y=i[h],m=i[h+1];s.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",y.pos.x).attr("y1",y.pos.y).attr("x2",m.pos.x).attr("y2",m.pos.y).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let p=1/0,l=-1/0,f=0;if(o.componentIds.forEach(h=>{const y=c.get(h);y&&(p=Math.min(p,y.x),l=Math.max(l,y.x),f=y.y)}),p!==1/0&&l!==-1/0){const y=a.nodeRadius*4,m=f-y/2,P=c.get(o.nodeId);if(P){const N=(p+l)/2;P.x=N,P.y=m-w/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",p-15).attr("y",m).attr("width",l-p+30).attr("height",y).attr("fill","none").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const V=v.append("g").attr("class","wardley-links"),_=new Map;g.pipelines.forEach(t=>{_.set(t.nodeId,new Set(t.componentIds))});const Z=g.links.filter(t=>!(!c.has(t.source)||!c.has(t.target)||_.get(t.target)?.has(t.source)));V.selectAll("line").data(Z).enter().append("line").attr("class",t=>`wardley-link${t.dashed?" wardley-link--dashed":""}`).attr("x1",t=>{const s=c.get(t.source),o=c.get(t.target),p=g.nodes.find(y=>y.id===t.source).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=o.x-s.x,f=o.y-s.y,h=Math.sqrt(l*l+f*f);return s.x+l/h*p}).attr("y1",t=>{const s=c.get(t.source),o=c.get(t.target),p=g.nodes.find(y=>y.id===t.source).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=o.x-s.x,f=o.y-s.y,h=Math.sqrt(l*l+f*f);return s.y+f/h*p}).attr("x2",t=>{const s=c.get(t.source),o=c.get(t.target),p=g.nodes.find(y=>y.id===t.target).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=s.x-o.x,f=s.y-o.y,h=Math.sqrt(l*l+f*f);return o.x+l/h*p}).attr("y2",t=>{const s=c.get(t.source),o=c.get(t.target),p=g.nodes.find(y=>y.id===t.target).isPipelineParent?w/Math.sqrt(2):a.nodeRadius,l=s.x-o.x,f=s.y-o.y,h=Math.sqrt(l*l+f*f);return o.y+f/h*p}).attr("stroke",d.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>t.flow==="forward"||t.flow==="bidirectional"?`url(#link-arrow-end-${n})`:null).attr("marker-start",t=>t.flow==="backward"||t.flow==="bidirectional"?`url(#link-arrow-start-${n})`:null),V.selectAll("text").data(Z.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{const s=c.get(t.source),o=c.get(t.target),i=(s.x+o.x)/2,p=o.y-s.y,l=o.x-s.x,f=Math.sqrt(l*l+p*p),h=8,y=p/f;return i+y*h}).attr("y",t=>{const s=c.get(t.source),o=c.get(t.target),i=(s.y+o.y)/2,p=o.x-s.x,l=o.y-s.y,f=Math.sqrt(p*p+l*l),h=8,y=-p/f;return i+y*h}).attr("fill",d.axisTextColor).attr("font-size",a.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{const s=c.get(t.source),o=c.get(t.target),i=(s.x+o.x)/2,p=(s.y+o.y)/2,l=o.x-s.x,f=o.y-s.y,h=Math.sqrt(l*l+f*f),y=8,m=f/h,P=-l/h,N=i+m*y,O=p+P*y;let X=Math.atan2(f,l)*180/Math.PI;return(X>90||X<-90)&&(X+=180),`rotate(${X} ${N} ${O})`}).text(t=>t.label);const mt=v.append("g").attr("class","wardley-trends"),kt=g.trends.map(t=>{const s=c.get(t.nodeId);if(!s)return null;const o=z(t.targetX),i=L(t.targetY),p=o-s.x,l=i-s.y,f=Math.sqrt(p*p+l*l),h=a.nodeRadius+2,y=f>h?o-p/f*h:o,m=f>h?i-l/f*h:i;return{origin:s,targetX:o,targetY:i,adjustedX2:y,adjustedY2:m}}).filter(t=>t!==null);mt.selectAll("line").data(kt).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",d.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end",`url(#arrow-${n})`);const M=v.append("g").attr("class","wardley-nodes").selectAll("g").data(g.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?`wardley-node--${t.className}`:""].filter(Boolean).join(" "));M.filter(t=>t.sourceStrategy==="outsource").append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","#666").attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>t.sourceStrategy==="buy").append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","#ccc").attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>t.sourceStrategy==="build").append("circle").attr("class","wardley-build-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const T=M.filter(t=>t.sourceStrategy==="market");T.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius*2).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>!t.isPipelineParent&&t.sourceStrategy!=="market"&&t.className!=="anchor").append("circle").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y).attr("r",a.nodeRadius).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1);const q=a.nodeRadius*.7,$=a.nodeRadius*1.2;if(T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x).attr("y1",t=>c.get(t.id).y-$).attr("x2",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y2",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("line").attr("class","wardley-market-line").attr("x1",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("y1",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("x2",t=>c.get(t.id).x).attr("y2",t=>c.get(t.id).y-$).attr("stroke",d.componentStroke).attr("stroke-width",1),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x).attr("cy",t=>c.get(t.id).y-$).attr("r",q).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x-$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",q).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),T.append("circle").attr("class","wardley-market-dot").attr("cx",t=>c.get(t.id).x+$*Math.cos(Math.PI/6)).attr("cy",t=>c.get(t.id).y+$*Math.sin(Math.PI/6)).attr("r",q).attr("fill","white").attr("stroke",d.componentStroke).attr("stroke-width",2),M.filter(t=>t.isPipelineParent===!0).append("rect").attr("x",t=>c.get(t.id).x-w/2).attr("y",t=>c.get(t.id).y-w/2).attr("width",w).attr("height",w).attr("fill",d.componentFill).attr("stroke",d.componentStroke).attr("stroke-width",1),M.filter(t=>t.inertia===!0).append("line").attr("class","wardley-inertia").attr("x1",t=>{const s=c.get(t.id);let o=t.isPipelineParent?w/2+15:a.nodeRadius+15;return t.sourceStrategy&&(o+=a.nodeRadius+10),s.x+o}).attr("y1",t=>{const s=c.get(t.id),o=t.isPipelineParent?w:a.nodeRadius*2;return s.y-o/2}).attr("x2",t=>{const s=c.get(t.id);let o=t.isPipelineParent?w/2+15:a.nodeRadius+15;return t.sourceStrategy&&(o+=a.nodeRadius+10),s.x+o}).attr("y2",t=>{const s=c.get(t.id),o=t.isPipelineParent?w:a.nodeRadius*2;return s.y+o/2}).attr("stroke",d.componentStroke).attr("stroke-width",6),M.append("text").attr("x",t=>{const s=c.get(t.id);if(t.className==="anchor")return t.labelOffsetX!==void 0?s.x+t.labelOffsetX:s.x;let o=a.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetX===void 0&&(o+=10);const i=t.labelOffsetX??o;return s.x+i}).attr("y",t=>{const s=c.get(t.id);if(t.className==="anchor")return t.labelOffsetY!==void 0?s.y+t.labelOffsetY:s.y-3;let o=-a.nodeLabelOffset;t.sourceStrategy&&t.labelOffsetY===void 0&&(o-=10);const i=t.labelOffsetY??o;return s.y+i}).attr("class","wardley-node-label").attr("fill",t=>t.className==="evolved"?d.evolutionStroke:t.className==="anchor"?"#000":d.componentLabelColor).attr("font-size",a.labelFontSize).attr("font-weight",t=>t.className==="anchor"?"bold":"normal").attr("text-anchor",t=>t.className==="anchor"?"middle":"start").attr("dominant-baseline",t=>t.className==="anchor"?"middle":"auto").text(t=>t.label),g.annotations.length>0){const t=v.append("g").attr("class","wardley-annotations");if(g.annotations.forEach(s=>{const o=s.coordinates.map(i=>({x:z(i.x),y:L(i.y)}));if(o.length>1)for(let i=0;i<o.length-1;i++)t.append("line").attr("class","wardley-annotation-line").attr("x1",o[i].x).attr("y1",o[i].y).attr("x2",o[i+1].x).attr("y2",o[i+1].y).attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");o.forEach(i=>{const p=t.append("g").attr("class","wardley-annotation");p.append("circle").attr("cx",i.x).attr("cy",i.y).attr("r",10).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5),p.append("text").attr("x",i.x).attr("y",i.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",d.axisTextColor).attr("font-weight","bold").text(s.number)})}),g.annotationsBox){let s=z(g.annotationsBox.x),o=L(g.annotationsBox.y);const i=10,p=16,l=11,f=t.append("g").attr("class","wardley-annotations-box"),h=[...g.annotations].filter(m=>m.text).sort((m,P)=>m.number-P.number),y=[];if(h.forEach((m,P)=>{const N=f.append("text").attr("x",s+i).attr("y",o+i+(P+1)*p).attr("font-size",l).attr("fill",d.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text(`${m.number}. ${m.text}`);y.push(N)}),y.length>0){let m=0,P=0;y.forEach(H=>{const W=H.node(),Pt=W.getComputedTextLength();m=Math.max(m,Pt);const Ct=W.getBBox();P=Math.max(P,Ct.height)});const N=m+i*2+105,O=h.length*p+i*2+P/2,X=a.padding,bt=S-a.padding-N,$t=a.padding,vt=b-a.padding-O;s=Math.max(X,Math.min(s,bt)),o=Math.max($t,Math.min(o,vt)),y.forEach((H,W)=>{H.attr("x",s+i).attr("y",o+i+(W+1)*p)}),f.insert("rect","text").attr("x",s).attr("y",o).attr("width",N).attr("height",O).attr("fill","white").attr("stroke",d.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(g.notes.length>0){const t=v.append("g").attr("class","wardley-notes");g.notes.forEach(s=>{const o=z(s.x),i=L(s.y);t.append("text").attr("x",o).attr("y",i).attr("text-anchor","start").attr("font-size",11).attr("fill",d.axisTextColor).attr("font-weight","bold").text(s.text)})}if(g.accelerators.length>0){const t=v.append("g").attr("class","wardley-accelerators");g.accelerators.forEach(s=>{const o=z(s.x),i=L(s.y),p=60,l=30,f=20,h=`
3
3
  M ${o} ${i-l/2}
4
4
  L ${o+p-f} ${i-l/2}
@@ -1,4 +1,4 @@
1
- import{s as ei,g as si,q as vt,p as ai,a as ni,b as oi,_ as s,l as Et,K as ri,d as hi,z as li,E as xt,h as ci,G as It,H as ui,L as gi,M as xi}from"./mermaid.core-0hUjZF5S.js";import"./vendor-reactflow-Bg-Qjzh8.js";import{b as Tt}from"./band-CquvqAHh.js";import{l as Rt}from"./linear-dXivciGL.js";import{l as Dt}from"./step-yuy0qJer.js";import"./index-DAv17W73.js";import"./vendor-react-SZ_qB27O.js";import"./vendor-i18n-GF3RlKbq.js";import"./vendor-xterm-BNq00GSj.js";import"./vendor-codemirror-jBKmHyH0.js";import"./init-Dmth1JHB.js";import"./ordinal-DILIJJjt.js";import"./defaultLocale-DX6XiGOO.js";var lt=(function(){var t=s(function(O,r,l,c){for(l=l||{},c=O.length;c--;l[O[c]]=r);return l},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],a=[1,3],o=[1,5],d=[1,6],g=[1,7],w=[1,5,10,12,14,16,18,19,21,23,34,35,36],L=[1,25],W=[1,26],M=[1,28],T=[1,29],v=[1,30],z=[1,31],F=[1,32],R=[1,33],V=[1,34],p=[1,35],S=[1,36],h=[1,37],E=[1,43],B=[1,42],X=[1,47],Y=[1,50],A=[1,10,12,14,16,18,19,21,23,34,35,36],U=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],f=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],y=[1,64],D={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:s(function(r,l,c,u,b,n,Q){var x=n.length-1;switch(b){case 5:u.setOrientation(n[x]);break;case 9:u.setDiagramTitle(n[x].text.trim());break;case 12:u.setLineData({text:"",type:"text"},n[x]);break;case 13:u.setLineData(n[x-1],n[x]);break;case 14:u.setBarData({text:"",type:"text"},n[x]);break;case 15:u.setBarData(n[x-1],n[x]);break;case 16:this.$=n[x].trim(),u.setAccTitle(this.$);break;case 17:case 18:this.$=n[x].trim(),u.setAccDescription(this.$);break;case 19:this.$=n[x-1];break;case 20:this.$=[Number(n[x-2]),...n[x]];break;case 21:this.$=[Number(n[x])];break;case 22:u.setXAxisTitle(n[x]);break;case 23:u.setXAxisTitle(n[x-1]);break;case 24:u.setXAxisTitle({type:"text",text:""});break;case 25:u.setXAxisBand(n[x]);break;case 26:u.setXAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 27:this.$=n[x-1];break;case 28:this.$=[n[x-2],...n[x]];break;case 29:this.$=[n[x]];break;case 30:u.setYAxisTitle(n[x]);break;case 31:u.setYAxisTitle(n[x-1]);break;case 32:u.setYAxisTitle({type:"text",text:""});break;case 33:u.setYAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 37:this.$={text:n[x],type:"text"};break;case 38:this.$={text:n[x],type:"text"};break;case 39:this.$={text:n[x],type:"markdown"};break;case 40:this.$=n[x];break;case 41:this.$=n[x-1]+""+n[x];break}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:a,34:o,35:d,36:g}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:a,34:o,35:d,36:g}),t(i,e,{4:2,7:4,6:9,3:10,5:a,8:[1,11],34:o,35:d,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(w,[2,34]),t(w,[2,35]),t(w,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:a,34:o,35:d,36:g}),{1:[2,3]},t(w,[2,5]),t(i,[2,7],{4:22,34:o,35:d,36:g}),{11:23,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},{11:39,13:38,24:E,27:B,29:40,30:41,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},{11:45,15:44,27:X,33:46,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},{11:49,17:48,24:Y,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},{11:52,17:51,24:Y,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},{20:[1,53]},{22:[1,54]},t(A,[2,18]),{1:[2,2]},t(A,[2,8]),t(A,[2,9]),t(U,[2,37],{40:55,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h}),t(U,[2,38]),t(U,[2,39]),t(f,[2,40]),t(f,[2,42]),t(f,[2,43]),t(f,[2,44]),t(f,[2,45]),t(f,[2,46]),t(f,[2,47]),t(f,[2,48]),t(f,[2,49]),t(f,[2,50]),t(f,[2,51]),t(A,[2,10]),t(A,[2,22],{30:41,29:56,24:E,27:B}),t(A,[2,24]),t(A,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},t(A,[2,11]),t(A,[2,30],{33:60,27:X}),t(A,[2,32]),{31:[1,61]},t(A,[2,12]),{17:62,24:Y},{25:63,27:y},t(A,[2,14]),{17:65,24:Y},t(A,[2,16]),t(A,[2,17]),t(f,[2,41]),t(A,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(A,[2,31]),{27:[1,69]},t(A,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(A,[2,15]),t(A,[2,26]),t(A,[2,27]),{11:59,32:72,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},t(A,[2,33]),t(A,[2,19]),{25:73,27:y},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:s(function(r,l){if(l.recoverable)this.trace(r);else{var c=new Error(r);throw c.hash=l,c}},"parseError"),parse:s(function(r){var l=this,c=[0],u=[],b=[null],n=[],Q=this.table,x="",tt=0,Ct=0,Zt=2,St=1,Jt=n.slice.call(arguments,1),_=Object.create(this.lexer),$={yy:{}};for(var nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,nt)&&($.yy[nt]=this.yy[nt]);_.setInput(r,$.yy),$.yy.lexer=_,$.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var ot=_.yylloc;n.push(ot);var ti=_.options&&_.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ii(P){c.length=c.length-2*P,b.length=b.length-P,n.length=n.length-P}s(ii,"popStack");function _t(){var P;return P=u.pop()||_.lex()||St,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=l.symbols_[P]||P),P}s(_t,"lex");for(var k,q,I,rt,G={},it,N,kt,et;;){if(q=c[c.length-1],this.defaultActions[q]?I=this.defaultActions[q]:((k===null||typeof k>"u")&&(k=_t()),I=Q[q]&&Q[q][k]),typeof I>"u"||!I.length||!I[0]){var ht="";et=[];for(it in Q[q])this.terminals_[it]&&it>Zt&&et.push("'"+this.terminals_[it]+"'");_.showPosition?ht="Parse error on line "+(tt+1)+`:
1
+ import{s as ei,g as si,q as vt,p as ai,a as ni,b as oi,_ as s,l as Et,K as ri,d as hi,z as li,E as xt,h as ci,G as It,H as ui,L as gi,M as xi}from"./mermaid.core-BBN7poU5.js";import"./vendor-reactflow-Bg-Qjzh8.js";import{b as Tt}from"./band-CquvqAHh.js";import{l as Rt}from"./linear-dXivciGL.js";import{l as Dt}from"./step-yuy0qJer.js";import"./index-DIURDjTF.js";import"./vendor-react-SZ_qB27O.js";import"./vendor-i18n-GF3RlKbq.js";import"./vendor-xterm-BNq00GSj.js";import"./vendor-codemirror-jBKmHyH0.js";import"./init-Dmth1JHB.js";import"./ordinal-DILIJJjt.js";import"./defaultLocale-DX6XiGOO.js";var lt=(function(){var t=s(function(O,r,l,c){for(l=l||{},c=O.length;c--;l[O[c]]=r);return l},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],a=[1,3],o=[1,5],d=[1,6],g=[1,7],w=[1,5,10,12,14,16,18,19,21,23,34,35,36],L=[1,25],W=[1,26],M=[1,28],T=[1,29],v=[1,30],z=[1,31],F=[1,32],R=[1,33],V=[1,34],p=[1,35],S=[1,36],h=[1,37],E=[1,43],B=[1,42],X=[1,47],Y=[1,50],A=[1,10,12,14,16,18,19,21,23,34,35,36],U=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],f=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],y=[1,64],D={trace:s(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:s(function(r,l,c,u,b,n,Q){var x=n.length-1;switch(b){case 5:u.setOrientation(n[x]);break;case 9:u.setDiagramTitle(n[x].text.trim());break;case 12:u.setLineData({text:"",type:"text"},n[x]);break;case 13:u.setLineData(n[x-1],n[x]);break;case 14:u.setBarData({text:"",type:"text"},n[x]);break;case 15:u.setBarData(n[x-1],n[x]);break;case 16:this.$=n[x].trim(),u.setAccTitle(this.$);break;case 17:case 18:this.$=n[x].trim(),u.setAccDescription(this.$);break;case 19:this.$=n[x-1];break;case 20:this.$=[Number(n[x-2]),...n[x]];break;case 21:this.$=[Number(n[x])];break;case 22:u.setXAxisTitle(n[x]);break;case 23:u.setXAxisTitle(n[x-1]);break;case 24:u.setXAxisTitle({type:"text",text:""});break;case 25:u.setXAxisBand(n[x]);break;case 26:u.setXAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 27:this.$=n[x-1];break;case 28:this.$=[n[x-2],...n[x]];break;case 29:this.$=[n[x]];break;case 30:u.setYAxisTitle(n[x]);break;case 31:u.setYAxisTitle(n[x-1]);break;case 32:u.setYAxisTitle({type:"text",text:""});break;case 33:u.setYAxisRangeData(Number(n[x-2]),Number(n[x]));break;case 37:this.$={text:n[x],type:"text"};break;case 38:this.$={text:n[x],type:"text"};break;case 39:this.$={text:n[x],type:"markdown"};break;case 40:this.$=n[x];break;case 41:this.$=n[x-1]+""+n[x];break}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:a,34:o,35:d,36:g}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:a,34:o,35:d,36:g}),t(i,e,{4:2,7:4,6:9,3:10,5:a,8:[1,11],34:o,35:d,36:g}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(w,[2,34]),t(w,[2,35]),t(w,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:a,34:o,35:d,36:g}),{1:[2,3]},t(w,[2,5]),t(i,[2,7],{4:22,34:o,35:d,36:g}),{11:23,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},{11:39,13:38,24:E,27:B,29:40,30:41,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},{11:45,15:44,27:X,33:46,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},{11:49,17:48,24:Y,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},{11:52,17:51,24:Y,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},{20:[1,53]},{22:[1,54]},t(A,[2,18]),{1:[2,2]},t(A,[2,8]),t(A,[2,9]),t(U,[2,37],{40:55,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h}),t(U,[2,38]),t(U,[2,39]),t(f,[2,40]),t(f,[2,42]),t(f,[2,43]),t(f,[2,44]),t(f,[2,45]),t(f,[2,46]),t(f,[2,47]),t(f,[2,48]),t(f,[2,49]),t(f,[2,50]),t(f,[2,51]),t(A,[2,10]),t(A,[2,22],{30:41,29:56,24:E,27:B}),t(A,[2,24]),t(A,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},t(A,[2,11]),t(A,[2,30],{33:60,27:X}),t(A,[2,32]),{31:[1,61]},t(A,[2,12]),{17:62,24:Y},{25:63,27:y},t(A,[2,14]),{17:65,24:Y},t(A,[2,16]),t(A,[2,17]),t(f,[2,41]),t(A,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(A,[2,31]),{27:[1,69]},t(A,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(A,[2,15]),t(A,[2,26]),t(A,[2,27]),{11:59,32:72,37:24,38:L,39:W,40:27,41:M,42:T,43:v,44:z,45:F,46:R,47:V,48:p,49:S,50:h},t(A,[2,33]),t(A,[2,19]),{25:73,27:y},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:s(function(r,l){if(l.recoverable)this.trace(r);else{var c=new Error(r);throw c.hash=l,c}},"parseError"),parse:s(function(r){var l=this,c=[0],u=[],b=[null],n=[],Q=this.table,x="",tt=0,Ct=0,Zt=2,St=1,Jt=n.slice.call(arguments,1),_=Object.create(this.lexer),$={yy:{}};for(var nt in this.yy)Object.prototype.hasOwnProperty.call(this.yy,nt)&&($.yy[nt]=this.yy[nt]);_.setInput(r,$.yy),$.yy.lexer=_,$.yy.parser=this,typeof _.yylloc>"u"&&(_.yylloc={});var ot=_.yylloc;n.push(ot);var ti=_.options&&_.options.ranges;typeof $.yy.parseError=="function"?this.parseError=$.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function ii(P){c.length=c.length-2*P,b.length=b.length-P,n.length=n.length-P}s(ii,"popStack");function _t(){var P;return P=u.pop()||_.lex()||St,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=l.symbols_[P]||P),P}s(_t,"lex");for(var k,q,I,rt,G={},it,N,kt,et;;){if(q=c[c.length-1],this.defaultActions[q]?I=this.defaultActions[q]:((k===null||typeof k>"u")&&(k=_t()),I=Q[q]&&Q[q][k]),typeof I>"u"||!I.length||!I[0]){var ht="";et=[];for(it in Q[q])this.terminals_[it]&&it>Zt&&et.push("'"+this.terminals_[it]+"'");_.showPosition?ht="Parse error on line "+(tt+1)+`:
2
2
  `+_.showPosition()+`
3
3
  Expecting `+et.join(", ")+", got '"+(this.terminals_[k]||k)+"'":ht="Parse error on line "+(tt+1)+": Unexpected "+(k==St?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(ht,{text:_.match,token:this.terminals_[k]||k,line:_.yylineno,loc:ot,expected:et})}if(I[0]instanceof Array&&I.length>1)throw new Error("Parse Error: multiple actions possible at state: "+q+", token: "+k);switch(I[0]){case 1:c.push(k),b.push(_.yytext),n.push(_.yylloc),c.push(I[1]),k=null,Ct=_.yyleng,x=_.yytext,tt=_.yylineno,ot=_.yylloc;break;case 2:if(N=this.productions_[I[1]][1],G.$=b[b.length-N],G._$={first_line:n[n.length-(N||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(N||1)].first_column,last_column:n[n.length-1].last_column},ti&&(G._$.range=[n[n.length-(N||1)].range[0],n[n.length-1].range[1]]),rt=this.performAction.apply(G,[x,Ct,tt,$.yy,I[1],b,n].concat(Jt)),typeof rt<"u")return rt;N&&(c=c.slice(0,-1*N*2),b=b.slice(0,-1*N),n=n.slice(0,-1*N)),c.push(this.productions_[I[1]][0]),b.push(G.$),n.push(G._$),kt=Q[c[c.length-2]][c[c.length-1]],c.push(kt);break;case 3:return!0}}return!0},"parse")},C=(function(){var O={EOF:1,parseError:s(function(l,c){if(this.yy.parser)this.yy.parser.parseError(l,c);else throw new Error(l)},"parseError"),setInput:s(function(r,l){return this.yy=l||this.yy||{},this._input=r,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:s(function(){var r=this._input[0];this.yytext+=r,this.yyleng++,this.offset++,this.match+=r,this.matched+=r;var l=r.match(/(?:\r\n?|\n).*/g);return l?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),r},"input"),unput:s(function(r){var l=r.length,c=r.split(/(?:\r\n?|\n)/g);this._input=r+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-l),this.offset-=l;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var b=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===u.length?this.yylloc.first_column:0)+u[u.length-c.length].length-c[0].length:this.yylloc.first_column-l},this.options.ranges&&(this.yylloc.range=[b[0],b[0]+this.yyleng-l]),this.yyleng=this.yytext.length,this},"unput"),more:s(function(){return this._more=!0,this},"more"),reject:s(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
4
4
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:s(function(r){this.unput(this.match.slice(r))},"less"),pastInput:s(function(){var r=this.matched.substr(0,this.matched.length-this.match.length);return(r.length>20?"...":"")+r.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:s(function(){var r=this.match;return r.length<20&&(r+=this._input.substr(0,20-r.length)),(r.substr(0,20)+(r.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:s(function(){var r=this.pastInput(),l=new Array(r.length+1).join("-");return r+this.upcomingInput()+`
@@ -0,0 +1,41 @@
1
+ import{r as c}from"./vendor-react-SZ_qB27O.js";/**
2
+ * @license lucide-react v0.542.0 - ISC
3
+ *
4
+ * This source code is licensed under the ISC license.
5
+ * See the LICENSE file in the root directory of this source tree.
6
+ */const h=t=>t.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),k=t=>t.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,o,r)=>r?r.toUpperCase():o.toLowerCase()),y=t=>{const e=k(t);return e.charAt(0).toUpperCase()+e.slice(1)},l=(...t)=>t.filter((e,o,r)=>!!e&&e.trim()!==""&&r.indexOf(e)===o).join(" ").trim(),x=t=>{for(const e in t)if(e.startsWith("aria-")||e==="role"||e==="title")return!0};/**
7
+ * @license lucide-react v0.542.0 - ISC
8
+ *
9
+ * This source code is licensed under the ISC license.
10
+ * See the LICENSE file in the root directory of this source tree.
11
+ */var w={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
12
+ * @license lucide-react v0.542.0 - ISC
13
+ *
14
+ * This source code is licensed under the ISC license.
15
+ * See the LICENSE file in the root directory of this source tree.
16
+ */const C=c.forwardRef(({color:t="currentColor",size:e=24,strokeWidth:o=2,absoluteStrokeWidth:r,className:n="",children:a,iconNode:d,...i},m)=>c.createElement("svg",{ref:m,...w,width:e,height:e,stroke:t,strokeWidth:r?Number(o)*24/Number(e):o,className:l("lucide",n),...!a&&!x(i)&&{"aria-hidden":"true"},...i},[...d.map(([u,p])=>c.createElement(u,p)),...Array.isArray(a)?a:[a]]));/**
17
+ * @license lucide-react v0.542.0 - ISC
18
+ *
19
+ * This source code is licensed under the ISC license.
20
+ * See the LICENSE file in the root directory of this source tree.
21
+ */const s=(t,e)=>{const o=c.forwardRef(({className:r,...n},a)=>c.createElement(C,{ref:a,iconNode:e,className:l(`lucide-${h(y(t))}`,`lucide-${t}`,r),...n}));return o.displayName=y(t),o};/**
22
+ * @license lucide-react v0.542.0 - ISC
23
+ *
24
+ * This source code is licensed under the ISC license.
25
+ * See the LICENSE file in the root directory of this source tree.
26
+ */const f=[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]],A=s("maximize",f);/**
27
+ * @license lucide-react v0.542.0 - ISC
28
+ *
29
+ * This source code is licensed under the ISC license.
30
+ * See the LICENSE file in the root directory of this source tree.
31
+ */const g=[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]],$=s("rotate-ccw",g);/**
32
+ * @license lucide-react v0.542.0 - ISC
33
+ *
34
+ * This source code is licensed under the ISC license.
35
+ * See the LICENSE file in the root directory of this source tree.
36
+ */const v=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"11",x2:"11",y1:"8",y2:"14",key:"1vmskp"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],j=s("zoom-in",v);/**
37
+ * @license lucide-react v0.542.0 - ISC
38
+ *
39
+ * This source code is licensed under the ISC license.
40
+ * See the LICENSE file in the root directory of this source tree.
41
+ */const _=[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["line",{x1:"21",x2:"16.65",y1:"21",y2:"16.65",key:"13gj7c"}],["line",{x1:"8",x2:"14",y1:"11",y2:"11",key:"durymu"}]],L=s("zoom-out",_);export{C as I,A as M,$ as R,j as Z,L as a,s as c};
@@ -0,0 +1 @@
1
+ <svg fill="#fff5e0" fill-rule="evenodd" height="100%" style="display:block" viewBox="0 0 24 24" width="100%" xmlns="http://www.w3.org/2000/svg"><title>NousResearch</title><path d="M5.938 12.835c.127-.039.285.02.373.143.028.038.036.092.046.14.003.014-.02.033-.04.05-.124-.098-.24-.194-.354-.291-.011-.01-.016-.027-.025-.042zM8.396 9.412c.195-.032.39-.06.588-.05a.54.54 0 01.148.026c.202.071.402.147.601.224.028.01.05.036.075.055l-.013.027a9.203 9.203 0 01-.26-.089c-.115-.038-.213-.077-.315-.098-.25-.05-.25-.046-.292-.014l.574.144c.275.139.55.276.823.417.042.022.09.057.107.098.026.06.063.076.117.072.066-.006.132-.017.213-.027l-.04.086c.051.08.142.02.216.064-.074.13-.247.09-.334.199l.061.074-.12.087c0 .106-.038.168-.306.243l.026.085-.196.042.07.124h-.25l-.007.137c-.081-.01-.161-.018-.244-.027l-.053.123c-.027-.008-.052-.011-.073-.023-.067-.038-.128-.056-.195.006-.019.017-.063.014-.093.008-.026-.006-.05-.029-.07-.042-.11.095-.11.095-.208.003-.057.046-.12.074-.186.011-.063.027-.123-.02-.178-.014-.07.007-.097-.035-.133-.07l-.13.033c-.013-.236-.194-.19-.34-.203.005-.072.05-.092.095-.094a.474.474 0 01.159.022c.164.05.32.12.496.138.203.021.405.029.601-.015.265-.059.52-.149.707-.365.049-.056.083-.127.117-.195.019-.038.02-.084-.02-.116a1.397 1.397 0 00-.382-.217c.024.12-.031.182-.115.221 0 .014-.004.025 0 .03.08.115.084.16-.007.267a1.39 1.39 0 01-.218.211.477.477 0 01-.641-.05 1.36 1.36 0 01-.133-.152c-.078-.107-.076-.108-.033-.236-.165-.08-.128-.226-.104-.364.008-.05.028-.096.049-.163-.04.014-.067.017-.087.032a.897.897 0 00-.316.357c-.007.016-.01.034-.02.047-.012.015-.034.038-.045.035-.02-.006-.037-.027-.05-.045-.008-.012-.007-.032-.012-.057h-.126l.053-.172a14.82 14.82 0 00-.039-.049l.11-.284c-.06.026-.091.044-.124.051-.03.007-.064 0-.095 0 0-.031-.01-.07.004-.092.149-.22.305-.428.593-.476z"></path><path d="M8.06 10.788c-.003-.038-.004-.075.037-.062.016.006.034.048.028.067-.01.04-.038.032-.064-.005z"></path><path clip-rule="evenodd" d="M11.981.009c.226-.012.453-.011.679 0 .247.01.495.024.74.062.401.064.798.157 1.19.273.463.138.92.299 1.356.511a7.31 7.31 0 012.948 2.642c.292.469.536.963.739 1.479.219.556.446 1.11.623 1.683.204.654.329 1.326.458 1.997.097.504.182 1.01.29 1.511.156.722.329 1.44.494 2.16.186.812.4 1.615.63 2.415.102.355.193.713.282 1.072.11.436.202.876.254 1.323.031.278.066.557.073.837a7.56 7.56 0 01-.017.88c-.037.413-.1.818-.226 1.212a5.017 5.017 0 01-.915 1.649l-.13.156.018.023c.043-.023.088-.041.127-.068.2-.138.373-.307.531-.49.4-.46.721-.973.975-1.529a3.59 3.59 0 00.325-1.72c-.024-.424-.097-.834-.3-1.213-.013-.027-.015-.06-.03-.121.05.035.082.048.101.072.107.13.22.258.315.398.33.494.46 1.052.486 1.64a3.75 3.75 0 01-.47 1.97c-.36.655-.887 1.14-1.526 1.506-.193.111-.394.21-.595.308-.157.078-.248.211-.318.365a.522.522 0 00-.033.406.359.359 0 01.013.139c-.005.077-.077.155-.14.162-.054.006-.125-.043-.15-.116a1.206 1.206 0 01-.06-.233c-.04-.314-.155-.6-.308-.87a3.906 3.906 0 00-.73-.91 2.129 2.129 0 00-.897-.524 4.093 4.093 0 00-.692-.131c-.075-.008-.15-.04-.22.01.18.06.363.11.538.18.434.173.82.43 1.18.728.308.255.58.543.794.884.098.155.186.315.227.496.027.123.042.25.067.375.013.062-.002.109-.053.144-.047.033-.122.034-.163-.01a.455.455 0 01-.08-.14c-.03-.073-.038-.159-.078-.225a7.314 7.314 0 00-1.423-1.664c-.16-.137-.329-.26-.537-.323-.376-.114-.753-.203-1.15-.154-.213.025-.427.032-.64.053a1.6 1.6 0 00-.736.278 5.14 5.14 0 00-.834.72c-.329.342-.642.699-.955 1.055-.136.155-.264.319-.314.531a5.227 5.227 0 00-.012.051.096.096 0 01-.09.076h-.31c-.046 0-.082-.048-.072-.094.023-.108.045-.216.07-.324.075-.325.19-.635.368-.917.024-.039.04-.088.104-.08l.01.049.027.077c.28-.435.571-.834.996-1.135.283-.204.584-.378.89-.55a.196.196 0 00-.098-.002c-.162.043-.325.084-.485.134-.402.124-.764.33-1.11.566-.147.1-.298.193-.414.333a7.314 7.314 0 00-1.07 1.767.845.845 0 00-.04.12.075.075 0 01-.072.056h-.494c-.04 0-.062-.051-.036-.082.123-.14.246-.282.377-.415.275-.281.58-.532.777-.884.027-.048.063-.09.095-.135.238-.333.54-.607.818-.902.082-.086.175-.16.26-.24.029-.027.053-.057.079-.085l-.018-.025-.135.041c-.034.017-.07.031-.102.05-.248.144-.494.292-.743.433-.408.23-.825.439-1.209.711-.281.2-.591.358-.889.533-.02.012-.044.015-.08.028-.015-.135.143-.201.108-.336-.033.014-.064.02-.085.038-.111.096-.227.19-.328.296-.148.157-.284.325-.425.488-.125.143-.25.286-.373.431A.153.153 0 019.89 24H8.762a.316.316 0 00.016-.042c.028-.09.085-.172.083-.28-.091-.018-.162.001-.212.077a4.45 4.45 0 00-.136.215c-.01.016-.024.03-.042.03h-.093c-.019 0-.029-.022-.017-.037.071-.088.14-.178.209-.268.001-.002-.006-.012-.012-.024-.014.004-.03.006-.045.013-.176.09-.352.181-.527.274a.363.363 0 01-.168.042H5.202c-.026 0-.039-.036-.019-.053.21-.178.402-.374.558-.605.335-.496.538-1.047.667-1.629.004-.02-.003-.043-.006-.091-.037.048-.059.072-.076.1a1.943 1.943 0 01-.334.415c-.28.258-.59.448-.983.464-.297.012-.588 0-.865-.127-.46-.21-.722-.57-.794-1.072-.025-.17-.017-.171-.182-.219A3.513 3.513 0 011.97 20.6a2.286 2.286 0 01-.808-1.13 3.569 3.569 0 01-.16-1.245c.002-.034.016-.067.024-.1.032.023.046.043.05.066.033.153.059.308.096.46.086.355.257.664.516.92.258.256.571.419.91.532.358.118.717.138 1.07-.016a1.89 1.89 0 00.621-.452c.328-.348.533-.76.648-1.223.009-.034.005-.071.007-.11-.015.006-.026.006-.03.011-.031.05-.064.1-.093.152-.284.502-.679.887-1.196 1.135-.351.17-.718.255-1.11.159a1.607 1.607 0 01-.971-.64 2.006 2.006 0 01-.368-.924 2.903 2.903 0 01.02-.886c.05-.439.466-1.17.742-1.271-.02.063-.035.112-.053.16-.043.116-.097.227-.13.345a1.901 1.901 0 00-.05.82c.033.212.09.416.204.6.147.236.346.407.62.465.11.023.225.014.338.018a.576.576 0 00.386-.131c.164-.128.282-.292.366-.481.168-.375.24-.777.309-1.179.05-.296.093-.594.133-.893.039-.281.071-.563.104-.845.026-.232.048-.464.074-.696.024-.228.052-.455.076-.683.024-.227.047-.455.069-.683.013-.14.022-.28.034-.42l.037-.417c.022-.25.041-.5.065-.748.008-.082-.02-.132-.09-.177a2.46 2.46 0 01-.492-.418c-.1-.109-.188-.228-.282-.342-.035-.042-.056-.097-.116-.118a2.084 2.084 0 00.275.597c.06.092.131.176.196.265.063.086.182.115.234.226-.028.003-.046.01-.06.006a4.74 4.74 0 01-.22-.057 2.71 2.71 0 01-1.287-.819c-.435-.487-.656-1.076-.71-1.723a5.206 5.206 0 01.014-1.06c.072-.602.22-1.186.45-1.745.155-.376.338-.741.526-1.102.205-.393.466-.75.765-1.076.512-.559 1.104-1.024 1.726-1.448.717-.49 1.478-.898 2.277-1.233C8.244.828 8.767.632 9.31.494c.655-.166 1.31-.33 1.982-.415.229-.03.458-.058.688-.07zm-1.847 22.82c-.07.06-.147.111-.207.18-.238.27-.464.549-.668.869l-.044.108a.177.177 0 00.093-.057c.174-.19.351-.378.519-.574.104-.122.195-.255.288-.386.024-.034.03-.08.046-.12l-.027-.02zm1.65-3.695a5.51 5.51 0 00-.653.593l-.37.386a.963.963 0 01-.377.25 1.372 1.372 0 01-.467.09c-.044 0-.087.006-.151.012.028.058.043.097.064.131.15.242.301.482.45.724.136.22.276.438.399.666.068.125.105.267.156.404.077.027.14-.018.202-.048.29-.135.579-.274.867-.412.213-.101.437-.186.636-.31.347-.215.68-.455 1.018-.685.015-.01.026-.028.042-.046-.023-.019-.038-.037-.056-.044-.287-.111-.527-.3-.77-.482a5.319 5.319 0 01-.506-.42 1.757 1.757 0 01-.41-.653c-.019-.049-.045-.095-.075-.156zm-5.847.264c-.06.096-.097.194-.132.293a3.38 3.38 0 01-.555 1.01c-.2.25-.455.412-.762.493-.23.06-.464.076-.7.07-.048-.002-.097.002-.158.005.016.04.021.066.035.085.1.145.23.246.4.295.157.046.316.034.498.023.181-.037.343-.115.485-.234.238-.199.402-.454.536-.732.175-.363.264-.751.342-1.144.01-.053.008-.11.011-.164zm14.945-4.586c.008.029.016.057.027.107.024.155.051.31.072.464.03.219.067.437.078.657.017.344.027.689-.014 1.033-.037.315-.063.633-.116.946a6.153 6.153 0 01-.46 1.518c-.008.018-.01.039-.02.082.047-.03.077-.042.098-.064.085-.083.17-.167.248-.255.271-.305.458-.66.596-1.043.18-.498.228-1.011.145-1.531-.103-.65-.33-1.263-.597-1.881a9.055 9.055 0 00-.024-.055l-.033.022zM5.797 8.29a.26.26 0 00.018.153c.124.251.25.501.379.75.025.049.066.09.03.163-.284.06-.578.119-.88.255.059.038.097.06.132.087.042.032.112.058.09.12-.01.033-.075.048-.117.072.017.01.043.021.067.036.166.102.33.207.447.368.138.192.229.404.188.644-.079.469-.306.85-.69 1.132-.054.04-.106.083-.161.122a.243.243 0 00-.103.245.77.77 0 00.055.195c.083.196.22.35.375.492.083.076.159.164.222.257a.37.37 0 01.025.377c-.023.05-.05.099-.076.148-.03.06-.028.111.022.162.041.042.08.089.112.138.038.058.078.079.147.05a.486.486 0 01.333-.006c.16.046.302.126.444.21.13.077.264.149.4.219.067.035.14.05.219.026.071-.022.124.01.145.076.02.064-.003.108-.074.139-.07.03-.137.063-.209.088-.1.035-.201.073-.314.077-.013-.107.11-.088.127-.159-.206-.126-.643-.145-.801-.034.063.112.035.21-.096.313-.13-.1-.025-.202.002-.3a.209.209 0 00-.249.17c-.015.101.067.216.178.224.108.007.218-.005.326-.012.06-.005.12-.027.199 0-.103.123-.248.127-.357.19.002.05.07.086.019.131-.053.048-.095-.001-.132-.03-.08-.063-.16-.126-.231-.197a.474.474 0 01-.157-.311.52.52 0 00-.043-.172c-.032-.074-.032-.137.033-.19-.018-.03-.028-.053-.045-.072a1.222 1.222 0 01-.196-.369c-.053-.137-.046-.264.048-.381.024-.03.05-.06.064-.095a.664.664 0 00.047-.168c.017-.165-.064-.287-.182-.387-.186-.156-.36-.322-.46-.551-.005-.011-.024-.017-.037-.026-.011.017-.024.027-.025.038-.019.185-.045.37-.052.557-.014.377.058.743.162 1.104.118.41.289.798.488 1.173.267.502.537 1.002.812 1.5.055.098.13.189.208.27.198.202.452.272.724.273.202 0 .404-.006.605-.026.295-.03.59-.073.884-.113.183-.025.365-.057.548-.08.21-.026.38.073.522.21.16.156.305.327.447.5.22.265.397.56.554.867.05.098.07.1.147.03.13-.121.26-.242.394-.36.067-.059.088-.12.067-.213a3.535 3.535 0 01-.085-.796c.002-.157.006-.314.018-.471.015-.224.03-.45.06-.672a59.114 59.114 0 01.362-2.298c.087-.493.182-.984.268-1.477.06-.347.118-.694.162-1.043.034-.273.055-.55.063-.825.011-.332.003-.665.002-.998 0-.077.004-.155-.01-.23-.028-.142-.01-.155-.162-.19a5.826 5.826 0 00-.607-.107c-.146-.018-.207-.053-.221-.19-.006-.049-.025-.098-.041-.146-.009-.025-.024-.048-.046-.09l-.025.264c-.009.096-.029.116-.127.115-.055 0-.11-.008-.164-.008-.476 0-.952-.008-1.426.032-.095.008-.173-.015-.226-.103-.04-.066-.088-.126-.134-.186-.063-.084-.086-.093-.182-.06-.195.068-.388.138-.582.21a2.71 2.71 0 00-.675.394.986.986 0 01-.323.168c-.033.01-.07.008-.127.013.02-.066.024-.114.047-.15.064-.105.135-.205.205-.306.023-.033.049-.063.073-.095l-.015-.023-.201.037c-.146.04-.296.07-.437.122-.148.053-.266.023-.386-.072a3.623 3.623 0 01-.733-.786l-.093-.132zm8.592 8.963l-.147.09c-.22.134-.44.266-.659.402-.093.058-.184.12-.27.188-.085.07-.124.161-.072.272.047.1.093.2.147.294.047.08.124.138.213.147.11.01.228.012.336-.012.217-.05.372-.205.528-.357a.291.291 0 00.087-.308c-.046-.18-.079-.365-.118-.547-.011-.052-.027-.103-.045-.169zm-.257-2.409c-.12.291-.205.597-.325.91-.151.433-.294.87-.435 1.323.036-.01.054-.01.067-.018.261-.16.522-.324.785-.484.054-.033.071-.078.065-.138-.012-.13-.024-.262-.034-.393l-.068-.886c-.008-.103-.02-.206-.029-.31-.009 0-.017-.002-.026-.004zm3.081-8.13l.099.285c.08.231.159.463.24.714l.58 1.952c.187.63.372 1.262.558 1.893.114.382.235.762.343 1.146.072.257.126.519.186.799.044.206.087.413.127.64.034.106.023.226.077.325l.025-.006-.068-.362c-.038-.206-.077-.412-.113-.638-.015-.07-.029-.141-.046-.211-.095-.396-.177-.796-.29-1.187-.196-.685-.413-1.364-.618-2.046-.165-.549-.322-1.1-.488-1.648-.069-.227-.15-.45-.226-.695l-.117-.336c-.037-.107-.075-.216-.115-.322-.04-.106-.084-.21-.127-.314a7.558 7.558 0 01-.027.01zM6.225 14.304c-.063-.001-.115.014-.134.083a.35.35 0 00.41.012 4.533 4.533 0 00-.276-.095zM5.23 11.98c-.026-.027-.057-.048-.075.002-.012.032-.007.07-.01.113.082-.037.082-.037.085-.115zm.062-1.189a.135.135 0 00-.088.056.197.197 0 00-.025.11c.005.152.01.306.026.457a.751.751 0 00.066.218c.061.136.157.167.288.101.055-.027.06-.054.025-.11a4.52 4.52 0 01-.129-.211c-.015-.068-.066-.131-.033-.207.04-.09-.076-.116-.074-.19V10.874c-.003-.038-.006-.087-.056-.083zm-.017-.968a.867.867 0 00-.467.127c-.076.045-.084.07-.05.158.034.087.07.173.115.254.064.117.09.125.21.077a.657.657 0 01.336-.053c.202.022.357.136.504.264l.092.077c.007-.006.014-.013.022-.018-.019-.105-.035-.226-.149-.264-.157-.053-.324-.075-.508-.117l-.24-.005c.24-.169.452-.044.687.009-.063-.115-.153-.147-.23-.193-.082-.05-.17-.092-.25-.144-.06-.037-.12-.08-.072-.172zm10.233.325c-.23-.01-.427.08-.608.211-.034.026-.06.065-.105.117.087.026.15.046.232.065.044-.015.088-.03.13-.046.306-.114.61-.115.904.031.126.063.237.04.366-.005-.02-.031-.03-.054-.045-.071a.986.986 0 00-.448-.273c-.14-.044-.284-.024-.426-.03zM7.99 6.483a.308.308 0 00.002.133c.08.321.156.643.242.962.104.387.27.75.456 1.103.02.037.061.08.098.087a.404.404 0 00.253-.051l-.472-.84c-.23-.448-.405-.92-.579-1.394zM10.397.497c-.2-.008-.405.004-.603.034-.236.035-.47.087-.7.152-.287.08-.569.18-.852.273-.04.013-.074.038-.11.058.028.014.05.018.07.014.287-.068.58-.085.873-.09.134-.002.269.009.402.025.19.024.382.048.57.09.456.104.874.3 1.265.556.464.306.888.66 1.257 1.078.205.232.395.475.56.739.17.274.315.561.449.856.273.601.456 1.232.6 1.876.04.173.07.348.1.524.017.104.065.167.17.19.122.028.2.105.22.251-.003.102-.06.174-.129.24a1.065 1.065 0 00-.268.358.164.164 0 00.083-.039c.08-.086.162-.172.235-.265a.56.56 0 00.13-.333c.009-.05.022-.1.024-.15.007-.124-.017-.15-.143-.168-.025-.004-.049-.014-.073-.015-.082-.007-.125-.063-.137-.131-.033-.198-.004-.355.247-.408.086-.018.174-.03.26-.042.158-.023.315-.053.473-.067.14-.012.19.033.226.167.008.029.018.057.021.087.019.179-.008.225-.141.288-.027.013-.055.024-.078.042a.148.148 0 00-.051.067c-.039.144.073.382.206.445l.673.32c.023.011.05.015.075.023l.018-.026c-.015-.008-.032-.013-.044-.024a2.27 2.27 0 00-.544-.32 4.898 4.898 0 00-.173-.075.203.203 0 01-.126-.191c-.003-.085.045-.154.128-.187l.059-.025c.099-.044.118-.076.112-.187a.384.384 0 00-.008-.063c-.067-.294-.123-.59-.205-.88a9.478 9.478 0 00-.826-2.036 7.465 7.465 0 00-1.39-1.805 4.536 4.536 0 00-1.177-.824 3.656 3.656 0 00-1.016-.328 6.155 6.155 0 00-.712-.074zm6.719 5.955c.01.014.018.028.038.034l-.022-.044-.016.01zM4.103 3.917a.062.062 0 01-.03.012.455.455 0 01-.04.039c-.01.01-.02.02-.045.04l-.363.354c-.088.085-.17.178-.266.253-.284.22-.425.53-.544.855a.132.132 0 00-.007.071c.013.055.033.108.052.168l.074.026c-.017.056-.03.105-.047.152-.058.164-.118.327-.175.491-.005.015.008.036.019.077.08-.175.158-.33.225-.489.228-.544.484-1.074.819-1.561.09-.133.182-.266.283-.401.004-.006.007-.013.022-.03.001-.016.003-.032.015-.04l.008-.017zm12.976 2.408a.023.023 0 01.009.019.073.073 0 00-.006.01.188.188 0 00.007.02l.018.022c.002-.007.007-.016.005-.021-.003-.01-.012-.018-.02-.038a1.331 1.331 0 01-.013-.012zM4.199 4.48c-.003.004-.008.008-.027.014-.005.013-.011.025-.031.047a2.085 2.085 0 01-.124.167c-.048.07-.116.055-.181.041-.134-.028-.228.016-.287.143-.089.187-.187.37-.273.56-.049.108-.11.216-.118.36.081.003.154.007.228.008h.228a2.563 2.563 0 01-.079.264c-.01.052-.022.103-.033.155l.02.004c.018-.046.037-.092.067-.153.066-.142.13-.285.2-.426.02-.04.034-.1.116-.092 0 .043.004.084 0 .124-.005.045-.017.09-.028.143.141.043.086.174.115.269.102-.022.104-.195.248-.144v.205l.017.002.439-1.059c-.13 0-.246-.02-.358.033-.024.011-.058-.001-.108-.004.075-.15.139-.278.211-.417a.128.128 0 01.025-.036c0-.015-.001-.03.008-.038l.006-.02c-.005.006-.01.011-.028.017-.004.012-.009.024-.026.045a.085.085 0 01-.032.033c-.123.157-.09.164-.258.106-.079-.027-.078-.028-.047-.144.028-.046.056-.093.098-.15 0-.016-.001-.032.007-.042L4.2 4.48zm2.073-.67c-.003.006-.007.011-.027.016-.094.125-.194.246-.28.377-.155.238-.301.481-.451.723-.14.224-.345.368-.575.481-.017.008-.04.006-.079.011.012-.059.016-.109.033-.153a6.076 6.076 0 01.229-.518l-.007-.02a.138.138 0 01-.035.025c-.028.05-.055.1-.093.164-.26.424-.443.817-.442.95.024.004.048.011.073.013.177.013.188.007.26-.165.03-.07.077-.12.147-.15l.175-.07c.044-.018.085-.057.146-.032.003.05-.01.11.014.145.042.062.044.125.047.193.002.049.017.098.026.147.029-.034.039-.065.05-.097.142-.39.277-.782.428-1.17.1-.256.22-.504.33-.756.013-.03.013-.067.03-.092V3.81zm3.987-.34c0 .045.01.084.021.123.042.16.094.318.124.48.024.133.023.27.028.406 0 .033-.019.067-.032.11-.094-.058-.047-.158-.106-.215h-.125c-.015.072-.01.152-.046.2-.066.085-.155.154-.236.227-.043.038-.078.018-.103-.025l-.046-.087c-.065.035-.117.069-.172.093-.116.051-.235.095-.35.147-.085.038-.09.053-.07.147.014.075.034.148.047.223.013.072.05.109.123.124.233.05.462.115.657.265.058-.102.058-.102.168-.151.03-.014.06-.03.092-.042.08-.03.115-.017.15.06.023.048.041.098.066.158.06-.14-.042-.267.017-.416.157.18.24.39.375.567a.235.235 0 00.022-.098c.002-.124 0-.247.002-.371 0-.034.013-.067.02-.1l.032-.003c.11.155.13.354.226.52a3.036 3.036 0 00-.01-.392c-.004-.045 0-.074.05-.088.08.036.116.14.215.158-.03-.275-.423-1.137-.798-1.635-.114-.127-.2-.28-.34-.386zm-2.667.696c-.019.034-.03.05-.037.067-.061.185-.125.37-.18.556-.031.105-.087.169-.195.19-.09.019-.178.052-.268.073-.038.009-.089.015-.118-.003-.024-.016-.025-.069-.036-.106-.064.076-.082.087-.17.047-.133-.062-.262-.135-.393-.201-.048-.025-.093-.063-.17-.03-.043.12-.091.25-.137.382-.099.28-.087.242.095.453.046.048.102.03.154.023.054-.009.106-.03.16-.036.13-.013.26-.08.367-.015.204-.064.387-.122.571-.178.05-.015.089.005.114.054.022.042.034.093.082.121.038-.056-.013-.128.063-.178l.14.241-.042-1.46zm.278.358c-.096-.01-.107.01-.11.108-.002.038-.003.078.002.115.03.2.099.386.174.57.002.006.012.01.022.015l.078-.05c.052.036.081.088.153.088.205-.002.41.014.616.012.099-.001.158.042.205.12.018.03.024.077.088.066l-.08-.394c-.05-.195-.085-.395-.172-.589-.057.057-.114.068-.18.046a.72.72 0 00-.135-.028c-.22-.028-.44-.059-.66-.08zm10.254-1.727c.089.163.155.316.139.491-.016.168.026.342-.044.516-.047-.033-.088-.082-.112-.075-.117.035-.164-.057-.227-.115a4.772 4.772 0 01-.286-.29l-.104-.113a4.856 4.856 0 01-.023.019c.035.046.07.093.11.156.04.064.084.127.122.193.034.058.065.118.031.205-.082-.01-.164-.019-.246-.032-.06-.01-.101 0-.124.07-.031.098-.037.096-.15.09.02.042.036.08.057.116.041.074.03.138-.03.196-.06.06-.118.122-.178.181a.175.175 0 01-.185.046c-.222-.061-.447-.113-.67-.174-.032-.009-.063-.04-.086-.068-.03-.04-.052-.087-.08-.13-.044-.07-.09-.138-.136-.207a.18.18 0 00-.014.105c.012.127.03.253.035.38.005.1-.024.12-.121.104-.104-.017-.206-.04-.31-.058-.064-.012-.131-.028-.202.03l.081.208c.09 0 .166-.01.237.002a.819.819 0 01.458.251c.078.083.154.168.241.26l.018-.005c-.004-.006-.008-.013-.01-.04.014-.056-.062-.118.018-.178.031.03.064.057.088.09.058.078.111.159.169.257l.089.141.024-.013a2093.819 2093.819 0 01-.427-.934c.055.007.083.007.108.016.193.07.385.142.577.216.074.028.147.06.219.094.062.028.112.018.157-.033.05-.056.102-.112.154-.167.05-.051.095-.046.132.014.016.025.026.053.04.08.071.138.143.277.217.433l.159.308.025-.011c-.044-.106-.07-.218-.138-.334-.057-.182-.168-.346-.206-.545.136.034.362.326.567.732l.057.074.018-.011a1.563 1.563 0 01-.052-.127c-.046-.145-.097-.29-.136-.436-.022-.083-.036-.173.022-.26l.109.058-.026-.207.027-.016c.022.02.05.036.065.06.073.108.143.22.215.33.01.016.029.029.043.043-.036-.217-.2-.38-.229-.626l.155.112c.014-.166.012-.319.042-.465.032-.158-.023-.297-.063-.445.024.004.036.006.055.025.092.124.183.249.277.371.02.027.05.047.069.087l.04.063.019-.015a.293.293 0 01-.053-.082 27.922 27.922 0 01-.332-.49c-.221-.311-.363-.467-.485-.521zm-6.57.327c-.003.161.092.275.069.415l-.368.087c.09.139.032.237-.052.331-.05.057-.092.122-.143.178-.037.04-.046.078-.018.126l.16.275c.029.048.072.066.128.064.076-.003.152 0 .228-.001.116-.003.216.022.275.137.006.014.02.024.044.052.004-.059-.003-.098.01-.13.016-.04.04-.099.072-.108.084-.023.173-.024.26-.03.013-.001.027.018.04.029l.071.065c.019-.11-.082-.198-.024-.31l.126.04c-.026-.123-.07-.245-.071-.366 0-.123.051-.243.115-.36.107.062.16.156.234.253.183.265.36.533.494.834.165-.078.27.068.407.088-.003-.106-.133-.441-.197-.492a.142.142 0 00-.102-.028c-.06.011-.119.039-.191.063-.025-.039-.056-.078-.077-.122a3.936 3.936 0 00-.473-.783c-.076-.094-.16-.182-.228-.26l-.391.285c-.049.035-.094.03-.132-.017l-.169-.207c-.025-.03-.053-.059-.097-.108z"></path></svg>
@@ -0,0 +1,244 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <!-- Viewport configured for Capacitor mobile webview: disables pinch-zoom for app-like feel -->
6
+ <!-- interactive-widget=resizes-content: Android Chrome shrinks the layout
7
+ viewport when the soft keyboard opens, matching iOS behavior. Without
8
+ this, Chrome decouples layout viewport (innerHeight) from visual
9
+ viewport, leaving innerHeight stale and breaking keyboard-overlap math. -->
10
+ <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, viewport-fit=cover, interactive-widget=resizes-content" />
11
+ <script>
12
+ // Android Chrome (multi-window / split-screen / certain WebView modes)
13
+ // can leave the initial containing block (window.innerWidth/Height)
14
+ // stuck larger than the actual rendered canvas, while the DOM,
15
+ // visualViewport, and body all report the true dimensions. JS cannot
16
+ // force Chrome to recompute the ICB (neither setAttribute nor full
17
+ // element replacement of <meta viewport> works on those builds). So
18
+ // we publish the ICB→visible-viewport delta as CSS variables and
19
+ // `position: fixed` elements (nav bar, status bar) compensate via
20
+ // `bottom: var(--icb-bottom-offset)` etc. Healthy browsers see 0px.
21
+ (function () {
22
+ if (typeof window === 'undefined') return;
23
+ var baselineViewportHeight = null;
24
+ var NON_TEXT_INPUT_TYPES = {
25
+ checkbox: true,
26
+ radio: true,
27
+ button: true,
28
+ submit: true,
29
+ reset: true,
30
+ file: true,
31
+ range: true,
32
+ color: true,
33
+ hidden: true,
34
+ };
35
+ var isKeyboardFocusableElement = function (el) {
36
+ if (!el) return false;
37
+ if (el instanceof HTMLTextAreaElement) return true;
38
+ if (el instanceof HTMLInputElement) {
39
+ var type = (el.type || '').toLowerCase();
40
+ return !NON_TEXT_INPUT_TYPES[type];
41
+ }
42
+ return el instanceof HTMLElement && el.isContentEditable;
43
+ };
44
+ var apply = function () {
45
+ var vv = window.visualViewport;
46
+ var de = document.documentElement;
47
+ if (!de) return;
48
+ var innerW = window.innerWidth;
49
+ var innerH = window.innerHeight;
50
+ // Position relative to the visual viewport (what the user actually
51
+ // sees). This works correctly across states:
52
+ // - Healthy: vv == ICB, offsets are 0.
53
+ // - Chrome ICB-stuck-large bug: vv smaller than ICB → offset > 0
54
+ // pulls fixed elements up/left into the visible area.
55
+ // - Pinch-zoom in: vv smaller than ICB → ditto.
56
+ // - Pinch-zoom out: vv larger than ICB → offsets clamp at 0.
57
+ var vvW = vv ? Math.round(vv.width) : innerW;
58
+ var vvH = vv ? Math.round(vv.height) : innerH;
59
+ var vvOffTop = vv ? vv.offsetTop : 0;
60
+ var vvOffLeft = vv ? vv.offsetLeft : 0;
61
+ var vvScale = vv ? vv.scale : 1;
62
+ var rightOffset = Math.max(0, innerW - vvOffLeft - vvW);
63
+ var rawBottomOffset = Math.max(0, innerH - vvOffTop - vvH);
64
+ var activeElementIsKeyboardFocusable = isKeyboardFocusableElement(document.activeElement);
65
+ if (!activeElementIsKeyboardFocusable) {
66
+ baselineViewportHeight = baselineViewportHeight === null ? vvH : Math.max(baselineViewportHeight, vvH);
67
+ }
68
+
69
+ // Keep in sync with packages/dashboard/app/utils/viewportOffset.ts.
70
+ // Ignore keyboard-driven visualViewport shrink (iOS) so fixed mobile
71
+ // bars stay pinned to page bottom and are covered by keyboard.
72
+ var bottomOffset = rawBottomOffset;
73
+ if (activeElementIsKeyboardFocusable && vvScale <= 1.01 && baselineViewportHeight !== null) {
74
+ var keyboardShrink = Math.max(0, baselineViewportHeight - vvH);
75
+ if (keyboardShrink > 0) {
76
+ bottomOffset = Math.max(0, rawBottomOffset - keyboardShrink);
77
+ }
78
+ }
79
+ de.style.setProperty('--icb-right-offset', rightOffset + 'px');
80
+ de.style.setProperty('--icb-bottom-offset', bottomOffset + 'px');
81
+ };
82
+ window.addEventListener('orientationchange', apply);
83
+ window.addEventListener('resize', apply);
84
+ if (window.visualViewport) {
85
+ window.visualViewport.addEventListener('resize', apply);
86
+ window.visualViewport.addEventListener('scroll', apply);
87
+ }
88
+ apply();
89
+ // Tail: ICB can drift after task content renders.
90
+ setTimeout(apply, 100);
91
+ setTimeout(apply, 500);
92
+ setTimeout(apply, 1500);
93
+ setTimeout(apply, 3000);
94
+ })();
95
+ </script>
96
+ <script>
97
+ // Append ?vpdebug to the URL to show a fixed overlay with live viewport
98
+ // + media-query state. Diagnostic only.
99
+ (function () {
100
+ if (!/[?&]vpdebug\b/.test(location.search)) return;
101
+ var box = document.createElement('div');
102
+ box.style.cssText =
103
+ 'position:fixed;top:0;right:0;z-index:2147483647;background:#000;color:#0f0;font:11px/1.3 monospace;padding:6px 8px;border:1px solid #0f0;white-space:pre;pointer-events:none;max-width:70vw;';
104
+ var update = function () {
105
+ if (document.body && box.parentNode !== document.body) document.body.appendChild(box);
106
+ var vv = window.visualViewport;
107
+ var nav = document.querySelector('.mobile-nav-bar');
108
+ var navInfo = 'null';
109
+ if (nav) {
110
+ var r = nav.getBoundingClientRect();
111
+ var cs = window.getComputedStyle(nav);
112
+ navInfo = Math.round(r.width) + 'x' + Math.round(r.height) + ' disp=' + cs.display + ' vis=' + cs.visibility;
113
+ }
114
+ var mqMobile768 = window.matchMedia('(max-width: 768px)').matches;
115
+ var mqMobileH = window.matchMedia('(max-height: 480px)').matches;
116
+ var mqMobileCombo = window.matchMedia('(max-width: 768px), (max-height: 480px)').matches;
117
+ var mqTablet = window.matchMedia('(min-width: 769px) and (max-width: 1024px)').matches;
118
+ box.textContent =
119
+ 'win ' + window.innerWidth + 'x' + window.innerHeight + '\n' +
120
+ 'vv ' + (vv ? Math.round(vv.width) + 'x' + Math.round(vv.height) + ' s' + vv.scale.toFixed(2) : 'n/a') + '\n' +
121
+ 'dpr ' + window.devicePixelRatio + '\n' +
122
+ 'html ' + document.documentElement.clientWidth + 'x' + document.documentElement.clientHeight + '\n' +
123
+ 'body ' + (document.body ? document.body.clientWidth + 'x' + document.body.clientHeight : 'n/a') + '\n' +
124
+ 'mq w<=768 ' + mqMobile768 + '\n' +
125
+ 'mq h<=480 ' + mqMobileH + '\n' +
126
+ 'mq combo ' + mqMobileCombo + '\n' +
127
+ 'mq tablet ' + mqTablet + '\n' +
128
+ 'nav ' + navInfo + '\n' +
129
+ 'orient ' + (screen.orientation ? screen.orientation.type : 'n/a');
130
+ };
131
+ var attach = function () {
132
+ if (!document.body) { requestAnimationFrame(attach); return; }
133
+ document.body.appendChild(box);
134
+ update();
135
+ setInterval(update, 500);
136
+ window.addEventListener('resize', update);
137
+ window.addEventListener('orientationchange', update);
138
+ if (window.visualViewport) window.visualViewport.addEventListener('resize', update);
139
+ };
140
+ attach();
141
+ })();
142
+ </script>
143
+ <title>Fusion</title>
144
+ <link rel="icon" type="image/svg+xml" href="./logo.svg" />
145
+ <link rel="manifest" href="./manifest.json" />
146
+ <link
147
+ rel="preload"
148
+ href="./fonts/SymbolsNerdFontMono-Regular.ttf"
149
+ as="font"
150
+ type="font/ttf"
151
+ crossorigin
152
+ />
153
+ <meta name="theme-color" content="#1a1a2e" />
154
+ <meta name="apple-mobile-web-app-capable" content="yes" />
155
+ <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />
156
+ <link rel="apple-touch-icon" href="./icons/icon-192.png" />
157
+ <script>
158
+ // Theme initialization - runs before React to prevent flash
159
+ (function() {
160
+ try {
161
+ var mode = localStorage.getItem('kb-dashboard-theme-mode') || 'dark';
162
+ var colorTheme = localStorage.getItem('kb-dashboard-color-theme') || 'ocean';
163
+ var validThemes = ['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'];
164
+ // FNXC:DashboardTheming 2026-06-22-18:36: Unset startup theme is Ocean; an explicit stored "default" remains Fusion Legacy and must not be migrated.
165
+ // FNXC:DashboardTheming 2026-06-20-00:00: FN-6813 remaps the legacy mono id before pre-hydration validation so persisted users keep the red mono accent.
166
+ if (colorTheme === 'shadcn-mono') colorTheme = 'shadcn-mono-red';
167
+ if (!validThemes.includes(colorTheme)) {
168
+ colorTheme = 'ocean';
169
+ }
170
+ var fontScale = Number(localStorage.getItem('kb-dashboard-font-scale-pct') || '100');
171
+ if (!Number.isFinite(fontScale)) {
172
+ fontScale = 100;
173
+ }
174
+ fontScale = Math.min(125, Math.max(85, Math.round(fontScale)));
175
+ var systemDark = window.matchMedia('(prefers-color-scheme: dark)').matches;
176
+ var effectiveMode = mode === 'system' ? (systemDark ? 'dark' : 'light') : mode;
177
+ document.documentElement.setAttribute('data-theme', effectiveMode);
178
+ document.documentElement.setAttribute('data-color-theme', colorTheme);
179
+ document.documentElement.style.fontSize = fontScale + '%';
180
+ var shadcnCustomColorTokens = ['--accent', '--bg', '--surface', '--card', '--border', '--text', '--text-muted', '--todo', '--in-progress', '--in-review', '--triage', '--done', '--color-success', '--color-warning', '--color-error'];
181
+ for (var cleanupIndex = 0; cleanupIndex < shadcnCustomColorTokens.length; cleanupIndex += 1) {
182
+ document.documentElement.style.removeProperty(shadcnCustomColorTokens[cleanupIndex]);
183
+ }
184
+ if (colorTheme === 'shadcn-custom') {
185
+ try {
186
+ var shadcnCustomColors = JSON.parse(localStorage.getItem('kb-dashboard-shadcn-custom-colors') || '{}');
187
+ var validHex = /^#(?:[\da-f]{3}|[\da-f]{6})$/i;
188
+ for (var colorIndex = 0; colorIndex < shadcnCustomColorTokens.length; colorIndex += 1) {
189
+ var cssVar = shadcnCustomColorTokens[colorIndex];
190
+ var value = shadcnCustomColors && shadcnCustomColors[cssVar];
191
+ if (typeof value === 'string' && validHex.test(value.trim())) {
192
+ document.documentElement.style.setProperty(cssVar, value.trim());
193
+ }
194
+ }
195
+ } catch (customColorError) {}
196
+ }
197
+ if (colorTheme !== 'default') {
198
+ var base = document.baseURI || (document.location && document.location.href) || '';
199
+ var themeDataUrl;
200
+ if (!base) {
201
+ themeDataUrl = '/theme-data.css';
202
+ } else if (base.indexOf('http://') === 0 || base.indexOf('https://') === 0) {
203
+ themeDataUrl = new URL('/theme-data.css', base).toString();
204
+ } else if (base.indexOf('file://') === 0) {
205
+ if (base.endsWith('/')) {
206
+ themeDataUrl = base.slice(0, -1) + '/theme-data.css';
207
+ } else {
208
+ var lastSlashIndex = base.lastIndexOf('/');
209
+ themeDataUrl = lastSlashIndex >= 0
210
+ ? base.slice(0, lastSlashIndex) + '/theme-data.css'
211
+ : '/theme-data.css';
212
+ }
213
+ } else {
214
+ themeDataUrl = '/theme-data.css';
215
+ }
216
+ var existingLink = document.getElementById('theme-data');
217
+ if (existingLink && existingLink.tagName === 'LINK' && existingLink.href !== themeDataUrl) {
218
+ existingLink.href = themeDataUrl;
219
+ }
220
+ }
221
+ } catch (e) {
222
+ document.documentElement.setAttribute('data-theme', 'dark');
223
+ document.documentElement.setAttribute('data-color-theme', 'ocean');
224
+ document.documentElement.style.fontSize = '100%';
225
+ }
226
+ })();
227
+ </script>
228
+ <!-- fusion:view-preload -->
229
+
230
+ <script type="module" crossorigin src="./assets/index-DIURDjTF.js"></script>
231
+ <link rel="modulepreload" crossorigin href="./assets/vendor-react-SZ_qB27O.js">
232
+ <link rel="modulepreload" crossorigin href="./assets/vendor-i18n-GF3RlKbq.js">
233
+ <link rel="modulepreload" crossorigin href="./assets/vendor-reactflow-Bg-Qjzh8.js">
234
+ <link rel="modulepreload" crossorigin href="./assets/vendor-xterm-BNq00GSj.js">
235
+ <link rel="modulepreload" crossorigin href="./assets/vendor-codemirror-jBKmHyH0.js">
236
+ <link rel="stylesheet" crossorigin href="./assets/vendor-reactflow-C5ap-Sga.css">
237
+ <link rel="stylesheet" crossorigin href="./assets/vendor-xterm-LZoznX6r.css">
238
+ <link rel="stylesheet" crossorigin href="./assets/index-CSVe-MIA.css">
239
+ <link rel="stylesheet" href="./theme-data.css" id="theme-data" />
240
+ </head>
241
+ <body>
242
+ <div id="root"></div>
243
+ </body>
244
+ </html>
@@ -0,0 +1,6 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128" fill="none">
2
+ <!-- Outer ring: matches Header.tsx header-logo geometry -->
3
+ <circle cx="64" cy="64" r="52" stroke="currentColor" stroke-width="8" fill="none"/>
4
+ <!-- Swoosh/comet shape: matches Header.tsx header-logo path -->
5
+ <path d="M26 101C44 82 62 64 82 45C90 37 98 30 104 24C96 35 89 47 81 60C70 79 57 95 43 108C38 112 32 108 26 101Z" fill="currentColor"/>
6
+ </svg>
@@ -0,0 +1,23 @@
1
+ {
2
+ "name": "Fusion",
3
+ "short_name": "Fusion",
4
+ "description": "AI-orchestrated task board",
5
+ "start_url": "/",
6
+ "display": "standalone",
7
+ "theme_color": "#1a1a2e",
8
+ "background_color": "#1a1a2e",
9
+ "icons": [
10
+ {
11
+ "src": "/icons/icon-192.png",
12
+ "sizes": "192x192",
13
+ "type": "image/png",
14
+ "purpose": "any"
15
+ },
16
+ {
17
+ "src": "/icons/icon-512.png",
18
+ "sizes": "512x512",
19
+ "type": "image/png",
20
+ "purpose": "any"
21
+ }
22
+ ]
23
+ }