@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
@@ -0,0 +1,88 @@
1
+ import {createRequire}from'node:module';import {a,p,f,h as h$1,j,l,n,m,g}from'./chunk-IUMX3J22.js';import {h as h$2}from'./chunk-DW7IKH5A.js';import'./chunk-RVNRCEGR.js';import'./chunk-QE3SPWGR.js';import'./chunk-LRH4LRGC.js';import'./chunk-OILMAASC.js';import'./chunk-7G5JKKJQ.js';import'./chunk-LZBJFLMK.js';import'./chunk-W4XMPSQ6.js';import'./chunk-IV4NRE4S.js';import'./chunk-YXJGRSCL.js';import {realpath,access,readFile,open,rm,mkdir,lstat,chmod,appendFile,stat,rename,writeFile}from'fs/promises';import {homedir}from'os';import {join,dirname,isAbsolute,resolve}from'path';import {setTimeout}from'timers/promises';import {randomBytes,timingSafeEqual,createHash}from'crypto';import {execFile}from'child_process';import {promisify}from'util';import {createServer,createConnection}from'net';createRequire(import.meta.url);
2
+ function V(t,e,o){let r=o.XDG_CONFIG_HOME&&isAbsolute(o.XDG_CONFIG_HOME)?o.XDG_CONFIG_HOME:join(e,".config"),n=t==="darwin"?join(e,"Library","Application Support","Codexly","autostart"):t==="linux"?join(r,"codexly","autostart"):t==="win32"?join(o.LOCALAPPDATA??join(e,"AppData","Local"),"Codexly","autostart"):void 0;if(!n)throw new Error(`\u5F53\u524D\u7CFB\u7EDF\u4E0D\u652F\u6301\u7528\u6237\u81EA\u542F\u52A8: ${t}`);return {root:n,config:join(n,"config.json"),state:join(n,"runtime.json"),log:join(n,"service.log"),registration:t==="darwin"?join(e,"Library","LaunchAgents","io.codexly.web.plist"):t==="linux"?join(r,"systemd","user","codexly-web.service"):join(n,"task.xml")}}function Z(t){if(t.lan!==true&&(t.lanPassword!==void 0||t.sessionTtl!==void 0))throw new Error("--lan-password \u548C --session-ttl \u53EA\u80FD\u4E0E --lan \u4E00\u8D77\u4F7F\u7528");t.lanPassword!==void 0&&n(t.lanPassword),t.sessionTtl!==void 0&&m(t.sessionTtl);}function tt(t,e,o){let r=g(t,e.environment);return Z(r),r.noOpen=true,r.port??=3210,r.codexHome=resolve(e.cwd,r.codexHome??e.environment.CODEX_HOME??join(e.home,".codex")),r.codexBin&&(r.codexBin=resolve(e.cwd,r.codexBin)),r.workspaceRoots&&(r.workspaceRoots=r.workspaceRoots.map(n=>resolve(e.cwd,n))),r.lan&&(r.lanPassword??=o?.start.lanPassword??`Aa1_${randomBytes(24).toString("base64url")}`),{version:1,node:e.node,cli:e.cli,home:e.home,environment:e.environment.PATH?{PATH:e.environment.PATH}:{},start:r}}async function b(t){await mkdir(t,{recursive:true,mode:448});let e=await lstat(t);if(!e.isDirectory()||e.isSymbolicLink())throw new Error("\u81EA\u542F\u52A8\u76EE\u5F55\u5FC5\u987B\u662F\u5B9E\u9645\u76EE\u5F55");process.platform!=="win32"&&await chmod(t,448);}async function P(t,e){await mkdir(dirname(t),{recursive:true,mode:448});let o=`${t}.${randomBytes(8).toString("hex")}.tmp`;try{await writeFile(o,e,{mode:384,flag:"wx"});for(let r=0;;r++)try{await rename(o,t);break}catch(n){if(process.platform!=="win32"||r===7||!["EPERM","EACCES","EBUSY"].includes(n.code??""))throw n;await setTimeout(25*2**r);}}finally{await rm(o,{force:true});}}async function h(t,e){await P(t,`${JSON.stringify(e,null,2)}
3
+ `);}function v(t){return t instanceof Error&&t.code==="ENOENT"}async function A(t){let e;try{e=JSON.parse(await readFile(t,"utf8"));}catch(o){if(v(o))return;throw new Error("\u65E0\u6CD5\u8BFB\u53D6\u81EA\u542F\u52A8\u914D\u7F6E\uFF0C\u8BF7\u4FEE\u590D config.json\uFF0C\u6216 disable \u540E\u79FB\u9664\u8BE5\u6587\u4EF6\u518D enable",{cause:o})}try{let o=i=>typeof i=="object"&&i!==null&&!Array.isArray(i),r=i=>typeof i=="string"&&isAbsolute(i);if(!o(e)||e.version!==1||![e.node,e.cli,e.home].every(r))throw new Error("\u542F\u52A8\u8DEF\u5F84\u65E0\u6548");let n=e.start;if(!o(n)||n.noOpen!==!0||!r(n.codexHome))throw new Error("\u542F\u52A8\u53C2\u6570\u65E0\u6548");let l=n.port;if(typeof l!="number"||!Number.isInteger(l)||l<1||l>65535)throw new Error("\u7AEF\u53E3\u65E0\u6548");if(n.lan!==void 0&&typeof n.lan!="boolean")throw new Error("\u6A21\u5F0F\u65E0\u6548");if(n.lan===!0&&typeof n.lanPassword!="string")throw new Error("\u7F3A\u5C11 LAN \u5BC6\u7801");if(n.lanPassword!==void 0&&typeof n.lanPassword!="string")throw new Error("LAN \u5BC6\u7801\u65E0\u6548");if(n.sessionTtl!==void 0&&typeof n.sessionTtl!="string")throw new Error("\u4F1A\u8BDD\u671F\u9650\u65E0\u6548");if(n.codexBin!==void 0&&!r(n.codexBin))throw new Error("Codex \u8DEF\u5F84\u65E0\u6548");for(let i of ["workspaceRoots","allowedHosts"]){let g=n[i];if(g!==void 0&&(!Array.isArray(g)||!g.every(c=>i==="workspaceRoots"?r(c):typeof c=="string")))throw new Error("\u5217\u8868\u53C2\u6570\u65E0\u6548")}let d=e.environment;if(!o(d)||Object.entries(d).some(([i,g])=>i!=="PATH"||typeof g!="string"))throw new Error("\u73AF\u5883\u914D\u7F6E\u65E0\u6548");if(e.linuxTarget!==void 0&&e.linuxTarget!=="default.target"&&e.linuxTarget!=="graphical-session.target")throw new Error("\u767B\u5F55\u76EE\u6807\u65E0\u6548");let a=e;return Z(a.start),a}catch(o){throw new Error("\u81EA\u542F\u52A8\u914D\u7F6E\u65E0\u6548\u6216\u7248\u672C\u4E0D\u517C\u5BB9\uFF0C\u8BF7\u4FEE\u590D config.json\uFF0C\u6216 disable \u540E\u79FB\u9664\u8BE5\u6587\u4EF6\u518D enable",{cause:o})}}var kt=promisify(execFile),L=async(t,e)=>{try{return {code:0,...await kt(t,[...e],{encoding:"utf8",windowsHide:!0,timeout:15e3,maxBuffer:524288})}}catch(o){let r=o;if(typeof r.code!="number")throw o;return {code:r.code,stdout:r.stdout??"",stderr:r.stderr??r.message}}};function x(t){return t.replace(/&/gu,"&amp;").replace(/</gu,"&lt;").replace(/>/gu,"&gt;").replace(/"/gu,"&quot;").replace(/'/gu,"&apos;")}function k(t){if(t.split("").some(e=>e.charCodeAt(0)<32))throw new Error("\u542F\u52A8\u8DEF\u5F84\u4E0D\u80FD\u5305\u542B\u63A7\u5236\u5B57\u7B26");return t}function R(t,e){return [t.node,t.cli,"autostart","run","--config",e].map(k)}function Rt(t,e){return `<?xml version="1.0" encoding="UTF-8"?>
4
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
5
+ <plist version="1.0"><dict>
6
+ <key>Label</key><string>io.codexly.web</string>
7
+ <key>ProgramArguments</key><array>${R(t,e).map(o=>`<string>${x(o)}</string>`).join("")}</array>
8
+ <key>WorkingDirectory</key><string>${x(k(t.home))}</string>
9
+ <key>RunAtLoad</key><true/>
10
+ <key>KeepAlive</key><dict><key>SuccessfulExit</key><false/></dict>
11
+ <key>ThrottleInterval</key><integer>30</integer>
12
+ <key>ExitTimeOut</key><integer>20</integer>
13
+ <key>LimitLoadToSessionType</key><string>Aqua</string>
14
+ <key>ProcessType</key><string>Background</string>
15
+ </dict></plist>
16
+ `}function Ot(t){return `"${k(t).replace(/\\/gu,"\\\\").replace(/"/gu,'\\"').replace(/%/gu,"%%").replace(/\$/gu,()=>"$$")}"`}function Nt(t,e){let o=t.linuxTarget??"default.target";return `[Unit]
17
+ Description=Codexly Web (user login)
18
+ StartLimitIntervalSec=300
19
+ StartLimitBurst=5
20
+ ${o==="graphical-session.target"?`PartOf=graphical-session.target
21
+ `:""}
22
+ [Service]
23
+ Type=exec
24
+ ExecStart=${R(t,e).map(r=>Ot(r)).join(" ")}
25
+ WorkingDirectory=${k(t.home).replace(/\\/gu,"\\\\").replace(/%/gu,"%%").replace(/ /gu,"\\x20")}
26
+ Restart=on-failure
27
+ RestartSec=30
28
+ TimeoutStopSec=20
29
+ KillMode=control-group
30
+ UMask=0077
31
+
32
+ [Install]
33
+ WantedBy=${o}
34
+ `}function nt(t){return `"${t.replace(/(\\*)"/gu,'$1$1\\"').replace(/(\\+)$/u,"$1$1")}"`}function N(t){return join(dirname(t),"launch.js")}function Lt(t,e){return `var shell = new ActiveXObject("WScript.Shell");
35
+ var environment = shell.Environment("Process");
36
+ environment("CODEXLY_AUTOSTART_COMMAND") = ${JSON.stringify(R(t,e).map(nt).join(" ")).replace(/\u2028/gu,"\\u2028").replace(/\u2029/gu,"\\u2029")};
37
+ WScript.Quit(shell.Run("%CODEXLY_AUTOSTART_COMMAND%", 0, true));
38
+ `}function It(t,e,o){R(t,e);let r=join(process.env.SystemRoot??"C:\\Windows","System32","wscript.exe");return `<?xml version="1.0" encoding="UTF-16"?>
39
+ <Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
40
+ <RegistrationInfo><Description>Codexly Web \u2014 current user login</Description></RegistrationInfo>
41
+ <Triggers><LogonTrigger><Enabled>true</Enabled><UserId>${x(o)}</UserId></LogonTrigger></Triggers>
42
+ <Principals><Principal id="CurrentUser"><UserId>${x(o)}</UserId><LogonType>InteractiveToken</LogonType><RunLevel>LeastPrivilege</RunLevel></Principal></Principals>
43
+ <Settings><MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy><DisallowStartIfOnBatteries>false</DisallowStartIfOnBatteries><StopIfGoingOnBatteries>false</StopIfGoingOnBatteries><AllowHardTerminate>true</AllowHardTerminate><StartWhenAvailable>false</StartWhenAvailable><RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable><Enabled>true</Enabled><ExecutionTimeLimit>PT0S</ExecutionTimeLimit><Priority>7</Priority><RestartOnFailure><Interval>PT1M</Interval><Count>5</Count></RestartOnFailure></Settings>
44
+ <Actions Context="CurrentUser"><Exec><Command>${x(r)}</Command><Arguments>//B //Nologo //E:JScript ${x(nt(N(e)))}</Arguments><WorkingDirectory>${x(t.home)}</WorkingDirectory></Exec></Actions>
45
+ </Task>
46
+ `}function Dt(t,e){if(!t)return "default.target";if(e)return "graphical-session.target";throw new Error("\u5F53\u524D\u7528\u6237\u5F00\u542F\u4E86 linger \u4E14\u6CA1\u6709\u6D3B\u52A8\u684C\u9762\u4F1A\u8BDD\uFF0C\u65E0\u6CD5\u4FDD\u8BC1\u4EC5\u767B\u5F55\u540E\u542F\u52A8\uFF1B\u8BF7\u5728\u684C\u9762\u767B\u5F55\u540E\u914D\u7F6E\uFF0C\u6216\u81EA\u884C\u8C03\u6574 linger \u8BBE\u7F6E\u3002")}function ot(t,e,o={}){let r=o.execute??L,n=o.uid??process.getuid?.(),l=`gui/${String(n)}`,d=`${l}/io.codexly.web`,a;async function i(u,s){let w=await r(u,s);if(w.code!==0)throw new Error(`\u7CFB\u7EDF\u670D\u52A1\u547D\u4EE4\u5931\u8D25 (${u}): ${w.stderr||w.stdout||String(w.code)}`);return w.stdout}async function g(){if(!a&&(a=(await i("powershell.exe",["-NoProfile","-NonInteractive","-EncodedCommand",Buffer.from("[System.Security.Principal.WindowsIdentity]::GetCurrent().User.Value","utf16le").toString("base64")])).trim(),!/^S-1-[\d-]+$/u.test(a)))throw new Error("\u65E0\u6CD5\u786E\u5B9A\u5F53\u524D Windows \u7528\u6237 SID");return a}async function c(){return `Codexly Web ${await g()}`}async function m(){let u=`$ErrorActionPreference='Stop'; $s=New-Object -ComObject 'Schedule.Service'; $s.Connect(); try { $t=$s.GetFolder('\\').GetTask('${await c()}'); @{registered=$true;enabled=[bool]$t.Enabled;state=[int]$t.State;lastResult=[long]$t.LastTaskResult} | ConvertTo-Json -Compress } catch { $e=$_.Exception; while ($null -ne $e.InnerException) { $e=$e.InnerException }; if ($e.HResult -eq -2147024894 -or $e.HResult -eq -2147216625) { '{"registered":false,"enabled":false,"state":0,"lastResult":0}' } else { throw } }`,s=JSON.parse(await i("powershell.exe",["-NoProfile","-NonInteractive","-EncodedCommand",Buffer.from(u,"utf16le").toString("base64")]));if(!s||typeof s!="object"||!("registered"in s)||typeof s.registered!="boolean"||!("enabled"in s)||typeof s.enabled!="boolean"||!("state"in s)||typeof s.state!="number"||!("lastResult"in s)||typeof s.lastResult!="number")throw new Error("\u65E0\u6CD5\u8BFB\u53D6 Windows \u8BA1\u5212\u4EFB\u52A1\u72B6\u6001");return {registered:s.registered,enabled:s.enabled,state:s.state,lastResult:s.lastResult}}async function y(){try{return await access(e.registration),!0}catch{return false}}let f={async prepare(u){if(t==="linux"){await i("systemctl",["--user","show-environment"]);let s=(await i("loginctl",["show-user",String(n),"--property=Linger","--value"])).trim();if(s!=="yes"&&s!=="no")throw new Error("\u65E0\u6CD5\u786E\u5B9A\u7528\u6237 linger \u72B6\u6001");let w=await r("systemctl",["--user","is-active","graphical-session.target"]);return {...u,linuxTarget:Dt(s==="yes",w.code===0)}}return t==="darwin"&&await i("launchctl",["print",l]),t==="win32"&&await i("icacls.exe",[e.root,"/inheritance:r","/grant:r",`*${await g()}:(OI)(CI)F`]),u},async install(u){t==="darwin"?(await P(e.registration,Rt(u,e.config)),await i("launchctl",["enable",d])):t==="linux"?(await y()&&await i("systemctl",["--user","disable","codexly-web.service"]),await P(e.registration,Nt(u,e.config)),await i("systemctl",["--user","daemon-reload"]),await i("systemctl",["--user","enable","codexly-web.service"])):(await P(N(e.config),Buffer.from(`\uFEFF${Lt(u,e.config)}`,"utf16le")),await P(e.registration,Buffer.from(`\uFEFF${It(u,e.config,await g())}`,"utf16le")),await i("schtasks.exe",["/Create","/TN",await c(),"/XML",e.registration,"/F"]));},async stop(){if(t==="darwin"){if((await r("launchctl",["print",d])).code===0){await i("launchctl",["bootout",d]);let u=Date.now()+25e3;for(;(await r("launchctl",["print",d])).code===0;){if(Date.now()>=u)throw new Error("launchd \u672A\u5728 25 \u79D2\u5185\u5B8C\u6210\u5378\u8F7D\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5\u81EA\u542F\u52A8\u547D\u4EE4");await setTimeout(100);}}}else if(t==="linux")await y()&&(await i("systemctl",["--user","show","codexly-web.service","--property=ActiveState","--value"])).trim()!=="inactive"&&await i("systemctl",["--user","stop","codexly-web.service"]);else {let u=await m();u.registered&&[2,4].includes(u.state)&&await i("schtasks.exe",["/End","/TN",await c()]);}},async restart(){t==="darwin"?(await f.stop(),await i("launchctl",["bootstrap",l,e.registration])):t==="linux"?(await i("systemctl",["--user","reset-failed","codexly-web.service"]),await i("systemctl",["--user","restart","codexly-web.service"])):(await f.stop(),await i("schtasks.exe",["/Run","/TN",await c()]));},async remove(){await f.stop(),t==="linux"&&await y()&&await i("systemctl",["--user","disable","codexly-web.service"]),t==="win32"&&(await m()).registered&&await i("schtasks.exe",["/Delete","/TN",await c(),"/F"]),t==="win32"&&await rm(N(e.config),{force:true}),await rm(e.registration,{force:true}),t==="linux"&&await i("systemctl",["--user","daemon-reload"]);},async status(){if(t==="darwin"){let w=await y(),$=await r("launchctl",["print-disabled",l]);if($.code!==0)throw new Error(`\u65E0\u6CD5\u67E5\u8BE2 launchd: ${$.stderr}`);return {enabled:w&&!/"io\.codexly\.web"\s*=>\s*true/u.test($.stdout),detail:e.registration}}if(t==="linux"){let w=await r("systemctl",["--user","is-enabled","codexly-web.service"]);if(w.stderr.includes("Failed to connect"))throw new Error(w.stderr);return {enabled:w.code===0&&w.stdout.trim()==="enabled",detail:w.stdout.trim()||w.stderr.trim()}}let u=await c(),s=await m();return {enabled:s.registered&&s.enabled,registered:s.registered,detail:s.registered?`${u} (state=${String(s.state)}, lastResult=${String(s.lastResult)})`:"\u672A\u6CE8\u518C"}}};return f}function I(t,e){return e?t.split(e).join("[REDACTED]"):t}async function at(t,e,o=1024*1024){await b(dirname(t)),await appendFile(t,"",{mode:384}),process.platform!=="win32"&&await chmod(t,384);let r=(await stat(t)).size,n=Promise.resolve(),l=0,d;return {write(a){let i=Buffer.from(`${new Date().toISOString()} ${I(a,e).trimEnd()}
47
+ `),g=i.subarray(Math.max(0,i.length-Math.min(o,8192)));l+g.length>65536||(l+=g.length,n=n.then(async()=>{r+g.length>o&&(await rename(t,`${t}.1`),r=0),await appendFile(t,g,{mode:384}),r+=g.length;}).catch(c=>{d=c instanceof Error?c:new Error(String(c));}).finally(()=>{l-=g.length;}));},async flush(){if(await n,d)throw d}}}async function st(t){let e;try{e=await open(t,"r");let o=(await e.stat()).size,r=Buffer.alloc(Math.min(o,65536));return await e.read(r,0,r.length,Math.max(0,o-r.length)),r.toString("utf8")}catch(o){if(v(o))return `\u6682\u65E0\u540E\u53F0\u65E5\u5FD7\u3002
48
+ `;throw o}finally{await e?.close();}}function D(t){return createHash("sha256").update(JSON.stringify(t)).digest("hex")}async function S(t){try{let e=JSON.parse(await readFile(t.state,"utf8"));return !Number.isInteger(e.controlPort)||e.controlPort<1||e.controlPort>65535||!/^[a-f0-9]{64}$/u.test(e.token)?void 0:e}catch(e){if(v(e)||e instanceof SyntaxError)return;throw e}}async function lt(t,e,o){let r=await S(t);if(!(!r||!["starting","ready"].includes(r.phase)))return new Promise(n=>{let l=createConnection({host:"127.0.0.1",port:r.controlPort}),d="",a=i=>{l.destroy(),n(i);};l.setTimeout(1500,()=>{a();}),l.on("error",()=>{a();}),l.on("end",()=>{a();}),l.on("connect",()=>l.write(`${JSON.stringify({token:r.token,action:e})}
49
+ `)),l.on("data",i=>{if(d+=i.toString("utf8"),d.length>8192){a();return}if(d.includes(`
50
+ `))try{let g=JSON.parse(d.trim());if(g.pid!==r.pid||g.startedAt!==r.startedAt){a();return}a(g);}catch{a();}});})}function E(t,e){return lt(t,"status")}async function B(t){if(!await lt(t,"stop"))return;let o=Date.now()+2e4;for(;Date.now()<o;){if(!await E(t))return;await setTimeout(100);}throw new Error("\u540E\u53F0\u5B9E\u4F8B\u672A\u5728 20 \u79D2\u5185\u5B8C\u6210\u9000\u51FA\uFF0C\u8BF7\u67E5\u770B autostart logs \u540E\u91CD\u8BD5")}async function ct(t,e,o){if(await b(e.root),await E(e))throw new Error("\u81EA\u542F\u52A8\u5B9E\u4F8B\u5DF2\u5728\u8FD0\u884C\uFF0C\u8BF7\u4F7F\u7528 autostart restart");let r=await at(e.log,t.start.lanPassword),n=j(),l$1=new AbortController,d=()=>{l$1.abort();};n.signal.addEventListener("abort",d,{once:true});let a={pid:process.pid,controlPort:0,token:randomBytes(32).toString("hex"),startedAt:new Date().toISOString(),phase:"starting",lan:t.start.lan===true,configHash:D(t)},i=new Set,g=createServer(c=>{i.add(c),c.on("close",()=>i.delete(c)),c.on("error",()=>c.destroy()),c.setTimeout(1500,()=>c.destroy());let m="";c.on("data",y=>{if(m+=y.toString("utf8"),m.length>1024)return c.destroy();if(m.includes(`
51
+ `))try{let f=JSON.parse(m.trim()),u=Buffer.from(typeof f.token=="string"?f.token:""),s=Buffer.from(a.token);if(u.length!==s.length||!timingSafeEqual(u,s)||!["status","stop"].includes(f.action??""))return c.destroy();let{token:w,controlPort:$,...mt}=a;c.end(`${JSON.stringify(mt)}
52
+ `,()=>{f.action==="stop"&&l$1.abort();});}catch{c.destroy();}});});g.maxConnections=16;try{await new Promise((m,y)=>{g.once("error",y),g.listen(0,"127.0.0.1",()=>{m();});}),a.controlPort=g.address().port,await h(e.state,a);let c=await o({options:{...t.start,noOpen:!0},environment:{...process.env,...t.environment},background:!0,signal:l$1.signal,output:l(r.write,r.write,!1),onReady:async({port:m})=>{a.phase="ready",a.port=m,await h(e.state,a);}});return a.phase=c===0?"stopped":"failed",c}catch(c){return a.phase="failed",a.error=I(c instanceof Error?c.message:String(c),t.start.lanPassword),r.write(`[\u9519\u8BEF] ${a.error}`),1}finally{for(let c of i)c.destroy();g.listening&&await new Promise(c=>g.close(()=>{c();})),n.signal.removeEventListener("abort",d),n.cleanup(),await h(e.state,a),await r.flush();}}var Qt=`Usage: codexly autostart <command> [options]
53
+
54
+ Manage Web startup after the current user logs in. Never opens a browser.
55
+ Requires a stable global npm installation and Node.js 24+.
56
+
57
+ Commands:
58
+ enable Register or update login startup; starts on the next login.
59
+ status Show registration, readiness, actual URLs, and errors.
60
+ logs Show the last 64 KiB of the bounded background log.
61
+ credentials Explicitly reveal the saved LAN password.
62
+ restart Restart the registered service and wait for readiness.
63
+ disable Unregister and stop the managed instance; retain configuration.
64
+ repair Refresh Node/package paths, preserving saved startup settings.
65
+
66
+ Enable options:
67
+ --now Apply the configuration and start immediately.
68
+ --lan Listen on all interfaces (default: loopback only).
69
+ --port <port> Initial TCP port (default: 3210); skip occupied ports.
70
+ --lan-password <password> Save a custom strong LAN password (requires --lan).
71
+ Otherwise generate once and reuse on future logins.
72
+ --session-ttl <duration> LAN session lifetime (requires --lan).
73
+ --allowed-host <domain> Allow an exact proxy domain; may be repeated.
74
+ --codex-bin <path> Persist an absolute Codex executable path.
75
+ --codex-home <path> Persist the Codex data directory.
76
+ --workspace <path> Persist workspace roots; may be repeated.
77
+
78
+ Repair options:
79
+ --now Restart after repairing paths.
80
+
81
+ Configuration changes apply on restart or next login. LAN sessions end on restart.
82
+ Disable before uninstalling the npm package. No administrator privileges required
83
+ under normal per-user system policies. Linux linger requires a graphical session.
84
+ `;async function Vt(t){let e="\u8BF7\u5148\u6267\u884C npm install --global @bryanhu/codexly@latest\uFF0C\u518D\u4F7F\u7528\u5168\u5C40 codexly \u914D\u7F6E\u81EA\u542F\u52A8";if(Number(process.versions.node.split(".")[0])<24)throw new Error("\u81EA\u542F\u52A8\u9700\u8981 Node.js 24 \u6216\u66F4\u9AD8\u7248\u672C");if(/(?:^|[/\\])(?:_npx|_pnpx|dlx)(?:[/\\]|$)/u.test(t.cli))throw new Error(e);let o=a(["root","--global"],process.platform,t.node),r=await L(o.command,o.args);if(r.code!==0)throw new Error(`${e}\uFF08\u65E0\u6CD5\u8BFB\u53D6 npm \u5168\u5C40\u76EE\u5F55\uFF09`);let n=r.stdout.trim();try{let l=await realpath(join(n,"@bryanhu","codexly","dist","cli.js"));if(await realpath(t.cli)!==l)throw new Error(e);if(await access(t.node),JSON.parse(await readFile(join(dirname(dirname(l)),"package.json"),"utf8")).name!=="@bryanhu/codexly")throw new Error(e);t.cli=l;}catch{throw new Error(e)}}function Zt(){let t=homedir(),e=V(process.platform,t,process.env),o=process.platform,r={node:process.execPath,cli:resolve(process.argv[1]??""),home:t,cwd:process.cwd(),environment:process.env};return {paths:e,platform:o,runtime:r,adapter:ot(o,e),validateInstallation:()=>Vt(r)}}async function te(t,e){await b(t.root);let o=join(t.root,"operation.lock"),r;try{r=await open(o,"wx",384);}catch(n){if(n.code!=="EEXIST")throw n;let l=Number(await readFile(o,"utf8"));if(!Number.isInteger(l)||l<1)throw new Error(`\u81EA\u542F\u52A8\u64CD\u4F5C\u9501\u65E0\u6548\uFF0C\u8BF7\u68C0\u67E5 ${o}`,{cause:n});let d=true;try{process.kill(l,0);}catch(a){d=a.code!=="ESRCH";}if(d)throw new Error("\u53E6\u4E00\u4E2A\u81EA\u542F\u52A8\u914D\u7F6E\u64CD\u4F5C\u6B63\u5728\u8FD0\u884C\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5",{cause:n});await rm(o,{force:true}),r=await open(o,"wx",384);}try{return await r.writeFile(String(process.pid)),await e()}finally{await r.close(),await rm(o,{force:true});}}async function ee(t,e,o){let{adapter:r,paths:n}=o,l=e?(await r.status()).enabled:false,d=await r.prepare(t);try{await h(n.config,d),await r.install(d);}catch(a){try{e?(await h(n.config,e),l?await r.install(e):await r.remove()):(await r.remove(),await rm(n.config,{force:!0}));}catch(i){throw new AggregateError([a,i],`\u6CE8\u518C\u5931\u8D25\u4E14\u56DE\u6EDA\u672A\u5B8C\u6210\uFF0C\u8BF7\u8FD0\u884C autostart status \u68C0\u67E5\u3002${String(a)}\uFF1B${String(i)}`,{cause:i})}throw a}}async function ft(t,e){if(!(await t.adapter.status()).enabled)throw new Error("\u81EA\u542F\u52A8\u672A\u542F\u7528\uFF0C\u8BF7\u5148\u8FD0\u884C autostart enable");await B(t.paths);let o=Date.now();await t.adapter.restart(),e.info("\u6B63\u5728\u7B49\u5F85\u540E\u53F0\u670D\u52A1\u5C31\u7EEA\uFF0C\u9996\u6B21\u542F\u52A8\u53EF\u80FD\u8F83\u6162\uFF08\u6700\u591A\u7B49\u5F85 120 \u79D2\uFF09\u3002");let r=Date.now()+12e4;for(;Date.now()<r;){let l=await E(t.paths);if(l?.phase==="ready"){e.success(`\u540E\u53F0\u670D\u52A1\u5DF2\u5C31\u7EEA\uFF1Ahttp://127.0.0.1:${String(l.port)}`);return}if(!l){let d=await S(t.paths);if(d?.phase==="failed"&&Date.parse(d.startedAt)>=o)throw new Error(`\u540E\u53F0\u670D\u52A1\u542F\u52A8\u5931\u8D25\uFF1A${d.error??"\u8BF7\u8FD0\u884C autostart logs"}`)}await setTimeout(250);}let n=await S(t.paths);throw new Error(`\u670D\u52A1\u5C1A\u672A\u5C31\u7EEA\uFF0C\u8BF7\u8FD0\u884C autostart status \u6216 autostart logs\u3002${n?.error??"\u542F\u52A8\u7B49\u5F85\u8D85\u8FC7 120 \u79D2"}`)}async function _e(t,e,o,r){let n=t[0]??"",l=["enable","status","logs","credentials","restart","disable","repair","run"];if(t.length===0||t.length===1&&["--help","-h"].includes(n)||t.length===2&&l.includes(n)&&["--help","-h"].includes(t[1]??""))return e.plain(Qt),0;if(!n||!l.includes(n))throw new Error(`\u672A\u77E5\u81EA\u542F\u52A8\u547D\u4EE4: ${n}`);let d=r??Zt(),{paths:a,runtime:i,adapter:g}=d;if(n==="run"){if(t.length!==3||t[1]!=="--config"||!t[2]||!isAbsolute(t[2]))throw new Error("\u5185\u90E8\u542F\u52A8\u5165\u53E3\u9700\u8981 --config <\u7EDD\u5BF9\u8DEF\u5F84>");let f=resolve(t[2]),u={...a,root:dirname(f),config:f,state:join(dirname(f),"runtime.json"),log:join(dirname(f),"service.log")},s=await A(f);if(!s)throw new Error("\u81EA\u542F\u52A8\u914D\u7F6E\u4E0D\u5B58\u5728\uFF0C\u8BF7\u8FD0\u884C autostart repair");return ct(s,u,o)}let c=t.slice(1);if(!["enable","repair"].includes(n)&&c.length>0)throw new Error(`\u672A\u77E5\u9009\u9879: ${String(c[0])}`);if(n==="logs")return e.plain(await st(a.log)),0;if(n==="credentials"){let f=await A(a.config);if(!f?.start.lanPassword)throw new Error("\u5C1A\u672A\u914D\u7F6E LAN \u81EA\u542F\u52A8\u5BC6\u7801");return e.plain(`${f.start.lanPassword}
85
+ `),0}if(n==="status"){let f=await A(a.config),u=await g.status(),s=await E(a);if(e.info(`\u767B\u5F55\u81EA\u542F\u52A8: ${u.enabled?"\u5DF2\u542F\u7528":"\u672A\u542F\u7528"}`),e.info(`\u8FD0\u884C\u72B6\u6001: ${s?.phase==="ready"?"\u5DF2\u5C31\u7EEA":s?"\u542F\u52A8\u4E2D":"\u672A\u8FD0\u884C"}`),e.info(`\u914D\u7F6E: ${a.config}
86
+ \u65E5\u5FD7: ${a.log}
87
+ \u7CFB\u7EDF\u670D\u52A1: ${u.detail}`),f){e.info(`\u4E0B\u6B21\u542F\u52A8\u6A21\u5F0F: ${f.start.lan?"LAN":"\u672C\u673A"}\uFF1B\u8D77\u59CB\u7AEF\u53E3: ${String(f.start.port)}\uFF1B\u81EA\u52A8\u6253\u5F00\u6D4F\u89C8\u5668: \u5426`);for(let w of [f.node,f.cli,...f.start.codexBin?[f.start.codexBin]:[]])try{await access(w);}catch{e.warning(`\u542F\u52A8\u6587\u4EF6\u4E0D\u5B58\u5728: ${w}\uFF1B\u8BF7\u8FD0\u884C autostart repair \u6216\u91CD\u65B0 enable`);}s&&s.configHash!==D(f)&&e.warning("\u4FDD\u5B58\u7684\u914D\u7F6E\u5C1A\u672A\u5E94\u7528\u5230\u8FD0\u884C\u5B9E\u4F8B\uFF0C\u8BF7\u8FD0\u884C autostart restart\u3002");}if(s)e.info(`PID: ${String(s.pid)}\uFF1B\u542F\u52A8\u65F6\u95F4: ${s.startedAt}\uFF1B\u8FD0\u884C\u6A21\u5F0F: ${s.lan?"LAN":"\u672C\u673A"}`),s.port&&e.info([`http://127.0.0.1:${String(s.port)}`,...s.lan?p(s.port):[]].join(`
88
+ `));else {let w=await S(a);w?.error?e.warning(`\u6700\u8FD1\u9519\u8BEF: ${w.error}`):w&&["ready","starting"].includes(w.phase)&&e.warning("\u4E0A\u6B21\u8FDB\u7A0B\u5DF2\u9000\u51FA\u6216\u63A7\u5236\u901A\u9053\u4E0D\u53EF\u7528\uFF0C\u8BF7\u67E5\u770B\u65E5\u5FD7\u548C\u7CFB\u7EDF\u670D\u52A1\u72B6\u6001\u3002");}return 0}let{now:m,...y}=f(c,n==="enable"?h$1:new Set,n==="enable"?new Set(["--lan","--now"]):new Set(["--now"]));return te(a,async()=>{if(n==="disable")return await B(a),await g.remove(),e.success("\u5DF2\u505C\u6B62\u6258\u7BA1\u5B9E\u4F8B\u5E76\u53D6\u6D88\u767B\u5F55\u81EA\u542F\u52A8\uFF1B\u914D\u7F6E\u548C\u51ED\u636E\u4FDD\u7559\u3002"),0;if(n==="restart")return await ft(d,e),0;await d.validateInstallation();let f=await A(a.config);if(n==="repair"&&!f)throw new Error("\u6CA1\u6709\u53EF\u4FEE\u590D\u7684\u81EA\u542F\u52A8\u914D\u7F6E\uFF0C\u8BF7\u5148\u8FD0\u884C autostart enable");let u=n==="repair"&&f?{...f,node:i.node,cli:i.cli,environment:i.environment.PATH?{PATH:i.environment.PATH}:{}}:tt(y,i,f);return u.start.allowedHosts&&(u.start.allowedHosts=u.start.allowedHosts.map(h$2)),u.start.codexBin&&await access(u.start.codexBin),await ee(u,f,d),e.success(n==="repair"?"\u5DF2\u4FEE\u590D\u81EA\u542F\u52A8\u8DEF\u5F84\u3002":"\u5DF2\u914D\u7F6E\u7528\u6237\u767B\u5F55\u81EA\u542F\u52A8\uFF0C\u9ED8\u8BA4\u4E0D\u6253\u5F00\u6D4F\u89C8\u5668\u3002"),u.start.lan&&e.info("LAN \u5BC6\u7801\u5DF2\u4FDD\u5B58\u5728\u7528\u6237\u79C1\u6709\u914D\u7F6E\u4E2D\uFF1B\u4F7F\u7528 autostart credentials \u67E5\u770B\u3002"),m?await ft(d,e):e.info("\u914D\u7F6E\u5C06\u5728\u4E0B\u6B21\u767B\u5F55\u6216 autostart restart \u540E\u751F\u6548\u3002"),0})}export{Qt as AUTOSTART_HELP,_e as runAutostartCommand,Vt as validateGlobalInstallation};
@@ -1 +1 @@
1
- import {createRequire}from'node:module';export{f as CatalogSearchService,t as CompletedTasksQueryError,b as EngineProjectRouter,w as McpElicitationMappingError,j as PendingRequestResolutionError,m as ProjectTodoError,C as RetainedWorkBudget,A as TaskSnapshotBusyError,k as TaskSubmissionError,i as WorkbenchPetProviderError,E as boundTaskTitleInput,e as catalogSearchCursor,c as checkSearchCancellation,o as collectQuestionGroups,r as deleteArchivedTasks,D as estimateRetainedBytes,p as formatQuestionAnswers,s as listTaskCatalog,a as localTaskMetadata,x as mapMcpElicitationFormFields,y as mapMcpElicitationSafeUrl,z as mcpElicitationContentMatchesRequest,v as normalizeCustomModelReasoning,G as parseTaskTitle,u as queryCompletedTasks,H as readGenerationDefaults,B as readTaskWithCheckpoint,q as restoreAsyncQuestionAnswers,n as saveProjectTodo,d as searchQuery,g as searchTextMatches,h as searchTextSnippet,l as submitTask,F as taskTitlePrompt}from'../chunk-VBTBWY72.js';import'../chunk-YXJGRSCL.js';createRequire(import.meta.url);
1
+ import {createRequire}from'node:module';export{f as CatalogSearchService,t as CompletedTasksQueryError,b as EngineProjectRouter,w as McpElicitationMappingError,j as PendingRequestResolutionError,m as ProjectTodoError,C as RetainedWorkBudget,A as TaskSnapshotBusyError,k as TaskSubmissionError,i as WorkbenchPetProviderError,E as boundTaskTitleInput,e as catalogSearchCursor,c as checkSearchCancellation,o as collectQuestionGroups,r as deleteArchivedTasks,D as estimateRetainedBytes,p as formatQuestionAnswers,s as listTaskCatalog,a as localTaskMetadata,x as mapMcpElicitationFormFields,y as mapMcpElicitationSafeUrl,z as mcpElicitationContentMatchesRequest,v as normalizeCustomModelReasoning,G as parseTaskTitle,u as queryCompletedTasks,H as readGenerationDefaults,B as readTaskWithCheckpoint,q as restoreAsyncQuestionAnswers,n as saveProjectTodo,d as searchQuery,g as searchTextMatches,h as searchTextSnippet,l as submitTask,F as taskTitlePrompt}from'../chunk-LZBJFLMK.js';import'../chunk-YXJGRSCL.js';createRequire(import.meta.url);
@@ -1 +1 @@
1
- import {createRequire}from'node:module';export{Vb as AGENT_FILE_ACCEPT,Ub as AGENT_IMAGE_ACCEPT,_d as AccessModeSchema,$d as AccessStatusResponseSchema,Of as AddAgentQueuedSubmissionRequestSchema,Pf as AddAgentQueuedSubmissionResponseSchema,Ca as AddProjectRequestSchema,Da as AddProjectResponseSchema,Yc as AgentActivityItemSchema,_c as AgentApprovalReviewActionSchema,$c as AgentApprovalReviewItemSchema,Zc as AgentApprovalReviewStatusSchema,zd as AgentApprovalsReviewerSchema,Yb as AgentAttachmentKindSchema,Xb as AgentAttachmentMediaTypeSchema,ed as AgentAttachmentSchema,fd as AgentAttachmentUploadResponseSchema,ic as AgentBackgroundTerminalPageSchema,hc as AgentBackgroundTerminalSchema,Le as AgentCapabilitiesSchema,Cd as AgentCollaborationModeSchema,gc as AgentCommandItemSchema,fc as AgentCommandOutputOmissionSchema,jh as AgentCommandSchema,Nd as AgentContextUsageSchema,Eb as AgentEngineOptionsSchema,kh as AgentEngineProfileSchema,zb as AgentEngineSchema,_e as AgentEventEnvelopeProperties,rg as AgentEventSchema,Vc as AgentFileChangeItemSchema,Qa as AgentFileChangeSchema,xd as AgentGlobalApprovalPolicySchema,Ed as AgentGlobalSettingsResponseSchema,Dd as AgentGlobalSettingsSchema,ve as AgentGoalSchema,ue as AgentGoalStatusSchema,ud as AgentGranularApprovalConfigSchema,vd as AgentGranularApprovalPolicySchema,Wb as AgentImageMediaTypeSchema,bd as AgentItemSchema,Jb as AgentItemStatusSchema,id as AgentMcpServerConnectionStatusSchema,kd as AgentMcpServerFailureReasonSchema,md as AgentMcpServerPageSchema,ld as AgentMcpServerSchema,jd as AgentMcpServerStartupStatusSchema,$b as AgentMessageAttachmentSchema,dc as AgentMessageItemSchema,cc as AgentMessagePhaseSchema,Zb as AgentMessageSkillSchema,Ie as AgentModelPageSchema,Md as AgentModelSchema,$f as AgentMutationErrorCodeSchema,ag as AgentMutationErrorSchema,Xc as AgentPlanItemSchema,De as AgentPlanSchema,Ce as AgentPlanStepSchema,Be as AgentPlanStepStatusSchema,Hg as AgentPreferencesSchema,Gd as AgentProjectDefaultsResponseSchema,Fd as AgentProjectDefaultsSchema,od as AgentPromptInputSchema,Oe as AgentProviderAccountSchema,We as AgentProviderConnectionMutationResponseSchema,Xe as AgentProviderConnectionRecordSchema,Ne as AgentProviderConnectionStateSchema,Qe as AgentProviderConnectionStatusSchema,Me as AgentProviderModeSchema,Pe as AgentProviderPendingLoginSchema,sd as AgentQueuedSubmissionListSchema,rd as AgentQueuedSubmissionPageSchema,qd as AgentQueuedSubmissionSchema,pd as AgentQueuedSubmissionStatusSchema,Ld as AgentReasoningEffortOptionSchema,ec as AgentReasoningItemSchema,ad as AgentReviewItemSchema,Kb as AgentReviewTargetSchema,Ad as AgentSandboxModeSchema,Je as AgentSkillPageSchema,nd as AgentSkillReferenceSchema,hd as AgentSkillSchema,gd as AgentSkillScopeSchema,Gb as AgentTaskBaseSchema,mf as AgentTaskCatalogSchema,He as AgentTaskPageSchema,Ib as AgentTaskSchema,Hd as AgentTaskSettingsResponseSchema,Bd as AgentTaskSettingsSchema,zg as AgentTaskSnapshotResponseSchema,Ee as AgentTaskSnapshotSchema,Hb as AgentThreadConfigurationSchema,Wc as AgentToolItemSchema,yd as AgentTurnApprovalPolicySchema,Kd as AgentTurnOptionsSchema,dd as AgentTurnSchema,cd as AgentTurnStatusSchema,Zg as AnswerAsyncQuestionRequestSchema,$g as AnswerAsyncQuestionResponseSchema,_g as AnswerAsyncQuestionResultSchema,yc as AppInfoResponseSchema,vc as AppUpdateProgressPhaseSchema,xc as AppUpdateProgressResponseSchema,wc as AppUpdateProgressSchema,uc as AppUpdateStatusSchema,tf as ArchiveAgentTaskRequestSchema,uf as ArchiveAgentTaskResponseSchema,Xg as AsyncQuestionGroupSchema,Yg as AsyncQuestionPageSchema,Wg as AsyncQuestionSchema,Lg as BingWallpaperCatalogSchema,Kg as BingWallpaperSchema,Ab as CLAUDE_MODEL_OPTIONS,ia as CODEXLY_USER_AGENT,Ve as CancelProviderLoginRequestSchema,lh as ClaudeExtensionKindSchema,ph as ClaudeExtensionMutationSchema,oh as ClaudeExtensionPageSchema,nh as ClaudeExtensionSchema,mh as ClaudeExtensionScopeSchema,Bb as ClaudePermissionModeSchema,Cb as ClaudeSettingsSchema,tc as ClaudeVersionSchema,ye as ClearAgentGoalResponseSchema,me as CommandApprovalPendingRequestSchema,if as CommandOutputDeltaEventSchema,kb as CommitProjectChangesRequestSchema,ob as CommitProjectChangesResponseSchema,Cf as CompactAgentTaskRequestSchema,Df as CompactAgentTaskResponseSchema,ch as CompletedTasksPageSchema,bh as CompletedTasksQuerySchema,Te as ConfigureCustomProviderRequestSchema,Ue as ConfigureCustomProviderResponseSchema,Fc as ConfiguredMcpServerPageSchema,Ec as ConfiguredMcpServerSchema,wg as ConnectionReadySchema,ab as CreateProjectBranchRequestSchema,_ as CreateProjectDirectoryRequestSchema,$ as CreateProjectDirectoryResponseSchema,db as CreateProjectWorktreeRequestSchema,gb as CreateProjectWorktreeResponseSchema,hb as CreateTaskWorktreeResponseSchema,wd as DEFAULT_AGENT_GRANULAR_APPROVAL_POLICY,Db as DEFAULT_CLAUDE_SETTINGS,td as DEFAULT_GENERATION_MODEL,Sf as DeleteAgentQueuedSubmissionResponseSchema,xf as DeleteAgentTaskRequestSchema,yf as DeleteAgentTaskResponseSchema,rc as DeleteArchivedTasksRequestSchema,sc as DeleteArchivedTasksResponseSchema,vb as DeleteProjectFileRequestSchema,wb as DeleteProjectFileResponseSchema,Ug as DeleteProjectTodoRequestSchema,Vg as DeleteProjectTodoResponseSchema,Yd as DeleteScheduledTaskResponseSchema,ah as DismissAsyncQuestionsRequestSchema,vg as EventBatchSchema,Ze as EventCheckpointSchema,yg as EventStreamMessageSchema,Cg as EventStreamMetricsResponseSchema,Bg as EventStreamProjectMetricsSchema,ke as FileChangeApprovalPendingRequestSchema,fg as FileChangeUpdatedEventSchema,va as FilesystemRootSchema,Ef as ForkAgentTaskRequestSchema,Ff as ForkAgentTaskResponseSchema,ib as GenerateCommitMessageRequestSchema,jb as GenerateCommitMessageResponseSchema,mb as GitRemoteStateSchema,Dg as GlobalInstructionsSchema,kc as GlobalSearchKindSchema,kf as GoalClearedEventSchema,ng as GoalUpdatedEventSchema,Ke as HealthResponseSchema,Jg as HistoryCompressionResultSchema,za as HostFileEntrySchema,xa as HostFileKindSchema,Aa as HostFileListingSchema,ya as HostFileQuerySchema,Ba as ImportHostAttachmentRequestSchema,zc as InstallAppUpdateRequestSchema,Ac as InstallAppUpdateResponseSchema,Dc as InstalledSkillPageSchema,Cc as InstalledSkillSchema,Zf as InterruptAgentTurnRequestSchema,_f as InterruptAgentTurnResponseSchema,ig as ItemCompletedEventSchema,jg as ItemStartedEventSchema,ce as LogoutAccessResponseSchema,Rb as MAX_AGENT_ATTACHMENT_BYTES,tg as MAX_AGENT_EVENT_BYTES,Lb as MAX_AGENT_FILE_BYTES,Mb as MAX_AGENT_FILE_TOTAL_BYTES,Sb as MAX_AGENT_HISTORY_IMAGES,Tb as MAX_AGENT_HISTORY_IMAGE_TOTAL_BYTES,Ob as MAX_AGENT_IMAGES,Nb as MAX_AGENT_IMAGE_BYTES,Pb as MAX_AGENT_IMAGE_TOTAL_BYTES,Qb as MAX_AGENT_TEXT_BYTES,ug as MAX_EVENT_BATCH_BYTES,sg as MAX_EVENT_BATCH_SIZE,bg as MAX_REALTIME_DIFF_BYTES,cg as MAX_REALTIME_FILE_CHANGES,dh as MAX_TEXT_FILE_BYTES,ee as McpElicitationFieldSchema,de as McpElicitationOptionSchema,pe as McpElicitationPendingRequestSchema,fe as McpElicitationResolutionSchema,gg as McpServerStatusUpdatedEventSchema,Fg as MemorySettingsSchema,Gg as MemorySettingsUpdateSchema,$e as MessageDeltaEventSchema,Ag as NavigableAgentTaskResponseSchema,Pc as OfficialPluginAppSchema,Oc as OfficialPluginAssetSchema,Lc as OfficialPluginAuthPolicySchema,Qc as OfficialPluginDetailSchema,Sc as OfficialPluginInstallResponseSchema,Rc as OfficialPluginInstallResultSchema,Nc as OfficialPluginPageSchema,Mc as OfficialPluginSummarySchema,Uc as OfficialPluginUninstallResponseSchema,Tc as OfficialPluginUninstallResultSchema,ac as OpenAgentTaskAttachmentRequestSchema,bc as OpenAgentTaskAttachmentResponseSchema,Ja as OpenProjectRequestSchema,Ka as OpenProjectResponseSchema,Kc as OpenSkillDirectoryResponseSchema,ae as PairAccessRequestSchema,be as PairAccessResponseSchema,he as PendingApprovalDecisionSchema,le as PendingPermissionCategorySchema,og as PendingRequestCreatedEventSchema,qg as PendingRequestExpiredEventSchema,pg as PendingRequestResolvedEventSchema,re as PendingRequestSchema,ge as PendingRequestStatusSchema,ie as PendingUserInputOptionSchema,je as PendingUserInputQuestionSchema,ne as PermissionApprovalPendingRequestSchema,Ig as PersonalizationResetSchema,pf as PinAgentTaskRequestSchema,qf as PinAgentTaskResponseSchema,af as PlanDeltaEventSchema,mg as PlanUpdatedEventSchema,Bc as PluginReconcileResultSchema,ua as ProjectDirectoryEntrySchema,wa as ProjectDirectoryListingSchema,sa as ProjectDirectoryPathSchema,ta as ProjectDirectoryQuerySchema,sb as ProjectFileNameSchema,ra as ProjectFileReferencePathSchema,na as ProjectFileSearchEntrySchema,oa as ProjectFileSearchPageSchema,ma as ProjectFileSearchQuerySchema,la as ProjectFileSearchSessionIdSchema,pb as ProjectFileTreeEntrySchema,qb as ProjectFileTreeQuerySchema,rb as ProjectFileTreeSchema,Za as ProjectGitCommitFileDiffQuerySchema,_a as ProjectGitCommitFileDiffSchema,Xa as ProjectGitCommitFileSchema,Ya as ProjectGitCommitFilesPageSchema,Wa as ProjectGitCommitFilesQuerySchema,Ta as ProjectGitCommitSchema,Va as ProjectGitHistoryPageSchema,Ua as ProjectGitHistoryQuerySchema,hf as ProjectGitMetadataChangedEventSchema,Sa as ProjectGitStatusQuerySchema,Ra as ProjectGitStatusSchema,cb as ProjectGitWorktreePageSchema,bb as ProjectGitWorktreeSchema,Ea as ProjectOpenAppIdSchema,Fa as ProjectOpenAppKindSchema,Ga as ProjectOpenAppSchema,Ia as ProjectOpenCapabilitiesResponseSchema,Ha as ProjectOpenPlatformSchema,Fe as ProjectPageSchema,ka as ProjectRelativePathSchema,T as ProjectRootIdSchema,U as ProjectRootInputSchema,X as ProjectRootInputsSchema,S as ProjectRootPathSchema,Y as ProjectRootQuerySchema,V as ProjectRootSchema,W as ProjectRootsSchema,ja as ProjectSchema,xb as ProjectSourceFileQuerySchema,yb as ProjectSourceFileSchema,eh as ProjectTextFileRevisionSchema,fh as ProjectTextFileSchema,Pg as ProjectTodoDraftSchema,Rg as ProjectTodoPageSchema,Sg as ProjectTodoResponseSchema,Qg as ProjectTodoSchema,fb as ProjectWorktreeMutationResponseSchema,Og as PromptDocumentPartSchema,jf as ProviderErrorEventSchema,lb as PushProjectCommitsRequestSchema,nb as PushProjectCommitsResponseSchema,gf as QueueChangedEventSchema,eg as ReasoningDeltaEventSchema,Gf as ReloadAgentMcpServersRequestSchema,Hf as ReloadAgentMcpServersResponseSchema,Oa as RemoveProjectRequestSchema,Pa as RemoveProjectResponseSchema,rf as RenameAgentTaskRequestSchema,sf as RenameAgentTaskResponseSchema,tb as RenameProjectFileRequestSchema,ub as RenameProjectFileResponseSchema,Ma as RenameProjectRequestSchema,Na as RenameProjectResponseSchema,Tf as ReorderAgentQueuedSubmissionsRequestSchema,Uf as ReorderAgentQueuedSubmissionsResponseSchema,La as ReorderProjectsRequestSchema,Ge as ReorderProjectsResponseSchema,se as ResolvePendingRequestRequestSchema,te as ResolvePendingRequestResponseSchema,xg as ResyncRequiredSchema,Af as ReviewAgentTaskRequestSchema,Bf as ReviewAgentTaskResponseSchema,Eg as SaveGlobalInstructionsSchema,gh as SaveProjectTextFileRequestSchema,hh as SaveProjectTextFileResponseSchema,Tg as SaveProjectTodoRequestSchema,Od as ScheduledTaskChangeSchema,Ud as ScheduledTaskInputSchema,Xd as ScheduledTaskMutationResponseSchema,Wd as ScheduledTaskPageSchema,Qd as ScheduledTaskPreviewRequestSchema,Rd as ScheduledTaskPreviewSchema,Td as ScheduledTaskRunSchema,Sd as ScheduledTaskRunStatusSchema,Pd as ScheduledTaskScheduleSchema,Vd as ScheduledTaskSchema,nc as SearchOccurrenceSchema,pc as SearchOccurrencesPageSchema,oc as SearchOccurrencesQuerySchema,mc as SearchTextRangeSchema,Jc as SetMcpServerEnabledResponseSchema,Ic as SetMcpServerEnabledResultSchema,Zd as SetScheduledTaskEnabledRequestSchema,Hc as SetSkillEnabledResponseSchema,Gc as SetSkillEnabledResultSchema,ff as SkillsChangedEventSchema,Vf as StartAgentQueuedSubmissionRequestSchema,Wf as StartAgentQueuedSubmissionResponseSchema,nf as StartAgentTaskRequestSchema,of as StartAgentTaskResponseSchema,Kf as StartAgentTurnRequestSchema,Lf as StartAgentTurnResponseSchema,Re as StartOfficialProviderLoginRequestSchema,Se as StartOfficialProviderLoginResponseSchema,Mf as SteerAgentTurnRequestSchema,Nf as SteerAgentTurnResponseSchema,Xf as StopAgentSessionRequestSchema,Yf as StopAgentSessionResponseSchema,pa as StopProjectFileSearchRequestSchema,qa as StopProjectFileSearchResponseSchema,Mg as SubmitTaskRequestSchema,Ng as SubmitTaskResponseSchema,$a as SwitchProjectBranchRequestSchema,eb as SwitchProjectWorktreeRequestSchema,Ae as TEMPORARY_TASK_API_PATH,ze as TEMPORARY_TASK_SCOPE_ID,lf as TaskCatalogQuerySchema,hg as TaskMetadataChangedEventSchema,cf as TaskNoticeEventSchema,ef as TaskRemovedEventSchema,qc as TaskSearchPageSchema,lc as TaskSearchQuerySchema,df as TaskStatusUpdatedEventSchema,jc as TerminateAgentBackgroundTerminalResponseSchema,qe as ToolApprovalPendingRequestSchema,bf as ToolProgressEventSchema,kg as TurnCompletedEventSchema,dg as TurnStartedEventSchema,vf as UnarchiveAgentTaskRequestSchema,wf as UnarchiveAgentTaskResponseSchema,zf as UnsubscribeAgentTaskResponseSchema,we as UpdateAgentGoalRequestSchema,xe as UpdateAgentGoalResponseSchema,Qf as UpdateAgentQueuedSubmissionRequestSchema,Rf as UpdateAgentQueuedSubmissionResponseSchema,Id as UpdateTaskSettingsAndDefaultsRequestSchema,Jd as UpdateTaskSettingsAndDefaultsResponseSchema,If as UploadAgentFeedbackRequestSchema,Jf as UploadAgentFeedbackResponseSchema,lg as UsageUpdatedEventSchema,oe as UserInputPendingRequestSchema,ih as WorkbenchChangeSchema,ca as WorkbenchPetAnimationFrameSchema,da as WorkbenchPetAnimationSchema,fa as WorkbenchPetCatalogResponseSchema,ea as WorkbenchPetDescriptorSchema,ga as WorkbenchPetDownloadRequestSchema,ha as WorkbenchPetDownloadResponseSchema,ba as WorkbenchPetFrameSchema,aa as WorkbenchPetSettingsSchema,Ye as isAgentFastModeAvailable,Z as isValidProjectDirectoryName,_b as stripLeadingAgentSkillReferences,Fb as taskEngine}from'../chunk-S7LPESTQ.js';export{b as wallTimeToUnix,a as zonedDateTime}from'../chunk-IV4NRE4S.js';import'../chunk-YXJGRSCL.js';createRequire(import.meta.url);
1
+ import {createRequire}from'node:module';export{Vb as AGENT_FILE_ACCEPT,Ub as AGENT_IMAGE_ACCEPT,_d as AccessModeSchema,$d as AccessStatusResponseSchema,Of as AddAgentQueuedSubmissionRequestSchema,Pf as AddAgentQueuedSubmissionResponseSchema,Ca as AddProjectRequestSchema,Da as AddProjectResponseSchema,Yc as AgentActivityItemSchema,_c as AgentApprovalReviewActionSchema,$c as AgentApprovalReviewItemSchema,Zc as AgentApprovalReviewStatusSchema,zd as AgentApprovalsReviewerSchema,Yb as AgentAttachmentKindSchema,Xb as AgentAttachmentMediaTypeSchema,ed as AgentAttachmentSchema,fd as AgentAttachmentUploadResponseSchema,ic as AgentBackgroundTerminalPageSchema,hc as AgentBackgroundTerminalSchema,Le as AgentCapabilitiesSchema,Cd as AgentCollaborationModeSchema,gc as AgentCommandItemSchema,fc as AgentCommandOutputOmissionSchema,jh as AgentCommandSchema,Nd as AgentContextUsageSchema,Eb as AgentEngineOptionsSchema,kh as AgentEngineProfileSchema,zb as AgentEngineSchema,_e as AgentEventEnvelopeProperties,rg as AgentEventSchema,Vc as AgentFileChangeItemSchema,Qa as AgentFileChangeSchema,xd as AgentGlobalApprovalPolicySchema,Ed as AgentGlobalSettingsResponseSchema,Dd as AgentGlobalSettingsSchema,ve as AgentGoalSchema,ue as AgentGoalStatusSchema,ud as AgentGranularApprovalConfigSchema,vd as AgentGranularApprovalPolicySchema,Wb as AgentImageMediaTypeSchema,bd as AgentItemSchema,Jb as AgentItemStatusSchema,id as AgentMcpServerConnectionStatusSchema,kd as AgentMcpServerFailureReasonSchema,md as AgentMcpServerPageSchema,ld as AgentMcpServerSchema,jd as AgentMcpServerStartupStatusSchema,$b as AgentMessageAttachmentSchema,dc as AgentMessageItemSchema,cc as AgentMessagePhaseSchema,Zb as AgentMessageSkillSchema,Ie as AgentModelPageSchema,Md as AgentModelSchema,$f as AgentMutationErrorCodeSchema,ag as AgentMutationErrorSchema,Xc as AgentPlanItemSchema,De as AgentPlanSchema,Ce as AgentPlanStepSchema,Be as AgentPlanStepStatusSchema,Hg as AgentPreferencesSchema,Gd as AgentProjectDefaultsResponseSchema,Fd as AgentProjectDefaultsSchema,od as AgentPromptInputSchema,Oe as AgentProviderAccountSchema,We as AgentProviderConnectionMutationResponseSchema,Xe as AgentProviderConnectionRecordSchema,Ne as AgentProviderConnectionStateSchema,Qe as AgentProviderConnectionStatusSchema,Me as AgentProviderModeSchema,Pe as AgentProviderPendingLoginSchema,sd as AgentQueuedSubmissionListSchema,rd as AgentQueuedSubmissionPageSchema,qd as AgentQueuedSubmissionSchema,pd as AgentQueuedSubmissionStatusSchema,Ld as AgentReasoningEffortOptionSchema,ec as AgentReasoningItemSchema,ad as AgentReviewItemSchema,Kb as AgentReviewTargetSchema,Ad as AgentSandboxModeSchema,Je as AgentSkillPageSchema,nd as AgentSkillReferenceSchema,hd as AgentSkillSchema,gd as AgentSkillScopeSchema,Gb as AgentTaskBaseSchema,mf as AgentTaskCatalogSchema,He as AgentTaskPageSchema,Ib as AgentTaskSchema,Hd as AgentTaskSettingsResponseSchema,Bd as AgentTaskSettingsSchema,zg as AgentTaskSnapshotResponseSchema,Ee as AgentTaskSnapshotSchema,Hb as AgentThreadConfigurationSchema,Wc as AgentToolItemSchema,yd as AgentTurnApprovalPolicySchema,Kd as AgentTurnOptionsSchema,dd as AgentTurnSchema,cd as AgentTurnStatusSchema,Zg as AnswerAsyncQuestionRequestSchema,$g as AnswerAsyncQuestionResponseSchema,_g as AnswerAsyncQuestionResultSchema,yc as AppInfoResponseSchema,vc as AppUpdateProgressPhaseSchema,xc as AppUpdateProgressResponseSchema,wc as AppUpdateProgressSchema,uc as AppUpdateStatusSchema,tf as ArchiveAgentTaskRequestSchema,uf as ArchiveAgentTaskResponseSchema,Xg as AsyncQuestionGroupSchema,Yg as AsyncQuestionPageSchema,Wg as AsyncQuestionSchema,Lg as BingWallpaperCatalogSchema,Kg as BingWallpaperSchema,Ab as CLAUDE_MODEL_OPTIONS,ia as CODEXLY_USER_AGENT,Ve as CancelProviderLoginRequestSchema,lh as ClaudeExtensionKindSchema,ph as ClaudeExtensionMutationSchema,oh as ClaudeExtensionPageSchema,nh as ClaudeExtensionSchema,mh as ClaudeExtensionScopeSchema,Bb as ClaudePermissionModeSchema,Cb as ClaudeSettingsSchema,tc as ClaudeVersionSchema,ye as ClearAgentGoalResponseSchema,me as CommandApprovalPendingRequestSchema,if as CommandOutputDeltaEventSchema,kb as CommitProjectChangesRequestSchema,ob as CommitProjectChangesResponseSchema,Cf as CompactAgentTaskRequestSchema,Df as CompactAgentTaskResponseSchema,ch as CompletedTasksPageSchema,bh as CompletedTasksQuerySchema,Te as ConfigureCustomProviderRequestSchema,Ue as ConfigureCustomProviderResponseSchema,Fc as ConfiguredMcpServerPageSchema,Ec as ConfiguredMcpServerSchema,wg as ConnectionReadySchema,ab as CreateProjectBranchRequestSchema,_ as CreateProjectDirectoryRequestSchema,$ as CreateProjectDirectoryResponseSchema,db as CreateProjectWorktreeRequestSchema,gb as CreateProjectWorktreeResponseSchema,hb as CreateTaskWorktreeResponseSchema,wd as DEFAULT_AGENT_GRANULAR_APPROVAL_POLICY,Db as DEFAULT_CLAUDE_SETTINGS,td as DEFAULT_GENERATION_MODEL,Sf as DeleteAgentQueuedSubmissionResponseSchema,xf as DeleteAgentTaskRequestSchema,yf as DeleteAgentTaskResponseSchema,rc as DeleteArchivedTasksRequestSchema,sc as DeleteArchivedTasksResponseSchema,vb as DeleteProjectFileRequestSchema,wb as DeleteProjectFileResponseSchema,Ug as DeleteProjectTodoRequestSchema,Vg as DeleteProjectTodoResponseSchema,Yd as DeleteScheduledTaskResponseSchema,ah as DismissAsyncQuestionsRequestSchema,vg as EventBatchSchema,Ze as EventCheckpointSchema,yg as EventStreamMessageSchema,Cg as EventStreamMetricsResponseSchema,Bg as EventStreamProjectMetricsSchema,ke as FileChangeApprovalPendingRequestSchema,fg as FileChangeUpdatedEventSchema,va as FilesystemRootSchema,Ef as ForkAgentTaskRequestSchema,Ff as ForkAgentTaskResponseSchema,ib as GenerateCommitMessageRequestSchema,jb as GenerateCommitMessageResponseSchema,mb as GitRemoteStateSchema,Dg as GlobalInstructionsSchema,kc as GlobalSearchKindSchema,kf as GoalClearedEventSchema,ng as GoalUpdatedEventSchema,Ke as HealthResponseSchema,Jg as HistoryCompressionResultSchema,za as HostFileEntrySchema,xa as HostFileKindSchema,Aa as HostFileListingSchema,ya as HostFileQuerySchema,Ba as ImportHostAttachmentRequestSchema,zc as InstallAppUpdateRequestSchema,Ac as InstallAppUpdateResponseSchema,Dc as InstalledSkillPageSchema,Cc as InstalledSkillSchema,Zf as InterruptAgentTurnRequestSchema,_f as InterruptAgentTurnResponseSchema,ig as ItemCompletedEventSchema,jg as ItemStartedEventSchema,ce as LogoutAccessResponseSchema,Rb as MAX_AGENT_ATTACHMENT_BYTES,tg as MAX_AGENT_EVENT_BYTES,Lb as MAX_AGENT_FILE_BYTES,Mb as MAX_AGENT_FILE_TOTAL_BYTES,Sb as MAX_AGENT_HISTORY_IMAGES,Tb as MAX_AGENT_HISTORY_IMAGE_TOTAL_BYTES,Ob as MAX_AGENT_IMAGES,Nb as MAX_AGENT_IMAGE_BYTES,Pb as MAX_AGENT_IMAGE_TOTAL_BYTES,Qb as MAX_AGENT_TEXT_BYTES,ug as MAX_EVENT_BATCH_BYTES,sg as MAX_EVENT_BATCH_SIZE,bg as MAX_REALTIME_DIFF_BYTES,cg as MAX_REALTIME_FILE_CHANGES,dh as MAX_TEXT_FILE_BYTES,ee as McpElicitationFieldSchema,de as McpElicitationOptionSchema,pe as McpElicitationPendingRequestSchema,fe as McpElicitationResolutionSchema,gg as McpServerStatusUpdatedEventSchema,Fg as MemorySettingsSchema,Gg as MemorySettingsUpdateSchema,$e as MessageDeltaEventSchema,Ag as NavigableAgentTaskResponseSchema,Pc as OfficialPluginAppSchema,Oc as OfficialPluginAssetSchema,Lc as OfficialPluginAuthPolicySchema,Qc as OfficialPluginDetailSchema,Sc as OfficialPluginInstallResponseSchema,Rc as OfficialPluginInstallResultSchema,Nc as OfficialPluginPageSchema,Mc as OfficialPluginSummarySchema,Uc as OfficialPluginUninstallResponseSchema,Tc as OfficialPluginUninstallResultSchema,ac as OpenAgentTaskAttachmentRequestSchema,bc as OpenAgentTaskAttachmentResponseSchema,Ja as OpenProjectRequestSchema,Ka as OpenProjectResponseSchema,Kc as OpenSkillDirectoryResponseSchema,ae as PairAccessRequestSchema,be as PairAccessResponseSchema,he as PendingApprovalDecisionSchema,le as PendingPermissionCategorySchema,og as PendingRequestCreatedEventSchema,qg as PendingRequestExpiredEventSchema,pg as PendingRequestResolvedEventSchema,re as PendingRequestSchema,ge as PendingRequestStatusSchema,ie as PendingUserInputOptionSchema,je as PendingUserInputQuestionSchema,ne as PermissionApprovalPendingRequestSchema,Ig as PersonalizationResetSchema,pf as PinAgentTaskRequestSchema,qf as PinAgentTaskResponseSchema,af as PlanDeltaEventSchema,mg as PlanUpdatedEventSchema,Bc as PluginReconcileResultSchema,ua as ProjectDirectoryEntrySchema,wa as ProjectDirectoryListingSchema,sa as ProjectDirectoryPathSchema,ta as ProjectDirectoryQuerySchema,sb as ProjectFileNameSchema,ra as ProjectFileReferencePathSchema,na as ProjectFileSearchEntrySchema,oa as ProjectFileSearchPageSchema,ma as ProjectFileSearchQuerySchema,la as ProjectFileSearchSessionIdSchema,pb as ProjectFileTreeEntrySchema,qb as ProjectFileTreeQuerySchema,rb as ProjectFileTreeSchema,Za as ProjectGitCommitFileDiffQuerySchema,_a as ProjectGitCommitFileDiffSchema,Xa as ProjectGitCommitFileSchema,Ya as ProjectGitCommitFilesPageSchema,Wa as ProjectGitCommitFilesQuerySchema,Ta as ProjectGitCommitSchema,Va as ProjectGitHistoryPageSchema,Ua as ProjectGitHistoryQuerySchema,hf as ProjectGitMetadataChangedEventSchema,Sa as ProjectGitStatusQuerySchema,Ra as ProjectGitStatusSchema,cb as ProjectGitWorktreePageSchema,bb as ProjectGitWorktreeSchema,Ea as ProjectOpenAppIdSchema,Fa as ProjectOpenAppKindSchema,Ga as ProjectOpenAppSchema,Ia as ProjectOpenCapabilitiesResponseSchema,Ha as ProjectOpenPlatformSchema,Fe as ProjectPageSchema,ka as ProjectRelativePathSchema,T as ProjectRootIdSchema,U as ProjectRootInputSchema,X as ProjectRootInputsSchema,S as ProjectRootPathSchema,Y as ProjectRootQuerySchema,V as ProjectRootSchema,W as ProjectRootsSchema,ja as ProjectSchema,xb as ProjectSourceFileQuerySchema,yb as ProjectSourceFileSchema,eh as ProjectTextFileRevisionSchema,fh as ProjectTextFileSchema,Pg as ProjectTodoDraftSchema,Rg as ProjectTodoPageSchema,Sg as ProjectTodoResponseSchema,Qg as ProjectTodoSchema,fb as ProjectWorktreeMutationResponseSchema,Og as PromptDocumentPartSchema,jf as ProviderErrorEventSchema,lb as PushProjectCommitsRequestSchema,nb as PushProjectCommitsResponseSchema,gf as QueueChangedEventSchema,eg as ReasoningDeltaEventSchema,Gf as ReloadAgentMcpServersRequestSchema,Hf as ReloadAgentMcpServersResponseSchema,Oa as RemoveProjectRequestSchema,Pa as RemoveProjectResponseSchema,rf as RenameAgentTaskRequestSchema,sf as RenameAgentTaskResponseSchema,tb as RenameProjectFileRequestSchema,ub as RenameProjectFileResponseSchema,Ma as RenameProjectRequestSchema,Na as RenameProjectResponseSchema,Tf as ReorderAgentQueuedSubmissionsRequestSchema,Uf as ReorderAgentQueuedSubmissionsResponseSchema,La as ReorderProjectsRequestSchema,Ge as ReorderProjectsResponseSchema,se as ResolvePendingRequestRequestSchema,te as ResolvePendingRequestResponseSchema,xg as ResyncRequiredSchema,Af as ReviewAgentTaskRequestSchema,Bf as ReviewAgentTaskResponseSchema,Eg as SaveGlobalInstructionsSchema,gh as SaveProjectTextFileRequestSchema,hh as SaveProjectTextFileResponseSchema,Tg as SaveProjectTodoRequestSchema,Od as ScheduledTaskChangeSchema,Ud as ScheduledTaskInputSchema,Xd as ScheduledTaskMutationResponseSchema,Wd as ScheduledTaskPageSchema,Qd as ScheduledTaskPreviewRequestSchema,Rd as ScheduledTaskPreviewSchema,Td as ScheduledTaskRunSchema,Sd as ScheduledTaskRunStatusSchema,Pd as ScheduledTaskScheduleSchema,Vd as ScheduledTaskSchema,nc as SearchOccurrenceSchema,pc as SearchOccurrencesPageSchema,oc as SearchOccurrencesQuerySchema,mc as SearchTextRangeSchema,Jc as SetMcpServerEnabledResponseSchema,Ic as SetMcpServerEnabledResultSchema,Zd as SetScheduledTaskEnabledRequestSchema,Hc as SetSkillEnabledResponseSchema,Gc as SetSkillEnabledResultSchema,ff as SkillsChangedEventSchema,Vf as StartAgentQueuedSubmissionRequestSchema,Wf as StartAgentQueuedSubmissionResponseSchema,nf as StartAgentTaskRequestSchema,of as StartAgentTaskResponseSchema,Kf as StartAgentTurnRequestSchema,Lf as StartAgentTurnResponseSchema,Re as StartOfficialProviderLoginRequestSchema,Se as StartOfficialProviderLoginResponseSchema,Mf as SteerAgentTurnRequestSchema,Nf as SteerAgentTurnResponseSchema,Xf as StopAgentSessionRequestSchema,Yf as StopAgentSessionResponseSchema,pa as StopProjectFileSearchRequestSchema,qa as StopProjectFileSearchResponseSchema,Mg as SubmitTaskRequestSchema,Ng as SubmitTaskResponseSchema,$a as SwitchProjectBranchRequestSchema,eb as SwitchProjectWorktreeRequestSchema,Ae as TEMPORARY_TASK_API_PATH,ze as TEMPORARY_TASK_SCOPE_ID,rh as TaskActivityPageSchema,qh as TaskActivitySnapshotSchema,lf as TaskCatalogQuerySchema,hg as TaskMetadataChangedEventSchema,cf as TaskNoticeEventSchema,ef as TaskRemovedEventSchema,qc as TaskSearchPageSchema,lc as TaskSearchQuerySchema,df as TaskStatusUpdatedEventSchema,jc as TerminateAgentBackgroundTerminalResponseSchema,sh as TokenUsageCountersSchema,th as TokenUsageQuerySchema,uh as TokenUsageResponseSchema,qe as ToolApprovalPendingRequestSchema,bf as ToolProgressEventSchema,kg as TurnCompletedEventSchema,dg as TurnStartedEventSchema,vf as UnarchiveAgentTaskRequestSchema,wf as UnarchiveAgentTaskResponseSchema,zf as UnsubscribeAgentTaskResponseSchema,we as UpdateAgentGoalRequestSchema,xe as UpdateAgentGoalResponseSchema,Qf as UpdateAgentQueuedSubmissionRequestSchema,Rf as UpdateAgentQueuedSubmissionResponseSchema,Id as UpdateTaskSettingsAndDefaultsRequestSchema,Jd as UpdateTaskSettingsAndDefaultsResponseSchema,If as UploadAgentFeedbackRequestSchema,Jf as UploadAgentFeedbackResponseSchema,lg as UsageUpdatedEventSchema,oe as UserInputPendingRequestSchema,ih as WorkbenchChangeSchema,ca as WorkbenchPetAnimationFrameSchema,da as WorkbenchPetAnimationSchema,fa as WorkbenchPetCatalogResponseSchema,ea as WorkbenchPetDescriptorSchema,ga as WorkbenchPetDownloadRequestSchema,ha as WorkbenchPetDownloadResponseSchema,ba as WorkbenchPetFrameSchema,aa as WorkbenchPetSettingsSchema,Ye as isAgentFastModeAvailable,Z as isValidProjectDirectoryName,_b as stripLeadingAgentSkillReferences,Fb as taskEngine}from'../chunk-W4XMPSQ6.js';export{b as wallTimeToUnix,a as zonedDateTime}from'../chunk-IV4NRE4S.js';import'../chunk-YXJGRSCL.js';createRequire(import.meta.url);
@@ -1 +1 @@
1
- import {createRequire}from'node:module';export{c as CLAUDE_CAPABILITIES,d as ClaudeAgentProvider,a as ClaudeConfiguration,e as ClaudeRuntime,b as claudeEnvironment}from'../../chunk-WE42CHL5.js';import'../../chunk-5YNWOUR2.js';import'../../chunk-OILMAASC.js';import'../../chunk-BXOL6SUO.js';import'../../chunk-VBTBWY72.js';import'../../chunk-S7LPESTQ.js';import'../../chunk-IV4NRE4S.js';import'../../chunk-YXJGRSCL.js';createRequire(import.meta.url);
1
+ import {createRequire}from'node:module';export{c as CLAUDE_CAPABILITIES,d as ClaudeAgentProvider,a as ClaudeConfiguration,e as ClaudeRuntime,b as claudeEnvironment}from'../../chunk-C64TCOGX.js';import'../../chunk-LRH4LRGC.js';import'../../chunk-OILMAASC.js';import'../../chunk-7G5JKKJQ.js';import'../../chunk-LZBJFLMK.js';import'../../chunk-W4XMPSQ6.js';import'../../chunk-IV4NRE4S.js';import'../../chunk-YXJGRSCL.js';createRequire(import.meta.url);
@@ -1 +1 @@
1
- import {createRequire}from'node:module';export{t as CodexAppServerExitedError,w as CodexAppServerProcess,v as CodexAppServerShutdownError,u as CodexAppServerSpawnError,y as CodexProjectRepository,a as CodexProtocolMappingError,p as CodexProviderConnectionError,q as CodexProviderConnectionService,r as CodexRuntimeProvider,z as CodexWorkbenchPetProvider,g as JsonlRpcClient,b as RpcConnectionClosedError,c as RpcProtocolError,e as RpcResponseError,f as RpcTimeoutError,d as RpcWriteQueueFullError,h as SUPPORTED_CODEX_VERSION,i as SUPPORTED_CODEX_VERSION_RANGE,k as checkCodexVersion,s as createCodexRuntimeProvider,A as createCodexWorkbenchPetProvider,B as createLocalCatalogClient,C as importCodexCatalog,j as locateCodexBinary,x as startCodexAppServer}from'../../chunk-UR6FEWGU.js';import'../../chunk-5YNWOUR2.js';import'../../chunk-OILMAASC.js';import'../../chunk-VBTBWY72.js';import'../../chunk-S7LPESTQ.js';import'../../chunk-IV4NRE4S.js';import'../../chunk-YXJGRSCL.js';createRequire(import.meta.url);
1
+ import {createRequire}from'node:module';export{t as CodexAppServerExitedError,w as CodexAppServerProcess,v as CodexAppServerShutdownError,u as CodexAppServerSpawnError,y as CodexProjectRepository,a as CodexProtocolMappingError,p as CodexProviderConnectionError,q as CodexProviderConnectionService,r as CodexRuntimeProvider,z as CodexWorkbenchPetProvider,g as JsonlRpcClient,b as RpcConnectionClosedError,c as RpcProtocolError,e as RpcResponseError,f as RpcTimeoutError,d as RpcWriteQueueFullError,h as SUPPORTED_CODEX_VERSION,i as SUPPORTED_CODEX_VERSION_RANGE,k as checkCodexVersion,s as createCodexRuntimeProvider,A as createCodexWorkbenchPetProvider,B as createLocalCatalogClient,C as importCodexCatalog,j as locateCodexBinary,x as startCodexAppServer}from'../../chunk-RVNRCEGR.js';import'../../chunk-LRH4LRGC.js';import'../../chunk-OILMAASC.js';import'../../chunk-LZBJFLMK.js';import'../../chunk-W4XMPSQ6.js';import'../../chunk-IV4NRE4S.js';import'../../chunk-YXJGRSCL.js';createRequire(import.meta.url);
@@ -1 +1 @@
1
- import {createRequire}from'node:module';export{g as AccessSessionService,a as AgentEventStream,b as GitCommitError,d as GitCommitReviewError,k as LocalProjectRepository,j as SqliteStateRepository,c as commitSelectedProjectChanges,i as createCodexlyServer,h as normalizeAllowedHost,f as readProjectGitCommitFileDiff,e as readProjectGitCommitFiles}from'../chunk-PZZN5FBZ.js';import'../chunk-UR6FEWGU.js';import'../chunk-Q2VQAUSH.js';import'../chunk-5YNWOUR2.js';import'../chunk-OILMAASC.js';import'../chunk-BXOL6SUO.js';import'../chunk-VBTBWY72.js';import'../chunk-S7LPESTQ.js';import'../chunk-IV4NRE4S.js';import'../chunk-YXJGRSCL.js';createRequire(import.meta.url);
1
+ import {createRequire}from'node:module';export{g as AccessSessionService,a as AgentEventStream,b as GitCommitError,d as GitCommitReviewError,k as LocalProjectRepository,j as SqliteStateRepository,c as commitSelectedProjectChanges,i as createCodexlyServer,h as normalizeAllowedHost,f as readProjectGitCommitFileDiff,e as readProjectGitCommitFiles}from'../chunk-DW7IKH5A.js';import'../chunk-RVNRCEGR.js';import'../chunk-QE3SPWGR.js';import'../chunk-LRH4LRGC.js';import'../chunk-OILMAASC.js';import'../chunk-7G5JKKJQ.js';import'../chunk-LZBJFLMK.js';import'../chunk-W4XMPSQ6.js';import'../chunk-IV4NRE4S.js';import'../chunk-YXJGRSCL.js';createRequire(import.meta.url);
@@ -1,5 +1,5 @@
1
- import {createRequire}from'node:module';import {a}from'./chunk-Q2VQAUSH.js';import'./chunk-YXJGRSCL.js';import {mkdirSync,existsSync,rmSync,linkSync,readdirSync,lstatSync,copyFileSync,constants,readFileSync,writeFileSync,renameSync}from'fs';import {dirname,resolve,join}from'path';import {randomUUID,createHash}from'crypto';import q from'better-sqlite3';import {workerData,parentPort}from'worker_threads';createRequire(import.meta.url);
2
- var h={version:1,importSql:`CREATE TEMP VIEW storage_source_projects AS SELECT id,name,CASE WHEN substr(path,1,8)='\\\\?\\UNC\\' THEN '\\\\'||substr(path,9) WHEN substr(path,1,4)='\\\\?\\' THEN substr(path,5) ELSE path END AS path,created_at,position FROM legacy.managed_projects;
1
+ import {createRequire}from'node:module';import {a}from'./chunk-QE3SPWGR.js';import'./chunk-YXJGRSCL.js';import {mkdirSync,existsSync,rmSync,linkSync,readdirSync,lstatSync,copyFileSync,constants,readFileSync,writeFileSync,renameSync}from'fs';import {dirname,resolve,join}from'path';import {randomUUID,createHash}from'crypto';import G from'better-sqlite3';import {workerData,parentPort}from'worker_threads';import {homedir}from'os';createRequire(import.meta.url);
2
+ var R={version:1,importSql:`CREATE TEMP VIEW storage_source_projects AS SELECT id,name,CASE WHEN substr(path,1,8)='\\\\?\\UNC\\' THEN '\\\\'||substr(path,9) WHEN substr(path,1,4)='\\\\?\\' THEN substr(path,5) ELSE path END AS path,created_at,position FROM legacy.managed_projects;
3
3
 
4
4
  CREATE TEMP TABLE storage_project_map AS
5
5
  SELECT source.id AS old_id, COALESCE(target.id,source.id) AS new_id
@@ -23,44 +23,44 @@ DROP TABLE storage_project_map;
23
23
  DROP TABLE storage_import_guard;
24
24
 
25
25
  DROP VIEW storage_source_projects;
26
- `,projectMappingSql:"SELECT source.id AS old_id,target.id AS new_id FROM legacy.managed_projects source JOIN main.managed_projects target ON CASE WHEN substr(source.path,1,8)='\\\\?\\UNC\\' THEN '\\\\'||substr(source.path,9) WHEN substr(source.path,1,4)='\\\\?\\' THEN substr(source.path,5) ELSE source.path END=target.path WHERE source.id<>target.id",normalizeProjectsSql:"UPDATE managed_projects SET path=CASE WHEN substr(path,1,8)='\\\\?\\UNC\\' THEN '\\\\'||substr(path,9) WHEN substr(path,1,4)='\\\\?\\' THEN substr(path,5) ELSE path END WHERE substr(path,1,4)='\\\\?\\';"};function x(e,i){try{linkSync(e,i);}catch(s){if(s.code!=="EEXIST")throw s}finally{rmSync(e,{force:true});}}function D(e,i){mkdirSync(i,{recursive:true,mode:448});for(let s of readdirSync(e)){if(s.includes(".sqlite3")||/\.(?:lock|tmp)$/.test(s)||s===".DS_Store")continue;let n=join(e,s),p=join(i,s),c=lstatSync(n);if(!c.isSymbolicLink()){if(c.isDirectory())D(n,p);else if(c.isFile()&&!existsSync(p)){let u=join(i,`.migration-${randomUUID()}.tmp`);try{copyFileSync(n,u,constants.COPYFILE_EXCL),x(u,p);}finally{rmSync(u,{force:true});}}}}}function B(e,i,s=false){mkdirSync(dirname(e),{recursive:true,mode:448});let n=join(dirname(e),`.migration-${randomUUID()}.tmp`);try{writeFileSync(n,JSON.stringify(i),{flag:"wx",mode:384}),s?renameSync(n,e):x(n,e);}finally{rmSync(n,{force:true});}}function je(e,i,s){let n=join(i,"agent-settings.json"),p=join(e,"agent-settings.json"),c=existsSync(n)?JSON.parse(readFileSync(n,"utf8")):void 0,u=existsSync(p)?JSON.parse(readFileSync(p,"utf8")):void 0,t=false;for(let{old_id:a,new_id:d}of s){if(![a,d].every(l=>/^[a-zA-Z0-9_-]{1,256}$/.test(l)))throw new Error("Invalid legacy project identifier");let o=join(e,"attachments",a);existsSync(o)&&D(o,join(i,"attachments",d));let r=join(e,"task-settings",a);if(existsSync(r))for(let l of readdirSync(r)){let _=join(i,"task-settings",d,l);if(!l.endsWith(".json")||existsSync(_)||!lstatSync(join(r,l)).isFile())continue;let E=JSON.parse(readFileSync(join(r,l),"utf8"));if(E.projectId!==a)throw new Error("Invalid legacy task settings project");B(_,{...E,projectId:d});}c?.projects&&u?.projects?.[a]&&!Object.hasOwn(c.projects,d)&&(c.projects[d]=u.projects[a],t=true);}t&&B(n,c,true);}function V(e,i=[]){let s=dirname(e);if(mkdirSync(s,{recursive:true,mode:448}),i.length===0)return;let n=[...new Set(i.map(c=>resolve(c)))].filter(c=>c!==resolve(s)&&existsSync(c));if(!existsSync(e)){let c=n.map(u=>join(u,"state.sqlite3")).find(existsSync);if(c){let u=join(s,`.migration-${randomUUID()}.tmp`),t=new q(c,{readonly:true});try{t.prepare("VACUUM INTO ?").run(u),x(u,e);}finally{t.close(),rmSync(u,{force:true});}}}let p=new q(e);try{p.pragma("busy_timeout = 5000"),p.pragma("journal_mode = WAL"),p.pragma("foreign_keys = ON"),p.transaction(()=>{p.exec(a.sql),p.exec(h.normalizeProjectsSql),p.exec("CREATE TABLE IF NOT EXISTS app_storage_migrations (source TEXT PRIMARY KEY) STRICT");}).immediate();for(let c of n){let u=()=>!!p.prepare("SELECT 1 FROM app_storage_migrations WHERE source=?").get(c);if(u())continue;D(c,s);let t=["state.sqlite3","catalog.sqlite3"].map(a=>join(c,a)).find(existsSync);t&&p.prepare("ATTACH DATABASE ? AS legacy").run(t);try{p.transaction(()=>{u()||(t&&p.prepare("SELECT 1 FROM legacy.sqlite_master WHERE name='managed_projects'").get()&&(je(c,s,p.prepare(h.projectMappingSql).all()),p.exec(h.importSql)),p.prepare("INSERT INTO app_storage_migrations VALUES (?)").run(c));}).immediate();}finally{t&&p.exec("DETACH DATABASE legacy");}}}finally{p.close();}}var w=["mcp_elicitations","request_permissions","rules","sandbox_approval","skill_approval"];function G(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new Error("Stored approval policy is invalid");let i=Object.keys(e),s=e.granular;if(i.length!==1||i[0]!=="granular"||typeof s!="object"||s===null||Array.isArray(s)||Object.keys(s).length!==w.length||w.some(n=>typeof s[n]!="boolean"))throw new Error("Stored granular approval policy is invalid");return {granular:Object.fromEntries(w.map(n=>[n,s[n]]))}}function A(e,i){if(e==="on-request"||e==="never"||i==="turn"&&e==="untrusted")return e;if(typeof e!="string"||!e.startsWith("{"))throw new Error(`Stored ${i} approval policy is invalid`);try{return G(JSON.parse(e))}catch(s){throw s instanceof SyntaxError?new Error(`Stored ${i} approval policy JSON is invalid`,{cause:s}):s}}function v(e){return typeof e=="string"?e:JSON.stringify(G(e))}function P(e,i){if(e===void 0)return;let s=i.map(n=>({id:n.root_id,path:n.path}));if(s.length===0)throw new Error(`Project ${e.id} has no stored roots`);return {createdAt:e.created_at,id:e.id,name:e.name,roots:s}}function X(e,i){let s=new Map;for(let n of i){let p=s.get(n.project_id)??[];p.push(n),s.set(n.project_id,p);}return e.map(n=>P(n,s.get(n.id)??[]))}function $(e){if(e!==void 0)return {approvalPolicy:A(e.approval_policy,"turn"),approvalsReviewer:e.approvals_reviewer,fastMode:e.fast_mode===1,model:e.model,reasoningEffort:e.reasoning_effort,sandboxMode:e.sandbox_mode}}function Q(e){if(e!==void 0)return {...e.engine_options==null?{}:{engineOptions:JSON.parse(e.engine_options)},approvalPolicy:A(e.approval_policy,"turn"),approvalsReviewer:e.approvals_reviewer,model:e.model,reasoningEffort:e.reasoning_effort,sandboxMode:e.sandbox_mode}}function Y(e){if(e!==void 0)return {approvalPolicy:A(e.approval_policy,"global"),approvalsReviewer:e.approvals_reviewer,defaultModel:e.commit_message_model,...e.default_agent==null?{}:{defaultAgent:e.default_agent},commitMessagePrompt:e.commit_message_prompt,...e.task_title_prompt?{taskTitlePrompt:e.task_title_prompt}:{},modelContextWindow:null,defaultOpenAppId:e.default_open_app_id,fastMode:e.fast_mode===1,followUpBehavior:e.follow_up_behavior,model:e.model,pet:{enabled:e.pet_enabled===1,selectedPetId:e.pet_id},reasoningEffort:e.reasoning_effort,sandboxMode:e.sandbox_mode}}function z(e){if(e!==void 0)return {customBaseUrl:e.custom_base_url,customModelsJson:e.custom_models_json,mode:e.mode,updatedAt:e.updated_at}}function S(e,i){return e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(i)!==void 0}function K(e){e.pragma("journal_mode = WAL"),e.pragma("foreign_keys = ON"),e.pragma("synchronous = NORMAL"),e.pragma("busy_timeout = 5000");}function Z(e){return S(e,"schema_migrations")?e.prepare("SELECT COALESCE(MAX(version), 0) AS version FROM schema_migrations").get().version:0}function ee(e,i,s=()=>{}){e.exec(`
26
+ `,projectMappingSql:"SELECT source.id AS old_id,target.id AS new_id FROM legacy.managed_projects source JOIN main.managed_projects target ON CASE WHEN substr(source.path,1,8)='\\\\?\\UNC\\' THEN '\\\\'||substr(source.path,9) WHEN substr(source.path,1,4)='\\\\?\\' THEN substr(source.path,5) ELSE source.path END=target.path WHERE source.id<>target.id",normalizeProjectsSql:"UPDATE managed_projects SET path=CASE WHEN substr(path,1,8)='\\\\?\\UNC\\' THEN '\\\\'||substr(path,9) WHEN substr(path,1,4)='\\\\?\\' THEN substr(path,5) ELSE path END WHERE substr(path,1,4)='\\\\?\\';"};var Oe=new Int32Array(new SharedArrayBuffer(4));function h(e){let a=performance.now()+5e3;e.pragma("busy_timeout = 0");try{for(;;)try{e.pragma("journal_mode = WAL");return}catch(r){let o=a-performance.now();if(o<=0||typeof r.code!="string"||!(r.code==="SQLITE_BUSY"||r.code.startsWith("SQLITE_BUSY_")))throw r;Atomics.wait(Oe,0,0,Math.min(10,o));}}finally{e.pragma("busy_timeout = 5000");}}function U(e,a){try{linkSync(e,a);}catch(r){if(r.code!=="EEXIST")throw r}finally{rmSync(e,{force:true});}}function M(e,a){mkdirSync(a,{recursive:true,mode:448});for(let r of readdirSync(e)){if(r.includes(".sqlite3")||/\.(?:lock|tmp)$/.test(r)||r===".DS_Store")continue;let o=join(e,r),p=join(a,r),c=lstatSync(o);if(!c.isSymbolicLink()){if(c.isDirectory())M(o,p);else if(c.isFile()&&!existsSync(p)){let u=join(a,`.migration-${randomUUID()}.tmp`);try{copyFileSync(o,u,constants.COPYFILE_EXCL),U(u,p);}finally{rmSync(u,{force:true});}}}}}function J(e,a,r=false){mkdirSync(dirname(e),{recursive:true,mode:448});let o=join(dirname(e),`.migration-${randomUUID()}.tmp`);try{writeFileSync(o,JSON.stringify(a),{flag:"wx",mode:384}),r?renameSync(o,e):U(o,e);}finally{rmSync(o,{force:true});}}function Ce(e,a,r){let o=join(a,"agent-settings.json"),p=join(e,"agent-settings.json"),c=existsSync(o)?JSON.parse(readFileSync(o,"utf8")):void 0,u=existsSync(p)?JSON.parse(readFileSync(p,"utf8")):void 0,t=false;for(let{old_id:i,new_id:d}of r){if(![i,d].every(_=>/^[a-zA-Z0-9_-]{1,256}$/.test(_)))throw new Error("Invalid legacy project identifier");let s=join(e,"attachments",i);existsSync(s)&&M(s,join(a,"attachments",d));let n=join(e,"task-settings",i);if(existsSync(n))for(let _ of readdirSync(n)){let E=join(a,"task-settings",d,_);if(!_.endsWith(".json")||existsSync(E)||!lstatSync(join(n,_)).isFile())continue;let l=JSON.parse(readFileSync(join(n,_),"utf8"));if(l.projectId!==i)throw new Error("Invalid legacy task settings project");J(E,{...l,projectId:d});}c?.projects&&u?.projects?.[i]&&!Object.hasOwn(c.projects,d)&&(c.projects[d]=u.projects[i],t=true);}t&&J(o,c,true);}function Q(e,a$1=[]){let r=dirname(e);if(mkdirSync(r,{recursive:true,mode:448}),a$1.length===0)return;let o=[...new Set(a$1.map(c=>resolve(c)))].filter(c=>c!==resolve(r)&&existsSync(c));if(!existsSync(e)){let c=o.map(u=>join(u,"state.sqlite3")).find(existsSync);if(c){let u=join(r,`.migration-${randomUUID()}.tmp`),t=new G(c,{readonly:true});try{t.prepare("VACUUM INTO ?").run(u),U(u,e);}finally{t.close(),rmSync(u,{force:true});}}}let p=new G(e);try{h(p),p.pragma("foreign_keys = ON"),p.transaction(()=>{p.exec(a.sql),p.exec(R.normalizeProjectsSql),p.exec("CREATE TABLE IF NOT EXISTS app_storage_migrations (source TEXT PRIMARY KEY) STRICT");}).immediate();for(let c of o){let u=()=>!!p.prepare("SELECT 1 FROM app_storage_migrations WHERE source=?").get(c);if(u())continue;M(c,r);let t=["state.sqlite3","catalog.sqlite3"].map(i=>join(c,i)).find(existsSync);t&&p.prepare("ATTACH DATABASE ? AS legacy").run(t);try{p.transaction(()=>{u()||(t&&p.prepare("SELECT 1 FROM legacy.sqlite_master WHERE name='managed_projects'").get()&&(Ce(c,r,p.prepare(R.projectMappingSql).all()),p.exec(R.importSql)),p.prepare("INSERT INTO app_storage_migrations VALUES (?)").run(c));}).immediate();}finally{t&&p.exec("DETACH DATABASE legacy");}}}finally{p.close();}}var W=["mcp_elicitations","request_permissions","rules","sandbox_approval","skill_approval"];function z(e){if(typeof e!="object"||e===null||Array.isArray(e))throw new Error("Stored approval policy is invalid");let a=Object.keys(e),r=e.granular;if(a.length!==1||a[0]!=="granular"||typeof r!="object"||r===null||Array.isArray(r)||Object.keys(r).length!==W.length||W.some(o=>typeof r[o]!="boolean"))throw new Error("Stored granular approval policy is invalid");return {granular:Object.fromEntries(W.map(o=>[o,r[o]]))}}function C(e,a){if(e==="on-request"||e==="never"||a==="turn"&&e==="untrusted")return e;if(typeof e!="string"||!e.startsWith("{"))throw new Error(`Stored ${a} approval policy is invalid`);try{return z(JSON.parse(e))}catch(r){throw r instanceof SyntaxError?new Error(`Stored ${a} approval policy JSON is invalid`,{cause:r}):r}}function x(e){return typeof e=="string"?e:JSON.stringify(z(e))}function P(e,a){if(e===void 0)return;let r=a.map(o=>({id:o.root_id,path:o.path}));if(r.length===0)throw new Error(`Project ${e.id} has no stored roots`);return {createdAt:e.created_at,id:e.id,name:e.name,roots:r}}function K(e,a){let r=new Map;for(let o of a){let p=r.get(o.project_id)??[];p.push(o),r.set(o.project_id,p);}return e.map(o=>P(o,r.get(o.id)??[]))}function Z(e){if(e!==void 0)return {approvalPolicy:C(e.approval_policy,"turn"),approvalsReviewer:e.approvals_reviewer,fastMode:e.fast_mode===1,model:e.model,reasoningEffort:e.reasoning_effort,sandboxMode:e.sandbox_mode}}function ee(e){if(e!==void 0)return {...e.engine_options==null?{}:{engineOptions:JSON.parse(e.engine_options)},approvalPolicy:C(e.approval_policy,"turn"),approvalsReviewer:e.approvals_reviewer,model:e.model,reasoningEffort:e.reasoning_effort,sandboxMode:e.sandbox_mode}}function te(e){if(e!==void 0)return {approvalPolicy:C(e.approval_policy,"global"),approvalsReviewer:e.approvals_reviewer,defaultModel:e.commit_message_model,...e.default_agent==null?{}:{defaultAgent:e.default_agent},commitMessagePrompt:e.commit_message_prompt,...e.task_title_prompt?{taskTitlePrompt:e.task_title_prompt}:{},modelContextWindow:null,defaultOpenAppId:e.default_open_app_id,fastMode:e.fast_mode===1,followUpBehavior:e.follow_up_behavior,model:e.model,pet:{enabled:e.pet_enabled===1,selectedPetId:e.pet_id},reasoningEffort:e.reasoning_effort,sandboxMode:e.sandbox_mode}}function re(e){if(e!==void 0)return {customBaseUrl:e.custom_base_url,customModelsJson:e.custom_models_json,mode:e.mode,updatedAt:e.updated_at}}function f(e,a){return e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get(a)!==void 0}function oe(e){h(e),e.pragma("foreign_keys = ON"),e.pragma("synchronous = NORMAL");}function ne(e){return f(e,"schema_migrations")?e.prepare("SELECT COALESCE(MAX(version), 0) AS version FROM schema_migrations").get().version:0}function se(e,a,r=()=>{}){e.exec(`
27
27
  CREATE TABLE IF NOT EXISTS schema_migrations (
28
28
  version INTEGER PRIMARY KEY,
29
29
  name TEXT NOT NULL,
30
30
  applied_at TEXT NOT NULL
31
31
  ) STRICT;
32
- `);let n=new Set(e.prepare("SELECT version FROM schema_migrations").all().map(c=>c.version)),p=0;for(let c of i){if(!Number.isInteger(c.version)||c.version<=p||typeof c.name!="string"||typeof c.sql!="string")throw new Error("Invalid SQLite migration definition");p=c.version,!n.has(c.version)&&e.transaction(()=>{e.exec(c.sql),s(c.version),e.prepare("INSERT INTO schema_migrations (version, name, applied_at) VALUES (?, ?, ?)").run(c.version,c.name,new Date().toISOString());})();}}function M(e,i){S(e,"project_source_migration")&&e.prepare(`INSERT OR IGNORE INTO project_source_migration
33
- (id, completed, recover_unassigned) VALUES (1, 0, ?)`).run(i===14?1:0);}function te(e){if(!S(e,"global_settings"))return;let i=new Set(e.prepare("PRAGMA table_info(global_settings)").all().map(s=>s.name));e.transaction(()=>{i.has("fast_mode")||e.exec(`
32
+ `);let o=new Set(e.prepare("SELECT version FROM schema_migrations").all().map(c=>c.version)),p=0;for(let c of a){if(!Number.isInteger(c.version)||c.version<=p||typeof c.name!="string"||typeof c.sql!="string")throw new Error("Invalid SQLite migration definition");p=c.version,!o.has(c.version)&&e.transaction(()=>{e.exec(c.sql),r(c.version),e.prepare("INSERT INTO schema_migrations (version, name, applied_at) VALUES (?, ?, ?)").run(c.version,c.name,new Date().toISOString());})();}}function H(e,a){f(e,"project_source_migration")&&e.prepare(`INSERT OR IGNORE INTO project_source_migration
33
+ (id, completed, recover_unassigned) VALUES (1, 0, ?)`).run(a===14?1:0);}function ae(e){if(!f(e,"global_settings"))return;let a=new Set(e.prepare("PRAGMA table_info(global_settings)").all().map(r=>r.name));e.transaction(()=>{a.has("fast_mode")||e.exec(`
34
34
  ALTER TABLE global_settings
35
35
  ADD COLUMN fast_mode INTEGER NOT NULL DEFAULT 0
36
36
  CHECK (fast_mode IN (0, 1));
37
- `),i.has("commit_message_reasoning_effort")||e.exec(`
37
+ `),a.has("commit_message_reasoning_effort")||e.exec(`
38
38
  ALTER TABLE global_settings
39
39
  ADD COLUMN commit_message_reasoning_effort TEXT NOT NULL DEFAULT '';
40
40
  UPDATE global_settings
41
41
  SET commit_message_reasoning_effort = reasoning_effort;
42
- `),i.has("pet_enabled")||e.exec(`
42
+ `),a.has("pet_enabled")||e.exec(`
43
43
  ALTER TABLE global_settings
44
44
  ADD COLUMN pet_enabled INTEGER NOT NULL DEFAULT 0
45
45
  CHECK (pet_enabled IN (0, 1));
46
- `),i.has("pet_id")||e.exec("ALTER TABLE global_settings ADD COLUMN pet_id TEXT;");})();}function y(e){return {clientUserMessageId:e.client_user_message_id,id:e.id,inputJson:e.input_json,projectId:e.project_id,status:e.status,taskId:e.task_id,...e.execution_json===null?{}:{executionJson:e.execution_json}}}function re(e){let i,s=()=>{if(i!==void 0)return i;let n=e.prepare(`
46
+ `),a.has("pet_id")||e.exec("ALTER TABLE global_settings ADD COLUMN pet_id TEXT;");})();}function F(e){return {clientUserMessageId:e.client_user_message_id,id:e.id,inputJson:e.input_json,projectId:e.project_id,status:e.status,taskId:e.task_id,...e.execution_json===null?{}:{executionJson:e.execution_json}}}function ie(e){let a,r=()=>{if(a!==void 0)return a;let o=e.prepare(`
47
47
  SELECT project_id, task_id, id, client_user_message_id, input_json, status, execution_json
48
48
  FROM task_queue WHERE project_id = ? AND task_id = ? ORDER BY position
49
- `),p=e.prepare("UPDATE task_queue SET position = ? WHERE project_id = ? AND task_id = ? AND id = ?"),c=e.transaction((u,t,a)=>{let d=n.all(u,t).map(r=>r.id),o=new Set(a);if(d.length!==a.length||o.size!==d.length||d.some(r=>!o.has(r)))throw new Error("Task queue order must contain every queued submission exactly once");a.forEach((r,l)=>p.run(-l-1,u,t,r)),a.forEach((r,l)=>p.run(l,u,t,r));});return i={insert:e.prepare(`
49
+ `),p=e.prepare("UPDATE task_queue SET position = ? WHERE project_id = ? AND task_id = ? AND id = ?"),c=e.transaction((u,t,i)=>{let d=o.all(u,t).map(n=>n.id),s=new Set(i);if(d.length!==i.length||s.size!==d.length||d.some(n=>!s.has(n)))throw new Error("Task queue order must contain every queued submission exactly once");i.forEach((n,_)=>p.run(-_-1,u,t,n)),i.forEach((n,_)=>p.run(_,u,t,n));});return a={insert:e.prepare(`
50
50
  INSERT INTO task_queue (
51
51
  project_id, task_id, id, client_user_message_id, input_json, status, position, updated_at, execution_json
52
52
  ) VALUES (?, ?, ?, ?, ?, ?, (
53
53
  SELECT COALESCE(MAX(position) + 1, 0)
54
54
  FROM task_queue WHERE project_id = ? AND task_id = ?
55
55
  ), ?, ?)
56
- `),list:n,remove:e.prepare("DELETE FROM task_queue WHERE project_id = ? AND task_id = ? AND id = ?"),reorder:c,update:e.prepare(`
56
+ `),list:o,remove:e.prepare("DELETE FROM task_queue WHERE project_id = ? AND task_id = ? AND id = ?"),reorder:c,update:e.prepare(`
57
57
  UPDATE task_queue SET input_json = ?, status = ?, updated_at = ?
58
58
  WHERE project_id = ? AND task_id = ? AND id = ? AND execution_json IS NULL
59
59
  `),execution:e.prepare(`
60
60
  UPDATE task_queue SET execution_json = ?
61
61
  WHERE project_id = ? AND task_id = ? AND id = ?
62
62
  AND (? = 0 OR (execution_json IS NULL AND status = 'queued'))
63
- `)},i};return {setTaskQueueExecution(n){let{execution:p}=s();return p.run(n.executionJson,n.projectId,n.taskId,n.id,n.claim?1:0).changes>0},addTaskQueueRecord(n){let{insert:p,list:c}=s();return p.run(n.projectId,n.taskId,n.id,n.clientUserMessageId,n.inputJson,n.status,n.projectId,n.taskId,n.updatedAt,n.execution===void 0?null:JSON.stringify(n.execution)),c.all(n.projectId,n.taskId).map(y).find(u=>u.id===n.id)},deleteTaskQueueRecord(n){let{remove:p}=s();return p.run(n.projectId,n.taskId,n.queuedSubmissionId).changes>0},listTaskQueueRecords(n){let{list:p}=s();return p.all(n.projectId,n.taskId).map(y)},reorderTaskQueueRecords(n){let{reorder:p}=s();return p(n.projectId,n.taskId,n.queuedSubmissionIds),null},updateTaskQueueRecord(n){let{list:p,update:c}=s();if(c.run(n.inputJson,n.status,n.updatedAt,n.projectId,n.taskId,n.queuedSubmissionId).changes!==0)return p.all(n.projectId,n.taskId).map(y).find(t=>t.id===n.queuedSubmissionId)}}}function oe(e){if(e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get("scheduled_task_state")===void 0)return {};let s=e.prepare("SELECT tasks_json FROM scheduled_task_state WHERE id = 1"),n=e.prepare(`
63
+ `)},a};return {setTaskQueueExecution(o){let{execution:p}=r();return p.run(o.executionJson,o.projectId,o.taskId,o.id,o.claim?1:0).changes>0},addTaskQueueRecord(o){let{insert:p,list:c}=r();return p.run(o.projectId,o.taskId,o.id,o.clientUserMessageId,o.inputJson,o.status,o.projectId,o.taskId,o.updatedAt,o.execution===void 0?null:JSON.stringify(o.execution)),c.all(o.projectId,o.taskId).map(F).find(u=>u.id===o.id)},deleteTaskQueueRecord(o){let{remove:p}=r();return p.run(o.projectId,o.taskId,o.queuedSubmissionId).changes>0},listTaskQueueRecords(o){let{list:p}=r();return p.all(o.projectId,o.taskId).map(F)},reorderTaskQueueRecords(o){let{reorder:p}=r();return p(o.projectId,o.taskId,o.queuedSubmissionIds),null},updateTaskQueueRecord(o){let{list:p,update:c}=r();if(c.run(o.inputJson,o.status,o.updatedAt,o.projectId,o.taskId,o.queuedSubmissionId).changes!==0)return p.all(o.projectId,o.taskId).map(F).find(t=>t.id===o.queuedSubmissionId)}}}function ce(e){if(e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?").get("scheduled_task_state")===void 0)return {};let r=e.prepare("SELECT tasks_json FROM scheduled_task_state WHERE id = 1"),o=e.prepare(`
64
64
  INSERT INTO scheduled_task_state (id, tasks_json) VALUES (1, ?)
65
65
  ON CONFLICT(id) DO UPDATE SET tasks_json = excluded.tasks_json
66
66
  `),p=e.prepare("DELETE FROM scheduled_task_attachments WHERE task_id = ?"),c=e.prepare(`
@@ -71,19 +71,24 @@ DROP VIEW storage_source_projects;
71
71
  SELECT * FROM scheduled_task_attachments
72
72
  WHERE project_id = ? AND attachment_id = ?
73
73
  LIMIT 1
74
- `),a=e.prepare(`
74
+ `),i=e.prepare(`
75
75
  DELETE FROM scheduled_task_attachments
76
76
  WHERE task_id NOT IN (SELECT json_extract(value, '$.id') FROM json_each(?))
77
- `),d=r=>{p.run(r.taskId);for(let l of r.attachments)c.run(r.taskId,l.attachment.id,r.projectId,l.attachment.kind,l.attachment.mediaType,l.attachment.name,l.attachment.size,l.content);},o=e.transaction(r=>{n.run(r.tasksJson),r.attachments!==void 0&&d(r.attachments),a.run(r.tasksJson);});return {listScheduledTaskAttachments(r){return u.all(r.taskId)},readScheduledTasks(){return s.get()?.tasks_json??"[]"},readScheduledTaskAttachment(r){return t.get(r.projectId,r.attachmentId)},writeScheduledTasks(r){return o(r),null}}}function ne(e){if(!e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'task_submissions'").get())return {};let i=e.prepare("SELECT record_json FROM task_submissions WHERE project_id = ? AND submission_key = ?"),s=e.prepare("SELECT COUNT(*) AS count FROM task_submissions"),n=e.prepare("DELETE FROM task_submissions WHERE completed = 1 AND updated_at < ?"),p=e.prepare(`INSERT INTO task_submissions (project_id, submission_key, record_json, completed, updated_at)
77
+ `),d=n=>{p.run(n.taskId);for(let _ of n.attachments)c.run(n.taskId,_.attachment.id,n.projectId,_.attachment.kind,_.attachment.mediaType,_.attachment.name,_.attachment.size,_.content);},s=e.transaction(n=>{o.run(n.tasksJson),n.attachments!==void 0&&d(n.attachments),i.run(n.tasksJson);});return {listScheduledTaskAttachments(n){return u.all(n.taskId)},readScheduledTasks(){return r.get()?.tasks_json??"[]"},readScheduledTaskAttachment(n){return t.get(n.projectId,n.attachmentId)},writeScheduledTasks(n){return s(n),null}}}function de(e){if(!e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'task_submissions'").get())return {};let a=e.prepare("SELECT record_json FROM task_submissions WHERE project_id = ? AND submission_key = ?"),r=e.prepare("SELECT COUNT(*) AS count FROM task_submissions"),o=e.prepare("DELETE FROM task_submissions WHERE completed = 1 AND updated_at < ?"),p=e.prepare(`INSERT INTO task_submissions (project_id, submission_key, record_json, completed, updated_at)
78
78
  VALUES (?, ?, ?, ?, ?) ON CONFLICT(project_id, submission_key) DO UPDATE SET
79
- record_json = excluded.record_json, completed = excluded.completed, updated_at = excluded.updated_at`);return {readSubmission({projectId:c,key:u}){return i.get(c,u)?.record_json},writeSubmission:e.transaction(({projectId:c,key:u,recordJson:t,completed:a})=>{let d=Date.now();if(n.run(d-10080*60*1e3),!i.get(c,u)&&s.get().count>=1e4)throw new Error("Submission recovery capacity is exhausted");return p.run(c,u,t,a?1:0,d),null})}}function se(e){if(!e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'project_todos'").get())return {};let i=e.prepare("SELECT record_json FROM project_todos WHERE project_id = ? ORDER BY updated_at DESC, id"),s=e.prepare("SELECT version FROM project_todos WHERE project_id = ? AND id = ?"),n=e.prepare(`INSERT INTO project_todos (project_id, id, version, updated_at, record_json) VALUES (?, ?, ?, ?, ?)
80
- ON CONFLICT(project_id, id) DO UPDATE SET version = excluded.version, updated_at = excluded.updated_at, record_json = excluded.record_json`),p=e.prepare("DELETE FROM project_todos WHERE project_id = ? AND id = ?"),c=e.prepare("DELETE FROM project_todo_attachments WHERE project_id = ? AND todo_id = ?"),u=e.prepare("INSERT INTO project_todo_attachments (project_id, todo_id, attachment_id, metadata, content) VALUES (?, ?, ?, ?, ?)"),t=e.prepare("SELECT metadata, content FROM project_todo_attachments WHERE project_id = ? AND attachment_id = ? LIMIT 1");return {listProjectTodos:({projectId:a})=>i.all(a).map(d=>d.record_json),readProjectTodoAttachment:({projectId:a,attachmentId:d})=>t.get(a,d),saveProjectTodo:e.transaction(({todo:a,expectedVersion:d,attachments:o})=>{if((s.get(a.projectId,a.id)?.version??null)!==d)return false;if(d===null&&i.all(a.projectId).length>=1e3)throw new Error("Project todo capacity is exhausted");n.run(a.projectId,a.id,a.version,a.updatedAt,JSON.stringify(a)),c.run(a.projectId,a.id);for(let{attachment:r,content:l}of o)u.run(a.projectId,a.id,r.id,JSON.stringify(r),l);return true}),deleteProjectTodo:e.transaction(({projectId:a,todoId:d,expectedVersion:o})=>{let r=s.get(a,d);return r===void 0?false:r.version!==o?null:(p.run(a,d),true)})}}function ie(e){if(!e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'async_questions'").get())return {};let i=e.prepare("SELECT record_json FROM async_questions WHERE project_id = ? AND task_id = ? ORDER BY json_extract(record_json, '$.group.createdAt'), rowid"),s=e.prepare("SELECT record_json FROM async_questions WHERE project_id = ? AND task_id = ? AND id = ?"),n=e.prepare("INSERT OR IGNORE INTO async_questions (project_id, task_id, id, status, record_json) VALUES (?, ?, ?, 'pending', ?)"),p=e.prepare("UPDATE async_questions SET status = ?, record_json = ? WHERE project_id = ? AND task_id = ? AND id = ? AND status = ?"),c=e.prepare("SELECT COUNT(*) AS count FROM async_questions WHERE project_id = ? AND task_id = ?");return {listAsyncQuestions:({projectId:u,taskId:t})=>i.all(u,t).map(a=>a.record_json),discoverAsyncQuestions:e.transaction(({projectId:u,taskId:t,groups:a})=>{for(let d of a)n.run(u,t,d.id,JSON.stringify({group:d}));if(c.get(u,t).count>1e4)throw new Error("Async question capacity is exhausted");return null}),updateAsyncQuestion:({projectId:u,taskId:t,record:a,expectedStatus:d})=>p.run(a.group.status,JSON.stringify(a),u,t,a.group.id,d).changes===1,dismissAsyncQuestions:e.transaction(({projectId:u,taskId:t,ids:a})=>{for(let d of a){let o=s.get(u,t,d);if(o===void 0)continue;let r=JSON.parse(o.record_json);r.group.status="dismissed",p.run("dismissed",JSON.stringify(r),u,t,d,"pending");}return null})}}function ae(e){return e?{id:e.id,name:e.name,path:e.path,createdAt:e.created_at}:null}function F(e){return e?{id:e.id,projectId:e.project_id,title:e.title,cwd:e.cwd,provider:e.provider,sessionId:e.session_id,updatedAt:e.updated_at,pinned:!!e.pinned,archived:!!e.archived,status:e.status}:null}function ce(e,i){if(e){for(let s of ["provider","projectId","sessionId"])if(!(s==="sessionId"&&e.sessionId===null)&&Object.hasOwn(i,s)&&i[s]!==e[s])throw new Error(`Task ${s} is immutable`)}}function de(e){let i=t=>ae(e.prepare("SELECT * FROM managed_projects WHERE id = ?").get(t)),s=t=>F(e.prepare("SELECT * FROM managed_tasks WHERE id = ?").get(t)),n=()=>e.prepare("SELECT * FROM managed_projects ORDER BY position, id").all().map(ae),p=e.transaction(t=>(e.prepare(`INSERT INTO managed_projects VALUES (?, ?, ?, ?, (SELECT COALESCE(MAX(position)+1,0) FROM managed_projects))
79
+ record_json = excluded.record_json, completed = excluded.completed, updated_at = excluded.updated_at`);return {readSubmission({projectId:c,key:u}){return a.get(c,u)?.record_json},writeSubmission:e.transaction(({projectId:c,key:u,recordJson:t,completed:i})=>{let d=Date.now();if(o.run(d-10080*60*1e3),!a.get(c,u)&&r.get().count>=1e4)throw new Error("Submission recovery capacity is exhausted");return p.run(c,u,t,i?1:0,d),null})}}function pe(e){if(!e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'project_todos'").get())return {};let a=e.prepare("SELECT record_json FROM project_todos WHERE project_id = ? ORDER BY updated_at DESC, id"),r=e.prepare("SELECT version FROM project_todos WHERE project_id = ? AND id = ?"),o=e.prepare(`INSERT INTO project_todos (project_id, id, version, updated_at, record_json) VALUES (?, ?, ?, ?, ?)
80
+ ON CONFLICT(project_id, id) DO UPDATE SET version = excluded.version, updated_at = excluded.updated_at, record_json = excluded.record_json`),p=e.prepare("DELETE FROM project_todos WHERE project_id = ? AND id = ?"),c=e.prepare("DELETE FROM project_todo_attachments WHERE project_id = ? AND todo_id = ?"),u=e.prepare("INSERT INTO project_todo_attachments (project_id, todo_id, attachment_id, metadata, content) VALUES (?, ?, ?, ?, ?)"),t=e.prepare("SELECT metadata, content FROM project_todo_attachments WHERE project_id = ? AND attachment_id = ? LIMIT 1");return {listProjectTodos:({projectId:i})=>a.all(i).map(d=>d.record_json),readProjectTodoAttachment:({projectId:i,attachmentId:d})=>t.get(i,d),saveProjectTodo:e.transaction(({todo:i,expectedVersion:d,attachments:s})=>{if((r.get(i.projectId,i.id)?.version??null)!==d)return false;if(d===null&&a.all(i.projectId).length>=1e3)throw new Error("Project todo capacity is exhausted");o.run(i.projectId,i.id,i.version,i.updatedAt,JSON.stringify(i)),c.run(i.projectId,i.id);for(let{attachment:n,content:_}of s)u.run(i.projectId,i.id,n.id,JSON.stringify(n),_);return true}),deleteProjectTodo:e.transaction(({projectId:i,todoId:d,expectedVersion:s})=>{let n=r.get(i,d);return n===void 0?false:n.version!==s?null:(p.run(i,d),true)})}}function ue(e){if(!e.prepare("SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'async_questions'").get())return {};let a=e.prepare("SELECT record_json FROM async_questions WHERE project_id = ? AND task_id = ? ORDER BY json_extract(record_json, '$.group.createdAt'), rowid"),r=e.prepare("SELECT record_json FROM async_questions WHERE project_id = ? AND task_id = ? AND id = ?"),o=e.prepare("INSERT OR IGNORE INTO async_questions (project_id, task_id, id, status, record_json) VALUES (?, ?, ?, 'pending', ?)"),p=e.prepare("UPDATE async_questions SET status = ?, record_json = ? WHERE project_id = ? AND task_id = ? AND id = ? AND status = ?"),c=e.prepare("SELECT COUNT(*) AS count FROM async_questions WHERE project_id = ? AND task_id = ?");return {listAsyncQuestions:({projectId:u,taskId:t})=>a.all(u,t).map(i=>i.record_json),discoverAsyncQuestions:e.transaction(({projectId:u,taskId:t,groups:i})=>{for(let d of i)o.run(u,t,d.id,JSON.stringify({group:d}));if(c.get(u,t).count>1e4)throw new Error("Async question capacity is exhausted");return null}),updateAsyncQuestion:({projectId:u,taskId:t,record:i,expectedStatus:d})=>p.run(i.group.status,JSON.stringify(i),u,t,i.group.id,d).changes===1,dismissAsyncQuestions:e.transaction(({projectId:u,taskId:t,ids:i})=>{for(let d of i){let s=r.get(u,t,d);if(s===void 0)continue;let n=JSON.parse(s.record_json);n.group.status="dismissed",p.run("dismissed",JSON.stringify(n),u,t,d,"pending");}return null})}}var k={schema:`CREATE TABLE IF NOT EXISTS token_usage_sources (engine TEXT NOT NULL, source TEXT NOT NULL, task_id TEXT NOT NULL, timestamp TEXT NOT NULL,total_tokens INTEGER,input_tokens INTEGER,output_tokens INTEGER,cache_read_tokens INTEGER,cache_write_tokens INTEGER, PRIMARY KEY(engine,source));
81
+ CREATE TABLE IF NOT EXISTS token_usage_daily (day TEXT NOT NULL, engine TEXT NOT NULL, task_id TEXT NOT NULL,total_tokens INTEGER,input_tokens INTEGER,output_tokens INTEGER,cache_read_tokens INTEGER,cache_write_tokens INTEGER, PRIMARY KEY(day,engine,task_id));
82
+ CREATE INDEX IF NOT EXISTS token_usage_daily_engine_day ON token_usage_daily(engine,day);
83
+ CREATE TRIGGER IF NOT EXISTS token_usage_accumulate AFTER UPDATE ON token_usage_sources WHEN NEW.total_tokens IS NOT OLD.total_tokens OR NEW.input_tokens IS NOT OLD.input_tokens OR NEW.output_tokens IS NOT OLD.output_tokens OR NEW.cache_read_tokens IS NOT OLD.cache_read_tokens OR NEW.cache_write_tokens IS NOT OLD.cache_write_tokens BEGIN INSERT INTO token_usage_daily VALUES (substr(NEW.timestamp,1,10),NEW.engine,NEW.task_id,CASE WHEN NEW.total_tokens IS NULL OR OLD.total_tokens IS NULL THEN NULL ELSE MAX(0, NEW.total_tokens-COALESCE(OLD.total_tokens,0)) END,CASE WHEN NEW.input_tokens IS NULL OR OLD.input_tokens IS NULL THEN NULL ELSE MAX(0, NEW.input_tokens-COALESCE(OLD.input_tokens,0)) END,CASE WHEN NEW.output_tokens IS NULL OR OLD.output_tokens IS NULL THEN NULL ELSE MAX(0, NEW.output_tokens-COALESCE(OLD.output_tokens,0)) END,CASE WHEN NEW.cache_read_tokens IS NULL OR OLD.cache_read_tokens IS NULL THEN NULL ELSE MAX(0, NEW.cache_read_tokens-COALESCE(OLD.cache_read_tokens,0)) END,CASE WHEN NEW.cache_write_tokens IS NULL OR OLD.cache_write_tokens IS NULL THEN NULL ELSE MAX(0, NEW.cache_write_tokens-COALESCE(OLD.cache_write_tokens,0)) END) ON CONFLICT(day,engine,task_id) DO UPDATE SET total_tokens=CASE WHEN total_tokens IS NULL AND excluded.total_tokens IS NULL THEN NULL ELSE COALESCE(total_tokens,0)+COALESCE(excluded.total_tokens,0) END,input_tokens=CASE WHEN input_tokens IS NULL AND excluded.input_tokens IS NULL THEN NULL ELSE COALESCE(input_tokens,0)+COALESCE(excluded.input_tokens,0) END,output_tokens=CASE WHEN output_tokens IS NULL AND excluded.output_tokens IS NULL THEN NULL ELSE COALESCE(output_tokens,0)+COALESCE(excluded.output_tokens,0) END,cache_read_tokens=CASE WHEN cache_read_tokens IS NULL AND excluded.cache_read_tokens IS NULL THEN NULL ELSE COALESCE(cache_read_tokens,0)+COALESCE(excluded.cache_read_tokens,0) END,cache_write_tokens=CASE WHEN cache_write_tokens IS NULL AND excluded.cache_write_tokens IS NULL THEN NULL ELSE COALESCE(cache_write_tokens,0)+COALESCE(excluded.cache_write_tokens,0) END; END;`,seed:"INSERT INTO token_usage_sources VALUES (json_extract(?1,'$.engine'),json_extract(?1,'$.source'),json_extract(?1,'$.taskId'),json_extract(?1,'$.timestamp'),CASE WHEN json_type(?1,'$.baseline')='object' THEN json_extract(?1,'$.baseline.totalTokens') WHEN json_type(?1,'$.totalTokens')='integer' AND json_extract(?1,'$.totalTokens') BETWEEN 0 AND 9007199254740991 THEN 0 ELSE NULL END,CASE WHEN json_type(?1,'$.baseline')='object' THEN json_extract(?1,'$.baseline.inputTokens') WHEN json_type(?1,'$.inputTokens')='integer' AND json_extract(?1,'$.inputTokens') BETWEEN 0 AND 9007199254740991 THEN 0 ELSE NULL END,CASE WHEN json_type(?1,'$.baseline')='object' THEN json_extract(?1,'$.baseline.outputTokens') WHEN json_type(?1,'$.outputTokens')='integer' AND json_extract(?1,'$.outputTokens') BETWEEN 0 AND 9007199254740991 THEN 0 ELSE NULL END,CASE WHEN json_type(?1,'$.baseline')='object' THEN json_extract(?1,'$.baseline.cacheReadTokens') WHEN json_type(?1,'$.cacheReadTokens')='integer' AND json_extract(?1,'$.cacheReadTokens') BETWEEN 0 AND 9007199254740991 THEN 0 ELSE NULL END,CASE WHEN json_type(?1,'$.baseline')='object' THEN json_extract(?1,'$.baseline.cacheWriteTokens') WHEN json_type(?1,'$.cacheWriteTokens')='integer' AND json_extract(?1,'$.cacheWriteTokens') BETWEEN 0 AND 9007199254740991 THEN 0 ELSE NULL END) ON CONFLICT(engine,source) DO NOTHING",write:"UPDATE token_usage_sources SET timestamp=json_extract(?1,'$.timestamp'),total_tokens=CASE WHEN json_type(?1,'$.totalTokens')='integer' AND json_extract(?1,'$.totalTokens') BETWEEN 0 AND 9007199254740991 THEN MAX(COALESCE(total_tokens,0),json_extract(?1,'$.totalTokens')) ELSE total_tokens END,input_tokens=CASE WHEN json_type(?1,'$.inputTokens')='integer' AND json_extract(?1,'$.inputTokens') BETWEEN 0 AND 9007199254740991 THEN MAX(COALESCE(input_tokens,0),json_extract(?1,'$.inputTokens')) ELSE input_tokens END,output_tokens=CASE WHEN json_type(?1,'$.outputTokens')='integer' AND json_extract(?1,'$.outputTokens') BETWEEN 0 AND 9007199254740991 THEN MAX(COALESCE(output_tokens,0),json_extract(?1,'$.outputTokens')) ELSE output_tokens END,cache_read_tokens=CASE WHEN json_type(?1,'$.cacheReadTokens')='integer' AND json_extract(?1,'$.cacheReadTokens') BETWEEN 0 AND 9007199254740991 THEN MAX(COALESCE(cache_read_tokens,0),json_extract(?1,'$.cacheReadTokens')) ELSE cache_read_tokens END,cache_write_tokens=CASE WHEN json_type(?1,'$.cacheWriteTokens')='integer' AND json_extract(?1,'$.cacheWriteTokens') BETWEEN 0 AND 9007199254740991 THEN MAX(COALESCE(cache_write_tokens,0),json_extract(?1,'$.cacheWriteTokens')) ELSE cache_write_tokens END WHERE engine=json_extract(?1,'$.engine') AND source=json_extract(?1,'$.source') AND ((json_type(?1,'$.totalTokens')='integer' AND json_extract(?1,'$.totalTokens') BETWEEN 0 AND 9007199254740991 AND (total_tokens IS NULL OR json_extract(?1,'$.totalTokens')>total_tokens)) OR (json_type(?1,'$.inputTokens')='integer' AND json_extract(?1,'$.inputTokens') BETWEEN 0 AND 9007199254740991 AND (input_tokens IS NULL OR json_extract(?1,'$.inputTokens')>input_tokens)) OR (json_type(?1,'$.outputTokens')='integer' AND json_extract(?1,'$.outputTokens') BETWEEN 0 AND 9007199254740991 AND (output_tokens IS NULL OR json_extract(?1,'$.outputTokens')>output_tokens)) OR (json_type(?1,'$.cacheReadTokens')='integer' AND json_extract(?1,'$.cacheReadTokens') BETWEEN 0 AND 9007199254740991 AND (cache_read_tokens IS NULL OR json_extract(?1,'$.cacheReadTokens')>cache_read_tokens)) OR (json_type(?1,'$.cacheWriteTokens')='integer' AND json_extract(?1,'$.cacheWriteTokens') BETWEEN 0 AND 9007199254740991 AND (cache_write_tokens IS NULL OR json_extract(?1,'$.cacheWriteTokens')>cache_write_tokens)))",query:`SELECT u.day,u.engine,COUNT(*) AS taskCount,SUM(u.total_tokens) AS "totalTokens",SUM(u.input_tokens) AS "inputTokens",SUM(u.output_tokens) AS "outputTokens",SUM(u.cache_read_tokens) AS "cacheReadTokens",SUM(u.cache_write_tokens) AS "cacheWriteTokens" FROM token_usage_daily u WHERE u.day>=json_extract(?1,'$.year')||'-01-01' AND u.day<=(json_extract(?1,'$.year')||'-12-31') AND (json_extract(?1,'$.engine') IS NULL OR u.engine=json_extract(?1,'$.engine')) GROUP BY u.day,u.engine ORDER BY u.day,u.engine`,details:`SELECT u.task_id AS taskId,u.engine,COALESCE(NULLIF(t.title,''),p.preview,'') AS title,SUM(u.total_tokens) AS "totalTokens",SUM(u.input_tokens) AS "inputTokens",SUM(u.output_tokens) AS "outputTokens",SUM(u.cache_read_tokens) AS "cacheReadTokens",SUM(u.cache_write_tokens) AS "cacheWriteTokens" FROM token_usage_daily u LEFT JOIN managed_tasks t ON t.id=u.task_id LEFT JOIN managed_task_previews p ON p.task_id=u.task_id WHERE u.day>=json_extract(?1,'$.year')||'-01-01' AND u.day<=(json_extract(?1,'$.year')||'-12-31') AND (json_extract(?1,'$.engine') IS NULL OR u.engine=json_extract(?1,'$.engine')) AND u.day=json_extract(?1,'$.day') GROUP BY u.task_id,u.engine ORDER BY SUM(u.total_tokens) DESC,u.task_id LIMIT 50`,codex:"SELECT json_object('engine','codex','source',json_extract(?1,'$.source'),'taskId',json_extract(?1,'$.taskId'),'timestamp',json_extract(?1,'$.timestamp'),'totalTokens',COALESCE(json_extract(?1,'$.tokenUsage.total.totalTokens'),json_extract(?1,'$.tokenUsage.total.inputTokens')+json_extract(?1,'$.tokenUsage.total.outputTokens')),'inputTokens',MAX(0,json_extract(?1,'$.tokenUsage.total.inputTokens')-COALESCE(json_extract(?1,'$.tokenUsage.total.cachedInputTokens'),0)),'outputTokens',json_extract(?1,'$.tokenUsage.total.outputTokens'),'cacheReadTokens',json_extract(?1,'$.tokenUsage.total.cachedInputTokens'),'cacheWriteTokens',json_extract(?1,'$.tokenUsage.total.cacheWriteTokens'),'baseline',json_object('totalTokens',MAX(0,COALESCE(json_extract(?1,'$.tokenUsage.total.totalTokens'),json_extract(?1,'$.tokenUsage.total.inputTokens')+json_extract(?1,'$.tokenUsage.total.outputTokens'))-COALESCE(json_extract(?1,'$.tokenUsage.last.totalTokens'),json_extract(?1,'$.tokenUsage.last.inputTokens')+json_extract(?1,'$.tokenUsage.last.outputTokens'))),'inputTokens',MAX(0,MAX(0,json_extract(?1,'$.tokenUsage.total.inputTokens')-COALESCE(json_extract(?1,'$.tokenUsage.total.cachedInputTokens'),0))-MAX(0,json_extract(?1,'$.tokenUsage.last.inputTokens')-COALESCE(json_extract(?1,'$.tokenUsage.last.cachedInputTokens'),0))),'outputTokens',MAX(0,json_extract(?1,'$.tokenUsage.total.outputTokens')-json_extract(?1,'$.tokenUsage.last.outputTokens')),'cacheReadTokens',MAX(0,json_extract(?1,'$.tokenUsage.total.cachedInputTokens')-json_extract(?1,'$.tokenUsage.last.cachedInputTokens')),'cacheWriteTokens',MAX(0,json_extract(?1,'$.tokenUsage.total.cacheWriteTokens')-json_extract(?1,'$.tokenUsage.last.cacheWriteTokens')))) AS sample"};function _e(e){e.exec(k.schema);let a=e.prepare(k.seed),r=e.prepare(k.write),o=e.prepare(k.codex),p=e.prepare(k.query),c=e.transaction(u=>{let t=JSON.stringify(u);a.run({1:t}),r.run({1:t});});return {"usage.record":c,"usage.codex":u=>c(JSON.parse(o.get({1:JSON.stringify(u)}).sample)),"usage.query":u=>{let t=JSON.stringify(u);return {days:p.all({1:t}),tasks:u.day?e.prepare(k.details).all({1:t}):[]}}}}function le(e){return Array.from(e.trim().slice(0,2048).split(/\r?\n/u)[0].trim()).slice(0,1024).join("")}var j="SELECT managed_tasks.*, (SELECT preview FROM managed_task_previews WHERE task_id=managed_tasks.id) AS preview FROM managed_tasks";function $(e,a,r){let o=le(r);return o?e.prepare(`INSERT INTO managed_task_previews (task_id,preview)
84
+ SELECT id,? FROM managed_tasks WHERE id=? ON CONFLICT(task_id) DO NOTHING`).run(o,a).changes:0}function B(e,a){let r=e.prepare(`${j}
85
+ WHERE provider='codex' AND title='' AND session_id IS NOT NULL AND preview IS NULL`).all();if(!r.length)return 0;let o,p;try{o=new G(a,{readonly:!0,fileMustExist:!0,timeout:100});let c=o.prepare("SELECT substr(preview,1,1024) AS preview FROM threads WHERE id=?");p=r.flatMap(u=>{let t=c.get(u.session_id)?.preview;return typeof t=="string"&&le(t)?[[u.id,t]]:[]});}catch{return 0}finally{o?.close();}return e.transaction(()=>{let c=0;for(let[u,t]of p)c+=$(e,u,t);return c})()}function me(){return join(process.env.CODEX_SQLITE_HOME||process.env.CODEX_HOME||join(homedir(),".codex"),"state_5.sqlite")}function Te(e){return e?{id:e.id,name:e.name,path:e.path,createdAt:e.created_at}:null}function q(e){return e?{id:e.id,projectId:e.project_id,title:e.title,...e.preview?{preview:e.preview}:{},cwd:e.cwd,provider:e.provider,sessionId:e.session_id,updatedAt:e.updated_at,pinned:!!e.pinned,archived:!!e.archived,status:e.status}:null}function Ne(e,a){if(e){for(let r of ["provider","projectId","sessionId"])if(!(r==="sessionId"&&e.sessionId===null)&&Object.hasOwn(a,r)&&a[r]!==e[r])throw new Error(`Task ${r} is immutable`)}}function ge(e){e.prepare("SELECT 1 FROM sqlite_master WHERE name='managed_tasks'").get()&&(e.exec(a.previewSql),B(e,me()));let a$1=t=>Te(e.prepare("SELECT * FROM managed_projects WHERE id = ?").get(t)),r=t=>q(e.prepare(`${j} WHERE id = ?`).get(t)),o=()=>e.prepare("SELECT * FROM managed_projects ORDER BY position, id").all().map(Te),p=e.transaction(t=>(e.prepare(`INSERT INTO managed_projects VALUES (?, ?, ?, ?, (SELECT COALESCE(MAX(position)+1,0) FROM managed_projects))
81
86
  ON CONFLICT(id) DO UPDATE SET name=excluded.name, path=excluded.path`).run(t.id,t.name,t.path,t.createdAt),e.prepare(`INSERT INTO projects (id,name,created_at,sort_order,kind)
82
87
  VALUES (?,?,?,(SELECT COALESCE(MAX(sort_order)+1,0) FROM projects),'user')
83
- ON CONFLICT(id) DO UPDATE SET name=excluded.name`).run(t.id,t.name,t.createdAt),e.prepare("DELETE FROM project_roots WHERE project_id=?").run(t.id),e.prepare("INSERT INTO project_roots (project_id,position,root_id,path) VALUES (?,0,?,?)").run(t.id,createHash("sha256").update(t.path).digest("hex").slice(0,32),t.path),i(t.id))),c=t=>(ce(s(t.id),t),e.prepare(`INSERT INTO managed_tasks VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
84
- ON CONFLICT(id) DO NOTHING`).run(t.id,t.projectId,t.title,t.cwd,t.provider,t.sessionId,t.updatedAt,Number(t.pinned),Number(t.archived),t.status),s(t.id)),u={"project.list":n,"project.read":({id:t})=>i(t),"project.put":p,"project.rename":e.transaction(({id:t,name:a})=>{if(!a.trim())throw new Error("Project name is required");if(!e.prepare("UPDATE managed_projects SET name=? WHERE id=?").run(a.trim(),t).changes)throw new Error("Project not found");return e.prepare("UPDATE projects SET name=? WHERE id=?").run(a.trim(),t),i(t)}),"project.remove":e.transaction(({id:t})=>{if(e.prepare("SELECT 1 FROM managed_tasks WHERE project_id=? AND status='active' LIMIT 1").get(t))throw new Error("Cannot remove a project with a running task");let d=!!e.prepare("DELETE FROM managed_projects WHERE id=?").run(t).changes;return d&&(e.prepare("DELETE FROM task_settings WHERE project_id=?").run(t),e.prepare("DELETE FROM projects WHERE id=? AND kind='user'").run(t)),d}),"project.reorder":e.transaction(({ids:t})=>{let a=n();if(new Set(t).size!==t.length||t.length!==a.length||a.some(o=>!t.includes(o.id)))throw new Error("Invalid project order");let d=e.prepare("UPDATE managed_projects SET position=? WHERE id=?");return t.forEach((o,r)=>d.run(r,o)),n()}),"task.put":c,"task.read":({id:t})=>s(t),"task.bindings":()=>e.prepare("SELECT * FROM managed_tasks").all().map(F),"task.patch":({id:t,...a})=>{let d=s(t);if(!d)throw new Error("Task not found");if(ce(d,a),a.title!==void 0){if(!a.title.trim())throw new Error("Task title is required");a.title=a.title.trim();}let o={...d,...a,...d.sessionId!==null?{sessionId:d.sessionId}:{}};return e.prepare("UPDATE managed_tasks SET title=?,cwd=?,session_id=?,updated_at=?,pinned=?,archived=?,status=? WHERE id=?").run(o.title,o.cwd,o.sessionId,o.updatedAt,Number(o.pinned),Number(o.archived),o.status,t),o},"task.remove":e.transaction(({id:t})=>{let a=s(t);if(a?.status==="active")throw new Error("Cannot delete a running task");let d=!!e.prepare("DELETE FROM managed_tasks WHERE id=?").run(t).changes;if(d)for(let o of ["task_settings","task_queue","async_questions"])e.prepare(`DELETE FROM ${o} WHERE task_id=? AND project_id=?`).run(t,a.projectId??"temporary");return d}),"task.list":t=>{let a=["archived = ?"],d=[+(t.archived===true)];if(t.providers!==void 0){if(!Array.isArray(t.providers)||t.providers.length>2||t.providers.some(E=>E!=="codex"&&E!=="claude"))throw new Error("Invalid task providers");a.push(`provider IN (${t.providers.map(()=>"?").join(",")})`),d.push(...t.providers);}if(Object.hasOwn(t,"projectId")&&(a.push("project_id IS ?"),d.push(t.projectId)),t.pinned===true&&a.push("pinned = 1"),t.completed===true&&a.push("status IN ('idle', 'notLoaded') AND project_id IS NOT NULL"),t.searchTerm&&(a.push("instr(lower(title), lower(?)) > 0"),d.push(t.searchTerm)),t.cursor){let E=JSON.parse(t.cursor);if(!Array.isArray(E)||E.length!==2||!Number.isFinite(E[0])||typeof E[1]!="string")throw new Error("Invalid task cursor");a.push("(updated_at, id) < (?, ?)"),d.push(...E);}let o=Math.min(100,Math.max(1,t.limit??50)),r=e.prepare(`SELECT * FROM managed_tasks WHERE ${a.join(" AND ")} ORDER BY updated_at DESC,id DESC LIMIT ?`).all(...d,o+1),l=r.slice(0,o).map(F),_=l.at(-1);return {data:l,nextCursor:r.length>o?JSON.stringify([_.updatedAt,_.id]):null}},"migration.done":()=>!!e.prepare("SELECT 1 FROM managed_catalog_migration WHERE id=1").get(),"migration.import":e.transaction(({projects:t,tasks:a})=>{if(!u["migration.done"]()){for(let d of t)if(p(d),d.sourceId&&d.sourceId!==d.id){let o=e.prepare("PRAGMA table_info(project_defaults)").all().map(r=>r.name).filter(r=>r!=="project_id");e.prepare(`INSERT INTO project_defaults (project_id,${o.join(",")}) SELECT ?,${o.join(",")} FROM project_defaults WHERE project_id=? ON CONFLICT(project_id) DO NOTHING`).run(d.id,d.sourceId);}for(let d of a)if(c(d),d.projectId!==null)for(let o of ["task_settings","task_queue","async_questions"])e.prepare(`UPDATE ${o} SET project_id=? WHERE task_id=? AND project_id<>?`).run(d.projectId,d.id,d.projectId);e.prepare("INSERT INTO managed_catalog_migration VALUES (1)").run();}})};return {localCatalog:({operation:t,payload:a})=>{if(!Object.hasOwn(u,t))throw new Error("Unknown catalog operation");return u[t](a)}}}function pe(e){return {...de(e),...re(e),...oe(e),...ne(e),...se(e),...ie(e)}}function H(e){return {code:e!==null&&typeof e=="object"&&typeof e.code=="string"?e.code:void 0,message:e instanceof Error?e.message:String(e),name:e instanceof Error?e.name:"Error"}}function ue(e){let i=new q(`${e}.scheduled-lock`,{timeout:5e3});i.exec(`CREATE TABLE IF NOT EXISTS run_owners (
88
+ ON CONFLICT(id) DO UPDATE SET name=excluded.name`).run(t.id,t.name,t.createdAt),e.prepare("DELETE FROM project_roots WHERE project_id=?").run(t.id),e.prepare("INSERT INTO project_roots (project_id,position,root_id,path) VALUES (?,0,?,?)").run(t.id,createHash("sha256").update(t.path).digest("hex").slice(0,32),t.path),a$1(t.id))),c=t=>(Ne(r(t.id),t),e.prepare(`INSERT INTO managed_tasks VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
89
+ ON CONFLICT(id) DO NOTHING`).run(t.id,t.projectId,t.title,t.cwd,t.provider,t.sessionId,t.updatedAt,Number(t.pinned),Number(t.archived),t.status),r(t.id)),u={..._e(e),"project.list":o,"project.read":({id:t})=>a$1(t),"project.put":p,"project.rename":e.transaction(({id:t,name:i})=>{if(!i.trim())throw new Error("Project name is required");if(!e.prepare("UPDATE managed_projects SET name=? WHERE id=?").run(i.trim(),t).changes)throw new Error("Project not found");return e.prepare("UPDATE projects SET name=? WHERE id=?").run(i.trim(),t),a$1(t)}),"project.remove":e.transaction(({id:t})=>{if(e.prepare("SELECT 1 FROM managed_tasks WHERE project_id=? AND status='active' LIMIT 1").get(t))throw new Error("Cannot remove a project with a running task");let d=!!e.prepare("DELETE FROM managed_projects WHERE id=?").run(t).changes;return d&&(e.prepare("DELETE FROM task_settings WHERE project_id=?").run(t),e.prepare("DELETE FROM projects WHERE id=? AND kind='user'").run(t)),d}),"project.reorder":e.transaction(({ids:t})=>{let i=o();if(new Set(t).size!==t.length||t.length!==i.length||i.some(s=>!t.includes(s.id)))throw new Error("Invalid project order");let d=e.prepare("UPDATE managed_projects SET position=? WHERE id=?");return t.forEach((s,n)=>d.run(n,s)),o()}),"task.put":c,"task.read":({id:t})=>r(t),"task.preview":({id:t,preview:i})=>{if(!r(t))throw new Error("Task not found");return $(e,t,i),r(t)},"task.recoverPreviews":({databasePath:t})=>B(e,t),"task.bindings":()=>e.prepare(j).all().map(q),"task.patch":({id:t,...i})=>{let d=r(t);if(!d)throw new Error("Task not found");if(Ne(d,i),i.title!==void 0){if(!i.title.trim())throw new Error("Task title is required");i.title=i.title.trim();}let s={...d,...i,...d.sessionId!==null?{sessionId:d.sessionId}:{}};return e.prepare("UPDATE managed_tasks SET title=?,cwd=?,session_id=?,updated_at=?,pinned=?,archived=?,status=? WHERE id=?").run(s.title,s.cwd,s.sessionId,s.updatedAt,Number(s.pinned),Number(s.archived),s.status,t),s},"task.remove":e.transaction(({id:t})=>{let i=r(t);if(i?.status==="active")throw new Error("Cannot delete a running task");let d=!!e.prepare("DELETE FROM managed_tasks WHERE id=?").run(t).changes;if(d)for(let s of ["task_settings","task_queue","async_questions"])e.prepare(`DELETE FROM ${s} WHERE task_id=? AND project_id=?`).run(t,i.projectId??"temporary");return d}),"task.list":t=>{let i=["archived = ?"],d=[+(t.archived===true)];if(t.providers!==void 0){if(!Array.isArray(t.providers)||t.providers.length>2||t.providers.some(l=>l!=="codex"&&l!=="claude"))throw new Error("Invalid task providers");i.push(`provider IN (${t.providers.map(()=>"?").join(",")})`),d.push(...t.providers);}if(Object.hasOwn(t,"projectId")&&(i.push("project_id IS ?"),d.push(t.projectId)),t.pinned===true&&i.push("pinned = 1"),t.completed===true&&i.push("status IN ('idle', 'notLoaded') AND project_id IS NOT NULL"),t.searchTerm&&(i.push("instr(lower(COALESCE(NULLIF(title,''), preview, '')), lower(?)) > 0"),d.push(t.searchTerm)),t.cursor){let l=JSON.parse(t.cursor);if(!Array.isArray(l)||l.length!==2||!Number.isFinite(l[0])||typeof l[1]!="string")throw new Error("Invalid task cursor");i.push("(updated_at, id) < (?, ?)"),d.push(...l);}let s=Math.min(100,Math.max(1,t.limit??50)),n=e.prepare(`${j} WHERE ${i.join(" AND ")} ORDER BY updated_at DESC,id DESC LIMIT ?`).all(...d,s+1),_=n.slice(0,s).map(q),E=_.at(-1);return {data:_,nextCursor:n.length>s?JSON.stringify([E.updatedAt,E.id]):null}},"migration.done":()=>!!e.prepare("SELECT 1 FROM managed_catalog_migration WHERE id=1").get(),"migration.import":e.transaction(({projects:t,tasks:i})=>{if(!u["migration.done"]()){for(let d of t)if(p(d),d.sourceId&&d.sourceId!==d.id){let s=e.prepare("PRAGMA table_info(project_defaults)").all().map(n=>n.name).filter(n=>n!=="project_id");e.prepare(`INSERT INTO project_defaults (project_id,${s.join(",")}) SELECT ?,${s.join(",")} FROM project_defaults WHERE project_id=? ON CONFLICT(project_id) DO NOTHING`).run(d.id,d.sourceId);}for(let d of i)if(c(d),d.projectId!==null)for(let s of ["task_settings","task_queue","async_questions"])e.prepare(`UPDATE ${s} SET project_id=? WHERE task_id=? AND project_id<>?`).run(d.projectId,d.id,d.projectId);e.prepare("INSERT INTO managed_catalog_migration VALUES (1)").run();}})};return {localCatalog:({operation:t,payload:i})=>{if(!Object.hasOwn(u,t))throw new Error("Unknown catalog operation");return u[t](i)}}}function Se(e){return {...ge(e),...ie(e),...ce(e),...de(e),...pe(e),...ue(e)}}function X(e){return {code:e!==null&&typeof e=="object"&&typeof e.code=="string"?e.code:void 0,message:e instanceof Error?e.message:String(e),name:e instanceof Error?e.name:"Error"}}function fe(e){let a=new G(`${e}.scheduled-lock`,{timeout:5e3});a.exec(`CREATE TABLE IF NOT EXISTS run_owners (
85
90
  run_id TEXT PRIMARY KEY, pid INTEGER NOT NULL
86
- ) STRICT`);let s=i.prepare("SELECT run_id, pid FROM run_owners"),n=i.prepare("DELETE FROM run_owners WHERE run_id = ?"),p=i.prepare("INSERT INTO run_owners (run_id, pid) VALUES (?, ?)");return {initialize(c){try{return i.transaction(c).immediate()}finally{i.pragma("busy_timeout = 0");}},close:()=>i.close(),operations:{acquireScheduledTaskLock(){if(i.inTransaction)return false;try{return i.exec("BEGIN IMMEDIATE"),!0}catch(c){if(c.code==="SQLITE_BUSY")return false;throw c}},releaseScheduledTaskLock(){return i.exec("COMMIT"),null},listActiveScheduledTaskRunIds(){let c=[];for(let u of s.all())try{process.kill(u.pid,0),c.push(u.run_id);}catch(t){t.code==="ESRCH"?n.run(u.run_id):c.push(u.run_id);}return c},claimScheduledTaskRun(c){return p.run(c.runId,process.pid),null},releaseScheduledTaskRun(c){return n.run(c.runId),null}}}}function he(e){let i=S(e,"projects")&&S(e,"project_roots")?{upsertProject:e.prepare(`INSERT INTO projects (id, name, created_at, sort_order, kind)
91
+ ) STRICT`);let r=a.prepare("SELECT run_id, pid FROM run_owners"),o=a.prepare("DELETE FROM run_owners WHERE run_id = ?"),p=a.prepare("INSERT INTO run_owners (run_id, pid) VALUES (?, ?)");return {initialize(c){try{return a.transaction(c).immediate()}finally{a.pragma("busy_timeout = 0");}},close:()=>a.close(),operations:{acquireScheduledTaskLock(){if(a.inTransaction)return false;try{return a.exec("BEGIN IMMEDIATE"),!0}catch(c){if(c.code==="SQLITE_BUSY")return false;throw c}},releaseScheduledTaskLock(){return a.exec("COMMIT"),null},listActiveScheduledTaskRunIds(){let c=[];for(let u of r.all())try{process.kill(u.pid,0),c.push(u.run_id);}catch(t){t.code==="ESRCH"?o.run(u.run_id):c.push(u.run_id);}return c},claimScheduledTaskRun(c){return p.run(c.runId,process.pid),null},releaseScheduledTaskRun(c){return o.run(c.runId),null}}}}function Me(e){let a=f(e,"projects")&&f(e,"project_roots")?{upsertProject:e.prepare(`INSERT INTO projects (id, name, created_at, sort_order, kind)
87
92
  VALUES (?, ?, ?, (
88
93
  SELECT COALESCE(MAX(sort_order) + 1, 0) FROM projects WHERE kind = 'user'
89
94
  ), 'user')
@@ -185,4 +190,4 @@ DROP VIEW storage_source_projects;
185
190
  reasoning_effort = excluded.reasoning_effort,
186
191
  sandbox_mode = excluded.sandbox_mode,
187
192
  updated_at = excluded.updated_at
188
- `)}:void 0;function s(){if(i===void 0)throw new Error("SQLite state tables are unavailable");return i}function n(o){let r=s();return P(r.readProject.get(o),r.readProjectRoots.all(o))}function p(){let o=s();return X(o.listProjects.all(),o.listProjectRoots.all())}function c(o){let r=s();if(!Array.isArray(o.roots)||o.roots.length===0)throw new Error("Project roots must contain a primary root");let l=o.roots.map(E=>E.id),_=o.roots.map(E=>E.path);if(l.some(E=>typeof E!="string"||E.length===0))throw new Error("Project root ids must be non-empty strings");if(new Set(l).size!==l.length)throw new Error("Project root ids must be unique");if(_.some(E=>typeof E!="string"||E.length===0))throw new Error("Project root paths must be non-empty strings");if(new Set(_).size!==_.length)throw new Error("Project root paths must be unique");r.removeProjectRoots.run(o.id),_.forEach((E,f)=>{r.writeProjectRoot.run(o.id,f,l[f],E);});}let u=e.transaction(o=>{let r=s(),l=r.listProjectIds.all().map(f=>f.id),_=new Set(o);if(!(o.length===l.length&&_.size===l.length&&l.every(f=>_.has(f))))throw new Error("Project order must contain every project exactly once");return o.forEach((f,le)=>{r.writeProjectSortOrder.run(le,f);}),p()}),t=e.transaction(o=>{let r=s(),l=new Set(o.map(_=>_.id));if(l.size!==o.length)throw new Error("Project projection must contain unique project ids");for(let{id:_}of r.listProjectIds.all())l.has(_)||r.removeProject.run(_);return o.forEach((_,E)=>{r.upsertProjectAtOrder.run(_.id,_.name,_.createdAt,E),c(_);}),p()}),a=e.transaction((o,r)=>{let l=s(),_=l.readProjectWithOrder.get(o),E=_?.sort_order??l.listProjectIds.all().length;l.upsertProjectAtOrder.run(r.id,r.name,r.createdAt,E),c(r),o!==r.id&&_!==void 0&&(l.copyProjectDefaults.run(r.id,o),l.copyTaskSettings.run(r.id,o),l.removeProject.run(o));let f=n(r.id);if(f===void 0)throw new Error("Migrated Project projection could not be stored");return f}),d=S(e,"project_source_migration")?{complete:e.prepare("UPDATE project_source_migration SET completed = 1 WHERE id = 1"),read:e.prepare("SELECT completed, recover_unassigned FROM project_source_migration WHERE id = 1")}:void 0;return {...pe(e),diagnose(){e.exec("BEGIN IMMEDIATE");try{e.prepare("INSERT INTO schema_migrations (version, name, applied_at) VALUES (-1, 'doctor', ?)").run(new Date().toISOString());}finally{e.exec("ROLLBACK");}let o=e.pragma("synchronous",{simple:true});return {busyTimeout:e.pragma("busy_timeout",{simple:true}),foreignKeys:e.pragma("foreign_keys",{simple:true})===1,integrityCheck:e.pragma("integrity_check",{simple:true}),journalMode:e.pragma("journal_mode",{simple:true}),migrationVersion:e.prepare("SELECT COALESCE(MAX(version), 0) AS version FROM schema_migrations").get().version,synchronous:o===1?"normal":String(o),writable:true}},completeProjectSourceMigration(){if(d===void 0)throw new Error("Project source migration state is unavailable");return d.complete.run(),null},listProjects(){return p()},readProject(o){return n(o.projectId)},readProjectSourceMigration(){if(d===void 0)throw new Error("Project source migration state is unavailable");let o=d.read.get();if(o===void 0)throw new Error("Project source migration state is missing");return {completed:o.completed===1,recoverUnassigned:o.recover_unassigned===1}},replaceProjects(o){return t(o.projects)},upsertProject(o){return e.transaction(r=>{s().upsertProject.run(r.id,r.name,r.createdAt),c(r);let _=n(r.id);if(_===void 0)throw new Error("Project projection could not be stored");return _})(o.project)},migrateProject(o){return a(o.legacyProjectId,o.project)},deleteProject(o){return s().removeProject.run(o.projectId).changes>0},setProjectOrder(o){return u(o.projectIds)},readProjectDefaults(o){return $(s().readProjectDefaults.get(o.projectId))},readGlobalSettings(){return Y(s().readGlobalSettings.get())},readProviderConnection(){return z(s().readProviderConnection.get())},readTaskSettings(o){return Q(s().readTaskSettings.get(o.projectId,o.taskId))},writeProjectDefaults(o){let r=o.settings;return s().writeProjectDefaults.run(o.projectId,v(r.approvalPolicy),r.approvalsReviewer,r.fastMode?1:0,r.model,r.reasoningEffort,r.sandboxMode,o.updatedAt),r},writeGlobalSettings(o){let r=o.settings;return s().writeGlobalSettings.run(r.taskTitlePrompt??"",r.defaultAgent??null,v(r.approvalPolicy),r.approvalsReviewer,r.defaultModel,r.commitMessagePrompt,r.model,r.reasoningEffort,r.sandboxMode,r.defaultOpenAppId,r.fastMode?1:0,r.followUpBehavior,r.pet.enabled?1:0,r.pet.selectedPetId,o.updatedAt),r},writeProviderConnection(o){return s().writeProviderConnection.run(o.mode,o.customBaseUrl,o.customModelsJson,o.updatedAt),null},writeTaskSettings(o){let r=o.settings;return s().writeTaskSettings.run(o.projectId,o.taskId,v(r.approvalPolicy),r.approvalsReviewer,r.model,r.reasoningEffort,r.sandboxMode,o.updatedAt,r.engineOptions===void 0?null:JSON.stringify(r.engineOptions)),r}}}var T,R;try{V(workerData.databasePath,workerData.legacyDirectories),R=ue(workerData.databasePath),R.initialize(()=>{T=new q(workerData.databasePath),K(T);let i=Z(T);ee(T,workerData.migrations,s=>{s===15&&M(T,i);}),M(T,i),te(T);});let e={...he(T),...R.operations};parentPort.on("message",i=>{try{if(i.operation==="close"){R.close(),T.close(),parentPort.postMessage({id:i.id,result:null,type:"response"}),parentPort.close();return}let s=e[i.operation];if(typeof s!="function")throw new Error(`Unknown SQLite worker operation: ${String(i.operation)}`);parentPort.postMessage({id:i.id,result:s(i.payload),type:"response"});}catch(s){parentPort.postMessage({id:i.id,error:H(s),type:"response"});}}),parentPort.postMessage({type:"ready"});}catch(e){R?.close(),T?.close(),parentPort.postMessage({error:H(e),type:"fatal"}),parentPort.close();}
193
+ `)}:void 0;function r(){if(a===void 0)throw new Error("SQLite state tables are unavailable");return a}function o(s){let n=r();return P(n.readProject.get(s),n.readProjectRoots.all(s))}function p(){let s=r();return K(s.listProjects.all(),s.listProjectRoots.all())}function c(s){let n=r();if(!Array.isArray(s.roots)||s.roots.length===0)throw new Error("Project roots must contain a primary root");let _=s.roots.map(l=>l.id),E=s.roots.map(l=>l.path);if(_.some(l=>typeof l!="string"||l.length===0))throw new Error("Project root ids must be non-empty strings");if(new Set(_).size!==_.length)throw new Error("Project root ids must be unique");if(E.some(l=>typeof l!="string"||l.length===0))throw new Error("Project root paths must be non-empty strings");if(new Set(E).size!==E.length)throw new Error("Project root paths must be unique");n.removeProjectRoots.run(s.id),E.forEach((l,T)=>{n.writeProjectRoot.run(s.id,T,_[T],l);});}let u=e.transaction(s=>{let n=r(),_=n.listProjectIds.all().map(T=>T.id),E=new Set(s);if(!(s.length===_.length&&E.size===_.length&&_.every(T=>E.has(T))))throw new Error("Project order must contain every project exactly once");return s.forEach((T,ke)=>{n.writeProjectSortOrder.run(ke,T);}),p()}),t=e.transaction(s=>{let n=r(),_=new Set(s.map(E=>E.id));if(_.size!==s.length)throw new Error("Project projection must contain unique project ids");for(let{id:E}of n.listProjectIds.all())_.has(E)||n.removeProject.run(E);return s.forEach((E,l)=>{n.upsertProjectAtOrder.run(E.id,E.name,E.createdAt,l),c(E);}),p()}),i=e.transaction((s,n)=>{let _=r(),E=_.readProjectWithOrder.get(s),l=E?.sort_order??_.listProjectIds.all().length;_.upsertProjectAtOrder.run(n.id,n.name,n.createdAt,l),c(n),s!==n.id&&E!==void 0&&(_.copyProjectDefaults.run(n.id,s),_.copyTaskSettings.run(n.id,s),_.removeProject.run(s));let T=o(n.id);if(T===void 0)throw new Error("Migrated Project projection could not be stored");return T}),d=f(e,"project_source_migration")?{complete:e.prepare("UPDATE project_source_migration SET completed = 1 WHERE id = 1"),read:e.prepare("SELECT completed, recover_unassigned FROM project_source_migration WHERE id = 1")}:void 0;return {...Se(e),diagnose(){e.exec("BEGIN IMMEDIATE");try{e.prepare("INSERT INTO schema_migrations (version, name, applied_at) VALUES (-1, 'doctor', ?)").run(new Date().toISOString());}finally{e.exec("ROLLBACK");}let s=e.pragma("synchronous",{simple:true});return {busyTimeout:e.pragma("busy_timeout",{simple:true}),foreignKeys:e.pragma("foreign_keys",{simple:true})===1,integrityCheck:e.pragma("integrity_check",{simple:true}),journalMode:e.pragma("journal_mode",{simple:true}),migrationVersion:e.prepare("SELECT COALESCE(MAX(version), 0) AS version FROM schema_migrations").get().version,synchronous:s===1?"normal":String(s),writable:true}},completeProjectSourceMigration(){if(d===void 0)throw new Error("Project source migration state is unavailable");return d.complete.run(),null},listProjects(){return p()},readProject(s){return o(s.projectId)},readProjectSourceMigration(){if(d===void 0)throw new Error("Project source migration state is unavailable");let s=d.read.get();if(s===void 0)throw new Error("Project source migration state is missing");return {completed:s.completed===1,recoverUnassigned:s.recover_unassigned===1}},replaceProjects(s){return t(s.projects)},upsertProject(s){return e.transaction(n=>{r().upsertProject.run(n.id,n.name,n.createdAt),c(n);let E=o(n.id);if(E===void 0)throw new Error("Project projection could not be stored");return E})(s.project)},migrateProject(s){return i(s.legacyProjectId,s.project)},deleteProject(s){return r().removeProject.run(s.projectId).changes>0},setProjectOrder(s){return u(s.projectIds)},readProjectDefaults(s){return Z(r().readProjectDefaults.get(s.projectId))},readGlobalSettings(){return te(r().readGlobalSettings.get())},readProviderConnection(){return re(r().readProviderConnection.get())},readTaskSettings(s){return ee(r().readTaskSettings.get(s.projectId,s.taskId))},writeProjectDefaults(s){let n=s.settings;return r().writeProjectDefaults.run(s.projectId,x(n.approvalPolicy),n.approvalsReviewer,n.fastMode?1:0,n.model,n.reasoningEffort,n.sandboxMode,s.updatedAt),n},writeGlobalSettings(s){let n=s.settings;return r().writeGlobalSettings.run(n.taskTitlePrompt??"",n.defaultAgent??null,x(n.approvalPolicy),n.approvalsReviewer,n.defaultModel,n.commitMessagePrompt,n.model,n.reasoningEffort,n.sandboxMode,n.defaultOpenAppId,n.fastMode?1:0,n.followUpBehavior,n.pet.enabled?1:0,n.pet.selectedPetId,s.updatedAt),n},writeProviderConnection(s){return r().writeProviderConnection.run(s.mode,s.customBaseUrl,s.customModelsJson,s.updatedAt),null},writeTaskSettings(s){let n=s.settings;return r().writeTaskSettings.run(s.projectId,s.taskId,x(n.approvalPolicy),n.approvalsReviewer,n.model,n.reasoningEffort,n.sandboxMode,s.updatedAt,n.engineOptions===void 0?null:JSON.stringify(n.engineOptions)),n}}}var g,A;try{Q(workerData.databasePath,workerData.legacyDirectories),A=fe(workerData.databasePath),A.initialize(()=>{g=new G(workerData.databasePath),oe(g);let a=ne(g);se(g,workerData.migrations,r=>{r===15&&H(g,a);}),H(g,a),ae(g);});let e={...Me(g),...A.operations};parentPort.on("message",a=>{try{if(a.operation==="close"){A.close(),g.close(),parentPort.postMessage({id:a.id,result:null,type:"response"}),parentPort.close();return}let r=e[a.operation];if(typeof r!="function")throw new Error(`Unknown SQLite worker operation: ${String(a.operation)}`);parentPort.postMessage({id:a.id,result:r(a.payload),type:"response"});}catch(r){parentPort.postMessage({id:a.id,error:X(r),type:"response"});}}),parentPort.postMessage({type:"ready"});}catch(e){A?.close(),g?.close(),parentPort.postMessage({error:X(e),type:"fatal"}),parentPort.close();}
@@ -0,0 +1 @@
1
+ import {createRequire}from'node:module';export{uh as TokenUsageResponseSchema}from'./chunk-W4XMPSQ6.js';import'./chunk-IV4NRE4S.js';import'./chunk-YXJGRSCL.js';createRequire(import.meta.url);