@runfusion/fusion 0.43.1 → 0.45.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 (295) hide show
  1. package/README.md +2 -1
  2. package/dist/automation-store-EKXXEE2S.js +10 -0
  3. package/dist/automation-store-PLNG3X72.js +10 -0
  4. package/dist/automation-store-RDDYZFUJ.js +10 -0
  5. package/dist/bin.js +14420 -3360
  6. package/dist/chunk-2JI3F6MG.js +948 -0
  7. package/dist/chunk-4L6CLWJC.js +8345 -0
  8. package/dist/chunk-4VNS5WPM.js +42 -0
  9. package/dist/chunk-5RGECGQL.js +1139 -0
  10. package/dist/chunk-6JDLN7IL.js +409 -0
  11. package/dist/chunk-AICJATVW.js +948 -0
  12. package/dist/chunk-AWKNRUOR.js +1148 -0
  13. package/dist/chunk-BHM3UYWS.js +4651 -0
  14. package/dist/chunk-BMUXDSBF.js +4647 -0
  15. package/dist/chunk-GETECT6V.js +353 -0
  16. package/dist/chunk-GUV4QQT3.js +1143 -0
  17. package/dist/chunk-JKQO7YYZ.js +8369 -0
  18. package/dist/chunk-LYZVU6UV.js +409 -0
  19. package/dist/chunk-MAN4WYHO.js +353 -0
  20. package/dist/chunk-MCUG2Z7M.js +4651 -0
  21. package/dist/chunk-PSDYB45U.js +948 -0
  22. package/dist/chunk-RR2HM46R.js +8345 -0
  23. package/dist/chunk-RXMQ5OMY.js +9226 -0
  24. package/dist/chunk-S2EVJUY3.js +353 -0
  25. package/dist/chunk-UXR5XZFZ.js +409 -0
  26. package/dist/client/.vite/manifest.json +1138 -340
  27. package/dist/client/assets/AgentDetailView-CgbB51Iw.css +1 -0
  28. package/dist/client/assets/AgentDetailView-DJTi6hKC.js +18 -0
  29. package/dist/client/assets/{AgentPermissionPolicyEditor-BiY1a4KR.js → AgentPermissionPolicyEditor-C5DR9dUS.js} +2 -2
  30. package/dist/client/assets/AgentsView-BNd90PSx.js +29 -0
  31. package/dist/client/assets/AgentsView-CzMa5Olf.css +1 -0
  32. package/dist/client/assets/ChatView-B7JaZCL_.js +19 -0
  33. package/dist/client/assets/ChatView-BtjkE0V7.css +1 -0
  34. package/dist/client/assets/CommandCenter-CHO21xEW.js +74 -0
  35. package/dist/client/assets/CommandCenter-Xs5Ftv8s.css +1 -0
  36. package/dist/client/assets/DevServerView-B_p91Mj_.css +1 -0
  37. package/dist/client/assets/DevServerView-H9OkT1ld.js +1 -0
  38. package/dist/client/assets/{DirectoryPicker-DTKtd8L2.css → DirectoryPicker-0rspvcMz.css} +1 -1
  39. package/dist/client/assets/DirectoryPicker-DegxT8ia.js +1 -0
  40. package/dist/client/assets/DocumentsView-kVVQYISc.js +1 -0
  41. package/dist/client/assets/EvalsView-C9-iTSat.js +1 -0
  42. package/dist/client/assets/EvalsView-CTbgPUne.css +1 -0
  43. package/dist/client/assets/ExperimentalAgentOnboardingModal-3ZEFv8sr.css +1 -0
  44. package/dist/client/assets/ExperimentalAgentOnboardingModal-DjP_xNkc.js +1 -0
  45. package/dist/client/assets/GoalsView-CUh8JBnJ.css +1 -0
  46. package/dist/client/assets/GoalsView-VoIHJJ5l.js +2 -0
  47. package/dist/client/assets/InsightsView-BIZaUcpd.js +11 -0
  48. package/dist/client/assets/InsightsView-C7yRTMPn.css +1 -0
  49. package/dist/client/assets/MemoryView-7v7rv6ns.js +2 -0
  50. package/dist/client/assets/MemoryView-CBDUr2Jy.css +1 -0
  51. package/dist/client/assets/PiExtensionsManager-CB89rV4U.js +11 -0
  52. package/dist/client/assets/PluginManager-BNSuW_R4.js +1 -0
  53. package/dist/client/assets/PluginManager-DSiHizRD.css +1 -0
  54. package/dist/client/assets/PullRequestView-CI5jdKBL.js +6 -0
  55. package/dist/client/assets/PullRequestView-CpdE3Yo_.css +1 -0
  56. package/dist/client/assets/ResearchView-BT5dR_m8.js +1 -0
  57. package/dist/client/assets/ResearchView-DIVNQF4_.css +1 -0
  58. package/dist/client/assets/SecretsView-CvFioX7R.css +1 -0
  59. package/dist/client/assets/SecretsView-WPYI58Uo.js +1 -0
  60. package/dist/client/assets/SessionTerminal-C6gyOWLt.js +2 -0
  61. package/dist/client/assets/SessionTerminal-D4R3ScvQ.css +1 -0
  62. package/dist/client/assets/SettingsModal-BESN59Ao.css +1 -0
  63. package/dist/client/assets/SettingsModal-BZokaNyx.css +1 -0
  64. package/dist/client/assets/SettingsModal-Bq_3AbaB.js +1 -0
  65. package/dist/client/assets/SettingsModal-JHACoQJe.js +21 -0
  66. package/dist/client/assets/SetupWizardModal-CrgbnR_d.js +2 -0
  67. package/dist/client/assets/ShadcnColorPicker-1icHuwhC.js +11 -0
  68. package/dist/client/assets/ShadcnColorPicker-pqVWCC5-.css +1 -0
  69. package/dist/client/assets/SkillsView-CJ8snrma.css +1 -0
  70. package/dist/client/assets/SkillsView-byuSe3e0.js +1 -0
  71. package/dist/client/assets/TodoView-CIsL_uvQ.css +1 -0
  72. package/dist/client/assets/TodoView-CQ9GjYBg.js +6 -0
  73. package/dist/client/assets/WorkflowNodeEditor-DW7sJZUX.js +8 -0
  74. package/dist/client/assets/WorkflowNodeEditor-f_XPV5Jd.css +1 -0
  75. package/dist/client/assets/{addon-fit-B4jkcKk4.js → addon-fit-C1WQXRvu.js} +1 -1
  76. package/dist/client/assets/{addon-unicode11-Cdne2Sj4.js → addon-unicode11-BVmNDUBM.js} +1 -1
  77. package/dist/client/assets/{addon-web-links-CRNLzj7m.js → addon-web-links-CkVew5xs.js} +1 -1
  78. package/dist/client/assets/{addon-webgl-CeCSULF1.js → addon-webgl-uLc0RKcC.js} +1 -1
  79. package/dist/client/assets/agentSkills-CeytXLHF.js +1 -0
  80. package/dist/client/assets/agentSkills-bQJ4X1gH.css +1 -0
  81. package/dist/client/assets/agentsOrgChartLayout-BMvyuaLA.js +1 -0
  82. package/dist/client/assets/app-3wbZ08YC.js +13 -0
  83. package/dist/client/assets/app-7-5DWLtg.js +13 -0
  84. package/dist/client/assets/app-CSvE5Noc.js +13 -0
  85. package/dist/client/assets/app-CZ2LTFce.js +13 -0
  86. package/dist/client/assets/app-Cv9xEnll.js +13 -0
  87. package/dist/client/assets/app-x_yPcO5Y.js +13 -0
  88. package/dist/client/assets/arc-cxkkNsnK.js +1 -0
  89. package/dist/client/assets/architectureDiagram-3BPJPVTR-BRI0QwDf.js +36 -0
  90. package/dist/client/assets/band-CquvqAHh.js +1 -0
  91. package/dist/client/assets/blockDiagram-GPEHLZMM-BXkN8Hv_.js +132 -0
  92. package/dist/client/assets/c4Diagram-AAUBKEIU-C_Kcokep.js +10 -0
  93. package/dist/client/assets/channel-Clzpzu32.js +1 -0
  94. package/dist/client/assets/chunk-2J33WTMH-BGeuCz9C.js +1 -0
  95. package/dist/client/assets/chunk-4BX2VUAB-DcVdctr0.js +1 -0
  96. package/dist/client/assets/chunk-55IACEB6-Dg6gDigQ.js +1 -0
  97. package/dist/client/assets/chunk-727SXJPM-B9B-vlEb.js +206 -0
  98. package/dist/client/assets/chunk-AQP2D5EJ-LrWQ-2yi.js +231 -0
  99. package/dist/client/assets/chunk-FMBD7UC4-Bnd6hAED.js +15 -0
  100. package/dist/client/assets/chunk-ND2GUHAM-nAw93UB5.js +1 -0
  101. package/dist/client/assets/chunk-QZHKN3VN-CgprKcZo.js +1 -0
  102. package/dist/client/assets/classDiagram-4FO5ZUOK-CzYHP-af.js +1 -0
  103. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-CzYHP-af.js +1 -0
  104. package/dist/client/assets/common-BDp2y6CF.js +1 -0
  105. package/dist/client/assets/common-BnEo5fLN.js +1 -0
  106. package/dist/client/assets/common-Bzr_Y8h4.js +1 -0
  107. package/dist/client/assets/common-CvwyFzfv.js +1 -0
  108. package/dist/client/assets/common-CztCXRkz.js +1 -0
  109. package/dist/client/assets/common-DPe2mbb7.js +1 -0
  110. package/dist/client/assets/cose-bilkent-S5V4N54A-Bhn0g_iK.js +1 -0
  111. package/dist/client/assets/cytoscape.esm-OyMbaexL.js +331 -0
  112. package/dist/client/assets/dagre-BM42HDAG-CP4kfwqd.js +4 -0
  113. package/dist/client/assets/{dashboard-view-C3SsjXo1.js → dashboard-view-CM6Xin_H.js} +1680 -1620
  114. package/dist/client/assets/dashboard-view-DV1nEhh9.js +1 -0
  115. package/dist/client/assets/dashboard-view-D_zsA-kz.css +1 -0
  116. package/dist/client/assets/defaultLocale-DX6XiGOO.js +1 -0
  117. package/dist/client/assets/diagram-2AECGRRQ-DPhzVEUf.js +43 -0
  118. package/dist/client/assets/diagram-5GNKFQAL-8QOC3K_L.js +10 -0
  119. package/dist/client/assets/diagram-KO2AKTUF-C1twgEch.js +3 -0
  120. package/dist/client/assets/diagram-LMA3HP47-3bEegSuf.js +24 -0
  121. package/dist/client/assets/diagram-OG6HWLK6-BJ_x0rm6.js +24 -0
  122. package/dist/client/assets/erDiagram-TEJ5UH35-DNiiS5q6.js +85 -0
  123. package/dist/client/assets/flowDiagram-I6XJVG4X-DoouPklt.js +162 -0
  124. package/dist/client/assets/{folder-open-Bw1mxVfa.js → folder-open-CuUs2W7f.js} +1 -1
  125. package/dist/client/assets/ganttDiagram-6RSMTGT7-BrR6VnP5.js +292 -0
  126. package/dist/client/assets/gitGraphDiagram-PVQCEYII-BV8_J6Ee.js +106 -0
  127. package/dist/client/assets/graph--OzhPTMs.js +1 -0
  128. package/dist/client/assets/index-BZBQ_KsL.css +1 -0
  129. package/dist/client/assets/index-CZcWjLAb.js +1459 -0
  130. package/dist/client/assets/infoDiagram-5YYISTIA-DGwIIFkR.js +2 -0
  131. package/dist/client/assets/init-Dmth1JHB.js +1 -0
  132. package/dist/client/assets/ishikawaDiagram-YF4QCWOH-D5dEH4RE.js +70 -0
  133. package/dist/client/assets/journeyDiagram-JHISSGLW-BuuSWPw5.js +139 -0
  134. package/dist/client/assets/kanban-definition-UN3LZRKU-DA34uUla.js +89 -0
  135. package/dist/client/assets/katex-HP8lGamR.js +257 -0
  136. package/dist/client/assets/layout-SsrduOYp.js +1 -0
  137. package/dist/client/assets/linear-dXivciGL.js +1 -0
  138. package/dist/client/assets/mermaid.core-Ch4HatqA.js +309 -0
  139. package/dist/client/assets/mindmap-definition-RKZ34NQL-DUCG-qD3.js +96 -0
  140. package/dist/client/assets/ordinal-DILIJJjt.js +1 -0
  141. package/dist/client/assets/pieDiagram-4H26LBE5-DWvFGiLa.js +30 -0
  142. package/dist/client/assets/quadrantDiagram-W4KKPZXB-OPTVW3WT.js +7 -0
  143. package/dist/client/assets/requirementDiagram-4Y6WPE33-D7feZvlU.js +84 -0
  144. package/dist/client/assets/sankeyDiagram-5OEKKPKP-AtnSsEX1.js +40 -0
  145. package/dist/client/assets/sequenceDiagram-3UESZ5HK-BZjHUeI5.js +162 -0
  146. package/dist/client/assets/shield-alert-CzaF9ROV.js +6 -0
  147. package/dist/client/assets/stateDiagram-AJRCARHV-C8j23Pvn.js +1 -0
  148. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CiZR_S5-.js +1 -0
  149. package/dist/client/assets/step-yuy0qJer.js +1 -0
  150. package/dist/client/assets/time-DoDTxsna.js +1 -0
  151. package/dist/client/assets/timeline-definition-PNZ67QCA-DvfNz25n.js +120 -0
  152. package/dist/client/assets/{upload-BCmd-1I0.js → upload-DTsYywhN.js} +1 -1
  153. package/dist/client/assets/{users-DO_t3V1p.js → users-yAd09tKP.js} +1 -1
  154. package/dist/client/assets/{vendor-i18n-CV0mwX_-.js → vendor-i18n-GF3RlKbq.js} +2 -2
  155. package/dist/client/assets/vendor-react-SZ_qB27O.js +49 -0
  156. package/dist/client/assets/vendor-reactflow-Bg-Qjzh8.js +15 -0
  157. package/dist/client/assets/{vendor-xterm-tcedd2Jt.js → vendor-xterm-BNq00GSj.js} +1 -1
  158. package/dist/client/assets/vennDiagram-CIIHVFJN-CG2aMt3v.js +34 -0
  159. package/dist/client/assets/wardley-L42UT6IY-BnhBteen.js +173 -0
  160. package/dist/client/assets/wardleyDiagram-YWT4CUSO-DwqTzM3T.js +78 -0
  161. package/dist/client/assets/xychartDiagram-2RQKCTM6-5Cv2ZKMV.js +7 -0
  162. package/dist/client/assets/zoom-out-NWbVkreR.js +41 -0
  163. package/dist/client/icons/icon-192.png +0 -0
  164. package/dist/client/icons/icon-512.png +0 -0
  165. package/dist/client/index.html +30 -10
  166. package/dist/client/sw.js +1 -1
  167. package/dist/client/theme-data.css +3348 -469
  168. package/dist/client/version.json +1 -1
  169. package/dist/droid-cli/index.ts +56 -40
  170. package/dist/droid-cli/package.json +1 -1
  171. package/dist/droid-cli/src/__tests__/execsync-guard.test.ts +17 -0
  172. package/dist/droid-cli/src/__tests__/index.test.ts +47 -21
  173. package/dist/droid-cli/src/__tests__/process-manager.test.ts +51 -78
  174. package/dist/extension.js +9651 -1556
  175. package/dist/extract-zip-WL55Z3AU.js +2497 -0
  176. package/dist/index.min-CHQ3ABYJ.js +2926 -0
  177. package/dist/memory-dreams-7USISKVE.js +32 -0
  178. package/dist/memory-dreams-PBPISUDD.js +32 -0
  179. package/dist/memory-dreams-XNO2B2QF.js +32 -0
  180. package/dist/migration-EH2YOCYQ.js +15 -0
  181. package/dist/migration-PLGTTKL5.js +15 -0
  182. package/dist/migration-WZEZK22R.js +15 -0
  183. package/dist/pi-claude-cli/index.ts +47 -8
  184. package/dist/pi-claude-cli/package.json +4 -1
  185. package/dist/pi-claude-cli/src/__tests__/acp-dispatch.test.ts +80 -0
  186. package/dist/pi-claude-cli/src/__tests__/acp-driver.test.ts +423 -0
  187. package/dist/pi-claude-cli/src/__tests__/execsync-guard.test.ts +14 -0
  188. package/dist/pi-claude-cli/src/__tests__/process-manager.test.ts +26 -45
  189. package/dist/pi-claude-cli/src/__tests__/provider.test.ts +0 -1
  190. package/dist/pi-claude-cli/src/acp-driver.ts +585 -0
  191. package/dist/pi-claude-cli/src/event-bridge.ts +7 -0
  192. package/dist/pi-claude-cli/src/mcp-config.ts +29 -0
  193. package/dist/pi-claude-cli/src/process-manager.ts +17 -39
  194. package/dist/plugin-sdk/index.d.ts +5305 -5148
  195. package/dist/plugins/fusion-plugin-acp-runtime/bundled.js +263 -19
  196. package/dist/plugins/fusion-plugin-acp-runtime/package.json +1 -1
  197. package/dist/plugins/fusion-plugin-cli-printing-press/package.json +1 -1
  198. package/dist/plugins/fusion-plugin-compound-engineering/bundled.js +37 -7
  199. package/dist/plugins/fusion-plugin-compound-engineering/manifest.json +4 -4
  200. package/dist/plugins/fusion-plugin-compound-engineering/package.json +1 -1
  201. package/dist/plugins/fusion-plugin-cursor-runtime/package.json +1 -1
  202. package/dist/plugins/fusion-plugin-dependency-graph/package.json +1 -1
  203. package/dist/plugins/fusion-plugin-droid-runtime/bundled.js +69 -45
  204. package/dist/plugins/fusion-plugin-droid-runtime/package.json +1 -1
  205. package/dist/plugins/fusion-plugin-hermes-runtime/package.json +1 -1
  206. package/dist/plugins/fusion-plugin-openclaw-runtime/package.json +1 -1
  207. package/dist/plugins/fusion-plugin-paperclip-runtime/package.json +1 -1
  208. package/dist/plugins/fusion-plugin-reports/package.json +1 -1
  209. package/dist/plugins/fusion-plugin-roadmap/bundled.js +5 -11
  210. package/dist/plugins/fusion-plugin-roadmap/manifest.json +1 -11
  211. package/dist/plugins/fusion-plugin-roadmap/package.json +1 -1
  212. package/dist/plugins/fusion-plugin-whatsapp-chat/package.json +1 -1
  213. package/dist/plugins/fusion-plugin-whatsapp-chat/src/__tests__/index.test.ts +5 -1
  214. package/dist/routine-store-GIJ6MXWY.js +10 -0
  215. package/dist/routine-store-HTVC2PUQ.js +10 -0
  216. package/dist/routine-store-KGHZBPDF.js +10 -0
  217. package/package.json +3 -3
  218. package/skill/fusion/SKILL.md +1 -1
  219. package/skill/fusion/references/cli-commands.md +2 -1
  220. package/skill/fusion/references/engine-tools.md +6 -4
  221. package/skill/fusion/references/extension-tools.md +10 -0
  222. package/skill/fusion/references/fusion-capabilities.md +3 -1
  223. package/dist/client/assets/AgentDetailView-BGN03dyz.css +0 -1
  224. package/dist/client/assets/AgentDetailView-DKMz3r04.js +0 -18
  225. package/dist/client/assets/AgentsView-Co-k4vjh.js +0 -29
  226. package/dist/client/assets/AgentsView-DfznJDek.css +0 -1
  227. package/dist/client/assets/ChatView-BkAG99bj.js +0 -6
  228. package/dist/client/assets/ChatView-DwJAd5G1.css +0 -1
  229. package/dist/client/assets/DevServerView-C6DC0URX.js +0 -1
  230. package/dist/client/assets/DevServerView-VTQY28P7.css +0 -1
  231. package/dist/client/assets/DirectoryPicker-CkcGjyv0.js +0 -1
  232. package/dist/client/assets/DocumentsView-OCK1Vsw_.js +0 -1
  233. package/dist/client/assets/DocumentsView-WfVoTZt8.css +0 -1
  234. package/dist/client/assets/EvalsView-CUNJ1TLc.css +0 -1
  235. package/dist/client/assets/EvalsView-CUfyj5GW.js +0 -1
  236. package/dist/client/assets/ExperimentalAgentOnboardingModal-BNpveCEk.css +0 -1
  237. package/dist/client/assets/ExperimentalAgentOnboardingModal-Dau9RTU_.js +0 -499
  238. package/dist/client/assets/GoalsView-CNLTn0rX.js +0 -2
  239. package/dist/client/assets/GoalsView-DI66UsjT.css +0 -1
  240. package/dist/client/assets/InsightsView-BQPxHxKI.js +0 -11
  241. package/dist/client/assets/InsightsView-C9-mqVvf.css +0 -1
  242. package/dist/client/assets/MemoryView-D3xQIFjj.js +0 -2
  243. package/dist/client/assets/MemoryView-zaXewZzi.css +0 -1
  244. package/dist/client/assets/NodesView-7VInxyf_.css +0 -1
  245. package/dist/client/assets/NodesView-CSMvGwDU.js +0 -14
  246. package/dist/client/assets/PiExtensionsManager-BtqXF3fl.js +0 -11
  247. package/dist/client/assets/PluginManager-CSSDb3VO.js +0 -1
  248. package/dist/client/assets/PluginManager-UHVLvWWl.css +0 -1
  249. package/dist/client/assets/PullRequestView-Bjyfffdu.js +0 -6
  250. package/dist/client/assets/PullRequestView-WQIS0zUC.css +0 -1
  251. package/dist/client/assets/ReliabilityView-QKMUDebT.js +0 -1
  252. package/dist/client/assets/ReliabilityView-eoKBhBc4.css +0 -1
  253. package/dist/client/assets/ResearchView-CRU_NPho.js +0 -1
  254. package/dist/client/assets/ResearchView-DTh8FLUm.css +0 -1
  255. package/dist/client/assets/SecretsView-Bs8ySyC5.js +0 -1
  256. package/dist/client/assets/SecretsView-Djo1rahi.css +0 -1
  257. package/dist/client/assets/SessionTerminal-BiigPP2l.css +0 -1
  258. package/dist/client/assets/SessionTerminal-Dk1NgmN2.js +0 -2
  259. package/dist/client/assets/SettingsModal-DpAxDq6M.css +0 -1
  260. package/dist/client/assets/SettingsModal-JCaNvdAb.js +0 -31
  261. package/dist/client/assets/SettingsModal-Nw5cTKAK.js +0 -1
  262. package/dist/client/assets/SettingsModal-nF_GaeeK.css +0 -1
  263. package/dist/client/assets/SetupWizardModal-CE79myEy.js +0 -1
  264. package/dist/client/assets/SetupWizardModal-CIqFbkrD.css +0 -1
  265. package/dist/client/assets/SkillsView-3bhGyWs1.css +0 -1
  266. package/dist/client/assets/SkillsView-Dc8YskAX.js +0 -1
  267. package/dist/client/assets/StashRecoveryView-B_8WIQEo.css +0 -1
  268. package/dist/client/assets/StashRecoveryView-CqKOFiXT.js +0 -1
  269. package/dist/client/assets/TodoView-7xIh-Fmi.css +0 -1
  270. package/dist/client/assets/TodoView-BqIRwcZw.js +0 -6
  271. package/dist/client/assets/WorkflowNodeEditor-2jDuk2FR.js +0 -8
  272. package/dist/client/assets/WorkflowNodeEditor-BokhW3de.css +0 -1
  273. package/dist/client/assets/app-B2ZxMfJT.js +0 -13
  274. package/dist/client/assets/app-BffGU_HQ.js +0 -13
  275. package/dist/client/assets/app-C8AHhs5N.js +0 -13
  276. package/dist/client/assets/app-CUu1sm3x.js +0 -13
  277. package/dist/client/assets/app-Ri9Te2Dv.js +0 -13
  278. package/dist/client/assets/app-sEkTyT-w.js +0 -13
  279. package/dist/client/assets/common-BRyX4VxB.js +0 -1
  280. package/dist/client/assets/common-CN9QPI2d.js +0 -1
  281. package/dist/client/assets/common-CNbjPELi.js +0 -1
  282. package/dist/client/assets/common-DFDqu_n0.js +0 -1
  283. package/dist/client/assets/common-DgWWKG8Z.js +0 -1
  284. package/dist/client/assets/common-X6PzBnVA.js +0 -1
  285. package/dist/client/assets/createLucideIcon-BYvOGRiO.js +0 -21
  286. package/dist/client/assets/dashboard-view-BhbN8LPh.js +0 -1
  287. package/dist/client/assets/dashboard-view-DdGlfuu-.css +0 -1
  288. package/dist/client/assets/dashboard-view-DlKsVySD.js +0 -3
  289. package/dist/client/assets/dashboard-view-Du53JbmQ.css +0 -1
  290. package/dist/client/assets/index-CpTBp1RG.js +0 -793
  291. package/dist/client/assets/index-DqhCiU35.css +0 -1
  292. package/dist/client/assets/vendor-react-D37HfzIf.js +0 -49
  293. package/dist/client/assets/vendor-reactflow-CRZcPCXF.js +0 -15
  294. package/dist/client/assets/x-CqNX_9E2.js +0 -61
  295. package/dist/client/assets/zoom-out-CSTHbJgD.js +0 -21
@@ -1 +0,0 @@
1
- import{r as e}from"./vendor-react-D37HfzIf.js";import{cV as C}from"./index-CpTBp1RG.js";function L(k={}){const{projectId:d,pollInterval:b=6e4,autoRefresh:p=!1,enabled:t=!0}=k,[S,o]=e.useState(null),[m,l]=e.useState(t),[E,c]=e.useState(null),[R,v]=e.useState(null),r=e.useRef(null),n=e.useRef(null),a=e.useRef(!0),s=e.useCallback(async()=>{if(!t){l(!1),c(null),o(null);return}r.current&&r.current.abort(),r.current=new AbortController,l(!0),c(null),o(null);try{const u=await C(d);if(!a.current)return;o(u),c(null),v(new Date),l(!1)}catch(u){if(u instanceof Error&&u.name==="AbortError"||!a.current)return;const A=u instanceof Error?u.message:"Failed to fetch memory backend status";c(A),l(!1)}},[t,d]);e.useEffect(()=>(a.current=!0,t?(s(),()=>{a.current=!1}):(r.current&&r.current.abort(),o(null),c(null),l(!1),()=>{a.current=!1})),[t,s]),e.useEffect(()=>{if(!(!t||!p))return n.current=setInterval(()=>{s()},b),()=>{n.current&&(clearInterval(n.current),n.current=null)}},[t,p,b,s]),e.useEffect(()=>()=>{a.current=!1,r.current&&r.current.abort(),n.current&&(clearInterval(n.current),n.current=null)},[]);const h=e.useCallback(()=>s(),[s]),f=m?null:S,B=f?.currentBackend??null,i=f?.capabilities??null,y=f?.availableBackends??[],I=i?.readable??!1,g=i?.writable??!1,w=i?.supportsAtomicWrite??!1;return{status:f,currentBackend:B,capabilities:i,availableBackends:y,isReadable:I,isWritable:g,supportsAtomicWrite:w,loading:m,error:E,lastUpdated:R,refresh:h}}export{L as u};
@@ -1 +0,0 @@
1
- .theme-selector{padding:0 20px 20px}.theme-mode-toggle{display:flex;align-items:center;gap:var(--space-sm);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-xs);margin-bottom:20px}.theme-mode-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:var(--space-sm) var(--space-lg);background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);flex:1}.theme-mode-btn:hover{color:var(--text);background:var(--card-hover)}.theme-mode-btn.active,.theme-mode-btn.active:hover{background:var(--todo);color:var(--bg)}.theme-mode-btn:focus-visible{outline:none;border-color:var(--todo);box-shadow:var(--focus-ring-strong)}.theme-section-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md)}.theme-font-size-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin-bottom:var(--space-lg)}.theme-font-size-btn{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:13px;font-weight:500;justify-content:center;min-height:calc(var(--space-2xl) + var(--space-sm));padding:var(--space-sm) var(--space-md);transition:all var(--transition-fast)}.theme-font-size-btn:hover{border-color:var(--todo);color:var(--text)}.theme-font-size-btn.active{background:color-mix(in srgb,var(--todo) 14%,transparent);border-color:var(--todo);color:var(--text)}.theme-font-size-btn:focus-visible{outline:none;border-color:var(--todo);box-shadow:var(--focus-ring-strong)}.theme-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}@media(max-width:768px){.theme-grid{grid-template-columns:repeat(2,1fr)}}.theme-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--card);border:2px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-fast)}.theme-option:hover{border-color:var(--todo);background:var(--card-hover)}.theme-option.active{border-color:var(--todo);background:color-mix(in srgb,var(--todo) 14%,transparent)}.theme-option:focus-visible{outline:none;border-color:var(--todo);box-shadow:var(--focus-ring-strong)}.theme-option-swatch{width:calc(var(--space-2xl) + var(--space-lg));height:calc(var(--space-2xl) + var(--space-lg));border-radius:var(--radius);border:2px solid var(--border);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden}.theme-option-swatch-sample{display:block;min-height:0}.theme-option-swatch-sample-1{background:var(--swatch-sample-1)}.theme-option-swatch-sample-2{background:var(--swatch-sample-2)}.theme-option-swatch-sample-3{background:var(--swatch-sample-3)}.theme-option-swatch-sample-4{background:var(--swatch-sample-4)}.theme-option-label{font-size:12px;font-weight:500;color:var(--text);text-align:center}.theme-swatch-default{--swatch-sample-1: #0d1117;--swatch-sample-2: #161b22;--swatch-sample-3: #58a6ff;--swatch-sample-4: #79c0ff}.theme-swatch-ocean{--swatch-sample-1: #0a1929;--swatch-sample-2: #132f4c;--swatch-sample-3: #4fc3f7;--swatch-sample-4: #00bcd4}.theme-swatch-forest{--swatch-sample-1: #0d2818;--swatch-sample-2: #1a472a;--swatch-sample-3: #4caf50;--swatch-sample-4: #2e7d32}.theme-swatch-sunset{--swatch-sample-1: #2d1f1f;--swatch-sample-2: #4a2c2c;--swatch-sample-3: #ff8a65;--swatch-sample-4: #ff7043}.theme-swatch-zen{--swatch-sample-1: #0c0c0c;--swatch-sample-2: #111111;--swatch-sample-3: #6b7b8c;--swatch-sample-4: #7a8590}.theme-swatch-berry{--swatch-sample-1: #1a0b2e;--swatch-sample-2: #2d1b4e;--swatch-sample-3: #c084fc;--swatch-sample-4: #ec4899}.theme-swatch-monochrome{--swatch-sample-1: #0d0d0d;--swatch-sample-2: #1a1a1a;--swatch-sample-3: #a3a3a3;--swatch-sample-4: #d4d4d4}.theme-swatch-slate{--swatch-sample-1: #1e293b;--swatch-sample-2: #334155;--swatch-sample-3: #60a5fa;--swatch-sample-4: #22d3ee}.theme-swatch-ash{--swatch-sample-1: #292524;--swatch-sample-2: #44403c;--swatch-sample-3: #a8a29e;--swatch-sample-4: #d6d3d1}.theme-swatch-graphite{--swatch-sample-1: #18181b;--swatch-sample-2: #27272a;--swatch-sample-3: #94a3b8;--swatch-sample-4: #cbd5e1}.theme-swatch-ember{--swatch-sample-1: #18181b;--swatch-sample-2: #27272a;--swatch-sample-3: #f97316;--swatch-sample-4: #ef4444}.theme-swatch-rust{--swatch-sample-1: #0f0b09;--swatch-sample-2: #1a1410;--swatch-sample-3: #e06830;--swatch-sample-4: #e88040}.theme-swatch-copper{--swatch-sample-1: #0e0c0a;--swatch-sample-2: #181410;--swatch-sample-3: #e89545;--swatch-sample-4: #f0a858}.theme-swatch-foundry{--swatch-sample-1: #0c0806;--swatch-sample-2: #15100c;--swatch-sample-3: #ffab20;--swatch-sample-4: #ffc040}.theme-swatch-carbon{--swatch-sample-1: #0a0b0d;--swatch-sample-2: #111318;--swatch-sample-3: #6a9acf;--swatch-sample-4: #7ab0e0}.theme-swatch-sandstone{--swatch-sample-1: #1a1712;--swatch-sample-2: #241f18;--swatch-sample-3: #d4a06a;--swatch-sample-4: #e0b080}.theme-swatch-lagoon{--swatch-sample-1: #0a1214;--swatch-sample-2: #101c1f;--swatch-sample-3: #50d8c0;--swatch-sample-4: #60e8d0}.theme-swatch-frost{--swatch-sample-1: #0c0e14;--swatch-sample-2: #121520;--swatch-sample-3: #8ac8f8;--swatch-sample-4: #9ad8ff}.theme-swatch-lavender{--swatch-sample-1: #14101a;--swatch-sample-2: #1c1624;--swatch-sample-3: #c8a0e8;--swatch-sample-4: #d8b0f0}.theme-swatch-neon-bloom{--swatch-sample-1: #120a18;--swatch-sample-2: #1a1024;--swatch-sample-3: #f080d0;--swatch-sample-4: #ff90e0}.theme-swatch-sepia{--swatch-sample-1: #161210;--swatch-sample-2: #201a16;--swatch-sample-3: #d8b878;--swatch-sample-4: #e8c888}.theme-swatch-silver{--swatch-sample-1: #27272a;--swatch-sample-2: #3f3f46;--swatch-sample-3: #94a3b8;--swatch-sample-4: #e2e8f0}.theme-swatch-high-contrast{--swatch-sample-1: #000000;--swatch-sample-2: #0a0a0a;--swatch-sample-3: #00ffff;--swatch-sample-4: #ffff00}.theme-swatch-industrial{--swatch-sample-1: #0c0c0c;--swatch-sample-2: #141414;--swatch-sample-3: #ff6b00;--swatch-sample-4: #ff8c00}.theme-swatch-solarized{--swatch-sample-1: #002b36;--swatch-sample-2: #073642;--swatch-sample-3: #268bd2;--swatch-sample-4: #2aa198}.theme-swatch-factory{--swatch-sample-1: #0a0a0a;--swatch-sample-2: #111111;--swatch-sample-3: #f59e0b;--swatch-sample-4: #06b6d4}.theme-swatch-ayu{--swatch-sample-1: #0f1419;--swatch-sample-2: #131d27;--swatch-sample-3: #39bae6;--swatch-sample-4: #ffb454}.theme-swatch-one-dark{--swatch-sample-1: #282c34;--swatch-sample-2: #21252b;--swatch-sample-3: #61afef;--swatch-sample-4: #00e5ff}.theme-swatch-nord{--swatch-sample-1: #2e3440;--swatch-sample-2: #3b4252;--swatch-sample-3: #88c0d0;--swatch-sample-4: #81a1c1}.theme-swatch-dracula{--swatch-sample-1: #282a36;--swatch-sample-2: #21222c;--swatch-sample-3: #8be9fd;--swatch-sample-4: #00e5ff}.theme-swatch-gruvbox{--swatch-sample-1: #282828;--swatch-sample-2: #1d2021;--swatch-sample-3: #83a598;--swatch-sample-4: #d3869b}.theme-swatch-tokyo-night{--swatch-sample-1: #1a1b26;--swatch-sample-2: #16161e;--swatch-sample-3: #7aa2f7;--swatch-sample-4: #00e5ff}.theme-swatch-catppuccin-mocha{--swatch-sample-1: #1e1e2e;--swatch-sample-2: #181825;--swatch-sample-3: #89b4fa;--swatch-sample-4: #89dceb}.theme-swatch-github-dark{--swatch-sample-1: #0d1117;--swatch-sample-2: #010409;--swatch-sample-3: #58a6ff;--swatch-sample-4: #79c0ff}.theme-swatch-everforest{--swatch-sample-1: #2d353b;--swatch-sample-2: #272e33;--swatch-sample-3: #7fbbb3;--swatch-sample-4: #e0c8a8}.theme-swatch-rose-pine{--swatch-sample-1: #191724;--swatch-sample-2: #1f1d2e;--swatch-sample-3: #c4a7e7;--swatch-sample-4: #ebbcba}.theme-swatch-kanagawa{--swatch-sample-1: #1f1f28;--swatch-sample-2: #16161d;--swatch-sample-3: #7e9cd8;--swatch-sample-4: #7e9cd8}.theme-swatch-night-owl{--swatch-sample-1: #011627;--swatch-sample-2: #01111d;--swatch-sample-3: #82aaff;--swatch-sample-4: #addb67}.theme-swatch-palenight{--swatch-sample-1: #292d3e;--swatch-sample-2: #1e2235;--swatch-sample-3: #82aaff;--swatch-sample-4: #ffcb6b}.theme-swatch-monokai-pro{--swatch-sample-1: #2d2a2e;--swatch-sample-2: #252229;--swatch-sample-3: #78dce8;--swatch-sample-4: #ff6188}.theme-swatch-slime{--swatch-sample-1: #0a0e09;--swatch-sample-2: #0f150d;--swatch-sample-3: #8aff40;--swatch-sample-4: #40e8a0}.theme-swatch-brutalist{--swatch-sample-1: #101010;--swatch-sample-2: #171717;--swatch-sample-3: #ff6a00;--swatch-sample-4: #ffd100}.theme-swatch-neon-city{--swatch-sample-1: #0d0d15;--swatch-sample-2: #121326;--swatch-sample-3: #ff2d95;--swatch-sample-4: #00f0ff}.theme-swatch-parchment{--swatch-sample-1: #1b1712;--swatch-sample-2: #252019;--swatch-sample-3: #d08a4b;--swatch-sample-4: #be6e3c}.theme-swatch-terminal{--swatch-sample-1: #0a0a0a;--swatch-sample-2: #0f120d;--swatch-sample-3: #33ff00;--swatch-sample-4: #8fff38}.theme-swatch-glass{--swatch-sample-1: #13111f;--swatch-sample-2: color-mix(in srgb, #221b34 78%, transparent);--swatch-sample-3: #c86bff;--swatch-sample-4: #ff7aa8}.theme-swatch-horizon{--swatch-sample-1: #1c1e26;--swatch-sample-2: #16161c;--swatch-sample-3: #e59371;--swatch-sample-4: #f08c42}.theme-swatch-vitesse{--swatch-sample-1: #121817;--swatch-sample-2: #0d1210;--swatch-sample-3: #4c9a91;--swatch-sample-4: #dca561}.theme-swatch-outrun{--swatch-sample-1: #0a0a14;--swatch-sample-2: #0d0d1a;--swatch-sample-3: #ff2d95;--swatch-sample-4: #b537f2}.theme-swatch-snazzy{--swatch-sample-1: #282a36;--swatch-sample-2: #1e1f29;--swatch-sample-3: #ff5c57;--swatch-sample-4: #5af78e}.theme-swatch-porple{--swatch-sample-1: #292d3e;--swatch-sample-2: #1e2030;--swatch-sample-3: #c792ea;--swatch-sample-4: #82aaff}.theme-swatch-espresso{--swatch-sample-1: #2c1f1a;--swatch-sample-2: #231813;--swatch-sample-3: #d4a574;--swatch-sample-4: #c17d56}.theme-swatch-mars{--swatch-sample-1: #1a1210;--swatch-sample-2: #140e0c;--swatch-sample-3: #c1440e;--swatch-sample-4: #e77d3d}.theme-swatch-poimandres{--swatch-sample-1: #1a1b26;--swatch-sample-2: #14151f;--swatch-sample-3: #89ddff;--swatch-sample-4: #5de4c7}[data-theme=light] .theme-swatch-factory{--swatch-sample-1: #f5f5f5;--swatch-sample-2: #ffffff;--swatch-sample-3: #d97706;--swatch-sample-4: #0891b2}[data-theme=light] .theme-swatch-ayu{--swatch-sample-1: #fafafa;--swatch-sample-2: #f3f3f3;--swatch-sample-3: #007acc;--swatch-sample-4: #ff8f40}[data-theme=light] .theme-swatch-zen{--swatch-sample-1: #f5f5f5;--swatch-sample-2: #fafafa;--swatch-sample-3: #5a6a7a;--swatch-sample-4: #6a757f}[data-theme=light] .theme-swatch-nord{--swatch-sample-1: #eceff4;--swatch-sample-2: #e5e9f0;--swatch-sample-3: #5e81ac;--swatch-sample-4: #5e81ac}[data-theme=light] .theme-swatch-dracula{--swatch-sample-1: #f8f8f2;--swatch-sample-2: #efeefa;--swatch-sample-3: #0097a7;--swatch-sample-4: #00bcd4}[data-theme=light] .theme-swatch-gruvbox{--swatch-sample-1: #fbf1c7;--swatch-sample-2: #f2e5bc;--swatch-sample-3: #076678;--swatch-sample-4: #8f3f71}[data-theme=light] .theme-swatch-tokyo-night{--swatch-sample-1: #e1e2e7;--swatch-sample-2: #d5d6db;--swatch-sample-3: #3b5ea5;--swatch-sample-4: #00bcd4}[data-theme=light] .theme-swatch-catppuccin-mocha{--swatch-sample-1: #eff1f5;--swatch-sample-2: #e6e9ef;--swatch-sample-3: #1e66f5;--swatch-sample-4: #04a5e5}[data-theme=light] .theme-swatch-github-dark{--swatch-sample-1: #ffffff;--swatch-sample-2: #f6f8fa;--swatch-sample-3: #0969da;--swatch-sample-4: #0969da}[data-theme=light] .theme-swatch-everforest{--swatch-sample-1: #fdf6e3;--swatch-sample-2: #f4f0d9;--swatch-sample-3: #3a94a5;--swatch-sample-4: #83a08a}[data-theme=light] .theme-swatch-rose-pine{--swatch-sample-1: #faf4ed;--swatch-sample-2: #fffaf3;--swatch-sample-3: #907aa9;--swatch-sample-4: #b4637a}[data-theme=light] .theme-swatch-kanagawa{--swatch-sample-1: #edeadd;--swatch-sample-2: #e1ddd4;--swatch-sample-3: #4e76b5;--swatch-sample-4: #4e76b5}[data-theme=light] .theme-swatch-one-dark{--swatch-sample-1: #fafafa;--swatch-sample-2: #f0f0f0;--swatch-sample-3: #4078f2;--swatch-sample-4: #0184bc}[data-theme=light] .theme-swatch-night-owl{--swatch-sample-1: #f6f7f9;--swatch-sample-2: #eef0f4;--swatch-sample-3: #2563eb;--swatch-sample-4: #5a9e2f}[data-theme=light] .theme-swatch-palenight{--swatch-sample-1: #f5f7fa;--swatch-sample-2: #ebeef5;--swatch-sample-3: #3b6fcf;--swatch-sample-4: #c49020}[data-theme=light] .theme-swatch-monokai-pro{--swatch-sample-1: #faf8f5;--swatch-sample-2: #f0ece5;--swatch-sample-3: #2d8fa0;--swatch-sample-4: #c4405e}[data-theme=light] .theme-swatch-slime{--swatch-sample-1: #f2f7ea;--swatch-sample-2: #e6efda;--swatch-sample-3: #3d8f10;--swatch-sample-4: #1a8a6a}[data-theme=light] .theme-swatch-brutalist{--swatch-sample-1: #ece9e4;--swatch-sample-2: #f7f4ef;--swatch-sample-3: #d9480f;--swatch-sample-4: #b8860b}[data-theme=light] .theme-swatch-neon-city{--swatch-sample-1: #f7f5ff;--swatch-sample-2: #f1edff;--swatch-sample-3: #cc166e;--swatch-sample-4: #008e9b}[data-theme=light] .theme-swatch-parchment{--swatch-sample-1: #f5f0e8;--swatch-sample-2: #efe7dc;--swatch-sample-3: #a8562f;--swatch-sample-4: #8f4e2a}[data-theme=light] .theme-swatch-terminal{--swatch-sample-1: #e7f5dd;--swatch-sample-2: #deefd2;--swatch-sample-3: #2d6b14;--swatch-sample-4: #4c8f25}[data-theme=light] .theme-swatch-glass{--swatch-sample-1: #eceaf5;--swatch-sample-2: color-mix(in srgb, #ffffff 75%, transparent);--swatch-sample-3: #9d40cf;--swatch-sample-4: #c74b7a}[data-theme=light] .theme-swatch-slate{--swatch-sample-1: #f1f5f9;--swatch-sample-2: #e2e8f0;--swatch-sample-3: #3b5ea5;--swatch-sample-4: #4f7090}[data-theme=light] .theme-swatch-ash{--swatch-sample-1: #fafaf9;--swatch-sample-2: #f5f5f4;--swatch-sample-3: #5a6a7a;--swatch-sample-4: #768694}[data-theme=light] .theme-swatch-graphite{--swatch-sample-1: #fafafa;--swatch-sample-2: #f4f4f5;--swatch-sample-3: #6f7f90;--swatch-sample-4: #8a99aa}[data-theme=light] .theme-swatch-ember{--swatch-sample-1: #fafafa;--swatch-sample-2: #f4f4f5;--swatch-sample-3: #d9480f;--swatch-sample-4: #e8646a}[data-theme=light] .theme-swatch-rust{--swatch-sample-1: #f5efe8;--swatch-sample-2: #ebe3d8;--swatch-sample-3: #a04020;--swatch-sample-4: #b85828}[data-theme=light] .theme-swatch-copper{--swatch-sample-1: #f3ede6;--swatch-sample-2: #e8e0d6;--swatch-sample-3: #905820;--swatch-sample-4: #a87030}[data-theme=light] .theme-swatch-foundry{--swatch-sample-1: #f5f0e6;--swatch-sample-2: #ebe4d6;--swatch-sample-3: #c07808;--swatch-sample-4: #d08a10}[data-theme=light] .theme-swatch-carbon{--swatch-sample-1: #eef0f4;--swatch-sample-2: #e2e6ec;--swatch-sample-3: #3a6090;--swatch-sample-4: #4878a0}[data-theme=light] .theme-swatch-sandstone{--swatch-sample-1: #f5f0e8;--swatch-sample-2: #ebe4d8;--swatch-sample-3: #a07040;--swatch-sample-4: #b08050}[data-theme=light] .theme-swatch-lagoon{--swatch-sample-1: #eef5f3;--swatch-sample-2: #e0ebe8;--swatch-sample-3: #208070;--swatch-sample-4: #289080}[data-theme=light] .theme-swatch-frost{--swatch-sample-1: #f0f4f8;--swatch-sample-2: #e4eaf0;--swatch-sample-3: #3078a8;--swatch-sample-4: #4088b8}[data-theme=light] .theme-swatch-lavender{--swatch-sample-1: #f4f0f8;--swatch-sample-2: #e8e2f0;--swatch-sample-3: #8060a0;--swatch-sample-4: #9070b0}[data-theme=light] .theme-swatch-neon-bloom{--swatch-sample-1: #f8f0f8;--swatch-sample-2: #f0e4f0;--swatch-sample-3: #a03090;--swatch-sample-4: #b040a0}[data-theme=light] .theme-swatch-sepia{--swatch-sample-1: #f5f0e4;--swatch-sample-2: #ece4d4;--swatch-sample-3: #907040;--swatch-sample-4: #a08050}[data-theme=light] .theme-swatch-silver{--swatch-sample-1: #fafafa;--swatch-sample-2: #f4f4f5;--swatch-sample-3: #6b7280;--swatch-sample-4: #9ca3af}[data-theme=light] .theme-swatch-horizon{--swatch-sample-1: #fdf0ed;--swatch-sample-2: #f9cec0;--swatch-sample-3: #e8646a;--swatch-sample-4: #f08c42}[data-theme=light] .theme-swatch-vitesse{--swatch-sample-1: #f8f5f0;--swatch-sample-2: #efe9e0;--swatch-sample-3: #3a8578;--swatch-sample-4: #c08040}[data-theme=light] .theme-swatch-outrun{--swatch-sample-1: #f0f0f5;--swatch-sample-2: #e8e8ef;--swatch-sample-3: #d02080;--swatch-sample-4: #9030c8}[data-theme=light] .theme-swatch-snazzy{--swatch-sample-1: #fafafa;--swatch-sample-2: #f0f0f2;--swatch-sample-3: #d04040;--swatch-sample-4: #30a050}[data-theme=light] .theme-swatch-porple{--swatch-sample-1: #f5f3f7;--swatch-sample-2: #eae7ef;--swatch-sample-3: #9060d8;--swatch-sample-4: #4080c8}[data-theme=light] .theme-swatch-espresso{--swatch-sample-1: #f5ece4;--swatch-sample-2: #ebe1d6;--swatch-sample-3: #a07050;--swatch-sample-4: #906040}[data-theme=light] .theme-swatch-mars{--swatch-sample-1: #f5ece6;--swatch-sample-2: #ebe0d4;--swatch-sample-3: #a03010;--swatch-sample-4: #c06030}[data-theme=light] .theme-swatch-poimandres{--swatch-sample-1: #f0f0f5;--swatch-sample-2: #e6e6ee;--swatch-sample-3: #4090c0;--swatch-sample-4: #30a090}.theme-reset-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-top:20px;padding:10px 16px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:all var(--transition-fast);width:100%}.theme-reset-btn:hover{background:var(--card-hover);color:var(--text);border-color:var(--text-muted)}.theme-reset-btn:focus-visible{outline:none;border-color:var(--todo);box-shadow:var(--focus-ring-strong)}.theme-current-preview{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:20px}.theme-preview-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--surface);border-radius:var(--radius);color:var(--todo)}.theme-preview-info{flex:1}.theme-preview-label{font-size:12px;color:var(--text-muted);margin-bottom:2px}.theme-preview-value{font-size:14px;font-weight:600;color:var(--text);text-transform:capitalize}@media(max-width:768px){.model-combobox-dropdown{max-height:50vh;width:min(360px,calc(100vw - 32px))}.model-combobox-search{font-size:16px}.model-combobox-option{min-height:36px}.theme-selector{padding:0 14px 14px}.theme-font-size-toggle{grid-template-columns:1fr}}.language-selector{display:flex;flex-direction:column;gap:8px}.language-selector-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, #888)}.language-options{display:flex;flex-wrap:wrap;gap:8px}.language-option{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid var(--border-color, #333);border-radius:6px;background:var(--bg-secondary, transparent);color:var(--text-primary, inherit);font-size:.875rem;cursor:pointer;transition:border-color .15s ease,background .15s ease}.language-option:hover{border-color:var(--accent-color, #4a9eff)}.language-option.active{border-color:var(--accent-color, #4a9eff);background:var(--accent-color-subtle, color-mix(in srgb, #4a9eff 12%, transparent));font-weight:600}.tracking-repo-select{display:flex;flex-direction:column;gap:var(--space-sm)}.tracking-repo-select__custom-input{margin-top:0}.tracking-repo-select__hint{color:var(--text-muted)}.tracking-repo-select__hint--error{color:var(--color-error)}@media(max-width:768px){.tracking-repo-select{gap:var(--space-xs)}}.cli-binary-panel{display:flex;flex-direction:column;gap:12px;padding:0 var(--space-xl);margin-top:var(--space-lg);border:0;background:transparent}.cli-binary-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.cli-binary-header .settings-section-heading{margin:0}.cli-binary-pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.cli-binary-pill--ok{background:color-mix(in srgb,var(--color-success) 18%,transparent);color:var(--color-success);border:1px solid color-mix(in srgb,var(--color-success) 40%,transparent)}.cli-binary-pill--warn{background:color-mix(in srgb,var(--color-warning) 18%,transparent);color:var(--color-warning);border:1px solid color-mix(in srgb,var(--color-warning) 40%,transparent)}.cli-binary-pill--err{background:color-mix(in srgb,var(--color-error) 18%,transparent);color:var(--color-error);border:1px solid color-mix(in srgb,var(--color-error) 40%,transparent)}.cli-binary-help{color:var(--text-muted);line-height:1.4}.cli-binary-help code{background:color-mix(in srgb,var(--text) 6%,transparent);padding:1px 6px;border-radius:4px;font-size:.92em}.cli-binary-status-line{margin:0;color:var(--text-muted)}.cli-binary-status-line code{background:color-mix(in srgb,var(--text) 6%,transparent);padding:1px 6px;border-radius:4px}.cli-binary-detail{display:flex;flex-direction:column;gap:12px}.cli-binary-info-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;font-size:13px}.cli-binary-info-list li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cli-binary-info-list span{color:var(--text-muted);min-width:64px}.cli-binary-info-list code{background:color-mix(in srgb,var(--text) 6%,transparent);padding:1px 6px;border-radius:4px;word-break:break-all}.cli-binary-expected{color:var(--text-muted);font-size:12px}.cli-binary-actions{display:flex;gap:8px;flex-wrap:wrap}.cli-binary-install-btn,.cli-binary-refresh-btn,.cli-binary-copy-btn{cursor:pointer;border-radius:6px;padding:6px 12px;font-size:13px;border:1px solid transparent;transition:background .15s ease,border-color .15s ease}.cli-binary-install-btn{background:var(--accent, #3b82f6);color:var(--accent-text)}.cli-binary-install-btn:hover:not(:disabled){background:var(--accent-hover, #2563eb)}.cli-binary-install-btn:disabled,.cli-binary-refresh-btn:disabled{opacity:.55;cursor:not-allowed}.cli-binary-refresh-btn,.cli-binary-copy-btn{background:color-mix(in srgb,var(--text) 4%,transparent);color:var(--text);border-color:color-mix(in srgb,var(--text) 12%,transparent)}.cli-binary-refresh-btn:hover:not(:disabled),.cli-binary-copy-btn:hover{background:color-mix(in srgb,var(--text) 8%,transparent)}.cli-binary-commands{display:flex;flex-direction:column;gap:6px}.cli-binary-commands label{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.cli-binary-command-row{display:flex;align-items:center;gap:8px;background:color-mix(in srgb,var(--bg) 25%,transparent);border:1px solid color-mix(in srgb,var(--text) 6%,transparent);border-radius:6px;padding:6px 8px 6px 12px}.cli-binary-command-row code{flex:1;font-family:var(--font-mono, ui-monospace, "SFMono-Regular", monospace);font-size:12.5px;color:var(--text-primary, #e6edf3);white-space:nowrap;overflow-x:auto}.cli-binary-install-log{border-top:1px solid color-mix(in srgb,var(--text) 6%,transparent);padding-top:10px;font-size:12.5px}.cli-binary-install-log summary{cursor:pointer;color:var(--text-muted)}.cli-binary-install-output{margin:6px 0 0;padding:8px 10px;background:color-mix(in srgb,var(--bg) 35%,transparent);border-radius:4px;max-height:220px;overflow:auto;white-space:pre-wrap;font-size:12px;line-height:1.4}.cli-binary-install-output--err{color:var(--color-error)}.cli-binary-permissions-hint{margin:6px 0;padding:8px 10px;background:color-mix(in srgb,var(--color-error) 10%,transparent);border-left:3px solid color-mix(in srgb,var(--color-error) 55%,transparent);border-radius:0 var(--radius-sm) var(--radius-sm) 0;color:var(--color-error);font-size:12.5px;line-height:1.5}@keyframes custom-provider-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.custom-providers-section .onboarding-disclosure-content{margin-top:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm)}.custom-provider-list{display:flex;flex-direction:column;gap:var(--space-sm)}.custom-provider-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.custom-provider-item:hover{border-color:var(--text-dim)}.custom-provider-item-info{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0}.custom-provider-item-name{font-weight:600;color:var(--text)}.custom-provider-item-meta{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-provider-item-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.custom-provider-badge{display:inline-flex;align-items:center;padding:var(--space-xs);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-info) 15%,transparent);color:var(--color-info)}.custom-provider-empty{color:var(--text-muted);padding:var(--space-sm) 0}.custom-provider-add-btn{margin-top:var(--space-sm)}.custom-provider-form{padding:var(--space-md);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:var(--space-sm)}.custom-provider-form-row{margin-bottom:var(--space-sm)}.custom-provider-form-actions{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.custom-provider-form-error{display:flex;align-items:center;gap:var(--space-xs);color:var(--color-error);margin-top:var(--space-xs);background:color-mix(in srgb,var(--color-error) 10%,transparent);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.custom-provider-item-edit-form{margin-top:var(--space-xs)}.spin{animation:custom-provider-spin calc(var(--duration-slow) * 4) linear infinite}@media(max-width:768px){.custom-provider-item{flex-direction:column;align-items:flex-start;gap:var(--space-xs)}.custom-provider-item-meta{max-width:100%}.custom-provider-form{padding:var(--space-sm)}.custom-provider-item-actions{align-self:flex-end;margin-top:var(--space-xs)}}.prompt-manager{display:flex;flex-direction:column;gap:var(--space-md);padding:0 var(--space-xl);margin-top:var(--space-md)}.prompt-manager-tabs{display:flex;gap:var(--space-xs);border-bottom:1px solid var(--border);padding-bottom:var(--space-sm)}.prompt-manager-tab{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:none;border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-muted);font-size:13px;cursor:pointer;transition:all var(--transition-fast)}.prompt-manager-tab:hover{color:var(--text);background:var(--surface)}.prompt-manager-tab:focus-visible{outline:none;box-shadow:var(--focus-ring-strong);border-color:var(--todo)}.prompt-manager-tab.active{color:var(--text);background:var(--surface);border-color:var(--border)}.prompt-manager-content{min-height:200px}.prompt-manager-templates-tab,.prompt-manager-assignments-tab,.prompt-manager-overrides-tab{display:flex;flex-direction:column;gap:var(--space-lg)}.prompt-template-section{display:flex;flex-direction:column;gap:var(--space-md)}.prompt-template-section-title{font-size:14px;font-weight:600;color:var(--text);margin:0}.prompt-template-section-desc{font-size:12px;color:var(--text-muted);margin:0}.prompt-template-list{display:flex;flex-direction:column;gap:var(--space-md)}.prompt-template-card{padding:var(--space-md);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition-fast)}.prompt-template-card:hover{border-color:var(--text-dim)}.prompt-template-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-sm)}.prompt-template-card-info{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.prompt-template-card-name{font-weight:600;color:var(--text);font-size:14px}.prompt-template-badge-built-in,.prompt-template-badge-custom,.prompt-template-badge-override{display:inline-flex;align-items:center;padding:calc(var(--space-xs) * .5) calc(var(--space-xs) * 1.5);font-size:10px;font-weight:500;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.02em}.prompt-template-badge-built-in{background:var(--surface);color:var(--text-muted);border:1px solid var(--border)}.prompt-template-badge-custom{background:color-mix(in srgb,var(--color-info) 15%,transparent);color:var(--color-info)}.prompt-template-badge-override{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning)}.prompt-template-badge-role{display:inline-flex;align-items:center;padding:calc(var(--space-xs) * .5) calc(var(--space-xs) * 1.5);font-size:10px;font-weight:500;border-radius:var(--radius-sm)}.prompt-template-badge-built-in,.prompt-template-badge-role,.prompt-role-badge{--prompt-role-color: var(--color-muted)}.prompt-role-tone--executor{--prompt-role-color: var(--todo)}.prompt-role-tone--triage{--prompt-role-color: var(--triage)}.prompt-role-tone--reviewer{--prompt-role-color: var(--in-review)}.prompt-role-tone--merger{--prompt-role-color: var(--done)}.prompt-role-tone--scheduler{--prompt-role-color: var(--color-info)}.prompt-role-tone--engineer{--prompt-role-color: var(--color-warning)}.prompt-role-tone--custom{--prompt-role-color: var(--color-muted)}.prompt-template-badge-role,.prompt-role-badge{background:color-mix(in srgb,var(--prompt-role-color) 15%,transparent);color:var(--prompt-role-color)}.prompt-template-badge-built-in.prompt-role-tone--executor,.prompt-template-badge-built-in.prompt-role-tone--triage,.prompt-template-badge-built-in.prompt-role-tone--reviewer,.prompt-template-badge-built-in.prompt-role-tone--merger,.prompt-template-badge-built-in.prompt-role-tone--scheduler,.prompt-template-badge-built-in.prompt-role-tone--engineer,.prompt-template-badge-built-in.prompt-role-tone--custom{border-color:var(--prompt-role-color)}.prompt-template-card-actions{display:flex;gap:var(--space-xs)}.prompt-template-card-actions .btn-icon{padding:var(--space-xs)}.prompt-template-card-description{font-size:12px;color:var(--text-muted);margin:0 0 var(--space-sm) 0;line-height:1.4}.prompt-template-card-preview{background:var(--surface);border-radius:var(--radius-sm);padding:var(--space-sm);overflow:hidden}.prompt-template-card-preview code{font-size:calc(var(--space-sm) + var(--space-xs) * .75);color:var(--text-muted);font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;display:block;max-height:120px;overflow-y:auto}.prompt-template-empty{padding:var(--space-lg);text-align:center;color:var(--text-muted);font-size:13px;background:var(--surface);border:1px dashed var(--border);border-radius:var(--radius-md)}.prompt-template-add-btn{align-self:flex-start;margin-top:var(--space-sm)}.prompt-template-editor{padding:var(--space-lg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.prompt-template-editor-title{font-size:14px;font-weight:600;color:var(--text);margin:0 0 var(--space-md) 0}.prompt-template-editor-fields{display:flex;flex-direction:column;gap:var(--space-md)}.prompt-template-field{display:flex;flex-direction:column;gap:var(--space-xs)}.prompt-template-field label{font-size:12px;font-weight:500;color:var(--text-muted)}.prompt-template-field input,.prompt-template-field select,.prompt-template-prompt-textarea{padding:var(--space-sm) var(--space-md);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:13px;transition:border-color var(--transition-fast)}.prompt-template-field input:focus,.prompt-template-field select:focus,.prompt-template-prompt-textarea:focus{outline:none;border-color:var(--todo)}.prompt-template-prompt-textarea{font-family:var(--font-mono);font-size:12px;line-height:1.5;resize:vertical;min-height:120px}.prompt-template-error{padding:var(--space-sm);background:color-mix(in srgb,var(--color-error) 10%,transparent);border:1px solid var(--color-error);border-radius:var(--radius-sm);color:var(--color-error);font-size:12px}.prompt-template-editor-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;margin-top:var(--space-sm)}.prompt-template-delete-confirm{padding:var(--space-md);background:color-mix(in srgb,var(--color-error) 10%,transparent);border:1px solid var(--color-error);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--space-sm)}.prompt-template-delete-confirm p{margin:0;font-size:13px;color:var(--text)}.prompt-template-delete-actions{display:flex;gap:var(--space-sm)}.prompt-assignments-desc{font-size:12px;color:var(--text-muted);margin:0}.prompt-role-assignment-list{display:flex;flex-direction:column;gap:var(--space-md)}.prompt-role-assignment-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-lg);padding:var(--space-md);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md)}.prompt-role-assignment-label{display:flex;align-items:center;gap:var(--space-md)}.prompt-role-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);font-size:12px;font-weight:600;border-radius:var(--radius-sm)}.prompt-role-assignment-status{font-size:12px;color:var(--text-muted)}.prompt-role-select{min-width:200px;padding:var(--space-sm) var(--space-md);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:13px;cursor:pointer}.prompt-role-select:focus{outline:none;border-color:var(--todo)}.prompt-role-select:focus-visible{outline:none;border-color:var(--todo);box-shadow:var(--focus-ring-strong)}.prompt-assignments-note{margin-top:var(--space-md);padding:var(--space-md);background:var(--surface);border-radius:var(--radius-md);font-size:12px;color:var(--text-muted);line-height:1.5}.prompt-assignments-note strong{color:var(--text)}.prompt-overrides-desc{font-size:12px;color:var(--text-muted);margin:0}.prompt-overrides-list{display:flex;flex-direction:column;gap:var(--space-md)}.prompt-override-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.prompt-override-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);cursor:pointer;transition:background var(--transition-fast)}.prompt-override-header:hover{background:var(--card-hover)}.prompt-override-info{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm);flex:1;min-width:0;border:none;background:none;color:inherit;padding:0;text-align:left;font:inherit;cursor:pointer;border-radius:var(--radius-sm)}.prompt-override-info:focus-visible{outline:none;box-shadow:var(--focus-ring-strong)}.prompt-override-name{font-weight:600;color:var(--text);font-size:13px}.prompt-override-key{font-size:11px;font-family:var(--font-mono);color:var(--text-muted);padding:calc(var(--space-xs) * .5) var(--space-xs);background:var(--surface);border-radius:var(--radius-sm)}.prompt-override-badge{display:inline-flex;align-items:center;padding:calc(var(--space-xs) * .5) calc(var(--space-xs) * 1.5);font-size:10px;font-weight:500;background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning);border-radius:var(--radius-sm)}.prompt-override-expand-btn{display:flex;align-items:center;justify-content:center;width:var(--space-xl);height:var(--space-xl);background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.prompt-override-expand-btn:hover{color:var(--text);background:var(--surface)}.prompt-override-expand-btn:focus-visible{outline:none;box-shadow:var(--focus-ring-strong);color:var(--text);background:var(--surface)}.prompt-override-description{font-size:12px;color:var(--text-muted);margin:0;padding:0 var(--space-md) var(--space-md);line-height:1.4}.prompt-override-editor{padding:var(--space-md);border-top:1px solid var(--border);background:var(--surface);display:flex;flex-direction:column;gap:var(--space-sm)}.prompt-override-textarea{padding:var(--space-sm) var(--space-md);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:12px;font-family:var(--font-mono);line-height:1.5;resize:vertical;min-height:calc(var(--space-xl) * 3 + var(--space-sm));transition:border-color var(--transition-fast)}.prompt-override-textarea:focus{outline:none;border-color:var(--todo)}.prompt-override-footer{display:flex;align-items:center;gap:var(--space-md)}.prompt-override-hint{font-size:calc(var(--space-sm) + var(--space-xs) * .75);color:var(--text-muted)}.prompt-override-header-actions{display:flex;align-items:center;gap:var(--space-xs)}.prompt-override-fullscreen-btn{display:flex;align-items:center;justify-content:center;width:var(--space-xl);height:var(--space-xl);background:none;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.prompt-override-fullscreen-btn:hover{color:var(--text);background:var(--surface)}.prompt-override-fullscreen-btn:focus-visible{outline:none;box-shadow:var(--focus-ring-strong);color:var(--text);background:var(--surface)}.prompt-override-fullscreen{position:fixed;inset:0;z-index:10000;background:var(--surface);padding:max(var(--space-lg),env(safe-area-inset-top,0px)) max(var(--space-lg),env(safe-area-inset-right,0px)) max(var(--space-lg),env(safe-area-inset-bottom,0px)) max(var(--space-lg),env(safe-area-inset-left,0px));display:flex;flex-direction:column}.prompt-override-fullscreen-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);flex-shrink:0}.prompt-override-fullscreen-title{font-size:13px;font-weight:600;color:var(--text);display:flex;align-items:center;gap:var(--space-sm)}.prompt-override-fullscreen-close{display:flex;align-items:center;justify-content:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:none;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;font-size:12px;transition:all var(--transition-fast)}.prompt-override-fullscreen-close:hover{color:var(--text);border-color:var(--text-muted)}.prompt-override-fullscreen-close:focus-visible{outline:none;box-shadow:var(--focus-ring-strong)}.prompt-override-fullscreen textarea{flex:1;min-height:unset;resize:none;border-radius:var(--radius-md);font-size:14px;line-height:1.6}.prompt-template-fullscreen-pre{flex:1;font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text);white-space:pre-wrap;word-break:break-word;overflow-y:auto;padding:var(--space-md);background:var(--bg);border-radius:var(--radius-md);border:1px solid var(--border);margin:0}.prompt-override-fullscreen .prompt-override-footer{flex-shrink:0;padding-top:var(--space-sm)}.prompt-template-prompt-label-row{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xs)}.prompt-template-prompt-label-row label{display:block}.prompt-template-fullscreen-btn{vertical-align:middle}.prompt-template-prompt-label-row .prompt-template-fullscreen-btn{margin-left:var(--space-xs)}@media(max-width:768px){.prompt-manager{padding:0 var(--space-lg)}.prompt-manager-tabs{flex-wrap:wrap}.prompt-manager-tab{flex:1;justify-content:center;min-width:calc(50% - var(--space-xs))}.prompt-role-assignment-row{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.prompt-role-select{width:100%}.prompt-template-editor-actions{flex-direction:column}.prompt-template-editor-actions .btn{width:100%}.prompt-override-fullscreen{padding:max(var(--space-md),env(safe-area-inset-top,0px)) max(var(--space-md),env(safe-area-inset-right,0px)) max(var(--space-md),env(safe-area-inset-bottom,0px)) max(var(--space-md),env(safe-area-inset-left,0px))}.prompt-override-fullscreen textarea{font-size:16px}.prompt-override-expand-btn,.prompt-override-fullscreen-btn{width:calc(var(--space-lg) * 2 + var(--space-xs));height:calc(var(--space-lg) * 2 + var(--space-xs))}}.settings-moved-stub{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-2, var(--surface))}.settings-moved-stub__message{margin:0;font-size:.85rem;color:var(--text-muted)}.settings-moved-stub__action{align-self:flex-start;padding:var(--space-xs) var(--space-md);font-size:.85rem;font-weight:600;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease}.settings-moved-stub__action:hover:not(:disabled){background:var(--surface-hover, var(--surface-2, var(--surface)));border-color:var(--accent, var(--border))}.settings-moved-stub__action:disabled{opacity:.6;cursor:not-allowed}.agent-provisioning-policy-editor{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);border:1px solid var(--border);border-radius:var(--radius-lg)}.agent-provisioning-policy-help{color:var(--text-muted);font-size:.75rem;margin:0}.agent-provisioning-policy-help code{font-family:var(--font-mono)}.agent-provisioning-policy-textarea{min-height:calc(var(--space-2xl) + var(--space-xl));resize:vertical}@media(max-width:768px){.agent-provisioning-policy-editor{padding:var(--space-md)}}
@@ -1 +0,0 @@
1
- import{r as l,j as e}from"./vendor-react-D37HfzIf.js";import{cW as b,bd as L,cX as O,cY as W,cZ as _,X as G,b as Y,C,L as $}from"./index-CpTBp1RG.js";import{D as X}from"./DirectoryPicker-CkcGjyv0.js";import{s as f}from"./projectDetection-G3XuxD2X.js";import{u as Z}from"./vendor-i18n-CV0mwX_-.js";import"./vendor-reactflow-CRZcPCXF.js";import"./vendor-xterm-tcedd2Jt.js";import"./vendor-codemirror-jBKmHyH0.js";import"./folder-open-Bw1mxVfa.js";function oe({onProjectRegistered:m,onClose:j}){const{t:s}=Z("app"),y="https://github.com/runfusion/fusion/discussions",[z,P]=l.useState(!0),[t,n]=l.useState(()=>({step:b()?"manual":"auth",manualMode:"existing",manualPath:"",manualCloneUrl:"",manualName:"",manualIsolationMode:"in-process",manualNodeId:"",isRegistering:!1,error:null})),[x,M]=l.useState(!1),[i,u]=l.useState(""),[p,g]=l.useState(()=>b()),{nodes:N,loading:S}=L(),T=N.find(a=>a.type==="local")?.id,k=l.useCallback(()=>{P(!1),j?.()},[j]),I=l.useCallback(a=>{n(o=>{const d={manualPath:a};return a&&(!o.manualName||o.manualName===f(o.manualPath))&&(d.manualName=f(a)),{...o,...d}})},[]),R=l.useCallback(async()=>{const a=t.manualPath.trim(),o=t.manualName.trim(),d=t.manualCloneUrl.trim();if(!(!a||!o)&&!(t.manualMode==="clone"&&!d)){n(c=>({...c,isRegistering:!0,error:null}));try{const c={name:o,path:a,isolationMode:t.manualIsolationMode,nodeId:t.manualNodeId||void 0,cloneUrl:t.manualMode==="clone"?d:void 0},h=await O(c);m(h),n(B=>({...B,step:"complete",isRegistering:!1}))}catch(c){n(h=>({...h,isRegistering:!1,error:c instanceof Error?c.message:"Failed to register project"}))}}},[t.manualPath,t.manualName,t.manualCloneUrl,t.manualMode,t.manualIsolationMode,t.manualNodeId,m]),v=l.useCallback(()=>{const a=i.trim();a&&(W(a),g(a),u(""),n(o=>o.step==="auth"?{...o,step:"manual"}:o))},[i]),A=l.useCallback(()=>{_(),g(void 0),u("")},[]),F=l.useCallback(()=>{n(a=>({...a,step:"manual"}))},[]);if(!z)return null;const w=t.manualMode==="existing",r=t.manualMode==="clone",U=t.manualPath.trim().length>0,D=t.manualName.trim().length>0,E=t.manualCloneUrl.trim().length>0,H=t.isRegistering||!U||!D||r&&!E;return e.jsx("div",{className:"modal-overlay open setup-wizard-overlay",role:"dialog","aria-modal":"true","aria-labelledby":"wizard-title",children:e.jsxs("div",{className:"modal setup-wizard-modal",children:[e.jsxs("div",{className:"setup-wizard-header",children:[e.jsxs("div",{className:"setup-wizard-heading",children:[e.jsxs("div",{className:"setup-wizard-brand","aria-label":"Fusion",children:[e.jsxs("svg",{className:"setup-wizard-brand-logo",width:28,height:28,viewBox:"0 0 128 128",fill:"none","aria-label":"Fusion logo",role:"img",children:[e.jsx("circle",{cx:"64",cy:"64",r:"52",stroke:"currentColor",strokeWidth:"8"}),e.jsx("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"})]}),e.jsx("span",{className:"setup-wizard-brand-name",children:"Fusion"})]}),e.jsxs("h2",{id:"wizard-title",className:"setup-wizard-title",children:[t.step==="auth"&&s("setup.setAuthToken","Set Auth Token"),t.step==="manual"&&s("setup.welcomeToFusion","Welcome to Fusion"),t.step==="complete"&&s("setup.setupComplete","Setup Complete!")]})]}),t.step!=="complete"&&e.jsx("button",{className:"modal-close",onClick:k,"aria-label":s("setup.closeWizard","Close wizard"),children:e.jsx(G,{size:20})})]}),e.jsxs("div",{className:"setup-wizard-content",children:[t.step==="auth"&&e.jsxs("div",{className:"setup-wizard-auth-step",children:[e.jsx("p",{className:"setup-wizard-auth-step-description",children:s("setup.authDescription","This dashboard requires an auth token to communicate with the Fusion daemon. Paste the token below to continue.")}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"setup-auth-token",children:s("setup.authToken","Auth Token")}),e.jsx("input",{id:"setup-auth-token",type:"password",value:i,onChange:a=>u(a.target.value),placeholder:s("setup.pasteTokenPlaceholder","Paste the daemon auth token"),autoComplete:"off",spellCheck:!1,autoFocus:!0}),e.jsx("p",{className:"form-hint",children:s("setup.tokenEnvVar","The token was set via the {{env}} environment variable when starting the dashboard.",{env:"FUSION_DAEMON_TOKEN"})})]}),t.error&&e.jsx("div",{className:"wizard-error",role:"alert",children:t.error})]}),t.step==="manual"&&e.jsxs("div",{className:"setup-wizard-manual",children:[e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"project-name",children:s("setup.projectName","Project Name")}),e.jsx("input",{id:"project-name",type:"text",value:t.manualName,onChange:a=>n(o=>({...o,manualName:a.target.value})),placeholder:s("setup.projectNamePlaceholder","my-project")}),e.jsx("p",{className:"form-hint",children:r?s("setup.projectNameHintClone","By default this follows the destination folder name unless you edit it."):s("setup.projectNameHintExisting","By default this follows the selected directory name unless you edit it.")})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"project-path",children:r?s("setup.destinationDirectory","Destination Directory"):s("setup.projectDirectory","Project Directory")}),e.jsx(X,{value:t.manualPath,onChange:I,nodeId:t.manualNodeId||void 0,localNodeId:T,placeholder:r?s("setup.clonePathPlaceholder","/path/for/new-clone"):s("setup.projectPathPlaceholder","/path/to/your/project")}),e.jsx("p",{className:"form-hint",children:r?s("setup.clonePathHint","Select or type an absolute destination path. Fusion will clone into this directory."):s("setup.projectPathHint","Select or type the absolute path to your project")})]}),e.jsxs("div",{className:"setup-wizard-advanced",children:[e.jsxs("button",{type:"button",className:"setup-wizard-advanced-toggle","aria-expanded":x,onClick:()=>M(a=>!a),children:[e.jsx(Y,{size:16,className:"setup-wizard-advanced-chevron"}),e.jsx("span",{children:s("setup.advancedSettings","Advanced settings")})]}),x&&e.jsxs("div",{className:"setup-wizard-advanced-panel",children:[e.jsxs("fieldset",{className:"setup-wizard-mode-switch","aria-label":"Project setup mode",children:[e.jsx("legend",{children:s("setup.setupMode","Setup Mode")}),e.jsxs("label",{className:`setup-wizard-mode-option${w?" selected":""}`,children:[e.jsx("input",{type:"radio",name:"setup-mode",value:"existing",checked:w,onChange:()=>n(a=>({...a,manualMode:"existing",error:null}))}),e.jsx("span",{children:s("setup.useExistingDirectory","Use Existing Directory")})]}),e.jsxs("label",{className:`setup-wizard-mode-option${r?" selected":""}`,children:[e.jsx("input",{type:"radio",name:"setup-mode",value:"clone",checked:r,onChange:()=>n(a=>({...a,manualMode:"clone",error:null}))}),e.jsx("span",{children:s("setup.cloneGitRepository","Clone Git Repository")})]})]}),r&&e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"project-clone-url",children:s("setup.repositoryUrl","Repository URL")}),e.jsx("input",{id:"project-clone-url",type:"text",value:t.manualCloneUrl,onChange:a=>n(o=>({...o,manualCloneUrl:a.target.value})),placeholder:s("setup.repositoryUrlPlaceholder","https://github.com/owner/repo.git")}),e.jsx("p",{className:"form-hint",children:s("setup.cloneGitHint","Fusion will run git clone into the destination directory, then register that cloned folder.")})]}),e.jsx("div",{className:"form-group",children:e.jsxs("div",{className:"project-node-selector",children:[e.jsx("span",{className:"project-node-selector__label",children:s("setup.runtimeNode","Runtime Node")}),e.jsxs("select",{value:t.manualNodeId,onChange:a=>n(o=>({...o,manualNodeId:a.target.value})),disabled:S||t.isRegistering,children:[e.jsx("option",{value:"",children:s("setup.localNode","Local node")}),N.map(a=>e.jsxs("option",{value:a.id,children:[a.name," (",a.type,")"]},a.id))]})]})}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{children:s("setup.isolationMode","Isolation Mode")}),e.jsxs("div",{className:"setup-wizard-isolation-options",children:[e.jsxs("label",{className:`setup-wizard-isolation-option${t.manualIsolationMode==="in-process"?" selected":""}`,children:[e.jsx("input",{type:"radio",name:"isolation-mode",value:"in-process",checked:t.manualIsolationMode==="in-process",onChange:()=>n(a=>({...a,manualIsolationMode:"in-process"}))}),e.jsxs("div",{className:"setup-wizard-isolation-option-content",children:[e.jsx("strong",{children:s("setup.inProcess","In-Process")}),e.jsx("span",{children:s("setup.inProcessDesc","Lower overhead, shared memory. Best for most projects.")}),e.jsx("span",{className:"wizard-option-recommended",children:s("setup.recommended","Recommended")})]})]}),e.jsxs("label",{className:`setup-wizard-isolation-option${t.manualIsolationMode==="child-process"?" selected":""}`,children:[e.jsx("input",{type:"radio",name:"isolation-mode",value:"child-process",checked:t.manualIsolationMode==="child-process",onChange:()=>n(a=>({...a,manualIsolationMode:"child-process"}))}),e.jsxs("div",{className:"setup-wizard-isolation-option-content",children:[e.jsx("strong",{children:s("setup.childProcess","Child-Process")}),e.jsx("span",{children:s("setup.childProcessDesc","Isolated execution with crash containment.")})]})]})]})]}),e.jsxs("div",{className:"form-group",children:[e.jsx("label",{htmlFor:"advanced-auth-token",children:s("setup.browserAuthToken","Browser Auth Token")}),e.jsxs("div",{className:"setup-wizard-auth-token",children:[e.jsx("input",{id:"advanced-auth-token",type:"password",value:i,onChange:a=>u(a.target.value),placeholder:p?s("setup.replaceTokenPlaceholder","Enter a new token to replace the stored one"):s("setup.pasteTokenForBrowserPlaceholder","Paste the auth token for this browser"),autoComplete:"off",spellCheck:!1}),e.jsxs("div",{className:"setup-wizard-auth-token-actions",children:[e.jsx("button",{type:"button",className:"btn",onClick:v,disabled:i.trim().length===0,children:p?s("setup.updateToken","Update token"):s("setup.setToken","Set token")}),p&&e.jsx("button",{type:"button",className:"btn",onClick:A,children:s("setup.resetToken","Reset token")})]})]}),e.jsx("p",{className:"form-hint",children:p?s("setup.tokenStoredHint","A token is already stored in this browser. You can update or reset it below."):s("setup.noTokenHint","No token is stored. Use the auth prompt at the top of the wizard, or set one here.")})]})]})]}),t.error&&e.jsx("div",{className:"wizard-error",role:"alert",children:t.error})]}),t.step==="complete"&&e.jsxs("div",{className:"setup-wizard-complete",children:[e.jsxs("div",{className:"setup-wizard-success-streak","aria-hidden":"true",children:[e.jsx("div",{className:"setup-wizard-success-streak-core"}),e.jsx("div",{className:"setup-wizard-success-streak-glow"})]}),e.jsx(C,{size:64,className:"success-icon"}),e.jsx("h3",{children:s("setup.allSet","All Set!")}),e.jsx("p",{children:s("setup.projectRegisteredSuccess","Your project has been registered successfully.")}),e.jsx("p",{children:s("setup.addMoreProjectsHint","You can add more projects anytime from the project overview.")})]})]}),e.jsxs("div",{className:"setup-wizard-footer",children:[e.jsx("a",{className:"btn setup-wizard-help-link",href:y,target:"_blank",rel:"noreferrer",children:s("setup.needHelp","Need help?")}),t.step==="auth"&&e.jsxs(e.Fragment,{children:[e.jsx("button",{className:"btn",onClick:F,children:s("setup.skip","Skip")}),e.jsx("button",{className:"btn btn-primary",onClick:v,disabled:i.trim().length===0,children:e.jsx("span",{children:s("setup.setTokenContinue","Set Token & Continue")})})]}),t.step==="manual"&&e.jsx("button",{className:"btn btn-primary",onClick:R,disabled:H,children:t.isRegistering?e.jsxs(e.Fragment,{children:[e.jsx($,{size:16,className:"animate-spin"}),e.jsx("span",{children:s("setup.registering","Registering...")})]}):e.jsx("span",{children:s("setup.registerProject","Register Project")})}),t.step==="complete"&&e.jsxs("button",{className:"btn btn-primary",onClick:k,children:[e.jsx(C,{size:16}),e.jsx("span",{children:s("setup.getStarted","Get Started")})]})]})]})})}export{oe as SetupWizardModal};
@@ -1 +0,0 @@
1
- .wizard-option-recommended{display:inline-flex;align-items:center;width:fit-content;padding:calc(var(--space-xs) / 2) var(--space-sm);background:color-mix(in srgb,var(--color-success) 10%,transparent);color:var(--color-success)!important;border-radius:var(--radius-sm);font-size:calc(var(--space-md) - (var(--space-xs) / 4))!important;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.wizard-error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:color-mix(in srgb,var(--color-error) 10%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 35%,transparent);border-radius:var(--radius-md);color:var(--color-error);font-size:calc(var(--space-md) + (var(--space-xs) / 4))}.setup-wizard-overlay{overflow-y:auto;overscroll-behavior:contain}.setup-wizard-modal{display:flex;flex-direction:column;max-width:880px;width:90vw;max-height:min(720px,calc(100vh - var(--overlay-padding-top, 10vh) - var(--space-lg)));max-height:min(720px,calc(100dvh - var(--overlay-padding-top, 10vh) - var(--space-lg)));animation:slideUp var(--duration-normal) ease-out;overflow:hidden;flex-shrink:0}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.setup-wizard-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-xl) var(--space-xl) 0;gap:var(--space-md);flex-shrink:0}.setup-wizard-heading{display:flex;flex-direction:column;gap:var(--space-xs);flex:1 1 auto;min-width:0}.setup-wizard-brand{display:inline-flex;align-items:center;gap:var(--space-sm);color:var(--logo-accent)}.setup-wizard-brand-logo{width:28px;height:28px;flex-shrink:0}.setup-wizard-brand-name{font-size:22px;font-weight:800;letter-spacing:-.02em;line-height:1}.setup-wizard-title{font-size:24px;font-weight:800;color:var(--text);margin:0;line-height:1.1}.setup-wizard-content{padding:var(--space-md) var(--space-xl);flex:1 1 auto;min-height:0;overflow-y:auto}.setup-wizard-manual{display:flex;flex-direction:column}.setup-wizard-manual .welcome-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:color-mix(in srgb,var(--todo) 10%,transparent);border-radius:var(--radius-lg);color:var(--todo);margin-bottom:var(--space-lg)}.setup-wizard-manual .welcome-text{font-size:14px;color:var(--text-muted);line-height:1.6;margin:0 0 var(--space-xl)}.setup-wizard-mode-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm);margin:0 0 var(--space-lg);padding:0;border:0}.setup-wizard-mode-switch legend{font-size:13px;font-weight:600;color:var(--text);margin-bottom:var(--space-xs)}.setup-wizard-mode-option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--text);cursor:pointer;transition:border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast)}.setup-wizard-mode-option input{accent-color:var(--todo)}.setup-wizard-mode-option:hover{border-color:var(--text-dim)}.setup-wizard-mode-option.selected{border-color:var(--todo);background:color-mix(in srgb,var(--todo) 10%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--todo) 25%,transparent)}.setup-wizard-manual .form-group{margin-bottom:var(--space-lg)}.setup-wizard-manual .form-group label{display:block;font-size:13px;font-weight:600;color:var(--text);margin-bottom:var(--space-xs)}.setup-wizard-manual .form-group input,.setup-wizard-manual .form-group select{width:100%;padding:10px 12px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);font-size:14px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.setup-wizard-manual .form-group input:focus,.setup-wizard-manual .form-group select:focus{outline:none;border-color:var(--todo);box-shadow:var(--focus-ring)}.setup-wizard-manual .form-hint{margin:4px 0 0;font-size:12px;color:var(--text-dim)}.setup-wizard-isolation-options{display:flex;flex-direction:column;gap:var(--space-sm)}.setup-wizard-advanced{margin-top:var(--space-sm);border-top:1px solid var(--border);padding-top:var(--space-lg)}.setup-wizard-advanced-toggle{width:100%;display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) 0;background:transparent;border:none;color:var(--text);font-size:14px;font-weight:600;text-align:left;cursor:pointer}.setup-wizard-advanced-toggle:hover{color:var(--logo-accent)}.setup-wizard-advanced-toggle:focus-visible{outline:none;box-shadow:var(--focus-ring-strong);border-radius:var(--radius-sm)}.setup-wizard-advanced-toggle[aria-expanded=true] .setup-wizard-advanced-chevron{transform:rotate(90deg)}.setup-wizard-advanced-chevron{flex-shrink:0;transition:transform var(--transition-fast)}.setup-wizard-advanced-panel{display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-sm);padding:var(--space-md);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg)}.setup-wizard-advanced-panel .form-group:last-child{margin-bottom:0}.setup-wizard-auth-token{display:flex;flex-direction:column;gap:var(--space-sm)}.setup-wizard-auth-token-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.setup-wizard-auth-token-actions .btn{min-height:36px}.setup-wizard-auth-step{display:flex;flex-direction:column;gap:var(--space-lg)}.setup-wizard-auth-step-description{font-size:14px;color:var(--text-muted);line-height:1.6;margin:0}.setup-wizard-auth-step code{font-family:var(--font-mono);font-size:12px;padding:2px 6px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm)}.setup-wizard-isolation-option{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.setup-wizard-isolation-option:hover{background:var(--card-hover);border-color:var(--text-dim)}.setup-wizard-isolation-option.selected{background:color-mix(in srgb,var(--todo) 5%,transparent);border-color:var(--todo);box-shadow:0 0 0 1px var(--todo)}.setup-wizard-isolation-option input[type=radio]{margin-top:2px;accent-color:var(--todo)}.setup-wizard-isolation-option-content{display:flex;flex-direction:column;gap:2px}.setup-wizard-isolation-option-content strong{font-size:14px;font-weight:600;color:var(--text)}.setup-wizard-isolation-option-content span{font-size:12px;color:var(--text-muted)}.setup-wizard-isolation-option .wizard-option-recommended{margin-top:2px}.setup-wizard-complete{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-sm);padding:var(--space-lg) 0}.setup-wizard-complete .success-icon{color:var(--color-success)}.setup-wizard-complete h3{font-size:20px;font-weight:700;color:var(--text);margin:0}.setup-wizard-complete p{font-size:14px;color:var(--text-muted);margin:0;line-height:1.5}.setup-wizard-footer{display:flex;align-items:center;gap:var(--space-sm);justify-content:flex-end;padding:var(--space-md) var(--space-xl) var(--space-lg);flex-shrink:0;border-top:1px solid var(--border);background:var(--surface)}.setup-wizard-footer .btn-primary{display:inline-flex;align-items:center;gap:var(--space-sm);padding:10px 24px;font-size:14px;font-weight:600}.setup-wizard-help-link{margin-right:auto;text-decoration:none}.setup-wizard-footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}@media(max-width:768px){.setup-wizard-overlay{padding:max(var(--space-md),env(safe-area-inset-top,0px)) max(var(--space-md),env(safe-area-inset-right,0px)) max(var(--space-md),env(safe-area-inset-bottom,0px)) max(var(--space-md),env(safe-area-inset-left,0px))}.setup-wizard-modal{display:flex;flex-direction:column;max-width:100%;width:100%;max-height:calc(100vh - max(var(--space-2xl),env(safe-area-inset-top,0px)) - max(var(--space-2xl),env(safe-area-inset-bottom,0px)));max-height:calc(100dvh - max(var(--space-2xl),env(safe-area-inset-top,0px)) - max(var(--space-2xl),env(safe-area-inset-bottom,0px)));border-radius:var(--radius-lg)}.setup-wizard-header{padding:var(--space-md) var(--space-md) 0}.setup-wizard-brand-name{font-size:20px}.setup-wizard-title{font-size:21px}.setup-wizard-content{padding:var(--space-md)}.setup-wizard-mode-switch{grid-template-columns:1fr}.setup-wizard-isolation-options{gap:var(--space-xs)}.setup-wizard-isolation-option{padding:var(--space-sm) var(--space-md)}.setup-wizard-advanced-panel{padding:var(--space-sm)}.setup-wizard-auth-token-actions .btn{width:100%;justify-content:center}.setup-wizard-footer{flex-direction:column;align-items:stretch;padding:var(--space-sm) var(--space-md) max(var(--space-md),env(safe-area-inset-bottom,0px))}.setup-wizard-footer .btn-primary{width:100%;justify-content:center}.setup-wizard-help-link{margin-right:0;width:100%;justify-content:center}.setup-wizard-complete{padding:var(--space-lg) 0}}
@@ -1 +0,0 @@
1
- .skills-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.skills-view-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;gap:var(--space-sm)}.skills-view-title{display:flex;align-items:center;gap:var(--space-sm)}.skills-view-title h2{font-weight:600;margin:0}.skills-view-count{color:var(--text-muted)}.skills-view-actions{display:flex;align-items:center;gap:var(--space-sm)}.skills-view-content{flex:1;overflow-y:auto;padding:var(--space-lg)}.skills-view-section{margin-bottom:var(--space-xl)}.skills-view-section-title{font-weight:600;color:var(--text);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:var(--space-sm)}.skills-view-list{display:flex;flex-direction:column;gap:var(--space-sm)}.skills-view-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.skills-view-item:hover{background:var(--card-hover);border-color:var(--text-muted)}.skills-view-item-info{display:flex;flex-direction:column;gap:var(--space-xs);min-width:0;flex:1}.skills-view-item-name{font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills-view-item-path{color:var(--text-muted);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills-view-item-source{color:var(--text-dim);text-transform:uppercase;letter-spacing:calc(var(--space-xs) / 8)}.skills-view-item-toggle{position:relative;display:flex;align-items:center;cursor:pointer;user-select:none;flex-shrink:0}.skills-view-item-toggle input{position:absolute;width:calc(var(--space-xs) / 4);height:calc(var(--space-xs) / 4);padding:0;margin:calc(var(--space-xs) / -4);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skills-view-toggle-slider{position:relative;width:calc(var(--space-xl) + var(--space-lg));height:calc(var(--space-xl) - (var(--space-xs) / 2));background:var(--border);border-radius:var(--radius-md);transition:background var(--transition-normal);flex-shrink:0}.skills-view-toggle-slider:after{content:"";position:absolute;top:calc(var(--space-xs) / 2);left:calc(var(--space-xs) / 2);width:calc(var(--space-lg) + (var(--space-xs) / 2));height:calc(var(--space-lg) + (var(--space-xs) / 2));background:var(--card);border-radius:50%;transition:transform var(--transition-normal)}.skills-view-item-toggle input:checked+.skills-view-toggle-slider{background:var(--color-success)}.skills-view-item-toggle input:checked+.skills-view-toggle-slider:after{transform:translate(calc(var(--space-lg) + (var(--space-xs) / 2)))}.skills-view-search{margin-bottom:var(--space-lg)}.skills-view-search .form-input{width:100%;max-width:calc(var(--space-2xl) * 12 + var(--space-md))}.skills-view-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(calc(var(--space-2xl) * 8 + var(--space-lg)),1fr));gap:var(--space-md)}.skills-view-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-md);min-height:calc(var(--space-2xl) * 3 + var(--space-xl));display:flex;flex-direction:column;gap:var(--space-sm);transition:background var(--transition-fast),border-color var(--transition-fast)}.skills-view-card:hover{background:var(--card-hover);border-color:var(--text-muted)}.skills-view-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-sm)}.skills-view-card-install{align-self:flex-start;flex-shrink:0}.skills-view-card-title{font-weight:600;color:var(--text);margin:0}.skills-view-card-description{color:var(--text-muted);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.skills-view-card-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.skills-view-card-installs{color:var(--text-dim);margin-top:auto}.skills-view-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-2xl);border:1px dashed var(--border);border-radius:var(--radius-md);text-align:center;color:var(--text-muted)}.skills-view-error{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);color:var(--color-error);background:color-mix(in srgb,var(--color-error) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-error) 25%,transparent);border-radius:var(--radius-md);text-align:center}.skills-view-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-xl);color:var(--text-muted)}.skills-view-close{flex-shrink:0}.skills-view-item--selected{border-color:var(--todo);background:var(--card-hover)}.skills-view-detail{background:var(--surface);border:1px solid var(--border);border-left:calc(var(--space-md) / 4) solid var(--todo);border-radius:var(--radius-md);margin:var(--space-sm) 0 var(--space-md) 0;padding:var(--space-lg)}.skills-view-detail-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid var(--border)}.skills-view-detail-title{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.skills-view-detail-close{flex-shrink:0}.skills-view-detail-content{font-family:var(--font-mono);line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--text);background:var(--bg);padding:var(--space-md);border-radius:var(--radius-sm);max-height:calc(var(--space-2xl) * 12 + var(--space-md));overflow-y:auto}.skills-view-detail-files{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border)}.skills-view-detail-files-label{color:var(--text-muted)}.skills-view-detail-loading{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);color:var(--text-muted)}.skills-view-detail-error{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-md);color:var(--color-error);background:color-mix(in srgb,var(--color-error) 10%,transparent);border-radius:var(--radius-sm);text-align:center}.skills-view-detail-empty{padding:var(--space-md);color:var(--text-muted);font-style:italic}@media(max-width:768px){.skills-view-header{padding:var(--space-sm) var(--space-md)}.skills-view-content{padding:var(--space-md)}.skills-view-section{margin-bottom:var(--space-md)}.skills-view-card{padding:var(--space-sm)}.skills-view-empty,.skills-view-error{padding:var(--space-lg)}.skills-view-loading{padding:var(--space-md)}.skills-view-search .form-input{width:100%;max-width:none}.skills-view-grid{grid-template-columns:1fr}.skills-view-card-header{flex-wrap:wrap}.skills-view-item{padding:var(--space-md);min-height:calc(var(--space-lg) + var(--space-md) + var(--space-xs));flex-wrap:nowrap}.skills-view-item-info{flex:1 1 auto;width:auto}.skills-view-item-toggle{padding:var(--space-sm)}.skills-view-item--selected{border-color:var(--todo)}.skills-view-toggle-slider{min-width:calc(var(--space-xl) + var(--space-lg));min-height:calc(var(--space-xl) - (var(--space-xs) / 2))}.skills-view-detail{padding:var(--space-md)}.skills-view-detail-content{max-height:calc(60dvh - (var(--space-2xl) * 6 + var(--space-xs)));-webkit-overflow-scrolling:touch}.skills-view-detail-close{min-width:calc(var(--space-lg) + var(--space-md) + var(--space-xs));min-height:calc(var(--space-lg) + var(--space-md) + var(--space-xs))}}
@@ -1 +0,0 @@
1
- import{r as a,j as s}from"./vendor-react-D37HfzIf.js";import{bU as H,bV as J,bW as O,bX as T,bY as Z,bT as ss,X as V,R as es,a as ls,b as is,L as U,ay as as}from"./index-CpTBp1RG.js";import{u as ts}from"./vendor-i18n-CV0mwX_-.js";import"./vendor-reactflow-CRZcPCXF.js";import"./vendor-xterm-tcedd2Jt.js";import"./vendor-codemirror-jBKmHyH0.js";function us({projectId:o,addToast:r,onClose:W}){const{t:l}=ts("app"),[m,v]=a.useState([]),[C,L]=a.useState(!0),[$,D]=a.useState(!1),[F,N]=a.useState(null),[z,K]=a.useState([]),[u,X]=a.useState(""),[S,R]=a.useState(null),[k,b]=a.useState(null),[x,j]=a.useState(null),[B,P]=a.useState(!1),[A,w]=a.useState(null),d=a.useRef(null),[y,I]=a.useState(""),M=u.trim()?m.filter(e=>e.name.toLowerCase().includes(u.toLowerCase())||e.relativePath.toLowerCase().includes(u.toLowerCase())):m,g=a.useCallback(async()=>{L(!0);try{const e=await H(o);v(e)}catch(e){const t=e instanceof Error?e.message:l("skills.loadDiscoveredError","Failed to load discovered skills");r(t,"error")}finally{L(!1)}},[o,r]),h=a.useCallback(async e=>{const t=i=>{if(!i||typeof i!="object")return!1;const n=i;if(typeof n.status=="number"&&n.status>=500)return!0;if(n.details&&typeof n.details=="object"){const p=n.details;if(typeof p.code=="string"&&p.code.startsWith("upstream_"))return!0}const c=i;return typeof c.error=="string"&&typeof c.code=="string"};D(!0),N(null);try{const i=await J(e,20,o);K(i.entries)}catch(i){if(t(i))N(l("skills.catalogUnavailable","Catalog is temporarily unavailable. Please try again later."));else{const n=i instanceof Error?i.message:l("skills.loadCatalogError","Failed to load catalog");N(n)}}finally{D(!1)}},[o]);a.useEffect(()=>{g(),h("")},[g,h]);const Y=a.useCallback(e=>{X(e),d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{I(e),d.current=null},300)},[]);a.useEffect(()=>()=>{d.current&&(clearTimeout(d.current),d.current=null)},[]),a.useEffect(()=>{h(y)},[y,h]);const _=a.useCallback(async(e,t)=>{const i=!t;v(n=>n.map(c=>c.id===e?{...c,toggling:!0}:c));try{await O(e,i,o),v(n=>n.map(c=>c.id===e?{...c,enabled:i,toggling:!1}:c)),r(l(`skills.${i?"enabled":"disabled"}`,i?"Skill enabled":"Skill disabled"),"success")}catch(n){v(p=>p.map(E=>E.id===e?{...E,toggling:!1}:E));const c=n instanceof Error?n.message:l("skills.toggleError","Failed to toggle skill");r(l("skills.toggleFailed","Failed to toggle skill: {{message}}",{message:c}),"error")}},[o,r]),q=a.useCallback(async e=>{const t=e.repo?.trim();if(!(!t||S===e.id)){R(e.id);try{await T(t,e.slug||e.name,o),r(l("skills.installSuccess","Installed {{name}}",{name:e.name}),"success"),await g()}catch(i){const n=i instanceof Error?i.message:l("skills.installError","Failed to install skill");r(l("skills.installFailed","Failed to install {{name}}: {{message}}",{name:e.name,message:n}),"error")}finally{R(i=>i===e.id?null:i)}}},[r,S,g,o]),f=a.useCallback(async e=>{P(!0),w(null),j(null);try{const t=await Z(e,o);j(t)}catch(t){const i=t instanceof Error?t.message:l("skills.loadContentError","Failed to load skill content");w(i)}finally{P(!1)}},[o]),Q=a.useCallback((e,t)=>{if(!(t&&t.target.closest(".skills-view-item-toggle"))){if(k===e){b(null),j(null),w(null);return}b(e),f(e)}},[k,f]),G=a.useCallback(e=>{k!==e&&b(e),f(e)},[f,k]);return s.jsxs("div",{className:"skills-view","data-testid":"skills-view",children:[s.jsxs("div",{className:"skills-view-header",children:[s.jsxs("div",{className:"skills-view-title",children:[s.jsxs("h2",{children:[s.jsx(ss,{size:20}),l("skills.title","Skills")]}),s.jsxs("span",{className:"skills-view-count","aria-label":l("skills.discoveredCount","{{count}} discovered skills",{count:m.length}),children:[m.length," ",l("skills.discovered","discovered")]})]}),s.jsxs("div",{className:"skills-view-actions",children:[s.jsx("button",{className:"btn-icon skills-view-close touch-target",onClick:W,"aria-label":l("skills.closeView","Close skills view"),children:s.jsx(V,{size:16})}),s.jsxs("button",{className:"btn btn-sm touch-target",onClick:()=>void g(),disabled:C,children:[s.jsx(es,{size:14,className:C?"spin":""}),l("common.refresh","Refresh")]})]})]}),s.jsxs("div",{className:"skills-view-content",children:[s.jsx("div",{className:"skills-view-search",children:s.jsx("input",{type:"text",className:"form-input",placeholder:l("skills.searchPlaceholder","Search skills..."),value:u,onChange:e=>Y(e.target.value),"aria-label":l("skills.searchLabel","Search skills")})}),s.jsxs("section",{className:"skills-view-section","aria-labelledby":"discovered-skills-title",children:[s.jsx("h3",{id:"discovered-skills-title",className:"skills-view-section-title",children:l("skills.discoveredSection","Discovered Skills")}),C?s.jsxs("div",{className:"skills-view-loading",children:[s.jsx("span",{className:"spinner"}),l("skills.loadingDiscovered","Loading discovered skills...")]}):m.length===0?s.jsx("div",{className:"skills-view-empty",children:s.jsx("p",{children:l("skills.noDiscovered","No skills discovered in this project.")})}):M.length===0?s.jsx("div",{className:"skills-view-empty",children:s.jsx("p",{children:l("skills.noMatchingDiscovered","No discovered skills match your search.")})}):s.jsx("div",{className:"skills-view-list",children:M.map(e=>{const t=k===e.id;return s.jsxs("div",{children:[s.jsxs("div",{className:`skills-view-item${t?" skills-view-item--selected":""}`,onClick:i=>Q(e.id,i),role:"button",tabIndex:0,onKeyDown:i=>{(i.key==="Enter"||i.key===" ")&&(i.preventDefault(),Q(e.id))},"aria-expanded":t,"aria-label":l("skills.viewDetails","View details for {{name}}",{name:e.name}),children:[s.jsxs("div",{className:"skills-view-item-info",children:[s.jsxs("span",{className:"skills-view-item-name",children:[t?s.jsx(ls,{size:14}):s.jsx(is,{size:14}),e.name]}),s.jsx("span",{className:"skills-view-item-path",children:e.relativePath}),s.jsx("span",{className:"skills-view-item-source",children:e.metadata.source})]}),s.jsxs("label",{className:"skills-view-item-toggle",onClick:i=>i.stopPropagation(),children:[s.jsx("input",{type:"checkbox",checked:e.enabled,disabled:e.toggling,onChange:()=>void _(e.id,e.enabled),"aria-label":l(`skills.${e.enabled?"disable":"enable"}Skill`,e.enabled?"Disable {{name}}":"Enable {{name}}",{name:e.name})}),s.jsx("span",{className:"skills-view-toggle-slider"})]})]}),t&&s.jsxs("div",{className:"skills-view-detail","data-testid":"skill-detail",children:[s.jsxs("div",{className:"skills-view-detail-header",children:[s.jsx("span",{className:"skills-view-detail-title",children:e.name}),s.jsxs("button",{className:"btn btn-sm skills-view-detail-close",onClick:()=>{b(null),j(null),w(null)},"aria-label":l("skills.closeDetail","Close skill detail"),children:[s.jsx(V,{size:14}),l("common.close","Close")]})]}),B?s.jsxs("div",{className:"skills-view-detail-loading",children:[s.jsx(U,{size:16,className:"spin"}),l("skills.loadingContent","Loading skill content...")]}):A?s.jsxs("div",{className:"skills-view-detail-error",children:[s.jsx(as,{size:14}),s.jsx("span",{children:A}),s.jsx("button",{className:"btn btn-sm",onClick:()=>G(e.id),children:l("common.retry","Retry")})]}):x?s.jsxs(s.Fragment,{children:[s.jsx("pre",{className:"skills-view-detail-content",children:x.skillMd||l("skills.noSkillMd","(No SKILL.md found)")}),x.files.length>0&&s.jsxs("div",{className:"skills-view-detail-files",children:[s.jsxs("span",{className:"skills-view-detail-files-label",children:[l("skills.filesLabel","Files"),":"]}),x.files.map(i=>s.jsxs("span",{className:"badge badge--sm",children:[i.name,i.type==="directory"&&"/"]},i.relativePath))]})]}):null]})]},e.id)})})]}),s.jsxs("section",{className:"skills-view-section","aria-labelledby":"catalog-title",children:[s.jsx("h3",{id:"catalog-title",className:"skills-view-section-title",children:l("skills.catalogSection","Skills Catalog")}),F?s.jsxs("div",{className:"skills-view-error",children:[s.jsx("p",{children:F}),s.jsx("button",{className:"btn btn-sm",onClick:()=>void h(y),children:l("common.tryAgain","Try Again")})]}):$?s.jsxs("div",{className:"skills-view-loading",children:[s.jsx("span",{className:"spinner"}),l("skills.loadingCatalog","Loading catalog...")]}):z.length===0?s.jsx("div",{className:"skills-view-empty",children:u?s.jsx("p",{children:l("skills.noMatchingSearch","No skills match your search.")}):s.jsx("p",{children:l("skills.noCatalogAvailable","No skills available in the catalog.")})}):s.jsx("div",{className:"skills-view-grid",children:z.map(e=>{const i=!!e.repo?.trim(),n=S===e.id;return s.jsxs("div",{className:"skills-view-card",children:[s.jsxs("div",{className:"skills-view-card-header",children:[s.jsx("h4",{className:"skills-view-card-title",children:e.name}),i?s.jsxs("button",{type:"button",className:"btn btn-sm skills-view-card-install",onClick:()=>void q(e),disabled:n,"aria-label":l("skills.installSkill","Install {{name}}",{name:e.name}),children:[n?s.jsx(U,{size:14,className:"spin"}):null,n?l("skills.installing","Installing…"):l("skills.install","Install")]}):null]}),e.description&&s.jsx("p",{className:"skills-view-card-description",children:e.description}),e.tags&&e.tags.length>0&&s.jsx("div",{className:"skills-view-card-tags",children:e.tags.map(c=>s.jsx("span",{className:"badge badge--sm",children:c},c))}),e.installs!==void 0&&s.jsx("span",{className:"skills-view-card-installs",children:l("skills.installsCount","{{value}} installs",{value:e.installs.toLocaleString()})})]},e.id)})})]})]})]})}export{us as SkillsView};
@@ -1 +0,0 @@
1
- .stash-recovery-view{padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-md)}.stash-recovery-header{display:flex;align-items:center;gap:var(--space-md)}.stash-row{display:grid;grid-template-columns:1fr 1fr 1fr auto auto;gap:var(--space-sm);align-items:center;padding:var(--space-sm) 0;border-bottom:var(--btn-border-width) solid var(--border)}.stash-field{display:flex;flex-direction:column;gap:var(--space-xs)}.stash-field-label{display:none;color:var(--text-muted);font-size:.75rem;text-transform:uppercase}.stash-row-actions,.stash-row-actions-danger{display:flex;gap:var(--space-sm);justify-content:flex-end}.stash-action-btn{white-space:nowrap}.stash-status{color:var(--text-muted);grid-column:1 / -1}.stash-recovery-diff-modal{max-width:80vw}.stash-recovery-diff-pre{margin:0;padding:var(--space-md);max-height:50vh;overflow:auto;background:var(--surface);border:var(--btn-border-width) solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}@media(max-width:768px){.stash-row{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-md)}.stash-field-label{display:inline}.stash-row-actions,.stash-row-actions-danger{justify-content:stretch}.stash-action-btn{flex:1;min-height:var(--mobile-nav-height)}.stash-row-actions-danger .stash-action-btn{width:100%}.stash-recovery-diff-modal{width:100%;max-width:100%}}
@@ -1 +0,0 @@
1
- import{r as n,j as s}from"./vendor-react-D37HfzIf.js";import{v as g,cH as d}from"./index-CpTBp1RG.js";import{u as R}from"./vendor-i18n-CV0mwX_-.js";import"./vendor-reactflow-CRZcPCXF.js";import"./vendor-xterm-tcedd2Jt.js";import"./vendor-codemirror-jBKmHyH0.js";function L(){const{t:e}=R("app"),{confirm:f}=g(),[i,v]=n.useState([]),[h,p]=n.useState(null),[u,y]=n.useState({}),[t,c]=n.useState(null),l=n.useCallback(async()=>{try{p(null);const a=await d("/stash-recovery/orphans");v(a.records??[])}catch(a){p(a instanceof Error?a.message:e("stashRecovery.failedToLoadOrphans","Failed to load orphans"))}},[e]);n.useEffect(()=>{l()},[l]);const x=n.useMemo(()=>{const a=new Map;for(const r of i){const o=r.sourceTaskId??e("stashRecovery.unknownSource","Unknown source"),m=a.get(o)??[];m.push(r),a.set(o,m)}return Array.from(a.entries())},[i,e]),j=n.useCallback(async a=>{const r=await d(`/stash-recovery/orphans/${a}/apply`,{method:"POST"});y(o=>({...o,[a]:r.ok?e("stashRecovery.applied","Applied"):r.stderr??r.reason??e("stashRecovery.applyFailed","Apply failed")}))},[e]),b=n.useCallback(async a=>{await f({title:e("stashRecovery.dropTitle","Drop orphaned stash?"),message:e("stashRecovery.dropMessage","This removes the stash entry permanently."),confirmLabel:e("stashRecovery.dropConfirm","Drop"),danger:!0})&&(await d(`/stash-recovery/orphans/${a}/drop`,{method:"POST",body:JSON.stringify({confirm:!0})}),await l())},[f,l,e]),N=n.useCallback(async a=>{c({sha:a,diff:"",truncated:!1,loading:!0,error:null});try{const r=await d(`/stash-recovery/orphans/${a}/diff`);c({sha:a,diff:r.diff??"",truncated:!!r.truncated,loading:!1,error:null})}catch(r){c({sha:a,diff:"",truncated:!1,loading:!1,error:r instanceof Error?r.message:e("stashRecovery.failedToLoadDiff","Failed to load diff")})}},[e]);return i.length===0&&!h?s.jsxs("div",{className:"card stash-recovery-view",children:[s.jsx("p",{children:e("stashRecovery.noOrphans","No orphaned merger autostashes found.")}),s.jsx("button",{className:"btn btn-sm",onClick:()=>void l(),children:e("actions.refresh","Refresh")})]}):s.jsxs("div",{className:"card stash-recovery-view",children:[s.jsxs("div",{className:"stash-recovery-header",children:[s.jsx("h2",{children:e("stashRecovery.title","Stash Recovery")}),s.jsx("span",{children:e("stashRecovery.orphanCount","{{count}} orphans",{count:i.length})}),s.jsx("button",{className:"btn btn-sm",onClick:()=>void l(),children:e("actions.refresh","Refresh")})]}),h&&s.jsx("div",{className:"form-error",children:h}),x.map(([a,r])=>s.jsxs("section",{children:[s.jsx("h3",{children:a}),r.map(o=>s.jsxs("div",{className:"stash-row",children:[s.jsxs("div",{className:"stash-field",children:[s.jsx("span",{className:"stash-field-label",children:e("stashRecovery.shaLabel","SHA")}),s.jsx("span",{children:o.sha.slice(0,7)})]}),s.jsxs("div",{className:"stash-field",children:[s.jsx("span",{className:"stash-field-label",children:e("stashRecovery.classificationLabel","Classification")}),s.jsx("span",{children:o.classification})]}),s.jsxs("div",{className:"stash-field",children:[s.jsx("span",{className:"stash-field-label",children:e("stashRecovery.changedPathsLabel","Changed paths")}),s.jsx("span",{children:e("stashRecovery.fileCount","{{count}} files",{count:o.changedPaths.length})})]}),s.jsxs("div",{className:"stash-row-actions",children:[s.jsx("button",{className:"btn btn-sm stash-action-btn",onClick:()=>void N(o.sha),children:e("stashRecovery.inspectDiff","Inspect diff")}),s.jsx("button",{className:"btn btn-sm stash-action-btn",onClick:()=>void j(o.sha),children:e("stashRecovery.apply","Apply")})]}),s.jsx("div",{className:"stash-row-actions-danger",children:s.jsx("button",{className:"btn btn-sm btn-danger stash-action-btn",onClick:()=>void b(o.sha),children:e("stashRecovery.drop","Drop")})}),u[o.sha]&&s.jsx("div",{className:"stash-status",children:u[o.sha]})]},o.sha))]},a)),t&&s.jsx("div",{className:"modal-overlay open",onClick:()=>c(null),children:s.jsxs("div",{className:"modal stash-recovery-diff-modal",role:"dialog","aria-modal":"true","aria-label":e("stashRecovery.diffDialogLabel","Diff for {{sha}}",{sha:t.sha}),onClick:a=>a.stopPropagation(),children:[s.jsxs("div",{className:"modal-header",children:[s.jsx("h3",{children:e("stashRecovery.diffHeader","Diff for {{sha}}",{sha:t.sha.slice(0,7)})}),s.jsx("button",{className:"modal-close",onClick:()=>c(null),"aria-label":e("stashRecovery.closeDiffDialog","Close diff dialog"),children:"×"})]}),t.loading&&s.jsx("p",{children:e("stashRecovery.loadingDiff","Loading diff…")}),t.error&&s.jsx("div",{className:"form-error",children:t.error}),!t.loading&&!t.error&&s.jsxs(s.Fragment,{children:[s.jsx("pre",{className:"stash-recovery-diff-pre",children:t.diff||e("stashRecovery.noDiffOutput","No diff output available.")}),t.truncated&&s.jsx("p",{className:"stash-status",children:e("stashRecovery.diffTruncated","Diff output truncated.")})]}),s.jsx("div",{className:"modal-actions",children:s.jsx("button",{className:"btn",onClick:()=>c(null),children:e("actions.close","Close")})})]})})]})}export{L as StashRecoveryView};
@@ -1 +0,0 @@
1
- .todo-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.todo-view-layout{display:flex;flex-direction:row;flex:1;overflow:hidden;gap:var(--space-lg);padding:var(--space-lg)}.todo-view-sidebar{width:calc(var(--space-2xl) * 7 + var(--space-sm));border-right:calc(var(--space-xs) / 4) solid var(--border);padding-right:var(--space-lg);overflow-y:auto;flex-shrink:0;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-muted) 45%,transparent) transparent}.todo-view-main{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-width:0;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-muted) 45%,transparent) transparent}.todo-view-sidebar::-webkit-scrollbar,.todo-view-main::-webkit-scrollbar{width:var(--space-sm);height:var(--space-sm)}.todo-view-sidebar::-webkit-scrollbar-thumb,.todo-view-main::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-muted) 45%,transparent);border-radius:var(--radius-pill)}.todo-view-sidebar::-webkit-scrollbar-track,.todo-view-main::-webkit-scrollbar-track{background:transparent}.todo-sidebar-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.todo-sidebar-title{font-size:calc(var(--space-md) + (var(--space-xs) / 4));color:var(--text-muted);text-transform:uppercase;letter-spacing:calc(var(--space-xs) / 8);margin:0}.todo-add-list-btn{min-height:calc(var(--space-2xl) + var(--space-xs));min-width:calc(var(--space-2xl) + var(--space-xs))}.todo-list-items{display:flex;flex-direction:column;gap:var(--space-xs)}.todo-list-item{display:flex;flex-direction:row;align-items:center;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);gap:var(--space-sm);color:var(--text-muted);transition:background var(--transition-fast),color var(--transition-fast)}.todo-list-item:hover{background:var(--card-hover);color:var(--text)}.todo-list-select-btn{flex:1;min-width:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer;padding:0}.todo-list-select-btn:focus-visible{outline:none;border-radius:var(--radius-sm);box-shadow:var(--focus-ring)}.todo-list-item--active{background:var(--surface);color:var(--text);font-weight:500}.todo-list-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:calc(var(--space-md) + (var(--space-xs) / 4))}.todo-list-item-actions{display:flex;flex-direction:row;gap:var(--space-xs);opacity:0;transition:opacity var(--transition-fast)}.todo-list-item:hover .todo-list-item-actions,.todo-list-item:focus-within .todo-list-item-actions,.todo-list-item--active .todo-list-item-actions{opacity:1}.todo-icon-btn{min-height:calc(var(--space-lg) + var(--space-sm));min-width:calc(var(--space-lg) + var(--space-sm))}.todo-inline-edit-input{flex:1;font-size:calc(var(--space-md) + (var(--space-xs) / 4))}.todo-items-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:var(--space-md);gap:var(--space-sm)}.todo-items-header h3{margin:0;font-size:calc(var(--space-md) + (var(--space-xs) / 2));font-weight:500;color:var(--text)}.todo-add-item-row{display:flex;flex-direction:row;gap:var(--space-sm);margin-bottom:var(--space-lg)}.todo-add-item-row .input{flex:1}.todo-items-list{display:flex;flex-direction:column}.todo-item{position:relative;display:flex;flex-direction:column;align-items:stretch;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);gap:var(--space-sm);border-bottom:calc(var(--space-xs) / 4) solid var(--border);transition:background var(--transition-fast)}.todo-item:hover{background:var(--card-hover)}.todo-item-main-row{display:flex;align-items:flex-start;gap:var(--space-sm);min-width:0}.todo-item-checkbox{margin:0;width:var(--space-lg);height:var(--space-lg);accent-color:var(--todo);cursor:pointer;flex-shrink:0}.todo-item-text{flex:1;font-size:calc(var(--space-md) + (var(--space-xs) / 4));color:var(--text);cursor:pointer;word-break:break-word;background:none;border:0;padding:0;text-align:left}.todo-item-text:focus-visible{outline:none;border-radius:var(--radius-sm);box-shadow:var(--focus-ring-strong)}.todo-item-text--completed{text-decoration:line-through;color:var(--text-muted)}.todo-item-actions{display:flex;flex-wrap:wrap;flex-direction:row;align-items:center;gap:var(--space-xs);opacity:1;transition:opacity var(--transition-fast);margin-left:calc(var(--space-lg) + var(--space-sm))}.todo-item-reorder-btns{display:flex;flex-direction:row;gap:0}.todo-item-reorder-btn{min-height:var(--space-xl);min-width:var(--space-xl)}.todo-agent-picker-trigger{position:relative}.todo-agent-picker-dropdown{position:absolute;right:0;top:100%;z-index:50;display:flex;flex-direction:column;gap:var(--space-xs);margin-top:var(--space-xs);min-width:calc(var(--space-2xl) * 6 + var(--space-md));max-height:calc(var(--space-2xl) * 7 + var(--space-md));overflow-y:auto;padding:var(--space-xs);border:calc(var(--space-xs) / 4) solid var(--border);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-lg)}.todo-agent-picker-item{width:100%;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);padding:var(--space-sm);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-sm);text-align:left;cursor:pointer;transition:background var(--transition-fast)}.todo-agent-picker-item:hover{background:var(--card-hover)}.todo-agent-picker-item:focus-visible{outline:none;box-shadow:var(--focus-ring-strong)}.todo-agent-picker-role{color:var(--text-muted);font-size:calc(var(--space-md) - (var(--space-xs) / 4));text-transform:uppercase;letter-spacing:calc(var(--space-xs) / 8)}.todo-agent-picker-loading,.todo-agent-picker-empty{color:var(--text-muted);padding:var(--space-sm);font-size:calc(var(--space-md) + (var(--space-xs) / 8))}.todo-error-banner{border:calc(var(--space-xs) / 4) solid color-mix(in srgb,var(--color-error) 35%,transparent);background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.todo-error-message{font-size:calc(var(--space-md) + (var(--space-xs) / 4))}.todo-empty-state,.todo-loading{color:var(--text-muted);padding:var(--space-2xl);text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);flex:1}.todo-loading-icon{animation:spin calc(var(--duration-slow) * 4) linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.todo-view{padding:var(--space-md);min-height:0}.todo-view-layout{flex-direction:column;min-height:0;overflow:hidden;padding:0}.todo-view-sidebar{width:100%;border-right:none;border-bottom:calc(var(--space-xs) / 4) solid var(--border);padding-right:0;padding-bottom:var(--space-md);max-height:calc(var(--space-2xl) * 6 + var(--space-sm))}.todo-view-main{width:100%;flex:1;min-height:0}.todo-list-item,.todo-list-select-btn,.todo-add-list-btn,.todo-icon-btn,.todo-item,.todo-item-reorder-btn,.todo-add-item-row .btn{min-height:calc(var(--space-2xl) + var(--space-xs))}.todo-add-item-row{flex-wrap:wrap}.todo-add-item-row .btn{width:100%}.todo-list-item-actions,.todo-item-actions{opacity:1}.todo-item-main-row{align-items:center}.todo-item-actions{margin-left:0}.todo-item-checkbox{width:calc(var(--space-2xl) + var(--space-xs));height:calc(var(--space-2xl) + var(--space-xs))}.todo-agent-picker-trigger{position:static}.todo-agent-picker-dropdown{left:0;right:0;min-width:100%;max-height:calc(var(--space-2xl) * 8)}.todo-agent-picker-item{min-height:calc(var(--space-2xl) + var(--space-xs))}.todo-view--mobile-keyboard-active{padding-bottom:0}.todo-view--mobile-keyboard-active .todo-view-layout{height:100%}.todo-view--mobile-keyboard-active .todo-view-sidebar{max-height:calc(var(--space-2xl) * 4)}.todo-view--mobile-keyboard-active .todo-view-main{overscroll-behavior:contain}}
@@ -1,6 +0,0 @@
1
- import{r as c,j as e}from"./vendor-react-D37HfzIf.js";import{c as Et,a7 as ut,a8 as bt,a9 as Tt,cv as Dt,cw as Ft,cx as $t,cy as Rt,cz as Mt,cA as Ot,cB as _t,cC as Ut,ac as Pt,v as Kt,j as Bt,z as q,cD as pt,L as Xt,J as zt,bJ as Q,X as Z,cE as ft,b6 as ht,U as xt,aj as Jt,a as Wt,aA as Gt,B as gt}from"./index-CpTBp1RG.js";import{u as Lt}from"./vendor-i18n-CV0mwX_-.js";import"./vendor-reactflow-CRZcPCXF.js";import"./vendor-xterm-tcedd2Jt.js";import"./vendor-codemirror-jBKmHyH0.js";/**
2
- * @license lucide-react v1.7.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 Ht=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]],Vt=Et("circle-plus",Ht);function Yt(C){const{items:l,...p}=C;return p}function vt(C){return typeof crypto<"u"&&typeof crypto.randomUUID=="function"?`${C}-${crypto.randomUUID()}`:`${C}-${Date.now()}-${Math.random().toString(36).slice(2,10)}`}function qt(C={}){const{t:l}=Lt("app"),{projectId:p,addToast:v}=C,R=`${Tt.TODO_LISTS_PREFIX}${p??"global"}`,[o,I]=c.useState(()=>{const a=ut(R,{maxAgeMs:bt});return Array.isArray(a)?a:[]}),[k,w]=c.useState([]),[X,N]=c.useState(()=>o.length===0),[W,y]=c.useState(null),[T,D]=c.useState(null),[j,x]=c.useState([]),A=c.useRef(T);A.current=T,c.useEffect(()=>{let a=!1;const d=ut(R,{maxAgeMs:bt}),f=Array.isArray(d)&&d.length>0;f?(I(d),N(!1)):(I([]),N(!0));async function m(){f||N(!0),y(null);try{const r=await Ut(p);if(a)return;x(r);const s=r.map(Yt);I(s),Pt(R,s,{maxBytes:5e5});const i=A.current&&r.some(n=>n.id===A.current)?A.current:r[0]?.id??null;D(i),w(i?r.find(n=>n.id===i)?.items??[]:[])}catch(r){if(a)return;x([]),I([]),w([]),D(null),y(r instanceof Error?r.message:l("todo.failedLoadLists","Failed to load todo lists"))}finally{a||N(!1)}}return m(),()=>{a=!0}},[R,p]),c.useEffect(()=>{if(!T){w([]);return}const a=j.find(d=>d.id===T);w(a?.items??[])},[j,T]);const G=c.useCallback(async a=>{const d=o,f=j,m=new Date().toISOString(),r={id:vt("temp-list"),projectId:p??"",title:a,createdAt:m,updatedAt:m};y(null),I(s=>[...s,r]),x(s=>[...s,{...r,items:[]}]);try{const s=await Dt(a,p);I(i=>i.map(n=>n.id===r.id?s:n)),x(i=>i.map(n=>n.id===r.id?{...s,items:[]}:n)),A.current||D(s.id)}catch(s){I(d),x(f),y(s instanceof Error?s.message:l("todo.failedCreateList","Failed to create list")),v?.(l("todo.failedCreateListToast","Failed to create todo list"),"error")}},[v,j,o,p,l]),H=c.useCallback(async(a,d)=>{const f=o,m=j;y(null),I(r=>r.map(s=>s.id===a?{...s,title:d}:s)),x(r=>r.map(s=>s.id===a?{...s,title:d}:s));try{const r=await Ft(a,d,p);I(s=>s.map(i=>i.id===a?r:i)),x(s=>s.map(i=>i.id===a?{...r,items:i.items}:i))}catch(r){I(f),x(m),y(r instanceof Error?r.message:l("todo.failedRenameList","Failed to rename list")),v?.(l("todo.failedRenameListToast","Failed to rename todo list"),"error")}},[v,j,o,p,l]),O=c.useCallback(async a=>{const d=o,f=j,m=A.current,r=m===a?o.find(s=>s.id!==a)?.id??null:m;y(null),I(s=>s.filter(i=>i.id!==a)),x(s=>s.filter(i=>i.id!==a)),m===a&&D(r);try{await $t(a,p)}catch(s){I(d),x(f),D(m),y(s instanceof Error?s.message:l("todo.failedDeleteList","Failed to delete list")),v?.(l("todo.failedDeleteListToast","Failed to delete todo list"),"error")}},[v,j,o,p,l]),S=c.useCallback(async a=>{const d=A.current;if(!d)return;const f=k,m=j,r=new Date().toISOString(),s=k.reduce((n,u)=>Math.max(n,u.sortOrder),-1),i={id:vt("temp-item"),listId:d,text:a,completed:!1,completedAt:null,createdAt:r,updatedAt:r,sortOrder:s+1};y(null),w(n=>[...n,i]),x(n=>n.map(u=>u.id===d?{...u,items:[...u.items,i]}:u));try{const n=await Rt(d,a,p);w(u=>u.map(g=>g.id===i.id?n:g)),x(u=>u.map(g=>g.id===d?{...g,items:g.items.map($=>$.id===i.id?n:$)}:g))}catch(n){w(f),x(m),y(n instanceof Error?n.message:l("todo.failedCreateItem","Failed to create item")),v?.(l("todo.failedCreateItemToast","Failed to create todo item"),"error")}},[v,k,j,p,l]),M=c.useCallback(async(a,d)=>{const f=k.find(n=>n.id===a);if(!f)return;const m=k,r=j,s=d.completed??f.completed,i={...f,...d,completed:s,completedAt:s?f.completedAt??new Date().toISOString():null,updatedAt:new Date().toISOString()};y(null),w(n=>n.map(u=>u.id===a?i:u)),x(n=>n.map(u=>u.id===i.listId?{...u,items:u.items.map(g=>g.id===a?i:g)}:u));try{const n=await Mt(a,d,p);w(u=>u.map(g=>g.id===a?n:g)),x(u=>u.map(g=>g.id===n.listId?{...g,items:g.items.map($=>$.id===a?n:$)}:g))}catch(n){w(m),x(r),y(n instanceof Error?n.message:l("todo.failedUpdateItem","Failed to update item")),v?.(l("todo.failedUpdateItemToast","Failed to update todo item"),"error")}},[v,k,j,p,l]),E=c.useCallback(async a=>{const d=k.find(f=>f.id===a);d&&await M(a,{completed:!d.completed})},[k,M]),_=c.useCallback(async a=>{const d=k,f=j;y(null),w(m=>m.filter(r=>r.id!==a)),x(m=>m.map(r=>({...r,items:r.items.filter(s=>s.id!==a)})));try{await Ot(a,p)}catch(m){w(d),x(f),y(m instanceof Error?m.message:l("todo.failedDeleteItem","Failed to delete item")),v?.(l("todo.failedDeleteItemToast","Failed to delete todo item"),"error")}},[v,k,j,p,l]),F=c.useCallback(async a=>{const d=A.current;if(!d)return;const f=k,m=j,r=new Map(k.map(i=>[i.id,i])),s=a.map((i,n)=>{const u=r.get(i);return u?{...u,sortOrder:n}:null}).filter(i=>i!==null);y(null),w(s),x(i=>i.map(n=>n.id===d?{...n,items:s}:n));try{await _t(d,a,p)}catch(i){w(f),x(m),y(i instanceof Error?i.message:l("todo.failedReorderItems","Failed to reorder items")),v?.(l("todo.failedReorderItemsToast","Failed to reorder todo items"),"error")}},[v,k,j,p,l]);return{lists:o,items:k,loading:X,error:W,selectedListId:T,setSelectedListId:D,createList:G,renameList:H,deleteList:O,createItem:S,updateItem:M,toggleItem:E,deleteItem:_,reorderItems:F}}function Qt(C){return[...C].sort((l,p)=>l.sortOrder-p.sortOrder)}function ne({projectId:C,addToast:l,onPlanningMode:p,onTaskCreated:v,mobileKeyboardActive:R=!1}){const{t:o}=Lt("app"),{lists:I,items:k,loading:w,error:X,selectedListId:N,setSelectedListId:W,createList:y,renameList:T,deleteList:D,createItem:j,updateItem:x,toggleItem:A,deleteItem:G,reorderItems:H}=qt({projectId:C,addToast:(t,h)=>{if(h==="success"||h==="error"||h==="info"||h===void 0){l(t,h);return}l(t,"info")}}),[O,S]=c.useState(null),[M,E]=c.useState(""),[_,F]=c.useState(null),[a,d]=c.useState(""),[f,m]=c.useState(""),[r,s]=c.useState(!1),[i,n]=c.useState(""),[u,g]=c.useState([]),[$,tt]=c.useState(!1),[V,U]=c.useState(!1),[et,P]=c.useState(null),Y=c.useRef(null),{confirm:yt}=Kt(),st=c.useMemo(()=>I.find(t=>t.id===N)??null,[I,N]),z=c.useMemo(()=>Qt(k.filter(t=>t.listId===N)),[k,N]);function ot(){S(null),E(""),m(""),s(!1)}function J(){F(null),d(""),n("")}function jt(t){ot(),J(),W(t)}const It=c.useCallback(async()=>{tt(!0);try{const t=await Bt(void 0,C);g(t),U(!0)}catch(t){l(o("todo.failedToLoadAgents","Failed to load agents: {{error}}",{error:q(t)}),"error"),U(!1),P(null)}finally{tt(!1)}},[C,l,o]);c.useEffect(()=>{S(null),E(""),m(""),s(!1),F(null),d(""),n(""),U(!1),P(null)},[N]),c.useEffect(()=>{if(!V)return;const t=h=>{Y.current&&!Y.current.contains(h.target)&&(U(!1),P(null))};return document.addEventListener("mousedown",t),()=>{document.removeEventListener("mousedown",t)}},[V]);function kt(t){J(),S(t.id),E(t.title),s(!1)}async function at(){if(!O)return;const t=M.trim();if(!t){S(null),E("");return}await T(O,t),S(null),E("")}function nt(){S(null),E("")}function it(t){ot(),F(t.id),d(t.text)}async function dt(){if(!_)return;const t=a.trim();if(!t){F(null),d("");return}await x(_,{text:t}),F(null),d("")}function rt(){F(null),d("")}async function lt(){const t=f.trim();t&&(await y(t),m(""),s(!1))}async function ct(){if(!N)return;const t=i.trim();t&&(await j(t),n(""))}async function Ct(t){await yt({title:o("todo.deleteListTitle","Delete List"),message:o("todo.deleteListConfirm","Delete this list and all its items?"),danger:!0})&&await D(t)}async function wt(t){await G(t)}async function mt(t,h){const L=z.map(B=>B.id),b=L.findIndex(B=>B===t);if(b<0)return;const K=h==="up"?b-1:b+1;K<0||K>=L.length||([L[b],L[K]]=[L[K],L[b]],await H(L))}const Nt=c.useCallback(async t=>{try{const h={description:t.text,column:"triage",source:{sourceType:"dashboard_ui"}},L=await pt(h,C);v?.(L),l(o("todo.taskCreatedFromTodo","Created {{id}} from todo",{id:L.id}),"success")}catch(h){l(o("todo.failedToCreateTask","Failed to create task: {{error}}",{error:q(h)}),"error")}},[C,l,v,o]),At=c.useCallback(async(t,h)=>{try{const L={description:t.text,column:"triage",assignedAgentId:h,source:{sourceType:"dashboard_ui"}},b=await pt(L,C);v?.(b);const B=u.find(St=>St.id===h)?.name??h;l(o("todo.taskCreatedAndAssigned","Created {{id}} and assigned to {{agent}}",{id:b.id,agent:B}),"success"),U(!1),P(null)}catch(L){l(o("todo.failedToCreateAndAssign","Failed to create and assign task: {{error}}",{error:q(L)}),"error")}},[C,l,u,v,o]);return w?e.jsx("div",{className:"todo-view",children:e.jsxs("div",{className:"todo-loading",children:[e.jsx(Xt,{className:"todo-loading-icon","aria-hidden":"true"}),e.jsx("p",{children:o("todo.loading","Loading todos...")})]})}):e.jsx("div",{className:`todo-view${R?" todo-view--mobile-keyboard-active":""}`,"data-testid":"todo-view-root",children:e.jsxs("div",{className:"todo-view-layout",children:[e.jsxs("aside",{className:"todo-view-sidebar","aria-label":o("todo.listsLabel","Todo lists sidebar"),children:[e.jsxs("div",{className:"todo-sidebar-header",children:[e.jsx("h3",{className:"todo-sidebar-title",children:o("todo.lists","Lists")}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-add-list-btn",onClick:()=>{J(),s(!0),S(null)},"aria-label":o("todo.addList","Add list"),"data-testid":"add-list-button",children:e.jsx(zt,{})})]}),r&&e.jsxs("div",{className:"todo-list-item",children:[e.jsx("input",{className:"input todo-inline-edit-input",placeholder:o("todo.newListTitle","New list title"),value:f,onChange:t=>m(t.target.value),onKeyDown:t=>{t.key==="Enter"&&lt(),t.key==="Escape"&&(m(""),s(!1))},autoFocus:!0,"data-testid":"new-list-input"}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:()=>{lt()},"aria-label":o("todo.saveList","Save list"),children:e.jsx(Q,{})}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:()=>{m(""),s(!1)},"aria-label":o("todo.cancelList","Cancel list"),children:e.jsx(Z,{})})]}),I.length===0&&!r?e.jsxs("div",{className:"todo-empty-state",children:[e.jsx(ft,{"aria-hidden":"true"}),e.jsx("p",{children:o("todo.noListsEmpty","No todo lists yet. Create one to get started.")}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>{J(),s(!0)},children:o("todo.createList","Create List")})]}):e.jsx("div",{className:"todo-list-items",role:"list","aria-label":o("todo.todoListsLabel","Todo lists"),children:I.map(t=>{const h=t.id===N,L=t.id===O;return e.jsx("div",{className:`todo-list-item${h?" todo-list-item--active":""}`,role:"listitem",children:L?e.jsxs(e.Fragment,{children:[e.jsx("input",{className:"input todo-inline-edit-input",value:M,onChange:b=>E(b.target.value),onKeyDown:b=>{b.key==="Enter"&&at(),b.key==="Escape"&&nt()},autoFocus:!0,"data-testid":`rename-list-input-${t.id}`}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:()=>{at()},"aria-label":o("todo.saveListRename","Save list rename"),children:e.jsx(Q,{})}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:nt,"aria-label":o("todo.cancelListRename","Cancel list rename"),children:e.jsx(Z,{})})]}):e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"todo-list-select-btn",onClick:()=>jt(t.id),"aria-label":o("todo.selectList","Select list {{title}}",{title:t.title}),"aria-current":h?"true":void 0,"data-testid":`todo-list-${t.id}`,children:e.jsx("span",{className:"todo-list-item-name",children:t.title})}),e.jsxs("div",{className:"todo-list-item-actions",children:[e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:()=>{kt(t)},"aria-label":o("todo.renameList","Rename {{title}}",{title:t.title}),"data-testid":`rename-list-button-${t.id}`,children:e.jsx(ht,{})}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon btn-danger todo-icon-btn",onClick:()=>{Ct(t.id)},"aria-label":o("todo.deleteList","Delete {{title}}",{title:t.title}),"data-testid":`delete-list-button-${t.id}`,children:e.jsx(xt,{})})]})]})},t.id)})})]}),e.jsxs("section",{className:"todo-view-main","aria-label":o("todo.itemsLabel","Todo items"),children:[X&&e.jsxs("div",{className:"todo-error-banner",role:"alert",children:[e.jsx("span",{className:"todo-error-message",children:X}),e.jsx("button",{type:"button",className:"btn btn-sm",onClick:()=>window.location.reload(),children:o("actions.retry","Retry")})]}),st?e.jsxs(e.Fragment,{children:[e.jsx("div",{className:"todo-items-header",children:e.jsx("h3",{children:st.title})}),e.jsxs("div",{className:"todo-add-item-row",children:[e.jsx("input",{className:"input",placeholder:o("todo.addItemPlaceholder","Add a todo item"),value:i,onChange:t=>n(t.target.value),onKeyDown:t=>{t.key==="Enter"&&ct(),t.key==="Escape"&&n("")},"data-testid":"new-item-input"}),e.jsx("button",{type:"button",className:"btn btn-primary",onClick:()=>{ct()},children:o("actions.add","Add")})]}),z.length===0?e.jsx("div",{className:"todo-empty-state",children:e.jsx("p",{children:o("todo.noItemsEmpty","No items in this list. Add one above.")})}):e.jsx("div",{className:"todo-items-list",children:z.map((t,h)=>{const L=t.id===_;return e.jsxs("div",{className:"todo-item","data-testid":`todo-item-${t.id}`,children:[e.jsxs("div",{className:"todo-item-main-row",children:[e.jsx("input",{type:"checkbox",checked:t.completed,onChange:()=>{A(t.id)},className:"todo-item-checkbox","aria-label":`Toggle ${t.text}`,"data-testid":`toggle-item-${t.id}`}),L?e.jsx("input",{className:"input todo-inline-edit-input",value:a,onChange:b=>d(b.target.value),onKeyDown:b=>{b.key==="Enter"&&dt(),b.key==="Escape"&&rt()},autoFocus:!0,"data-testid":`edit-item-input-${t.id}`}):e.jsx("button",{type:"button",className:`todo-item-text${t.completed?" todo-item-text--completed":""}`,onClick:()=>it(t),children:t.text})]}),e.jsx("div",{className:"todo-item-actions","data-testid":`todo-item-actions-${t.id}`,children:L?e.jsxs(e.Fragment,{children:[e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:()=>{dt()},"aria-label":o("todo.saveItemEdit","Save item edit"),children:e.jsx(Q,{})}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:rt,"aria-label":o("todo.cancelItemEdit","Cancel item edit"),children:e.jsx(Z,{})})]}):e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"todo-item-reorder-btns",children:[e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-item-reorder-btn",onClick:()=>{mt(t.id,"up")},disabled:h===0,"aria-label":o("todo.moveItemUp","Move {{text}} up",{text:t.text}),"data-testid":`move-up-${t.id}`,children:e.jsx(Jt,{})}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-item-reorder-btn",onClick:()=>{mt(t.id,"down")},disabled:h===z.length-1,"aria-label":o("todo.moveItemDown","Move {{text}} down",{text:t.text}),"data-testid":`move-down-${t.id}`,children:e.jsx(Wt,{})})]}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:()=>{p?.(t.text)},"aria-label":o("todo.startPlanning","Start planning from {{text}}",{text:t.text}),"data-testid":`planning-from-${t.id}`,children:e.jsx(Gt,{})}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:()=>{Nt(t)},"aria-label":o("todo.createTaskFrom","Create task from {{text}}",{text:t.text}),"data-testid":`create-task-from-${t.id}`,children:e.jsx(Vt,{})}),e.jsxs("div",{className:"todo-agent-picker-trigger",ref:et===t.id?Y:void 0,children:[e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:()=>{P(t.id),It()},"aria-label":o("todo.assignAgent","Assign {{text}} to agent",{text:t.text}),"data-testid":`assign-agent-for-${t.id}`,children:e.jsx(gt,{})}),V&&et===t.id&&e.jsx("div",{className:"todo-agent-picker-dropdown",onMouseDown:b=>{b.preventDefault()},children:$?e.jsx("div",{className:"todo-agent-picker-loading",children:o("todo.loadingAgents","Loading agents...")}):u.length>0?u.map(b=>e.jsxs("button",{type:"button",className:"todo-agent-picker-item",onClick:()=>{At(t,b.id)},children:[e.jsx(gt,{}),e.jsx("span",{children:b.name}),e.jsx("span",{className:"todo-agent-picker-role",children:b.role})]},b.id)):e.jsx("div",{className:"todo-agent-picker-empty",children:o("todo.noAgentsAvailable","No agents available")})})]}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon todo-icon-btn",onClick:()=>it(t),"aria-label":o("todo.editItem","Edit {{text}}",{text:t.text}),"data-testid":`edit-item-${t.id}`,children:e.jsx(ht,{})}),e.jsx("button",{type:"button",className:"btn btn-sm btn-icon btn-danger todo-icon-btn",onClick:()=>{wt(t.id)},"aria-label":o("todo.deleteItem","Delete {{text}}",{text:t.text}),"data-testid":`delete-item-${t.id}`,children:e.jsx(xt,{})})]})})]},t.id)})})]}):e.jsxs("div",{className:"todo-empty-state",children:[e.jsx(ft,{"aria-hidden":"true"}),e.jsx("p",{children:o("todo.selectListEmpty","Select a list from the sidebar")})]})]})]})})}export{ne as TodoView};