@bryanhu/codexly 0.41.0 → 0.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (922) hide show
  1. package/CHANGELOG.md +19 -1
  2. package/README.en.md +3 -2
  3. package/README.md +3 -2
  4. package/dist/chunk-FYV6OEIB.js +26 -0
  5. package/dist/chunk-JMCHGTKG.js +934 -0
  6. package/dist/chunk-M7CBY5CN.js +2 -0
  7. package/dist/chunk-O2PCE4KS.js +3 -0
  8. package/dist/chunk-RF74ZZTT.js +3 -0
  9. package/dist/chunk-W4XSUSDR.js +37 -0
  10. package/dist/cli.js +6 -6
  11. package/dist/client/index.js +2 -2
  12. package/dist/command-H3N4E5V7.js +88 -0
  13. package/dist/protocol/index.js +1 -1
  14. package/dist/providers/claude/index.js +1 -1
  15. package/dist/providers/codex/index.js +1 -1
  16. package/dist/server/index.js +1 -1
  17. package/dist/token-usage-response-C3XDSVYF.js +1 -0
  18. package/dist/web/.vite/manifest.json +730 -693
  19. package/dist/web/.vite/manifest.json.br +0 -0
  20. package/dist/web/.vite/manifest.json.gz +0 -0
  21. package/dist/web/assets/abnfDiagram-N423BO3Z-Bc-kgqkg.js +1 -0
  22. package/dist/web/assets/abnfDiagram-N423BO3Z-Bc-kgqkg.js.br +0 -0
  23. package/dist/web/assets/abnfDiagram-N423BO3Z-Bc-kgqkg.js.gz +0 -0
  24. package/dist/web/assets/activity-2h6qck2R.js +1 -0
  25. package/dist/web/assets/activity-2h6qck2R.js.br +0 -0
  26. package/dist/web/assets/activity-2h6qck2R.js.gz +0 -0
  27. package/dist/web/assets/agent-settings-panel-BmC-bWgu.js +1 -0
  28. package/dist/web/assets/agent-settings-panel-BmC-bWgu.js.br +0 -0
  29. package/dist/web/assets/agent-settings-panel-BmC-bWgu.js.gz +0 -0
  30. package/dist/web/assets/api-connection-fields-BOSDa1e_.js +1 -0
  31. package/dist/web/assets/api-connection-fields-BOSDa1e_.js.br +0 -0
  32. package/dist/web/assets/api-connection-fields-BOSDa1e_.js.gz +0 -0
  33. package/dist/web/assets/app-update-dialog-BwWF14Ij.js +1 -0
  34. package/dist/web/assets/app-update-dialog-BwWF14Ij.js.br +0 -0
  35. package/dist/web/assets/app-update-dialog-BwWF14Ij.js.gz +0 -0
  36. package/dist/web/assets/architectureDiagram-T3A2C74G-BYfYlgqz.js +36 -0
  37. package/dist/web/assets/architectureDiagram-T3A2C74G-BYfYlgqz.js.br +0 -0
  38. package/dist/web/assets/architectureDiagram-T3A2C74G-BYfYlgqz.js.gz +0 -0
  39. package/dist/web/assets/archived-tasks-dialog-DxmUNNDi.js +1 -0
  40. package/dist/web/assets/archived-tasks-dialog-DxmUNNDi.js.br +0 -0
  41. package/dist/web/assets/archived-tasks-dialog-DxmUNNDi.js.gz +0 -0
  42. package/dist/web/assets/arrow-down-mS93vIf2.js +1 -0
  43. package/dist/web/assets/arrow-down-mS93vIf2.js.br +0 -0
  44. package/dist/web/assets/arrow-down-mS93vIf2.js.gz +0 -0
  45. package/dist/web/assets/arrow-up-right-Gz5bB5ij.js +1 -0
  46. package/dist/web/assets/arrow-up-right-Gz5bB5ij.js.br +0 -0
  47. package/dist/web/assets/arrow-up-right-Gz5bB5ij.js.gz +0 -0
  48. package/dist/web/assets/background-image-picker-CQMf464_.js +1 -0
  49. package/dist/web/assets/background-image-picker-CQMf464_.js.br +0 -0
  50. package/dist/web/assets/background-image-picker-CQMf464_.js.gz +0 -0
  51. package/dist/web/assets/blockDiagram-VBNYF7ZC-DA87nQXL.js +132 -0
  52. package/dist/web/assets/blockDiagram-VBNYF7ZC-DA87nQXL.js.br +0 -0
  53. package/dist/web/assets/blockDiagram-VBNYF7ZC-DA87nQXL.js.gz +0 -0
  54. package/dist/web/assets/c4Diagram-5PPSVZJV-DxeRkHab.js +10 -0
  55. package/dist/web/assets/c4Diagram-5PPSVZJV-DxeRkHab.js.br +0 -0
  56. package/dist/web/assets/c4Diagram-5PPSVZJV-DxeRkHab.js.gz +0 -0
  57. package/dist/web/assets/calendar-days-CFiUA_Ph.js +1 -0
  58. package/dist/web/assets/calendar-days-CFiUA_Ph.js.br +2 -0
  59. package/dist/web/assets/calendar-days-CFiUA_Ph.js.gz +0 -0
  60. package/dist/web/assets/channel-CoRY2yzQ.js +1 -0
  61. package/dist/web/assets/channel-CoRY2yzQ.js.br +0 -0
  62. package/dist/web/assets/channel-CoRY2yzQ.js.gz +0 -0
  63. package/dist/web/assets/chevron-left-CZsIXYgL.js +1 -0
  64. package/dist/web/assets/chevron-left-CZsIXYgL.js.br +1 -0
  65. package/dist/web/assets/chevron-left-CZsIXYgL.js.gz +0 -0
  66. package/dist/web/assets/chunk-2GRJ4B5K-D1DX0F4P.js +1 -0
  67. package/dist/web/assets/chunk-2GRJ4B5K-D1DX0F4P.js.br +0 -0
  68. package/dist/web/assets/chunk-2GRJ4B5K-D1DX0F4P.js.gz +0 -0
  69. package/dist/web/assets/chunk-4I5QYGJK-B_lPSv9T.js +1 -0
  70. package/dist/web/assets/chunk-4I5QYGJK-B_lPSv9T.js.br +0 -0
  71. package/dist/web/assets/chunk-4I5QYGJK-B_lPSv9T.js.gz +0 -0
  72. package/dist/web/assets/chunk-5RXB4S5H-BuuordG5.js +231 -0
  73. package/dist/web/assets/chunk-5RXB4S5H-BuuordG5.js.br +0 -0
  74. package/dist/web/assets/chunk-5RXB4S5H-BuuordG5.js.gz +0 -0
  75. package/dist/web/assets/chunk-6Q2QTUOP-DsZgR4Ek.js +88 -0
  76. package/dist/web/assets/chunk-6Q2QTUOP-DsZgR4Ek.js.br +0 -0
  77. package/dist/web/assets/chunk-6Q2QTUOP-DsZgR4Ek.js.gz +0 -0
  78. package/dist/web/assets/chunk-7Z6QIM7H-YKF4kn28.js +10 -0
  79. package/dist/web/assets/chunk-7Z6QIM7H-YKF4kn28.js.br +0 -0
  80. package/dist/web/assets/chunk-7Z6QIM7H-YKF4kn28.js.gz +0 -0
  81. package/dist/web/assets/chunk-GF5L2VYU-D4feDGs3.js +206 -0
  82. package/dist/web/assets/chunk-GF5L2VYU-D4feDGs3.js.br +0 -0
  83. package/dist/web/assets/chunk-GF5L2VYU-D4feDGs3.js.gz +0 -0
  84. package/dist/web/assets/chunk-I66GZJ75-DN-NkzfL.js +127 -0
  85. package/dist/web/assets/chunk-I66GZJ75-DN-NkzfL.js.br +0 -0
  86. package/dist/web/assets/chunk-I66GZJ75-DN-NkzfL.js.gz +0 -0
  87. package/dist/web/assets/chunk-JQJVKLGR-CBQQYgal.js +156 -0
  88. package/dist/web/assets/chunk-JQJVKLGR-CBQQYgal.js.br +0 -0
  89. package/dist/web/assets/chunk-JQJVKLGR-CBQQYgal.js.gz +0 -0
  90. package/dist/web/assets/chunk-KBJHAD2P-CdztnXTZ.js +1 -0
  91. package/dist/web/assets/chunk-KBJHAD2P-CdztnXTZ.js.br +2 -0
  92. package/dist/web/assets/chunk-KBJHAD2P-CdztnXTZ.js.gz +0 -0
  93. package/dist/web/assets/chunk-NSK5VX7P-Dl3ASSCH.js +2 -0
  94. package/dist/web/assets/chunk-NSK5VX7P-Dl3ASSCH.js.br +0 -0
  95. package/dist/web/assets/chunk-NSK5VX7P-Dl3ASSCH.js.gz +0 -0
  96. package/dist/web/assets/chunk-QR6OTTB3-Ca8HC0CO.js +62 -0
  97. package/dist/web/assets/chunk-QR6OTTB3-Ca8HC0CO.js.br +0 -0
  98. package/dist/web/assets/chunk-QR6OTTB3-Ca8HC0CO.js.gz +0 -0
  99. package/dist/web/assets/chunk-UBXNYLIW-BWQXVOUo.js +1 -0
  100. package/dist/web/assets/chunk-UBXNYLIW-BWQXVOUo.js.br +0 -0
  101. package/dist/web/assets/chunk-UBXNYLIW-BWQXVOUo.js.gz +0 -0
  102. package/dist/web/assets/chunk-W5SLKNZC-Ba8faH2e.js +1 -0
  103. package/dist/web/assets/chunk-W5SLKNZC-Ba8faH2e.js.br +0 -0
  104. package/dist/web/assets/chunk-W5SLKNZC-Ba8faH2e.js.gz +0 -0
  105. package/dist/web/assets/chunk-WRU74C26-BPAQwPbX.js +70 -0
  106. package/dist/web/assets/chunk-WRU74C26-BPAQwPbX.js.br +0 -0
  107. package/dist/web/assets/chunk-WRU74C26-BPAQwPbX.js.gz +0 -0
  108. package/dist/web/assets/classDiagram-JCYQIIEL-oxOSSvwo.js +1 -0
  109. package/dist/web/assets/classDiagram-JCYQIIEL-oxOSSvwo.js.br +2 -0
  110. package/dist/web/assets/classDiagram-JCYQIIEL-oxOSSvwo.js.gz +0 -0
  111. package/dist/web/assets/classDiagram-v2-OCEON4UE-oxOSSvwo.js +1 -0
  112. package/dist/web/assets/classDiagram-v2-OCEON4UE-oxOSSvwo.js.br +2 -0
  113. package/dist/web/assets/classDiagram-v2-OCEON4UE-oxOSSvwo.js.gz +0 -0
  114. package/dist/web/assets/claude-extensions-pane-CjdUW-2D.js +1 -0
  115. package/dist/web/assets/claude-extensions-pane-CjdUW-2D.js.br +0 -0
  116. package/dist/web/assets/claude-extensions-pane-CjdUW-2D.js.gz +0 -0
  117. package/dist/web/assets/claude-settings-panel-D0r73clB.js +1 -0
  118. package/dist/web/assets/claude-settings-panel-D0r73clB.js.br +0 -0
  119. package/dist/web/assets/claude-settings-panel-D0r73clB.js.gz +0 -0
  120. package/dist/web/assets/clipboard-CExCX2lu.js +1 -0
  121. package/dist/web/assets/clipboard-CExCX2lu.js.br +0 -0
  122. package/dist/web/assets/clipboard-CExCX2lu.js.gz +0 -0
  123. package/dist/web/assets/code-highlighter-DSD8pKWN.js +3 -0
  124. package/dist/web/assets/code-highlighter-DSD8pKWN.js.br +0 -0
  125. package/dist/web/assets/code-highlighter-DSD8pKWN.js.gz +0 -0
  126. package/dist/web/assets/codex-resources-pane-CC14Snxv.js +1 -0
  127. package/dist/web/assets/codex-resources-pane-CC14Snxv.js.br +0 -0
  128. package/dist/web/assets/codex-resources-pane-CC14Snxv.js.gz +0 -0
  129. package/dist/web/assets/commit-settings-panel-Cc73if6T.js +1 -0
  130. package/dist/web/assets/commit-settings-panel-Cc73if6T.js.br +0 -0
  131. package/dist/web/assets/commit-settings-panel-Cc73if6T.js.gz +0 -0
  132. package/dist/web/assets/composer-git-menu-D5iLjy59.js +1 -0
  133. package/dist/web/assets/composer-git-menu-D5iLjy59.js.br +0 -0
  134. package/dist/web/assets/composer-git-menu-D5iLjy59.js.gz +0 -0
  135. package/dist/web/assets/cynefinDiagram-MW4NZA55-DrTsXgcP.js +62 -0
  136. package/dist/web/assets/cynefinDiagram-MW4NZA55-DrTsXgcP.js.br +0 -0
  137. package/dist/web/assets/cynefinDiagram-MW4NZA55-DrTsXgcP.js.gz +0 -0
  138. package/dist/web/assets/dagre-VZM6K2ZE-DKVmLRXv.js +4 -0
  139. package/dist/web/assets/dagre-VZM6K2ZE-DKVmLRXv.js.br +0 -0
  140. package/dist/web/assets/dagre-VZM6K2ZE-DKVmLRXv.js.gz +0 -0
  141. package/dist/web/assets/diagram-7IWD3JNH-C8Ot6_Ct.js +30 -0
  142. package/dist/web/assets/diagram-7IWD3JNH-C8Ot6_Ct.js.br +0 -0
  143. package/dist/web/assets/diagram-7IWD3JNH-C8Ot6_Ct.js.gz +0 -0
  144. package/dist/web/assets/diagram-B4RE2ZJO-BuaGYs-Y.js +3 -0
  145. package/dist/web/assets/diagram-B4RE2ZJO-BuaGYs-Y.js.br +0 -0
  146. package/dist/web/assets/diagram-B4RE2ZJO-BuaGYs-Y.js.gz +0 -0
  147. package/dist/web/assets/diagram-LBJQPF4R-AP7b6Jgs.js +24 -0
  148. package/dist/web/assets/diagram-LBJQPF4R-AP7b6Jgs.js.br +0 -0
  149. package/dist/web/assets/diagram-LBJQPF4R-AP7b6Jgs.js.gz +0 -0
  150. package/dist/web/assets/diagram-Q27KOJAE-DfTkYi7F.js +24 -0
  151. package/dist/web/assets/diagram-Q27KOJAE-DfTkYi7F.js.br +0 -0
  152. package/dist/web/assets/diagram-Q27KOJAE-DfTkYi7F.js.gz +0 -0
  153. package/dist/web/assets/diagram-UB23O5K3-C7z9ua23.js +41 -0
  154. package/dist/web/assets/diagram-UB23O5K3-C7z9ua23.js.br +0 -0
  155. package/dist/web/assets/diagram-UB23O5K3-C7z9ua23.js.gz +0 -0
  156. package/dist/web/assets/dist-4ky5Vf9m.js +1 -0
  157. package/dist/web/assets/dist-4ky5Vf9m.js.br +0 -0
  158. package/dist/web/assets/dist-4ky5Vf9m.js.gz +0 -0
  159. package/dist/web/assets/dist-A_NLKdyw.js +1 -0
  160. package/dist/web/assets/dist-A_NLKdyw.js.br +0 -0
  161. package/dist/web/assets/dist-A_NLKdyw.js.gz +0 -0
  162. package/dist/web/assets/dist-B24xk3Wj.js +1 -0
  163. package/dist/web/assets/dist-B24xk3Wj.js.br +0 -0
  164. package/dist/web/assets/dist-B24xk3Wj.js.gz +0 -0
  165. package/dist/web/assets/dist-B9BcXMql.js +23 -0
  166. package/dist/web/assets/dist-B9BcXMql.js.br +0 -0
  167. package/dist/web/assets/dist-B9BcXMql.js.gz +0 -0
  168. package/dist/web/assets/dist-BSYXEhIz.js +2 -0
  169. package/dist/web/assets/dist-BSYXEhIz.js.br +0 -0
  170. package/dist/web/assets/dist-BSYXEhIz.js.gz +0 -0
  171. package/dist/web/assets/dist-CQJQA-5W.js +1 -0
  172. package/dist/web/assets/dist-CQJQA-5W.js.br +0 -0
  173. package/dist/web/assets/dist-CQJQA-5W.js.gz +0 -0
  174. package/dist/web/assets/dist-CjuFTbZP.js +9 -0
  175. package/dist/web/assets/dist-CjuFTbZP.js.br +0 -0
  176. package/dist/web/assets/dist-CjuFTbZP.js.gz +0 -0
  177. package/dist/web/assets/dist-D24hK3Xq.js +1 -0
  178. package/dist/web/assets/dist-D24hK3Xq.js.br +0 -0
  179. package/dist/web/assets/dist-D24hK3Xq.js.gz +0 -0
  180. package/dist/web/assets/dist-D3-ZjJ2N.js +1 -0
  181. package/dist/web/assets/dist-D3-ZjJ2N.js.br +0 -0
  182. package/dist/web/assets/dist-D3-ZjJ2N.js.gz +0 -0
  183. package/dist/web/assets/dist-D8PP7WHN.js +6 -0
  184. package/dist/web/assets/dist-D8PP7WHN.js.br +0 -0
  185. package/dist/web/assets/dist-D8PP7WHN.js.gz +0 -0
  186. package/dist/web/assets/dist-DHqTYXE-.js +1 -0
  187. package/dist/web/assets/dist-DHqTYXE-.js.br +0 -0
  188. package/dist/web/assets/dist-DHqTYXE-.js.gz +0 -0
  189. package/dist/web/assets/dist-DhzZV2ds.js +1 -0
  190. package/dist/web/assets/dist-DhzZV2ds.js.br +0 -0
  191. package/dist/web/assets/dist-DhzZV2ds.js.gz +0 -0
  192. package/dist/web/assets/dist-X1JxwRwP.js +42 -0
  193. package/dist/web/assets/dist-X1JxwRwP.js.br +0 -0
  194. package/dist/web/assets/dist-X1JxwRwP.js.gz +0 -0
  195. package/dist/web/assets/document-navigation-75a_uuKd.js +3 -0
  196. package/dist/web/assets/document-navigation-75a_uuKd.js.br +0 -0
  197. package/dist/web/assets/document-navigation-75a_uuKd.js.gz +0 -0
  198. package/dist/web/assets/document-workspace-tabs-COLOi5R0.js +1 -0
  199. package/dist/web/assets/document-workspace-tabs-COLOi5R0.js.br +0 -0
  200. package/dist/web/assets/document-workspace-tabs-COLOi5R0.js.gz +0 -0
  201. package/dist/web/assets/download-B2IDfj2R.js +1 -0
  202. package/dist/web/assets/download-B2IDfj2R.js.br +0 -0
  203. package/dist/web/assets/download-B2IDfj2R.js.gz +0 -0
  204. package/dist/web/assets/ebnfDiagram-BXEA7PRR-BV0W-GHb.js +1 -0
  205. package/dist/web/assets/ebnfDiagram-BXEA7PRR-BV0W-GHb.js.br +0 -0
  206. package/dist/web/assets/ebnfDiagram-BXEA7PRR-BV0W-GHb.js.gz +0 -0
  207. package/dist/web/assets/engine-setup-gate-KavFzQKj.js +1 -0
  208. package/dist/web/assets/engine-setup-gate-KavFzQKj.js.br +0 -0
  209. package/dist/web/assets/engine-setup-gate-KavFzQKj.js.gz +0 -0
  210. package/dist/web/assets/erDiagram-JOGREHBK-JicChoNS.js +85 -0
  211. package/dist/web/assets/erDiagram-JOGREHBK-JicChoNS.js.br +0 -0
  212. package/dist/web/assets/erDiagram-JOGREHBK-JicChoNS.js.gz +0 -0
  213. package/dist/web/assets/extension-list-DbJgWuAz.js +1 -0
  214. package/dist/web/assets/extension-list-DbJgWuAz.js.br +0 -0
  215. package/dist/web/assets/extension-list-DbJgWuAz.js.gz +0 -0
  216. package/dist/web/assets/external-link-D-LrX49w.js +1 -0
  217. package/dist/web/assets/external-link-D-LrX49w.js.br +0 -0
  218. package/dist/web/assets/external-link-D-LrX49w.js.gz +0 -0
  219. package/dist/web/assets/file-navigation-view-preference-2aESOSJW.js +1 -0
  220. package/dist/web/assets/file-navigation-view-preference-2aESOSJW.js.br +0 -0
  221. package/dist/web/assets/file-navigation-view-preference-2aESOSJW.js.gz +0 -0
  222. package/dist/web/assets/file-review-dialog-Cm2hBQqY.js +2 -0
  223. package/dist/web/assets/file-review-dialog-Cm2hBQqY.js.br +0 -0
  224. package/dist/web/assets/file-review-dialog-Cm2hBQqY.js.gz +0 -0
  225. package/dist/web/assets/flowDiagram-UKHOOZJN-HLG2qku7.js +1 -0
  226. package/dist/web/assets/flowDiagram-UKHOOZJN-HLG2qku7.js.br +0 -0
  227. package/dist/web/assets/flowDiagram-UKHOOZJN-HLG2qku7.js.gz +0 -0
  228. package/dist/web/assets/ganttDiagram-PKOTCBZU-C3ExN15k.js +292 -0
  229. package/dist/web/assets/ganttDiagram-PKOTCBZU-C3ExN15k.js.br +0 -0
  230. package/dist/web/assets/ganttDiagram-PKOTCBZU-C3ExN15k.js.gz +0 -0
  231. package/dist/web/assets/git-commit-review-C6UC-zZE.js +2 -0
  232. package/dist/web/assets/git-commit-review-C6UC-zZE.js.br +0 -0
  233. package/dist/web/assets/git-commit-review-C6UC-zZE.js.gz +0 -0
  234. package/dist/web/assets/git-history-panel-BeCbvj2H.js +1 -0
  235. package/dist/web/assets/git-history-panel-BeCbvj2H.js.br +0 -0
  236. package/dist/web/assets/git-history-panel-BeCbvj2H.js.gz +0 -0
  237. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-BPk1l0kU.js +106 -0
  238. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-BPk1l0kU.js.br +0 -0
  239. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-BPk1l0kU.js.gz +0 -0
  240. package/dist/web/assets/global-search-dialog-BmcW-90r.js +2 -0
  241. package/dist/web/assets/global-search-dialog-BmcW-90r.js.br +0 -0
  242. package/dist/web/assets/global-search-dialog-BmcW-90r.js.gz +0 -0
  243. package/dist/web/assets/global-settings-about-l1sCNAz5.js +1 -0
  244. package/dist/web/assets/global-settings-about-l1sCNAz5.js.br +0 -0
  245. package/dist/web/assets/global-settings-about-l1sCNAz5.js.gz +0 -0
  246. package/dist/web/assets/global-settings-fields-LJOjIwQ_.js +1 -0
  247. package/dist/web/assets/global-settings-fields-LJOjIwQ_.js.br +0 -0
  248. package/dist/web/assets/global-settings-fields-LJOjIwQ_.js.gz +0 -0
  249. package/dist/web/assets/global-settings-page-DYEc-yXa.js +2 -0
  250. package/dist/web/assets/global-settings-page-DYEc-yXa.js.br +0 -0
  251. package/dist/web/assets/global-settings-page-DYEc-yXa.js.gz +0 -0
  252. package/dist/web/assets/global-settings-pets-CZgXMjYK.js +1 -0
  253. package/dist/web/assets/global-settings-pets-CZgXMjYK.js.br +0 -0
  254. package/dist/web/assets/global-settings-pets-CZgXMjYK.js.gz +0 -0
  255. package/dist/web/assets/highlighted-body-OFNGDK62-D98CSs06.js +1 -0
  256. package/dist/web/assets/highlighted-body-OFNGDK62-D98CSs06.js.br +0 -0
  257. package/dist/web/assets/highlighted-body-OFNGDK62-D98CSs06.js.gz +0 -0
  258. package/dist/web/assets/history-task-timeline-DAex1zI2.js +1 -0
  259. package/dist/web/assets/history-task-timeline-DAex1zI2.js.br +0 -0
  260. package/dist/web/assets/history-task-timeline-DAex1zI2.js.gz +0 -0
  261. package/dist/web/assets/image-R-U-mYHf.js +1 -0
  262. package/dist/web/assets/image-R-U-mYHf.js.br +0 -0
  263. package/dist/web/assets/image-R-U-mYHf.js.gz +0 -0
  264. package/dist/web/assets/image-preview-BSsSMEKx.js +2 -0
  265. package/dist/web/assets/image-preview-BSsSMEKx.js.br +0 -0
  266. package/dist/web/assets/image-preview-BSsSMEKx.js.gz +0 -0
  267. package/dist/web/assets/image-preview-content-BDHF7njg.js +41 -0
  268. package/dist/web/assets/image-preview-content-BDHF7njg.js.br +0 -0
  269. package/dist/web/assets/image-preview-content-BDHF7njg.js.gz +0 -0
  270. package/dist/web/assets/index-BWaH5L2Y.js +4 -0
  271. package/dist/web/assets/index-BWaH5L2Y.js.br +0 -0
  272. package/dist/web/assets/index-BWaH5L2Y.js.gz +0 -0
  273. package/dist/web/assets/index-tlTKg_SZ.css +2 -0
  274. package/dist/web/assets/index-tlTKg_SZ.css.br +0 -0
  275. package/dist/web/assets/index-tlTKg_SZ.css.gz +0 -0
  276. package/dist/web/assets/infoDiagram-6WML65LV-lOtU66lA.js +2 -0
  277. package/dist/web/assets/infoDiagram-6WML65LV-lOtU66lA.js.br +0 -0
  278. package/dist/web/assets/infoDiagram-6WML65LV-lOtU66lA.js.gz +0 -0
  279. package/dist/web/assets/initial-deps-CCdrudAz.js +41 -0
  280. package/dist/web/assets/initial-deps-CCdrudAz.js.br +0 -0
  281. package/dist/web/assets/initial-deps-CCdrudAz.js.gz +0 -0
  282. package/dist/web/assets/initial-deps-iKA5xHo-.js +2 -0
  283. package/dist/web/assets/initial-deps-iKA5xHo-.js.br +0 -0
  284. package/dist/web/assets/initial-deps-iKA5xHo-.js.gz +0 -0
  285. package/dist/web/assets/initial-deps-kUkmh9lq.js +1 -0
  286. package/dist/web/assets/initial-deps-kUkmh9lq.js.br +0 -0
  287. package/dist/web/assets/initial-deps-kUkmh9lq.js.gz +0 -0
  288. package/dist/web/assets/installed-skills-pane-Bxo9Rtgq.js +1 -0
  289. package/dist/web/assets/installed-skills-pane-Bxo9Rtgq.js.br +0 -0
  290. package/dist/web/assets/installed-skills-pane-Bxo9Rtgq.js.gz +0 -0
  291. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BAmaOfOT.js +70 -0
  292. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BAmaOfOT.js.br +0 -0
  293. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BAmaOfOT.js.gz +0 -0
  294. package/dist/web/assets/journeyDiagram-NVQOT4AX-Bx_5Efjo.js +139 -0
  295. package/dist/web/assets/journeyDiagram-NVQOT4AX-Bx_5Efjo.js.br +0 -0
  296. package/dist/web/assets/journeyDiagram-NVQOT4AX-Bx_5Efjo.js.gz +0 -0
  297. package/dist/web/assets/kanban-definition-27J2QSJJ-B6NxF5yJ.js +89 -0
  298. package/dist/web/assets/kanban-definition-27J2QSJJ-B6NxF5yJ.js.br +0 -0
  299. package/dist/web/assets/kanban-definition-27J2QSJJ-B6NxF5yJ.js.gz +0 -0
  300. package/dist/web/assets/keyboard-shortcuts-dialog-C-GWhNWL.js +1 -0
  301. package/dist/web/assets/keyboard-shortcuts-dialog-C-GWhNWL.js.br +0 -0
  302. package/dist/web/assets/keyboard-shortcuts-dialog-C-GWhNWL.js.gz +0 -0
  303. package/dist/web/assets/line-DaPOnL7c.js +1 -0
  304. package/dist/web/assets/line-DaPOnL7c.js.br +0 -0
  305. package/dist/web/assets/line-DaPOnL7c.js.gz +0 -0
  306. package/dist/web/assets/maximize-2-BpkZlbuw.js +1 -0
  307. package/dist/web/assets/maximize-2-BpkZlbuw.js.br +0 -0
  308. package/dist/web/assets/maximize-2-BpkZlbuw.js.gz +0 -0
  309. package/dist/web/assets/mcp-management-pane-DgXUejjs.js +1 -0
  310. package/dist/web/assets/mcp-management-pane-DgXUejjs.js.br +0 -0
  311. package/dist/web/assets/mcp-management-pane-DgXUejjs.js.gz +0 -0
  312. package/dist/web/assets/mermaid-GHXKKRXX-B5xOxKdS.js +1 -0
  313. package/dist/web/assets/mermaid-GHXKKRXX-B5xOxKdS.js.br +1 -0
  314. package/dist/web/assets/mermaid-GHXKKRXX-B5xOxKdS.js.gz +0 -0
  315. package/dist/web/assets/message-assistant-directive-BbyudKwa.js +3 -0
  316. package/dist/web/assets/message-assistant-directive-BbyudKwa.js.br +0 -0
  317. package/dist/web/assets/message-assistant-directive-BbyudKwa.js.gz +0 -0
  318. package/dist/web/assets/message-response-BqoIkXV5.js +151 -0
  319. package/dist/web/assets/message-response-BqoIkXV5.js.br +0 -0
  320. package/dist/web/assets/message-response-BqoIkXV5.js.gz +0 -0
  321. package/dist/web/assets/mindmap-definition-FAOFIHXS-K8-tfo-8.js +96 -0
  322. package/dist/web/assets/mindmap-definition-FAOFIHXS-K8-tfo-8.js.br +0 -0
  323. package/dist/web/assets/mindmap-definition-FAOFIHXS-K8-tfo-8.js.gz +0 -0
  324. package/dist/web/assets/model-context-window-input-CwGTWSfk.js +1 -0
  325. package/dist/web/assets/model-context-window-input-CwGTWSfk.js.br +0 -0
  326. package/dist/web/assets/model-context-window-input-CwGTWSfk.js.gz +0 -0
  327. package/dist/web/assets/official-plugin-sheet-DnfSzz6a.js +1 -0
  328. package/dist/web/assets/official-plugin-sheet-DnfSzz6a.js.br +0 -0
  329. package/dist/web/assets/official-plugin-sheet-DnfSzz6a.js.gz +0 -0
  330. package/dist/web/assets/official-plugins-pane-CNARU0sq.js +2 -0
  331. package/dist/web/assets/official-plugins-pane-CNARU0sq.js.br +0 -0
  332. package/dist/web/assets/official-plugins-pane-CNARU0sq.js.gz +0 -0
  333. package/dist/web/assets/open-project-path-CEfQwpgq.js +1 -0
  334. package/dist/web/assets/open-project-path-CEfQwpgq.js.br +0 -0
  335. package/dist/web/assets/open-project-path-CEfQwpgq.js.gz +0 -0
  336. package/dist/web/assets/patch-diff-viewer-AqkBM917.js +1409 -0
  337. package/dist/web/assets/patch-diff-viewer-AqkBM917.js.br +0 -0
  338. package/dist/web/assets/patch-diff-viewer-AqkBM917.js.gz +0 -0
  339. package/dist/web/assets/pegDiagram-VL7TDLO6-C9lVqR-l.js +1 -0
  340. package/dist/web/assets/pegDiagram-VL7TDLO6-C9lVqR-l.js.br +0 -0
  341. package/dist/web/assets/pegDiagram-VL7TDLO6-C9lVqR-l.js.gz +0 -0
  342. package/dist/web/assets/personalization-settings-panel-CVrwQzX8.js +1 -0
  343. package/dist/web/assets/personalization-settings-panel-CVrwQzX8.js.br +0 -0
  344. package/dist/web/assets/personalization-settings-panel-CVrwQzX8.js.gz +0 -0
  345. package/dist/web/assets/pieDiagram-7S7Q4E2Y-BsWvqg79.js +39 -0
  346. package/dist/web/assets/pieDiagram-7S7Q4E2Y-BsWvqg79.js.br +0 -0
  347. package/dist/web/assets/pieDiagram-7S7Q4E2Y-BsWvqg79.js.gz +0 -0
  348. package/dist/web/assets/project-file-popup-page-ByGcOFiM.js +1 -0
  349. package/dist/web/assets/project-file-popup-page-ByGcOFiM.js.br +0 -0
  350. package/dist/web/assets/project-file-popup-page-ByGcOFiM.js.gz +0 -0
  351. package/dist/web/assets/project-sidebar-timeline-CQiXo2Yp.js +1 -0
  352. package/dist/web/assets/project-sidebar-timeline-CQiXo2Yp.js.br +0 -0
  353. package/dist/web/assets/project-sidebar-timeline-CQiXo2Yp.js.gz +0 -0
  354. package/dist/web/assets/project-source-panel-D2ThYp5d.js +2 -0
  355. package/dist/web/assets/project-source-panel-D2ThYp5d.js.br +0 -0
  356. package/dist/web/assets/project-source-panel-D2ThYp5d.js.gz +0 -0
  357. package/dist/web/assets/prompt-input-g79Q2uIz.js +1 -0
  358. package/dist/web/assets/prompt-input-g79Q2uIz.js.br +0 -0
  359. package/dist/web/assets/prompt-input-g79Q2uIz.js.gz +0 -0
  360. package/dist/web/assets/provider-connection-panel-Bl65NHxW.js +1 -0
  361. package/dist/web/assets/provider-connection-panel-Bl65NHxW.js.br +0 -0
  362. package/dist/web/assets/provider-connection-panel-Bl65NHxW.js.gz +0 -0
  363. package/dist/web/assets/provider-connection-queries-BF1EH_j1.js +1 -0
  364. package/dist/web/assets/provider-connection-queries-BF1EH_j1.js.br +0 -0
  365. package/dist/web/assets/provider-connection-queries-BF1EH_j1.js.gz +0 -0
  366. package/dist/web/assets/quadrantDiagram-CIZ2JOQS-BVmqMnmo.js +7 -0
  367. package/dist/web/assets/quadrantDiagram-CIZ2JOQS-BVmqMnmo.js.br +0 -0
  368. package/dist/web/assets/quadrantDiagram-CIZ2JOQS-BVmqMnmo.js.gz +0 -0
  369. package/dist/web/assets/railroadDiagram-AXF67PYL-oHIJMcYi.js +1 -0
  370. package/dist/web/assets/railroadDiagram-AXF67PYL-oHIJMcYi.js.br +0 -0
  371. package/dist/web/assets/railroadDiagram-AXF67PYL-oHIJMcYi.js.gz +0 -0
  372. package/dist/web/assets/requirementDiagram-LRYGKXZP-CKt6-qri.js +84 -0
  373. package/dist/web/assets/requirementDiagram-LRYGKXZP-CKt6-qri.js.br +0 -0
  374. package/dist/web/assets/requirementDiagram-LRYGKXZP-CKt6-qri.js.gz +0 -0
  375. package/dist/web/assets/resources-en-DqA58Edj.js +1 -0
  376. package/dist/web/assets/resources-en-DqA58Edj.js.br +0 -0
  377. package/dist/web/assets/resources-en-DqA58Edj.js.gz +0 -0
  378. package/dist/web/assets/sankeyDiagram-W5VNT64P-B5U8f4GD.js +40 -0
  379. package/dist/web/assets/sankeyDiagram-W5VNT64P-B5U8f4GD.js.br +0 -0
  380. package/dist/web/assets/sankeyDiagram-W5VNT64P-B5U8f4GD.js.gz +0 -0
  381. package/dist/web/assets/saved-prompts-settings-wYShXSzY.js +1 -0
  382. package/dist/web/assets/saved-prompts-settings-wYShXSzY.js.br +0 -0
  383. package/dist/web/assets/saved-prompts-settings-wYShXSzY.js.gz +0 -0
  384. package/dist/web/assets/scan-BKLK7DRs.js +1 -0
  385. package/dist/web/assets/scan-BKLK7DRs.js.br +3 -0
  386. package/dist/web/assets/scan-BKLK7DRs.js.gz +0 -0
  387. package/dist/web/assets/scheduled-task-date-time-picker-D1crBziK.js +1 -0
  388. package/dist/web/assets/scheduled-task-date-time-picker-D1crBziK.js.br +0 -0
  389. package/dist/web/assets/scheduled-task-date-time-picker-D1crBziK.js.gz +0 -0
  390. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CqSuIIrn.js +1 -0
  391. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CqSuIIrn.js.br +0 -0
  392. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CqSuIIrn.js.gz +0 -0
  393. package/dist/web/assets/scheduled-tasks-container-BFP-RHj4.js +2 -0
  394. package/dist/web/assets/scheduled-tasks-container-BFP-RHj4.js.br +0 -0
  395. package/dist/web/assets/scheduled-tasks-container-BFP-RHj4.js.gz +0 -0
  396. package/dist/web/assets/sequenceDiagram-SI44F4Z6-DxhmzoaH.js +162 -0
  397. package/dist/web/assets/sequenceDiagram-SI44F4Z6-DxhmzoaH.js.br +0 -0
  398. package/dist/web/assets/sequenceDiagram-SI44F4Z6-DxhmzoaH.js.gz +0 -0
  399. package/dist/web/assets/server-hY1i_VI0.js +1 -0
  400. package/dist/web/assets/server-hY1i_VI0.js.br +3 -0
  401. package/dist/web/assets/server-hY1i_VI0.js.gz +0 -0
  402. package/dist/web/assets/settings-mutation-status-DoCrIJqt.js +1 -0
  403. package/dist/web/assets/settings-mutation-status-DoCrIJqt.js.br +0 -0
  404. package/dist/web/assets/settings-mutation-status-DoCrIJqt.js.gz +0 -0
  405. package/dist/web/assets/settings-save-status-z2qZDNCS.js +1 -0
  406. package/dist/web/assets/settings-save-status-z2qZDNCS.js.br +0 -0
  407. package/dist/web/assets/settings-save-status-z2qZDNCS.js.gz +0 -0
  408. package/dist/web/assets/shiki-bundle-uz23m7wG.js +1 -0
  409. package/dist/web/assets/shiki-bundle-uz23m7wG.js.br +2 -0
  410. package/dist/web/assets/shiki-bundle-uz23m7wG.js.gz +0 -0
  411. package/dist/web/assets/skills-market-container-CDYWjenT.js +2 -0
  412. package/dist/web/assets/skills-market-container-CDYWjenT.js.br +0 -0
  413. package/dist/web/assets/skills-market-container-CDYWjenT.js.gz +0 -0
  414. package/dist/web/assets/split-workspace-menu-content-C637t0FG.js +1 -0
  415. package/dist/web/assets/split-workspace-menu-content-C637t0FG.js.br +0 -0
  416. package/dist/web/assets/split-workspace-menu-content-C637t0FG.js.gz +0 -0
  417. package/dist/web/assets/stateDiagram-OKZ733FA-Di8-UXGT.js +1 -0
  418. package/dist/web/assets/stateDiagram-OKZ733FA-Di8-UXGT.js.br +0 -0
  419. package/dist/web/assets/stateDiagram-OKZ733FA-Di8-UXGT.js.gz +0 -0
  420. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-eX_M7HXA.js +1 -0
  421. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-eX_M7HXA.js.br +1 -0
  422. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-eX_M7HXA.js.gz +0 -0
  423. package/dist/web/assets/swimlanes-SLNWSIFB-BRaVuUwU.js +2 -0
  424. package/dist/web/assets/swimlanes-SLNWSIFB-BRaVuUwU.js.br +0 -0
  425. package/dist/web/assets/swimlanes-SLNWSIFB-BRaVuUwU.js.gz +0 -0
  426. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DXliDZnW.js +8 -0
  427. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DXliDZnW.js.br +0 -0
  428. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-DXliDZnW.js.gz +0 -0
  429. package/dist/web/assets/task-timeline-process-history-BoN-GAHk.js +1 -0
  430. package/dist/web/assets/task-timeline-process-history-BoN-GAHk.js.br +0 -0
  431. package/dist/web/assets/task-timeline-process-history-BoN-GAHk.js.gz +0 -0
  432. package/dist/web/assets/text-file-editor-CCcnq2j2.js +14 -0
  433. package/dist/web/assets/text-file-editor-CCcnq2j2.js.br +0 -0
  434. package/dist/web/assets/text-file-editor-CCcnq2j2.js.gz +0 -0
  435. package/dist/web/assets/timeline-definition-Z64GVDOM-C9S87BW-.js +120 -0
  436. package/dist/web/assets/timeline-definition-Z64GVDOM-C9S87BW-.js.br +0 -0
  437. package/dist/web/assets/timeline-definition-Z64GVDOM-C9S87BW-.js.gz +0 -0
  438. package/dist/web/assets/upload-CBUNoBDE.js +1 -0
  439. package/dist/web/assets/upload-CBUNoBDE.js.br +0 -0
  440. package/dist/web/assets/upload-CBUNoBDE.js.gz +0 -0
  441. package/dist/web/assets/usage-statistics-CsFiZTzg.js +1 -0
  442. package/dist/web/assets/usage-statistics-CsFiZTzg.js.br +0 -0
  443. package/dist/web/assets/usage-statistics-CsFiZTzg.js.gz +0 -0
  444. package/dist/web/assets/utils-Bd_KH2PS.js +1 -0
  445. package/dist/web/assets/utils-Bd_KH2PS.js.br +4 -0
  446. package/dist/web/assets/utils-Bd_KH2PS.js.gz +0 -0
  447. package/dist/web/assets/vennDiagram-T6HMQDX7-B4zTtT3I.js +34 -0
  448. package/dist/web/assets/vennDiagram-T6HMQDX7-B4zTtT3I.js.br +0 -0
  449. package/dist/web/assets/vennDiagram-T6HMQDX7-B4zTtT3I.js.gz +0 -0
  450. package/dist/web/assets/wardleyDiagram-T6FBY63Y-Qy_G_F5F.js +78 -0
  451. package/dist/web/assets/wardleyDiagram-T6FBY63Y-Qy_G_F5F.js.br +0 -0
  452. package/dist/web/assets/wardleyDiagram-T6FBY63Y-Qy_G_F5F.js.gz +0 -0
  453. package/dist/web/assets/workbench-inspector-changes-Dw5RrTEH.js +1 -0
  454. package/dist/web/assets/workbench-inspector-changes-Dw5RrTEH.js.br +0 -0
  455. package/dist/web/assets/workbench-inspector-changes-Dw5RrTEH.js.gz +0 -0
  456. package/dist/web/assets/workbench-pet-canvas-AgrvaVkp.js +1 -0
  457. package/dist/web/assets/workbench-pet-canvas-AgrvaVkp.js.br +0 -0
  458. package/dist/web/assets/workbench-pet-canvas-AgrvaVkp.js.gz +0 -0
  459. package/dist/web/assets/workbench-shell-aBD85-VI.js +17 -0
  460. package/dist/web/assets/workbench-shell-aBD85-VI.js.br +0 -0
  461. package/dist/web/assets/workbench-shell-aBD85-VI.js.gz +0 -0
  462. package/dist/web/assets/xychartDiagram-ELKLHX3M-mNBtDAak.js +7 -0
  463. package/dist/web/assets/xychartDiagram-ELKLHX3M-mNBtDAak.js.br +0 -0
  464. package/dist/web/assets/xychartDiagram-ELKLHX3M-mNBtDAak.js.gz +0 -0
  465. package/dist/web/index.html +6 -6
  466. package/dist/web/index.html.br +0 -0
  467. package/dist/web/index.html.gz +0 -0
  468. package/docs/README.md +1 -1
  469. package/docs/conversation-performance.md +4 -0
  470. package/docs/document-workspace.md +13 -5
  471. package/docs/faq.md +1 -1
  472. package/docs/usage.en.md +5 -3
  473. package/docs/usage.md +5 -3
  474. package/docs/web.en.md +3 -1
  475. package/docs/web.md +4 -2
  476. package/package.json +1 -1
  477. package/dist/chunk-7G5JKKJQ.js +0 -3
  478. package/dist/chunk-C64TCOGX.js +0 -26
  479. package/dist/chunk-DW7IKH5A.js +0 -934
  480. package/dist/chunk-LRH4LRGC.js +0 -2
  481. package/dist/chunk-RVNRCEGR.js +0 -37
  482. package/dist/chunk-W4XMPSQ6.js +0 -3
  483. package/dist/command-JURPOVRJ.js +0 -88
  484. package/dist/token-usage-response-FRCIPFC4.js +0 -1
  485. package/dist/web/assets/abnfDiagram-N423BO3Z-DhOWqv-9.js +0 -1
  486. package/dist/web/assets/abnfDiagram-N423BO3Z-DhOWqv-9.js.br +0 -0
  487. package/dist/web/assets/abnfDiagram-N423BO3Z-DhOWqv-9.js.gz +0 -0
  488. package/dist/web/assets/activity-BLmbhAyP.js +0 -1
  489. package/dist/web/assets/activity-BLmbhAyP.js.br +0 -0
  490. package/dist/web/assets/activity-BLmbhAyP.js.gz +0 -0
  491. package/dist/web/assets/agent-settings-panel-BtT_fA4k.js +0 -1
  492. package/dist/web/assets/agent-settings-panel-BtT_fA4k.js.br +0 -0
  493. package/dist/web/assets/agent-settings-panel-BtT_fA4k.js.gz +0 -0
  494. package/dist/web/assets/api-connection-fields-WueUKMmU.js +0 -1
  495. package/dist/web/assets/api-connection-fields-WueUKMmU.js.br +0 -0
  496. package/dist/web/assets/api-connection-fields-WueUKMmU.js.gz +0 -0
  497. package/dist/web/assets/app-update-dialog-BVYanXEH.js +0 -1
  498. package/dist/web/assets/app-update-dialog-BVYanXEH.js.br +0 -0
  499. package/dist/web/assets/app-update-dialog-BVYanXEH.js.gz +0 -0
  500. package/dist/web/assets/architectureDiagram-T3A2C74G-XaZ7JCUm.js +0 -36
  501. package/dist/web/assets/architectureDiagram-T3A2C74G-XaZ7JCUm.js.br +0 -0
  502. package/dist/web/assets/architectureDiagram-T3A2C74G-XaZ7JCUm.js.gz +0 -0
  503. package/dist/web/assets/archived-tasks-dialog-DvYO0otZ.js +0 -1
  504. package/dist/web/assets/archived-tasks-dialog-DvYO0otZ.js.br +0 -0
  505. package/dist/web/assets/archived-tasks-dialog-DvYO0otZ.js.gz +0 -0
  506. package/dist/web/assets/arrow-down-DUHHdu_G.js +0 -1
  507. package/dist/web/assets/arrow-down-DUHHdu_G.js.br +0 -0
  508. package/dist/web/assets/arrow-down-DUHHdu_G.js.gz +0 -0
  509. package/dist/web/assets/arrow-up-right-pwN3fEpQ.js +0 -1
  510. package/dist/web/assets/arrow-up-right-pwN3fEpQ.js.br +0 -0
  511. package/dist/web/assets/arrow-up-right-pwN3fEpQ.js.gz +0 -0
  512. package/dist/web/assets/background-image-picker-qLNVDW8q.js +0 -1
  513. package/dist/web/assets/background-image-picker-qLNVDW8q.js.br +0 -0
  514. package/dist/web/assets/background-image-picker-qLNVDW8q.js.gz +0 -0
  515. package/dist/web/assets/blockDiagram-VBNYF7ZC-CceBrXFU.js +0 -132
  516. package/dist/web/assets/blockDiagram-VBNYF7ZC-CceBrXFU.js.br +0 -0
  517. package/dist/web/assets/blockDiagram-VBNYF7ZC-CceBrXFU.js.gz +0 -0
  518. package/dist/web/assets/c4Diagram-5PPSVZJV-w5l2XNGM.js +0 -10
  519. package/dist/web/assets/c4Diagram-5PPSVZJV-w5l2XNGM.js.br +0 -0
  520. package/dist/web/assets/c4Diagram-5PPSVZJV-w5l2XNGM.js.gz +0 -0
  521. package/dist/web/assets/calendar-days-CaEmURf6.js +0 -1
  522. package/dist/web/assets/calendar-days-CaEmURf6.js.br +0 -0
  523. package/dist/web/assets/calendar-days-CaEmURf6.js.gz +0 -0
  524. package/dist/web/assets/channel-DO_0Dk-j.js +0 -1
  525. package/dist/web/assets/channel-DO_0Dk-j.js.br +0 -0
  526. package/dist/web/assets/channel-DO_0Dk-j.js.gz +0 -0
  527. package/dist/web/assets/chevron-left-Dsg_A5qc.js +0 -1
  528. package/dist/web/assets/chevron-left-Dsg_A5qc.js.br +0 -0
  529. package/dist/web/assets/chevron-left-Dsg_A5qc.js.gz +0 -0
  530. package/dist/web/assets/chunk-2GRJ4B5K-CEv2MHXP.js +0 -1
  531. package/dist/web/assets/chunk-2GRJ4B5K-CEv2MHXP.js.br +0 -0
  532. package/dist/web/assets/chunk-2GRJ4B5K-CEv2MHXP.js.gz +0 -0
  533. package/dist/web/assets/chunk-4I5QYGJK-CFTW6BjH.js +0 -1
  534. package/dist/web/assets/chunk-4I5QYGJK-CFTW6BjH.js.br +0 -0
  535. package/dist/web/assets/chunk-4I5QYGJK-CFTW6BjH.js.gz +0 -0
  536. package/dist/web/assets/chunk-5RXB4S5H-Bbuu-yH3.js +0 -231
  537. package/dist/web/assets/chunk-5RXB4S5H-Bbuu-yH3.js.br +0 -0
  538. package/dist/web/assets/chunk-5RXB4S5H-Bbuu-yH3.js.gz +0 -0
  539. package/dist/web/assets/chunk-6Q2QTUOP-BN9DLH6W.js +0 -88
  540. package/dist/web/assets/chunk-6Q2QTUOP-BN9DLH6W.js.br +0 -0
  541. package/dist/web/assets/chunk-6Q2QTUOP-BN9DLH6W.js.gz +0 -0
  542. package/dist/web/assets/chunk-7Z6QIM7H-EcjbjQJl.js +0 -10
  543. package/dist/web/assets/chunk-7Z6QIM7H-EcjbjQJl.js.br +0 -0
  544. package/dist/web/assets/chunk-7Z6QIM7H-EcjbjQJl.js.gz +0 -0
  545. package/dist/web/assets/chunk-GF5L2VYU-BMWxsfjW.js +0 -206
  546. package/dist/web/assets/chunk-GF5L2VYU-BMWxsfjW.js.br +0 -0
  547. package/dist/web/assets/chunk-GF5L2VYU-BMWxsfjW.js.gz +0 -0
  548. package/dist/web/assets/chunk-I66GZJ75-DQ6xf6w7.js +0 -127
  549. package/dist/web/assets/chunk-I66GZJ75-DQ6xf6w7.js.br +0 -0
  550. package/dist/web/assets/chunk-I66GZJ75-DQ6xf6w7.js.gz +0 -0
  551. package/dist/web/assets/chunk-JQJVKLGR-CEr3AARA.js +0 -156
  552. package/dist/web/assets/chunk-JQJVKLGR-CEr3AARA.js.br +0 -0
  553. package/dist/web/assets/chunk-JQJVKLGR-CEr3AARA.js.gz +0 -0
  554. package/dist/web/assets/chunk-KBJHAD2P-B3r655RL.js +0 -1
  555. package/dist/web/assets/chunk-KBJHAD2P-B3r655RL.js.br +0 -0
  556. package/dist/web/assets/chunk-KBJHAD2P-B3r655RL.js.gz +0 -0
  557. package/dist/web/assets/chunk-NSK5VX7P-CWtmfyNT.js +0 -2
  558. package/dist/web/assets/chunk-NSK5VX7P-CWtmfyNT.js.br +0 -0
  559. package/dist/web/assets/chunk-NSK5VX7P-CWtmfyNT.js.gz +0 -0
  560. package/dist/web/assets/chunk-QR6OTTB3-glA5PGr7.js +0 -62
  561. package/dist/web/assets/chunk-QR6OTTB3-glA5PGr7.js.br +0 -0
  562. package/dist/web/assets/chunk-QR6OTTB3-glA5PGr7.js.gz +0 -0
  563. package/dist/web/assets/chunk-UBXNYLIW-CMSFSmVU.js +0 -1
  564. package/dist/web/assets/chunk-UBXNYLIW-CMSFSmVU.js.br +0 -0
  565. package/dist/web/assets/chunk-UBXNYLIW-CMSFSmVU.js.gz +0 -0
  566. package/dist/web/assets/chunk-W5SLKNZC-BJLdBBKL.js +0 -1
  567. package/dist/web/assets/chunk-W5SLKNZC-BJLdBBKL.js.br +0 -0
  568. package/dist/web/assets/chunk-W5SLKNZC-BJLdBBKL.js.gz +0 -0
  569. package/dist/web/assets/chunk-WRU74C26-COKHzxBn.js +0 -70
  570. package/dist/web/assets/chunk-WRU74C26-COKHzxBn.js.br +0 -0
  571. package/dist/web/assets/chunk-WRU74C26-COKHzxBn.js.gz +0 -0
  572. package/dist/web/assets/classDiagram-JCYQIIEL-BrSlNEkX.js +0 -1
  573. package/dist/web/assets/classDiagram-JCYQIIEL-BrSlNEkX.js.br +0 -0
  574. package/dist/web/assets/classDiagram-JCYQIIEL-BrSlNEkX.js.gz +0 -0
  575. package/dist/web/assets/classDiagram-v2-OCEON4UE-BrSlNEkX.js +0 -1
  576. package/dist/web/assets/classDiagram-v2-OCEON4UE-BrSlNEkX.js.br +0 -0
  577. package/dist/web/assets/classDiagram-v2-OCEON4UE-BrSlNEkX.js.gz +0 -0
  578. package/dist/web/assets/claude-extensions-pane-B5alX6NW.js +0 -1
  579. package/dist/web/assets/claude-extensions-pane-B5alX6NW.js.br +0 -0
  580. package/dist/web/assets/claude-extensions-pane-B5alX6NW.js.gz +0 -0
  581. package/dist/web/assets/claude-settings-panel-clCfG3vv.js +0 -1
  582. package/dist/web/assets/claude-settings-panel-clCfG3vv.js.br +0 -0
  583. package/dist/web/assets/claude-settings-panel-clCfG3vv.js.gz +0 -0
  584. package/dist/web/assets/clipboard-rFJYhGgH.js +0 -1
  585. package/dist/web/assets/clipboard-rFJYhGgH.js.br +0 -0
  586. package/dist/web/assets/clipboard-rFJYhGgH.js.gz +0 -0
  587. package/dist/web/assets/code-highlighter-BSgLVO-5.js +0 -3
  588. package/dist/web/assets/code-highlighter-BSgLVO-5.js.br +0 -0
  589. package/dist/web/assets/code-highlighter-BSgLVO-5.js.gz +0 -0
  590. package/dist/web/assets/codex-resources-pane-17q6mdBu.js +0 -1
  591. package/dist/web/assets/codex-resources-pane-17q6mdBu.js.br +0 -0
  592. package/dist/web/assets/codex-resources-pane-17q6mdBu.js.gz +0 -0
  593. package/dist/web/assets/commit-settings-panel-BaCNJ-kP.js +0 -1
  594. package/dist/web/assets/commit-settings-panel-BaCNJ-kP.js.br +0 -0
  595. package/dist/web/assets/commit-settings-panel-BaCNJ-kP.js.gz +0 -0
  596. package/dist/web/assets/composer-git-menu-DpQl41Lv.js +0 -1
  597. package/dist/web/assets/composer-git-menu-DpQl41Lv.js.br +0 -0
  598. package/dist/web/assets/composer-git-menu-DpQl41Lv.js.gz +0 -0
  599. package/dist/web/assets/cynefinDiagram-MW4NZA55-BRur_bqy.js +0 -62
  600. package/dist/web/assets/cynefinDiagram-MW4NZA55-BRur_bqy.js.br +0 -0
  601. package/dist/web/assets/cynefinDiagram-MW4NZA55-BRur_bqy.js.gz +0 -0
  602. package/dist/web/assets/dagre-VZM6K2ZE-BJMLqNJh.js +0 -4
  603. package/dist/web/assets/dagre-VZM6K2ZE-BJMLqNJh.js.br +0 -0
  604. package/dist/web/assets/dagre-VZM6K2ZE-BJMLqNJh.js.gz +0 -0
  605. package/dist/web/assets/diagram-7IWD3JNH-Dm9goIk0.js +0 -30
  606. package/dist/web/assets/diagram-7IWD3JNH-Dm9goIk0.js.br +0 -0
  607. package/dist/web/assets/diagram-7IWD3JNH-Dm9goIk0.js.gz +0 -0
  608. package/dist/web/assets/diagram-B4RE2ZJO-qtdLm98R.js +0 -3
  609. package/dist/web/assets/diagram-B4RE2ZJO-qtdLm98R.js.br +0 -0
  610. package/dist/web/assets/diagram-B4RE2ZJO-qtdLm98R.js.gz +0 -0
  611. package/dist/web/assets/diagram-LBJQPF4R-D5MqQQlL.js +0 -24
  612. package/dist/web/assets/diagram-LBJQPF4R-D5MqQQlL.js.br +0 -0
  613. package/dist/web/assets/diagram-LBJQPF4R-D5MqQQlL.js.gz +0 -0
  614. package/dist/web/assets/diagram-Q27KOJAE-CT9-om9c.js +0 -24
  615. package/dist/web/assets/diagram-Q27KOJAE-CT9-om9c.js.br +0 -0
  616. package/dist/web/assets/diagram-Q27KOJAE-CT9-om9c.js.gz +0 -0
  617. package/dist/web/assets/diagram-UB23O5K3-BNxdNO9N.js +0 -41
  618. package/dist/web/assets/diagram-UB23O5K3-BNxdNO9N.js.br +0 -0
  619. package/dist/web/assets/diagram-UB23O5K3-BNxdNO9N.js.gz +0 -0
  620. package/dist/web/assets/dist-AuPj8SgL.js +0 -42
  621. package/dist/web/assets/dist-AuPj8SgL.js.br +0 -0
  622. package/dist/web/assets/dist-AuPj8SgL.js.gz +0 -0
  623. package/dist/web/assets/dist-B5sI2dlF.js +0 -2
  624. package/dist/web/assets/dist-B5sI2dlF.js.br +0 -0
  625. package/dist/web/assets/dist-B5sI2dlF.js.gz +0 -0
  626. package/dist/web/assets/dist-BsL649bQ.js +0 -1
  627. package/dist/web/assets/dist-BsL649bQ.js.br +0 -0
  628. package/dist/web/assets/dist-BsL649bQ.js.gz +0 -0
  629. package/dist/web/assets/dist-CAE1iZ8f.js +0 -23
  630. package/dist/web/assets/dist-CAE1iZ8f.js.br +0 -0
  631. package/dist/web/assets/dist-CAE1iZ8f.js.gz +0 -0
  632. package/dist/web/assets/dist-CXzWYcrE.js +0 -1
  633. package/dist/web/assets/dist-CXzWYcrE.js.br +0 -0
  634. package/dist/web/assets/dist-CXzWYcrE.js.gz +0 -0
  635. package/dist/web/assets/dist-Ceirvrnz.js +0 -1
  636. package/dist/web/assets/dist-Ceirvrnz.js.br +0 -0
  637. package/dist/web/assets/dist-Ceirvrnz.js.gz +0 -0
  638. package/dist/web/assets/dist-CuEOCH4w.js +0 -1
  639. package/dist/web/assets/dist-CuEOCH4w.js.br +0 -0
  640. package/dist/web/assets/dist-CuEOCH4w.js.gz +0 -0
  641. package/dist/web/assets/dist-DGIEKeyr.js +0 -1
  642. package/dist/web/assets/dist-DGIEKeyr.js.br +0 -0
  643. package/dist/web/assets/dist-DGIEKeyr.js.gz +0 -0
  644. package/dist/web/assets/dist-DTkOac6l.js +0 -9
  645. package/dist/web/assets/dist-DTkOac6l.js.br +0 -0
  646. package/dist/web/assets/dist-DTkOac6l.js.gz +0 -0
  647. package/dist/web/assets/dist-D_Wo-IHz.js +0 -1
  648. package/dist/web/assets/dist-D_Wo-IHz.js.br +0 -0
  649. package/dist/web/assets/dist-D_Wo-IHz.js.gz +0 -0
  650. package/dist/web/assets/dist-Dj9a4Mmk.js +0 -6
  651. package/dist/web/assets/dist-Dj9a4Mmk.js.br +0 -0
  652. package/dist/web/assets/dist-Dj9a4Mmk.js.gz +0 -0
  653. package/dist/web/assets/dist-sWM-W4IA.js +0 -1
  654. package/dist/web/assets/dist-sWM-W4IA.js.br +0 -0
  655. package/dist/web/assets/dist-sWM-W4IA.js.gz +0 -0
  656. package/dist/web/assets/dist-taplUnD4.js +0 -1
  657. package/dist/web/assets/dist-taplUnD4.js.br +0 -0
  658. package/dist/web/assets/dist-taplUnD4.js.gz +0 -0
  659. package/dist/web/assets/document-navigation-Da1q1H1O.js +0 -3
  660. package/dist/web/assets/document-navigation-Da1q1H1O.js.br +0 -0
  661. package/dist/web/assets/document-navigation-Da1q1H1O.js.gz +0 -0
  662. package/dist/web/assets/download-Be9bQeP_.js +0 -1
  663. package/dist/web/assets/download-Be9bQeP_.js.br +0 -0
  664. package/dist/web/assets/download-Be9bQeP_.js.gz +0 -0
  665. package/dist/web/assets/ebnfDiagram-BXEA7PRR-dyKzv1-Q.js +0 -1
  666. package/dist/web/assets/ebnfDiagram-BXEA7PRR-dyKzv1-Q.js.br +0 -0
  667. package/dist/web/assets/ebnfDiagram-BXEA7PRR-dyKzv1-Q.js.gz +0 -0
  668. package/dist/web/assets/engine-setup-gate-CsMQae5w.js +0 -1
  669. package/dist/web/assets/engine-setup-gate-CsMQae5w.js.br +0 -0
  670. package/dist/web/assets/engine-setup-gate-CsMQae5w.js.gz +0 -0
  671. package/dist/web/assets/erDiagram-JOGREHBK-BmTsV3SL.js +0 -85
  672. package/dist/web/assets/erDiagram-JOGREHBK-BmTsV3SL.js.br +0 -0
  673. package/dist/web/assets/erDiagram-JOGREHBK-BmTsV3SL.js.gz +0 -0
  674. package/dist/web/assets/extension-list-snCKzRql.js +0 -1
  675. package/dist/web/assets/extension-list-snCKzRql.js.br +0 -0
  676. package/dist/web/assets/extension-list-snCKzRql.js.gz +0 -0
  677. package/dist/web/assets/external-link-EUD14c1S.js +0 -1
  678. package/dist/web/assets/external-link-EUD14c1S.js.br +0 -0
  679. package/dist/web/assets/external-link-EUD14c1S.js.gz +0 -0
  680. package/dist/web/assets/file-navigation-view-preference-DZIGllo5.js +0 -1
  681. package/dist/web/assets/file-navigation-view-preference-DZIGllo5.js.br +0 -0
  682. package/dist/web/assets/file-navigation-view-preference-DZIGllo5.js.gz +0 -0
  683. package/dist/web/assets/file-review-dialog-DvvuhUCl.js +0 -2
  684. package/dist/web/assets/file-review-dialog-DvvuhUCl.js.br +0 -0
  685. package/dist/web/assets/file-review-dialog-DvvuhUCl.js.gz +0 -0
  686. package/dist/web/assets/flowDiagram-UKHOOZJN-BGsVtiSj.js +0 -1
  687. package/dist/web/assets/flowDiagram-UKHOOZJN-BGsVtiSj.js.br +0 -2
  688. package/dist/web/assets/flowDiagram-UKHOOZJN-BGsVtiSj.js.gz +0 -0
  689. package/dist/web/assets/ganttDiagram-PKOTCBZU-DDBacU-N.js +0 -292
  690. package/dist/web/assets/ganttDiagram-PKOTCBZU-DDBacU-N.js.br +0 -0
  691. package/dist/web/assets/ganttDiagram-PKOTCBZU-DDBacU-N.js.gz +0 -0
  692. package/dist/web/assets/git-commit-review-DrGBeiJa.js +0 -2
  693. package/dist/web/assets/git-commit-review-DrGBeiJa.js.br +0 -0
  694. package/dist/web/assets/git-commit-review-DrGBeiJa.js.gz +0 -0
  695. package/dist/web/assets/git-history-panel-BJ4OnqMO.js +0 -1
  696. package/dist/web/assets/git-history-panel-BJ4OnqMO.js.br +0 -0
  697. package/dist/web/assets/git-history-panel-BJ4OnqMO.js.gz +0 -0
  698. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-JH4oE096.js +0 -106
  699. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-JH4oE096.js.br +0 -0
  700. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-JH4oE096.js.gz +0 -0
  701. package/dist/web/assets/global-search-dialog-BZOhh2as.js +0 -2
  702. package/dist/web/assets/global-search-dialog-BZOhh2as.js.br +0 -0
  703. package/dist/web/assets/global-search-dialog-BZOhh2as.js.gz +0 -0
  704. package/dist/web/assets/global-settings-about-Cl_afjE6.js +0 -1
  705. package/dist/web/assets/global-settings-about-Cl_afjE6.js.br +0 -0
  706. package/dist/web/assets/global-settings-about-Cl_afjE6.js.gz +0 -0
  707. package/dist/web/assets/global-settings-fields-Cn48Go_s.js +0 -1
  708. package/dist/web/assets/global-settings-fields-Cn48Go_s.js.br +0 -0
  709. package/dist/web/assets/global-settings-fields-Cn48Go_s.js.gz +0 -0
  710. package/dist/web/assets/global-settings-page-YoE4BNgM.js +0 -2
  711. package/dist/web/assets/global-settings-page-YoE4BNgM.js.br +0 -0
  712. package/dist/web/assets/global-settings-page-YoE4BNgM.js.gz +0 -0
  713. package/dist/web/assets/global-settings-pets-b0XLhN7A.js +0 -1
  714. package/dist/web/assets/global-settings-pets-b0XLhN7A.js.br +0 -0
  715. package/dist/web/assets/global-settings-pets-b0XLhN7A.js.gz +0 -0
  716. package/dist/web/assets/highlighted-body-OFNGDK62-B9dwCqpt.js +0 -1
  717. package/dist/web/assets/highlighted-body-OFNGDK62-B9dwCqpt.js.br +0 -0
  718. package/dist/web/assets/highlighted-body-OFNGDK62-B9dwCqpt.js.gz +0 -0
  719. package/dist/web/assets/history-task-timeline-PqOQPY_u.js +0 -1
  720. package/dist/web/assets/history-task-timeline-PqOQPY_u.js.br +0 -0
  721. package/dist/web/assets/history-task-timeline-PqOQPY_u.js.gz +0 -0
  722. package/dist/web/assets/image-preview-D-s7cdTe.js +0 -2
  723. package/dist/web/assets/image-preview-D-s7cdTe.js.br +0 -0
  724. package/dist/web/assets/image-preview-D-s7cdTe.js.gz +0 -0
  725. package/dist/web/assets/image-preview-content-CdIl5BJh.js +0 -41
  726. package/dist/web/assets/image-preview-content-CdIl5BJh.js.br +0 -0
  727. package/dist/web/assets/image-preview-content-CdIl5BJh.js.gz +0 -0
  728. package/dist/web/assets/index-CE2J7Z4y.js +0 -4
  729. package/dist/web/assets/index-CE2J7Z4y.js.br +0 -0
  730. package/dist/web/assets/index-CE2J7Z4y.js.gz +0 -0
  731. package/dist/web/assets/index-DNMb0zwW.css +0 -2
  732. package/dist/web/assets/index-DNMb0zwW.css.br +0 -0
  733. package/dist/web/assets/index-DNMb0zwW.css.gz +0 -0
  734. package/dist/web/assets/infoDiagram-6WML65LV-BAIuLIiE.js +0 -2
  735. package/dist/web/assets/infoDiagram-6WML65LV-BAIuLIiE.js.br +0 -0
  736. package/dist/web/assets/infoDiagram-6WML65LV-BAIuLIiE.js.gz +0 -0
  737. package/dist/web/assets/initial-deps-DGiIFgQX.js +0 -2
  738. package/dist/web/assets/initial-deps-DGiIFgQX.js.br +0 -0
  739. package/dist/web/assets/initial-deps-DGiIFgQX.js.gz +0 -0
  740. package/dist/web/assets/initial-deps-YY1DxiPl.js +0 -1
  741. package/dist/web/assets/initial-deps-YY1DxiPl.js.br +0 -0
  742. package/dist/web/assets/initial-deps-YY1DxiPl.js.gz +0 -0
  743. package/dist/web/assets/initial-deps-ZpffyCug.js +0 -41
  744. package/dist/web/assets/initial-deps-ZpffyCug.js.br +0 -0
  745. package/dist/web/assets/initial-deps-ZpffyCug.js.gz +0 -0
  746. package/dist/web/assets/installed-skills-pane-Cyyzl-Bb.js +0 -1
  747. package/dist/web/assets/installed-skills-pane-Cyyzl-Bb.js.br +0 -0
  748. package/dist/web/assets/installed-skills-pane-Cyyzl-Bb.js.gz +0 -0
  749. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BHAsHeut.js +0 -70
  750. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BHAsHeut.js.br +0 -0
  751. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BHAsHeut.js.gz +0 -0
  752. package/dist/web/assets/journeyDiagram-NVQOT4AX-DQo3-f9r.js +0 -139
  753. package/dist/web/assets/journeyDiagram-NVQOT4AX-DQo3-f9r.js.br +0 -0
  754. package/dist/web/assets/journeyDiagram-NVQOT4AX-DQo3-f9r.js.gz +0 -0
  755. package/dist/web/assets/kanban-definition-27J2QSJJ-DXD7XDKp.js +0 -89
  756. package/dist/web/assets/kanban-definition-27J2QSJJ-DXD7XDKp.js.br +0 -0
  757. package/dist/web/assets/kanban-definition-27J2QSJJ-DXD7XDKp.js.gz +0 -0
  758. package/dist/web/assets/line-CxzJiGLl.js +0 -1
  759. package/dist/web/assets/line-CxzJiGLl.js.br +0 -0
  760. package/dist/web/assets/line-CxzJiGLl.js.gz +0 -0
  761. package/dist/web/assets/maximize-2-DsnIK2kb.js +0 -1
  762. package/dist/web/assets/maximize-2-DsnIK2kb.js.br +0 -0
  763. package/dist/web/assets/maximize-2-DsnIK2kb.js.gz +0 -0
  764. package/dist/web/assets/mcp-management-pane-C-lhQebl.js +0 -1
  765. package/dist/web/assets/mcp-management-pane-C-lhQebl.js.br +0 -0
  766. package/dist/web/assets/mcp-management-pane-C-lhQebl.js.gz +0 -0
  767. package/dist/web/assets/mermaid-GHXKKRXX-BNvY3Im7.js +0 -1
  768. package/dist/web/assets/mermaid-GHXKKRXX-BNvY3Im7.js.br +0 -0
  769. package/dist/web/assets/mermaid-GHXKKRXX-BNvY3Im7.js.gz +0 -0
  770. package/dist/web/assets/message-assistant-directive-BGmxIV_g.js +0 -3
  771. package/dist/web/assets/message-assistant-directive-BGmxIV_g.js.br +0 -0
  772. package/dist/web/assets/message-assistant-directive-BGmxIV_g.js.gz +0 -0
  773. package/dist/web/assets/message-response-DHapkIAN.js +0 -151
  774. package/dist/web/assets/message-response-DHapkIAN.js.br +0 -0
  775. package/dist/web/assets/message-response-DHapkIAN.js.gz +0 -0
  776. package/dist/web/assets/mindmap-definition-FAOFIHXS-CLTyPTLI.js +0 -96
  777. package/dist/web/assets/mindmap-definition-FAOFIHXS-CLTyPTLI.js.br +0 -0
  778. package/dist/web/assets/mindmap-definition-FAOFIHXS-CLTyPTLI.js.gz +0 -0
  779. package/dist/web/assets/model-context-window-input-dM1RHCkE.js +0 -1
  780. package/dist/web/assets/model-context-window-input-dM1RHCkE.js.br +0 -0
  781. package/dist/web/assets/model-context-window-input-dM1RHCkE.js.gz +0 -0
  782. package/dist/web/assets/official-plugin-sheet-hYSHhxo1.js +0 -1
  783. package/dist/web/assets/official-plugin-sheet-hYSHhxo1.js.br +0 -0
  784. package/dist/web/assets/official-plugin-sheet-hYSHhxo1.js.gz +0 -0
  785. package/dist/web/assets/official-plugins-pane-C3iFHqyq.js +0 -2
  786. package/dist/web/assets/official-plugins-pane-C3iFHqyq.js.br +0 -0
  787. package/dist/web/assets/official-plugins-pane-C3iFHqyq.js.gz +0 -0
  788. package/dist/web/assets/open-project-path-C3E-UncW.js +0 -1
  789. package/dist/web/assets/open-project-path-C3E-UncW.js.br +0 -0
  790. package/dist/web/assets/open-project-path-C3E-UncW.js.gz +0 -0
  791. package/dist/web/assets/patch-diff-viewer-CAlOstmF.js +0 -1409
  792. package/dist/web/assets/patch-diff-viewer-CAlOstmF.js.br +0 -0
  793. package/dist/web/assets/patch-diff-viewer-CAlOstmF.js.gz +0 -0
  794. package/dist/web/assets/pegDiagram-VL7TDLO6-CEMTFena.js +0 -1
  795. package/dist/web/assets/pegDiagram-VL7TDLO6-CEMTFena.js.br +0 -0
  796. package/dist/web/assets/pegDiagram-VL7TDLO6-CEMTFena.js.gz +0 -0
  797. package/dist/web/assets/personalization-settings-panel-CjR0RSn0.js +0 -1
  798. package/dist/web/assets/personalization-settings-panel-CjR0RSn0.js.br +0 -0
  799. package/dist/web/assets/personalization-settings-panel-CjR0RSn0.js.gz +0 -0
  800. package/dist/web/assets/pieDiagram-7S7Q4E2Y-CTU8oZML.js +0 -39
  801. package/dist/web/assets/pieDiagram-7S7Q4E2Y-CTU8oZML.js.br +0 -0
  802. package/dist/web/assets/pieDiagram-7S7Q4E2Y-CTU8oZML.js.gz +0 -0
  803. package/dist/web/assets/project-file-popup-page-c0wqWaPR.js +0 -1
  804. package/dist/web/assets/project-file-popup-page-c0wqWaPR.js.br +0 -0
  805. package/dist/web/assets/project-file-popup-page-c0wqWaPR.js.gz +0 -0
  806. package/dist/web/assets/project-sidebar-timeline-B9S9jfdA.js +0 -1
  807. package/dist/web/assets/project-sidebar-timeline-B9S9jfdA.js.br +0 -0
  808. package/dist/web/assets/project-sidebar-timeline-B9S9jfdA.js.gz +0 -0
  809. package/dist/web/assets/project-source-panel-CDbtcBsp.js +0 -2
  810. package/dist/web/assets/project-source-panel-CDbtcBsp.js.br +0 -0
  811. package/dist/web/assets/project-source-panel-CDbtcBsp.js.gz +0 -0
  812. package/dist/web/assets/prompt-input-Qv__0ZYp.js +0 -1
  813. package/dist/web/assets/prompt-input-Qv__0ZYp.js.br +0 -0
  814. package/dist/web/assets/prompt-input-Qv__0ZYp.js.gz +0 -0
  815. package/dist/web/assets/provider-connection-panel-CFOjjrpy.js +0 -1
  816. package/dist/web/assets/provider-connection-panel-CFOjjrpy.js.br +0 -0
  817. package/dist/web/assets/provider-connection-panel-CFOjjrpy.js.gz +0 -0
  818. package/dist/web/assets/provider-connection-queries-DaUJKsqr.js +0 -1
  819. package/dist/web/assets/provider-connection-queries-DaUJKsqr.js.br +0 -0
  820. package/dist/web/assets/provider-connection-queries-DaUJKsqr.js.gz +0 -0
  821. package/dist/web/assets/quadrantDiagram-CIZ2JOQS-B2fgIvk_.js +0 -7
  822. package/dist/web/assets/quadrantDiagram-CIZ2JOQS-B2fgIvk_.js.br +0 -0
  823. package/dist/web/assets/quadrantDiagram-CIZ2JOQS-B2fgIvk_.js.gz +0 -0
  824. package/dist/web/assets/railroadDiagram-AXF67PYL-BOpAz8Rl.js +0 -1
  825. package/dist/web/assets/railroadDiagram-AXF67PYL-BOpAz8Rl.js.br +0 -0
  826. package/dist/web/assets/railroadDiagram-AXF67PYL-BOpAz8Rl.js.gz +0 -0
  827. package/dist/web/assets/requirementDiagram-LRYGKXZP-BOIE6jyw.js +0 -84
  828. package/dist/web/assets/requirementDiagram-LRYGKXZP-BOIE6jyw.js.br +0 -0
  829. package/dist/web/assets/requirementDiagram-LRYGKXZP-BOIE6jyw.js.gz +0 -0
  830. package/dist/web/assets/resources-en-CNabznak.js +0 -1
  831. package/dist/web/assets/resources-en-CNabznak.js.br +0 -0
  832. package/dist/web/assets/resources-en-CNabznak.js.gz +0 -0
  833. package/dist/web/assets/sankeyDiagram-W5VNT64P-zjYX_iXE.js +0 -40
  834. package/dist/web/assets/sankeyDiagram-W5VNT64P-zjYX_iXE.js.br +0 -0
  835. package/dist/web/assets/sankeyDiagram-W5VNT64P-zjYX_iXE.js.gz +0 -0
  836. package/dist/web/assets/saved-prompts-settings-BIWAIIuI.js +0 -1
  837. package/dist/web/assets/saved-prompts-settings-BIWAIIuI.js.br +0 -0
  838. package/dist/web/assets/saved-prompts-settings-BIWAIIuI.js.gz +0 -0
  839. package/dist/web/assets/scan-C6v7t2yH.js +0 -1
  840. package/dist/web/assets/scan-C6v7t2yH.js.br +0 -1
  841. package/dist/web/assets/scan-C6v7t2yH.js.gz +0 -0
  842. package/dist/web/assets/scheduled-task-date-time-picker-fytjNu3G.js +0 -1
  843. package/dist/web/assets/scheduled-task-date-time-picker-fytjNu3G.js.br +0 -0
  844. package/dist/web/assets/scheduled-task-date-time-picker-fytjNu3G.js.gz +0 -0
  845. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CS9ppkbD.js +0 -1
  846. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CS9ppkbD.js.br +0 -0
  847. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CS9ppkbD.js.gz +0 -0
  848. package/dist/web/assets/scheduled-tasks-container-CcEgcbyX.js +0 -2
  849. package/dist/web/assets/scheduled-tasks-container-CcEgcbyX.js.br +0 -0
  850. package/dist/web/assets/scheduled-tasks-container-CcEgcbyX.js.gz +0 -0
  851. package/dist/web/assets/sequenceDiagram-SI44F4Z6-CK-WlrkA.js +0 -162
  852. package/dist/web/assets/sequenceDiagram-SI44F4Z6-CK-WlrkA.js.br +0 -0
  853. package/dist/web/assets/sequenceDiagram-SI44F4Z6-CK-WlrkA.js.gz +0 -0
  854. package/dist/web/assets/server-A3E6rPSE.js +0 -1
  855. package/dist/web/assets/server-A3E6rPSE.js.br +0 -1
  856. package/dist/web/assets/server-A3E6rPSE.js.gz +0 -0
  857. package/dist/web/assets/settings-mutation-status-C_W3Brzy.js +0 -1
  858. package/dist/web/assets/settings-mutation-status-C_W3Brzy.js.br +0 -0
  859. package/dist/web/assets/settings-mutation-status-C_W3Brzy.js.gz +0 -0
  860. package/dist/web/assets/settings-save-status-LZlDl2hi.js +0 -1
  861. package/dist/web/assets/settings-save-status-LZlDl2hi.js.br +0 -0
  862. package/dist/web/assets/settings-save-status-LZlDl2hi.js.gz +0 -0
  863. package/dist/web/assets/shiki-bundle-BuVlco8m.js +0 -1
  864. package/dist/web/assets/shiki-bundle-BuVlco8m.js.br +0 -1
  865. package/dist/web/assets/shiki-bundle-BuVlco8m.js.gz +0 -0
  866. package/dist/web/assets/skills-market-container-3F4yAU_u.js +0 -2
  867. package/dist/web/assets/skills-market-container-3F4yAU_u.js.br +0 -0
  868. package/dist/web/assets/skills-market-container-3F4yAU_u.js.gz +0 -0
  869. package/dist/web/assets/split-workspace-menu-content-B-194fx-.js +0 -1
  870. package/dist/web/assets/split-workspace-menu-content-B-194fx-.js.br +0 -2
  871. package/dist/web/assets/split-workspace-menu-content-B-194fx-.js.gz +0 -0
  872. package/dist/web/assets/stateDiagram-OKZ733FA-hLYv6w14.js +0 -1
  873. package/dist/web/assets/stateDiagram-OKZ733FA-hLYv6w14.js.br +0 -0
  874. package/dist/web/assets/stateDiagram-OKZ733FA-hLYv6w14.js.gz +0 -0
  875. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DGFWGBEN.js +0 -1
  876. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DGFWGBEN.js.br +0 -0
  877. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DGFWGBEN.js.gz +0 -0
  878. package/dist/web/assets/swimlanes-SLNWSIFB-BY6G7QkV.js +0 -2
  879. package/dist/web/assets/swimlanes-SLNWSIFB-BY6G7QkV.js.br +0 -0
  880. package/dist/web/assets/swimlanes-SLNWSIFB-BY6G7QkV.js.gz +0 -0
  881. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-BDqOoYXX.js +0 -8
  882. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-BDqOoYXX.js.br +0 -0
  883. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-BDqOoYXX.js.gz +0 -0
  884. package/dist/web/assets/task-timeline-process-history-FA7FqX65.js +0 -1
  885. package/dist/web/assets/task-timeline-process-history-FA7FqX65.js.br +0 -0
  886. package/dist/web/assets/task-timeline-process-history-FA7FqX65.js.gz +0 -0
  887. package/dist/web/assets/text-file-editor-Dt1ptrwk.js +0 -14
  888. package/dist/web/assets/text-file-editor-Dt1ptrwk.js.br +0 -0
  889. package/dist/web/assets/text-file-editor-Dt1ptrwk.js.gz +0 -0
  890. package/dist/web/assets/timeline-definition-Z64GVDOM-C0ggW9ke.js +0 -120
  891. package/dist/web/assets/timeline-definition-Z64GVDOM-C0ggW9ke.js.br +0 -0
  892. package/dist/web/assets/timeline-definition-Z64GVDOM-C0ggW9ke.js.gz +0 -0
  893. package/dist/web/assets/upload-Dc5LJ6y_.js +0 -1
  894. package/dist/web/assets/upload-Dc5LJ6y_.js.br +0 -0
  895. package/dist/web/assets/upload-Dc5LJ6y_.js.gz +0 -0
  896. package/dist/web/assets/usage-statistics-CkWR_l2r.js +0 -1
  897. package/dist/web/assets/usage-statistics-CkWR_l2r.js.br +0 -0
  898. package/dist/web/assets/usage-statistics-CkWR_l2r.js.gz +0 -0
  899. package/dist/web/assets/utils-O47BBoIx.js +0 -1
  900. package/dist/web/assets/utils-O47BBoIx.js.br +0 -0
  901. package/dist/web/assets/utils-O47BBoIx.js.gz +0 -0
  902. package/dist/web/assets/vennDiagram-T6HMQDX7-SCXL8ux1.js +0 -34
  903. package/dist/web/assets/vennDiagram-T6HMQDX7-SCXL8ux1.js.br +0 -0
  904. package/dist/web/assets/vennDiagram-T6HMQDX7-SCXL8ux1.js.gz +0 -0
  905. package/dist/web/assets/wardleyDiagram-T6FBY63Y-Cqe5SiO4.js +0 -78
  906. package/dist/web/assets/wardleyDiagram-T6FBY63Y-Cqe5SiO4.js.br +0 -0
  907. package/dist/web/assets/wardleyDiagram-T6FBY63Y-Cqe5SiO4.js.gz +0 -0
  908. package/dist/web/assets/workbench-inspector-changes-ZSA-8aVd.js +0 -1
  909. package/dist/web/assets/workbench-inspector-changes-ZSA-8aVd.js.br +0 -0
  910. package/dist/web/assets/workbench-inspector-changes-ZSA-8aVd.js.gz +0 -0
  911. package/dist/web/assets/workbench-pet-canvas-CHABL440.js +0 -1
  912. package/dist/web/assets/workbench-pet-canvas-CHABL440.js.br +0 -0
  913. package/dist/web/assets/workbench-pet-canvas-CHABL440.js.gz +0 -0
  914. package/dist/web/assets/workbench-shell-CR4teS_d.js +0 -17
  915. package/dist/web/assets/workbench-shell-CR4teS_d.js.br +0 -0
  916. package/dist/web/assets/workbench-shell-CR4teS_d.js.gz +0 -0
  917. package/dist/web/assets/xychartDiagram-ELKLHX3M-CWXlmFCE.js +0 -7
  918. package/dist/web/assets/xychartDiagram-ELKLHX3M-CWXlmFCE.js.br +0 -0
  919. package/dist/web/assets/xychartDiagram-ELKLHX3M-CWXlmFCE.js.gz +0 -0
  920. /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~b4s77zfd-ClgveiMa.js → scheduled-task-floating-ui~index~workbench-shell~document-workspace-tabs~workbench-inspecto~g83lm7j8-ClgveiMa.js} +0 -0
  921. /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~b4s77zfd-ClgveiMa.js.br → scheduled-task-floating-ui~index~workbench-shell~document-workspace-tabs~workbench-inspecto~g83lm7j8-ClgveiMa.js.br} +0 -0
  922. /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~b4s77zfd-ClgveiMa.js.gz → scheduled-task-floating-ui~index~workbench-shell~document-workspace-tabs~workbench-inspecto~g83lm7j8-ClgveiMa.js.gz} +0 -0
@@ -1,4 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/resources-en-CNabznak.js","assets/initial-deps-DGiIFgQX.js","assets/rolldown-runtime-B0Z9INg1.js","assets/initial-deps-CqwWvUnY.js","assets/react-runtime-CMZHB3u8.js","assets/initial-deps-cK7Q2EcP.js","assets/initial-deps-CG4ykI_P.js","assets/initial-deps-D0opk7c-.js","assets/initial-deps-DgzPJEbl.js","assets/initial-deps-DBOKk1z5.js","assets/initial-deps-ZpffyCug.js","assets/initial-deps-YY1DxiPl.js","assets/scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~b4s77zfd-ClgveiMa.js","assets/initial-deps-DFOart6r.js","assets/scheduled-tasks-BBUd86IL.js","assets/global-settings-page-YoE4BNgM.js","assets/prompt-input-Qv__0ZYp.js","assets/global-settings-fields-Cn48Go_s.js","assets/settings-save-status-LZlDl2hi.js","assets/approval-mode-CKJY6q52.js","assets/image-preview-D-s7cdTe.js","assets/global-settings-page-BqzYrF2U.css","assets/message-response-DHapkIAN.js","assets/clipboard-rFJYhGgH.js","assets/download-Be9bQeP_.js","assets/external-link-EUD14c1S.js","assets/message-assistant-directive-BGmxIV_g.js","assets/lib-21LSAZ-l.js","assets/app-update-dialog-BVYanXEH.js","assets/project-sidebar-timeline-B9S9jfdA.js","assets/archived-tasks-dialog-DvYO0otZ.js","assets/chevron-left-Dsg_A5qc.js","assets/global-search-dialog-BZOhh2as.js","assets/open-project-path-C3E-UncW.js","assets/search-highlight-D1T4q4Lr.js","assets/search-highlight-Ct60jVKA.css","assets/workbench-shell-CR4teS_d.js","assets/activity-BLmbhAyP.js","assets/arrow-down-DUHHdu_G.js","assets/document-navigation-Da1q1H1O.js","assets/utils-O47BBoIx.js","assets/maximize-2-DsnIK2kb.js","assets/scan-C6v7t2yH.js","assets/workbench-pet-canvas-CHABL440.js","assets/provider-connection-queries-DaUJKsqr.js","assets/project-file-popup-page-c0wqWaPR.js","assets/project-source-panel-CDbtcBsp.js","assets/engine-setup-gate-CsMQae5w.js","assets/provider-connection-panel-CFOjjrpy.js","assets/arrow-up-right-pwN3fEpQ.js","assets/api-connection-fields-WueUKMmU.js","assets/server-A3E6rPSE.js","assets/claude-settings-panel-clCfG3vv.js","assets/model-context-window-input-dM1RHCkE.js","assets/personalization-instructions-editor-CrllgQKz.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./initial-deps-CqwWvUnY.js";import{i as n,n as r,t as i}from"./react-runtime-CMZHB3u8.js";import{C as a,S as o,T as s,_ as c,a as l,b as u,c as d,d as f,f as p,g as m,i as h,l as g,n as _,o as v,r as y,s as b,u as x,v as S,w as C,x as ee,y as w}from"./initial-deps-cK7Q2EcP.js";import{i as T,p as E,r as D,t as O}from"./initial-deps-DgzPJEbl.js";import{$ as k,$n as A,$t as j,A as M,An as N,B as P,Bn as F,Bt as I,C as te,D as L,E as ne,En as re,F as ie,G as ae,Gn as oe,H as R,Hn as se,Ht as z,I as ce,In as le,J as ue,Jn as de,Jt as fe,K as B,Kn as pe,Kt as V,L as me,M as he,Mr as ge,N as _e,Nn as ve,O as H,On as ye,Or as be,P as xe,Pt as Se,Q as Ce,Qn as we,Qt as Te,R as Ee,Rn as De,Rt as Oe,T as ke,Tr as Ae,Un as je,Ut as Me,V as Ne,Vn as Pe,W as Fe,Wn as Ie,Wt as Le,X as Re,Xn as U,Xt as ze,Yn as Be,Yt as Ve,Zn as He,Zt as Ue,_n as We,a as Ge,an as Ke,ar as qe,bt as Je,c as Ye,cr as Xe,d as Ze,dn as Qe,dt as $e,en as et,er as tt,et as nt,f as rt,ft as it,g as at,gr as ot,h as st,hn as ct,i as lt,in as ut,ir as dt,it as W,j as ft,jr as pt,k as mt,kr as ht,m as gt,mt as _t,n as vt,nr as yt,nt as bt,o as xt,or as St,p as Ct,pn as wt,pt as Tt,qn as Et,qt as Dt,r as Ot,rn as kt,rr as At,s as jt,sr as Mt,t as Nt,tn as Pt,tr as Ft,tt as It,un as Lt,ur as Rt,vr as G,w as zt,wn as Bt,xt as Vt,z as Ht,zn as Ut,zt as Wt}from"./initial-deps-DGiIFgQX.js";import{$ as Gt,A as Kt,B as qt,D as Jt,F as Yt,H as Xt,I as Zt,J as Qt,M as $t,N as en,P as tn,Q as nn,R as rn,S as an,W as on,X as sn,_ as cn,at as ln,b as un,d as dn,et as fn,f as pn,g as mn,h as hn,it as K,j as gn,k as _n,l as vn,m as yn,o as bn,ot as xn,p as Sn,rt as Cn,st as q,tt as wn,u as Tn,v as En,w as Dn}from"./initial-deps-ZpffyCug.js";var J=e(n(),1),On=r(),kn=`search-source`,Y=new Xe;function An(e=Y){return v({queryFn:({signal:t})=>e.getAppInfo({signal:t}),queryKey:[`app-info`],staleTime:3e5})}function jn(e=Y,t=!1){return v({enabled:t,queryFn:({signal:t})=>e.getAppUpdateProgress({signal:t}),queryKey:[`app-update`,`progress`],refetchInterval:t?250:!1})}function Mn(e=Y){return y({mutationFn:t=>e.installAppUpdate(t),mutationKey:[`app-update`,`install`],scope:{id:`app-update`}})}var Nn=`codexly.language-preference`,Pn=1,Fn=`zh-CN`;function In(e){return e===`zh-CN`||e===`en`}function Ln(e){for(let t of e){let e=t.toLowerCase();if(e===`en`||e.startsWith(`en-`))return`en`;if(e===`zh`||e.startsWith(`zh-`))return`zh-CN`}return Fn}function Rn(e){try{let t=JSON.parse(e.getItem(Nn)??`null`);if(typeof t==`object`&&t&&`version`in t&&t.version===Pn&&`language`in t&&In(t.language))return t.language}catch{}return null}function zn(e,t){try{t.setItem(Nn,JSON.stringify({language:e,version:Pn}))}catch{}}function Bn(e,t){t.lang=e}function Vn(e,t){return(e===null?null:Rn(e))??Ln(t)}var Hn={assistantDirectives:{followup:`填入输入框`,"git-stage":`暂存记录`,"git-commit":`提交记录`,"git-create-branch":`分支记录`,"git-push":`推送记录`,"git-create-pr":`PR 记录`,"git-create-pr-draft":`草稿 PR 记录`},imagePreview:{actualSize:`原始尺寸`,fit:`适应容器`,loadError:`图片无法预览`,loading:`正在加载图片`,zoomIn:`放大图片`,zoomOut:`缩小图片`},access:{checking:`正在验证访问权限`,codeLabel:`访问密码`,loadError:`无法验证访问权限`,pair:`配对`,pairing:`正在配对`,pairingDescription:`输入 Codexly 启动时设置或显示的访问密码。`,pairingError:`无法完成配对,请检查访问密码后重试`,pairingTitle:`连接可信局域网会话`},actions:{close:`关闭通知`,backToWorkbench:`返回工作台`,retry:`重试`},app:{actionFailed:`操作失败`,actionSucceeded:`操作成功`,loadingProjects:`正在加载项目`,noProjects:`尚未添加项目`,notificationRegion:`通知`},errors:{taskDeletionBlockedByForks:`无法删除此任务:分叉任务仍在使用它的历史记录。你可以归档此任务,或先删除相关分叉任务后再试。`,notFoundDescription:`当前地址不属于已注册的应用路由。`,notFoundTitle:`页面不存在`,routeErrorLabel:`路由错误`,routeErrorTitle:`页面加载失败`,runtimeUnavailableDescription:`请先在官方 Codex CLI 中运行 <command>codex login</command>,完成登录后重试。`,runtimeUnavailableTitle:`Codex Runtime 不可用`},language:{english:`English`,simplifiedChinese:`简体中文`}},Un={asyncQuestions:{deliveryPending:`答案已提交,投递结果尚未确认。请查看任务进展,勿重复发送。`,pending:`待回答问题`,pendingCount:`待回答 · {{count}} 组`,previous:`上一组问题`,next:`下一组问题`,collapse:`收起问题`,expand:`展开问题`,close:`关闭问题`,other:`其他回答`,answer:`回答:{{question}}`,send:`发送回答`,sent:`已发送`},agentComponents:{addFile:`添加文件`,addImage:`添加图片`,addImageOrFile:`添加图片或文件`,currentDevice:`当前设备`,deploymentHost:`部署主机`,approval:`审批`,approvalAccepted:`请求已允许`,approvalRejected:`请求已拒绝`,approvalRequest:`{{title}}请求`,codeComments:`{{count}} 个代码评论`,contextPercent:`上下文已使用 {{percentage}}%`,contextSummary:`{{percentage}}% 上下文已使用`,contextUnknown:`上下文用量未知`,contextWaiting:`等待模型返回上下文用量`,copied:`已复制`,copyCode:`复制代码`,copyOutput:`复制命令输出`,copiedCode:`代码已复制`,copiedOutput:`命令输出已复制`,fileTooLarge:`{{name}} 超过大小限制`,folderCollapse:`收起文件夹 {{name}}`,folderExpand:`展开文件夹 {{name}}`,invalidFileType:`{{name}} 的文件类型不受支持`,nextBranch:`下一个回复分支`,previousBranch:`上一个回复分支`,removeAttachment:`移除 {{name}}`,scrollToBottom:`回到底部`,status:{completed:`已完成`,error:`失败`,inProgress:`进行中`,pending:`等待中`,denied:`已拒绝`,responded:`已响应`,running:`运行中`,waitingApproval:`等待批准`},streamingOutput:`正在接收命令输出`,tooManyImages:`最多添加 {{count}} 张图片`,totalAttachmentSizeExceeded:`附件总大小超过限制`,totalImageSizeExceeded:`图片总大小超过限制`,toolError:`错误`,toolInput:`参数`,toolResult:`结果`},errors:{addProject:`添加项目失败`,deleteProject:`无法删除项目`,renameProject:`无法重命名项目`,reorderProject:`保存项目排序失败`,reorderProjectChanged:`项目列表已变化,请重试排序`,stopTerminal:`停止终端失败`},inspector:{contextUsage:`上下文用量`,contextWindowUnknown:`窗口未知`,attachmentDetail:`附件`,changeIndicator:`{{path}},新增 {{additions}} 行,删除 {{removals}} 行`,changes:`变更`,closeFile:`关闭文件`,commit:`提交`,context:`上下文`,contextSources:`上下文来源`,runtimeWarnings:`运行时警告`,emptyFolder:`空文件夹`,fileTree:`项目文件`,file:`文件`,gitChanges:`未提交变更`,gitChangedFilesCount:`{{count}} 个文件`,gitChangesRetrying:`Git 变更刷新失败,正在自动重试`,gitLoading:`正在读取 Git 变更...`,goal:`目标`,goalClear:`清除目标`,goalDuration:`{{minutes}} 分 {{seconds}} 秒`,goalMutationFailed:`无法更新目标,请重试`,goalPause:`暂停目标`,goalResume:`恢复目标`,goalSeconds:`{{count}} 秒`,goalStatus:{active:`进行中`,blocked:`受阻`,budget_limited:`预算已用尽`,complete:`已完成`,paused:`已暂停`,usage_limited:`用量受限`},goalTokenBudget:`{{used}} / {{budget}} tokens`,goalTokens:`已使用 {{used}} tokens`,history:`历史`,loading:`正在读取...`,mcpMore:`更多 MCP 操作`,mcpEmpty:`暂无 MCP 服务`,mcpShowLess:`收起列表`,mcpEnabled:`当前任务的 MCP 服务`,mcpCached:`缓存状态`,mcpLive:`最新观测`,mcpUnknownTime:`观测时间未知`,mcpRefresh:`刷新状态`,mcpReconnect:`重连失败服务`,mcpReloadConfig:`重新加载配置`,mcpReload:`重新加载 MCP`,mcpReloading:`正在重新加载 MCP`,mcpStatus:{authenticationRequired:`需要认证`,cancelled:`已取消`,connected:`已连接`,disabled:`已禁用`,failed:`启动失败`,notStarted:`未启动`,starting:`正在启动`,unknown:`状态未知`},project:`项目`,mcpToolCount:`{{count}} 个工具`,openFailed:`无法使用所选应用打开目标`,plan:`计划`,planStatus:{completed:`已完成`,in_progress:`进行中`,pending:`待处理`},projectFilesEmpty:`当前项目没有可显示的文件`,projectFilesError:`无法读取项目文件`,projectFilesLoading:`正在读取项目文件...`,readFolder:`正在读取文件夹 {{name}}`,readFolderError:`无法读取文件夹 {{name}}`,reading:`正在读取`,refreshFolder:`重新读取文件夹 {{name}}`,refreshGit:`手动刷新 Git 变更`,reviewChanges:`审核 {{count}} 个未提交变更`,refreshProject:`刷新项目 {{name}}`,refreshProjectFiles:`重新读取项目文件`,commitChanges:`提交 {{count}} 个未提交变更`,source:`来源`,showMore:`显示更多`,sourceRole:{admin:`管理员`,repo:`项目`,system:`系统`,user:`用户`},subagents:`子代理`,subagentCount:`{{count}} 个子代理`,subagentOutput:`查看子代理 {{nickname}} 的输出`,terminalError:`无法读取运行中的终端`,terminalLoading:`正在读取终端...`,terminalRunning:`终端运行中`,terminalStop:`停止终端 {{command}}`,terminalStopping:`正在停止 {{command}}`,terminalStopRetry:`停止终端失败,请重试`,terminals:`运行中的终端`,title:`运行环境`},gitHistory:{unpushed:`未推送`,branch:`当前分支:{{branch}}`,branchLoading:`当前分支:读取中...`,commits:`提交记录`,copyAuthor:`复制提交人`,copyHash:`复制完整提交哈希值`,copyMenuLabel:`复制提交内容`,copyMessage:`复制提交信息`,empty:`当前仓库暂无提交记录`,diffLoadError:`无法读取此文件的提交 Diff`,diffLoading:`正在读取文件 Diff...`,diffTruncated:`Diff 过长,仅展示前 512 KiB`,filesEmpty:`此提交没有可审核的文件`,filesLoadError:`无法读取提交文件`,filesLoading:`正在读取提交文件...`,end:`已加载全部提交`,loadError:`无法读取 Git 历史`,loadMore:`加载更多`,loadMoreFiles:`加载更多文件`,loading:`正在读取 Git 历史...`,loadingMore:`正在加载...`,loadingMoreFiles:`正在加载文件...`,repositories:`子仓库`,retry:`重试`},notification:{completed:`Task 已完成`,failed:`Task 运行失败`,failedWithMessage:`Task 运行失败:{{message}}`,interrupted:`Task 已中断,无法继续`,waitingApproval:`Task 等待审批`,waitingInput:`Task 等待输入`},taskTitle:{replying:`正在回复`},reorder:{cancelled:`已取消项目排序`,moved:`{{name}} 已移动到第 {{position}} 位`,projectFallback:`项目`,started:`已进入项目排序,拖动后释放以保存位置`,title:`拖动排序;也可按 Alt + 上下方向键移动`},subagent:{count:`{{count}} 个子代理`,defaultName:`子代理 {{index}}`,operationCompleted:`子代理操作已完成`,operationFailed:`{{count}} 个子代理执行失败`,operationRunning:`{{count}} 个子代理正在执行`,operationSucceeded:`{{count}} 个子代理已完成`,operationTitles:{close:`关闭子代理`,resume:`恢复子代理`,sendInput:`向子代理发送消息`,spawn:`启动子代理`,wait:`等待子代理`},orchestrating:`正在协调子代理`},timeline:{approvalReview:{action:{command:`命令`,file_change:`文件变更`,mcp_tool_call:`MCP 工具`,network_access:`网络访问`,permissions:`权限请求`},actionDetail:`{{action}}:{{detail}}`,authorization:`用户授权:{{level}}`,authorizationLevel:{high:`高`,low:`低`,medium:`中`,unknown:`未知`},rationale:`审批理由:{{rationale}}`,reviewing:`正在自动审批`,risk:`风险:{{level}}`,riskLevel:{critical:`严重`,high:`高`,low:`低`,medium:`中`},status:{aborted:`已中止`,approved:`已批准`,denied:`已拒绝`,in_progress:`审批中`,timed_out:`已超时`},title:`自动审批:{{status}}`},aiRunning:`AI 回复正在运行`,aiRunningOperation:`AI 回复正在运行:{{operation}}`,attachments:`消息附件`,changedFiles:`本次修改了 {{count}} 个文件`,collapseFiles:`收起文件列表`,collapseProcess:`收起执行过程`,closeImagePreview:`关闭图片预览`,commandPending:`正在执行命令`,conversation:`会话内容`,copied:`已复制`,copyMessage:`复制消息`,downloadAttachment:`下载附件 {{name}}`,openAttachment:`打开附件 {{name}}`,emptyAfter:`中做些什么?`,emptyBefore:`我们应该在`,expandProcess:`展开执行过程`,fileChange:`{{operation}} {{name}},新增 {{additions}} 行,删除 {{removals}} 行,打开 Diff`,fileOperation:{create:`已创建`,delete:`已删除`,update:`已编辑`},fork:`复制任务`,forkFailed:`复制任务失败,请重试`,forking:`正在复制任务`,loading:`正在加载任务历史`,loadError:`无法加载任务历史`,loadingOlder:`正在加载更早记录...`,loadingProcess:`正在加载过程记录…`,loadMoreProcess:`加载更早过程`,retryProcess:`过程加载失败,点击重试`,loadOlder:`加载更早记录`,loadOlderError:`无法加载更早记录,请重试`,jumpToMessage:`跳转到用户消息 {{index}}`,moreFiles:`再显示 {{count}} 个文件`,noHistory:`此任务暂无历史`,output:`输出`,outputOmitted:`命令输出已省略 {{bytes}} 个 UTF-8 字节和 {{lines}} 行,显示开头和结尾内容。`,outputRetained:`较早的命令输出已按内存预算清理`,operationGroup:{collapse:`收起执行详情:{{summary}}`,commandsOnly:`命令执行完成:{{count}} 条`,expand:`展开执行详情:{{summary}}`,failed:`;其中 {{count}} 项失败`,filesOnly:`操作完成:修改 {{count}} 个文件`,filesSuffix:`,修改 {{count}} 个文件`,reasoningOnly:`推理完成:{{count}} 条`,reasoningSuffix:`,推理 {{count}} 条`,summary:`操作完成:调用 {{toolCount}} 个工具,执行 {{commandCount}} 条命令`,toolsOnly:`工具调用完成:{{count}} 个`},buildPlan:`构建`,plan:`计划`,planGenerating:`正在生成计划`,planReady:`计划已生成,可开始构建`,processing:`已处理`,quickNavigation:`用户消息快捷导航`,reconnecting:`实时连接恢复中`,review:`审核`,reviewMode:`审查模式`,reviewPrompt:{baseBranch:`请检查我相对于 {{branch}} 的更改`,commit:`请检查提交 {{sha}}`,commitWithTitle:`请检查提交 {{sha}}:{{title}}`,custom:`请按以下要求检查代码:{{instructions}}`,uncommitted:`请检查我未提交的更改`},running:`正在运行`,runningOperation:`正在运行 {{operation}}`,selectProject:`选择新聊天项目`,showImage:`查看图片 {{name}}`,skillsUsed:`使用的 Skills`,editedFiles:`已编辑 {{count}} 个文件`,editingFiles:`正在编辑 {{count}} 个文件`,liveDiff:`实时文件变更`,liveFileChange:`正在修改 {{name}},新增 {{additions}} 行,删除 {{removals}} 行`,notice:{guardian_warning:`安全警告`,hook_status:`Hook 状态`,model_verification:`模型验证`,runtime_warning:`运行时警告`,modelVerification:`正在验证模型可用性`,strict_review_required:`需要严格审核`,strictReviewRequired:`安全审核已升级,当前操作将在严格审核完成后继续`},reasoning:`推理摘要`,reasoningStreaming:`正在推理`,runtimeStatus:{duration:`耗时 {{duration}} 毫秒`,fasterModel:`可使用更快的模型:{{model}}`,hook:`正在运行 Hook {{eventName}}`,modelRerouted:`模型已从 {{fromModel}} 切换到 {{toModel}}`,safetyBuffering:`正在使用安全缓冲模型 {{model}}`}}},Wn={sectionKeywords:{usage:`用量统计 Token 消耗 热力图 输入 输出 缓存 Codex Claude`,prompts:`常用提示词 快捷词 斜杠命令 本地存储 新建 编辑 删除`,git:`辅助生成 默认 Agent 默认模型 Git 提交信息 任务标题 提示词 生成规则`,"claude-provider":`Claude Anthropic API Key API 地址 连接 可用模型`,"claude-agent":`Claude 默认模型 默认思考强度 工具权限 按需确认 允许编辑 计划模式 完全访问`,"claude-personalization":`Claude CLAUDE.md 全局指令 项目配置 工具授权规则 自动允许 禁止使用`,appearance:`颜色模式 语言 通知 编辑器 默认打开方式 跟进消息 背景 壁纸 Bing 自定义 模糊 遮罩`,personalization:`Codex 说明 AGENTS.md 全局指令 记忆 MCP 网页搜索`,pets:`启用 宠物 选择`,provider:`API 密钥 Base URL 模型 官方 自定义`,agent:`快速模式 模型 思考强度 审批 文件访问 沙箱 网页搜索 输出详细程度`,about:`版本 更新 更新日志 诊断`},search:{label:`搜索设置`,placeholder:`搜索设置…`,clear:`清除搜索`,empty:`未找到相关设置`},groups:{personal:`公共配置`,codex:`Codex`,claude:`Claude`,app:`应用`},about:{available:`发现新版本 {{version}}`,check:`检查更新`,checking:`正在检查`,codexlyVersion:`Codexly 版本`,codexVersion:`Codex 版本`,claudeVersion:`Claude 版本`,unknownVersion:`未知`,current:`已是最新版本`,github:`项目 GitHub`,loading:`正在检查更新`,progress:{backingUp:`正在备份当前版本`,checking:`正在确认最新版本`,completed:`更新安装完成`,downloading:`正在下载更新包`,installing:`正在安装新版本`,label:`Codexly 更新进度`,rollingBack:`安装失败,正在恢复原版本`},restartRequired:`更新完成,重启 Codexly 后生效`,retry:`重新检查`,releaseNotes:`更新日志`,releaseNotesTitle:`{{version}} 更新日志`,releaseNotesUnavailable:`暂时无法获取此版本的更新日志。`,update:`软件更新`,updateNow:`更新`,updateProgress:`Codexly 更新进度`,updateTo:`更新到 {{version}}`,updating:`正在更新`},access:{currentSession:`当前浏览器`,loggingOut:`正在退出`,logout:`退出局域网访问`,sessionDescription:`此浏览器当前已配对到本次 Codexly 局域网会话。`},actions:{backToApp:`返回应用`,cancel:`取消`,close:`关闭`,closeDialog:`关闭全局设置`,closeReleaseNotes:`关闭更新日志`,save:`保存`,saving:`保存中…`,saved:`已保存`},appearance:{automatic:`自动`,automaticMode:`自动模式`,colorMode:`颜色模式`,dark:`深色`,darkMode:`深色模式`,language:`语言`,light:`浅色`,lightMode:`浅色模式`,notifications:`通知`},approval:{autoReview:`自动审核`,never:`从不询问`,onRequest:`按需审批`},background:{bing:`Bing 壁纸`,bingAria:`Bing 每日壁纸`,blur:`壁纸背景模糊度`,blurLabel:`背景模糊度`,custom:`自定义`,customAria:`自定义工作台背景`,delete:`删除图片`,deleteImage:`删除 {{name}}`,galleryLabel:`自定义背景图片`,invalidImage:`请选择 20 MiB 以内的 PNG、JPEG、WebP 或 GIF 图片。`,label:`工作台背景`,none:`无`,noneAria:`无工作台背景`,overlayOpacity:`壁纸遮罩不透明度`,overlayOpacityLabel:`遮罩不透明度`,previewAlt:`自定义工作台背景预览`,selectImage:`使用 {{name}} 作为工作台背景`,upload:`上传图片`,uploadInput:`上传自定义背景图片`,uploadRequired:`需要上传图片`},effort:{high:`高`,low:`低`,medium:`中`,minimal:`最低`,xhigh:`极高`},errors:{appInfo:`无法加载版本信息`,load:`加载失败,请重试`,logout:`无法退出局域网访问`,save:`保存失败,请重试`,update:`更新失败,请重试`,updateCheck:`无法检查更新`},fields:{approvalPolicy:`审批`,commitMessagePrompt:`提交提示词`,defaultAgent:`默认 Agent`,defaultModel:`默认模型`,taskTitlePrompt:`任务标题提示词`,commitModel:`提交模型`,defaultOpenWith:`默认打开方式`,fastMode:`快速模式`,followUpMessages:`跟进消息`,model:`模型`,prompt:`提示词`,reasoningEffort:`思考强度`,sandbox:`工作区`},followUp:{queue:`排队`,steer:`引导`},integration:{automatic:`自动选择`},languages:{en:`English`,zhCN:`简体中文`},loading:`加载中…`,navigationLabel:`设置分类`,notifications:{disabled:`关闭`,enabled:`开启`},provider:{apiKey:`API 密钥(可选)`,baseUrl:`API 地址`,cancelLogin:`取消登录`,connect:`连接`,connected:`已连接`,custom:`自定义 API`,disconnected:`未连接`,errors:{connect:`无法连接自定义 API`,load:`无法读取模型服务状态`,login:`无法启动官方登录`},loading:`正在读取模型服务状态`,login:`使用 ChatGPT 登录`,logout:`退出登录`,addModel:`添加模型`,modelId:`模型 ID`,modelName:`模型名称`,mode:`模型服务模式`,models:`自定义模型`,official:`ChatGPT`,reconnect:`重新连接`,removeModel:`删除模型`,retry:`重试`,title:`连接 Codex 模型服务`,waiting:`等待浏览器登录`},pets:{availability:{downloadable:`需要下载`,ready:`已就绪`},enabled:`启用工作台宠物`,errors:{load:`无法加载宠物资源,请重试`},loading:`正在加载宠物资源`,refresh:`刷新列表`,selectionLabel:`选择工作台宠物`},sandbox:{dangerFullAccess:`完全访问`,readOnly:`只读`,workspaceWrite:`工作区可写`},sections:{usage:`用量统计`,prompts:`常用提示词`,git:`辅助生成`,"claude-provider":`模型服务`,"claude-agent":`智能体配置`,"claude-personalization":`个性化`,personalization:`个性化`,about:`关于`,access:`局域网访问`,agent:`智能体配置`,appearance:`常规`,pets:`宠物`,provider:`模型服务`},title:`全局设置`},Gn={...re,...We,...Bt,allFiles:`全选`,commit:`提交`,commitActions:`选择提交方式`,commitAndPush:`提交并推送`,commitAndPushComplete:`提交并推送已完成`,commitAndPushSucceeded:`提交并推送成功`,commitComplete:`提交已完成`,commitCompletePushFailed:`提交已完成,但推送失败`,commitCompleteUpstreamMissing:`提交已完成,当前分支未配置上游`,commitMessage:`提交信息`,commitSucceeded:`提交成功`,changes:`变更`,generateMessage:`AI 生成`,messagePlaceholder:`输入提交信息`,repository:`Git 项目`,repositoryLoading:`正在加载 Git 项目`,repositoryUnavailable:`未找到可提交的 Git 项目`,selectAllFiles:`全选文件`,selectFiles:`选择文件`,selectRepository:`选择 Git 项目`,selectionLabel:`选择文件,已选择 {{selected}}/{{total}} 个文件`,staged:`已暂存`,totalFiles_one:`共 {{count}} 个`,totalFiles_other:`共 {{count}} 个`,unstaged:`未暂存`},Kn={pluginDetails:`查看 {{name}} 详情`,pluginUnavailable:`此插件当前不可安装`,pluginCatalogHint:`同步官方目录,然后选择需要的插件。`,resourceEmptyHint:`在当前作用范围配置的扩展将显示在这里。`,projectMcpReadOnly:`Codex 官方接口仅支持修改全局 MCP,项目配置为只读`,center:{selectProject:`Claude 的 MCP 启停按项目保存`,engine:`选择扩展引擎`,documentation:`查看文档`,scope:`作用范围`,global:`全局`,project:`项目共享`,local:`项目私有`,managed:`组织管理`,search:`搜索名称或描述…`,syncCatalog:`同步官方目录`,refresh:`刷新列表`,filter:`筛选插件`,all:`全部插件`,count:`{{count}} 个扩展`,retry:`重试`,sessionHint:`配置已保存。请新建会话以完整加载扩展变更。`,officialCatalog:`Anthropic 官方目录`,enabled:`已启用`,disabled:`已停用`,update:`更新`,remove:`移除`,noResults:`未找到匹配的扩展`,searchHint:`尝试其他关键词,或清空搜索。`,emptyskills:`将 Skills 放入 ~/.claude/skills 或项目的 .claude/skills,也可从官方插件安装。`,emptymcp:`已在 Claude Code 中配置的 MCP 服务会显示在这里。`,emptyplugins:`首次使用请同步 Anthropic 官方目录,然后选择需要的插件。`,confirmRemove:`移除 {{name}}?`,removeHint:`将从所选作用范围移除该扩展。此操作不会删除其他范围的配置。`,cancel:`取消`,operationError:`操作失败,请刷新后重试。`},emptyInstalled:`尚未发现已安装的 Skill`,emptyMcp:`尚未配置 MCP 服务`,emptyPlugins:`没有可用的官方插件`,emptyInstalledPlugins:`尚未安装官方插件`,emptyAvailablePlugins:`没有待安装的官方插件`,authorize:`前往授权`,closeDetails:`关闭插件详情`,installPlugin:`安装插件`,installed:`已安装`,installedPlugins:`已安装`,availablePlugins:`未安装`,installedCount:`已安装 {{count}} 个 Skill`,loadError:`Skill 信息加载失败`,loading:`正在加载 Skills`,loadingDetail:`正在加载详情`,loadingExtension:`正在加载扩展`,loadingMcp:`正在加载 MCP`,loadingPlugins:`正在加载官方插件`,newSessionRequired:`插件已安装。请新建会话以加载插件能力。`,mcpCount:`{{count}} 个 MCP 服务`,mcpEnabled:`已启用`,mcpError:`MCP 配置加载失败`,mcpStopped:`已停用`,openSkill:`在文件管理器中显示 {{name}}`,official:`OpenAI 官方`,officialPublisher:`OpenAI 官方目录`,refresh:`刷新 Skills`,refreshMcp:`刷新 MCP`,refreshPlugins:`刷新官方插件`,scope:{admin:`管理员`,repo:`项目`,system:`系统`,user:`全局`},searchPlugins:`搜索官方插件`,sectionsLabel:`扩展类型`,tabs:{mcp:`MCP 管理`,plugins:`官方插件`,skills:`Skills 管理`},title:`扩展中心`,toggle:`启用或停用 {{name}}`,toggleMcp:`启用或停止 {{name}}`,uninstallPlugin:`卸载插件`,pluginSyncError:`插件同步失败,请重试`,pluginSyncPartial:`部分插件同步失败,请重试`,pluginError:`官方插件暂时不可用`,pluginFallbackDescription:`由官方目录提供的 Codex 扩展`},qn={title:`新建项目`,parent:`父文件夹`,name:`文件夹名称`,path:`项目路径`,choose:`选择…`,cancel:`取消`,create:`创建并添加`,creating:`正在处理`,invalidName:`请输入有效的单层文件夹名称,不含路径分隔符、保留名称或末尾空格及句点`,loadError:`无法读取父文件夹,请重试或重新选择`,createError:`无法创建文件夹,请检查父文件夹是否存在及写入权限`,addError:`文件夹已就绪,但添加项目失败,请重试添加`,existsDirectory:`同名文件夹已存在,可添加已有文件夹或修改名称`,existsFile:`同名文件已存在,请修改名称`,addExisting:`添加已有文件夹`,retryAdd:`重试添加`,retry:`重试`,loading:`正在读取文件夹`,selectParent:`选择父文件夹`,useFolder:`使用此文件夹`,back:`返回`,existing:`添加已有项目`,host:`服务器:{{host}}`,localHost:`本机`},Jn={all:`全部`,runUnavailable:`任务已删除、归档或不可用。`,taskActions:`{{name}}操作`,enable:`启用`,disable:`停用`,details:`执行配置`,filter:`任务状态`,frequency:`执行计划`,newChat:`每次运行开启新对话`,noMatches:`没有匹配的任务`,runIn:`运行方式`,welcome:`让重复的工作,按时完成`,welcomeHint:`安排代码巡检、整理简报或定期回顾。选择一个任务,查看提示词、执行计划和运行记录。`,enabled:`已启用`,nextRun:`下次执行`,chooseDate:`选择日期`,create:`新建定时任务`,custom:`自定义`,weekends:`周末`,daily:`每天`,dateUnavailable:`不可选日期`,delete:`删除`,deleteConfirm:`确认删除`,disabled:`已暂停`,disableTask:`停用{{name}}`,empty:`暂无定时任务`,enableTask:`启用{{name}}`,failed:`执行失败`,lastRun:`最近执行`,monthly:`每月`,monthDay:`每月几号`,name:`任务名称`,namePlaceholder:`例如:每日代码巡检`,nextMonth:`下个月`,noRuns:`尚未执行`,once:`仅一次`,previousMonth:`上个月`,project:`执行项目`,prompt:`执行提示词`,repeat:`重复规则`,rrule:`RRULE`,rrulePlaceholder:`RRULE:FREQ=WEEKLY;BYDAY=MO;BYHOUR=9;BYMINUTE=0`,runNow:`立即运行`,running:`正在启动`,unknown:`结果未知`,cleanup_pending:`已启动,正在收尾`,unknownHint:`启动结果尚未确认,已暂停再次运行。请先查看对应对话;确认后可删除此计划并重新创建。`,cleanupHint:`任务已启动,正在重试资源清理,无需再次运行。`,save:`保存任务`,scheduleInvalid:`请检查日期、时间或重复规则`,search:`搜索定时任务`,selectTask:`选择左侧任务查看配置`,skipped:`已跳过`,started:`已启动`,time:`触发时间`,timeOfDay:`时间`,title:`定时任务`,weekdays:`工作日`,weekday:`周几`,weekly:`每周`},Yn={sidebarFooter:le,engine:ye,textEditor:ct,split:wt,globalSearch:{all:`全部`,archived:`已归档任务`,back:`返回搜索结果`,categories:`搜索范围`,clear:`清空搜索`,close:`关闭搜索`,empty:`没有找到匹配结果`,error:`搜索失败,请重试`,fileHint:`按文件名和路径搜索`,fileLimit:`仅显示前 50 个文件,请细化关键词`,files:`项目文件`,hint:`输入关键词,搜索所有项目和临时任务`,history:`历史记录`,historyHint:`搜索用户消息和助手最终答复`,keyboard:`↑ ↓ 选择 · Enter 打开 · Esc 关闭`,latest:`返回最新消息`,loading:`正在搜索…`,location:`搜索命中位置`,next:`下一页`,occurrences:`消息中的匹配位置`,openSystem:`使用系统默认应用打开`,openTask:`打开任务`,partial:`部分项目文件搜索失败`,placeholder:`搜索任务、历史消息、项目文件…`,previous:`上一页`,resultCount:`{{count}} 个结果`,retry:`重试`,tasks:`任务`,temporary:`临时任务`,title:`全局搜索`,unavailable:`命中消息已不可用,请重新搜索`},scheduledTasks:Jn,skillsMarket:Kn,pet:{activeTasks:`活动任务`,activitySummary:`{{count}} 个活动任务,其中 {{waiting}} 个等待处理`,move:`移动工作台宠物 {{name}}`,openTask:`打开任务 {{name}},{{status}}`,status:{completed:`任务已完成`,running:`任务运行中`,waiting:`任务等待处理`}},actions:{cancel:`取消`,close:`关闭`,retry:`重试`,save:`保存`},commit:Gn,diff:{previewUnavailable:`此文件无法预览文本差异`,changedFiles:`变更文件`,changedFilesNavigation:`变更文件导航`,close:`关闭文件 Diff`,closeReview:`关闭文件审核`,collapseChangedFilesNavigation:`收起变更文件导航`,expandChangedFilesNavigation:`展开变更文件导航`,fileStats:`{{path}},新增 {{additions}} 行,删除 {{removals}} 行`,loading:`正在加载 Diff`,nextFile:`审核下一个文件`,previousFile:`审核上一个文件`,reviewContent:`审核文件内容`,reviewTitle:`文件审核`,showFileList:`切换为文件列表`,showFileTree:`切换为文件树`},composer:{addedAttachments:`已添加附件`,applyTodo:`应用待办`,applyTodoDescription:`应用待办将覆盖输入框中的当前内容。是否继续?`,applyTodoTitle:`覆盖当前输入?`,approvalMode:`批准模式`,attachmentCount_one:`{{count}} 个附件`,attachmentCount_other:`{{count}} 个附件`,attachmentReadFailed:`附件读取失败`,attachmentUploadFailed:`附件上传失败`,baseBranchReview:`基于基础分支进行审查`,buildPlanPrompt:`请开始按照上述计划进行开发。`,cancelGoalMode:`取消目标模式`,cancelPlanMode:`取消计划模式`,cancelQueued:`取消排队:{{summary}}`,cancelQueuedTooltip:`取消排队`,editQueued:`编辑排队消息:{{summary}}`,editQueuedTooltip:`编辑排队消息`,editingQueued:`编辑中`,disableFastMode:`关闭快速模式`,enableFastMode:`开启快速模式`,commandLimitHint:`最多显示 12 项,继续输入可精准匹配`,savedPromptGroup:`常用提示词`,commandGroup:`命令`,commandInput:`输入命令`,commandNoMatch:`没有匹配的 Skill 或命令`,fileSearch:`搜索项目文件`,fileSearchEmpty:`没有匹配的项目文件`,fileSearchFailed:`无法搜索项目文件`,fileSearchGroup:`项目文件`,fileSearchLoading:`正在搜索项目文件`,deleteTodo:`删除待办:{{summary}}`,compacting:`正在压缩上下文`,gitBranchMissing:`未检出分支`,branchSwitcherLabel:`切换分支,当前分支 {{branch}}`,branchSwitcherMenu:`切换分支`,branchSwitchFailed:`无法创建或切换分支,请重试`,branchName:`分支名称`,...N,worktrees:`工作树`,createWorktree:`创建 worktree`,createWorktreeDescription:`创建新分支和独立目录,方便并行开发。创建后仍可自由选择引擎和模型。`,createWorktreeConfirm:`创建并选择 worktree`,worktreeLoading:`正在读取工作目录…`,createBranch:`新建分支`,createBranchDescription:`从当前分支创建新分支,并在当前工作目录切换到它。`,createAndSwitchBranch:`创建并切换`,goalMode:`目标`,goalStatus:{active:`目标进行中`,blocked:`目标受阻`,budget_limited:`目标预算已用尽`,complete:`目标已完成`,paused:`目标已暂停`,usage_limited:`目标用量受限`},goalStatusLabel:`{{status}}:{{objective}}`,goalObjectiveRequired:`目标模式需要输入目标文本`,goalObjectiveTooLong:`目标文本不能超过 4,000 个字符`,goalStructuredInputUnsupported:`目标模式暂不支持附件或 Skill,请改用文本和 @文件路径`,initializingAgentsPrompt:`请检查当前项目,并在项目根目录创建或完善 AGENTS.md,写入适用于 Codex 的项目说明、常用命令和验证要求。`,landmark:`消息编辑器`,modelListFailed:`模型列表加载失败`,modelLoading:`模型加载中`,model:`模型`,modelSelect:`选择模型`,modelSelectCurrent:`选择模型:{{model}}`,moveQueuedDown:`下移排队消息:{{summary}}`,moveQueuedDownTooltip:`下移`,moveQueuedUp:`上移排队消息:{{summary}}`,moveQueuedUpTooltip:`上移`,noBaseBranch:`未发现可用分支`,noModels:`暂无可用模型`,openProjectFolder:`在系统文件夹中打开`,operationFailed:`操作失败,请重试`,placeholder:`告诉 Codexly 你想完成什么`,planMode:`计划`,projectPath:`项目路径`,queueMessage:`排队消息`,queuedMessages:`已排队消息`,reasonEffortSelect:`选择思考量`,reasonEffortSelectCurrent:`选择思考量:{{effort}}`,reasoningEffort:`思考量`,reviewBaseBranchGroup:`选择基础分支`,reviewScopeGroup:`选择审查范围`,reviewStarted:`代码审查已开始`,reviewUncommitted:`审查未提交的更改`,sandboxMode:`沙盒模式`,saveAsTodo:`保存为待办`,saveTodoChanges:`保存待办修改`,saveTodoFailed:`无法保存待办`,retryTodoLoad:`重新加载待办`,todoMigrationError:`部分旧待办未能导入,原始数据已保留。请检查附件是否过期,修复后刷新重试。`,sendSteer:`发送引导`,steerNow:`立即引导:{{summary}}`,steerNowTooltip:`立即作为引导发送`,stop:`停止`,submit:`提交`,taskInput:`任务输入`,taskRunning:`任务运行中`,uncommittedChangesMissing:`未发现可用的基础分支`,waitingToSend:`等待发送`,todoCount:`待办 {{count}}`,todoHasChanges:`有未保存修改`,todoList:`{{project}} 的待办`,followUpPlaceholder:`输入后续要求`},openMenu:{choose:`选择打开方式`,copyAbsolutePath:`复制绝对路径`,copyName:`复制名称`,copyRelativePath:`复制相对路径`,detect:`正在检测打开方式`,delete:`删除`,download:`下载文件`,remoteFileTitle:`请下载后使用系统应用打开`,remoteFileDescription:`此文件无法在项目内预览,浏览器无法直接打开当前设备的系统应用。请下载文件后,在下载列表中打开。`,moreActions:`更多操作`,none:`没有可用的打开方式`,open:`打开`,openContainingFolder:`打开所在文件夹`,openInNewWindow:`在独立窗口打开`,openIn:`在 {{app}} 中打开`,reference:`引用`,rename:`重命名`,systemDefault:`系统默认应用`,targetLabel:`{{path}} 的操作`},projectFile:{deleteDescription:{directory:`确认后将删除磁盘上的目录及其内容,此操作无法撤销。`,file:`确认后将删除磁盘上的文件,此操作无法撤销。`},deleteTitle:`删除 {{name}}?`,name:`名称`,renameDescription:{directory:`确认后将更改磁盘上的目录名称。`,file:`确认后将更改磁盘上的文件名称。`},renameTitle:`重命名`},promptCommand:{availability:{noTask:`需要先打开一个任务`,notReady:`运行时能力尚未就绪`,unsupported:`当前运行时不支持此命令`},compact:{description:`压缩此任务的上下文`,label:`压缩`},fork:{description:`复制当前任务及其对话历史`,label:`复制`},goal:{description:`设置持久目标并持续工作直到完成`,label:`目标`},initialize:{description:`创建包含 Codex 说明的 AGENTS.md 文件`,label:`初始化`},plan:{description:`先分析任务并制定实施计划`,label:`计划`},review:{description:`审查未暂存的更改,或与某个分支进行比较`,label:`代码审查`}},pending:{allow:`允许`,allowTurn:`本轮允许`,additionalPermissions:`额外权限`,allowSession:`本次会话允许`,answerFailed:`回答提交失败,请重试`,commandApproval:`命令审批`,cancel:`取消`,deny:`拒绝`,expired:`请求已过期`,toolApproval:`工具审批`,fileChangeApproval:`文件变更审批`,fileChangeFallback:`待确认文件变更`,inputRequired:`需要你的输入`,mcpForm:`{{server}} 输入请求`,mcpRequest:`{{server}} 确认请求`,networkApproval:`网络访问审批`,networkPermission:`网络访问`,other:`其他`,otherAnswer:`{{header}}其他回答`,openUrl:`打开链接`,previousPending:`等待处理前一项`,processed:`请求已处理`,permissionAccess:{deny:`拒绝`,read:`读取`,write:`写入`},permissionApproval:`权限审批`,permissionGlobDepth:`Glob 扫描深度:{{depth}}`,permissionMinimal:`最小文件系统`,permissionProjectRoots:`项目根目录`,permissionRoot:`文件系统根目录`,permissionTmpdir:`系统临时目录`,permissionUnknownPath:`未知路径`,fileSystemPermission:`文件系统`,requestFailed:`请求处理失败,请重试`,terminalInputApproval:`终端输入审批`,submitAnswers:`提交回答`,unsupportedForm:`此表单无法安全显示,请拒绝或取消请求。`},projectDialog:{pdfOpen:`打开 PDF`,pdfUnavailable:`当前环境不支持内嵌 PDF,请打开文件查看。`,closePdfPreview:`关闭 PDF 预览`,closeImagePreview:`关闭图片预览`,closeSource:`关闭源文件`,delete:`删除`,loadImageError:`无法加载图片`,loadMoreSourceError:`加载更多内容失败`,loadSourceError:`无法加载源文件`,loadingMoreSource:`正在加载更多内容`,loadingSource:`正在加载源文件`,name:`项目名称`,previewMarkdown:`预览 Markdown`,remove:`移除项目`,removeDescription:`将移除“{{name}}”及其中的 Codexly 任务记录,同时删除此设备上绑定该项目的全部常用提示词。磁盘上的文件夹和文件会保留。`,rename:`重命名项目`,renameDescription:`只修改左栏显示名称,不会修改磁盘上的文件夹名称。`,showDiff:`查看 Diff`,showRawContent:`显示原始内容`,sourcePartial:`部分内容`},newProject:qn,projectPicker:{primaryRoot:`项目文件夹`,primaryRootHint:`每个目录只能关联一个磁盘文件夹`,primaryRootSummary:`{{path}}`,rootSeparator:`、`,selectedRoots:`已选择 {{count}} 个项目目录`,selectRoot:`选择 {{name}}`,add:`添加此文件夹`,addError:`无法添加所选文件夹`,adding:`正在添加`,description:`浏览 Codexly 运行设备上的文件夹`,directPathReady:`已验证目录,可直接添加`,empty:`此文件夹中没有子文件夹`,filesystemRoot:`选择磁盘`,goToPath:`前往此路径`,hideHidden:`隐藏隐藏文件夹`,loadBranchError:`无法读取此文件夹`,loadError:`无法读取文件夹`,loading:`正在读取文件夹`,loadingBranch:`正在读取`,noSelection:`尚未选择文件夹`,parent:`返回上一级文件夹`,pathLabel:`绝对目录路径`,pathPlaceholder:`输入绝对目录路径`,resolvingPath:`正在定位主目录`,title:`选择项目文件夹`,showHidden:`显示隐藏文件夹`,treeLabel:`项目文件夹目录树`},hostAttachmentPicker:{add:`添加所选文件`,description:`浏览 Codexly 运行设备上的文件`,empty:`此文件夹中没有支持的文件`,filesystemRoot:`选择磁盘`,fileTitle:`选择部署主机文件`,goToPath:`前往此路径`,hideHidden:`隐藏隐藏文件`,imageTitle:`选择部署主机图片`,importError:`无法添加所选文件`,importing:`正在添加`,loadBranchError:`无法读取此文件夹`,loadError:`无法读取文件`,loading:`正在读取文件`,loadingBranch:`正在读取`,noSelection:`尚未选择文件`,parent:`返回上一级文件夹`,pathLabel:`绝对目录路径`,pathPlaceholder:`输入绝对目录路径`,resolvingPath:`正在定位主目录`,showHidden:`显示隐藏文件`,treeLabel:`部署主机文件目录树`},subagentOutput:{close:`关闭子代理输出`,error:`无法加载子代理输出`,loading:`正在加载子代理输出`,reconnecting:`子代理实时连接恢复中`,task:`子代理 {{taskId}}`,title:`子代理输出`},shell:{selectProjectRoot:`选择项目目录`,closeInspector:`关闭上下文面板`,closeSidebar:`关闭项目侧栏`,collapseInspector:`收起上下文面板`,collapseSidebar:`收起项目侧栏`,expandInspector:`展开上下文面板`,expandSidebar:`展开项目侧栏`,newChat:`新聊天`,renameTask:`重命名任务 {{title}}`,resizeInspector:`调整上下文面板宽度`,resizeSidebar:`调整项目侧栏宽度`,timeline:`任务时间线`,temporaryTask:`聊天`},skillEditor:{tokenLabel:`Skill {{name}},实际文本 {{text}}`},archivedTasks:{confirmDelete:`永久删除`,confirmDeleteAll:`全部永久删除`,delete:`永久删除`,deleteAll:`全部删除`,deleteAllDescription:`“{{project}}”中的全部已归档任务将从 Codexly 永久删除,无法恢复。AI 引擎保存的原始会话历史会保留。`,deleteAllTitle:`永久删除全部已归档任务`,deleteAllPartialFailure:`已删除 {{deletedCount}} 个任务,{{failedCount}} 个任务未能删除,请刷新后重试。`,deleteDescription:`“{{task}}”将从 Codexly 永久删除,无法恢复。AI 引擎保存的原始会话历史会保留。`,deleteTask:`永久删除任务 {{task}}`,deleteTitle:`永久删除任务`,empty:`没有已归档任务`,loadError:`无法加载已归档任务`,loading:`正在加载已归档任务`,next:`下一页`,page:`第 {{page}} 页`,previous:`上一页`,restore:`恢复`,restoreTask:`恢复任务 {{task}}`,search:`搜索已归档任务`,title:`{{project}} 的已归档任务`,updatedAt:`更新于 {{date}}`},sidebar:{timeline:ve,addProject:`添加项目`,agentNavigation:`Agent 导航`,archive:`归档`,archived:`已归档`,close:`关闭项目侧栏`,closeSearch:`关闭任务搜索`,collapse:`收起`,connection:{connecting:`正在连接`,offline:`离线`,online:`在线`,reconnecting:`正在重新连接`},aboutStatus:`关于,Codexly {{version}}{{update}},终端连接状态:{{status}}`,createInProject:`在 {{project}} 中新建任务`,deletePermanently:`永久删除`,deleteTaskDescription:`“{{task}}”将从 Codexly 永久删除,无法恢复。AI 引擎保存的原始会话历史会保留。`,deleteTaskTitle:`永久删除任务`,errorAddProject:`无法添加项目`,errorArchiveTask:`无法归档任务`,errorLoadTasks:`无法加载任务`,errorPinTask:`无法更新固定状态`,errorProjectOrder:`无法保存项目排序`,errorRenameTask:`无法重命名任务`,errorSearchTasks:`无法搜索任务`,expand:`显示更多`,expandLoading:`正在加载更多`,expandRetry:`重试加载更多`,newTask:`新建任务`,landmark:`项目侧栏`,noMatchingTasks:`未找到匹配任务`,noTasks:`暂无任务`,noTemporaryTasks:`暂无聊天`,openProjectActions:`打开 {{project}} 的项目操作菜单`,openTaskActions:`打开 {{task}} 的操作菜单`,pin:`固定`,pinned:`已固定`,runningGroup:`运行中`,approvalCount:`待确认 {{count}}`,showAllTasks:`查看全部 {{count}} 项`,closeTaskList:`关闭任务列表`,projects:`项目`,projectActions:`{{project}} 的项目操作`,remove:`删除`,rename:`重命名`,search:`搜索任务`,searchAll:`正在搜索全部任务`,settings:`设置`,updateAvailableLabel:`,有可用更新`,taskActions:`{{task}} 的任务操作`,taskApproval:`任务等待审批`,taskComplete:`AI 回复已完成`,taskIncomplete:`AI 回复未完成`,taskLoading:`正在加载任务`,taskRunning:`任务运行中`,temporaryTasks:`聊天`,toggleProject:`切换项目 {{project}}`,unpin:`取消固定`},taskBoard:{allProjects:`全部项目`,approval:`待审批`,completed:`已完成`,completedLoadError:`已完成任务加载失败`,copyTaskId:`复制任务 ID:{{id}}`,copyTaskIdHint:`复制任务 ID`,emptyApproval:`暂无待审批任务`,emptyCompleted:`暂无已完成任务`,emptyRunning:`暂无运行中任务`,emptyTodos:`暂无待办`,label:`任务看板`,loading:`正在加载任务看板`,loadingMore:`正在加载更多任务`,newCompleted:`新完成`,openTask:`打开任务:{{task}}`,openTodo:`打开待办:{{todo}}`,pinned:`已固定`,projectFilter:`项目过滤`,retryCompleted:`重新加载已完成任务`,running:`运行中`,runningFor:`已运行 {{duration}}`,title:`任务看板`,todo:`待办`},taskDialog:{name:`任务名称`,rename:`重命名任务`}},Xn=`common`,Zn=[`common`,`settings`,`workbench`,`conversation`],Qn={"zh-CN":{common:Hn,conversation:Un,settings:Wn,workbench:Yn}};function $n(){try{return typeof window>`u`?null:window.localStorage}catch{return null}}var er=$n(),tr=Vn(er,typeof window>`u`||typeof navigator>`u`?[]:navigator.languages),nr=F(async()=>(await t(async()=>{let{englishResources:e}=await import(`./resources-en-CNabznak.js`);return{englishResources:e}},__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14]))).englishResources,(e,t,n)=>{q.addResourceBundle(e,t,n,!0)}),rr=q.use(Ut(nr,(e,t)=>q.getResourceBundle(e,t))).use(xn).init({defaultNS:Xn,fallbackLng:`zh-CN`,initAsync:!1,interpolation:{escapeValue:!1},lng:tr,ns:Zn,resources:Qn,partialBundledLanguages:!0,supportedLngs:[`zh-CN`,`en`]});typeof document<`u`&&Bn(tr,document.documentElement);async function ir(e){zn(e,er??{setItem:()=>void 0}),typeof document<`u`&&Bn(e,document.documentElement),await q.changeLanguage(e)}async function ar(){await rr}function or(){return Rn(er??{getItem:()=>null})??(q.resolvedLanguage===`en`?`en`:`zh-CN`)}function sr(e,t,n){return e.invalidateQueries({exact:!0,queryKey:At(t,n)})}function cr(e){let t=new Map;for(let n of e?.pages??[])for(let e of n.data)t.has(e.id)||t.set(e.id,e);return[...t.values()]}async function lr(e,t){let n=e.getQueriesData({queryKey:tt}).flatMap(([e,n])=>{let r=e[2];return n!==void 0&&Array.isArray(r)&&r.includes(t.projectId)?[e]:[]});await Promise.all(n.map(t=>e.cancelQueries({exact:!0,queryKey:t})));for(let r of n)e.setQueryData(r,e=>{if(e===void 0||e.pages.length===0)return e;let n=e.pages.map(e=>({...e,data:e.data.filter(e=>e.id!==t.id)})),r=n[0];return r===void 0?e:{...e,pages:[{...r,data:[t,...r.data]},...n.slice(1)]}})}function ur(e,t){if(e===void 0||e.pages.length===0)return{pageParams:[void 0],pages:[{data:[t],nextCursor:null}]};let n=e.pages.map(e=>({...e,data:e.data.filter(e=>e.id!==t.id)})),r=n[0];return{...e,pages:[{...r,data:[t,...r?.data??[]],nextCursor:r?.nextCursor??null},...n.slice(1)]}}function dr(e,t){return e===void 0?{pageParams:[void 0],pages:[{data:[t],nextCursor:null}]}:{...e,pages:e.pages.map(e=>({...e,data:e.data.map(e=>e.id===t.id?t:e)}))}}function fr(e,t,n){Lt(e,t.projectId),e.cancelQueries({exact:!0,queryKey:[`projects`,t.projectId,`tasks`,kn]}),e.setQueryData([`projects`,t.projectId,`tasks`],e=>dr(e,t)),e.setQueryData([`projects`,t.projectId,`tasks`,A],e=>e?.map(e=>e.id===t.id?t:e)),e.setQueryData([`projects`,t.projectId,`tasks`,kn],n)}function pr(e,t,n){let r=[`projects`,t.projectId,`tasks`];e.setQueryData(r,e=>dr(e,t)),e.setQueryData([...r,A],n),Qe(e,t.projectId,e=>e.map(e=>e.id===t.id?t:e))}function mr(e,t={}){if(t.assistantReplyStarted===!0||e.turns.some(e=>e.items.some(e=>e.type===`message`&&e.role===`assistant`))){if(e.title!==`新聊天`)return e.title;for(let t of e.turns)for(let e of t.items){if(e.type!==`message`||e.role!==`user`)continue;let t=e.text.trim().split(/\r?\n/u)[0]?.trim();if(t)return t;let n=e.skills?.[0]?.name;if(n!==void 0)return n;let r=e.attachments?.[0]?.name;if(r!==void 0)return r}return q.t(`taskTitle.replying`,{ns:`conversation`})}}function hr(e,t,n={}){if(e===void 0)return;let r=e.pages.map(e=>{let r=gr(e.data,t,n);return r===e.data?e:{...e,data:r}});return r.some((t,n)=>t!==e.pages[n])?{...e,pages:r}:e}function gr(e,t,n={}){let r=mr(t,n);if(r===void 0)return e;let i=e.findIndex(e=>e.id===t.id&&e.projectId===t.projectId&&e.title===`新聊天`);return i<0?e:e.map((e,n)=>n===i?{...e,title:r,updatedAt:t.updatedAt}:e)}function _r(e,t,n){Qe(e,t.projectId,e=>gr(e,t,n).map(e=>e.id===t.id?{...e,updatedAt:t.updatedAt}:e)),e.setQueryData([`projects`,t.projectId,`tasks`],e=>hr(e,t,n)),e.setQueryData([`projects`,t.projectId,`tasks`,A],e=>e===void 0?void 0:gr(e,t,n))}function vr(e,t){if(e!==void 0)return{...e,pages:e.pages.map(e=>({...e,data:e.data.filter(e=>e.id!==t)}))}}async function yr(e,t,n,r){return(r===void 0?await t.listTaskCatalog(e,n):await t.listTaskCatalog(e,n,{signal:r})).data}function br(e,t,n){return yr(e,t,{},n)}function xr(e,t,n){return yr(e,t,{pinned:!0},n)}function Sr(e,t=Y){return v({queryFn:({signal:n})=>xr(e,t,n),queryKey:[`projects`,e,`tasks`,A]})}async function Cr(e,t,n){Qe(e,t,e=>e.filter(e=>e.id!==n));let r=[`projects`,t,`tasks`];e.setQueryData(r,e=>vr(e,n)),e.setQueryData([...r,A],e=>e?.filter(e=>e.id!==n)),await e.invalidateQueries({exact:!0,queryKey:r})}function wr(e,t,n,r){Qe(e,t,e=>e.filter(e=>e.id!==n));let i=[`projects`,t,`tasks`];e.setQueryData(i,{pageParams:[void 0],pages:[r]}),e.setQueryData([...i,A],e=>e?.filter(e=>e.id!==n))}function Tr(e,t,n){let r=[`projects`,t,`tasks`];e.setQueryData(r,{pageParams:[void 0],pages:[n]}),e.removeQueries({exact:!0,queryKey:[...r,A]}),e.removeQueries({exact:!0,queryKey:[...r,kn]})}function Er(e,t){if(e===void 0||e.data.length!==t.length||new Set(t).size!==t.length)return;let n=new Map(e.data.map(e=>[e.id,e])),r=t.flatMap(e=>{let t=n.get(e);return t===void 0?[]:[t]});if(r.length===e.data.length)return{...e,data:r}}function Dr(e=Y){return y({mutationFn:({pinned:t,projectId:n,taskId:r})=>e.pinTask(n,r,t),mutationKey:[`tasks`,`pin`]})}function Or(e=Y){return y({mutationFn:({projectId:t,taskId:n,title:r})=>e.renameTask(t,n,r),mutationKey:[`tasks`,`rename`]})}function kr(e=Y){return y({mutationFn:({projectId:t,taskId:n})=>e.archiveTask(t,n),mutationKey:[`tasks`,`archive`]})}function Ar(e=Y){return y({mutationFn:({projectId:t,taskId:n})=>e.unarchiveTask(t,n),mutationKey:[`tasks`,`unarchive`]})}function jr(e=Y){return y({mutationFn:({projectId:t,taskId:n})=>e.deleteTask(t,n),mutationKey:[`tasks`,`delete`]})}function Mr(e=Y){return y({mutationFn:({name:t,projectId:n})=>e.renameProject(n,t),mutationKey:[`projects`,`rename`],scope:{id:`projects:actions`}})}function Nr(e=Y){return y({mutationFn:async t=>{Ke.assertProjectRemovalWritable(t);let n=await e.removeProject(t);return Ke.removeProject(t),n},mutationKey:[`projects`,`remove`],scope:{id:`projects:actions`}})}function Pr(e=Y){return v({queryFn:({signal:t})=>e.getCapabilities({signal:t}),queryKey:[`capabilities`]})}function Fr(e=Y,t=`codex`){return v(Pt(e,t))}function Ir(e=Y,t=`codex`){return v(ut(e,t))}function Lr(e=Y,t=`codex`){return y(kt(e,t))}function Rr(e,t=Y,n=!0){return v({enabled:n,queryFn:({signal:n})=>t.getProjectOpenCapabilities(e,{signal:n}),queryKey:[`projects`,e,`open-capabilities`],staleTime:6e4})}function zr(e,t=Y,n=!0){return v({enabled:n,queryFn:({signal:n})=>t.listSkills(e,{signal:n}),queryKey:[`projects`,e,`skills`]})}function Br(e,t,n=Y,r=!0){return v({enabled:r&&t!==void 0,queryFn:async({signal:r})=>t===void 0?{data:[]}:n.listMcpServers(e,t,{signal:r}),queryKey:[`projects`,e,`tasks`,t??null,`mcp-servers`]})}function Vr(e,t,n=Y){return y({mutationFn:async r=>{if(t===void 0)throw Error(`Cannot reload MCP servers without a task`);return r?n.retryMcpServers(e,t,{action:r}):n.retryMcpServers(e,t)},mutationKey:[`projects`,e,`tasks`,t??null,`mcp-servers`,`reload`],scope:{id:`task-mcp:${e}:${t??`none`}`}})}function Hr(e,t=Y,n=!0){return v({enabled:n,queryFn:({signal:n})=>t.getProjectDefaults(e,{signal:n}),queryKey:[`projects`,e,`defaults`]})}function Ur(e,t=Y){return y({meta:{actionNotification:{successMessage:!1}},mutationFn:n=>t.updateProjectDefaults(e,n),mutationKey:[`projects`,e,`defaults`,`update`],scope:{id:`project-defaults:${e}`}})}function Wr(e=Y){return v({queryFn:({signal:t})=>e.listProjects({signal:t}),queryKey:[`projects`]})}function Gr(e=Y){return y({mutationFn:t=>e.reorderProjects(t),mutationKey:[`projects`,`reorder`],scope:{id:`projects:reorder`}})}function Kr(e,t,n=Y,r=!0){return v({enabled:r,queryFn:({signal:r})=>n.getProjectGitStatus(e,{rootPath:t},{signal:r}),queryKey:[`projects`,e,t,`git-status`],refetchOnMount:e=>e.state.data===void 0||et(e.state.data)?`always`:!1,refetchOnWindowFocus:e=>et(e.state.data),retry:1})}function qr(e,t,n,r,i,a=Y){return v({enabled:i,queryFn:({signal:r})=>a.getProjectGitStatus(e,{includeDiff:!0,rootPath:t,...n===null?{}:{repository:n}},{signal:r}),queryKey:[`projects`,e,t,`git-status-detail`,n,r],retry:1})}function Jr(e,t,n,r,i=Y){return l({enabled:r,getNextPageParam:(e,t,n)=>e.nextCursor===null||e.nextCursor===n?void 0:e.nextCursor,initialPageParam:void 0,queryFn:({pageParam:r,signal:a})=>i.getProjectGitHistory(e,{...r===void 0?{}:{cursor:r},...n===void 0?{}:{repository:n},rootPath:t},{signal:a}),queryKey:[`projects`,e,t,`git-history`,n??null]})}function Yr(e,t,n,r,i,a=Y){return l({enabled:i,getNextPageParam:(e,t,n)=>e.nextCursor===null||e.nextCursor===n?void 0:e.nextCursor,initialPageParam:void 0,queryFn:({pageParam:i,signal:o})=>a.getProjectGitCommitFiles(e,{...i===void 0?{}:{cursor:i},...n===void 0?{}:{repository:n},rootPath:t,sha:r},{signal:o}),queryKey:[`projects`,e,t,`git-commit-files`,n??null,r]})}function Xr(e,t,n,r,i,a,o=Y){return v({enabled:a,gcTime:3e4,queryFn:({signal:a})=>o.getProjectGitCommitFileDiff(e,{path:i,...n===void 0?{}:{repository:n},rootPath:t,sha:r},{signal:a}),queryKey:[`projects`,e,t,`git-commit-diff`,n??null,r,i],staleTime:1/0})}function Zr(e,t,n=Y){return y({meta:{actionNotification:{successMessage:!1}},mutationFn:r=>n.generateCommitMessage(e,t,r),mutationKey:[`projects`,e,t,`git`,`commit-message`],scope:{id:`project-git-message:${e}:${t}`}})}function Qr(e,t,n=Y){return y({mutationFn:r=>n.commitProjectChanges(e,t,r),mutationKey:[`projects`,e,t,`git`,`commit`],scope:{id:`project-git-mutation:${e}:${t}`}})}function $r(e,t,n,r=Y,i=!0){return v({enabled:i,queryFn:({signal:i})=>r.listProjectFiles(e,t,n,{signal:i}),queryKey:[`projects`,e,t,`file-tree`,n],staleTime:3e4})}function ei(e,t,n,r=Y){return v(Ft(e,t,n,i=>r.listTasks(e,{archived:!0,...t===void 0?{}:{cursor:t},limit:20,...n.length===0?{}:{searchTerm:n}},{signal:i})))}function ti(e,t=Y){return l({getNextPageParam:e=>e.nextCursor??void 0,initialPageParam:void 0,queryFn:({pageParam:n,signal:r})=>t.queryCompletedTasks({projectIds:e,...n===void 0?{}:{cursor:n}},{signal:r}),queryKey:[...tt,e]})}function ni(e,t=Y){return l(yt(e,(n,r)=>t.listTasks(e,{...n===void 0?{}:{cursor:n},limit:5},{signal:r})))}function ri(e,t,n=Y){return v(dt(e,t,r=>n.readTask(e,t,{signal:r,summary:!0})))}var ii=[],ai={error:null,hasNextPage:!1,isFetchingNextPage:!1,isPending:!0};async function oi(e,t){await e.get(t)?.fetchNextPage()}var si=(0,J.createContext)(void 0),ci=(0,J.createContext)(void 0),li=(0,J.createContext)(void 0),ui=(0,J.createContext)(void 0);function di({client:e,onRemove:t,onUpdate:n,projectId:r}){let i=_(ni(r,e)),a=(0,J.useMemo)(()=>cr(i.data),[i.data]);return(0,J.useEffect)(()=>{n(r,{controller:{fetchNextPage:i.fetchNextPage},state:{error:i.error,hasNextPage:i.hasNextPage,isFetchingNextPage:i.isFetchingNextPage,isPending:i.isPending},tasks:a})},[n,r,i.error,i.fetchNextPage,i.hasNextPage,i.isFetchingNextPage,i.isPending,a]),(0,J.useEffect)(()=>()=>{t(r)},[t,r]),null}function fi(e,t){let n=e.flatMap(e=>t.get(e)?.tasks??ii);return{projectTaskStates:new Map(e.map(e=>[e,t.get(e)?.state??ai])),tasks:n}}function pi(){let e=(0,J.useContext)(si);if(e===void 0)throw Error(`useProjectData must be used inside ProjectProvider`);return e}function mi(){let e=(0,J.useContext)(ci);if(e===void 0)throw Error(`useProjectActions must be used inside ProjectProvider`);return e}function hi(){let e=(0,J.useContext)(li);if(e===void 0)throw Error(`useProjectActivity must be used inside ProjectProvider`);return e}function gi(){let e=(0,J.useContext)(ui);if(e===void 0)throw Error(`useProjectRootSelection must be used inside ProjectProvider`);return e}function _i(e){let{client:t,projects:n}=pi(),r=(0,J.useMemo)(()=>e===null?[G,...n.map(e=>e.id)]:[e],[e,n]),i=_(ti(r,t)),a=(0,J.useMemo)(()=>{let e=new Map;for(let t of i.data?.pages??[])for(let n of t.data)e.set(`${n.projectId}\u0000${n.id}`,n);return[...e.values()].sort((e,t)=>Date.parse(t.updatedAt)-Date.parse(e.updatedAt))},[i.data]);return{error:i.error,fetchNextPage:i.fetchNextPage,hasNextPage:i.hasNextPage,isFetchingNextPage:i.isFetchingNextPage,isPending:i.isPending,refetch:i.refetch,tasks:a}}function vi(){let{client:e,projects:t}=pi(),n=[G,...t.map(e=>e.id)],r=d({queries:n.map(t=>Sr(t,e))});return{error:r.find(e=>e.error!==null)?.error??null,isPending:r.some(e=>e.isPending),tasks:r.flatMap(e=>e.data??ii)}}function yi(e){return e instanceof Error&&e.message.trim().length>0?e.message:typeof e==`string`&&e.trim().length>0?e:`Unknown internal error`}function X(e,t,n={}){console.warn(`Codexly internal warning`,{diagnosticCode:e,errorMessage:yi(t),...n})}function bi(e,t){(0,J.useEffect)(()=>{t.onTaskActivityViewed=(t,n,r)=>{e.acknowledgeTaskActivity(t,n,r).catch(e=>{X(`task_activity_acknowledge_failed`,e)})};let n=Ve({read:async()=>(await e.getTaskActivities()).data,capture:()=>t.getTaskActivity(),apply:(e,n)=>{Te().recordActivities(e),t.reconcileTaskActivities(e,n)},subscribe:t=>e.subscribeWorkbenchChanges(e=>{(e.type===`workbench.ready`||e.type===`task-activity.changed`)&&t()}),onError:e=>{X(`task_activity_sync_failed`,e)},target:document,window});return()=>{t.onTaskActivityViewed=void 0,n()}},[e,t])}function xi(){let e=!1;return{async run(t){if(!e){e=!0;try{return await t()}finally{e=!1}}}}}var Si=256;function Ci(){if(globalThis.Notification===void 0)return;let e=globalThis.Notification;return{getPermission:()=>e.permission,requestPermission:()=>e.requestPermission(),show(t,n){let r=new e(t,n);return{addClickListener(e){r.addEventListener(`click`,e)},close(){r.close()}}}}}function wi(e){return`${e.taskId}:${e.turnId}`}function Ti(e,t){switch(t.type){case`turn.completed`:{let n=t.payload.turn.status===`completed`?q.t(`notification.completed`,{ns:`conversation`}):t.payload.turn.status===`interrupted`?q.t(`notification.interrupted`,{ns:`conversation`}):t.payload.turn.status===`failed`?q.t(`notification.failed`,{ns:`conversation`}):void 0;return n===void 0?void 0:{body:n,tag:`${e}:${t.taskId}:${t.turnId}:terminal`}}case`provider.error`:return t.payload.willRetry?void 0:{body:q.t(`notification.failedWithMessage`,{message:t.payload.message,ns:`conversation`}),tag:`${e}:${t.taskId}:${t.turnId}:terminal`};case`pending_request.created`:return{body:t.payload.request.type===`user_input`?q.t(`notification.waitingInput`,{ns:`conversation`}):q.t(`notification.waitingApproval`,{ns:`conversation`}),tag:`${e}:${t.taskId}:${t.payload.request.requestId}:request`};default:return}}var Ei=class{#e;#t=new Set;#n;#r;#i;#a;#o;constructor(e){this.#e=e.api,this.#n=e.focusPage??(()=>{globalThis.window.focus()}),this.#r=e.isEnabled??(()=>!0),this.#i=e.isPageForeground??(()=>globalThis.document.visibilityState===`visible`&&globalThis.document.hasFocus()),this.#a=e.navigateToTask??(()=>void 0)}notify(e,t,n){if(!this.#r()||this.#e?.getPermission()!==`granted`||this.#i())return;if(t.type===`provider.error`&&!t.payload.willRetry){let e=wi(t);if(this.#t.has(e))return;if(this.#t.size>=Si){let e=this.#t.values().next().value;e!==void 0&&this.#t.delete(e)}this.#t.add(e)}else if(t.type===`turn.completed`&&this.#t.delete(wi(t)))return;let r=Ti(e,t);if(r!==void 0)try{let i=n.trim()||`Task`,a=this.#e.show(`Codexly · ${i}`,{body:r.body,data:{projectId:e,taskId:t.taskId},tag:r.tag});a.addClickListener(()=>{a.close(),this.#n(),this.#a(e,t.taskId)})}catch(n){X(`browser_notification_show_failed`,n,{projectId:e,taskId:t.taskId})}}requestPermission(){if(!this.#r()||this.#e===void 0)return Promise.resolve();if(this.#o!==void 0)return this.#o;let e;try{if(this.#e.getPermission()!=="default")return Promise.resolve();e=this.#e.requestPermission()}catch(e){return X(`notification_permission_failed`,e),Promise.resolve()}return this.#o=e.then(()=>void 0).catch(e=>{X(`notification_permission_failed`,e)}).finally(()=>{this.#o=void 0}),this.#o}};function Di(e={}){return new Ei({...e,api:e.api??Ci()})}var Oi={attention:null,isAwaitingApproval:!1,isRunning:!1};function ki(e,t){return`${e}\u0000${t}`}function Ai(e){return e.type===`command_approval`||e.type===`file_change_approval`||e.type===`permissions_approval`||e.type===`mcp_elicitation`}function ji(e){return new Set(e.filter(e=>e.status===`pending`&&Ai(e)).map(e=>e.requestId))}function Mi(e,t){if(e.size!==t.size)return!1;for(let n of e)if(!t.has(n))return!1;return!0}function Ni(e,t,n,r){let i=ki(t,n),a=e.get(i);if(a?.attention===r.attention&&a.engine===r.engine&&a.isRunning===r.isRunning&&a.startedAt===r.startedAt&&a.taskName===r.taskName&&Mi(a.pendingApprovalRequestIds,r.pendingApprovalRequestIds))return e;let o=new Map(e);return o.set(i,r),o}function Pi(e,t,n){let r=e.get(ki(t,n));return Ni(e,t,n,{attention:null,engine:r?.engine,isRunning:!0,pendingApprovalRequestIds:r?.pendingApprovalRequestIds??new Set,projectId:t,...r?.startedAt===void 0?{startedAt:new Date().toISOString()}:{startedAt:r.startedAt},taskId:n,taskName:r?.taskName??n})}function Fi(e,t){let n=e.get(ki(t.projectId,t.taskId));return Ni(e,t.projectId,t.taskId,{...ze(t),engine:n?.engine})}function Ii(e){let t=[];for(let n of e.values())(n.isRunning||n.pendingApprovalRequestIds.size!==0)&&t.push({id:n.taskId,projectId:n.projectId,...n.startedAt===void 0?{}:{startedAt:n.startedAt},status:n.pendingApprovalRequestIds.size>0?`approval`:`running`,title:n.taskName??n.taskId});return t}function Li(e,t,n){let r=e.get(ki(t,n));return r===void 0?Oi:{attention:r.attention,isAwaitingApproval:r.pendingApprovalRequestIds.size>0,isRunning:r.isRunning}}function Ri(e,t,n){let r=e.get(ki(t,n));return r?.attention===void 0||r.attention===null?e:Ni(e,t,n,{...r,attention:null})}function zi(e,t){for(let n of e.values())if(n.projectId===t&&(n.isRunning||n.pendingApprovalRequestIds.size>0))return!0;return!1}function Bi(e,t){let n=[];for(let r of e.values())r.projectId===t&&(r.isRunning||r.pendingApprovalRequestIds.size>0)&&n.push(r.taskId);return n}function Vi(e,t,n){let r=ki(t,n);if(!e.has(r))return e;let i=new Map(e);return i.delete(r),i}function Hi(e,t,n=!1){let r=e.get(ki(t.projectId,t.id)),i=ji(t.pendingRequests),a=t.turns.findLast(e=>e.status===`running`),o=n?null:i.size>0?`approval`:t.status===`running`?null:r?.attention===`completed`||r?.attention===`failed`?r.attention:null;return Ni(e,t.projectId,t.id,{attention:o,engine:be(t),isRunning:t.status===`running`,pendingApprovalRequestIds:i,projectId:t.projectId,...typeof a?.startedAt==`string`?{startedAt:a.startedAt}:r?.startedAt===void 0?{}:{startedAt:r.startedAt},taskId:t.id,taskName:t.title})}function Ui(e,t,n,r=!1){let i=ki(t,n.taskId),a=e.get(i)??{attention:null,isRunning:!1,pendingApprovalRequestIds:new Set,projectId:t,taskId:n.taskId,taskName:n.taskId},o=a.attention,s=a.isRunning,c=a.pendingApprovalRequestIds;switch(n.type){case`task.metadata_changed`:return n.payload.title===void 0?e:Ni(e,t,n.taskId,{...a,taskName:n.payload.title});case`turn.started`:o=null,s=!0;break;case`task.status_updated`:s=n.payload.status===`running`,s&&(o=null);break;case`turn.completed`:o=r?null:n.payload.turn.status===`failed`||n.payload.turn.status===`interrupted`?`failed`:`completed`,s=!1,c=new Set;break;case`provider.error`:n.payload.willRetry||(o=r?null:`failed`,s=!1,c=new Set);break;case`pending_request.created`:Ai(n.payload.request)&&(o=r?null:`approval`,c=new Set(c).add(n.payload.request.requestId));break;case`pending_request.resolved`:case`pending_request.expired`:if(c.has(n.payload.request.requestId)){let e=new Set(c);e.delete(n.payload.request.requestId),c=e,e.size===0&&o===`approval`&&(o=null)}break;default:return e}return Ni(e,t,n.taskId,{attention:o,engine:a.engine,isRunning:s,pendingApprovalRequestIds:c,projectId:t,...n.type===`turn.started`?typeof n.payload.turn.startedAt==`string`?{startedAt:n.payload.turn.startedAt}:{}:a.startedAt===void 0?{}:{startedAt:a.startedAt},taskId:n.taskId,...a.taskName===void 0?{}:{taskName:a.taskName}})}var Wi=1e3,Gi=3e4,Ki=class extends qe{constructor(e){super({...e,estimateBytes:V})}};function Z(e,t){return`${e}\u0000${t}`}function qi(e,t,n){return`${Z(e,t)}\u0000${n}`}var Ji=1048576,Yi=1e3,Xi=new TextEncoder;function Zi(e){let t=e.items.map(e=>{if(e.type!==`message`||e.role!==`user`||(e.skills?.length??0)===0)return e;let t=Ae(e.text,e.skills??[]);return t===e.text?e:{...e,text:t}});return t.some((t,n)=>t!==e.items[n])?{...e,items:t}:e}function Qi(e,t,n){let r=Zi(t),i=r.items.find(e=>e.type===`message`&&e.role===`user`);if(n.text.length===0&&n.skills.length===0&&n.attachments.length===0&&i===void 0)return e;let a=e.turns.findIndex(e=>e.id===r.id),o=e.turns[a],s=Zi(o??r),c=s.items.findIndex(e=>e.type===`message`&&e.role===`user`),l=s.items[c],u=c>=0;if(a>=0&&l?.type===`message`){if((l.attachments?.length??0)>0||(n.messageAttachments?.length??0)===0){if(s===o)return e;let t=[...e.turns];return t[a]=s,{...e,turns:t}}let t=[...e.turns],r=[...s.items];return r[c]={...l,attachments:[...n.messageAttachments??[]],...n.text.length===0?{text:``}:{}},t[a]={...s,items:r},{...e,turns:t}}let d=u?s:{...s,items:[i??{id:`submitted-user-${t.id}`,role:`user`,...n.skills.length===0?{}:{skills:n.skills.map(e=>({name:e.name}))},...(n.messageAttachments?.length??0)===0?{}:{attachments:[...n.messageAttachments??[]]},text:n.text,type:`message`},...s.items]};if(a<0)return{...e,status:`running`,turns:[...e.turns,d]};let f=[...e.turns];return f[a]=d,{...e,turns:f}}function $i(e){return e.type===`message.delta`||e.type===`plan.delta`||e.type===`reasoning.delta`||e.type===`command.output_delta`}function ea(e){let t=e.type===`reasoning.delta`?`${e.payload.field}:${String(e.payload.sectionIndex??-1)}`:`value`;return`${e.taskId}:${e.turnId}:${e.itemId}:${e.type}:${t}`}var ta=class{#e;#t;#n=[];#r=0;constructor(e={}){if(this.#e=e.maxBytes??Ji,this.#t=e.maxEvents??Yi,!Number.isInteger(this.#e)||this.#e<=0)throw RangeError(`Agent Event buffer maxBytes must be a positive integer`);if(!Number.isInteger(this.#t)||this.#t<=0)throw RangeError(`Agent Event buffer maxEvents must be a positive integer`)}push(e){if(!$i(e))throw TypeError(`Only Agent Event deltas can be buffered`);let t=ea(e),n=this.#n.at(-1),r=n?.event,i=r!==void 0&&ea(r)===t,a=Xi.encode(e.payload.delta).byteLength;return this.#n.length+ +!i>this.#t||this.#r+a>this.#e?(this.#n.length=0,this.#r=0,!1):(this.#r+=a,i?(this.#n[this.#n.length-1]={event:{...e,payload:{...e.payload,delta:`${r.payload.delta}${e.payload.delta}`}},retainedBytes:(n?.retainedBytes??0)+a},!0):(this.#n.push({event:e,retainedBytes:a}),!0))}drain(){return this.flushThrough(1/0)}flushThrough(e){let t=this.#n.findIndex(({event:t})=>t.sequence>=e),n=t<0?this.#n.length:t,r=this.#n.splice(0,n);for(let e of r)this.#r-=e.retainedBytes;return r.map(({event:e})=>e)}},na=4,ra=class{#e;#t=new Set;#n;#r=!1;#i=0;#a=!1;#o;constructor(e,t){this.#n=e,this.#e=t}dispose(){this.#r=!0,this.cancelRecovery()}cancelRecovery(){this.#t.clear(),this.#s(),this.#i=0}forgetTask(e){this.#t.delete(e),this.#c()}markRecovered(e){this.#t.delete(e),this.#c()}requestRecovery(e){if(!this.#r){for(let t of e)t.length>0&&this.#t.add(t);this.#t.size>0&&!this.#a&&this.#o===void 0&&this.#u()}}#s(){this.#o!==void 0&&(clearTimeout(this.#o),this.#o=void 0)}#c(){this.#t.size>0||this.#a||(this.#s(),this.#i=0)}#l(){if(this.#r||this.#t.size===0){this.#c();return}let e=Math.min(Wi*2**this.#i,Gi);this.#i+=1,this.#o=setTimeout(()=>{this.#o=void 0,this.#u()},e)}#u(){if(this.#r||this.#a||this.#t.size===0)return;this.#a=!0;let e=[...this.#t],t=0,n=async()=>{for(;!this.#r;){let n=e[t];if(t+=1,n===void 0)return;if(!this.#t.has(n))continue;let r;try{r=await this.#n(n)}catch(e){X(`snapshot_recovery_failed`,e);continue}if(r!==void 0&&this.#t.delete(n))try{this.#e(n,r)}catch(e){this.#t.add(n),X(`snapshot_recovery_failed`,e)}}},r=Math.min(na,e.length);Promise.all(Array.from({length:r},n)).then(()=>{if(this.#a=!1,!this.#r){if(this.#t.size===0){this.#i=0;return}this.#l()}})}},ia=class{#e;#t;#n;#r=0;#i=0;#a=`ready`;#o;constructor(e,t,n=()=>void 0){this.#n=e,this.#e=t,this.#t=n}get isReady(){return this.#a===`ready`}dispose(){this.#a=`disposed`,this.#i+=1,this.#s()}requestRecovery(){this.#a===`ready`&&this.#l()}reset(){this.#a!==`disposed`&&(this.#s(),this.#r=0,this.#i+=1,this.#a=`ready`)}#s(){this.#o!==void 0&&(clearTimeout(this.#o),this.#o=void 0)}#c(){if(this.#a===`disposed`)return;this.#a=`waiting_to_retry`;let e=Math.min(Wi*2**this.#r,Gi);this.#r+=1,this.#o=setTimeout(()=>{this.#o=void 0,this.#l()},e)}#l(){if(this.#a===`disposed`)return;this.#a=`recovering`,this.#t();let e=this.#i,t;try{t=Promise.resolve(this.#n())}catch(t){X(`snapshot_recovery_failed`,t),e===this.#i&&this.#c();return}t.then(t=>{if(this.#a===`recovering`&&e===this.#i){if(t===void 0){this.#c();return}this.#e(t)}}).catch(t=>{X(`snapshot_recovery_failed`,t),this.#a===`recovering`&&e===this.#i&&this.#c()})}},aa=class{#e=new ta;#t;#n=new Set;#r;#i;#a;constructor(e,t,n){this.#i=e,this.#n.add(t),this.#t=n,this.#r=new ia(async()=>this.#n.values().next().value?.(),e=>{this.#t(e,this)},()=>{this.#i.getState().setConnectionState(`reconnecting`)})}get sessionId(){return this.#i.getState().checkpoint?.sessionId}get taskId(){return this.#i.getState().taskId}addConsumer(e){this.#n.add(e)}removeConsumer(e){return this.#n.delete(e),this.#n.size}resetForSnapshot(){this.#o(),this.#e.drain(),this.#r.reset()}apply(e){if(this.#r.isReady){if(St(e)){if(this.#a===void 0){this.#a=Le(()=>{this.#a=void 0;let e=this.#e.drain();e.length>0&&this.#i.getState().applyEvents(e)}),this.#i.getState().applyEvents([e]);return}if(!this.#e.push(e)){this.requestRecovery();return}return}this.#s(e.sequence),this.#i.getState().applyEvents([e])}}dispose(){this.#r.dispose(),this.#o(),this.#e.drain()}requestRecovery(){this.#r.isReady&&(this.#o(),this.#e.drain(),this.#r.requestRecovery())}failConnection(e){this.resetForSnapshot(),this.#i.getState().setError(e),this.#i.getState().setConnectionState(`closed`)}setConnectionState(e){let t=e===`connected`&&!this.#r.isReady?`reconnecting`:e;this.#i.getState().setConnectionState(t),t===`connected`&&this.#i.getState().setError(null)}#o(){this.#a?.(),this.#a=void 0}#s(e){this.#o(),this.#i.getState().applyEvents(this.#e.flushThrough(e))}},oa=1e3,sa=3e4,ca=class{#e;#t=new Map;#n;#r;#i=!1;constructor(e,t,n){this.#e=t,this.#n=n,this.#r=e}cancel(e){let t=this.#t.get(e);t?.timer!==void 0&&clearTimeout(t.timer),this.#t.delete(e)}dispose(){this.#i=!0;for(let e of this.#t.keys())this.cancel(e)}request(e){if(this.#i||this.#t.has(e))return;let t={attempt:0,timer:void 0};this.#t.set(e,t),this.#a(e,t)}async#a(e,t){try{let n=await this.#e.unsubscribeTask(this.#r,e);if(this.#i||this.#t.get(e)!==t)return;if(n.status!==`busy`){this.#t.delete(e);return}let r=Math.min(oa*2**t.attempt,sa);t.attempt+=1,t.timer=setTimeout(()=>{t.timer=void 0,this.#a(e,t)},r)}catch(n){this.#t.get(e)===t&&(this.#t.delete(e),this.#n(n,e))}}},la=class{#e;#t;#n;#r;#i;#a;#o;#s=new Map;#c;#l=`closed`;#u=!1;#d;#f=Date.now();#p=0;#m;#h=!1;#g;constructor(e,t,n,r){this.#i=e,this.#t=t,this.#e=n,this.#r=r.idleTimeoutMs,this.#n=new Ki({maxBytes:r.maxEventHistoryBytes,maxEvents:r.maxEventHistoryEvents}),this.#a=new ra(async e=>this.#t.readTask(this.#i,e,{summary:!0}),(e,t)=>{this.#e.onSnapshot(t)}),this.#o=new ca(e,t,(t,n)=>{X(`task_unsubscribe_failed`,t,{projectId:e,taskId:n})})}attachTaskStore(e,t,n){this.#y(e);let r=t.getState();if(r.projectId!==this.#i||r.taskId!==e.snapshot.id)throw Error(`Task store identity does not match the Project Runtime snapshot`);return r.reconcile(e),this.#_(e.checkpoint,t,n,e)}resumeTaskStore(e,t){let{checkpoint:n,projectId:r,snapshotMetadata:i}=e.getState();if(!(this.#u||r!==this.#i||i===null||n===null||this.#l!==`connected`||this.#h||this.#g!==void 0||!this.#n.canReplay(n,this.#m,this.#p)))return this.#_(n,e,t)}#_(e,t,n,r){this.#o.cancel(t.getState().taskId),this.#k();let i=this.#s.get(t);i===void 0?(i=new aa(t,n,(e,n)=>{this.#w(e,t,n)}),this.#s.set(t,i)):i.addConsumer(n),i.resetForSnapshot(),i.setConnectionState(this.#l===`closed`?`connecting`:this.#l),r!==void 0&&this.observeSnapshot(r),this.#E(e,i);let a=!0;return()=>{if(!a)return;a=!1;let e=this.#s.get(t);e!==i||e.removeConsumer(n)>0||(e.dispose(),this.#s.delete(t),this.#o.request(t.getState().taskId),this.#k(),this.#T())}}dispose(){if(!this.#u){this.#u=!0,this.#x(),this.#a.dispose(),this.#o.dispose(),this.#O(),this.#g=void 0;for(let e of this.#s.values())e.dispose();this.#s.clear(),this.#b()}}forgetTask(e){this.#o.cancel(e),this.#a.forgetTask(e),this.#T()}markAccess(){this.#k(),this.#T()}observeSnapshot(e){this.#y(e),this.#a.markRecovered(e.snapshot.id),this.#h=!1,this.#k(),this.#S(e.checkpoint);for(let t of this.#s.values())this.#g===void 0?t.sessionId===e.checkpoint.sessionId?t.setConnectionState(this.#l):t.requestRecovery():t.failConnection(this.#g);this.#T()}reconcileTaskSnapshot(e){this.#y(e);let t=[];for(let[n,r]of this.#s)n.getState().taskId===e.snapshot.id&&(n.getState().reconcile(e),r.resetForSnapshot(),t.push(r));this.observeSnapshot(e);for(let n of t)n.setConnectionState(this.#l),this.#E(e.checkpoint,n)}#v(e){this.#n.append(e)}#y(e){if(e.snapshot.projectId!==this.#i)throw Error(`Snapshot Project does not match the Project Runtime`)}#b(){this.#n.reset()}#x(){this.#d!==void 0&&(clearTimeout(this.#d),this.#d=void 0)}#S(e){if(this.#u||this.#c!==void 0&&this.#m===e.sessionId)return;this.#O(),this.#g=void 0,this.#m=e.sessionId,this.#p=e.sequence,this.#n.reset(e.sequence);let t=this.#t.subscribeEvents({afterSequence:e.sequence,onConnectionState:e=>{this.#l=e,e===`reconnecting`&&(this.#h=!0);let t=e===`closed`&&this.#h?`reconnecting`:e;for(let e of this.#s.values())e.setConnectionState(t);e===`reconnecting`&&this.#D()},onError:e=>{if(X(`event_connection_failed`,e,{projectId:this.#i}),e instanceof ot&&(e.closeCode===1008||e.closeCode===1002)){this.#g=e,this.#h=!1,this.#a.cancelRecovery();for(let t of this.#s.values())t.failConnection(e)}},onEvent:e=>{this.#p=e.sequence,this.#v(e),this.#e.onActivityEvent(this.#i,e);for(let[t,n]of this.#s)t.getState().taskId===e.taskId&&n.apply(e);e.type===`turn.completed`&&!this.#C(e.taskId)&&this.#o.request(e.taskId),this.#T()},onResyncRequired:()=>{this.#h=!0,this.#O(),this.#l=`reconnecting`;for(let e of this.#s.values())e.setConnectionState(`reconnecting`);this.#D()},projectId:this.#i,sessionId:e.sessionId});this.#c=t}#C(e){for(let t of this.#s.keys())if(t.getState().taskId===e)return!0;return!1}#w(e,t,n){if(this.#s.get(t)!==n)return;this.#y(e);let r=t.getState();if(r.projectId!==this.#i||r.taskId!==e.snapshot.id)throw Error(`Task store identity does not match the recovered snapshot`);r.reconcile(e),n.resetForSnapshot(),this.#e.onSnapshot(e),this.#E(e.checkpoint,n)}#T(){if(this.#x(),this.#u||this.#c===void 0||this.#s.size>0||zi(this.#e.getTaskActivity(),this.#i))return;let e=this.#r-(Date.now()-this.#f);if(e<=0){this.dispose(),this.#e.onIdle(this);return}this.#d=setTimeout(()=>{this.#d=void 0,this.#T()},e)}#E(e,t){if(this.#g===void 0){if(!this.#n.canReplay(e,this.#m,this.#p)){t.requestRecovery();return}this.#n.forEachAfter(e.sequence,e=>{e.taskId===t.taskId&&t.apply(e)})}}#D(){if(this.#g!==void 0)return;let e=new Set;for(let t of this.#s.values())e.add(t.taskId),t.requestRecovery();let t=Bi(this.#e.getTaskActivity(),this.#i).filter(t=>!e.has(t));this.#a.requestRecovery(t)}#O(){let e=this.#c;this.#c=void 0;try{e?.()}catch(e){X(`event_connection_cleanup_failed`,e,{projectId:this.#i})}this.#l=`closed`}#k(){this.#f=Date.now(),this.#x()}},ua=class{#e=new Set;#t=new Map;onTaskActivityViewed;#n=new Set;#r;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Map;#h;#g=new Map;#_=new Map;#v=new Map;#y=new Set;#b;client;constructor(e,t={}){if(this.client=e,this.#r=t.idleTimeoutMs??12e4,this.#i=t.maxEventHistoryBytes??4194304,this.#a=t.maxEventHistoryEvents??2048,this.#o=t.onMcpServerStatusChanged??(()=>void 0),this.#s=t.onProjectGitActivity??(()=>void 0),this.#c=t.onProjectGitMetadataChanged??(()=>void 0),this.#l=t.onQueueChanged??(()=>void 0),this.#u=t.onSkillsChanged??(()=>void 0),this.#d=t.onTaskRemoved??(()=>void 0),this.#f=t.onTaskTitleChanged??(()=>void 0),this.#p=t.onTaskMetadataChanged??(()=>void 0),this.#h=t.taskNotifier??Di(),!Number.isSafeInteger(this.#r)||this.#r<0)throw RangeError(`Project Runtime idleTimeoutMs must be non-negative`);if(!Number.isSafeInteger(this.#i)||this.#i<0)throw RangeError(`Project Runtime maxEventHistoryBytes must be non-negative`);if(!Number.isSafeInteger(this.#a)||this.#a<0)throw RangeError(`Project Runtime maxEventHistoryEvents must be non-negative`)}attachTaskStore(e,t,n){return this.#T(e.snapshot),this.#w(e),this.#x(e.snapshot.projectId).attachTaskStore(e,t,n)}resumeTaskStore(e,t){return this.#m.get(e.getState().projectId)?.resumeTaskStore(e,t)}dispose(){for(let e of this.#m.values())e.dispose();this.#m.clear(),this.#n.clear(),this.#e.clear(),this.#_.clear(),this.#v.clear(),this.#y.clear()}forgetTask(e,t){this.#e.delete(Z(e,t)),this.#S(Vi(this.#g,e,t)),this.#_.delete(Z(e,t)),this.#v.delete(Z(e,t)),this.#m.get(e)?.forgetTask(t)}forgetProject(e){this.#m.get(e)?.dispose(),this.#m.delete(e);let t=this.#g;for(let n of this.#g.values())n.projectId===e&&(t=Vi(t,e,n.taskId));this.#S(t);let n=`${e}\u0000`;for(let e of this.#_.keys())e.startsWith(n)&&this.#_.delete(e);for(let e of this.#v.keys())e.startsWith(n)&&this.#v.delete(e);for(let e of this.#y)e.startsWith(n)&&this.#y.delete(e);this.#b?.projectId===e&&(this.#b=void 0)}reconcileTaskActivities(e,t){let n=Ue(this.#g,t,e,this.#e,(e,t)=>{let n=Z(e.projectId,e.taskId),r=this.#_.get(n);if(t!==void 0&&e.checkpoint!==void 0&&r?.sessionId===e.checkpoint.sessionId&&r.sequence>e.checkpoint.sequence)return t;e.checkpoint!==void 0&&this.#_.set(n,e.checkpoint),this.#T({id:e.taskId,projectId:e.projectId,title:e.taskName});let i=Fi(t===void 0?new Map:new Map([[n,t]]),e);e.version!==void 0&&this.#t.set(n,e.version);let a=this.#C(e.projectId,e.taskId);a&&e.version!==void 0&&(e.status===`completed`||e.status===`failed`)&&this.onTaskActivityViewed?.(e.projectId,e.taskId,e.version);let o=(a?Ri(i,e.projectId,e.taskId):i).get(n);if(o===void 0)throw Error(`Activity snapshot identity is missing`);return o});this.#S(n)}getTaskActivity(){return this.#g}markTaskRunning(e,t){this.#S(Pi(this.#g,e,t)),this.#s(e,t,`turn_started`),this.#m.get(e)?.markAccess()}observeSnapshot(e){this.#T(e.snapshot),this.#w(e),this.#x(e.snapshot.projectId).observeSnapshot(e)}requestNotificationPermission(){return this.#h.requestPermission().catch(e=>{X(`notification_permission_failed`,e)})}reconcileTaskSnapshot(e){this.#T(e.snapshot),this.#w(e),this.#x(e.snapshot.projectId).reconcileTaskSnapshot(e)}async refreshTaskSnapshot(e,t){let n=await this.client.readTask(e,t,{summary:!0});return this.reconcileTaskSnapshot(n),n}rememberTaskTitles(e){for(let t of e)this.#T(t)}viewTask(e,t){if(this.#b=t===void 0?void 0:{projectId:e,taskId:t},t!==void 0){let n=this.#t.get(Z(e,t));n!==void 0&&this.onTaskActivityViewed?.(e,t,n),this.#S(Ri(this.#g,e,t))}this.#m.get(e)?.markAccess()}subscribeTaskActivity(e){return this.#n.add(e),()=>{this.#n.delete(e)}}#x(e){let t=this.#m.get(e);return t===void 0?(t=new la(e,this.client,{getTaskActivity:()=>this.#g,onActivityEvent:(e,t)=>{if(t.type===`project.git_metadata_changed`){this.#c(e,t.payload.rootPath);return}if(t.type===`skills.changed`?this.#u(e):t.type===`queue.changed`?this.#l(e,t.taskId):t.type===`task.metadata_changed`?t.payload.title===void 0?t.payload.permissionMode===void 0&&this.#p(e,t.taskId,`native_notification`):(this.#T({projectId:e,id:t.taskId,title:t.payload.title}),this.#f(e,t.taskId,t.payload.title)):t.type===`task.removed`?(this.#d(e,t.taskId),this.forgetTask(e,t.taskId)):t.type===`mcp_server.status_updated`?this.#o(e,t.taskId):t.type===`turn.started`?this.#s(e,t.taskId,`turn_started`):t.type===`item.completed`&&t.payload.item.type===`file_change`&&t.payload.item.status===`completed`&&this.#s(e,t.taskId,`file_changed`),t.type===`message.delta`){let n=qi(e,t.taskId,t.turnId);if(!this.#y.has(n)){if(this.#y.add(n),this.#y.size>2048){let e=this.#y.values().next().value;e!==void 0&&this.#y.delete(e)}this.#p(e,t.taskId,`assistant_reply_started`)}}if(t.type===`turn.completed`){let n=qi(e,t.taskId,t.turnId);this.#y.delete(n),this.#s(e,t.taskId,`turn_completed`),this.#p(e,t.taskId,`turn_completed`)}try{this.#h.notify(e,t,this.#v.get(Z(e,t.taskId))??`Task`)}catch(n){X(`task_notification_failed`,n,{projectId:e,taskId:t.taskId})}j(t)&&Te().recordEvent(e,t,this.#v.get(Z(e,t.taskId))??t.taskId),t.type!==`task.removed`&&this.#_.set(Z(e,t.taskId),{sequence:t.sequence,sessionId:t.sessionId}),this.#S(Ui(this.#g,e,t,this.#C(e,t.taskId)))},onIdle:t=>{this.#m.get(e)===t&&this.#m.delete(e)},onSnapshot:e=>{this.observeSnapshot(e)}},{idleTimeoutMs:this.#r,maxEventHistoryBytes:this.#i,maxEventHistoryEvents:this.#a}),this.#m.set(e,t),t):t}#S(e){if(e!==this.#g){this.#g=e;for(let e of this.#n)e()}}#C(e,t){return this.#b?.projectId===e&&this.#b.taskId===t}#w(e){let{checkpoint:t,snapshot:n}=e,r=Z(n.projectId,n.id),i=this.#_.get(r);if(i?.sessionId===t.sessionId&&i.sequence>t.sequence)return;this.#_.set(r,t);let a=Li(this.#g,n.projectId,n.id).isRunning,o=n.status===`running`;o!==a&&this.#s(n.projectId,n.id,o?`turn_started`:`turn_completed`),this.#S(Hi(this.#g,n,this.#C(n.projectId,n.id)))}#T(e){let t=Z(e.projectId,e.id);if(this.#v.delete(t),this.#v.set(t,e.title),this.#v.size>2048){let e=this.#v.keys().next().value;e!==void 0&&this.#v.delete(e)}}};function da(e,t={}){return new ua(e,t)}var fa=`actionNotification`;function pa(e){let t=e.meta?.[fa];if(t===!1)return!1;if(typeof t!=`object`||!t||Array.isArray(t))return;let n=`error`in t&&typeof t.error==`boolean`?t.error:void 0,r=`successMessage`in t&&(typeof t.successMessage==`string`||t.successMessage===!1)?t.successMessage:void 0;return{...n===void 0?{}:{error:n},...r===void 0?{}:{successMessage:r}}}function ma(e){return Me(e)?q.t(`errors.taskDeletionBlockedByForks`,{ns:`common`}):e instanceof Error&&e.message.trim().length>0?e.message:typeof e==`string`&&e.trim().length>0?e:q.t(`app.actionFailed`,{ns:`common`})}function ha(e){z.error(ma(e))}function ga(e=q.t(`app.actionSucceeded`,{ns:`common`})){z.success(e)}function _a(){return new p({onError(e,t,n,r){let i=pa(r);i!==!1&&i?.error!==!1&&ha(e)},onSuccess(e,t,n,r){let i=pa(r);i!==!1&&i?.successMessage!==!1&&ga(i?.successMessage)}})}var va=1e4;function ya(){return typeof document>`u`||document.visibilityState===`visible`}var ba=class{#e;#t;#n;#r;#i=new Map;#a;#o;#s;#c;#l;#u=!1;constructor(e,t,n={}){this.#a=e,this.#e=t,this.#t=n.fileChangeDebounceMs??300,this.#n=n.isPageVisible??ya,this.#r=n.pollIntervalMs??3e5,this.#o=n.random??Math.random,this.#s=n.retryBaseMs??1e3,this.#c=n.retryMaxMs??3e4}dispose(){if(!this.#u){this.#u=!0,this.#l?.();for(let e of this.#i.values())this.#m(e);this.#i.clear()}}forgetProject(e){for(let[t,n]of this.#i)n.projectId===e&&(this.#m(n),this.#i.delete(t))}subscribeWindowFocus(e=typeof window>`u`?void 0:window){if(this.#l?.(),this.#u||e===void 0)return()=>void 0;let t=()=>{if(this.#n())for(let e of this.#i.values())e.observers.size>0&&this.refreshObservedProject(e.projectId,e.rootPath)};e.addEventListener(`focus`,t);let n=!0,r=()=>{n&&(n=!1,e.removeEventListener(`focus`,t))};return this.#l=r,r}observeProject(e,t,n){if(this.#u)return()=>void 0;let r=this.#_(e,t),i={worktree:n};return r.observers.add(i),this.#h(r),()=>{r.observers.delete(i),this.#h(r),this.#g(r)}}refreshObservedProject(e,t){if(this.#u)return;let n=this.#i.get(this.#v(e,t));if(n===void 0||n.observers.size===0)return;let r=this.#a.getQueryData([`projects`,e,t,`git-status`]);et(r)&&this.#b(n,`passive`)}handleActivity(e,t,n,r){if(this.#u)return;let i=this.#_(e,t);if(r===`turn_started`){let e=i.activeTaskIds.size===0,t=i.consecutiveFailures>0||i.retryTimer!==void 0;if(i.activeTaskIds.add(n),i.isGitProject===!1)return;e||t?(this.#p(i),this.#b(i)):this.#h(i);return}if(r===`file_changed`){if(i.activeTaskIds.add(n),this.#p(i),i.isGitProject===!1)return;this.#x(i);return}if(i.activeTaskIds.delete(n),this.#d(i),this.#p(i),i.activeTaskIds.size===0&&this.#f(i),i.isGitProject===!1){i.activeTaskIds.size===0&&i.observers.size===0&&this.#i.delete(this.#v(i.projectId,i.rootPath));return}this.#b(i)}handleGitMetadataChanged(e,t){if(this.#u)return;let n=this.#_(e,t);n.isGitProject!==!1&&(this.#p(n),this.#x(n))}async refreshProject(e,t){if(this.#u)return;let n=this.#_(e,t);this.#p(n),await this.#y(n,`manual`)}#d(e){e.fileChangeTimer!==void 0&&(clearTimeout(e.fileChangeTimer),e.fileChangeTimer=void 0)}#f(e){e.pollingTimer!==void 0&&(clearInterval(e.pollingTimer),e.pollingTimer=void 0),e.pollingIntervalMs=void 0}#p(e){e.retryTimer!==void 0&&(clearTimeout(e.retryTimer),e.retryTimer=void 0)}#m(e){e.closed=!0,e.refreshPending=void 0,this.#d(e),this.#f(e),this.#p(e)}#h(e){let t=[...e.observers].some(e=>e.worktree)?va:e.activeTaskIds.size>0?this.#r:void 0;if(e.closed||e.isGitProject!==!0||e.consecutiveFailures>0||t===void 0||e.retryTimer!==void 0){this.#f(e);return}e.pollingIntervalMs!==t&&(this.#f(e),e.pollingIntervalMs=t,e.pollingTimer=setInterval(()=>{this.#n()&&this.#b(e,`passive`)},t))}#g(e){let t=this.#v(e.projectId,e.rootPath);this.#i.get(t)===e&&e.activeTaskIds.size===0&&e.observers.size===0&&e.inFlight===void 0&&e.fileChangeTimer===void 0&&(this.#m(e),this.#i.delete(t))}#_(e,t){let n=this.#v(e,t),r=this.#i.get(n);if(r!==void 0)return r;let i=this.#a.getQueryData([`projects`,e,t,`git-status`]),a={activeTaskIds:new Set,closed:!1,consecutiveFailures:0,fileChangeTimer:void 0,inFlight:void 0,isGitProject:i===void 0?void 0:et(i),observers:new Set,pollingIntervalMs:void 0,pollingTimer:void 0,projectId:e,rootPath:t,refreshPending:void 0,retryTimer:void 0};return this.#i.set(n,a),a}#v(e,t){return`${e}\u0000${t}`}#y(e,t){if(e.closed||this.#u)return Promise.resolve();if(e.inFlight!==void 0)return t===`passive`||(e.refreshPending=t===`manual`||e.refreshPending===`manual`?`manual`:`background`),e.inFlight;let n=Kr(e.projectId,e.rootPath,this.#e),r=this.#a.fetchQuery({...n,retry:!1,staleTime:0}).then(t=>{e.consecutiveFailures=0,e.isGitProject=et(t),e.isGitProject||(this.#d(e),this.#f(e),this.#p(e))}).catch(t=>{throw e.consecutiveFailures+=1,this.#f(e),t}).finally(()=>{if(e.closed||this.#u)return;e.inFlight=void 0;let t=e.refreshPending;if(e.refreshPending=void 0,t!==void 0&&(t===`manual`||e.isGitProject!==!1)){this.#b(e,t);return}if(e.activeTaskIds.size>0||e.observers.size>0){e.consecutiveFailures>0?e.isGitProject!==!1&&this.#S(e):this.#h(e);return}this.#g(e)});return e.inFlight=r,r}#b(e,t=`background`){this.#y(e,t).catch(t=>{X(`git_status_poll_failed`,t,{projectId:e.projectId,rootPath:e.rootPath})})}#x(e){this.#d(e),e.fileChangeTimer=setTimeout(()=>{e.fileChangeTimer=void 0,this.#b(e)},this.#t)}#S(e){if(e.closed||e.isGitProject===!1||e.activeTaskIds.size===0&&![...e.observers].some(e=>e.worktree)||e.retryTimer!==void 0)return;let t=Math.min(this.#c,this.#s*2**Math.min(e.consecutiveFailures-1,30)),n=Math.min(this.#c,Math.round(t*(.8+this.#o()*.4)));e.retryTimer=setTimeout(()=>{e.retryTimer=void 0,this.#n()?this.#b(e):this.#S(e)},n)}};function xa(e,t){if(e!==void 0)return e.roots.find(n=>t?.projectId===e.id&&n.id===t.rootId)??e.roots[0]}function Sa(e,t){if(e===void 0)return;let n=t.get(e.id);return xa(e,n===void 0?void 0:{projectId:e.id,rootId:n})}function Ca(e){let t=t=>Sa(e.getProject(t),e.getSelectedRootIds());return{onProjectGitActivity(n,r,i){if(n===`temporary`)return;let a=e.getProject(n),o=e.getTaskWorkspacePath?.(n,r),s=o!==void 0&&!a?.roots.some(e=>e.path===o)?o:t(n)?.path;s!==void 0&&e.coordinator.handleActivity(n,s,r,i)},onProjectGitMetadataChanged(n,r){t(n)?.path===r&&e.coordinator.handleGitMetadataChanged(n,r)}}}var wa=[`scheduled-tasks`];async function Ta(e,t,n){let r=new Set(t?.data.flatMap(e=>e.runs.map(e=>e.taskId))),i=new Set(n.data.filter(e=>e.runs.some(e=>e.taskId!==null&&!r.has(e.taskId))).map(e=>e.projectId));i.size!==0&&await e.invalidateQueries({predicate:({queryKey:e})=>e[0]===`projects`&&typeof e[1]==`string`&&i.has(e[1])&&e[2]===`tasks`&&(e.length===3||e[3]===`pinned`||e[3]===`search-source`)})}function Ea(e,t){return v({queryKey:wa,queryFn:async({signal:n})=>{let r=t.getQueryData(wa),i=await e.listScheduledTasks({signal:n});return await Ta(t,r,i),i}})}function Da({client:e}){let t=x();return b(Ea(e,t)),(0,J.useEffect)(()=>{let n=!0,r=!1,i=!1,a=()=>n,o=async()=>{if(!i&&n){i=!0;try{for(;a()&&r;)r=!1,await t.invalidateQueries({queryKey:wa},{cancelRefetch:!1})}finally{i=!1}}},s=e.subscribeScheduledTasks(()=>{r=!0,queueMicrotask(()=>{o()})});return()=>{n=!1,s()}},[e,t]),null}var Q=i();function Oa({actions:e,activity:t,children:n,client:r,data:i,onRemoveTaskQuery:a,onUpdateTaskQuery:o,projects:s,rootSelection:c}){return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Da,{client:r}),(0,Q.jsx)(di,{client:r,onRemove:a,onUpdate:o,projectId:G}),s.map(e=>(0,Q.jsx)(di,{client:r,onRemove:a,onUpdate:o,projectId:e.id},e.id)),(0,Q.jsx)(si.Provider,{value:i,children:(0,Q.jsx)(ci.Provider,{value:e,children:(0,Q.jsx)(ui.Provider,{value:c,children:(0,Q.jsx)(li.Provider,{value:t,children:n})})})})]})}var ka=[];function Aa({children:e,client:t=Y,taskNotifier:n}){let r=x(),[i,a]=(0,J.useState)(()=>new Map),o=(0,J.useRef)(i);o.current=i;let s=(0,J.useCallback)((e,t)=>{a(n=>{if(n.get(e)===t)return n;let r=new Map(n);return r.set(e,t),r})},[]),c=(0,J.useMemo)(()=>new ba(r,t),[t,r]),l=(0,J.useMemo)(()=>{let e=new Map;return da(t,{...n===void 0?{}:{taskNotifier:n},...Ca({coordinator:c,getProject:e=>r.getQueryData([`projects`])?.data.find(t=>t.id===e),getSelectedRootIds:()=>o.current,getTaskWorkspacePath:(e,t)=>r.getQueryData([`projects`,e,`task-workspace-paths`,t])??r.getQueryData([`projects`,e,`tasks`])?.pages.flatMap(e=>e.data).find(e=>e.id===t)?.workspacePath}),onMcpServerStatusChanged(e,t){r.invalidateQueries({exact:!0,queryKey:[`projects`,e,`tasks`,t,`mcp-servers`]})},onQueueChanged(e,t){sr(r,e,t)},onSkillsChanged(e){r.invalidateQueries({exact:!0,queryKey:[`projects`,e,`skills`]})},onTaskRemoved(e,t){Cr(r,e,t),r.invalidateQueries({queryKey:tt}),r.removeQueries({exact:!0,queryKey:[`projects`,e,`tasks`,t]})},onTaskTitleChanged(e,t,n){fe(r,e,t,n),Lt(r,e)},onTaskMetadataChanged(n,i,a){let o=async()=>{(a===`turn_completed`||a===`native_notification`)&&await Promise.all([r.invalidateQueries({exact:!0,queryKey:[`projects`,n,`tasks`]}),r.invalidateQueries({exact:!0,queryKey:[`projects`,n,`tasks`,kn]}),r.invalidateQueries({exact:!0,queryKey:[`projects`,n,`tasks`,A]}),r.invalidateQueries({queryKey:tt})]),r.removeQueries({exact:!0,queryKey:[`projects`,n,`tasks`,i]});let e=await t.readTask(n,i,{summary:!0});l.reconcileTaskSnapshot(e),a===`turn_completed`&&e.snapshot.status===`idle`&&await lr(r,e.snapshot),_r(r,e.snapshot,{assistantReplyStarted:a===`assistant_reply_started`})},s=`${n}\u0000${i}`,c=(e.get(s)??Promise.resolve()).catch(()=>void 0).then(o);e.set(s,c);let u=()=>{e.get(s)===c&&e.delete(s)};c.then(u,u)}})},[t,c,r,n]),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(()=>new Map);bi(t,l);let[m,g]=(0,J.useState)(),[_,v]=(0,J.useState)(()=>new Set),y=(0,J.useSyncExternalStore)((0,J.useCallback)(e=>l.subscribeTaskActivity(e),[l]),(0,J.useCallback)(()=>l.getTaskActivity(),[l]),(0,J.useCallback)(()=>l.getTaskActivity(),[l])),S=b(Pr(t)),C=b(Wr(t)),{isPending:ee,mutateAsync:w}=h(Gr(t)),{isPending:T,mutateAsync:E}=h(Mr(t)),{isPending:D,mutateAsync:O}=h(Nr(t)),k=(0,J.useRef)(xi()),j=(0,J.useRef)(xi()),M=(0,J.useRef)(xi()),N=C.data?.data??ka,P=(0,J.useMemo)(()=>{let e=new Set(_);return m!==void 0&&e.add(m),e},[m,_]),F=(0,J.useMemo)(()=>N.filter(e=>P.has(e.id)),[N,P]),I=(0,J.useMemo)(()=>[G,...F.map(e=>e.id)],[F]),te=(0,J.useRef)(f);te.current=f;let L=(0,J.useCallback)((e,t)=>{l.rememberTaskTitles(t.tasks),p(n=>{let r=n.get(e);if(r?.tasks===t.tasks&&r.state.error===t.state.error&&r.state.hasNextPage===t.state.hasNextPage&&r.state.isFetchingNextPage===t.state.isFetchingNextPage&&r.state.isPending===t.state.isPending)return n;let i=new Map(n);return i.set(e,t),i})},[l]),ne=(0,J.useCallback)(e=>{p(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n})},[]),{projectTaskStates:re,tasks:ie}=(0,J.useMemo)(()=>fi(I,f),[f,I]),ae=(0,J.useCallback)(async e=>{await oi(new Map([...te.current].map(([e,t])=>[e,t.controller])),e)},[]),oe=C.isPending,R=(0,J.useCallback)((e,t)=>{l.markTaskRunning(e,t)},[l]),se=(0,J.useCallback)((e,t)=>{l.forgetTask(e,t)},[l]),z=(0,J.useCallback)((e,t)=>{g(t=>t===e?t:e),l.viewTask(e,t)},[l]),ce=(0,J.useCallback)(e=>{v(t=>t.size===e.size&&[...t].every(t=>e.has(t))?t:new Set(e))},[]),le=(0,J.useCallback)(()=>{l.requestNotificationPermission()},[l]),ue=(0,J.useCallback)(e=>k.current.run(async()=>{d(!0);try{let n=await t.addProject(e);return r.setQueryData([`projects`],n.projects),ga(),n.project}catch(e){ha(e);return}finally{d(!1)}}),[t,r]),de=(0,J.useCallback)(async e=>await M.current.run(async()=>{let t=r.getQueryData([`projects`]),n=Er(t,e);if(n===void 0)return ha(Error(q.t(`errors.reorderProjectChanged`,{ns:`conversation`}))),!1;r.setQueryData([`projects`],n);try{let t=await w(e);return r.setQueryData([`projects`],t),!0}catch{return r.setQueryData([`projects`],t),!1}})??!1,[w,r]),B=(0,J.useCallback)(async(e,t)=>await j.current.run(async()=>{try{let n=await E({name:t,projectId:e});return r.setQueryData([`projects`],n.projects),!0}catch{return!1}})??!1,[E,r]),pe=(0,J.useCallback)(e=>j.current.run(async()=>{try{let t=await O(e);await r.cancelQueries({queryKey:[`projects`,e]}),r.removeQueries({queryKey:[`projects`,e]}),c.forgetProject(e),l.forgetProject(e);let n=t.projects.data;return a(t=>{if(!t.has(e))return t;let n=new Map(t);return n.delete(e),n}),r.setQueryData([`projects`],t.projects),n}catch{return}}),[c,O,l,r]),V=(0,J.useCallback)(async(e,t)=>{try{await c.refreshProject(e,t),ga()}catch(e){ha(e)}},[c]),me=(0,J.useCallback)((e,t,n)=>c.observeProject(e,t,n),[c]),he=(0,J.useCallback)((e,t)=>{c.refreshObservedProject(e,t)},[c]);(0,J.useEffect)(()=>c.subscribeWindowFocus(),[c]);let ge=(0,J.useCallback)(async()=>{await r.invalidateQueries()},[r]);(0,J.useEffect)(()=>()=>{l.dispose(),c.dispose()},[c,l]);let _e=(0,J.useMemo)(()=>({capabilities:S.data,client:t,error:S.error??C.error,isPending:oe,projectTaskStates:re,projects:N,tasks:ie}),[S.data,S.error,t,oe,re,N,C.error,ie]),ve=(0,J.useMemo)(()=>({addProject:ue,fetchNextProjectTaskPage:ae,forgetTask:se,markTaskRunning:R,observeProjectGitStatus:me,projectRuntime:l,refreshProjectGitStatus:V,removeProject:pe,renameProject:B,reorderProjects:de,requestNotificationPermission:le,retry:ge,setExpandedProjectTaskIds:ce,syncProjectGitStatus:he,viewTask:z}),[ue,ae,se,R,me,l,V,pe,B,de,le,ge,ce,he,z]),H=(0,J.useMemo)(()=>({isProjectActionPending:T||D,isProjectOrderPending:ee,isProjectAddPending:u,taskActivity:y}),[u,ee,D,T,y]),ye=(0,J.useMemo)(()=>({selectedRootIds:i,setSelectedProjectRoot:s}),[i,s]);return(0,Q.jsx)(Oa,{actions:ve,activity:H,client:t,data:_e,onRemoveTaskQuery:ne,onUpdateTaskQuery:L,projects:F,rootSelection:ye,children:e})}function ja(){return t(()=>import(`./global-settings-page-YoE4BNgM.js`).then(e=>e.t),__vite__mapDeps([15,2,3,4,5,6,7,8,9,1,10,11,12,13,16,17,18,19,20,21]))}var Ma={error:null,loading:!0,pairing:!1},Na=class{#e;#t=new Set;#n;#r=0;#i=Ma;#a;constructor(e,t){this.#e=e,this.#n=t}getSnapshot=()=>this.#i;subscribe=e=>(this.#t.add(e),()=>this.#t.delete(e));start(){this.#a===void 0&&(this.#a=this.#e.subscribeUnauthorized(()=>{this.#r+=1,this.#o()}),this.load())}stop(){this.#r+=1,this.#a?.(),this.#a=void 0}async load(){let e=this.#r+=1;this.#s({...this.#i,error:null,loading:!0});try{let t=await this.#e.getAccessStatus();e===this.#r&&this.#s({error:null,loading:!1,pairing:!1,status:t})}catch{e===this.#r&&this.#s({...this.#i,error:`load`,loading:!1})}}async pair(e){this.#s({...this.#i,error:null,pairing:!0});try{let t=await this.#e.pairAccess(e);this.#s({error:null,loading:!1,pairing:!1,status:t}),ga()}catch(e){this.#s({...this.#i,error:null,pairing:!1}),ha(e)}}async logout(){try{let e=await this.#e.logoutAccess();this.#n.clear(),this.#s({error:null,loading:!1,pairing:!1,status:e}),ga()}catch(e){throw ha(e),e}}#o(){this.#n.clear(),this.#s({error:null,loading:!1,pairing:!1,status:{authenticated:!1,mode:`lan`,version:1}})}#s(e){this.#i=e;for(let e of this.#t)e()}},Pa=(0,J.createContext)(void 0);function Fa({children:e,client:t,queryClient:n}){let[r]=(0,J.useState)(()=>new Na(t,n)),i=(0,J.useSyncExternalStore)(r.subscribe,r.getSnapshot,r.getSnapshot);(0,J.useEffect)(()=>(r.start(),()=>{r.stop()}),[r]);let a=(0,J.useMemo)(()=>({...i,logout:()=>r.logout(),pair:e=>r.pair(e),retry:()=>{r.load()}}),[r,i]);return(0,Q.jsx)(Pa.Provider,{value:a,children:e})}function Ia(){let e=(0,J.useContext)(Pa);if(e===void 0)throw Error(`useAccess must be used inside AccessProvider`);return e}function La(){return(0,J.useContext)(Pa)?.status?.mode===`lan`}function Ra({onRetry:e}){let{t}=K(`common`);return(0,Q.jsx)(`section`,{className:`grid min-h-0 flex-1 place-items-center bg-content px-6 py-10 text-center`,"aria-labelledby":`runtime-unavailable-title`,children:(0,Q.jsxs)(`div`,{className:`max-w-md`,children:[(0,Q.jsx)(Xt,{className:`mx-auto size-8 text-danger`,"aria-hidden":`true`,strokeWidth:1.6}),(0,Q.jsx)(`h1`,{id:`runtime-unavailable-title`,className:`mt-4 text-xl font-semibold`,children:t(`errors.runtimeUnavailableTitle`)}),(0,Q.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-muted-foreground`,children:(0,Q.jsx)(ln,{components:{command:(0,Q.jsx)(`code`,{className:`font-mono text-foreground`})},i18nKey:`errors.runtimeUnavailableDescription`,ns:`common`})}),(0,Q.jsxs)(I,{className:`mx-auto mt-5`,onClick:e,size:`lg`,type:`button`,children:[(0,Q.jsx)(Sn,{className:`size-4`,"aria-hidden":`true`}),t(`actions.retry`)]})]})})}function za(e){return e.filter(e=>e.pinned)}function Ba(e,t){return t||e.length<=5?{hasMore:!1,tasks:e}:{hasMore:!0,tasks:e.slice(0,5)}}function Va(e){let t=Math.max(1,Math.floor((Date.now()-Date.parse(e))/6e4));if(t<60)return`${String(t)}m`;let n=Math.floor(t/60);return n<24?`${String(n)}h`:`${String(Math.floor(n/24))}d`}var Ha=C(it);function Ua(e,t){return e===`temporary`?{params:{taskId:t},to:`/temporary/t/$taskId`}:{params:{projectId:e,taskId:t},to:`/p/$projectId/t/$taskId`}}function Wa({task:e,active:t,projectName:n}){let{t:r}=K(`workbench`);return(0,Q.jsx)(Tt,{task:e,active:t,projectName:n,labels:{approval:r(`sidebar.taskApproval`),running:r(`sidebar.taskRunning`),completed:r(`sidebar.taskComplete`)},renderLink:t=>(0,Q.jsx)(Ha,{...t,...Ua(e.projectId,e.id)})})}function Ga({active:e,attention:t,isActionPending:n,isAwaitingApproval:r,isRunning:i,onArchive:a,onDelete:o,onPin:s,onRename:c,projectName:l,task:u}){let{t:d}=K(`workbench`),f=Je(),p={projectId:u.projectId,taskId:u.id};f!==null&&f.panes.length>0&&(e=f.activeKey===Wt(p));let m=Ua(u.projectId,u.id);return(0,Q.jsxs)(`div`,{className:`group relative min-w-0`,children:[(0,Q.jsxs)(Ha,{taskActive:e,className:`flex h-8 min-w-0 items-center gap-2 rounded-control px-2 text-body-small transition-colors ${e?`bg-control-active font-medium text-foreground`:`text-muted-foreground hover:bg-control-hover hover:text-foreground`}`,onClick:e=>{e.defaultPrevented||e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||f?.select(p)&&e.preventDefault()},...m,children:[(0,Q.jsx)(_t,{engine:be(u),projectName:l,title:u.title}),(0,Q.jsx)(qa,{attention:t,isAwaitingApproval:r,isRunning:i,updatedAt:u.updatedAt})]}),(0,Q.jsxs)(It,{modal:!1,children:[(0,Q.jsx)($e,{asChild:!0,children:(0,Q.jsx)(I,{variant:`ghost`,"aria-label":d(`sidebar.openTaskActions`,{task:u.title}),className:`task-actions absolute right-1 top-1 grid size-6 place-items-center rounded-control text-muted-foreground transition-colors hover:bg-control-hover hover:text-foreground focus-visible:opacity-100 focus-visible:shadow-focus`,disabled:n,type:`button`,children:(0,Q.jsx)(tn,{className:`size-4`,"aria-hidden":`true`})})}),(0,Q.jsx)(Ya,{isPending:n,onArchive:()=>{a(u)},onDelete:()=>{o(u)},onPin:()=>{s(u)},onRename:()=>{c(u)},task:u})]})]})}var Ka=`size-3.5 stroke-[2.25]`;function qa({attention:e,isAwaitingApproval:t,isRunning:n,updatedAt:r}){let{t:i}=K(`workbench`),a;return a=t||e===`approval`?{icon:(0,Q.jsx)(Zt,{"aria-hidden":`true`,className:Ka}),label:i(`sidebar.taskApproval`),tone:`text-task-waiting`}:n?{icon:(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`task-status-dot block size-2 rounded-full bg-current`}),label:i(`sidebar.taskRunning`),tone:`text-task-running`}:e===`completed`?{icon:(0,Q.jsx)(qt,{"aria-hidden":`true`,className:Ka}),label:i(`sidebar.taskComplete`),tone:`text-task-completed`}:e===`failed`?{icon:(0,Q.jsx)(rn,{"aria-hidden":`true`,className:Ka}),label:i(`sidebar.taskIncomplete`),tone:`text-task-failed`}:null,a===null?(0,Q.jsx)(`span`,{className:`task-age task-status ml-auto shrink-0 text-caption text-subtle-foreground`,children:Va(r)}):(0,Q.jsx)(`span`,{"aria-label":a.label,className:`task-status ml-auto inline-grid size-3.5 shrink-0 place-items-center ${a.tone}`,role:`status`,children:a.icon})}var Ja=`h-8 w-full text-left text-foreground`;function Ya({isPending:e,onArchive:t,onDelete:n,onPin:r,onRename:i,task:a}){let{t:o}=K(`workbench`),s=Je(),c={projectId:a.projectId,taskId:a.id},l=Oe(s,c);return(0,Q.jsxs)(bt,{align:`start`,"aria-label":o(`sidebar.taskActions`,{task:a.title}),"aria-labelledby":void 0,className:`w-40`,children:[l===null?null:(0,Q.jsxs)(W,{className:Ja,disabled:e||l!==`add`,onSelect:()=>s?.add(c),children:[(0,Q.jsx)(cn,{className:`size-3.5`,"aria-hidden":`true`}),o(`split.${l}`)]}),(0,Q.jsxs)(W,{className:Ja,disabled:e,onSelect:r,children:[(0,Q.jsx)(hn,{className:`size-3.5`,"aria-hidden":`true`}),a.pinned?o(`sidebar.unpin`):o(`sidebar.pin`)]}),(0,Q.jsxs)(W,{className:Ja,disabled:e,onSelect:i,children:[(0,Q.jsx)(mn,{className:`size-3.5`,"aria-hidden":`true`}),o(`sidebar.rename`)]}),(0,Q.jsxs)(W,{className:`${Ja} text-danger`,disabled:e,onSelect:t,children:[(0,Q.jsx)(wn,{className:`size-3.5`,"aria-hidden":`true`}),o(`sidebar.archive`)]}),(0,Q.jsxs)(W,{className:`${Ja} text-danger`,disabled:e,onSelect:n,children:[(0,Q.jsx)(bn,{className:`size-3.5`,"aria-hidden":`true`}),o(`sidebar.deletePermanently`)]})]})}var Xa=class{buffer;changed=!1;initialSummary;constructor(e){this.initialSummary=e,this.buffer=new Re(e??``)}get hasChanges(){return this.changed}append(e){this.buffer.append(e),this.changed=!0}read(){if(this.initialSummary!==void 0)return this.buffer.materialize()}getSnapshot(){return this.initialSummary===void 0?void 0:this.buffer.getSnapshot()}replace(e){this.buffer=new Re(e??``),this.changed=!1,this.initialSummary=e}},Za=`__CODEXLY_PENDING_COMMAND__`,Qa=`__CODEXLY_RETAINED_COMMAND_OUTPUT__`,$a=new TextEncoder().encode(Qa).byteLength;function eo(e){if(e.type!==`command`||e.output===`__CODEXLY_RETAINED_COMMAND_OUTPUT__`)return e;let t={...e};return delete t.output,t}function to(e){let t=eo(e),n=new Map,r=0,i=e.type===`command`?-1:0,a=t,o=new Xa(e.type===`reasoning`?e.summary:void 0),s,c=e.type===`reasoning`?e.summary.length:0,l=e.type===`command`?new Mt(e.output,e.outputOmitted):void 0,u=V(t)+(l?.getView().outputBytes??0),d=T()(()=>({revision:0}));function f(e){let r=n.get(e);if(r===void 0){let i=t.type===`reasoning`?t.content:t.type===`message`||t.type===`plan`?t.text:``;r=new Re(i),n.set(e,r)}return r}function p(e,t){e===`summary`?(o.append(t),c+=t.length):f(e).append(t),u+=Dt(t),r+=1}return Object.assign(d,{appendDelta(e){if(e.type===`message.delta`)return t.type!==`message`||t.role!==`assistant`?!1:(p(`text`,e.payload.delta),!0);if(e.type===`reasoning.delta`)return t.type===`reasoning`&&(e.payload.field===`summary`&&e.payload.sectionIndex!==void 0&&((s===void 0?e.payload.sectionIndex>0:e.payload.sectionIndex!==s)&&c>0&&p(`summary`,`
3
-
4
- `),s=e.payload.sectionIndex),p(e.payload.field,e.payload.delta),!0);if(e.type===`plan.delta`)return t.type===`plan`&&(p(`plan`,e.payload.delta),!0);if(t.type!==`command`)return!1;let n=l?.getView().outputBytes??0;return l?.append(e.payload.delta),u+=(l?.getView().outputBytes??0)-n,r+=1,!0},getRetainedBytes:()=>u,peek:()=>t,publish(){d.setState(e=>({revision:e.revision+1}))},read(){if(i===r)return a;let e=t;if(t.type===`message`){let r=n.get(`text`);r!==void 0&&(e={...t,text:r.materialize()})}else if(t.type===`reasoning`){let r=n.get(`content`);(r!==void 0||o.hasChanges)&&(e={...t,content:r===void 0?t.content:r.materialize(),summary:o.read()??t.summary})}else if(t.type===`command`){let n=l?.getView();n!==void 0&&(e={...t,...n.hasOutput?{output:n.materialize()}:{},outputOmitted:n.outputOmitted})}else if(t.type===`plan`){let r=n.get(`plan`);r!==void 0&&(e={...t,text:r.materialize()})}return a=e,i=r,a},readCommandOutput(){return l?.getView()},readReasoningSummary:()=>o.read(),readText(){if(t.type===`reasoning`)return o.getSnapshot();if(t.type===`plan`)return f(`plan`).getSnapshot();if(t.type===`message`)return f(`text`).getSnapshot()},replace(e){t=eo(e),n.clear(),o.replace(e.type===`reasoning`?e.summary:void 0),s=void 0,c=e.type===`reasoning`?e.summary.length:0,l=e.type===`command`?new Mt(e.output,e.outputOmitted):void 0,u=V(t)+(l?.getView().outputBytes??0),r+=1}})}function no(e,t){return e.itemStoresByKey.get(t)?.read()}function ro(e){let{pendingRequests:t,turns:n,turnsNextCursor:r,...i}=e.snapshot,a=[],o={},s={},c=new Map;for(let e of n){let{items:t,...n}=e;a.push(e.id),o[e.id]=n,s[e.id]=t.map(t=>U(e.id,t.id));for(let n of t){let t=U(e.id,n.id);c.set(t,to(n))}}let l={pendingRequestIds:[],pendingRequestsById:{}};for(let e of t)l=He(l,e);let{budget:u}=io({previousBudget:{commandOutputAccessByItemKey:new Map,commandOutputAccessSequence:0,commandOutputBytes:0,commandOutputBytesByItemKey:new Map},sourceItemStoresByKey:c,touchedItemKeys:[...c.keys()]}),d=V(e.checkpoint)+V(i)+V(r);for(let e of a){d+=V(o[e]);for(let t of s[e]??[])d+=c.get(t)?.getRetainedBytes()??0}for(let e of l.pendingRequestIds)d+=V(l.pendingRequestsById[e]);return{checkpoint:e.checkpoint,...u,itemKeysByTurnId:s,itemStoresByKey:c,itemStructureRevision:0,notices:[],...l,retainedBytes:d,snapshotMetadata:i,turnIds:a,turnsNextCursor:r,turnsById:o}}function io(e){let t=e.previousBudget.commandOutputAccessByItemKey,n=e.previousBudget.commandOutputBytesByItemKey,r=e.previousBudget.commandOutputAccessSequence,i=e.previousBudget.commandOutputBytes,a=new Map;for(let a of new Set(e.touchedItemKeys)){let o=n.get(a)??0,s=e.sourceItemStoresByKey.get(a)?.readCommandOutput();if(!s?.hasOutput){t.delete(a),n.delete(a),i-=o;continue}r+=1,t.set(a,r),n.set(a,s.outputBytes),i+=s.outputBytes-o}if(i<=8388608)return{budget:{commandOutputAccessByItemKey:t,commandOutputAccessSequence:r,commandOutputBytes:i,commandOutputBytesByItemKey:n},retainedBytesDeltaByItemKey:a};let o=[...t.keys()].toSorted((e,n)=>(t.get(e)??0)-(t.get(n)??0));for(let t of o){if(i<=8388608)break;let r=e.sourceItemStoresByKey.get(t),o=r?.peek();if(r===void 0||o?.type!==`command`)continue;let s=n.get(t)??0,c=r.getRetainedBytes(),l=r.readCommandOutput();r.replace({...o,output:Qa,outputOmitted:{bytes:(l?.outputOmitted.bytes??o.outputOmitted.bytes)+s,lines:(l?.outputOmitted.lines??o.outputOmitted.lines)+(l?.outputLines??0)}}),e.changedItemStores?.add(r),n.set(t,$a),i-=s-$a,a.set(t,r.getRetainedBytes()-c)}return{budget:{commandOutputAccessByItemKey:t,commandOutputAccessSequence:r,commandOutputBytes:i,commandOutputBytesByItemKey:n},retainedBytesDeltaByItemKey:a}}function ao(e,t){let n=Ie(e?.itemTimings,t.itemTimings);return n===void 0?t:{...t,itemTimings:n}}function oo(e,t){if(t.payload.item.type!==`command`&&t.payload.item.type!==`tool`&&t.payload.item.type!==`file_change`)return e;let n=Date.parse(t.timestamp);if(!Number.isFinite(n))return e;let r=e.itemTimings?.[t.itemId],i=t.type===`item.started`?{...r,startedAtMs:r?.startedAtMs??n}:{...r,completedAtMs:n};return{...e,itemTimings:{...e.itemTimings,[t.itemId]:i}}}function so(e){switch(e.type){case`message.delta`:return{id:e.itemId,role:`assistant`,text:``,type:`message`};case`reasoning.delta`:return{content:``,id:e.itemId,summary:``,type:`reasoning`};case`plan.delta`:return{id:e.itemId,text:``,type:`plan`};case`command.output_delta`:return{command:Za,cwd:``,id:e.itemId,output:``,outputOmitted:{bytes:0,lines:0},status:`running`,type:`command`};default:return}}function co(e,t,n,r){let i=e.itemKeysByTurnId[t]??[],a=new Set(n.map(e=>U(t,e.id)));for(let t of i)a.has(t)||e.itemStoresByKey.delete(t);for(let i of n){let n=U(t,i.id),a=e.itemStoresByKey.get(n);a===void 0?e.itemStoresByKey.set(n,to(i)):(a.replace(i),r.add(a))}return{itemKeysByTurnId:{...e.itemKeysByTurnId,[t]:[...a]}}}function lo(e,t,n){let r=(e.itemKeysByTurnId[t]??[]).flatMap(t=>{let n=no(e,t);return n===void 0?[]:[n]}),i=Et(r,n,t),a=new Set(i.map(e=>e.id)),o=new Map(n.map(e=>[e.id,e])),s=new Map,c=[];for(let e of n){if(!a.has(e.id)){c.push(e);continue}c.length>0&&(s.set(e.id,c),c=[])}return[...i.flatMap(e=>[...s.get(e.id)??[],o.get(e.id)??e]),...c]}function uo(e,t,n){let r=e.snapshotMetadata;if(r===null)return{};let i={sequence:t.sequence,sessionId:t.sessionId};switch(t.type){case`project.git_metadata_changed`:return{};case`turn.started`:{let{items:a,...o}=t.payload.turn;return{checkpoint:i,...co(e,t.turnId,a,n),snapshotMetadata:{...r,status:`running`,updatedAt:t.timestamp},itemStructureRevision:e.itemStructureRevision+1,turnIds:[...e.turnIds.filter(e=>e!==t.turnId),t.turnId],turnsById:{...e.turnsById,[t.turnId]:ao(e.turnsById[t.turnId],o)}}}case`message.delta`:case`plan.delta`:case`reasoning.delta`:case`command.output_delta`:{let a=e.turnsById[t.turnId];if(a===void 0)return{checkpoint:i,snapshotMetadata:{...r,updatedAt:t.timestamp}};let o=a.status===`running`&&a.error!==null?{...e.turnsById,[t.turnId]:{...a,error:null}}:e.turnsById,s=U(t.turnId,t.itemId),c=e.itemStoresByKey.get(s);if(c!==void 0)return c.appendDelta(t)&&n.add(c),{checkpoint:i,snapshotMetadata:{...r,updatedAt:t.timestamp},turnsById:o};let l=so(t);if(l===void 0)return{checkpoint:i};let u=to(l);return u.appendDelta(t),e.itemStoresByKey.set(s,u),n.add(u),{checkpoint:i,itemKeysByTurnId:{...e.itemKeysByTurnId,[t.turnId]:[...e.itemKeysByTurnId[t.turnId]??[],s]},itemStructureRevision:e.itemStructureRevision+1,snapshotMetadata:{...r,updatedAt:t.timestamp},turnsById:o}}case`tool.progress`:{let a=U(t.turnId,t.itemId),o=e.itemStoresByKey.get(a);if(o===void 0)return{checkpoint:i,snapshotMetadata:{...r,updatedAt:t.timestamp}};let s=o.read();return s.type===`tool`?(o.replace({...s,progress:t.payload.message}),n.add(o),{checkpoint:i,snapshotMetadata:{...r,updatedAt:t.timestamp}}):{checkpoint:i}}case`file_change.updated`:{let a=U(t.turnId,t.itemId),o=e.itemStoresByKey.get(a);if(o!==void 0){let e=o.read();return e.type===`file_change`?(o.replace({...e,changes:t.payload.changes,status:`running`}),n.add(o),{checkpoint:i,snapshotMetadata:{...r,updatedAt:t.timestamp}}):{checkpoint:i}}if(e.turnsById[t.turnId]===void 0)return{checkpoint:i};let s=to({changes:t.payload.changes,id:t.itemId,status:`running`,type:`file_change`});return e.itemStoresByKey.set(a,s),n.add(s),{checkpoint:i,itemKeysByTurnId:{...e.itemKeysByTurnId,[t.turnId]:[...e.itemKeysByTurnId[t.turnId]??[],a]},itemStructureRevision:e.itemStructureRevision+1,snapshotMetadata:{...r,updatedAt:t.timestamp}}}case`task.notice`:{if(t.payload.code===`guardian_warning`)return{checkpoint:i,snapshotMetadata:{...r,updatedAt:t.timestamp}};let n=[...e.notices,t],a=n.filter(e=>e.payload.code!==`runtime_warning`),o=new Set(a.slice(0,-20));return{checkpoint:i,notices:n.filter(e=>!o.has(e)),snapshotMetadata:{...r,updatedAt:t.timestamp}}}case`mcp_server.status_updated`:return{checkpoint:i};case`goal.updated`:return{checkpoint:i,snapshotMetadata:{...r,goal:t.payload.goal,updatedAt:t.timestamp}};case`goal.cleared`:return{checkpoint:i,snapshotMetadata:{...r,goal:null,updatedAt:t.timestamp}};case`queue.changed`:return{checkpoint:i};case`task.status_updated`:return{checkpoint:i,snapshotMetadata:{...r,status:t.payload.status,updatedAt:t.timestamp}};case`task.metadata_changed`:return{checkpoint:i,snapshotMetadata:{...r,...t.payload.title===void 0?{}:{title:t.payload.title},...t.payload.permissionMode===void 0?{}:{threadConfiguration:{model:r.threadConfiguration?.model??null,reasoningEffort:r.threadConfiguration?.reasoningEffort??null,permissionMode:t.payload.permissionMode}}}};case`skills.changed`:case`task.removed`:return{checkpoint:i};case`item.started`:case`item.completed`:{let a=e.turnsById[t.turnId];if(a===void 0)return{checkpoint:i,snapshotMetadata:{...r,updatedAt:t.timestamp}};let o=U(t.turnId,t.itemId),s=e.itemStoresByKey.get(o),c=pe(e,t.turnId,t.payload.item),l=c.includes(o),u=`submitted-user-${t.turnId}`,d=U(t.turnId,u),f=t.payload.item.type===`message`&&t.payload.item.role===`user`&&c.includes(d),p=f?c.filter(e=>e!==d).concat(l?[]:o):l?c:[...c,o];f&&e.itemStoresByKey.delete(d),s===void 0?e.itemStoresByKey.set(o,to(t.payload.item)):(s.replace(t.payload.item),n.add(s));let m=oo(a,t);return{checkpoint:i,itemKeysByTurnId:p===e.itemKeysByTurnId[t.turnId]?e.itemKeysByTurnId:{...e.itemKeysByTurnId,[t.turnId]:p},itemStructureRevision:e.itemStructureRevision+1,snapshotMetadata:{...r,updatedAt:t.timestamp},...m===a?{}:{turnsById:{...e.turnsById,[t.turnId]:m}}}}case`turn.completed`:{let a=e.turnsById[t.turnId],o=a?.status===`failed`?a.error:null,s=t.payload.turn.error===null&&o!==null?{...t.payload.turn,error:o}:t.payload.turn,{items:c,...l}=s,u=lo(e,t.turnId,c);return{checkpoint:i,...a===void 0?{}:co(e,t.turnId,u,n),notices:e.notices.filter(e=>e.payload.code===`runtime_warning`),snapshotMetadata:{...r,status:s.status===`failed`?`failed`:`idle`,updatedAt:t.timestamp},itemStructureRevision:e.itemStructureRevision+1,turnsById:a===void 0?e.turnsById:{...e.turnsById,[t.turnId]:ao(a,{...a,...l})}}}case`plan.updated`:return{checkpoint:i,snapshotMetadata:{...r,plan:t.payload.plan,updatedAt:t.timestamp}};case`usage.updated`:return{checkpoint:i,snapshotMetadata:{...r,contextUsage:t.payload.usage,updatedAt:t.timestamp}};case`provider.error`:{let n=e.turnsById[t.turnId],a=n===void 0?e.turnsById:{...e.turnsById,[t.turnId]:{...n,error:t.payload.message,status:t.payload.willRetry?n.status:`failed`}};return{checkpoint:i,snapshotMetadata:t.payload.willRetry?r:{...r,status:`failed`,updatedAt:t.timestamp},turnsById:a}}case`pending_request.created`:case`pending_request.resolved`:case`pending_request.expired`:{let n=t.payload.request;return{checkpoint:i,...He(e,n),snapshotMetadata:{...r,updatedAt:t.timestamp}}}}}function fo(e){if(e.snapshotMetadata!==null)return{...e.snapshotMetadata,pendingRequests:e.pendingRequestIds.flatMap(t=>{let n=e.pendingRequestsById[t];return n?.status===`pending`?[n]:[]}),turnsNextCursor:e.turnsNextCursor,turns:e.turnIds.flatMap(t=>{let n=e.turnsById[t];if(n===void 0)return[];let r=(e.itemKeysByTurnId[t]??[]).flatMap(t=>{let n=no(e,t);return n===void 0?[]:[n]});return[{...n,items:r}]})}}function po(e,t){return oe(e.checkpoint,()=>fo(e),t)}function mo(e,t){let n=t===void 0?{checkpoint:null,commandOutputAccessByItemKey:new Map,commandOutputAccessSequence:0,commandOutputBytesByItemKey:new Map,commandOutputBytes:0,itemKeysByTurnId:{},itemStoresByKey:new Map,itemStructureRevision:0,notices:[],pendingRequestIds:[],pendingRequestsById:{},retainedBytes:0,snapshotMetadata:null,turnIds:[],turnsNextCursor:null,turnsById:{}}:ro(t);if(t!==void 0&&(t.snapshot.projectId!==e.projectId||t.snapshot.id!==e.taskId))throw Error(`Task store identity does not match the initial snapshot`);return T()((t,r)=>({...n,applyEvents(e){if(e.length===0)return;let n=new Set;t(t=>{let r=t;for(let t of e){if(!Be(r.taskId,r.checkpoint,t))continue;let e=r,i=go(e,t),a=vo(e,t);r={...r,...uo(r,t,n)};let o=we(e,r,t),s=new Map;if(o!==void 0){let t=io({previousBudget:e,changedItemStores:n,sourceItemStoresByKey:r.itemStoresByKey,touchedItemKeys:o});({retainedBytesDeltaByItemKey:s}=t),r={...r,...t.budget}}let c=new Set([...a.keys(),..._o(r,t)]),l=yo(r,c)-bo(a),u=[...s].reduce((e,[t,n])=>e+(c.has(t)?0:n),0);r={...r,retainedBytes:r.retainedBytes+go(r,t)-i+l+u}}return r});for(let e of n)e.publish()},connectionState:`connecting`,error:null,hydrate(n){if(n.snapshot.projectId!==e.projectId||n.snapshot.id!==e.taskId)throw Error(`Task store identity does not match the snapshot`);t(e=>{let t=ro(n),r=e.checkpoint?.sessionId===n.checkpoint.sessionId?e.notices.filter(e=>e.payload.code===`runtime_warning`):[];return{...t,notices:r,retainedBytes:t.retainedBytes+r.reduce((e,t)=>e+V(t),0),itemStructureRevision:e.itemStructureRevision+1,connectionState:`connecting`,error:null}})},projectId:e.projectId,prependHistory(n){if(n.snapshot.projectId!==e.projectId||n.snapshot.id!==e.taskId)throw Error(`Task store identity does not match the history page`);let r=new Set;t(e=>ho(e,n,r));for(let e of r)e.publish()},reconcile(n){if(n.snapshot.projectId!==e.projectId||n.snapshot.id!==e.taskId)throw Error(`Task store identity does not match the snapshot`);t(e=>{let t=e.checkpoint;if(t!==null&&t.sessionId===n.checkpoint.sessionId&&t.sequence>n.checkpoint.sequence)return e;let r=ro(po(e,n)),i=t?.sessionId===n.checkpoint.sessionId?e.notices.filter(e=>e.payload.code===`runtime_warning`):[];return{...r,notices:i,retainedBytes:r.retainedBytes+i.reduce((e,t)=>e+V(t),0),itemStructureRevision:e.itemStructureRevision+1,connectionState:`connecting`,error:null}})},getItem:(e,t)=>r().itemStoresByKey.get(U(t,e))?.read(),getItemByKey:e=>r().itemStoresByKey.get(e)?.read(),reconstructSnapshot:()=>fo(r()),setConnectionState(e){t({connectionState:e})},setError(e){t({error:e})},setTaskSettings(e){t(t=>t.snapshotMetadata===null?t:{snapshotMetadata:{...t.snapshotMetadata,settings:e}})},taskId:e.taskId}))}function ho(e,t,n){let r=ro(t),{addedTurnIds:i,addedItemKeys:a,itemKeysByTurnId:o,turnsById:s}=je(e,r),c=new Map(e.itemStoresByKey);for(let e of a){let t=r.itemStoresByKey.get(e);t!==void 0&&c.set(e,t)}let{budget:l,retainedBytesDeltaByItemKey:u}=io({previousBudget:{commandOutputAccessByItemKey:new Map,commandOutputAccessSequence:0,commandOutputBytes:0,commandOutputBytesByItemKey:new Map},changedItemStores:n,sourceItemStoresByKey:c,touchedItemKeys:[...a,...e.itemStoresByKey.keys()]}),d=e.retainedBytes-V(e.turnsNextCursor)+V(t.snapshot.turnsNextCursor);for(let t of r.turnIds)d+=V(s[t])-V(e.turnsById[t]);for(let e of a)d+=c.get(e)?.getRetainedBytes()??0;for(let[e,t]of u)a.has(e)||(d+=t);return{...e,...l,checkpoint:e.checkpoint??t.checkpoint,itemKeysByTurnId:o,itemStoresByKey:c,itemStructureRevision:e.itemStructureRevision+1,retainedBytes:d,turnIds:[...i,...e.turnIds],turnsNextCursor:t.snapshot.turnsNextCursor,turnsById:s}}function go(e,t){let n=0;if((t.type===`turn.started`||t.type===`turn.completed`||t.type===`provider.error`)&&(n+=V(e.turnsById[t.turnId])),(t.type===`task.notice`||t.type===`turn.completed`)&&(n+=e.notices.reduce((e,t)=>e+V(t),0)),(t.type===`goal.updated`||t.type===`goal.cleared`||t.type===`plan.updated`||t.type===`provider.error`||t.type===`task.status_updated`||t.type===`task.metadata_changed`||t.type===`turn.started`||t.type===`turn.completed`||t.type===`usage.updated`)&&(n+=V(e.snapshotMetadata)),t.type===`pending_request.created`||t.type===`pending_request.resolved`||t.type===`pending_request.expired`)for(let t of e.pendingRequestIds)n+=V(e.pendingRequestsById[t]);return n}function _o(e,t){if(t.type===`turn.started`||t.type===`turn.completed`)return e.itemKeysByTurnId[t.turnId]??[];if(!(`itemId`in t)||!(`turnId`in t))return[];let n=[U(t.turnId,t.itemId)];if(t.type===`item.started`||t.type===`item.completed`){if(t.payload.item.type===`message`)for(let e of t.payload.item.identityAliases??[])n.push(U(t.turnId,e));let r=(e.itemKeysByTurnId[t.turnId]??[]).at(-1);r!==void 0&&n.push(r),n.push(U(t.turnId,`submitted-user-${t.turnId}`))}return n}function vo(e,t){return new Map(_o(e,t).map(t=>[t,e.itemStoresByKey.get(t)?.getRetainedBytes()??0]))}function yo(e,t){let n=0;for(let r of t)n+=e.itemStoresByKey.get(r)?.getRetainedBytes()??0;return n}function bo(e){let t=0;for(let n of e.values())t+=n;return t}function xo(e={}){return new de({...e,createStore:e.createStore??mo})}var So=xo({maxRetainedStores:20}),Co=mo({projectId:``,taskId:``});function wo(e,t,n){let r=x(),i=n.client,a=`${e}\u0000${t??``}`,[o,s]=(0,J.useState)({error:null,isPending:t!==void 0,scope:a}),[c,l]=(0,J.useState)(),[u,d]=(0,J.useState)(!1),[f,p]=(0,J.useState)(null),m=(0,J.useRef)(null),h=c??Co,g=D(h,e=>e.turnIds.findLast(t=>e.turnsById[t]?.status===`running`)),_=D(h,e=>e.connectionState),v=D(h,e=>e.error),y=D(h,O(Ce)),b=D(h,e=>e.itemStructureRevision),S=D(h,e=>e.turnsNextCursor);(0,J.useEffect)(()=>(m.current=null,d(!1),p(null),()=>{m.current=null}),[e,t]),(0,J.useEffect)(()=>{if(t===void 0){l(void 0);return}let n=So.acquire(e,t);return l(n),()=>{So.release(e,t)}},[e,t]),(0,J.useEffect)(()=>{if(c===void 0||t===void 0)return;let o=c.getState();if(o.projectId!==e||o.taskId!==t)return;let l=ri(e,t,i).queryKey;return s({error:null,isPending:!0,scope:a}),k({cachedResponse:To(r,l),read:n=>i.readTask(e,t,{signal:n,summary:!0}),resume:e=>{let t=n.resumeTaskStore(c,e);return t===void 0&&o.snapshotMetadata!==null&&o.setConnectionState(`reconnecting`),t},attach:(e,t)=>n.attachTaskStore(e,c,t),reconcile:e=>{n.reconcileTaskSnapshot(e)},onSnapshot:n=>{n.snapshot.workspacePath!==void 0&&r.setQueryData([`projects`,e,`task-workspace-paths`,t],n.snapshot.workspacePath),r.removeQueries({exact:!0,queryKey:l}),s({error:null,isPending:!1,scope:a})},onError:e=>{s({error:e instanceof Error?e:Error(String(e)),isPending:!1,scope:a})}})},[i,e,n,r,c,t,a]);let C=c===void 0?void 0:Do(c,e,t),ee=(0,J.useCallback)(async()=>{if(C===void 0||t===void 0||S===null||m.current!==null)return;let n={};m.current=n,d(!0),p(null);try{await se({getState:C.getState,isCurrent:()=>m.current===n,readPage:n=>i.readTask(e,t,{cursor:n,summary:!0}),prependPage:e=>{C.getState().prependHistory(e)}})}catch(e){m.current===n&&p(e instanceof Error?e:Error(String(e)))}finally{m.current===n&&(m.current=null,d(!1))}},[C,i,e,t,S]),w=C?.getState().snapshotMetadata!==null,T=o.scope===a?o.error:null,E=t!==void 0&&(o.scope!==a||o.isPending),A=C===void 0||!w?T:_===`closed`?v:null,j=(0,J.useCallback)(()=>C?.getState().reconstructSnapshot(),[C]),M=Oo({error:A,hasActiveRuntime:C!==void 0,hasHydratedSnapshot:w,snapshotPending:E});return(0,J.useMemo)(()=>({activeTurnId:g,connectionState:C===void 0?`connecting`:_,error:A,hasOlderHistory:S!==null,isLoadingOlderHistory:u,isPending:M,itemStructureRevision:b,loadOlderHistory:ee,metadata:y,olderHistoryError:f,readSnapshot:j,store:C}),[C,g,_,A,u,M,b,ee,y,f,j,S])}function To(e,t){let n=e.getQueryData(t);return n!==void 0&&e.removeQueries({exact:!0,queryKey:t}),n}function Eo(e,t){return So.remove(e,t)}function Do(e,t,n){let r=e?.getState();return n!==void 0&&r?.projectId===t&&r.taskId===n?e:void 0}function Oo(e){return e.error!==null||e.hasHydratedSnapshot?!1:e.snapshotPending||!e.hasActiveRuntime}var ko=8;function Ao(e,t,n,r){if(t===n||!e.includes(t))return e;let i=e.filter(e=>e!==t),a=i.indexOf(n);if(a===-1)return e;let o=r===`after`?a+1:a;return i.toSpliced(o,0,t)}function jo(e,t,n){let r=e.indexOf(t),i=r+n;return r===-1||i<0||i>=e.length?e:e.toSpliced(r,1).toSpliced(i,0,t)}function Mo(e,t){if(t===null)return e;let n=new Map(e.map(e=>[e.id,e])),r=t.flatMap(e=>{let t=n.get(e);return t===void 0?[]:[t]}),i=new Set(r.map(e=>e.id));return[...r,...e.filter(e=>!i.has(e.id))]}function No({disabled:e=!1,onReorder:t,projects:n}){let{t:r}=K(`conversation`),[i,a]=(0,J.useState)(null),[o,s]=(0,J.useState)(``),[c,l]=(0,J.useState)(null),u=(0,J.useRef)(null),d=(0,J.useRef)(null),f=Mo(n,c),p=(0,J.useRef)(f);p.current=f;let m=e=>{let t=u.current;t!==null&&(t.removeGlobalListeners(),e&&t.element.hasPointerCapture(t.pointerId)&&t.element.releasePointerCapture(t.pointerId),u.current=null)};(0,J.useEffect)(()=>()=>{m(!1)},[]);let h=async(e,i)=>{let a=await t(e);if(l(null),a){let t=n.find(e=>e.id===i),a=e.indexOf(i)+1;s(r(`reorder.moved`,{name:t?.name??r(`reorder.projectFallback`),position:a}))}},g=(t,n)=>{if(e||t.button!==0)return;m(!0),t.currentTarget.setPointerCapture(t.pointerId);let r=t.currentTarget,i=e=>{v(e.pointerId)},a=e=>{y(e.pointerId)},o={activated:!1,element:r,pointerId:t.pointerId,projectId:n,projectIds:p.current.map(e=>e.id),removeGlobalListeners:()=>{window.removeEventListener(`pointercancel`,a),window.removeEventListener(`pointerup`,i)},startClientX:t.clientX,startClientY:t.clientY};u.current=o,window.addEventListener(`pointercancel`,a),window.addEventListener(`pointerup`,i)},_=e=>{let t=u.current;if(t?.pointerId!==e.pointerId)return;let n=Math.hypot(e.clientX-t.startClientX,e.clientY-t.startClientY);if(!t.activated){if(n<=ko)return;t.activated=!0,t.element.hasPointerCapture(t.pointerId)&&t.element.releasePointerCapture(t.pointerId),l(t.projectIds),a(t.projectId),s(r(`reorder.started`))}e.preventDefault();let i=document.elementFromPoint(e.clientX,e.clientY)?.closest(`[data-project-reorder-id]`)??null;if(i===null)return;let o=i.dataset.projectReorderId;if(o===void 0)return;let c=i.getBoundingClientRect(),d=e.clientY<c.top+c.height/2?`before`:`after`;t.projectIds=Ao(t.projectIds,t.projectId,o,d),l(t.projectIds)},v=e=>{let t=u.current;if(t?.pointerId!==e)return;let n=t.activated;m(!0),n&&(d.current=t.projectId,a(null),h(t.projectIds,t.projectId))},y=e=>{u.current?.pointerId===e&&(m(!1),a(null),l(null),s(r(`reorder.cancelled`)))},b=e=>{v(e.pointerId)},x=e=>{y(e.pointerId)},S=(e,t)=>{d.current===t&&(d.current=null,e.preventDefault(),e.stopPropagation())},C=(t,n)=>{if(e||!t.altKey||t.key!==`ArrowUp`&&t.key!==`ArrowDown`)return;t.preventDefault();let r=p.current.map(e=>e.id),i=jo(r,n,t.key===`ArrowUp`?-1:1);i!==r&&(l(i),h(i,n))};return{activeProjectId:i,announcement:o,getProjectReorderProps:e=>({"aria-keyshortcuts":`Alt+ArrowUp Alt+ArrowDown`,"data-project-reorder-id":e,onClickCapture:t=>{S(t,e)},onKeyDown:t=>{C(t,e)},onPointerCancel:x,onPointerDown:t=>{g(t,e)},onPointerMove:_,onPointerUp:b,title:r(`reorder.title`)}),orderedProjects:f}}function Po({actionLock:e,activeProjectId:t,activeTaskId:n}){let{client:r}=pi(),{forgetTask:i}=mi(),a=s(),o=Vt(),c=x(),[l,u]=(0,J.useState)(null),d=h(jr(r));return{closeTaskDeletion:()=>{d.isPending||u(null)},confirmTaskDeletion:()=>{let s=l;return s===null?Promise.resolve(void 0):e.run(async()=>{try{let e=await d.mutateAsync({projectId:s.projectId,taskId:s.id});u(null),wr(c,s.projectId,e.taskId,e.tasks),c.removeQueries({exact:!0,queryKey:[`projects`,s.projectId,`tasks`,s.id]}),i(s.projectId,s.id),Eo(s.projectId,s.id),!o?.dismiss({projectId:s.projectId,taskId:s.id})&&s.projectId===t&&s.id===n&&await(s.projectId===`temporary`?a({to:`/temporary`}):a({params:{projectId:s.projectId},to:`/p/$projectId`})),r.unsubscribeTask(s.projectId,s.id).catch(()=>void 0)}catch{}})},deletingTask:l,isDeletePending:d.isPending,requestTaskDeletion:u}}var Fo=`(max-width: 760px)`,Io=`(max-width: 1100px)`,Lo={default:288,maximum:400,minimum:220},Ro={default:320,minimum:320};function zo(e){return typeof window>`u`||!window.matchMedia(e).matches}function Bo(e,t){return Math.max(Ro.minimum,Math.floor((e-t)/2))}function Vo({inspectorInitiallyOpen:e=!0,sidebarInitiallyOpen:t=!0}={}){let n=ue(),[r,i]=(0,J.useState)(()=>t&&zo(`(max-width: 760px)`)),[a,o]=(0,J.useState)(()=>e&&zo(`(max-width: 1100px)`)),[s,c]=(0,J.useState)(Lo.default),[l,u]=(0,J.useState)(Ro.default),[d,f]=(0,J.useState)(()=>typeof window>`u`?1440:window.innerWidth),p=(0,J.useRef)(null),m=Bo(d,r?s:0);return(0,J.useLayoutEffect)(()=>{let e=p.current;if(e===null)return;let t=()=>{f(e.getBoundingClientRect().width)};t();let n=new ResizeObserver(t);return n.observe(e),()=>{n.disconnect()}},[]),(0,J.useLayoutEffect)(()=>{u(e=>Math.min(e,m))},[m]),{inspectorMaximumWidth:m,inspectorOpen:n?.open??a,inspectorWidth:l,setInspectorOpen:n?.setOpen??o,setInspectorWidth:u,setSidebarOpen:i,setSidebarWidth:c,sidebarOpen:r,sidebarWidth:s,workbenchShellRef:p}}function Ho(e,t){let n=m({select:e=>e.href}),r=(0,J.useRef)(n),i=(0,J.useCallback)(()=>{window.matchMedia(`(max-width: 760px)`).matches&&t()},[t]);return(0,J.useEffect)(()=>{r.current!==n&&i(),r.current=n},[n,i]),(0,J.useEffect)(()=>{let t=e.current,n=e=>{if(e.button!==0||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey)return;let t=e.target instanceof Element?e.target.closest(`a[href]`):null;t&&!t.hasAttribute(`target`)&&i()};return t?.addEventListener(`click`,n),()=>t?.removeEventListener(`click`,n)},[i,e]),i}var Uo=`codexly:project-sidebar:expanded-projects:v1`,Wo=`codexly:project-sidebar:temporary-tasks-expanded:v1`;function Go(){try{return typeof window>`u`?void 0:window.localStorage}catch{return}}function Ko(e){if(e===void 0)return null;try{let t=e.getItem(Uo);if(t===null)return null;let n=JSON.parse(t);return Qo(n)?new Set(n.expandedProjectIds):null}catch{return null}}function qo(e,t){if(e===void 0)return;let n={expandedProjectIds:[...t],version:1};try{e.setItem(Uo,JSON.stringify(n))}catch{}}function Jo(e){if(e===void 0)return!0;try{let t=e.getItem(Wo);if(t===null)return!0;let n=JSON.parse(t);return!$o(n)||n.expanded}catch{return!0}}function Yo(e,t){if(e===void 0)return;let n={expanded:t,version:1};try{e.setItem(Wo,JSON.stringify(n))}catch{}}function Xo(e,t){if(t===null){let t=e[0];return t===void 0?new Set:new Set([t])}return new Set(e.filter(e=>t.has(e)))}function Zo(e,t){let n=Xo(e,t);return e.find(e=>n.has(e))??e[0]}function Qo(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.version===1&&Array.isArray(t.expandedProjectIds)&&t.expandedProjectIds.every(e=>typeof e==`string`)}function $o(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.version===1&&typeof t.expanded==`boolean`}var es=new Set,ts=(0,J.createContext)({expandedPaths:es,onSelect:void 0,selectedPath:void 0,togglePath:()=>void 0});function ns({children:e,className:t=``,defaultExpanded:n=es,expanded:r,onExpandedChange:i,onSelect:a,selectedPath:o,...s}){let[c,l]=(0,J.useState)(()=>new Set(n)),u=r??c,d=(0,J.useCallback)(e=>{let t=new Set(u);t.has(e)?t.delete(e):t.add(e),r===void 0&&l(t),i?.(t)},[r,u,i]),f=(0,J.useMemo)(()=>({expandedPaths:u,onSelect:a,selectedPath:o,togglePath:d}),[u,a,o,d]);return(0,Q.jsx)(ts.Provider,{value:f,children:(0,Q.jsx)(`div`,{className:`w-full font-mono text-label text-foreground ${t}`,"data-ai-file-tree":``,role:`tree`,...s,children:e})})}function rs({className:e=``,...t}){return(0,Q.jsx)(`span`,{className:`shrink-0 ${e}`,...t})}function is({className:e=``,...t}){return(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate ${e}`,...t})}function as({children:e,className:t=``,name:n,path:r,selectionControl:i,trailing:a,...o}){let{expandedPaths:s,onSelect:c,selectedPath:l,togglePath:u}=(0,J.useContext)(ts),{t:d}=K(`conversation`),f=s.has(r),p=l===r,m=()=>{u(r),c?.(r)};return(0,Q.jsxs)(`div`,{"aria-expanded":f,"aria-selected":p,className:t,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`ArrowRight`&&!f||e.key===`ArrowLeft`&&f?(e.preventDefault(),u(r)):(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),m()))},role:`treeitem`,tabIndex:0,...o,children:[(0,Q.jsxs)(`div`,{className:`group/file-tree-node flex min-h-7 w-full items-center gap-1 rounded-control px-1.5 text-left transition-colors hover:bg-control-hover ${p?`bg-control`:``}`,children:[(0,Q.jsx)(I,{"aria-label":d(f?`agentComponents.folderCollapse`:`agentComponents.folderExpand`,{name:n}),className:`inline-grid size-5 shrink-0 place-items-center rounded-control text-muted-foreground hover:text-foreground focus-visible:shadow-focus focus-visible:outline-none`,onClick:()=>{u(r)},size:`embedded`,type:`button`,variant:`embedded`,children:(0,Q.jsx)(on,{"aria-hidden":`true`,className:`size-3.5 transition-transform ${f?`rotate-90`:``}`})}),i,(0,Q.jsxs)(I,{className:`flex min-w-0 flex-1 items-center gap-1.5 text-left focus-visible:outline-none`,contentAlign:`start`,onClick:m,size:`embedded`,type:`button`,variant:`embedded`,children:[(0,Q.jsx)(rs,{children:f?(0,Q.jsx)(Kt,{"aria-hidden":`true`,className:`size-3.5 text-brand`}):(0,Q.jsx)(Jt,{"aria-hidden":`true`,className:`size-3.5 text-brand`})}),(0,Q.jsx)(is,{title:n,children:n})]}),a]}),f?(0,Q.jsx)(`div`,{className:`ml-3 border-l border-separator pl-1`,role:`group`,children:e}):null]})}function os({children:e,className:t=``,icon:n,name:r,path:i,trailing:a,...o}){let{onSelect:s,selectedPath:c}=(0,J.useContext)(ts),l=c===i,u=()=>{s?.(i)};return(0,Q.jsxs)(`div`,{"aria-selected":l,className:`group/file-tree-node flex min-h-7 cursor-pointer items-center gap-1.5 rounded-control px-1.5 transition-colors hover:bg-control-hover focus-visible:shadow-focus focus-visible:outline-none ${l?`bg-control`:``} ${t}`,onClick:u,onKeyDown:e=>{e.target===e.currentTarget&&(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),u())},role:`treeitem`,tabIndex:0,...o,children:[e??(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(`span`,{"aria-hidden":`true`,className:`size-5 shrink-0`}),(0,Q.jsx)(rs,{children:n??(0,Q.jsx)(gn,{"aria-hidden":`true`,className:`size-3.5 text-muted-foreground`})}),(0,Q.jsx)(is,{title:ae(i),children:r})]}),a]})}function ss(e){e.stopPropagation()}function cs({className:e=``,...t}){return(0,Q.jsx)(`div`,{className:`ml-auto flex items-center gap-1 ${e}`,onClick:ss,onKeyDown:ss,role:`group`,...t})}function ls({draftPath:e,isPathValidated:t,requestedPath:n,selectedPaths:r,submittedPath:i,validatedPath:a}){return r.length>0?r.slice(0,1):!t||e!==void 0||i===void 0||n!==i||a===void 0?[]:[a]}function us(e,t){let n=t.toLowerCase();return e.find(e=>n.startsWith(e.path.toLowerCase()))}function ds({disabled:e,includeHidden:t,labels:n,listing:r,onNavigateParent:i,onNavigatePath:a,onNavigateRoot:o,onPathChange:s,onToggleHidden:c,path:l}){let u=r===void 0?void 0:us(r.roots,r.path)?.path,d=t?n.hideHidden:n.showHidden;return(0,Q.jsxs)(`div`,{className:`flex min-h-10 items-center gap-2 border-y border-separator bg-panel px-3 sm:px-4`,children:[r===void 0||r.roots.length<2?null:(0,Q.jsxs)(ft,{disabled:e,onValueChange:o,...u===void 0?{}:{value:u},children:[(0,Q.jsx)(xe,{"aria-label":n.filesystemRoot,className:`h-8 min-w-20 px-2 font-mono`,size:`sm`,children:(0,Q.jsx)(ie,{placeholder:n.filesystemRoot})}),(0,Q.jsx)(he,{position:`popper`,children:r.roots.map(e=>(0,Q.jsx)(_e,{value:e.path,children:ae(e.name)},e.path))})]}),(0,Q.jsxs)(L,{children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)(I,{"aria-label":n.parent,disabled:r?.parentPath===null||r===void 0||e,onClick:i,size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,Q.jsx)(nn,{"aria-hidden":`true`})})}),(0,Q.jsx)(H,{children:n.parent})]}),(0,Q.jsxs)(`form`,{className:`flex min-w-0 flex-1 items-center gap-1`,onSubmit:e=>{e.preventDefault(),a()},children:[(0,Q.jsx)(ce,{"aria-label":n.pathLabel,autoComplete:`off`,className:`h-8 min-w-0 px-2 font-mono text-caption max-workbench:h-11`,disabled:e,onChange:e=>{s(e.target.value)},placeholder:n.pathPlaceholder,spellCheck:!1,value:ae(l),variant:`compact`}),(0,Q.jsxs)(L,{children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)(I,{"aria-label":n.goToPath,disabled:l.trim().length===0||e,size:`icon-sm`,type:`submit`,variant:`ghost`,children:(0,Q.jsx)(Gt,{"aria-hidden":`true`})})}),(0,Q.jsx)(H,{children:n.goToPath})]})]}),(0,Q.jsxs)(L,{children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)(I,{"aria-label":d,"aria-pressed":t,disabled:e,onClick:c,size:`icon-sm`,type:`button`,variant:`ghost`,children:t?(0,Q.jsx)(en,{"aria-hidden":`true`}):(0,Q.jsx)($t,{"aria-hidden":`true`})})}),(0,Q.jsx)(H,{children:d})]})]})}function fs({singleSelection:e=!1,directoryStates:t,entries:n,expandedPaths:r,onRetry:i,onRootCheckedChange:a,selectedPaths:o,selectionDisabled:s=!1}){let{t:c}=K(`workbench`);return n.map(n=>{let l=t.get(n.path),u=r.has(n.path);return(0,Q.jsx)(as,{name:n.name,path:n.path,selectionControl:e?(0,Q.jsx)(B,{name:`project-parent-directory`,"aria-label":c(`projectPicker.selectRoot`,{name:n.name}),checked:o.has(n.path),disabled:s,onClick:e=>{e.stopPropagation()},onChange:()=>{a(n.path,!0)}}):(0,Q.jsx)(Fe,{"aria-label":c(`projectPicker.selectRoot`,{name:n.name}),checked:o.has(n.path),disabled:s,onCheckedChange:e=>{a(n.path,e===!0)}}),trailing:u&&l?.isFetching===!0?(0,Q.jsx)(an,{"aria-hidden":`true`,className:`size-3.5 animate-spin text-muted-foreground`}):void 0,children:u?l?.error!==null&&l?.error!==void 0?(0,Q.jsxs)(`div`,{className:`flex min-h-9 items-center justify-between gap-2 px-2 py-1`,children:[(0,Q.jsx)(`p`,{className:`min-w-0 text-caption text-danger`,role:`alert`,children:c(`projectPicker.loadBranchError`)}),(0,Q.jsxs)(I,{className:`shrink-0`,onClick:()=>{i(n.path)},size:`sm`,type:`button`,variant:`ghost`,children:[(0,Q.jsx)(pn,{"aria-hidden":`true`,"data-icon":`inline-start`}),c(`actions.retry`)]})]}):l?.data===void 0?(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-caption text-muted-foreground`,role:`status`,children:c(`projectPicker.loadingBranch`)}):l.data.entries.length===0?(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-caption text-muted-foreground`,children:c(`projectPicker.empty`)}):(0,Q.jsx)(fs,{singleSelection:e,directoryStates:t,entries:l.data.entries,expandedPaths:r,onRetry:i,onRootCheckedChange:a,selectedPaths:o,selectionDisabled:s}):null},n.path)})}function ps({singleSelection:e=!1,directoryStates:t,expandedPaths:n,listing:r,onExpandedChange:i,onRetry:a,onRootCheckedChange:o,selectedPaths:s,selectionDisabled:c=!1}){let{t:l}=K(`workbench`),u=(0,J.useMemo)(()=>new Map(t.map(e=>[e.path,e])),[t]);return(0,Q.jsx)(ns,{"aria-label":l(`projectPicker.treeLabel`),expanded:n,onExpandedChange:i,children:(0,Q.jsx)(fs,{singleSelection:e,directoryStates:u,entries:r.entries,expandedPaths:n,onRetry:a,onRootCheckedChange:o,selectedPaths:s,selectionDisabled:c})})}function ms({mode:e=`project`,initialPath:t,hostLabel:n,client:r,isAdding:i,onAdd:a,onClose:o}){let{t:s}=K(`workbench`),[c,l]=(0,J.useState)(t),[u,f]=(0,J.useState)(),[p,m]=(0,J.useState)(),[h,g]=(0,J.useState)(!1),[_,v]=(0,J.useState)(()=>new Set),[y,x]=(0,J.useState)([]),S=b({queryFn:({signal:e})=>r.listProjectDirectories(c,{includeHidden:h,signal:e}),queryKey:[`project-directories`,c??null,h],staleTime:3e4}),C=S.data,ee=ls({draftPath:u,isPathValidated:S.isSuccess,requestedPath:c,selectedPaths:y,submittedPath:p,validatedPath:C?.path}),w=e===`parent`?y.length?y:S.isSuccess&&u===void 0&&C?[C.path]:[]:ee,T=w.length>0,E=y.length===0&&w.length===1,D=(0,J.useMemo)(()=>new Set(y),[y]),O=e===`parent`||E?w[0]??``:y.map((e,t)=>t===0?s(`projectPicker.primaryRootSummary`,{path:e}):e).join(s(`projectPicker.rootSeparator`)),k=(0,J.useMemo)(()=>[..._],[_]),A=d({queries:k.map(e=>({queryFn:({signal:t})=>r.listProjectDirectories(e,{includeHidden:h,signal:t}),queryKey:[`project-directories`,e,h],staleTime:3e4}))}),j=k.map((e,t)=>{let n=A[t];return{...n?.data===void 0?{}:{data:n.data},error:n?.error??null,isFetching:n?.isFetching??!1,path:e}}),M=u??c??C?.path??``;return(0,Q.jsx)(me,{onOpenChange:e=>{!e&&!i&&o()},open:!0,children:(0,Q.jsxs)(Ee,{"aria-labelledby":`project-directory-picker-title`,className:`grid h-[min(84dvh,42rem)] max-w-2xl grid-rows-[auto_auto_minmax(0,1fr)_auto] gap-0 overflow-hidden p-0`,onEscapeKeyDown:e=>{i&&e.preventDefault()},onInteractOutside:e=>{i&&e.preventDefault()},children:[(0,Q.jsxs)(Ne,{className:`px-4 pb-3 pt-4 sm:px-5 sm:pt-5`,children:[(0,Q.jsx)(R,{id:`project-directory-picker-title`,children:s(e===`parent`?`newProject.selectParent`:`projectPicker.title`)}),n?(0,Q.jsx)(`p`,{className:`break-words text-caption text-muted-foreground [overflow-wrap:anywhere]`,children:n}):null,(0,Q.jsx)(Ht,{className:`sr-only`,children:s(`projectPicker.description`)})]}),(0,Q.jsx)(ds,{disabled:i,includeHidden:h,labels:{filesystemRoot:s(`projectPicker.filesystemRoot`),goToPath:s(`projectPicker.goToPath`),hideHidden:s(`projectPicker.hideHidden`),parent:s(`projectPicker.parent`),pathLabel:s(`projectPicker.pathLabel`),pathPlaceholder:s(`projectPicker.pathPlaceholder`),showHidden:s(`projectPicker.showHidden`)},listing:C,onNavigateParent:()=>{let e=C?.parentPath;e!=null&&(l(e),f(void 0),m(void 0),v(new Set),x([]))},onNavigatePath:()=>{let e=M.trim();e.length!==0&&(l(e),f(void 0),m(e),v(new Set),x([]))},onNavigateRoot:e=>{l(e),f(void 0),m(void 0),v(new Set),x([])},onPathChange:t=>{e===`parent`&&x([]),f(t),m(void 0)},onToggleHidden:()=>{g(e=>!e),x([])},path:M}),(0,Q.jsx)(`div`,{className:`min-h-0 overflow-y-auto px-3 py-2 sm:px-4`,children:S.isPending?(0,Q.jsxs)(`p`,{className:`flex min-h-32 items-center justify-center gap-2 text-body-small text-muted-foreground`,role:`status`,children:[(0,Q.jsx)(an,{"aria-hidden":`true`,className:`size-4 animate-spin`}),s(`projectPicker.loading`)]}):S.error===null?C===void 0?null:C.entries.length===0?(0,Q.jsx)(`p`,{className:`grid min-h-32 place-items-center text-body-small text-muted-foreground`,children:s(`projectPicker.empty`)}):(0,Q.jsx)(ps,{singleSelection:e===`parent`,directoryStates:j,expandedPaths:_,listing:C,onExpandedChange:v,onRetry:e=>{let t=k.indexOf(e);A[t]?.refetch()},onRootCheckedChange:(t,n)=>{m(void 0),x(r=>e===`parent`?n?[t]:[]:Pe(r,t,n))},selectedPaths:D,selectionDisabled:i}):(0,Q.jsxs)(`div`,{className:`flex min-h-32 flex-col items-center justify-center gap-3 text-center`,children:[(0,Q.jsx)(`p`,{className:`text-body-small text-danger`,role:`alert`,children:s(`projectPicker.loadError`)}),(0,Q.jsxs)(I,{onClick:()=>void S.refetch(),type:`button`,variant:`outline`,children:[(0,Q.jsx)(pn,{"aria-hidden":`true`,"data-icon":`inline-start`}),s(`actions.retry`)]})]})}),(0,Q.jsxs)(`div`,{className:`flex flex-col gap-3 border-t border-separator bg-raised px-4 py-3 sm:flex-row sm:items-center sm:px-5`,children:[(0,Q.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-1`,children:[(0,Q.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-x-3 gap-y-1`,children:[(0,Q.jsx)(`p`,{"aria-live":`polite`,className:`text-caption text-muted-foreground`,children:e===`parent`?s(`newProject.parent`):E?s(`projectPicker.directPathReady`):s(`projectPicker.selectedRoots`,{count:y.length})}),e===`parent`||E?null:(0,Q.jsx)(`p`,{className:`ml-auto text-right text-caption text-muted-foreground`,children:s(`projectPicker.primaryRootHint`)})]}),O.length===0?null:(0,Q.jsx)(`p`,{className:`min-w-0 break-words font-mono text-caption text-foreground [overflow-wrap:anywhere]`,children:O})]}),(0,Q.jsxs)(P,{className:`w-full flex-col-reverse sm:w-auto sm:flex-row`,children:[(0,Q.jsx)(I,{className:`h-10 w-full sm:h-8 sm:w-auto`,disabled:i,onClick:o,type:`button`,variant:`outline`,children:s(e===`parent`?`newProject.back`:`actions.cancel`)}),(0,Q.jsxs)(I,{className:`h-10 w-full sm:h-8 sm:w-auto`,disabled:!T||i,onClick:()=>{w.length>0&&a(w)},type:`button`,children:[i?(0,Q.jsx)(an,{"aria-hidden":`true`,className:`animate-spin`,"data-icon":`inline-start`}):(0,Q.jsx)(_n,{"aria-hidden":`true`,"data-icon":`inline-start`}),s(i?`projectPicker.adding`:e===`parent`?`newProject.useFolder`:`projectPicker.add`)]})]})]})]})})}function hs({client:e,onAdd:t,onClose:n}){let{t:r}=K(`workbench`),i=r(`newProject.host`,{host:typeof location>`u`?`Codexly`:location.host});return(0,Q.jsx)(ne,{client:e,labels:{title:r(`newProject.title`),parent:r(`newProject.parent`),name:r(`newProject.name`),path:r(`newProject.path`),choose:r(`newProject.choose`),cancel:r(`newProject.cancel`),create:r(`newProject.create`),creating:r(`newProject.creating`),invalidName:r(`newProject.invalidName`),loadError:r(`newProject.loadError`),createError:r(`newProject.createError`),addError:r(`newProject.addError`),existsDirectory:r(`newProject.existsDirectory`),existsFile:r(`newProject.existsFile`),addExisting:r(`newProject.addExisting`),retryAdd:r(`newProject.retryAdd`),retry:r(`newProject.retry`),loading:r(`newProject.loading`)},createRequestId:E,hostLabel:i,storageKey:`codexly:web:new-project-parent:v1`,validateName:ht,onAdd:t,onClose:n,renderDirectoryPicker:({initialPath:t,onSelect:n,onCancel:r})=>(0,Q.jsx)(ms,{client:e,initialPath:t,mode:`parent`,hostLabel:i,isAdding:!1,onAdd:e=>{e[0]&&n(e[0])},onClose:r})})}function gs({isPending:e,onClose:t,onRemove:n,project:r}){let{t:i}=K(`workbench`);return(0,Q.jsx)(me,{onOpenChange:n=>{!n&&!e&&t()},open:!0,children:(0,Q.jsxs)(Ee,{"aria-labelledby":`project-remove-title`,className:`max-w-96 p-4`,onEscapeKeyDown:t=>{e&&t.preventDefault()},onInteractOutside:t=>{e&&t.preventDefault()},children:[(0,Q.jsxs)(Ne,{children:[(0,Q.jsx)(R,{id:`project-remove-title`,children:i(`projectDialog.remove`)}),(0,Q.jsx)(Ht,{children:i(`projectDialog.removeDescription`,{name:r.name})})]}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(I,{className:`h-8 rounded-control px-3 text-body-small text-muted-foreground hover:bg-control-hover hover:text-foreground`,disabled:e,onClick:t,type:`button`,variant:`ghost`,children:i(`actions.cancel`)}),(0,Q.jsx)(I,{disabled:e,onClick:n,type:`button`,variant:`destructive`,children:i(`projectDialog.delete`)})]})]})})}function _s({initialName:e,isPending:t,onClose:n,onRename:r}){let{t:i}=K(`workbench`),[a,o]=(0,J.useState)(e),s=a.trim();return(0,Q.jsx)(me,{onOpenChange:e=>{!e&&!t&&n()},open:!0,children:(0,Q.jsx)(Ee,{"aria-labelledby":`project-rename-title`,className:`max-w-96 p-4`,onEscapeKeyDown:e=>{t&&e.preventDefault()},onInteractOutside:e=>{t&&e.preventDefault()},children:(0,Q.jsxs)(`form`,{className:`grid gap-4`,onSubmit:e=>{e.preventDefault(),s.length>0&&r(s)},children:[(0,Q.jsxs)(Ne,{children:[(0,Q.jsx)(R,{id:`project-rename-title`,children:i(`projectDialog.rename`)}),(0,Q.jsx)(Ht,{children:i(`projectDialog.renameDescription`)})]}),(0,Q.jsx)(ce,{"aria-label":i(`projectDialog.name`),autoFocus:!0,disabled:t,maxLength:200,onChange:e=>{o(e.currentTarget.value)},value:a}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(I,{disabled:t,onClick:n,type:`button`,variant:`ghost`,children:i(`actions.cancel`)}),(0,Q.jsx)(I,{disabled:t||s.length===0||s===e,type:`submit`,children:i(`actions.save`)})]})]})})})}function vs({initialTitle:e,isPending:t,onClose:n,onRename:r}){let{t:i}=K(`workbench`),[a,o]=(0,J.useState)(e);return(0,Q.jsx)(me,{onOpenChange:e=>{!e&&!t&&n()},open:!0,children:(0,Q.jsx)(Ee,{"aria-labelledby":`task-rename-title`,className:`max-w-96 p-4`,onEscapeKeyDown:e=>{t&&e.preventDefault()},onInteractOutside:e=>{t&&e.preventDefault()},children:(0,Q.jsxs)(`form`,{className:`grid gap-4`,onSubmit:e=>{e.preventDefault();let t=a.trim();t.length>0&&r(t)},children:[(0,Q.jsx)(Ne,{children:(0,Q.jsx)(R,{id:`task-rename-title`,children:i(`taskDialog.rename`)})}),(0,Q.jsx)(ce,{"aria-label":i(`taskDialog.name`),autoFocus:!0,disabled:t,maxLength:200,onChange:e=>{o(e.currentTarget.value)},value:a}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(I,{disabled:t,onClick:n,type:`button`,variant:`ghost`,children:i(`actions.cancel`)}),(0,Q.jsx)(I,{disabled:t||a.trim().length===0,type:`submit`,children:i(`actions.save`)})]})]})})})}function ys({client:e,isProjectActionPending:t,isProjectAddPending:n,isProjectPickerOpen:r,projectPickerMode:i,onAddProject:a,onCloseProjectDialog:o,onCloseProjectPicker:s,onCloseTaskRename:c,onRemoveProject:l,onRenameProject:u,onRenameTask:d,removingProject:f,renamingProject:p,renamingTask:m,taskRenamePending:h}){return(0,Q.jsxs)(Q.Fragment,{children:[m===null?null:(0,Q.jsx)(vs,{initialTitle:m.title,isPending:h,onClose:c,onRename:e=>{d(m,e)}},m.id),r&&i===`create`?(0,Q.jsx)(hs,{client:e,onAdd:a,onClose:s}):r?(0,Q.jsx)(ms,{client:e,isAdding:n,onAdd:a,onClose:s}):null,p===null?null:(0,Q.jsx)(_s,{initialName:p.name,isPending:t,onClose:()=>{o(p.id)},onRename:e=>{u(p,e)}},p.id),f===null?null:(0,Q.jsx)(gs,{isPending:t,onClose:()=>{o(f.id)},onRemove:()=>{l(f)},project:f},f.id)]})}function bs(){return t(()=>import(`./message-response-DHapkIAN.js`).then(e=>e.t),__vite__mapDeps([22,2,3,4,8,1,5,6,7,9,10,11,12,13,23,24,25,26,20,27]))}var xs=(0,J.lazy)(bs);function Ss({children:e=``,className:t=``,...n}){let r=(0,Q.jsx)(`div`,{className:`size-full whitespace-pre-wrap break-words ${t}`,children:(0,Q.jsx)(`p`,{children:e})});return(0,Q.jsx)(J.Suspense,{fallback:r,children:(0,Q.jsx)(xs,{className:t,...n,children:e})})}function Cs(e){let t=new Map;for(let n of e){let e=t.get(n.projectId);e===void 0?t.set(n.projectId,[n]):e.push(n)}return t}function ws({error:e,hasHiddenLoadedTasks:t,hasNextPage:n,isExpanded:r,isFetchingNextPage:i}){return r?n?{action:`load`,disabled:i,label:i?q.t(`sidebar.expandLoading`,{ns:`workbench`}):e===null?q.t(`sidebar.expand`,{ns:`workbench`}):q.t(`sidebar.expandRetry`,{ns:`workbench`})}:t?{action:`collapse`,disabled:!1,label:q.t(`sidebar.collapse`,{ns:`workbench`})}:null:n?{action:`expand-and-load`,disabled:!1,label:q.t(`sidebar.expand`,{ns:`workbench`})}:t?{action:`expand`,disabled:!1,label:q.t(`sidebar.expand`,{ns:`workbench`})}:null}function Ts({hasActiveTask:e,projectDataFailed:t,projectDataPending:n,taskConnectionState:r}){return e?r:t?`closed`:n?`connecting`:`connected`}function Es(e){switch(e){case`connected`:return{labelKey:`sidebar.connection.online`,toneClassName:`text-diff-added`};case`connecting`:return{labelKey:`sidebar.connection.connecting`,toneClassName:`text-warning`};case`reconnecting`:return{labelKey:`sidebar.connection.reconnecting`,toneClassName:`text-warning`};case`closed`:return{labelKey:`sidebar.connection.offline`,toneClassName:`text-danger`}}}var Ds=(0,J.lazy)(()=>t(()=>import(`./app-update-dialog-BVYanXEH.js`).then(e=>({default:e.AppUpdateDialog})),__vite__mapDeps([28,2,4,1,3,5,6,7,8,9,10,11,12,13,24])));function Os({disabled:e,onOpen:t}){let{t:n}=K(`workbench`);return(0,Q.jsxs)(It,{children:[(0,Q.jsxs)(L,{children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)($e,{asChild:!0,children:(0,Q.jsx)(I,{"aria-label":n(`sidebar.addProject`),disabled:e,size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,Q.jsx)(yn,{"aria-hidden":`true`,className:`size-3.5`})})})}),(0,Q.jsx)(H,{children:n(`sidebar.addProject`)})]}),(0,Q.jsxs)(bt,{align:`end`,children:[(0,Q.jsxs)(W,{onSelect:()=>{t(`existing`)},children:[(0,Q.jsx)(Kt,{"aria-hidden":`true`}),n(`newProject.existing`)]}),(0,Q.jsxs)(W,{onSelect:()=>{t(`create`)},children:[(0,Q.jsx)(_n,{"aria-hidden":`true`}),n(`newProject.title`)]})]})]})}function ks({isPending:e,onOpenArchived:t,onRemove:n,onRename:r,project:i}){let{t:a}=K(`workbench`);return(0,Q.jsx)(`div`,{className:`relative shrink-0`,children:(0,Q.jsxs)(It,{modal:!1,children:[(0,Q.jsx)($e,{asChild:!0,children:(0,Q.jsx)(I,{variant:`ghost`,"aria-label":a(`sidebar.openProjectActions`,{project:i.name}),className:`project-hover-action grid size-7 place-items-center rounded-control text-muted-foreground opacity-0 transition-[color,background-color,opacity] hover:bg-control-hover hover:text-foreground focus-visible:opacity-100 focus-visible:shadow-focus group-hover/project:opacity-100 data-[state=open]:opacity-100`,disabled:e,id:`project-actions-${i.id}`,type:`button`,children:(0,Q.jsx)(tn,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,Q.jsx)(js,{isPending:e,onOpenArchived:()=>{t(i)},onRemove:()=>{n(i)},onRename:()=>{r(i)},project:i})]})})}var As=`h-8 w-full text-left text-foreground`;function js({isPending:e,onOpenArchived:t,onRemove:n,onRename:r,project:i}){let{t:a}=K(`workbench`);return(0,Q.jsxs)(bt,{align:`start`,"aria-label":a(`sidebar.projectActions`,{project:i.name}),"aria-labelledby":void 0,className:`w-32`,children:[(0,Q.jsxs)(W,{className:As,disabled:e,onSelect:r,children:[(0,Q.jsx)(mn,{className:`size-3.5`,"aria-hidden":`true`}),a(`sidebar.rename`)]}),(0,Q.jsxs)(W,{className:As,disabled:e,onSelect:t,children:[(0,Q.jsx)(wn,{className:`size-3.5`,"aria-hidden":`true`}),a(`sidebar.archived`)]}),(0,Q.jsxs)(W,{className:`${As} text-danger`,disabled:e,onSelect:n,children:[(0,Q.jsx)(bn,{className:`size-3.5`,"aria-hidden":`true`}),a(`sidebar.remove`)]})]})}function Ms({appInfo:e,isUpdatePending:t,onUpdate:n,updatePercentage:r,connectionState:i,onOpen:a,onTaskNavigate:o}){let{t:s,i18n:c}=K(`workbench`),l=c.resolvedLanguage??`zh-CN`,{t:u}=K(`settings`),[d,f]=(0,J.useState)(null),p=s(Es(i).labelKey),m=e?.appVersion??`…`,h=e?.updateAvailable===!0;return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Ct,{labels:De(e=>s(`sidebarFooter.${e}`,{version:m})),locale:l,version:m,updateAvailable:h,onSettings:()=>{a(`appearance`)},onAbout:()=>{a(`about`)},onUpdate:()=>{e?.latestVersion&&f(e)},...o===void 0?{}:{onTaskNavigate:o},status:s(`sidebarFooter.connectionStatus`,{status:p})}),d?.latestVersion?(0,Q.jsx)(J.Suspense,{fallback:null,children:(0,Q.jsx)(Ds,{modal:!1,...t===void 0?{}:{isPending:t},...r===void 0?{}:{percentage:r},labels:{title:u(`about.releaseNotesTitle`,{version:d.latestVersion}),close:u(`actions.closeReleaseNotes`),update:u(`about.updateNow`),updating:u(`about.updating`),completed:u(`about.restartRequired`),failed:u(`errors.update`),progress:u(`about.updateProgress`)},onClose:()=>{f(null)},onUpdate:async()=>{let e=d.latestVersion;e!==null&&await n(e)},children:d.releaseNotes===null?(0,Q.jsx)(`p`,{className:`text-body-small text-muted-foreground`,children:u(`about.releaseNotesUnavailable`)}):(0,Q.jsx)(Ss,{className:`text-body-small`,mode:`static`,children:d.releaseNotes})})}):null]})}function Ns({expanded:e,onCreate:t,onOpenArchived:n,onToggle:r}){let{t:i}=K(`workbench`),a=i(`sidebar.temporaryTasks`),o=`touch-visible-action opacity-0 transition-[color,background-color,opacity] focus-visible:opacity-100 group-hover/temporary:opacity-100`;return(0,Q.jsxs)(`div`,{className:`group/temporary flex h-8 items-center gap-0.5 text-muted-foreground`,children:[(0,Q.jsxs)(I,{"aria-controls":`temporary-tasks-content`,"aria-expanded":e,className:`h-8 min-w-0 flex-1 gap-2 rounded-control px-2 text-body-small font-medium`,contentAlign:`start`,id:`temporary-tasks-title`,onClick:r,type:`button`,variant:`ghost`,children:[(0,Q.jsx)(un,{className:`size-4 shrink-0`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`truncate`,children:a})]}),(0,Q.jsxs)(L,{children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)(I,{"aria-label":i(`sidebar.archived`),className:o,id:`project-actions-${G}`,onClick:()=>{n({id:G,name:a})},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,Q.jsx)(wn,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,Q.jsx)(H,{children:i(`sidebar.archived`)})]}),(0,Q.jsxs)(L,{children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)(I,{"aria-label":i(`sidebar.newTask`),className:o,onClick:t,size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,Q.jsx)(yn,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,Q.jsx)(H,{children:i(`sidebar.newTask`)})]})]})}var Ps=(0,J.lazy)(()=>t(()=>import(`./project-sidebar-timeline-B9S9jfdA.js`).then(e=>({default:e.ProjectSidebarTimeline})),__vite__mapDeps([29,2,4,5,6,7,8,9,1,3,10,11,12,13]))),Fs=[];function Is({archiveTask:e,deleteTask:t,error:n,expandedProjects:r,expandedTaskProjects:i,fetchNextProjectTaskPage:a,getProjectReorderProps:o,hasTaskError:s,isPending:c,isProjectActionPending:l,isProjectAddPending:u,normalizedQuery:d,onOpenTemporaryDraft:f,onTaskNavigate:p,onOpenProjectDraft:m,onOpenArchived:h,onOpenProjectPicker:g,onRemoveProject:_,onRenameProject:v,orderedProjects:y,pinTask:b,pinnedTasks:x,projectId:S,projectOrderAnnouncement:C,projectTaskStates:ee,reorderingProjectId:w,setExpandedTaskProjects:T,setRenamingTask:E,taskActionPending:D,taskActivity:O,taskId:k,taskSearch:A,tasksByProjectId:j,toggleProject:N}){let{t:P}=K(`workbench`),[F]=(0,J.useState)(Go),[ne,re]=ke(F),[ie,ae]=(0,J.useState)(()=>Jo(F)),oe=(0,J.useMemo)(()=>new Map(y.map(e=>[e.id,e])),[y]),R=(0,J.useMemo)(()=>te(O,new Set([G,...oe.keys()])),[O,oe]),se=e=>e===`temporary`?P(`sidebar.temporaryTasks`):oe.get(e)?.name??e,z=(n,r=!1)=>{let i=Li(O,n.projectId,n.id);return(0,Q.jsx)(Ga,{active:n.projectId===S&&n.id===k,attention:i.attention,isActionPending:D,isAwaitingApproval:i.isAwaitingApproval,isRunning:i.isRunning,onArchive:t=>void e(t),onDelete:e=>void t(e),onPin:e=>void b(e),onRename:E,...r?{projectName:se(n.projectId)}:{},task:n},JSON.stringify([n.projectId,n.id]))},ce=(0,J.useMemo)(()=>st(O),[O]),le=j.get(`temporary`)??Fs,ue=ee.get(G),de=i.has(G),fe=Ba(le,de),B=ws({error:ue?.error??null,hasHiddenLoadedTasks:le.length>5,hasNextPage:d.length===0?ue?.hasNextPage??!1:!1,isExpanded:de,isFetchingNextPage:ue?.isFetchingNextPage??!1});return(0,Q.jsx)(Q.Fragment,{children:(0,Q.jsxs)(`div`,{className:`flex min-h-0 min-w-0 flex-col overflow-hidden px-2 pt-2`,children:[(0,Q.jsx)(at,{pinnedTasks:x,activeTasks:R.tasks,approvalCount:R.approvalCount,storage:F,mobileEnabled:!0,onNavigate:p,labels:{pinned:P(`sidebar.pinned`),active:P(`sidebar.runningGroup`),approval:e=>P(`sidebar.approvalCount`,{count:e}),showAll:e=>P(`sidebar.showAllTasks`,{count:e}),close:P(`sidebar.closeTaskList`)},renderPinned:e=>z(e,!0),renderActive:e=>(0,Q.jsx)(Wa,{task:e,active:e.projectId===S&&e.id===k,projectName:se(e.projectId)})}),(0,Q.jsxs)(`section`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,"aria-labelledby":`projects-title`,children:[(0,Q.jsx)(zt,{title:P(ne===`timeline`?`sidebar.timeline.title`:`sidebar.projects`),view:ne,onChange:re,labels:{timeline:P(`sidebar.timeline.showTimeline`),projects:P(`sidebar.timeline.showProjects`)},children:(0,Q.jsx)(Os,{disabled:u,onOpen:g})}),c?(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta text-subtle-foreground`,children:P(`sidebar.taskLoading`)}):null,A.isPending?(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta text-subtle-foreground`,children:P(`sidebar.searchAll`)}):null,n===null&&(ne===`timeline`||!s)?null:(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta leading-5 text-danger`,role:`alert`,children:P(`sidebar.errorLoadTasks`)}),A.error===null?null:(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta leading-5 text-danger`,role:`alert`,children:P(`sidebar.errorSearchTasks`)}),(0,Q.jsx)(`p`,{"aria-live":`polite`,className:`sr-only`,children:C}),ne===`timeline`?(0,Q.jsx)(J.Suspense,{fallback:(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta text-subtle-foreground`,children:P(`sidebar.taskLoading`)}),children:(0,Q.jsx)(Ps,{storage:F,renderTask:e=>z(e,!0),onNavigate:p})}):(0,Q.jsxs)(`div`,{className:`min-h-0 min-w-0 flex-1 overflow-x-hidden overflow-y-auto pb-3`,"data-testid":`project-tree-scroll`,children:[(0,Q.jsxs)(`section`,{className:`min-w-0`,"aria-labelledby":`temporary-tasks-title`,children:[(0,Q.jsx)(Ns,{expanded:ie,onCreate:f,onOpenArchived:h,onToggle:()=>{ae(e=>{let t=!e;return Yo(F,t),t})}}),ie?(0,Q.jsxs)(`div`,{className:`min-w-0 space-y-0.5 pl-5`,id:`temporary-tasks-content`,children:[fe.tasks.map(e=>z(e)),ue?.isPending===!0?(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta text-subtle-foreground`,children:P(`sidebar.taskLoading`)}):null,B===null?null:(0,Q.jsx)(I,{variant:`ghost`,"aria-expanded":de,className:`flex h-7 w-full items-center rounded-control px-2 text-left text-meta font-medium text-subtle-foreground transition-colors hover:bg-control-hover hover:text-foreground`,contentAlign:`start`,disabled:B.disabled,onClick:()=>{B.action===`expand`||B.action===`expand-and-load`?T(e=>new Set(e).add(G)):B.action===`collapse`&&T(e=>{let t=new Set(e);return t.delete(G),t}),(B.action===`expand-and-load`||B.action===`load`)&&a(G).catch(()=>void 0)},type:`button`,children:B.label}),le.length===0&&d.length===0&&ue?.isPending!==!0?(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta text-subtle-foreground`,children:P(`sidebar.noTemporaryTasks`)}):null,le.length===0&&d.length>0&&!A.isPending&&A.error===null?(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta text-subtle-foreground`,children:P(`sidebar.noMatchingTasks`)}):null]}):null]}),y.map(e=>{let t=j.get(e.id)??Fs,n=r.has(e.id),s=i.has(e.id),c=Ba(t,s),u=ee.get(e.id),f=ws({error:u?.error??null,hasHiddenLoadedTasks:t.length>5,hasNextPage:d.length===0?u?.hasNextPage??!1:!1,isExpanded:s,isFetchingNextPage:u?.isFetchingNextPage??!1});return(0,Q.jsxs)(`div`,{className:`min-w-0 transition-[opacity,transform] ${w===e.id?`relative z-10 opacity-80`:``}`,"data-project-reordering":w===e.id?`true`:`false`,children:[(0,Q.jsxs)(`div`,{className:`group/project relative flex min-w-0 items-center gap-0.5`,children:[(0,Q.jsxs)(I,{variant:`ghost`,"aria-expanded":n,"aria-label":P(`sidebar.toggleProject`,{project:e.name}),className:`flex h-8 min-w-0 flex-1 touch-pan-y select-none items-center gap-2 rounded-control px-2 text-body-small font-medium transition-colors hover:bg-control-hover hover:text-foreground ${w===e.id?`cursor-grabbing bg-control-active text-foreground shadow-sm`:`cursor-grab text-muted-foreground`}`,contentAlign:`start`,onClick:()=>{N(e.id)},type:`button`,...o(e.id),children:[(0,Q.jsx)(Jt,{className:`size-4 shrink-0`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`truncate`,children:e.name})]}),n?null:(0,Q.jsx)(gt,{hideOnMobile:!0,status:ce.get(e.id),labels:{completed:P(`sidebar.taskComplete`),approval:P(`sidebar.taskApproval`),running:P(`sidebar.taskRunning`)}}),(0,Q.jsx)(ks,{isPending:l,onOpenArchived:h,onRemove:e=>{_(e)},onRename:e=>{v(e)},project:e}),(0,Q.jsxs)(L,{children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)(I,{"aria-label":P(`sidebar.createInProject`,{project:e.name}),className:`project-hover-action opacity-0 transition-[color,background-color,opacity] focus-visible:opacity-100 group-hover/project:opacity-100`,onClick:()=>{m(e.id)},size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,Q.jsx)(yn,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,Q.jsx)(H,{children:P(`sidebar.createInProject`,{project:e.name})})]})]}),n?(0,Q.jsxs)(`div`,{className:`mt-0.5 min-w-0 space-y-0.5 pl-5`,children:[c.tasks.map(e=>z(e)),u?.isPending===!0?(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta text-subtle-foreground`,children:P(`sidebar.taskLoading`)}):null,f===null?null:(0,Q.jsx)(I,{variant:`ghost`,"aria-expanded":s,className:`flex h-7 w-full items-center rounded-control px-2 text-left text-meta font-medium text-subtle-foreground transition-colors hover:bg-control-hover hover:text-foreground`,contentAlign:`start`,disabled:f.disabled,onClick:()=>{f.action===`expand`||f.action===`expand-and-load`?T(t=>new Set(t).add(e.id)):f.action===`collapse`&&T(t=>{let n=new Set(t);return n.delete(e.id),n}),(f.action===`expand-and-load`||f.action===`load`)&&a(e.id).catch(()=>void 0)},type:`button`,children:f.label}),t.length===0&&d.length===0&&u?.isPending!==!0?(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta text-subtle-foreground`,children:P(`sidebar.noTasks`)}):null,t.length===0&&d.length>0&&!A.isPending&&A.error===null?(0,Q.jsx)(`p`,{className:`px-2 py-1.5 text-meta text-subtle-foreground`,children:P(`sidebar.noMatchingTasks`)}):null]}):null]},e.id)})]})]})]})})}function Ls({confirmLabel:e,description:t,isPending:n,onClose:r,onConfirm:i,title:a}){let{t:o}=K(`workbench`);return(0,Q.jsx)(me,{onOpenChange:e=>{!e&&!n&&r()},open:!0,children:(0,Q.jsxs)(Ee,{"aria-labelledby":`task-delete-confirmation-title`,className:`max-w-96 p-4`,onEscapeKeyDown:e=>{n&&e.preventDefault()},onInteractOutside:e=>{n&&e.preventDefault()},children:[(0,Q.jsxs)(Ne,{children:[(0,Q.jsx)(R,{id:`task-delete-confirmation-title`,children:a}),(0,Q.jsx)(Ht,{children:t})]}),(0,Q.jsxs)(P,{children:[(0,Q.jsx)(I,{disabled:n,onClick:r,type:`button`,variant:`ghost`,children:o(`actions.cancel`)}),(0,Q.jsx)(I,{disabled:n,onClick:i,type:`button`,variant:`destructive`,children:e})]})]})})}function Rs({isPending:e,onClose:t,onDelete:n,task:r}){let{t:i}=K(`workbench`);return(0,Q.jsx)(Ls,{confirmLabel:i(`sidebar.deletePermanently`),description:i(`sidebar.deleteTaskDescription`,{task:r.title}),isPending:e,onClose:t,onConfirm:n,title:i(`sidebar.deleteTaskTitle`)})}function zs({projectId:e}){let{t}=K(`workbench`),n=(0,Q.jsx)(Qt,{"aria-hidden":`true`,className:`size-3.5`});return(0,Q.jsx)(rt,{label:t(`scheduledTasks.title`),children:e!==void 0&&e!==`temporary`?(0,Q.jsx)(a,{params:{projectId:e},to:`/p/$projectId/scheduled`,children:n}):(0,Q.jsx)(a,{to:`/temporary/scheduled`,children:n})})}function Bs({className:e,iconClassName:t,projectId:n}){let{t:r}=K(`workbench`),i=(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(Yt,{"aria-hidden":`true`,className:t}),r(`taskBoard.title`)]}),o={className:`${e} bg-control-active`};return n!==void 0&&n!==`temporary`?(0,Q.jsx)(a,{activeProps:o,className:e,params:{projectId:n},to:`/p/$projectId/board`,children:i}):(0,Q.jsx)(a,{activeProps:o,className:e,to:`/temporary/board`,children:i})}function Vs({projectId:e}){let{t}=K(`workbench`),n=(0,Q.jsx)(sn,{"aria-hidden":`true`,className:`size-3.5`});return(0,Q.jsx)(rt,{label:t(`skillsMarket.title`),children:e!==void 0&&e!==`temporary`?(0,Q.jsx)(a,{activeOptions:{includeSearch:!1},params:{projectId:e,section:`skills`},to:`/p/$projectId/extensions/$section`,children:n}):(0,Q.jsx)(a,{params:{section:`skills`},to:`/temporary/extensions/$section`,children:n})})}function Hs({children:e,onClose:t,onSearch:n}){let{t:r}=K(`workbench`);return(0,Q.jsxs)(`div`,{className:`flex h-workbench-header items-center gap-1.5 px-3`,children:[(0,Q.jsx)(Us,{}),e,(0,Q.jsxs)(L,{children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)(I,{"aria-keyshortcuts":`Meta+F Control+F`,"aria-label":r(`globalSearch.title`),onClick:n,size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,Q.jsx)(Tn,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,Q.jsx)(H,{children:r(`globalSearch.title`)})]}),(0,Q.jsxs)(L,{children:[(0,Q.jsx)(M,{asChild:!0,children:(0,Q.jsx)(I,{"aria-label":r(`sidebar.close`),className:`min-workbench:hidden`,onClick:t,size:`icon-sm`,type:`button`,variant:`ghost`,children:(0,Q.jsx)(En,{className:`size-3.5`,"aria-hidden":`true`})})}),(0,Q.jsx)(H,{children:r(`sidebar.close`)})]})]})}function Us(){return(0,Q.jsx)(`div`,{className:`flex min-w-0 flex-1 items-center`,children:(0,Q.jsx)(`img`,{alt:`Codexly`,className:`h-7 w-auto max-w-full`,height:`28`,src:`/brand/codexly-logo.svg`,width:`116`})})}var Ws=(0,J.lazy)(()=>t(()=>import(`./archived-tasks-dialog-DvYO0otZ.js`).then(e=>({default:e.ArchivedTasksDialog})),__vite__mapDeps([30,2,4,5,6,7,8,9,1,3,10,11,12,13,31]))),Gs=(0,J.lazy)(()=>t(()=>import(`./global-search-dialog-BZOhh2as.js`).then(e=>({default:e.GlobalSearchDialog})),__vite__mapDeps([32,2,4,5,6,7,8,9,1,3,10,11,12,13,31,25,33,34,35]))),Ks=`flex h-8 w-full items-center gap-2.5 rounded-control px-2.5 text-body-small font-medium text-foreground transition-colors hover:bg-control-hover`,qs=`size-4 shrink-0 text-muted-foreground`;function Js({appInfo:e,appUpdate:t,connectionState:n,onClose:r,onOpenSettings:i,onOpenFile:o,projectId:c,taskId:l}){let{t:u}=K(`workbench`),{client:d,error:f,isPending:p,projects:m,projectTaskStates:g,tasks:_}=pi(),{addProject:v,fetchNextProjectTaskPage:y,forgetTask:b,reorderProjects:S,removeProject:C,renameProject:ee,setExpandedProjectTaskIds:w}=mi(),{isProjectActionPending:T,isProjectOrderPending:E,isProjectAddPending:D,taskActivity:O}=hi(),k=s(),A=Vt(),j=x(),M=(0,J.useRef)(null),N=Ho(M,r),[P]=(0,J.useState)(Go),[F]=(0,J.useState)(()=>Ko(P)),I=(0,J.useRef)(F),te=(0,J.useRef)(m.length>0),[L,ne]=(0,J.useState)(()=>Xo(m.map(e=>e.id),F)),re=(0,J.useRef)(L),[ie,ae]=(0,J.useState)(`idle`),[oe,R]=(0,J.useState)(()=>new Set),[se,z]=(0,J.useState)(null),[ce,le]=(0,J.useState)(null),[ue,de]=(0,J.useState)(null),[fe,B]=(0,J.useState)(null),[pe,V]=(0,J.useState)(!1),[me,he]=(0,J.useState)(`existing`),ge=h(Dr(d)),_e=h(Or(d)),ve=h(kr(d)),H=(0,J.useRef)(xi()),ye=Po({actionLock:H.current,activeProjectId:c,activeTaskId:l}),be={error:null,isPending:!1},xe=vi(),Se=_,Ce=(0,J.useMemo)(()=>Cs(Se),[Se]),we=za(xe.tasks),Te=xe.error!==null||[...g.values()].some(e=>e.error!==null),Ee=ge.isPending||_e.isPending||ve.isPending||ye.isDeletePending,{activeProjectId:De,announcement:Oe,getProjectReorderProps:ke,orderedProjects:Ae}=No({disabled:E,onReorder:S,projects:m});(0,J.useEffect)(()=>{if(p||c===void 0||c===`temporary`||m.some(e=>e.id===c))return;let e=m[0];k(e===void 0?{replace:!0,to:`/`}:{params:{projectId:e.id},replace:!0,to:`/p/$projectId`})},[p,k,c,m]),(0,J.useEffect)(()=>{let e=m.map(e=>e.id);if(!te.current&&e.length>0){te.current=!0;let t=Xo(e,I.current);re.current=t,ne(t);return}let t=new Set(e),n=re.current,r=new Set([...n].filter(e=>t.has(e)));r.size!==n.size&&(re.current=r,ne(r))},[m]),(0,J.useEffect)(()=>{w(L)},[L,w]),(0,J.useEffect)(()=>{let e=e=>{let t=Array.from(document.querySelectorAll(`[role="dialog"], [role="alertdialog"], dialog[open]`)).some(e=>e.getClientRects().length>0);M.current?.getClientRects().length===0||t||e.defaultPrevented||e.isComposing||e.repeat||e.altKey||e.shiftKey||e.key.toLocaleLowerCase()!==`f`||!(e.metaKey||e.ctrlKey)||(e.preventDefault(),ae(`open`))};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e)}},[]);let je=(0,J.useCallback)(e=>{let t=e(re.current);re.current=t,I.current=t,qo(P,t),ne(t)},[P]),Me=e=>{je(t=>{let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n})},Ne=async e=>{let t=await v(e);return t!==void 0&&(V(!1),me===`create`&&await Ie(t.id)),t!==void 0},{openDraft:Pe,onNewTaskClick:Fe}=nt(G,e=>k(e===`temporary`?{to:`/temporary`}:{params:{projectId:e},to:`/p/$projectId`}).then(N)),Ie=async e=>{je(t=>t.has(e)?t:new Set([...t,e])),await Pe(e)},Le=e=>H.current.run(async()=>{try{let t=await ge.mutateAsync({pinned:!e.pinned,projectId:e.projectId,taskId:e.id});pr(j,t.task,t.pinnedTasks.data)}catch{}}),Re=(e,t)=>H.current.run(async()=>{try{let n=await _e.mutateAsync({projectId:e.projectId,taskId:e.id,title:t});fr(j,n.task,n.taskCatalog.data),z(null)}catch{}}),U=e=>H.current.run(async()=>{try{let t=await ve.mutateAsync({projectId:e.projectId,taskId:e.id});wr(j,e.projectId,e.id,t.tasks),j.removeQueries({exact:!0,queryKey:[`projects`,e.projectId,`tasks`,e.id]}),b(e.projectId,e.id),!A?.dismiss({projectId:e.projectId,taskId:e.id})&&e.projectId===c&&e.id===l&&await(e.projectId===`temporary`?k({to:`/temporary`}):k({params:{projectId:e.projectId},to:`/p/$projectId`})),Eo(e.projectId,e.id),d.unsubscribeTask(e.projectId,e.id).catch(()=>void 0)}catch{}}),ze=e=>{B(null),le(null),de(null),requestAnimationFrame(()=>{document.getElementById(`project-actions-${e}`)?.focus()})},Be=async(e,t)=>{await ee(e.id,t)&&ze(e.id)},Ve=async e=>{await C(e.id)!==void 0&&de(null)};return(0,Q.jsxs)(`aside`,{"aria-label":u(`sidebar.landmark`),className:`workbench-sidebar z-30 grid min-h-0 grid-rows-[auto_auto_minmax(0,1fr)_auto] bg-sidebar shadow-divider`,ref:M,children:[(0,Q.jsxs)(Hs,{onClose:r,onSearch:()=>{ae(`open`)},children:[(0,Q.jsx)(zs,{...c===void 0?{}:{projectId:c}}),(0,Q.jsx)(Vs,{...c===void 0?{}:{projectId:c}})]}),(0,Q.jsxs)(`nav`,{className:`space-y-0.5 px-2`,"aria-label":u(`sidebar.agentNavigation`),children:[(0,Q.jsxs)(a,{className:Ks,to:`/temporary`,onClick:Fe,children:[(0,Q.jsx)(vn,{className:qs,"aria-hidden":`true`}),u(`sidebar.newTask`)]}),(0,Q.jsx)(Bs,{className:Ks,iconClassName:qs,...c===void 0?{}:{projectId:c}})]}),(0,Q.jsx)(Is,{onTaskNavigate:N,archiveTask:U,deleteTask:ye.requestTaskDeletion,error:f,expandedProjects:L,expandedTaskProjects:oe,fetchNextProjectTaskPage:y,getProjectReorderProps:ke,hasTaskError:Te,isPending:p,isProjectActionPending:T,isProjectAddPending:D,normalizedQuery:``,onOpenTemporaryDraft:()=>void Pe(G),onOpenProjectDraft:Ie,onOpenArchived:B,onOpenProjectPicker:e=>{he(e),V(!0)},onRemoveProject:e=>{de(e)},onRenameProject:e=>{le(e)},orderedProjects:Ae,pinTask:Le,pinnedTasks:we,...c===void 0?{}:{projectId:c},projectOrderAnnouncement:Oe,projectTaskStates:g,reorderingProjectId:De,setExpandedTaskProjects:R,setRenamingTask:z,taskActionPending:Ee,taskActivity:O,...l===void 0?{}:{taskId:l},taskSearch:be,tasksByProjectId:Ce,toggleProject:Me}),(0,Q.jsx)(J.Suspense,{fallback:null,children:fe===null?null:(0,Q.jsx)(Ws,{client:d,onClose:()=>{ze(fe.id)},project:fe})}),ye.deletingTask===null?null:(0,Q.jsx)(Rs,{isPending:ye.isDeletePending,onClose:ye.closeTaskDeletion,onDelete:()=>{ye.confirmTaskDeletion()},task:ye.deletingTask}),(0,Q.jsx)(ys,{client:d,isProjectActionPending:T,isProjectAddPending:D,isProjectPickerOpen:pe,projectPickerMode:me,onAddProject:Ne,onCloseProjectDialog:ze,onCloseProjectPicker:()=>{D||V(!1)},onCloseTaskRename:()=>{z(null)},onRemoveProject:e=>{Ve(e)},onRenameProject:(e,t)=>{Be(e,t)},onRenameTask:(e,t)=>{Re(e,t)},removingProject:ue,renamingProject:ce,renamingTask:se,taskRenamePending:_e.isPending}),(0,Q.jsx)(`div`,{className:`p-2`,children:(0,Q.jsx)(Ms,{...t,...e===void 0?{}:{appInfo:e},connectionState:n,onTaskNavigate:(e,t)=>{A?.select({projectId:e,taskId:t})?N():k(Ua(e,t)).then(N)},onOpen:i})}),ie===`idle`?null:(0,Q.jsx)(J.Suspense,{fallback:null,children:(0,Q.jsx)(Gs,{client:d,onOpenFile:o,onClose:()=>{ae(`closed`)},open:ie===`open`,projects:m})})]})}function Ys(){let{t:e}=K(`common`);return(0,Q.jsx)(`main`,{className:`grid h-full place-items-center bg-window px-6`,"aria-labelledby":`not-found-title`,children:(0,Q.jsxs)(`section`,{className:`w-full max-w-md rounded-surface bg-raised p-6 shadow-panel`,children:[(0,Q.jsx)(`p`,{className:`mb-2 font-mono text-xs text-warning`,children:`404`}),(0,Q.jsx)(`h1`,{id:`not-found-title`,className:`text-xl font-semibold`,children:e(`errors.notFoundTitle`)}),(0,Q.jsx)(`p`,{className:`mt-2 text-sm leading-6 text-muted-foreground`,children:e(`errors.notFoundDescription`)}),(0,Q.jsxs)(a,{className:`mt-5 inline-flex items-center gap-2 text-sm font-medium text-brand-strong`,to:`/`,children:[(0,Q.jsx)(fn,{className:`size-4`,"aria-hidden":`true`}),e(`actions.backToWorkbench`)]})]})})}var Xs=ee({component:Qs,errorComponent:Zs,notFoundComponent:Ys});function Zs({error:e,reset:t}){let{t:n}=K(`common`);return(0,Q.jsx)(`main`,{className:`grid h-full place-items-center bg-window px-6`,"aria-labelledby":`route-error-title`,children:(0,Q.jsxs)(`section`,{className:`w-full max-w-lg rounded-surface bg-raised p-6 shadow-panel`,children:[(0,Q.jsx)(`p`,{className:`mb-2 text-xs font-semibold text-danger uppercase`,children:n(`errors.routeErrorLabel`)}),(0,Q.jsx)(`h1`,{id:`route-error-title`,className:`text-xl font-semibold text-foreground`,children:n(`errors.routeErrorTitle`)}),(0,Q.jsx)(`p`,{className:`mt-2 text-sm text-muted-foreground`,children:e.message}),(0,Q.jsx)(I,{variant:`ghost`,className:`mt-5 rounded-control bg-control px-3 py-2 text-body font-medium text-foreground shadow-sm transition-colors hover:bg-control-hover`,onClick:t,type:`button`,children:n(`actions.retry`)})]})})}function Qs(){return(0,Q.jsx)(`div`,{className:`h-full min-h-0 bg-window text-foreground`,"data-testid":`app-root`,children:(0,Q.jsx)(u,{})})}var $s={getItem:()=>null,setItem:()=>void 0};function ec(){try{return typeof window>`u`?$s:window.localStorage}catch{return $s}}var tc={blurPercentage:0,mode:`none`,overlayOpacity:60,selectedCustomImageId:null},nc=`codexly:workbench-background-changed`,rc=`codexly.workbench-background-preference`,ic=3,ac=`codexly-workbench`,oc=2,sc=`background-images`,cc=20971520,lc=new Set([`image/gif`,`image/jpeg`,`image/png`,`image/webp`]);function uc(e){return e===`none`||e===`custom`||e===`bing`}function dc(e){try{let t=JSON.parse(e.getItem(rc)??`null`);if(typeof t==`object`&&t&&`version`in t&&t.version===ic&&`blurPercentage`in t&&typeof t.blurPercentage==`number`&&Number.isInteger(t.blurPercentage)&&t.blurPercentage>=0&&t.blurPercentage<=95&&`mode`in t&&uc(t.mode)&&`overlayOpacity`in t&&typeof t.overlayOpacity==`number`&&Number.isInteger(t.overlayOpacity)&&t.overlayOpacity>=0&&t.overlayOpacity<=95&&`selectedCustomImageId`in t&&(t.selectedCustomImageId===null||typeof t.selectedCustomImageId==`string`))return{blurPercentage:t.blurPercentage,mode:t.mode,overlayOpacity:t.overlayOpacity,selectedCustomImageId:t.selectedCustomImageId,...`selectedBingDay`in t&&(t.selectedBingDay===null||typeof t.selectedBingDay==`string`&&/^\d{4}-\d{2}-\d{2}$/u.test(t.selectedBingDay))?{selectedBingDay:t.selectedBingDay}:{}}}catch{}return tc}function fc(e,t){try{t.setItem(rc,JSON.stringify({...e,version:ic}))}catch{}}function pc(e){return e.size>0&&e.size<=cc&&lc.has(e.type)}function mc(e,t=crypto.randomUUID()){return{blob:e,createdAt:Date.now(),id:t,name:e.name}}function hc(e,t,n){let r=e.filter(e=>e.id!==t);return{images:r,selectedCustomImageId:n===t?r[0]?.id??null:n}}function gc(){return new Promise((e,t)=>{let n=window.indexedDB.open(ac,oc);n.onerror=()=>{t(n.error??Error(`Unable to open background image storage`))},n.onupgradeneeded=()=>{let e=n.result;e.objectStoreNames.contains(sc)&&e.deleteObjectStore(sc),e.createObjectStore(sc,{keyPath:`id`})},n.onsuccess=()=>{e(n.result)}})}function _c(e){return typeof e==`object`&&!!e&&`blob`in e&&e.blob instanceof Blob&&`createdAt`in e&&typeof e.createdAt==`number`&&`id`in e&&typeof e.id==`string`&&`name`in e&&typeof e.name==`string`}async function vc(){let e=await gc();return new Promise((t,n)=>{let r=e.transaction(sc,`readonly`),i=r.objectStore(sc).getAll();i.onerror=()=>{e.close(),n(i.error??Error(`Unable to read custom background images`))},i.onsuccess=()=>{t(i.result.filter(_c).sort((e,t)=>e.createdAt-t.createdAt))},r.oncomplete=()=>{e.close()}})}async function yc(e){let t=await gc();return new Promise((n,r)=>{let i=t.transaction(sc,`readonly`),a=i.objectStore(sc).get(e);a.onerror=()=>{t.close(),r(a.error??Error(`Unable to read custom background image`))},a.onsuccess=()=>{n(_c(a.result)?a.result.blob:null)},i.oncomplete=()=>{t.close()}})}async function bc(e){if(e.deletedImageIds.length===0&&e.imagesToSave.length===0)return;let t=await gc();return new Promise((n,r)=>{let i=t.transaction(sc,`readwrite`),a=i.objectStore(sc);e.deletedImageIds.forEach(e=>a.delete(e)),e.imagesToSave.forEach(e=>a.put(e)),i.onerror=()=>{r(i.error??Error(`Unable to update custom background images`))},i.onabort=()=>{t.close()},i.oncomplete=()=>{t.close(),n()}})}async function xc(e,t){await bc(t),fc(e,ec()),window.dispatchEvent(new CustomEvent(nc,{detail:e}))}function Sc(e,t,n){return{height:Math.max(1,Math.round(t*n)),width:Math.max(1,Math.round(e*n))}}function Cc(e){return[e.source,e.width,e.height,e.devicePixelRatio,e.blurRadius].join(`\0`)}function wc(e,t,n,r,i){let a=n+i*2,o=r+i*2,s=Math.max(a/e,o/t),c=e*s,l=t*s;return{height:l,width:c,x:(n-c)/2,y:(r-l)/2}}function Tc(e){let t=new Image;return t.decoding=`async`,t.src=e,t.decode().then(()=>t)}async function Ec(e,t){let n=await Tc(t.source);if(n.naturalWidth===0||n.naturalHeight===0)throw Error(`Decoded workbench background has no dimensions`);let r=Sc(t.width,t.height,t.devicePixelRatio);e.width=r.width,e.height=r.height;let i=e.getContext(`2d`);if(i===null)throw Error(`Canvas 2D context is unavailable`);let a=wc(n.naturalWidth,n.naturalHeight,t.width,t.height,t.blurRadius),o=t.devicePixelRatio;i.clearRect(0,0,r.width,r.height),i.save(),t.blurRadius>0&&(i.filter=`blur(${String(t.blurRadius*o)}px)`),i.drawImage(n,a.x*o,a.y*o,a.width*o,a.height*o),i.restore()}function Dc(e){try{let t=document.createElement(`canvas`);t.width=32,t.height=32;let n=t.getContext(`2d`,{willReadFrequently:!0});return n===null?null:(n.drawImage(e,0,0,t.width,t.height),n.getImageData(0,0,t.width,t.height).data)}catch{return null}}var Oc=Math.sqrt(1.05*.05)-.05,kc=120;function Ac(e){let t=e/255;return t<=.04045?t/12.92:((t+.055)/1.055)**2.4}function jc(e){let t=[];for(let n=0;n+3<e.length;n+=4){if(e[n+3]===0)continue;let r=Ac(e[n]??0),i=Ac(e[n+1]??0),a=Ac(e[n+2]??0);t.push(.2126*r+.7152*i+.0722*a)}return t.length===0?null:(t.sort((e,t)=>e-t),(t[Math.floor(t.length/2)]??0)>Oc?`light`:`dark`)}function Mc(e){return String(e).padStart(2,`0`)}function Nc(e){return`/v1/workbench-background/bing?day=${`${String(e.getFullYear())}-${Mc(e.getMonth()+1)}-${Mc(e.getDate())}`}`}function Pc(e){let t=new Date(e.getFullYear(),e.getMonth(),e.getDate()+1);return Math.max(1e3,t.getTime()-e.getTime()+1e3)}function Fc(e){return Math.round((e/95*20+2**-52)*100)/100}function Ic({backgroundTone:e,canvasRef:t,children:n,imageLoaded:r,preference:i}){return(0,Q.jsxs)(`div`,{className:`workbench-background h-full min-h-0 overflow-hidden`,"data-background-mode":i.mode,"data-background-tone":e??void 0,"data-has-image":r,"data-workbench-background":`true`,children:[i.mode===`none`?null:(0,Q.jsx)(`canvas`,{"aria-hidden":`true`,className:`workbench-background__canvas`,"data-workbench-background-canvas":`true`,ref:t,style:{opacity:+!!r}}),r?(0,Q.jsx)(`div`,{"aria-hidden":`true`,className:`workbench-background__overlay`,"data-workbench-background-overlay":`true`,style:{opacity:i.overlayOpacity/100}}):null,n]})}function Lc({children:e}){let[t,n]=(0,J.useState)(null),[r,i]=(0,J.useState)(()=>dc(ec())),[a,o]=(0,J.useState)(null),[s,c]=(0,J.useState)(()=>Nc(new Date)),[l,u]=(0,J.useState)(!1),d=(0,J.useRef)(null),f=(0,J.useRef)(null);(0,J.useEffect)(()=>{let e=e=>{if(e instanceof CustomEvent){let t=e.detail;i(t)}};return window.addEventListener(nc,e),()=>{window.removeEventListener(nc,e)}},[]),(0,J.useEffect)(()=>{if(r.mode!==`custom`){o(null);return}let e=!1,t=null,n=r.selectedCustomImageId;if(n===null){o(null);return}return yc(n).then(n=>{e||n===null||(t=URL.createObjectURL(n),o(t))}).catch(()=>{e||o(null)}),()=>{e=!0,t!==null&&URL.revokeObjectURL(t)}},[r.mode,r.selectedCustomImageId]),(0,J.useEffect)(()=>{if(r.mode!==`bing`)return;let e,t=()=>{e=setTimeout(()=>{c(Nc(new Date)),t()},Pc(new Date))};return t(),()=>{clearTimeout(e)}},[r.mode]);let p=r.mode===`custom`?a:r.mode===`bing`?r.selectedBingDay?`/v1/workbench-background/bing/image?day=${encodeURIComponent(r.selectedBingDay)}`:s:null;return(0,J.useEffect)(()=>{u(!1),n(null),f.current=null},[p]),(0,J.useEffect)(()=>{if(p===null)return;let e=!1,t,i=0,a,o=()=>{let t=d.current;if(t===null||t.clientWidth===0||t.clientHeight===0)return;let a=t.getBoundingClientRect(),o={blurRadius:Fc(r.blurPercentage),devicePixelRatio:Math.max(1,window.devicePixelRatio||1),height:a.height,source:p,width:a.width},s=Cc(o);if(f.current===s)return;let c=++i;Ec(t,o).then(()=>{if(e||c!==i)return;f.current=s;let r=Dc(t);n(r===null?null:jc(r)),u(!0)}).catch(()=>{e||c!==i||(f.current=null,n(null),u(!1))})},s=()=>{clearTimeout(t),t=setTimeout(o,kc)},c=()=>{a?.removeEventListener(`change`,l),a=window.matchMedia(`(resolution: ${String(window.devicePixelRatio)}dppx)`),a.addEventListener(`change`,l)};function l(){c(),s()}return o(),c(),window.addEventListener(`resize`,s),()=>{e=!0,i+=1,clearTimeout(t),window.removeEventListener(`resize`,s),a?.removeEventListener(`change`,l)}},[p,r.blurPercentage]),(0,Q.jsx)(Ic,{backgroundTone:t,canvasRef:d,imageLoaded:l,preference:r,children:e})}var Rc=(0,J.lazy)(()=>ja().then(e=>({default:e.GlobalSettingsPage}))),zc=o({component:Bc,getParentRoute:()=>Xs,path:`/`});function Bc(){let{t:e}=K(`common`),t=Ia(),{client:n,error:r,isPending:i,projects:a}=pi(),{retry:o}=mi(),c=s(),l=x(),u=b(An(n)),d=h({...Mn(n),onSuccess(e){l.setQueryData([`app-info`],e)}}),f=b(jn(n,d.isPending)),p=ge()?.includes(`codex`)??!0,m=b({...Ir(n,p?`codex`:`claude`)}),g=b(Fr(n,p?`codex`:`claude`)),_=h({...Lr(n,p?`codex`:`claude`),onSuccess(e){l.setQueryData(p?[`settings`]:[`settings`,`claude`],e)}}),[v,y]=(0,J.useState)(null),[S]=(0,J.useState)(()=>Ko(Go())),C=Zo(a.map(e=>e.id),S);return(0,J.useEffect)(()=>{if(C!==void 0){c({params:{projectId:C},replace:!0,to:`/p/$projectId`});return}!i&&a.length===0&&c({replace:!0,to:`/temporary`})},[C,i,c,a.length]),r===null?i||C!==void 0||a.length===0?(0,Q.jsx)(`main`,{className:`grid h-full place-items-center text-sm text-muted-foreground`,children:e(`app.loadingProjects`)}):(0,Q.jsxs)(Lc,{children:[(0,Q.jsxs)(`div`,{hidden:v!==null,className:`workbench-shell h-full min-h-0 overflow-hidden bg-window`,"data-inspector-open":`false`,"data-sidebar-open":`true`,children:[(0,Q.jsx)(Js,{appUpdate:{isUpdatePending:d.isPending,onUpdate:e=>d.mutateAsync(e).then(()=>void 0),...d.isPending&&f.data?.progress?{updatePercentage:f.data.progress.percent}:{}},...u.data===void 0?{}:{appInfo:u.data},connectionState:`connected`,onClose:()=>void 0,onOpenFile:()=>void 0,onOpenSettings:e=>{y(e)}}),(0,Q.jsx)(`main`,{className:`grid min-h-0 min-w-0 place-items-center bg-content text-sm text-muted-foreground`,children:e(`app.noProjects`)})]}),v===null?null:(0,Q.jsx)(J.Suspense,{fallback:null,children:(0,Q.jsx)(Rc,{client:n,...t.status===void 0?{}:{accessMode:t.status.mode},...u.data===void 0?{}:{appInfo:u.data},appInfoError:u.error,initialSection:v,apps:[],error:m.error??g.error,isPending:m.isLoading||g.isLoading,isAppInfoPending:u.isPending,isAppUpdatePending:d.isPending,models:g.data?.data??[],onClose:()=>{let e=v===`about`?`#global-settings-about-trigger`:`#global-settings-trigger`;y(null),requestAnimationFrame(()=>{document.querySelector(e)?.focus()})},onLogoutAccess:t.logout,onRetry:()=>Promise.all([m.refetch(),g.refetch()]),onRetryAppInfo:()=>u.refetch(),onSave:e=>_.mutateAsync(e).then(()=>void 0),onUpdate:e=>d.mutateAsync(e).then(()=>void 0),...m.data===void 0?{}:{settings:m.data.settings}})})]}):(0,Q.jsx)(`main`,{className:`flex h-full min-h-0`,children:(0,Q.jsx)(Ra,{onRetry:()=>void o()})})}var $=o({component:Vc,getParentRoute:()=>Xs,id:`workbench`});function Vc(){let e=c({select:e=>{let t=e.matches.at(-1)?.params;return{board:e.location.pathname.endsWith(`/board`),scheduled:e.location.pathname.endsWith(`/scheduled`),extensionSection:t!==void 0&&`section`in t?t.section:void 0,projectId:t!==void 0&&`projectId`in t?t.projectId:void 0,taskId:t!==void 0&&`taskId`in t?t.taskId:void 0,todoId:t!==void 0&&`todoId`in t?t.todoId:void 0}}}),t=e.projectId??`temporary`,n=e.projectId===void 0;return(0,Q.jsx)(Lc,{children:(0,Q.jsx)(Wc,{board:e.board,...e.extensionSection===void 0?{}:{extensionSection:e.extensionSection},scheduled:e.scheduled,...e.todoId===void 0?{}:{todoId:e.todoId},projectId:t,temporary:n,...e.taskId===void 0?{}:{taskId:e.taskId}})})}function Hc(){return t(()=>import(`./workbench-shell-CR4teS_d.js`).then(e=>e.t),__vite__mapDeps([36,2,3,4,5,6,7,8,9,1,10,11,12,13,37,38,16,31,39,23,24,25,26,20,40,41,33,42,43,44,19]))}var Uc=(0,J.lazy)(()=>Hc().then(e=>({default:e.WorkbenchShell})));function Wc(e){let{t}=K(`common`);return(0,Q.jsx)(J.Suspense,{fallback:(0,Q.jsx)(`main`,{className:`grid h-full place-items-center text-sm text-muted-foreground`,role:`status`,children:t(`app.loadingProjects`)}),children:(0,Q.jsx)(Uc,{...e})})}var Gc=o({getParentRoute:()=>$,path:`p/$projectId`}),Kc=o({getParentRoute:()=>$,path:`p/$projectId/todo/$todoId`}),qc=`codexly-project-file-popup`,Jc=`popup,width=1100,height=800,resizable=yes,scrollbars=yes`;function Yc(e){if(e==null||e===``)return null;let t=typeof e==`number`?e:Number(e);if(!Number.isSafeInteger(t)||t<1)throw TypeError(`Project file popup lineNumber must be a positive integer`);return t}function Xc(e){let t=e.path,n=e.previewKind,r=e.rootPath;if(typeof t!=`string`||t.length===0)throw TypeError(`Project file popup path is required`);if(n!==`image`&&n!==`source`&&n!==`pdf`)throw TypeError(`Project file popup previewKind is invalid`);if(r!==void 0&&typeof r!=`string`)throw TypeError(`Project file popup rootPath is invalid`);return{lineNumber:Yc(e.lineNumber),path:t,previewKind:n,...r===void 0?{}:{rootPath:r}}}function Zc(e,t,n,r){let i=Ze(n.path);if(i===`system`)throw TypeError(`System-default files do not have an internal popup URL`);let a=new URL(`/p/${encodeURIComponent(t)}/file`,e);return a.searchParams.set(`path`,n.path),a.searchParams.set(`previewKind`,i),n.lineNumber!==null&&a.searchParams.set(`lineNumber`,String(n.lineNumber)),r!==void 0&&a.searchParams.set(`rootPath`,r),a.href}function Qc({onOpenSystemDefault:e,projectId:t,reference:n,rootPath:r}){if(Ze(n.path)===`system`){e(n.path);return}let i=Zc(window.location.href,t,n,r);window.open(i,qc,Jc)}var $c=o({component:nl,getParentRoute:()=>Xs,path:`p/$projectId/file`,validateSearch:Xc});function el(){return t(()=>import(`./project-file-popup-page-c0wqWaPR.js`),__vite__mapDeps([45,2,4,46,3,5,6,7,8,9,1,10,11,12,13,39,23,20]))}var tl=(0,J.lazy)(()=>el().then(e=>({default:e.ProjectFilePopupPage})));function nl(){let{projectId:e}=$c.useParams(),t=$c.useSearch();return(0,Q.jsx)(J.Suspense,{fallback:null,children:(0,Q.jsx)(tl,{projectId:e,search:t})})}var rl=o({getParentRoute:()=>$,path:`p/$projectId/extensions/$section`}),il=o({getParentRoute:()=>$,path:`temporary/extensions/$section`}),al=o({getParentRoute:()=>$,path:`p/$projectId/t/$taskId`}),ol=o({getParentRoute:()=>$,path:`p/$projectId/scheduled`}),sl=o({getParentRoute:()=>$,path:`temporary/scheduled`}),cl=o({getParentRoute:()=>$,path:`p/$projectId/board`}),ll=o({getParentRoute:()=>$,path:`temporary/board`}),ul=o({getParentRoute:()=>$,path:`temporary`}),dl=o({getParentRoute:()=>$,path:`temporary/t/$taskId`}),fl=Xs.addChildren([zc,$c,$.addChildren([Gc,ol,rl,Kc,cl,al,ul,sl,il,ll,dl])]),pl=w({defaultPreload:`intent`,routeTree:fl,scrollRestoration:!0});function ml(){return(0,Q.jsx)(S,{router:pl})}function hl({error:e,loading:t,onPair:n,onRetry:r,pairing:i}){let{t:a}=K(`common`),[o,s]=(0,J.useState)(``);return(0,Q.jsx)(`main`,{className:`access-gate grid h-full min-h-0 place-items-center overflow-y-auto bg-window px-5 py-10 text-foreground`,children:(0,Q.jsxs)(`section`,{"aria-labelledby":`access-gate-title`,className:`w-full max-w-sm`,children:[(0,Q.jsx)(`h1`,{className:`mb-8`,id:`access-gate-title`,children:(0,Q.jsx)(`img`,{alt:`Codexly`,className:`h-10 w-auto`,height:`40`,src:`/brand/codexly-logo.svg`,width:`165`})}),t?(0,Q.jsx)(`p`,{className:`text-body-small text-muted-foreground`,role:`status`,children:a(`access.checking`)}):e===`load`?(0,Q.jsxs)(`div`,{className:`space-y-4`,role:`alert`,children:[(0,Q.jsx)(`p`,{className:`text-body-small text-danger`,children:a(`access.loadError`)}),(0,Q.jsxs)(I,{onClick:r,size:`lg`,type:`button`,variant:`secondary`,children:[(0,Q.jsx)(dn,{"aria-hidden":`true`,className:`size-4`}),a(`actions.retry`)]})]}):(0,Q.jsxs)(`form`,{className:`space-y-5`,onSubmit:e=>{e.preventDefault();let t=o.trim();t.length>0&&!i&&n(t)},children:[(0,Q.jsxs)(`div`,{children:[(0,Q.jsx)(`p`,{className:`text-heading font-semibold`,children:a(`access.pairingTitle`)}),(0,Q.jsx)(`p`,{className:`mt-1 text-body-small text-muted-foreground`,children:a(`access.pairingDescription`)})]}),(0,Q.jsx)(`label`,{className:`block text-body-small font-medium`,htmlFor:`access-pairing-code`,children:a(`access.codeLabel`)}),(0,Q.jsxs)(`div`,{className:`flex h-10 items-center rounded-control border border-separator-strong bg-panel focus-within:border-brand focus-within:shadow-focus`,children:[(0,Q.jsx)(Dn,{"aria-hidden":`true`,className:`ml-3 size-4 shrink-0 text-muted-foreground`}),(0,Q.jsx)(ce,{"aria-label":a(`access.codeLabel`),autoComplete:`current-password`,className:`access-code-input min-w-0 flex-1 bg-transparent px-3 font-mono text-body`,id:`access-pairing-code`,onChange:e=>{s(e.currentTarget.value)},spellCheck:!1,type:`password`,value:o,variant:`embedded`}),(0,Q.jsx)(I,{"aria-label":a(`access.pair`),className:`mr-1`,disabled:i||o.trim().length===0,title:a(`access.pair`),type:`submit`,size:`icon-compact`,children:(0,Q.jsx)(Gt,{"aria-hidden":`true`,className:`size-4`})})]}),i?(0,Q.jsx)(`p`,{className:`text-meta text-muted-foreground`,role:`status`,children:a(`access.pairing`)}):null]})]})})}var gl=(0,J.lazy)(()=>t(()=>import(`./engine-setup-gate-CsMQae5w.js`).then(e=>({default:e.EngineSetupGate})),__vite__mapDeps([47,2,4,1,3,5,6,7,8,9,10,11,12,13,31]))),_l=(0,J.lazy)(()=>t(()=>import(`./provider-connection-panel-CFOjjrpy.js`).then(e=>({default:e.ProviderConnectionPanel})),__vite__mapDeps([48,2,4,5,6,7,8,9,1,3,10,11,12,13,49,18,50,51,44]))),vl=(0,J.lazy)(()=>t(()=>import(`./claude-settings-panel-clCfG3vv.js`).then(e=>({default:e.ClaudeSettingsPanel})),__vite__mapDeps([52,2,4,1,3,5,6,7,8,9,10,11,12,13,17,16,18,50,51,53,54])));function yl({children:e}){Ge();let{t}=K(`settings`),n=or(),[r]=(0,J.useState)(()=>lt(pt.getItem(Ot)));return r?.complete?(0,Q.jsx)(vt,{engines:r.engines,storage:pt,children:e}):(0,Q.jsx)(J.Suspense,{fallback:(0,Q.jsx)(`p`,{role:`status`,children:t(`provider.loading`)}),children:(0,Q.jsx)(gl,{discover:async()=>{let e=await Promise.allSettled([Y.getProviderConnection(),Y.getEngineProfile(`claude`).then(e=>e.connection)]),t=[`codex`,`claude`].filter((t,n)=>{let r=e[n];return r?.status===`fulfilled`&&(r.value.state===`connected`||!!r.value.customBaseUrl)});if(!t.length&&e.some(e=>e.status===`rejected`))throw Error(`Settings unavailable`);return t},language:n,prepare:async(e,t)=>{t(n===`zh-CN`?`正在准备`:`Preparing`),e===`claude`?await Y.getClaudeSettings():await Y.getProviderConnection()},check:async e=>e===`claude`?(await Y.getEngineProfile(`claude`)).connection.state===`connected`:(await Y.getProviderConnection()).state===`connected`,renderConfiguration:(e,n)=>(0,Q.jsx)(J.Suspense,{fallback:(0,Q.jsx)(`p`,{role:`status`,children:t(`provider.loading`)}),children:e===`claude`?(0,Q.jsx)(vl,{client:Y,section:`claude-provider`,...n}):(0,Q.jsx)(_l,{...n})}),children:e})})}var bl={attachments:[],content:[]},xl=`codexly:composer-draft:v1:`,Sl=(0,J.createContext)(void 0);function Cl(e,t){return JSON.stringify([e,t??`draft`])}function wl(e){return e.content.length===0&&e.attachments.length===0}function Tl(e){return e.attachments.map(e=>e.previewUrl)}function El(e){for(let t of new Set(Tl(e)))t.startsWith(`blob:`)&&URL.revokeObjectURL(t)}function Dl(e,t){let n=new Set(Tl(t));for(let t of new Set(Tl(e)))!n.has(t)&&t.startsWith(`blob:`)&&URL.revokeObjectURL(t)}function Ol(){try{return globalThis.localStorage}catch{return}}function kl(e,t){try{let n=JSON.parse(e?.getItem(`${xl}${t}`)??`null`);if(typeof n!=`object`||!n)return;let r=n;return!Array.isArray(r.content)||!Array.isArray(r.attachments)?void 0:r}catch{return}}function Al(e,t,n){if(e===void 0)return;let r=`${xl}${t}`;if(n===void 0){e.removeItem(r);return}e.setItem(r,JSON.stringify({attachments:n.attachments.filter(e=>e.source===`host`),content:n.content}))}function jl(e=Ol()){let t=new Map,n=n=>{let r=t.get(n);if(r!==void 0)return r;let i=kl(e,n);return i!==void 0&&t.set(n,i),i??bl};return{clear:n=>{let r=t.get(n);r!==void 0&&(El(r),t.delete(n)),Al(e,n,void 0)},dispose:()=>{t.forEach(El),t.clear()},read:n,update:(r,i)=>{let a=n(r),o=i(a);Dl(a,o),wl(o)?(t.delete(r),Al(e,r,void 0)):(t.set(r,o),Al(e,r,o))}}}function Ml({children:e}){let t=(0,J.useRef)(jl()).current;return(0,J.useEffect)(()=>()=>{t.dispose()},[t]),(0,Q.jsx)(Sl.Provider,{value:t,children:e})}function Nl(){let e=(0,J.useContext)(Sl);if(e===void 0)throw Error(`useComposerDraftStore must be used inside ComposerDraftProvider`);return e}function Pl(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function Fl(e,t,n){let r=new Map,i=async r=>{let i;try{i=Pl(JSON.parse(t.getItem(`codexly:project-todos:v1:${r}`)??`null`))?.todos}catch{return}if(Array.isArray(i))for(let a of i){let i=Pl(a)?.id;if(typeof i!=`string`||i.length===0)continue;let o=`codexly:project-todo:v1:${r}:${i}`;try{if(t.getItem(`${o}:imported`)===`1`)continue;let n=Pl(JSON.parse(t.getItem(o)??`null`)),a=Pl(n?.workingDraft??n?.draft),s=a?.attachments,c={content:a?.content,attachments:Array.isArray(s)?s.map(e=>{let t=Pl(e);return{id:t?.id,kind:t?.kind,mediaType:t?.mediaType,name:t?.name,size:t?.size}}):void 0};await e.importProjectTodo(r,i,c,{idempotencyKey:`import:${i}`}),t.setItem(`${o}:imported`,`1`)}catch(e){n(e)}}};return e=>{let t=r.get(e);return t===void 0&&(t=i(e),r.set(e,t)),t}}function Il(e,t,n){let r=new Set,i=!1,a=e.getQueryCache().subscribe(t=>{if(t.type===`removed`){r.delete(t.query.queryHash);return}t.type===`updated`&&t.query.state.fetchStatus===`idle`&&r.delete(t.query.queryHash)&&queueMicrotask(()=>{i||e.invalidateQueries({queryKey:t.query.queryKey,exact:!0,refetchType:n.visibilityState===`visible`?`active`:`none`},{cancelRefetch:!1})})}),o=t=>{if(t.type===`task-activity.changed`)return;let i=({queryKey:e})=>{let n=e[0]===`async-questions`,r=e[0]===`projects`&&e[2]===`todos`;return t.type===`workbench.ready`?n||r:t.type===`project-todos.changed`?r&&e[1]===t.projectId:n&&e[1]===t.projectId&&e[2]===t.taskId};if(t.type!==`workbench.ready`&&n.visibilityState===`visible`)for(let t of e.getQueryCache().findAll({predicate:i}))t.state.fetchStatus===`fetching`&&r.add(t.queryHash);e.invalidateQueries({predicate:i,refetchType:n.visibilityState===`visible`?`active`:`none`},{cancelRefetch:!1})},s=t.subscribeWorkbenchChanges(o),c=()=>{n.visibilityState===`visible`&&o({type:`workbench.ready`})};return n.addEventListener(`visibilitychange`,c),()=>{i=!0,r.clear(),a(),n.removeEventListener(`visibilitychange`,c),s()}}var Ll=e=>[`projects`,e,`todos`];function Rl(e,t,n){return{queryKey:Ll(e),queryFn:async({signal:r})=>(await n?.(e),t.listProjectTodos(e,{signal:r})),refetchInterval:6e4,refetchIntervalInBackground:!1,refetchOnWindowFocus:!0,staleTime:0}}function zl(e){return{content:[...e.content],attachments:e.attachments.map(e=>{if(e.source!==`host`)throw Error(`Upload attachments before saving a project todo`);return{id:e.id,kind:e.kind,mediaType:e.mediaType,name:e.name,size:e.size}})}}function Bl(e){return{...e,draft:{content:e.draft.content,attachments:e.draft.attachments.map(t=>({...t,attachment:t,source:`host`,previewUrl:Rt(``,e.projectId,t.id)}))}}}function Vl(e,t){let n=new Set(t?.attachments.map(e=>e.previewUrl));for(let t of e?.attachments??[])t.previewUrl.startsWith(`blob:`)&&!n.has(t.previewUrl)&&URL.revokeObjectURL(t.previewUrl)}function Hl({client:e,queryClient:t,prepareProject:n}){let r=new Map,i=new Map,a=new Set,o=new Map,s=[],c=0,l=0,u,d=(e,t)=>JSON.stringify([e,t]),f=()=>{c++;for(let e of a)e()},p=()=>{l++,f()},m=e=>{let n=t.getQueryData(Ll(e))?.data??s,a=i.get(e);if(a?.data===n&&a.revision===l)return a.records;let o=n.map(t=>r.get(d(e,t.id))??Bl(t));return i.set(e,{data:n,revision:l,records:o}),o},h=(e,t)=>m(e).find(e=>e.id===t),g=async(e,t,n)=>{let r=JSON.stringify(t),i=o.get(e);i?.fingerprint!==r&&(i={fingerprint:r,key:E()},o.set(e,i));let a=await n(i.key);return o.delete(e),a},_=(e,t)=>{let n=d(e,t);Vl(r.get(n)?.workingDraft),r.delete(n)&&p()};return{client:e,queryOptions:t=>Rl(t,e,n),getRevision:()=>c,list:m,read:h,readWorking:(e,t)=>r.get(d(e,t))?.workingDraft,async create(n,r){let i=zl(r),{todo:a,todos:o}=await g(`create:${n}`,i,t=>e.createProjectTodo(n,i,{idempotencyKey:t}));return t.setQueryData(Ll(n),o),Bl(a)},async save(n,r,i){let a=h(n,r);if(a===void 0)throw Error(`Project todo is unavailable`);let o={draft:zl(i),expectedVersion:a.version},{todo:s,todos:c}=await g(`save:${d(n,r)}`,o,t=>e.saveProjectTodo(n,r,o,{idempotencyKey:t}));return _(n,r),t.setQueryData(Ll(n),c),Bl(s)},async remove(n,r){let i=h(n,r);if(i===void 0)return;let{todos:a}=await g(`delete:${d(n,r)}`,i.version,t=>e.deleteProjectTodo(n,r,i.version,{idempotencyKey:t}));_(n,r),t.setQueryData(Ll(n),a)},discardWorking:_,updateWorking(e,t,n){let i=h(e,t);if(i===void 0)return;Vl(i.workingDraft,n);let a={...i,workingDraft:n};return r.set(d(e,t),a),p(),a},subscribe:e=>(a.add(e),u??=t.getQueryCache().subscribe(e=>{if(e.type!==`updated`&&e.type!==`removed`)return;let t=e.query.queryKey;t[2]===`todos`&&(e.type===`removed`&&i.delete(String(t[1])),f())}),()=>{a.delete(e),a.size===0&&(u?.(),u=void 0)})}}var Ul=(0,J.createContext)(void 0);function Wl({children:e}){let t=x();(0,J.useEffect)(()=>Il(t,Y,document),[t]);let n=(0,J.useRef)(null);return n.current??=Hl({client:Y,queryClient:t,prepareProject:Fl(Y,ec(),()=>{ha(q.t(`composer.todoMigrationError`,{ns:`workbench`}))})}),(0,Q.jsx)(Ul.Provider,{value:n.current,children:e})}function Gl(){let e=(0,J.useContext)(Ul);if(e===void 0)throw Error(`useProjectTodoStore must be used inside ProjectTodoProvider`);return e}function Kl(e){let t=Gl(),n=(0,J.useCallback)(()=>t.list(e),[e,t]);return(0,J.useSyncExternalStore)(t.subscribe,n,n)}function ql(e){let t=Gl(),n=b({...t.queryOptions(e),enabled:e!==G});return(0,J.useEffect)(()=>{n.error!==null&&ha(n.error)},[n.error]),n}function Jl(e){let t=Gl(),n=d({queries:e.map(e=>t.queryOptions(e))}).find(e=>e.error!==null)?.error;return(0,J.useEffect)(()=>{n!==void 0&&ha(n)},[n]),(0,J.useSyncExternalStore)(t.subscribe,t.getRevision,t.getRevision),e.flatMap(e=>t.list(e).map(t=>({projectId:e,record:t})))}var Yl=`codexly.notification-preference`,Xl=1;function Zl(e){try{let t=JSON.parse(e.getItem(Yl)??`null`);if(typeof t==`object`&&t&&`version`in t&&t.version===Xl&&`enabled`in t&&typeof t.enabled==`boolean`)return t.enabled}catch{}return!0}function Ql(e,t){try{t.setItem(Yl,JSON.stringify({enabled:e,version:Xl}))}catch{}}function $l(){try{return typeof window>`u`||Zl(window.localStorage)}catch{return!0}}function eu(e){try{typeof window<`u`&&Ql(e,window.localStorage)}catch{}}var tu=12e4;function nu(){let e=new f({mutationCache:_a(),defaultOptions:{queries:{gcTime:tu,refetchOnWindowFocus:!1,retry:1,staleTime:3e4}}});return Nt(e),e}var ru=nu();function iu(e,t){Se({projectId:e,taskId:t})||(e===`temporary`?pl.navigate({params:{taskId:t},to:`/temporary/t/$taskId`}):pl.navigate({params:{projectId:e,taskId:t},to:`/p/$projectId/t/$taskId`}))}var au=Di({isEnabled:$l,navigateToTask:iu});function ou({access:e,children:t}){return e.status?.authenticated===!0?t:(0,Q.jsx)(hl,{error:e.error,loading:e.loading,onPair:e.pair,onRetry:e.retry,pairing:e.pairing})}function su(){return(0,J.useEffect)(()=>jt(()=>{ru.invalidateQueries({predicate:e=>Ye(e.queryKey),refetchType:`active`},{cancelRefetch:!1})},window,document),[]),null}function cu({children:e}){let t=Ia(),{t:n}=K(`common`);return(0,Q.jsxs)(Q.Fragment,{children:[(0,Q.jsx)(ou,{access:t,children:(0,Q.jsx)(yl,{children:(0,Q.jsx)(Aa,{taskNotifier:au,children:(0,Q.jsx)(Wl,{children:(0,Q.jsx)(Ml,{children:e})})})})}),(0,Q.jsx)(xt,{containerAriaLabel:n(`app.notificationRegion`),closeButtonAriaLabel:n(`actions.close`)})]})}function lu({children:e}){return(0,Q.jsx)(Cn,{i18n:q,children:(0,Q.jsx)(mt,{children:(0,Q.jsxs)(g,{client:ru,children:[(0,Q.jsx)(su,{}),(0,Q.jsx)(Fa,{client:Y,queryClient:ru,children:(0,Q.jsx)(cu,{children:e})})]})})})}var uu=`codexly.theme-preference`,du=1,fu=`(prefers-color-scheme: dark)`,pu;function mu(e){try{let t=JSON.parse(e.getItem(uu)??`null`);if(typeof t==`object`&&t&&`version`in t&&t.version===du&&`theme`in t&&(t.theme===`dark`||t.theme===`light`||t.theme===`system`))return t.theme}catch{}return`system`}function hu(e,t){try{t.setItem(uu,JSON.stringify({theme:e,version:du}))}catch{}}function gu(e,t,n=!1){t.dataset.theme=e===`system`?n?`dark`:`light`:e}function _u(e){pu?.(),pu=void 0;let t=window.matchMedia(fu),n=()=>{gu(e,document.documentElement,t.matches)};n(),e===`system`&&(t.addEventListener(`change`,n),pu=()=>{t.removeEventListener(`change`,n)})}function vu(e){hu(e,ec()),_u(e)}function yu(){let e=mu(ec());return _u(e),e}var bu=document.querySelector(`#root`);if(!(bu instanceof HTMLElement))throw Error(`Missing #root element`);yu(),ar().then(()=>{(0,On.createRoot)(bu).render((0,Q.jsx)(J.StrictMode,{children:(0,Q.jsx)(lu,{children:(0,Q.jsx)(ml,{})})}))});export{ui as $,Io as A,br as At,Ia as B,Ss as C,zr as Ct,cs as D,wr as Dt,ns as E,Ar as Et,wo as F,Jn as Ft,ha as G,ja as H,mo as I,An as It,Li as J,ga as K,Za as L,Mn as Lt,Fo as M,ur as Mt,Lo as N,ir as Nt,os as O,fr as Ot,Vo as P,or as Pt,si as Q,Qa as R,jn as Rt,Ts as S,Rr as St,ds as T,Or as Tt,Ea as U,La as V,Sa as W,xi as X,Ii as Y,X as Z,dc as _,Xr as _t,Jl as a,ei as at,Js as b,Jr as bt,Kl as c,Ir as ct,Qc as d,Fr as dt,_i as et,tc as f,Qr as ft,vc as g,$r as gt,pc as h,Hr as ht,eu as i,gi as it,Ro as j,hr as jt,as as k,Tr as kt,Cl as l,Br as lt,mc as m,Ur as mt,vu as n,hi as nt,ql as o,ri as ot,xc as p,Zr as pt,Qi as q,$l as r,pi as rt,Gl as s,Lr as st,mu as t,mi as tt,Nl as u,Vr as ut,hc as v,Yr as vt,vs as w,jr as wt,Ls as x,Kr as xt,ec as y,qr as yt,Ra as z,Y as zt};