@bryanhu/codexly 0.1.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 (305) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/LICENSE +21 -0
  3. package/README.md +87 -0
  4. package/README.zh-CN.md +87 -0
  5. package/dist/chunk-3OBVX5TN.js +15 -0
  6. package/dist/chunk-42AR5IS7.js +12543 -0
  7. package/dist/chunk-K63YBMTG.js +61287 -0
  8. package/dist/chunk-K6J42667.js +43 -0
  9. package/dist/chunk-MH54VCZJ.js +5224 -0
  10. package/dist/chunk-TEPSAXZZ.js +3360 -0
  11. package/dist/cli.js +889 -0
  12. package/dist/client/index.js +1010 -0
  13. package/dist/codex-jsonl-frame-worker.js +120 -0
  14. package/dist/core/index.js +5 -0
  15. package/dist/dist-NGSIFQU5.js +252 -0
  16. package/dist/protocol/index.js +5 -0
  17. package/dist/providers/codex/index.js +7 -0
  18. package/dist/server/index.js +9 -0
  19. package/dist/sqlite-state-worker.js +661 -0
  20. package/dist/web/.vite/manifest.json +829 -0
  21. package/dist/web/.vite/manifest.json.br +0 -0
  22. package/dist/web/.vite/manifest.json.gz +0 -0
  23. package/dist/web/assets/bash-BiGZg9Om.js +1 -0
  24. package/dist/web/assets/bash-BiGZg9Om.js.br +0 -0
  25. package/dist/web/assets/bash-BiGZg9Om.js.gz +0 -0
  26. package/dist/web/assets/bundle-mjs-rHxsej31.js +1 -0
  27. package/dist/web/assets/bundle-mjs-rHxsej31.js.br +0 -0
  28. package/dist/web/assets/bundle-mjs-rHxsej31.js.gz +0 -0
  29. package/dist/web/assets/button-CG0GNEOD.js +1 -0
  30. package/dist/web/assets/button-CG0GNEOD.js.br +0 -0
  31. package/dist/web/assets/button-CG0GNEOD.js.gz +0 -0
  32. package/dist/web/assets/button-group-D2LfHIjt.js +1 -0
  33. package/dist/web/assets/button-group-D2LfHIjt.js.br +0 -0
  34. package/dist/web/assets/button-group-D2LfHIjt.js.gz +0 -0
  35. package/dist/web/assets/c-DWGmR78Y.js +1 -0
  36. package/dist/web/assets/c-DWGmR78Y.js.br +1 -0
  37. package/dist/web/assets/c-DWGmR78Y.js.gz +0 -0
  38. package/dist/web/assets/c-SSSlmE39.js +1 -0
  39. package/dist/web/assets/c-SSSlmE39.js.br +0 -0
  40. package/dist/web/assets/c-SSSlmE39.js.gz +0 -0
  41. package/dist/web/assets/checkbox-Bvl7MRXT.js +1 -0
  42. package/dist/web/assets/checkbox-Bvl7MRXT.js.br +0 -0
  43. package/dist/web/assets/checkbox-Bvl7MRXT.js.gz +0 -0
  44. package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js +131 -0
  45. package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js.br +0 -0
  46. package/dist/web/assets/chunk-BO2N2NFS-C72FSBge.js.gz +0 -0
  47. package/dist/web/assets/code-highlighter-Cm0xdvAd.js +1 -0
  48. package/dist/web/assets/code-highlighter-Cm0xdvAd.js.br +0 -0
  49. package/dist/web/assets/code-highlighter-Cm0xdvAd.js.gz +0 -0
  50. package/dist/web/assets/code-languages-CfwYbccP.js +2 -0
  51. package/dist/web/assets/code-languages-CfwYbccP.js.br +0 -0
  52. package/dist/web/assets/code-languages-CfwYbccP.js.gz +0 -0
  53. package/dist/web/assets/cpp-BcHBJY00.js +1 -0
  54. package/dist/web/assets/cpp-BcHBJY00.js.br +0 -0
  55. package/dist/web/assets/cpp-BcHBJY00.js.gz +0 -0
  56. package/dist/web/assets/cpp-CIkEvbIe.js +1 -0
  57. package/dist/web/assets/cpp-CIkEvbIe.js.br +0 -0
  58. package/dist/web/assets/cpp-CIkEvbIe.js.gz +0 -0
  59. package/dist/web/assets/csharp-oqKa8noW.js +1 -0
  60. package/dist/web/assets/csharp-oqKa8noW.js.br +0 -0
  61. package/dist/web/assets/csharp-oqKa8noW.js.gz +0 -0
  62. package/dist/web/assets/css-CdtkT07m.js +1 -0
  63. package/dist/web/assets/css-CdtkT07m.js.br +1 -0
  64. package/dist/web/assets/css-CdtkT07m.js.gz +0 -0
  65. package/dist/web/assets/css-LbU1hoFO.js +1 -0
  66. package/dist/web/assets/css-LbU1hoFO.js.br +0 -0
  67. package/dist/web/assets/css-LbU1hoFO.js.gz +0 -0
  68. package/dist/web/assets/diff-woXpYk--.js +1 -0
  69. package/dist/web/assets/diff-woXpYk--.js.br +0 -0
  70. package/dist/web/assets/diff-woXpYk--.js.gz +0 -0
  71. package/dist/web/assets/dockerfile-IyjqRm3v.js +1 -0
  72. package/dist/web/assets/dockerfile-IyjqRm3v.js.br +0 -0
  73. package/dist/web/assets/dockerfile-IyjqRm3v.js.gz +0 -0
  74. package/dist/web/assets/dotenv-_5a1GRtc.js +1 -0
  75. package/dist/web/assets/dotenv-_5a1GRtc.js.br +0 -0
  76. package/dist/web/assets/dotenv-_5a1GRtc.js.gz +0 -0
  77. package/dist/web/assets/engine-compile-DQ0HPfe0.js +152 -0
  78. package/dist/web/assets/engine-compile-DQ0HPfe0.js.br +0 -0
  79. package/dist/web/assets/engine-compile-DQ0HPfe0.js.gz +0 -0
  80. package/dist/web/assets/es2015-CIXyxC_2.js +41 -0
  81. package/dist/web/assets/es2015-CIXyxC_2.js.br +0 -0
  82. package/dist/web/assets/es2015-CIXyxC_2.js.gz +0 -0
  83. package/dist/web/assets/file-CEs2ZXvf.js +1 -0
  84. package/dist/web/assets/file-CEs2ZXvf.js.br +0 -0
  85. package/dist/web/assets/file-CEs2ZXvf.js.gz +0 -0
  86. package/dist/web/assets/file-change-D7aZLgtG.js +4 -0
  87. package/dist/web/assets/file-change-D7aZLgtG.js.br +0 -0
  88. package/dist/web/assets/file-change-D7aZLgtG.js.gz +0 -0
  89. package/dist/web/assets/file-review-dialog-CTL5FpHU.js +2 -0
  90. package/dist/web/assets/file-review-dialog-CTL5FpHU.js.br +0 -0
  91. package/dist/web/assets/file-review-dialog-CTL5FpHU.js.gz +0 -0
  92. package/dist/web/assets/file-tree-DRpR7Mu2.js +1 -0
  93. package/dist/web/assets/file-tree-DRpR7Mu2.js.br +0 -0
  94. package/dist/web/assets/file-tree-DRpR7Mu2.js.gz +0 -0
  95. package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js +1 -0
  96. package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js.br +0 -0
  97. package/dist/web/assets/git-commit-horizontal-CQWH7rsr.js.gz +0 -0
  98. package/dist/web/assets/git-history-panel-BsIopLeA.js +2 -0
  99. package/dist/web/assets/git-history-panel-BsIopLeA.js.br +0 -0
  100. package/dist/web/assets/git-history-panel-BsIopLeA.js.gz +0 -0
  101. package/dist/web/assets/github-dark-C-LZuMrd.js +1 -0
  102. package/dist/web/assets/github-dark-C-LZuMrd.js.br +0 -0
  103. package/dist/web/assets/github-dark-C-LZuMrd.js.gz +0 -0
  104. package/dist/web/assets/github-light-EUqPIrTm.js +1 -0
  105. package/dist/web/assets/github-light-EUqPIrTm.js.br +0 -0
  106. package/dist/web/assets/github-light-EUqPIrTm.js.gz +0 -0
  107. package/dist/web/assets/global-settings-dialog-CJA_j2dA.js +1 -0
  108. package/dist/web/assets/global-settings-dialog-CJA_j2dA.js.br +0 -0
  109. package/dist/web/assets/global-settings-dialog-CJA_j2dA.js.gz +0 -0
  110. package/dist/web/assets/go-rLFTqkRN.js +1 -0
  111. package/dist/web/assets/go-rLFTqkRN.js.br +0 -0
  112. package/dist/web/assets/go-rLFTqkRN.js.gz +0 -0
  113. package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js +1 -0
  114. package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js.br +0 -0
  115. package/dist/web/assets/grammar-cpp-support-CV8oNpIY.js.gz +0 -0
  116. package/dist/web/assets/graphql-D5qRqMLb.js +1 -0
  117. package/dist/web/assets/graphql-D5qRqMLb.js.br +0 -0
  118. package/dist/web/assets/graphql-D5qRqMLb.js.gz +0 -0
  119. package/dist/web/assets/graphql-f69H1Mm0.js +1 -0
  120. package/dist/web/assets/graphql-f69H1Mm0.js.br +0 -0
  121. package/dist/web/assets/graphql-f69H1Mm0.js.gz +0 -0
  122. package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js +1 -0
  123. package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js.br +0 -0
  124. package/dist/web/assets/highlighted-body-OFNGDK62-NQRGdW--.js.gz +0 -0
  125. package/dist/web/assets/html-BcACZWSP.js +1 -0
  126. package/dist/web/assets/html-BcACZWSP.js.br +0 -0
  127. package/dist/web/assets/html-BcACZWSP.js.gz +0 -0
  128. package/dist/web/assets/html-DDNsd9lV.js +1 -0
  129. package/dist/web/assets/html-DDNsd9lV.js.br +0 -0
  130. package/dist/web/assets/html-DDNsd9lV.js.gz +0 -0
  131. package/dist/web/assets/index-B3NtDmQp.css +2 -0
  132. package/dist/web/assets/index-B3NtDmQp.css.br +0 -0
  133. package/dist/web/assets/index-B3NtDmQp.css.gz +0 -0
  134. package/dist/web/assets/index-C_O4z_mI.js +4 -0
  135. package/dist/web/assets/index-C_O4z_mI.js.br +0 -0
  136. package/dist/web/assets/index-C_O4z_mI.js.gz +0 -0
  137. package/dist/web/assets/ini-B5eOa1yu.js +1 -0
  138. package/dist/web/assets/ini-B5eOa1yu.js.br +5 -0
  139. package/dist/web/assets/ini-B5eOa1yu.js.gz +0 -0
  140. package/dist/web/assets/java-BtIQNnN0.js +1 -0
  141. package/dist/web/assets/java-BtIQNnN0.js.br +0 -0
  142. package/dist/web/assets/java-BtIQNnN0.js.gz +0 -0
  143. package/dist/web/assets/java-DxlWrXwe.js +1 -0
  144. package/dist/web/assets/java-DxlWrXwe.js.br +1 -0
  145. package/dist/web/assets/java-DxlWrXwe.js.gz +0 -0
  146. package/dist/web/assets/javascript-BzbQS41l.js +1 -0
  147. package/dist/web/assets/javascript-BzbQS41l.js.br +0 -0
  148. package/dist/web/assets/javascript-BzbQS41l.js.gz +0 -0
  149. package/dist/web/assets/javascript-Yelw-5ZN.js +1 -0
  150. package/dist/web/assets/javascript-Yelw-5ZN.js.br +0 -0
  151. package/dist/web/assets/javascript-Yelw-5ZN.js.gz +0 -0
  152. package/dist/web/assets/json-B88Oqtu5.js +1 -0
  153. package/dist/web/assets/json-B88Oqtu5.js.br +0 -0
  154. package/dist/web/assets/json-B88Oqtu5.js.gz +0 -0
  155. package/dist/web/assets/json-CaljABEy.js +1 -0
  156. package/dist/web/assets/json-CaljABEy.js.br +1 -0
  157. package/dist/web/assets/json-CaljABEy.js.gz +0 -0
  158. package/dist/web/assets/json5-BR5RXkoi.js +1 -0
  159. package/dist/web/assets/json5-BR5RXkoi.js.br +0 -0
  160. package/dist/web/assets/json5-BR5RXkoi.js.gz +0 -0
  161. package/dist/web/assets/jsonc-CYpm1nAK.js +1 -0
  162. package/dist/web/assets/jsonc-CYpm1nAK.js.br +0 -0
  163. package/dist/web/assets/jsonc-CYpm1nAK.js.gz +0 -0
  164. package/dist/web/assets/jsx-D3KKoC5L.js +1 -0
  165. package/dist/web/assets/jsx-D3KKoC5L.js.br +0 -0
  166. package/dist/web/assets/jsx-D3KKoC5L.js.gz +0 -0
  167. package/dist/web/assets/jsx-hEbJ82HF.js +1 -0
  168. package/dist/web/assets/jsx-hEbJ82HF.js.br +1 -0
  169. package/dist/web/assets/jsx-hEbJ82HF.js.gz +0 -0
  170. package/dist/web/assets/kotlin-DhhofPvG.js +1 -0
  171. package/dist/web/assets/kotlin-DhhofPvG.js.br +0 -0
  172. package/dist/web/assets/kotlin-DhhofPvG.js.gz +0 -0
  173. package/dist/web/assets/lazy-message-response-Cy_8wxLM.js +2 -0
  174. package/dist/web/assets/lazy-message-response-Cy_8wxLM.js.br +0 -0
  175. package/dist/web/assets/lazy-message-response-Cy_8wxLM.js.gz +0 -0
  176. package/dist/web/assets/lib-DrPFkMXk.js +1 -0
  177. package/dist/web/assets/lib-DrPFkMXk.js.br +0 -0
  178. package/dist/web/assets/lib-DrPFkMXk.js.gz +0 -0
  179. package/dist/web/assets/lua-BJObVtAx.js +1 -0
  180. package/dist/web/assets/lua-BJObVtAx.js.br +0 -0
  181. package/dist/web/assets/lua-BJObVtAx.js.gz +0 -0
  182. package/dist/web/assets/lua-DjuecEsk.js +1 -0
  183. package/dist/web/assets/lua-DjuecEsk.js.br +0 -0
  184. package/dist/web/assets/lua-DjuecEsk.js.gz +0 -0
  185. package/dist/web/assets/makefile-Dixweg8N.js +1 -0
  186. package/dist/web/assets/makefile-Dixweg8N.js.br +0 -0
  187. package/dist/web/assets/makefile-Dixweg8N.js.gz +0 -0
  188. package/dist/web/assets/markdown-BYOwaDjH.js +1 -0
  189. package/dist/web/assets/markdown-BYOwaDjH.js.br +0 -0
  190. package/dist/web/assets/markdown-BYOwaDjH.js.gz +0 -0
  191. package/dist/web/assets/mdx-DQZ5AkYe.js +1 -0
  192. package/dist/web/assets/mdx-DQZ5AkYe.js.br +0 -0
  193. package/dist/web/assets/mdx-DQZ5AkYe.js.gz +0 -0
  194. package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js +1 -0
  195. package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js.br +0 -0
  196. package/dist/web/assets/mermaid-GHXKKRXX-D0CV54MY.js.gz +0 -0
  197. package/dist/web/assets/message-response-CBOOkYPm.js +7 -0
  198. package/dist/web/assets/message-response-CBOOkYPm.js.br +0 -0
  199. package/dist/web/assets/message-response-CBOOkYPm.js.gz +0 -0
  200. package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js +1409 -0
  201. package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js.br +0 -0
  202. package/dist/web/assets/patch-diff-viewer-BHcdOhhw.js.gz +0 -0
  203. package/dist/web/assets/perl-Br95gH8g.js +1 -0
  204. package/dist/web/assets/perl-Br95gH8g.js.br +0 -0
  205. package/dist/web/assets/perl-Br95gH8g.js.gz +0 -0
  206. package/dist/web/assets/php-CYrBA5iX.js +1 -0
  207. package/dist/web/assets/php-CYrBA5iX.js.br +0 -0
  208. package/dist/web/assets/php-CYrBA5iX.js.gz +0 -0
  209. package/dist/web/assets/prompt-input-controls-CrypM5HZ.js +1 -0
  210. package/dist/web/assets/prompt-input-controls-CrypM5HZ.js.br +0 -0
  211. package/dist/web/assets/prompt-input-controls-CrypM5HZ.js.gz +0 -0
  212. package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js +1 -0
  213. package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js.br +0 -0
  214. package/dist/web/assets/prompt-reference-token-Cxx6C-IR.js.gz +0 -0
  215. package/dist/web/assets/provider-connection-queries-C40YvSEy.js +1 -0
  216. package/dist/web/assets/provider-connection-queries-C40YvSEy.js.br +0 -0
  217. package/dist/web/assets/provider-connection-queries-C40YvSEy.js.gz +0 -0
  218. package/dist/web/assets/python-gzcpVVnB.js +1 -0
  219. package/dist/web/assets/python-gzcpVVnB.js.br +0 -0
  220. package/dist/web/assets/python-gzcpVVnB.js.gz +0 -0
  221. package/dist/web/assets/react-runtime-CVaUQXZF.js +9 -0
  222. package/dist/web/assets/react-runtime-CVaUQXZF.js.br +0 -0
  223. package/dist/web/assets/react-runtime-CVaUQXZF.js.gz +0 -0
  224. package/dist/web/assets/rolldown-runtime-QTnfLwEv.js +1 -0
  225. package/dist/web/assets/rolldown-runtime-QTnfLwEv.js.br +0 -0
  226. package/dist/web/assets/rolldown-runtime-QTnfLwEv.js.gz +0 -0
  227. package/dist/web/assets/ruby-CbXu8Ywv.js +1 -0
  228. package/dist/web/assets/ruby-CbXu8Ywv.js.br +0 -0
  229. package/dist/web/assets/ruby-CbXu8Ywv.js.gz +0 -0
  230. package/dist/web/assets/rust-Cfkwpbl8.js +1 -0
  231. package/dist/web/assets/rust-Cfkwpbl8.js.br +0 -0
  232. package/dist/web/assets/rust-Cfkwpbl8.js.gz +0 -0
  233. package/dist/web/assets/scss-DHtrkMkT.js +1 -0
  234. package/dist/web/assets/scss-DHtrkMkT.js.br +0 -0
  235. package/dist/web/assets/scss-DHtrkMkT.js.gz +0 -0
  236. package/dist/web/assets/shellscript-BiGZg9Om.js +1 -0
  237. package/dist/web/assets/shellscript-BiGZg9Om.js.br +0 -0
  238. package/dist/web/assets/shellscript-BiGZg9Om.js.gz +0 -0
  239. package/dist/web/assets/shellscript-CqHdAlCp.js +1 -0
  240. package/dist/web/assets/shellscript-CqHdAlCp.js.br +0 -0
  241. package/dist/web/assets/shellscript-CqHdAlCp.js.gz +0 -0
  242. package/dist/web/assets/shiki-bundle-DzEBOJSk.js +1 -0
  243. package/dist/web/assets/shiki-bundle-DzEBOJSk.js.br +0 -0
  244. package/dist/web/assets/shiki-bundle-DzEBOJSk.js.gz +0 -0
  245. package/dist/web/assets/sql-0Qcw9ht3.js +1 -0
  246. package/dist/web/assets/sql-0Qcw9ht3.js.br +0 -0
  247. package/dist/web/assets/sql-0Qcw9ht3.js.gz +0 -0
  248. package/dist/web/assets/sql-CP0rg-5b.js +1 -0
  249. package/dist/web/assets/sql-CP0rg-5b.js.br +0 -0
  250. package/dist/web/assets/sql-CP0rg-5b.js.gz +0 -0
  251. package/dist/web/assets/svelte-BUVJxsYv.js +1 -0
  252. package/dist/web/assets/svelte-BUVJxsYv.js.br +0 -0
  253. package/dist/web/assets/svelte-BUVJxsYv.js.gz +0 -0
  254. package/dist/web/assets/swift-DonLKvLd.js +1 -0
  255. package/dist/web/assets/swift-DonLKvLd.js.br +0 -0
  256. package/dist/web/assets/swift-DonLKvLd.js.gz +0 -0
  257. package/dist/web/assets/toml-CcmNWLt0.js +1 -0
  258. package/dist/web/assets/toml-CcmNWLt0.js.br +0 -0
  259. package/dist/web/assets/toml-CcmNWLt0.js.gz +0 -0
  260. package/dist/web/assets/tsx-5f3ulCja.js +1 -0
  261. package/dist/web/assets/tsx-5f3ulCja.js.br +0 -0
  262. package/dist/web/assets/tsx-5f3ulCja.js.gz +0 -0
  263. package/dist/web/assets/tsx-BOvsFOI6.js +1 -0
  264. package/dist/web/assets/tsx-BOvsFOI6.js.br +0 -0
  265. package/dist/web/assets/tsx-BOvsFOI6.js.gz +0 -0
  266. package/dist/web/assets/typescript-Utq2Cl8c.js +1 -0
  267. package/dist/web/assets/typescript-Utq2Cl8c.js.br +0 -0
  268. package/dist/web/assets/typescript-Utq2Cl8c.js.gz +0 -0
  269. package/dist/web/assets/typescript-j_1H8WHN.js +1 -0
  270. package/dist/web/assets/typescript-j_1H8WHN.js.br +0 -0
  271. package/dist/web/assets/typescript-j_1H8WHN.js.gz +0 -0
  272. package/dist/web/assets/vue-BpAUjojh.js +1 -0
  273. package/dist/web/assets/vue-BpAUjojh.js.br +0 -0
  274. package/dist/web/assets/vue-BpAUjojh.js.gz +0 -0
  275. package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js +1 -0
  276. package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js.br +0 -0
  277. package/dist/web/assets/workbench-inspector-changes-RHaBVG45.js.gz +0 -0
  278. package/dist/web/assets/workbench-shell--6Y1cx2L.js +12 -0
  279. package/dist/web/assets/workbench-shell--6Y1cx2L.js.br +0 -0
  280. package/dist/web/assets/workbench-shell--6Y1cx2L.js.gz +0 -0
  281. package/dist/web/assets/xml-CoDIzWF0.js +1 -0
  282. package/dist/web/assets/xml-CoDIzWF0.js.br +0 -0
  283. package/dist/web/assets/xml-CoDIzWF0.js.gz +0 -0
  284. package/dist/web/assets/xml-WY0zc4PG.js +1 -0
  285. package/dist/web/assets/xml-WY0zc4PG.js.br +0 -0
  286. package/dist/web/assets/xml-WY0zc4PG.js.gz +0 -0
  287. package/dist/web/assets/yaml-CxbubiML.js +1 -0
  288. package/dist/web/assets/yaml-CxbubiML.js.br +0 -0
  289. package/dist/web/assets/yaml-CxbubiML.js.gz +0 -0
  290. package/dist/web/assets/yaml-DijMHRDA.js +1 -0
  291. package/dist/web/assets/yaml-DijMHRDA.js.br +0 -0
  292. package/dist/web/assets/yaml-DijMHRDA.js.gz +0 -0
  293. package/dist/web/brand/codexly-logo.svg +34 -0
  294. package/dist/web/brand/codexly-logo.svg.br +0 -0
  295. package/dist/web/brand/codexly-logo.svg.gz +0 -0
  296. package/dist/web/brand/codexly-mark.svg +21 -0
  297. package/dist/web/brand/codexly-mark.svg.br +0 -0
  298. package/dist/web/brand/codexly-mark.svg.gz +0 -0
  299. package/dist/web/favicon.svg +20 -0
  300. package/dist/web/favicon.svg.br +0 -0
  301. package/dist/web/favicon.svg.gz +0 -0
  302. package/dist/web/index.html +25 -0
  303. package/dist/web/index.html.br +0 -0
  304. package/dist/web/index.html.gz +0 -0
  305. package/package.json +85 -0
@@ -0,0 +1,1010 @@
1
+ import { createRequire } from 'node:module';
2
+ import { value_exports } from '../chunk-TEPSAXZZ.js';
3
+ import { EventStreamMessageSchema, TEMPORARY_TASK_SCOPE_ID, TEMPORARY_TASK_API_PATH, AgentQueuedSubmissionPageSchema, 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, ArchiveAgentTaskResponseSchema, UnarchiveAgentTaskResponseSchema, DeleteAgentTaskResponseSchema, AgentSkillPageSchema, AgentMcpServerPageSchema, ReloadAgentMcpServersResponseSchema, ProjectPageSchema, ProjectDirectoryListingSchema, HostFileListingSchema, ReorderProjectsResponseSchema, AgentProjectDefaultsResponseSchema, AddProjectResponseSchema, RenameProjectResponseSchema, RemoveProjectResponseSchema, ProjectOpenCapabilitiesResponseSchema, OpenProjectResponseSchema, ProjectGitStatusSchema, ProjectGitHistoryPageSchema, ProjectGitCommitFilesPageSchema, ProjectGitCommitFileDiffSchema, ProjectGitWorktreePageSchema, ProjectWorktreeMutationResponseSchema, GenerateCommitMessageResponseSchema, CommitProjectChangesResponseSchema, ProjectFileTreeSchema, ProjectFileSearchPageSchema, StopProjectFileSearchResponseSchema, ProjectSourceFileSchema, HealthResponseSchema, AppInfoResponseSchema, InstallAppUpdateResponseSchema, AccessStatusResponseSchema, AgentCapabilitiesSchema, AgentModelPageSchema, AgentProviderConnectionStatusSchema, StartOfficialProviderLoginResponseSchema, AgentProviderConnectionMutationResponseSchema, ConfigureCustomProviderResponseSchema, AgentGlobalSettingsResponseSchema } from '../chunk-MH54VCZJ.js';
4
+ import '../chunk-K6J42667.js';
5
+
6
+ createRequire(import.meta.url);
7
+
8
+ // packages/client/src/event-client.ts
9
+ var CodexlyEventError = class extends Error {
10
+ constructor(message, options) {
11
+ super(message, options);
12
+ this.name = "CodexlyEventError";
13
+ }
14
+ };
15
+ function createEventUrl(baseUrl, projectId, afterSequence) {
16
+ const path = projectId === TEMPORARY_TASK_SCOPE_ID ? `${TEMPORARY_TASK_API_PATH}/events` : `/v1/projects/${encodeURIComponent(projectId)}/events`;
17
+ const httpUrl = baseUrl ? new URL(`${baseUrl}${path}`) : new URL(path, globalThis.location.href);
18
+ httpUrl.protocol = httpUrl.protocol === "https:" ? "wss:" : "ws:";
19
+ httpUrl.searchParams.set("afterSequence", String(afterSequence));
20
+ return httpUrl.toString();
21
+ }
22
+ function createResyncRequired(sessionId, latestSequence, reason) {
23
+ return {
24
+ latestSequence,
25
+ reason,
26
+ sessionId,
27
+ type: "resync.required",
28
+ version: 3
29
+ };
30
+ }
31
+ function startAgentEventSubscription(options) {
32
+ const reconnectDelayMs = options.reconnectDelayMs ?? 250;
33
+ let active = true;
34
+ let allowReconnect = true;
35
+ let lastSequence = options.afterSequence;
36
+ let reconnectAttempt = 0;
37
+ let retryTimer;
38
+ let socket;
39
+ let detachSocketListeners;
40
+ const setState = (state) => {
41
+ options.onConnectionState?.(state);
42
+ };
43
+ const closeSocket = (code, reason) => {
44
+ const currentSocket = socket;
45
+ if (currentSocket === void 0) {
46
+ return;
47
+ }
48
+ detachSocketListeners?.();
49
+ detachSocketListeners = void 0;
50
+ socket = void 0;
51
+ currentSocket.close(code, reason);
52
+ };
53
+ const stopForResync = (message) => {
54
+ allowReconnect = false;
55
+ options.onResyncRequired(message);
56
+ closeSocket(1e3, "Snapshot resync required");
57
+ setState("closed");
58
+ };
59
+ const failProtocol = (message, cause) => {
60
+ allowReconnect = false;
61
+ options.onError?.(new CodexlyEventError(message, cause === void 0 ? void 0 : { cause }));
62
+ closeSocket(1002, "Invalid Agent Event frame");
63
+ setState("closed");
64
+ };
65
+ const connect = () => {
66
+ if (!active) {
67
+ return;
68
+ }
69
+ retryTimer = void 0;
70
+ let connectionReady = false;
71
+ const currentSocket = options.webSocketFactory(
72
+ createEventUrl(options.baseUrl, options.projectId, lastSequence)
73
+ );
74
+ socket = currentSocket;
75
+ const isCurrentConnection = () => active && socket === currentSocket;
76
+ const onMessage = (event) => {
77
+ if (!isCurrentConnection()) {
78
+ return;
79
+ }
80
+ let frame;
81
+ try {
82
+ frame = JSON.parse(String(event.data));
83
+ } catch (error) {
84
+ failProtocol("Codexly event frame is not valid JSON", error);
85
+ return;
86
+ }
87
+ if (!value_exports.Check(EventStreamMessageSchema, frame)) {
88
+ failProtocol("Codexly event frame does not match the protocol schema");
89
+ return;
90
+ }
91
+ const message = frame;
92
+ if (message.type === "resync.required") {
93
+ stopForResync(message);
94
+ return;
95
+ }
96
+ if (message.type === "connection.ready") {
97
+ if (message.sessionId !== options.sessionId || message.latestSequence < lastSequence) {
98
+ stopForResync(
99
+ createResyncRequired(message.sessionId, message.latestSequence, "session_changed")
100
+ );
101
+ return;
102
+ }
103
+ connectionReady = true;
104
+ reconnectAttempt = 0;
105
+ setState("connected");
106
+ return;
107
+ }
108
+ if (!connectionReady) {
109
+ failProtocol("Codexly event arrived before connection.ready");
110
+ return;
111
+ }
112
+ for (const agentEvent of message.events) {
113
+ if (agentEvent.sessionId !== options.sessionId) {
114
+ stopForResync(
115
+ createResyncRequired(agentEvent.sessionId, agentEvent.sequence, "session_changed")
116
+ );
117
+ return;
118
+ }
119
+ if (agentEvent.sequence <= lastSequence) {
120
+ continue;
121
+ }
122
+ if (agentEvent.sequence !== lastSequence + 1) {
123
+ stopForResync(
124
+ createResyncRequired(agentEvent.sessionId, agentEvent.sequence, "sequence_gap")
125
+ );
126
+ return;
127
+ }
128
+ lastSequence = agentEvent.sequence;
129
+ options.onEvent(agentEvent);
130
+ if (!isCurrentConnection()) {
131
+ return;
132
+ }
133
+ }
134
+ };
135
+ const onError = () => {
136
+ if (!active || socket !== currentSocket) {
137
+ return;
138
+ }
139
+ options.onError?.(new CodexlyEventError("Codexly event connection failed"));
140
+ };
141
+ const onClose = () => {
142
+ if (socket !== currentSocket) {
143
+ return;
144
+ }
145
+ detachSocketListeners?.();
146
+ detachSocketListeners = void 0;
147
+ socket = void 0;
148
+ if (!active) {
149
+ return;
150
+ }
151
+ if (!allowReconnect) {
152
+ setState("closed");
153
+ return;
154
+ }
155
+ setState("reconnecting");
156
+ const delay = Math.min(reconnectDelayMs * 2 ** reconnectAttempt, 5e3);
157
+ reconnectAttempt += 1;
158
+ retryTimer = setTimeout(connect, delay);
159
+ };
160
+ detachSocketListeners = () => {
161
+ currentSocket.removeEventListener("message", onMessage);
162
+ currentSocket.removeEventListener("error", onError);
163
+ currentSocket.removeEventListener("close", onClose);
164
+ };
165
+ currentSocket.addEventListener("message", onMessage);
166
+ currentSocket.addEventListener("error", onError);
167
+ currentSocket.addEventListener("close", onClose);
168
+ };
169
+ setState("connecting");
170
+ connect();
171
+ return () => {
172
+ if (!active) {
173
+ return;
174
+ }
175
+ active = false;
176
+ allowReconnect = false;
177
+ if (retryTimer !== void 0) {
178
+ clearTimeout(retryTimer);
179
+ }
180
+ closeSocket(1e3, "Subscription cancelled");
181
+ setState("closed");
182
+ };
183
+ }
184
+
185
+ // node_modules/.pnpm/uuid@14.0.1/node_modules/uuid/dist-node/stringify.js
186
+ var byteToHex = [];
187
+ for (let i = 0; i < 256; ++i) {
188
+ byteToHex.push((i + 256).toString(16).slice(1));
189
+ }
190
+ function unsafeStringify(arr, offset = 0) {
191
+ 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();
192
+ }
193
+
194
+ // node_modules/.pnpm/uuid@14.0.1/node_modules/uuid/dist-node/rng.js
195
+ var rnds8 = new Uint8Array(16);
196
+ function rng() {
197
+ return crypto.getRandomValues(rnds8);
198
+ }
199
+
200
+ // node_modules/.pnpm/uuid@14.0.1/node_modules/uuid/dist-node/v4.js
201
+ function v4(options, buf, offset) {
202
+ if (!buf && !options && crypto.randomUUID) {
203
+ return crypto.randomUUID();
204
+ }
205
+ return _v4(options, buf, offset);
206
+ }
207
+ function _v4(options, buf, offset) {
208
+ options = options || {};
209
+ const rnds = options.random ?? options.rng?.() ?? rng();
210
+ if (rnds.length < 16) {
211
+ throw new Error("Random bytes length must be >= 16");
212
+ }
213
+ rnds[6] = rnds[6] & 15 | 64;
214
+ rnds[8] = rnds[8] & 63 | 128;
215
+ if (buf) {
216
+ offset = offset || 0;
217
+ if (offset < 0 || offset + 16 > buf.length) {
218
+ throw new RangeError(`UUID byte range ${offset}:${offset + 15} is out of buffer bounds`);
219
+ }
220
+ for (let i = 0; i < 16; ++i) {
221
+ buf[offset + i] = rnds[i];
222
+ }
223
+ return buf;
224
+ }
225
+ return unsafeStringify(rnds);
226
+ }
227
+ var v4_default = v4;
228
+
229
+ // packages/client/src/http-client-transport.ts
230
+ var APP_UPDATE_REQUEST_TIMEOUT_MS = 15e4;
231
+ var CodexlyHttpError = class extends Error {
232
+ status;
233
+ constructor(status, statusText, message) {
234
+ super(message ?? `Codexly request failed with ${String(status)} ${statusText}`.trim());
235
+ this.name = "CodexlyHttpError";
236
+ this.status = status;
237
+ }
238
+ };
239
+ var CodexlyMutationError = class extends CodexlyHttpError {
240
+ code;
241
+ retryable;
242
+ constructor(status, statusText, error) {
243
+ super(status, statusText, error.message);
244
+ this.name = "CodexlyMutationError";
245
+ this.code = error.code;
246
+ this.retryable = error.retryable;
247
+ }
248
+ };
249
+ var CodexlyResponseError = class extends Error {
250
+ constructor(message, options) {
251
+ super(message, options);
252
+ this.name = "CodexlyResponseError";
253
+ }
254
+ };
255
+ function appendQuery(path, values) {
256
+ const query = new URLSearchParams();
257
+ for (const [key, value] of Object.entries(values)) {
258
+ if (value !== void 0) {
259
+ query.set(key, String(value));
260
+ }
261
+ }
262
+ const encoded = query.toString();
263
+ return encoded ? `${path}?${encoded}` : path;
264
+ }
265
+ function projectPath(projectId) {
266
+ if (projectId === TEMPORARY_TASK_SCOPE_ID) {
267
+ return TEMPORARY_TASK_API_PATH;
268
+ }
269
+ return `/v1/projects/${encodeURIComponent(projectId)}`;
270
+ }
271
+ function taskPath(projectId, taskId) {
272
+ return `${projectPath(projectId)}/tasks/${encodeURIComponent(taskId)}`;
273
+ }
274
+ function buildTaskAttachmentUrl(baseUrl, projectId, taskId, attachmentId) {
275
+ return `${baseUrl.replace(/\/$/u, "")}${taskPath(projectId, taskId)}/attachments/${encodeURIComponent(attachmentId)}`;
276
+ }
277
+ function buildProjectImageFileUrl(baseUrl, projectId, path, rootPath) {
278
+ const requestPath = appendQuery(`${projectPath(projectId)}/files/image`, { path, rootPath });
279
+ return `${baseUrl.replace(/\/$/u, "")}${requestPath}`;
280
+ }
281
+ function buildProjectAttachmentUrl(baseUrl, projectId, attachmentId) {
282
+ return `${baseUrl.replace(/\/$/u, "")}${projectPath(projectId)}/attachments/${encodeURIComponent(attachmentId)}`;
283
+ }
284
+ var CodexlyTransport = class {
285
+ baseUrl;
286
+ fetchImplementation;
287
+ requestTimeouts;
288
+ webSocketFactory;
289
+ unauthorizedListeners = /* @__PURE__ */ new Set();
290
+ constructor(options = {}) {
291
+ this.baseUrl = options.baseUrl?.replace(/\/$/u, "") ?? "";
292
+ this.fetchImplementation = options.fetch ?? globalThis.fetch.bind(globalThis);
293
+ this.requestTimeouts = {
294
+ mutationMs: options.requestTimeouts?.mutationMs ?? 6e4,
295
+ queryMs: options.requestTimeouts?.queryMs ?? 3e4,
296
+ readMs: options.requestTimeouts?.readMs ?? 15e3
297
+ };
298
+ this.webSocketFactory = options.webSocketFactory ?? ((url) => new WebSocket(url));
299
+ }
300
+ async getHealth(options = {}) {
301
+ return this.read("/v1/health", HealthResponseSchema, options);
302
+ }
303
+ async getAppInfo(options = {}) {
304
+ return this.read("/v1/app-info", AppInfoResponseSchema, options);
305
+ }
306
+ async installAppUpdate(version, options = {}) {
307
+ return this.mutation(
308
+ "/v1/app-update",
309
+ { version },
310
+ InstallAppUpdateResponseSchema,
311
+ options,
312
+ "POST",
313
+ APP_UPDATE_REQUEST_TIMEOUT_MS
314
+ );
315
+ }
316
+ async getAccessStatus(options = {}) {
317
+ return this.read("/v1/access", AccessStatusResponseSchema, options);
318
+ }
319
+ async pairAccess(code) {
320
+ return this.request(
321
+ "/v1/access/pair",
322
+ AccessStatusResponseSchema,
323
+ {
324
+ body: JSON.stringify({ code }),
325
+ headers: { "content-type": "application/json" },
326
+ method: "POST"
327
+ },
328
+ AgentMutationErrorSchema,
329
+ { timeoutMs: this.requestTimeouts.mutationMs }
330
+ );
331
+ }
332
+ async logoutAccess() {
333
+ return this.request(
334
+ "/v1/access/logout",
335
+ AccessStatusResponseSchema,
336
+ { body: "{}", headers: { "content-type": "application/json" }, method: "POST" },
337
+ AgentMutationErrorSchema,
338
+ { timeoutMs: this.requestTimeouts.mutationMs }
339
+ );
340
+ }
341
+ subscribeUnauthorized(listener) {
342
+ this.unauthorizedListeners.add(listener);
343
+ return () => this.unauthorizedListeners.delete(listener);
344
+ }
345
+ async getCapabilities(options = {}) {
346
+ return this.read("/v1/capabilities", AgentCapabilitiesSchema, options);
347
+ }
348
+ async listModels(options = {}) {
349
+ return this.read("/v1/models", AgentModelPageSchema, options);
350
+ }
351
+ async getProviderConnection(options = {}) {
352
+ return this.read("/v1/provider-connection", AgentProviderConnectionStatusSchema, options);
353
+ }
354
+ async startOfficialProviderLogin(options = {}) {
355
+ return this.mutation(
356
+ "/v1/provider-connection/official-login",
357
+ {},
358
+ StartOfficialProviderLoginResponseSchema,
359
+ options
360
+ );
361
+ }
362
+ async cancelProviderLogin(loginId, options = {}) {
363
+ return this.mutation(
364
+ "/v1/provider-connection/official-login/cancel",
365
+ { loginId },
366
+ AgentProviderConnectionMutationResponseSchema,
367
+ options
368
+ );
369
+ }
370
+ async configureCustomProvider(input, options = {}) {
371
+ return this.mutation(
372
+ "/v1/provider-connection/custom",
373
+ input,
374
+ ConfigureCustomProviderResponseSchema,
375
+ options,
376
+ "PUT"
377
+ );
378
+ }
379
+ async logoutProvider(options = {}) {
380
+ return this.mutation(
381
+ "/v1/provider-connection/logout",
382
+ {},
383
+ AgentProviderConnectionMutationResponseSchema,
384
+ options
385
+ );
386
+ }
387
+ async getGlobalSettings(options = {}) {
388
+ return this.read("/v1/settings", AgentGlobalSettingsResponseSchema, options);
389
+ }
390
+ async updateGlobalSettings(settings, options = {}) {
391
+ return this.mutation(
392
+ "/v1/settings",
393
+ settings,
394
+ AgentGlobalSettingsResponseSchema,
395
+ options,
396
+ "PUT"
397
+ );
398
+ }
399
+ subscribeEvents(options) {
400
+ return startAgentEventSubscription({
401
+ ...options,
402
+ baseUrl: this.baseUrl,
403
+ webSocketFactory: this.webSocketFactory
404
+ });
405
+ }
406
+ mutation(path, body, schema, options, method = "POST", timeoutMs = this.requestTimeouts.mutationMs) {
407
+ return this.request(
408
+ path,
409
+ schema,
410
+ {
411
+ body: JSON.stringify(body),
412
+ headers: {
413
+ "content-type": "application/json",
414
+ "idempotency-key": options.idempotencyKey ?? v4_default()
415
+ },
416
+ method
417
+ },
418
+ AgentMutationErrorSchema,
419
+ {
420
+ ...options.signal === void 0 ? {} : { signal: options.signal },
421
+ timeoutMs
422
+ }
423
+ );
424
+ }
425
+ read(path, schema, options, errorSchema) {
426
+ return this.request(path, schema, {}, errorSchema, {
427
+ ...options.signal === void 0 ? {} : { signal: options.signal },
428
+ timeoutMs: options.signal === void 0 ? this.requestTimeouts.readMs : this.requestTimeouts.queryMs
429
+ });
430
+ }
431
+ async request(path, schema, init = {}, errorSchema, requestOptions = {}) {
432
+ const timeoutSignal = AbortSignal.timeout(
433
+ requestOptions.timeoutMs ?? this.requestTimeouts.readMs
434
+ );
435
+ const signal = requestOptions.signal === void 0 ? timeoutSignal : AbortSignal.any([requestOptions.signal, timeoutSignal]);
436
+ const response = await this.fetchImplementation(`${this.baseUrl}${path}`, {
437
+ ...init,
438
+ credentials: "same-origin",
439
+ headers: { accept: "application/json", ...init.headers },
440
+ signal
441
+ });
442
+ if (!response.ok) {
443
+ if (response.status === 401) {
444
+ for (const listener of this.unauthorizedListeners) {
445
+ try {
446
+ listener();
447
+ } catch {
448
+ }
449
+ }
450
+ }
451
+ if (errorSchema !== void 0) {
452
+ let errorBody;
453
+ try {
454
+ errorBody = await response.json();
455
+ } catch (error) {
456
+ throw new CodexlyResponseError("Codexly error response is not valid JSON", {
457
+ cause: error
458
+ });
459
+ }
460
+ if (!value_exports.Check(errorSchema, errorBody)) {
461
+ throw new CodexlyResponseError(
462
+ "Codexly error response does not match the protocol schema"
463
+ );
464
+ }
465
+ throw new CodexlyMutationError(
466
+ response.status,
467
+ response.statusText,
468
+ errorBody
469
+ );
470
+ }
471
+ try {
472
+ const errorBody = await response.json();
473
+ if (typeof errorBody === "object" && errorBody !== null && "message" in errorBody && typeof errorBody.message === "string" && errorBody.message.length > 0) {
474
+ throw new CodexlyHttpError(response.status, response.statusText, errorBody.message);
475
+ }
476
+ } catch (error) {
477
+ if (error instanceof CodexlyHttpError) throw error;
478
+ }
479
+ throw new CodexlyHttpError(response.status, response.statusText);
480
+ }
481
+ let body;
482
+ try {
483
+ body = await response.json();
484
+ } catch (error) {
485
+ throw new CodexlyResponseError("Codexly response is not valid JSON", { cause: error });
486
+ }
487
+ if (!value_exports.Check(schema, body)) {
488
+ throw new CodexlyResponseError("Codexly response does not match the protocol schema");
489
+ }
490
+ return body;
491
+ }
492
+ };
493
+
494
+ // packages/client/src/http-client-projects.ts
495
+ var ProjectHttpClient = class extends CodexlyTransport {
496
+ async listSkills(projectId, options = {}) {
497
+ return this.read(`${projectPath(projectId)}/skills`, AgentSkillPageSchema, options);
498
+ }
499
+ async listMcpServers(projectId, taskId, options = {}) {
500
+ return this.read(
501
+ `${taskPath(projectId, taskId)}/mcp-servers`,
502
+ AgentMcpServerPageSchema,
503
+ options,
504
+ AgentMutationErrorSchema
505
+ );
506
+ }
507
+ async retryMcpServers(projectId, taskId, options = {}) {
508
+ return this.mutation(
509
+ `${taskPath(projectId, taskId)}/mcp-servers/retry`,
510
+ {},
511
+ ReloadAgentMcpServersResponseSchema,
512
+ options
513
+ );
514
+ }
515
+ async listProjects(options = {}) {
516
+ return this.read("/v1/projects", ProjectPageSchema, options);
517
+ }
518
+ async listProjectDirectories(path, options = {}) {
519
+ return this.read(
520
+ appendQuery("/v1/project-directories", {
521
+ path,
522
+ includeHidden: options.includeHidden === true ? "true" : void 0
523
+ }),
524
+ ProjectDirectoryListingSchema,
525
+ options
526
+ );
527
+ }
528
+ async listHostFiles(kind, path, options = {}) {
529
+ return this.read(
530
+ appendQuery("/v1/host-files", {
531
+ kind,
532
+ path,
533
+ includeHidden: options.includeHidden === true ? "true" : void 0
534
+ }),
535
+ HostFileListingSchema,
536
+ options
537
+ );
538
+ }
539
+ async reorderProjects(projectIds, options = {}) {
540
+ return this.mutation(
541
+ "/v1/projects/order",
542
+ { projectIds },
543
+ ReorderProjectsResponseSchema,
544
+ options,
545
+ "PUT"
546
+ );
547
+ }
548
+ async getProjectDefaults(projectId, options = {}) {
549
+ return this.read(
550
+ `${projectPath(projectId)}/defaults`,
551
+ AgentProjectDefaultsResponseSchema,
552
+ options
553
+ );
554
+ }
555
+ async updateProjectDefaults(projectId, settings, options = {}) {
556
+ return this.mutation(
557
+ `${projectPath(projectId)}/defaults`,
558
+ settings,
559
+ AgentProjectDefaultsResponseSchema,
560
+ options,
561
+ "PUT"
562
+ );
563
+ }
564
+ async addProject(rootPaths, options = {}) {
565
+ return this.mutation(
566
+ "/v1/projects",
567
+ { roots: rootPaths.map((path) => ({ path })) },
568
+ AddProjectResponseSchema,
569
+ options
570
+ );
571
+ }
572
+ async renameProject(projectId, name, options = {}) {
573
+ return this.mutation(
574
+ `${projectPath(projectId)}/rename`,
575
+ { name },
576
+ RenameProjectResponseSchema,
577
+ options
578
+ );
579
+ }
580
+ async removeProject(projectId, options = {}) {
581
+ return this.mutation(
582
+ `${projectPath(projectId)}/remove`,
583
+ {},
584
+ RemoveProjectResponseSchema,
585
+ options
586
+ );
587
+ }
588
+ async getProjectOpenCapabilities(projectId, options = {}) {
589
+ return this.read(
590
+ `${projectPath(projectId)}/open-capabilities`,
591
+ ProjectOpenCapabilitiesResponseSchema,
592
+ options
593
+ );
594
+ }
595
+ async openProject(projectId, rootPath, request, options = {}) {
596
+ return this.mutation(
597
+ appendQuery(`${projectPath(projectId)}/open`, { rootPath }),
598
+ request,
599
+ OpenProjectResponseSchema,
600
+ options
601
+ );
602
+ }
603
+ async getProjectGitStatus(projectId, query, options = {}) {
604
+ return this.read(
605
+ appendQuery(`/v1/projects/${encodeURIComponent(projectId)}/git/status`, {
606
+ includeDiff: query.includeDiff === true ? "true" : void 0,
607
+ repository: query.repository,
608
+ rootPath: query.rootPath
609
+ }),
610
+ ProjectGitStatusSchema,
611
+ options
612
+ );
613
+ }
614
+ async getProjectGitHistory(projectId, query, options = {}) {
615
+ return this.read(
616
+ appendQuery(`${projectPath(projectId)}/git/history`, {
617
+ cursor: query.cursor,
618
+ repository: query.repository,
619
+ rootPath: query.rootPath
620
+ }),
621
+ ProjectGitHistoryPageSchema,
622
+ options
623
+ );
624
+ }
625
+ async getProjectGitCommitFiles(projectId, query, options = {}) {
626
+ return this.read(
627
+ appendQuery(`${projectPath(projectId)}/git/commit-files`, {
628
+ cursor: query.cursor,
629
+ repository: query.repository,
630
+ rootPath: query.rootPath,
631
+ sha: query.sha
632
+ }),
633
+ ProjectGitCommitFilesPageSchema,
634
+ options
635
+ );
636
+ }
637
+ async getProjectGitCommitFileDiff(projectId, query, options = {}) {
638
+ return this.read(
639
+ appendQuery(`${projectPath(projectId)}/git/commit-diff`, {
640
+ path: query.path,
641
+ repository: query.repository,
642
+ rootPath: query.rootPath,
643
+ sha: query.sha
644
+ }),
645
+ ProjectGitCommitFileDiffSchema,
646
+ options
647
+ );
648
+ }
649
+ async switchProjectBranch(projectId, rootPath, request, options = {}) {
650
+ return this.mutation(
651
+ appendQuery(`${projectPath(projectId)}/git/branch`, { rootPath }),
652
+ request,
653
+ ProjectGitStatusSchema,
654
+ options
655
+ );
656
+ }
657
+ async createProjectBranch(projectId, rootPath, request, options = {}) {
658
+ return this.mutation(
659
+ appendQuery(`${projectPath(projectId)}/git/branches`, { rootPath }),
660
+ request,
661
+ ProjectGitStatusSchema,
662
+ options
663
+ );
664
+ }
665
+ async listProjectWorktrees(projectId, rootPath, options = {}) {
666
+ return this.read(
667
+ appendQuery(`${projectPath(projectId)}/git/worktrees`, { rootPath }),
668
+ ProjectGitWorktreePageSchema,
669
+ options
670
+ );
671
+ }
672
+ async createProjectWorktree(projectId, rootPath, request, options = {}) {
673
+ return this.mutation(
674
+ appendQuery(`${projectPath(projectId)}/git/worktrees`, { rootPath }),
675
+ request,
676
+ ProjectWorktreeMutationResponseSchema,
677
+ options
678
+ );
679
+ }
680
+ async switchProjectWorktree(projectId, rootPath, request, options = {}) {
681
+ return this.mutation(
682
+ appendQuery(`${projectPath(projectId)}/git/worktree`, { rootPath }),
683
+ request,
684
+ ProjectWorktreeMutationResponseSchema,
685
+ options
686
+ );
687
+ }
688
+ async generateCommitMessage(projectId, rootPath, request, options = {}) {
689
+ return this.mutation(
690
+ appendQuery(`${projectPath(projectId)}/git/commit-message`, { rootPath }),
691
+ request,
692
+ GenerateCommitMessageResponseSchema,
693
+ options
694
+ );
695
+ }
696
+ async commitProjectChanges(projectId, rootPath, request, options = {}) {
697
+ return this.mutation(
698
+ appendQuery(`${projectPath(projectId)}/git/commits`, { rootPath }),
699
+ request,
700
+ CommitProjectChangesResponseSchema,
701
+ options
702
+ );
703
+ }
704
+ async listProjectFiles(projectId, rootPath, directoryPath, options = {}) {
705
+ const requestPath = appendQuery(`/v1/projects/${encodeURIComponent(projectId)}/files/tree`, {
706
+ path: directoryPath ?? void 0,
707
+ rootPath
708
+ });
709
+ return this.read(requestPath, ProjectFileTreeSchema, options);
710
+ }
711
+ async searchProjectFiles(projectId, rootPath, query, sessionId, options = {}) {
712
+ const requestPath = appendQuery(`/v1/projects/${encodeURIComponent(projectId)}/files/search`, {
713
+ query,
714
+ rootPath,
715
+ sessionId
716
+ });
717
+ return this.read(requestPath, ProjectFileSearchPageSchema, options);
718
+ }
719
+ async stopProjectFileSearch(projectId, rootPath, sessionId, options = {}) {
720
+ return this.mutation(
721
+ `/v1/projects/${encodeURIComponent(projectId)}/files/search/stop`,
722
+ { rootPath, sessionId },
723
+ StopProjectFileSearchResponseSchema,
724
+ options
725
+ );
726
+ }
727
+ async readProjectSourceFile(projectId, rootPath, path, cursor, options = {}) {
728
+ const requestPath = appendQuery(`${projectPath(projectId)}/files/source`, {
729
+ cursor,
730
+ path,
731
+ rootPath
732
+ });
733
+ return this.read(requestPath, ProjectSourceFileSchema, options);
734
+ }
735
+ };
736
+
737
+ // packages/client/src/http-client-task-archive.ts
738
+ var TaskArchiveHttpClient = class extends ProjectHttpClient {
739
+ async archiveTask(projectId, taskId, options = {}) {
740
+ return this.mutation(
741
+ `${taskPath(projectId, taskId)}/archive`,
742
+ {},
743
+ ArchiveAgentTaskResponseSchema,
744
+ options
745
+ );
746
+ }
747
+ async unarchiveTask(projectId, taskId, options = {}) {
748
+ return this.mutation(
749
+ `${taskPath(projectId, taskId)}/unarchive`,
750
+ {},
751
+ UnarchiveAgentTaskResponseSchema,
752
+ options
753
+ );
754
+ }
755
+ async deleteTask(projectId, taskId, options = {}) {
756
+ return this.mutation(
757
+ taskPath(projectId, taskId),
758
+ {},
759
+ DeleteAgentTaskResponseSchema,
760
+ options,
761
+ "DELETE"
762
+ );
763
+ }
764
+ };
765
+
766
+ // packages/client/src/http-client-tasks.ts
767
+ var TaskHttpClient = class extends TaskArchiveHttpClient {
768
+ async listQueuedSubmissions(projectId, taskId, input = {}, options = {}) {
769
+ return this.read(
770
+ appendQuery(`${taskPath(projectId, taskId)}/queue`, input),
771
+ AgentQueuedSubmissionPageSchema,
772
+ options
773
+ );
774
+ }
775
+ async addQueuedSubmission(projectId, taskId, input, clientUserMessageId, options = {}) {
776
+ return this.mutation(
777
+ `${taskPath(projectId, taskId)}/queue`,
778
+ { clientUserMessageId, input },
779
+ AddAgentQueuedSubmissionResponseSchema,
780
+ options
781
+ );
782
+ }
783
+ async updateQueuedSubmission(projectId, taskId, queuedSubmissionId, input, options = {}) {
784
+ return this.mutation(
785
+ `${taskPath(projectId, taskId)}/queue/${encodeURIComponent(queuedSubmissionId)}`,
786
+ { input },
787
+ UpdateAgentQueuedSubmissionResponseSchema,
788
+ options,
789
+ "PUT"
790
+ );
791
+ }
792
+ async deleteQueuedSubmission(projectId, taskId, queuedSubmissionId, options = {}) {
793
+ return this.mutation(
794
+ `${taskPath(projectId, taskId)}/queue/${encodeURIComponent(queuedSubmissionId)}`,
795
+ {},
796
+ DeleteAgentQueuedSubmissionResponseSchema,
797
+ options,
798
+ "DELETE"
799
+ );
800
+ }
801
+ async reorderQueuedSubmissions(projectId, taskId, queuedSubmissionIds, options = {}) {
802
+ return this.mutation(
803
+ `${taskPath(projectId, taskId)}/queue/reorder`,
804
+ { queuedSubmissionIds },
805
+ ReorderAgentQueuedSubmissionsResponseSchema,
806
+ options,
807
+ "PUT"
808
+ );
809
+ }
810
+ async startQueuedSubmission(projectId, taskId, queuedSubmissionId, options = {}) {
811
+ return this.mutation(
812
+ `${taskPath(projectId, taskId)}/queue/start`,
813
+ { ...queuedSubmissionId === void 0 ? {} : { queuedSubmissionId } },
814
+ StartAgentQueuedSubmissionResponseSchema,
815
+ options
816
+ );
817
+ }
818
+ async listTasks(projectId, options = {}, requestOptions = {}) {
819
+ const path = appendQuery(`${projectPath(projectId)}/tasks`, options);
820
+ return this.read(path, AgentTaskPageSchema, requestOptions);
821
+ }
822
+ async readTask(projectId, taskId, options = {}) {
823
+ const { cursor, ...readOptions } = options;
824
+ return this.read(
825
+ appendQuery(taskPath(projectId, taskId), { cursor }),
826
+ AgentTaskSnapshotResponseSchema,
827
+ readOptions
828
+ );
829
+ }
830
+ getTaskAttachmentUrl(projectId, taskId, attachmentId) {
831
+ return buildTaskAttachmentUrl(this.baseUrl, projectId, taskId, attachmentId);
832
+ }
833
+ async openTaskAttachment(projectId, taskId, attachmentId, options = {}) {
834
+ return this.mutation(
835
+ `${taskPath(projectId, taskId)}/attachments/${encodeURIComponent(attachmentId)}/open`,
836
+ {},
837
+ OpenAgentTaskAttachmentResponseSchema,
838
+ options
839
+ );
840
+ }
841
+ async listBackgroundTerminals(projectId, taskId, options = {}) {
842
+ return this.read(
843
+ `${taskPath(projectId, taskId)}/background-terminals`,
844
+ AgentBackgroundTerminalPageSchema,
845
+ options
846
+ );
847
+ }
848
+ async terminateBackgroundTerminal(projectId, taskId, terminalId, options = {}) {
849
+ return this.mutation(
850
+ `${taskPath(projectId, taskId)}/background-terminals/${encodeURIComponent(terminalId)}/terminate`,
851
+ {},
852
+ TerminateAgentBackgroundTerminalResponseSchema,
853
+ options
854
+ );
855
+ }
856
+ async getTaskSettings(projectId, taskId, options = {}) {
857
+ return this.read(
858
+ `${taskPath(projectId, taskId)}/settings`,
859
+ AgentTaskSettingsResponseSchema,
860
+ options
861
+ );
862
+ }
863
+ async updateTaskSettings(projectId, taskId, settings, options = {}) {
864
+ return this.mutation(
865
+ `${taskPath(projectId, taskId)}/settings`,
866
+ settings,
867
+ AgentTaskSettingsResponseSchema,
868
+ options,
869
+ "PUT"
870
+ );
871
+ }
872
+ async startTask(projectId, options = {}) {
873
+ return this.mutation(
874
+ `${projectPath(projectId)}/tasks`,
875
+ {},
876
+ StartAgentTaskResponseSchema,
877
+ options
878
+ );
879
+ }
880
+ async pinTask(projectId, taskId, pinned, options = {}) {
881
+ return this.mutation(
882
+ `${taskPath(projectId, taskId)}/pin`,
883
+ { pinned },
884
+ PinAgentTaskResponseSchema,
885
+ options,
886
+ "PUT"
887
+ );
888
+ }
889
+ async renameTask(projectId, taskId, title, options = {}) {
890
+ return this.mutation(
891
+ `${taskPath(projectId, taskId)}/rename`,
892
+ { title },
893
+ RenameAgentTaskResponseSchema,
894
+ options
895
+ );
896
+ }
897
+ async unsubscribeTask(projectId, taskId) {
898
+ return this.request(
899
+ `${taskPath(projectId, taskId)}/unsubscribe`,
900
+ UnsubscribeAgentTaskResponseSchema,
901
+ { body: "{}", headers: { "content-type": "application/json" }, method: "POST" }
902
+ );
903
+ }
904
+ async startReview(projectId, taskId, input, options = {}) {
905
+ return this.mutation(
906
+ `${taskPath(projectId, taskId)}/review`,
907
+ input,
908
+ ReviewAgentTaskResponseSchema,
909
+ options
910
+ );
911
+ }
912
+ async compactTask(projectId, taskId, options = {}) {
913
+ return this.mutation(
914
+ `${taskPath(projectId, taskId)}/compact`,
915
+ {},
916
+ CompactAgentTaskResponseSchema,
917
+ options
918
+ );
919
+ }
920
+ async forkTask(projectId, taskId, input, options = {}) {
921
+ return this.mutation(
922
+ `${taskPath(projectId, taskId)}/fork`,
923
+ input,
924
+ ForkAgentTaskResponseSchema,
925
+ options
926
+ );
927
+ }
928
+ async uploadFeedback(projectId, taskId, input, options = {}) {
929
+ return this.mutation(
930
+ `${taskPath(projectId, taskId)}/feedback`,
931
+ input,
932
+ UploadAgentFeedbackResponseSchema,
933
+ options
934
+ );
935
+ }
936
+ async uploadAttachment(projectId, input, options = {}) {
937
+ const body = new FormData();
938
+ body.set("attachment", input.content, input.name);
939
+ return this.request(
940
+ `${projectPath(projectId)}/attachments/${input.kind}`,
941
+ AgentAttachmentUploadResponseSchema,
942
+ {
943
+ body,
944
+ headers: {
945
+ "idempotency-key": options.idempotencyKey ?? v4_default()
946
+ },
947
+ method: "POST"
948
+ },
949
+ AgentMutationErrorSchema,
950
+ {
951
+ ...options.signal === void 0 ? {} : { signal: options.signal },
952
+ timeoutMs: this.requestTimeouts.mutationMs
953
+ }
954
+ );
955
+ }
956
+ async importHostAttachment(projectId, kind, path, options = {}) {
957
+ return this.mutation(
958
+ `${projectPath(projectId)}/attachments/${kind}/host`,
959
+ { path },
960
+ AgentAttachmentUploadResponseSchema,
961
+ options
962
+ );
963
+ }
964
+ async startTurn(projectId, taskId, input, turnOptions, options = {}) {
965
+ return this.mutation(
966
+ `${taskPath(projectId, taskId)}/turns`,
967
+ { input, options: turnOptions },
968
+ StartAgentTurnResponseSchema,
969
+ options
970
+ );
971
+ }
972
+ async steerTurn(projectId, taskId, turnId, input, options = {}) {
973
+ return this.mutation(
974
+ `${taskPath(projectId, taskId)}/turns/${encodeURIComponent(turnId)}/steer`,
975
+ { input, taskId },
976
+ SteerAgentTurnResponseSchema,
977
+ options
978
+ );
979
+ }
980
+ async interruptTurn(projectId, taskId, turnId, options = {}) {
981
+ return this.mutation(
982
+ `${taskPath(projectId, taskId)}/turns/${encodeURIComponent(turnId)}/interrupt`,
983
+ { taskId },
984
+ InterruptAgentTurnResponseSchema,
985
+ options
986
+ );
987
+ }
988
+ async resolvePendingRequest(request, resolution, options = {}) {
989
+ const body = {
990
+ itemId: request.itemId,
991
+ projectId: request.projectId,
992
+ resolution,
993
+ taskId: request.taskId,
994
+ turnId: request.turnId,
995
+ type: request.type
996
+ };
997
+ return this.mutation(
998
+ `${taskPath(request.projectId, request.taskId)}/pending-requests/${encodeURIComponent(request.requestId)}/resolve`,
999
+ body,
1000
+ ResolvePendingRequestResponseSchema,
1001
+ options
1002
+ );
1003
+ }
1004
+ };
1005
+
1006
+ // packages/client/src/http-client.ts
1007
+ var CodexlyClient = class extends TaskHttpClient {
1008
+ };
1009
+
1010
+ export { CodexlyClient, CodexlyEventError, CodexlyHttpError, CodexlyMutationError, CodexlyResponseError, buildProjectAttachmentUrl, buildProjectImageFileUrl, buildTaskAttachmentUrl, startAgentEventSubscription };