tarsk 0.6.87 → 0.6.89

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 (255) hide show
  1. package/README.md +63 -24
  2. package/dist/bundled-skills/email-me/SKILL.md +15 -0
  3. package/dist/bundled-skills/email-me/scripts/__tests__/email_me.test.js +64 -0
  4. package/dist/bundled-skills/email-me/scripts/email_me.js +45 -0
  5. package/dist/bundled-skills/handoff/SKILL.md +19 -0
  6. package/dist/bundled-skills/tarsk-agent/SKILL.md +372 -0
  7. package/dist/bundled-skills/tarsk-ask-user/SKILL.md +18 -0
  8. package/dist/bundled-skills/tarsk-ask-user/scripts/ask_user.js +101 -0
  9. package/dist/bundled-skills/tarsk-bash/SKILL.md +17 -0
  10. package/dist/bundled-skills/tarsk-bash/scripts/bash.js +248 -0
  11. package/dist/bundled-skills/tarsk-browser/SKILL.md +17 -0
  12. package/dist/bundled-skills/tarsk-browser/scripts/browser.js +252 -0
  13. package/dist/bundled-skills/tarsk-chat-title/SKILL.md +14 -0
  14. package/dist/bundled-skills/tarsk-chat-title/scripts/chat_title.js +37 -0
  15. package/dist/bundled-skills/tarsk-connect-mcp/SKILL.md +23 -0
  16. package/dist/bundled-skills/tarsk-connect-mcp/scripts/__tests__/connect_mcp.test.js +68 -0
  17. package/dist/bundled-skills/tarsk-connect-mcp/scripts/connect_mcp.js +119 -0
  18. package/dist/bundled-skills/tarsk-create-project/SKILL.md +25 -0
  19. package/dist/bundled-skills/tarsk-create-project/scripts/__tests__/create_project.test.js +94 -0
  20. package/dist/bundled-skills/tarsk-create-project/scripts/create_project.js +88 -0
  21. package/dist/bundled-skills/tarsk-edit/SKILL.md +18 -0
  22. package/dist/bundled-skills/tarsk-edit/scripts/edit.js +118 -0
  23. package/dist/bundled-skills/tarsk-execute-skill-script/SKILL.md +19 -0
  24. package/dist/bundled-skills/tarsk-execute-skill-script/scripts/execute_skill_script.js +77 -0
  25. package/dist/bundled-skills/tarsk-fetch/SKILL.md +18 -0
  26. package/dist/bundled-skills/tarsk-fetch/scripts/fetch.js +38 -0
  27. package/dist/bundled-skills/tarsk-find/SKILL.md +16 -0
  28. package/dist/bundled-skills/tarsk-find/scripts/find.js +78 -0
  29. package/dist/bundled-skills/tarsk-find-images/SKILL.md +18 -0
  30. package/dist/bundled-skills/tarsk-find-images/scripts/find_images.js +78 -0
  31. package/dist/bundled-skills/tarsk-generate-image/SKILL.md +18 -0
  32. package/dist/bundled-skills/tarsk-generate-image/scripts/generate_image.js +55 -0
  33. package/dist/bundled-skills/tarsk-get-observation/SKILL.md +19 -0
  34. package/dist/bundled-skills/tarsk-get-observation/scripts/get_observation.js +293 -0
  35. package/dist/bundled-skills/tarsk-grep/SKILL.md +16 -0
  36. package/dist/bundled-skills/tarsk-grep/scripts/grep.js +174 -0
  37. package/dist/bundled-skills/tarsk-history/SKILL.md +15 -0
  38. package/dist/bundled-skills/tarsk-history/scripts/history.js +68 -0
  39. package/dist/bundled-skills/tarsk-improve/SKILL.md +232 -0
  40. package/dist/bundled-skills/tarsk-improve/references/signals.md +16 -0
  41. package/dist/bundled-skills/tarsk-improve/scripts/durable-runs.ts +635 -0
  42. package/dist/bundled-skills/tarsk-improve/scripts/ensure-exported.ts +238 -0
  43. package/dist/bundled-skills/tarsk-improve/scripts/export-tool-skills-lib.ts +299 -0
  44. package/dist/bundled-skills/tarsk-improve/scripts/summarize-session.ts +126 -0
  45. package/dist/bundled-skills/tarsk-jobs/SKILL.md +18 -0
  46. package/dist/bundled-skills/tarsk-jobs/scripts/job_kill.js +45 -0
  47. package/dist/bundled-skills/tarsk-jobs/scripts/job_list.js +64 -0
  48. package/dist/bundled-skills/tarsk-jobs/scripts/job_output.js +66 -0
  49. package/dist/bundled-skills/tarsk-notes/SKILL.md +17 -0
  50. package/dist/bundled-skills/tarsk-notes/scripts/notes.js +86 -0
  51. package/dist/bundled-skills/tarsk-projects/SKILL.md +18 -0
  52. package/dist/bundled-skills/tarsk-projects/scripts/projects.js +54 -0
  53. package/dist/bundled-skills/tarsk-prompt-project/SKILL.md +18 -0
  54. package/dist/bundled-skills/tarsk-prompt-project/scripts/prompt_project.js +58 -0
  55. package/dist/bundled-skills/tarsk-propose-branch/SKILL.md +16 -0
  56. package/dist/bundled-skills/tarsk-propose-branch/scripts/propose_branch.js +45 -0
  57. package/dist/bundled-skills/tarsk-read/SKILL.md +17 -0
  58. package/dist/bundled-skills/tarsk-read/scripts/read.js +331 -0
  59. package/dist/bundled-skills/tarsk-read-skill/SKILL.md +16 -0
  60. package/dist/bundled-skills/tarsk-read-skill/scripts/read_skill.js +37 -0
  61. package/dist/bundled-skills/tarsk-read-skill-reference/SKILL.md +19 -0
  62. package/dist/bundled-skills/tarsk-read-skill-reference/scripts/read_skill_reference.js +60 -0
  63. package/dist/bundled-skills/tarsk-run-js/SKILL.md +18 -0
  64. package/dist/bundled-skills/tarsk-run-js/scripts/run_js.js +192 -0
  65. package/dist/bundled-skills/tarsk-tasks/SKILL.md +18 -0
  66. package/dist/bundled-skills/tarsk-tasks/scripts/tasks.js +96 -0
  67. package/dist/bundled-skills/tarsk-todo/SKILL.md +16 -0
  68. package/dist/bundled-skills/tarsk-todo/scripts/todo.js +165 -0
  69. package/dist/bundled-skills/tarsk-web-search/SKILL.md +15 -0
  70. package/dist/bundled-skills/tarsk-web-search/scripts/web_search.js +120 -0
  71. package/dist/bundled-skills/tarsk-write/SKILL.md +16 -0
  72. package/dist/bundled-skills/tarsk-write/scripts/write.js +57 -0
  73. package/dist/index.js +217754 -211927
  74. package/dist/public/assets/{alert-dialog-DVaEQlVa.js → alert-dialog-BcZULJsX.js} +1 -1
  75. package/dist/public/assets/api-8Rp2LlXt.js +1 -0
  76. package/dist/public/assets/api-Cp9I7CxD.js +2 -0
  77. package/dist/public/assets/{async-error-boundary-DH6Sqgmt.js → async-error-boundary-CFVUPiuG.js} +1 -1
  78. package/dist/public/assets/browser-tab-CPPorbL6.js +12 -0
  79. package/dist/public/assets/button-DDaJhJP1.js +1 -0
  80. package/dist/public/assets/{card-BkOGFps5.js → card-DAc45J1v.js} +1 -1
  81. package/dist/public/assets/chat-dock-context-DbiJNr3O.js +1 -0
  82. package/dist/public/assets/chat-handlers-context-DYU2LQ5V.js +9 -0
  83. package/dist/public/assets/commit-dialog-DPaci3dp.js +1 -0
  84. package/dist/public/assets/{commit-error-dialog-D3S6kRVr.js → commit-error-dialog-Dnlkgb_H.js} +1 -1
  85. package/dist/public/assets/{commit-method-fields-BEKfSRyW.js → commit-method-fields-Xt3vbwUg.js} +1 -1
  86. package/dist/public/assets/conversation-history-view-CqIugfyO.js +1 -0
  87. package/dist/public/assets/{create-project-dialog-nquqlloK.js → create-project-dialog-DStWPoDE.js} +2 -2
  88. package/dist/public/assets/{create-project-workspace-C4tXAUWJ.js → create-project-workspace-CJ94yHAB.js} +2 -2
  89. package/dist/public/assets/create-repo-dialog-B_QiEz-v.js +1 -0
  90. package/dist/public/assets/{delete-confirm-dialog-SpYpU1AX.js → delete-confirm-dialog-D1N86piR.js} +1 -1
  91. package/dist/public/assets/dialog-D_12AsZd.js +1 -0
  92. package/dist/public/assets/diff-view-4koPcOcE.js +4 -0
  93. package/dist/public/assets/{dist-NcyjV9Gu.js → dist-2xH_pFmV.js} +1 -1
  94. package/dist/public/assets/{dist-BTu7PDzc.js → dist-AbkJBHH5.js} +1 -1
  95. package/dist/public/assets/{dist-lFBinzor.js → dist-B-h6Wj39.js} +1 -1
  96. package/dist/public/assets/dist-CgbWuuq4.js +1 -0
  97. package/dist/public/assets/{dist-f54JuzFV.js → dist-DOz2WXwX.js} +1 -1
  98. package/dist/public/assets/{dist-CqrmQxmV.js → dist-DfnQ9YJh.js} +1 -1
  99. package/dist/public/assets/{dist-BOfRC57H.js → dist-JGbQ_EJY.js} +1 -1
  100. package/dist/public/assets/{dist-ButPmyjr.js → dist-pCVg1Jdl.js} +1 -1
  101. package/dist/public/assets/dist-v_MvKS2-.js +2 -0
  102. package/dist/public/assets/{es2015-CE7VcoOH.js → es2015-eNVkKfFF.js} +1 -1
  103. package/dist/public/assets/{explorer-file-drop-CEbBlDEp.js → explorer-file-drop-DAP7ha-E.js} +1 -1
  104. package/dist/public/assets/{explorer-monaco-editor-Bgo9Y1cP.js → explorer-monaco-editor-ChJZBFy5.js} +1 -1
  105. package/dist/public/assets/explorer-tab-view-Bt9hRZUm.js +2 -0
  106. package/dist/public/assets/explorer-tree-CAs89lPz.js +1 -0
  107. package/dist/public/assets/{explorer-view-BuTa_0Uq.js → explorer-view-B1JuejkU.js} +3 -3
  108. package/dist/public/assets/git-history-dialog-Dqj1p35g.js +1 -0
  109. package/dist/public/assets/index-CcAwxnT5.js +97 -0
  110. package/dist/public/assets/index-dNrgKdYv.css +1 -0
  111. package/dist/public/assets/{label-C31qF5zZ.js → label-BCs5CZEs.js} +1 -1
  112. package/dist/public/assets/markdown-renderer-DQONI6WG.js +10 -0
  113. package/dist/public/assets/{mcp-manager-C3K_62H2.js → mcp-manager-D2FG-h2e.js} +1 -1
  114. package/dist/public/assets/{minus-l6BdrAEk.js → minus-CgQcbBQT.js} +1 -1
  115. package/dist/public/assets/{model-list-controls-DwW8S18v.js → model-list-controls-B6ofHWh3.js} +1 -1
  116. package/dist/public/assets/onboarding-dialog-DAut3X4K.js +1 -0
  117. package/dist/public/assets/{pill-tabs-CmvvHdKG.js → pill-tabs-BAhOHad7.js} +1 -1
  118. package/dist/public/assets/progress-indicator-hJ74ac5W.js +1 -0
  119. package/dist/public/assets/project-coding-view-B2FpHeiO.js +1 -0
  120. package/dist/public/assets/{project-danger-zone-view-D18k4pUF.js → project-danger-zone-view-BqP1dcRT.js} +1 -1
  121. package/dist/public/assets/{project-env-vars-view-BWFqoaFD.js → project-env-vars-view-zhigkQFG.js} +1 -1
  122. package/dist/public/assets/project-model-aliases-view-APAVFfym.js +1 -0
  123. package/dist/public/assets/project-settings-view-FnK-LRsv.js +1 -0
  124. package/dist/public/assets/project-tools-view-Dmp5ViRC.js +1 -0
  125. package/dist/public/assets/providers-list-view-Clbp73Hh.js +1 -0
  126. package/dist/public/assets/pull-request-dialog-D40BQPMk.js +1 -0
  127. package/dist/public/assets/pull-with-changes-dialog-pkXK-VP2.js +1 -0
  128. package/dist/public/assets/push-before-pr-dialog-DH91JHEC.js +1 -0
  129. package/dist/public/assets/query-keys-CcnonAAG.js +1 -0
  130. package/dist/public/assets/remote-media-url-C-GdJb-D.js +1 -0
  131. package/dist/public/assets/{scroll-area-BWc4OPsj.js → scroll-area-DGF9wUqQ.js} +1 -1
  132. package/dist/public/assets/{select-B6RizwDW.js → select-DMcNYwgt.js} +1 -1
  133. package/dist/public/assets/settings-general-tabs-view-DBZQbihJ.js +2 -0
  134. package/dist/public/assets/settings-general-view-0dhBET2R.js +1 -0
  135. package/dist/public/assets/{settings-list-D35rpAof.js → settings-list-Co3JPr9w.js} +1 -1
  136. package/dist/public/assets/settings-logs-view-DvHXUDko.js +5 -0
  137. package/dist/public/assets/settings-mcp-servers-view-414Dt5py.js +5 -0
  138. package/dist/public/assets/settings-models-view-ByeR7Enb.js +1 -0
  139. package/dist/public/assets/settings-plugins-view-8te2MPyh.js +2 -0
  140. package/dist/public/assets/settings-providers-view-BAuv9gam.js +2 -0
  141. package/dist/public/assets/settings-remote-machines-view-CHyywazU.js +1 -0
  142. package/dist/public/assets/settings-setup-view-Btp46Vh_.js +2 -0
  143. package/dist/public/assets/settings-skills-view-BNVx4bZl.js +2 -0
  144. package/dist/public/assets/{settings-slack-view-DkclyaBc.js → settings-slack-view-Caly5yGt.js} +1 -1
  145. package/dist/public/assets/settings-slash-commands-view-m6mp1knu.js +1 -0
  146. package/dist/public/assets/{settings-statistics-view-B03ZZjEy.js → settings-statistics-view-BnOxr4sZ.js} +1 -1
  147. package/dist/public/assets/settings-storage-view-Dg8xfpTG.js +1 -0
  148. package/dist/public/assets/settings-subagents-view-CucwEk2A.js +2 -0
  149. package/dist/public/assets/settings-system-prompt-view-CEDU2saT.js +1 -0
  150. package/dist/public/assets/{settings-tab-bar-ajzyt79U.js → settings-tab-bar-CdIbQ0WI.js} +1 -1
  151. package/dist/public/assets/settings-view-XcJhRclT.js +2 -0
  152. package/dist/public/assets/{slug-utils-D2jhPz-o.js → slug-utils-CO6nui1C.js} +1 -1
  153. package/dist/public/assets/square-CtxvwmM2.js +1 -0
  154. package/dist/public/assets/store-W78TGOIO.js +8 -0
  155. package/dist/public/assets/{table-C3Hc0Gwy.js → table-CQMqIW_-.js} +1 -1
  156. package/dist/public/assets/task-utils-Cnq9Eszt.js +1 -0
  157. package/dist/public/assets/tasks-view-B8_jkq_a.js +1 -0
  158. package/dist/public/assets/{terminal-panel-DCKqScJu.js → terminal-panel-xoLVfA-h.js} +2 -2
  159. package/dist/public/assets/{toggle-group-DqSxGqvP.js → toggle-group-CPmseZfb.js} +1 -1
  160. package/dist/public/assets/{tooltip-CJKJfu0l.js → tooltip-CqwCZ7wt.js} +1 -1
  161. package/dist/public/assets/{use-account-settings-query-AUeOqKvo.js → use-account-settings-query-D_qL1I4w.js} +1 -1
  162. package/dist/public/assets/{use-active-dock-panel-instance-BvAhUd_V.js → use-active-dock-panel-instance-kmJOnmL7.js} +1 -1
  163. package/dist/public/assets/use-browser-overlay-block-CO1pUEAZ.js +1 -0
  164. package/dist/public/assets/{use-git-check-B_5Jak2s.js → use-git-check-BD9gdXpK.js} +1 -1
  165. package/dist/public/assets/{use-installed-ai-files-iy_AB0dN.js → use-installed-ai-files-Nn-sN_V2.js} +1 -1
  166. package/dist/public/assets/use-open-chat-dock-panel-CXzpgxVs.js +1 -0
  167. package/dist/public/assets/{use-projects-BmhAMgxB.js → use-projects-B0xTjTaA.js} +2 -2
  168. package/dist/public/assets/utils-CqsIXqSC.js +1 -0
  169. package/dist/public/assets/web-BNWoiS4w.js +1 -0
  170. package/dist/public/assets/web-C1tBQoCB.js +1 -0
  171. package/dist/public/assets/web-Dlo3GwCf.js +1 -0
  172. package/dist/public/assets/web-cJXG33sT.js +1 -0
  173. package/dist/public/fonts/schibsted-grotesk-latin-ext-wght-normal.woff2 +0 -0
  174. package/dist/public/fonts/schibsted-grotesk-latin-wght-normal.woff2 +0 -0
  175. package/dist/public/index.html +46 -46
  176. package/package.json +9 -9
  177. package/dist/public/assets/account-view-5q3pHEHY.js +0 -1
  178. package/dist/public/assets/ai-spinner-DHwhlk4j.js +0 -1
  179. package/dist/public/assets/api-BdebJfuN.js +0 -1
  180. package/dist/public/assets/api-COO2LfdU.js +0 -2
  181. package/dist/public/assets/browser-overlay-block-CiDtkfup.js +0 -1
  182. package/dist/public/assets/browser-tab-CVdYLmW5.js +0 -12
  183. package/dist/public/assets/button-Dp5XDZNR.js +0 -1
  184. package/dist/public/assets/chat-dock-context-ymLoO90X.js +0 -1
  185. package/dist/public/assets/checkbox-D-BV8-Z_.js +0 -1
  186. package/dist/public/assets/commit-dialog-CEbCFh1x.js +0 -1
  187. package/dist/public/assets/conversation-history-view-CVMD8hUU.js +0 -1
  188. package/dist/public/assets/create-repo-dialog-B5IE3pUJ.js +0 -1
  189. package/dist/public/assets/dialog-pHPeIGaB.js +0 -1
  190. package/dist/public/assets/diff-view-Cy6nPdX-.js +0 -4
  191. package/dist/public/assets/dist-D5vgS4RP.js +0 -2
  192. package/dist/public/assets/explorer-tab-view-C-8QZO9S.js +0 -2
  193. package/dist/public/assets/explorer-tree-HrLSFgcI.js +0 -1
  194. package/dist/public/assets/git-history-dialog-ClfF5IOn.js +0 -1
  195. package/dist/public/assets/index-BBLA5zVt.css +0 -1
  196. package/dist/public/assets/index-CalVAwXj.js +0 -104
  197. package/dist/public/assets/markdown-renderer-DXRBG7uP.js +0 -10
  198. package/dist/public/assets/onboarding-dialog-BtLy0wjC.js +0 -1
  199. package/dist/public/assets/progress-indicator-4zQXqOqP.js +0 -1
  200. package/dist/public/assets/project-coding-view-CyJwnJes.js +0 -1
  201. package/dist/public/assets/project-model-aliases-view-D3tYNkkM.js +0 -1
  202. package/dist/public/assets/project-settings-view-0oN9vFvD.js +0 -1
  203. package/dist/public/assets/project-tools-view-DT87KPjE.js +0 -1
  204. package/dist/public/assets/providers-list-view-DCnh0W-5.js +0 -1
  205. package/dist/public/assets/pull-request-dialog-BdJxYQwu.js +0 -1
  206. package/dist/public/assets/pull-with-changes-dialog-Do9x9neW.js +0 -1
  207. package/dist/public/assets/push-before-pr-dialog-C-9z2O0-.js +0 -1
  208. package/dist/public/assets/query-keys-BwswkbMn.js +0 -1
  209. package/dist/public/assets/remote-media-url-B8OFqxOM.js +0 -1
  210. package/dist/public/assets/settings-general-tabs-view-Dcek-ysB.js +0 -2
  211. package/dist/public/assets/settings-general-view-DhA2N6G5.js +0 -1
  212. package/dist/public/assets/settings-logs-view-eEUTIMeb.js +0 -5
  213. package/dist/public/assets/settings-mcp-servers-view-_oeuVkUe.js +0 -5
  214. package/dist/public/assets/settings-models-view-DW-ZmVup.js +0 -1
  215. package/dist/public/assets/settings-plugins-view-DTooco_c.js +0 -2
  216. package/dist/public/assets/settings-providers-view-CEeJkhg9.js +0 -2
  217. package/dist/public/assets/settings-remote-machines-view--UB8GlCK.js +0 -1
  218. package/dist/public/assets/settings-setup-view-DFL6DlYS.js +0 -2
  219. package/dist/public/assets/settings-skills-view-xS569-Kb.js +0 -2
  220. package/dist/public/assets/settings-slash-commands-view-DrCiayfq.js +0 -1
  221. package/dist/public/assets/settings-storage-view-CQnaVOt_.js +0 -1
  222. package/dist/public/assets/settings-subagents-view-DIctUJcE.js +0 -2
  223. package/dist/public/assets/settings-system-prompt-view-BMDbrFRR.js +0 -1
  224. package/dist/public/assets/settings-view-8M6sbGiX.js +0 -2
  225. package/dist/public/assets/store-CxUwqrZ5.js +0 -8
  226. package/dist/public/assets/task-utils-WAei2PDi.js +0 -1
  227. package/dist/public/assets/tasks-view-DKyqgGdE.js +0 -1
  228. package/dist/public/assets/use-browser-overlay-block-z9imTmiZ.js +0 -1
  229. package/dist/public/assets/use-open-chat-dock-panel-w3hc5Vxn.js +0 -1
  230. package/dist/public/assets/utils-mYB1USG6.js +0 -1
  231. package/dist/public/assets/web-C6Gm4nQ0.js +0 -1
  232. package/dist/public/assets/web-DFlyNg8o.js +0 -1
  233. package/dist/public/assets/web-DlEPs8Xe.js +0 -1
  234. package/dist/public/assets/web-Gx3xReQH.js +0 -1
  235. package/dist/public/backgrounds/arctic-tundra.avif +0 -0
  236. package/dist/public/backgrounds/autumn-leaves.avif +0 -0
  237. package/dist/public/backgrounds/coastal-cliff.avif +0 -0
  238. package/dist/public/backgrounds/floating-waterfall.avif +0 -0
  239. package/dist/public/backgrounds/forest-path.avif +0 -0
  240. package/dist/public/backgrounds/garden-path.avif +0 -0
  241. package/dist/public/backgrounds/glow-marsh.avif +0 -0
  242. package/dist/public/backgrounds/golden-wheat.avif +0 -0
  243. package/dist/public/backgrounds/moon-desert.avif +0 -0
  244. package/dist/public/backgrounds/night-pond.avif +0 -0
  245. package/dist/public/backgrounds/prairie-grassland.avif +0 -0
  246. package/dist/public/backgrounds/river-winding.avif +0 -0
  247. package/dist/public/backgrounds/salt-flat.avif +0 -0
  248. package/dist/public/backgrounds/salt-marsh.avif +0 -0
  249. package/dist/public/backgrounds/sandy-beach.avif +0 -0
  250. package/dist/public/backgrounds/snow-river.avif +0 -0
  251. package/dist/public/backgrounds/sunset-pond.avif +0 -0
  252. package/dist/public/fonts/plus-jakarta-sans-cyrillic-ext-wght-normal.woff2 +0 -0
  253. package/dist/public/fonts/plus-jakarta-sans-latin-ext-wght-normal.woff2 +0 -0
  254. package/dist/public/fonts/plus-jakarta-sans-latin-wght-normal.woff2 +0 -0
  255. package/dist/public/fonts/plus-jakarta-sans-vietnamese-wght-normal.woff2 +0 -0
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{V as i,b as a,z as o}from"./dist-D5vgS4RP.js";import{gt as s,xn as c}from"./api-COO2LfdU.js";import{t as l}from"./utils-mYB1USG6.js";import{t as u}from"./rotate-ccw-Dthg8Pv6.js";import{t as d}from"./button-Dp5XDZNR.js";import{n as f}from"./use-toast-CKgZ8YeP.js";import{vt as p}from"./index-CalVAwXj.js";import{t as m}from"./delete-confirm-dialog-SpYpU1AX.js";import{i as h,n as g,o as _,r as v,t as y}from"./table-C3Hc0Gwy.js";import{n as b,t as x}from"./toggle-group-DqSxGqvP.js";var S=t(),C=e(n(),1),w=a(`app.use-latency-stats.hook`),T={tools:[],models:[]};function E(){let[e,t]=(0,C.useState)([]),[n,r]=(0,C.useState)([]),[i,a]=(0,C.useState)(!0),[o,l]=(0,C.useState)(!1),[u,d]=(0,C.useState)(null),f=(0,C.useCallback)(async function(){try{d(null);let e=await s();t(e.tools??T.tools),r(e.models??T.models)}catch(e){w.error(`Failed to load latency statistics`,e),d(e instanceof Error?e.message:`Failed to load statistics`)}finally{a(!1)}},[]),p=(0,C.useCallback)(async function(){l(!0);try{return d(null),await c(),t(T.tools),r(T.models),!0}catch(e){return w.error(`Failed to reset latency statistics`,e),d(e instanceof Error?e.message:`Failed to reset statistics`),!1}finally{l(!1)}},[]);return(0,C.useEffect)(()=>{f()},[f]),{tools:e,models:n,isLoading:i,isResetting:o,error:u,refresh:f,reset:p}}var D=r(),O=[{value:`tools`,label:`Tools`},{value:`models`,label:`Models`}],k=`inline-flex rounded-full border bg-muted/40 p-1`,A=`rounded-full border-0 px-4 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`,j=`flex items-center gap-2`,M=`gap-1.5 text-muted-foreground hover:text-foreground`,N=`h-9`,P=`table-fixed`,F=l(i.body,`py-1.5`),I=l(i.body,`w-28 py-1.5 text-right tabular-nums`),L=l(i.body,`w-32 py-1.5 text-right tabular-nums`),R=`h-9 w-28 bg-transparent py-2 text-right`,z=`h-9 w-32 bg-transparent py-2 text-right`;function B(e){if(!Number.isFinite(e)||e<0)return`—`;if(e<1e3)return`${Math.round(e)}ms`;let t=e/1e3;return t<10?`${t.toFixed(1)}s`:`${Math.round(t)}s`}var V=`No tool call timings recorded yet. Stats appear after agent tool calls complete.`,H=`No model timings recorded yet. Stats appear after assistant responses complete.`;function U(e){return O.some(t=>t.value===e)}function W(e){let t=(0,S.c)(3),{view:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=l(`w-full caption-bottom`,P,i.body),t[0]=r):r=t[0];let a;return t[1]===n?a=t[2]:(a=(0,D.jsx)(`table`,{className:r,children:(0,D.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,D.jsx)(`tr`,{children:n===`tools`?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(h,{className:`h-9 bg-transparent py-2`,children:`Tool`}),(0,D.jsx)(h,{className:R,children:`Calls`}),(0,D.jsx)(h,{className:z,children:`Latency`})]}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(h,{className:`h-9 bg-transparent py-2`,children:`Model`}),(0,D.jsx)(h,{className:R,children:`Requests`}),(0,D.jsx)(h,{className:z,children:`Latency`})]})})})}),t[1]=n,t[2]=a),a}function G(e){let t=(0,S.c)(6),{view:n,onViewChange:r}=e,i;t[0]===r?i=t[1]:(i=function(e){U(e)&&r(e)},t[0]=r,t[1]=i);let a=i,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=O.map(K),t[2]=o):o=t[2];let s;return t[3]!==a||t[4]!==n?(s=(0,D.jsx)(x,{type:`single`,value:n,onValueChange:a,"aria-label":`Statistics view`,variant:`outline`,className:k,children:o}),t[3]=a,t[4]=n,t[5]=s):s=t[5],s}function K(e){return(0,D.jsx)(b,{value:e.value,"aria-label":e.label,className:A,children:e.label},e.value)}function q(e){let t=(0,S.c)(5),{isResetting:n,canReset:r,onReset:i}=e,a=n||!r,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,D.jsx)(u,{}),t[0]=o):o=t[0];let s=n?`Resetting...`:`Reset`,c;return t[1]!==i||t[2]!==a||t[3]!==s?(c=(0,D.jsxs)(d,{variant:`outline`,size:`sm`,className:M,disabled:a,onClick:i,children:[o,s]}),t[1]=i,t[2]=a,t[3]=s,t[4]=c):c=t[4],c}function J(e){let t=(0,S.c)(10),{view:n,isResetting:r,canReset:i,onViewChange:a,onResetClick:o}=e,s;t[0]!==a||t[1]!==n?(s=(0,D.jsx)(G,{view:n,onViewChange:a}),t[0]=a,t[1]=n,t[2]=s):s=t[2];let c;t[3]!==i||t[4]!==r||t[5]!==o?(c=(0,D.jsx)(q,{isResetting:r,canReset:i,onReset:o}),t[3]=i,t[4]=r,t[5]=o,t[6]=c):c=t[6];let l;return t[7]!==s||t[8]!==c?(l=(0,D.jsxs)(`div`,{className:j,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function Y(e){let t=(0,S.c)(4),{tools:n}=e,r;t[0]===n?r=t[1]:(r=n.map(X),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,D.jsx)(y,{className:P,children:(0,D.jsx)(g,{children:r})}),t[2]=r,t[3]=i),i}function X(e){return(0,D.jsxs)(_,{className:N,children:[(0,D.jsx)(v,{className:F,children:o(e.toolName)}),(0,D.jsx)(v,{className:I,children:e.callCount.toLocaleString()}),(0,D.jsx)(v,{className:L,children:B(e.averageDurationMs)})]},e.toolName)}function Z(e){let t=(0,S.c)(4),{models:n}=e,r;t[0]===n?r=t[1]:(r=n.map(Q),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,D.jsx)(y,{className:P,children:(0,D.jsx)(g,{children:r})}),t[2]=r,t[3]=i),i}function Q(e){return(0,D.jsxs)(_,{className:N,children:[(0,D.jsx)(v,{className:F,children:e.modelId}),(0,D.jsx)(v,{className:I,children:e.requestCount.toLocaleString()}),(0,D.jsx)(v,{className:L,children:B(e.averageDurationMs)})]},e.modelId)}function $(e){let t=(0,S.c)(7),{view:n,isLoading:r,tools:a,models:o}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,D.jsx)(`p`,{className:i.bodyMuted,children:`Loading…`}),t[0]=e):e=t[0],e}if(n===`tools`){if(a.length===0){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,D.jsx)(`p`,{className:i.bodyMuted,children:V}),t[1]=e):e=t[1],e}let e;return t[2]===a?e=t[3]:(e=(0,D.jsx)(Y,{tools:a}),t[2]=a,t[3]=e),e}if(o.length===0){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,D.jsx)(`p`,{className:i.bodyMuted,children:H}),t[4]=e):e=t[4],e}let s;return t[5]===o?s=t[6]:(s=(0,D.jsx)(Z,{models:o}),t[5]=o,t[6]=s),s}function ee(){let e=(0,S.c)(31),{tools:t,models:n,isLoading:r,isResetting:a,error:o,reset:s}=E(),{toast:c}=f(),[u,d]=(0,C.useState)(`tools`),[h,g]=(0,C.useState)(!1),_=t.length>0||n.length>0,v=!r&&(u===`tools`?t.length>0:n.length>0),y=!r&&_,b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b=function(){g(!0)},e[0]=b):b=e[0];let x=b,w;e[1]!==s||e[2]!==c?(w=async function(){if(g(!1),await s()){c({title:`Statistics cleared`,description:`All tool and model latency data has been reset.`});return}c({title:`Error`,description:`Failed to reset statistics. Please try again.`,variant:`destructive`})},e[1]=s,e[2]=c,e[3]=w):w=e[3];let T=w,O;e[4]!==v||e[5]!==u?(O=v?(0,D.jsx)(W,{view:u}):void 0,e[4]=v,e[5]=u,e[6]=O):O=e[6];let k;e[7]!==y||e[8]!==a||e[9]!==u?(k=(0,D.jsx)(J,{view:u,isResetting:a,canReset:y,onViewChange:d,onResetClick:x}),e[7]=y,e[8]=a,e[9]=u,e[10]=k):k=e[10];let A;e[11]===o?A=e[12]:(A=o?(0,D.jsx)(`p`,{className:l(i.bodyMuted,`mb-6 text-destructive`),children:o}):null,e[11]=o,e[12]=A);let j;e[13]!==r||e[14]!==n||e[15]!==t||e[16]!==u?(j=(0,D.jsx)($,{view:u,isLoading:r,tools:t,models:n}),e[13]=r,e[14]=n,e[15]=t,e[16]=u,e[17]=j):j=e[17];let M;e[18]!==O||e[19]!==k||e[20]!==A||e[21]!==j?(M=(0,D.jsxs)(p,{title:`Statistics`,description:`Average latency and request counts for tool calls and model responses.`,tableHeader:O,action:k,children:[A,j]}),e[18]=O,e[19]=k,e[20]=A,e[21]=j,e[22]=M):M=e[22];let N;e[23]===T?N=e[24]:(N=()=>void T(),e[23]=T,e[24]=N);let P;e[25]!==h||e[26]!==N?(P=(0,D.jsx)(m,{open:h,onOpenChange:g,title:`Reset statistics?`,description:`This clears all recorded tool call and model response latency data. This action cannot be undone.`,onConfirm:N,confirmLabel:`Reset`,confirmingLabel:`Resetting...`}),e[25]=h,e[26]=N,e[27]=P):P=e[27];let F;return e[28]!==M||e[29]!==P?(F=(0,D.jsxs)(D.Fragment,{children:[M,P]}),e[28]=M,e[29]=P,e[30]=F):F=e[30],F}export{ee as default};
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{U as i,V as a,x as o}from"./dist-v_MvKS2-.js";import{Sn as s,gt as c}from"./api-Cp9I7CxD.js";import{t as l}from"./utils-CqsIXqSC.js";import{t as u}from"./rotate-ccw-Dthg8Pv6.js";import{t as d}from"./button-DDaJhJP1.js";import{n as f}from"./use-toast-CKgZ8YeP.js";import{mt as p}from"./index-CcAwxnT5.js";import{i as m,n as h,o as g,r as _,t as v}from"./table-CQMqIW_-.js";import{t as y}from"./delete-confirm-dialog-D1N86piR.js";import{n as b,t as x}from"./toggle-group-CPmseZfb.js";var S=t(),C=e(n(),1),w=o(`app.use-latency-stats.hook`),T={tools:[],models:[]};function E(){let[e,t]=(0,C.useState)([]),[n,r]=(0,C.useState)([]),[i,a]=(0,C.useState)(!0),[o,l]=(0,C.useState)(!1),[u,d]=(0,C.useState)(null),f=(0,C.useCallback)(async function(){try{d(null);let e=await c();t(e.tools??T.tools),r(e.models??T.models)}catch(e){w.error(`Failed to load latency statistics`,e),d(e instanceof Error?e.message:`Failed to load statistics`)}finally{a(!1)}},[]),p=(0,C.useCallback)(async function(){l(!0);try{return d(null),await s(),t(T.tools),r(T.models),!0}catch(e){return w.error(`Failed to reset latency statistics`,e),d(e instanceof Error?e.message:`Failed to reset statistics`),!1}finally{l(!1)}},[]);return(0,C.useEffect)(()=>{f()},[f]),{tools:e,models:n,isLoading:i,isResetting:o,error:u,refresh:f,reset:p}}var D=r(),O=[{value:`tools`,label:`Tools`},{value:`models`,label:`Models`}],k=`inline-flex rounded-full border bg-muted/40 p-1`,A=`rounded-full border-0 px-4 data-[state=on]:bg-foreground data-[state=on]:text-background data-[state=on]:shadow-sm`,j=`flex items-center gap-2`,M=`gap-1.5 text-muted-foreground hover:text-foreground`,N=`h-9`,P=`table-fixed`,F=l(i.body,`py-1.5`),I=l(i.body,`w-28 py-1.5 text-right tabular-nums`),L=l(i.body,`w-32 py-1.5 text-right tabular-nums`),R=`h-9 w-28 bg-transparent py-2 text-right`,z=`h-9 w-32 bg-transparent py-2 text-right`;function B(e){if(!Number.isFinite(e)||e<0)return`—`;if(e<1e3)return`${Math.round(e)}ms`;let t=e/1e3;return t<10?`${t.toFixed(1)}s`:`${Math.round(t)}s`}var V=`No tool call timings recorded yet. Stats appear after agent tool calls complete.`,H=`No model timings recorded yet. Stats appear after assistant responses complete.`;function U(e){return O.some(t=>t.value===e)}function W(e){let t=(0,S.c)(3),{view:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=l(`w-full caption-bottom`,P,i.body),t[0]=r):r=t[0];let a;return t[1]===n?a=t[2]:(a=(0,D.jsx)(`table`,{className:r,children:(0,D.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,D.jsx)(`tr`,{children:n===`tools`?(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(m,{className:`h-9 bg-transparent py-2`,children:`Tool`}),(0,D.jsx)(m,{className:R,children:`Calls`}),(0,D.jsx)(m,{className:z,children:`Latency`})]}):(0,D.jsxs)(D.Fragment,{children:[(0,D.jsx)(m,{className:`h-9 bg-transparent py-2`,children:`Model`}),(0,D.jsx)(m,{className:R,children:`Requests`}),(0,D.jsx)(m,{className:z,children:`Latency`})]})})})}),t[1]=n,t[2]=a),a}function G(e){let t=(0,S.c)(6),{view:n,onViewChange:r}=e,i;t[0]===r?i=t[1]:(i=function(e){U(e)&&r(e)},t[0]=r,t[1]=i);let a=i,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=O.map(K),t[2]=o):o=t[2];let s;return t[3]!==a||t[4]!==n?(s=(0,D.jsx)(x,{type:`single`,value:n,onValueChange:a,"aria-label":`Statistics view`,variant:`outline`,className:k,children:o}),t[3]=a,t[4]=n,t[5]=s):s=t[5],s}function K(e){return(0,D.jsx)(b,{value:e.value,"aria-label":e.label,className:A,children:e.label},e.value)}function q(e){let t=(0,S.c)(5),{isResetting:n,canReset:r,onReset:i}=e,a=n||!r,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,D.jsx)(u,{}),t[0]=o):o=t[0];let s=n?`Resetting...`:`Reset`,c;return t[1]!==i||t[2]!==a||t[3]!==s?(c=(0,D.jsxs)(d,{variant:`outline`,size:`sm`,className:M,disabled:a,onClick:i,children:[o,s]}),t[1]=i,t[2]=a,t[3]=s,t[4]=c):c=t[4],c}function J(e){let t=(0,S.c)(10),{view:n,isResetting:r,canReset:i,onViewChange:a,onResetClick:o}=e,s;t[0]!==a||t[1]!==n?(s=(0,D.jsx)(G,{view:n,onViewChange:a}),t[0]=a,t[1]=n,t[2]=s):s=t[2];let c;t[3]!==i||t[4]!==r||t[5]!==o?(c=(0,D.jsx)(q,{isResetting:r,canReset:i,onReset:o}),t[3]=i,t[4]=r,t[5]=o,t[6]=c):c=t[6];let l;return t[7]!==s||t[8]!==c?(l=(0,D.jsxs)(`div`,{className:j,children:[s,c]}),t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function Y(e){let t=(0,S.c)(4),{tools:n}=e,r;t[0]===n?r=t[1]:(r=n.map(X),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,D.jsx)(v,{className:P,children:(0,D.jsx)(h,{children:r})}),t[2]=r,t[3]=i),i}function X(e){return(0,D.jsxs)(g,{className:N,children:[(0,D.jsx)(_,{className:F,children:a(e.toolName)}),(0,D.jsx)(_,{className:I,children:e.callCount.toLocaleString()}),(0,D.jsx)(_,{className:L,children:B(e.averageDurationMs)})]},e.toolName)}function Z(e){let t=(0,S.c)(4),{models:n}=e,r;t[0]===n?r=t[1]:(r=n.map(Q),t[0]=n,t[1]=r);let i;return t[2]===r?i=t[3]:(i=(0,D.jsx)(v,{className:P,children:(0,D.jsx)(h,{children:r})}),t[2]=r,t[3]=i),i}function Q(e){return(0,D.jsxs)(g,{className:N,children:[(0,D.jsx)(_,{className:F,children:e.modelId}),(0,D.jsx)(_,{className:I,children:e.requestCount.toLocaleString()}),(0,D.jsx)(_,{className:L,children:B(e.averageDurationMs)})]},e.modelId)}function $(e){let t=(0,S.c)(7),{view:n,isLoading:r,tools:a,models:o}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,D.jsx)(`p`,{className:i.bodyMuted,children:`Loading…`}),t[0]=e):e=t[0],e}if(n===`tools`){if(a.length===0){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,D.jsx)(`p`,{className:i.bodyMuted,children:V}),t[1]=e):e=t[1],e}let e;return t[2]===a?e=t[3]:(e=(0,D.jsx)(Y,{tools:a}),t[2]=a,t[3]=e),e}if(o.length===0){let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,D.jsx)(`p`,{className:i.bodyMuted,children:H}),t[4]=e):e=t[4],e}let s;return t[5]===o?s=t[6]:(s=(0,D.jsx)(Z,{models:o}),t[5]=o,t[6]=s),s}function ee(){let e=(0,S.c)(31),{tools:t,models:n,isLoading:r,isResetting:a,error:o,reset:s}=E(),{toast:c}=f(),[u,d]=(0,C.useState)(`tools`),[m,h]=(0,C.useState)(!1),g=t.length>0||n.length>0,_=!r&&(u===`tools`?t.length>0:n.length>0),v=!r&&g,b;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(b=function(){h(!0)},e[0]=b):b=e[0];let x=b,w;e[1]!==s||e[2]!==c?(w=async function(){if(h(!1),await s()){c({title:`Statistics cleared`,description:`All tool and model latency data has been reset.`});return}c({title:`Error`,description:`Failed to reset statistics. Please try again.`,variant:`destructive`})},e[1]=s,e[2]=c,e[3]=w):w=e[3];let T=w,O;e[4]!==_||e[5]!==u?(O=_?(0,D.jsx)(W,{view:u}):void 0,e[4]=_,e[5]=u,e[6]=O):O=e[6];let k;e[7]!==v||e[8]!==a||e[9]!==u?(k=(0,D.jsx)(J,{view:u,isResetting:a,canReset:v,onViewChange:d,onResetClick:x}),e[7]=v,e[8]=a,e[9]=u,e[10]=k):k=e[10];let A;e[11]===o?A=e[12]:(A=o?(0,D.jsx)(`p`,{className:l(i.bodyMuted,`mb-6 text-destructive`),children:o}):null,e[11]=o,e[12]=A);let j;e[13]!==r||e[14]!==n||e[15]!==t||e[16]!==u?(j=(0,D.jsx)($,{view:u,isLoading:r,tools:t,models:n}),e[13]=r,e[14]=n,e[15]=t,e[16]=u,e[17]=j):j=e[17];let M;e[18]!==O||e[19]!==k||e[20]!==A||e[21]!==j?(M=(0,D.jsxs)(p,{title:`Statistics`,description:`Average latency and request counts for tool calls and model responses.`,tableHeader:O,action:k,children:[A,j]}),e[18]=O,e[19]=k,e[20]=A,e[21]=j,e[22]=M):M=e[22];let N;e[23]===T?N=e[24]:(N=()=>void T(),e[23]=T,e[24]=N);let P;e[25]!==m||e[26]!==N?(P=(0,D.jsx)(y,{open:m,onOpenChange:h,title:`Reset statistics?`,description:`This clears all recorded tool call and model response latency data. This action cannot be undone.`,onConfirm:N,confirmLabel:`Reset`,confirmingLabel:`Resetting...`}),e[25]=m,e[26]=N,e[27]=P):P=e[27];let F;return e[28]!==M||e[29]!==P?(F=(0,D.jsxs)(D.Fragment,{children:[M,P]}),e[28]=M,e[29]=P,e[30]=F):F=e[30],F}export{ee as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{n as i}from"./QueryClientProvider-CYXTUmYo.js";import{U as a}from"./dist-v_MvKS2-.js";import{U as o,q as s,r as c}from"./store-W78TGOIO.js";import{Kt as l,c as u,di as d,gn as f,k as p}from"./api-Cp9I7CxD.js";import{p as m,t as h}from"./utils-CqsIXqSC.js";import{t as g}from"./loader-circle-CrqRIqdA.js";import{t as _}from"./button-DDaJhJP1.js";import{i as v,n as y,t as b}from"./tooltip-CqwCZ7wt.js";import{t as x}from"./label-BCs5CZEs.js";import{n as S}from"./use-toast-CKgZ8YeP.js";import{t as C}from"./progress-indicator-hJ74ac5W.js";import{a as w,c as T,i as E,n as D,o as O,r as k,s as A,t as j}from"./alert-dialog-BcZULJsX.js";import{n as ee}from"./use-projects-B0xTjTaA.js";import{c as te}from"./api-8Rp2LlXt.js";import{Cn as M,D as ne,Et as N,Or as P,Sn as F,Tr as I,at as re,gn as L,gt as R,it as z,or as ie,pt as ae}from"./index-CcAwxnT5.js";import{i as B,r as V}from"./table-CQMqIW_-.js";import{t as H}from"./delete-confirm-dialog-D1N86piR.js";import{t as U}from"./settings-list-Co3JPr9w.js";var W=[`KB`,`MB`,`GB`,`TB`];function G(e){if(!Number.isFinite(e)||e<=0)return`0 KB`;let t=e/1024,n=W[0];for(let e=0;e<W.length&&(n=W[e],!(t<1024||e===W.length-1));e++)t/=1024;return`${t>=100?Math.round(t):Math.round(t*10)/10} ${n}`}var K=`{tarsk}`;function q(e,t){let n=e.replace(/\/$/,``);if(t===n)return K;let r=`${n}/`;return t.startsWith(r)?`${K}/${t.slice(r.length)}`:t}var J=t(),Y=e(n(),1),X=r(),oe=36,se=`table-fixed`,ce=`h-9 w-48 bg-transparent py-2`,le=`h-9 bg-transparent py-2`,ue=`h-9 w-32 bg-transparent py-2`,de=`h-9 w-10 bg-transparent py-2`,fe=h(a.bodyMuted,`w-48 truncate py-1.5`),pe=h(a.body,`truncate py-1.5`),me=h(a.bodyMuted,`w-32 truncate py-1.5`),he=`w-10 py-1.5`,ge={column:`project`,direction:`asc`},_e=`7`,Z=3650;function ve(e){let t=(0,J.c)(11),n,r;t[0]===e?(n=t[1],r=t[2]):({style:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===r?i=t[4]:(i={...r,width:`100%`},t[3]=r,t[4]=i);let o;t[5]===n.className?o=t[6]:(o=h(`w-full caption-bottom`,se,a.body,n.className),t[5]=n.className,t[6]=o);let s;return t[7]!==n||t[8]!==i||t[9]!==o?(s=(0,X.jsx)(`table`,{...n,style:i,className:o}),t[7]=n,t[8]=i,t[9]=o,t[10]=s):s=t[10],s}function ye(e){let t=(0,J.c)(5),n;t[0]===e.className?n=t[1]:(n=h(`hidden`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,X.jsx)(`thead`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function be(e){let t=(0,J.c)(5),n;t[0]===e.className?n=t[1]:(n=h(`[&_tr:last-child]:border-0`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,X.jsx)(`tbody`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function xe(e){let t=(0,J.c)(5),n;t[0]===e.className?n=t[1]:(n=h(`frosted-scrollbar`,e.className),t[0]=e.className,t[1]=n);let r;return t[2]!==e||t[3]!==n?(r=(0,X.jsx)(`div`,{...e,className:n}),t[2]=e,t[3]=n,t[4]=r):r=t[4],r}function Q(e,t){return t?q(t,e):e}function Se(e,t,n){switch(t){case`project`:return e.projectName;case`path`:return Q(e.path,n);case`branch`:return e.branch}}function Ce(e){let t=[];for(let n of e){let e=m(n);for(let r of n.threads)t.push({threadId:r.threadId,projectId:n.projectId,projectName:e,path:r.path,branch:r.currentBranch||r.title})}return t}function we(e,t,n,r){return[...e].sort((e,i)=>{let a=Se(e,t,r).localeCompare(Se(i,t,r),void 0,{sensitivity:`base`});return n===`asc`?a:-a})}function $(e){let t=(0,J.c)(17),{label:n,column:r,sortColumn:i,sortDirection:a,className:o,onSort:s}=e,c=i===r,l=a===`asc`?I:P,u=c?`text-foreground`:`text-muted-foreground`,d;t[0]===u?d=t[1]:(d=h(`inline-flex items-center gap-1 transition-colors hover:text-foreground`,u),t[0]=u,t[1]=d);let f;t[2]!==r||t[3]!==s?(f=()=>s(r),t[2]=r,t[3]=s,t[4]=f):f=t[4];let p=c?a===`asc`?`ascending`:`descending`:`none`,m;t[5]!==l||t[6]!==c?(m=c?(0,X.jsx)(l,{className:`h-3.5 w-3.5 shrink-0`,"aria-hidden":`true`}):null,t[5]=l,t[6]=c,t[7]=m):m=t[7];let g;t[8]!==n||t[9]!==d||t[10]!==f||t[11]!==p||t[12]!==m?(g=(0,X.jsxs)(`button`,{type:`button`,className:d,onClick:f,"aria-sort":p,children:[n,m]}),t[8]=n,t[9]=d,t[10]=f,t[11]=p,t[12]=m,t[13]=g):g=t[13];let _;return t[14]!==o||t[15]!==g?(_=(0,X.jsx)(B,{className:o,children:g}),t[14]=o,t[15]=g,t[16]=_):_=t[16],_}function Te(e){return e.deletingThreadIds.includes(e.threadId)?`deleting`:s(e.threadId,e.processingThreadIds,e.streamingSignature,e.pendingChatMessage)||e.completedThreadIds.includes(e.threadId)?`locked`:`deletable`}var Ee=`999.9 GB free`;function De(e){l().then(function(t){e(t.freeBytes)}).catch(function(){e(null)})}function Oe(e){let t=(0,J.c)(5),{freeBytes:n}=e;if(n===void 0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(`span`,{className:`block invisible`,"aria-hidden":`true`,children:Ee}),t[0]=e):e=t[0],e}if(n===null)return null;let r;t[1]===n?r=t[2]:(r=G(n),t[1]=n,t[2]=r);let i=`${r} free`,a;return t[3]===i?a=t[4]:(a=(0,X.jsx)(`span`,{className:`block`,children:i}),t[3]=i,t[4]=a),a}function ke(e,t){return e===0?`No archived chats older than ${t} days.`:`Cleared history for ${e} archived ${e===1?`chat`:`chats`} older than ${t} days.`}function Ae(e){let t=(0,J.c)(12),{sortColumn:n,sortDirection:r,onSort:i}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=h(`w-full caption-bottom`,se,a.body),t[0]=o):o=t[0];let s,c,l;t[1]!==i||t[2]!==n||t[3]!==r?(s=(0,X.jsx)($,{label:`Project`,column:`project`,sortColumn:n,sortDirection:r,className:ce,onSort:i}),c=(0,X.jsx)($,{label:`Path`,column:`path`,sortColumn:n,sortDirection:r,className:le,onSort:i}),l=(0,X.jsx)($,{label:`Branch`,column:`branch`,sortColumn:n,sortDirection:r,className:ue,onSort:i}),t[1]=i,t[2]=n,t[3]=r,t[4]=s,t[5]=c,t[6]=l):(s=t[4],c=t[5],l=t[6]);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,X.jsx)(B,{className:de,children:(0,X.jsx)(`span`,{className:`sr-only`,children:`Actions`})}),t[7]=u):u=t[7];let d;return t[8]!==s||t[9]!==c||t[10]!==l?(d=(0,X.jsx)(`table`,{className:o,children:(0,X.jsx)(`thead`,{className:`[&_tr]:border-b [&_tr]:border-table-border`,children:(0,X.jsxs)(`tr`,{children:[s,c,l,u]})})}),t[8]=s,t[9]=c,t[10]=l,t[11]=d):d=t[11],d}function je(e){let t=(0,J.c)(10),{status:n,onDeleteRequest:r}=e;if(n===`deleting`){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(g,{className:`h-4 w-4 animate-spin text-muted-foreground`,"aria-label":`Deleting`}),t[0]=e):e=t[0],e}if(n===`locked`)return null;let i;t[1]===r?i=t[2]:(i=e=>{e.stopPropagation(),r()},t[1]=r,t[2]=i);let a,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,X.jsx)(M,{}),o=(0,X.jsx)(`span`,{className:`sr-only`,children:`Delete workspace`}),t[3]=a,t[4]=o):(a=t[3],o=t[4]);let s;t[5]===i?s=t[6]:(s=(0,X.jsx)(v,{asChild:!0,children:(0,X.jsxs)(_,{variant:`ghost`,size:`icon-sm`,className:U,onClick:i,children:[a,o]})}),t[5]=i,t[6]=s);let c;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,X.jsx)(y,{side:`left`,children:`Delete branch and files from the repo`}),t[7]=c):c=t[7];let l;return t[8]===s?l=t[9]:(l=(0,X.jsxs)(b,{children:[s,c]}),t[8]=s,t[9]=l),l}function Me(e){let t=(0,J.c)(20),{row:n,displayPath:r,fileManagerLabel:i,deleteStatus:o,onOpenPath:s,onDeleteRequest:c}=e,l;t[0]===n.projectName?l=t[1]:(l=(0,X.jsx)(V,{className:fe,children:n.projectName}),t[0]=n.projectName,t[1]=l);let u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=h(a.body,`block w-full truncate text-left hover:underline`),t[2]=u):u=t[2];let d=`${n.path}\nOpen in ${i}`,f;t[3]!==s||t[4]!==n?(f=()=>s(n),t[3]=s,t[4]=n,t[5]=f):f=t[5];let p;t[6]!==r||t[7]!==d||t[8]!==f?(p=(0,X.jsx)(V,{className:pe,children:(0,X.jsx)(`button`,{type:`button`,className:u,title:d,onClick:f,children:r})}),t[6]=r,t[7]=d,t[8]=f,t[9]=p):p=t[9];let m;t[10]===n.branch?m=t[11]:(m=(0,X.jsx)(V,{className:me,children:n.branch}),t[10]=n.branch,t[11]=m);let g;t[12]!==o||t[13]!==c?(g=(0,X.jsx)(V,{className:he,children:(0,X.jsx)(`div`,{className:`ml-auto flex h-7 w-7 items-center justify-center`,children:(0,X.jsx)(je,{status:o,onDeleteRequest:c})})}),t[12]=o,t[13]=c,t[14]=g):g=t[14];let _;return t[15]!==l||t[16]!==p||t[17]!==m||t[18]!==g?(_=(0,X.jsxs)(X.Fragment,{children:[l,p,m,g]}),t[15]=l,t[16]=p,t[17]=m,t[18]=g,t[19]=_):_=t[19],_}function Ne(e){let t=(0,J.c)(7),{loading:n,rows:r,virtuosoComponents:i,renderRow:o}=e;if(n&&r.length===0){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(C,{centered:!0,label:`Loading workspaces...`,size:`lg`}),t[0]=e):e=t[0],e}if(r.length===0){let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,X.jsx)(`div`,{className:`flex h-full items-center justify-center p-6`,children:(0,X.jsxs)(`div`,{className:`max-w-md space-y-2 text-center`,children:[(0,X.jsx)(`h3`,{className:a.emptyStateTitle,children:`No workspaces`}),(0,X.jsx)(`p`,{className:a.bodyMuted,children:`No branches or workspaces found yet.`})]})}),t[1]=e):e=t[1],e}let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s={height:`100%`},t[2]=s):s=t[2];let c;return t[3]!==o||t[4]!==r||t[5]!==i?(c=(0,X.jsx)(N,{style:s,data:r,computeItemKey:Pe,itemContent:o,defaultItemHeight:oe,increaseViewportBy:180,components:i}),t[3]=o,t[4]=r,t[5]=i,t[6]=c):c=t[6],c}function Pe(e,t){return t.threadId}function Fe(e){let t=(0,J.c)(16),{loading:n,rows:r,cloneRootPath:i,fileManagerLabel:a,onDeleteRequest:o,onOpenPath:s}=e,l=c(Be),u=c(ze),d=c(Re),f=c(Le),p=c(Ie),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=function(e){let{...t}=e;return(0,X.jsx)(`tr`,{...t,className:h(`group border-0 transition-colors hover:bg-muted/50`,t.className)})},t[0]=m):m=t[0];let g=m,_;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(_={Table:ve,TableHead:ye,TableBody:be,TableRow:g,Scroller:xe},t[1]=_):_=t[1];let v=_,y;t[2]!==i||t[3]!==d||t[4]!==l||t[5]!==a||t[6]!==o||t[7]!==s||t[8]!==p||t[9]!==u||t[10]!==f?(y=function(e,t){let n=Te({threadId:t.threadId,deletingThreadIds:l,processingThreadIds:u,completedThreadIds:d,streamingSignature:f,pendingChatMessage:p});return(0,X.jsx)(Me,{row:t,displayPath:Q(t.path,i),fileManagerLabel:a,deleteStatus:n,onOpenPath:s,onDeleteRequest:()=>o(t)})},t[2]=i,t[3]=d,t[4]=l,t[5]=a,t[6]=o,t[7]=s,t[8]=p,t[9]=u,t[10]=f,t[11]=y):y=t[11];let b=y,x;return t[12]!==n||t[13]!==b||t[14]!==r?(x=(0,X.jsx)(Ne,{loading:n,rows:r,virtuosoComponents:v,renderRow:b}),t[12]=n,t[13]=b,t[14]=r,t[15]=x):x=t[15],x}function Ie(e){return e.pendingChatMessage}function Le(e){return o(e.threadStreamingStates)}function Re(e){return e.completedThreadIds}function ze(e){return e.processingThreadIds}function Be(e){return e.deletingThreadIds}function Ve(e){let t=(0,J.c)(10),{pendingDelete:n,cloneRootPath:r,onClose:i,onConfirm:a}=e,o=n!==null,s;t[0]===i?s=t[1]:(s=e=>{e||i()},t[0]=i,t[1]=s);let c;t[2]!==r||t[3]!==n?(c=n?`Are you sure you want to delete the workspace at "${Q(n.path,r)}"? This removes the branch and all its files. This action cannot be undone.`:``,t[2]=r,t[3]=n,t[4]=c):c=t[4];let l;return t[5]!==a||t[6]!==o||t[7]!==s||t[8]!==c?(l=(0,X.jsx)(H,{open:o,onOpenChange:s,title:`Delete workspace?`,description:c,onConfirm:a,confirmLabel:`Delete`,confirmingLabel:`Deleting...`}),t[5]=a,t[6]=o,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function He({open:e,onOpenChange:t}){let{toast:n}=S(),r=i(),[o,s]=(0,Y.useState)(_e),[c,l]=(0,Y.useState)(!1),d=Number.parseInt(o,10),f=Number.isInteger(d)&&d>=0&&d<=Z;function p(e){!e&&!c?(s(_e),t(!1)):e&&t(!0)}async function m(){if(f&&!c){l(!0);try{let e=await u(d);await r.invalidateQueries({queryKey:[`conversations`]}),t(!1),n({title:`Archived chat history cleared`,description:ke(e.purgedCount,d)})}catch(e){n({title:`Failed to clear archived history`,description:e instanceof Error?e.message:String(e),variant:`destructive`})}finally{l(!1)}}}return(0,X.jsx)(j,{open:e,onOpenChange:p,children:(0,X.jsxs)(E,{children:[(0,X.jsxs)(A,{children:[(0,X.jsx)(T,{children:`Clear archived chat history?`}),(0,X.jsx)(w,{children:`This permanently clears conversation history for archived chats older than the retention below. Active chats are never touched. This action cannot be undone.`})]}),(0,X.jsxs)(`div`,{className:`flex items-center gap-3 py-1`,children:[(0,X.jsx)(x,{htmlFor:`archived-history-retention`,className:`shrink-0`,children:`Keep history (days)`}),(0,X.jsx)(L,{id:`archived-history-retention`,type:`number`,min:0,max:Z,step:1,inputMode:`numeric`,value:o,disabled:c,onChange:e=>s(e.target.value),className:`w-28`})]}),f?null:(0,X.jsxs)(`p`,{className:h(a.bodyMuted,`text-destructive`),children:[`Enter whole days between 0 and `,Z,`.`]}),(0,X.jsxs)(O,{children:[(0,X.jsx)(k,{disabled:c,children:`Cancel`}),(0,X.jsx)(D,{onClick:e=>{e.preventDefault(),m()},disabled:!f||c,className:`bg-destructive text-destructive-foreground hover:bg-destructive/90`,children:c?`Clearing...`:`Clear history`})]})]})})}function Ue(e){let t=(0,J.c)(21),{workspaceCount:n}=e,{toast:r}=S(),[i,o]=(0,Y.useState)(!1),[s,c]=(0,Y.useState)(!1),l;t[0]===r?l=t[1]:(l=async function(){c(!0);try{if(await p(),d())try{await f()}catch{}window.close()}catch(e){let t=e;c(!1),o(!1),r({title:`Error`,description:t instanceof Error?t.message:`Failed to delete account`,variant:`destructive`})}},t[0]=r,t[1]=l);let u=l,m;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,X.jsx)(re,{title:`Delete local account`,description:`Permanently delete the Tarsk database and any logs on this device.`,sticky:!1}),t[2]=m):m=t[2];let h;t[3]===n?h=t[4]:(h=n>0?(0,X.jsx)(z,{variant:`error`,children:(0,X.jsxs)(`span`,{className:`flex items-start gap-2`,children:[(0,X.jsx)(F,{className:`mt-0.5 h-4 w-4 shrink-0`}),(0,X.jsxs)(`span`,{children:[`You have `,n,` workspace `,n===1?`folder`:`folders`,` `,`listed above. Deleting your account does not remove those folders from disk.`]})]})}):null,t[3]=n,t[4]=h);let g;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,X.jsx)(`p`,{className:a.bodyMuted,children:`This removes the Tarsk database and any logs on this machine and cannot be undone. The app will close; relaunch to start with a fresh database.`}),t[5]=g):g=t[5];let v;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,X.jsxs)(_,{variant:`destructive`,onClick:()=>o(!0),children:[(0,X.jsx)(M,{className:`h-4 w-4`}),`Delete Account`]}),t[6]=v):v=t[6];let y;t[7]===h?y=t[8]:(y=(0,X.jsxs)(`div`,{className:`space-y-4 px-6 pb-6`,children:[h,g,v]}),t[7]=h,t[8]=y);let b;t[9]===s?b=t[10]:(b=e=>{!e&&!s&&o(!1)},t[9]=s,t[10]=b);let x;t[11]===u?x=t[12]:(x=()=>void u(),t[11]=u,t[12]=x);let C;t[13]!==s||t[14]!==i||t[15]!==b||t[16]!==x?(C=(0,X.jsx)(H,{open:i,onOpenChange:b,title:`Delete account?`,description:`This permanently deletes the Tarsk database and any logs on this device. The app will close and you can relaunch it. This action cannot be undone.`,onConfirm:x,confirming:s,confirmLabel:`Delete Account`,confirmingLabel:`Deleting...`}),t[13]=s,t[14]=i,t[15]=b,t[16]=x,t[17]=C):C=t[17];let w;return t[18]!==y||t[19]!==C?(w=(0,X.jsxs)(R,{className:`mt-8 border-t border-table-border pt-8`,children:[m,y,C]}),t[18]=y,t[19]=C,t[20]=w):w=t[20],w}function We(){let e=(0,J.c)(53),t=c(Je),n=c(qe),r=c(Ke),i=c(Ge),{handleDeleteThread:a,refreshWorkspaces:o}=ee(),{toast:s}=S(),[l,u]=(0,Y.useState)(null),[d,f]=(0,Y.useState)(ge),[p,m]=(0,Y.useState)(!1),[h,g]=(0,Y.useState)(void 0),v=(0,Y.useRef)(0),y=ne()?`Finder`:`Explorer`,b,x;e[0]===o?(b=e[1],x=e[2]):(b=()=>{o()},x=[o],e[0]=o,e[1]=b,e[2]=x),(0,Y.useEffect)(b,x);let C,w;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(C=function(){De(g)},w=[],e[3]=C,e[4]=w):(C=e[3],w=e[4]),(0,Y.useEffect)(C,w);let T;e[5]===i.length?T=e[6]:(T=function(){let e=i.length,t=v.current>0&&e===0;v.current=e,t&&De(g)},e[5]=i.length,e[6]=T);let E;e[7]===i?E=e[8]:(E=[i],e[7]=i,e[8]=E),(0,Y.useEffect)(T,E);let D;e[9]!==n||e[10]!==t||e[11]!==d.column||e[12]!==d.direction?(D=we(Ce(t),d.column,d.direction,n),e[9]=n,e[10]=t,e[11]=d.column,e[12]=d.direction,e[13]=D):D=e[13];let O=D,k=O.length,A;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(A=function(e){f(t=>t.column===e?{column:e,direction:t.direction===`asc`?`desc`:`asc`}:{column:e,direction:`asc`})},e[14]=A):A=e[14];let j=A,M;e[15]!==a||e[16]!==l?(M=function(){if(!l)return;let{projectId:e,threadId:t}=l;u(null),a(e,t)},e[15]=a,e[16]=l,e[17]=M):M=e[17];let N=M,P;e[18]===s?P=e[19]:(P=async function(e){try{await te(e.threadId,`.`)}catch{s({title:`Error`,description:`Failed to open folder in ${y}.`,variant:`destructive`})}},e[18]=s,e[19]=P);let F=P,I;e[20]===h?I=e[21]:(I=(0,X.jsxs)(X.Fragment,{children:[`Workspaces and branches stored on disk across all projects.`,(0,X.jsx)(Oe,{freeBytes:h})]}),e[20]=h,e[21]=I);let L;e[22]!==O.length||e[23]!==d.column||e[24]!==d.direction?(L=O.length>0?(0,X.jsx)(Ae,{sortColumn:d.column,sortDirection:d.direction,onSort:j}):void 0,e[22]=O.length,e[23]=d.column,e[24]=d.direction,e[25]=L):L=e[25];let R;e[26]===Symbol.for(`react.memo_cache_sentinel`)?(R=(0,X.jsxs)(_,{type:`button`,variant:`outline`,size:`sm`,className:`gap-2`,onClick:()=>m(!0),children:[(0,X.jsx)(ie,{className:`h-4 w-4`,"aria-hidden":`true`}),`Clear archived history`]}),e[26]=R):R=e[26];let z;e[27]!==I||e[28]!==L?(z=(0,X.jsx)(re,{title:`Storage`,description:I,tableHeader:L,action:R}),e[27]=I,e[28]=L,e[29]=z):z=e[29];let B;e[30]===Symbol.for(`react.memo_cache_sentinel`)?(B=e=>u(e),e[30]=B):B=e[30];let V;e[31]!==n||e[32]!==F||e[33]!==r||e[34]!==O?(V=(0,X.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,X.jsx)(Fe,{loading:r,rows:O,cloneRootPath:n,fileManagerLabel:y,onDeleteRequest:B,onOpenPath:F})}),e[31]=n,e[32]=F,e[33]=r,e[34]=O,e[35]=V):V=e[35];let H;e[36]===k?H=e[37]:(H=(0,X.jsx)(Ue,{workspaceCount:k}),e[36]=k,e[37]=H);let U;e[38]!==z||e[39]!==V||e[40]!==H?(U=(0,X.jsxs)(ae,{className:`flex w-full max-w-none min-w-0 min-h-0 flex-1 flex-col pb-0 pt-0`,children:[z,V,H]}),e[38]=z,e[39]=V,e[40]=H,e[41]=U):U=e[41];let W;e[42]===Symbol.for(`react.memo_cache_sentinel`)?(W=()=>u(null),e[42]=W):W=e[42];let G;e[43]!==n||e[44]!==N||e[45]!==l?(G=(0,X.jsx)(Ve,{pendingDelete:l,cloneRootPath:n,onClose:W,onConfirm:N}),e[43]=n,e[44]=N,e[45]=l,e[46]=G):G=e[46];let K;e[47]===p?K=e[48]:(K=(0,X.jsx)(He,{open:p,onOpenChange:m}),e[47]=p,e[48]=K);let q;return e[49]!==U||e[50]!==G||e[51]!==K?(q=(0,X.jsxs)(`div`,{className:`flex h-full min-h-0 w-full min-w-0 flex-1 flex-col`,children:[U,G,K]}),e[49]=U,e[50]=G,e[51]=K,e[52]=q):q=e[52],q}function Ge(e){return e.deletingThreadIds}function Ke(e){return e.projectsLoading}function qe(e){return e.cloneRootPath}function Je(e){return e.projects}export{We as default};
@@ -0,0 +1,2 @@
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{o as t,t as n}from"./react-vendor-D61Uve5n.js";import{U as r}from"./dist-v_MvKS2-.js";import{D as i,Dr as a,In as o,br as s}from"./api-Cp9I7CxD.js";import{t as c}from"./utils-CqsIXqSC.js";import{r as l,t as u}from"./dialog-D_12AsZd.js";import{t as d}from"./button-DDaJhJP1.js";import{t as f}from"./use-toast-CKgZ8YeP.js";import{at as p,ft as m,gn as h,gt as g,hn as _,ht as v,it as y,lt as b,nt as x,pt as S,tt as C,yn as w}from"./index-CcAwxnT5.js";import{t as T}from"./delete-confirm-dialog-D1N86piR.js";import{t as E}from"./use-settings-page-loading-B5WU5d1c.js";import{i as D,r as O,s as k}from"./settings-list-Co3JPr9w.js";import{i as A,n as j,r as M}from"./slug-utils-CO6nui1C.js";import{t as N}from"./use-installed-ai-files-Nn-sN_V2.js";var P=e(t(),1),F=n();function I({threadId:e,onAgentCreated:t}){let[n,a]=(0,P.useState)(``),[o,s]=(0,P.useState)(``),[l,u]=(0,P.useState)(``),[d,g]=(0,P.useState)(!1),y=M(n),b=j(y),S=async()=>{if(b&&o.trim()&&e){g(!0);try{let n=await i(e,y,o.trim(),l.trim()||void 0);f({title:`Agent created`,description:`Agent '${y}' was created successfully.`}),a(``),s(``),u(``),t?.(n.path,`AGENTS.md`)}catch(e){f({title:`Error`,description:e instanceof Error?e.message:`Failed to create agent`,variant:`destructive`})}finally{g(!1)}}};return e?(0,F.jsx)(v,{children:(0,F.jsxs)(C,{children:[(0,F.jsx)(p,{title:`Add Agent`,description:`Saved as AGENT.md in .agents/agents.`,sticky:!0,className:`pr-10`}),(0,F.jsxs)(`div`,{children:[(0,F.jsxs)(x,{title:`Agent Name`,controlLayout:`stack`,className:`pt-6`,children:[(0,F.jsx)(h,{id:`agentName`,value:n,onChange:e=>a(e.target.value),placeholder:`e.g. Code Reviewer`,disabled:d}),n?(0,F.jsxs)(`p`,{className:c(r.caption,`mt-2`),children:[`Folder name: `,(0,F.jsx)(`span`,{className:`font-mono`,children:y||`...`})]}):null]}),(0,F.jsx)(x,{title:`Description`,controlLayout:`stack`,className:`pt-6`,children:(0,F.jsx)(_,{id:`agentDescription`,value:o,onChange:e=>s(e.target.value),placeholder:`Describe the agent's purpose and behavior...`,className:`resize-none min-h-[120px]`,disabled:d})}),(0,F.jsx)(x,{title:`Tools`,description:`Optional space-separated list of tools this agent can use`,controlLayout:`stack`,className:`pt-6`,children:(0,F.jsx)(h,{id:`agentTools`,value:l,onChange:e=>u(e.target.value),placeholder:`e.g. read grep glob`,disabled:d})}),(0,F.jsx)(A,{onContinue:()=>void S(),disabled:!b||!o.trim(),creating:d})]})]})}):(0,F.jsx)(m,{title:`No thread selected`,children:`Please select a thread to add an agent.`})}function L(e){let t=[];for(let n of e)n.path.startsWith(`.agents/agents/`)&&n.type===`folder`&&t.push(n),n.children&&n.children.length>0&&t.push(...L(n.children));return t}function R(){let{selectedProjectId:e,selectedThreadId:t,items:n,loading:i,deleteConfirm:p,setDeleteConfirm:h,deleting:_,installedFilePaths:v,setInstalledFilePaths:x,loadItems:C,handleDelete:A,handleOpenInExplorer:j,triggerExplorerRefresh:M}=N({findItems:L,installedPathSuffix:`/AGENT.md`,explorerPathSuffix:`/AGENT.md`,sortByName:!0,removedToastTitle:`Agent removed`}),[R,z]=(0,P.useState)(!1),[B,V]=(0,P.useState)([]),[H,U]=(0,P.useState)(!0),[W,G]=(0,P.useState)(``);(0,P.useEffect)(()=>{U(!0),s().then(V).catch(()=>V([])).finally(()=>U(!1))},[]);let K=E(e?`${e}:${t??``}`:null,[i,H]),q=(0,P.useCallback)(async e=>{let n=`.agents/agents/${e.id}/AGENT.md`;if(t&&!v.has(n))try{if(e.gitHubRepo&&e.gitHubFolder)await a(t,e.gitHubRepo,e.gitHubFolder,`.agents/agents/${e.id}`);else{let r=[`---`,`name: ${e.id}`,`description: ${e.description}`];e.tools&&r.push(`tools: ${e.tools}`),r.push(`---`,``,e.systemPrompt),await o(t,n,r.join(`
2
+ `))}x(e=>new Set(e).add(n)),M(),C(),f({title:`Agent installed`,description:e.name})}catch(e){f({title:`Error`,description:e instanceof Error?e.message:`Failed to install agent`,variant:`destructive`})}},[t,v,M,C]);return e?(0,F.jsxs)(F.Fragment,{children:[(0,F.jsxs)(b,{loading:K,children:[(0,F.jsxs)(g,{className:`shrink-0`,children:[(0,F.jsx)(k,{title:`Installed Subagents`,tooltip:`Project subagents available for focused tasks.`,action:(0,F.jsx)(d,{onClick:()=>z(!0),disabled:!t,children:`Add Subagent`})}),(0,F.jsxs)(S,{className:`pt-6`,children:[!t&&(0,F.jsx)(y,{children:`Select a thread to add or install subagents.`}),(0,F.jsx)(O,{showHeader:!1,loading:!1,items:n,emptyState:{icon:w,title:`No subagents installed`,description:`Add subagents for specialized, focused tasks.`,bordered:!1},getKey:e=>e.id,columnsClassName:`grid-cols-[minmax(0,1fr)_1.75rem]`,renderContent:e=>(0,F.jsxs)(`div`,{className:`min-w-0 text-left`,children:[(0,F.jsx)(`div`,{className:c(r.body,`truncate`),children:e.name}),(0,F.jsx)(`div`,{className:c(r.compact,`truncate text-muted-foreground`),children:e.path})]}),onItemClick:e=>j(e.path),itemClickLabel:e=>`Open ${e.name} in Files`,onDelete:h,deleteAriaLabel:e=>`Delete ${e.name}`,deleteTooltip:`Remove this subagent from the project`})]})]}),(0,F.jsx)(D,{title:`Available Subagents`,tooltip:`Browse and install subagents from the catalog.`,emptyLabel:`No available subagents found.`,searchValue:W,onSearchChange:G,items:B,getKey:e=>e.id,renderName:e=>e.name,getSubtitle:e=>e.description,renderAction:e=>{let n=v.has(`.agents/agents/${e.id}/AGENT.md`);return(0,F.jsx)(d,{type:`button`,variant:`outline`,size:`sm`,className:`opacity-100 transition-opacity can-hover:opacity-0 can-hover:group-hover:opacity-100 focus-visible:opacity-100`,disabled:!t||n,onClick:()=>void q(e),children:n?`Installed`:`Install`})}})]}),(0,F.jsx)(u,{open:R,onOpenChange:z,children:(0,F.jsx)(l,{className:`max-w-2xl max-h-[90vh] overflow-y-auto p-0`,children:(0,F.jsx)(I,{threadId:t,onAgentCreated:()=>{z(!1),C(),M()}})})}),(0,F.jsx)(T,{open:p!==null,onOpenChange:e=>!e&&h(null),title:`Delete Subagent`,description:`Are you sure you want to delete the subagent "${p?.name}"? This action cannot be undone.`,onConfirm:()=>{p&&A(p)},confirming:_})]}):(0,F.jsx)(m,{children:`Select a project to manage subagents.`})}export{R as SettingsSubagentsView,R as default};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{o as t,t as n}from"./react-vendor-D61Uve5n.js";import{U as r}from"./dist-v_MvKS2-.js";import{r as i}from"./store-W78TGOIO.js";import{At as a,tn as ee,ur as o}from"./api-Cp9I7CxD.js";import{t as s}from"./utils-CqsIXqSC.js";import{t as c}from"./loader-circle-CrqRIqdA.js";import{t as l}from"./button-DDaJhJP1.js";import{i as u,n as d,t as f}from"./tooltip-CqwCZ7wt.js";import{t as p}from"./use-toast-CKgZ8YeP.js";import{a as m,c as h,i as g,n as _,o as v,r as y,s as b,t as x}from"./alert-dialog-BcZULJsX.js";import{G as S,at as C,ct as w,ft as T,hn as E,pt as D,st as O}from"./index-CcAwxnT5.js";import{t as k}from"./use-settings-page-loading-B5WU5d1c.js";var A=e(t(),1),j=n();function M(){let e=i(e=>e.selectedProjectId),[t,n]=(0,A.useState)(``),[M,N]=(0,A.useState)(``),[P,F]=(0,A.useState)(!0),[I,L]=(0,A.useState)(!1),[R,z]=(0,A.useState)(``),[B,V]=(0,A.useState)(!0),[H,U]=(0,A.useState)(!1),[W,G]=(0,A.useState)(!1);(0,A.useLayoutEffect)(()=>{e&&V(!0)},[e]),(0,A.useEffect)(()=>{if(!e){V(!1);return}V(!0),a(e).then(e=>{let t=e.useCustomSystemPrompt;n(e.generatedPrompt),L(t),z(e.customSystemPrompt),F(!t),N(t?e.customSystemPrompt:e.generatedPrompt)}).catch(()=>{n(``),N(``),F(!0),L(!1),z(``)}).finally(()=>V(!1))},[e]);let K=k(e,[B]);function q(){return P?I:M.trim()!==R.trim()}function J(e){N(e),P&&F(!1)}function Y(){N(t),F(!0)}function X(e){if(!e){F(!1);return}if(M===t){Y();return}G(!0)}function Z(){Y(),G(!1)}function Q(){G(!1)}async function $(){if(e){if(!P&&!M.trim()){p({title:`System prompt required`,description:`Enter a system prompt or enable Generated.`,variant:`destructive`});return}U(!0);try{await o(e,{customSystemPrompt:P?null:M.trim(),useCustomSystemPrompt:!P}),ee(),L(!P),z(P?``:M.trim()),p({title:`System prompt settings saved`})}catch(e){p({title:`Error`,description:e instanceof Error?e.message:`Failed to save system prompt settings`,variant:`destructive`})}finally{U(!1)}}}return e?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(w,{loading:K,children:(0,j.jsx)(O,{children:(0,j.jsxs)(D,{className:`w-full flex-1 flex flex-col min-h-0 pt-0`,children:[(0,j.jsx)(C,{title:`System Prompt`,description:`View the default system prompt or override it for this project.`,sticky:!1,action:(0,j.jsx)(l,{onClick:$,disabled:H||!q(),children:H?(0,j.jsxs)(j.Fragment,{children:[(0,j.jsx)(c,{className:`mr-2 h-4 w-4 animate-spin`}),`Saving...`]}):`Save`})}),(0,j.jsxs)(`div`,{className:`mb-4 flex w-full items-center justify-end gap-2`,children:[(0,j.jsxs)(f,{children:[(0,j.jsx)(u,{asChild:!0,children:(0,j.jsx)(`span`,{tabIndex:0,className:s(r.label,`cursor-help`),children:`Generated`})}),(0,j.jsx)(d,{side:`top`,className:`max-w-xs`,children:`Use the auto-generated system prompt instead of a custom override.`})]}),(0,j.jsx)(S,{value:P,onChange:X,disabled:H,ariaLabel:`Generated system prompt`})]}),(0,j.jsx)(E,{value:M,onChange:e=>J(e.target.value),className:s(r.mono,`flex-1 min-h-0 resize-none`),placeholder:`System prompt will appear here...`,disabled:H})]})})}),(0,j.jsx)(x,{open:W,onOpenChange:G,children:(0,j.jsxs)(g,{children:[(0,j.jsxs)(b,{children:[(0,j.jsx)(h,{children:`Overwrite custom system prompt?`}),(0,j.jsx)(m,{children:`This will replace your custom system prompt with the generated default. You can save the change after confirming.`})]}),(0,j.jsxs)(v,{children:[(0,j.jsx)(y,{onClick:Q,children:`No`}),(0,j.jsx)(_,{onClick:Z,children:`Yes`})]})]})})]}):(0,j.jsx)(T,{children:`Select a project to edit the system prompt.`})}export{M as default};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-D61Uve5n.js";import{t as n}from"./pill-tabs-CmvvHdKG.js";var r=e(),i=t();function a(e){let t=(0,r.c)(4),{value:a,onValueChange:o,options:s}=e,c;return t[0]!==o||t[1]!==s||t[2]!==a?(c=(0,i.jsx)(`div`,{className:`frosted-scrollbar shrink-0 overflow-x-auto px-6 pb-2 pt-4`,children:(0,i.jsx)(`div`,{className:`flex w-max min-w-full justify-center`,children:(0,i.jsx)(n,{value:a,onValueChange:o,options:s})})}),t[0]=o,t[1]=s,t[2]=a,t[3]=c):c=t[3],c}export{a as t};
1
+ import{n as e,t}from"./react-vendor-D61Uve5n.js";import{t as n}from"./pill-tabs-BAhOHad7.js";var r=e(),i=t();function a(e){let t=(0,r.c)(4),{value:a,onValueChange:o,options:s}=e,c;return t[0]!==o||t[1]!==s||t[2]!==a?(c=(0,i.jsx)(`div`,{className:`frosted-scrollbar shrink-0 overflow-x-auto px-6 pb-2 pt-4`,children:(0,i.jsx)(`div`,{className:`flex w-max min-w-full justify-center`,children:(0,i.jsx)(n,{value:a,onValueChange:o,options:s})})}),t[0]=o,t[1]=s,t[2]=a,t[3]=c):c=t[3],c}export{a as t};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/settings-general-tabs-view-DBZQbihJ.js","assets/rolldown-runtime-Dd_uD5pT.js","assets/react-vendor-D61Uve5n.js","assets/chunk-QFMPRPBF-Cy-_pFSM.js","assets/dist-v_MvKS2-.js","assets/progress-indicator-hJ74ac5W.js","assets/utils-CqsIXqSC.js","assets/settings-tab-bar-CdIbQ0WI.js","assets/pill-tabs-BAhOHad7.js","assets/tooltip-CqwCZ7wt.js","assets/dist-AbkJBHH5.js","assets/dist-2xH_pFmV.js","assets/index-CcAwxnT5.js","assets/useBaseQuery-yghQO052.js","assets/QueryClientProvider-CYXTUmYo.js","assets/useInfiniteQuery-BpKy1sCq.js","assets/use-account-settings-query-D_qL1I4w.js","assets/useQuery-DWt09r77.js","assets/api-Cp9I7CxD.js","assets/query-keys-CcnonAAG.js","assets/store-W78TGOIO.js","assets/chat-handlers-context-DYU2LQ5V.js","assets/create-project-workspace-CJ94yHAB.js","assets/terminal-output-activity-D_FxlE-L.js","assets/task-utils-Cnq9Eszt.js","assets/suspense-resource-DzlMlIgR.js","assets/random-uuid-Dc3UrwVo.js","assets/use-toast-CKgZ8YeP.js","assets/remote-media-url-C-GdJb-D.js","assets/use-open-chat-dock-panel-CXzpgxVs.js","assets/chat-dock-context-DbiJNr3O.js","assets/explorer-tab-context-BwR8CM8l.js","assets/main-tab-context-Dsp4OYi9.js","assets/dist-CgbWuuq4.js","assets/markdown-renderer-DQONI6WG.js","assets/explorer-media-CRzhs0NW.js","assets/check-skFQ1X72.js","assets/createLucideIcon-2A3hmV_e.js","assets/copy-bi9iX3xn.js","assets/download-CWhQNGlF.js","assets/external-link-Dcikmdm_.js","assets/minus-CgQcbBQT.js","assets/dialog-D_12AsZd.js","assets/x-ByOPrz5I.js","assets/dist-DfnQ9YJh.js","assets/es2015-eNVkKfFF.js","assets/use-browser-overlay-block-CO1pUEAZ.js","assets/play-Dn1mbRpD.js","assets/plus-DoMzejDu.js","assets/rotate-ccw-Dthg8Pv6.js","assets/button-DDaJhJP1.js","assets/chevron-down-Bpo4ncEN.js","assets/chevron-right-Dga3q1bZ.js","assets/chevron-up-BxgjX7B3.js","assets/circle-alert-CC2eO3yt.js","assets/circle-DQwOli2u.js","assets/grip-vertical-_jCIw8Mw.js","assets/loader-circle-CrqRIqdA.js","assets/square-CtxvwmM2.js","assets/dist-B-h6Wj39.js","assets/label-BCs5CZEs.js","assets/dist-Dx8OsX8-.js","assets/dist-pCVg1Jdl.js","assets/dist-DOz2WXwX.js","assets/dist-JGbQ_EJY.js","assets/scroll-area-DGF9wUqQ.js","assets/alert-dialog-BcZULJsX.js","assets/use-projects-B0xTjTaA.js","assets/use-suspense-resource-uCX26gOk.js","assets/explorer-file-drop-DAP7ha-E.js","assets/api-8Rp2LlXt.js","assets/dist-CkGJjZXY.js","assets/select-DMcNYwgt.js","assets/mcp-manager-D2FG-h2e.js","assets/index-dNrgKdYv.css","assets/project-settings-view-FnK-LRsv.js","assets/use-settings-page-loading-B5WU5d1c.js","assets/settings-setup-view-Btp46Vh_.js","assets/project-env-vars-view-zhigkQFG.js","assets/project-danger-zone-view-BqP1dcRT.js","assets/project-model-aliases-view-APAVFfym.js","assets/table-CQMqIW_-.js","assets/settings-plugins-view-8te2MPyh.js","assets/settings-providers-view-BAuv9gam.js","assets/settings-remote-machines-view-CHyywazU.js"])))=>i.map(i=>d[i]);
2
+ import{i as e,n as t}from"./rolldown-runtime-Dd_uD5pT.js";import{n,o as r,r as i,t as a}from"./react-vendor-D61Uve5n.js";import{c as o,o as s,s as c}from"./chunk-QFMPRPBF-Cy-_pFSM.js";import{U as l,x as u}from"./dist-v_MvKS2-.js";import{Z as d,n as f,r as p}from"./store-W78TGOIO.js";import{Cn as m,Mt as h,tn as g}from"./api-Cp9I7CxD.js";import{p as _,t as v}from"./utils-CqsIXqSC.js";import{t as y}from"./x-ByOPrz5I.js";import{t as b}from"./button-DDaJhJP1.js";import{n as x}from"./scroll-area-DGF9wUqQ.js";import{t as S}from"./progress-indicator-hJ74ac5W.js";import{At as C,Cr as w,It as T,Lt as E,Pn as D,Qn as O,Sn as k,Ut as A,Vn as j,Yt as M,ft as N,jt as ee,kt as te,qn as P,wr as F,yr as I,zt as L}from"./index-CcAwxnT5.js";var R=[{value:`providers`,label:`Providers`},{value:`model-aliases`,label:`Default Models`},{value:`models`,label:`List`}];function z(e){let t=e.replace(/\/+$/,``);return t===`/settings/providers`||t.startsWith(`/settings/providers/`)?`providers`:t===`/settings/models`?`models`:t===`/settings/model-aliases`?`model-aliases`:null}var B=[{value:`general`,label:`General`},{value:`history`,label:`History`},{value:`storage`,label:`Storage`},{value:`statistics`,label:`Statistics`},{value:`logs`,label:`Logs`},{value:`slack`,label:`Slack`}];function V(e){let t=e.replace(/\/+$/,``);if(t===`/settings/general`)return`general`;for(let e of B)if(t===`/settings/general/${e.value}`||e.value!==`general`&&t===`/settings/${e.value}`)return e.value;return null}var H=[{value:`skills`,label:`Skills`},{value:`mcp-servers`,label:`MCP`},{value:`system-prompt`,label:`System Prompt`},{value:`tools`,label:`Tools`},{value:`slash-commands`,label:`Slash Commands`},{value:`subagents`,label:`Subagents`}];function U(e){let t=e.replace(/\/+$/,``);if(/^\/settings\/project\/[^/]+\/plugins$/.test(t)||t===`/settings/plugins`)return`skills`;if(/^\/settings\/project\/[^/]+\/tools$/.test(t))return`tools`;for(let e of H)if(RegExp(`^/settings/project/[^/]+/plugins/${e.value}$`).test(t)||t===`/settings/plugins/${e.value}`||e.value!==`tools`&&t===`/settings/${e.value}`)return e.value;return null}var W=n(),G=e(r(),1),K=a(),ne=(0,G.forwardRef)(function(e,t){let n=(0,W.c)(29),{sidebar:r,children:i,defaultSidebarSize:a,minSidebarSize:o,maxSidebarSize:s,minContentSize:c,collapsible:l,collapsedSize:u,className:d,onCollapse:f,onExpand:p,isMobile:m,mobileShowSidebar:h,sidebarClassName:g}=e,_=a===void 0?25:a,y=o===void 0?20:o,b=s===void 0?30:s,x=c===void 0?40:c,S=l!==void 0&&l,w=u===void 0?0:u,T=d===void 0?``:d,E=m!==void 0&&m,D=h===void 0||h,O=E&&!D,k=E&&D,A=`h-full ${T}`,j=E?100:_,M=E?50:y,N=E?100:b,P=O&&`hidden`,F;n[0]!==g||n[1]!==P?(F=v(`border-r border-transparent`,P,g),n[0]=g,n[1]=P,n[2]=F):F=n[2];let I;n[3]!==w||n[4]!==S||n[5]!==f||n[6]!==p||n[7]!==t||n[8]!==r||n[9]!==j||n[10]!==M||n[11]!==N||n[12]!==F?(I=(0,K.jsx)(C,{ref:t,defaultSize:j,minSize:M,maxSize:N,collapsible:S,collapsedSize:w,onCollapse:f,onExpand:p,className:F,children:r}),n[3]=w,n[4]=S,n[5]=f,n[6]=p,n[7]=t,n[8]=r,n[9]=j,n[10]=M,n[11]=N,n[12]=F,n[13]=I):I=n[13];let L;n[14]===E?L=n[15]:(L=!E&&(0,K.jsx)(te,{withHandle:!0,className:`ml-[-10px]`}),n[14]=E,n[15]=L);let R=k&&`hidden`,z;n[16]===R?z=n[17]:(z=v(`overflow-hidden`,R),n[16]=R,n[17]=z);let B;n[18]!==i||n[19]!==x||n[20]!==z?(B=(0,K.jsx)(C,{minSize:x,className:z,children:i}),n[18]=i,n[19]=x,n[20]=z,n[21]=B):B=n[21];let V;n[22]!==I||n[23]!==L||n[24]!==B?(V=(0,K.jsxs)(ee,{direction:`horizontal`,className:`h-full`,children:[I,L,B]}),n[22]=I,n[23]=L,n[24]=B,n[25]=V):V=n[25];let H;return n[26]!==A||n[27]!==V?(H=(0,K.jsx)(`div`,{className:A,children:V}),n[26]=A,n[27]=V,n[28]=H):H=n[28],H});function re(e){return e.startsWith(`/settings/project/`)?e.endsWith(`/model-aliases`)?`project-model-aliases`:e.endsWith(`/env-vars`)?`project-env-vars`:/^\/settings\/project\/[^/]+\/coding(?:\/[^/]+)?\/?$/.test(e)?`project-coding`:e.endsWith(`/danger-zone`)?`project-danger-zone`:`project`:null}function ie(e,t){if(U(e))return`project-plugins`;if(V(e))return`general`;if(z(e))return`providers`;let n=re(e);if(n)return n;for(let n of t)if(e.startsWith(n.route))return n.id;return`general`}var q=[{id:`project-plugins`,label:`Plugins`,icon:(0,K.jsx)(j,{className:`h-4 w-4`}),route:`/settings/plugins`},{id:`general`,label:`Settings`,icon:(0,K.jsx)(D,{className:`h-4 w-4`}),route:`/settings/general`},{id:`providers`,label:`Providers`,icon:(0,K.jsx)(w,{className:`h-4 w-4`}),route:`/settings/providers`},{id:`remote-machines`,label:`Remote Access`,icon:(0,K.jsx)(O,{className:`h-4 w-4`}),route:`/settings/remote-machines`}],J=new Set([`project`,`project-coding`,`project-danger-zone`,`project-env-vars`,`project-plugins`]),ae=new Set([`general`,`providers`,`remote-machines`]);function oe(e){return J.has(e)?`project`:`general`}function se(e){let t=(0,W.c)(18),{label:n,items:r,activeTabId:i,onItemClick:a,showSeparator:o,className:s}=e,c=o===void 0||o;if(r.length===0)return null;let l;t[0]===n?l=t[1]:(l=n?(0,K.jsx)(T,{className:`text-xs`,children:n}):null,t[0]=n,t[1]=l);let u;if(t[2]!==i||t[3]!==r||t[4]!==a){let e;t[6]!==i||t[7]!==a?(e=e=>(0,K.jsx)(A,{selected:i===e.id,asChild:!0,children:(0,K.jsx)(`button`,{className:`justify-start`,onClick:()=>a(e),children:(0,K.jsxs)(`span`,{className:`flex items-center gap-2`,children:[e.icon,(0,K.jsx)(`span`,{children:e.label})]})})},e.id),t[6]=i,t[7]=a,t[8]=e):e=t[8],u=r.map(e),t[2]=i,t[3]=r,t[4]=a,t[5]=u}else u=t[5];let d;t[9]===u?d=t[10]:(d=(0,K.jsx)(`div`,{className:`space-y-1`,children:u}),t[9]=u,t[10]=d);let f;t[11]===c?f=t[12]:(f=c?(0,K.jsx)(L,{className:`my-2`}):null,t[11]=c,t[12]=f);let p;return t[13]!==s||t[14]!==l||t[15]!==d||t[16]!==f?(p=(0,K.jsxs)(`div`,{className:s,children:[l,d,f]}),t[13]=s,t[14]=l,t[15]=d,t[16]=f,t[17]=p):p=t[17],p}function ce(e){let t=[...q];if(!e)return t;let n=t.findIndex(e=>e.id===`project-plugins`);n!==-1&&t.splice(n,1);let r=t.findIndex(e=>e.id===`general`);return t.splice(r,0,{id:`project`,label:`Settings`,icon:(0,K.jsx)(D,{className:`h-4 w-4`}),route:`/settings/project/${e}`},{id:`project-plugins`,label:`Plugins`,icon:(0,K.jsx)(j,{className:`h-4 w-4`}),route:`/settings/project/${e}/plugins`},{id:`project-coding`,label:`Setup`,icon:(0,K.jsx)(I,{className:`h-4 w-4`}),route:`/settings/project/${e}/coding`},{id:`project-env-vars`,label:`Variables`,icon:(0,K.jsx)(F,{className:`h-4 w-4`}),route:`/settings/project/${e}/env-vars`},{id:`project-danger-zone`,label:`Danger Zone`,icon:(0,K.jsx)(k,{className:`h-4 w-4`}),route:`/settings/project/${e}/danger-zone`}),t}function le(e){let t=(0,W.c)(29),{className:n,selectedProjectId:r,onResetOnboarding:i,onNavItemSelect:a}=e,o=c(),l=s(),u=(0,G.useRef)(0),d=(0,G.useRef)(null),f,p;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(f=()=>()=>{d.current&&clearTimeout(d.current)},p=[],t[0]=f,t[1]=p):(f=t[0],p=t[1]),(0,G.useEffect)(f,p);let m;t[2]===r?m=t[3]:(m=ce(r),t[2]=r,t[3]=m);let h=m,g;t[4]!==l.pathname||t[5]!==h?(g=ie(l.pathname,h),t[4]=l.pathname,t[5]=h,t[6]=g):g=t[6];let _=g,y;t[7]!==o||t[8]!==a||t[9]!==i?(y=function(e){e.id===`general`&&i&&(d.current&&clearTimeout(d.current),u.current+=1,u.current>=3?(u.current=0,i()):d.current=setTimeout(()=>{u.current=0},1500)),a?.(),o(e.route)},t[7]=o,t[8]=a,t[9]=i,t[10]=y):y=t[10];let b=y,x;t[11]===h?x=t[12]:(x=h.filter(de),t[11]=h,t[12]=x);let S=x,C;t[13]===h?C=t[14]:(C=h.filter(ue),t[13]=h,t[14]=C);let w=C,T;t[15]===n?T=t[16]:(T=v(`space-y-1`,n),t[15]=n,t[16]=T);let E;t[17]!==_||t[18]!==w||t[19]!==b?(E=(0,K.jsx)(se,{label:`General`,items:w,activeTabId:_,onItemClick:b,showSeparator:!1}),t[17]=_,t[18]=w,t[19]=b,t[20]=E):E=t[20];let D;t[21]!==_||t[22]!==b||t[23]!==S?(D=(0,K.jsx)(se,{label:`Project`,items:S,activeTabId:_,onItemClick:b,showSeparator:!1,className:`pt-3`}),t[21]=_,t[22]=b,t[23]=S,t[24]=D):D=t[24];let O;return t[25]!==D||t[26]!==T||t[27]!==E?(O=(0,K.jsxs)(`div`,{className:T,children:[E,D]}),t[25]=D,t[26]=T,t[27]=E,t[28]=O):O=t[28],O}function ue(e){return ae.has(e.id)}function de(e){return J.has(e.id)}var fe=t({SettingsContent:()=>Ye,default:()=>Xe,getActiveTab:()=>Y,resolveActiveNavTabId:()=>Ae,resolveActiveSectionLabel:()=>Ne,resolveSettingsContentView:()=>qe}),pe=u(`app.settings-view.ui`),me=`frosted-surface backdrop-blur-2xl`,he=(0,G.lazy)(function(){return i(()=>import(`./settings-general-tabs-view-DBZQbihJ.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74]))}),ge=(0,G.lazy)(()=>i(()=>import(`./project-settings-view-FnK-LRsv.js`),__vite__mapDeps([75,1,2,3,4,20,6,18,57,37,50,9,10,11,27,12,13,14,15,16,17,19,21,22,23,24,25,26,28,29,30,31,32,33,34,35,36,38,39,40,41,42,43,44,45,46,47,48,49,51,52,53,54,55,56,58,59,60,61,62,63,64,65,5,66,67,68,69,70,71,72,73,74,76]))),_e=(0,G.lazy)(function(){return i(()=>import(`./settings-setup-view-Btp46Vh_.js`),__vite__mapDeps([77,1,2,3,4,20,6,5,12,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,10,45,46,47,48,49,50,9,11,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,7,8]))}),ve=(0,G.lazy)(()=>i(()=>import(`./project-env-vars-view-zhigkQFG.js`),__vite__mapDeps([78,1,2,3,4,18,6,57,37,43,50,27,12,13,14,15,16,17,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,35,36,38,39,40,41,42,44,10,45,46,47,48,49,9,11,51,52,53,54,55,56,58,59,60,61,62,63,64,65,5,66,67,68,69,70,71,72,73,74,76]))),ye=(0,G.lazy)(()=>i(()=>import(`./project-danger-zone-view-BqP1dcRT.js`),__vite__mapDeps([79,2,1,4,20,6,50,12,3,13,14,15,16,17,18,19,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,10,45,46,47,48,49,9,11,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,5,66,67,68,69,70,71,72,73,74]))),be=(0,G.lazy)(()=>i(()=>import(`./project-model-aliases-view-APAVFfym.js`),__vite__mapDeps([80,1,2,16,13,14,17,4,18,19,6,50,27,72,36,37,51,53,10,11,9,45,63,61,65,71,12,3,15,20,21,22,23,24,25,26,28,29,30,31,32,33,34,35,38,39,40,41,42,43,44,46,47,48,49,52,54,55,56,57,58,59,60,62,64,5,66,67,68,69,70,73,74,81,76]))),xe=(0,G.lazy)(function(){return i(()=>import(`./settings-plugins-view-8te2MPyh.js`),__vite__mapDeps([82,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74]))}),Se=(0,G.lazy)(function(){return i(()=>import(`./settings-providers-view-BAuv9gam.js`),__vite__mapDeps([83,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74]))}),Ce=(0,G.lazy)(function(){return i(()=>import(`./settings-remote-machines-view-CHyywazU.js`),__vite__mapDeps([84,1,2,16,13,14,17,4,18,19,6,36,37,38,57,42,43,44,10,45,46,48,50,9,11,60,59,27,66,12,3,15,20,21,22,23,24,25,26,28,29,30,31,32,33,34,35,39,40,41,47,49,51,52,53,54,55,56,58,61,62,63,64,65,5,67,68,69,70,71,72,73,74,76]))}),we=[`plugins`,`general`,`providers`,`remote-machines`,`models`,`model-aliases`,`skills`,`slash-commands`,`subagents`,`system-prompt`,`mcp-servers`,`slack`,`logs`,`statistics`,`history`,`storage`];function Te(e){let t=(0,W.c)(2),{title:n}=e,r;return t[0]===n?r=t[1]:(r=(0,K.jsx)(N,{title:n,children:`Content coming soon...`}),t[0]=n,t[1]=r),r}function Y(e){return U(e)?`plugins`:V(e)?`general`:z(e)?`providers`:e.startsWith(`/settings/skills`)?`skills`:e.startsWith(`/settings/slash-commands`)?`slash-commands`:e.startsWith(`/settings/subagents`)?`subagents`:e.startsWith(`/settings/system-prompt`)?`system-prompt`:e.startsWith(`/settings/mcp-servers`)?`mcp-servers`:e.startsWith(`/settings/slack`)?`slack`:e.startsWith(`/settings/logs`)?`logs`:e.startsWith(`/settings/statistics`)?`statistics`:e.startsWith(`/settings/history`)?`history`:e.startsWith(`/settings/storage`)?`storage`:e.startsWith(`/settings/remote-machines`)?`remote-machines`:`general`}function Ee(e){let t=e.match(/^\/settings\/providers\/([^/]+)$/);return t?decodeURIComponent(t[1]):null}function De(e,t,n){return e&&we.includes(e)?e:t&&we.includes(t)?t:Y(n)}var X=new Set([`plugins`,`skills`,`mcp-servers`,`system-prompt`,`slash-commands`,`subagents`]),Z=new Set([`general`,`history`,`storage`,`statistics`,`logs`,`slack`]),Q=new Set([`providers`,`models`,`model-aliases`]);function Oe(e){return[[e.isProjectToolsRoute,`project-plugins`],[e.isProjectModelAliasesRoute,`project-model-aliases`],[e.isProjectEnvVarsRoute,`project-env-vars`],[e.isProjectCodingRoute,`project-coding`],[e.isProjectDangerZoneRoute,`project-danger-zone`],[e.isProjectRoute,`project`]].find(function([e]){return e})?.[1]}function ke(e){return Z.has(e)?`general`:Q.has(e)?`providers`:e}function Ae(e){return X.has(e.activeTab)?`project-plugins`:Oe(e)??ke(e.activeTab)}function je(e){return[[e.isProjectToolsRoute,`Plugins`],[e.isProjectModelAliasesRoute,`Default Models`],[e.isProjectEnvVarsRoute,`Variables`],[e.isProjectCodingRoute,`Setup`],[e.isProjectDangerZoneRoute,`Danger Zone`],[e.isProjectSettingsRoute,`Project`]].find(function([e]){return e})?.[1]}function Me(e){return Z.has(e)?`Settings`:Q.has(e)?`Providers`:q.find(t=>t.id===e)?.label??`Settings`}function Ne(e){return X.has(e.activeTab)?`Plugins`:je(e)??Me(e.activeTab)}function Pe(e){return e===`/settings`||e===`/settings/project`||e.startsWith(`/settings/account`)||[`/settings/mcp-server-edit`,`/settings/add-skill`,`/settings/add-command`,`/settings/add-rule`,`/settings/add-agent`,`/settings/rules`].some(t=>e.startsWith(t))}function Fe(e){return!e.endsWith(`/tools`)&&!/\/plugins(?:\/[^/]+)?\/?$/.test(e)&&!e.endsWith(`/model-aliases`)&&!e.endsWith(`/env-vars`)&&!/\/coding(?:\/[^/]+)?\/?$/.test(e)&&!e.endsWith(`/danger-zone`)}function Ie(e,t){let n=!!e&&t.startsWith(`/settings/project/`);return{isProjectRoute:n,isProjectToolsRoute:n&&t.endsWith(`/tools`),isProjectPluginsRoute:n&&/\/plugins(?:\/[^/]+)?\/?$/.test(t),isProjectModelAliasesRoute:n&&t.endsWith(`/model-aliases`),isProjectEnvVarsRoute:n&&t.endsWith(`/env-vars`),isProjectCodingRoute:n&&/\/coding(?:\/[^/]+)?\/?$/.test(t),isProjectDangerZoneRoute:n&&t.endsWith(`/danger-zone`),isProjectSettingsRoute:n&&Fe(t)}}function Le(e,t){let n=(0,W.c)(5),r;n[0]!==t||n[1]!==e?(r=()=>{let n=e.current;if(!n)return;let r=function(e){if(e.key!==`Escape`)return;let n=document.activeElement;if(n instanceof HTMLInputElement||n instanceof HTMLTextAreaElement||n instanceof HTMLElement&&n.isContentEditable){n.blur();return}t()};return n.addEventListener(`keydown`,r),()=>n.removeEventListener(`keydown`,r)},n[0]=t,n[1]=e,n[2]=r):r=n[2];let i;n[3]===t?i=n[4]:(i=[t],n[3]=t,n[4]=i),(0,G.useEffect)(r,i)}function Re(e){let t=(0,W.c)(7),{selectedProjectId:n,onResetOnboarding:r,onNavItemSelect:i,header:a}=e,o;t[0]!==i||t[1]!==r||t[2]!==n?(o=(0,K.jsx)(`div`,{className:`min-h-0 flex-1 p-2.5`,children:(0,K.jsx)(x,{className:`h-full`,children:(0,K.jsx)(`div`,{className:`py-2`,children:(0,K.jsx)(le,{selectedProjectId:n,onResetOnboarding:r,onNavItemSelect:i})})})}),t[0]=i,t[1]=r,t[2]=n,t[3]=o):o=t[3];let s;return t[4]!==a||t[5]!==o?(s=(0,K.jsxs)(`div`,{className:`flex h-full flex-col overflow-hidden`,children:[a,o]}),t[4]=a,t[5]=o,t[6]=s):s=t[6],s}function ze(e){let t=(0,W.c)(16),{settingsHeaderTitle:n,isProjectSettingsScope:r,selectedProject:i,onRequestClose:a}=e,o;t[0]!==r||t[1]!==i?(o=r&&i?(0,K.jsx)(M,{project:i,className:`h-7 w-7 shrink-0 rounded-md`,iconClassName:`h-3.5 w-3.5`}):(0,K.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center overflow-hidden rounded-md border border-border shadow-sm`,children:(0,K.jsx)(`img`,{src:`/tarsk.svg`,alt:`Tarsk`,className:`h-full w-full`})}),t[0]=r,t[1]=i,t[2]=o):o=t[2];let s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=v(l.sectionTitle,`min-w-0 truncate`),t[3]=s):s=t[3];let c;t[4]===n?c=t[5]:(c=(0,K.jsx)(`span`,{className:s,children:n}),t[4]=n,t[5]=c);let u;t[6]!==o||t[7]!==c?(u=(0,K.jsxs)(`div`,{className:`col-start-2 flex min-w-0 max-w-full items-center gap-2 justify-self-center electrobun-webkit-app-region-no-drag`,children:[o,c]}),t[6]=o,t[7]=c,t[8]=u):u=t[8];let d,f;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,K.jsx)(y,{className:`h-4 w-4`}),f=(0,K.jsx)(`span`,{className:`sr-only`,children:`Close`}),t[9]=d,t[10]=f):(d=t[9],f=t[10]);let p;t[11]===a?p=t[12]:(p=(0,K.jsx)(`div`,{className:`col-start-3 flex items-center justify-self-end electrobun-webkit-app-region-no-drag`,children:(0,K.jsxs)(b,{variant:`ghost`,size:`icon`,className:`h-7 w-7`,onClick:a,children:[d,f]})}),t[11]=a,t[12]=p);let m;return t[13]!==u||t[14]!==p?(m=(0,K.jsxs)(`div`,{className:`grid h-14 shrink-0 grid-cols-[2.75rem_minmax(0,1fr)_2.75rem] items-center px-4 electrobun-webkit-app-region-drag`,children:[u,p]}),t[13]=u,t[14]=p,t[15]=m):m=t[15],m}function Be(e){let t=(0,W.c)(10),{isMobile:n,mobileShowSidebar:r,isProviderDetailRoute:i,activeSectionLabel:a,onShowSidebar:o}=e;if(!n||r||i)return null;let s,c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,K.jsx)(P,{className:`h-4 w-4`}),c=(0,K.jsx)(`span`,{className:`sr-only`,children:`Show settings menu`}),t[0]=s,t[1]=c):(s=t[0],c=t[1]);let u;t[2]===o?u=t[3]:(u=(0,K.jsxs)(b,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-muted-foreground`,onClick:o,children:[s,c]}),t[2]=o,t[3]=u);let d;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=v(l.sectionTitle,`truncate text-foreground`),t[4]=d):d=t[4];let f;t[5]===a?f=t[6]:(f=(0,K.jsx)(`span`,{className:d,children:a}),t[5]=a,t[6]=f);let p;return t[7]!==u||t[8]!==f?(p=(0,K.jsx)(`div`,{className:`px-6 pb-0 pt-6`,children:(0,K.jsxs)(`div`,{className:`mb-4 flex min-w-0 items-center gap-2`,children:[u,f]})}),t[7]=u,t[8]=f,t[9]=p):p=t[9],p}var Ve=new Set([`skills`,`mcp-servers`,`system-prompt`,`slash-commands`,`subagents`]);function He(e){return e.isProjectToolsRoute||e.isProjectPluginsRoute}function Ue(e){return Ve.has(e)?e:void 0}function We(e,t){return e.isProjectCodingRoute?{kind:`project-coding`,projectId:t}:e.isProjectDangerZoneRoute?{kind:`project-danger-zone`,projectId:t}:e.selectedProjectId!==t&&He(e)?{kind:`project-plugins-loading`}:void 0}function Ge(e,t){return e.isProjectModelAliasesRoute?{kind:`project-model-aliases`}:e.isProjectEnvVarsRoute?{kind:`project-env-vars`,projectId:t}:e.isProjectSettingsRoute?{kind:`project-settings`,projectId:t}:void 0}function Ke(e){let{projectId:t}=e;return(t?We(e,t):void 0)||(He(e)||X.has(e.activeTab)?{kind:`plugins`,projectId:t??e.selectedProjectId,fallbackTab:Ue(e.activeTab)}:t?Ge(e,t):void 0)}function qe(e){return Ke(e)||(Z.has(e.activeTab)?{kind:`general`,fallbackTab:e.activeTab}:Q.has(e.activeTab)?{kind:`providers`,fallbackTab:e.activeTab}:e.activeTab===`remote-machines`?{kind:`remote-machines`}:{kind:`blank`})}function $(e){let t=(0,W.c)(2),{label:n}=e,r;return t[0]===n?r=t[1]:(r=(0,K.jsx)(S,{centered:!0,containerClassName:`min-h-0 flex-1`,label:n,size:`lg`}),t[0]=n,t[1]=r),r}function Je(){let e=(0,W.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,K.jsx)($,{label:`Loading Provider Settings`}),e[0]=t):t=e[0],t}function Ye(e){let t=(0,W.c)(32),n;t[0]===e?n=t[1]:(n=qe(e),t[0]=e,t[1]=n);let r=n;switch(r.kind){case`project-coding`:{let n;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,K.jsx)($,{label:`Loading Coding Settings`}),t[2]=n):n=t[2];let i;return t[3]!==e.handleProjectUpdated||t[4]!==r.projectId?(i=(0,K.jsx)(G.Suspense,{fallback:n,children:(0,K.jsx)(_e,{projectId:r.projectId,onProjectUpdated:e.handleProjectUpdated})}),t[3]=e.handleProjectUpdated,t[4]=r.projectId,t[5]=i):i=t[5],i}case`project-danger-zone`:{let e;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,K.jsx)($,{label:`Loading Danger Zone`}),t[6]=e):e=t[6];let n;return t[7]===r.projectId?n=t[8]:(n=(0,K.jsx)(G.Suspense,{fallback:e,children:(0,K.jsx)(ye,{projectId:r.projectId})}),t[7]=r.projectId,t[8]=n),n}case`project-plugins-loading`:{let e;return t[9]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,K.jsx)($,{label:`Loading Project Plugins`}),t[9]=e):e=t[9],e}case`plugins`:{let n;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,K.jsx)($,{label:`Loading Plugin Settings`}),t[10]=n):n=t[10];let i;return t[11]!==e.handleProjectUpdated||t[12]!==r.fallbackTab||t[13]!==r.projectId?(i=(0,K.jsx)(G.Suspense,{fallback:n,children:(0,K.jsx)(xe,{projectId:r.projectId,fallbackTab:r.fallbackTab,onProjectUpdated:e.handleProjectUpdated})}),t[11]=e.handleProjectUpdated,t[12]=r.fallbackTab,t[13]=r.projectId,t[14]=i):i=t[14],i}case`project-model-aliases`:{let e;return t[15]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,K.jsx)(G.Suspense,{fallback:(0,K.jsx)($,{label:`Loading Project Model Aliases`}),children:(0,K.jsx)(be,{})}),t[15]=e):e=t[15],e}case`project-env-vars`:{let e;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,K.jsx)($,{label:`Loading Environment Variables`}),t[16]=e):e=t[16];let n;return t[17]===r.projectId?n=t[18]:(n=(0,K.jsx)(G.Suspense,{fallback:e,children:(0,K.jsx)(ve,{projectId:r.projectId})}),t[17]=r.projectId,t[18]=n),n}case`project-settings`:{let n;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,K.jsx)($,{label:`Loading Project Settings`}),t[19]=n):n=t[19];let i;return t[20]!==e.handleProjectUpdated||t[21]!==r.projectId?(i=(0,K.jsx)(G.Suspense,{fallback:n,children:(0,K.jsx)(ge,{projectId:r.projectId,onProjectUpdated:e.handleProjectUpdated})}),t[20]=e.handleProjectUpdated,t[21]=r.projectId,t[22]=i):i=t[22],i}case`general`:{let n;t[23]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,K.jsx)($,{label:`Loading General Settings`}),t[23]=n):n=t[23];let i;return t[24]!==e.onboardingResetSignal||t[25]!==r.fallbackTab?(i=(0,K.jsx)(G.Suspense,{fallback:n,children:(0,K.jsx)(he,{fallbackTab:r.fallbackTab,onboardingResetSignal:e.onboardingResetSignal})}),t[24]=e.onboardingResetSignal,t[25]=r.fallbackTab,t[26]=i):i=t[26],i}case`providers`:{let e;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,K.jsx)(Je,{}),t[27]=e):e=t[27];let n;return t[28]===r.fallbackTab?n=t[29]:(n=(0,K.jsx)(G.Suspense,{fallback:e,children:(0,K.jsx)(Se,{fallbackTab:r.fallbackTab})}),t[28]=r.fallbackTab,t[29]=n),n}case`remote-machines`:{let e;return t[30]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,K.jsx)(G.Suspense,{fallback:(0,K.jsx)($,{label:`Loading Remote Machines`}),children:(0,K.jsx)(Ce,{})}),t[30]=e):e=t[30],e}case`blank`:{let e;return t[31]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,K.jsx)(Te,{title:`Settings`}),t[31]=e):e=t[31],e}}}function Xe({onRequestClose:e}){let{tab:t,projectId:n}=o(),r=c(),i=s(),a=f(),l=p(e=>e.selectedProjectId),u=p(e=>e.projects),{isProjectRoute:y,isProjectToolsRoute:b,isProjectPluginsRoute:x,isProjectModelAliasesRoute:S,isProjectEnvVarsRoute:C,isProjectCodingRoute:w,isProjectDangerZoneRoute:T,isProjectSettingsRoute:D}=Ie(n,i.pathname),O=Ee(i.pathname)!==null,k=De(new URLSearchParams(i.search).get(`tab`),t,i.pathname),A=E();(0,G.useEffect)(()=>{n&&l!==n&&a({type:d.SelectProject,projectId:n})},[a,n,l]);let[j,M]=(0,G.useState)(!0),[N,ee]=(0,G.useState)(0),te=(0,G.useRef)(null),P=(0,G.useRef)(null),F=Ae({isProjectToolsRoute:b,isProjectModelAliasesRoute:S,isProjectEnvVarsRoute:C,isProjectCodingRoute:w,isProjectDangerZoneRoute:T,isProjectRoute:y,activeTab:k}),I=(0,G.useMemo)(()=>u.find(e=>e.projectId===l)??null,[u,l]),L=oe(F)===`project`&&I!==null,R=L?`${_(I)} Settings`:`General Settings`,z=(0,G.useMemo)(()=>Ne({isProjectToolsRoute:b,isProjectModelAliasesRoute:S,isProjectEnvVarsRoute:C,isProjectCodingRoute:w,isProjectDangerZoneRoute:T,isProjectSettingsRoute:D,activeTab:k}),[k,w,T,C,S,D,b]),B=(0,G.useCallback)(()=>{A&&M(!1)},[A]),V=(0,G.useCallback)(()=>{M(!0)},[]),H=(0,G.useCallback)(async()=>{try{await m(),ee(e=>e+1)}catch(e){pe.error(`Failed to reset onboarding:`,e)}},[]),U=(0,G.useCallback)(async()=>{g(n??l??void 0);try{let e=await h();a({type:d.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}catch(e){throw pe.error(`Failed to refresh projects after settings update:`,e),e}},[a,n,l]);(0,G.useEffect)(()=>{if(S){r(`/settings/model-aliases`,{replace:!0});return}Pe(i.pathname)&&r(`/settings/general`,{replace:!0})},[S,i.pathname,r,A]),Le(P,e);function W(){return(0,K.jsx)(ze,{settingsHeaderTitle:R,isProjectSettingsScope:L,selectedProject:I,onRequestClose:e})}function re(){return A?W():(0,K.jsx)(`div`,{"aria-hidden":`true`,className:`h-14 shrink-0 electrobun-webkit-app-region-drag`})}function ie(){return(0,K.jsx)(Re,{selectedProjectId:l,onResetOnboarding:H,onNavItemSelect:B,header:re()})}function q(){return(0,K.jsx)(Ye,{isProjectToolsRoute:b,isProjectPluginsRoute:x,isProjectModelAliasesRoute:S,isProjectEnvVarsRoute:C,isProjectCodingRoute:w,isProjectDangerZoneRoute:T,isProjectSettingsRoute:D,projectId:n,selectedProjectId:l,activeTab:k,onboardingResetSignal:N,handleProjectUpdated:U})}function J(){return(0,K.jsx)(Be,{isMobile:A,mobileShowSidebar:j,isProviderDetailRoute:O,activeSectionLabel:z,onShowSidebar:V})}return(0,K.jsx)(`div`,{ref:P,role:`dialog`,"aria-modal":`true`,"aria-label":`Settings`,className:v(`rounded-2xl border border-border shadow-lg`,me,`flex h-full w-full flex-col overflow-hidden md:h-[95vh] md:w-[80vw] md:max-w-[1400px]`),children:(0,K.jsx)(ne,{ref:te,collapsible:!0,isMobile:A,mobileShowSidebar:j,sidebarClassName:v(`overflow-hidden border-r border-divider`,me),sidebar:ie(),children:(0,K.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col`,children:[W(),(0,K.jsxs)(`div`,{className:v(`relative flex min-h-0 flex-1 flex-col overflow-hidden py-2.5 pl-2.5`,A?null:`ml-2.5`),children:[J(),q()]})]})})})}export{Ye as SettingsContent,V as a,Xe as default,Y as getActiveTab,B as i,H as n,R as o,U as r,Ae as resolveActiveNavTabId,Ne as resolveActiveSectionLabel,qe as resolveSettingsContentView,z as s,fe as t};
@@ -1 +1 @@
1
- import{n as e,t}from"./react-vendor-D61Uve5n.js";import{t as n}from"./chevron-right-Dga3q1bZ.js";import{t as r}from"./loader-circle-CrqRIqdA.js";import{t as i}from"./button-Dp5XDZNR.js";var a=e(),o=t();function s(e){let t=(0,a.c)(6),{onContinue:s,disabled:c,creating:l}=e,u=c||l,d;t[0]===l?d=t[1]:(d=l?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r,{className:`mr-2 h-4 w-4 animate-spin`}),`Creating...`]}):(0,o.jsxs)(o.Fragment,{children:[`Continue`,(0,o.jsx)(n,{className:`ml-2 h-4 w-4`})]}),t[0]=l,t[1]=d);let f;return t[2]!==s||t[3]!==u||t[4]!==d?(f=(0,o.jsx)(`div`,{className:`mt-6 border-t pt-4 flex justify-end`,children:(0,o.jsx)(i,{onClick:s,disabled:u,children:d})}),t[2]=s,t[3]=u,t[4]=d,t[5]=f):f=t[5],f}function c(e){return e.toLowerCase().replace(/\s+/g,`-`).replace(/[^a-z0-9-]/g,``).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function l(e){return e.replace(/-/g,` `).split(/\s+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function u(e){return e.length>0&&e.length<=64}export{s as i,u as n,c as r,l as t};
1
+ import{n as e,t}from"./react-vendor-D61Uve5n.js";import{t as n}from"./chevron-right-Dga3q1bZ.js";import{t as r}from"./loader-circle-CrqRIqdA.js";import{t as i}from"./button-DDaJhJP1.js";var a=e(),o=t();function s(e){let t=(0,a.c)(6),{onContinue:s,disabled:c,creating:l}=e,u=c||l,d;t[0]===l?d=t[1]:(d=l?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(r,{className:`mr-2 h-4 w-4 animate-spin`}),`Creating...`]}):(0,o.jsxs)(o.Fragment,{children:[`Continue`,(0,o.jsx)(n,{className:`ml-2 h-4 w-4`})]}),t[0]=l,t[1]=d);let f;return t[2]!==s||t[3]!==u||t[4]!==d?(f=(0,o.jsx)(`div`,{className:`mt-6 border-t pt-4 flex justify-end`,children:(0,o.jsx)(i,{onClick:s,disabled:u,children:d})}),t[2]=s,t[3]=u,t[4]=d,t[5]=f):f=t[5],f}function c(e){return e.toLowerCase().replace(/\s+/g,`-`).replace(/[^a-z0-9-]/g,``).replace(/-+/g,`-`).replace(/^-|-$/g,``)}function l(e){return e.replace(/-/g,` `).split(/\s+/).filter(Boolean).map(e=>e.charAt(0).toUpperCase()+e.slice(1)).join(` `)}function u(e){return e.length>0&&e.length<=64}export{s as i,u as n,c as r,l as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"./createLucideIcon-2A3hmV_e.js";var t=e(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]);export{t};
@@ -0,0 +1,8 @@
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n}from"./react-vendor-D61Uve5n.js";import{F as r,I as i,L as a,P as o,R as s,W as c,x as l,z as u}from"./dist-v_MvKS2-.js";import{_ as d,g as f,h as p}from"./utils-CqsIXqSC.js";function m(e,t=0,n=0){let r=Number.isFinite(e)&&e>0?e:0,i=(Number.isFinite(t)&&t>0?t:0)+(Number.isFinite(n)&&n>0?n:0);return r>=i?r:r+i}function ee(e,t){return!Number.isFinite(e)||!Number.isFinite(t)||t<=0||e<=0?0:Math.min(1,e/t)}function te(e){return e==null||e<=0?`~$0.00`:`~$${(Math.round(e*100)/100).toFixed(2)}`}function ne(e){return e==null||!Number.isFinite(e)||e<=0?`$0.00`:`$${(Math.round(e*100)/100).toFixed(2)}`}function h(e){if(e==null||!Number.isFinite(e)||e<=0)return`0`;let t=Math.round(e);return t>=1e6?`${(t/1e6).toFixed(1)}mil`:`${(t/1e3).toFixed(1)}K`}function re(e){if(e==null||!Number.isFinite(e)||e<=0)return`0 tokens`;let t=Math.round(e/4);return t<1e3?`${t} tokens`:t<1e6?`${(t/1e3).toFixed(1)}K tokens`:`${(t/1e6).toFixed(1)}M tokens`}function ie(e){return e?Math.ceil(e.length/4):0}var ae=2.5;function oe(e){return e?Math.ceil(e.length/ae):0}function se(e){let t=new Map;for(let n of e){if(!n.server)continue;let e=t.get(n.server)??[];e.push(n),t.set(n.server,e)}return Array.from(t,([e,t])=>({server:e,tokens:t.reduce((e,t)=>e+t.tokens,0),tools:t})).sort((e,t)=>t.tokens-e.tokens)}var ce=`primary`,le=1440;function ue(e){return e<le}var g=function(e){return e.SetProjects=`SET_PROJECTS`,e.SetProjectsLoading=`SET_PROJECTS_LOADING`,e.MergeRemoteThreadSnapshots=`MERGE_REMOTE_THREAD_SNAPSHOTS`,e.SetProjectTasksModifiedCount=`SET_PROJECT_TASKS_MODIFIED_COUNT`,e.ClearUnreadAutomatedChat=`CLEAR_UNREAD_AUTOMATED_CHAT`,e.SelectThread=`SELECT_THREAD`,e.SelectProject=`SELECT_PROJECT`,e.SetMessages=`SET_MESSAGES`,e.AddMessage=`ADD_MESSAGE`,e.EnqueueChatMessage=`ENQUEUE_CHAT_MESSAGE`,e.RemoveQueuedChatMessage=`REMOVE_QUEUED_CHAT_MESSAGE`,e.RestoreQueuedChatMessage=`RESTORE_QUEUED_CHAT_MESSAGE`,e.SetStreaming=`SET_STREAMING`,e.AppendStreamContent=`APPEND_STREAM_CONTENT`,e.SetStreamContent=`SET_STREAM_CONTENT`,e.AppendStreamThinking=`APPEND_STREAM_THINKING`,e.AppendStreamChunk=`APPEND_STREAM_CHUNK`,e.SetStreamModel=`SET_STREAM_MODEL`,e.SetStreamAgentMode=`SET_STREAM_AGENT_MODE`,e.SetStreamGoalRun=`SET_STREAM_GOAL_RUN`,e.SetStreamStopping=`SET_STREAM_STOPPING`,e.SetContextUsage=`SET_CONTEXT_USAGE`,e.SetProjectModel=`SET_PROJECT_MODEL`,e.ResetStream=`RESET_STREAM`,e.StopStream=`STOP_STREAM`,e.ToggleSidebar=`TOGGLE_SIDEBAR`,e.OpenSidebar=`OPEN_SIDEBAR`,e.CloseSidebar=`CLOSE_SIDEBAR`,e.OpenProjectPanel=`OPEN_PROJECT_PANEL`,e.CloseProjectPanel=`CLOSE_PROJECT_PANEL`,e.SetCreatingProject=`SET_CREATING_PROJECT`,e.SetGitAuthRequest=`SET_GIT_AUTH_REQUEST`,e.ConfigUpdated=`CONFIG_UPDATED`,e.SetProcessingThreads=`SET_PROCESSING_THREADS`,e.AddProcessingThread=`ADD_PROCESSING_THREAD`,e.RemoveProcessingThread=`REMOVE_PROCESSING_THREAD`,e.AddCreatingProject=`ADD_CREATING_PROJECT`,e.AddCreatingThread=`ADD_CREATING_THREAD`,e.RemoveCreatingProject=`REMOVE_CREATING_PROJECT`,e.RemoveCreatingThread=`REMOVE_CREATING_THREAD`,e.RemoveThread=`REMOVE_THREAD`,e.MarkThreadCompleted=`MARK_THREAD_COMPLETED`,e.ClearThreadCompleted=`CLEAR_THREAD_COMPLETED`,e.ClearPaneCompleted=`CLEAR_PANE_COMPLETED`,e.SetThreadError=`SET_THREAD_ERROR`,e.ClearThreadError=`CLEAR_THREAD_ERROR`,e.AddDeletingThread=`ADD_DELETING_THREAD`,e.RemoveDeletingThread=`REMOVE_DELETING_THREAD`,e.AddDeletingProject=`ADD_DELETING_PROJECT`,e.RemoveDeletingProject=`REMOVE_DELETING_PROJECT`,e.AppendCommandOutput=`APPEND_COMMAND_OUTPUT`,e.SetRunningCommand=`SET_RUNNING_COMMAND`,e.ClearCommandOutput=`CLEAR_COMMAND_OUTPUT`,e.ToggleTerminal=`TOGGLE_TERMINAL`,e.SetTerminalOpen=`SET_TERMINAL_OPEN`,e.QueueTerminalCommand=`QUEUE_TERMINAL_COMMAND`,e.ClearQueuedTerminalCommand=`CLEAR_QUEUED_TERMINAL_COMMAND`,e.AppendTerminalLine=`APPEND_TERMINAL_LINE`,e.ClearTerminalOutput=`CLEAR_TERMINAL_OUTPUT`,e.SetTerminalHeight=`SET_TERMINAL_HEIGHT`,e.SetTerminalCwd=`SET_TERMINAL_CWD`,e.SetTerminalRunning=`SET_TERMINAL_RUNNING`,e.SetTerminalHistory=`SET_TERMINAL_HISTORY`,e.SetTerminalHistoryIndex=`SET_TERMINAL_HISTORY_INDEX`,e.UpdateThreadTitle=`UPDATE_THREAD_TITLE`,e.UpdateChatTitle=`UPDATE_CHAT_TITLE`,e.FocusChatInput=`FOCUS_CHAT_INPUT`,e.ClearFocusChatInput=`CLEAR_FOCUS_CHAT_INPUT`,e.ClearMessages=`CLEAR_MESSAGES`,e.UpdateMessage=`UPDATE_MESSAGE`,e.UpdateMessageCheckpointRef=`UPDATE_MESSAGE_CHECKPOINT_REF`,e.SetDevServerToolSession=`SET_DEV_SERVER_TOOL_SESSION`,e.SetThreadToolSession=`SET_THREAD_TOOL_SESSION`,e.ClearThreadToolSession=`CLEAR_THREAD_TOOL_SESSION`,e.SetThreadCreationSummary=`SET_THREAD_CREATION_SUMMARY`,e.ClearThreadCreationSummary=`CLEAR_THREAD_CREATION_SUMMARY`,e.UpdateToolCallProgress=`UPDATE_TOOL_CALL_PROGRESS`,e.UpdateToolExecutionOutput=`UPDATE_TOOL_EXECUTION_OUTPUT`,e.AppendToolExecutionOutput=`APPEND_TOOL_EXECUTION_OUTPUT`,e.AppendSubagentEvent=`APPEND_SUBAGENT_EVENT`,e.AppendSubagentEvents=`APPEND_SUBAGENT_EVENTS`,e.ClearToolCallProgress=`CLEAR_TOOL_CALL_PROGRESS`,e.SetPendingChatMessage=`SET_PENDING_CHAT_MESSAGE`,e.ClearPendingChatMessage=`CLEAR_PENDING_CHAT_MESSAGE`,e.IncrementStreamEventCount=`INCREMENT_STREAM_EVENT_COUNT`,e.SetDiffComments=`SET_DIFF_COMMENTS`,e.ClearSelection=`CLEAR_SELECTION`,e.SetChatInputDraft=`SET_CHAT_INPUT_DRAFT`,e.ClearChatInputDraft=`CLEAR_CHAT_INPUT_DRAFT`,e.StartAutoRoute=`START_AUTO_ROUTE`,e.EndAutoRoute=`END_AUTO_ROUTE`,e.AddChatPane=`ADD_CHAT_PANE`,e.RemoveChatPane=`REMOVE_CHAT_PANE`,e.SetFocusedPane=`SET_FOCUSED_PANE`,e.SetNewChatStarting=`SET_NEW_CHAT_STARTING`,e.SetPrimaryConversationId=`SET_PRIMARY_CONVERSATION_ID`,e.SetPaneConversationId=`SET_PANE_CONVERSATION_ID`,e.SetPaneMessages=`SET_PANE_MESSAGES`,e.AddPaneMessage=`ADD_PANE_MESSAGE`,e.SetActiveStreamPane=`SET_ACTIVE_STREAM_PANE`,e.HydrateProjectChatPanes=`HYDRATE_PROJECT_CHAT_PANES`,e.SetRunCommandSaved=`SET_RUN_COMMAND_SAVED`,e.ClearRunCommandSaved=`CLEAR_RUN_COMMAND_SAVED`,e}({}),_=ce,de={projects:[],cloneRootPath:null,projectsLoading:!0,remoteThreadSnapshots:{},selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:0,primaryConversationId:void 0,queuedChatMessages:[],isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingAgentMode:null,streamingEventCount:0,threadStreamingStates:{},threadMultiPaneStates:{},projectModelSelections:{},conversationModelSelections:{},sidebarOpen:!0,projectPanelView:`projects`,projectPanelProjectId:null,savedRunCommandProjectId:null,isCreatingProject:!1,gitAuthRequest:null,configUpdatedAt:0,processingThreadIds:[],processingRuns:[],completedThreadIds:[],completedThreadPaneIds:{},completedPaneIds:[],threadErrors:{},deletingThreadIds:[],deletingProjectIds:[],commandOutput:``,isRunningCommand:!1,terminalStates:{},focusChatInput:!1,toolCallProgress:{},subagentTranscripts:{},devServerToolSession:null,threadToolSessions:{},threadCreationSummaries:{},pendingChatMessage:null,diffComments:{},chatInputDrafts:{},pendingAutoRoutes:{},focusedPane:`primary`,extraChatPanes:{},activeStreamPane:null},fe={open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1};function v(e,t){return`${e}:${t}`}function pe(e,t,n=_){return t?e[v(t,n)]??null:null}function me(e,t){switch(t.type){case g.StartAutoRoute:{let n=v(t.route.threadId,t.route.paneId);return{...e,pendingAutoRoutes:{...e.pendingAutoRoutes,[n]:t.route}}}case g.EndAutoRoute:{let n=v(t.threadId,t.paneId);if(!e.pendingAutoRoutes[n])return e;let{[n]:r,...i}=e.pendingAutoRoutes;return{...e,pendingAutoRoutes:i}}default:return null}}function he(e,t){let n=`${t}:`,r=new Set([_]);for(let t of Object.keys(e))t.startsWith(n)&&r.add(t.slice(n.length));return[...r]}function ge(e,t){let n=t?`${t}:`:null,r=``;for(let t of Object.keys(e))(!n||t.startsWith(n))&&e[t].isStreaming&&(r+=`${t}\n`);return r}function _e(e,t,n=_){return e.includes(`${b(t,n)}\n`)}function ve(e,t){return e.includes(`${t}:`)}function ye(e,t,n,r){return t.includes(e)||ve(n,e)?!0:r?.threadId===e}var be={isStreaming:!1,streamingContent:``,streamingThinking:``,streamingSegments:[],streamingModel:``,streamingAgentMode:null,streamingGoalRun:!1,streamingEventCount:0},xe=be;function y(){return{...be,streamingSegments:[]}}function b(e,t=_){return`${e}:${t}`}function x(e,t,n=_){return t?e[b(t,n)]??xe:xe}function Se(e,t){let n=new Set([_,...t.sessionPaneIds??[],...he(t.streamingStates,e)]);for(let r of n)if(t.hasSession(r)||x(t.streamingStates,e,r).isStreaming)return!0;return!1}function S(e,t){return t.threadId??e.selectedThreadId}function Ce(e){return e??_}function we(e,t,n,r){return!n||!t.includes(n)?!1:Ce(e)===r}function Te(e,t,n){return t?x(e.threadStreamingStates,t,n).isStreaming?!0:we(e.activeStreamPane,e.processingThreadIds,t,n):!1}function C(e,t){return t.paneId??e.activeStreamPane??_}function Ee(e,t,n){return t===e.selectedThreadId?e.activeStreamPane===null?n===_:e.activeStreamPane===n:!1}function w(e,t,n,r,i=!1){if(!t)return{...e,...r,toolCallProgress:i?{}:e.toolCallProgress};let a=b(t,n),o={...e.threadStreamingStates,[a]:r};return Ee(e,t,n)?{...e,...r,threadStreamingStates:o,toolCallProgress:i?{}:e.toolCallProgress}:{...e,threadStreamingStates:o}}function De(){return{open:!1,queuedCommand:null,queuedRelativeFolder:null,outputLines:[],height:300,history:[],historyIndex:-1,cwd:`.`,isRunning:!1}}var T={focusedPane:_,extraChatPanes:{},activeStreamPane:null};function Oe(){return{focusedPane:_,extraChatPanes:{},activeStreamPane:null}}function E(e){return{focusedPane:e.focusedPane,extraChatPanes:e.extraChatPanes,activeStreamPane:e.activeStreamPane}}function ke(e,t){return t?e[t]??T:T}function Ae(e){let t={};for(let[n,r]of Object.entries(e))t[n]={...r,messages:[...r.messages]};return t}function D(e){return{...e,extraChatPanes:Ae(e.extraChatPanes)}}function O(e,t,n){let r=D(n),i=t===null?e.threadMultiPaneStates:{...e.threadMultiPaneStates,[t]:r};return t===e.selectedThreadId?{...e,...r,threadMultiPaneStates:i}:{...e,threadMultiPaneStates:i}}function je(e,t,n){let r=e.threadMultiPaneStates;return t&&(r={...r,[t]:D(E(e))}),{...D(ke(r,n)),threadMultiPaneStates:r}}function k(e,t){return O(e,e.selectedThreadId,{...E(e),...t})}function Me(e,t){let n=e.chatPanesByThread[t];if(!n)return D(T);let r={};for(let e of n.panes)r[e.paneId]={conversationId:e.conversationId,messages:[],messagesLoaded:!1};return{focusedPane:n.focusedPaneId,extraChatPanes:r,activeStreamPane:null}}function Ne(e,t){if(!t)return e;let n=Ae(e.extraChatPanes);for(let[e,r]of Object.entries(t.extraChatPanes)){let t=n[e];if(!t){n[e]=r;continue}r.messagesLoaded&&(n[e]={...t,messages:r.messages,messagesLoaded:!0})}let r=t.focusedPane in n&&!(t.focusedPane in e.extraChatPanes);return{...e,extraChatPanes:n,focusedPane:r?t.focusedPane:e.focusedPane}}var Pe=[];function Fe(e,t){return t===_?e.messages:e.extraChatPanes[t]?.messages??Pe}function Ie(e,t){return t===_?e.primaryConversationId:e.extraChatPanes[t]?.conversationId}function Le(e,t){return t===_?e.messagesLoaded:e.extraChatPanes[t]?.messagesLoaded??!1}function Re(e,t){let n=new Set(t.threadIds),r={...e.threadMultiPaneStates};for(let n of t.threadIds)r[n]=Ne(Me(t,n),n===e.selectedThreadId?E(e):e.threadMultiPaneStates[n]);return!e.selectedThreadId||!n.has(e.selectedThreadId)?{...e,threadMultiPaneStates:r}:{...e,...r[e.selectedThreadId],threadMultiPaneStates:r}}function ze(e,t){return t.paneId===_?e:e.extraChatPanes[t.paneId]?k(e,{focusedPane:t.paneId}):k(e,{focusedPane:t.paneId,extraChatPanes:{...e.extraChatPanes,[t.paneId]:{conversationId:t.conversationId,messages:[],messagesLoaded:!1}}})}function Be(e,t){if(t.paneId===_||!e.extraChatPanes[t.paneId])return e;let{[t.paneId]:n,...r}=e.extraChatPanes;return k(e,{extraChatPanes:r,focusedPane:e.focusedPane===t.paneId?_:e.focusedPane,activeStreamPane:e.activeStreamPane===t.paneId?null:e.activeStreamPane})}function Ve(e,t){if(t.paneId===_)return{...e,messages:t.messages,messagesLoaded:!0};let n=e.extraChatPanes[t.paneId];return n?k(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,messages:t.messages,messagesLoaded:!0}}}):e}function He(e,t){if(t.paneId===_)return e;let n=e.extraChatPanes[t.paneId];return n?k(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,conversationId:t.conversationId,messages:[],messagesLoaded:!0}}}):e}function Ue(e,t){if(t.paneId===_)return{...e,messages:[...e.messages,t.message]};let n=e.extraChatPanes[t.paneId];return n?k(e,{extraChatPanes:{...e.extraChatPanes,[t.paneId]:{...n,messages:[...n.messages,t.message]}}}):e}function We(e,t){if(!e.selectedThreadId||t.paneId===null)return k(e,{activeStreamPane:null});let n=x(e.threadStreamingStates,e.selectedThreadId,t.paneId);return{...k(e,{activeStreamPane:t.paneId}),...n}}function Ge(e,t){switch(t.type){case g.HydrateProjectChatPanes:return Re(e,t);case g.AddChatPane:return ze(e,t);case g.RemoveChatPane:return Be(e,t);case g.SetFocusedPane:return k(e,{focusedPane:t.paneId});case g.SetPaneConversationId:return He(e,t);case g.SetPaneMessages:return Ve(e,t);case g.AddPaneMessage:return Ue(e,t);case g.SetActiveStreamPane:return We(e,t);default:return null}}function Ke(e,t){return!!(t.historyEpoch!==void 0&&t.historyEpoch!==e.chatHistoryEpoch||t.conversationId&&e.primaryConversationId&&t.conversationId!==e.primaryConversationId)}function qe(e,t){let n=e.selectedThreadId?e.threadCreationSummaries[e.selectedThreadId]:void 0;return!n||t.some(e=>e.messageId===n.messageId)?t:[n,...t]}function Je(e,t){let n=t.paneId??_;if(n!==_){if(t.threadId&&t.threadId!==e.selectedThreadId)return e;let r=e.extraChatPanes[n];return r?O(e,e.selectedThreadId,{...E(e),extraChatPanes:{...e.extraChatPanes,[n]:{...r,messages:[...r.messages,t.message]}}}):e}return t.threadId&&t.threadId!==e.selectedThreadId?e:{...e,messages:[...e.messages,t.message]}}function Ye(e,t){if(t.threadId!==e.selectedThreadId)return e;let n=e.messages.some(e=>e.messageId===t.messageId)?e.messages.map(e=>e.messageId===t.messageId?{...e,content:t.content}:e):[...e.messages,{messageId:t.messageId,sender:`agent`,content:t.content,contentType:`markdown`,timestamp:new Date().toISOString(),isThinking:!1}];return{...e,messages:n}}function Xe(e,t){if(t.threadId!==e.selectedThreadId)return e;let n=t.paneId??_;if(n!==_){let r=e.extraChatPanes[n];return r?O(e,e.selectedThreadId,{...E(e),extraChatPanes:{...e.extraChatPanes,[n]:{...r,messages:r.messages.map(e=>e.messageId===t.messageId?{...e,checkpointRef:t.checkpointRef}:e)}}}):e}return{...e,messages:e.messages.map(e=>e.messageId===t.messageId?{...e,checkpointRef:t.checkpointRef}:e)}}function Ze(e,t){if(!e.threadToolSessions[t.threadId])return e;let{[t.threadId]:n,...r}=e.threadToolSessions;return{...e,threadToolSessions:r}}function Qe(e,t){if(!e.threadCreationSummaries[t.threadId])return e;let{[t.threadId]:n,...r}=e.threadCreationSummaries;return{...e,threadCreationSummaries:r}}function $e(e,t){let n=e.toolCallProgress[t.toolCallId];return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{toolCallId:t.toolCallId,threadId:t.threadId||(n?.threadId??``),toolName:t.toolName??n?.toolName??``,delta:n?.delta??``,partial:n?.partial??{role:`tool`,content:[]},executionOutput:t.executionOutput}}}}function et(e,t){let n=e.toolCallProgress[t.toolCallId],r=n?.executionOutput??``;return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{toolCallId:t.toolCallId,threadId:t.threadId||(n?.threadId??``),toolName:t.toolName??n?.toolName??`agent`,delta:n?.delta??``,partial:n?.partial??{role:`tool`,content:[]},executionOutput:r+t.delta}}}}function tt(e,t){if(!t.toolCallId)return{...e,toolCallProgress:{}};let{[t.toolCallId]:n,...r}=e.toolCallProgress;return{...e,toolCallProgress:r}}function nt(e,t){let{[t.threadId]:n,...r}=e.chatInputDrafts;return{...e,chatInputDrafts:r}}function rt(e,t){let n=new Set(e.startingNewChatPaneIds);return t.isStarting?n.add(t.paneId):n.delete(t.paneId),{...e,startingNewChatPaneIds:[...n]}}function it(e,t){if(e.selectedThreadId===t.threadId&&e.selectedProjectId===t.projectId&&t.initialMessages===void 0)return t.focusInput&&!e.focusChatInput?{...e,focusChatInput:!0}:e;let n=je(e,e.selectedThreadId,t.threadId),r=x(e.threadStreamingStates,t.threadId,_);return{...e,...r,...n,selectedThreadId:t.threadId,selectedProjectId:t.projectId,messages:t.initialMessages??[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,focusChatInput:t.focusInput??!1,subagentTranscripts:{}}}function at(e,t){let n=je(e,e.selectedThreadId,``);return{...e,...y(),...n,selectedThreadId:null,selectedProjectId:t.projectId,messages:[],messagesLoaded:!0,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,focusChatInput:t.focusInput??!1,subagentTranscripts:{}}}function ot(e,t){return Ke(e,t)?e:{...e,messages:qe(e,t.messages),messagesLoaded:!0}}function st(e,t){let n=t.conversationId?.trim()||void 0;return e.primaryConversationId===n?e:{...e,primaryConversationId:n,messages:[],messagesLoaded:!1}}function ct(e,t){return{...e,queuedChatMessages:[...e.queuedChatMessages,t.message]}}function lt(e,t){return{...e,queuedChatMessages:e.queuedChatMessages.filter(e=>e.id!==t.queuedMessageId)}}function ut(e,t){let n=e.queuedChatMessages.filter(e=>e.id!==t.message.id),r=Math.min(Math.max(t.index,0),n.length),i=[...n];return i.splice(r,0,t.message),{...e,queuedChatMessages:i}}function dt(e,t){let n=t.conversationId?.trim()||void 0;return{...e,messages:qe(e,[]),messagesLoaded:!0,chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:n}}function ft(e,t){return{...e,devServerToolSession:t.session}}function pt(e,t){return{...e,threadToolSessions:{...e.threadToolSessions,[t.session.threadId]:t.session}}}function mt(e,t){return{...e,threadCreationSummaries:{...e.threadCreationSummaries,[t.threadId]:t.message}}}function ht(e,t){let n=e.toolCallProgress[t.toolCallId];return{...e,toolCallProgress:{...e.toolCallProgress,[t.toolCallId]:{...n,...t.progress}}}}function gt(e,t,n){let r=e.subagentTranscripts[t]??[];return{...e,subagentTranscripts:{...e.subagentTranscripts,[t]:r.concat(n)}}}function _t(e,t){return gt(e,t.toolCallId,[t.event])}function vt(e,t){return gt(e,t.toolCallId,t.events)}function yt(e,t){return{...e,pendingChatMessage:t.message}}function bt(e,t){return{...e,pendingChatMessage:null}}function xt(e,t){return{...e,chatInputDrafts:{...e.chatInputDrafts,[t.threadId]:t.draft}}}function St(e,t){return{...e,threadErrors:{...e.threadErrors,[t.threadId]:t.error}}}function Ct(e,t){if(!(t.threadId in e.threadErrors))return e;let n={...e.threadErrors};return delete n[t.threadId],{...e,threadErrors:n}}function wt(e,t){return{...e,...y(),selectedThreadId:null,selectedProjectId:null,messages:[],messagesLoaded:!1,startingNewChatPaneIds:[],chatHistoryEpoch:e.chatHistoryEpoch+1,primaryConversationId:void 0,...Oe()}}var Tt={[g.SetMessages]:ot,[g.SetPrimaryConversationId]:st,[g.AddMessage]:Je,[g.EnqueueChatMessage]:ct,[g.RemoveQueuedChatMessage]:lt,[g.RestoreQueuedChatMessage]:ut,[g.ClearMessages]:dt,[g.UpdateMessage]:Ye,[g.UpdateMessageCheckpointRef]:Xe,[g.SetDevServerToolSession]:ft,[g.SetThreadToolSession]:pt,[g.ClearThreadToolSession]:Ze,[g.SetThreadCreationSummary]:mt,[g.ClearThreadCreationSummary]:Qe,[g.UpdateToolCallProgress]:ht,[g.UpdateToolExecutionOutput]:$e,[g.AppendToolExecutionOutput]:et,[g.AppendSubagentEvent]:_t,[g.AppendSubagentEvents]:vt,[g.ClearToolCallProgress]:tt,[g.SetPendingChatMessage]:yt,[g.ClearPendingChatMessage]:bt,[g.SetChatInputDraft]:xt,[g.ClearChatInputDraft]:nt,[g.SetThreadError]:St,[g.ClearThreadError]:Ct,[g.SetNewChatStarting]:rt,[g.SelectThread]:it,[g.SelectProject]:at,[g.ClearSelection]:wt};function Et(e,t){let n=Tt[t.type];return n?n(e,t):null}var Dt=l(`store.project`);function Ot(e,t){return e.length===t.length&&e.every((e,n)=>e===t[n])}function kt(e,t){return e.length===t.length&&e.every((e,n)=>e.threadId===t[n]?.threadId&&e.conversationId===t[n]?.conversationId&&e.isAwaitingHuman===t[n]?.isAwaitingHuman&&e.isAutomated===t[n]?.isAutomated)}function At(e,t,n){return e.some(e=>e.threadId===t&&e.conversationId===n)?e:[...e,{threadId:t,conversationId:n}]}function jt(e,t,n){return e?{id:t,provider:n,name:e.name??t,description:e.description??``,contextWindow:e.contextWindow,pricing:e.pricing,tarsk_use:e.tarsk_use,coding_index:e.coding_index,supportsImages:e.supportsImages}:{id:t,provider:n,name:t,description:``}}function Mt(e,t){let n={...e};for(let e of t)for(let t of e.threads)t.model&&(n[t.threadId]=jt(n[t.threadId],t.model,t.modelProvider));return n}function Nt(e,t){let n={...e};for(let e of t)for(let t of e.threads)for(let[e,r]of Object.entries(t.conversationModels??{}))n[e]||(n[e]=jt(void 0,r.model,r.modelProvider??void 0));return n}function Pt(e,t,n){let r=p(e.projects,t),i=Object.values(e.remoteThreadSnapshots),a=i.length===0?r:f(r,i);return{...e,projects:a,cloneRootPath:n===void 0?e.cloneRootPath:n,projectModelSelections:Mt(e.projectModelSelections,a),conversationModelSelections:Nt(e.conversationModelSelections,a)}}function Ft(e,t){switch(t.type){case g.SetProjects:return Pt(e,t.projects,t.cloneRootPath);case g.SetProjectsLoading:return{...e,projectsLoading:t.projectsLoading};case g.MergeRemoteThreadSnapshots:{let n=d(e.remoteThreadSnapshots,t.snapshots);return Pt({...e,remoteThreadSnapshots:n},e.projects)}case g.SetProjectTasksModifiedCount:{let n=!1,r=e.projects.map(function(e){return e.projectId!==t.projectId||e.tasksModifiedCount===t.tasksModifiedCount?e:(n=!0,{...e,tasksModifiedCount:t.tasksModifiedCount})});return n?{...e,projects:r}:e}case g.ClearUnreadAutomatedChat:return e.projects.some(e=>e.threads.some(e=>e.threadId===t.threadId&&e.hasUnreadAutomatedChat===!0))?{...e,projects:e.projects.map(e=>({...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,hasUnreadAutomatedChat:!1}:e)}))}:e;default:return null}}function It(e,t){return e?.id===t.id&&e?.provider===t.provider}function Lt(e,t){switch(t.type){case g.SetProjectModel:{let n=t.conversationId??null,r=e.projectModelSelections[t.threadId],i=n?e.conversationModelSelections[n]:void 0,a=e.projects.some(e=>e.threads.some(e=>e.threadId===t.threadId&&e.model===t.model.id&&e.modelProvider===t.model.provider)),o=n===null||It(i,t.model);return a&&It(r,t.model)&&o?e:(Dt.debug(`Set project model`,{threadId:t.threadId,conversationId:t.conversationId,model:{id:t.model.id,provider:t.model.provider}}),{...e,projects:e.projects.map(e=>{let n=e.threads.some(e=>e.threadId===t.threadId);return{...e,...t.conversationId&&n?{lastSelectedModel:t.model.id,lastSelectedModelProvider:t.model.provider}:{},threads:e.threads.map(e=>e.threadId===t.threadId?{...e,model:t.model.id,modelProvider:t.model.provider}:e)}}),projectModelSelections:{...e.projectModelSelections,[t.threadId]:t.model},conversationModelSelections:n?{...e.conversationModelSelections,[n]:t.model}:e.conversationModelSelections})}default:return null}}function Rt(e,t,n){return e.processingThreadIds===t&&e.processingRuns===n}function zt(e){return e?.trim()||void 0}function Bt(e,t){let n=t.processingRuns??e.processingRuns.filter(e=>t.threadIds.includes(e.threadId));return Ot(e.processingThreadIds,t.threadIds)&&kt(e.processingRuns,n)?e:{...e,processingThreadIds:t.threadIds,processingRuns:n}}function Vt(e,t){return e.includes(t)?e:[...e,t]}function Ht(e,t,n){return n?At(e,t,n):e}function Ut(e,t){let n=Vt(e.processingThreadIds,t.threadId),r=zt(t.conversationId),i=Ht(e.processingRuns,t.threadId,r);return Rt(e,n,i)?e:{...e,processingThreadIds:n,processingRuns:i}}function Wt(e,t){return e.filter(e=>e.threadId!==t)}function Gt(e,t,n){return e.filter(e=>e.threadId!==t||e.conversationId!==n)}function Kt(e,t){return e.some(e=>e.threadId===t)}function qt(e,t,n){return Kt(n,t)?e:e.filter(e=>e!==t)}function Jt(e,t){return{...e,processingThreadIds:e.processingThreadIds.filter(e=>e!==t),processingRuns:Wt(e.processingRuns,t)}}function Yt(e,t,n){let r=Gt(e.processingRuns,t,n),i=qt(e.processingThreadIds,t,r);return Rt(e,i,r)?e:{...e,processingThreadIds:i,processingRuns:r}}function Xt(e,t){let n=zt(t.conversationId);return n?Yt(e,t.threadId,n):Jt(e,t.threadId)}function Zt(e,t){switch(t.type){case g.SetProcessingThreads:return Bt(e,t);case g.AddProcessingThread:return Ut(e,t);case g.RemoveProcessingThread:return Xt(e,t);default:return null}}function Qt(e,t){switch(t.type){case g.AddCreatingProject:return{...e,projects:[...e.projects,{projectId:t.projectId,name:t.projectName,gitUrl:t.gitUrl,type:t.projectType,threads:[{threadId:t.threadId,title:`thread-1`,path:``,currentBranch:``}]}]};case g.AddCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:[...e.threads,{threadId:t.threadId,title:t.title,path:``,currentBranch:``}]}:e)};case g.RemoveCreatingProject:return{...e,projects:e.projects.filter(e=>e.projectId!==t.projectId)};default:return null}}function $t(e,t){switch(t.type){case g.AddDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.includes(t.threadId)?e.deletingThreadIds:[...e.deletingThreadIds,t.threadId]};case g.RemoveDeletingThread:return{...e,deletingThreadIds:e.deletingThreadIds.filter(e=>e!==t.threadId)};case g.AddDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.includes(t.projectId)?e.deletingProjectIds:[...e.deletingProjectIds,t.projectId]};case g.RemoveDeletingProject:return{...e,deletingProjectIds:e.deletingProjectIds.filter(e=>e!==t.projectId)};default:return null}}function en(e,t){switch(t.type){case g.RemoveCreatingThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.filter(e=>e.threadId!==t.threadId)}:e)};case g.RemoveThread:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.filter(e=>e.threadId!==t.threadId)}:e)};case g.UpdateThreadTitle:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,title:t.title}:e)}:e)};case g.UpdateChatTitle:return{...e,projects:e.projects.map(e=>e.projectId===t.projectId?{...e,threads:e.threads.map(e=>e.threadId===t.threadId?{...e,chatTitles:{...e.chatTitles,[t.paneId]:t.title}}:e)}:e)};default:return null}}function tn(e,t){switch(t.type){case g.MarkThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.includes(t.threadId)?e.completedThreadIds:[...e.completedThreadIds,t.threadId],completedThreadPaneIds:t.paneId===void 0?e.completedThreadPaneIds:{...e.completedThreadPaneIds,[t.threadId]:t.paneId},completedPaneIds:t.paneId===void 0||t.paneId===e.focusedPane||e.completedPaneIds.includes(t.paneId)?e.completedPaneIds:[...e.completedPaneIds,t.paneId]};case g.ClearThreadCompleted:return{...e,completedThreadIds:e.completedThreadIds.filter(e=>e!==t.threadId)};case g.ClearPaneCompleted:{let n=Object.entries(e.completedThreadPaneIds).filter(([,e])=>e===t.paneId).map(([e])=>e);return{...e,completedThreadIds:e.completedThreadIds.filter(e=>!n.includes(e)),completedThreadPaneIds:Object.fromEntries(Object.entries(e.completedThreadPaneIds).filter(([,e])=>e!==t.paneId)),completedPaneIds:e.completedPaneIds.filter(e=>e!==t.paneId)}}default:return null}}function nn(e,t){return Ft(e,t)??Lt(e,t)??Zt(e,t)??Qt(e,t)??$t(e,t)??en(e,t)??tn(e,t)}function rn(e){return e.projects.find(t=>t.projectId===e.selectedProjectId)}function an(e){return rn(e)?.threads.find(t=>t.threadId===e.selectedThreadId)?.path}function A(e){return e.type===`tool-call-group`}var on=91;function sn(e){return e>=65&&e<=90||e>=97&&e<=122}function cn(e,t){let n=e.length-1;for(;n>=t&&sn(e.charCodeAt(n));)n--;return n>=t&&e.charCodeAt(n)===on?n:-1}function ln(e,t){let n=t!==void 0&&t.labelResumeOffset<=e.length,r=n?t.labelResumeOffset:0,i=n?t.label:void 0,a=n?t.contentStart:0,o=-1,s=-1,c=/\[([A-Za-z]+)\]\s*/g;c.lastIndex=r;for(let t=c.exec(e);t!==null;t=c.exec(e))i=t[1],o=t.index,s=t.index+t[0].length,a=s;let l=e.length;s===e.length&&(l=o);let u=cn(e,Math.max(r,s));return u!==-1&&(l=Math.min(l,u)),{label:i,contentStart:a,labelResumeOffset:l}}function un(e,t,n,r){try{let i=JSON.parse(e.slice(t,n+1));if(Array.isArray(i)){for(let e of i)if(e&&typeof e==`object`&&`type`in e){let t=e.type;(t===`tool-result`||t===`tool_use`)&&r.push(e)}}return!0}catch{return!1}}function dn(e,t,n){let r=e?.openArray;if(!(!r||r.start<t||r.offset>n))return r}function fn(e,t){let n=t!==void 0&&t.committedPos<=e,r=n?t.committedBlocks.slice():[],i=n?t.committedPos:0;return{blocks:r,pos:i,committedPos:i,committedCount:r.length,openArray:n?dn(t,i,e):void 0}}function j(e,t){let n=t.trim();n&&e.push({type:`reasoning`,text:n})}function pn(e,t){e.pos=t,e.committedPos=t,e.committedCount=e.blocks.length}function mn(e,t){let n=t.openArray?.start??e.indexOf(`[`,t.pos);if(n===-1)return j(t.blocks,e.slice(t.pos)),!1;j(t.blocks,e.slice(t.pos,n));let r=t.openArray??xn(n),i=Sn(e,r);return i===-1?(t.openArray=r,j(t.blocks,e.slice(n)),!1):(t.openArray=void 0,un(e,n,i,t.blocks)||j(t.blocks,e.slice(n,i+1)),pn(t,i+1),!0)}function hn(e){let t=e.committedCount===e.blocks.length?e.blocks:e.blocks.slice(0,e.committedCount);return{blocks:e.blocks,committedBlocks:t,committedPos:e.committedPos,openArray:e.openArray}}function gn(e,t){let n=fn(e.length,t);for(;n.pos<e.length&&mn(e,n););return hn(n)}function _n(e,t){if(!e||typeof e!=`string`)return{blocks:null,scan:void 0};let n=yn(e.trim(),t);return{blocks:vn(n.blocks,e),scan:n.scan}}function vn(e,t){if(!e)return e;let n=t.slice(0,t.length-t.trimStart().length),r=t.slice(t.trimEnd().length);if(!n&&!r)return e;let i=e.slice(),a=i[0];n&&a?.type===`reasoning`&&(i[0]={...a,text:n+a.text});let o=i.length-1,s=i[o];return r&&s?.type===`reasoning`&&(i[o]={...s,text:s.text+r}),i}function yn(e,t){if(!e)return{blocks:null,scan:void 0};let n=ln(e,t);if(n.label){let r=e.slice(n.contentStart);if(r)return{blocks:[{type:`reasoning`,text:r,label:n.label}],scan:{...n,committedBlocks:t?.committedBlocks??[],committedPos:t?.committedPos??0,openArray:t?.openArray}}}let{blocks:r,committedBlocks:i,committedPos:a,openArray:o}=gn(e,t);return{blocks:r.length>0?r:null,scan:{...n,committedBlocks:i,committedPos:a,openArray:o}}}function bn(e){return _n(e).blocks}function xn(e){return{start:e,offset:e,depth:0,inString:!1,escape:!1}}function Sn(e,t){let{depth:n,inString:r,escape:i}=t,a=t.offset;for(;a<e.length;a++){let o=e[a];if(r){i?i=!1:o===`\\`?i=!0:o===`"`&&(r=!1);continue}if(o===`"`){r=!0;continue}if(o===`[`)n++;else if(o===`]`&&(n--,n===0))return t.offset=a+1,t.depth=0,t.inString=!1,t.escape=!1,a}return t.offset=a,t.depth=n,t.inString=r,t.escape=i,-1}function Cn(e,t){return Sn(e,xn(t))}function wn(e,t=0){let n=[],r=t;for(;r<e.length;){for(;r<e.length&&/\s/.test(e.charAt(r));)r++;if(r>=e.length||e.charAt(r)!==`[`)break;let t=Cn(e,r);if(t===-1)break;try{let i=JSON.parse(e.slice(r,t+1));if(!Array.isArray(i))break;n.push(...M(i))}catch{break}r=t+1}return n.length===0?null:{blocks:n,nextIndex:r}}function M(e){return e.map(e=>{if(typeof e==`object`&&e&&!(`type`in e)){let t=e;if(t.reasoning)return{type:`reasoning`,text:typeof t.reasoning==`string`?t.reasoning:JSON.stringify(t.reasoning)};let n=t.text??t.content??t.answer;if(n)return{type:`text`,text:typeof n==`string`?n:JSON.stringify(n)}}return e})}function N(e){return Array.isArray(e)?e.filter(e=>typeof e==`object`&&!!e&&typeof e.label==`string`&&typeof e.pattern==`string`&&(e.scope===`session`||e.scope===`project`)):[]}function Tn(e){if(e.type!==`long_running_confirmation`||typeof e.prompt!=`object`||e.prompt===null||typeof e.prompt.question!=`string`||!Array.isArray(e.prompt.options))return[];let t=e.prompt;return[{type:`long_running_confirmation`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:void 0,question:t.question,options:t.options.filter(e=>typeof e==`string`),context:typeof t.context==`string`?t.context:void 0}}]}function En(e){if(e.type!==`shell_permission`||typeof e.shellPermission!=`object`||e.shellPermission===null||typeof e.shellPermission.command!=`string`)return[];let t=e.shellPermission;return[{type:`shell_permission`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`shell-permission`,command:t.command,source:t.source===`bash`||t.source===`skill_script`||t.source===`browser_js`?t.source:`bash`,wildcardOptions:N(t.wildcardOptions)}}]}function Dn(e){if(e.type!==`seatbelt_escalation`||typeof e.seatbeltEscalation!=`object`||e.seatbeltEscalation===null)return[];let t=e.seatbeltEscalation;return typeof t.command==`string`?[{type:`seatbelt_escalation`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`seatbelt-escalation`,command:t.command,projectId:typeof t.projectId==`string`?t.projectId:``,scopes:[`once`,`project`,`session`]}}]:[]}function On(e){if(e.type!==`web_fetch_permission`||typeof e.webFetchPermission!=`object`||e.webFetchPermission===null||typeof e.webFetchPermission.hostname!=`string`)return[];let t=e.webFetchPermission;return[{type:`web_fetch_permission`,prompt:{toolCallId:typeof t.toolCallId==`string`?t.toolCallId:`web-fetch-permission`,hostname:t.hostname,url:typeof t.url==`string`?t.url:``,wildcardOptions:N(t.wildcardOptions)}}]}function kn(e){let t=[...Tn(e),...En(e),...Dn(e),...On(e)];if(t.length>0)return t;e.reasoning&&typeof e.reasoning==`string`&&t.push({type:`reasoning`,text:e.reasoning});let n=(typeof e.text==`string`?e.text:null)??(typeof e.content==`string`?e.content:null)??(typeof e.answer==`string`?e.answer:null);return n&&t.push({type:`text`,text:n}),t.length===0&&Object.keys(e).length>0&&t.push({type:`text`,text:JSON.stringify(e,null,2)}),t}function An(e){return P(e)?.some(e=>e.type===`tool_use`||e.type===`tool-result`)??!1}var jn=/^```+|^~~~+/;function Mn(e){let t=e.indexOf(`{`),n=e.indexOf(`[`);return t===-1?n:n===-1?t:Math.min(t,n)}function Nn(e){return jn.test(e.trimStart())}function Pn(e,t){return!t||t.resumeOffset===0||t.resumeOffset>e?{offset:0,inFence:!1}:{offset:t.resumeOffset,inFence:t.inFence}}function Fn(e,t,n){if(Nn(e))return{kind:`fence`,inFence:!n};if(n)return{kind:`skip`};let r=Mn(e);if(r===-1)return{kind:`skip`};let i=t+r;return{kind:`json`,index:i,scan:{fixedIndex:i,resumeOffset:t,inFence:n}}}function In(e,t,n){let r=e.slice(t),i=n||Nn(r)?-1:Mn(r);return{index:i===-1?-1:t+i,scan:{fixedIndex:-1,resumeOffset:t,inFence:n}}}function Ln(e,t){if(t&&t.fixedIndex>=0)return{index:t.fixedIndex,scan:t};let n=Pn(e.length,t),r=n.offset,i=n.inFence;for(;;){let t=e.indexOf(`
2
+ `,r);if(t===-1)return In(e,r,i);let n=Fn(e.slice(r,t),r,i);if(n.kind===`json`)return{index:n.index,scan:n.scan};n.kind===`fence`&&(i=n.inFence),r=t+1}}function Rn(e){return Ln(e).index}function zn(e){try{let t=JSON.parse(e);return Array.isArray(t)?M(t):typeof t==`object`&&t?kn(t):null}catch{return e.startsWith(`[`)?Bn(e):null}}function Bn(e){let t=wn(e);if(!t)return null;let n=e.slice(t.nextIndex).trim();return n?[...t.blocks,{type:`text`,text:n}]:t.blocks}function Vn(e){let t=Math.max(e.lastIndexOf(`]`),e.lastIndexOf(`}`));if(t===-1)return null;let n=e.substring(0,t+1);try{let r=JSON.parse(n),i=Array.isArray(r)?M(r):kn(r),a=e.substring(t+1).trim();return a&&i.push({type:`text`,text:a}),i}catch{return null}}function P(e){return e?Hn(e,Rn(e)):null}function Hn(e,t){return e?Kn(e,e.trim(),t):null}var Un={failedLength:-1,failedJsonStart:-1};function Wn(e,t){return e.indexOf(`]`,t)!==-1||e.indexOf(`}`,t)!==-1}function Gn(e,t,n){let r=e.trim();if(n&&n.failedLength>=0&&n.failedJsonStart===t&&n.failedLength<=r.length&&!Wn(r,n.failedLength))return{blocks:null,scan:n};let i=e?Kn(e,r,t):null;return{blocks:i,scan:i===null?{failedLength:r.length,failedJsonStart:t}:Un}}function Kn(e,t,n){if(t.startsWith(`{`)||t.startsWith(`[`)){let e=zn(t);if(e)return e}let r=[];if(n===-1)return null;let i=e.slice(0,n).trim();i&&r.push({type:`text`,text:i});let a=e.slice(n),o=Bn(a);if(o)return r.push(...o),r;let s=Vn(a);return s?(r.push(...s),r):null}function F(e){return e.type===`tool_use`}function I(e){return e.type===`tool-result`}function qn(e){return e.type===`text`}function L(e){return typeof e==`string`?e.replace(/\\n/g,`
3
+ `).replace(/✅/g,`✓`):``}function Jn(e){let t=0;for(let n=e.length-1;n>=0;n--){let r=e[n];if(!r||!qn(r))break;t+=1}return t}function Yn(e){let t=Jn(e);return t===0?null:e.slice(e.length-t).filter(qn).map(e=>L(e.text).trim()).filter(e=>e.length>0).join(`
4
+
5
+ `).trim()||null}function Xn(e){let t=P(e);return t?Yn(t):L(e).trim()||null}var R=new WeakMap,Zn=new WeakMap;function Qn(e,t){let n=e.blocks.length;e.blocks.push(t),e.serializedBlocks.push(JSON.stringify(t)),t.type===`tool_use`?e.toolUseIndex.has(t.id)||e.toolUseIndex.set(t.id,n):t.type===`tool-result`&&(e.toolResultIndex.has(t.toolCallId)||e.toolResultIndex.set(t.toolCallId,n))}function $n(e){return`[${e.join(`,`)}]`}function er(e,t,n=`merge`){let r={blocks:e?e.blocks.slice():[],serializedBlocks:e?e.serializedBlocks.slice():[],toolUseIndex:e?new Map(e.toolUseIndex):new Map,toolResultIndex:e?new Map(e.toolResultIndex):new Map,toolResultSources:e?new Map(e.toolResultSources):new Map,serialized:``};for(let e of t){let t=e.type===`tool_use`?r.toolUseIndex.get(e.id):e.type===`tool-result`?r.toolResultIndex.get(e.toolCallId):void 0;t===void 0?Qn(r,e):(r.blocks[t]=e,r.serializedBlocks[t]=JSON.stringify(e)),e.type===`tool-result`&&r.toolResultSources.set(e.toolCallId,n)}return r.serialized=$n(r.serializedBlocks),r}function z(e,t=`snapshot`){return er(void 0,e,t)}function tr(e,t){return t.type===`tool_use`?e.toolUseIndex.get(t.id):e.toolResultIndex.get(t.toolCallId)}function nr(e,t){if(t.type===`tool_use`)return e.toolResultIndex.get(t.id);let n=e.toolUseIndex.get(t.toolCallId);return n===void 0?void 0:n+1}function rr(e){return e.type===`tool_use`||e.type===`tool-result`}function ir(e,t){let n=new Map,r,i=e.blocks.filter(rr);for(let e of i.reverse())if(tr(t,e)!==void 0)r=void 0;else if(e.type===`tool_use`){let i=nr(t,e);i!==void 0&&(r=Math.min(r??i,i)),r!==void 0&&n.set(e,r)}return n}function ar(e,t){let n=new Map,r=ir(e,t),i=t.blocks.findIndex(function(e){return e.type===`tool_use`||e.type===`tool-result`});i===-1&&(i=t.blocks.length);for(let a of e.blocks.filter(rr)){let o=tr(t,a);if(o!==void 0){a.type===`tool-result`&&e.toolResultSources.get(a.toolCallId)===`merge`&&(t.blocks[o]=a,t.toolResultSources.set(a.toolCallId,`merge`)),i=Math.max(i,o+1);continue}a.type===`tool-result`&&t.toolResultSources.set(a.toolCallId,e.toolResultSources.get(a.toolCallId)??`snapshot`);let s=nr(t,a);i=Math.min(Math.max(i,s??i),r.get(a)??1/0);let c=n.get(i)??[];c.push(a),n.set(i,c)}return n}function or(e,t){let n=z(t),r=ar(e,n),i=[];for(let e=0;e<=n.blocks.length;e++){i.push(...r.get(e)??[]);let t=n.blocks[e];t&&i.push(t)}let a=z(i);return a.toolResultSources=new Map(n.toolResultSources),a}function sr(e){let t=Zn.get(e);if(t&&e.chunks.length===1&&e.chunks[0]===t.serialized)return t}function cr(e){let t={type:`content`,chunks:[e.serialized]};return Zn.set(t,e),R.set(t,{chunks:t.chunks,chunkCount:1,text:e.serialized,scan:void 0,parseScan:void 0,thinkingScan:void 0,blocks:e.blocks}),t}function lr(e,t){let n={type:`content`,chunks:[e]};return R.set(n,{chunks:n.chunks,chunkCount:1,text:e,scan:void 0,parseScan:void 0,thinkingScan:void 0,blocks:t??(e.trim()?[{type:`text`,text:e}]:[])}),n}function ur(e,t,n){let r=e[e.length-1];return r?.type===t?(r.chunks.push(n),[...e]):[...e,{type:t,chunks:[n]}]}function dr(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n){if(n.type===`content`)return t;if(n.type!==`thinking`)return-1}}return-1}function fr(e){for(let t=e.length-1;t>=0;t--)if(e[t]?.type===`content`)return t;return-1}function B(e){return e.some(e=>e.type===`tool_use`||e.type===`tool-result`)}function pr(e){let t=new Set,n=new Set,r=[];for(let i=e.length-1;i>=0;i--){let a=e[i];if(a){if(a.type===`tool_use`){if(t.has(a.id))continue;t.add(a.id),r.push(a);continue}if(a.type===`tool-result`){if(n.has(a.toolCallId))continue;n.add(a.toolCallId),r.push(a);continue}r.push(a)}}return r.reverse(),r}function mr(e,t){let n=fr(e),r=P(t);if(n===-1)return[...e,lr(t,r)];let i=e[n],a;if(i?.type===`content`&&r&&B(r)){let e=sr(i),t=e?.blocks??V(i);B(t)&&(a=cr(or(e??z(t),r)))}return[...e.slice(0,n),a??lr(t,r),...e.slice(n+1)]}function hr(e,t){let n=P(t);if(!n||!B(n))return ur(e,`content`,t);let r=dr(e),i;if(r>=0){let t=e[r];t?.type===`content`&&(i=sr(t)??z(V(t)))}let a=cr(er(i,n));return r>=0?[...e.slice(0,r),a,...e.slice(r+1)]:[...e,a]}function gr(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.type===`content`)return n.chunks.join(``)}return``}function _r(e,t){return[...e,{type:`long_running_confirmation`,prompt:t}]}function vr(e,t){return[...e,{type:`shell_permission`,prompt:t}]}function yr(e,t){return[...e,{type:`seatbelt_escalation`,prompt:t}]}function br(e,t){return[...e,{type:`web_fetch_permission`,prompt:t}]}function xr(e,t){let n=-1;for(let t=e.length-1;t>=0;t--){let r=e[t];if(r.type===`compact`&&r.status===`running`){n=t;break}}return n===-1?[...e,{type:`compact`,...t}]:e.map((e,r)=>r===n?{type:`compact`,...t}:e)}function Sr(e,t,n){if(t.length<n)return!1;for(let r=0;r<n;r++)if(e[r]!==t[r])return!1;return!0}function V(e){let t=R.get(e),n=t?Sr(t.chunks,e.chunks,t.chunkCount):!1;if(t&&n&&e.chunks.length===t.chunkCount)return t.blocks;let r=t!==void 0&&n,i=r?t.text+e.chunks.slice(t.chunkCount).join(``):e.chunks.join(``),a,o,s,c;if(e.type===`thinking`){let e=_n(i,r?t.thinkingScan:void 0);c=e.scan,a=e.blocks??[]}else{let e=Ln(i,r?t.scan:void 0);o=e.scan;let n=Gn(i,e.index,r?t.parseScan:void 0);s=n.scan,a=n.blocks??(i.trim()?[{type:`text`,text:i}]:[])}return R.set(e,{chunks:e.chunks,chunkCount:e.chunks.length,text:i,scan:o,parseScan:s,thinkingScan:c,blocks:a}),a}function Cr(e){let t=[];for(let n of e){if(n.type===`long_running_confirmation`){t.push({type:`long_running_confirmation`,prompt:n.prompt});continue}if(n.type===`shell_permission`){t.push({type:`shell_permission`,prompt:n.prompt});continue}if(n.type===`seatbelt_escalation`){t.push({type:`seatbelt_escalation`,prompt:n.prompt});continue}if(n.type===`web_fetch_permission`){t.push({type:`web_fetch_permission`,prompt:n.prompt});continue}if(n.type===`compact`){t.push({type:`compact`,status:n.status,detail:n.detail});continue}t.push(...V(n))}return pr(t)}function H(e){return e.type===`thinking-group`}function wr(e){return e.type===`text`}function Tr(e){return H(e)?!!e.label:e.type!==`text`}function Er(e){let t=!1,n=!1;for(let r of e){if(wr(r)){if(n)return!0;t=!0;continue}H(r)&&t&&(n=!0)}return!1}function Dr(e){let t=``;for(let n of e)(wr(n)||H(n))&&(t+=n.text);return t.length>0?[{type:`text`,text:t}]:[]}function Or(e){if(e.length<3)return e;let t=[],n=0;function r(r){let i=e.slice(n,r);i.length>=3&&Er(i)?t.push(...Dr(i)):t.push(...i)}for(let i=0;i<e.length;i++){let a=e[i];a&&Tr(a)&&(r(i),t.push(a),n=i+1)}return r(e.length),t}function U(e,t=!1){let n=[],r=[],i,a=()=>{r.length>0&&(n.push({type:`thinking-group`,text:r.join(`
6
+
7
+ `),label:i,isCurrentlyStreaming:!1}),r=[],i=void 0)};for(let t of e)if(t.type===`reasoning`&&`text`in t){let e=t;r.push(e.text),e.label&&(i=e.label)}else a(),n.push(t);a();let o=Or(n);if(t&&o.length>0){let e=o[o.length-1];e&&e.type===`thinking-group`&&(e.isCurrentlyStreaming=!0)}return o}function kr(e,t){let n=e>0?` (${h(e)} token${e===1?``:`s`})`:``;return t===`MCP`?`Connecting MCP servers...${n}`:`Thinking${n}`}function Ar(e){let t=U(e,!0),n=t[t.length-1];return!n||!H(n)||!n.isCurrentlyStreaming?null:kr(ie(n.text),n.label)}var jr=new Set([`todo`]),W=new Set([`todo`,`ask_user`]),Mr=new Map(s.map((e,t)=>[e.id,t]));function Nr(e){if(H(e))return!1;switch(e.type){case`text`:return e.text.trim().length>0;case`shell_permission`:case`seatbelt_escalation`:case`web_fetch_permission`:case`long_running_confirmation`:return!0;case`tool_use`:return e.name===`ask_user`;case`tool-result`:case`compact`:return!1}}function Pr(e){return H(e)?!1:e.type===`tool_use`?!jr.has(e.name):e.type===`tool-result`?!W.has(e.toolName):e.type===`compact`}function G(e){let t=[],n=[];function r(){n.some(Pr)?t.push({type:`tool-call-group`,items:n}):t.push(...n),n=[]}for(let i of e)Nr(i)?(n.length>0&&r(),t.push(i)):n.push(i);return n.length>0&&r(),t}function K(e){return e.length===0?0:e.split(`
8
+ `).length}function Fr(e){let t=0,n=0;if(Array.isArray(e.replacements)){for(let r of e.replacements)if(r&&typeof r==`object`){let e=r;typeof e.newText==`string`&&(t+=K(e.newText)),typeof e.oldText==`string`&&(n+=K(e.oldText))}return{added:t,removed:n}}return typeof e.newText==`string`&&(t+=K(e.newText)),typeof e.oldText==`string`&&(n+=K(e.oldText)),{added:t,removed:n}}var Ir=new WeakMap;function Lr(e){let t=Ir.get(e);if(t&&t.blockCount===e.length)return t;let n={blockCount:e.length,toolUsesById:new Map,resultToolCallIds:new Set,permissionCallIds:new Set};for(let t of e)F(t)?n.toolUsesById.has(t.id)||n.toolUsesById.set(t.id,t):I(t)?W.has(t.toolName)||n.resultToolCallIds.add(t.toolCallId):(t.type===`shell_permission`||t.type===`web_fetch_permission`||t.type===`long_running_confirmation`&&t.prompt.toolCallId)&&n.permissionCallIds.add(t.prompt.toolCallId);return Ir.set(e,n),n}function Rr(e){let t=typeof e.path==`string`&&e.path?e.path:null;return t?t.split(`/`).pop()??t:null}function zr(e){return(typeof e.description==`string`?e.description.trim():``)||null}function Br(e){return(typeof e.intention==`string`?e.intention.trim():``)||null}function Vr(e){return Br(e)}function Hr(e){let t=e.toLowerCase();return t===`run_js`||t===`run_web_worker`}function Ur(e){return a(e.name,e.input)?i(`subagents`):r(e.name)}function Wr(e){return e.filter(e=>e===`subagents`).length}function Gr(e,t){let n=e[0],r=n!==void 0&&e.every(e=>e===n);return i(r?n:`other`).formatNeutral(t)}function q(e){return e.charAt(0).toUpperCase()+e.slice(1)}function Kr(){return{categoryCounts:new Map,editedPaths:new Set,completedCommandBlocks:[],linesAdded:0,linesRemoved:0}}function qr(e){let t=[],n=new Map;for(let r of e)H(r)||(F(r)?t.push(r):I(r)&&n.set(r.toolCallId,r));return{toolUses:t,groupResults:n,groupToolUseIds:new Set(t.map(e=>e.id))}}function Jr(e,t){let n=Ur(e);t.categoryCounts.set(n.id,(t.categoryCounts.get(n.id)??0)+1),n.id===`commands`&&t.completedCommandBlocks.push(e);let r=e.name.toLowerCase();if(r===`edit`||r===`write`){let n=typeof e.input.path==`string`&&e.input.path?e.input.path:e.id;if(t.editedPaths.add(n),r===`edit`){let n=Fr(e.input);t.linesAdded+=n.added,t.linesRemoved+=n.removed}else typeof e.input.content==`string`&&(t.linesAdded+=K(e.input.content))}}function Yr(e,t,n,r,i){let a=[],o=0,s=null;for(let c of e){if(jr.has(c.name))continue;let e=t.has(c.id),l=r?.has(c.id)||n.resultToolCallIds.has(c.id);e?Jr(c,i):l||(o+=1,a.push(Ur(c).id),s=c)}return{pendingCount:o,pendingCategoryIds:a,lastPending:s}}function Xr(e,t){let n=0,r=[],i=!1;for(let a of e)if(!(H(a)||a.type!==`compact`)){if(a.status===`running`)n+=1,r.push(`compaction`),i=!0;else{let e=(t.categoryCounts.get(`compaction`)??0)+1;t.categoryCounts.set(`compaction`,e)}}return{pendingCount:n,pendingCategoryIds:r,hasRunning:i}}function Zr(e,t,n,r){let i=0;for(let a of e.values())if(!W.has(a.toolName)&&(a.isError===!0&&(i+=1),!t.has(a.toolCallId))){let e=n.toolUsesById.get(a.toolCallId);e?Jr(e,r):r.categoryCounts.set(`other`,(r.categoryCounts.get(`other`)??0)+1)}return i}function Qr(e,t){let n=[];for(let[r,i]of e)r!==`other`&&i!==0&&n.push({id:r,count:r===`files`?t.size:i});return n.sort((e,t)=>(Mr.get(e.id)??2**53-1)-(Mr.get(t.id)??2**53-1)),n}function $r(e,t,n,r){if(!e)return null;if(r.has(e.id))return`Awaiting permission · ${Gr(n,t)}`;if(a(e.name,e.input))return zr(e.input)??e.activeDisplayName??u(e.name);if(Hr(e.name))return Vr(e.input)??e.activeDisplayName??u(e.name);let i=e.activeDisplayName??u(e.name),o=Rr(e.input);return o?`${i} ${o}`:i}function ei(e){if(e.length!==1)return null;let t=e[0];return t&&Hr(t.name)?Br(t.input):null}function ti(e){return e.toLowerCase()===`bash`}var ni=2e3,ri=/(?<!\d)(\d{1,3})(?:\.\d+)?%(?!\d)/g;function ii(e){if(!e)return null;let t=e.length>ni?e.slice(-2e3):e,n=null;for(let e of t.matchAll(ri)){let t=Number(e[1]);t>=0&&t<=100&&(n=t)}return n}function J(e,t,n){let{toolUses:r,groupResults:i,groupToolUseIds:a}=qr(e),o=Lr(t),s=o.permissionCallIds,l=Kr(),{pendingCount:u,pendingCategoryIds:d,lastPending:f}=Yr(r,i,o,n,l),p=Xr(e,l),m=Zr(i,a,o,l),ee=Qr(l.categoryCounts,l.editedPaths),te=l.editedPaths.size,ne=p.hasRunning?c:$r(f,u,d,s),h=ei(l.completedCommandBlocks),re=!p.hasRunning&&f&&ti(f.name)&&!s.has(f.id)?f.id:null;return{categories:ee,distinctFiles:te,otherCount:l.categoryCounts.get(`other`)??0,pendingCount:u+p.pendingCount,pendingCategoryIds:[...d,...p.pendingCategoryIds],linesAdded:l.linesAdded,linesRemoved:l.linesRemoved,errorCount:m,activeLabel:ne,pendingCommandToolId:re,singleCommandTitle:h}}function Y(e,t){let n=e.categories.slice(0,3),r=e.categories.slice(3).reduce((e,t)=>e+t.count,0),a=e.otherCount+r,s=n.map(t=>t.id===`commands`&&t.count===1&&e.singleCommandTitle?e.singleCommandTitle:i(t.id).formatPhrase(t.count)),c=``;s.length>0?(c=s.join(`, `),a>0&&(c+=`, and ${a} more`),c=q(c)):a>0&&(c=q(i(`other`).formatPhrase(a)));let l=Wr(e.pendingCategoryIds);if(l>0){let e=o(l);c=c?`${c} · ${e}`:q(e)}let u=t.showActive&&e.activeLabel!==null,d=e.pendingCount-l;if(!u&&d>0){let t=Gr(e.pendingCategoryIds.filter(e=>e!==`subagents`),d);c=c?`${c} · ${t}`:q(t)}let f=e.linesAdded+e.linesRemoved>0?`+${e.linesAdded} −${e.linesRemoved}`:null,p=t.runningCommandProgress,m=u&&p!=null&&e.pendingCommandToolId!==null?`Running ${p}%`:u?e.activeLabel:null;return{text:c,lineStats:f,errorCount:e.errorCount,activeLabel:m}}function ai(e){let t=G(U(e,!0));for(let n=t.length-1;n>=0;n--){let r=t[n];if(!A(r))continue;let i=J(r.items,e);if(i.activeLabel===null)continue;if(i.pendingCommandToolId===null)return null;let a=r.items.find(e=>e.type===`tool_use`&&e.id===i.pendingCommandToolId)?.input.command;return typeof a==`string`?{toolCallId:i.pendingCommandToolId,command:a}:null}return null}function oi(e,t){let n=G(U(e,!0));for(let r=n.length-1;r>=0;r--){let i=n[r];if(!A(i))continue;let a=Y(J(i.items,e),{showActive:!0,runningCommandProgress:t});if(a.activeLabel!==null)return a.activeLabel}return null}function si(e,t){switch(t.type){case g.SetStreamStopping:{let n=x(e.threadStreamingStates,t.threadId,t.paneId);return w(e,t.threadId,t.paneId,{...n,isStopping:t.isStopping})}case g.SetStreaming:{let n=S(e,t),r=C(e,t);return w(e,n,r,{...x(e.threadStreamingStates,n,r),isStreaming:t.isStreaming})}case g.AppendStreamContent:{let n=S(e,t),r=C(e,t),i=x(e.threadStreamingStates,n,r);return w(e,n,r,{...i,streamingContent:i.streamingContent+t.content})}case g.SetStreamContent:{let n=S(e,t),r=C(e,t),i=x(e.threadStreamingStates,n,r),a=mr(i.streamingSegments,t.content);return w(e,n,r,{...i,streamingContent:t.content,streamingSegments:a})}case g.AppendStreamThinking:{let n=S(e,t),r=C(e,t),i=x(e.threadStreamingStates,n,r);return w(e,n,r,{...i,streamingThinking:i.streamingThinking+t.content})}case g.IncrementStreamEventCount:{let n=S(e,t),r=C(e,t),i=x(e.threadStreamingStates,n,r);return w(e,n,r,{...i,streamingEventCount:i.streamingEventCount+1})}case g.AppendStreamChunk:{let n=S(e,t),r=C(e,t),i=x(e.threadStreamingStates,n,r);return w(e,n,r,{...i,streamingSegments:t.segments,streamingContent:t.chunkType===`content`?i.streamingContent+t.content:i.streamingContent,streamingThinking:t.chunkType===`thinking`?i.streamingThinking+t.content:i.streamingThinking})}case g.SetStreamModel:{let n=S(e,t),r=C(e,t);return w(e,n,r,{...x(e.threadStreamingStates,n,r),streamingModel:t.model})}case g.SetStreamAgentMode:{let n=S(e,t),r=C(e,t);return w(e,n,r,{...x(e.threadStreamingStates,n,r),streamingAgentMode:t.mode})}case g.SetStreamGoalRun:{let n=S(e,t),r=C(e,t);return w(e,n,r,{...x(e.threadStreamingStates,n,r),streamingGoalRun:!0})}case g.SetContextUsage:{let n=S(e,t),r=C(e,t);return w(e,n,r,{...x(e.threadStreamingStates,n,r),contextUsage:t.contextUsage})}case g.ResetStream:return w(e,S(e,t),C(e,t),y(),!0);case g.StopStream:{let n=S(e,t),r=C(e,t);return w(e,n,r,{...x(e.threadStreamingStates,n,r),isStreaming:!1,streamingGoalRun:!1})}default:return null}}function X(e,t){return e.terminalStates[t]??De()}function ci(e,t){switch(t.type){case g.AppendCommandOutput:return{...e,commandOutput:e.commandOutput+t.content};case g.SetRunningCommand:return{...e,isRunningCommand:t.isRunning};case g.ClearCommandOutput:return{...e,commandOutput:``};case g.ToggleTerminal:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,open:!n.open}}}}case g.SetTerminalOpen:{let n=t.threadId??`default`,r=X(e,n);return{...e,terminalStates:{...e.terminalStates,[n]:{...r,open:t.open}}}}case g.QueueTerminalCommand:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,queuedCommand:t.command,queuedRelativeFolder:t.relativeFolder??null,open:!0}}}}case g.ClearQueuedTerminalCommand:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,queuedCommand:null}}}}case g.AppendTerminalLine:{let n=t.threadId??`default`,r=X(e,n);return{...e,terminalStates:{...e.terminalStates,[n]:{...r,outputLines:[...r.outputLines,t.line]}}}}case g.ClearTerminalOutput:{let n=t.threadId??`default`,r=X(e,n);return{...e,terminalStates:{...e.terminalStates,[n]:{...r,outputLines:[]}}}}case g.SetTerminalHeight:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,height:t.height}}}}case g.SetTerminalCwd:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,cwd:t.cwd}}}}case g.SetTerminalRunning:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,isRunning:t.isRunning}}}}case g.SetTerminalHistory:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,history:t.history}}}}case g.SetTerminalHistoryIndex:{let n=X(e,t.threadId);return{...e,terminalStates:{...e.terminalStates,[t.threadId]:{...n,historyIndex:t.index}}}}default:return null}}function li(e,t){switch(t.type){case g.ToggleSidebar:return{...e,sidebarOpen:!e.sidebarOpen};case g.OpenSidebar:return e.sidebarOpen?e:{...e,sidebarOpen:!0};case g.CloseSidebar:return e.sidebarOpen?{...e,sidebarOpen:!1}:e;case g.OpenProjectPanel:return{...e,projectPanelView:`actions`,projectPanelProjectId:t.projectId};case g.CloseProjectPanel:return{...e,projectPanelView:`projects`,projectPanelProjectId:null};case g.SetCreatingProject:return{...e,isCreatingProject:t.isCreating};case g.SetGitAuthRequest:return{...e,gitAuthRequest:t.request};case g.ConfigUpdated:return{...e,configUpdatedAt:Date.now()};case g.FocusChatInput:return{...e,focusChatInput:!0};case g.ClearFocusChatInput:return{...e,focusChatInput:!1};case g.SetDiffComments:return{...e,diffComments:{...e.diffComments,[t.threadId]:t.comments}};case g.SetRunCommandSaved:return e.savedRunCommandProjectId===t.projectId?e:{...e,savedRunCommandProjectId:t.projectId};case g.ClearRunCommandSaved:return e.savedRunCommandProjectId===null?e:{...e,savedRunCommandProjectId:null};default:return null}}var ui=[si,me,Et,Ge,nn,ci,li];function di(e,t){for(let n of ui){let r=n(e,t);if(r!==null)return r}return e}var fi=new Set([g.AppendStreamChunk,g.IncrementStreamEventCount,g.SetStreamModel,g.AppendStreamContent,g.AppendStreamThinking,g.SetStreamContent,g.AppendSubagentEvent,g.AppendToolExecutionOutput,g.UpdateToolCallProgress,g.UpdateToolExecutionOutput]);function Z(e){return`${`threadId`in e&&typeof e.threadId==`string`?e.threadId:``}:${`paneId`in e&&typeof e.paneId==`string`?e.paneId:``}`}function pi(){return{appendChunkByPane:new Map,eventCountByPane:new Map,modelByPane:new Map,contentByPane:new Map,thinkingByPane:new Map,setContentByPane:new Map,lastSegmentActionByPane:new Map,toolProgressById:new Map,toolOutputById:new Map,subagentEventsByToolCallId:new Map,other:[]}}function mi(e,t){let n=Z(t),r=e.appendChunkByPane.get(n);if(!r){e.appendChunkByPane.set(n,{thinkingContent:t.chunkType===`thinking`?t.content:``,contentContent:t.chunkType===`content`?t.content:``,lastAction:t});return}t.chunkType===`thinking`?r.thinkingContent+=t.content:t.chunkType===`content`&&(r.contentContent+=t.content),r.lastAction=t}function hi(e,t){let n=Z(t),r=e.get(n);if(!r){e.set(n,{value:t.content,last:t});return}r.value+=t.content,r.last=t}function gi(e){let t=pi();for(let n of e)switch(n.type){case g.AppendStreamChunk:mi(t,n),t.lastSegmentActionByPane.set(Z(n),`append-chunk`);break;case g.IncrementStreamEventCount:t.eventCountByPane.set(Z(n),n);break;case g.SetStreamModel:t.modelByPane.set(Z(n),n);break;case g.AppendStreamContent:hi(t.contentByPane,n);break;case g.AppendStreamThinking:hi(t.thinkingByPane,n);break;case g.SetStreamContent:t.setContentByPane.set(Z(n),n),t.lastSegmentActionByPane.set(Z(n),`set-content`);break;case g.UpdateToolCallProgress:t.toolProgressById.set(n.toolCallId,n);break;case g.UpdateToolExecutionOutput:t.toolOutputById.set(n.toolCallId,n);break;case g.AppendSubagentEvent:{let e=t.subagentEventsByToolCallId.get(n.toolCallId);e?e.push(n.event):t.subagentEventsByToolCallId.set(n.toolCallId,[n.event]);break}default:t.other.push(n)}return t}function _i(e,t,n){for(let{value:r,last:i}of t.values())i.type===n&&e.push({...i,content:r})}function vi(e){let t=[],{thinkingContent:n,contentContent:r,lastAction:i}=e;return n&&t.push({...i,chunkType:`thinking`,content:n,segments:i.segments}),r&&t.push({...i,chunkType:`content`,content:r,segments:i.segments}),!n&&!r&&t.push(i),t}function yi(e,t){let n=new Set([...t.setContentByPane.keys(),...t.appendChunkByPane.keys()]);for(let r of n){let n=t.setContentByPane.get(r),i=t.appendChunkByPane.get(r),a=i?vi(i):[];t.lastSegmentActionByPane.get(r)===`set-content`?(e.push(...a),n&&e.push(n)):(n&&e.push(n),e.push(...a))}}function bi(e){let t=[];for(let n of e.modelByPane.values())t.push(n);for(let n of e.eventCountByPane.values())t.push(n);_i(t,e.contentByPane,g.AppendStreamContent),_i(t,e.thinkingByPane,g.AppendStreamThinking),yi(t,e);for(let n of e.toolProgressById.values())t.push(n);for(let n of e.toolOutputById.values())t.push(n);for(let[n,r]of e.subagentEventsByToolCallId)t.push({type:g.AppendSubagentEvents,toolCallId:n,events:r});return t.push(...e.other),t}function xi(e){return e.length<=1?e:bi(gi(e))}function Si(e=de){let t=e,n=new Set,r=0,i=[];function a(){return t}function o(){for(let e of n)e()}function s(e){let n=di(t,e);n!==t&&(t=n)}function c(){if(r=0,i.length===0)return;let e=i.splice(0,i.length);for(let t of xi(e))s(t);o()}function l(e){if(fi.has(e.type)){i.push(e),r===0&&(r=requestAnimationFrame(c));return}i.length>0&&(r!==0&&(cancelAnimationFrame(r),r=0),c()),s(e),o()}function u(e){return n.add(e),function(){n.delete(e)}}return{getState:a,dispatch:l,subscribe:u}}var Ci=t(),Q=e(n(),1),wi=(0,Q.createContext)(null);function $(){let e=(0,Q.useContext)(wi);if(!e)throw Error(`useAppStore must be used within an AppStoreContext.Provider`);return e}function Ti(e){let t=(0,Ci.c)(3),n=$(),r;t[0]!==e||t[1]!==n?(r=function(){return e(n.getState())},t[0]=e,t[1]=n,t[2]=r):r=t[2];let i=r;return(0,Q.useSyncExternalStore)(n.subscribe,i,i)}function Ei(){return $().dispatch}function Di(e){let t=(0,Ci.c)(8),n=Ei(),r;t[0]===e?r=t[1]:(r=t=>(e?t.terminalStates[e]:void 0)??fe,t[0]=e,t[1]=r);let i=Ti(r),a;t[2]!==n||t[3]!==e?(a=t=>{e&&n({...t,threadId:e})},t[2]=n,t[3]=e,t[4]=a):a=t[4];let o=a,s;return t[5]!==o||t[6]!==i?(s={terminalState:i,dispatch:o},t[5]=o,t[6]=i,t[7]=s):s=t[7],s}export{ce as $,I as A,Fe as B,_r as C,vr as D,mr as E,bn as F,we as G,b as H,A as I,Se as J,Te as K,rn as L,L as M,An as N,br as O,P,_ as Q,an as R,xr as S,yr as T,ge as U,Le as V,x as W,pe as X,_e as Y,g as Z,pr as _,Di as a,re as at,Cr as b,Y as c,te as ct,G as d,ue as et,J as f,H as g,U as h,$ as i,ie as it,F as j,Xn as k,ai as l,se as lt,Ar as m,Ei as n,ee as nt,Si as o,ne as ot,kr as p,ye as q,Ti as r,oe as rt,ii as s,h as st,wi as t,m as tt,oi as u,V as v,hr as w,ur as x,gr as y,Ie as z};
@@ -1 +1 @@
1
- import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{V as i}from"./dist-D5vgS4RP.js";import{t as a}from"./utils-mYB1USG6.js";var o=t(),s=e(n(),1),c=r(),l=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,s;n[0]===e?(r=n[1],s=n[2]):({className:r,...s}=e,n[0]=e,n[1]=r,n[2]=s);let l;n[3]===r?l=n[4]:(l=a(`w-full caption-bottom`,i.body,r),n[3]=r,n[4]=l);let u;return n[5]!==s||n[6]!==t||n[7]!==l?(u=(0,c.jsx)(`div`,{className:`relative w-full overflow-auto`,children:(0,c.jsx)(`table`,{ref:t,className:l,...s})}),n[5]=s,n[6]=t,n[7]=l,n[8]=u):u=n[8],u});l.displayName=`Table`;var u=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`[&_tr]:border-b`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`thead`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});u.displayName=`TableHeader`;var d=s.forwardRef((e,t)=>{let n=(0,o.c)(7),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;return n[3]!==r||n[4]!==i||n[5]!==t?(a=(0,c.jsx)(`tbody`,{ref:t,className:r,...i}),n[3]=r,n[4]=i,n[5]=t,n[6]=a):a=n[6],a});d.displayName=`TableBody`;var f=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`border-t font-medium [&>tr]:last:border-b-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`tfoot`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});f.displayName=`TableFooter`;var p=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`tr`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});p.displayName=`TableRow`;var m=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`th`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});m.displayName=`TableHead`;var h=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`p-4 align-middle [&:has([role=checkbox])]:pr-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`td`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});h.displayName=`TableCell`;var g=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,s;n[0]===e?(r=n[1],s=n[2]):({className:r,...s}=e,n[0]=e,n[1]=r,n[2]=s);let l;n[3]===r?l=n[4]:(l=a(i.caption,`mt-4`,r),n[3]=r,n[4]=l);let u;return n[5]!==s||n[6]!==t||n[7]!==l?(u=(0,c.jsx)(`caption`,{ref:t,className:l,...s}),n[5]=s,n[6]=t,n[7]=l,n[8]=u):u=n[8],u});g.displayName=`TableCaption`;export{u as a,m as i,d as n,p as o,h as r,l as t};
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{U as i}from"./dist-v_MvKS2-.js";import{t as a}from"./utils-CqsIXqSC.js";var o=t(),s=e(n(),1),c=r(),l=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,s;n[0]===e?(r=n[1],s=n[2]):({className:r,...s}=e,n[0]=e,n[1]=r,n[2]=s);let l;n[3]===r?l=n[4]:(l=a(`w-full caption-bottom`,i.body,r),n[3]=r,n[4]=l);let u;return n[5]!==s||n[6]!==t||n[7]!==l?(u=(0,c.jsx)(`div`,{className:`relative w-full overflow-auto`,children:(0,c.jsx)(`table`,{ref:t,className:l,...s})}),n[5]=s,n[6]=t,n[7]=l,n[8]=u):u=n[8],u});l.displayName=`Table`;var u=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`[&_tr]:border-b`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`thead`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});u.displayName=`TableHeader`;var d=s.forwardRef((e,t)=>{let n=(0,o.c)(7),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;return n[3]!==r||n[4]!==i||n[5]!==t?(a=(0,c.jsx)(`tbody`,{ref:t,className:r,...i}),n[3]=r,n[4]=i,n[5]=t,n[6]=a):a=n[6],a});d.displayName=`TableBody`;var f=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`border-t font-medium [&>tr]:last:border-b-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`tfoot`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});f.displayName=`TableFooter`;var p=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`tr`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});p.displayName=`TableRow`;var m=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`th`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});m.displayName=`TableHead`;var h=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let s;n[3]===r?s=n[4]:(s=a(`p-4 align-middle [&:has([role=checkbox])]:pr-0`,r),n[3]=r,n[4]=s);let l;return n[5]!==i||n[6]!==t||n[7]!==s?(l=(0,c.jsx)(`td`,{ref:t,className:s,...i}),n[5]=i,n[6]=t,n[7]=s,n[8]=l):l=n[8],l});h.displayName=`TableCell`;var g=s.forwardRef((e,t)=>{let n=(0,o.c)(9),r,s;n[0]===e?(r=n[1],s=n[2]):({className:r,...s}=e,n[0]=e,n[1]=r,n[2]=s);let l;n[3]===r?l=n[4]:(l=a(i.caption,`mt-4`,r),n[3]=r,n[4]=l);let u;return n[5]!==s||n[6]!==t||n[7]!==l?(u=(0,c.jsx)(`caption`,{ref:t,className:l,...s}),n[5]=s,n[6]=t,n[7]=l,n[8]=u):u=n[8],u});g.displayName=`TableCaption`;export{u as a,m as i,d as n,p as o,h as r,l as t};
@@ -0,0 +1 @@
1
+ import{a as e,c as t,d as n,f as r,i,l as a,n as o,o as s,p as c,r as l,s as u,u as d,x as ee}from"./dist-v_MvKS2-.js";import{Z as f}from"./store-W78TGOIO.js";import{Mt as te,ni as p,oi as m,qt as h,ri as g,si as _,ti as v,tn as y}from"./api-Cp9I7CxD.js";import{h as b}from"./create-project-workspace-CJ94yHAB.js";import{r as x}from"./suspense-resource-DzlMlIgR.js";var ne=[`security`,`feature`,`fix`,`important`],S=[`#EF4444`,`#F97316`,`#EAB308`,`#22C55E`,`#14B8A6`,`#06B6D4`,`#3B82F6`,`#8B5CF6`,`#EC4899`,`#78716C`],re=/[\p{Cc}\p{Cf}]/u;function ie(e){return e.trim().replace(/\s+/g,` `)}function C(e){return e.toLowerCase()}function ae(e){return e?Array.from(e).length>40?`Tag name must be 40 characters or fewer`:re.test(e)?`Tag name must not contain control characters`:null:`Tag name is required`}function oe(e){let t=2166136261;for(let n=0;n<e.length;n++)t^=e.charCodeAt(n),t=Math.imul(t,16777619);return t>>>0}function se(e){return S[oe(e)%S.length]??S[0]}function ce(e){return e.status!==`Done`&&!e.working}function w(e){return e.status!==`Done`&&!!e.triggerType}function T(e){return!!e.triggerType&&e.enabled===!1}function E(e,r=new Date){if(!e.triggerType)return null;let i=T(e)?`Paused · `:``;if(e.triggerType===`schedule`&&e.scheduledAt){let t=new Date(e.scheduledAt);if(!Number.isNaN(t.getTime()))return`${i}Scheduled ${t.toLocaleString()}`}if(e.triggerType===`schedule`&&e.scheduleCron&&e.timezone){let o=c(e.scheduleCron),s=o?t(o):e.scheduleCron,l=n(e.scheduleCron,e.timezone,r),u=l?a(l,r):null;return u?`${i}${s} · ${u}`:`${i}${s}`}return e.triggerType===`event`&&e.eventKey?`${i}Event: ${e.eventKey}`:null}function D(e){return[...e].sort((e,t)=>e.status===`Done`&&t.status!==`Done`?1:e.status!==`Done`&&t.status===`Done`||e.working&&!t.working?-1:!e.working&&t.working?1:new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime())}function O(e){return[...e].sort(function(e,t){return e.name.localeCompare(t.name,void 0,{sensitivity:`base`})})}async function k(e){return g(`api/projects/${p(e)}/tasks`)}async function A(e,t){return g(`api/projects/${p(e)}/tasks/${p(t)}/runs`)}async function j(e,t,n){return _(`api/projects/${p(e)}/tasks`,{description:t,threadId:n?.threadId,provider:n?.provider,model:n?.model,tags:n?.tags,triggerType:n?.triggerType,scheduledAt:n?.scheduledAt,scheduleCron:n?.scheduleCron,timezone:n?.timezone,enabled:n?.enabled,eventKey:n?.eventKey})}async function M(e,t,n){return _(`api/projects/${p(e)}/tasks/${p(t)}/generate-title`,{threadId:n?.threadId,provider:n?.provider,model:n?.model,expectedTitle:n?.expectedTitle})}async function N(e,t,n){return m(`api/projects/${p(e)}/tasks/${p(t)}`,n)}async function P(e,t){return m(`api/projects/${p(e)}/tasks/${p(t)}`,{runNow:!0})}async function F(e,t,n,r){return m(`api/projects/${p(e)}/tasks/${p(t)}`,{startInNewWorkspace:!0,model:n?.model,provider:n?.provider,...r?{workspaceThreadId:r}:{}})}async function I(e,t,n){return _(`api/projects/${p(e)}/events/dispatch`,{eventKey:t,payload:n})}async function L(e,t){await v(`api/projects/${p(e)}/tasks/${p(t)}`)}async function R(e){return O(await g(`api/projects/${p(e)}/tags`))}async function z(e,t,n){return m(`api/projects/${p(e)}/tags/${p(t)}`,{name:n})}async function B(e,t){return _(`api/projects/${p(e)}/tags`,{name:t})}async function V(e,t){await v(`api/projects/${p(e)}/tags/${p(t)}`)}var H=ee(`app.project-tasks.store`),U=15e3;function W(e,t){return`project-tasks:${e}:${t}`}function G(e){x(`project-tasks:${e}:`)}async function le(e){y(),x(`projects:bootstrap:`);let t=await te();e({type:f.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath}),e({type:f.SetProjectsLoading,projectsLoading:!1}),b(e)}async function ue(e){let t=Date.now(),n=setTimeout(function(){H.warn(`Project tasks fetch is still pending after 15s — tasks window keeps showing its spinner`,{projectId:e})},U);try{let n=await k(e),r=n.filter(e=>e.threadId&&e.status!==`Done`);return await Promise.all(r.map(async t=>{try{await h(t.threadId)}catch(n){H.warn(`Failed to verify task thread during project tasks load; leaving task unchanged`,{projectId:e,taskId:t.id,threadId:t.threadId,error:n})}})),H.debug(`Loaded project tasks`,{projectId:e,taskCount:n.length,durationMs:Date.now()-t}),n}finally{clearTimeout(n)}}var K=`09:00`;function q(e){return String(e).padStart(2,`0`)}function de(){let e=new Date(Date.now()+36e5);return`${e.getFullYear()}-${q(e.getMonth()+1)}-${q(e.getDate())}T${q(e.getHours())}:${q(e.getMinutes())}`}function J(){return{kind:`manual`,scheduleMode:`once`,scheduledAtLocal:de(),preset:`daily`,presetTime:K,presetMinute:0,presetIntervalMinutes:5,dayOfWeek:new Date().getDay(),timezone:d(),enabled:!0,eventKey:``}}function fe(){return{...J(),kind:`schedule`}}function pe(e,t){let n=c(e.scheduleCron??``),r={kind:`schedule`,scheduleMode:`repeating`,scheduledAtLocal:t.scheduledAtLocal,timezone:e.timezone??t.timezone,enabled:e.enabled!==!1,eventKey:``};if(!n)return{...r,preset:`daily`,presetTime:K,presetMinute:0,presetIntervalMinutes:5,dayOfWeek:new Date().getDay()};let i=n.preset===`hourly`||n.preset===`interval`;return{...r,preset:n.preset,presetTime:i?K:n.time,presetMinute:n.minute??0,presetIntervalMinutes:n.intervalMinutes??5,dayOfWeek:n.dayOfWeek??new Date().getDay()}}function me(e,t){let n=new Date(e.scheduledAt??``);return{kind:`schedule`,scheduleMode:`once`,scheduledAtLocal:Number.isNaN(n.getTime())?t.scheduledAtLocal:`${n.getFullYear()}-${q(n.getMonth()+1)}-${q(n.getDate())}T${q(n.getHours())}:${q(n.getMinutes())}`,preset:t.preset,presetTime:t.presetTime,presetMinute:t.presetMinute,presetIntervalMinutes:t.presetIntervalMinutes,dayOfWeek:t.dayOfWeek,timezone:e.timezone??t.timezone,enabled:e.enabled!==!1,eventKey:``}}function Y(e){let t=J();if(e.triggerType===`schedule`){if(e.scheduleCron)return pe(e,t);if(e.scheduledAt)return me(e,t)}return e.triggerType===`event`?{...t,kind:`event`,enabled:e.enabled!==!1,eventKey:e.eventKey??``}:t}function he(e){let t=new Date(e);return Number.isNaN(t.getTime())?null:t.toISOString()}function X(t){return t.kind===`manual`?{triggerType:null,scheduledAt:null,scheduleCron:null,timezone:null,enabled:!0,eventKey:null}:t.kind===`event`?{triggerType:`event`,scheduledAt:null,scheduleCron:null,timezone:null,enabled:t.enabled,eventKey:t.eventKey.trim()||null}:t.scheduleMode===`once`?{triggerType:`schedule`,scheduledAt:he(t.scheduledAtLocal),scheduleCron:null,timezone:t.timezone,enabled:t.enabled,eventKey:null}:{triggerType:`schedule`,scheduledAt:null,scheduleCron:t.preset===`hourly`?e(t.presetMinute):t.preset===`interval`?s(t.presetIntervalMinutes):u(t.preset,t.presetTime,t.dayOfWeek),timezone:t.timezone,enabled:t.enabled,eventKey:null}}function ge(e){return e.kind!==`manual`}function _e(e){return e.kind===`manual`?null:e.kind===`schedule`&&e.scheduleMode===`repeating`&&e.preset===`interval`&&!r(e.presetIntervalMinutes)?`Interval must be a whole number between 1 and ${i} minutes`:l(X(e))}function ve(e,t){return e.kind===`schedule`?o(`schedule`,t):null}function Z(e){return e.replace(/^eventKey is required for event triggers$/,`Event key is required`).replace(/^eventKey must be (\d+) characters or fewer$/,`Event key must be $1 characters or fewer`).replace(/^eventKey may only contain letters, numbers, dots, colons, underscores, and hyphens$/,`Event key may only contain letters, numbers, dots, colons, underscores, and hyphens`)}function ye(e){return e.startsWith(`Event key`)}function be(e,t){return Z(e instanceof Error?e.message:t)}function Q(e,t){return JSON.stringify(e)===JSON.stringify(t)}function xe(e,t){let n=new Set((e??[]).map(e=>C(e.name))),r=new Set(t.map(e=>C(e)));if(n.size!==r.size)return!0;for(let e of r)if(!n.has(e))return!0;return!1}function Se(e){return{threadId:e.selectedThreadId??void 0,provider:e.selectedThreadModel?.provider??e.selectedThread?.modelProvider,model:e.selectedThreadModel?.id??e.selectedThread?.model}}function Ce(e){let t=e.description.trim(),n=t!==e.task.description.trim(),r=xe(e.task.tags,e.tagNames),i=!Q(Y(e.task),e.triggerForm),a=i?X(e.triggerForm):{};return!n&&!r&&!i?{kind:`unchanged`}:{kind:`update`,tagsChanged:r,payload:{description:n?t:void 0,threadId:e.thread.threadId,provider:e.thread.provider,model:e.thread.model,tags:r?e.tagNames:void 0,...a}}}function $(e){let t=e.triggerCollapsed?{}:X(e.triggerForm);return{description:e.description,context:{threadId:e.thread.threadId,provider:e.thread.provider,model:e.thread.model,tags:e.tagNames.length>0?e.tagNames:void 0,...t}}}function we(e){return e.status!==`Done`}function Te(e){return!!e.triggerType}function Ee(e){return!e.triggerType}function De(e,t,n,r=!0){let i=new Set((e.tags??[]).map(function(e){return e.id})),a=t.size===0||[...t].every(function(e){return i.has(e)}),o=n.trim().toLocaleLowerCase(),s=[e.title,e.description,...r?(e.tags??[]).map(function(e){return e.name}):[]].join(` `).toLocaleLowerCase(),c=!o||s.includes(o);return a&&c}function Oe(e,t){let n=D(e).filter(we),r=n.filter(t.automationsOnly?Te:Ee),i=t.automationsOnly?new Set:t.selectedTagIds,a=r.filter(e=>De(e,i,t.searchTerm,!t.automationsOnly)),o=t.projectName??`this project`;return{viewTasks:r,visibleTasks:a,emptyListMessage:t.automationsOnly?`No automations.`:n.length===0?`No active tasks yet. Add one to get started.`:`There are no tasks for ${o}. Click + to add a task.`,noMatchMessage:t.automationsOnly?`No automations match your search.`:`No tasks match the current filters.`}}function ke(e,t,n){let r=n.size===0?t:t.filter(function(e){return n.has(e.id)}),i=r.map(function(t){return{tag:t,tasks:e.filter(function(e){return(e.tags??[]).some(function(e){return e.id===t.id})})}}),a=e.filter(function(e){return r.every(function(t){return!(e.tags??[]).some(function(e){return e.id===t.id})})});return n.size===0&&a.length>0&&i.unshift({tag:null,tasks:a}),i}export{P as A,C as B,L as C,A as D,R as E,w as F,ae as H,E as I,T as L,N as M,O as N,k as O,ce as P,ne as R,V as S,M as T,ie as V,W as _,Se as a,B as b,be as c,ye as d,Y as f,ue as g,_e as h,Ce as i,F as j,z as k,Z as l,ve as m,Oe as n,J as o,Q as p,$ as r,fe as s,ke as t,ge as u,G as v,I as w,j as x,le as y,se as z};
@@ -0,0 +1 @@
1
+ import{i as e}from"./rolldown-runtime-Dd_uD5pT.js";import{n as t,o as n,t as r}from"./react-vendor-D61Uve5n.js";import{n as i}from"./QueryClientProvider-CYXTUmYo.js";import{U as a,i as o,t as s,x as c}from"./dist-v_MvKS2-.js";import{Z as l,n as u,r as d}from"./store-W78TGOIO.js";import{Mi as f,Mt as p,Wi as m,ea as h,p as g,tn as _,ua as v}from"./api-Cp9I7CxD.js";import{A as y,B as b,C as x,D as S,E as C,F as w,H as T,I as E,L as D,M as O,N as k,O as A,P as j,R as M,S as N,T as P,V as F,_ as I,a as L,b as R,c as ee,d as te,f as ne,g as z,h as re,i as ie,k as ae,l as oe,m as se,n as ce,o as le,p as ue,r as de,s as fe,t as pe,u as me,v as he,x as ge,z as B}from"./task-utils-Cnq9Eszt.js";import{p as _e,t as V}from"./utils-CqsIXqSC.js";import{t as ve}from"./check-skFQ1X72.js";import{t as ye}from"./loader-circle-CrqRIqdA.js";import{a as be,i as xe,o as Se,r as Ce,s as we,t as Te}from"./dialog-D_12AsZd.js";import{t as Ee}from"./play-Dn1mbRpD.js";import{t as De}from"./plus-DoMzejDu.js";import{t as Oe}from"./x-ByOPrz5I.js";import{t as H}from"./button-DDaJhJP1.js";import{i as U,n as ke,r as Ae,t as je}from"./tooltip-CqwCZ7wt.js";import{t as W}from"./label-BCs5CZEs.js";import{n as Me,r as Ne}from"./scroll-area-DGF9wUqQ.js";import{t as Pe}from"./use-toast-CKgZ8YeP.js";import{t as G}from"./progress-indicator-hJ74ac5W.js";import{t as Fe}from"./query-keys-CcnonAAG.js";import{a as Ie,c as Le,i as Re,n as ze,o as Be,r as Ve,s as He,t as Ue}from"./alert-dialog-BcZULJsX.js";import{a as We,n as Ge,t as Ke}from"./suspense-resource-DzlMlIgR.js";import{t as qe}from"./use-suspense-resource-uCX26gOk.js";import{a as K,n as Je,o as q,r as J,t as Ye}from"./select-DMcNYwgt.js";import{$n as Xe,An as Ze,Bn as Qe,Bt as $e,Cn as et,Ct as tt,F as nt,G as rt,H as it,Ht as at,I as ot,In as st,Kn as ct,L as lt,Mt as ut,Nt as dt,Ot as ft,Pt as pt,R as mt,Rn as ht,St as gt,Tn as _t,Tt as vt,Un as yt,Vt as bt,_n as xt,br as St,gn as Ct,gr as wt,hn as Tt,in as Y,j as Et,jn as Dt,nr as Ot,on as kt,rn as At,s as jt,tn as Mt,tr as Nt,un as Pt,vr as Ft,w as It,xt as Lt,yt as Rt}from"./index-CcAwxnT5.js";import{t as zt}from"./async-error-boundary-CFVUPiuG.js";var X=e(n(),1),Z=t(),Q=r();function Bt(e){let t=(0,Z.c)(10),{tag:n,className:r}=e,i;t[0]===r?i=t[1]:(i=V(a.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,r),t[0]=r,t[1]=i);let o;t[2]===n.color?o=t[3]:(o=(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:n.color}}),t[2]=n.color,t[3]=o);let s;t[4]===n.name?s=t[5]:(s=(0,Q.jsx)(`span`,{className:`truncate`,children:n.name}),t[4]=n.name,t[5]=s);let c;return t[6]!==i||t[7]!==o||t[8]!==s?(c=(0,Q.jsxs)(`span`,{className:i,children:[o,s]}),t[6]=i,t[7]=o,t[8]=s,t[9]=c):c=t[9],c}function Vt(e){let t=(0,Z.c)(6),{className:n}=e,r;t[0]===n?r=t[1]:(r=V(a.compact,`inline-flex items-center gap-1 rounded-full bg-red-500/15 px-2 py-0.5 text-red-600 dark:text-red-400`,n),t[0]=n,t[1]=r);let i,o;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(ct,{className:`h-3 w-3 shrink-0`,"aria-hidden":`true`}),o=(0,Q.jsx)(`span`,{className:`truncate`,children:`paused`}),t[2]=i,t[3]=o):(i=t[2],o=t[3]);let s;return t[4]===r?s=t[5]:(s=(0,Q.jsxs)(`span`,{className:r,children:[i,o]}),t[4]=r,t[5]=s),s}var Ht={Plan:`#EAB308`,Build:`#3B82F6`,Test:`#8B5CF6`,Review:`#F97316`,Done:`#22C55E`};function Ut(e){let t=(0,Z.c)(10),{status:n,className:r}=e,i;t[0]===r?i=t[1]:(i=V(a.compact,`inline-flex items-center gap-1 rounded-full border border-border/50 bg-background px-2 py-0.5`,r),t[0]=r,t[1]=i);let o=Ht[n],s;t[2]===o?s=t[3]:(s=(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:o}}),t[2]=o,t[3]=s);let c;t[4]===n?c=t[5]:(c=(0,Q.jsx)(`span`,{className:`truncate`,children:n}),t[4]=n,t[5]=c);let l;return t[6]!==i||t[7]!==s||t[8]!==c?(l=(0,Q.jsxs)(`span`,{className:i,children:[s,c]}),t[6]=i,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}var Wt=c(`app.run-history-dialog`),Gt={schedule:{label:`Schedule`,icon:St},event:{label:`Event`,icon:xt},manual:{label:`Manual`,icon:Ee}};function Kt(e){return new Date(e).toLocaleString(void 0,{month:`short`,day:`numeric`,year:`numeric`,hour:`numeric`,minute:`2-digit`})}function qt(e){let t=(0,Z.c)(6),{trigger:n}=e,r=Gt[n],i=r.icon,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=V(a.compact,`inline-flex shrink-0 items-center gap-1 rounded-full border border-border px-1.5 py-0.5 text-muted-foreground`),t[0]=o):o=t[0];let s;t[1]===i?s=t[2]:(s=(0,Q.jsx)(i,{className:`h-3 w-3`}),t[1]=i,t[2]=s);let c;return t[3]!==r.label||t[4]!==s?(c=(0,Q.jsxs)(`span`,{className:o,children:[s,r.label]}),t[3]=r.label,t[4]=s,t[5]=c):c=t[5],c}function Jt(e){let t=(0,Z.c)(23),{run:n,canOpen:r,onOpenRun:i}=e,o=r?`hover:bg-accent/40`:`cursor-default`,s;t[0]===o?s=t[1]:(s=V(`flex w-full items-center gap-2 rounded-md px-2 py-2 text-left transition-colors`,o),t[0]=o,t[1]=s);let c;t[2]!==i||t[3]!==n?(c=()=>i(n),t[2]=i,t[3]=n,t[4]=c):c=t[4];let l=!r,u,d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(Xe,{className:`h-4 w-4 shrink-0 text-muted-foreground`}),d=V(a.body,`min-w-0 flex-1 truncate`),t[5]=u,t[6]=d):(u=t[5],d=t[6]);let f=n.threadTitle??`Conversation deleted`,p;t[7]===f?p=t[8]:(p=(0,Q.jsx)(`span`,{className:d,children:f}),t[7]=f,t[8]=p);let m;t[9]===n.trigger?m=t[10]:(m=(0,Q.jsx)(qt,{trigger:n.trigger}),t[9]=n.trigger,t[10]=m);let h;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=V(a.caption,`shrink-0 tabular-nums text-muted-foreground`),t[11]=h):h=t[11];let g;t[12]===n.createdAt?g=t[13]:(g=Kt(n.createdAt),t[12]=n.createdAt,t[13]=g);let _;t[14]===g?_=t[15]:(_=(0,Q.jsx)(`span`,{className:h,children:g}),t[14]=g,t[15]=_);let v;return t[16]!==_||t[17]!==s||t[18]!==c||t[19]!==l||t[20]!==p||t[21]!==m?(v=(0,Q.jsxs)(`button`,{type:`button`,className:s,onClick:c,disabled:l,children:[u,p,m,_]}),t[16]=_,t[17]=s,t[18]=c,t[19]=l,t[20]=p,t[21]=m,t[22]=v):v=t[22],v}function Yt(e){let t=(0,Z.c)(19),{open:n,onOpenChange:r,projectId:i,taskId:o,onOpenRun:s}=e,[c,l]=(0,X.useState)(null),[u,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(null),m,h;t[0]!==n||t[1]!==i||t[2]!==o?(m=()=>{if(!n)return;let e=!1;return d(!0),p(null),S(i,o).then(t=>{e||l(t)}).catch(t=>{Wt.error(`Failed to load task run history:`,t),e||p(t instanceof Error?t.message:String(t))}).finally(()=>{e||d(!1)}),()=>{e=!0}},h=[n,i,o],t[0]=n,t[1]=i,t[2]=o,t[3]=m,t[4]=h):(m=t[3],h=t[4]),(0,X.useEffect)(m,h);let g=!!s,_;t[5]!==r||t[6]!==s?(_=function(e){s&&(r(!1),s(e.threadId))},t[5]=r,t[6]=s,t[7]=_):_=t[7];let v=_,y;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Q.jsxs)(Se,{children:[(0,Q.jsx)(we,{children:`Run History`}),(0,Q.jsx)(xe,{children:`Conversations created when this task ran, newest first.`})]}),t[8]=y):y=t[8];let b;t[9]!==g||t[10]!==f||t[11]!==v||t[12]!==u||t[13]!==c?(b=(0,Q.jsxs)(Ce,{className:`flex max-h-[min(36rem,85vh)] flex-col sm:max-w-lg`,children:[y,u?(0,Q.jsxs)(`div`,{className:`flex items-center justify-center gap-2 py-8 text-muted-foreground`,children:[(0,Q.jsx)(ye,{className:`h-4 w-4 animate-spin`}),(0,Q.jsx)(`span`,{className:a.bodyMuted,children:`Loading runs…`})]}):f?(0,Q.jsxs)(`p`,{className:V(a.bodyMuted,`py-8 text-center text-destructive`),children:[`Failed to load run history: `,f]}):c&&c.length>0?(0,Q.jsx)(Ne,{className:`min-h-0 flex-1`,children:(0,Q.jsx)(`div`,{className:`space-y-1 py-2`,children:c.map(e=>(0,Q.jsx)(Jt,{run:e,canOpen:g&&!!e.threadTitle,onOpenRun:v},e.id))})}):(0,Q.jsx)(`p`,{className:V(a.bodyMuted,`py-8 text-center`),children:`No runs yet. Runs appear here after the task is triggered by its schedule, an event, or Run Now.`})]}),t[9]=g,t[10]=f,t[11]=v,t[12]=u,t[13]=c,t[14]=b):b=t[14];let x;return t[15]!==r||t[16]!==n||t[17]!==b?(x=(0,Q.jsx)(Te,{open:n,onOpenChange:r,children:b}),t[15]=r,t[16]=n,t[17]=b,t[18]=x):x=t[18],x}function Xt(e){let t=(0,Z.c)(6);if(!e.show)return null;let n;return t[0]!==e.onOpenChange||t[1]!==e.onOpenRun||t[2]!==e.open||t[3]!==e.task.id||t[4]!==e.task.projectId?(n=(0,Q.jsx)(Yt,{open:e.open,onOpenChange:e.onOpenChange,projectId:e.task.projectId,taskId:e.task.id,onOpenRun:e.onOpenRun}),t[0]=e.onOpenChange,t[1]=e.onOpenRun,t[2]=e.open,t[3]=e.task.id,t[4]=e.task.projectId,t[5]=n):n=t[5],n}function Zt(e){let t=(0,Z.c)(3),{show:n,onSelect:r}=e;if(!n)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(kt,{}),t[0]=i):i=t[0];let a;return t[1]===r?a=t[2]:(a=(0,Q.jsxs)(Q.Fragment,{children:[i,(0,Q.jsx)(Y,{onClick:r,children:`Run History`})]}),t[1]=r,t[2]=a),a}function Qt({task:e,disabled:t=!1,showRunHistory:n=!1,triggerClassName:r,onStartInNewWorkspace:i,onMarkDone:a,onRunNow:o,onActingChange:s,onOpenRun:c}){let[l,u]=(0,X.useState)(!1),[d,f]=(0,X.useState)(!1),p=j(e)&&!e.triggerType,m=e.status!==`Done`&&!e.triggerType,h=w(e),g=t||l;async function _(e){u(!0),s?.(!0);try{await e()}finally{u(!1),s?.(!1)}}return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`div`,{className:`flex items-center gap-1.5`,children:(0,Q.jsxs)(Mt,{children:[(0,Q.jsx)(Pt,{asChild:!0,children:(0,Q.jsxs)(H,{variant:`outline`,size:`icon-md`,className:V(`shrink-0`,`sm:data-[state=open]:opacity-100 sm:data-[state=open]:pointer-events-auto`,e.working&&`text-primary`,r),disabled:g,children:[(0,Q.jsx)(wt,{className:`h-4 w-4`}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Task actions`})]})}),(0,Q.jsxs)(At,{align:`end`,children:[h&&(0,Q.jsx)(Y,{onClick:()=>void _(()=>o(e)),children:`Run Now`}),p&&(0,Q.jsx)(Y,{onClick:()=>void _(()=>i(e)),children:`Start in a new workspace`}),m&&(0,Q.jsx)(Y,{onClick:()=>void _(()=>a(e)),children:`Mark as Done`}),(0,Q.jsx)(Zt,{show:n,onSelect:()=>f(!0)})]})]})}),(0,Q.jsx)(Xt,{show:n,open:d,onOpenChange:f,task:e,onOpenRun:c})]})}function $t(e){return!!(e.tags&&e.tags.length>0)}var en=`transition-opacity sm:opacity-0 sm:pointer-events-none sm:can-hover:group-hover/task-row:opacity-100 sm:can-hover:group-hover/task-row:pointer-events-auto focus-visible:opacity-100 focus-visible:pointer-events-auto`;function tn(e,t=!1,n=!1){return e.status!==`Ready`||e.modified||!t&&!n&&$t(e)||D(e)}function nn(e){let t=(0,Z.c)(16),{task:n,className:r,compact:i,hideTags:a}=e,o=i!==void 0&&i,s=a!==void 0&&a,c;t[0]===n.status?c=t[1]:(c=n.status!==`Ready`&&(0,Q.jsx)(Ut,{status:n.status}),t[0]=n.status,t[1]=c);let l;t[2]===n.modified?l=t[3]:(l=n.modified&&(0,Q.jsx)(`span`,{className:`inline-flex items-center rounded-full bg-brand/15 px-2 py-0.5 text-[11px] font-medium leading-none text-brand`,children:`modified`}),t[2]=n.modified,t[3]=l);let u;t[4]===n?u=t[5]:(u=D(n)&&(0,Q.jsx)(Vt,{}),t[4]=n,t[5]=u);let d;t[6]!==o||t[7]!==s||t[8]!==n.tags?(d=!o&&!s&&n.tags?.map(function(e){return(0,Q.jsx)(Bt,{tag:e},e.id)}),t[6]=o,t[7]=s,t[8]=n.tags,t[9]=d):d=t[9];let f;return t[10]!==r||t[11]!==c||t[12]!==l||t[13]!==u||t[14]!==d?(f=(0,Q.jsxs)(`div`,{className:r,children:[c,l,u,d]}),t[10]=r,t[11]=c,t[12]=l,t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function rn(e){let t=(0,Z.c)(16),{icon:n,label:r,onClick:i,className:a}=e,o;t[0]===a?o=t[1]:(o=V(`shrink-0`,a),t[0]=a,t[1]=o);let s;t[2]===n?s=t[3]:(s=(0,Q.jsx)(n,{className:`h-4 w-4`}),t[2]=n,t[3]=s);let c;t[4]===r?c=t[5]:(c=(0,Q.jsx)(`span`,{className:`sr-only`,children:r}),t[4]=r,t[5]=c);let l;t[6]!==i||t[7]!==o||t[8]!==s||t[9]!==c?(l=(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsxs)(H,{variant:`outline`,size:`icon-md`,className:o,onClick:i,children:[s,c]})}),t[6]=i,t[7]=o,t[8]=s,t[9]=c,t[10]=l):l=t[10];let u;t[11]===r?u=t[12]:(u=(0,Q.jsx)(ke,{children:r}),t[11]=r,t[12]=u);let d;return t[13]!==l||t[14]!==u?(d=(0,Q.jsxs)(je,{children:[l,u]}),t[13]=l,t[14]=u,t[15]=d):d=t[15],d}function an(e){let t=(0,Z.c)(6),{task:n,className:r,onThreadSelect:i}=e,a=n.threadId;if(!a||!i)return null;let o;t[0]!==i||t[1]!==a?(o=()=>i(a),t[0]=i,t[1]=a,t[2]=o):o=t[2];let s;return t[3]!==r||t[4]!==o?(s=(0,Q.jsx)(rn,{icon:Dt,label:`Open chat`,className:r,onClick:o}),t[3]=r,t[4]=o,t[5]=s):s=t[5],s}function on(e){let t=(0,Z.c)(9),{task:n,onOpenEdit:r,onThreadSelect:i,className:a,hideOpenChat:o}=e,s=o!==void 0&&o,c=n.threadId;if(c&&i){if(s)return null;let e;t[0]!==i||t[1]!==c?(e=()=>i(c),t[0]=i,t[1]=c,t[2]=e):e=t[2];let n;return t[3]!==a||t[4]!==e?(n=(0,Q.jsx)(rn,{icon:Dt,label:`Open chat`,className:a,onClick:e}),t[3]=a,t[4]=e,t[5]=n):n=t[5],n}let l;return t[6]!==r||t[7]!==n?(l=(0,Q.jsx)(rn,{icon:Ze,label:`Edit task`,onClick:()=>r(n)}),t[6]=r,t[7]=n,t[8]=l):l=t[8],l}function sn(e){let t=(0,Z.c)(20),{task:n,className:r,showRunHistory:i,showOpenChat:a,isActing:o,onActingChange:s,onThreadSelect:c,onStartInNewWorkspace:l,onMarkDone:u,onRunNow:d,onOpenRun:f}=e,p=(o||n.working)&&!i,m;t[0]===p?m=t[1]:(m=p&&(0,Q.jsx)(G,{size:`sm`}),t[0]=p,t[1]=m);let h;t[2]!==c||t[3]!==a||t[4]!==i||t[5]!==n?(h=a&&!i&&(0,Q.jsx)(an,{task:n,className:en,onThreadSelect:c}),t[2]=c,t[3]=a,t[4]=i,t[5]=n,t[6]=h):h=t[6];let g;t[7]!==s||t[8]!==u||t[9]!==f||t[10]!==d||t[11]!==l||t[12]!==i||t[13]!==n?(g=(0,Q.jsx)(Qt,{task:n,showRunHistory:i,onStartInNewWorkspace:l,onMarkDone:u,onRunNow:d,onActingChange:s,onOpenRun:f,triggerClassName:en}),t[7]=s,t[8]=u,t[9]=f,t[10]=d,t[11]=l,t[12]=i,t[13]=n,t[14]=g):g=t[14];let _;return t[15]!==r||t[16]!==m||t[17]!==h||t[18]!==g?(_=(0,Q.jsxs)(`div`,{className:r,children:[m,h,g]}),t[15]=r,t[16]=m,t[17]=h,t[18]=g,t[19]=_):_=t[19],_}function cn(e){let t=(0,Z.c)(6),n,r;t[0]===e?(n=t[1],r=t[2]):({viewMode:r,...n}=e,t[0]=e,t[1]=n,t[2]=r);let i;return t[3]!==n||t[4]!==r?(i=r===`list`?(0,Q.jsx)(un,{...n}):(0,Q.jsx)(ln,{...n}),t[3]=n,t[4]=r,t[5]=i):i=t[5],i}function ln(e){let t=(0,Z.c)(56),{task:n,now:r,onOpenEdit:i,showRunHistory:o,onThreadSelect:s,onStartInNewWorkspace:c,onMarkDone:l,onRunNow:u,onOpenRun:d,compact:f,hideTags:p}=e,m=f!==void 0&&f,h=p!==void 0&&p,g;t[0]!==r||t[1]!==n?(g=E(n,r),t[0]=r,t[1]=n,t[2]=g):g=t[2];let _=g,[v,y]=(0,X.useState)(!1),b=!!o&&(v||n.working),x;t[3]!==i||t[4]!==n?(x=()=>i(n),t[3]=i,t[4]=n,t[5]=x):x=t[5];let S;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(S=V(a.label,`truncate leading-normal`),t[6]=S):S=t[6];let C;t[7]===n.title?C=t[8]:(C=(0,Q.jsx)(`span`,{className:S,children:n.title}),t[7]=n.title,t[8]=C);let w;t[9]===b?w=t[10]:(w=b&&(0,Q.jsx)(G,{size:`sm`,className:`shrink-0`}),t[9]=b,t[10]=w);let T;t[11]!==C||t[12]!==w?(T=(0,Q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[C,w]}),t[11]=C,t[12]=w,t[13]=T):T=t[13];let D;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(D=V(a.caption,`mt-1 line-clamp-2 break-words text-muted-foreground max-sm:hidden`),t[14]=D):D=t[14];let O;t[15]===n.description?O=t[16]:(O=(0,Q.jsx)(`p`,{className:D,children:n.description}),t[15]=n.description,t[16]=O);let k;t[17]===_?k=t[18]:(k=_&&(0,Q.jsx)(`p`,{className:V(a.caption,`mt-1 text-muted-foreground`),children:_}),t[17]=_,t[18]=k);let A;t[19]!==m||t[20]!==h||t[21]!==n?(A=tn(n,m,h)&&(0,Q.jsx)(nn,{task:n,compact:m,hideTags:h,className:`mt-2 flex flex-wrap gap-1`}),t[19]=m,t[20]=h,t[21]=n,t[22]=A):A=t[22];let j;t[23]!==O||t[24]!==k||t[25]!==A||t[26]!==x||t[27]!==T?(j=(0,Q.jsxs)(`button`,{type:`button`,className:`col-start-1 row-start-1 block min-w-0 overflow-hidden text-left sm:flex-1`,onClick:x,children:[T,O,k,A]}),t[23]=O,t[24]=k,t[25]=A,t[26]=x,t[27]=T,t[28]=j):j=t[28];let M;t[29]!==i||t[30]!==n?(M=()=>i(n),t[29]=i,t[30]=n,t[31]=M):M=t[31];let N;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(N=V(a.caption,`line-clamp-4 break-words text-muted-foreground`),t[32]=N):N=t[32];let P;t[33]===n.description?P=t[34]:(P=(0,Q.jsx)(`p`,{className:N,children:n.description}),t[33]=n.description,t[34]=P);let F;t[35]!==M||t[36]!==P?(F=(0,Q.jsx)(`button`,{type:`button`,className:`col-span-2 row-start-2 block min-w-0 overflow-hidden text-left sm:hidden`,onClick:M,children:P}),t[35]=M,t[36]=P,t[37]=F):F=t[37];let I;t[38]!==m||t[39]!==h||t[40]!==n?(I=tn(n,m,h)&&(0,Q.jsx)(nn,{task:n,compact:m,hideTags:h,className:`col-span-2 row-start-3 flex min-w-0 flex-wrap gap-1 sm:hidden`}),t[38]=m,t[39]=h,t[40]=n,t[41]=I):I=t[41];let L;t[42]!==v||t[43]!==l||t[44]!==d||t[45]!==u||t[46]!==c||t[47]!==s||t[48]!==o||t[49]!==n?(L=(0,Q.jsx)(sn,{task:n,className:`col-start-2 row-start-1 flex shrink-0 items-center gap-1.5 self-start sm:absolute sm:right-4 sm:top-3 sm:z-10`,showRunHistory:o,showOpenChat:!0,isActing:v,onActingChange:y,onThreadSelect:s,onStartInNewWorkspace:c,onMarkDone:l,onRunNow:u,onOpenRun:d}),t[42]=v,t[43]=l,t[44]=d,t[45]=u,t[46]=c,t[47]=s,t[48]=o,t[49]=n,t[50]=L):L=t[50];let R;return t[51]!==j||t[52]!==F||t[53]!==I||t[54]!==L?(R=(0,Q.jsxs)(`div`,{className:`group/task-row relative grid min-w-0 grid-cols-[minmax(0,1fr)_auto] grid-rows-[auto_auto] gap-x-2 gap-y-1 px-4 py-3 hover:bg-accent/40 sm:flex sm:items-start sm:gap-4`,children:[j,F,I,L]}),t[51]=j,t[52]=F,t[53]=I,t[54]=L,t[55]=R):R=t[55],R}function un(e){let t=(0,Z.c)(42),{task:n,onOpenEdit:r,showRunHistory:i,onThreadSelect:o,onStartInNewWorkspace:s,onMarkDone:c,onRunNow:l,onOpenRun:u,compact:d,hideTags:f}=e,p=d!==void 0&&d,m=f!==void 0&&f,[h,g]=(0,X.useState)(!1),_=!!i&&(h||n.working),v;t[0]!==p||t[1]!==r||t[2]!==o||t[3]!==i||t[4]!==n?(v=!p&&(0,Q.jsx)(on,{task:n,onOpenEdit:r,onThreadSelect:o,hideOpenChat:i}),t[0]=p,t[1]=r,t[2]=o,t[3]=i,t[4]=n,t[5]=v):v=t[5];let y;t[6]!==r||t[7]!==n?(y=()=>r(n),t[6]=r,t[7]=n,t[8]=y):y=t[8];let b;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(b=V(a.captionForeground,`truncate leading-normal`),t[9]=b):b=t[9];let x;t[10]===n.title?x=t[11]:(x=(0,Q.jsx)(`span`,{className:b,children:n.title}),t[10]=n.title,t[11]=x);let S;t[12]===_?S=t[13]:(S=_&&(0,Q.jsx)(G,{size:`sm`,className:`shrink-0`}),t[12]=_,t[13]=S);let C;t[14]!==x||t[15]!==S?(C=(0,Q.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2`,children:[x,S]}),t[14]=x,t[15]=S,t[16]=C):C=t[16];let w;t[17]!==y||t[18]!==C?(w=(0,Q.jsx)(`button`,{type:`button`,className:`block min-w-0 flex-1 overflow-hidden text-left`,onClick:y,children:C}),t[17]=y,t[18]=C,t[19]=w):w=t[19];let T;t[20]!==p||t[21]!==m||t[22]!==n?(T=(D(n)||!p&&!m&&$t(n))&&(0,Q.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1`,children:[D(n)&&(0,Q.jsx)(Vt,{}),!p&&!m&&n.tags?.map(function(e){return(0,Q.jsx)(Bt,{tag:e},e.id)})]}),t[20]=p,t[21]=m,t[22]=n,t[23]=T):T=t[23];let E=p&&`absolute right-2 top-1/2 z-10 -translate-y-1/2`,O;t[24]===E?O=t[25]:(O=V(`flex shrink-0 items-center gap-1.5`,E),t[24]=E,t[25]=O);let k;t[26]!==p||t[27]!==h||t[28]!==c||t[29]!==u||t[30]!==l||t[31]!==s||t[32]!==o||t[33]!==i||t[34]!==O||t[35]!==n?(k=(0,Q.jsx)(sn,{task:n,className:O,showRunHistory:i,showOpenChat:p,isActing:h,onActingChange:g,onThreadSelect:o,onStartInNewWorkspace:s,onMarkDone:c,onRunNow:l,onOpenRun:u}),t[26]=p,t[27]=h,t[28]=c,t[29]=u,t[30]=l,t[31]=s,t[32]=o,t[33]=i,t[34]=O,t[35]=n,t[36]=k):k=t[36];let A;return t[37]!==T||t[38]!==k||t[39]!==v||t[40]!==w?(A=(0,Q.jsxs)(`div`,{className:`group/task-row relative flex min-w-0 items-center gap-3 px-4 py-2 hover:bg-accent/40`,children:[v,w,T,k]}),t[37]=T,t[38]=k,t[39]=v,t[40]=w,t[41]=A):A=t[41],A}function dn(e){let t=(0,Z.c)(53),{task:n,now:r,showRunHistory:i,onOpenEdit:o,onThreadSelect:s,onStartInNewWorkspace:c,onMarkDone:l,onRunNow:u,onOpenRun:d,compact:f,hideTags:p}=e,m=f!==void 0&&f,h=p!==void 0&&p,[g,_]=(0,X.useState)(!1),v;t[0]!==m||t[1]!==h||t[2]!==n?(v=tn(n,m,h),t[0]=m,t[1]=h,t[2]=n,t[3]=v):v=t[3];let y=v,b;t[4]!==r||t[5]!==n?(b=E(n,r),t[4]=r,t[5]=n,t[6]=b):b=t[6];let x=b,S;t[7]!==o||t[8]!==n?(S=function(e){e.target.closest(`button`)||o(n)},t[7]=o,t[8]=n,t[9]=S):S=t[9];let C=S,w;t[10]!==o||t[11]!==n?(w=function(e){(e.key===`Enter`||e.key===` `)&&(e.target.closest(`button`)||(e.preventDefault(),o(n)))},t[10]=o,t[11]=n,t[12]=w):w=t[12];let T=w,D;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(D=V(a.captionForeground,`group/task-row relative w-full cursor-pointer rounded-xl border border-border bg-background p-2 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none`),t[13]=D):D=t[13];let O=n.status===`Done`?`bg-emerald-500`:`bg-accent`,k;t[14]===O?k=t[15]:(k=V(`size-2 shrink-0 rounded-full`,O),t[14]=O,t[15]=k);let A;t[16]===k?A=t[17]:(A=(0,Q.jsx)(`span`,{className:k}),t[16]=k,t[17]=A);let j;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(j=V(a.captionForeground,`min-w-0 flex-1 truncate`),t[18]=j):j=t[18];let M;t[19]===n.title?M=t[20]:(M=(0,Q.jsx)(`span`,{className:j,children:n.title}),t[19]=n.title,t[20]=M);let N;t[21]!==A||t[22]!==M?(N=(0,Q.jsxs)(`div`,{className:`flex min-w-0 items-center gap-1.5 pr-20`,children:[A,M]}),t[21]=A,t[22]=M,t[23]=N):N=t[23];let P;t[24]!==g||t[25]!==l||t[26]!==d||t[27]!==u||t[28]!==c||t[29]!==s||t[30]!==i||t[31]!==n?(P=(0,Q.jsx)(sn,{task:n,className:`absolute right-2 top-2 z-10 flex items-center gap-0.5`,showRunHistory:i,showOpenChat:!0,isActing:g,onActingChange:_,onThreadSelect:s,onStartInNewWorkspace:c,onMarkDone:l,onRunNow:u,onOpenRun:d}),t[24]=g,t[25]=l,t[26]=d,t[27]=u,t[28]=c,t[29]=s,t[30]=i,t[31]=n,t[32]=P):P=t[32];let F;t[33]===n.description?F=t[34]:(F=n.description?(0,Q.jsx)(`div`,{className:`mt-0.5 min-w-0`,children:(0,Q.jsx)(`span`,{className:V(a.caption,`line-clamp-2`),children:n.description})}):null,t[33]=n.description,t[34]=F);let I;t[35]!==m||t[36]!==y||t[37]!==h||t[38]!==n?(I=y?(0,Q.jsx)(`div`,{className:`mt-1 flex flex-wrap gap-1`,children:(0,Q.jsx)(nn,{task:n,compact:m,hideTags:h,className:`min-w-0`})}):null,t[35]=m,t[36]=y,t[37]=h,t[38]=n,t[39]=I):I=t[39];let L;t[40]===x?L=t[41]:(L=x?(0,Q.jsx)(`div`,{className:`mt-1`,children:(0,Q.jsx)(`span`,{className:V(a.bodyMuted,`text-xs`),children:x})}):null,t[40]=x,t[41]=L);let R;t[42]===g?R=t[43]:(R=g?(0,Q.jsx)(G,{className:`absolute inset-x-0 bottom-0`}):null,t[42]=g,t[43]=R);let ee;return t[44]!==C||t[45]!==T||t[46]!==N||t[47]!==P||t[48]!==F||t[49]!==I||t[50]!==L||t[51]!==R?(ee=(0,Q.jsxs)(`div`,{role:`button`,tabIndex:0,className:D,onClick:C,onKeyDown:T,children:[N,P,F,I,L,R]}),t[44]=C,t[45]=T,t[46]=N,t[47]=P,t[48]=F,t[49]=I,t[50]=L,t[51]=R,t[52]=ee):ee=t[52],ee}function fn(e){let t=(0,Z.c)(31),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({column:n,hideTags:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let o=i!==void 0&&i,s=n.tag,c=n.tasks.length,[l,u]=(0,X.useState)(null),d=o?`Automations column`:s?`${s.name} column`:`No tags column`,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f={width:`17rem`},t[4]=f):f=t[4];let p;t[5]!==o||t[6]!==s?(p=!o&&s?(0,Q.jsx)(`span`,{className:`size-2 shrink-0 rounded-full`,style:{backgroundColor:s.color}}):null,t[5]=o,t[6]=s,t[7]=p):p=t[7];let m;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(m=V(a.body,`truncate`),t[8]=m):m=t[8];let h=o?`Automations`:s?s.name:`No tags`,g;t[9]===h?g=t[10]:(g=(0,Q.jsx)(`span`,{className:m,children:h}),t[9]=h,t[10]=g);let _;t[11]!==p||t[12]!==g?(_=(0,Q.jsxs)(`span`,{className:`flex min-w-0 max-w-full items-center gap-2 px-7`,children:[p,g]}),t[11]=p,t[12]=g,t[13]=_):_=t[13];let v=`${c} ${c===1?`task`:`tasks`}`,y;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(y=V(a.compact,`absolute right-0 inline-flex h-5 min-w-5 items-center justify-center rounded-full border border-input bg-transparent px-1 text-center tabular-nums`),t[14]=y):y=t[14];let b;t[15]!==c||t[16]!==v?(b=(0,Q.jsx)(`span`,{"aria-label":v,className:y,children:c}),t[15]=c,t[16]=v,t[17]=b):b=t[17];let x;t[18]!==b||t[19]!==_?(x=(0,Q.jsxs)(`div`,{className:`relative flex items-center justify-center px-0.5`,children:[_,b]}),t[18]=b,t[19]=_,t[20]=x):x=t[20];let S;t[21]!==n.tasks||t[22]!==c||t[23]!==o||t[24]!==r||t[25]!==l?(S=(0,Q.jsx)(`div`,{className:`mt-2 min-h-0 flex-1`,children:(0,Q.jsx)(Me,{className:`h-full rounded-xl bg-muted p-1.5`,viewportRef:u,children:c===0?(0,Q.jsx)(`p`,{className:V(a.bodyMuted,`p-2 pb-14 text-xs`),children:`No tasks`}):(0,Q.jsx)(vt,{customScrollParent:l??void 0,data:n.tasks,computeItemKey:pn,increaseViewportBy:200,itemContent:(e,t)=>(0,Q.jsx)(`div`,{className:`pb-1.5`,children:(0,Q.jsx)(dn,{task:t,hideTags:o,...r})})})})}),t[21]=n.tasks,t[22]=c,t[23]=o,t[24]=r,t[25]=l,t[26]=S):S=t[26];let C;return t[27]!==x||t[28]!==S||t[29]!==d?(C=(0,Q.jsxs)(`section`,{"aria-label":d,className:`flex min-w-0 shrink-0 snap-start flex-col`,style:f,children:[x,S]}),t[27]=x,t[28]=S,t[29]=d,t[30]=C):C=t[30],C}function pn(e,t){return t.id}function mn(e){let t=(0,Z.c)(10),n,r;t[0]===e?(n=t[1],r=t[2]):({columns:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;if(t[3]!==n||t[4]!==r){let e;t[6]===r?e=t[7]:(e=function(e){return(0,Q.jsx)(fn,{column:e,...r},e.tag?e.tag.id:`untagged`)},t[6]=r,t[7]=e),i=n.map(e),t[3]=n,t[4]=r,t[5]=i}else i=t[5];let a;return t[8]===i?a=t[9]:(a=(0,Q.jsx)(`div`,{className:`flex flex-1 snap-x snap-mandatory gap-3 overflow-x-auto scroll-smooth pb-14 pl-1 pt-1 motion-reduce:scroll-auto`,children:i}),t[8]=i,t[9]=a),a}function hn(e){let t=(0,Z.c)(32),{automationsOnly:n,onSearchTermChange:r}=e,[i,a]=(0,X.useState)(!1),[o,s]=(0,X.useState)(``),c;t[0]===r?c=t[1]:(c=function(e){s(e),r(e)},t[0]=r,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=function(){s(``),r(``),a(!1)},t[2]=r,t[3]=u);let d=u,f;t[4]!==d||t[5]!==i?(f=()=>{i?d():a(!0)},t[4]=d,t[5]=i,t[6]=f):f=t[6];let p;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(st,{className:`h-4 w-4`}),t[7]=p):p=t[7];let m=n?`Search automations`:`Search tasks`,h;t[8]===m?h=t[9]:(h=(0,Q.jsx)(`span`,{className:`sr-only`,children:m}),t[8]=m,t[9]=h);let g;t[10]!==i||t[11]!==f||t[12]!==h?(g=(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsxs)(H,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:f,"aria-expanded":i,children:[p,h]})}),t[10]=i,t[11]=f,t[12]=h,t[13]=g):g=t[13];let _=n?`Search Automations`:`Search tasks`,v;t[14]===_?v=t[15]:(v=(0,Q.jsx)(ke,{children:_}),t[14]=_,t[15]=v);let y;t[16]!==g||t[17]!==v?(y=(0,Q.jsxs)(je,{children:[g,v]}),t[16]=g,t[17]=v,t[18]=y):y=t[18];let b=i?`ml-1 w-44 opacity-100`:`w-0 opacity-0`,x;t[19]===b?x=t[20]:(x=V(`overflow-hidden transition-[width,opacity] duration-200`,b),t[19]=b,t[20]=x);let S;t[21]!==d||t[22]!==l||t[23]!==i||t[24]!==o?(S=i&&(0,Q.jsx)(Ct,{type:`search`,value:o,onChange:e=>l(e.target.value),onKeyDown:e=>{e.key===`Escape`&&d()},placeholder:`Search`,"aria-label":`Search tasks`,autoFocus:!0,className:`h-8 min-w-44 px-2`}),t[21]=d,t[22]=l,t[23]=i,t[24]=o,t[25]=S):S=t[25];let C;t[26]!==x||t[27]!==S?(C=(0,Q.jsx)(`div`,{className:x,children:S}),t[26]=x,t[27]=S,t[28]=C):C=t[28];let w;return t[29]!==y||t[30]!==C?(w=(0,Q.jsxs)(`div`,{className:`flex items-center`,children:[y,C]}),t[29]=y,t[30]=C,t[31]=w):w=t[31],w}var gn={summary:{next:`list`,icon:Nt,actionLabel:`Switch to list view`,tooltip:`List view`},list:{next:`kanban`,icon:Ft,actionLabel:`Switch to kanban view`,tooltip:`Kanban view`},kanban:{next:`summary`,icon:ht,actionLabel:`Switch to summary view`,tooltip:`Summary view`}};function _n(e){let t=(0,Z.c)(16),{automationsOnly:n,viewMode:r,onViewModeChange:i}=e,a=gn[n&&r===`list`?`kanban`:r],o=a.icon,s;t[0]!==i||t[1]!==a.next?(s=function(){i(a.next)},t[0]=i,t[1]=a.next,t[2]=s):s=t[2];let c;t[3]===o?c=t[4]:(c=(0,Q.jsx)(o,{className:`h-4 w-4`}),t[3]=o,t[4]=c);let l;t[5]===a.actionLabel?l=t[6]:(l=(0,Q.jsx)(`span`,{className:`sr-only`,children:a.actionLabel}),t[5]=a.actionLabel,t[6]=l);let u;t[7]!==s||t[8]!==c||t[9]!==l?(u=(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsxs)(H,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:s,children:[c,l]})}),t[7]=s,t[8]=c,t[9]=l,t[10]=u):u=t[10];let d;t[11]===a.tooltip?d=t[12]:(d=(0,Q.jsx)(ke,{children:a.tooltip}),t[11]=a.tooltip,t[12]=d);let f;return t[13]!==u||t[14]!==d?(f=(0,Q.jsxs)(je,{children:[u,d]}),t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function vn(e){let t=(0,Z.c)(19),{automationsOnly:n,compact:r,viewMode:i,projectTags:a,selectedTagIds:o,onToggleSelectedTag:s,onClearSelectedTags:c,onSearchTermChange:l,onViewModeChange:u,isRefreshing:d,onRefresh:f,onManageTags:p}=e,m=r!==void 0&&r,{setActions:h}=It(),g=o.size>0,_,v;t[0]!==n||t[1]!==m||t[2]!==g||t[3]!==d||t[4]!==c||t[5]!==p||t[6]!==f||t[7]!==l||t[8]!==s||t[9]!==u||t[10]!==a||t[11]!==o||t[12]!==h||t[13]!==i?(_=()=>{if(m){h(null);return}h((0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(hn,{automationsOnly:n,onSearchTermChange:l}),(0,Q.jsx)(_n,{automationsOnly:n,viewMode:i,onViewModeChange:u}),(0,Q.jsxs)(je,{children:[(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsxs)(H,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,onClick:()=>f(),disabled:d,children:[(0,Q.jsx)(Qe,{className:V(`h-4 w-4`,d&&`animate-spin`)}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Refresh tasks`})]})}),(0,Q.jsx)(ke,{children:`Refresh`})]}),!n&&(0,Q.jsxs)(Mt,{children:[(0,Q.jsxs)(je,{children:[(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsx)(Pt,{asChild:!0,children:(0,Q.jsxs)(H,{type:`button`,variant:`ghost`,size:`icon-sm`,className:`text-muted-foreground`,children:[(0,Q.jsxs)(`span`,{className:`relative`,children:[(0,Q.jsx)(_t,{className:`h-4 w-4`}),g&&(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`absolute -right-1 -top-1 h-1.5 w-1.5 rounded-full bg-primary`})]}),(0,Q.jsx)(`span`,{className:`sr-only`,children:`Filter and manage tags`})]})})}),(0,Q.jsx)(ke,{children:`Tags`})]}),(0,Q.jsxs)(At,{align:`end`,className:`max-h-[var(--radix-dropdown-menu-content-available-height)] w-56 overflow-y-auto`,children:[a.length===0?(0,Q.jsx)(Y,{disabled:!0,className:`text-muted-foreground`,children:`No tags yet`}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(Y,{disabled:!g,className:V(!g&&`text-muted-foreground`),onSelect:function(e){e.preventDefault(),c()},children:[(0,Q.jsx)(Ot,{className:`h-4 w-4`}),`Clear tags`]}),(0,Q.jsx)(kt,{}),a.map(function(e){let t=o.has(e.id);return(0,Q.jsxs)(Y,{className:`[&_svg]:size-6`,onSelect:function(t){t.preventDefault(),s(e.id)},children:[(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:e.name}),(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:V(`flex h-7 w-7 shrink-0 items-center justify-center rounded-full border shadow-sm`,t?`border-transparent bg-foreground text-background`:`border-border bg-muted`),children:t&&(0,Q.jsx)(ve,{className:`h-6 w-6`})})]},e.id)})]}),(0,Q.jsx)(kt,{}),(0,Q.jsxs)(Y,{onClick:p,children:[(0,Q.jsx)(yt,{className:`h-4 w-4`}),`Edit Tags`]})]})]})]}))},v=[h,n,m,i,a,o,g,s,c,d,f,p,l,u],t[0]=n,t[1]=m,t[2]=g,t[3]=d,t[4]=c,t[5]=p,t[6]=f,t[7]=l,t[8]=s,t[9]=u,t[10]=a,t[11]=o,t[12]=h,t[13]=i,t[14]=_,t[15]=v):(_=t[14],v=t[15]),(0,X.useEffect)(_,v);let y,b;return t[16]===h?(y=t[17],b=t[18]):(y=()=>function(){h(null)},b=[h],t[16]=h,t[17]=y,t[18]=b),(0,X.useEffect)(y,b),null}function yn(e,t,n){if(e===`edit`&&t){let e=ne(t);return{description:t.description,tags:t.tags??[],triggerForm:e,triggerCollapsed:!me(e)}}return{description:``,tags:[],triggerForm:n?fe():le(),triggerCollapsed:!n}}function bn(e){if(e.mode===`edit`)return e.task?ie({task:e.task,description:e.form.description,tagNames:e.form.tags.map(function(e){return e.name}),triggerForm:e.form.triggerForm,thread:e.thread}).kind!==`unchanged`:!1;let t=ue(e.form.triggerForm,fe());return!!(e.form.description.trim()||e.form.tags.length||!e.form.triggerCollapsed&&!t)}function xn(e,t){return e===`edit`?t?`Edit Automation`:`Edit Task`:t?`Add Automation`:`New Task`}var Sn=[{value:`0`,label:`Sunday`},{value:`1`,label:`Monday`},{value:`2`,label:`Tuesday`},{value:`3`,label:`Wednesday`},{value:`4`,label:`Thursday`},{value:`5`,label:`Friday`},{value:`6`,label:`Saturday`}],Cn=Array.from({length:60},function(e,t){return{value:String(t),label:String(t).padStart(2,`0`)}}),wn=`Add automation`;function $(e,t){return{...e,...t}}function Tn(e){let t=(0,Z.c)(7),{value:n,onChange:r}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,Q.jsx)(W,{htmlFor:`schedule-once-at`,children:`Run at`}),t[0]=i):i=t[0];let a;t[1]!==r||t[2]!==n?(a=e=>r($(n,{scheduledAtLocal:e.target.value})),t[1]=r,t[2]=n,t[3]=a):a=t[3];let o;return t[4]!==a||t[5]!==n.scheduledAtLocal?(o=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[i,(0,Q.jsx)(Ct,{id:`schedule-once-at`,type:`datetime-local`,value:n.scheduledAtLocal,onChange:a})]}),t[4]=a,t[5]=n.scheduledAtLocal,t[6]=o):o=t[6],o}function En(e){let t=e.trim();if(t===``)return NaN;let n=Number(t);return Number.isNaN(n)?NaN:n}function Dn(e){return Math.min(o,Math.max(1,e))}function On(e){let t=(0,Z.c)(9),{value:n,onChange:r}=e,i;t[0]!==r||t[1]!==n?(i=n.preset===`weekly`&&(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(W,{children:`Day`}),(0,Q.jsxs)(Ye,{value:String(n.dayOfWeek),onValueChange:e=>r($(n,{dayOfWeek:Number(e)})),children:[(0,Q.jsx)(K,{children:(0,Q.jsx)(q,{})}),(0,Q.jsx)(Je,{children:Sn.map(function(e){return(0,Q.jsx)(J,{value:e.value,children:e.label},e.value)})})]})]}),t[0]=r,t[1]=n,t[2]=i):i=t[2];let a;t[3]!==r||t[4]!==n?(a=n.preset===`interval`?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(W,{htmlFor:`schedule-interval-minutes`,children:`Minutes`}),(0,Q.jsx)(Ct,{id:`schedule-interval-minutes`,type:`number`,min:1,max:o,step:1,placeholder:`5`,value:Number.isNaN(n.presetIntervalMinutes)?``:String(n.presetIntervalMinutes),onChange:e=>r($(n,{presetIntervalMinutes:En(e.target.value)})),onBlur:()=>{let e=n.presetIntervalMinutes;!Number.isNaN(e)&&e!==Dn(e)&&r($(n,{presetIntervalMinutes:Dn(e)}))}})]}):n.preset===`hourly`?(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(W,{children:`Minute`}),(0,Q.jsxs)(Ye,{value:String(n.presetMinute),onValueChange:e=>r($(n,{presetMinute:Number(e)})),children:[(0,Q.jsx)(K,{children:(0,Q.jsx)(q,{})}),(0,Q.jsx)(Je,{children:Cn.map(function(e){return(0,Q.jsx)(J,{value:e.value,children:e.label},e.value)})})]})]}):(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[(0,Q.jsx)(W,{htmlFor:`schedule-time`,children:`Time`}),(0,Q.jsx)(Ct,{id:`schedule-time`,type:`time`,value:n.presetTime,onChange:e=>r($(n,{presetTime:e.target.value}))})]}),t[3]=r,t[4]=n,t[5]=a):a=t[5];let s;return t[6]!==i||t[7]!==a?(s=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[i,a]}),t[6]=i,t[7]=a,t[8]=s):s=t[8],s}var kn=`once`,An=`event`;function jn(e){let t=(0,Z.c)(16),{value:n,onChange:r,error:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(W,{children:`Trigger`}),t[0]=a):a=t[0];let o=n.kind===`event`?An:n.scheduleMode===`once`?kn:n.preset,s;t[1]!==r||t[2]!==n?(s=e=>{r(e===An?$(n,{kind:`event`}):e===kn?$(n,{kind:`schedule`,scheduleMode:`once`}):$(n,{kind:`schedule`,scheduleMode:`repeating`,preset:e}))},t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Q.jsx)(K,{children:(0,Q.jsx)(q,{})}),t[4]=c):c=t[4];let l;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsxs)(Je,{children:[(0,Q.jsx)(J,{value:kn,children:`Once`}),(0,Q.jsx)(J,{value:`interval`,children:`Interval`}),(0,Q.jsx)(J,{value:`hourly`,children:`Hourly`}),(0,Q.jsx)(J,{value:`daily`,children:`Daily`}),(0,Q.jsx)(J,{value:`weekdays`,children:`Weekdays`}),(0,Q.jsx)(J,{value:`weekly`,children:`Weekly`}),(0,Q.jsx)(J,{value:An,children:`Event`})]}),t[5]=l):l=t[5];let u;t[6]!==o||t[7]!==s?(u=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[a,(0,Q.jsxs)(Ye,{value:o,onValueChange:s,children:[c,l]})]}),t[6]=o,t[7]=s,t[8]=u):u=t[8];let d;t[9]!==i||t[10]!==r||t[11]!==n?(d=n.kind===`event`?(0,Q.jsx)(Fn,{value:n,onChange:r,error:i}):n.scheduleMode===`once`?(0,Q.jsx)(Tn,{value:n,onChange:r}):(0,Q.jsx)(On,{value:n,onChange:r}),t[9]=i,t[10]=r,t[11]=n,t[12]=d):d=t[12];let f;return t[13]!==u||t[14]!==d?(f=(0,Q.jsx)(`div`,{className:`space-y-3`,children:(0,Q.jsxs)(`div`,{className:`grid gap-3 sm:grid-cols-2`,children:[u,d]})}),t[13]=u,t[14]=d,t[15]=f):f=t[15],f}function Mn(e){return!!(e&&te(e))}var Nn=`custom`;function Pn(e){let t=s.find(t=>t.key===e.trim());return t?t.key:Nn}function Fn(e){let t=(0,Z.c)(30),{value:n,onChange:r,error:i}=e,o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,Q.jsx)(W,{children:`Event type`}),t[0]=o):o=t[0];let c;t[1]===n.eventKey?c=t[2]:(c=Pn(n.eventKey),t[1]=n.eventKey,t[2]=c);let l;t[3]!==r||t[4]!==n?(l=e=>r($(n,{eventKey:e===Nn?``:e})),t[3]=r,t[4]=n,t[5]=l):l=t[5];let u;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(K,{children:(0,Q.jsx)(q,{})}),t[6]=u):u=t[6];let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Q.jsxs)(Je,{children:[s.map(function(e){return(0,Q.jsx)(J,{value:e.key,children:e.label},e.key)}),(0,Q.jsx)(J,{value:Nn,children:`Custom event key`})]}),t[7]=d):d=t[7];let f;t[8]!==c||t[9]!==l?(f=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[o,(0,Q.jsxs)(Ye,{value:c,onValueChange:l,children:[u,d]})]}),t[8]=c,t[9]=l,t[10]=f):f=t[10];let p;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Q.jsx)(W,{htmlFor:`event-key`,children:`Event key`}),t[11]=p):p=t[11];let m=n.eventKey,h;t[12]===i?h=t[13]:(h=Mn(i),t[12]=i,t[13]=h);let g;t[14]!==r||t[15]!==n?(g=e=>r($(n,{eventKey:e.target.value})),t[14]=r,t[15]=n,t[16]=g):g=t[16];let _;t[17]!==g||t[18]!==h||t[19]!==n.eventKey?(_=(0,Q.jsx)(Ct,{id:`event-key`,value:m,placeholder:`door.opened`,"aria-invalid":h,onChange:g}),t[17]=g,t[18]=h,t[19]=n.eventKey,t[20]=_):_=t[20];let v;t[21]!==i||t[22]!==n.eventKey?(v=Mn(i)?(0,Q.jsx)(`p`,{className:V(a.caption,`text-destructive`),children:i}):(0,Q.jsxs)(`p`,{className:V(a.caption,`text-muted-foreground`),children:[`Test in chat with `,(0,Q.jsxs)(`code`,{children:[`/send-event `,n.eventKey.trim()||`event.key`]})]}),t[21]=i,t[22]=n.eventKey,t[23]=v):v=t[23];let y;t[24]!==_||t[25]!==v?(y=(0,Q.jsxs)(`div`,{className:`space-y-2`,children:[p,_,v]}),t[24]=_,t[25]=v,t[26]=y):y=t[26];let b;return t[27]!==y||t[28]!==f?(b=(0,Q.jsxs)(`div`,{className:`space-y-3`,children:[f,y]}),t[27]=y,t[28]=f,t[29]=b):b=t[29],b}function In(e){let t=(0,Z.c)(3),{error:n,kind:r}=e;if(!n||r===`event`)return null;let i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=V(a.caption,`text-destructive`),t[0]=i):i=t[0];let o;return t[1]===n?o=t[2]:(o=(0,Q.jsx)(`p`,{className:i,children:n}),t[1]=n,t[2]=o),o}function Ln(e){let t=(0,Z.c)(14),{value:n,onChange:r,error:i}=e,o=i===void 0?null:i,s;t[0]!==o||t[1]!==r||t[2]!==n?(s=(0,Q.jsx)(jn,{value:n,onChange:r,error:o}),t[0]=o,t[1]=r,t[2]=n,t[3]=s):s=t[3];let c;t[4]!==o||t[5]!==n.kind?(c=(0,Q.jsx)(In,{error:o,kind:n.kind}),t[4]=o,t[5]=n.kind,t[6]=c):c=t[6];let l;t[7]!==r||t[8]!==n?(l=n.kind!==`manual`&&(0,Q.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n.kind!==`event`&&(0,Q.jsxs)(`p`,{className:V(a.caption,`text-muted-foreground`),children:[`Timezone: `,n.timezone]}),(0,Q.jsxs)(`div`,{className:`ml-auto flex items-center gap-3`,children:[(0,Q.jsx)(rt,{id:`trigger-paused`,value:!n.enabled,onChange:function(e){r($(n,{enabled:!e}))},ariaLabel:n.enabled?`Pause automation`:`Resume automation`}),(0,Q.jsx)(W,{htmlFor:`trigger-paused`,className:V(a.labelNormal,`cursor-pointer`),children:`Paused`})]})]}),t[7]=r,t[8]=n,t[9]=l):l=t[9];let u;return t[10]!==s||t[11]!==c||t[12]!==l?(u=(0,Q.jsxs)(`div`,{className:`mt-4 space-y-4 rounded-lg border border-border p-4`,children:[s,c,l]}),t[10]=s,t[11]=c,t[12]=l,t[13]=u):u=t[13],u}function Rn(e){let t=(0,Z.c)(3),n;return t[0]!==e.controller.addTrigger||t[1]!==e.controller.isSaving?(n=(0,Q.jsx)(H,{type:`button`,variant:`outline`,disabled:e.controller.isSaving,onClick:e.controller.addTrigger,children:wn}),t[0]=e.controller.addTrigger,t[1]=e.controller.isSaving,t[2]=n):n=t[2],n}function zn(e){let t=(0,Z.c)(5),n;t[0]===e.controller?n=t[1]:(n=function(){e.controller.deleteTask()},t[0]=e.controller,t[1]=n);let r=n,i;return t[2]!==r||t[3]!==e.controller.isSaving?(i=(0,Q.jsx)(H,{variant:`destructive`,onClick:r,disabled:e.controller.isSaving,children:`Delete`}),t[2]=r,t[3]=e.controller.isSaving,t[4]=i):i=t[4],i}function Bn(e){let t=(0,Z.c)(9),n;t[0]===e.controller?n=t[1]:(n=function(){e.controller.runNow()},t[0]=e.controller,t[1]=n);let r=n,i;t[2]!==e.controller.form||t[3]!==e.controller.isSaving?(i=e.controller.isSaving||!e.controller.form.description.trim(),t[2]=e.controller.form,t[3]=e.controller.isSaving,t[4]=i):i=t[4];let a;return t[5]!==r||t[6]!==e.controller.isSaving||t[7]!==i?(a=(0,Q.jsx)(H,{type:`button`,variant:`outline`,onClick:r,disabled:i,"aria-busy":e.controller.isSaving,children:`Run Now`}),t[5]=r,t[6]=e.controller.isSaving,t[7]=i,t[8]=a):a=t[8],a}function Vn(e){let t=(0,Z.c)(11),n=e.mode===`edit`,r;t[0]===e.controller?r=t[1]:(r=function(){e.controller.save()},t[0]=e.controller,t[1]=r);let i=r,a;t[2]!==e.controller.form||t[3]!==e.controller.isSaving?(a=e.controller.isSaving||!e.controller.form.description.trim(),t[2]=e.controller.form,t[3]=e.controller.isSaving,t[4]=a):a=t[4];let o=n?`w-auto`:void 0,s=n?`Save`:`Add`,c;return t[5]!==i||t[6]!==e.controller.isSaving||t[7]!==a||t[8]!==o||t[9]!==s?(c=(0,Q.jsx)(H,{onClick:i,disabled:a,"aria-busy":e.controller.isSaving,className:o,children:s}),t[5]=i,t[6]=e.controller.isSaving,t[7]=a,t[8]=o,t[9]=s,t[10]=c):c=t[10],c}function Hn(e){let t=(0,Z.c)(22),n=e.mode===`edit`,r=e.automationsOnly&&e.controller.form.triggerCollapsed,i=n?`flex-row shrink-0 justify-between gap-2 sm:justify-between sm:gap-0`:`shrink-0`,a=n?`flex items-center gap-2`:void 0,o;t[0]!==n||t[1]!==e.controller?(o=n?(0,Q.jsx)(zn,{controller:e.controller}):null,t[0]=n,t[1]=e.controller,t[2]=o):o=t[2];let s;t[3]!==r||t[4]!==e.controller?(s=r?(0,Q.jsx)(Rn,{controller:e.controller}):null,t[3]=r,t[4]=e.controller,t[5]=s):s=t[5];let c;t[6]!==n||t[7]!==e.automationsOnly||t[8]!==e.controller?(c=n&&e.automationsOnly?(0,Q.jsx)(Bn,{controller:e.controller}):null,t[6]=n,t[7]=e.automationsOnly,t[8]=e.controller,t[9]=c):c=t[9];let l;t[10]!==e.controller||t[11]!==e.mode?(l=(0,Q.jsx)(Vn,{mode:e.mode,controller:e.controller}),t[10]=e.controller,t[11]=e.mode,t[12]=l):l=t[12];let u;t[13]!==a||t[14]!==s||t[15]!==c||t[16]!==l?(u=(0,Q.jsxs)(`div`,{className:a,children:[s,c,l]}),t[13]=a,t[14]=s,t[15]=c,t[16]=l,t[17]=u):u=t[17];let d;return t[18]!==i||t[19]!==o||t[20]!==u?(d=(0,Q.jsxs)(be,{className:i,children:[o,u]}),t[18]=i,t[19]=o,t[20]=u,t[21]=d):d=t[21],d}function Un({selectedTags:e,existingTags:t,onChange:n,placeholder:r=`Add tags...`,allowCreate:i=!0,className:o}){let[s,c]=(0,X.useState)(``),[l,u]=(0,X.useState)(!1),[d,p]=(0,X.useState)(0),m=(0,X.useRef)(null),g=(0,X.useMemo)(()=>new Set(e.map(e=>b(e.name))),[e]),_=e.length>=10,v=(0,X.useMemo)(()=>{let e=s.trim(),n=e.toLowerCase(),r=new Map;for(let e of t){let t=b(e.name);g.has(t)||r.set(t,{name:e.name,color:e.color})}for(let e of M){let t=b(e);!g.has(t)&&!r.has(t)&&r.set(t,{name:e,color:B(t)})}let a=(n?[...r.values()].filter(e=>e.name.toLowerCase().includes(n)):[...r.values()]).map(e=>({name:e.name,color:e.color,isCreate:!1}));if(e&&i&&!_){let t=F(e),n=b(t),i=g.has(n)||r.has(n),o=!T(t);!i&&o&&a.push({name:t,color:B(n),isCreate:!0})}return a},[s,t,g,_]);(0,X.useEffect)(()=>{p(0)},[s]),(0,X.useEffect)(function(){if(!l||_)return;let e=requestAnimationFrame(function(){m.current?.focus()});return function(){cancelAnimationFrame(e)}},[l,_]);function y(r){if(_)return;let i=F(r),a=b(i);if(g.has(a))return;let o=t.find(e=>b(e.name)===a)??{id:`new:${a}`,name:i,color:B(a)};n([...e,o]),h(o.name),c(``)}function x(){let e=f();if(!e)return null;let n=b(e);if(g.has(n))return null;let r=t.find(e=>b(e.name)===n);return r?r.name:M.find(e=>b(e)===n)||(i&&!T(F(e))?F(e):null)}function S(t){n(e.filter(e=>e.id!==t.id))}function C(e){let t=e.currentTarget;t.scrollHeight>t.clientHeight&&e.stopPropagation()}function w(t){if(t.key===`ArrowDown`)t.preventDefault(),l||u(!0),p(e=>(e+1)%Math.max(v.length,1));else if(t.key===`ArrowUp`)t.preventDefault(),p(e=>(e-1+v.length)%Math.max(v.length,1));else if(t.key===`Enter`){t.preventDefault();let e=v[d];e&&y(e.name)}else t.key===`Backspace`&&!s&&e.length>0?S(e[e.length-1]):t.key===`Escape`&&(u(!1),m.current?.blur())}return(0,Q.jsxs)(Lt,{open:l,onOpenChange:function(e){u(e),c(e?x()??``:``)},children:[(0,Q.jsxs)(`div`,{className:V(`flex flex-wrap items-center gap-1.5`,o),children:[e.map(function(e){return(0,Q.jsxs)(Mt,{children:[(0,Q.jsx)(Pt,{asChild:!0,children:(0,Q.jsx)(`button`,{type:`button`,className:`rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring`,children:(0,Q.jsx)(Bt,{tag:e,className:`cursor-pointer transition-colors hover:border-border hover:bg-muted/40`})})}),(0,Q.jsx)(At,{align:`start`,sideOffset:6,children:(0,Q.jsx)(Y,{onSelect:()=>S(e),children:`Delete`})})]},e.id)}),(0,Q.jsx)(Ae,{children:(0,Q.jsxs)(je,{children:[(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsx)(tt,{asChild:!0,children:(0,Q.jsx)(H,{type:`button`,variant:`outline`,size:`icon-xs`,disabled:_,"aria-label":_?`Max 10 tags`:`Add tag`,className:V(`h-6 w-6 rounded-full border-dashed text-muted-foreground`,_&&`opacity-50`),children:(0,Q.jsx)(De,{className:`h-3 w-3`})})})}),(0,Q.jsx)(ke,{children:`Add Tag`})]})})]}),(0,Q.jsxs)(gt,{align:`start`,className:`w-72 p-0`,onOpenAutoFocus:e=>e.preventDefault(),children:[(0,Q.jsx)(`div`,{className:`border-b border-border p-2`,children:(0,Q.jsx)(`input`,{ref:m,type:`text`,value:s,onChange:function(e){c(e.target.value)},onKeyDown:w,placeholder:_?`Max 10 tags`:r,disabled:_,className:V(a.body,`w-full rounded-md border border-input bg-background px-3 py-2 outline-none placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50`)})}),(0,Q.jsx)(`div`,{className:`overflow-y-auto overscroll-contain`,style:{maxHeight:220},onWheel:C,onTouchMove:C,children:v.length===0?(0,Q.jsx)(`p`,{className:V(a.bodyMuted,`px-3 py-4 text-center`),children:_?`Tag limit reached`:`No tags found`}):v.map(function(e,t){return(0,Q.jsxs)(`button`,{type:`button`,className:V(a.body,`flex w-full items-center gap-2 px-3 py-2 text-left hover:bg-accent`,d===t&&`bg-accent`),onClick:function(){y(e.name),u(!1)},children:[(0,Q.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),e.isCreate?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`text-muted-foreground`,children:`Create`}),(0,Q.jsx)(`span`,{className:`truncate font-medium`,children:e.name})]}):(0,Q.jsx)(`span`,{className:`truncate`,children:e.name})]},e.isCreate?`create:${e.name}`:e.name)})})]})]})}function Wn(e){let t=(0,Z.c)(34),{controller:n}=e,r;t[0]===n?r=t[1]:(r=function(e){n.setDescription(e.target.value)},t[0]=n,t[1]=r);let i=r,a;t[2]===n?a=t[3]:(a=function(e){e.key===`Enter`&&(e.metaKey||e.ctrlKey)&&n.save()},t[2]=n,t[3]=a);let o=a,s;t[4]===n.isSaving?s=t[5]:(s=function(e){return(0,Q.jsx)(H,{type:`button`,variant:`ghost`,size:`icon`,"aria-label":e.label,onClick:e.onClick,disabled:e.disabled||n.isSaving,children:e.icon})},t[4]=n.isSaving,t[5]=s);let c=s,l;t[6]!==n.form.description||t[7]!==i||t[8]!==o?(l=(0,Q.jsx)(Tt,{placeholder:`Describe what needs to be done...`,value:n.form.description,onChange:i,rows:12,className:`max-h-[min(16rem,40svh)] resize-none pe-12 pb-10 text-base sm:max-h-none`,autoFocus:!0,onKeyDown:o}),t[6]=n.form.description,t[7]=i,t[8]=o,t[9]=l):l=t[9];let u;t[10]!==n.form.tags||t[11]!==n.setTags||t[12]!==e.hideTags||t[13]!==e.projectTags?(u=!e.hideTags&&(0,Q.jsx)(Un,{selectedTags:n.form.tags,existingTags:e.projectTags,onChange:n.setTags,allowCreate:!1,className:`absolute bottom-3 start-3 max-w-[calc(100%-4rem)]`}),t[10]=n.form.tags,t[11]=n.setTags,t[12]=e.hideTags,t[13]=e.projectTags,t[14]=u):u=t[14];let d=e.thread.selectedThreadId??void 0,f=e.thread.selectedThreadModel?.provider,p=e.thread.selectedThreadModel?.id,m;t[15]!==n.handleSpeechTranscript||t[16]!==n.handleVoiceSessionStart||t[17]!==c||t[18]!==d||t[19]!==f||t[20]!==p?(m=(0,Q.jsx)(`div`,{className:`absolute bottom-3 end-3`,children:(0,Q.jsx)(it,{onTranscript:n.handleSpeechTranscript,onVoiceSessionStart:n.handleVoiceSessionStart,threadId:d,provider:f,model:p,children:c})}),t[15]=n.handleSpeechTranscript,t[16]=n.handleVoiceSessionStart,t[17]=c,t[18]=d,t[19]=f,t[20]=p,t[21]=m):m=t[21];let h;t[22]!==l||t[23]!==u||t[24]!==m?(h=(0,Q.jsxs)(`div`,{className:`relative`,children:[l,u,m]}),t[22]=l,t[23]=u,t[24]=m,t[25]=h):h=t[25];let g;t[26]!==n.form.triggerCollapsed||t[27]!==n.form.triggerForm||t[28]!==n.handleTriggerChange||t[29]!==n.triggerError?(g=!n.form.triggerCollapsed&&(0,Q.jsx)(Ln,{value:n.form.triggerForm,onChange:n.handleTriggerChange,error:n.triggerError}),t[26]=n.form.triggerCollapsed,t[27]=n.form.triggerForm,t[28]=n.handleTriggerChange,t[29]=n.triggerError,t[30]=g):g=t[30];let _;return t[31]!==g||t[32]!==h?(_=(0,Q.jsx)(Ne,{type:`auto`,className:`min-h-0 flex-1`,children:(0,Q.jsxs)(`div`,{className:`py-2 pl-1`,children:[h,g]})}),t[31]=g,t[32]=h,t[33]=_):_=t[33],_}function Gn(e){let t=(0,Z.c)(7);if(e.mode===`edit`){let n;return t[0]===e.title?n=t[1]:(n=(0,Q.jsx)(we,{children:e.title}),t[0]=e.title,t[1]=n),n}let n;t[2]===e.title?n=t[3]:(n=(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsx)(we,{className:`w-fit cursor-help`,children:e.title})}),t[2]=e.title,t[3]=n);let r;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,Q.jsx)(ke,{side:`top`,className:`max-w-xs`,children:`A title will be generated automatically from your description.`}),t[4]=r):r=t[4];let i;return t[5]===n?i=t[6]:(i=(0,Q.jsxs)(je,{children:[n,r]}),t[5]=n,t[6]=i),i}function Kn(e){let t=(0,Z.c)(20),n=e.automationsOnly?`automation`:`task`,r=e.mode===`edit`?`Save your changes?`:`Save your ${n}?`,i;t[0]===r?i=t[1]:(i=(0,Q.jsx)(Le,{children:r}),t[0]=r,t[1]=i);let a;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Q.jsx)(Ie,{children:`You have unsaved changes. Would you like to save them before closing?`}),t[2]=a):a=t[2];let o;t[3]===i?o=t[4]:(o=(0,Q.jsxs)(He,{children:[i,a]}),t[3]=i,t[4]=o);let s;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(Ve,{children:`Keep editing`}),t[5]=s):s=t[5];let c;t[6]===e.controller.discardChanges?c=t[7]:(c=(0,Q.jsx)(ze,{onClick:e.controller.discardChanges,children:`Discard`}),t[6]=e.controller.discardChanges,t[7]=c);let l;t[8]===e.controller.saveBeforeClose?l=t[9]:(l=(0,Q.jsx)(ze,{onClick:e.controller.saveBeforeClose,children:`Save`}),t[8]=e.controller.saveBeforeClose,t[9]=l);let u;t[10]!==c||t[11]!==l?(u=(0,Q.jsxs)(Be,{children:[s,c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12];let d;t[13]!==o||t[14]!==u?(d=(0,Q.jsxs)(Re,{children:[o,u]}),t[13]=o,t[14]=u,t[15]=d):d=t[15];let f;return t[16]!==e.controller.confirmClose||t[17]!==e.controller.setConfirmClose||t[18]!==d?(f=(0,Q.jsx)(Ue,{open:e.controller.confirmClose,onOpenChange:e.controller.setConfirmClose,children:d}),t[16]=e.controller.confirmClose,t[17]=e.controller.setConfirmClose,t[18]=d,t[19]=f):f=t[19],f}var qn=c(`app.task-list.dialog`);function Jn(e){return e.map(function(e){return e.name})}async function Yn(e,t){let n=L({selectedThreadId:e.thread.selectedThreadId,selectedThreadModel:e.thread.selectedThreadModel,selectedThread:e.thread.selectedThread});if(e.mode===`edit`){if(!e.task)return{kind:`unchanged`};let r=ie({task:e.task,description:t.description,tagNames:Jn(t.tags),triggerForm:t.triggerForm,thread:n});if(r.kind===`unchanged`)return r;let i=await O(e.projectId,e.task.id,r.payload);return{kind:`updated`,task:i,tagsChanged:r.tagsChanged,completedChanged:e.task.status===`Done`!=(i.status===`Done`)}}let r=de({description:t.description,tagNames:Jn(t.tags),triggerCollapsed:t.triggerCollapsed,triggerForm:t.triggerForm,thread:n});return{kind:`created`,task:await ge(e.projectId,r.description,r.context),generationContext:r.context}}function Xn(e,t){if(t.kind===`updated`){e.onTaskSaved?.(t.task,{tagsChanged:t.tagsChanged,completedChanged:t.completedChanged});return}t.kind===`created`&&(e.onTaskCreated?.(t.task),P(e.projectId,t.task.id,{...t.generationContext,expectedTitle:t.task.title}).then(function(t){e.onTaskUpdated?.(t)}).catch(function(e){qn.error(`Failed to generate task title:`,e)}))}function Zn(e){let t=e.task??null,[n,r]=(0,X.useState)(``),[i,a]=(0,X.useState)([]),[o,s]=(0,X.useState)(le),[c,l]=(0,X.useState)(!0),[u,d]=(0,X.useState)(null),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(!1),g=(0,X.useRef)(``),_=(0,X.useRef)(lt()),v={description:n,tags:i,triggerForm:o,triggerCollapsed:c};(0,X.useEffect)(function(){g.current=n},[n]),(0,X.useEffect)(function(){if(!e.open)return;let n=yn(e.mode,t,e.automationsOnly);r(n.description),a(n.tags),s(n.triggerForm),l(n.triggerCollapsed),d(null),p(!1),_.current=lt()},[e.automationsOnly,e.mode,e.open,t]);function y(){return L({selectedThreadId:e.thread.selectedThreadId,selectedThreadModel:e.thread.selectedThreadModel,selectedThread:e.thread.selectedThread})}let b=(0,X.useCallback)(function(){_.current=lt()},[]),S=(0,X.useCallback)(function(e,t){if(t?.replace){let t=_.current;r(n=>ot(n,t,e));return}let n=mt(_.current,g.current,e);r(t=>nt(t,e,n))},[]);function C(e){s(e),d(null)}function w(){l(!1),s(fe())}function T(n){if(n){e.onOpenChange(!0);return}if(bn({mode:e.mode,task:t,form:v,thread:y()})){p(!0);return}d(null),e.onOpenChange(!1)}function E(){p(!1),e.onOpenChange(!1)}function D(){if(!n.trim())return!1;let t=e.getTriggerValidationError(c,o);return d(t),t===null}async function O(n=!1){if(n&&(!e.onRunNow||e.mode!==`edit`||!t)||!D())return!1;h(!0);try{let r=await Yn(e,v);if(Xn(e,r),n&&e.onRunNow){let n=r.kind===`updated`?r.task:t;if(!n)return!1;await e.onRunNow(n)}return e.onOpenChange(!1),!0}catch(t){let r=n?`Failed to start automation`:e.mode===`edit`?`Failed to save task`:`Failed to add task`;return d(ee(t,r)),qn.error(`${r}:`,t),!1}finally{h(!1)}}async function k(e){e.preventDefault(),await O()&&p(!1)}async function A(){if(t&&e.mode===`edit`){h(!0);try{await x(e.projectId,t.id),e.onTaskDeleted?.(t.id),e.onOpenChange(!1)}catch(e){qn.error(`Failed to delete task:`,e)}finally{h(!1)}}}return{form:v,triggerError:u,confirmClose:f,isSaving:m,setDescription:r,setTags:a,setTriggerForm:s,setConfirmClose:p,handleVoiceSessionStart:b,handleSpeechTranscript:S,handleTriggerChange:C,addTrigger:w,handleOpenChange:T,discardChanges:E,saveBeforeClose:k,save:O,runNow:()=>O(!0),deleteTask:A}}function Qn(e){let t=(0,Z.c)(28),n=Zn(e),r=e.task??null,i=e.mode===`edit`,a;t[0]!==e.automationsOnly||t[1]!==e.mode?(a=xn(e.mode,e.automationsOnly),t[0]=e.automationsOnly,t[1]=e.mode,t[2]=a):a=t[2];let o=a,s=e.open&&(!i||r!==null),c;t[3]!==e.mode||t[4]!==o?(c=(0,Q.jsx)(Se,{className:`shrink-0`,children:(0,Q.jsx)(Gn,{mode:e.mode,title:o})}),t[3]=e.mode,t[4]=o,t[5]=c):c=t[5];let l;t[6]!==n||t[7]!==e.automationsOnly||t[8]!==e.projectTags||t[9]!==e.thread?(l=(0,Q.jsx)(Wn,{controller:n,projectTags:e.projectTags,thread:e.thread,hideTags:e.automationsOnly}),t[6]=n,t[7]=e.automationsOnly,t[8]=e.projectTags,t[9]=e.thread,t[10]=l):l=t[10];let u;t[11]!==n||t[12]!==e.automationsOnly||t[13]!==e.mode?(u=(0,Q.jsx)(Hn,{mode:e.mode,automationsOnly:e.automationsOnly,controller:n}),t[11]=n,t[12]=e.automationsOnly,t[13]=e.mode,t[14]=u):u=t[14];let d;t[15]!==c||t[16]!==l||t[17]!==u?(d=(0,Q.jsxs)(Ce,{maximize:!0,className:`max-w-2xl flex flex-col overflow-hidden max-md:top-[max(1rem,env(safe-area-inset-top,0px))] max-md:max-h-[calc(100dvh-2rem)] max-md:translate-y-0 md:max-h-[calc(100svh-2rem)]`,children:[c,l,u]}),t[15]=c,t[16]=l,t[17]=u,t[18]=d):d=t[18];let f;t[19]!==n||t[20]!==e.automationsOnly||t[21]!==e.mode?(f=(0,Q.jsx)(Kn,{mode:e.mode,automationsOnly:e.automationsOnly,controller:n}),t[19]=n,t[20]=e.automationsOnly,t[21]=e.mode,t[22]=f):f=t[22];let p;return t[23]!==n.handleOpenChange||t[24]!==s||t[25]!==d||t[26]!==f?(p=(0,Q.jsxs)(Te,{open:s,onOpenChange:n.handleOpenChange,children:[d,f]}),t[23]=n.handleOpenChange,t[24]=s,t[25]=d,t[26]=f,t[27]=p):p=t[27],p}function $n({open:e,onOpenChange:t,projectId:n,tags:r,onTagsChanged:i}){let[o,s]=(0,X.useState)(null),[c,l]=(0,X.useState)(``),[u,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(!1),[m,h]=(0,X.useState)(!1),[g,_]=(0,X.useState)(null),[v,y]=(0,X.useState)(null);function b(e){s(e.id),l(e.name),_(null)}function x(){s(null),l(``),_(null)}async function S(){let e=u.trim();if(e){h(!0),_(null);try{let t=await R(n,e);i([...r,t]),d(``)}catch(e){_(e instanceof Error?e.message:`Failed to create tag`)}finally{h(!1)}}}async function C(e){let t=c.trim();if(t){p(!0),_(null);try{let a=await ae(n,e,t);i(r.map(e=>e.id===a.id?{...e,name:a.name,color:a.color}:e)),x()}catch(e){_(e instanceof Error?e.message:`Failed to rename tag`)}finally{p(!1)}}}async function w(e){p(!0),_(null);try{await N(n,e),i(r.filter(t=>t.id!==e)),y(null),o===e&&x()}catch(e){_(e instanceof Error?e.message:`Failed to delete tag`)}finally{p(!1)}}return(0,Q.jsx)(Te,{open:e,onOpenChange:t,children:(0,Q.jsxs)(Ce,{className:`flex h-[min(36rem,85vh)] flex-col sm:max-w-md`,children:[(0,Q.jsx)(Se,{children:(0,Q.jsx)(we,{children:`Manage Tags`})}),(0,Q.jsxs)(`div`,{className:`flex items-center gap-2 py-2`,children:[(0,Q.jsx)(Ct,{value:u,onChange:e=>d(e.target.value),onKeyDown:e=>{e.key===`Enter`&&S(),e.key===`Escape`&&d(``)},placeholder:`New tag name...`,className:`h-8 flex-1`,disabled:m}),(0,Q.jsx)(H,{size:`sm`,className:`h-8 shrink-0 bg-foreground text-background hover:bg-foreground/90`,onClick:()=>void S(),disabled:m||!u.trim(),children:m?(0,Q.jsx)(ye,{className:`h-3.5 w-3.5 animate-spin`}):`Add`})]}),r.length===0?(0,Q.jsx)(`p`,{className:V(a.bodyMuted,`py-4 text-center`),children:`No tags yet. Create one above to get started.`}):(0,Q.jsx)(Ne,{className:`min-h-0 flex-1`,children:(0,Q.jsx)(`div`,{className:`space-y-1 py-2 pr-3`,children:r.map(e=>{let t=o===e.id,n=v===e.id;return(0,Q.jsx)(`div`,{className:V(`group flex items-center gap-2 rounded-md px-2 py-1.5 hover:bg-accent/40`,!t&&!n&&!f&&`cursor-pointer`),onClick:()=>{!f&&!t&&!n&&b(e)},children:t?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Ct,{value:c,onChange:e=>l(e.target.value),onKeyDown:t=>{t.key===`Enter`&&C(e.id),t.key===`Escape`&&x()},className:`h-8 flex-1 text-sm`,autoFocus:!0,disabled:f}),(0,Q.jsx)(H,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>void C(e.id),disabled:f||!c.trim(),children:f?(0,Q.jsx)(ye,{className:`h-4 w-4 animate-spin`}):(0,Q.jsx)(ve,{className:`h-4 w-4`})}),(0,Q.jsx)(H,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:x,disabled:f,children:(0,Q.jsx)(Oe,{className:`h-4 w-4`})})]}):n?(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsxs)(`span`,{className:V(a.body,`flex-1 truncate`),children:[`Delete `,e.name,`? Removes from `,e.taskCount,` `,e.taskCount===1?`task`:`tasks`,`.`]}),(0,Q.jsx)(H,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-destructive hover:text-destructive`,onClick:()=>void w(e.id),disabled:f,children:f?(0,Q.jsx)(ye,{className:`h-4 w-4 animate-spin`}):(0,Q.jsx)(ve,{className:`h-4 w-4`})}),(0,Q.jsx)(H,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0`,onClick:()=>y(null),disabled:f,children:(0,Q.jsx)(Oe,{className:`h-4 w-4`})})]}):(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{className:`h-2.5 w-2.5 shrink-0 rounded-full`,style:{backgroundColor:e.color}}),(0,Q.jsx)(`span`,{className:V(a.body,`min-w-0 flex-1 truncate`),children:e.name}),(0,Q.jsxs)(`span`,{className:V(a.caption,`shrink-0 text-muted-foreground`),children:[e.taskCount,` `,e.taskCount===1?`task`:`tasks`]}),(0,Q.jsx)(H,{variant:`ghost`,size:`icon`,className:`h-8 w-8 shrink-0 text-destructive opacity-0 pointer-events-none transition-opacity can-hover:group-hover:opacity-100 can-hover:group-hover:pointer-events-auto focus-visible:opacity-100 focus-visible:pointer-events-auto can-hover:hover:text-destructive`,onClick:t=>{t.stopPropagation(),e.taskCount===0?w(e.id):y(e.id)},disabled:f,"aria-label":`Delete ${e.name}`,children:(0,Q.jsx)(et,{className:`h-3.5 w-3.5`})})]})},e.id)})})}),g&&(0,Q.jsx)(`p`,{className:V(a.caption,`text-destructive`),children:g})]})})}var er=c(`app.task-list.sync`);function tr(e,t){return e===void 0?{next:t,shouldRefetch:!1}:t===0?{next:0,shouldRefetch:!1}:e===t?null:{next:t,shouldRefetch:t>e}}function nr(e,t){let n=jt(function(n){n===e&&t()}),r=Et(function(e){e===`tasks`&&t()});return function(){n(),r()}}function rr(){return(0,X.useSyncExternalStore)(bt,$e,ir)}function ir(){return!1}function ar(e,t){let n=(0,Z.c)(4),r=(0,X.useRef)(e??0),i,a;n[0]!==t||n[1]!==e?(i=()=>{e!=null&&e!==r.current&&(r.current=e,t())},a=[e,t],n[0]=t,n[1]=e,n[2]=i,n[3]=a):(i=n[2],a=n[3]),(0,X.useEffect)(i,a)}function or(e,t,n,r){let i=(0,Z.c)(9),a;i[0]!==e||i[1]!==t?(a={[e]:t},i[0]=e,i[1]=t,i[2]=a):a=i[2];let o=(0,X.useRef)(a),s,c;i[3]!==e||i[4]!==n||i[5]!==r||i[6]!==t?(s=()=>{let i=tr(o.current[e],t);i&&(o.current[e]=i.next,i.shouldRefetch&&!r&&n())},c=[t,e,n,r],i[3]=e,i[4]=n,i[5]=r,i[6]=t,i[7]=s,i[8]=c):(s=i[7],c=i[8]),(0,X.useEffect)(s,c)}function sr(e,t){let n=(0,Z.c)(8),r=rr(),i=at(),a,o;n[0]!==i||n[1]!==e||n[2]!==t?(a=function(){if(i)return nr(e,function(){t()})},o=[i,e,t],n[0]=i,n[1]=e,n[2]=t,n[3]=a,n[4]=o):(a=n[3],o=n[4]),(0,X.useEffect)(a,o);let s;return n[5]!==r||n[6]!==i?(s={preferControlChannel:i,controlChannelConnected:r},n[5]=r,n[6]=i,n[7]=s):s=n[7],s}function cr(e,t){let n=setInterval(async()=>{try{t(await A(e))}catch(e){er.error(`Failed to poll project tasks:`,e)}},2e3);return function(){clearInterval(n)}}function lr(e,t,n,r,i){let a=(0,Z.c)(7),o,s;a[0]!==r||a[1]!==t||a[2]!==n||a[3]!==e||a[4]!==i?(o=()=>{if(t&&!(n&&r))return cr(e,i)},s=[r,t,n,e,i],a[0]=r,a[1]=t,a[2]=n,a[3]=e,a[4]=i,a[5]=o,a[6]=s):(o=a[5],s=a[6]),(0,X.useEffect)(o,s)}function ur({projectId:e,initialTasks:t,refreshTrigger:n,project:r,onRefreshTags:i}){let a=u(),[o,s]=(0,X.useState)(t),[c,d]=(0,X.useState)(!1),f=r?.tasksModifiedCount??0,m=(0,X.useCallback)(async function(){try{let t=await A(e);s(t),i()}catch(e){er.error(`Failed to refresh project tasks:`,e)}},[e,i]),h=(0,X.useCallback)(async function(){d(!0);try{await g(e),await m(),_();let t=await p();a({type:l.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){er.error(`Failed to refresh project tasks:`,e)}finally{d(!1)}},[e,a,m]);(0,X.useEffect)(()=>{We(I(e,0),o)},[e,o]),ar(n,m);let{preferControlChannel:v,controlChannelConnected:y}=sr(e,m);return or(e,f,m,v&&y),lr(e,o.some(e=>e.working),v,y,s),(0,X.useEffect)(()=>{s(t)},[t]),{tasks:o,setTasks:s,isRefreshing:c,handleRefreshTasks:h}}var dr=c(`app.task-list.ui`);function fr(e,t){let n=(0,Z.c)(25),r=t===void 0?`tasks`:t,i;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=[],n[0]=i):i=n[0];let[a,o]=(0,X.useState)(i),s;n[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=new Set,n[1]=s):s=n[1];let[c,l]=(0,X.useState)(s),[u,d]=(0,X.useState)(``),[f,p]=(0,X.useState)(!1),h;n[2]===r?h=n[3]:(h=function(){return m(r)},n[2]=r,n[3]=h);let[g,_]=(0,X.useState)(h),y,b;n[4]===r?(y=n[5],b=n[6]):(y=function(){_(m(r))},b=[r],n[4]=r,n[5]=y,n[6]=b),(0,X.useEffect)(y,b);let x,S;n[7]===e?(x=n[8],S=n[9]):(x=()=>{C(e).then(o).catch(mr)},S=[e],n[7]=e,n[8]=x,n[9]=S),(0,X.useEffect)(x,S);let w;n[10]===e?w=n[11]:(w=function(){C(e).then(o).catch(pr)},n[10]=e,n[11]=w);let T=w,E;n[12]===Symbol.for(`react.memo_cache_sentinel`)?(E=function(e){l(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},n[12]=E):E=n[12];let D=E,O;n[13]===Symbol.for(`react.memo_cache_sentinel`)?(O=function(){l(function(e){return e.size===0?e:new Set})},n[13]=O):O=n[13];let k=O,A;n[14]===Symbol.for(`react.memo_cache_sentinel`)?(A=function(){p(!0)},n[14]=A):A=n[14];let j=A,M;n[15]===r?M=n[16]:(M=function(e){v(r,e),_(m(r))},n[15]=r,n[16]=M);let N=M,P=r===`automations`&&g===`kanban`?`list`:g,F;return n[17]!==f||n[18]!==a||n[19]!==T||n[20]!==u||n[21]!==c||n[22]!==N||n[23]!==P?(F={projectTags:a,setProjectTags:o,selectedTagIds:c,setSelectedTagIds:l,searchTerm:u,setSearchTerm:d,viewMode:P,setViewMode:N,manageTagsOpen:f,setManageTagsOpen:p,refreshProjectTags:T,toggleSelectedTag:D,clearSelectedTags:k,openManageTags:j},n[17]=f,n[18]=a,n[19]=T,n[20]=u,n[21]=c,n[22]=N,n[23]=P,n[24]=F):F=n[24],F}function pr(e){return dr.error(`Failed to refresh project tags:`,e)}function mr(e){return dr.error(`Failed to fetch project tags:`,e)}function hr(e){let t=(0,Z.c)(15),n=d(xr),r=d(br),i=d(yr),a=d(vr),o=d(_r),s=d(gr),c,l;if(t[0]!==e||t[1]!==n||t[2]!==r){let i;t[5]===e?i=t[6]:(i=t=>t.projectId===e,t[5]=e,t[6]=i),c=n.find(i),l=c?.threads.find(e=>e.threadId===r),t[0]=e,t[1]=n,t[2]=r,t[3]=c,t[4]=l}else c=t[3],l=t[4];let u=l,f=r?s[r]:void 0,p;return t[7]!==a||t[8]!==i||t[9]!==c||t[10]!==o||t[11]!==u||t[12]!==r||t[13]!==f?(p={project:c,selectedThreadId:r,selectedThread:u,selectedThreadModel:f,processingThreadIds:i,pendingChatMessage:a,queuedChatMessages:o},t[7]=a,t[8]=i,t[9]=c,t[10]=o,t[11]=u,t[12]=r,t[13]=f,t[14]=p):p=t[14],p}function gr(e){return e.projectModelSelections}function _r(e){return e.queuedChatMessages}function vr(e){return e.pendingChatMessage}function yr(e){return e.processingThreadIds}function br(e){return e.selectedThreadId}function xr(e){return e.projects}function Sr(){let e=(0,Z.c)(3),{modelAliases:t,isLoading:n}=Rt(),r;return e[0]!==t||e[1]!==n?(r=function(e,r){if(e)return null;let i=re(r);if(i)return oe(i);if(n)return null;let a=se(r,t);return a?oe(a):null},e[0]=t,e[1]=n,e[2]=r):r=e[2],r}function Cr(){let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(`div`,{className:`flex h-full items-center justify-center`,children:(0,Q.jsxs)(`div`,{className:`text-center`,children:[(0,Q.jsx)(G,{className:`mx-auto`}),(0,Q.jsx)(`p`,{className:V(a.bodyMuted,`mt-2`),children:`Loading tasks`})]})}),e[0]=t):t=e[0],t}function wr(e){let t=(0,Z.c)(5),{projectId:n,resourceKey:r,children:i}=e,a;t[0]===n?a=t[1]:(a=function(){return z(n)},t[0]=n,t[1]=a);let o=qe(r,a),s;return t[2]!==i||t[3]!==o?(s=i(o),t[2]=i,t[3]=o,t[4]=s):s=t[4],s}function Tr({projectId:e,children:t}){let[n,r]=(0,X.useState)(0),i=I(e,n),a=(0,X.useRef)(null);a.current!==i&&(a.current=i,Ke(i)===`rejected`&&Ge(i));function o(){Ge(i),r(function(e){return e+1})}return(0,Q.jsx)(zt,{fallbackTitle:`Failed to load tasks`,onRetry:o,children:(0,Q.jsx)(X.Suspense,{fallback:(0,Q.jsx)(Cr,{}),children:(0,Q.jsx)(wr,{projectId:e,resourceKey:i,children:t},i)})},e)}var Er=c(`app.task-list.ui`),Dr=new Set;function Or(e){let t=(0,Z.c)(3),{message:n}=e,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=V(a.bodyMuted,`flex h-full items-center justify-center px-4 py-8 text-center`),t[0]=r):r=t[0];let i;return t[1]===n?i=t[2]:(i=(0,Q.jsx)(`p`,{className:r,children:n}),t[1]=n,t[2]=i),i}function kr(){let e=(0,Z.c)(1),t;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,Q.jsx)(`div`,{className:`h-14`}),e[0]=t):t=e[0],t}var Ar={Footer:kr};function jr(e){let t=(0,Z.c)(15),n,r,i,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],o=t[4],s=t[5],c=t[6]):({viewMode:o,viewTasks:s,visibleTasks:c,emptyListMessage:n,noMatchMessage:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=o,t[5]=s,t[6]=c);let[l,u]=(0,X.useState)(null),d;return t[7]!==n||t[8]!==r||t[9]!==i||t[10]!==l||t[11]!==o||t[12]!==s.length||t[13]!==c?(d=(0,Q.jsx)(Me,{className:`min-h-0 min-w-0 flex-1 overflow-hidden`,viewportRef:u,children:s.length===0?(0,Q.jsx)(`div`,{className:`h-full pb-14`,children:(0,Q.jsx)(Or,{message:n})}):c.length===0?(0,Q.jsx)(`div`,{className:`pb-14`,children:(0,Q.jsx)(`p`,{className:V(a.bodyMuted,`px-4 py-8 text-center`),children:i})}):(0,Q.jsx)(vt,{customScrollParent:l??void 0,data:c,computeItemKey:Mr,increaseViewportBy:200,components:Ar,itemContent:(e,t)=>(0,Q.jsx)(`div`,{className:V(`min-w-0 w-full`,!r.compact&&e>0&&`border-t border-border`),children:(0,Q.jsx)(cn,{task:t,viewMode:o,...r})})})}),t[7]=n,t[8]=r,t[9]=i,t[10]=l,t[11]=o,t[12]=s.length,t[13]=c,t[14]=d):d=t[14],d}function Mr(e,t){return t.id}function Nr(e){let t=(0,Z.c)(12),n,r,i,a,o,s;if(t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6]):({columns:n,visibleTasks:s,viewTasks:o,emptyListMessage:r,noMatchMessage:a,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s),s.length===0){let e=o.length===0?r:a,n;return t[7]===e?n=t[8]:(n=(0,Q.jsx)(Or,{message:e}),t[7]=e,t[8]=n),n}let c;return t[9]!==n||t[10]!==i?(c=(0,Q.jsx)(mn,{columns:n,...i}),t[9]=n,t[10]=i,t[11]=c):c=t[11],c}function Pr(e){let t=(0,Z.c)(149),{projectId:n,onThreadSelect:r,initialTasks:a,refreshTrigger:o,automationsOnly:s,compact:c}=e,d=s!==void 0&&s,f=c!==void 0&&c,p=u(),{project:m,selectedThreadId:h,selectedThread:g,selectedThreadModel:_}=hr(n),[v,b]=(0,X.useState)(!1),[x,S]=(0,X.useState)(null),{projectTags:C,setProjectTags:w,selectedTagIds:T,setSelectedTagIds:E,searchTerm:D,setSearchTerm:j,viewMode:M,setViewMode:N,manageTagsOpen:P,setManageTagsOpen:F,refreshProjectTags:I,toggleSelectedTag:L,clearSelectedTags:R,openManageTags:ee}=fr(n,d?`automations`:`tasks`),te;t[0]!==a||t[1]!==m||t[2]!==n||t[3]!==I||t[4]!==o?(te={projectId:n,initialTasks:a,refreshTrigger:o,project:m,onRefreshTags:I},t[0]=a,t[1]=m,t[2]=n,t[3]=I,t[4]=o,t[5]=te):te=t[5];let{tasks:ne,setTasks:z,isRefreshing:re,handleRefreshTasks:ie}=ur(te),ae=d?Dr:T,oe=pt(dt,d),se;t[6]!==oe||t[7]!==d?(se=d?new Date(oe):void 0,t[6]=oe,t[7]=d,t[8]=se):se=t[8];let le=se,ue=Sr(),de=i(),fe;t[9]===de?fe=t[10]:(fe=function(){de.invalidateQueries({queryKey:Fe.conversations.unreadAll()})},t[9]=de,t[10]=fe);let me=fe,ge;t[11]!==I||t[12]!==z||t[13]!==ne?(ge=function(e){let t=ne.find(t=>t.id===e.id);z(t=>t.map(t=>t.id===e.id?e:t)),t&&t.status===`Done`!=(e.status===`Done`)&&I()},t[11]=I,t[12]=z,t[13]=ne,t[14]=ge):ge=t[14];let B=ge,V;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(V=function(e){S({task:e})},t[15]=V):V=t[15];let ve=V,ye;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(ye=function(){S(null)},t[16]=ye):ye=t[16];let be=ye,xe;t[17]!==n||t[18]!==I||t[19]!==z?(xe=function(e){z(t=>[...t,e]),he(n),I()},t[17]=n,t[18]=I,t[19]=z,t[20]=xe):xe=t[20];let Se=xe,Ce;t[21]!==n||t[22]!==z?(Ce=function(e){z(t=>t.map(t=>t.id===e.id?e:t)),he(n)},t[21]=n,t[22]=z,t[23]=Ce):Ce=t[23];let we=Ce,Te;t[24]!==n||t[25]!==I||t[26]!==z?(Te=function(e,t){z(t=>t.map(t=>t.id===e.id?e:t)),he(n),(t.tagsChanged||t.completedChanged)&&I()},t[24]=n,t[25]=I,t[26]=z,t[27]=Te):Te=t[27];let Ee=Te,De;t[28]!==n||t[29]!==I||t[30]!==z?(De=function(e){z(t=>t.filter(t=>t.id!==e)),he(n),I()},t[28]=n,t[29]=I,t[30]=z,t[31]=De):De=t[31];let Oe=De,Ae;t[32]!==n||t[33]!==w||t[34]!==E||t[35]!==z?(Ae=function(e){let t=k(e),r=new Set(t.map(function(e){return e.id}));w(t),E(function(e){return new Set([...e].filter(e=>r.has(e)))}),A(n).then(z).catch(Fr)},t[32]=n,t[33]=w,t[34]=E,t[35]=z,t[36]=Ae):Ae=t[36];let W=Ae,Me;t[37]===r?Me=t[38]:(Me=async function(e){e&&r&&await r(e)},t[37]=r,t[38]=Me);let Ne=Me,G;t[39]!==p||t[40]!==B||t[41]!==Ne||t[42]!==m||t[43]!==n||t[44]!==me?(G=async function(e){try{let t=await ft({projectId:n,dispatch:p,onUpdate:B,project:m},e);me(),await Ne(t.threadId)}catch(e){let t=e;Pe({title:`Could not start the task`,description:t instanceof Error?t.message:String(t),variant:`destructive`})}},t[39]=p,t[40]=B,t[41]=Ne,t[42]=m,t[43]=n,t[44]=me,t[45]=G):G=t[45];let Ie=G,Le;t[46]!==B||t[47]!==n||t[48]!==me?(Le=async function(e){let t=await y(n,e.id);B(t),he(n),me()},t[46]=B,t[47]=n,t[48]=me,t[49]=Le):Le=t[49];let Re=Le,ze;t[50]===Re?ze=t[51]:(ze=async function(e){await Re(e),Pe({title:`Automation started`,description:`“${e.title}” is running.`})},t[50]=Re,t[51]=ze);let Be=ze,Ve;t[52]!==p||t[53]!==r||t[54]!==n?(Ve=async function(e){r?await r(e):p({type:l.SelectThread,threadId:e,projectId:n})},t[52]=p,t[53]=r,t[54]=n,t[55]=Ve):Ve=t[55];let He=Ve,Ue;t[56]!==B||t[57]!==n?(Ue=async function(e){let t=await O(n,e.id,{status:`Done`,working:!1});B(t),he(n)},t[56]=B,t[57]=n,t[58]=Ue):Ue=t[58];let We=Ue,Ge;t[59]!==g||t[60]!==h||t[61]!==_?(Ge={selectedThreadId:h,selectedThreadModel:_,selectedThread:g},t[59]=g,t[60]=h,t[61]=_,t[62]=Ge):Ge=t[62];let Ke=Ge,qe,K,Je,q,J;t[63]!==d||t[64]!==f||t[65]!==m||t[66]!==C||t[67]!==D||t[68]!==ne||t[69]!==M||t[70]!==ae?({viewTasks:q,visibleTasks:J,emptyListMessage:qe,noMatchMessage:K}=ce(ne,{automationsOnly:d,selectedTagIds:ae,searchTerm:D,projectName:m?_e(m):void 0}),Je=M===`kanban`&&!f?pe(J,d?[]:C,ae):[],t[63]=d,t[64]=f,t[65]=m,t[66]=C,t[67]=D,t[68]=ne,t[69]=M,t[70]=ae,t[71]=qe,t[72]=K,t[73]=Je,t[74]=q,t[75]=J):(qe=t[71],K=t[72],Je=t[73],q=t[74],J=t[75]);let Ye=Je,Xe;t[76]!==le||t[77]!==d||t[78]!==f||t[79]!==qe||t[80]!==We||t[81]!==He||t[82]!==Re||t[83]!==Ie||t[84]!==K||t[85]!==r||t[86]!==q||t[87]!==J?(Xe={now:le,showRunHistory:d,viewTasks:q,visibleTasks:J,emptyListMessage:qe,noMatchMessage:K,compact:f,hideTags:d,onOpenEdit:ve,onThreadSelect:r,onStartInNewWorkspace:Ie,onMarkDone:We,onRunNow:Re,onOpenRun:He},t[76]=le,t[77]=d,t[78]=f,t[79]=qe,t[80]=We,t[81]=He,t[82]=Re,t[83]=Ie,t[84]=K,t[85]=r,t[86]=q,t[87]=J,t[88]=Xe):Xe=t[88];let Ze=Xe,Qe;t[89]!==d||t[90]!==R||t[91]!==f||t[92]!==ie||t[93]!==re||t[94]!==ee||t[95]!==C||t[96]!==T||t[97]!==j||t[98]!==N||t[99]!==L||t[100]!==M?(Qe=(0,Q.jsx)(vn,{automationsOnly:d,compact:f,viewMode:M,projectTags:C,selectedTagIds:T,onToggleSelectedTag:L,onClearSelectedTags:R,onSearchTermChange:j,onViewModeChange:N,isRefreshing:re,onRefresh:ie,onManageTags:ee}),t[89]=d,t[90]=R,t[91]=f,t[92]=ie,t[93]=re,t[94]=ee,t[95]=C,t[96]=T,t[97]=j,t[98]=N,t[99]=L,t[100]=M,t[101]=Qe):Qe=t[101];let $e;t[102]!==f||t[103]!==Ye||t[104]!==Ze||t[105]!==M?($e=M===`kanban`&&!f?(0,Q.jsx)(Nr,{...Ze,columns:Ye}):(0,Q.jsx)(jr,{...Ze,viewMode:f?`list`:M}),t[102]=f,t[103]=Ye,t[104]=Ze,t[105]=M,t[106]=$e):$e=t[106];let et=d?`New Automation`:`New Task`,tt;t[107]===Symbol.for(`react.memo_cache_sentinel`)?(tt=()=>b(!0),t[107]=tt):tt=t[107];let nt=d?`New Automation`:`New Task`,rt;t[108]!==et||t[109]!==nt?(rt=(0,Q.jsx)(U,{asChild:!0,children:(0,Q.jsx)(H,{type:`button`,"aria-label":et,className:`absolute bottom-6 left-1/2 z-10 h-10 -translate-x-1/2 rounded-full shadow-lg`,onClick:tt,children:nt})}),t[108]=et,t[109]=nt,t[110]=rt):rt=t[110];let it=d?`New Automation`:`New Task`,at;t[111]===it?at=t[112]:(at=(0,Q.jsx)(ke,{children:it}),t[111]=it,t[112]=at);let ot;t[113]!==rt||t[114]!==at?(ot=(0,Q.jsxs)(je,{children:[rt,at]}),t[113]=rt,t[114]=at,t[115]=ot):ot=t[115];let st;t[116]!==v||t[117]!==d||t[118]!==ue||t[119]!==Se||t[120]!==we||t[121]!==n||t[122]!==C||t[123]!==Ke?(st=(0,Q.jsx)(Qn,{mode:`add`,open:v,automationsOnly:d,projectId:n,projectTags:C,thread:Ke,getTriggerValidationError:ue,onOpenChange:b,onTaskCreated:Se,onTaskUpdated:we}),t[116]=v,t[117]=d,t[118]=ue,t[119]=Se,t[120]=we,t[121]=n,t[122]=C,t[123]=Ke,t[124]=st):st=t[124];let ct=x?.task??null,lt=x!==null,ut;t[125]!==d||t[126]!==ue||t[127]!==Be||t[128]!==Oe||t[129]!==Ee||t[130]!==n||t[131]!==C||t[132]!==ct||t[133]!==lt||t[134]!==Ke?(ut=(0,Q.jsx)(Qn,{mode:`edit`,task:ct,open:lt,automationsOnly:d,projectId:n,projectTags:C,thread:Ke,getTriggerValidationError:ue,onOpenChange:be,onTaskSaved:Ee,onRunNow:Be,onTaskDeleted:Oe}),t[125]=d,t[126]=ue,t[127]=Be,t[128]=Oe,t[129]=Ee,t[130]=n,t[131]=C,t[132]=ct,t[133]=lt,t[134]=Ke,t[135]=ut):ut=t[135];let mt;t[136]!==W||t[137]!==P||t[138]!==n||t[139]!==C||t[140]!==F?(mt=(0,Q.jsx)($n,{open:P,onOpenChange:F,projectId:n,tags:C,onTagsChanged:W}),t[136]=W,t[137]=P,t[138]=n,t[139]=C,t[140]=F,t[141]=mt):mt=t[141];let ht;return t[142]!==Qe||t[143]!==$e||t[144]!==ot||t[145]!==st||t[146]!==ut||t[147]!==mt?(ht=(0,Q.jsxs)(`div`,{className:`relative flex h-full min-h-0 min-w-0 flex-col overflow-hidden`,children:[Qe,$e,ot,st,ut,mt]}),t[142]=Qe,t[143]=$e,t[144]=ot,t[145]=st,t[146]=ut,t[147]=mt,t[148]=ht):ht=t[148],ht}function Fr(e){return Er.error(`Failed to refresh tasks after tag change:`,e)}function Ir(e){let t=(0,Z.c)(5),n;t[0]===e?n=t[1]:(n=function(t){return(0,Q.jsx)(Pr,{...e,initialTasks:t})},t[0]=e,t[1]=n);let r=n,i;return t[2]!==e.projectId||t[3]!==r?(i=(0,Q.jsx)(Tr,{projectId:e.projectId,children:r}),t[2]=e.projectId,t[3]=r,t[4]=i):i=t[4],i}var Lr=c(`app.tasks-view.ui`);async function Rr(){return _(),p()}function zr(e){let t=(0,Z.c)(14),{projectId:n,refreshTrigger:r,view:i,compact:a,onThreadSelect:o}=e,s=i===void 0?`tasks`:i,c=a!==void 0&&a,d=u(),{openConversation:f}=ut(),p,m;t[0]===d?(p=t[1],m=t[2]):(p=()=>{let e=!1;return(async()=>{try{let t=await Rr();e||d({type:l.SetProjects,projects:t.projects,cloneRootPath:t.cloneRootPath})}catch(e){let t=e;Lr.error(`Failed to refresh projects on tasks view mount:`,t)}})(),()=>{e=!0}},m=[d],t[0]=d,t[1]=p,t[2]=m),(0,X.useEffect)(p,m);let h;t[3]!==d||t[4]!==o||t[5]!==f||t[6]!==n?(h=async function(e){try{let e=await Rr();d({type:l.SetProjects,projects:e.projects,cloneRootPath:e.cloneRootPath})}catch(e){let t=e;Lr.error(`Failed to refresh projects for thread selection:`,t)}if(o){await o(e);return}await f({projectId:n,threadId:e})},t[3]=d,t[4]=o,t[5]=f,t[6]=n,t[7]=h):h=t[7];let g=h,_=s===`automations`,v;return t[8]!==c||t[9]!==g||t[10]!==n||t[11]!==r||t[12]!==_?(v=(0,Q.jsx)(`div`,{className:`relative flex h-full min-w-0 flex-col overflow-hidden`,children:(0,Q.jsx)(`div`,{className:`min-w-0 flex-1 overflow-hidden`,children:(0,Q.jsx)(Ir,{projectId:n,refreshTrigger:r,onThreadSelect:g,automationsOnly:_,compact:c})})}),t[8]=c,t[9]=g,t[10]=n,t[11]=r,t[12]=_,t[13]=v):v=t[13],v}export{zr as TasksView};