@bryanhu/codexly 0.40.0 → 0.41.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 (724) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/README.en.md +3 -2
  3. package/README.md +3 -2
  4. package/dist/{chunk-BXOL6SUO.js → chunk-7G5JKKJQ.js} +1 -1
  5. package/dist/chunk-C64TCOGX.js +26 -0
  6. package/dist/{chunk-PZZN5FBZ.js → chunk-DW7IKH5A.js} +131 -131
  7. package/dist/{chunk-UFZBNM7A.js → chunk-IUMX3J22.js} +8 -8
  8. package/dist/{chunk-5YNWOUR2.js → chunk-LRH4LRGC.js} +1 -1
  9. package/dist/{chunk-VBTBWY72.js → chunk-LZBJFLMK.js} +3 -3
  10. package/dist/{chunk-Q2VQAUSH.js → chunk-QE3SPWGR.js} +2 -2
  11. package/dist/{chunk-UR6FEWGU.js → chunk-RVNRCEGR.js} +27 -27
  12. package/dist/chunk-W4XMPSQ6.js +3 -0
  13. package/dist/cli.js +6 -6
  14. package/dist/client/index.js +2 -2
  15. package/dist/command-JURPOVRJ.js +88 -0
  16. package/dist/core/index.js +1 -1
  17. package/dist/protocol/index.js +1 -1
  18. package/dist/providers/claude/index.js +1 -1
  19. package/dist/providers/codex/index.js +1 -1
  20. package/dist/server/index.js +1 -1
  21. package/dist/sqlite-state-worker.js +24 -19
  22. package/dist/token-usage-response-FRCIPFC4.js +1 -0
  23. package/dist/web/.vite/manifest.json +614 -520
  24. package/dist/web/.vite/manifest.json.br +0 -0
  25. package/dist/web/.vite/manifest.json.gz +0 -0
  26. package/dist/web/assets/{abnfDiagram-N423BO3Z-CEEQQmQS.js → abnfDiagram-N423BO3Z-DhOWqv-9.js} +1 -1
  27. package/dist/web/assets/abnfDiagram-N423BO3Z-DhOWqv-9.js.br +0 -0
  28. package/dist/web/assets/abnfDiagram-N423BO3Z-DhOWqv-9.js.gz +0 -0
  29. package/dist/web/assets/activity-BLmbhAyP.js +1 -0
  30. package/dist/web/assets/activity-BLmbhAyP.js.br +0 -0
  31. package/dist/web/assets/activity-BLmbhAyP.js.gz +0 -0
  32. package/dist/web/assets/agent-settings-panel-BtT_fA4k.js +1 -0
  33. package/dist/web/assets/agent-settings-panel-BtT_fA4k.js.br +0 -0
  34. package/dist/web/assets/agent-settings-panel-BtT_fA4k.js.gz +0 -0
  35. package/dist/web/assets/{api-connection-fields-BibbcpNv.js → api-connection-fields-WueUKMmU.js} +1 -1
  36. package/dist/web/assets/api-connection-fields-WueUKMmU.js.br +0 -0
  37. package/dist/web/assets/api-connection-fields-WueUKMmU.js.gz +0 -0
  38. package/dist/web/assets/app-update-dialog-BVYanXEH.js +1 -0
  39. package/dist/web/assets/app-update-dialog-BVYanXEH.js.br +0 -0
  40. package/dist/web/assets/app-update-dialog-BVYanXEH.js.gz +0 -0
  41. package/dist/web/assets/{architectureDiagram-T3A2C74G-CF2Ovr5z.js → architectureDiagram-T3A2C74G-XaZ7JCUm.js} +1 -1
  42. package/dist/web/assets/architectureDiagram-T3A2C74G-XaZ7JCUm.js.br +0 -0
  43. package/dist/web/assets/architectureDiagram-T3A2C74G-XaZ7JCUm.js.gz +0 -0
  44. package/dist/web/assets/archived-tasks-dialog-DvYO0otZ.js +1 -0
  45. package/dist/web/assets/archived-tasks-dialog-DvYO0otZ.js.br +0 -0
  46. package/dist/web/assets/archived-tasks-dialog-DvYO0otZ.js.gz +0 -0
  47. package/dist/web/assets/arrow-down-DUHHdu_G.js +1 -0
  48. package/dist/web/assets/arrow-down-DUHHdu_G.js.br +0 -0
  49. package/dist/web/assets/arrow-down-DUHHdu_G.js.gz +0 -0
  50. package/dist/web/assets/arrow-up-right-pwN3fEpQ.js +1 -0
  51. package/dist/web/assets/arrow-up-right-pwN3fEpQ.js.br +0 -0
  52. package/dist/web/assets/arrow-up-right-pwN3fEpQ.js.gz +0 -0
  53. package/dist/web/assets/{background-image-picker-BSsADQTT.js → background-image-picker-qLNVDW8q.js} +1 -1
  54. package/dist/web/assets/background-image-picker-qLNVDW8q.js.br +0 -0
  55. package/dist/web/assets/background-image-picker-qLNVDW8q.js.gz +0 -0
  56. package/dist/web/assets/calendar-days-CaEmURf6.js +1 -0
  57. package/dist/web/assets/calendar-days-CaEmURf6.js.br +0 -0
  58. package/dist/web/assets/calendar-days-CaEmURf6.js.gz +0 -0
  59. package/dist/web/assets/chevron-left-Dsg_A5qc.js +1 -0
  60. package/dist/web/assets/chevron-left-Dsg_A5qc.js.br +0 -0
  61. package/dist/web/assets/chevron-left-Dsg_A5qc.js.gz +0 -0
  62. package/dist/web/assets/{chunk-5RXB4S5H-Bu1iYp4t.js → chunk-5RXB4S5H-Bbuu-yH3.js} +1 -1
  63. package/dist/web/assets/chunk-5RXB4S5H-Bbuu-yH3.js.br +0 -0
  64. package/dist/web/assets/{chunk-5RXB4S5H-Bu1iYp4t.js.gz → chunk-5RXB4S5H-Bbuu-yH3.js.gz} +0 -0
  65. package/dist/web/assets/{chunk-6Q2QTUOP-8pETCK89.js → chunk-6Q2QTUOP-BN9DLH6W.js} +1 -1
  66. package/dist/web/assets/chunk-6Q2QTUOP-BN9DLH6W.js.br +0 -0
  67. package/dist/web/assets/chunk-6Q2QTUOP-BN9DLH6W.js.gz +0 -0
  68. package/dist/web/assets/{chunk-GF5L2VYU-Clmi3b75.js → chunk-GF5L2VYU-BMWxsfjW.js} +1 -1
  69. package/dist/web/assets/chunk-GF5L2VYU-BMWxsfjW.js.br +0 -0
  70. package/dist/web/assets/{chunk-GF5L2VYU-Clmi3b75.js.gz → chunk-GF5L2VYU-BMWxsfjW.js.gz} +0 -0
  71. package/dist/web/assets/{chunk-JQJVKLGR-TByUBa_A.js → chunk-JQJVKLGR-CEr3AARA.js} +1 -1
  72. package/dist/web/assets/chunk-JQJVKLGR-CEr3AARA.js.br +0 -0
  73. package/dist/web/assets/{chunk-JQJVKLGR-TByUBa_A.js.gz → chunk-JQJVKLGR-CEr3AARA.js.gz} +0 -0
  74. package/dist/web/assets/{classDiagram-JCYQIIEL-CxEYeVQh.js → classDiagram-JCYQIIEL-BrSlNEkX.js} +1 -1
  75. package/dist/web/assets/classDiagram-JCYQIIEL-BrSlNEkX.js.br +0 -0
  76. package/dist/web/assets/classDiagram-JCYQIIEL-BrSlNEkX.js.gz +0 -0
  77. package/dist/web/assets/{classDiagram-v2-OCEON4UE-CxEYeVQh.js → classDiagram-v2-OCEON4UE-BrSlNEkX.js} +1 -1
  78. package/dist/web/assets/classDiagram-v2-OCEON4UE-BrSlNEkX.js.br +0 -0
  79. package/dist/web/assets/classDiagram-v2-OCEON4UE-BrSlNEkX.js.gz +0 -0
  80. package/dist/web/assets/claude-extensions-pane-B5alX6NW.js +1 -0
  81. package/dist/web/assets/claude-extensions-pane-B5alX6NW.js.br +0 -0
  82. package/dist/web/assets/claude-extensions-pane-B5alX6NW.js.gz +0 -0
  83. package/dist/web/assets/{claude-settings-panel-DXKvK9Cx.js → claude-settings-panel-clCfG3vv.js} +1 -1
  84. package/dist/web/assets/claude-settings-panel-clCfG3vv.js.br +0 -0
  85. package/dist/web/assets/claude-settings-panel-clCfG3vv.js.gz +0 -0
  86. package/dist/web/assets/clipboard-rFJYhGgH.js +1 -0
  87. package/dist/web/assets/clipboard-rFJYhGgH.js.br +0 -0
  88. package/dist/web/assets/clipboard-rFJYhGgH.js.gz +0 -0
  89. package/dist/web/assets/code-highlighter-BSgLVO-5.js +3 -0
  90. package/dist/web/assets/code-highlighter-BSgLVO-5.js.br +0 -0
  91. package/dist/web/assets/code-highlighter-BSgLVO-5.js.gz +0 -0
  92. package/dist/web/assets/codex-resources-pane-17q6mdBu.js +1 -0
  93. package/dist/web/assets/codex-resources-pane-17q6mdBu.js.br +0 -0
  94. package/dist/web/assets/codex-resources-pane-17q6mdBu.js.gz +0 -0
  95. package/dist/web/assets/{commit-settings-panel-CDFZi6_m.js → commit-settings-panel-BaCNJ-kP.js} +1 -1
  96. package/dist/web/assets/commit-settings-panel-BaCNJ-kP.js.br +0 -0
  97. package/dist/web/assets/commit-settings-panel-BaCNJ-kP.js.gz +0 -0
  98. package/dist/web/assets/composer-git-menu-DpQl41Lv.js +1 -0
  99. package/dist/web/assets/composer-git-menu-DpQl41Lv.js.br +0 -0
  100. package/dist/web/assets/composer-git-menu-DpQl41Lv.js.gz +0 -0
  101. package/dist/web/assets/{cynefinDiagram-MW4NZA55-BgrsE095.js → cynefinDiagram-MW4NZA55-BRur_bqy.js} +1 -1
  102. package/dist/web/assets/cynefinDiagram-MW4NZA55-BRur_bqy.js.br +0 -0
  103. package/dist/web/assets/cynefinDiagram-MW4NZA55-BRur_bqy.js.gz +0 -0
  104. package/dist/web/assets/{diagram-7IWD3JNH-d6DRTRQU.js → diagram-7IWD3JNH-Dm9goIk0.js} +1 -1
  105. package/dist/web/assets/diagram-7IWD3JNH-Dm9goIk0.js.br +0 -0
  106. package/dist/web/assets/diagram-7IWD3JNH-Dm9goIk0.js.gz +0 -0
  107. package/dist/web/assets/{diagram-LBJQPF4R-BTsB33l7.js → diagram-LBJQPF4R-D5MqQQlL.js} +1 -1
  108. package/dist/web/assets/diagram-LBJQPF4R-D5MqQQlL.js.br +0 -0
  109. package/dist/web/assets/diagram-LBJQPF4R-D5MqQQlL.js.gz +0 -0
  110. package/dist/web/assets/{diagram-Q27KOJAE-BR31NpE4.js → diagram-Q27KOJAE-CT9-om9c.js} +1 -1
  111. package/dist/web/assets/diagram-Q27KOJAE-CT9-om9c.js.br +0 -0
  112. package/dist/web/assets/diagram-Q27KOJAE-CT9-om9c.js.gz +0 -0
  113. package/dist/web/assets/{diagram-UB23O5K3-Giiek6vS.js → diagram-UB23O5K3-BNxdNO9N.js} +1 -1
  114. package/dist/web/assets/diagram-UB23O5K3-BNxdNO9N.js.br +0 -0
  115. package/dist/web/assets/diagram-UB23O5K3-BNxdNO9N.js.gz +0 -0
  116. package/dist/web/assets/{dist-DKGpvUu3.js → dist-AuPj8SgL.js} +3 -3
  117. package/dist/web/assets/dist-AuPj8SgL.js.br +0 -0
  118. package/dist/web/assets/dist-AuPj8SgL.js.gz +0 -0
  119. package/dist/web/assets/{dist-dQCgoXMl.js → dist-B5sI2dlF.js} +1 -1
  120. package/dist/web/assets/dist-B5sI2dlF.js.br +0 -0
  121. package/dist/web/assets/dist-B5sI2dlF.js.gz +0 -0
  122. package/dist/web/assets/{dist-CYMTYgBk.js → dist-BsL649bQ.js} +1 -1
  123. package/dist/web/assets/dist-BsL649bQ.js.br +0 -0
  124. package/dist/web/assets/dist-BsL649bQ.js.gz +0 -0
  125. package/dist/web/assets/{dist-C9Xo-R3R.js → dist-CAE1iZ8f.js} +1 -1
  126. package/dist/web/assets/dist-CAE1iZ8f.js.br +0 -0
  127. package/dist/web/assets/dist-CAE1iZ8f.js.gz +0 -0
  128. package/dist/web/assets/{dist-DQyQRzkb.js → dist-CXzWYcrE.js} +1 -1
  129. package/dist/web/assets/dist-CXzWYcrE.js.br +0 -0
  130. package/dist/web/assets/dist-CXzWYcrE.js.gz +0 -0
  131. package/dist/web/assets/{dist-Cdr0TsB-.js → dist-Ceirvrnz.js} +1 -1
  132. package/dist/web/assets/dist-Ceirvrnz.js.br +0 -0
  133. package/dist/web/assets/dist-Ceirvrnz.js.gz +0 -0
  134. package/dist/web/assets/{dist-BRQ8hrs7.js → dist-CuEOCH4w.js} +1 -1
  135. package/dist/web/assets/dist-CuEOCH4w.js.br +0 -0
  136. package/dist/web/assets/dist-CuEOCH4w.js.gz +0 -0
  137. package/dist/web/assets/{dist-D5aBWTdK.js → dist-DGIEKeyr.js} +1 -1
  138. package/dist/web/assets/dist-DGIEKeyr.js.br +0 -0
  139. package/dist/web/assets/dist-DGIEKeyr.js.gz +0 -0
  140. package/dist/web/assets/{dist-BS9Es7bq.js → dist-DTkOac6l.js} +1 -1
  141. package/dist/web/assets/dist-DTkOac6l.js.br +0 -0
  142. package/dist/web/assets/dist-DTkOac6l.js.gz +0 -0
  143. package/dist/web/assets/{dist-CZxkC4sf.js → dist-D_Wo-IHz.js} +1 -1
  144. package/dist/web/assets/dist-D_Wo-IHz.js.br +0 -0
  145. package/dist/web/assets/dist-D_Wo-IHz.js.gz +0 -0
  146. package/dist/web/assets/{dist-Dda7I8j1.js → dist-Dj9a4Mmk.js} +1 -1
  147. package/dist/web/assets/dist-Dj9a4Mmk.js.br +0 -0
  148. package/dist/web/assets/dist-Dj9a4Mmk.js.gz +0 -0
  149. package/dist/web/assets/{dist-BsHoamEK.js → dist-sWM-W4IA.js} +1 -1
  150. package/dist/web/assets/dist-sWM-W4IA.js.br +0 -0
  151. package/dist/web/assets/dist-sWM-W4IA.js.gz +0 -0
  152. package/dist/web/assets/{dist-ZywOhMVT.js → dist-taplUnD4.js} +1 -1
  153. package/dist/web/assets/dist-taplUnD4.js.br +0 -0
  154. package/dist/web/assets/dist-taplUnD4.js.gz +0 -0
  155. package/dist/web/assets/document-navigation-Da1q1H1O.js +3 -0
  156. package/dist/web/assets/document-navigation-Da1q1H1O.js.br +0 -0
  157. package/dist/web/assets/document-navigation-Da1q1H1O.js.gz +0 -0
  158. package/dist/web/assets/download-Be9bQeP_.js +1 -0
  159. package/dist/web/assets/download-Be9bQeP_.js.br +0 -0
  160. package/dist/web/assets/download-Be9bQeP_.js.gz +0 -0
  161. package/dist/web/assets/{ebnfDiagram-BXEA7PRR-D1qXqma3.js → ebnfDiagram-BXEA7PRR-dyKzv1-Q.js} +1 -1
  162. package/dist/web/assets/ebnfDiagram-BXEA7PRR-dyKzv1-Q.js.br +0 -0
  163. package/dist/web/assets/ebnfDiagram-BXEA7PRR-dyKzv1-Q.js.gz +0 -0
  164. package/dist/web/assets/engine-setup-gate-CsMQae5w.js +1 -0
  165. package/dist/web/assets/engine-setup-gate-CsMQae5w.js.br +0 -0
  166. package/dist/web/assets/engine-setup-gate-CsMQae5w.js.gz +0 -0
  167. package/dist/web/assets/{erDiagram-JOGREHBK-C3UtJXJx.js → erDiagram-JOGREHBK-BmTsV3SL.js} +1 -1
  168. package/dist/web/assets/erDiagram-JOGREHBK-BmTsV3SL.js.br +0 -0
  169. package/dist/web/assets/erDiagram-JOGREHBK-BmTsV3SL.js.gz +0 -0
  170. package/dist/web/assets/{extension-list-FpN59xyu.js → extension-list-snCKzRql.js} +1 -1
  171. package/dist/web/assets/extension-list-snCKzRql.js.br +0 -0
  172. package/dist/web/assets/extension-list-snCKzRql.js.gz +0 -0
  173. package/dist/web/assets/{extension-operation-C25lNEcc.js → extension-operation-DyO98T-k.js} +1 -1
  174. package/dist/web/assets/extension-operation-DyO98T-k.js.br +0 -0
  175. package/dist/web/assets/extension-operation-DyO98T-k.js.gz +0 -0
  176. package/dist/web/assets/external-link-EUD14c1S.js +1 -0
  177. package/dist/web/assets/external-link-EUD14c1S.js.br +0 -0
  178. package/dist/web/assets/external-link-EUD14c1S.js.gz +0 -0
  179. package/dist/web/assets/file-navigation-view-preference-DZIGllo5.js +1 -0
  180. package/dist/web/assets/file-navigation-view-preference-DZIGllo5.js.br +0 -0
  181. package/dist/web/assets/file-navigation-view-preference-DZIGllo5.js.gz +0 -0
  182. package/dist/web/assets/file-review-dialog-DvvuhUCl.js +2 -0
  183. package/dist/web/assets/file-review-dialog-DvvuhUCl.js.br +0 -0
  184. package/dist/web/assets/file-review-dialog-DvvuhUCl.js.gz +0 -0
  185. package/dist/web/assets/{flowDiagram-UKHOOZJN-CkmFxY4S.js → flowDiagram-UKHOOZJN-BGsVtiSj.js} +1 -1
  186. package/dist/web/assets/flowDiagram-UKHOOZJN-BGsVtiSj.js.br +2 -0
  187. package/dist/web/assets/flowDiagram-UKHOOZJN-BGsVtiSj.js.gz +0 -0
  188. package/dist/web/assets/git-commit-review-DrGBeiJa.js +2 -0
  189. package/dist/web/assets/git-commit-review-DrGBeiJa.js.br +0 -0
  190. package/dist/web/assets/git-commit-review-DrGBeiJa.js.gz +0 -0
  191. package/dist/web/assets/git-history-panel-BJ4OnqMO.js +1 -0
  192. package/dist/web/assets/git-history-panel-BJ4OnqMO.js.br +0 -0
  193. package/dist/web/assets/git-history-panel-BJ4OnqMO.js.gz +0 -0
  194. package/dist/web/assets/global-search-dialog-BZOhh2as.js +2 -0
  195. package/dist/web/assets/global-search-dialog-BZOhh2as.js.br +0 -0
  196. package/dist/web/assets/global-search-dialog-BZOhh2as.js.gz +0 -0
  197. package/dist/web/assets/global-settings-about-Cl_afjE6.js +1 -0
  198. package/dist/web/assets/global-settings-about-Cl_afjE6.js.br +0 -0
  199. package/dist/web/assets/global-settings-about-Cl_afjE6.js.gz +0 -0
  200. package/dist/web/assets/global-settings-fields-Cn48Go_s.js +1 -0
  201. package/dist/web/assets/global-settings-fields-Cn48Go_s.js.br +0 -0
  202. package/dist/web/assets/global-settings-fields-Cn48Go_s.js.gz +0 -0
  203. package/dist/web/assets/global-settings-page-YoE4BNgM.js +2 -0
  204. package/dist/web/assets/global-settings-page-YoE4BNgM.js.br +0 -0
  205. package/dist/web/assets/global-settings-page-YoE4BNgM.js.gz +0 -0
  206. package/dist/web/assets/{global-settings-pets-B43_pFUh.js → global-settings-pets-b0XLhN7A.js} +1 -1
  207. package/dist/web/assets/global-settings-pets-b0XLhN7A.js.br +0 -0
  208. package/dist/web/assets/global-settings-pets-b0XLhN7A.js.gz +0 -0
  209. package/dist/web/assets/{highlighted-body-OFNGDK62-DWnfzzs7.js → highlighted-body-OFNGDK62-B9dwCqpt.js} +1 -1
  210. package/dist/web/assets/highlighted-body-OFNGDK62-B9dwCqpt.js.br +0 -0
  211. package/dist/web/assets/highlighted-body-OFNGDK62-B9dwCqpt.js.gz +0 -0
  212. package/dist/web/assets/history-task-timeline-PqOQPY_u.js +1 -0
  213. package/dist/web/assets/history-task-timeline-PqOQPY_u.js.br +0 -0
  214. package/dist/web/assets/history-task-timeline-PqOQPY_u.js.gz +0 -0
  215. package/dist/web/assets/{image-preview-DLbcm8V_.js → image-preview-D-s7cdTe.js} +2 -2
  216. package/dist/web/assets/image-preview-D-s7cdTe.js.br +0 -0
  217. package/dist/web/assets/image-preview-D-s7cdTe.js.gz +0 -0
  218. package/dist/web/assets/image-preview-content-CdIl5BJh.js +41 -0
  219. package/dist/web/assets/image-preview-content-CdIl5BJh.js.br +0 -0
  220. package/dist/web/assets/image-preview-content-CdIl5BJh.js.gz +0 -0
  221. package/dist/web/assets/index-CE2J7Z4y.js +4 -0
  222. package/dist/web/assets/index-CE2J7Z4y.js.br +0 -0
  223. package/dist/web/assets/index-CE2J7Z4y.js.gz +0 -0
  224. package/dist/web/assets/index-DNMb0zwW.css +2 -0
  225. package/dist/web/assets/index-DNMb0zwW.css.br +0 -0
  226. package/dist/web/assets/index-DNMb0zwW.css.gz +0 -0
  227. package/dist/web/assets/{infoDiagram-6WML65LV-DuWGeyW3.js → infoDiagram-6WML65LV-BAIuLIiE.js} +1 -1
  228. package/dist/web/assets/infoDiagram-6WML65LV-BAIuLIiE.js.br +0 -0
  229. package/dist/web/assets/infoDiagram-6WML65LV-BAIuLIiE.js.gz +0 -0
  230. package/dist/web/assets/{initial-deps-DZ-sH4cr.js → initial-deps-DBOKk1z5.js} +1 -1
  231. package/dist/web/assets/{initial-deps-DZ-sH4cr.js.br → initial-deps-DBOKk1z5.js.br} +0 -0
  232. package/dist/web/assets/{initial-deps-DZ-sH4cr.js.gz → initial-deps-DBOKk1z5.js.gz} +0 -0
  233. package/dist/web/assets/initial-deps-DGiIFgQX.js +2 -0
  234. package/dist/web/assets/initial-deps-DGiIFgQX.js.br +0 -0
  235. package/dist/web/assets/initial-deps-DGiIFgQX.js.gz +0 -0
  236. package/dist/web/assets/initial-deps-DgzPJEbl.js +1 -0
  237. package/dist/web/assets/initial-deps-DgzPJEbl.js.br +0 -0
  238. package/dist/web/assets/initial-deps-DgzPJEbl.js.gz +0 -0
  239. package/dist/web/assets/{initial-deps-CilSILfP.js → initial-deps-YY1DxiPl.js} +1 -1
  240. package/dist/web/assets/initial-deps-YY1DxiPl.js.br +0 -0
  241. package/dist/web/assets/initial-deps-YY1DxiPl.js.gz +0 -0
  242. package/dist/web/assets/initial-deps-ZpffyCug.js +41 -0
  243. package/dist/web/assets/initial-deps-ZpffyCug.js.br +0 -0
  244. package/dist/web/assets/initial-deps-ZpffyCug.js.gz +0 -0
  245. package/dist/web/assets/{initial-deps-BeVJyoJH.js → initial-deps-cK7Q2EcP.js} +1 -1
  246. package/dist/web/assets/initial-deps-cK7Q2EcP.js.br +0 -0
  247. package/dist/web/assets/initial-deps-cK7Q2EcP.js.gz +0 -0
  248. package/dist/web/assets/installed-skills-pane-Cyyzl-Bb.js +1 -0
  249. package/dist/web/assets/installed-skills-pane-Cyyzl-Bb.js.br +0 -0
  250. package/dist/web/assets/installed-skills-pane-Cyyzl-Bb.js.gz +0 -0
  251. package/dist/web/assets/{ishikawaDiagram-WSZJBQD7-CKSQLCKs.js → ishikawaDiagram-WSZJBQD7-BHAsHeut.js} +1 -1
  252. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BHAsHeut.js.br +0 -0
  253. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-BHAsHeut.js.gz +0 -0
  254. package/dist/web/assets/{kanban-definition-27J2QSJJ-Dy_spa9A.js → kanban-definition-27J2QSJJ-DXD7XDKp.js} +1 -1
  255. package/dist/web/assets/kanban-definition-27J2QSJJ-DXD7XDKp.js.br +0 -0
  256. package/dist/web/assets/kanban-definition-27J2QSJJ-DXD7XDKp.js.gz +0 -0
  257. package/dist/web/assets/maximize-2-DsnIK2kb.js +1 -0
  258. package/dist/web/assets/maximize-2-DsnIK2kb.js.br +0 -0
  259. package/dist/web/assets/maximize-2-DsnIK2kb.js.gz +0 -0
  260. package/dist/web/assets/mcp-management-pane-C-lhQebl.js +1 -0
  261. package/dist/web/assets/mcp-management-pane-C-lhQebl.js.br +0 -0
  262. package/dist/web/assets/mcp-management-pane-C-lhQebl.js.gz +0 -0
  263. package/dist/web/assets/mermaid-GHXKKRXX-BNvY3Im7.js +1 -0
  264. package/dist/web/assets/mermaid-GHXKKRXX-BNvY3Im7.js.br +0 -0
  265. package/dist/web/assets/mermaid-GHXKKRXX-BNvY3Im7.js.gz +0 -0
  266. package/dist/web/assets/message-assistant-directive-BGmxIV_g.js +3 -0
  267. package/dist/web/assets/message-assistant-directive-BGmxIV_g.js.br +0 -0
  268. package/dist/web/assets/message-assistant-directive-BGmxIV_g.js.gz +0 -0
  269. package/dist/web/assets/message-response-DHapkIAN.js +151 -0
  270. package/dist/web/assets/message-response-DHapkIAN.js.br +0 -0
  271. package/dist/web/assets/message-response-DHapkIAN.js.gz +0 -0
  272. package/dist/web/assets/{mindmap-definition-FAOFIHXS-BT3bfYzH.js → mindmap-definition-FAOFIHXS-CLTyPTLI.js} +1 -1
  273. package/dist/web/assets/mindmap-definition-FAOFIHXS-CLTyPTLI.js.br +0 -0
  274. package/dist/web/assets/mindmap-definition-FAOFIHXS-CLTyPTLI.js.gz +0 -0
  275. package/dist/web/assets/{model-context-window-input-B1WfG4S_.js → model-context-window-input-dM1RHCkE.js} +1 -1
  276. package/dist/web/assets/model-context-window-input-dM1RHCkE.js.br +0 -0
  277. package/dist/web/assets/model-context-window-input-dM1RHCkE.js.gz +0 -0
  278. package/dist/web/assets/official-plugin-sheet-hYSHhxo1.js +1 -0
  279. package/dist/web/assets/official-plugin-sheet-hYSHhxo1.js.br +0 -0
  280. package/dist/web/assets/official-plugin-sheet-hYSHhxo1.js.gz +0 -0
  281. package/dist/web/assets/official-plugins-pane-C3iFHqyq.js +2 -0
  282. package/dist/web/assets/official-plugins-pane-C3iFHqyq.js.br +0 -0
  283. package/dist/web/assets/official-plugins-pane-C3iFHqyq.js.gz +0 -0
  284. package/dist/web/assets/open-project-path-C3E-UncW.js +1 -0
  285. package/dist/web/assets/open-project-path-C3E-UncW.js.br +0 -0
  286. package/dist/web/assets/open-project-path-C3E-UncW.js.gz +0 -0
  287. package/dist/web/assets/{patch-diff-viewer-_6e4j2Xu.js → patch-diff-viewer-CAlOstmF.js} +24 -24
  288. package/dist/web/assets/patch-diff-viewer-CAlOstmF.js.br +0 -0
  289. package/dist/web/assets/patch-diff-viewer-CAlOstmF.js.gz +0 -0
  290. package/dist/web/assets/{pegDiagram-VL7TDLO6-BDpdrr1s.js → pegDiagram-VL7TDLO6-CEMTFena.js} +1 -1
  291. package/dist/web/assets/pegDiagram-VL7TDLO6-CEMTFena.js.br +0 -0
  292. package/dist/web/assets/pegDiagram-VL7TDLO6-CEMTFena.js.gz +0 -0
  293. package/dist/web/assets/personalization-settings-panel-CjR0RSn0.js +1 -0
  294. package/dist/web/assets/personalization-settings-panel-CjR0RSn0.js.br +0 -0
  295. package/dist/web/assets/personalization-settings-panel-CjR0RSn0.js.gz +0 -0
  296. package/dist/web/assets/{pieDiagram-7S7Q4E2Y-DCypkhSo.js → pieDiagram-7S7Q4E2Y-CTU8oZML.js} +1 -1
  297. package/dist/web/assets/pieDiagram-7S7Q4E2Y-CTU8oZML.js.br +0 -0
  298. package/dist/web/assets/pieDiagram-7S7Q4E2Y-CTU8oZML.js.gz +0 -0
  299. package/dist/web/assets/{project-file-popup-page-zQmKyPor.js → project-file-popup-page-c0wqWaPR.js} +1 -1
  300. package/dist/web/assets/project-file-popup-page-c0wqWaPR.js.br +0 -0
  301. package/dist/web/assets/project-file-popup-page-c0wqWaPR.js.gz +0 -0
  302. package/dist/web/assets/project-sidebar-timeline-B9S9jfdA.js +1 -0
  303. package/dist/web/assets/project-sidebar-timeline-B9S9jfdA.js.br +0 -0
  304. package/dist/web/assets/project-sidebar-timeline-B9S9jfdA.js.gz +0 -0
  305. package/dist/web/assets/project-source-panel-CDbtcBsp.js +2 -0
  306. package/dist/web/assets/project-source-panel-CDbtcBsp.js.br +0 -0
  307. package/dist/web/assets/project-source-panel-CDbtcBsp.js.gz +0 -0
  308. package/dist/web/assets/prompt-input-Qv__0ZYp.js +1 -0
  309. package/dist/web/assets/prompt-input-Qv__0ZYp.js.br +0 -0
  310. package/dist/web/assets/prompt-input-Qv__0ZYp.js.gz +0 -0
  311. package/dist/web/assets/{provider-connection-panel-stjpuDi-.js → provider-connection-panel-CFOjjrpy.js} +1 -1
  312. package/dist/web/assets/provider-connection-panel-CFOjjrpy.js.br +0 -0
  313. package/dist/web/assets/provider-connection-panel-CFOjjrpy.js.gz +0 -0
  314. package/dist/web/assets/{provider-connection-queries-Bi1sUodL.js → provider-connection-queries-DaUJKsqr.js} +1 -1
  315. package/dist/web/assets/provider-connection-queries-DaUJKsqr.js.br +0 -0
  316. package/dist/web/assets/provider-connection-queries-DaUJKsqr.js.gz +0 -0
  317. package/dist/web/assets/{railroadDiagram-AXF67PYL-d16J9qzD.js → railroadDiagram-AXF67PYL-BOpAz8Rl.js} +1 -1
  318. package/dist/web/assets/railroadDiagram-AXF67PYL-BOpAz8Rl.js.br +0 -0
  319. package/dist/web/assets/railroadDiagram-AXF67PYL-BOpAz8Rl.js.gz +0 -0
  320. package/dist/web/assets/{requirementDiagram-LRYGKXZP-C9hUbT7e.js → requirementDiagram-LRYGKXZP-BOIE6jyw.js} +1 -1
  321. package/dist/web/assets/requirementDiagram-LRYGKXZP-BOIE6jyw.js.br +0 -0
  322. package/dist/web/assets/requirementDiagram-LRYGKXZP-BOIE6jyw.js.gz +0 -0
  323. package/dist/web/assets/resources-en-CNabznak.js +1 -0
  324. package/dist/web/assets/resources-en-CNabznak.js.br +0 -0
  325. package/dist/web/assets/resources-en-CNabznak.js.gz +0 -0
  326. package/dist/web/assets/saved-prompts-settings-BIWAIIuI.js +1 -0
  327. package/dist/web/assets/saved-prompts-settings-BIWAIIuI.js.br +0 -0
  328. package/dist/web/assets/saved-prompts-settings-BIWAIIuI.js.gz +0 -0
  329. package/dist/web/assets/scan-C6v7t2yH.js +1 -0
  330. package/dist/web/assets/scan-C6v7t2yH.js.br +1 -0
  331. package/dist/web/assets/scan-C6v7t2yH.js.gz +0 -0
  332. package/dist/web/assets/scheduled-task-date-time-picker-fytjNu3G.js +1 -0
  333. package/dist/web/assets/scheduled-task-date-time-picker-fytjNu3G.js.br +0 -0
  334. package/dist/web/assets/scheduled-task-date-time-picker-fytjNu3G.js.gz +0 -0
  335. package/dist/web/assets/{scheduled-task-floating-ui~scheduled-task-date-time-picker-cReLi3tI.js → scheduled-task-floating-ui~scheduled-task-date-time-picker-CS9ppkbD.js} +1 -1
  336. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CS9ppkbD.js.br +0 -0
  337. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-CS9ppkbD.js.gz +0 -0
  338. package/dist/web/assets/scheduled-tasks-container-CcEgcbyX.js +2 -0
  339. package/dist/web/assets/scheduled-tasks-container-CcEgcbyX.js.br +0 -0
  340. package/dist/web/assets/scheduled-tasks-container-CcEgcbyX.js.gz +0 -0
  341. package/dist/web/assets/{sequenceDiagram-SI44F4Z6-CGA84wrP.js → sequenceDiagram-SI44F4Z6-CK-WlrkA.js} +1 -1
  342. package/dist/web/assets/sequenceDiagram-SI44F4Z6-CK-WlrkA.js.br +0 -0
  343. package/dist/web/assets/sequenceDiagram-SI44F4Z6-CK-WlrkA.js.gz +0 -0
  344. package/dist/web/assets/server-A3E6rPSE.js +1 -0
  345. package/dist/web/assets/server-A3E6rPSE.js.br +1 -0
  346. package/dist/web/assets/server-A3E6rPSE.js.gz +0 -0
  347. package/dist/web/assets/{settings-mutation-status-Dke6ycgH.js → settings-mutation-status-C_W3Brzy.js} +1 -1
  348. package/dist/web/assets/settings-mutation-status-C_W3Brzy.js.br +0 -0
  349. package/dist/web/assets/settings-mutation-status-C_W3Brzy.js.gz +0 -0
  350. package/dist/web/assets/settings-save-status-LZlDl2hi.js +1 -0
  351. package/dist/web/assets/settings-save-status-LZlDl2hi.js.br +0 -0
  352. package/dist/web/assets/settings-save-status-LZlDl2hi.js.gz +0 -0
  353. package/dist/web/assets/{shiki-bundle-DoOIe8qx.js → shiki-bundle-BuVlco8m.js} +1 -1
  354. package/dist/web/assets/shiki-bundle-BuVlco8m.js.br +1 -0
  355. package/dist/web/assets/shiki-bundle-BuVlco8m.js.gz +0 -0
  356. package/dist/web/assets/skills-market-container-3F4yAU_u.js +2 -0
  357. package/dist/web/assets/skills-market-container-3F4yAU_u.js.br +0 -0
  358. package/dist/web/assets/skills-market-container-3F4yAU_u.js.gz +0 -0
  359. package/dist/web/assets/split-workspace-menu-content-B-194fx-.js +1 -0
  360. package/dist/web/assets/split-workspace-menu-content-B-194fx-.js.br +2 -0
  361. package/dist/web/assets/split-workspace-menu-content-B-194fx-.js.gz +0 -0
  362. package/dist/web/assets/{stateDiagram-OKZ733FA-D0MVn7g1.js → stateDiagram-OKZ733FA-hLYv6w14.js} +1 -1
  363. package/dist/web/assets/stateDiagram-OKZ733FA-hLYv6w14.js.br +0 -0
  364. package/dist/web/assets/stateDiagram-OKZ733FA-hLYv6w14.js.gz +0 -0
  365. package/dist/web/assets/{stateDiagram-v2-UEYNNEHI-TUsb_3yM.js → stateDiagram-v2-UEYNNEHI-DGFWGBEN.js} +1 -1
  366. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DGFWGBEN.js.br +0 -0
  367. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-DGFWGBEN.js.gz +0 -0
  368. package/dist/web/assets/{swimlanesDiagram-ULZ7WXOC-8Qb6Pp_Z.js → swimlanesDiagram-ULZ7WXOC-BDqOoYXX.js} +1 -1
  369. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-BDqOoYXX.js.br +0 -0
  370. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-BDqOoYXX.js.gz +0 -0
  371. package/dist/web/assets/{task-timeline-process-history-CZep5llt.js → task-timeline-process-history-FA7FqX65.js} +1 -1
  372. package/dist/web/assets/task-timeline-process-history-FA7FqX65.js.br +0 -0
  373. package/dist/web/assets/task-timeline-process-history-FA7FqX65.js.gz +0 -0
  374. package/dist/web/assets/text-file-editor-Dt1ptrwk.js +14 -0
  375. package/dist/web/assets/text-file-editor-Dt1ptrwk.js.br +0 -0
  376. package/dist/web/assets/text-file-editor-Dt1ptrwk.js.gz +0 -0
  377. package/dist/web/assets/{timeline-definition-Z64GVDOM-DRC7HLeH.js → timeline-definition-Z64GVDOM-C0ggW9ke.js} +1 -1
  378. package/dist/web/assets/timeline-definition-Z64GVDOM-C0ggW9ke.js.br +0 -0
  379. package/dist/web/assets/timeline-definition-Z64GVDOM-C0ggW9ke.js.gz +0 -0
  380. package/dist/web/assets/token-usage-response-oKnLCVhj.js +1 -0
  381. package/dist/web/assets/token-usage-response-oKnLCVhj.js.br +0 -0
  382. package/dist/web/assets/token-usage-response-oKnLCVhj.js.gz +0 -0
  383. package/dist/web/assets/upload-Dc5LJ6y_.js +1 -0
  384. package/dist/web/assets/upload-Dc5LJ6y_.js.br +0 -0
  385. package/dist/web/assets/upload-Dc5LJ6y_.js.gz +0 -0
  386. package/dist/web/assets/usage-statistics-C7zED1sM.css +1 -0
  387. package/dist/web/assets/usage-statistics-C7zED1sM.css.br +0 -0
  388. package/dist/web/assets/usage-statistics-C7zED1sM.css.gz +0 -0
  389. package/dist/web/assets/usage-statistics-CkWR_l2r.js +1 -0
  390. package/dist/web/assets/usage-statistics-CkWR_l2r.js.br +0 -0
  391. package/dist/web/assets/usage-statistics-CkWR_l2r.js.gz +0 -0
  392. package/dist/web/assets/{useMutationState-CuY6Z3bo.js → useMutationState-DZj3iudU.js} +1 -1
  393. package/dist/web/assets/useMutationState-DZj3iudU.js.br +0 -0
  394. package/dist/web/assets/useMutationState-DZj3iudU.js.gz +0 -0
  395. package/dist/web/assets/utils-O47BBoIx.js +1 -0
  396. package/dist/web/assets/utils-O47BBoIx.js.br +0 -0
  397. package/dist/web/assets/utils-O47BBoIx.js.gz +0 -0
  398. package/dist/web/assets/{vennDiagram-T6HMQDX7-B5BRVmyv.js → vennDiagram-T6HMQDX7-SCXL8ux1.js} +1 -1
  399. package/dist/web/assets/vennDiagram-T6HMQDX7-SCXL8ux1.js.br +0 -0
  400. package/dist/web/assets/vennDiagram-T6HMQDX7-SCXL8ux1.js.gz +0 -0
  401. package/dist/web/assets/{wardleyDiagram-T6FBY63Y-BVuPKOmW.js → wardleyDiagram-T6FBY63Y-Cqe5SiO4.js} +1 -1
  402. package/dist/web/assets/wardleyDiagram-T6FBY63Y-Cqe5SiO4.js.br +0 -0
  403. package/dist/web/assets/wardleyDiagram-T6FBY63Y-Cqe5SiO4.js.gz +0 -0
  404. package/dist/web/assets/workbench-inspector-changes-ZSA-8aVd.js +1 -0
  405. package/dist/web/assets/workbench-inspector-changes-ZSA-8aVd.js.br +0 -0
  406. package/dist/web/assets/workbench-inspector-changes-ZSA-8aVd.js.gz +0 -0
  407. package/dist/web/assets/{workbench-pet-canvas-DfV_J-9g.js → workbench-pet-canvas-CHABL440.js} +1 -1
  408. package/dist/web/assets/workbench-pet-canvas-CHABL440.js.br +0 -0
  409. package/dist/web/assets/workbench-pet-canvas-CHABL440.js.gz +0 -0
  410. package/dist/web/assets/workbench-shell-CR4teS_d.js +17 -0
  411. package/dist/web/assets/workbench-shell-CR4teS_d.js.br +0 -0
  412. package/dist/web/assets/workbench-shell-CR4teS_d.js.gz +0 -0
  413. package/dist/web/assets/{xychartDiagram-ELKLHX3M-Cyq1aXDR.js → xychartDiagram-ELKLHX3M-CWXlmFCE.js} +1 -1
  414. package/dist/web/assets/xychartDiagram-ELKLHX3M-CWXlmFCE.js.br +0 -0
  415. package/dist/web/assets/xychartDiagram-ELKLHX3M-CWXlmFCE.js.gz +0 -0
  416. package/dist/web/index.html +9 -9
  417. package/dist/web/index.html.br +0 -0
  418. package/dist/web/index.html.gz +0 -0
  419. package/docs/README.md +3 -1
  420. package/docs/document-workspace.md +49 -0
  421. package/docs/local-catalog.md +9 -0
  422. package/docs/usage-statistics.md +51 -0
  423. package/docs/usage.en.md +13 -1
  424. package/docs/usage.md +13 -1
  425. package/package.json +3 -1
  426. package/dist/chunk-S7LPESTQ.js +0 -3
  427. package/dist/chunk-WE42CHL5.js +0 -26
  428. package/dist/command-SFIOITEA.js +0 -88
  429. package/dist/web/assets/abnfDiagram-N423BO3Z-CEEQQmQS.js.br +0 -0
  430. package/dist/web/assets/abnfDiagram-N423BO3Z-CEEQQmQS.js.gz +0 -0
  431. package/dist/web/assets/agent-settings-panel-BpLGmoGs.js +0 -1
  432. package/dist/web/assets/agent-settings-panel-BpLGmoGs.js.br +0 -0
  433. package/dist/web/assets/agent-settings-panel-BpLGmoGs.js.gz +0 -0
  434. package/dist/web/assets/api-connection-fields-BibbcpNv.js.br +0 -0
  435. package/dist/web/assets/api-connection-fields-BibbcpNv.js.gz +0 -0
  436. package/dist/web/assets/app-update-dialog-DQoACHXt.js +0 -1
  437. package/dist/web/assets/app-update-dialog-DQoACHXt.js.br +0 -0
  438. package/dist/web/assets/app-update-dialog-DQoACHXt.js.gz +0 -0
  439. package/dist/web/assets/architectureDiagram-T3A2C74G-CF2Ovr5z.js.br +0 -0
  440. package/dist/web/assets/architectureDiagram-T3A2C74G-CF2Ovr5z.js.gz +0 -0
  441. package/dist/web/assets/arrow-down-BiCRjuX3.js +0 -1
  442. package/dist/web/assets/arrow-down-BiCRjuX3.js.br +0 -0
  443. package/dist/web/assets/arrow-down-BiCRjuX3.js.gz +0 -0
  444. package/dist/web/assets/arrow-up-right-1gv4rBr2.js +0 -1
  445. package/dist/web/assets/arrow-up-right-1gv4rBr2.js.br +0 -0
  446. package/dist/web/assets/arrow-up-right-1gv4rBr2.js.gz +0 -0
  447. package/dist/web/assets/background-image-picker-BSsADQTT.js.br +0 -0
  448. package/dist/web/assets/background-image-picker-BSsADQTT.js.gz +0 -0
  449. package/dist/web/assets/chunk-5RXB4S5H-Bu1iYp4t.js.br +0 -0
  450. package/dist/web/assets/chunk-6Q2QTUOP-8pETCK89.js.br +0 -0
  451. package/dist/web/assets/chunk-6Q2QTUOP-8pETCK89.js.gz +0 -0
  452. package/dist/web/assets/chunk-GF5L2VYU-Clmi3b75.js.br +0 -0
  453. package/dist/web/assets/chunk-JQJVKLGR-TByUBa_A.js.br +0 -0
  454. package/dist/web/assets/classDiagram-JCYQIIEL-CxEYeVQh.js.br +0 -0
  455. package/dist/web/assets/classDiagram-JCYQIIEL-CxEYeVQh.js.gz +0 -0
  456. package/dist/web/assets/classDiagram-v2-OCEON4UE-CxEYeVQh.js.br +0 -0
  457. package/dist/web/assets/classDiagram-v2-OCEON4UE-CxEYeVQh.js.gz +0 -0
  458. package/dist/web/assets/claude-extensions-pane-CQr8ljAY.js +0 -1
  459. package/dist/web/assets/claude-extensions-pane-CQr8ljAY.js.br +0 -0
  460. package/dist/web/assets/claude-extensions-pane-CQr8ljAY.js.gz +0 -0
  461. package/dist/web/assets/claude-settings-panel-DXKvK9Cx.js.br +0 -0
  462. package/dist/web/assets/claude-settings-panel-DXKvK9Cx.js.gz +0 -0
  463. package/dist/web/assets/clipboard-C55zlT9y.js +0 -1
  464. package/dist/web/assets/clipboard-C55zlT9y.js.br +0 -0
  465. package/dist/web/assets/clipboard-C55zlT9y.js.gz +0 -0
  466. package/dist/web/assets/code-highlighter-DLfpC-2j.js +0 -3
  467. package/dist/web/assets/code-highlighter-DLfpC-2j.js.br +0 -0
  468. package/dist/web/assets/code-highlighter-DLfpC-2j.js.gz +0 -0
  469. package/dist/web/assets/codex-resources-pane-wsrvgVrc.js +0 -1
  470. package/dist/web/assets/codex-resources-pane-wsrvgVrc.js.br +0 -0
  471. package/dist/web/assets/codex-resources-pane-wsrvgVrc.js.gz +0 -0
  472. package/dist/web/assets/commit-settings-panel-CDFZi6_m.js.br +0 -0
  473. package/dist/web/assets/commit-settings-panel-CDFZi6_m.js.gz +0 -0
  474. package/dist/web/assets/composer-git-menu-RXjhQAjt.js +0 -1
  475. package/dist/web/assets/composer-git-menu-RXjhQAjt.js.br +0 -0
  476. package/dist/web/assets/composer-git-menu-RXjhQAjt.js.gz +0 -0
  477. package/dist/web/assets/cynefinDiagram-MW4NZA55-BgrsE095.js.br +0 -0
  478. package/dist/web/assets/cynefinDiagram-MW4NZA55-BgrsE095.js.gz +0 -0
  479. package/dist/web/assets/diagram-7IWD3JNH-d6DRTRQU.js.br +0 -0
  480. package/dist/web/assets/diagram-7IWD3JNH-d6DRTRQU.js.gz +0 -0
  481. package/dist/web/assets/diagram-LBJQPF4R-BTsB33l7.js.br +0 -0
  482. package/dist/web/assets/diagram-LBJQPF4R-BTsB33l7.js.gz +0 -0
  483. package/dist/web/assets/diagram-Q27KOJAE-BR31NpE4.js.br +0 -0
  484. package/dist/web/assets/diagram-Q27KOJAE-BR31NpE4.js.gz +0 -0
  485. package/dist/web/assets/diagram-UB23O5K3-Giiek6vS.js.br +0 -0
  486. package/dist/web/assets/diagram-UB23O5K3-Giiek6vS.js.gz +0 -0
  487. package/dist/web/assets/dist-BRQ8hrs7.js.br +0 -0
  488. package/dist/web/assets/dist-BRQ8hrs7.js.gz +0 -0
  489. package/dist/web/assets/dist-BS9Es7bq.js.br +0 -0
  490. package/dist/web/assets/dist-BS9Es7bq.js.gz +0 -0
  491. package/dist/web/assets/dist-BsHoamEK.js.br +0 -0
  492. package/dist/web/assets/dist-BsHoamEK.js.gz +0 -0
  493. package/dist/web/assets/dist-C9Xo-R3R.js.br +0 -0
  494. package/dist/web/assets/dist-C9Xo-R3R.js.gz +0 -0
  495. package/dist/web/assets/dist-CYMTYgBk.js.br +0 -0
  496. package/dist/web/assets/dist-CYMTYgBk.js.gz +0 -0
  497. package/dist/web/assets/dist-CZxkC4sf.js.br +0 -0
  498. package/dist/web/assets/dist-CZxkC4sf.js.gz +0 -0
  499. package/dist/web/assets/dist-Cdr0TsB-.js.br +0 -0
  500. package/dist/web/assets/dist-Cdr0TsB-.js.gz +0 -0
  501. package/dist/web/assets/dist-D5aBWTdK.js.br +0 -0
  502. package/dist/web/assets/dist-D5aBWTdK.js.gz +0 -0
  503. package/dist/web/assets/dist-DKGpvUu3.js.br +0 -0
  504. package/dist/web/assets/dist-DKGpvUu3.js.gz +0 -0
  505. package/dist/web/assets/dist-DQyQRzkb.js.br +0 -0
  506. package/dist/web/assets/dist-DQyQRzkb.js.gz +0 -0
  507. package/dist/web/assets/dist-Dda7I8j1.js.br +0 -0
  508. package/dist/web/assets/dist-Dda7I8j1.js.gz +0 -0
  509. package/dist/web/assets/dist-ZywOhMVT.js.br +0 -0
  510. package/dist/web/assets/dist-ZywOhMVT.js.gz +0 -0
  511. package/dist/web/assets/dist-dQCgoXMl.js.br +0 -0
  512. package/dist/web/assets/dist-dQCgoXMl.js.gz +0 -0
  513. package/dist/web/assets/download-DSulXOCZ.js +0 -1
  514. package/dist/web/assets/download-DSulXOCZ.js.br +0 -0
  515. package/dist/web/assets/download-DSulXOCZ.js.gz +0 -0
  516. package/dist/web/assets/ebnfDiagram-BXEA7PRR-D1qXqma3.js.br +0 -0
  517. package/dist/web/assets/ebnfDiagram-BXEA7PRR-D1qXqma3.js.gz +0 -0
  518. package/dist/web/assets/engine-setup-gate-BMxHgUPX.js +0 -1
  519. package/dist/web/assets/engine-setup-gate-BMxHgUPX.js.br +0 -0
  520. package/dist/web/assets/engine-setup-gate-BMxHgUPX.js.gz +0 -0
  521. package/dist/web/assets/erDiagram-JOGREHBK-C3UtJXJx.js.br +0 -0
  522. package/dist/web/assets/erDiagram-JOGREHBK-C3UtJXJx.js.gz +0 -0
  523. package/dist/web/assets/extension-list-FpN59xyu.js.br +0 -0
  524. package/dist/web/assets/extension-list-FpN59xyu.js.gz +0 -0
  525. package/dist/web/assets/extension-operation-C25lNEcc.js.br +0 -3
  526. package/dist/web/assets/extension-operation-C25lNEcc.js.gz +0 -0
  527. package/dist/web/assets/external-link-DTvUbh5p.js +0 -1
  528. package/dist/web/assets/external-link-DTvUbh5p.js.br +0 -0
  529. package/dist/web/assets/external-link-DTvUbh5p.js.gz +0 -0
  530. package/dist/web/assets/file-navigation-view-preference-D5PlYpLl.js +0 -1
  531. package/dist/web/assets/file-navigation-view-preference-D5PlYpLl.js.br +0 -0
  532. package/dist/web/assets/file-navigation-view-preference-D5PlYpLl.js.gz +0 -0
  533. package/dist/web/assets/file-review-dialog-B0m1uX8I.js +0 -2
  534. package/dist/web/assets/file-review-dialog-B0m1uX8I.js.br +0 -0
  535. package/dist/web/assets/file-review-dialog-B0m1uX8I.js.gz +0 -0
  536. package/dist/web/assets/flowDiagram-UKHOOZJN-CkmFxY4S.js.br +0 -0
  537. package/dist/web/assets/flowDiagram-UKHOOZJN-CkmFxY4S.js.gz +0 -0
  538. package/dist/web/assets/git-commit-review-BzmpTmCu.js +0 -2
  539. package/dist/web/assets/git-commit-review-BzmpTmCu.js.br +0 -0
  540. package/dist/web/assets/git-commit-review-BzmpTmCu.js.gz +0 -0
  541. package/dist/web/assets/git-history-panel-D0NtL4Ey.js +0 -1
  542. package/dist/web/assets/git-history-panel-D0NtL4Ey.js.br +0 -0
  543. package/dist/web/assets/git-history-panel-D0NtL4Ey.js.gz +0 -0
  544. package/dist/web/assets/global-search-dialog-CfUFXT2P.js +0 -2
  545. package/dist/web/assets/global-search-dialog-CfUFXT2P.js.br +0 -0
  546. package/dist/web/assets/global-search-dialog-CfUFXT2P.js.gz +0 -0
  547. package/dist/web/assets/global-settings-about-0K0nGRC-.js +0 -1
  548. package/dist/web/assets/global-settings-about-0K0nGRC-.js.br +0 -0
  549. package/dist/web/assets/global-settings-about-0K0nGRC-.js.gz +0 -0
  550. package/dist/web/assets/global-settings-fields-Bguzhix9.js +0 -1
  551. package/dist/web/assets/global-settings-fields-Bguzhix9.js.br +0 -0
  552. package/dist/web/assets/global-settings-fields-Bguzhix9.js.gz +0 -0
  553. package/dist/web/assets/global-settings-page-BpfeYCYG.js +0 -2
  554. package/dist/web/assets/global-settings-page-BpfeYCYG.js.br +0 -0
  555. package/dist/web/assets/global-settings-page-BpfeYCYG.js.gz +0 -0
  556. package/dist/web/assets/global-settings-pets-B43_pFUh.js.br +0 -0
  557. package/dist/web/assets/global-settings-pets-B43_pFUh.js.gz +0 -0
  558. package/dist/web/assets/highlighted-body-OFNGDK62-DWnfzzs7.js.br +0 -0
  559. package/dist/web/assets/highlighted-body-OFNGDK62-DWnfzzs7.js.gz +0 -0
  560. package/dist/web/assets/history-task-timeline-BtWNWjvT.js +0 -1
  561. package/dist/web/assets/history-task-timeline-BtWNWjvT.js.br +0 -0
  562. package/dist/web/assets/history-task-timeline-BtWNWjvT.js.gz +0 -0
  563. package/dist/web/assets/image-preview-DLbcm8V_.js.br +0 -0
  564. package/dist/web/assets/image-preview-DLbcm8V_.js.gz +0 -0
  565. package/dist/web/assets/image-preview-content-B8t4zN2r.js +0 -41
  566. package/dist/web/assets/image-preview-content-B8t4zN2r.js.br +0 -0
  567. package/dist/web/assets/image-preview-content-B8t4zN2r.js.gz +0 -0
  568. package/dist/web/assets/index-BUna2uyD.js +0 -4
  569. package/dist/web/assets/index-BUna2uyD.js.br +0 -0
  570. package/dist/web/assets/index-BUna2uyD.js.gz +0 -0
  571. package/dist/web/assets/index-CB0Jmx2g.css +0 -2
  572. package/dist/web/assets/index-CB0Jmx2g.css.br +0 -0
  573. package/dist/web/assets/index-CB0Jmx2g.css.gz +0 -0
  574. package/dist/web/assets/infoDiagram-6WML65LV-DuWGeyW3.js.br +0 -0
  575. package/dist/web/assets/infoDiagram-6WML65LV-DuWGeyW3.js.gz +0 -0
  576. package/dist/web/assets/initial-deps-BeVJyoJH.js.br +0 -0
  577. package/dist/web/assets/initial-deps-BeVJyoJH.js.gz +0 -0
  578. package/dist/web/assets/initial-deps-CRaxZAOH.js +0 -41
  579. package/dist/web/assets/initial-deps-CRaxZAOH.js.br +0 -0
  580. package/dist/web/assets/initial-deps-CRaxZAOH.js.gz +0 -0
  581. package/dist/web/assets/initial-deps-CilSILfP.js.br +0 -0
  582. package/dist/web/assets/initial-deps-CilSILfP.js.gz +0 -0
  583. package/dist/web/assets/initial-deps-CyMAtgCd.js +0 -2
  584. package/dist/web/assets/initial-deps-CyMAtgCd.js.br +0 -0
  585. package/dist/web/assets/initial-deps-CyMAtgCd.js.gz +0 -0
  586. package/dist/web/assets/initial-deps-DNAUCF1H.js +0 -1
  587. package/dist/web/assets/initial-deps-DNAUCF1H.js.br +0 -0
  588. package/dist/web/assets/initial-deps-DNAUCF1H.js.gz +0 -0
  589. package/dist/web/assets/installed-skills-pane-Cp1c9O0j.js +0 -1
  590. package/dist/web/assets/installed-skills-pane-Cp1c9O0j.js.br +0 -0
  591. package/dist/web/assets/installed-skills-pane-Cp1c9O0j.js.gz +0 -0
  592. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-CKSQLCKs.js.br +0 -0
  593. package/dist/web/assets/ishikawaDiagram-WSZJBQD7-CKSQLCKs.js.gz +0 -0
  594. package/dist/web/assets/kanban-definition-27J2QSJJ-Dy_spa9A.js.br +0 -0
  595. package/dist/web/assets/kanban-definition-27J2QSJJ-Dy_spa9A.js.gz +0 -0
  596. package/dist/web/assets/maximize-2-Fh0PepSo.js +0 -1
  597. package/dist/web/assets/maximize-2-Fh0PepSo.js.br +0 -0
  598. package/dist/web/assets/maximize-2-Fh0PepSo.js.gz +0 -0
  599. package/dist/web/assets/mcp-management-pane-C95hsTpS.js +0 -1
  600. package/dist/web/assets/mcp-management-pane-C95hsTpS.js.br +0 -0
  601. package/dist/web/assets/mcp-management-pane-C95hsTpS.js.gz +0 -0
  602. package/dist/web/assets/mermaid-GHXKKRXX-CVt2koup.js +0 -1
  603. package/dist/web/assets/mermaid-GHXKKRXX-CVt2koup.js.br +0 -0
  604. package/dist/web/assets/mermaid-GHXKKRXX-CVt2koup.js.gz +0 -0
  605. package/dist/web/assets/message-assistant-directive-DMoVi7q3.js +0 -3
  606. package/dist/web/assets/message-assistant-directive-DMoVi7q3.js.br +0 -0
  607. package/dist/web/assets/message-assistant-directive-DMoVi7q3.js.gz +0 -0
  608. package/dist/web/assets/message-response-BswwJ_0M.js +0 -151
  609. package/dist/web/assets/message-response-BswwJ_0M.js.br +0 -0
  610. package/dist/web/assets/message-response-BswwJ_0M.js.gz +0 -0
  611. package/dist/web/assets/mindmap-definition-FAOFIHXS-BT3bfYzH.js.br +0 -0
  612. package/dist/web/assets/mindmap-definition-FAOFIHXS-BT3bfYzH.js.gz +0 -0
  613. package/dist/web/assets/model-context-window-input-B1WfG4S_.js.br +0 -0
  614. package/dist/web/assets/model-context-window-input-B1WfG4S_.js.gz +0 -0
  615. package/dist/web/assets/official-plugin-sheet-DIa2udRz.js +0 -1
  616. package/dist/web/assets/official-plugin-sheet-DIa2udRz.js.br +0 -0
  617. package/dist/web/assets/official-plugin-sheet-DIa2udRz.js.gz +0 -0
  618. package/dist/web/assets/official-plugins-pane-DoRHj17k.js +0 -2
  619. package/dist/web/assets/official-plugins-pane-DoRHj17k.js.br +0 -0
  620. package/dist/web/assets/official-plugins-pane-DoRHj17k.js.gz +0 -0
  621. package/dist/web/assets/open-project-path-tkV3GG0_.js +0 -1
  622. package/dist/web/assets/open-project-path-tkV3GG0_.js.br +0 -0
  623. package/dist/web/assets/open-project-path-tkV3GG0_.js.gz +0 -0
  624. package/dist/web/assets/patch-diff-viewer-_6e4j2Xu.js.br +0 -0
  625. package/dist/web/assets/patch-diff-viewer-_6e4j2Xu.js.gz +0 -0
  626. package/dist/web/assets/pdf-preview-C7dU4MfB.js +0 -3
  627. package/dist/web/assets/pdf-preview-C7dU4MfB.js.br +0 -0
  628. package/dist/web/assets/pdf-preview-C7dU4MfB.js.gz +0 -0
  629. package/dist/web/assets/pegDiagram-VL7TDLO6-BDpdrr1s.js.br +0 -0
  630. package/dist/web/assets/pegDiagram-VL7TDLO6-BDpdrr1s.js.gz +0 -0
  631. package/dist/web/assets/personalization-settings-panel-Bn69EkZ8.js +0 -1
  632. package/dist/web/assets/personalization-settings-panel-Bn69EkZ8.js.br +0 -0
  633. package/dist/web/assets/personalization-settings-panel-Bn69EkZ8.js.gz +0 -0
  634. package/dist/web/assets/pieDiagram-7S7Q4E2Y-DCypkhSo.js.br +0 -0
  635. package/dist/web/assets/pieDiagram-7S7Q4E2Y-DCypkhSo.js.gz +0 -0
  636. package/dist/web/assets/project-file-popup-page-zQmKyPor.js.br +0 -0
  637. package/dist/web/assets/project-file-popup-page-zQmKyPor.js.gz +0 -0
  638. package/dist/web/assets/project-source-panel-B073gmHb.js +0 -2
  639. package/dist/web/assets/project-source-panel-B073gmHb.js.br +0 -0
  640. package/dist/web/assets/project-source-panel-B073gmHb.js.gz +0 -0
  641. package/dist/web/assets/prompt-input-CppQfZJu.js +0 -1
  642. package/dist/web/assets/prompt-input-CppQfZJu.js.br +0 -0
  643. package/dist/web/assets/prompt-input-CppQfZJu.js.gz +0 -0
  644. package/dist/web/assets/provider-connection-panel-stjpuDi-.js.br +0 -0
  645. package/dist/web/assets/provider-connection-panel-stjpuDi-.js.gz +0 -0
  646. package/dist/web/assets/provider-connection-queries-Bi1sUodL.js.br +0 -0
  647. package/dist/web/assets/provider-connection-queries-Bi1sUodL.js.gz +0 -0
  648. package/dist/web/assets/railroadDiagram-AXF67PYL-d16J9qzD.js.br +0 -0
  649. package/dist/web/assets/railroadDiagram-AXF67PYL-d16J9qzD.js.gz +0 -0
  650. package/dist/web/assets/requirementDiagram-LRYGKXZP-C9hUbT7e.js.br +0 -0
  651. package/dist/web/assets/requirementDiagram-LRYGKXZP-C9hUbT7e.js.gz +0 -0
  652. package/dist/web/assets/resources-en-yeMes3Ah.js +0 -1
  653. package/dist/web/assets/resources-en-yeMes3Ah.js.br +0 -0
  654. package/dist/web/assets/resources-en-yeMes3Ah.js.gz +0 -0
  655. package/dist/web/assets/scan-DYCzmZAH.js +0 -1
  656. package/dist/web/assets/scan-DYCzmZAH.js.br +0 -2
  657. package/dist/web/assets/scan-DYCzmZAH.js.gz +0 -0
  658. package/dist/web/assets/scheduled-task-date-time-picker-BDHyAcNa.js +0 -1
  659. package/dist/web/assets/scheduled-task-date-time-picker-BDHyAcNa.js.br +0 -0
  660. package/dist/web/assets/scheduled-task-date-time-picker-BDHyAcNa.js.gz +0 -0
  661. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-cReLi3tI.js.br +0 -0
  662. package/dist/web/assets/scheduled-task-floating-ui~scheduled-task-date-time-picker-cReLi3tI.js.gz +0 -0
  663. package/dist/web/assets/scheduled-tasks-container-BrEi6mNO.js +0 -2
  664. package/dist/web/assets/scheduled-tasks-container-BrEi6mNO.js.br +0 -0
  665. package/dist/web/assets/scheduled-tasks-container-BrEi6mNO.js.gz +0 -0
  666. package/dist/web/assets/sequenceDiagram-SI44F4Z6-CGA84wrP.js.br +0 -0
  667. package/dist/web/assets/sequenceDiagram-SI44F4Z6-CGA84wrP.js.gz +0 -0
  668. package/dist/web/assets/server-DkIJGjQG.js +0 -1
  669. package/dist/web/assets/server-DkIJGjQG.js.br +0 -2
  670. package/dist/web/assets/server-DkIJGjQG.js.gz +0 -0
  671. package/dist/web/assets/settings-mutation-status-Dke6ycgH.js.br +0 -0
  672. package/dist/web/assets/settings-mutation-status-Dke6ycgH.js.gz +0 -0
  673. package/dist/web/assets/settings-save-status-CUoSP7m5.js +0 -1
  674. package/dist/web/assets/settings-save-status-CUoSP7m5.js.br +0 -0
  675. package/dist/web/assets/settings-save-status-CUoSP7m5.js.gz +0 -0
  676. package/dist/web/assets/shiki-bundle-DoOIe8qx.js.br +0 -2
  677. package/dist/web/assets/shiki-bundle-DoOIe8qx.js.gz +0 -0
  678. package/dist/web/assets/skills-market-container-PCo27WKC.js +0 -2
  679. package/dist/web/assets/skills-market-container-PCo27WKC.js.br +0 -0
  680. package/dist/web/assets/skills-market-container-PCo27WKC.js.gz +0 -0
  681. package/dist/web/assets/sliders-horizontal-DFgw0FeX.js +0 -1
  682. package/dist/web/assets/sliders-horizontal-DFgw0FeX.js.br +0 -0
  683. package/dist/web/assets/sliders-horizontal-DFgw0FeX.js.gz +0 -0
  684. package/dist/web/assets/split-workspace-menu-content-Co-x9yyy.js +0 -1
  685. package/dist/web/assets/split-workspace-menu-content-Co-x9yyy.js.br +0 -2
  686. package/dist/web/assets/split-workspace-menu-content-Co-x9yyy.js.gz +0 -0
  687. package/dist/web/assets/stateDiagram-OKZ733FA-D0MVn7g1.js.br +0 -0
  688. package/dist/web/assets/stateDiagram-OKZ733FA-D0MVn7g1.js.gz +0 -0
  689. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-TUsb_3yM.js.br +0 -0
  690. package/dist/web/assets/stateDiagram-v2-UEYNNEHI-TUsb_3yM.js.gz +0 -0
  691. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-8Qb6Pp_Z.js.br +0 -0
  692. package/dist/web/assets/swimlanesDiagram-ULZ7WXOC-8Qb6Pp_Z.js.gz +0 -0
  693. package/dist/web/assets/task-timeline-process-history-CZep5llt.js.br +0 -0
  694. package/dist/web/assets/task-timeline-process-history-CZep5llt.js.gz +0 -0
  695. package/dist/web/assets/text-file-editor-CEKsFPli.js +0 -14
  696. package/dist/web/assets/text-file-editor-CEKsFPli.js.br +0 -0
  697. package/dist/web/assets/text-file-editor-CEKsFPli.js.gz +0 -0
  698. package/dist/web/assets/timeline-definition-Z64GVDOM-DRC7HLeH.js.br +0 -0
  699. package/dist/web/assets/timeline-definition-Z64GVDOM-DRC7HLeH.js.gz +0 -0
  700. package/dist/web/assets/upload-BypRc41z.js +0 -1
  701. package/dist/web/assets/upload-BypRc41z.js.br +0 -0
  702. package/dist/web/assets/upload-BypRc41z.js.gz +0 -0
  703. package/dist/web/assets/useMutationState-CuY6Z3bo.js.br +0 -0
  704. package/dist/web/assets/useMutationState-CuY6Z3bo.js.gz +0 -0
  705. package/dist/web/assets/utils-BjjzKOgD.js +0 -1
  706. package/dist/web/assets/utils-BjjzKOgD.js.br +0 -0
  707. package/dist/web/assets/utils-BjjzKOgD.js.gz +0 -0
  708. package/dist/web/assets/vennDiagram-T6HMQDX7-B5BRVmyv.js.br +0 -0
  709. package/dist/web/assets/vennDiagram-T6HMQDX7-B5BRVmyv.js.gz +0 -0
  710. package/dist/web/assets/wardleyDiagram-T6FBY63Y-BVuPKOmW.js.br +0 -0
  711. package/dist/web/assets/wardleyDiagram-T6FBY63Y-BVuPKOmW.js.gz +0 -0
  712. package/dist/web/assets/workbench-inspector-changes-C-xC1l-l.js +0 -1
  713. package/dist/web/assets/workbench-inspector-changes-C-xC1l-l.js.br +0 -0
  714. package/dist/web/assets/workbench-inspector-changes-C-xC1l-l.js.gz +0 -0
  715. package/dist/web/assets/workbench-pet-canvas-DfV_J-9g.js.br +0 -0
  716. package/dist/web/assets/workbench-pet-canvas-DfV_J-9g.js.gz +0 -0
  717. package/dist/web/assets/workbench-shell-BjJSD8dp.js +0 -17
  718. package/dist/web/assets/workbench-shell-BjJSD8dp.js.br +0 -0
  719. package/dist/web/assets/workbench-shell-BjJSD8dp.js.gz +0 -0
  720. package/dist/web/assets/xychartDiagram-ELKLHX3M-Cyq1aXDR.js.br +0 -0
  721. package/dist/web/assets/xychartDiagram-ELKLHX3M-Cyq1aXDR.js.gz +0 -0
  722. /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~dp1dands-ClgveiMa.js → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~b4s77zfd-ClgveiMa.js} +0 -0
  723. /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~dp1dands-ClgveiMa.js.br → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~b4s77zfd-ClgveiMa.js.br} +0 -0
  724. /package/dist/web/assets/{scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~dp1dands-ClgveiMa.js.gz → scheduled-task-floating-ui~index~workbench-shell~workbench-inspector-changes~project-source~b4s77zfd-ClgveiMa.js.gz} +0 -0
@@ -1,5 +1,5 @@
1
- import {createRequire}from'node:module';import {randomBytes}from'crypto';import {isIP}from'net';import {networkInterfaces}from'os';createRequire(import.meta.url);
2
- var v=`Usage: codexly [command] [options]
1
+ import {createRequire}from'node:module';import {spawn}from'child_process';import {existsSync,constants}from'fs';import {access}from'fs/promises';import {join,dirname,win32}from'path';import {randomBytes}from'crypto';import {isIP}from'net';import {networkInterfaces}from'os';createRequire(import.meta.url);
2
+ var S=2*6e4;function v(o,t=process.platform,r=process.execPath,e=false){let s=join(dirname(r),"..","lib","node_modules","npm","bin","npm-cli.js"),a=t==="win32"?{args:[win32.join(win32.dirname(r),"node_modules","npm","bin","npm-cli.js"),...o],command:r}:existsSync(s)?{args:[s,...o],command:r}:{args:o,command:"npm"};if(!e)return a;if(t==="win32")throw new Error("Elevated npm updates are not supported on Windows");return {args:["--",a.command,...a.args],command:"sudo"}}async function U(o,t=process.platform){if(t!=="linux"||process.getuid?.()===0)return false;try{return await access(dirname(o),constants.W_OK),!1}catch{return true}}async function H(o,t={}){let r=v(o,process.platform,process.execPath,t.elevated),e=t.elevated===true;return new Promise((s,a)=>{let n=spawn(r.command,r.args,{shell:false,signal:t.signal,stdio:e?["inherit","pipe","inherit"]:["ignore","pipe","pipe"],timeout:S,windowsHide:true}),c="",i="";n.stdout?.setEncoding("utf8"),n.stdout?.on("data",d=>{c+=d;}),n.stderr?.setEncoding("utf8"),n.stderr?.on("data",d=>{i+=d;}),n.once("error",a),n.once("close",(d,p)=>{if(d===0){s(c);return}let m=i.trim();a(new Error(`npm command failed${p===null?` with exit code ${String(d)}`:` with signal ${p}`}${m===""?"":`: ${m}`}`));});})}var W=`Usage: codexly [command] [options]
3
3
 
4
4
  Commands:
5
5
  autostart Manage Web startup after user login (enable/status/logs/restart/disable/repair).
@@ -45,7 +45,7 @@ Examples:
45
45
 
46
46
  Running codexly without a command is equivalent to codexly start.
47
47
  Run codexly <command> --help for command-specific options.
48
- `,E={start:`Usage: codexly start [options]
48
+ `,q={start:`Usage: codexly start [options]
49
49
 
50
50
  Start the Codexly server and open the Web interface.
51
51
 
@@ -71,8 +71,8 @@ Options:
71
71
  `,version:`Usage: codexly version
72
72
 
73
73
  Print the installed Codexly version. You can also run codexly --version.
74
- `};function c(o,t,n=new Set){let e={},r=new Set;for(let a=0;a<o.length;a+=1){let s=o[a];if(!s||!t.has(s)&&!n.has(s))throw new Error(`\u672A\u77E5\u9009\u9879: ${s??"<empty>"}`);let p=s==="--allowed-host"||s==="--workspace";if(r.has(s)&&!p)throw new Error(`\u9009\u9879\u91CD\u590D: ${s}`);if(r.add(s),n.has(s)){s==="--lan"?e.lan=true:s==="--no-open"?e.noOpen=true:s==="--now"&&(e.now=true);continue}let i=o[a+1];if(!i||i.startsWith("--"))throw new Error(`\u9009\u9879\u7F3A\u5C11\u503C: ${s}`);if(s==="--codex-bin")e.codexBin=i;else if(s==="--codex-home")e.codexHome=i;else if(s==="--lan-password")e.lanPassword=i;else if(s==="--allowed-host")e.allowedHosts=[...e.allowedHosts??[],i];else if(s==="--workspace")e.workspaceRoots=[...e.workspaceRoots??[],i];else if(s==="--port"){if(!/^\d+$/u.test(i))throw new Error("--port \u5FC5\u987B\u662F 1 \u5230 65535 \u4E4B\u95F4\u7684\u6574\u6570");let d=Number(i);if(!Number.isInteger(d)||d<1||d>65535)throw new Error("--port \u5FC5\u987B\u662F 1 \u5230 65535 \u4E4B\u95F4\u7684\u6574\u6570");e.port=d;}else s==="--session-ttl"&&(e.sessionTtl=i);a+=1;}return e}function h(o,t){let n=[],e=(a,s)=>{s!==void 0&&s.trim()!==""&&n.push(a,s.trim());};e("--lan-password",t.CODEXLY_LAN_PASSWORD),e("--port",t.CODEXLY_PORT),e("--session-ttl",t.CODEXLY_SESSION_TTL),e("--workspace",t.CODEXLY_WORKSPACE);for(let a of t.CODEXLY_ALLOWED_HOSTS?.split(",")??[])e("--allowed-host",a);return {...c(n,new Set(["--allowed-host","--lan-password","--port","--session-ttl","--workspace"])),...o}}var m=new Set(["--allowed-host","--codex-bin","--codex-home","--lan-password","--port","--session-ttl","--workspace"]);function A(o,t){return h(c(o,m,new Set(["--lan","--no-open"])),t)}var x=16,g=128,b={d:1440*60*1e3,h:3600*1e3,m:6e4,ms:1,s:1e3},y=/^(?:awdl|br|bridge|ham|llw|lo|tap|tun|utun|vboxnet|veth|virbr|wg|zt)(?:\d|[-_.]|$)|(?:openvpn|tailscale|vethernet|virtualbox|vmnet|zerotier)/iu;function I(o){let t=/^(\d+)(ms|[smhd])$/u.exec(o);if(t===null)throw new Error("Invalid session TTL; use a positive integer followed by ms, s, m, h, or d");let n=BigInt(t[1]??"0"),e=t[2],r=n*BigInt(b[e]);if(r<=0n||r>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Invalid session TTL; duration must be a positive safe integer in milliseconds");return Number(r)}function P(o){if(!(o.length>=x&&o.length<=g&&/[A-Z]/u.test(o)&&/[a-z]/u.test(o)&&/[0-9]/u.test(o)))throw new Error("Invalid LAN password; expected 16 to 128 characters with uppercase, lowercase, and number")}function T(){return randomBytes(16).toString("base64url")}function S(o){if(isIP(o)!==4)return false;let[t=-1,n=-1]=o.split(".").map(Number);return t===10||t===172&&n>=16&&n<=31||t===192&&n===168}function C(o){return y.test(o)}function R(o,t=networkInterfaces()){let n=Object.entries(t).filter(([e])=>!C(e)).flatMap(([,e])=>e??[]).filter(e=>e.family==="IPv4"&&!e.internal&&S(e.address)).map(e=>e.address);return [...new Set(n)].sort((e,r)=>e.localeCompare(r,"en",{numeric:true})).map(e=>`http://${e}:${String(o)}`)}function D(){let o=new AbortController,t=()=>{o.abort();};return process.once("SIGINT",t),process.once("SIGTERM",t),{cleanup:()=>{process.off("SIGINT",t),process.off("SIGTERM",t);},signal:o.signal}}async function $(o){o.aborted||await new Promise(t=>{o.addEventListener("abort",()=>{t();},{once:true});});}var l={cyan:"\x1B[36m",green:"\x1B[32m",red:"\x1B[31m",reset:"\x1B[0m",yellow:"\x1B[33m"};function M(o,t,n){let e=(r,a)=>n?`${a}[${r}]${l.reset}`:`[${r}]`;return {error:r=>{t(`${e("\u9519\u8BEF",l.red)} ${r}
75
- `);},info:r=>{o(`${e("\u4FE1\u606F",l.cyan)} ${r}
76
- `);},plain:o,success:r=>{o(`${e("\u6210\u529F",l.green)} ${r}
77
- `);},warning:r=>{t(`${e("\u8B66\u544A",l.yellow)} ${r}
78
- `);}}}export{v as a,E as b,c,h as d,m as e,A as f,D as g,$ as h,M as i,I as j,P as k,T as l,R as m};
74
+ `};function f(o,t,r=new Set){let e={},s=new Set;for(let a=0;a<o.length;a+=1){let n=o[a];if(!n||!t.has(n)&&!r.has(n))throw new Error(`\u672A\u77E5\u9009\u9879: ${n??"<empty>"}`);let c=n==="--allowed-host"||n==="--workspace";if(s.has(n)&&!c)throw new Error(`\u9009\u9879\u91CD\u590D: ${n}`);if(s.add(n),r.has(n)){n==="--lan"?e.lan=true:n==="--no-open"?e.noOpen=true:n==="--now"&&(e.now=true);continue}let i=o[a+1];if(!i||i.startsWith("--"))throw new Error(`\u9009\u9879\u7F3A\u5C11\u503C: ${n}`);if(n==="--codex-bin")e.codexBin=i;else if(n==="--codex-home")e.codexHome=i;else if(n==="--lan-password")e.lanPassword=i;else if(n==="--allowed-host")e.allowedHosts=[...e.allowedHosts??[],i];else if(n==="--workspace")e.workspaceRoots=[...e.workspaceRoots??[],i];else if(n==="--port"){if(!/^\d+$/u.test(i))throw new Error("--port \u5FC5\u987B\u662F 1 \u5230 65535 \u4E4B\u95F4\u7684\u6574\u6570");let d=Number(i);if(!Number.isInteger(d)||d<1||d>65535)throw new Error("--port \u5FC5\u987B\u662F 1 \u5230 65535 \u4E4B\u95F4\u7684\u6574\u6570");e.port=d;}else n==="--session-ttl"&&(e.sessionTtl=i);a+=1;}return e}function C(o,t){let r=[],e=(a,n)=>{n!==void 0&&n.trim()!==""&&r.push(a,n.trim());};e("--lan-password",t.CODEXLY_LAN_PASSWORD),e("--port",t.CODEXLY_PORT),e("--session-ttl",t.CODEXLY_SESSION_TTL),e("--workspace",t.CODEXLY_WORKSPACE);for(let a of t.CODEXLY_ALLOWED_HOSTS?.split(",")??[])e("--allowed-host",a);return {...f(r,new Set(["--allowed-host","--lan-password","--port","--session-ttl","--workspace"])),...o}}var N=new Set(["--allowed-host","--codex-bin","--codex-home","--lan-password","--port","--session-ttl","--workspace"]);function G(o,t){return C(f(o,N,new Set(["--lan","--no-open"])),t)}var O=16,L=128,P={d:1440*60*1e3,h:3600*1e3,m:6e4,ms:1,s:1e3},A=/^(?:awdl|br|bridge|ham|llw|lo|tap|tun|utun|vboxnet|veth|virbr|wg|zt)(?:\d|[-_.]|$)|(?:openvpn|tailscale|vethernet|virtualbox|vmnet|zerotier)/iu;function V(o){let t=/^(\d+)(ms|[smhd])$/u.exec(o);if(t===null)throw new Error("Invalid session TTL; use a positive integer followed by ms, s, m, h, or d");let r=BigInt(t[1]??"0"),e=t[2],s=r*BigInt(P[e]);if(s<=0n||s>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("Invalid session TTL; duration must be a positive safe integer in milliseconds");return Number(s)}function z(o){if(!(o.length>=O&&o.length<=L&&/[A-Z]/u.test(o)&&/[a-z]/u.test(o)&&/[0-9]/u.test(o)))throw new Error("Invalid LAN password; expected 16 to 128 characters with uppercase, lowercase, and number")}function F(){return randomBytes(16).toString("base64url")}function T(o){if(isIP(o)!==4)return false;let[t=-1,r=-1]=o.split(".").map(Number);return t===10||t===172&&r>=16&&r<=31||t===192&&r===168}function R(o){return A.test(o)}function K(o,t=networkInterfaces()){let r=Object.entries(t).filter(([e])=>!R(e)).flatMap(([,e])=>e??[]).filter(e=>e.family==="IPv4"&&!e.internal&&T(e.address)).map(e=>e.address);return [...new Set(r)].sort((e,s)=>e.localeCompare(s,"en",{numeric:true})).map(e=>`http://${e}:${String(o)}`)}function Q(){let o=new AbortController,t=()=>{o.abort();};return process.once("SIGINT",t),process.once("SIGTERM",t),{cleanup:()=>{process.off("SIGINT",t),process.off("SIGTERM",t);},signal:o.signal}}async function ee(o){o.aborted||await new Promise(t=>{o.addEventListener("abort",()=>{t();},{once:true});});}var l={cyan:"\x1B[36m",green:"\x1B[32m",red:"\x1B[31m",reset:"\x1B[0m",yellow:"\x1B[33m"};function te(o,t,r){let e=(s,a)=>r?`${a}[${s}]${l.reset}`:`[${s}]`;return {error:s=>{t(`${e("\u9519\u8BEF",l.red)} ${s}
75
+ `);},info:s=>{o(`${e("\u4FE1\u606F",l.cyan)} ${s}
76
+ `);},plain:o,success:s=>{o(`${e("\u6210\u529F",l.green)} ${s}
77
+ `);},warning:s=>{t(`${e("\u8B66\u544A",l.yellow)} ${s}
78
+ `);}}}export{v as a,U as b,H as c,W as d,q as e,f,C as g,N as h,G as i,Q as j,ee as k,te as l,V as m,z as n,F as o,K as p};
@@ -1,2 +1,2 @@
1
- import {createRequire}from'node:module';import {C,D}from'./chunk-VBTBWY72.js';import {Nb,Qb,Lb,Sb,Tb}from'./chunk-S7LPESTQ.js';import {Buffer}from'buffer';import {randomUUID,createHash}from'crypto';import {rm,stat}from'fs/promises';import {join,isAbsolute,basename}from'path';import {openSync,readSync,closeSync,statSync}from'fs';import {availableParallelism}from'os';import {setTimeout as setTimeout$1}from'timers';import {Worker}from'worker_threads';createRequire(import.meta.url);
1
+ import {createRequire}from'node:module';import {C,D}from'./chunk-LZBJFLMK.js';import {Nb,Qb,Lb,Sb,Tb}from'./chunk-W4XMPSQ6.js';import {Buffer}from'buffer';import {randomUUID,createHash}from'crypto';import {rm,stat}from'fs/promises';import {join,isAbsolute,basename}from'path';import {openSync,readSync,closeSync,statSync}from'fs';import {availableParallelism}from'os';import {setTimeout as setTimeout$1}from'timers';import {Worker}from'worker_threads';createRequire(import.meta.url);
2
2
  var ne={".gif":"image/gif",".jpeg":"image/jpeg",".jpg":"image/jpeg",".png":"image/png",".webp":"image/webp"},w={"image/gif":".gif","image/jpeg":".jpg","image/png":".png","image/webp":".webp"};function c(a,e){let t=a?.trim();return t===void 0||t.length===0?e:t.slice(0,255)}function se(a){let e=openSync(a,"r");try{let t=Buffer.alloc(12),i=readSync(e,t,0,t.byteLength,0);return t.subarray(0,i)}finally{closeSync(e);}}function ae(a){let e=statSync(a);return {isFile:e.isFile(),mtimeMs:e.mtimeMs,size:e.size}}async function oe(a){let e=await stat(a);return {isFile:e.isFile(),mtimeMs:e.mtimeMs,size:e.size}}var h=class extends Error{},x=class extends Error{name="AttachmentQueueFullError"},M=class extends Error{name="AttachmentJobTimeoutError"},U=new C({maxCount:256,maxBytes:128*1024*1024,maxTaskCount:64,maxTaskBytes:64*1024*1024}),v=class{constructor(e=Math.min(2,Math.max(1,availableParallelism()-1)),t=new URL(typeof CODEXLY_COMPILED_ATTACHMENT_WORKER>"u"?"./historical-attachment-worker.js":CODEXLY_COMPILED_ATTACHMENT_WORKER,import.meta.url),i={}){this.concurrency=e;this.workerUrl=t;if(!Number.isSafeInteger(e)||e<=0)throw new RangeError("Invalid attachment worker budget");if(this.#c=i.budget??U,this.#r=i.timeoutMs??3e4,!Number.isSafeInteger(this.#r)||this.#r<=0)throw new RangeError("Invalid attachment worker deadline")}concurrency;workerUrl;#e=new Set;#t=[];#a=false;#c;#r;run(e,t={}){if(this.#a)return Promise.reject(new Error("Attachment worker pool is closed"));if(t.signal?.aborted)return Promise.reject(this.#n());let i=D(e,128*1024*1024),r=this.#c.reserve(t.taskKey??e.directory??"unscoped",i);return r===void 0?Promise.reject(new x("Attachment queue budget exceeded")):new Promise((n,o)=>{let s={job:e.operation==="persist"?{...e,temporaryName:`${randomUUID()}.tmp`}:e,taskKey:t.taskKey??e.directory??"unscoped",resolve:n,reject:o,release:r};s.timer=setTimeout(()=>{this.#m(s,new M("Attachment job deadline exceeded"));},this.#r),s.timer.unref(),t.signal!==void 0&&(s.signal=t.signal,s.abort=()=>{this.#m(s,this.#n());},t.signal.addEventListener("abort",s.abort,{once:true})),this.#t.push(s),this.#o();})}dispose(){this.#a=true;let e=new Error("Attachment worker pool is closed");for(let t of this.#t.splice(0))this.#i(t,e);for(let t of this.#e)this.#s(t,e);return Promise.all([...this.#e].map(t=>t.termination??Promise.resolve())).then(()=>{})}cancelTask(e){for(let i of [...this.#t])i.taskKey===e&&this.#m(i,this.#n());let t=[...this.#e].filter(i=>i.request?.taskKey===e);for(let i of t)this.#s(i,this.#n());return Promise.all(t.map(i=>i.termination??Promise.resolve())).then(()=>{})}#n(){let e=new Error("Attachment job canceled");return e.name="AbortError",e}#i(e,t,i){e.settled||(e.settled=true,clearTimeout(e.timer),e.abort!==void 0&&e.signal?.removeEventListener("abort",e.abort),e.release(),t!==void 0?e.reject(t):i!==void 0&&e.resolve(i));}#m(e,t){let i=this.#t.indexOf(e);if(i>=0){this.#t.splice(i,1),this.#i(e,t);return}let r=[...this.#e].find(n=>n.request===e);r!==void 0&&this.#s(r,t);}#o(){for(;!this.#a&&this.#t.length>0;){let e=[...this.#e].find(i=>i.request===void 0&&!i.stopping);if(e===void 0){if(this.#e.size>=this.concurrency)return;try{e=this.#d();}catch(i){let r=this.#t.shift();r!==void 0&&this.#i(r,i instanceof Error?i:new Error(String(i)));continue}}clearTimeout(e.idleTimer);let t=this.#t.shift();if(t===void 0)return;e.request=t,e.worker.ref();try{e.worker.postMessage(e.request.job);}catch(i){this.#s(e,i instanceof Error?i:new Error(String(i)));}}}#d(){let e={worker:new Worker(this.workerUrl)};return this.#e.add(e),e.worker.on("message",t=>{if(e.stopping||!this.#e.has(e))return;let i=e.request;delete e.request,i!==void 0&&(t.result!==void 0?this.#i(i,void 0,t.result):this.#i(i,t.invalid===true?new h(t.error):new Error(t.error??"Invalid attachment worker response")),e.worker.unref(),e.idleTimer=setTimeout$1(()=>{this.#s(e,new Error("Attachment worker idle"));},3e4),e.idleTimer.unref(),this.#o());}),e.worker.once("error",t=>{this.#s(e,t);}),e.worker.once("exit",t=>{this.#s(e,new Error(`Attachment worker exited: ${String(t)}`));}),e}#s(e,t){if(!this.#e.has(e)||e.stopping)return;e.stopping=true,clearTimeout(e.idleTimer);let i=e.request;i!==void 0&&(clearTimeout(i.timer),i.abort!==void 0&&i.signal?.removeEventListener("abort",i.abort),i.reject(t)),e.termination=e.worker.terminate().catch(()=>{}).then(()=>{this.#e.delete(e),delete e.request,i!==void 0&&(i.job.temporaryName!==void 0&&i.job.directory!==void 0&&rm(join(i.job.directory,i.job.temporaryName),{force:true}).catch(()=>{}),this.#i(i,t)),this.#o();});}},f=new v;var m=(a,e)=>JSON.stringify([a,e]),H=class{constructor(e){this.directory=e;}directory;#e=new Map;#t=new Map;#a=0;#c=false;#r=new Map;#n=new Map;async addDataUrl(e,t,i,r){if(t.url.length>Math.ceil(Nb*4/3)+64)return;let n=t.url.indexOf(","),o=t.url.slice(0,n),s=/^data:(image\/(?:gif|jpeg|png|webp));base64$/u.exec(o);if(s!==null)return this.#i(e,"image",s[1],c(t.name,`\u56FE\u7247-${String(i+1)}`),{type:"base64",value:t.url.slice(n+1)},void 0,r)}async addBase64Image(e,t,i,r){if(!(t.encoded.length>Math.ceil(Nb*4/3)+4))return this.#i(e,"image",void 0,n=>c(t.name,`\u751F\u6210\u56FE\u7247-${String(i+1)}${w[n]}`),{type:"base64",value:t.encoded},void 0,r)}async addStagedImage(e,t,i,r,n){if(t.size<=0||t.size>Nb)return;let o=await this.#i(e,"image",t.mediaType,c(r,`\u751F\u6210\u56FE\u7247-${String(i+1)}${w[t.mediaType]}`),{type:"file",path:t.path},t,n);return o!==void 0&&await rm(t.path,{force:true}).catch(()=>{}),o}async addLocalImage(e,t,i,r){if(isAbsolute(t))return this.#i(e,"image",void 0,c(basename(t),`\u56FE\u7247-${String(i+1)}`),{type:"file",path:t},void 0,r)}async addText(e,t,i,r){if(!(t.text.length>Qb))return this.#i(e,"text","text/plain",c(t.name,`Pasted text-${String(i+1)}.txt`),{type:"text",value:t.text},void 0,r)}async addLocalFile(e,t,i){if(isAbsolute(t.path))return this.#i(e,"file",t.mediaType,c(t.name,"Attachment"),{type:"file",path:t.path},void 0,i)}async restoreTask(e,t){this.clearTask(e);let i=this.#o(e);for(let r of t){if(!this.#m(e,i))return;await this.restoreAttachment(e,r);}}async restoreAttachment(e,t){if(this.#c||!/^[a-f0-9]{64}$/u.test(t.blobKey))return;let i=this.#o(e),r=this.#s(e,t.blobKey);try{let n=await stat(r);if(!this.#m(e,i)||this.#e.has(m(e,t.attachment.id))||!n.isFile()||n.size!==t.attachment.size)return;this.#u(t.attachment.size),this.#g({attachment:t.attachment,blobKey:t.blobKey,path:r,taskId:e});}catch{}}pendingMetadata(e){return [...this.#t.get(e)?.values()??[]]}markPersisted(e,t){let i=this.#t.get(e);i?.delete(t),i?.size===0&&this.#t.delete(e);}async read(e,t){let i=m(e,t),r=this.#e.get(i);if(r?.taskId===e)try{let n=await f.run({operation:"read",source:{type:"file",path:r.path},kind:r.attachment.kind,mediaType:r.attachment.mediaType,maxBytes:r.attachment.size,size:r.attachment.size,digest:r.blobKey},{taskKey:this.#d(e),signal:this.#o(e).signal});return this.#e.get(i)!==r||n.content===void 0?void 0:(this.#h(r),{...r.attachment,content:Buffer.from(n.content)})}catch(n){n instanceof h&&this.#e.get(i)===r&&(this.#l(i),await rm(r.path,{force:true}).catch(()=>{}));return}}clearTask(e){this.#r.get(e)?.abort(),this.#r.delete(e);for(let[t,i]of this.#e)i.taskId===e&&this.#l(t);this.#t.delete(e);}deleteTask(e){this.removeTask(e).catch(()=>{});}async removeTask(e){this.clearTask(e);let t=[...this.#n.get(e)??[]];await Promise.allSettled(t),await f.cancelTask(this.#d(e)),await rm(this.#d(e),{force:true,recursive:true});}dispose(){this.#c=true;for(let e of this.#r.values())e.abort();this.#r.clear(),this.#e.clear(),this.#t.clear(),this.#a=0;}async#i(e,t,i,r,n,o,s){if(this.#c||s?.aborted)return;let p=this.#o(e),O=t==="image"?Nb:t==="text"?Qb:Lb,y=f.run({operation:"persist",source:n,directory:this.#d(e),kind:t,maxBytes:O,...i===void 0?{}:{mediaType:i},...o===void 0?{}:{size:o.size,digest:o.contentDigest}},{taskKey:this.#d(e),signal:s===void 0?p.signal:AbortSignal.any([p.signal,s])}),l=this.#n.get(e)??new Set;l.add(y),this.#n.set(e,l);try{let d=await y;if(s?.aborted||!this.#m(e,p)||d.path===void 0)return;let E=typeof r=="string"?r:r(d.mediaType),b=`history-${createHash("sha256").update(JSON.stringify([e,t,d.mediaType,E,d.size,d.blobKey])).digest("hex")}`,A=this.#e.get(m(e,b));if(A!==void 0)return this.#h(A),A.attachment;let u={id:b,kind:t,mediaType:d.mediaType,name:E,size:d.size};this.#u(u.size),this.#g({attachment:u,blobKey:d.blobKey,path:d.path,taskId:e});let R=this.#t.get(e)??new Map;return R.set(b,{attachment:u,blobKey:d.blobKey,schemaVersion:1}),this.#t.set(e,R),u}catch{return}finally{l.delete(y),l.size===0&&this.#n.get(e)===l&&this.#n.delete(e);}}#m(e,t){return !this.#c&&this.#r.get(e)===t}#o(e){let t=this.#r.get(e)??new AbortController;return this.#r.set(e,t),t}#d(e){return join(this.directory,createHash("sha256").update(e).digest("hex"))}#s(e,t){return join(this.#d(e),t)}#g(e){this.#e.set(m(e.taskId,e.attachment.id),e),this.#a+=e.attachment.size;}#h(e){this.#e.delete(m(e.taskId,e.attachment.id)),this.#e.set(m(e.taskId,e.attachment.id),e);}#l(e){let t=this.#e.get(e);t!==void 0&&(this.#e.delete(e),this.#a-=t.attachment.size);}#u(e){for(;this.#e.size>=Sb||this.#a+e>Tb;){let t=this.#e.keys().next().value;if(t===void 0)return;this.#l(t);}}};export{ne as a,w as b,c,se as d,ae as e,oe as f,H as g};
@@ -1,8 +1,8 @@
1
1
  import {createRequire}from'node:module';import {Buffer}from'buffer';createRequire(import.meta.url);
2
- function S(t){if(t.provider!=="codex"&&t.provider!=="claude")throw new Error("Unsupported task engine");return {engine:t.provider,id:t.id,projectId:t.projectId??"temporary",title:t.title||"\u65B0\u804A\u5929",pinned:t.pinned,updatedAt:new Date(t.updatedAt*1e3).toISOString(),workspacePath:t.cwd}}var Q=class{constructor(e,n,r){this.scope=e;this.store=n;this.adapters=r;}scope;store;adapters;#n=new Map;#t=new Map;#r=new Map;#o(e){let n=this.adapters[e],r=typeof n=="function"?n():n,i=this.#r.get(e);return this.#t.size&&i?.adapter!==r&&(i?.dispose(),this.#r.set(e,{adapter:r,dispose:r.subscribeEvents(o=>{for(let[s,a]of this.#t)(!this.#n.has(o.taskId)||a)&&s({...o,provider:e});},{includeEphemeral:true})})),r}async#a(e){let n=await this.store.catalog("task.read",{id:e});if(!n||n.projectId!==(this.scope.kind==="temporary"?null:this.scope.id))throw new Error("Task not found in this project");return n}#i(e,n){return((...r)=>{let i=this.#o(e),o=i[n];if(typeof o!="function")throw new Error(`${e} does not support ${n}`);return Reflect.apply(o,i,r)})}async#e(e,n){let r=this.#n.get(e);if(r)return this.#i(r,n);let i=await this.#a(e);if(i.provider!=="codex"&&i.provider!=="claude")throw new Error("Unsupported task engine");return this.#i(i.provider,n)}async startTask(e={}){let n=e.engine??"codex",r=await this.#i(n,"startTask")(e);return e.ephemeral&&this.#n.set(r.id,n),r}getCapabilities(e="codex"){return this.#i(e,"getCapabilities")()}listModels(e="codex"){return this.#i(e,"listModels")()}listSkills(e="codex"){return this.#i(e,"listSkills")()}readSandboxMode(){return this.#i("codex","readSandboxMode")()}async readTaskMetadata(e){let n=await this.store.catalog("task.read",{id:e});return n?.projectId===(this.scope.kind==="temporary"?null:this.scope.id)?S(n):void 0}async listTasks(e={}){let n=await this.store.catalog("task.list",{projectId:this.scope.kind==="temporary"?null:this.scope.id,...e.archived?{archived:true}:{},...e.completed?{completed:true}:{},...e.pinnedOnly?{pinned:true}:{},...e.cursor?{cursor:e.cursor}:{},...e.limit?{limit:e.limit}:{},...e.searchTerm?{searchTerm:e.searchTerm}:{}});return {...n,data:n.data.map(S)}}subscribeEvents(e,n){this.#t.set(e,n?.includeEphemeral===true);try{this.#o("codex"),this.#o("claude");}catch(r){throw this.#t.delete(e),this.#s(),r}return ()=>{this.#t.delete(e),this.#s();}}#s(){if(!this.#t.size){for(let e of this.#r.values())e.dispose();this.#r.clear();}}async updateTaskPermissionMode(e,n){return (await this.#e(e,"updateTaskPermissionMode"))(e,n)}async readTask(...e){return (await this.#e(e[0],"readTask"))(e[0],e[1])}async startTurn(...e){return (await this.#e(e[0],"startTurn"))(...e)}async stopSession(e,n){return (await this.#e(e,"stopSession"))(e,n)}async interruptTurn(...e){return (await this.#e(e[0],"interruptTurn"))(...e)}async resolvePendingRequest(...e){return (await this.#e(e[0].taskId,"resolvePendingRequest"))(...e)}async archiveTask(...e){return (await this.#e(e[0],"archiveTask"))(...e)}async unarchiveTask(...e){return (await this.#e(e[0],"unarchiveTask"))(...e)}async deleteTask(...e){return (await this.#e(e[0],"deleteTask"))(...e)}async renameTask(...e){return (await this.#e(e[0],"renameTask"))(...e)}async pinTask(...e){return (await this.#e(e[0],"pinTask"))(...e)}async forkTask(...e){return (await this.#e(e[0],"forkTask"))(...e)}async compactTask(...e){return (await this.#e(e[0],"compactTask"))(...e)}async clearGoal(...e){return (await this.#e(e[0],"clearGoal"))(...e)}async readGoal(...e){return (await this.#e(e[0],"readGoal"))(...e)}async updateGoal(...e){return (await this.#e(e[0],"updateGoal"))(...e)}async listMcpServers(...e){return (await this.#e(e[0],"listMcpServers"))(...e)}async listBackgroundTerminals(...e){return (await this.#e(e[0],"listBackgroundTerminals"))(...e)}async readTaskAttachment(...e){return (await this.#e(e[0],"readTaskAttachment"))(...e)}async reloadMcpServers(...e){return (await this.#e(e[0],"reloadMcpServers"))(...e)}async startReview(...e){return (await this.#e(e[0],"startReview"))(...e)}async steerTurn(...e){return (await this.#e(e[0],"steerTurn"))(...e)}async updateTurnApprovalsReviewer(...e){return (await this.#e(e[0],"updateTurnApprovalsReviewer"))(...e)}async terminateBackgroundTerminal(...e){return (await this.#e(e[0],"terminateBackgroundTerminal"))(...e)}async unsubscribeTask(...e){try{return await(await this.#e(e[0],"unsubscribeTask"))(...e)}finally{this.#n.delete(e[0]);}}async uploadFeedback(...e){return (await this.#e(e[0],"uploadFeedback"))(...e)}};function k(t){if(t?.aborted)throw new DOMException("Search cancelled","AbortError")}function $(t){let e=t.trim();if(!e||e.length>1024)throw new Error("Invalid search query");return e}function J(t){if(t.cursor===void 0)return;let e=JSON.parse(t.cursor);if(t.cursor.length>8192||e.version!==1||e.query!==t.query||e.kind!==t.kind||e.archived!==t.archived||e.engines!==(t.engines??"codex,claude")||typeof e.catalog!="string")throw new Error("Invalid search cursor");return e.catalog}var G=class{constructor(e,n){this.store=e;this.occurrences=n;}store;occurrences;async searchTasks(e,n,r){let i=e;for(;;){let o=await this.#n(i,n,r);if(o.data.length||o.unavailableEngines?.length||o.nextCursor===null)return o;if(o.nextCursor===i.cursor)throw new Error("Repeated search cursor");i={...e,cursor:o.nextCursor};}}async#n(e,n,r){k(r);let i=$(e.query),o=J(e),s=await this.store.catalog("task.list",{archived:e.archived,...e.engines===void 0?{}:{providers:e.engines.split(",")},limit:e.kind==="history"?10:30,...o===void 0?{}:{cursor:o},...e.kind==="tasks"?{searchTerm:i}:{}});k(r);let a=new Array(s.data.length),c=new Set,d=s.data.entries();return await Promise.all(Array.from({length:Math.min(4,s.data.length)},async()=>{for(let[l,u]of d){if(k(r),!n.some(p=>u.projectId===(p.kind==="temporary"?null:p.id))||u.provider!=="codex"&&u.provider!=="claude")continue;let P=S(u);if(e.kind==="tasks"){a[l]={task:P,snippet:""};continue}try{let m=(await this.occurrences(u,{query:i},r,1)).data[0];m&&(a[l]={task:P,snippet:m.snippet,occurrence:m});}catch(p){if(k(r),p instanceof Error&&p.name==="AbortError")throw p;c.add(u.provider);}}})),k(r),{data:a.filter(l=>l!==void 0),...c.size?{unavailableEngines:[...c].sort()}:{},nextCursor:s.nextCursor===null?null:JSON.stringify({version:1,query:e.query,kind:e.kind,archived:e.archived,engines:e.engines??"codex,claude",catalog:s.nextCursor})}}async searchTaskOccurrences(e,n,r,i){k(i),$(n.query);let o=await this.store.catalog("task.read",{id:e});if(k(i),!o||o.projectId!==(r.kind==="temporary"?null:r.id))throw new Error("Search task does not belong to the requested project");return this.occurrences(o,n,i)}};function*te(t,e){let n=t.toLowerCase(),r=t[Symbol.iterator](),i=0,o=0,s=0,a=l=>{for(;i<=l;){let u=r.next().value;if(u===void 0)throw new Error("Search text range is invalid");o=s,s+=u.length,i+=u.toLowerCase().length;}return {start:o,end:s}},c=e.toLowerCase(),d=n.indexOf(c);for(;d>=0;)yield {start:a(d).start,end:a(d+c.length-1).end},d=n.indexOf(c,d+c.length);}function ne(t,e,n){let r=e,i=n;for(let c=0;c<48&&r>0;c+=1){r-=1;let d=t.charCodeAt(r);r>0&&d>=56320&&d<=57343&&(r-=1);}for(let c=0;c<96&&i<t.length;c+=1)i+=(t.codePointAt(i)??0)>65535?2:1;let o=t.slice(r,e),s=t.slice(n,i),a=o.length<e?"\u2026":"";return {snippet:a+o+t.slice(e,n)+s+(n+s.length<t.length?"\u2026":""),snippetMatchRange:{start:a.length+o.length,end:a.length+o.length+n-e}}}var F=class extends Error{constructor(n,r){super(r);this.code=n;this.name="WorkbenchPetProviderError";}code},D=class extends Error{constructor(n,r){super(r);this.code=n;this.name="PendingRequestResolutionError";}code};var M=class extends Error{constructor(n,r){super(r);this.code=n;}code};async function be(t,e,n,r,i,o){let s=await t.readSubmission(e,n);if(s!==void 0&&s.fingerprint!==r)throw new M("IDEMPOTENCY_CONFLICT","Submission key was used with another request");if(s?.stage==="creating"||s?.stage==="starting")throw new M("SUBMISSION_OUTCOME_UNKNOWN","Submission outcome is unknown; inspect the task before submitting again");if(s?.stage==="completed"&&s.result!==void 0)return s.result;let a=async d=>{await t.writeSubmission(e,n,d),s=d;};if(s?.stage!=="started"){if(await o.validate(),i.taskId===void 0&&s?.task===void 0){await a({fingerprint:r,stage:"creating"});let p=await o.createTask();await a({fingerprint:r,stage:"ready",task:p});}let d=s?.task,l=i.taskId??d?.id;if(l===void 0)throw new Error("Submission task is unavailable");let u=await o.prepare(l);await a({fingerprint:r,stage:"starting",attachmentIds:u,...d===void 0?{}:{task:d}});let P={...await o.execute(l),...d===void 0?{}:{createdTask:d}};await a({fingerprint:r,stage:"started",result:P,attachmentIds:u,...d===void 0?{}:{task:d}});}let c=s?.result;if(c===void 0)throw new Error("Submission result is unavailable");return await o.complete(c,s?.attachmentIds??[]),await a({...s,fingerprint:r,stage:"completed",result:c}),c}var O=class extends Error{constructor(n,r){super(r);this.code=n;}code};async function Se(t,e,n,r,i,o,s){let a=(await t.listProjectTodos(e)).find(l=>l.id===n);if(i!==null&&a===void 0)throw new O("PROJECT_TODO_NOT_FOUND","Project todo not found");if((a?.version??null)!==i)throw new O("PROJECT_TODO_CHANGED","Project todo changed");let c={id:n,projectId:e,draft:r,createdAt:a?.createdAt??o,updatedAt:o,version:(a?.version??0)+1},d=await s();return await t.saveProjectTodo(c,i,d),c}var U=t=>JSON.stringify(t.map(({title:e,options:n})=>({title:e,options:n})));function Re(t,e){return t.flatMap(n=>{let r=new Map;return n.items.flatMap(i=>{if(i.type!=="message"||i.role!=="assistant"||!i.questions?.length)return [];let o=i.questions.map(({title:c,options:d})=>({title:c,options:d})),s=U(o),a=r.get(s)??0;return r.set(s,a+1),[{id:e(JSON.stringify([n.id,s,a])),turnId:n.id,questions:o,createdAt:n.startedAt??"1970-01-01T00:00:00.000Z",status:"pending"}]})})}function Ce(t,e){if(e.length!==t.length||e.some(r=>r.trim().length===0||r.length>4e3))throw new Error("Invalid question answers");let n=t.map((r,i)=>`${r.title}
2
+ function S(t){if(t.provider!=="codex"&&t.provider!=="claude")throw new Error("Unsupported task engine");return {engine:t.provider,id:t.id,projectId:t.projectId??"temporary",title:t.title||(t.preview??"\u65B0\u804A\u5929"),pinned:t.pinned,updatedAt:new Date(t.updatedAt*1e3).toISOString(),workspacePath:t.cwd}}var Q=class{constructor(e,n,r){this.scope=e;this.store=n;this.adapters=r;}scope;store;adapters;#t=new Map;#n=new Map;#r=new Map;#o(e){let n=this.adapters[e],r=typeof n=="function"?n():n,i=this.#r.get(e);return this.#n.size&&i?.adapter!==r&&(i?.dispose(),this.#r.set(e,{adapter:r,dispose:r.subscribeEvents(o=>{for(let[s,a]of this.#n)(!this.#t.has(o.taskId)||a)&&s({...o,provider:e});},{includeEphemeral:true})})),r}async#s(e){let n=await this.store.catalog("task.read",{id:e});if(!n||n.projectId!==(this.scope.kind==="temporary"?null:this.scope.id))throw new Error("Task not found in this project");return n}#i(e,n){return((...r)=>{let i=this.#o(e),o=i[n];if(typeof o!="function")throw new Error(`${e} does not support ${n}`);return Reflect.apply(o,i,r)})}async#e(e,n){let r=this.#t.get(e);if(r)return this.#i(r,n);let i=await this.#s(e);if(i.provider!=="codex"&&i.provider!=="claude")throw new Error("Unsupported task engine");return this.#i(i.provider,n)}async startTask(e={}){let n=e.engine??"codex",r=await this.#i(n,"startTask")(e);return e.ephemeral&&this.#t.set(r.id,n),r}getCapabilities(e="codex"){return this.#i(e,"getCapabilities")()}listModels(e="codex"){return this.#i(e,"listModels")()}listSkills(e="codex"){return this.#i(e,"listSkills")()}readSandboxMode(){return this.#i("codex","readSandboxMode")()}async readTaskMetadata(e){let n=await this.store.catalog("task.read",{id:e});return n?.projectId===(this.scope.kind==="temporary"?null:this.scope.id)?S(n):void 0}async listTasks(e={}){let n=await this.store.catalog("task.list",{projectId:this.scope.kind==="temporary"?null:this.scope.id,...e.archived?{archived:true}:{},...e.completed?{completed:true}:{},...e.pinnedOnly?{pinned:true}:{},...e.cursor?{cursor:e.cursor}:{},...e.limit?{limit:e.limit}:{},...e.searchTerm?{searchTerm:e.searchTerm}:{}});return {...n,data:n.data.map(S)}}subscribeEvents(e,n){this.#n.set(e,n?.includeEphemeral===true);try{this.#o("codex"),this.#o("claude");}catch(r){throw this.#n.delete(e),this.#a(),r}return ()=>{this.#n.delete(e),this.#a();}}#a(){if(!this.#n.size){for(let e of this.#r.values())e.dispose();this.#r.clear();}}async updateTaskPermissionMode(e,n){return (await this.#e(e,"updateTaskPermissionMode"))(e,n)}async readTask(...e){return (await this.#e(e[0],"readTask"))(e[0],e[1])}async startTurn(...e){if(this.#t.has(e[0]))return (await this.#e(e[0],"startTurn"))(...e);let n=await this.#s(e[0]);if(n.provider!=="codex"&&n.provider!=="claude")throw new Error("Unsupported task engine");if(n.provider==="codex"&&!n.title&&!n.preview){let r=e[1],i=r.text.trim()||([...r.skills,...r.files,...r.textAttachments].map(o=>o.name.trim()).find(Boolean)??(r.images.length?"\u56FE\u7247\u4EFB\u52A1":""));i&&await this.store.catalog("task.preview",{id:n.id,preview:i.slice(0,2048)});}return this.#i(n.provider,"startTurn")(...e)}async stopSession(e,n){return (await this.#e(e,"stopSession"))(e,n)}async interruptTurn(...e){return (await this.#e(e[0],"interruptTurn"))(...e)}async resolvePendingRequest(...e){return (await this.#e(e[0].taskId,"resolvePendingRequest"))(...e)}async archiveTask(...e){return (await this.#e(e[0],"archiveTask"))(...e)}async unarchiveTask(...e){return (await this.#e(e[0],"unarchiveTask"))(...e)}async deleteTask(...e){return (await this.#e(e[0],"deleteTask"))(...e)}async renameTask(...e){return (await this.#e(e[0],"renameTask"))(...e)}async pinTask(...e){return (await this.#e(e[0],"pinTask"))(...e)}async forkTask(...e){return (await this.#e(e[0],"forkTask"))(...e)}async compactTask(...e){return (await this.#e(e[0],"compactTask"))(...e)}async clearGoal(...e){return (await this.#e(e[0],"clearGoal"))(...e)}async readGoal(...e){return (await this.#e(e[0],"readGoal"))(...e)}async updateGoal(...e){return (await this.#e(e[0],"updateGoal"))(...e)}async listMcpServers(...e){return (await this.#e(e[0],"listMcpServers"))(...e)}async listBackgroundTerminals(...e){return (await this.#e(e[0],"listBackgroundTerminals"))(...e)}async readTaskAttachment(...e){return (await this.#e(e[0],"readTaskAttachment"))(...e)}async reloadMcpServers(...e){return (await this.#e(e[0],"reloadMcpServers"))(...e)}async startReview(...e){return (await this.#e(e[0],"startReview"))(...e)}async steerTurn(...e){return (await this.#e(e[0],"steerTurn"))(...e)}async updateTurnApprovalsReviewer(...e){return (await this.#e(e[0],"updateTurnApprovalsReviewer"))(...e)}async terminateBackgroundTerminal(...e){return (await this.#e(e[0],"terminateBackgroundTerminal"))(...e)}async unsubscribeTask(...e){try{return await(await this.#e(e[0],"unsubscribeTask"))(...e)}finally{this.#t.delete(e[0]);}}async uploadFeedback(...e){return (await this.#e(e[0],"uploadFeedback"))(...e)}};function k(t){if(t?.aborted)throw new DOMException("Search cancelled","AbortError")}function $(t){let e=t.trim();if(!e||e.length>1024)throw new Error("Invalid search query");return e}function J(t){if(t.cursor===void 0)return;let e=JSON.parse(t.cursor);if(t.cursor.length>8192||e.version!==1||e.query!==t.query||e.kind!==t.kind||e.archived!==t.archived||e.engines!==(t.engines??"codex,claude")||typeof e.catalog!="string")throw new Error("Invalid search cursor");return e.catalog}var G=class{constructor(e,n){this.store=e;this.occurrences=n;}store;occurrences;async searchTasks(e,n,r){let i=e;for(;;){let o=await this.#t(i,n,r);if(o.data.length||o.unavailableEngines?.length||o.nextCursor===null)return o;if(o.nextCursor===i.cursor)throw new Error("Repeated search cursor");i={...e,cursor:o.nextCursor};}}async#t(e,n,r){k(r);let i=$(e.query),o=J(e),s=await this.store.catalog("task.list",{archived:e.archived,...e.engines===void 0?{}:{providers:e.engines.split(",")},limit:e.kind==="history"?10:30,...o===void 0?{}:{cursor:o},...e.kind==="tasks"?{searchTerm:i}:{}});k(r);let a=new Array(s.data.length),c=new Set,d=s.data.entries();return await Promise.all(Array.from({length:Math.min(4,s.data.length)},async()=>{for(let[l,u]of d){if(k(r),!n.some(p=>u.projectId===(p.kind==="temporary"?null:p.id))||u.provider!=="codex"&&u.provider!=="claude")continue;let P=S(u);if(e.kind==="tasks"){a[l]={task:P,snippet:""};continue}try{let m=(await this.occurrences(u,{query:i},r,1)).data[0];m&&(a[l]={task:P,snippet:m.snippet,occurrence:m});}catch(p){if(k(r),p instanceof Error&&p.name==="AbortError")throw p;c.add(u.provider);}}})),k(r),{data:a.filter(l=>l!==void 0),...c.size?{unavailableEngines:[...c].sort()}:{},nextCursor:s.nextCursor===null?null:JSON.stringify({version:1,query:e.query,kind:e.kind,archived:e.archived,engines:e.engines??"codex,claude",catalog:s.nextCursor})}}async searchTaskOccurrences(e,n,r,i){k(i),$(n.query);let o=await this.store.catalog("task.read",{id:e});if(k(i),!o||o.projectId!==(r.kind==="temporary"?null:r.id))throw new Error("Search task does not belong to the requested project");return this.occurrences(o,n,i)}};function*te(t,e){let n=t.toLowerCase(),r=t[Symbol.iterator](),i=0,o=0,s=0,a=l=>{for(;i<=l;){let u=r.next().value;if(u===void 0)throw new Error("Search text range is invalid");o=s,s+=u.length,i+=u.toLowerCase().length;}return {start:o,end:s}},c=e.toLowerCase(),d=n.indexOf(c);for(;d>=0;)yield {start:a(d).start,end:a(d+c.length-1).end},d=n.indexOf(c,d+c.length);}function ne(t,e,n){let r=e,i=n;for(let c=0;c<48&&r>0;c+=1){r-=1;let d=t.charCodeAt(r);r>0&&d>=56320&&d<=57343&&(r-=1);}for(let c=0;c<96&&i<t.length;c+=1)i+=(t.codePointAt(i)??0)>65535?2:1;let o=t.slice(r,e),s=t.slice(n,i),a=o.length<e?"\u2026":"";return {snippet:a+o+t.slice(e,n)+s+(n+s.length<t.length?"\u2026":""),snippetMatchRange:{start:a.length+o.length,end:a.length+o.length+n-e}}}var F=class extends Error{constructor(n,r){super(r);this.code=n;this.name="WorkbenchPetProviderError";}code},D=class extends Error{constructor(n,r){super(r);this.code=n;this.name="PendingRequestResolutionError";}code};var M=class extends Error{constructor(n,r){super(r);this.code=n;}code};async function we(t,e,n,r,i,o){let s=await t.readSubmission(e,n);if(s!==void 0&&s.fingerprint!==r)throw new M("IDEMPOTENCY_CONFLICT","Submission key was used with another request");if(s?.stage==="creating"||s?.stage==="starting")throw new M("SUBMISSION_OUTCOME_UNKNOWN","Submission outcome is unknown; inspect the task before submitting again");if(s?.stage==="completed"&&s.result!==void 0)return s.result;let a=async d=>{await t.writeSubmission(e,n,d),s=d;};if(s?.stage!=="started"){if(await o.validate(),i.taskId===void 0&&s?.task===void 0){await a({fingerprint:r,stage:"creating"});let p=await o.createTask();await a({fingerprint:r,stage:"ready",task:p});}let d=s?.task,l=i.taskId??d?.id;if(l===void 0)throw new Error("Submission task is unavailable");let u=await o.prepare(l);await a({fingerprint:r,stage:"starting",attachmentIds:u,...d===void 0?{}:{task:d}});let P={...await o.execute(l),...d===void 0?{}:{createdTask:d}};await a({fingerprint:r,stage:"started",result:P,attachmentIds:u,...d===void 0?{}:{task:d}});}let c=s?.result;if(c===void 0)throw new Error("Submission result is unavailable");return await o.complete(c,s?.attachmentIds??[]),await a({...s,fingerprint:r,stage:"completed",result:c}),c}var O=class extends Error{constructor(n,r){super(r);this.code=n;}code};async function Se(t,e,n,r,i,o,s){let a=(await t.listProjectTodos(e)).find(l=>l.id===n);if(i!==null&&a===void 0)throw new O("PROJECT_TODO_NOT_FOUND","Project todo not found");if((a?.version??null)!==i)throw new O("PROJECT_TODO_CHANGED","Project todo changed");let c={id:n,projectId:e,draft:r,createdAt:a?.createdAt??o,updatedAt:o,version:(a?.version??0)+1},d=await s();return await t.saveProjectTodo(c,i,d),c}var U=t=>JSON.stringify(t.map(({title:e,options:n})=>({title:e,options:n})));function Re(t,e){return t.flatMap(n=>{let r=new Map;return n.items.flatMap(i=>{if(i.type!=="message"||i.role!=="assistant"||!i.questions?.length)return [];let o=i.questions.map(({title:c,options:d})=>({title:c,options:d})),s=U(o),a=r.get(s)??0;return r.set(s,a+1),[{id:e(JSON.stringify([n.id,s,a])),turnId:n.id,questions:o,createdAt:n.startedAt??"1970-01-01T00:00:00.000Z",status:"pending"}]})})}function Ce(t,e){if(e.length!==t.length||e.some(r=>r.trim().length===0||r.length>4e3))throw new Error("Invalid question answers");let n=t.map((r,i)=>`${r.title}
3
3
  ${e[i]?.trim()??""}`).join(`
4
4
 
5
- `);if(n.length>1e5)throw new Error("Invalid question answers");return n}function Ee(t,e){let n=new Map,r=t.turns;for(let i of e){let o=U(i.group.questions),s=JSON.stringify([i.group.turnId,o]),a=n.get(s)??0;n.set(s,a+1);let c=i.result;if(i.group.status!=="answered"||c===void 0||c.turn!==null)continue;let d=r.findIndex(f=>f.id===c.turnId),l=r[d];if(d<0||l===void 0)continue;let P=l.items.flatMap((f,A)=>f.type==="message"&&f.role==="assistant"&&U(f.questions??[])===o?[A]:[])[a];if(P===void 0||l.items.slice(P+1).some(f=>f.type==="message"&&f.role==="user"&&f.text===c.input.text))continue;let m=[...l.items];m.splice(P+1,0,{id:c.messageId,role:"user",text:c.input.text,type:"message"}),r=r.map((f,A)=>A===d?{...l,items:m}:f);}return r===t.turns?t:{...t,turns:r}}async function Me(t,e){let n=new Set,r=new Set,i;for(;;){if(r.size>=1e3)throw new Error("Archived task pagination exceeds the page limit");let c=await t.listTasks({archived:true,limit:100,...i===void 0?{}:{cursor:i}});for(let d of c.data){if(d.projectId!==e)throw new Error("Archived task listing crossed its scope");if(n.add(d.id),n.size>1e4)throw new Error("Archived task deletion exceeds the 10000 task limit")}if(c.nextCursor===null)break;if(r.has(c.nextCursor))throw new Error("Archived task pagination returned a repeated cursor");r.add(c.nextCursor),i=c.nextCursor;}let o=[...n],s=0,a=0;for(let c=0;c<o.length;c+=4){let d=await Promise.allSettled(o.slice(c,c+4).map(async l=>{if((await(t.readTaskMetadata?.(l)??t.readTask(l)))?.projectId!==e)throw new Error("Archived task is no longer in scope");await t.deleteTask(l);}));for(let l of d)l.status==="fulfilled"?s++:a++;}return {deletedCount:s,failedCount:a}}async function je(t,e,n={}){let r=new Map,i=new Set,o;for(;;){if(i.size>=1e3)throw new Error("Task catalog pagination exceeds the page limit");let s=await t.listTasks({limit:100,...n.pinned===true?{pinnedOnly:true}:{},...o===void 0?{}:{cursor:o}});for(let a of s.data){if(a.projectId!==e)throw new Error("Task catalog crossed its scope");if(r.has(a.id)||r.set(a.id,a),r.size>1e4)throw new Error("Task catalog exceeds the 10000 task limit")}if(s.nextCursor===null)return {data:[...r.values()]};if(i.has(s.nextCursor))throw new Error("Task catalog returned a repeated cursor");i.add(s.nextCursor),o=s.nextCursor;}}var j=class extends Error{};async function Ne(t,e){let{projectIds:n,cursor:r}=e,i=new Set(n);if(i.size!==n.length||i.size>100)throw new j("Invalid completed task scopes");if(r!==void 0&&(Object.keys(r).length!==i.size||Object.keys(r).some(d=>!i.has(d))))throw new j("Completed task cursor does not match its scopes");let o=n.filter(d=>r===void 0||r[d]!==null),s=Math.max(1,Math.ceil(10/Math.max(1,o.length))),a=Object.fromEntries(n.map(d=>[d,null])),c=new Map;for(let d=0;d<o.length;d+=4){let l=await Promise.all(o.slice(d,d+4).map(async u=>{let P=await t(u),p=r?.[u],m=await P.listTasks({completed:true,limit:s,...typeof p=="string"?{cursor:p}:{}});if(m.data.length>s)throw new Error("Completed task page exceeds its limit");if(m.nextCursor!==null&&m.nextCursor===p)throw new Error("Completed task page returned a repeated cursor");for(let f of m.data)if(f.projectId!==u)throw new Error("Completed task page crossed its scope");return {id:u,page:m}}));for(let{id:u,page:P}of l){a[u]=P.nextCursor;for(let p of P.data){let m=JSON.stringify([u,p.id]);c.has(m)||c.set(m,p);}}}return {data:[...c.values()].sort((d,l)=>Date.parse(l.updatedAt)-Date.parse(d.updatedAt)),nextCursor:Object.values(a).some(d=>d!==null)?a:null}}function Qe(t){return t.data.some(e=>e.supportedReasoningEfforts.length===0&&e.defaultReasoningEffort!=="")?{...t,data:t.data.map(e=>e.supportedReasoningEfforts.length===0?{...e,defaultReasoningEffort:""}:e)}:t}var g=class extends Error{};function x(t,e){if(t===null||typeof t!="object"||Array.isArray(t))throw new g(`${e} must be an object`);return t}function h(t,e){if(typeof t!="string")throw new g(`${e} must be a string`);return t}function re(t,e){if(typeof t!="boolean")throw new g(`${e} must be a boolean`);return t}function ie(t,e){let n=h(t,e);if(n.length===0)throw new g(`${e} must not be empty`);return n}function z(t,e){return t===void 0?null:h(t,e)}function _(t,e){if(t===void 0)return null;if(typeof t!="number"||!Number.isFinite(t))throw new g(`${e} must be a finite number`);return t}function q(t,e){if(t===void 0)return null;if(!Number.isInteger(t)||Number(t)<0)throw new g(`${e} must be a non-negative integer`);return Number(t)}function oe(t,e){if(t===void 0)return new Set;if(!Array.isArray(t))throw new g("MCP elicitation required must be an array");let n=new Set(t.map(r=>h(r,"MCP elicitation required property")));if(n.size!==t.length||[...n].some(r=>!e.has(r)))throw new g("MCP elicitation required properties are invalid");return n}function K(t,e){if(!Array.isArray(t)||t.length===0)throw new g(`${e} must contain options`);let n=t.map(r=>{let i=x(r,`${e} option`);return {label:ie(i.title,`${e} option title`),value:h(i.const,`${e} option value`)}});if(new Set(n.map(r=>r.value)).size!==n.length)throw new g(`${e} option values must be unique`);return n}function se(t,e,n){if(!Array.isArray(t)||t.length===0)throw new g(`${n} must contain options`);let r=t.map(o=>h(o,`${n} value`)),i=e===void 0?r:Array.isArray(e)&&e.length===r.length?e.map(o=>h(o,`${n} name`)):void 0;if(i===void 0||new Set(r).size!==r.length)throw new g(`${n} options are invalid`);return r.map((o,s)=>({label:i[s]??o,value:o}))}function H(t,e){return t.oneOf!==void 0?K(t.oneOf,e):t.anyOf!==void 0?K(t.anyOf,e):t.enum!==void 0?se(t.enum,t.enumNames,e):null}function N(t,e,n){return {description:z(e.description,`MCP elicitation ${t} description`),id:t,required:n.has(t),title:z(e.title,`MCP elicitation ${t} title`)??t}}function V(t,e,n){let r=z(t,n);if(r!==null&&e!==null&&!e.some(i=>i.value===r))throw new g(`${n} is not an available option`);return r}function ae(t,e,n){let r=N(t,e,n),i=H(e,`MCP elicitation ${t}`);if(i!==null)return {...r,defaultValue:V(e.default,i,`MCP elicitation ${t} default`),options:i,type:"select"};let o=e.format??null;if(o!==null&&o!=="email"&&o!=="uri"&&o!=="date"&&o!=="date-time")throw new g(`MCP elicitation ${t} format is invalid`);return {...r,defaultValue:V(e.default,null,`MCP elicitation ${t} default`),format:o,maxLength:q(e.maxLength,`MCP elicitation ${t} maxLength`),minLength:q(e.minLength,`MCP elicitation ${t} minLength`),type:"string"}}function de(t,e,n){let r=x(e.items,`MCP elicitation ${t} items`),i=H(r,`MCP elicitation ${t} items`);if(i===null)throw new g(`MCP elicitation ${t} items must contain options`);let o=e.default??[];if(!Array.isArray(o)||o.some(a=>typeof a!="string"||!i.some(c=>c.value===a)))throw new g(`MCP elicitation ${t} default is invalid`);let s=o.map(a=>h(a,`MCP elicitation ${t} default entry`));return {...N(t,e,n),defaultValue:s,maximum:q(e.maxItems,`MCP elicitation ${t} maxItems`),minimum:q(e.minItems,`MCP elicitation ${t} minItems`),options:i,type:"multi_select"}}function ce(t,e,n){if(t.length===0)throw new g("MCP elicitation property id must not be empty");let r=x(e,`MCP elicitation ${t} schema`),i=h(r.type,`MCP elicitation ${t} type`);if(i==="string")return ae(t,r,n);if(i==="array")return de(t,r,n);if(i==="boolean"){let o=r.default;return {...N(t,r,n),defaultValue:o===void 0?null:re(o,`MCP elicitation ${t} default`),type:i}}if(i==="number"||i==="integer"){let o=_(r.default,`MCP elicitation ${t} default`);if(i==="integer"&&o!==null&&!Number.isInteger(o))throw new g(`MCP elicitation ${t} default must be an integer`);return {...N(t,r,n),defaultValue:o,maximum:_(r.maximum,`MCP elicitation ${t} maximum`),minimum:_(r.minimum,`MCP elicitation ${t} minimum`),type:i}}throw new g(`MCP elicitation ${t} type is unsupported`)}function Ge(t){let e=x(t,"MCP elicitation requestedSchema");if(e.type!=="object")throw new g("MCP elicitation requestedSchema must be an object");let n=x(e.properties,"MCP elicitation properties"),r=oe(e.required,new Set(Object.keys(n)));return Object.entries(n).map(([i,o])=>ce(i,o,r))}function Fe(t){let e=h(t,"MCP elicitation URL"),n;try{n=new URL(e);}catch{throw new g("MCP elicitation URL is invalid")}if(n.protocol!=="https:"&&n.protocol!=="http:")throw new g("MCP elicitation URL protocol is unsupported");return e}function le(t,e){if(e===null)return true;if(e==="email")return /^[^\s@]+@[^\s@]+\.[^\s@]+$/u.test(t);if(e==="date")return /^\d{4}-\d{2}-\d{2}$/u.test(t)&&!Number.isNaN(Date.parse(t));if(e==="date-time")return !Number.isNaN(Date.parse(t));try{return new URL(t),!0}catch{return false}}function ue(t){return t.type==="string"}function ge(t,e){if(t.type==="boolean")return typeof e=="boolean";if(t.type==="number"||t.type==="integer")return typeof e=="number"&&Number.isFinite(e)&&(t.type==="number"||Number.isInteger(e))&&(t.minimum===null||e>=t.minimum)&&(t.maximum===null||e<=t.maximum);if(t.type==="select")return typeof e=="string"&&t.options.some(r=>r.value===e);if(t.type==="multi_select")return Array.isArray(e)&&e.every(r=>typeof r=="string"&&t.options.some(i=>i.value===r))&&new Set(e).size===e.length&&(t.minimum===null||e.length>=t.minimum)&&(t.maximum===null||e.length<=t.maximum);if(!ue(t)||typeof e!="string")return false;let n=Array.from(e).length;return (t.minLength===null||n>=t.minLength)&&(t.maxLength===null||n<=t.maxLength)&&le(e,t.format)}function De(t,e){if(t.mode==="unsupported")return false;if(t.mode==="url")return Object.keys(e).length===0;let n=new Map(t.fields.map(i=>[i.id,i]));return Object.entries(e).every(([i,o])=>{let s=n.get(i);return s!==void 0&&ge(s,o)})&&t.fields.every(i=>!i.required||Object.hasOwn(e,i.id))}var R=class extends Error{code="TASK_SNAPSHOT_BUSY";statusCode=503;retryable=true;constructor(){super("Task snapshot is temporarily busy; retry the snapshot request"),this.name="TaskSnapshotBusyError";}};async function _e(t,e,n,r,i={}){let o=i.timeoutMs??3e4;if(!Number.isFinite(o)||o<=0)throw new RangeError("Invalid snapshot timeout");n.signal?.throwIfAborted();let s=new AbortController,a=s.signal,c=Date.now()+o,d=()=>{s.abort(n.signal?.reason);};n.signal?.addEventListener("abort",d,{once:true});let l=setTimeout(()=>{s.abort(new R);},o),u=()=>{if(a.throwIfAborted(),Date.now()>=c)throw new R},{promise:P,reject:p}=Promise.withResolvers(),m=()=>{p(a.reason);};a.addEventListener("abort",m,{once:true});let f=new Map,A;try{let L=0,w=0,C=new Set;A=t.subscribeEvents(y=>{y.taskId===e&&(L++,y.type!=="message.delta"?w++:C.size<1024?C.add(JSON.stringify([y.turnId,y.itemId])):w++);});for(let y=0;y<2;y++){u(),y>0&&i.onRetry?.();let X=L,B=w;C.clear();let E,W=!0,ee={prepare(T,I){u();let b=f.get(T);return b||(b=I(),f.set(T,b)),Promise.race([b,P])},capture(T){u(),!(!W||E||B!==w)&&(E={snapshot:T,checkpoint:r(T)});}},v;try{v=await Promise.race([t.readTask(e,{...n,signal:a,snapshotRead:ee}),P]);}finally{W=!1;}if(u(),E)return E;if(!(X!==L&&!(n.summary===!0&&v!==void 0&&B===w&&!v.turns.some(I=>I.items.some(b=>C.has(JSON.stringify([I.id,b.id])))))))return v===void 0?void 0:{snapshot:v,checkpoint:r(v)}}throw new R}finally{A?.(),clearTimeout(l),n.signal?.removeEventListener("abort",d),a.removeEventListener("abort",m),f.clear();}}var Y=class{constructor(e){this.limits=e;for(let n of Object.values(e))if(!Number.isSafeInteger(n)||n<=0)throw new RangeError("Invalid work budget")}limits;#n=new Map;#t=0;#r=0;get usage(){return {count:this.#t,bytes:this.#r}}reserve(e,n){let r=this.#n.get(e)??{count:0,bytes:0};if(!Number.isSafeInteger(n)||n<0||this.#t>=this.limits.maxCount||this.#r+n>this.limits.maxBytes||r.count>=this.limits.maxTaskCount||r.bytes+n>this.limits.maxTaskBytes)return;this.#t++,this.#r+=n,r.count++,r.bytes+=n,this.#n.set(e,r);let i=false;return ()=>{i||(i=true,this.#t--,this.#r-=n,r.count--,r.bytes-=n,r.count===0&&this.#n.delete(e));}}};function Be(t,e){let n=[t],r=new Set,i=256,o=0;for(;n.length>0;){if(++o>16384||i>e)return 1/0;let s=n.pop();if(typeof s=="string")i+=s.length*2;else if(s!==null&&typeof s=="object"){if(r.has(s))return 1/0;r.add(s),i+=64;for(let a of Object.keys(s)){if(i+=a.length*2+32,i>e||n.length>=16384)return 1/0;n.push(s[a]);}}else i+=8;}return i}function Z(t){let e="",n=0;for(let r of t.trim()){if(n++===1024)break;e+=r;}return e}function me(t,e=""){return `${e.trim()||"\u603B\u7ED3\u4EE5\u4E0B\u7528\u6237\u8BF7\u6C42\uFF0C\u751F\u6210\u6700\u591A 36 \u4E2A\u5B57\u7B26\u7684\u5355\u884C\u4EFB\u52A1\u6807\u9898\u3002\u4F7F\u7528\u7528\u6237\u7684\u8BED\u8A00\uFF0C\u4EE5\u52A8\u8BCD\u5F00\u5934\uFF0C\u4FDD\u7559\u4EE3\u7801\u540D\u79F0\uFF1B\u4E0D\u8981\u7167\u6284\u957F\u53E5\uFF0C\u4E0D\u52A0\u5F15\u53F7\u3001Markdown \u6216\u672B\u5C3E\u6807\u70B9\uFF0C\u4E0D\u56DE\u7B54\u6216\u6267\u884C\u8BF7\u6C42\u3002"}
5
+ `);if(n.length>1e5)throw new Error("Invalid question answers");return n}function Ee(t,e){let n=new Map,r=t.turns;for(let i of e){let o=U(i.group.questions),s=JSON.stringify([i.group.turnId,o]),a=n.get(s)??0;n.set(s,a+1);let c=i.result;if(i.group.status!=="answered"||c===void 0||c.turn!==null)continue;let d=r.findIndex(f=>f.id===c.turnId),l=r[d];if(d<0||l===void 0)continue;let P=l.items.flatMap((f,A)=>f.type==="message"&&f.role==="assistant"&&U(f.questions??[])===o?[A]:[])[a];if(P===void 0||l.items.slice(P+1).some(f=>f.type==="message"&&f.role==="user"&&f.text===c.input.text))continue;let m=[...l.items];m.splice(P+1,0,{id:c.messageId,role:"user",text:c.input.text,type:"message"}),r=r.map((f,A)=>A===d?{...l,items:m}:f);}return r===t.turns?t:{...t,turns:r}}async function Me(t,e){let n=new Set,r=new Set,i;for(;;){if(r.size>=1e3)throw new Error("Archived task pagination exceeds the page limit");let c=await t.listTasks({archived:true,limit:100,...i===void 0?{}:{cursor:i}});for(let d of c.data){if(d.projectId!==e)throw new Error("Archived task listing crossed its scope");if(n.add(d.id),n.size>1e4)throw new Error("Archived task deletion exceeds the 10000 task limit")}if(c.nextCursor===null)break;if(r.has(c.nextCursor))throw new Error("Archived task pagination returned a repeated cursor");r.add(c.nextCursor),i=c.nextCursor;}let o=[...n],s=0,a=0;for(let c=0;c<o.length;c+=4){let d=await Promise.allSettled(o.slice(c,c+4).map(async l=>{if((await(t.readTaskMetadata?.(l)??t.readTask(l)))?.projectId!==e)throw new Error("Archived task is no longer in scope");await t.deleteTask(l);}));for(let l of d)l.status==="fulfilled"?s++:a++;}return {deletedCount:s,failedCount:a}}async function je(t,e,n={}){let r=new Map,i=new Set,o;for(;;){if(i.size>=1e3)throw new Error("Task catalog pagination exceeds the page limit");let s=await t.listTasks({limit:100,...n.pinned===true?{pinnedOnly:true}:{},...o===void 0?{}:{cursor:o}});for(let a of s.data){if(a.projectId!==e)throw new Error("Task catalog crossed its scope");if(r.has(a.id)||r.set(a.id,a),r.size>1e4)throw new Error("Task catalog exceeds the 10000 task limit")}if(s.nextCursor===null)return {data:[...r.values()]};if(i.has(s.nextCursor))throw new Error("Task catalog returned a repeated cursor");i.add(s.nextCursor),o=s.nextCursor;}}var j=class extends Error{};async function Ne(t,e){let{projectIds:n,cursor:r}=e,i=new Set(n);if(i.size!==n.length||i.size>100)throw new j("Invalid completed task scopes");if(r!==void 0&&(Object.keys(r).length!==i.size||Object.keys(r).some(d=>!i.has(d))))throw new j("Completed task cursor does not match its scopes");let o=n.filter(d=>r===void 0||r[d]!==null),s=Math.max(1,Math.ceil(10/Math.max(1,o.length))),a=Object.fromEntries(n.map(d=>[d,null])),c=new Map;for(let d=0;d<o.length;d+=4){let l=await Promise.all(o.slice(d,d+4).map(async u=>{let P=await t(u),p=r?.[u],m=await P.listTasks({completed:true,limit:s,...typeof p=="string"?{cursor:p}:{}});if(m.data.length>s)throw new Error("Completed task page exceeds its limit");if(m.nextCursor!==null&&m.nextCursor===p)throw new Error("Completed task page returned a repeated cursor");for(let f of m.data)if(f.projectId!==u)throw new Error("Completed task page crossed its scope");return {id:u,page:m}}));for(let{id:u,page:P}of l){a[u]=P.nextCursor;for(let p of P.data){let m=JSON.stringify([u,p.id]);c.has(m)||c.set(m,p);}}}return {data:[...c.values()].sort((d,l)=>Date.parse(l.updatedAt)-Date.parse(d.updatedAt)),nextCursor:Object.values(a).some(d=>d!==null)?a:null}}function Qe(t){return t.data.some(e=>e.supportedReasoningEfforts.length===0&&e.defaultReasoningEffort!=="")?{...t,data:t.data.map(e=>e.supportedReasoningEfforts.length===0?{...e,defaultReasoningEffort:""}:e)}:t}var g=class extends Error{};function x(t,e){if(t===null||typeof t!="object"||Array.isArray(t))throw new g(`${e} must be an object`);return t}function h(t,e){if(typeof t!="string")throw new g(`${e} must be a string`);return t}function re(t,e){if(typeof t!="boolean")throw new g(`${e} must be a boolean`);return t}function ie(t,e){let n=h(t,e);if(n.length===0)throw new g(`${e} must not be empty`);return n}function z(t,e){return t===void 0?null:h(t,e)}function _(t,e){if(t===void 0)return null;if(typeof t!="number"||!Number.isFinite(t))throw new g(`${e} must be a finite number`);return t}function q(t,e){if(t===void 0)return null;if(!Number.isInteger(t)||Number(t)<0)throw new g(`${e} must be a non-negative integer`);return Number(t)}function oe(t,e){if(t===void 0)return new Set;if(!Array.isArray(t))throw new g("MCP elicitation required must be an array");let n=new Set(t.map(r=>h(r,"MCP elicitation required property")));if(n.size!==t.length||[...n].some(r=>!e.has(r)))throw new g("MCP elicitation required properties are invalid");return n}function K(t,e){if(!Array.isArray(t)||t.length===0)throw new g(`${e} must contain options`);let n=t.map(r=>{let i=x(r,`${e} option`);return {label:ie(i.title,`${e} option title`),value:h(i.const,`${e} option value`)}});if(new Set(n.map(r=>r.value)).size!==n.length)throw new g(`${e} option values must be unique`);return n}function se(t,e,n){if(!Array.isArray(t)||t.length===0)throw new g(`${n} must contain options`);let r=t.map(o=>h(o,`${n} value`)),i=e===void 0?r:Array.isArray(e)&&e.length===r.length?e.map(o=>h(o,`${n} name`)):void 0;if(i===void 0||new Set(r).size!==r.length)throw new g(`${n} options are invalid`);return r.map((o,s)=>({label:i[s]??o,value:o}))}function H(t,e){return t.oneOf!==void 0?K(t.oneOf,e):t.anyOf!==void 0?K(t.anyOf,e):t.enum!==void 0?se(t.enum,t.enumNames,e):null}function N(t,e,n){return {description:z(e.description,`MCP elicitation ${t} description`),id:t,required:n.has(t),title:z(e.title,`MCP elicitation ${t} title`)??t}}function V(t,e,n){let r=z(t,n);if(r!==null&&e!==null&&!e.some(i=>i.value===r))throw new g(`${n} is not an available option`);return r}function ae(t,e,n){let r=N(t,e,n),i=H(e,`MCP elicitation ${t}`);if(i!==null)return {...r,defaultValue:V(e.default,i,`MCP elicitation ${t} default`),options:i,type:"select"};let o=e.format??null;if(o!==null&&o!=="email"&&o!=="uri"&&o!=="date"&&o!=="date-time")throw new g(`MCP elicitation ${t} format is invalid`);return {...r,defaultValue:V(e.default,null,`MCP elicitation ${t} default`),format:o,maxLength:q(e.maxLength,`MCP elicitation ${t} maxLength`),minLength:q(e.minLength,`MCP elicitation ${t} minLength`),type:"string"}}function de(t,e,n){let r=x(e.items,`MCP elicitation ${t} items`),i=H(r,`MCP elicitation ${t} items`);if(i===null)throw new g(`MCP elicitation ${t} items must contain options`);let o=e.default??[];if(!Array.isArray(o)||o.some(a=>typeof a!="string"||!i.some(c=>c.value===a)))throw new g(`MCP elicitation ${t} default is invalid`);let s=o.map(a=>h(a,`MCP elicitation ${t} default entry`));return {...N(t,e,n),defaultValue:s,maximum:q(e.maxItems,`MCP elicitation ${t} maxItems`),minimum:q(e.minItems,`MCP elicitation ${t} minItems`),options:i,type:"multi_select"}}function ce(t,e,n){if(t.length===0)throw new g("MCP elicitation property id must not be empty");let r=x(e,`MCP elicitation ${t} schema`),i=h(r.type,`MCP elicitation ${t} type`);if(i==="string")return ae(t,r,n);if(i==="array")return de(t,r,n);if(i==="boolean"){let o=r.default;return {...N(t,r,n),defaultValue:o===void 0?null:re(o,`MCP elicitation ${t} default`),type:i}}if(i==="number"||i==="integer"){let o=_(r.default,`MCP elicitation ${t} default`);if(i==="integer"&&o!==null&&!Number.isInteger(o))throw new g(`MCP elicitation ${t} default must be an integer`);return {...N(t,r,n),defaultValue:o,maximum:_(r.maximum,`MCP elicitation ${t} maximum`),minimum:_(r.minimum,`MCP elicitation ${t} minimum`),type:i}}throw new g(`MCP elicitation ${t} type is unsupported`)}function Ge(t){let e=x(t,"MCP elicitation requestedSchema");if(e.type!=="object")throw new g("MCP elicitation requestedSchema must be an object");let n=x(e.properties,"MCP elicitation properties"),r=oe(e.required,new Set(Object.keys(n)));return Object.entries(n).map(([i,o])=>ce(i,o,r))}function Fe(t){let e=h(t,"MCP elicitation URL"),n;try{n=new URL(e);}catch{throw new g("MCP elicitation URL is invalid")}if(n.protocol!=="https:"&&n.protocol!=="http:")throw new g("MCP elicitation URL protocol is unsupported");return e}function le(t,e){if(e===null)return true;if(e==="email")return /^[^\s@]+@[^\s@]+\.[^\s@]+$/u.test(t);if(e==="date")return /^\d{4}-\d{2}-\d{2}$/u.test(t)&&!Number.isNaN(Date.parse(t));if(e==="date-time")return !Number.isNaN(Date.parse(t));try{return new URL(t),!0}catch{return false}}function ue(t){return t.type==="string"}function ge(t,e){if(t.type==="boolean")return typeof e=="boolean";if(t.type==="number"||t.type==="integer")return typeof e=="number"&&Number.isFinite(e)&&(t.type==="number"||Number.isInteger(e))&&(t.minimum===null||e>=t.minimum)&&(t.maximum===null||e<=t.maximum);if(t.type==="select")return typeof e=="string"&&t.options.some(r=>r.value===e);if(t.type==="multi_select")return Array.isArray(e)&&e.every(r=>typeof r=="string"&&t.options.some(i=>i.value===r))&&new Set(e).size===e.length&&(t.minimum===null||e.length>=t.minimum)&&(t.maximum===null||e.length<=t.maximum);if(!ue(t)||typeof e!="string")return false;let n=Array.from(e).length;return (t.minLength===null||n>=t.minLength)&&(t.maxLength===null||n<=t.maxLength)&&le(e,t.format)}function De(t,e){if(t.mode==="unsupported")return false;if(t.mode==="url")return Object.keys(e).length===0;let n=new Map(t.fields.map(i=>[i.id,i]));return Object.entries(e).every(([i,o])=>{let s=n.get(i);return s!==void 0&&ge(s,o)})&&t.fields.every(i=>!i.required||Object.hasOwn(e,i.id))}var R=class extends Error{code="TASK_SNAPSHOT_BUSY";statusCode=503;retryable=true;constructor(){super("Task snapshot is temporarily busy; retry the snapshot request"),this.name="TaskSnapshotBusyError";}};async function _e(t,e,n,r,i={}){let o=i.timeoutMs??3e4;if(!Number.isFinite(o)||o<=0)throw new RangeError("Invalid snapshot timeout");n.signal?.throwIfAborted();let s=new AbortController,a=s.signal,c=Date.now()+o,d=()=>{s.abort(n.signal?.reason);};n.signal?.addEventListener("abort",d,{once:true});let l=setTimeout(()=>{s.abort(new R);},o),u=()=>{if(a.throwIfAborted(),Date.now()>=c)throw new R},{promise:P,reject:p}=Promise.withResolvers(),m=()=>{p(a.reason);};a.addEventListener("abort",m,{once:true});let f=new Map,A;try{let L=0,b=0,C=new Set;A=t.subscribeEvents(y=>{y.taskId===e&&(L++,y.type!=="message.delta"?b++:C.size<1024?C.add(JSON.stringify([y.turnId,y.itemId])):b++);});for(let y=0;y<2;y++){u(),y>0&&i.onRetry?.();let X=L,B=b;C.clear();let E,W=!0,ee={prepare(T,I){u();let w=f.get(T);return w||(w=I(),f.set(T,w)),Promise.race([w,P])},capture(T){u(),!(!W||E||B!==b)&&(E={snapshot:T,checkpoint:r(T)});}},v;try{v=await Promise.race([t.readTask(e,{...n,signal:a,snapshotRead:ee}),P]);}finally{W=!1;}if(u(),E)return E;if(!(X!==L&&!(n.summary===!0&&v!==void 0&&B===b&&!v.turns.some(I=>I.items.some(w=>C.has(JSON.stringify([I.id,w.id])))))))return v===void 0?void 0:{snapshot:v,checkpoint:r(v)}}throw new R}finally{A?.(),clearTimeout(l),n.signal?.removeEventListener("abort",d),a.removeEventListener("abort",m),f.clear();}}var Y=class{constructor(e){this.limits=e;for(let n of Object.values(e))if(!Number.isSafeInteger(n)||n<=0)throw new RangeError("Invalid work budget")}limits;#t=new Map;#n=0;#r=0;get usage(){return {count:this.#n,bytes:this.#r}}reserve(e,n){let r=this.#t.get(e)??{count:0,bytes:0};if(!Number.isSafeInteger(n)||n<0||this.#n>=this.limits.maxCount||this.#r+n>this.limits.maxBytes||r.count>=this.limits.maxTaskCount||r.bytes+n>this.limits.maxTaskBytes)return;this.#n++,this.#r+=n,r.count++,r.bytes+=n,this.#t.set(e,r);let i=false;return ()=>{i||(i=true,this.#n--,this.#r-=n,r.count--,r.bytes-=n,r.count===0&&this.#t.delete(e));}}};function Be(t,e){let n=[t],r=new Set,i=256,o=0;for(;n.length>0;){if(++o>16384||i>e)return 1/0;let s=n.pop();if(typeof s=="string")i+=s.length*2;else if(s!==null&&typeof s=="object"){if(r.has(s))return 1/0;r.add(s),i+=64;for(let a of Object.keys(s)){if(i+=a.length*2+32,i>e||n.length>=16384)return 1/0;n.push(s[a]);}}else i+=8;}return i}function Z(t){let e="",n=0;for(let r of t.trim()){if(n++===1024)break;e+=r;}return e}function me(t,e=""){return `${e.trim()||"\u603B\u7ED3\u4EE5\u4E0B\u7528\u6237\u8BF7\u6C42\uFF0C\u751F\u6210\u6700\u591A 36 \u4E2A\u5B57\u7B26\u7684\u5355\u884C\u4EFB\u52A1\u6807\u9898\u3002\u4F7F\u7528\u7528\u6237\u7684\u8BED\u8A00\uFF0C\u4EE5\u52A8\u8BCD\u5F00\u5934\uFF0C\u4FDD\u7559\u4EE3\u7801\u540D\u79F0\uFF1B\u4E0D\u8981\u7167\u6284\u957F\u53E5\uFF0C\u4E0D\u52A0\u5F15\u53F7\u3001Markdown \u6216\u672B\u5C3E\u6807\u70B9\uFF0C\u4E0D\u56DE\u7B54\u6216\u6267\u884C\u8BF7\u6C42\u3002"}
6
6
 
7
7
  \u7528\u6237\u8BF7\u6C42\uFF1A
8
- ${Z(t)}`}function fe(t){if(Buffer.byteLength(t,"utf8")>8192)throw new Error("Task title output exceeds limit");let e=JSON.parse(t);if(!e||typeof e!="object"||!("title"in e)||typeof e.title!="string")throw new Error("Invalid task title output");let n=Array.from(e.title.trim().replace(/^["'`“”‘’]+|["'`“”‘’]+$/gu,"").split(/\s+/u).join(" ").replace(/[.?!。?!]+$/u,"").trim()).slice(0,36).join("");if(!n)throw new Error("Task title is empty");return n}var Pe=t=>t?.state==="connected"||t?.mode==="custom";async function he(t,e){if(t.readGenerationDefaults)return t.readGenerationDefaults(e);let n=e?.defaultAgent;if(n!=="claude"){let r=await t.readProviderConnection().catch(()=>{});n="codex",!Pe(r)&&t.engines?.claude&&(n="claude");}return {defaultAgent:n,defaultModel:e?.defaultModel&&(e.defaultAgent??"codex")===n?e.defaultModel:n==="codex"?"gpt-6-luna":"haiku"}}export{R as A,_e as B,Y as C,Be as D,Z as E,me as F,fe as G,he as H,S as a,Q as b,k as c,$ as d,J as e,G as f,te as g,ne as h,F as i,D as j,M as k,be as l,O as m,Se as n,Re as o,Ce as p,Ee as q,Me as r,je as s,j as t,Ne as u,Qe as v,g as w,Ge as x,Fe as y,De as z};
8
+ ${Z(t)}`}function fe(t){if(Buffer.byteLength(t,"utf8")>8192)throw new Error("Task title output exceeds limit");let e=JSON.parse(t);if(!e||typeof e!="object"||!("title"in e)||typeof e.title!="string")throw new Error("Invalid task title output");let n=Array.from(e.title.trim().replace(/^["'`“”‘’]+|["'`“”‘’]+$/gu,"").split(/\s+/u).join(" ").replace(/[.?!。?!]+$/u,"").trim()).slice(0,36).join("");if(!n)throw new Error("Task title is empty");return n}var Pe=t=>t?.state==="connected"||t?.mode==="custom";async function he(t,e){if(t.readGenerationDefaults)return t.readGenerationDefaults(e);let n=e?.defaultAgent;if(n!=="claude"){let r=await t.readProviderConnection().catch(()=>{});n="codex",!Pe(r)&&t.engines?.claude&&(n="claude");}return {defaultAgent:n,defaultModel:e?.defaultModel&&(e.defaultAgent??"codex")===n?e.defaultModel:n==="codex"?"gpt-6-luna":"haiku"}}export{R as A,_e as B,Y as C,Be as D,Z as E,me as F,fe as G,he as H,S as a,Q as b,k as c,$ as d,J as e,G as f,te as g,ne as h,F as i,D as j,M as k,we as l,O as m,Se as n,Re as o,Ce as p,Ee as q,Me as r,je as s,j as t,Ne as u,Qe as v,g as w,Ge as x,Fe as y,De as z};
@@ -1,5 +1,5 @@
1
1
  import {createRequire}from'node:module';createRequire(import.meta.url);
2
- var N={version:1,sql:`
2
+ var a={version:1,sql:`
3
3
  CREATE TABLE IF NOT EXISTS managed_projects (
4
4
  id TEXT PRIMARY KEY, name TEXT NOT NULL, path TEXT NOT NULL UNIQUE,
5
5
  created_at TEXT NOT NULL, position INTEGER NOT NULL
@@ -16,4 +16,4 @@ CREATE TABLE IF NOT EXISTS managed_tasks (
16
16
  CREATE INDEX IF NOT EXISTS managed_tasks_page ON managed_tasks(project_id, archived, updated_at DESC, id DESC);
17
17
  CREATE INDEX IF NOT EXISTS managed_tasks_pinned ON managed_tasks(project_id, archived, pinned, updated_at DESC, id DESC);
18
18
  CREATE TABLE IF NOT EXISTS managed_catalog_migration (id INTEGER PRIMARY KEY CHECK(id = 1)) STRICT;
19
- `};export{N as a};
19
+ `,previewSql:"CREATE TABLE IF NOT EXISTS managed_task_previews (task_id TEXT PRIMARY KEY REFERENCES managed_tasks(id) ON DELETE CASCADE, preview TEXT NOT NULL) STRICT;"};export{a};