@bryanhu/codexly 0.35.0 → 0.37.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 (558) hide show
  1. package/CHANGELOG.md +60 -1
  2. package/README.md +29 -6
  3. package/README.zh-CN.md +35 -6
  4. package/dist/chunk-3WW7LK46.js +5 -0
  5. package/dist/chunk-43QCECCY.js +40 -0
  6. package/dist/chunk-IV4NRE4S.js +2 -0
  7. package/dist/chunk-JHBSDMIM.js +3 -0
  8. package/dist/chunk-PQPYP3AR.js +77 -0
  9. package/dist/chunk-XJOOU7A5.js +2 -0
  10. package/dist/chunk-YAHXVRU3.js +3 -0
  11. package/dist/chunk-YXJGRSCL.js +2 -0
  12. package/dist/chunk-ZK5H37U3.js +1044 -0
  13. package/dist/cli.js +6 -1270
  14. package/dist/client/index.js +2 -1613
  15. package/dist/codex-jsonl-frame-worker.js +2 -120
  16. package/dist/command-RGXPFWPR.js +84 -0
  17. package/dist/core/index.js +1 -5
  18. package/dist/dist-2UQZKK3B.js +2 -0
  19. package/dist/historical-attachment-worker.js +2 -94
  20. package/dist/protocol/index.js +1 -6
  21. package/dist/providers/codex/index.js +1 -9
  22. package/dist/scheduled-task-recurrence-worker.js +9 -2969
  23. package/dist/server/index.js +1 -11
  24. package/dist/sqlite-state-worker.js +31 -872
  25. package/dist/web/.vite/manifest.json +455 -410
  26. package/dist/web/.vite/manifest.json.br +0 -0
  27. package/dist/web/.vite/manifest.json.gz +0 -0
  28. package/dist/web/assets/abnfDiagram-N423BO3Z-BA9G7eND.js +1 -0
  29. package/dist/web/assets/abnfDiagram-N423BO3Z-BA9G7eND.js.br +0 -0
  30. package/dist/web/assets/abnfDiagram-N423BO3Z-BA9G7eND.js.gz +0 -0
  31. package/dist/web/assets/agent-settings-panel-K1YqqkJL.js +1 -0
  32. package/dist/web/assets/agent-settings-panel-K1YqqkJL.js.br +0 -0
  33. package/dist/web/assets/agent-settings-panel-K1YqqkJL.js.gz +0 -0
  34. package/dist/web/assets/architectureDiagram-T3A2C74G-hY1IIQ-y.js +36 -0
  35. package/dist/web/assets/architectureDiagram-T3A2C74G-hY1IIQ-y.js.br +0 -0
  36. package/dist/web/assets/architectureDiagram-T3A2C74G-hY1IIQ-y.js.gz +0 -0
  37. package/dist/web/assets/arrow-down-DoJlTckg.js +1 -0
  38. package/dist/web/assets/arrow-down-DoJlTckg.js.br +0 -0
  39. package/dist/web/assets/arrow-down-DoJlTckg.js.gz +0 -0
  40. package/dist/web/assets/{background-image-picker-D4xlUwrb.js → background-image-picker-BHqZ3SX1.js} +1 -1
  41. package/dist/web/assets/background-image-picker-BHqZ3SX1.js.br +0 -0
  42. package/dist/web/assets/background-image-picker-BHqZ3SX1.js.gz +0 -0
  43. package/dist/web/assets/{chunk-5RXB4S5H-BDaXxnei.js → chunk-5RXB4S5H-fg31GjQR.js} +1 -1
  44. package/dist/web/assets/chunk-5RXB4S5H-fg31GjQR.js.br +0 -0
  45. package/dist/web/assets/chunk-5RXB4S5H-fg31GjQR.js.gz +0 -0
  46. package/dist/web/assets/{chunk-6Q2QTUOP-BcTojajm.js → chunk-6Q2QTUOP-UGVxaGe-.js} +1 -1
  47. package/dist/web/assets/chunk-6Q2QTUOP-UGVxaGe-.js.br +0 -0
  48. package/dist/web/assets/chunk-6Q2QTUOP-UGVxaGe-.js.gz +0 -0
  49. package/dist/web/assets/{chunk-GF5L2VYU-XelwAXnk.js → chunk-GF5L2VYU-iTLU6Gbu.js} +2 -2
  50. package/dist/web/assets/chunk-GF5L2VYU-iTLU6Gbu.js.br +0 -0
  51. package/dist/web/assets/chunk-GF5L2VYU-iTLU6Gbu.js.gz +0 -0
  52. package/dist/web/assets/{chunk-JQJVKLGR-Cyok4-2b.js → chunk-JQJVKLGR-DzWAKhHq.js} +3 -3
  53. package/dist/web/assets/chunk-JQJVKLGR-DzWAKhHq.js.br +0 -0
  54. package/dist/web/assets/chunk-JQJVKLGR-DzWAKhHq.js.gz +0 -0
  55. package/dist/web/assets/classDiagram-JCYQIIEL-Cc_4r5xo.js +1 -0
  56. package/dist/web/assets/classDiagram-JCYQIIEL-Cc_4r5xo.js.br +0 -0
  57. package/dist/web/assets/classDiagram-JCYQIIEL-Cc_4r5xo.js.gz +0 -0
  58. package/dist/web/assets/classDiagram-v2-OCEON4UE-Cc_4r5xo.js +1 -0
  59. package/dist/web/assets/classDiagram-v2-OCEON4UE-Cc_4r5xo.js.br +0 -0
  60. package/dist/web/assets/classDiagram-v2-OCEON4UE-Cc_4r5xo.js.gz +0 -0
  61. package/dist/web/assets/{clipboard-BboqFbFl.js → clipboard-BxrWcnRh.js} +1 -1
  62. package/dist/web/assets/clipboard-BxrWcnRh.js.br +0 -0
  63. package/dist/web/assets/clipboard-BxrWcnRh.js.gz +0 -0
  64. package/dist/web/assets/{code-highlighter-BDJkbu1d.js → code-highlighter-DIfBIRTg.js} +1 -1
  65. package/dist/web/assets/code-highlighter-DIfBIRTg.js.br +0 -0
  66. package/dist/web/assets/code-highlighter-DIfBIRTg.js.gz +0 -0
  67. package/dist/web/assets/{commit-settings-panel-j2yqctr_.js → commit-settings-panel-B0i2Bqmu.js} +1 -1
  68. package/dist/web/assets/commit-settings-panel-B0i2Bqmu.js.br +0 -0
  69. package/dist/web/assets/commit-settings-panel-B0i2Bqmu.js.gz +0 -0
  70. package/dist/web/assets/cynefinDiagram-MW4NZA55-CarrAQe_.js +62 -0
  71. package/dist/web/assets/cynefinDiagram-MW4NZA55-CarrAQe_.js.br +0 -0
  72. package/dist/web/assets/cynefinDiagram-MW4NZA55-CarrAQe_.js.gz +0 -0
  73. package/dist/web/assets/{diagram-7IWD3JNH-BfnXF08-.js → diagram-7IWD3JNH-CHgQ34Br.js} +3 -3
  74. package/dist/web/assets/diagram-7IWD3JNH-CHgQ34Br.js.br +0 -0
  75. package/dist/web/assets/diagram-7IWD3JNH-CHgQ34Br.js.gz +0 -0
  76. package/dist/web/assets/diagram-B4RE2ZJO-qtdLm98R.js +3 -0
  77. package/dist/web/assets/diagram-B4RE2ZJO-qtdLm98R.js.br +0 -0
  78. package/dist/web/assets/diagram-B4RE2ZJO-qtdLm98R.js.gz +0 -0
  79. package/dist/web/assets/diagram-LBJQPF4R-Do0sclzV.js +24 -0
  80. package/dist/web/assets/diagram-LBJQPF4R-Do0sclzV.js.br +0 -0
  81. package/dist/web/assets/diagram-LBJQPF4R-Do0sclzV.js.gz +0 -0
  82. package/dist/web/assets/diagram-Q27KOJAE-CuX25bnK.js +24 -0
  83. package/dist/web/assets/diagram-Q27KOJAE-CuX25bnK.js.br +0 -0
  84. package/dist/web/assets/diagram-Q27KOJAE-CuX25bnK.js.gz +0 -0
  85. package/dist/web/assets/diagram-UB23O5K3-C8vf7TKH.js +41 -0
  86. package/dist/web/assets/diagram-UB23O5K3-C8vf7TKH.js.br +0 -0
  87. package/dist/web/assets/diagram-UB23O5K3-C8vf7TKH.js.gz +0 -0
  88. package/dist/web/assets/{dist-Ci1kbFbB.js → dist-D2KGXHMS.js} +1 -1
  89. package/dist/web/assets/dist-D2KGXHMS.js.br +0 -0
  90. package/dist/web/assets/dist-D2KGXHMS.js.gz +0 -0
  91. package/dist/web/assets/dist-DHnVkR1t.js +42 -0
  92. package/dist/web/assets/dist-DHnVkR1t.js.br +0 -0
  93. package/dist/web/assets/dist-DHnVkR1t.js.gz +0 -0
  94. package/dist/web/assets/{download-Bl7A9H6k.js → download-05FmZQzE.js} +1 -1
  95. package/dist/web/assets/download-05FmZQzE.js.br +0 -0
  96. package/dist/web/assets/download-05FmZQzE.js.gz +0 -0
  97. package/dist/web/assets/ebnfDiagram-BXEA7PRR-DctRYehy.js +1 -0
  98. package/dist/web/assets/ebnfDiagram-BXEA7PRR-DctRYehy.js.br +0 -0
  99. package/dist/web/assets/ebnfDiagram-BXEA7PRR-DctRYehy.js.gz +0 -0
  100. package/dist/web/assets/{erDiagram-JOGREHBK-BOKR1NS3.js → erDiagram-JOGREHBK-BkfLzWvS.js} +2 -2
  101. package/dist/web/assets/erDiagram-JOGREHBK-BkfLzWvS.js.br +0 -0
  102. package/dist/web/assets/{erDiagram-JOGREHBK-BOKR1NS3.js.gz → erDiagram-JOGREHBK-BkfLzWvS.js.gz} +0 -0
  103. package/dist/web/assets/{external-link-Dk0y44ny.js → external-link-DQSTtNhw.js} +1 -1
  104. package/dist/web/assets/external-link-DQSTtNhw.js.br +0 -0
  105. package/dist/web/assets/external-link-DQSTtNhw.js.gz +0 -0
  106. package/dist/web/assets/{file-navigation-view-preference-t7yCo7RL.js → file-navigation-view-preference-BYYgwRsz.js} +1 -1
  107. package/dist/web/assets/file-navigation-view-preference-BYYgwRsz.js.br +0 -0
  108. package/dist/web/assets/file-navigation-view-preference-BYYgwRsz.js.gz +0 -0
  109. package/dist/web/assets/file-review-dialog-B3jUcADI.js +2 -0
  110. package/dist/web/assets/file-review-dialog-B3jUcADI.js.br +0 -0
  111. package/dist/web/assets/file-review-dialog-B3jUcADI.js.gz +0 -0
  112. package/dist/web/assets/{flowDiagram-UKHOOZJN-CEamRwMR.js → flowDiagram-UKHOOZJN-CQWRJfj_.js} +1 -1
  113. package/dist/web/assets/flowDiagram-UKHOOZJN-CQWRJfj_.js.br +0 -0
  114. package/dist/web/assets/flowDiagram-UKHOOZJN-CQWRJfj_.js.gz +0 -0
  115. package/dist/web/assets/git-commit-review-Bz_j3wJo.js +2 -0
  116. package/dist/web/assets/git-commit-review-Bz_j3wJo.js.br +0 -0
  117. package/dist/web/assets/git-commit-review-Bz_j3wJo.js.gz +0 -0
  118. package/dist/web/assets/{git-fork-5Bj0CoPx.js → git-fork-CElzN7bT.js} +1 -1
  119. package/dist/web/assets/git-fork-CElzN7bT.js.br +1 -0
  120. package/dist/web/assets/git-fork-CElzN7bT.js.gz +0 -0
  121. package/dist/web/assets/git-history-panel-Bk5XtV-h.js +1 -0
  122. package/dist/web/assets/git-history-panel-Bk5XtV-h.js.br +0 -0
  123. package/dist/web/assets/git-history-panel-Bk5XtV-h.js.gz +0 -0
  124. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-JH4oE096.js +106 -0
  125. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-JH4oE096.js.br +0 -0
  126. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-JH4oE096.js.gz +0 -0
  127. package/dist/web/assets/global-search-dialog-nP5Zoo16.js +2 -0
  128. package/dist/web/assets/global-search-dialog-nP5Zoo16.js.br +0 -0
  129. package/dist/web/assets/global-search-dialog-nP5Zoo16.js.gz +0 -0
  130. package/dist/web/assets/global-settings-about-Bdzkr5Fi.js +1 -0
  131. package/dist/web/assets/global-settings-about-Bdzkr5Fi.js.br +0 -0
  132. package/dist/web/assets/global-settings-about-Bdzkr5Fi.js.gz +0 -0
  133. package/dist/web/assets/global-settings-page-Bm6WTYej.js +2 -0
  134. package/dist/web/assets/global-settings-page-Bm6WTYej.js.br +0 -0
  135. package/dist/web/assets/global-settings-page-Bm6WTYej.js.gz +0 -0
  136. package/dist/web/assets/{global-settings-pets-hPG36aUL.js → global-settings-pets-ChV29f_6.js} +1 -1
  137. package/dist/web/assets/global-settings-pets-ChV29f_6.js.br +0 -0
  138. package/dist/web/assets/global-settings-pets-ChV29f_6.js.gz +0 -0
  139. package/dist/web/assets/{highlighted-body-OFNGDK62-CoO9fhim.js → highlighted-body-OFNGDK62-D1VJUKau.js} +1 -1
  140. package/dist/web/assets/highlighted-body-OFNGDK62-D1VJUKau.js.br +0 -0
  141. package/dist/web/assets/highlighted-body-OFNGDK62-D1VJUKau.js.gz +0 -0
  142. package/dist/web/assets/{history-location-Cu79COFx.js → history-location-C2XDYAuy.js} +1 -1
  143. package/dist/web/assets/history-location-C2XDYAuy.js.br +0 -0
  144. package/dist/web/assets/history-location-C2XDYAuy.js.gz +0 -0
  145. package/dist/web/assets/{history-task-timeline-CQphWf0m.js → history-task-timeline-CphChwX0.js} +1 -1
  146. package/dist/web/assets/history-task-timeline-CphChwX0.js.br +0 -0
  147. package/dist/web/assets/history-task-timeline-CphChwX0.js.gz +0 -0
  148. package/dist/web/assets/image-preview-CZiY9KQs.js +2 -0
  149. package/dist/web/assets/image-preview-CZiY9KQs.js.br +4 -0
  150. package/dist/web/assets/image-preview-CZiY9KQs.js.gz +0 -0
  151. package/dist/web/assets/image-preview-content-D54Quns6.js +41 -0
  152. package/dist/web/assets/image-preview-content-D54Quns6.js.br +0 -0
  153. package/dist/web/assets/image-preview-content-D54Quns6.js.gz +0 -0
  154. package/dist/web/assets/index-BJqxQCE6.css +2 -0
  155. package/dist/web/assets/index-BJqxQCE6.css.br +0 -0
  156. package/dist/web/assets/index-BJqxQCE6.css.gz +0 -0
  157. package/dist/web/assets/index-CV7PO8FJ.js +4 -0
  158. package/dist/web/assets/index-CV7PO8FJ.js.br +0 -0
  159. package/dist/web/assets/index-CV7PO8FJ.js.gz +0 -0
  160. package/dist/web/assets/infoDiagram-6WML65LV-smD1e7u3.js +2 -0
  161. package/dist/web/assets/infoDiagram-6WML65LV-smD1e7u3.js.br +0 -0
  162. package/dist/web/assets/infoDiagram-6WML65LV-smD1e7u3.js.gz +0 -0
  163. package/dist/web/assets/{initial-deps-DlvNWQT2.js → initial-deps-B8FrcWWN.js} +11 -11
  164. package/dist/web/assets/initial-deps-B8FrcWWN.js.br +0 -0
  165. package/dist/web/assets/{initial-deps-DlvNWQT2.js.gz → initial-deps-B8FrcWWN.js.gz} +0 -0
  166. package/dist/web/assets/initial-deps-CW5Jl6i2.js +1 -0
  167. package/dist/web/assets/initial-deps-CW5Jl6i2.js.br +0 -0
  168. package/dist/web/assets/initial-deps-CW5Jl6i2.js.gz +0 -0
  169. package/dist/web/assets/initial-deps-Cppvl2Gz.js +1 -0
  170. package/dist/web/assets/initial-deps-Cppvl2Gz.js.br +0 -0
  171. package/dist/web/assets/initial-deps-Cppvl2Gz.js.gz +0 -0
  172. package/dist/web/assets/initial-deps-DElr8S4a.js +2 -0
  173. package/dist/web/assets/initial-deps-DElr8S4a.js.br +0 -0
  174. package/dist/web/assets/initial-deps-DElr8S4a.js.gz +0 -0
  175. package/dist/web/assets/initial-deps-DFOart6r.js +1 -0
  176. package/dist/web/assets/initial-deps-DFOart6r.js.br +0 -0
  177. package/dist/web/assets/initial-deps-DFOart6r.js.gz +0 -0
  178. package/dist/web/assets/initial-deps-DZ-sH4cr.js +1 -0
  179. package/dist/web/assets/initial-deps-DZ-sH4cr.js.br +0 -0
  180. package/dist/web/assets/initial-deps-DZ-sH4cr.js.gz +0 -0
  181. package/dist/web/assets/{installed-skills-pane-DBJ_KuXN.js → installed-skills-pane-DnKCXx4r.js} +1 -1
  182. package/dist/web/assets/installed-skills-pane-DnKCXx4r.js.br +0 -0
  183. package/dist/web/assets/installed-skills-pane-DnKCXx4r.js.gz +0 -0
  184. package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-CcWhd8w9.js → ishikawaDiagram-WSZJBQD7-BMJ0kCX-.js} +1 -1
  185. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BMJ0kCX-.js.br +0 -0
  186. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BMJ0kCX-.js.gz +0 -0
  187. package/dist/web/assets/{kanban-definition-27J2QSJJ-DEkge27F.js → kanban-definition-27J2QSJJ-pQQ3ybGq.js} +3 -3
  188. package/dist/web/assets/kanban-definition-27J2QSJJ-pQQ3ybGq.js.br +0 -0
  189. package/dist/web/assets/kanban-definition-27J2QSJJ-pQQ3ybGq.js.gz +0 -0
  190. package/dist/web/assets/lazy-message-response-S2-ZO_oT.js +2 -0
  191. package/dist/web/assets/lazy-message-response-S2-ZO_oT.js.br +0 -0
  192. package/dist/web/assets/lazy-message-response-S2-ZO_oT.js.gz +0 -0
  193. package/dist/web/assets/{maximize-2-B5zOTtsd.js → maximize-2-CawekEKe.js} +1 -1
  194. package/dist/web/assets/maximize-2-CawekEKe.js.br +0 -0
  195. package/dist/web/assets/maximize-2-CawekEKe.js.gz +0 -0
  196. package/dist/web/assets/mcp-management-pane-CAcqH6Ft.js +1 -0
  197. package/dist/web/assets/mcp-management-pane-CAcqH6Ft.js.br +0 -0
  198. package/dist/web/assets/mcp-management-pane-CAcqH6Ft.js.gz +0 -0
  199. package/dist/web/assets/mermaid-GHXKKRXX-CRcc_eOq.js +1 -0
  200. package/dist/web/assets/mermaid-GHXKKRXX-CRcc_eOq.js.br +1 -0
  201. package/dist/web/assets/mermaid-GHXKKRXX-CRcc_eOq.js.gz +0 -0
  202. package/dist/web/assets/message-assistant-directive-7AH4Pn2V.js +3 -0
  203. package/dist/web/assets/message-assistant-directive-7AH4Pn2V.js.br +0 -0
  204. package/dist/web/assets/message-assistant-directive-7AH4Pn2V.js.gz +0 -0
  205. package/dist/web/assets/message-response-D6AZoXZR.js +151 -0
  206. package/dist/web/assets/message-response-D6AZoXZR.js.br +0 -0
  207. package/dist/web/assets/message-response-D6AZoXZR.js.gz +0 -0
  208. package/dist/web/assets/{mindmap-definition-FAOFIHXS-DubrGaue.js → mindmap-definition-FAOFIHXS-CgQ5woK5.js} +2 -2
  209. package/dist/web/assets/mindmap-definition-FAOFIHXS-CgQ5woK5.js.br +0 -0
  210. package/dist/web/assets/mindmap-definition-FAOFIHXS-CgQ5woK5.js.gz +0 -0
  211. package/dist/web/assets/official-plugins-pane-CBk4rbLt.js +1 -0
  212. package/dist/web/assets/official-plugins-pane-CBk4rbLt.js.br +0 -0
  213. package/dist/web/assets/official-plugins-pane-CBk4rbLt.js.gz +0 -0
  214. package/dist/web/assets/patch-diff-viewer-nIzfWkKE.js +1409 -0
  215. package/dist/web/assets/patch-diff-viewer-nIzfWkKE.js.br +0 -0
  216. package/dist/web/assets/patch-diff-viewer-nIzfWkKE.js.gz +0 -0
  217. package/dist/web/assets/pdf-preview-Zrj4u-KR.js +3 -0
  218. package/dist/web/assets/pdf-preview-Zrj4u-KR.js.br +0 -0
  219. package/dist/web/assets/pdf-preview-Zrj4u-KR.js.gz +0 -0
  220. package/dist/web/assets/pegDiagram-VL7TDLO6-CEECg9Qv.js +1 -0
  221. package/dist/web/assets/pegDiagram-VL7TDLO6-CEECg9Qv.js.br +0 -0
  222. package/dist/web/assets/pegDiagram-VL7TDLO6-CEECg9Qv.js.gz +0 -0
  223. package/dist/web/assets/{personalization-settings-panel-Br7qXDQ7.js → personalization-settings-panel-D3OqsNUV.js} +1 -1
  224. package/dist/web/assets/personalization-settings-panel-D3OqsNUV.js.br +0 -0
  225. package/dist/web/assets/personalization-settings-panel-D3OqsNUV.js.gz +0 -0
  226. package/dist/web/assets/pieDiagram-7S7Q4E2Y-C3L4IYmx.js +39 -0
  227. package/dist/web/assets/pieDiagram-7S7Q4E2Y-C3L4IYmx.js.br +0 -0
  228. package/dist/web/assets/pieDiagram-7S7Q4E2Y-C3L4IYmx.js.gz +0 -0
  229. package/dist/web/assets/{project-file-popup-page-CmNJLTSV.js → project-file-popup-page-7yzFqPZq.js} +1 -1
  230. package/dist/web/assets/project-file-popup-page-7yzFqPZq.js.br +0 -0
  231. package/dist/web/assets/project-file-popup-page-7yzFqPZq.js.gz +0 -0
  232. package/dist/web/assets/project-source-panel-C1tTwC1j.js +2 -0
  233. package/dist/web/assets/project-source-panel-C1tTwC1j.js.br +0 -0
  234. package/dist/web/assets/project-source-panel-C1tTwC1j.js.gz +0 -0
  235. package/dist/web/assets/{prompt-input-Brfimssc.js → prompt-input--2KQl6SR.js} +1 -1
  236. package/dist/web/assets/prompt-input--2KQl6SR.js.br +0 -0
  237. package/dist/web/assets/prompt-input--2KQl6SR.js.gz +0 -0
  238. package/dist/web/assets/railroadDiagram-AXF67PYL-CXSGJisB.js +1 -0
  239. package/dist/web/assets/railroadDiagram-AXF67PYL-CXSGJisB.js.br +0 -0
  240. package/dist/web/assets/railroadDiagram-AXF67PYL-CXSGJisB.js.gz +0 -0
  241. package/dist/web/assets/{requirementDiagram-LRYGKXZP-CG8KWt_j.js → requirementDiagram-LRYGKXZP-uB3tW141.js} +2 -2
  242. package/dist/web/assets/requirementDiagram-LRYGKXZP-uB3tW141.js.br +0 -0
  243. package/dist/web/assets/requirementDiagram-LRYGKXZP-uB3tW141.js.gz +0 -0
  244. package/dist/web/assets/resources-en-CNO1wrxl.js +1 -0
  245. package/dist/web/assets/resources-en-CNO1wrxl.js.br +0 -0
  246. package/dist/web/assets/resources-en-CNO1wrxl.js.gz +0 -0
  247. package/dist/web/assets/scan-DyLrpouW.js +1 -0
  248. package/dist/web/assets/scan-DyLrpouW.js.br +3 -0
  249. package/dist/web/assets/scan-DyLrpouW.js.gz +0 -0
  250. package/dist/web/assets/{scheduled-task-date-time-picker-DeOtns9O.js → scheduled-task-date-time-picker-BVYVGT78.js} +1 -1
  251. package/dist/web/assets/scheduled-task-date-time-picker-BVYVGT78.js.br +0 -0
  252. package/dist/web/assets/scheduled-task-date-time-picker-BVYVGT78.js.gz +0 -0
  253. package/dist/web/assets/{scheduled-task-floating-ui~scheduled-task-date-time-picker-CbWhx_7u.js → scheduled-task-floating-ui~scheduled-task-date-time-picker-wwPq7k9m.js} +1 -1
  254. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-wwPq7k9m.js.br +0 -0
  255. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-wwPq7k9m.js.gz +0 -0
  256. package/dist/web/assets/scheduled-tasks-BBUd86IL.js +1 -0
  257. package/dist/web/assets/scheduled-tasks-BBUd86IL.js.br +0 -0
  258. package/dist/web/assets/scheduled-tasks-BBUd86IL.js.gz +0 -0
  259. package/dist/web/assets/scheduled-tasks-container-CQkfAgKW.js +2 -0
  260. package/dist/web/assets/scheduled-tasks-container-CQkfAgKW.js.br +0 -0
  261. package/dist/web/assets/scheduled-tasks-container-CQkfAgKW.js.gz +0 -0
  262. package/dist/web/assets/{sequenceDiagram-SI44F4Z6-DbZoTul2.js → sequenceDiagram-SI44F4Z6-BikVJyrh.js} +2 -2
  263. package/dist/web/assets/sequenceDiagram-SI44F4Z6-BikVJyrh.js.br +0 -0
  264. package/dist/web/assets/sequenceDiagram-SI44F4Z6-BikVJyrh.js.gz +0 -0
  265. package/dist/web/assets/{shiki-bundle-BlbGsyMZ.js → shiki-bundle-COC_j-nR.js} +1 -1
  266. package/dist/web/assets/shiki-bundle-COC_j-nR.js.br +3 -0
  267. package/dist/web/assets/shiki-bundle-COC_j-nR.js.gz +0 -0
  268. package/dist/web/assets/skills-market-container-_ME3wZFP.js +2 -0
  269. package/dist/web/assets/skills-market-container-_ME3wZFP.js.br +0 -0
  270. package/dist/web/assets/skills-market-container-_ME3wZFP.js.gz +0 -0
  271. package/dist/web/assets/{sliders-horizontal-CPjDJLH6.js → sliders-horizontal-C6QQuWdW.js} +1 -1
  272. package/dist/web/assets/sliders-horizontal-C6QQuWdW.js.br +0 -0
  273. package/dist/web/assets/sliders-horizontal-C6QQuWdW.js.gz +0 -0
  274. package/dist/web/assets/{split-workspace-menu-content-rImPq6wj.js → split-workspace-menu-content-CkpZv1Nz.js} +1 -1
  275. package/dist/web/assets/split-workspace-menu-content-CkpZv1Nz.js.br +0 -0
  276. package/dist/web/assets/split-workspace-menu-content-CkpZv1Nz.js.gz +0 -0
  277. package/dist/web/assets/stateDiagram-OKZ733FA-CBWRnaGO.js +1 -0
  278. package/dist/web/assets/stateDiagram-OKZ733FA-CBWRnaGO.js.br +0 -0
  279. package/dist/web/assets/stateDiagram-OKZ733FA-CBWRnaGO.js.gz +0 -0
  280. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CJYWLmtB.js +1 -0
  281. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CJYWLmtB.js.br +0 -0
  282. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-CJYWLmtB.js.gz +0 -0
  283. package/dist/web/assets/{swimlanesDiagram-ULZ7WXOC-RILHYzJF.js → swimlanesDiagram-ULZ7WXOC-5agQ3ner.js} +1 -1
  284. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-5agQ3ner.js.br +0 -0
  285. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-5agQ3ner.js.gz +0 -0
  286. package/dist/web/assets/third-party-marketplace-pane-D3AJNSoF.js +1 -0
  287. package/dist/web/assets/third-party-marketplace-pane-D3AJNSoF.js.br +0 -0
  288. package/dist/web/assets/third-party-marketplace-pane-D3AJNSoF.js.gz +0 -0
  289. package/dist/web/assets/{timeline-definition-Z64GVDOM-BQMes8Ld.js → timeline-definition-Z64GVDOM-D_09Q10V.js} +1 -1
  290. package/dist/web/assets/timeline-definition-Z64GVDOM-D_09Q10V.js.br +0 -0
  291. package/dist/web/assets/timeline-definition-Z64GVDOM-D_09Q10V.js.gz +0 -0
  292. package/dist/web/assets/{upload-BmVXQDIq.js → upload-BQhbr7lC.js} +1 -1
  293. package/dist/web/assets/upload-BQhbr7lC.js.br +0 -0
  294. package/dist/web/assets/upload-BQhbr7lC.js.gz +0 -0
  295. package/dist/web/assets/{vennDiagram-T6HMQDX7-qBMuOWPn.js → vennDiagram-T6HMQDX7-3WtBk1Fg.js} +1 -1
  296. package/dist/web/assets/vennDiagram-T6HMQDX7-3WtBk1Fg.js.br +0 -0
  297. package/dist/web/assets/vennDiagram-T6HMQDX7-3WtBk1Fg.js.gz +0 -0
  298. package/dist/web/assets/{wardleyDiagram-T6FBY63Y-BXVFrJeX.js → wardleyDiagram-T6FBY63Y-DBIzys3u.js} +3 -3
  299. package/dist/web/assets/wardleyDiagram-T6FBY63Y-DBIzys3u.js.br +0 -0
  300. package/dist/web/assets/wardleyDiagram-T6FBY63Y-DBIzys3u.js.gz +0 -0
  301. package/dist/web/assets/workbench-inspector-changes-DSbBqbXe.js +1 -0
  302. package/dist/web/assets/workbench-inspector-changes-DSbBqbXe.js.br +0 -0
  303. package/dist/web/assets/workbench-inspector-changes-DSbBqbXe.js.gz +0 -0
  304. package/dist/web/assets/{workbench-pet-canvas-BM6S31jL.js → workbench-pet-canvas-Ct1J6Adp.js} +1 -1
  305. package/dist/web/assets/workbench-pet-canvas-Ct1J6Adp.js.br +0 -0
  306. package/dist/web/assets/workbench-pet-canvas-Ct1J6Adp.js.gz +0 -0
  307. package/dist/web/assets/workbench-shell-CP0njkD8.js +16 -0
  308. package/dist/web/assets/workbench-shell-CP0njkD8.js.br +0 -0
  309. package/dist/web/assets/workbench-shell-CP0njkD8.js.gz +0 -0
  310. package/dist/web/assets/{xychartDiagram-ELKLHX3M-DT2u1V83.js → xychartDiagram-ELKLHX3M-DwDj5q-W.js} +1 -1
  311. package/dist/web/assets/xychartDiagram-ELKLHX3M-DwDj5q-W.js.br +0 -0
  312. package/dist/web/assets/xychartDiagram-ELKLHX3M-DwDj5q-W.js.gz +0 -0
  313. package/dist/web/index.html +9 -7
  314. package/dist/web/index.html.br +0 -0
  315. package/dist/web/index.html.gz +0 -0
  316. package/docs/git-workflow.md +59 -0
  317. package/docs/model-context-window.md +31 -0
  318. package/docs/web-autostart.md +104 -0
  319. package/docs/web-autostart.zh-CN.md +104 -0
  320. package/package.json +5 -1
  321. package/dist/chunk-6TW6YUSL.js +0 -74005
  322. package/dist/chunk-BRKY2HKI.js +0 -6072
  323. package/dist/chunk-GBLVWFLZ.js +0 -23
  324. package/dist/chunk-GT7XTSEG.js +0 -56
  325. package/dist/chunk-K6J42667.js +0 -43
  326. package/dist/chunk-OM52Z4J7.js +0 -3360
  327. package/dist/chunk-REIMOLGX.js +0 -317
  328. package/dist/chunk-RGMQBXXC.js +0 -16146
  329. package/dist/dist-NGSIFQU5.js +0 -252
  330. package/dist/runtime-instance-worker.js +0 -19
  331. package/dist/web/assets/abnfDiagram-N423BO3Z-DjEUmHES.js +0 -1
  332. package/dist/web/assets/abnfDiagram-N423BO3Z-DjEUmHES.js.br +0 -0
  333. package/dist/web/assets/abnfDiagram-N423BO3Z-DjEUmHES.js.gz +0 -0
  334. package/dist/web/assets/agent-settings-panel-CuLgzC2n.js +0 -1
  335. package/dist/web/assets/agent-settings-panel-CuLgzC2n.js.br +0 -0
  336. package/dist/web/assets/agent-settings-panel-CuLgzC2n.js.gz +0 -0
  337. package/dist/web/assets/architectureDiagram-T3A2C74G-DNtnW8Fq.js +0 -36
  338. package/dist/web/assets/architectureDiagram-T3A2C74G-DNtnW8Fq.js.br +0 -0
  339. package/dist/web/assets/architectureDiagram-T3A2C74G-DNtnW8Fq.js.gz +0 -0
  340. package/dist/web/assets/arrow-down-BqiCeaan.js +0 -1
  341. package/dist/web/assets/arrow-down-BqiCeaan.js.br +0 -0
  342. package/dist/web/assets/arrow-down-BqiCeaan.js.gz +0 -0
  343. package/dist/web/assets/background-image-picker-D4xlUwrb.js.br +0 -0
  344. package/dist/web/assets/background-image-picker-D4xlUwrb.js.gz +0 -0
  345. package/dist/web/assets/chunk-5RXB4S5H-BDaXxnei.js.br +0 -0
  346. package/dist/web/assets/chunk-5RXB4S5H-BDaXxnei.js.gz +0 -0
  347. package/dist/web/assets/chunk-6Q2QTUOP-BcTojajm.js.br +0 -0
  348. package/dist/web/assets/chunk-6Q2QTUOP-BcTojajm.js.gz +0 -0
  349. package/dist/web/assets/chunk-GF5L2VYU-XelwAXnk.js.br +0 -0
  350. package/dist/web/assets/chunk-GF5L2VYU-XelwAXnk.js.gz +0 -0
  351. package/dist/web/assets/chunk-JQJVKLGR-Cyok4-2b.js.br +0 -0
  352. package/dist/web/assets/chunk-JQJVKLGR-Cyok4-2b.js.gz +0 -0
  353. package/dist/web/assets/classDiagram-JCYQIIEL-B9HBTIG7.js +0 -1
  354. package/dist/web/assets/classDiagram-JCYQIIEL-B9HBTIG7.js.br +0 -0
  355. package/dist/web/assets/classDiagram-JCYQIIEL-B9HBTIG7.js.gz +0 -0
  356. package/dist/web/assets/classDiagram-v2-OCEON4UE-B9HBTIG7.js +0 -1
  357. package/dist/web/assets/classDiagram-v2-OCEON4UE-B9HBTIG7.js.br +0 -0
  358. package/dist/web/assets/classDiagram-v2-OCEON4UE-B9HBTIG7.js.gz +0 -0
  359. package/dist/web/assets/clipboard-BboqFbFl.js.br +0 -0
  360. package/dist/web/assets/clipboard-BboqFbFl.js.gz +0 -0
  361. package/dist/web/assets/code-highlighter-BDJkbu1d.js.br +0 -0
  362. package/dist/web/assets/code-highlighter-BDJkbu1d.js.gz +0 -0
  363. package/dist/web/assets/commit-settings-panel-j2yqctr_.js.br +0 -0
  364. package/dist/web/assets/commit-settings-panel-j2yqctr_.js.gz +0 -0
  365. package/dist/web/assets/cynefinDiagram-MW4NZA55-D9tIBEvv.js +0 -62
  366. package/dist/web/assets/cynefinDiagram-MW4NZA55-D9tIBEvv.js.br +0 -0
  367. package/dist/web/assets/cynefinDiagram-MW4NZA55-D9tIBEvv.js.gz +0 -0
  368. package/dist/web/assets/diagram-7IWD3JNH-BfnXF08-.js.br +0 -0
  369. package/dist/web/assets/diagram-7IWD3JNH-BfnXF08-.js.gz +0 -0
  370. package/dist/web/assets/diagram-B4RE2ZJO-Ct90H1dH.js +0 -3
  371. package/dist/web/assets/diagram-B4RE2ZJO-Ct90H1dH.js.br +0 -0
  372. package/dist/web/assets/diagram-B4RE2ZJO-Ct90H1dH.js.gz +0 -0
  373. package/dist/web/assets/diagram-LBJQPF4R-BlYQtbyl.js +0 -24
  374. package/dist/web/assets/diagram-LBJQPF4R-BlYQtbyl.js.br +0 -0
  375. package/dist/web/assets/diagram-LBJQPF4R-BlYQtbyl.js.gz +0 -0
  376. package/dist/web/assets/diagram-Q27KOJAE-CDWObxjb.js +0 -24
  377. package/dist/web/assets/diagram-Q27KOJAE-CDWObxjb.js.br +0 -0
  378. package/dist/web/assets/diagram-Q27KOJAE-CDWObxjb.js.gz +0 -0
  379. package/dist/web/assets/diagram-UB23O5K3-DJnddvpy.js +0 -41
  380. package/dist/web/assets/diagram-UB23O5K3-DJnddvpy.js.br +0 -0
  381. package/dist/web/assets/diagram-UB23O5K3-DJnddvpy.js.gz +0 -0
  382. package/dist/web/assets/dist-Ci1kbFbB.js.br +0 -0
  383. package/dist/web/assets/dist-Ci1kbFbB.js.gz +0 -0
  384. package/dist/web/assets/download-Bl7A9H6k.js.br +0 -0
  385. package/dist/web/assets/download-Bl7A9H6k.js.gz +0 -0
  386. package/dist/web/assets/ebnfDiagram-BXEA7PRR-D_b18zMS.js +0 -1
  387. package/dist/web/assets/ebnfDiagram-BXEA7PRR-D_b18zMS.js.br +0 -0
  388. package/dist/web/assets/ebnfDiagram-BXEA7PRR-D_b18zMS.js.gz +0 -0
  389. package/dist/web/assets/erDiagram-JOGREHBK-BOKR1NS3.js.br +0 -0
  390. package/dist/web/assets/external-link-Dk0y44ny.js.br +0 -0
  391. package/dist/web/assets/external-link-Dk0y44ny.js.gz +0 -0
  392. package/dist/web/assets/file-navigation-view-preference-t7yCo7RL.js.br +0 -0
  393. package/dist/web/assets/file-navigation-view-preference-t7yCo7RL.js.gz +0 -0
  394. package/dist/web/assets/file-review-dialog-DvgO1Ae8.js +0 -2
  395. package/dist/web/assets/file-review-dialog-DvgO1Ae8.js.br +0 -0
  396. package/dist/web/assets/file-review-dialog-DvgO1Ae8.js.gz +0 -0
  397. package/dist/web/assets/flowDiagram-UKHOOZJN-CEamRwMR.js.br +0 -0
  398. package/dist/web/assets/flowDiagram-UKHOOZJN-CEamRwMR.js.gz +0 -0
  399. package/dist/web/assets/git-commit-review-D5ge3jwI.js +0 -2
  400. package/dist/web/assets/git-commit-review-D5ge3jwI.js.br +0 -0
  401. package/dist/web/assets/git-commit-review-D5ge3jwI.js.gz +0 -0
  402. package/dist/web/assets/git-fork-5Bj0CoPx.js.br +0 -1
  403. package/dist/web/assets/git-fork-5Bj0CoPx.js.gz +0 -0
  404. package/dist/web/assets/git-history-panel-DsGqR_Zc.js +0 -1
  405. package/dist/web/assets/git-history-panel-DsGqR_Zc.js.br +0 -0
  406. package/dist/web/assets/git-history-panel-DsGqR_Zc.js.gz +0 -0
  407. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-CuMvIZdK.js +0 -106
  408. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-CuMvIZdK.js.br +0 -0
  409. package/dist/web/assets/gitGraphDiagram-DS77QQ5N-CuMvIZdK.js.gz +0 -0
  410. package/dist/web/assets/global-search-dialog-JzDBjqX4.js +0 -2
  411. package/dist/web/assets/global-search-dialog-JzDBjqX4.js.br +0 -0
  412. package/dist/web/assets/global-search-dialog-JzDBjqX4.js.gz +0 -0
  413. package/dist/web/assets/global-settings-about-CULXi1Dn.js +0 -1
  414. package/dist/web/assets/global-settings-about-CULXi1Dn.js.br +0 -0
  415. package/dist/web/assets/global-settings-about-CULXi1Dn.js.gz +0 -0
  416. package/dist/web/assets/global-settings-page-AK_j6aZC.js +0 -2
  417. package/dist/web/assets/global-settings-page-AK_j6aZC.js.br +0 -0
  418. package/dist/web/assets/global-settings-page-AK_j6aZC.js.gz +0 -0
  419. package/dist/web/assets/global-settings-pets-hPG36aUL.js.br +0 -0
  420. package/dist/web/assets/global-settings-pets-hPG36aUL.js.gz +0 -0
  421. package/dist/web/assets/highlighted-body-OFNGDK62-CoO9fhim.js.br +0 -0
  422. package/dist/web/assets/highlighted-body-OFNGDK62-CoO9fhim.js.gz +0 -0
  423. package/dist/web/assets/history-location-Cu79COFx.js.br +0 -0
  424. package/dist/web/assets/history-location-Cu79COFx.js.gz +0 -0
  425. package/dist/web/assets/history-task-timeline-CQphWf0m.js.br +0 -0
  426. package/dist/web/assets/history-task-timeline-CQphWf0m.js.gz +0 -0
  427. package/dist/web/assets/image-preview-Dtx8uVmp.js +0 -2
  428. package/dist/web/assets/image-preview-Dtx8uVmp.js.br +0 -0
  429. package/dist/web/assets/image-preview-Dtx8uVmp.js.gz +0 -0
  430. package/dist/web/assets/image-preview-content-zLsEpLCA.js +0 -41
  431. package/dist/web/assets/image-preview-content-zLsEpLCA.js.br +0 -0
  432. package/dist/web/assets/image-preview-content-zLsEpLCA.js.gz +0 -0
  433. package/dist/web/assets/index-BUv6KmcO.css +0 -2
  434. package/dist/web/assets/index-BUv6KmcO.css.br +0 -0
  435. package/dist/web/assets/index-BUv6KmcO.css.gz +0 -0
  436. package/dist/web/assets/index-DR8WqP5v.js +0 -4
  437. package/dist/web/assets/index-DR8WqP5v.js.br +0 -0
  438. package/dist/web/assets/index-DR8WqP5v.js.gz +0 -0
  439. package/dist/web/assets/infoDiagram-6WML65LV-DegAUKx4.js +0 -2
  440. package/dist/web/assets/infoDiagram-6WML65LV-DegAUKx4.js.br +0 -0
  441. package/dist/web/assets/infoDiagram-6WML65LV-DegAUKx4.js.gz +0 -0
  442. package/dist/web/assets/initial-deps-Be-R---T.js +0 -1
  443. package/dist/web/assets/initial-deps-Be-R---T.js.br +0 -0
  444. package/dist/web/assets/initial-deps-Be-R---T.js.gz +0 -0
  445. package/dist/web/assets/initial-deps-DRuEePWq.js +0 -2
  446. package/dist/web/assets/initial-deps-DRuEePWq.js.br +0 -0
  447. package/dist/web/assets/initial-deps-DRuEePWq.js.gz +0 -0
  448. package/dist/web/assets/initial-deps-Dk9v1WhK.js +0 -1
  449. package/dist/web/assets/initial-deps-Dk9v1WhK.js.br +0 -0
  450. package/dist/web/assets/initial-deps-Dk9v1WhK.js.gz +0 -0
  451. package/dist/web/assets/initial-deps-DlvNWQT2.js.br +0 -0
  452. package/dist/web/assets/installed-skills-pane-DBJ_KuXN.js.br +0 -0
  453. package/dist/web/assets/installed-skills-pane-DBJ_KuXN.js.gz +0 -0
  454. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-CcWhd8w9.js.br +0 -0
  455. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-CcWhd8w9.js.gz +0 -0
  456. package/dist/web/assets/kanban-definition-27J2QSJJ-DEkge27F.js.br +0 -0
  457. package/dist/web/assets/kanban-definition-27J2QSJJ-DEkge27F.js.gz +0 -0
  458. package/dist/web/assets/lazy-message-response-3j-D3CVS.js +0 -2
  459. package/dist/web/assets/lazy-message-response-3j-D3CVS.js.br +0 -0
  460. package/dist/web/assets/lazy-message-response-3j-D3CVS.js.gz +0 -0
  461. package/dist/web/assets/maximize-2-B5zOTtsd.js.br +0 -0
  462. package/dist/web/assets/maximize-2-B5zOTtsd.js.gz +0 -0
  463. package/dist/web/assets/mcp-management-pane-16qr0aVZ.js +0 -1
  464. package/dist/web/assets/mcp-management-pane-16qr0aVZ.js.br +0 -0
  465. package/dist/web/assets/mcp-management-pane-16qr0aVZ.js.gz +0 -0
  466. package/dist/web/assets/mermaid-GHXKKRXX-kGjGANId.js +0 -1
  467. package/dist/web/assets/mermaid-GHXKKRXX-kGjGANId.js.br +0 -0
  468. package/dist/web/assets/mermaid-GHXKKRXX-kGjGANId.js.gz +0 -0
  469. package/dist/web/assets/message-response-DWYIVlqg.js +0 -188
  470. package/dist/web/assets/message-response-DWYIVlqg.js.br +0 -0
  471. package/dist/web/assets/message-response-DWYIVlqg.js.gz +0 -0
  472. package/dist/web/assets/mindmap-definition-FAOFIHXS-DubrGaue.js.br +0 -0
  473. package/dist/web/assets/mindmap-definition-FAOFIHXS-DubrGaue.js.gz +0 -0
  474. package/dist/web/assets/official-plugins-pane-vADxh_le.js +0 -1
  475. package/dist/web/assets/official-plugins-pane-vADxh_le.js.br +0 -0
  476. package/dist/web/assets/official-plugins-pane-vADxh_le.js.gz +0 -0
  477. package/dist/web/assets/patch-diff-viewer-C5hjChAK.js +0 -1409
  478. package/dist/web/assets/patch-diff-viewer-C5hjChAK.js.br +0 -0
  479. package/dist/web/assets/patch-diff-viewer-C5hjChAK.js.gz +0 -0
  480. package/dist/web/assets/pdf-preview-BG-XpATo.js +0 -3
  481. package/dist/web/assets/pdf-preview-BG-XpATo.js.br +0 -0
  482. package/dist/web/assets/pdf-preview-BG-XpATo.js.gz +0 -0
  483. package/dist/web/assets/pegDiagram-VL7TDLO6-CJodWN8I.js +0 -1
  484. package/dist/web/assets/pegDiagram-VL7TDLO6-CJodWN8I.js.br +0 -0
  485. package/dist/web/assets/pegDiagram-VL7TDLO6-CJodWN8I.js.gz +0 -0
  486. package/dist/web/assets/personalization-settings-panel-Br7qXDQ7.js.br +0 -0
  487. package/dist/web/assets/personalization-settings-panel-Br7qXDQ7.js.gz +0 -0
  488. package/dist/web/assets/pieDiagram-7S7Q4E2Y-CHATPeJh.js +0 -39
  489. package/dist/web/assets/pieDiagram-7S7Q4E2Y-CHATPeJh.js.br +0 -0
  490. package/dist/web/assets/pieDiagram-7S7Q4E2Y-CHATPeJh.js.gz +0 -0
  491. package/dist/web/assets/project-file-popup-page-CmNJLTSV.js.br +0 -0
  492. package/dist/web/assets/project-file-popup-page-CmNJLTSV.js.gz +0 -0
  493. package/dist/web/assets/project-source-panel-ze7jsbMy.js +0 -2
  494. package/dist/web/assets/project-source-panel-ze7jsbMy.js.br +0 -0
  495. package/dist/web/assets/project-source-panel-ze7jsbMy.js.gz +0 -0
  496. package/dist/web/assets/prompt-input-Brfimssc.js.br +0 -0
  497. package/dist/web/assets/prompt-input-Brfimssc.js.gz +0 -0
  498. package/dist/web/assets/prompt-reference-token-BW8a7fO2.js +0 -3
  499. package/dist/web/assets/prompt-reference-token-BW8a7fO2.js.br +0 -0
  500. package/dist/web/assets/prompt-reference-token-BW8a7fO2.js.gz +0 -0
  501. package/dist/web/assets/railroadDiagram-AXF67PYL-BOP9pMNb.js +0 -1
  502. package/dist/web/assets/railroadDiagram-AXF67PYL-BOP9pMNb.js.br +0 -0
  503. package/dist/web/assets/railroadDiagram-AXF67PYL-BOP9pMNb.js.gz +0 -0
  504. package/dist/web/assets/requirementDiagram-LRYGKXZP-CG8KWt_j.js.br +0 -0
  505. package/dist/web/assets/requirementDiagram-LRYGKXZP-CG8KWt_j.js.gz +0 -0
  506. package/dist/web/assets/scheduled-task-date-time-picker-DeOtns9O.js.br +0 -0
  507. package/dist/web/assets/scheduled-task-date-time-picker-DeOtns9O.js.gz +0 -0
  508. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CbWhx_7u.js.br +0 -0
  509. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CbWhx_7u.js.gz +0 -0
  510. package/dist/web/assets/scheduled-tasks-container-a34CrlrM.js +0 -2
  511. package/dist/web/assets/scheduled-tasks-container-a34CrlrM.js.br +0 -0
  512. package/dist/web/assets/scheduled-tasks-container-a34CrlrM.js.gz +0 -0
  513. package/dist/web/assets/sequenceDiagram-SI44F4Z6-DbZoTul2.js.br +0 -0
  514. package/dist/web/assets/sequenceDiagram-SI44F4Z6-DbZoTul2.js.gz +0 -0
  515. package/dist/web/assets/sheet-B9MDuGoF.js +0 -1
  516. package/dist/web/assets/sheet-B9MDuGoF.js.br +0 -0
  517. package/dist/web/assets/sheet-B9MDuGoF.js.gz +0 -0
  518. package/dist/web/assets/shiki-bundle-BlbGsyMZ.js.br +0 -0
  519. package/dist/web/assets/shiki-bundle-BlbGsyMZ.js.gz +0 -0
  520. package/dist/web/assets/skills-market-container-CWO3CeMr.js +0 -2
  521. package/dist/web/assets/skills-market-container-CWO3CeMr.js.br +0 -0
  522. package/dist/web/assets/skills-market-container-CWO3CeMr.js.gz +0 -0
  523. package/dist/web/assets/sliders-horizontal-CPjDJLH6.js.br +0 -1
  524. package/dist/web/assets/sliders-horizontal-CPjDJLH6.js.gz +0 -0
  525. package/dist/web/assets/split-workspace-menu-content-rImPq6wj.js.br +0 -0
  526. package/dist/web/assets/split-workspace-menu-content-rImPq6wj.js.gz +0 -0
  527. package/dist/web/assets/stateDiagram-OKZ733FA-BBZnBYr0.js +0 -1
  528. package/dist/web/assets/stateDiagram-OKZ733FA-BBZnBYr0.js.br +0 -0
  529. package/dist/web/assets/stateDiagram-OKZ733FA-BBZnBYr0.js.gz +0 -0
  530. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DrsX6D2d.js +0 -1
  531. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DrsX6D2d.js.br +0 -1
  532. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DrsX6D2d.js.gz +0 -0
  533. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-RILHYzJF.js.br +0 -0
  534. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-RILHYzJF.js.gz +0 -0
  535. package/dist/web/assets/third-party-marketplace-pane-DKWMNoa3.js +0 -1
  536. package/dist/web/assets/third-party-marketplace-pane-DKWMNoa3.js.br +0 -0
  537. package/dist/web/assets/third-party-marketplace-pane-DKWMNoa3.js.gz +0 -0
  538. package/dist/web/assets/timeline-definition-Z64GVDOM-BQMes8Ld.js.br +0 -0
  539. package/dist/web/assets/timeline-definition-Z64GVDOM-BQMes8Ld.js.gz +0 -0
  540. package/dist/web/assets/upload-BmVXQDIq.js.br +0 -0
  541. package/dist/web/assets/upload-BmVXQDIq.js.gz +0 -0
  542. package/dist/web/assets/vennDiagram-T6HMQDX7-qBMuOWPn.js.br +0 -0
  543. package/dist/web/assets/vennDiagram-T6HMQDX7-qBMuOWPn.js.gz +0 -0
  544. package/dist/web/assets/wardleyDiagram-T6FBY63Y-BXVFrJeX.js.br +0 -0
  545. package/dist/web/assets/wardleyDiagram-T6FBY63Y-BXVFrJeX.js.gz +0 -0
  546. package/dist/web/assets/workbench-inspector-changes-D5k96_nR.js +0 -2
  547. package/dist/web/assets/workbench-inspector-changes-D5k96_nR.js.br +0 -0
  548. package/dist/web/assets/workbench-inspector-changes-D5k96_nR.js.gz +0 -0
  549. package/dist/web/assets/workbench-pet-canvas-BM6S31jL.js.br +0 -0
  550. package/dist/web/assets/workbench-pet-canvas-BM6S31jL.js.gz +0 -0
  551. package/dist/web/assets/workbench-shell-DEH5FG9a.js +0 -14
  552. package/dist/web/assets/workbench-shell-DEH5FG9a.js.br +0 -0
  553. package/dist/web/assets/workbench-shell-DEH5FG9a.js.gz +0 -0
  554. package/dist/web/assets/xychartDiagram-ELKLHX3M-DT2u1V83.js.br +0 -0
  555. package/dist/web/assets/xychartDiagram-ELKLHX3M-DT2u1V83.js.gz +0 -0
  556. /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~git-history-pa~l4z6ozb1-ClgveiMa.js → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~c6tt9j64-ClgveiMa.js} +0 -0
  557. /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~git-history-pa~l4z6ozb1-ClgveiMa.js.br → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~c6tt9j64-ClgveiMa.js.br} +0 -0
  558. /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~git-history-pa~l4z6ozb1-ClgveiMa.js.gz → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~c6tt9j64-ClgveiMa.js.gz} +0 -0
@@ -1,1613 +1,2 @@
1
- import { createRequire } from 'node:module';
2
- import { value_exports } from '../chunk-OM52Z4J7.js';
3
- import { EventStreamMessageSchema, TEMPORARY_TASK_SCOPE_ID, TEMPORARY_TASK_API_PATH, AsyncQuestionPageSchema, AnswerAsyncQuestionResponseSchema, MAX_EVENT_BATCH_BYTES, ProjectTodoResponseSchema, ProjectTodoPageSchema, DeleteProjectTodoResponseSchema, HistoryCompressionResultSchema, BingWallpaperCatalogSchema, GlobalInstructionsSchema, MemorySettingsSchema, PersonalizationResetSchema, AgentPreferencesSchema, ScheduledTaskPreviewSchema, ScheduledTaskPageSchema, ScheduledTaskMutationResponseSchema, DeleteScheduledTaskResponseSchema, SubmitTaskResponseSchema, AgentQueuedSubmissionListSchema, AddAgentQueuedSubmissionResponseSchema, UpdateAgentQueuedSubmissionResponseSchema, DeleteAgentQueuedSubmissionResponseSchema, ReorderAgentQueuedSubmissionsResponseSchema, StartAgentQueuedSubmissionResponseSchema, AgentTaskPageSchema, AgentTaskSnapshotResponseSchema, OpenAgentTaskAttachmentResponseSchema, AgentBackgroundTerminalPageSchema, TerminateAgentBackgroundTerminalResponseSchema, AgentTaskSettingsResponseSchema, StartAgentTaskResponseSchema, PinAgentTaskResponseSchema, RenameAgentTaskResponseSchema, UnsubscribeAgentTaskResponseSchema, ReviewAgentTaskResponseSchema, CompactAgentTaskResponseSchema, ForkAgentTaskResponseSchema, UploadAgentFeedbackResponseSchema, AgentAttachmentUploadResponseSchema, AgentMutationErrorSchema, StartAgentTurnResponseSchema, SteerAgentTurnResponseSchema, InterruptAgentTurnResponseSchema, ResolvePendingRequestResponseSchema, TaskSearchPageSchema, SearchOccurrencesPageSchema, NavigableAgentTaskResponseSchema, UpdateTaskSettingsAndDefaultsResponseSchema, CompletedTasksPageSchema, AgentTaskCatalogSchema, UpdateAgentGoalResponseSchema, ClearAgentGoalResponseSchema, DeleteArchivedTasksResponseSchema, ArchiveAgentTaskResponseSchema, UnarchiveAgentTaskResponseSchema, DeleteAgentTaskResponseSchema, AgentSkillPageSchema, AgentMcpServerPageSchema, ReloadAgentMcpServersResponseSchema, ProjectPageSchema, ProjectDirectoryListingSchema, HostFileListingSchema, ReorderProjectsResponseSchema, AgentProjectDefaultsResponseSchema, AddProjectResponseSchema, RenameProjectResponseSchema, RemoveProjectResponseSchema, ProjectOpenCapabilitiesResponseSchema, OpenProjectResponseSchema, ProjectGitStatusSchema, ProjectGitHistoryPageSchema, ProjectGitCommitFilesPageSchema, ProjectGitCommitFileDiffSchema, ProjectGitWorktreePageSchema, CreateProjectWorktreeResponseSchema, ProjectWorktreeMutationResponseSchema, GenerateCommitMessageResponseSchema, CommitProjectChangesResponseSchema, ProjectFileTreeSchema, RenameProjectFileResponseSchema, DeleteProjectFileResponseSchema, ProjectFileSearchPageSchema, StopProjectFileSearchResponseSchema, ProjectSourceFileSchema, ProjectTextFileRevisionSchema, ProjectTextFileSchema, SaveProjectTextFileResponseSchema, CreateProjectDirectoryResponseSchema, CreateTaskWorktreeResponseSchema, PluginReconcileResultSchema, OfficialPluginPageSchema, OfficialPluginDetailSchema, OfficialPluginInstallResponseSchema, OfficialPluginUninstallResponseSchema, InstalledSkillPageSchema, ClawhubSkillPageSchema, ClawhubSkillDetailSchema, SkillInstallResponseSchema, OpenSkillDirectoryResponseSchema, SetSkillEnabledResponseSchema, ConfiguredMcpServerPageSchema, SetMcpServerEnabledResponseSchema, HealthResponseSchema, AppInfoResponseSchema, AppUpdateProgressResponseSchema, InstallAppUpdateResponseSchema, AccessStatusResponseSchema, AgentCapabilitiesSchema, AgentModelPageSchema, AgentProviderConnectionStatusSchema, StartOfficialProviderLoginResponseSchema, AgentProviderConnectionMutationResponseSchema, ConfigureCustomProviderResponseSchema, AgentGlobalSettingsResponseSchema, WorkbenchPetCatalogResponseSchema, WorkbenchPetDownloadResponseSchema, ScheduledTaskChangeSchema, WorkbenchChangeSchema } from '../chunk-BRKY2HKI.js';
4
- import '../chunk-GT7XTSEG.js';
5
- import '../chunk-K6J42667.js';
6
-
7
- createRequire(import.meta.url);
8
-
9
- // node_modules/.pnpm/uuid@14.0.1/node_modules/uuid/dist-node/stringify.js
10
- var byteToHex = [];
11
- for (let i = 0; i < 256; ++i) {
12
- byteToHex.push((i + 256).toString(16).slice(1));
13
- }
14
- function unsafeStringify(arr, offset = 0) {
15
- return (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + "-" + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + "-" + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + "-" + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + "-" + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase();
16
- }
17
-
18
- // node_modules/.pnpm/uuid@14.0.1/node_modules/uuid/dist-node/rng.js
19
- var rnds8 = new Uint8Array(16);
20
- function rng() {
21
- return crypto.getRandomValues(rnds8);
22
- }
23
-
24
- // node_modules/.pnpm/uuid@14.0.1/node_modules/uuid/dist-node/v4.js
25
- function v4(options, buf, offset) {
26
- if (!buf && !options && crypto.randomUUID) {
27
- return crypto.randomUUID();
28
- }
29
- return _v4(options, buf, offset);
30
- }
31
- function _v4(options, buf, offset) {
32
- options = options || {};
33
- const rnds = options.random ?? options.rng?.() ?? rng();
34
- if (rnds.length < 16) {
35
- throw new Error("Random bytes length must be >= 16");
36
- }
37
- rnds[6] = rnds[6] & 15 | 64;
38
- rnds[8] = rnds[8] & 63 | 128;
39
- if (buf) {
40
- offset = offset || 0;
41
- if (offset < 0 || offset + 16 > buf.length) {
42
- throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
43
- }
44
- for (let i = 0; i < 16; ++i) {
45
- buf[offset + i] = rnds[i];
46
- }
47
- return buf;
48
- }
49
- return unsafeStringify(rnds);
50
- }
51
- var v4_default = v4;
52
-
53
- // packages/client/src/event-client.ts
54
- var CodexlyEventError = class extends Error {
55
- constructor(message, options) {
56
- super(message, options);
57
- this.name = "CodexlyEventError";
58
- }
59
- };
60
- function createEventUrl(baseUrl, projectId, afterSequence) {
61
- const path = projectId === TEMPORARY_TASK_SCOPE_ID ? `${TEMPORARY_TASK_API_PATH}/events` : `/v1/projects/${encodeURIComponent(projectId)}/events`;
62
- const httpUrl = baseUrl ? new URL(`${baseUrl}${path}`) : new URL(path, globalThis.location.href);
63
- httpUrl.protocol = httpUrl.protocol === "https:" ? "wss:" : "ws:";
64
- httpUrl.searchParams.set("afterSequence", String(afterSequence));
65
- return httpUrl.toString();
66
- }
67
- function createResyncRequired(sessionId, latestSequence, reason) {
68
- return {
69
- latestSequence,
70
- reason,
71
- sessionId,
72
- type: "resync.required",
73
- version: 3
74
- };
75
- }
76
- function exceedsEventFrameBudget(data) {
77
- if (data.length > MAX_EVENT_BATCH_BYTES) return true;
78
- if (data.length * 3 <= MAX_EVENT_BATCH_BYTES) return false;
79
- let bytes = 0;
80
- for (let index = 0; index < data.length; index += 1) {
81
- const codePoint = data.codePointAt(index);
82
- if (codePoint === void 0) break;
83
- bytes += codePoint <= 127 ? 1 : codePoint <= 2047 ? 2 : codePoint <= 65535 ? 3 : 4;
84
- if (bytes > MAX_EVENT_BATCH_BYTES) return true;
85
- if (codePoint > 65535) index += 1;
86
- }
87
- return false;
88
- }
89
- function startAgentEventSubscription(options) {
90
- const reconnectDelayMs = options.reconnectDelayMs ?? 250;
91
- let active = true;
92
- let allowReconnect = true;
93
- let lastSequence = options.afterSequence;
94
- let reconnectAttempt = 0;
95
- let retryTimer;
96
- let socket;
97
- let detachSocketListeners;
98
- const setState = (state) => {
99
- options.onConnectionState?.(state);
100
- };
101
- const closeSocket = (code, reason) => {
102
- const currentSocket = socket;
103
- if (currentSocket === void 0) {
104
- return;
105
- }
106
- detachSocketListeners?.();
107
- detachSocketListeners = void 0;
108
- socket = void 0;
109
- currentSocket.close(code, reason);
110
- };
111
- const stopForResync = (message) => {
112
- allowReconnect = false;
113
- options.onResyncRequired(message);
114
- closeSocket(1e3, "Snapshot resync required");
115
- setState("closed");
116
- };
117
- const failProtocol = (message, cause) => {
118
- allowReconnect = false;
119
- options.onError?.(new CodexlyEventError(message, cause === void 0 ? void 0 : { cause }));
120
- closeSocket(1002, "Invalid Agent Event frame");
121
- setState("closed");
122
- };
123
- const connect = () => {
124
- if (!active) {
125
- return;
126
- }
127
- retryTimer = void 0;
128
- let connectionReady = false;
129
- const currentSocket = options.webSocketFactory(
130
- createEventUrl(options.baseUrl, options.projectId, lastSequence)
131
- );
132
- socket = currentSocket;
133
- const isCurrentConnection = () => active && socket === currentSocket;
134
- const onMessage = (event) => {
135
- if (!isCurrentConnection()) {
136
- return;
137
- }
138
- if (typeof event.data !== "string") {
139
- failProtocol("Codexly event frame must be text");
140
- return;
141
- }
142
- if (exceedsEventFrameBudget(event.data)) {
143
- stopForResync(
144
- createResyncRequired(options.sessionId, lastSequence, "event_retention_exceeded")
145
- );
146
- return;
147
- }
148
- let frame;
149
- try {
150
- frame = JSON.parse(event.data);
151
- } catch (error) {
152
- failProtocol("Codexly event frame is not valid JSON", error);
153
- return;
154
- }
155
- if (!value_exports.Check(EventStreamMessageSchema, frame)) {
156
- failProtocol("Codexly event frame does not match the protocol schema");
157
- return;
158
- }
159
- const message = frame;
160
- if (message.type === "resync.required") {
161
- stopForResync(message);
162
- return;
163
- }
164
- if (message.type === "connection.ready") {
165
- if (message.sessionId !== options.sessionId || message.latestSequence < lastSequence) {
166
- stopForResync(
167
- createResyncRequired(message.sessionId, message.latestSequence, "session_changed")
168
- );
169
- return;
170
- }
171
- connectionReady = true;
172
- reconnectAttempt = 0;
173
- setState("connected");
174
- return;
175
- }
176
- if (!connectionReady) {
177
- failProtocol("Codexly event arrived before connection.ready");
178
- return;
179
- }
180
- for (const agentEvent of message.events) {
181
- if (agentEvent.sessionId !== options.sessionId) {
182
- stopForResync(
183
- createResyncRequired(agentEvent.sessionId, agentEvent.sequence, "session_changed")
184
- );
185
- return;
186
- }
187
- if (agentEvent.sequence <= lastSequence) {
188
- continue;
189
- }
190
- if (agentEvent.sequence !== lastSequence + 1) {
191
- stopForResync(
192
- createResyncRequired(agentEvent.sessionId, agentEvent.sequence, "sequence_gap")
193
- );
194
- return;
195
- }
196
- lastSequence = agentEvent.sequence;
197
- options.onEvent(agentEvent);
198
- if (!isCurrentConnection()) {
199
- return;
200
- }
201
- }
202
- };
203
- const onError = () => {
204
- if (!active || socket !== currentSocket) {
205
- return;
206
- }
207
- options.onError?.(new CodexlyEventError("Codexly event connection failed"));
208
- };
209
- const onClose = (event) => {
210
- if (socket !== currentSocket) {
211
- return;
212
- }
213
- if (active && event.code === 1009) {
214
- stopForResync(
215
- createResyncRequired(options.sessionId, lastSequence, "event_retention_exceeded")
216
- );
217
- return;
218
- }
219
- detachSocketListeners?.();
220
- detachSocketListeners = void 0;
221
- socket = void 0;
222
- if (!active) {
223
- return;
224
- }
225
- if (!allowReconnect) {
226
- setState("closed");
227
- return;
228
- }
229
- setState("reconnecting");
230
- const delay = Math.min(reconnectDelayMs * 2 ** reconnectAttempt, 5e3);
231
- reconnectAttempt += 1;
232
- retryTimer = setTimeout(connect, delay);
233
- };
234
- detachSocketListeners = () => {
235
- currentSocket.removeEventListener("message", onMessage);
236
- currentSocket.removeEventListener("error", onError);
237
- currentSocket.removeEventListener("close", onClose);
238
- };
239
- currentSocket.addEventListener("message", onMessage);
240
- currentSocket.addEventListener("error", onError);
241
- currentSocket.addEventListener("close", onClose);
242
- };
243
- setState("connecting");
244
- connect();
245
- return () => {
246
- if (!active) {
247
- return;
248
- }
249
- active = false;
250
- allowReconnect = false;
251
- if (retryTimer !== void 0) {
252
- clearTimeout(retryTimer);
253
- }
254
- closeSocket(1e3, "Subscription cancelled");
255
- setState("closed");
256
- };
257
- }
258
-
259
- // packages/client/src/http-client-transport.ts
260
- var APP_UPDATE_REQUEST_TIMEOUT_MS = 15e4;
261
- var CodexlyHttpError = class extends Error {
262
- status;
263
- constructor(status, statusText, message) {
264
- super(message ?? `Codexly request failed with ${String(status)} ${statusText}`.trim());
265
- this.name = "CodexlyHttpError";
266
- this.status = status;
267
- }
268
- };
269
- var CodexlyMutationError = class extends CodexlyHttpError {
270
- code;
271
- retryable;
272
- constructor(status, statusText, error) {
273
- super(status, statusText, error.message);
274
- this.name = "CodexlyMutationError";
275
- this.code = error.code;
276
- this.retryable = error.retryable;
277
- }
278
- };
279
- var CodexlyResponseError = class extends Error {
280
- constructor(message, options) {
281
- super(message, options);
282
- this.name = "CodexlyResponseError";
283
- }
284
- };
285
- function appendQuery(path, values) {
286
- const query = new URLSearchParams();
287
- for (const [key, value] of Object.entries(values)) {
288
- if (value !== void 0) {
289
- query.set(key, String(value));
290
- }
291
- }
292
- const encoded = query.toString();
293
- return encoded ? `${path}?${encoded}` : path;
294
- }
295
- function projectPath(projectId) {
296
- if (projectId === TEMPORARY_TASK_SCOPE_ID) {
297
- return TEMPORARY_TASK_API_PATH;
298
- }
299
- return `/v1/projects/${encodeURIComponent(projectId)}`;
300
- }
301
- function taskPath(projectId, taskId) {
302
- return `${projectPath(projectId)}/tasks/${encodeURIComponent(taskId)}`;
303
- }
304
- function buildTaskAttachmentUrl(baseUrl, projectId, taskId, attachmentId) {
305
- return `${baseUrl.replace(/\/$/u, "")}${taskPath(projectId, taskId)}/attachments/${encodeURIComponent(attachmentId)}`;
306
- }
307
- function buildProjectImageFileUrl(baseUrl, projectId, path, rootPath) {
308
- const requestPath = appendQuery(`${projectPath(projectId)}/files/image`, { path, rootPath });
309
- return `${baseUrl.replace(/\/$/u, "")}${requestPath}`;
310
- }
311
- function buildProjectFileDownloadUrl(baseUrl, projectId, path, rootPath) {
312
- const requestPath = appendQuery(`${projectPath(projectId)}/files/download`, {
313
- path,
314
- rootPath: rootPath === "" ? void 0 : rootPath
315
- });
316
- return `${baseUrl.replace(/\/$/u, "")}${requestPath}`;
317
- }
318
- function buildProjectAttachmentUrl(baseUrl, projectId, attachmentId) {
319
- return `${baseUrl.replace(/\/$/u, "")}${projectPath(projectId)}/attachments/${encodeURIComponent(attachmentId)}`;
320
- }
321
- function buildWorkbenchPetAssetUrl(assetId, baseUrl = "") {
322
- return `${baseUrl.replace(/\/$/u, "")}/v1/pets/assets/${encodeURIComponent(assetId)}`;
323
- }
324
- var CodexlyTransport = class {
325
- baseUrl;
326
- fetchImplementation;
327
- requestTimeouts;
328
- webSocketFactory;
329
- unauthorizedListeners = /* @__PURE__ */ new Set();
330
- constructor(options = {}) {
331
- this.baseUrl = options.baseUrl?.replace(/\/$/u, "") ?? "";
332
- this.fetchImplementation = options.fetch ?? globalThis.fetch.bind(globalThis);
333
- this.requestTimeouts = {
334
- mutationMs: options.requestTimeouts?.mutationMs ?? 6e4,
335
- queryMs: options.requestTimeouts?.queryMs ?? 3e4,
336
- readMs: options.requestTimeouts?.readMs ?? 15e3
337
- };
338
- this.webSocketFactory = options.webSocketFactory ?? ((url) => new WebSocket(url));
339
- }
340
- async getHealth(options = {}) {
341
- return this.read("/v1/health", HealthResponseSchema, options);
342
- }
343
- async getAppInfo(options = {}) {
344
- return this.read("/v1/app-info", AppInfoResponseSchema, options);
345
- }
346
- async getAppUpdateProgress(options = {}) {
347
- return this.read("/v1/app-update/progress", AppUpdateProgressResponseSchema, options);
348
- }
349
- async installAppUpdate(version, options = {}) {
350
- return this.mutation(
351
- "/v1/app-update",
352
- { version },
353
- InstallAppUpdateResponseSchema,
354
- options,
355
- "POST",
356
- APP_UPDATE_REQUEST_TIMEOUT_MS
357
- );
358
- }
359
- async getAccessStatus(options = {}) {
360
- return this.read("/v1/access", AccessStatusResponseSchema, options);
361
- }
362
- async pairAccess(code) {
363
- return this.request(
364
- "/v1/access/pair",
365
- AccessStatusResponseSchema,
366
- {
367
- body: JSON.stringify({ code }),
368
- headers: { "content-type": "application/json" },
369
- method: "POST"
370
- },
371
- AgentMutationErrorSchema,
372
- { timeoutMs: this.requestTimeouts.mutationMs }
373
- );
374
- }
375
- async logoutAccess() {
376
- return this.request(
377
- "/v1/access/logout",
378
- AccessStatusResponseSchema,
379
- { body: "{}", headers: { "content-type": "application/json" }, method: "POST" },
380
- AgentMutationErrorSchema,
381
- { timeoutMs: this.requestTimeouts.mutationMs }
382
- );
383
- }
384
- subscribeUnauthorized(listener) {
385
- this.unauthorizedListeners.add(listener);
386
- return () => this.unauthorizedListeners.delete(listener);
387
- }
388
- async getCapabilities(options = {}) {
389
- return this.read("/v1/capabilities", AgentCapabilitiesSchema, options);
390
- }
391
- async listModels(options = {}) {
392
- return this.read("/v1/models", AgentModelPageSchema, options);
393
- }
394
- async getProviderConnection(options = {}) {
395
- return this.read("/v1/provider-connection", AgentProviderConnectionStatusSchema, options);
396
- }
397
- async startOfficialProviderLogin(options = {}) {
398
- return this.mutation(
399
- "/v1/provider-connection/official-login",
400
- {},
401
- StartOfficialProviderLoginResponseSchema,
402
- options
403
- );
404
- }
405
- async cancelProviderLogin(loginId, options = {}) {
406
- return this.mutation(
407
- "/v1/provider-connection/official-login/cancel",
408
- { loginId },
409
- AgentProviderConnectionMutationResponseSchema,
410
- options
411
- );
412
- }
413
- async configureCustomProvider(input, options = {}) {
414
- return this.mutation(
415
- "/v1/provider-connection/custom",
416
- input,
417
- ConfigureCustomProviderResponseSchema,
418
- options,
419
- "PUT"
420
- );
421
- }
422
- async logoutProvider(options = {}) {
423
- return this.mutation(
424
- "/v1/provider-connection/logout",
425
- {},
426
- AgentProviderConnectionMutationResponseSchema,
427
- options
428
- );
429
- }
430
- async getGlobalSettings(options = {}) {
431
- return this.read("/v1/settings", AgentGlobalSettingsResponseSchema, options);
432
- }
433
- async listWorkbenchPets(options = {}) {
434
- return this.read("/v1/pets", WorkbenchPetCatalogResponseSchema, options);
435
- }
436
- async downloadWorkbenchPet(petId, options = {}) {
437
- return this.mutation(
438
- "/v1/pets/downloads",
439
- { petId },
440
- WorkbenchPetDownloadResponseSchema,
441
- options
442
- );
443
- }
444
- async updateGlobalSettings(settings, options = {}) {
445
- return this.mutation(
446
- "/v1/settings",
447
- settings,
448
- AgentGlobalSettingsResponseSchema,
449
- options,
450
- "PUT"
451
- );
452
- }
453
- subscribeEvents(options) {
454
- return startAgentEventSubscription({
455
- ...options,
456
- baseUrl: this.baseUrl,
457
- webSocketFactory: this.webSocketFactory
458
- });
459
- }
460
- mutation(path, body, schema, options, method = "POST", timeoutMs = this.requestTimeouts.mutationMs) {
461
- return this.request(
462
- path,
463
- schema,
464
- {
465
- body: JSON.stringify(body),
466
- headers: {
467
- "content-type": "application/json",
468
- "idempotency-key": options.idempotencyKey ?? v4_default()
469
- },
470
- method
471
- },
472
- AgentMutationErrorSchema,
473
- {
474
- ...options.signal === void 0 ? {} : { signal: options.signal },
475
- timeoutMs
476
- }
477
- );
478
- }
479
- read(path, schema, options, errorSchema) {
480
- return this.request(path, schema, {}, errorSchema, {
481
- ...options.signal === void 0 ? {} : { signal: options.signal },
482
- timeoutMs: options.signal === void 0 ? this.requestTimeouts.readMs : this.requestTimeouts.queryMs
483
- });
484
- }
485
- async request(path, schema, init = {}, errorSchema, requestOptions = {}) {
486
- const timeoutSignal = AbortSignal.timeout(
487
- requestOptions.timeoutMs ?? this.requestTimeouts.readMs
488
- );
489
- const signal = requestOptions.signal === void 0 ? timeoutSignal : AbortSignal.any([requestOptions.signal, timeoutSignal]);
490
- const response = await this.fetchImplementation(`${this.baseUrl}${path}`, {
491
- ...init,
492
- credentials: "same-origin",
493
- headers: { accept: "application/json", ...init.headers },
494
- signal
495
- });
496
- if (!response.ok) {
497
- if (response.status === 401) {
498
- for (const listener of this.unauthorizedListeners) {
499
- try {
500
- listener();
501
- } catch {
502
- }
503
- }
504
- }
505
- if (errorSchema !== void 0) {
506
- let errorBody;
507
- try {
508
- errorBody = await response.json();
509
- } catch (error) {
510
- throw new CodexlyResponseError("Codexly error response is not valid JSON", {
511
- cause: error
512
- });
513
- }
514
- if (!value_exports.Check(errorSchema, errorBody)) {
515
- throw new CodexlyResponseError(
516
- "Codexly error response does not match the protocol schema"
517
- );
518
- }
519
- throw new CodexlyMutationError(
520
- response.status,
521
- response.statusText,
522
- errorBody
523
- );
524
- }
525
- try {
526
- const errorBody = await response.json();
527
- if (typeof errorBody === "object" && errorBody !== null && "message" in errorBody && typeof errorBody.message === "string" && errorBody.message.length > 0) {
528
- throw new CodexlyHttpError(response.status, response.statusText, errorBody.message);
529
- }
530
- } catch (error) {
531
- if (error instanceof CodexlyHttpError) throw error;
532
- }
533
- throw new CodexlyHttpError(response.status, response.statusText);
534
- }
535
- let body;
536
- try {
537
- body = await response.json();
538
- } catch (error) {
539
- throw new CodexlyResponseError("Codexly response is not valid JSON", { cause: error });
540
- }
541
- if (!value_exports.Check(schema, body)) {
542
- throw new CodexlyResponseError("Codexly response does not match the protocol schema");
543
- }
544
- return body;
545
- }
546
- };
547
-
548
- // packages/client/src/project-pdf-url.ts
549
- function buildProjectPdfFileUrl(baseUrl, projectId, path, rootPath) {
550
- const requestPath = appendQuery(`${projectPath(projectId)}/files/pdf`, {
551
- path,
552
- rootPath: rootPath === "" ? void 0 : rootPath
553
- });
554
- return `${baseUrl.replace(/\/$/u, "")}${requestPath}`;
555
- }
556
-
557
- // packages/client/src/http-client-skill-market.ts
558
- var SkillMarketHttpClient = class extends CodexlyTransport {
559
- async reconcileOfficialPlugins(options = {}) {
560
- return this.mutation(
561
- "/v1/plugins/official/reconcile",
562
- {},
563
- PluginReconcileResultSchema,
564
- options
565
- );
566
- }
567
- async listOfficialPlugins(forceRefetch, options = {}) {
568
- return this.read(
569
- appendQuery("/v1/plugins/official", { forceRefetch: forceRefetch ? "true" : void 0 }),
570
- OfficialPluginPageSchema,
571
- options
572
- );
573
- }
574
- async getOfficialPlugin(marketplaceName, marketplacePath, pluginName, options = {}) {
575
- return this.read(
576
- appendQuery(
577
- `/v1/plugins/official/${encodeURIComponent(marketplaceName)}/${encodeURIComponent(pluginName)}`,
578
- { marketplacePath: marketplacePath ?? void 0 }
579
- ),
580
- OfficialPluginDetailSchema,
581
- options,
582
- AgentMutationErrorSchema
583
- );
584
- }
585
- async installOfficialPlugin(marketplaceName, marketplacePath, pluginName, installAttemptId, options = {}) {
586
- return this.mutation(
587
- `/v1/plugins/official/${encodeURIComponent(marketplaceName)}/${encodeURIComponent(pluginName)}/install`,
588
- { installAttemptId, marketplacePath },
589
- OfficialPluginInstallResponseSchema,
590
- options
591
- );
592
- }
593
- async uninstallOfficialPlugin(marketplaceName, pluginName, pluginId, options = {}) {
594
- return this.mutation(
595
- `/v1/plugins/official/${encodeURIComponent(marketplaceName)}/${encodeURIComponent(pluginName)}/uninstall`,
596
- { pluginId },
597
- OfficialPluginUninstallResponseSchema,
598
- options
599
- );
600
- }
601
- async listInstalledSkills(options = {}) {
602
- return this.read("/v1/skills/installed", InstalledSkillPageSchema, options);
603
- }
604
- async listClawhubSkills(query, cursor, sort, options = {}) {
605
- return this.read(
606
- appendQuery("/v1/skills/market", {
607
- cursor: cursor ?? void 0,
608
- query: query.length === 0 ? void 0 : query,
609
- sort
610
- }),
611
- ClawhubSkillPageSchema,
612
- options,
613
- AgentMutationErrorSchema
614
- );
615
- }
616
- async getClawhubSkill(owner, slug, options = {}) {
617
- return this.read(
618
- `/v1/skills/market/${encodeURIComponent(owner)}/${encodeURIComponent(slug)}`,
619
- ClawhubSkillDetailSchema,
620
- options,
621
- AgentMutationErrorSchema
622
- );
623
- }
624
- async installClawhubSkill(owner, slug, scope, projectId, rootPath, options = {}) {
625
- return this.mutation(
626
- `/v1/skills/market/${encodeURIComponent(owner)}/${encodeURIComponent(slug)}/install`,
627
- { projectId, rootPath, scope },
628
- SkillInstallResponseSchema,
629
- options
630
- );
631
- }
632
- async openSkillDirectory(path, options = {}) {
633
- return this.mutation("/v1/skills/open", { path }, OpenSkillDirectoryResponseSchema, options);
634
- }
635
- async setSkillEnabled(path, enabled, options = {}) {
636
- return this.mutation(
637
- "/v1/skills/enabled",
638
- { enabled, path },
639
- SetSkillEnabledResponseSchema,
640
- options,
641
- "PUT"
642
- );
643
- }
644
- async listConfiguredMcpServers(options = {}) {
645
- return this.read("/v1/mcp-servers/configured", ConfiguredMcpServerPageSchema, options);
646
- }
647
- async setMcpServerEnabled(name, enabled, options = {}) {
648
- return this.mutation(
649
- `/v1/mcp-servers/configured/${encodeURIComponent(name)}/enabled`,
650
- { enabled },
651
- SetMcpServerEnabledResponseSchema,
652
- options,
653
- "PUT"
654
- );
655
- }
656
- };
657
-
658
- // packages/client/src/http-client-task-worktrees.ts
659
- var TaskWorktreeHttpClient = class extends SkillMarketHttpClient {
660
- async createTaskWorktree(projectId, rootPath, request, options = {}) {
661
- return this.mutation(
662
- appendQuery(`${projectPath(projectId)}/git/task-worktrees`, { rootPath }),
663
- request,
664
- CreateTaskWorktreeResponseSchema,
665
- options
666
- );
667
- }
668
- };
669
-
670
- // packages/client/src/http-client-project-directory.ts
671
- var ProjectDirectoryHttpClient = class extends TaskWorktreeHttpClient {
672
- async createProjectDirectory(request, options = {}) {
673
- return this.mutation(
674
- "/v1/project-directories",
675
- request,
676
- CreateProjectDirectoryResponseSchema,
677
- options
678
- );
679
- }
680
- };
681
-
682
- // packages/client/src/http-client-text-file.ts
683
- var ProjectTextFileHttpClient = class extends ProjectDirectoryHttpClient {
684
- async readProjectTextFileRevision(projectId, rootPath, path, options = {}) {
685
- return this.read(
686
- appendQuery(`${projectPath(projectId)}/files/text/revision`, { path, rootPath }),
687
- ProjectTextFileRevisionSchema,
688
- options
689
- );
690
- }
691
- async readProjectTextFile(projectId, rootPath, path, options = {}) {
692
- return this.read(
693
- appendQuery(`${projectPath(projectId)}/files/text`, { path, rootPath }),
694
- ProjectTextFileSchema,
695
- options
696
- );
697
- }
698
- async saveProjectTextFile(projectId, rootPath, input, options = {}) {
699
- return this.mutation(
700
- appendQuery(`${projectPath(projectId)}/files/text`, { rootPath }),
701
- input,
702
- SaveProjectTextFileResponseSchema,
703
- options
704
- );
705
- }
706
- };
707
-
708
- // packages/client/src/http-client-projects.ts
709
- var ProjectHttpClient = class extends ProjectTextFileHttpClient {
710
- async listSkills(projectId, options = {}) {
711
- return this.read(`${projectPath(projectId)}/skills`, AgentSkillPageSchema, options);
712
- }
713
- async listMcpServers(projectId, taskId, options = {}) {
714
- return this.read(
715
- `${taskPath(projectId, taskId)}/mcp-servers`,
716
- AgentMcpServerPageSchema,
717
- options,
718
- AgentMutationErrorSchema
719
- );
720
- }
721
- async retryMcpServers(projectId, taskId, options = {}) {
722
- return this.mutation(
723
- `${taskPath(projectId, taskId)}/mcp-servers/retry`,
724
- {},
725
- ReloadAgentMcpServersResponseSchema,
726
- options
727
- );
728
- }
729
- async listProjects(options = {}) {
730
- return this.read("/v1/projects", ProjectPageSchema, options);
731
- }
732
- async listProjectDirectories(path, options = {}) {
733
- return this.read(
734
- appendQuery("/v1/project-directories", {
735
- path,
736
- includeHidden: options.includeHidden === true ? "true" : void 0
737
- }),
738
- ProjectDirectoryListingSchema,
739
- options
740
- );
741
- }
742
- async listHostFiles(kind, path, options = {}) {
743
- return this.read(
744
- appendQuery("/v1/host-files", {
745
- kind,
746
- path,
747
- includeHidden: options.includeHidden === true ? "true" : void 0
748
- }),
749
- HostFileListingSchema,
750
- options
751
- );
752
- }
753
- async reorderProjects(projectIds, options = {}) {
754
- return this.mutation(
755
- "/v1/projects/order",
756
- { projectIds },
757
- ReorderProjectsResponseSchema,
758
- options,
759
- "PUT"
760
- );
761
- }
762
- async getProjectDefaults(projectId, options = {}) {
763
- return this.read(
764
- `${projectPath(projectId)}/defaults`,
765
- AgentProjectDefaultsResponseSchema,
766
- options
767
- );
768
- }
769
- async updateProjectDefaults(projectId, settings, options = {}) {
770
- return this.mutation(
771
- `${projectPath(projectId)}/defaults`,
772
- settings,
773
- AgentProjectDefaultsResponseSchema,
774
- options,
775
- "PUT"
776
- );
777
- }
778
- async addProject(rootPaths, options = {}) {
779
- return this.mutation(
780
- "/v1/projects",
781
- { roots: rootPaths.map((path) => ({ path })) },
782
- AddProjectResponseSchema,
783
- options
784
- );
785
- }
786
- async renameProject(projectId, name, options = {}) {
787
- return this.mutation(
788
- `${projectPath(projectId)}/rename`,
789
- { name },
790
- RenameProjectResponseSchema,
791
- options
792
- );
793
- }
794
- async removeProject(projectId, options = {}) {
795
- return this.mutation(
796
- `${projectPath(projectId)}/remove`,
797
- {},
798
- RemoveProjectResponseSchema,
799
- options
800
- );
801
- }
802
- async getProjectOpenCapabilities(projectId, options = {}) {
803
- return this.read(
804
- `${projectPath(projectId)}/open-capabilities`,
805
- ProjectOpenCapabilitiesResponseSchema,
806
- options
807
- );
808
- }
809
- async openProject(projectId, rootPath, request, options = {}) {
810
- return this.mutation(
811
- appendQuery(`${projectPath(projectId)}/open`, { rootPath }),
812
- request,
813
- OpenProjectResponseSchema,
814
- options
815
- );
816
- }
817
- async getProjectGitStatus(projectId, query, options = {}) {
818
- return this.read(
819
- appendQuery(`/v1/projects/${encodeURIComponent(projectId)}/git/status`, {
820
- includeDiff: query.includeDiff === true ? "true" : void 0,
821
- repository: query.repository,
822
- rootPath: query.rootPath
823
- }),
824
- ProjectGitStatusSchema,
825
- options
826
- );
827
- }
828
- async getProjectGitHistory(projectId, query, options = {}) {
829
- return this.read(
830
- appendQuery(`${projectPath(projectId)}/git/history`, {
831
- cursor: query.cursor,
832
- repository: query.repository,
833
- rootPath: query.rootPath
834
- }),
835
- ProjectGitHistoryPageSchema,
836
- options
837
- );
838
- }
839
- async getProjectGitCommitFiles(projectId, query, options = {}) {
840
- return this.read(
841
- appendQuery(`${projectPath(projectId)}/git/commit-files`, {
842
- cursor: query.cursor,
843
- repository: query.repository,
844
- rootPath: query.rootPath,
845
- sha: query.sha
846
- }),
847
- ProjectGitCommitFilesPageSchema,
848
- options
849
- );
850
- }
851
- async getProjectGitCommitFileDiff(projectId, query, options = {}) {
852
- return this.read(
853
- appendQuery(`${projectPath(projectId)}/git/commit-diff`, {
854
- path: query.path,
855
- repository: query.repository,
856
- rootPath: query.rootPath,
857
- sha: query.sha
858
- }),
859
- ProjectGitCommitFileDiffSchema,
860
- options
861
- );
862
- }
863
- async switchProjectBranch(projectId, rootPath, request, options = {}) {
864
- return this.mutation(
865
- appendQuery(`${projectPath(projectId)}/git/branch`, { rootPath }),
866
- request,
867
- ProjectGitStatusSchema,
868
- options
869
- );
870
- }
871
- async createProjectBranch(projectId, rootPath, request, options = {}) {
872
- return this.mutation(
873
- appendQuery(`${projectPath(projectId)}/git/branches`, { rootPath }),
874
- request,
875
- ProjectGitStatusSchema,
876
- options
877
- );
878
- }
879
- async listProjectWorktrees(projectId, rootPath, options = {}) {
880
- return this.read(
881
- appendQuery(`${projectPath(projectId)}/git/worktrees`, { rootPath }),
882
- ProjectGitWorktreePageSchema,
883
- options
884
- );
885
- }
886
- async createProjectWorktree(projectId, rootPath, request, options = {}) {
887
- return this.mutation(
888
- appendQuery(`${projectPath(projectId)}/git/worktrees`, { rootPath }),
889
- request,
890
- CreateProjectWorktreeResponseSchema,
891
- options
892
- );
893
- }
894
- async switchProjectWorktree(projectId, rootPath, request, options = {}) {
895
- return this.mutation(
896
- appendQuery(`${projectPath(projectId)}/git/worktree`, { rootPath }),
897
- request,
898
- ProjectWorktreeMutationResponseSchema,
899
- options
900
- );
901
- }
902
- async generateCommitMessage(projectId, rootPath, request, options = {}) {
903
- return this.mutation(
904
- appendQuery(`${projectPath(projectId)}/git/commit-message`, { rootPath }),
905
- request,
906
- GenerateCommitMessageResponseSchema,
907
- options
908
- );
909
- }
910
- async commitProjectChanges(projectId, rootPath, request, options = {}) {
911
- return this.mutation(
912
- appendQuery(`${projectPath(projectId)}/git/commits`, { rootPath }),
913
- request,
914
- CommitProjectChangesResponseSchema,
915
- options
916
- );
917
- }
918
- async listProjectFiles(projectId, rootPath, directoryPath, options = {}) {
919
- const requestPath = appendQuery(`/v1/projects/${encodeURIComponent(projectId)}/files/tree`, {
920
- path: directoryPath ?? void 0,
921
- rootPath
922
- });
923
- return this.read(requestPath, ProjectFileTreeSchema, options);
924
- }
925
- async renameProjectFile(projectId, rootPath, request, options = {}) {
926
- return this.mutation(
927
- appendQuery(`/v1/projects/${encodeURIComponent(projectId)}/files/rename`, { rootPath }),
928
- request,
929
- RenameProjectFileResponseSchema,
930
- options
931
- );
932
- }
933
- async deleteProjectFile(projectId, rootPath, request, options = {}) {
934
- return this.mutation(
935
- appendQuery(`/v1/projects/${encodeURIComponent(projectId)}/files/delete`, { rootPath }),
936
- request,
937
- DeleteProjectFileResponseSchema,
938
- options
939
- );
940
- }
941
- async searchProjectFiles(projectId, rootPath, query, sessionId, options = {}) {
942
- const requestPath = appendQuery(`/v1/projects/${encodeURIComponent(projectId)}/files/search`, {
943
- query,
944
- rootPath,
945
- sessionId
946
- });
947
- return this.read(requestPath, ProjectFileSearchPageSchema, options);
948
- }
949
- async stopProjectFileSearch(projectId, rootPath, sessionId, options = {}) {
950
- return this.mutation(
951
- `/v1/projects/${encodeURIComponent(projectId)}/files/search/stop`,
952
- { rootPath, sessionId },
953
- StopProjectFileSearchResponseSchema,
954
- options
955
- );
956
- }
957
- async readProjectSourceFile(projectId, rootPath, path, cursor, options = {}) {
958
- const requestPath = appendQuery(`${projectPath(projectId)}/files/source`, {
959
- cursor,
960
- path,
961
- rootPath
962
- });
963
- return this.read(requestPath, ProjectSourceFileSchema, options);
964
- }
965
- };
966
-
967
- // packages/client/src/http-client-task-archive.ts
968
- var TaskArchiveHttpClient = class extends ProjectHttpClient {
969
- deleteArchivedTasks(projectId, options = {}) {
970
- return this.mutation(
971
- `${projectPath(projectId)}/tasks/archived`,
972
- {},
973
- DeleteArchivedTasksResponseSchema,
974
- options,
975
- "DELETE"
976
- );
977
- }
978
- async archiveTask(projectId, taskId, options = {}) {
979
- return this.mutation(
980
- `${taskPath(projectId, taskId)}/archive`,
981
- {},
982
- ArchiveAgentTaskResponseSchema,
983
- options
984
- );
985
- }
986
- async unarchiveTask(projectId, taskId, options = {}) {
987
- return this.mutation(
988
- `${taskPath(projectId, taskId)}/unarchive`,
989
- {},
990
- UnarchiveAgentTaskResponseSchema,
991
- options
992
- );
993
- }
994
- async deleteTask(projectId, taskId, options = {}) {
995
- return this.mutation(
996
- taskPath(projectId, taskId),
997
- {},
998
- DeleteAgentTaskResponseSchema,
999
- options,
1000
- "DELETE"
1001
- );
1002
- }
1003
- };
1004
-
1005
- // packages/client/src/http-client-task-goals.ts
1006
- var TaskGoalHttpClient = class extends TaskArchiveHttpClient {
1007
- async updateTaskGoal(projectId, taskId, input, options = {}) {
1008
- return this.mutation(
1009
- `${taskPath(projectId, taskId)}/goal`,
1010
- input,
1011
- UpdateAgentGoalResponseSchema,
1012
- options,
1013
- "PUT"
1014
- );
1015
- }
1016
- async clearTaskGoal(projectId, taskId, options = {}) {
1017
- return this.mutation(
1018
- `${taskPath(projectId, taskId)}/goal`,
1019
- {},
1020
- ClearAgentGoalResponseSchema,
1021
- options,
1022
- "DELETE"
1023
- );
1024
- }
1025
- };
1026
-
1027
- // packages/client/src/http-client-task-catalog.ts
1028
- var TaskCatalogHttpClient = class extends TaskGoalHttpClient {
1029
- readNavigableTask(projectId, taskId, options = {}) {
1030
- return this.read(
1031
- `${taskPath(projectId, taskId)}/navigation`,
1032
- NavigableAgentTaskResponseSchema,
1033
- options
1034
- );
1035
- }
1036
- updateTaskSettingsAndDefaults(projectId, taskId, input, options = {}) {
1037
- return this.mutation(
1038
- `${taskPath(projectId, taskId)}/settings-and-defaults`,
1039
- input,
1040
- UpdateTaskSettingsAndDefaultsResponseSchema,
1041
- options,
1042
- "PUT"
1043
- );
1044
- }
1045
- queryCompletedTasks(input, options = {}) {
1046
- return this.request(
1047
- "/v1/tasks/completed/query",
1048
- CompletedTasksPageSchema,
1049
- {
1050
- method: "POST",
1051
- headers: { "content-type": "application/json" },
1052
- body: JSON.stringify(input)
1053
- },
1054
- void 0,
1055
- { ...options, timeoutMs: this.requestTimeouts.queryMs }
1056
- );
1057
- }
1058
- listTaskCatalog(projectId, input = {}, options = {}) {
1059
- return this.read(
1060
- appendQuery(`${projectPath(projectId)}/tasks/catalog`, input),
1061
- AgentTaskCatalogSchema,
1062
- options
1063
- );
1064
- }
1065
- };
1066
-
1067
- // packages/client/src/http-client-global-search.ts
1068
- var GlobalSearchHttpClient = class extends TaskCatalogHttpClient {
1069
- async searchTasks(input, options = {}) {
1070
- return this.read(appendQuery("/v1/search/tasks", input), TaskSearchPageSchema, options);
1071
- }
1072
- async searchTaskOccurrences(projectId, taskId, query, cursor, options = {}) {
1073
- return this.read(
1074
- appendQuery(`${taskPath(projectId, taskId)}/search-occurrences`, { cursor, query }),
1075
- SearchOccurrencesPageSchema,
1076
- options
1077
- );
1078
- }
1079
- };
1080
-
1081
- // packages/client/src/http-client-tasks.ts
1082
- var TaskHttpClient = class extends GlobalSearchHttpClient {
1083
- submitTask(projectId, input, options = {}) {
1084
- return this.mutation(
1085
- `${projectPath(projectId)}/submissions`,
1086
- input,
1087
- SubmitTaskResponseSchema,
1088
- options
1089
- );
1090
- }
1091
- async listQueuedSubmissions(projectId, taskId, options = {}) {
1092
- return this.read(
1093
- `${taskPath(projectId, taskId)}/queue`,
1094
- AgentQueuedSubmissionListSchema,
1095
- options
1096
- );
1097
- }
1098
- async addQueuedSubmission(projectId, taskId, input, clientUserMessageId, options = {}) {
1099
- return this.mutation(
1100
- `${taskPath(projectId, taskId)}/queue`,
1101
- { clientUserMessageId, input },
1102
- AddAgentQueuedSubmissionResponseSchema,
1103
- options
1104
- );
1105
- }
1106
- async updateQueuedSubmission(projectId, taskId, queuedSubmissionId, input, status, options = {}) {
1107
- return this.mutation(
1108
- `${taskPath(projectId, taskId)}/queue/${encodeURIComponent(queuedSubmissionId)}`,
1109
- { input, status },
1110
- UpdateAgentQueuedSubmissionResponseSchema,
1111
- options,
1112
- "PUT"
1113
- );
1114
- }
1115
- async deleteQueuedSubmission(projectId, taskId, queuedSubmissionId, options = {}) {
1116
- return this.mutation(
1117
- `${taskPath(projectId, taskId)}/queue/${encodeURIComponent(queuedSubmissionId)}`,
1118
- {},
1119
- DeleteAgentQueuedSubmissionResponseSchema,
1120
- options,
1121
- "DELETE"
1122
- );
1123
- }
1124
- async reorderQueuedSubmissions(projectId, taskId, queuedSubmissionIds, options = {}) {
1125
- return this.mutation(
1126
- `${taskPath(projectId, taskId)}/queue/reorder`,
1127
- { queuedSubmissionIds },
1128
- ReorderAgentQueuedSubmissionsResponseSchema,
1129
- options,
1130
- "PUT"
1131
- );
1132
- }
1133
- async startQueuedSubmission(projectId, taskId, queuedSubmissionId, options = {}) {
1134
- return this.mutation(
1135
- `${taskPath(projectId, taskId)}/queue/start`,
1136
- { ...queuedSubmissionId === void 0 ? {} : { queuedSubmissionId } },
1137
- StartAgentQueuedSubmissionResponseSchema,
1138
- options
1139
- );
1140
- }
1141
- async listTasks(projectId, options = {}, requestOptions = {}) {
1142
- const path = appendQuery(`${projectPath(projectId)}/tasks`, options);
1143
- return this.read(path, AgentTaskPageSchema, requestOptions);
1144
- }
1145
- async readTask(projectId, taskId, options = {}) {
1146
- const { cursor, ...readOptions } = options;
1147
- return this.read(
1148
- appendQuery(taskPath(projectId, taskId), { cursor }),
1149
- AgentTaskSnapshotResponseSchema,
1150
- readOptions
1151
- );
1152
- }
1153
- getTaskAttachmentUrl(projectId, taskId, attachmentId) {
1154
- return buildTaskAttachmentUrl(this.baseUrl, projectId, taskId, attachmentId);
1155
- }
1156
- async openTaskAttachment(projectId, taskId, attachmentId, options = {}) {
1157
- return this.mutation(
1158
- `${taskPath(projectId, taskId)}/attachments/${encodeURIComponent(attachmentId)}/open`,
1159
- {},
1160
- OpenAgentTaskAttachmentResponseSchema,
1161
- options
1162
- );
1163
- }
1164
- async listBackgroundTerminals(projectId, taskId, options = {}) {
1165
- return this.read(
1166
- `${taskPath(projectId, taskId)}/background-terminals`,
1167
- AgentBackgroundTerminalPageSchema,
1168
- options
1169
- );
1170
- }
1171
- async terminateBackgroundTerminal(projectId, taskId, terminalId, options = {}) {
1172
- return this.mutation(
1173
- `${taskPath(projectId, taskId)}/background-terminals/${encodeURIComponent(terminalId)}/terminate`,
1174
- {},
1175
- TerminateAgentBackgroundTerminalResponseSchema,
1176
- options
1177
- );
1178
- }
1179
- async getTaskSettings(projectId, taskId, options = {}) {
1180
- return this.read(
1181
- `${taskPath(projectId, taskId)}/settings`,
1182
- AgentTaskSettingsResponseSchema,
1183
- options
1184
- );
1185
- }
1186
- async updateTaskSettings(projectId, taskId, settings, options = {}) {
1187
- return this.mutation(
1188
- `${taskPath(projectId, taskId)}/settings`,
1189
- settings,
1190
- AgentTaskSettingsResponseSchema,
1191
- options,
1192
- "PUT"
1193
- );
1194
- }
1195
- async startTask(projectId, options = {}) {
1196
- return this.mutation(
1197
- `${projectPath(projectId)}/tasks`,
1198
- {},
1199
- StartAgentTaskResponseSchema,
1200
- options
1201
- );
1202
- }
1203
- async startWorktreeTask(projectId, request, options = {}) {
1204
- return this.mutation(
1205
- `${projectPath(projectId)}/tasks`,
1206
- request,
1207
- StartAgentTaskResponseSchema,
1208
- options
1209
- );
1210
- }
1211
- async pinTask(projectId, taskId, pinned, options = {}) {
1212
- return this.mutation(
1213
- `${taskPath(projectId, taskId)}/pin`,
1214
- { pinned },
1215
- PinAgentTaskResponseSchema,
1216
- options,
1217
- "PUT"
1218
- );
1219
- }
1220
- async renameTask(projectId, taskId, title, options = {}) {
1221
- return this.mutation(
1222
- `${taskPath(projectId, taskId)}/rename`,
1223
- { title },
1224
- RenameAgentTaskResponseSchema,
1225
- options
1226
- );
1227
- }
1228
- async unsubscribeTask(projectId, taskId) {
1229
- return this.request(
1230
- `${taskPath(projectId, taskId)}/unsubscribe`,
1231
- UnsubscribeAgentTaskResponseSchema,
1232
- { body: "{}", headers: { "content-type": "application/json" }, method: "POST" }
1233
- );
1234
- }
1235
- async startReview(projectId, taskId, input, options = {}) {
1236
- return this.mutation(
1237
- `${taskPath(projectId, taskId)}/review`,
1238
- input,
1239
- ReviewAgentTaskResponseSchema,
1240
- options
1241
- );
1242
- }
1243
- async compactTask(projectId, taskId, options = {}) {
1244
- return this.mutation(
1245
- `${taskPath(projectId, taskId)}/compact`,
1246
- {},
1247
- CompactAgentTaskResponseSchema,
1248
- options
1249
- );
1250
- }
1251
- async forkTask(projectId, taskId, input, options = {}) {
1252
- return this.mutation(
1253
- `${taskPath(projectId, taskId)}/fork`,
1254
- input,
1255
- ForkAgentTaskResponseSchema,
1256
- options
1257
- );
1258
- }
1259
- async uploadFeedback(projectId, taskId, input, options = {}) {
1260
- return this.mutation(
1261
- `${taskPath(projectId, taskId)}/feedback`,
1262
- input,
1263
- UploadAgentFeedbackResponseSchema,
1264
- options
1265
- );
1266
- }
1267
- async uploadAttachment(projectId, input, options = {}) {
1268
- const body = new FormData();
1269
- body.set("attachment", input.content, input.name);
1270
- return this.request(
1271
- `${projectPath(projectId)}/attachments/${input.kind}`,
1272
- AgentAttachmentUploadResponseSchema,
1273
- {
1274
- body,
1275
- headers: {
1276
- "idempotency-key": options.idempotencyKey ?? v4_default()
1277
- },
1278
- method: "POST"
1279
- },
1280
- AgentMutationErrorSchema,
1281
- {
1282
- ...options.signal === void 0 ? {} : { signal: options.signal },
1283
- timeoutMs: this.requestTimeouts.mutationMs
1284
- }
1285
- );
1286
- }
1287
- async importHostAttachment(projectId, kind, path, options = {}) {
1288
- return this.mutation(
1289
- `${projectPath(projectId)}/attachments/${kind}/host`,
1290
- { path },
1291
- AgentAttachmentUploadResponseSchema,
1292
- options
1293
- );
1294
- }
1295
- async startTurn(projectId, taskId, input, turnOptions, options = {}) {
1296
- return this.mutation(
1297
- `${taskPath(projectId, taskId)}/turns`,
1298
- { input, options: turnOptions },
1299
- StartAgentTurnResponseSchema,
1300
- options
1301
- );
1302
- }
1303
- async steerTurn(projectId, taskId, turnId, input, options = {}) {
1304
- return this.mutation(
1305
- `${taskPath(projectId, taskId)}/turns/${encodeURIComponent(turnId)}/steer`,
1306
- { input, taskId },
1307
- SteerAgentTurnResponseSchema,
1308
- options
1309
- );
1310
- }
1311
- async interruptTurn(projectId, taskId, turnId, options = {}) {
1312
- return this.mutation(
1313
- `${taskPath(projectId, taskId)}/turns/${encodeURIComponent(turnId)}/interrupt`,
1314
- { taskId },
1315
- InterruptAgentTurnResponseSchema,
1316
- options
1317
- );
1318
- }
1319
- async resolvePendingRequest(request, resolution, options = {}) {
1320
- const body = {
1321
- itemId: request.itemId,
1322
- projectId: request.projectId,
1323
- resolution,
1324
- taskId: request.taskId,
1325
- turnId: request.turnId,
1326
- type: request.type
1327
- };
1328
- return this.mutation(
1329
- `${taskPath(request.projectId, request.taskId)}/pending-requests/${encodeURIComponent(request.requestId)}/resolve`,
1330
- body,
1331
- ResolvePendingRequestResponseSchema,
1332
- options
1333
- );
1334
- }
1335
- };
1336
-
1337
- // packages/client/src/resource-change-events.ts
1338
- function subscribeResourceChanges(baseUrl, factory, path, schema, onChange) {
1339
- const url = baseUrl ? new URL(`${baseUrl}${path}`) : new URL(path, globalThis.location.href);
1340
- url.protocol = url.protocol === "https:" ? "wss:" : "ws:";
1341
- let active = true;
1342
- let attempt = 0;
1343
- let timer;
1344
- let socket;
1345
- let detach;
1346
- const retry = () => {
1347
- if (!active) return;
1348
- timer = setTimeout(
1349
- connect,
1350
- Math.min(3e4, 500 * 2 ** Math.min(attempt++, 6)) * (0.8 + Math.random() * 0.4)
1351
- );
1352
- };
1353
- const connect = () => {
1354
- if (!active) return;
1355
- timer = void 0;
1356
- let current;
1357
- try {
1358
- current = factory(url.toString());
1359
- } catch {
1360
- retry();
1361
- return;
1362
- }
1363
- socket = current;
1364
- const onMessage = (event) => {
1365
- if (!active || socket !== current) return;
1366
- let message;
1367
- try {
1368
- message = JSON.parse(String(event.data));
1369
- } catch {
1370
- current.close(1002, "Invalid resource change frame");
1371
- return;
1372
- }
1373
- if (!value_exports.Check(schema, message)) {
1374
- current.close(1002, "Invalid resource change frame");
1375
- return;
1376
- }
1377
- attempt = 0;
1378
- onChange(message);
1379
- };
1380
- const onClose = (event) => {
1381
- if (socket !== current) return;
1382
- detach?.();
1383
- socket = void 0;
1384
- if (event.code !== 1008 && event.code !== 1002) retry();
1385
- };
1386
- const onError = () => {
1387
- current.close();
1388
- };
1389
- detach = () => {
1390
- current.removeEventListener("message", onMessage);
1391
- current.removeEventListener("close", onClose);
1392
- current.removeEventListener("error", onError);
1393
- };
1394
- current.addEventListener("message", onMessage);
1395
- current.addEventListener("close", onClose);
1396
- current.addEventListener("error", onError);
1397
- };
1398
- connect();
1399
- return () => {
1400
- active = false;
1401
- if (timer !== void 0) clearTimeout(timer);
1402
- detach?.();
1403
- socket?.close(1e3, "Resource subscription closed");
1404
- socket = void 0;
1405
- };
1406
- }
1407
-
1408
- // packages/client/src/scheduled-task-events.ts
1409
- function subscribeScheduledTaskChanges(baseUrl, factory, onChange) {
1410
- return subscribeResourceChanges(
1411
- baseUrl,
1412
- factory,
1413
- "/v1/scheduled-tasks/events",
1414
- ScheduledTaskChangeSchema,
1415
- onChange
1416
- );
1417
- }
1418
-
1419
- // packages/client/src/http-client-scheduled-tasks.ts
1420
- var ScheduledTaskHttpClient = class extends TaskHttpClient {
1421
- previewScheduledTask(schedule, options = {}) {
1422
- return this.mutation(
1423
- "/v1/scheduled-tasks/preview",
1424
- { schedule },
1425
- ScheduledTaskPreviewSchema,
1426
- options
1427
- );
1428
- }
1429
- subscribeScheduledTasks(onChange) {
1430
- return subscribeScheduledTaskChanges(this.baseUrl, this.webSocketFactory, onChange);
1431
- }
1432
- listScheduledTasks(options = {}) {
1433
- return this.read("/v1/scheduled-tasks", ScheduledTaskPageSchema, options);
1434
- }
1435
- createScheduledTask(input, options = {}) {
1436
- return this.mutation(
1437
- "/v1/scheduled-tasks",
1438
- input,
1439
- ScheduledTaskMutationResponseSchema,
1440
- options
1441
- );
1442
- }
1443
- updateScheduledTask(taskId, input, options = {}) {
1444
- return this.mutation(
1445
- `/v1/scheduled-tasks/${encodeURIComponent(taskId)}`,
1446
- input,
1447
- ScheduledTaskMutationResponseSchema,
1448
- options,
1449
- "PUT"
1450
- );
1451
- }
1452
- deleteScheduledTask(taskId, options = {}) {
1453
- return this.mutation(
1454
- `/v1/scheduled-tasks/${encodeURIComponent(taskId)}`,
1455
- {},
1456
- DeleteScheduledTaskResponseSchema,
1457
- options,
1458
- "DELETE"
1459
- );
1460
- }
1461
- setScheduledTaskEnabled(taskId, enabled, options = {}) {
1462
- return this.mutation(
1463
- `/v1/scheduled-tasks/${encodeURIComponent(taskId)}/enabled`,
1464
- { enabled },
1465
- ScheduledTaskMutationResponseSchema,
1466
- options,
1467
- "PATCH"
1468
- );
1469
- }
1470
- runScheduledTaskNow(taskId, options = {}) {
1471
- return this.mutation(
1472
- `/v1/scheduled-tasks/${encodeURIComponent(taskId)}/run`,
1473
- {},
1474
- ScheduledTaskMutationResponseSchema,
1475
- options
1476
- );
1477
- }
1478
- };
1479
-
1480
- // packages/client/src/http-client-personalization.ts
1481
- var PersonalizationHttpClient = class extends ScheduledTaskHttpClient {
1482
- compressHistory(options = {}) {
1483
- return this.mutation("/v1/history/compress", {}, HistoryCompressionResultSchema, options);
1484
- }
1485
- listWorkbenchBackgrounds(options = {}) {
1486
- return this.read("/v1/workbench-background/bing/catalog", BingWallpaperCatalogSchema, options);
1487
- }
1488
- getGlobalInstructions(options = {}) {
1489
- return this.read("/v1/personalization/instructions", GlobalInstructionsSchema, options);
1490
- }
1491
- saveGlobalInstructions(content, expectedContent, options = {}) {
1492
- return this.mutation(
1493
- "/v1/personalization/instructions",
1494
- { content, expectedContent },
1495
- GlobalInstructionsSchema,
1496
- options,
1497
- "PUT"
1498
- );
1499
- }
1500
- getMemorySettings(options = {}) {
1501
- return this.read("/v1/personalization/memories", MemorySettingsSchema, options);
1502
- }
1503
- updateMemorySettings(input, options = {}) {
1504
- return this.mutation(
1505
- "/v1/personalization/memories",
1506
- input,
1507
- MemorySettingsSchema,
1508
- options,
1509
- "PUT"
1510
- );
1511
- }
1512
- resetMemories(options = {}) {
1513
- return this.mutation(
1514
- "/v1/personalization/memories/reset",
1515
- {},
1516
- PersonalizationResetSchema,
1517
- options
1518
- );
1519
- }
1520
- getAgentPreferences(options = {}) {
1521
- return this.read("/v1/personalization/agent", AgentPreferencesSchema, options);
1522
- }
1523
- updateAgentPreferences(input, options = {}) {
1524
- return this.mutation(
1525
- "/v1/personalization/agent",
1526
- input,
1527
- AgentPreferencesSchema,
1528
- options,
1529
- "PUT"
1530
- );
1531
- }
1532
- };
1533
-
1534
- // packages/client/src/http-client-project-todos.ts
1535
- var ProjectTodoHttpClient = class extends PersonalizationHttpClient {
1536
- subscribeWorkbenchChanges(onChange) {
1537
- return subscribeResourceChanges(
1538
- this.baseUrl,
1539
- this.webSocketFactory,
1540
- "/v1/workbench/events",
1541
- WorkbenchChangeSchema,
1542
- onChange
1543
- );
1544
- }
1545
- // 浏览器历史记录属于不可信输入,由后端统一按当前协议校验。
1546
- importProjectTodo(projectId, todoId, draft, options = {}) {
1547
- return this.mutation(
1548
- `${projectPath(projectId)}/todos/${encodeURIComponent(todoId)}/import`,
1549
- draft,
1550
- ProjectTodoResponseSchema,
1551
- options
1552
- );
1553
- }
1554
- listProjectTodos(projectId, options = {}) {
1555
- return this.read(`${projectPath(projectId)}/todos`, ProjectTodoPageSchema, options);
1556
- }
1557
- createProjectTodo(projectId, draft, options = {}) {
1558
- return this.mutation(
1559
- `${projectPath(projectId)}/todos`,
1560
- draft,
1561
- ProjectTodoResponseSchema,
1562
- options
1563
- );
1564
- }
1565
- saveProjectTodo(projectId, todoId, input, options = {}) {
1566
- return this.mutation(
1567
- `${projectPath(projectId)}/todos/${encodeURIComponent(todoId)}`,
1568
- input,
1569
- ProjectTodoResponseSchema,
1570
- options,
1571
- "PUT"
1572
- );
1573
- }
1574
- deleteProjectTodo(projectId, todoId, expectedVersion, options = {}) {
1575
- return this.mutation(
1576
- `${projectPath(projectId)}/todos/${encodeURIComponent(todoId)}`,
1577
- { expectedVersion },
1578
- DeleteProjectTodoResponseSchema,
1579
- options,
1580
- "DELETE"
1581
- );
1582
- }
1583
- };
1584
-
1585
- // packages/client/src/http-client-async-questions.ts
1586
- var questionPath = (projectId, taskId) => `${projectPath(projectId)}/tasks/${encodeURIComponent(taskId)}/async-questions`;
1587
- var AsyncQuestionHttpClient = class extends ProjectTodoHttpClient {
1588
- listAsyncQuestions(projectId, taskId, options = {}) {
1589
- return this.read(questionPath(projectId, taskId), AsyncQuestionPageSchema, options);
1590
- }
1591
- answerAsyncQuestion(projectId, taskId, id, answers, options = {}) {
1592
- return this.mutation(
1593
- `${questionPath(projectId, taskId)}/${encodeURIComponent(id)}/answer`,
1594
- { answers },
1595
- AnswerAsyncQuestionResponseSchema,
1596
- options
1597
- );
1598
- }
1599
- dismissAsyncQuestions(projectId, taskId, ids, options = {}) {
1600
- return this.mutation(
1601
- `${questionPath(projectId, taskId)}/dismiss`,
1602
- { ids },
1603
- AsyncQuestionPageSchema,
1604
- options
1605
- );
1606
- }
1607
- };
1608
-
1609
- // packages/client/src/http-client.ts
1610
- var CodexlyClient = class extends AsyncQuestionHttpClient {
1611
- };
1612
-
1613
- export { CodexlyClient, CodexlyEventError, CodexlyHttpError, CodexlyMutationError, CodexlyResponseError, buildProjectAttachmentUrl, buildProjectFileDownloadUrl, buildProjectImageFileUrl, buildProjectPdfFileUrl, buildTaskAttachmentUrl, buildWorkbenchPetAssetUrl, startAgentEventSubscription };
1
+ import {createRequire}from'node:module';import {a}from'../chunk-JHBSDMIM.js';import {tg,xe,we,Tg,Wg,pg,Ng,Mg,Qg,Eg,Gg,yg,Ag,Dg,Cg,Pd,Ud,Vd,Wd,Ig,qd,Mf,Of,Pf,Rf,Tf,Ee,ug,Vb,ac,bc,Fd,lf,nf,pf,wf,yf,Af,Cf,Gf,dd,Xf,If,Kf,Vf,qe,ic,hc,vg,Hd,Zg,jf,ue,ve,kc,rf,tf,vf,Ge,kd,Ef,Ce,wa,Aa,De,Ed,Da,Na,Pa,Ia,Ka,Ra,Va,Ya,_a,cb,gb,fb,jb,ob,rb,ub,wb,oa,qa,yb,nb,$g,ah,ch,$ as $$1,hb,sc,Lc,Oc,Qc,Sc,uc,yc,Ac,Dc,Ic,Fc,wc,Hc,He,pc,oc,rc,Zd,Ie,Fe,Ne,Pe as Pe$1,Te,Re as Re$1,Cd,fa,ha,Md,dh}from'../chunk-YAHXVRU3.js';import'../chunk-IV4NRE4S.js';import'../chunk-YXJGRSCL.js';createRequire(import.meta.url);
2
+ var g=[];for(let o=0;o<256;++o)g.push((o+256).toString(16).slice(1));function Pn(o,e=0){return (g[o[e+0]]+g[o[e+1]]+g[o[e+2]]+g[o[e+3]]+"-"+g[o[e+4]]+g[o[e+5]]+"-"+g[o[e+6]]+g[o[e+7]]+"-"+g[o[e+8]]+g[o[e+9]]+"-"+g[o[e+10]]+g[o[e+11]]+g[o[e+12]]+g[o[e+13]]+g[o[e+14]]+g[o[e+15]]).toLowerCase()}var Tn=new Uint8Array(16);function ye(){return crypto.getRandomValues(Tn)}function An(o,e,t){return !e&&!o&&crypto.randomUUID?crypto.randomUUID():vn(o,e,t)}function vn(o,e,t){o=o||{};let n=o.random??o.rng?.()??ye();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,e){if(t=t||0,t<0||t+16>e.length)throw new RangeError(`UUID byte range ${t}:${t+15} is out of buffer bounds`);for(let s=0;s<16;++s)e[t+s]=n[s];return e}return Pn(n)}var $=An;var q=class extends Error{constructor(e,t){super(e,t),this.name="CodexlyEventError";}};function On(o,e,t){let n=e===we?`${xe}/events`:`/v1/projects/${encodeURIComponent(e)}/events`,s=o?new URL(`${o}${n}`):new URL(n,globalThis.location.href);return s.protocol=s.protocol==="https:"?"wss:":"ws:",s.searchParams.set("afterSequence",String(t)),s.toString()}function E(o,e,t){return {latestSequence:e,reason:t,sessionId:o,type:"resync.required",version:3}}function jn(o){if(o.length>pg)return true;if(o.length*3<=pg)return false;let e=0;for(let t=0;t<o.length;t+=1){let n=o.codePointAt(t);if(n===void 0)break;if(e+=n<=127?1:n<=2047?2:n<=65535?3:4,e>pg)return true;n>65535&&(t+=1);}return false}function Pe(o){let e=o.reconnectDelayMs??250,t=true,n=true,s=o.afterSequence,a$1=0,p,P,l,d=y=>{o.onConnectionState?.(y);},u=(y,m)=>{let f=P;f!==void 0&&(l?.(),l=void 0,P=void 0,f.close(y,m));},S=y=>{n=false,o.onResyncRequired(y),u(1e3,"Snapshot resync required"),d("closed");},v=(y,m)=>{n=false,o.onError?.(new q(y,m===void 0?void 0:{cause:m})),u(1002,"Invalid Agent Event frame"),d("closed");},h=()=>{if(!t)return;p=void 0;let y=false,m=o.webSocketFactory(On(o.baseUrl,o.projectId,s));P=m;let f=()=>t&&P===m,O=M=>{if(!f())return;if(typeof M.data!="string"){v("Codexly event frame must be text");return}if(jn(M.data)){S(E(o.sessionId,s,"event_retention_exceeded"));return}let x;try{x=JSON.parse(M.data);}catch(b){v("Codexly event frame is not valid JSON",b);return}if(!a.Check(tg,x)){v("Codexly event frame does not match the protocol schema");return}let k=x;if(k.type==="resync.required"){S(k);return}if(k.type==="connection.ready"){if(k.sessionId!==o.sessionId||k.latestSequence<s){S(E(k.sessionId,k.latestSequence,"session_changed"));return}y=true,a$1=0,d("connected");return}if(!y){v("Codexly event arrived before connection.ready");return}for(let b of k.events){if(b.sessionId!==o.sessionId){S(E(b.sessionId,b.sequence,"session_changed"));return}if(!(b.sequence<=s)){if(b.sequence!==s+1){S(E(b.sessionId,b.sequence,"sequence_gap"));return}if(s=b.sequence,o.onEvent(b),!f())return}}},C=()=>{!t||P!==m||o.onError?.(new q("Codexly event connection failed"));},be=M=>{if(P!==m)return;if(t&&M.code===1009){S(E(o.sessionId,s,"event_retention_exceeded"));return}if(l?.(),l=void 0,P=void 0,!t)return;if(!n){d("closed");return}d("reconnecting");let x=Math.min(e*2**a$1,5e3);a$1+=1,p=setTimeout(h,x);};l=()=>{m.removeEventListener("message",O),m.removeEventListener("error",C),m.removeEventListener("close",be);},m.addEventListener("message",O),m.addEventListener("error",C),m.addEventListener("close",be);};return d("connecting"),h(),()=>{t&&(t=false,n=false,p!==void 0&&clearTimeout(p),u(1e3,"Subscription cancelled"),d("closed"));}}var Cn=15e4,A=class extends Error{status;constructor(e,t,n){super(n??`Codexly request failed with ${String(e)} ${t}`.trim()),this.name="CodexlyHttpError",this.status=e;}},I=class extends A{code;retryable;constructor(e,t,n){super(e,t,n.message),this.name="CodexlyMutationError",this.code=n.code,this.retryable=n.retryable;}},T=class extends Error{constructor(e,t){super(e,t),this.name="CodexlyResponseError";}};function i(o,e){let t=new URLSearchParams;for(let[s,a]of Object.entries(e))a!==void 0&&t.set(s,String(a));let n=t.toString();return n?`${o}?${n}`:o}function r(o){return o===we?xe:`/v1/projects/${encodeURIComponent(o)}`}function c(o,e){return `${r(o)}/tasks/${encodeURIComponent(e)}`}function H(o,e,t,n){return `${o.replace(/\/$/u,"")}${c(e,t)}/attachments/${encodeURIComponent(n)}`}function Rn(o,e,t,n){let s=i(`${r(e)}/files/image`,{path:t,rootPath:n});return `${o.replace(/\/$/u,"")}${s}`}function Sn(o,e,t,n){let s=i(`${r(e)}/files/download`,{path:t,rootPath:n===""?void 0:n});return `${o.replace(/\/$/u,"")}${s}`}function bn(o,e,t){return `${o.replace(/\/$/u,"")}${r(e)}/attachments/${encodeURIComponent(t)}`}function fn(o,e=""){return `${e.replace(/\/$/u,"")}/v1/pets/assets/${encodeURIComponent(o)}`}var W=class{baseUrl;fetchImplementation;requestTimeouts;webSocketFactory;unauthorizedListeners=new Set;constructor(e={}){this.baseUrl=e.baseUrl?.replace(/\/$/u,"")??"",this.fetchImplementation=e.fetch??globalThis.fetch.bind(globalThis),this.requestTimeouts={mutationMs:e.requestTimeouts?.mutationMs??6e4,queryMs:e.requestTimeouts?.queryMs??3e4,readMs:e.requestTimeouts?.readMs??15e3},this.webSocketFactory=e.webSocketFactory??(t=>new WebSocket(t));}async getHealth(e={}){return this.read("/v1/health",He,e)}async getAppInfo(e={}){return this.read("/v1/app-info",pc,e)}async getAppUpdateProgress(e={}){return this.read("/v1/app-update/progress",oc,e)}async installAppUpdate(e,t={}){return this.mutation("/v1/app-update",{version:e},rc,t,"POST",Cn)}async getAccessStatus(e={}){return this.read("/v1/access",Zd,e)}async pairAccess(e){return this.request("/v1/access/pair",Zd,{body:JSON.stringify({code:e}),headers:{"content-type":"application/json"},method:"POST"},Xf,{timeoutMs:this.requestTimeouts.mutationMs})}async logoutAccess(){return this.request("/v1/access/logout",Zd,{body:"{}",headers:{"content-type":"application/json"},method:"POST"},Xf,{timeoutMs:this.requestTimeouts.mutationMs})}subscribeUnauthorized(e){return this.unauthorizedListeners.add(e),()=>this.unauthorizedListeners.delete(e)}async getCapabilities(e={}){return this.read("/v1/capabilities",Ie,e)}async listModels(e={}){return this.read("/v1/models",Fe,e)}async getProviderConnection(e={}){return this.read("/v1/provider-connection",Ne,e)}async startOfficialProviderLogin(e={}){return this.mutation("/v1/provider-connection/official-login",{},Pe$1,e)}async cancelProviderLogin(e,t={}){return this.mutation("/v1/provider-connection/official-login/cancel",{loginId:e},Te,t)}async configureCustomProvider(e,t={}){return this.mutation("/v1/provider-connection/custom",e,Re$1,t,"PUT")}async logoutProvider(e={}){return this.mutation("/v1/provider-connection/logout",{},Te,e)}async getGlobalSettings(e={}){return this.read("/v1/settings",Cd,e)}async listWorkbenchPets(e={}){return this.read("/v1/pets",fa,e)}async downloadWorkbenchPet(e,t={}){return this.mutation("/v1/pets/downloads",{petId:e},ha,t)}async updateGlobalSettings(e,t={}){return this.mutation("/v1/settings",e,Cd,t,"PUT")}subscribeEvents(e){return Pe({...e,baseUrl:this.baseUrl,webSocketFactory:this.webSocketFactory})}mutation(e,t,n,s,a="POST",p=this.requestTimeouts.mutationMs){return this.request(e,n,{body:JSON.stringify(t),headers:{"content-type":"application/json","idempotency-key":s.idempotencyKey??$()},method:a},Xf,{...s.signal===void 0?{}:{signal:s.signal},timeoutMs:p})}read(e,t,n,s){return this.request(e,t,{},s,{...n.signal===void 0?{}:{signal:n.signal},timeoutMs:n.signal===void 0?this.requestTimeouts.readMs:this.requestTimeouts.queryMs})}async request(e,t,n={},s,a$1={}){let p=AbortSignal.timeout(a$1.timeoutMs??this.requestTimeouts.readMs),P=a$1.signal===void 0?p:AbortSignal.any([a$1.signal,p]),l=await this.fetchImplementation(`${this.baseUrl}${e}`,{...n,credentials:"same-origin",headers:{accept:"application/json",...n.headers},signal:P});if(!l.ok){if(l.status===401)for(let u of this.unauthorizedListeners)try{u();}catch{}if(s!==void 0){let u;try{u=await l.json();}catch(S){throw new T("Codexly error response is not valid JSON",{cause:S})}throw a.Check(s,u)?new I(l.status,l.statusText,u):new T("Codexly error response does not match the protocol schema")}try{let u=await l.json();if(typeof u=="object"&&u!==null&&"message"in u&&typeof u.message=="string"&&u.message.length>0)throw new A(l.status,l.statusText,u.message)}catch(u){if(u instanceof A)throw u}throw new A(l.status,l.statusText)}let d;try{d=await l.json();}catch(u){throw new T("Codexly response is not valid JSON",{cause:u})}if(!a.Check(t,d))throw new T("Codexly response does not match the protocol schema");return d}};function Mn(o,e,t,n){let s=i(`${r(e)}/files/pdf`,{path:t,rootPath:n===""?void 0:n});return `${o.replace(/\/$/u,"")}${s}`}var _=class extends W{async reconcileOfficialPlugins(e={}){return this.mutation("/v1/plugins/official/reconcile",{},sc,e)}async listOfficialPlugins(e,t={}){return this.read(i("/v1/plugins/official",{forceRefetch:e?"true":void 0}),Lc,t)}async getOfficialPlugin(e,t,n,s={}){return this.read(i(`/v1/plugins/official/${encodeURIComponent(e)}/${encodeURIComponent(n)}`,{marketplacePath:t??void 0}),Oc,s,Xf)}async installOfficialPlugin(e,t,n,s,a={}){return this.mutation(`/v1/plugins/official/${encodeURIComponent(e)}/${encodeURIComponent(n)}/install`,{installAttemptId:s,marketplacePath:t},Qc,a)}async uninstallOfficialPlugin(e,t,n,s={}){return this.mutation(`/v1/plugins/official/${encodeURIComponent(e)}/${encodeURIComponent(t)}/uninstall`,{pluginId:n},Sc,s)}async listInstalledSkills(e={}){return this.read("/v1/skills/installed",uc,e)}async listClawhubSkills(e,t,n,s={}){return this.read(i("/v1/skills/market",{cursor:t??void 0,query:e.length===0?void 0:e,sort:n}),yc,s,Xf)}async getClawhubSkill(e,t,n={}){return this.read(`/v1/skills/market/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,Ac,n,Xf)}async installClawhubSkill(e,t,n,s,a,p={}){return this.mutation(`/v1/skills/market/${encodeURIComponent(e)}/${encodeURIComponent(t)}/install`,{projectId:s,rootPath:a,scope:n},Dc,p)}async openSkillDirectory(e,t={}){return this.mutation("/v1/skills/open",{path:e},Ic,t)}async setSkillEnabled(e,t,n={}){return this.mutation("/v1/skills/enabled",{enabled:t,path:e},Fc,n,"PUT")}async listConfiguredMcpServers(e={}){return this.read("/v1/mcp-servers/configured",wc,e)}async setMcpServerEnabled(e,t,n={}){return this.mutation(`/v1/mcp-servers/configured/${encodeURIComponent(e)}/enabled`,{enabled:t},Hc,n,"PUT")}};var B=class extends _{async createTaskWorktree(e,t,n,s={}){return this.mutation(i(`${r(e)}/git/task-worktrees`,{rootPath:t}),n,hb,s)}};var z=class extends B{async createProjectDirectory(e,t={}){return this.mutation("/v1/project-directories",e,$$1,t)}};var N=class extends z{async readProjectTextFileRevision(e,t,n,s={}){return this.read(i(`${r(e)}/files/text/revision`,{path:n,rootPath:t}),$g,s)}async readProjectTextFile(e,t,n,s={}){return this.read(i(`${r(e)}/files/text`,{path:n,rootPath:t}),ah,s)}async saveProjectTextFile(e,t,n,s={}){return this.mutation(i(`${r(e)}/files/text`,{rootPath:t}),n,ch,s)}};var K=class extends N{async pushProjectCommits(e,t,n,s={}){return this.mutation(i(`${r(e)}/git/push`,{rootPath:t}),n,nb,s)}};var J=class extends K{async listSkills(e,t={}){return this.read(`${r(e)}/skills`,Ge,t)}async listMcpServers(e,t,n={}){return this.read(`${c(e,t)}/mcp-servers`,kd,n,Xf)}async retryMcpServers(e,t,n={}){return this.mutation(`${c(e,t)}/mcp-servers/retry`,{},Ef,n)}async listProjects(e={}){return this.read("/v1/projects",Ce,e)}async listProjectDirectories(e,t={}){return this.read(i("/v1/project-directories",{path:e,includeHidden:t.includeHidden===true?"true":void 0}),wa,t)}async listHostFiles(e,t,n={}){return this.read(i("/v1/host-files",{kind:e,path:t,includeHidden:n.includeHidden===true?"true":void 0}),Aa,n)}async reorderProjects(e,t={}){return this.mutation("/v1/projects/order",{projectIds:e},De,t,"PUT")}async getProjectDefaults(e,t={}){return this.read(`${r(e)}/defaults`,Ed,t)}async updateProjectDefaults(e,t,n={}){return this.mutation(`${r(e)}/defaults`,t,Ed,n,"PUT")}async addProject(e,t={}){return this.mutation("/v1/projects",{roots:e.map(n=>({path:n}))},Da,t)}async renameProject(e,t,n={}){return this.mutation(`${r(e)}/rename`,{name:t},Na,n)}async removeProject(e,t={}){return this.mutation(`${r(e)}/remove`,{},Pa,t)}async getProjectOpenCapabilities(e,t={}){return this.read(`${r(e)}/open-capabilities`,Ia,t)}async openProject(e,t,n,s={}){return this.mutation(i(`${r(e)}/open`,{rootPath:t}),n,Ka,s)}async getProjectGitStatus(e,t,n={}){return this.read(i(`/v1/projects/${encodeURIComponent(e)}/git/status`,{includeDiff:t.includeDiff===true?"true":void 0,repository:t.repository,rootPath:t.rootPath}),Ra,n)}async getProjectGitHistory(e,t,n={}){return this.read(i(`${r(e)}/git/history`,{cursor:t.cursor,repository:t.repository,rootPath:t.rootPath}),Va,n)}async getProjectGitCommitFiles(e,t,n={}){return this.read(i(`${r(e)}/git/commit-files`,{cursor:t.cursor,repository:t.repository,rootPath:t.rootPath,sha:t.sha}),Ya,n)}async getProjectGitCommitFileDiff(e,t,n={}){return this.read(i(`${r(e)}/git/commit-diff`,{path:t.path,repository:t.repository,rootPath:t.rootPath,sha:t.sha}),_a,n)}async switchProjectBranch(e,t,n,s={}){return this.mutation(i(`${r(e)}/git/branch`,{rootPath:t}),n,Ra,s)}async createProjectBranch(e,t,n,s={}){return this.mutation(i(`${r(e)}/git/branches`,{rootPath:t}),n,Ra,s)}async listProjectWorktrees(e,t,n={}){return this.read(i(`${r(e)}/git/worktrees`,{rootPath:t}),cb,n)}async createProjectWorktree(e,t,n,s={}){return this.mutation(i(`${r(e)}/git/worktrees`,{rootPath:t}),n,gb,s)}async switchProjectWorktree(e,t,n,s={}){return this.mutation(i(`${r(e)}/git/worktree`,{rootPath:t}),n,fb,s)}async generateCommitMessage(e,t,n,s={}){return this.mutation(i(`${r(e)}/git/commit-message`,{rootPath:t}),n,jb,s)}async commitProjectChanges(e,t,n,s={}){return this.mutation(i(`${r(e)}/git/commits`,{rootPath:t}),n,ob,s)}async listProjectFiles(e,t,n,s={}){let a=i(`/v1/projects/${encodeURIComponent(e)}/files/tree`,{path:n??void 0,rootPath:t});return this.read(a,rb,s)}async renameProjectFile(e,t,n,s={}){return this.mutation(i(`/v1/projects/${encodeURIComponent(e)}/files/rename`,{rootPath:t}),n,ub,s)}async deleteProjectFile(e,t,n,s={}){return this.mutation(i(`/v1/projects/${encodeURIComponent(e)}/files/delete`,{rootPath:t}),n,wb,s)}async searchProjectFiles(e,t,n,s,a={}){let p=i(`/v1/projects/${encodeURIComponent(e)}/files/search`,{query:n,rootPath:t,sessionId:s});return this.read(p,oa,a)}async stopProjectFileSearch(e,t,n,s={}){return this.mutation(`/v1/projects/${encodeURIComponent(e)}/files/search/stop`,{rootPath:t,sessionId:n},qa,s)}async readProjectSourceFile(e,t,n,s,a={}){let p=i(`${r(e)}/files/source`,{cursor:s,path:n,rootPath:t});return this.read(p,yb,a)}};var V=class extends J{deleteArchivedTasks(e,t={}){return this.mutation(`${r(e)}/tasks/archived`,{},kc,t,"DELETE")}async archiveTask(e,t,n={}){return this.mutation(`${c(e,t)}/archive`,{},rf,n)}async unarchiveTask(e,t,n={}){return this.mutation(`${c(e,t)}/unarchive`,{},tf,n)}async deleteTask(e,t,n={}){return this.mutation(c(e,t),{},vf,n,"DELETE")}};var Y=class extends V{async updateTaskGoal(e,t,n,s={}){return this.mutation(`${c(e,t)}/goal`,n,ue,s,"PUT")}async clearTaskGoal(e,t,n={}){return this.mutation(`${c(e,t)}/goal`,{},ve,n,"DELETE")}};var X=class extends Y{readNavigableTask(e,t,n={}){return this.read(`${c(e,t)}/navigation`,vg,n)}updateTaskSettingsAndDefaults(e,t,n,s={}){return this.mutation(`${c(e,t)}/settings-and-defaults`,n,Hd,s,"PUT")}queryCompletedTasks(e,t={}){return this.request("/v1/tasks/completed/query",Zg,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(e)},void 0,{...t,timeoutMs:this.requestTimeouts.queryMs})}listTaskCatalog(e,t={},n={}){return this.read(i(`${r(e)}/tasks/catalog`,t),jf,n)}};var Z=class extends X{async searchTasks(e,t={}){return this.read(i("/v1/search/tasks",e),ic,t)}async searchTaskOccurrences(e,t,n,s,a={}){return this.read(i(`${c(e,t)}/search-occurrences`,{cursor:s,query:n}),hc,a)}};var ee=class extends Z{submitTask(e,t,n={}){return this.mutation(`${r(e)}/submissions`,t,Ig,n)}async listQueuedSubmissions(e,t,n={}){return this.read(`${c(e,t)}/queue`,qd,n)}async addQueuedSubmission(e,t,n,s,a={}){return this.mutation(`${c(e,t)}/queue`,{clientUserMessageId:s,input:n},Mf,a)}async updateQueuedSubmission(e,t,n,s,a,p={}){return this.mutation(`${c(e,t)}/queue/${encodeURIComponent(n)}`,{input:s,status:a},Of,p,"PUT")}async deleteQueuedSubmission(e,t,n,s={}){return this.mutation(`${c(e,t)}/queue/${encodeURIComponent(n)}`,{},Pf,s,"DELETE")}async reorderQueuedSubmissions(e,t,n,s={}){return this.mutation(`${c(e,t)}/queue/reorder`,{queuedSubmissionIds:n},Rf,s,"PUT")}async startQueuedSubmission(e,t,n,s={}){return this.mutation(`${c(e,t)}/queue/start`,{...n===void 0?{}:{queuedSubmissionId:n}},Tf,s)}async listTasks(e,t={},n={}){let s=i(`${r(e)}/tasks`,t);return this.read(s,Ee,n)}async readTask(e,t,n={}){let{cursor:s,...a}=n;return this.read(i(c(e,t),{cursor:s}),ug,a)}getTaskAttachmentUrl(e,t,n){return H(this.baseUrl,e,t,n)}async openTaskAttachment(e,t,n,s={}){return this.mutation(`${c(e,t)}/attachments/${encodeURIComponent(n)}/open`,{},Vb,s)}async listBackgroundTerminals(e,t,n={}){return this.read(`${c(e,t)}/background-terminals`,ac,n)}async terminateBackgroundTerminal(e,t,n,s={}){return this.mutation(`${c(e,t)}/background-terminals/${encodeURIComponent(n)}/terminate`,{},bc,s)}async getTaskSettings(e,t,n={}){return this.read(`${c(e,t)}/settings`,Fd,n)}async updateTaskSettings(e,t,n,s={}){return this.mutation(`${c(e,t)}/settings`,n,Fd,s,"PUT")}async startTask(e,t={}){return this.mutation(`${r(e)}/tasks`,{},lf,t)}async startWorktreeTask(e,t,n={}){return this.mutation(`${r(e)}/tasks`,t,lf,n)}async pinTask(e,t,n,s={}){return this.mutation(`${c(e,t)}/pin`,{pinned:n},nf,s,"PUT")}async renameTask(e,t,n,s={}){return this.mutation(`${c(e,t)}/rename`,{title:n},pf,s)}async unsubscribeTask(e,t){return this.request(`${c(e,t)}/unsubscribe`,wf,{body:"{}",headers:{"content-type":"application/json"},method:"POST"})}async startReview(e,t,n,s={}){return this.mutation(`${c(e,t)}/review`,n,yf,s)}async compactTask(e,t,n={}){return this.mutation(`${c(e,t)}/compact`,{},Af,n)}async forkTask(e,t,n,s={}){return this.mutation(`${c(e,t)}/fork`,n,Cf,s)}async uploadFeedback(e,t,n,s={}){return this.mutation(`${c(e,t)}/feedback`,n,Gf,s)}async uploadAttachment(e,t,n={}){let s=new FormData;return s.set("attachment",t.content,t.name),this.request(`${r(e)}/attachments/${t.kind}`,dd,{body:s,headers:{"idempotency-key":n.idempotencyKey??$()},method:"POST"},Xf,{...n.signal===void 0?{}:{signal:n.signal},timeoutMs:this.requestTimeouts.mutationMs})}async importHostAttachment(e,t,n,s={}){return this.mutation(`${r(e)}/attachments/${t}/host`,{path:n},dd,s)}async startTurn(e,t,n,s,a={}){return this.mutation(`${c(e,t)}/turns`,{input:n,options:s},If,a)}async steerTurn(e,t,n,s,a={}){return this.mutation(`${c(e,t)}/turns/${encodeURIComponent(n)}/steer`,{input:s,taskId:t},Kf,a)}async interruptTurn(e,t,n,s={}){return this.mutation(`${c(e,t)}/turns/${encodeURIComponent(n)}/interrupt`,{taskId:t},Vf,s)}async resolvePendingRequest(e,t,n={}){let s={itemId:e.itemId,projectId:e.projectId,resolution:t,taskId:e.taskId,turnId:e.turnId,type:e.type};return this.mutation(`${c(e.projectId,e.taskId)}/pending-requests/${encodeURIComponent(e.requestId)}/resolve`,s,qe,n)}};function te(o,e,t,n,s){let a$1=o?new URL(`${o}${t}`):new URL(t,globalThis.location.href);a$1.protocol=a$1.protocol==="https:"?"wss:":"ws:";let p=true,P=0,l,d,u,S=()=>{p&&(l=setTimeout(v,Math.min(3e4,500*2**Math.min(P++,6))*(.8+Math.random()*.4)));},v=()=>{if(!p)return;l=void 0;let h;try{h=e(a$1.toString());}catch{S();return}d=h;let y=O=>{if(!p||d!==h)return;let C;try{C=JSON.parse(String(O.data));}catch{h.close(1002,"Invalid resource change frame");return}if(!a.Check(n,C)){h.close(1002,"Invalid resource change frame");return}P=0,s(C);},m=O=>{d===h&&(u?.(),d=void 0,O.code!==1008&&O.code!==1002&&S());},f=()=>{h.close();};u=()=>{h.removeEventListener("message",y),h.removeEventListener("close",m),h.removeEventListener("error",f);},h.addEventListener("message",y),h.addEventListener("close",m),h.addEventListener("error",f);};return v(),()=>{p=false,l!==void 0&&clearTimeout(l),u?.(),d?.close(1e3,"Resource subscription closed"),d=void 0;}}function kn(o,e,t){return te(o,e,"/v1/scheduled-tasks/events",Md,t)}var ne=class extends ee{previewScheduledTask(e,t={}){return this.mutation("/v1/scheduled-tasks/preview",{schedule:e},Pd,t)}subscribeScheduledTasks(e){return kn(this.baseUrl,this.webSocketFactory,e)}listScheduledTasks(e={}){return this.read("/v1/scheduled-tasks",Ud,e)}createScheduledTask(e,t={}){return this.mutation("/v1/scheduled-tasks",e,Vd,t)}updateScheduledTask(e,t,n={}){return this.mutation(`/v1/scheduled-tasks/${encodeURIComponent(e)}`,t,Vd,n,"PUT")}deleteScheduledTask(e,t={}){return this.mutation(`/v1/scheduled-tasks/${encodeURIComponent(e)}`,{},Wd,t,"DELETE")}setScheduledTaskEnabled(e,t,n={}){return this.mutation(`/v1/scheduled-tasks/${encodeURIComponent(e)}/enabled`,{enabled:t},Vd,n,"PATCH")}runScheduledTaskNow(e,t={}){return this.mutation(`/v1/scheduled-tasks/${encodeURIComponent(e)}/run`,{},Vd,t)}};var se=class extends ne{compressHistory(e={}){return this.mutation("/v1/history/compress",{},Eg,e)}listWorkbenchBackgrounds(e={}){return this.read("/v1/workbench-background/bing/catalog",Gg,e)}getGlobalInstructions(e={}){return this.read("/v1/personalization/instructions",yg,e)}saveGlobalInstructions(e,t,n={}){return this.mutation("/v1/personalization/instructions",{content:e,expectedContent:t},yg,n,"PUT")}getMemorySettings(e={}){return this.read("/v1/personalization/memories",Ag,e)}updateMemorySettings(e,t={}){return this.mutation("/v1/personalization/memories",e,Ag,t,"PUT")}resetMemories(e={}){return this.mutation("/v1/personalization/memories/reset",{},Dg,e)}getAgentPreferences(e={}){return this.read("/v1/personalization/agent",Cg,e)}updateAgentPreferences(e,t={}){return this.mutation("/v1/personalization/agent",e,Cg,t,"PUT")}};var oe=class extends se{subscribeWorkbenchChanges(e){return te(this.baseUrl,this.webSocketFactory,"/v1/workbench/events",dh,e)}importProjectTodo(e,t,n,s={}){return this.mutation(`${r(e)}/todos/${encodeURIComponent(t)}/import`,n,Ng,s)}listProjectTodos(e,t={}){return this.read(`${r(e)}/todos`,Mg,t)}createProjectTodo(e,t,n={}){return this.mutation(`${r(e)}/todos`,t,Ng,n)}saveProjectTodo(e,t,n,s={}){return this.mutation(`${r(e)}/todos/${encodeURIComponent(t)}`,n,Ng,s,"PUT")}deleteProjectTodo(e,t,n,s={}){return this.mutation(`${r(e)}/todos/${encodeURIComponent(t)}`,{expectedVersion:n},Qg,s,"DELETE")}};var Re=(o,e)=>`${r(o)}/tasks/${encodeURIComponent(e)}/async-questions`,re=class extends oe{listAsyncQuestions(e,t,n={}){return this.read(Re(e,t),Tg,n)}answerAsyncQuestion(e,t,n,s,a={}){return this.mutation(`${Re(e,t)}/${encodeURIComponent(n)}/answer`,{answers:s},Wg,a)}dismissAsyncQuestions(e,t,n,s={}){return this.mutation(`${Re(e,t)}/dismiss`,{ids:n},Tg,s)}};var Se=class extends re{};export{Se as CodexlyClient,q as CodexlyEventError,A as CodexlyHttpError,I as CodexlyMutationError,T as CodexlyResponseError,bn as buildProjectAttachmentUrl,Sn as buildProjectFileDownloadUrl,Rn as buildProjectImageFileUrl,Mn as buildProjectPdfFileUrl,H as buildTaskAttachmentUrl,fn as buildWorkbenchPetAssetUrl,Pe as startAgentEventSubscription};