@qwen-code/qwen-code 0.20.2-jobbench-no-todo-write.0 → 0.21.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 (370) hide show
  1. package/bundled/qc-helper/docs/configuration/settings.md +5 -0
  2. package/bundled/qc-helper/docs/features/sub-agents.md +23 -5
  3. package/bundled/qc-helper/docs/integration-github-action.md +9 -9
  4. package/bundled/review/SKILL.md +7 -3
  5. package/chunks/MaxSizedBox-5DPPWPGT.js +85 -0
  6. package/chunks/{StandaloneSessionPicker-WBRBHD2M.js → StandaloneSessionPicker-BIRMPLRD.js} +66 -58
  7. package/chunks/{acp-startup-profiler-N3RHHXJ3.js → acp-startup-profiler-RV3IV562.js} +2 -2
  8. package/chunks/{acpAgent-BBQZ33CA.js → acpAgent-6J2U72PQ.js} +706 -182
  9. package/chunks/agent-6ODUANDO.js +81 -0
  10. package/chunks/agent-headless-7BYQTMHW.js +75 -0
  11. package/chunks/{anthropicContentGenerator-HGWAHO24.js → anthropicContentGenerator-75BKLTSP.js} +117 -43
  12. package/chunks/{artifact-tool-56T5IMBP.js → artifact-tool-Y5T7GG7F.js} +3 -3
  13. package/chunks/{askUserQuestion-E25OBIC2.js → askUserQuestion-2H6747FR.js} +3 -3
  14. package/chunks/bridge-ZUB64FAE.js +90 -0
  15. package/chunks/{build-SSCNEHZZ.js → build-RV63TIRH.js} +2 -3
  16. package/chunks/{ca-N6VVUFVB.js → ca-25EDXPFZ.js} +2 -0
  17. package/chunks/{channel-worker-group-LFBT7K64.js → channel-worker-group-2ZD7TVAT.js} +7 -6
  18. package/chunks/{channel-worker-manager-3RUPERG2.js → channel-worker-manager-4OA4BCGB.js} +189 -29
  19. package/chunks/{channel-worker-supervisor-A3KVATD3.js → channel-worker-supervisor-V7KCFJTS.js} +6 -5
  20. package/chunks/{chunk-TYQMGACW.js → chunk-22C7BQ6D.js} +508 -10967
  21. package/chunks/chunk-2JZBVYTU.js +452 -0
  22. package/chunks/{chunk-H2XVO6NE.js → chunk-2MIN6GRR.js} +1 -1
  23. package/chunks/{chunk-B2HSPMD4.js → chunk-2NH6DYI4.js} +12 -12
  24. package/chunks/chunk-2SCDWPXI.js +246 -0
  25. package/chunks/{chunk-JK26TQON.js → chunk-2X55UKQE.js} +3 -3
  26. package/chunks/{chunk-7VUQQBR7.js → chunk-3QMGYBFN.js} +2 -65
  27. package/chunks/{chunk-UMCULC5M.js → chunk-3RN6GBKS.js} +1 -1
  28. package/chunks/{chunk-QR6U5QPP.js → chunk-3SJ43L4W.js} +4 -0
  29. package/chunks/chunk-46UV252V.js +128 -0
  30. package/chunks/{chunk-GPMVHZP4.js → chunk-4WIZGAH3.js} +7 -7
  31. package/chunks/{chunk-CI3GWKGJ.js → chunk-55DJUCI2.js} +87 -29
  32. package/chunks/{chunk-QNLNLENL.js → chunk-5I2IWRSH.js} +2 -2
  33. package/chunks/{chunk-D7WXIW7H.js → chunk-5NBDS5S6.js} +145 -5
  34. package/chunks/{chunk-E4IMU4Y5.js → chunk-63P4EL5V.js} +1 -1
  35. package/chunks/chunk-6FGBXPWM.js +293 -0
  36. package/chunks/{chunk-NEEB7UEN.js → chunk-6GMVPFB2.js} +153 -72
  37. package/chunks/{chunk-KWK7UE6L.js → chunk-6OUGMXDC.js} +6 -6
  38. package/chunks/{chunk-QRUIS3DN.js → chunk-6PEXNQTX.js} +22 -1
  39. package/chunks/{chunk-77OZOGPT.js → chunk-7JURR4JT.js} +1 -1
  40. package/chunks/{chunk-4MWNZNJ4.js → chunk-7MVVZO4N.js} +4 -4
  41. package/chunks/{chunk-6ZBPS62S.js → chunk-7ZCNENPP.js} +1 -1
  42. package/chunks/{chunk-6X4GWOPW.js → chunk-A5L3JMUA.js} +1 -1
  43. package/chunks/{chunk-B3I77W5J.js → chunk-ACY3A37B.js} +3 -3
  44. package/chunks/chunk-AMDSOFFV.js +10860 -0
  45. package/chunks/{chunk-RV4C2ZFG.js → chunk-BIQWWWJN.js} +1 -1
  46. package/chunks/{chunk-ZHERRXZJ.js → chunk-BJX6ZSUK.js} +4 -4
  47. package/chunks/chunk-BK2UNYWD.js +29 -0
  48. package/chunks/{chunk-7TLUW4ZE.js → chunk-BKHWX6I2.js} +3 -3
  49. package/chunks/chunk-BPJSQIJX.js +100 -0
  50. package/chunks/{chunk-M7WBGLYP.js → chunk-BULDBTYC.js} +2 -0
  51. package/chunks/{chunk-H4A4A2SY.js → chunk-CIKQ7KKO.js} +4625 -8645
  52. package/chunks/{chunk-QZJY47IE.js → chunk-D3UEZIQH.js} +7 -5
  53. package/chunks/chunk-DHHOYAPR.js +1462 -0
  54. package/chunks/{chunk-LESHKUWF.js → chunk-DLWL3Z7A.js} +5 -3
  55. package/chunks/{chunk-XHATNRQA.js → chunk-DP3IHZGG.js} +0 -2
  56. package/chunks/chunk-E5TUC6CA.js +479 -0
  57. package/chunks/{chunk-6NRFYMKG.js → chunk-EBJQ6AXW.js} +11 -10
  58. package/chunks/{chunk-HABKX6LY.js → chunk-EPDRMGT4.js} +164 -17
  59. package/chunks/{chunk-P2BQZ7H7.js → chunk-ETSW4KLJ.js} +2 -2
  60. package/chunks/{chunk-KHOVYUHX.js → chunk-FNQ6T3CV.js} +20 -3
  61. package/chunks/{chunk-64EG42HV.js → chunk-FQK6JAFG.js} +72 -23
  62. package/chunks/{chunk-L6U47G5P.js → chunk-FSITMZJH.js} +8 -8
  63. package/chunks/{chunk-6RLROE6G.js → chunk-GLWP3FDB.js} +80 -15
  64. package/chunks/{chunk-CXIOPXRR.js → chunk-GSN55ZRI.js} +5 -5
  65. package/chunks/{chunk-LVA5OHQO.js → chunk-H4SBPHSA.js} +3 -3
  66. package/chunks/chunk-H5FFA6TH.js +902 -0
  67. package/chunks/{chunk-TDKQP3M6.js → chunk-HIJQF5B5.js} +1 -1
  68. package/chunks/{chunk-NXE6SQIV.js → chunk-IJTOWOD7.js} +14 -3
  69. package/chunks/chunk-IKCX4CCL.js +469 -0
  70. package/chunks/{chunk-7SSWNGEJ.js → chunk-IKYJHJNF.js} +3 -3
  71. package/chunks/{chunk-64XKYOXK.js → chunk-IO3IX5Q4.js} +1 -1
  72. package/chunks/{chunk-RS7MT2QG.js → chunk-IPUUTYMV.js} +2 -4
  73. package/chunks/{chunk-XU457J4V.js → chunk-IRH27ZC2.js} +2 -2
  74. package/chunks/{chunk-SVIMKSEI.js → chunk-J24WCGIN.js} +4 -4
  75. package/chunks/{chunk-4LVZNIDO.js → chunk-J56UI34H.js} +4 -13
  76. package/chunks/{chunk-TJTKSVIV.js → chunk-JLU636DO.js} +5 -1
  77. package/chunks/{chunk-7PIL2BYF.js → chunk-JVPM2ULZ.js} +6 -6
  78. package/chunks/{chunk-KBB5O3JO.js → chunk-JXJFVC6E.js} +37 -18
  79. package/chunks/chunk-JZA3JUDJ.js +82 -0
  80. package/chunks/{chunk-45PO6ZIS.js → chunk-K36B6G2O.js} +5 -5
  81. package/chunks/{chunk-GPSKDNEE.js → chunk-K4XWPEWB.js} +4 -4
  82. package/chunks/{chunk-K7EUPLIP.js → chunk-KIM5GUMA.js} +654 -117
  83. package/chunks/{chunk-42W5BDEY.js → chunk-KMQ33DO4.js} +7 -5
  84. package/chunks/{chunk-E2UVIFI2.js → chunk-KRXPRVGL.js} +0 -1
  85. package/chunks/{chunk-WHGVTP7Q.js → chunk-L26JL52R.js} +3 -3
  86. package/chunks/{chunk-7Z6JQEL6.js → chunk-L5UHQJTJ.js} +1 -1
  87. package/chunks/{chunk-26CBI4DC.js → chunk-LB6DUZ26.js} +259 -67
  88. package/chunks/chunk-LEH5C7FV.js +232 -0
  89. package/chunks/{chunk-UTGFTJ2H.js → chunk-LH2BYDQ5.js} +6 -4
  90. package/chunks/{chunk-QKTHJXCS.js → chunk-LK7CHLVP.js} +79 -2
  91. package/chunks/{chunk-V7WNRZL7.js → chunk-LKEJ26GS.js} +11 -11
  92. package/chunks/{chunk-6VPLV3L3.js → chunk-LQIW3YFY.js} +227 -41
  93. package/chunks/chunk-LS77BEZP.js +405 -0
  94. package/chunks/{chunk-5WDRI7US.js → chunk-M4FMGVY4.js} +3 -3
  95. package/chunks/{chunk-57FIIFJN.js → chunk-M5JM7OSF.js} +1 -1
  96. package/chunks/{chunk-7362QS5B.js → chunk-MB4MZHMJ.js} +80 -37
  97. package/chunks/{chunk-4K56OJFJ.js → chunk-MUP3T3AD.js} +1 -1
  98. package/chunks/{chunk-CJQ3FZ2G.js → chunk-MVSUYZDT.js} +4 -4
  99. package/chunks/{chunk-6FZYKBKV.js → chunk-MZAXJAUM.js} +1 -1
  100. package/chunks/{chunk-32L4D2O2.js → chunk-NH6KE4JX.js} +3 -3
  101. package/chunks/chunk-NIBLUX3Y.js +934 -0
  102. package/chunks/{chunk-OQB4EXO4.js → chunk-NL7LTRLR.js} +1 -1
  103. package/chunks/{chunk-6S5HSCOI.js → chunk-OFDOK3VM.js} +5 -5
  104. package/chunks/{chunk-LIZRAKPB.js → chunk-OHNBB4XR.js} +1 -1
  105. package/chunks/{chunk-MDZTPSXO.js → chunk-OKY7HXPG.js} +2 -2
  106. package/chunks/{chunk-NHDKSOEY.js → chunk-P3QQPMQA.js} +5 -5
  107. package/chunks/{chunk-4SCOLXTD.js → chunk-PC6JANNU.js} +5 -5
  108. package/chunks/{chunk-IWALV67J.js → chunk-PHOF65IG.js} +4300 -1284
  109. package/chunks/{chunk-OQ5SYCPE.js → chunk-PJIZUQVC.js} +2 -2
  110. package/chunks/{chunk-5DTTYNB7.js → chunk-PQNHRFJC.js} +16 -3
  111. package/chunks/{chunk-YM3SZTH4.js → chunk-PR75REBZ.js} +18 -1
  112. package/chunks/{chunk-5XORMWA2.js → chunk-PSOO6YXD.js} +18 -15
  113. package/chunks/{chunk-X6N25LXS.js → chunk-PWTZEM3C.js} +2 -2
  114. package/chunks/{chunk-GSX6P2JW.js → chunk-PWVFN2LF.js} +1 -1
  115. package/chunks/{chunk-AHX6AKPD.js → chunk-Q4M4MDQ4.js} +2 -2
  116. package/chunks/{chunk-3EHJ44GG.js → chunk-QAF7NMK7.js} +1 -1
  117. package/chunks/{chunk-WSYKDFYR.js → chunk-R5AFZNQW.js} +5 -5
  118. package/chunks/{chunk-63DJBU32.js → chunk-RF3EXIHJ.js} +39 -18
  119. package/chunks/{chunk-4K7VDKAD.js → chunk-RHLZR4E5.js} +1 -1
  120. package/chunks/{chunk-SXPSOMQ4.js → chunk-RIBKPMRP.js} +220 -141
  121. package/chunks/{chunk-RVLZCXEE.js → chunk-RWTEFFPU.js} +82 -3
  122. package/chunks/{chunk-ZUTM4LHM.js → chunk-RZIX2G32.js} +1 -1
  123. package/chunks/{chunk-ZKBNRL6O.js → chunk-SQCQ4KO2.js} +336 -404
  124. package/chunks/{chunk-THJNPLI4.js → chunk-TARRHLLG.js} +1 -0
  125. package/chunks/{chunk-RHYFF54J.js → chunk-TEHGS6UP.js} +50 -21
  126. package/chunks/{chunk-ACQJPDDS.js → chunk-TGILQ3YH.js} +8 -8
  127. package/chunks/{chunk-Q2YKNMLS.js → chunk-TOFQCPDC.js} +43 -10
  128. package/chunks/{chunk-ACZIBDYD.js → chunk-TPRQ7RZH.js} +587 -176
  129. package/chunks/{chunk-T4TZQJ7W.js → chunk-TWPJO254.js} +5 -16
  130. package/chunks/{chunk-7MWABCXU.js → chunk-U7M2DMGW.js} +3 -3
  131. package/chunks/{chunk-KQQ757OQ.js → chunk-UDX5OBWR.js} +41 -9
  132. package/chunks/{chunk-SRPZG4ER.js → chunk-USTWD7QV.js} +6 -4
  133. package/chunks/{chunk-NPQDJGKU.js → chunk-UUUTRMI2.js} +1 -1
  134. package/chunks/chunk-UW5EOVUN.js +249 -0
  135. package/chunks/{chunk-6IL7KRLE.js → chunk-VAK25FTU.js} +1 -1
  136. package/chunks/{chunk-TDDFEPBX.js → chunk-VIA5XA4U.js} +5 -2
  137. package/chunks/{chunk-3BJDQVE6.js → chunk-VRYUBFMC.js} +1 -1
  138. package/chunks/{chunk-PLQODS7F.js → chunk-VULLI6WQ.js} +172 -6
  139. package/chunks/{chunk-GN45XAAU.js → chunk-WCXCRJYB.js} +1 -1
  140. package/chunks/{chunk-2LI23QA6.js → chunk-X5XDDSSH.js} +1 -1
  141. package/chunks/{chunk-O32RMIMO.js → chunk-Y34KJKDC.js} +1 -1
  142. package/chunks/{chunk-7ZD5EKXE.js → chunk-YBL3QUDD.js} +2 -2
  143. package/chunks/{chunk-H4AR2JQF.js → chunk-YH6G52F2.js} +3 -3
  144. package/chunks/{chunk-3G3UUMRS.js → chunk-YPE6A4GC.js} +2 -2
  145. package/chunks/{chunk-3F2JUWCH.js → chunk-YX324OPW.js} +1 -1
  146. package/chunks/{chunk-CGIDQG6J.js → chunk-Z2BC6UJ5.js} +3 -3
  147. package/chunks/{chunk-QLJUC7TG.js → chunk-ZD6UTE4A.js} +1 -1
  148. package/chunks/{chunk-ZPWJZHJ2.js → chunk-ZFDTEDCF.js} +6 -6
  149. package/chunks/chunk-ZJHVAS7M.js +289 -0
  150. package/chunks/{chunk-XAGLQITN.js → chunk-ZNAUOR2I.js} +15 -12
  151. package/chunks/{chunk-T2L47JJK.js → chunk-ZOIFNCKL.js} +4 -4
  152. package/chunks/{computer-use-RZ3UUWYW.js → computer-use-SOQ4E3VX.js} +43 -34
  153. package/chunks/{config-utils-SQUBZEQM.js → config-utils-7V7GGIW6.js} +3 -3
  154. package/chunks/contextCommand-JLHYA34Z.js +80 -0
  155. package/chunks/{create-sub-session-AZ77LBL3.js → create-sub-session-IWW2IZ2T.js} +3 -3
  156. package/chunks/{create-sub-session-EQG73FT6.js → create-sub-session-QRJLW5BV.js} +43 -34
  157. package/chunks/{cron-create-KTWJM7QT.js → cron-create-YIID5XAW.js} +6 -6
  158. package/chunks/{cron-delete-2P3I5ULL.js → cron-delete-ZVHYCEP2.js} +5 -5
  159. package/chunks/{cron-list-PXDPGEDQ.js → cron-list-XEGS463Q.js} +5 -5
  160. package/chunks/{daemon-RAPSDJH7.js → daemon-YO6433NF.js} +350 -53
  161. package/chunks/daemon-status-provider-2233Q37D.js +89 -0
  162. package/chunks/{de-4IBXM7CN.js → de-HGRCYDEJ.js} +1 -0
  163. package/chunks/{dist-UIFWIFRO.js → dist-46NQKLTW.js} +2 -2
  164. package/chunks/{dist-XRYV6TJP.js → dist-AIKFMUKK.js} +50 -4
  165. package/chunks/{dist-XBJVSWS2.js → dist-BBLXMS3N.js} +14 -2
  166. package/chunks/{dist-OMW6WDEO.js → dist-F6IBUDR4.js} +40 -9
  167. package/chunks/{dist-PJLG2XYX.js → dist-WEAHOXDM.js} +1 -1
  168. package/chunks/{dist-OAV7LJGJ.js → dist-YFNEUWSE.js} +26 -2
  169. package/chunks/earlyInputCapture-A7NDU3PF.js +82 -0
  170. package/chunks/{edit-XRSKQPHQ.js → edit-OBDSQURM.js} +43 -34
  171. package/chunks/{en-USMCCJAJ.js → en-MTWBNGDO.js} +15 -0
  172. package/chunks/{enter-worktree-WAHCWE6I.js → enter-worktree-U6MRPQ2P.js} +43 -34
  173. package/chunks/{enterPlanMode-QIOYLDCF.js → enterPlanMode-BC5QUZZ2.js} +43 -34
  174. package/chunks/{environment-T3FXCDJI.js → environment-W5UFC2CH.js} +46 -37
  175. package/chunks/errors-M7CLORXH.js +88 -0
  176. package/chunks/{exit-worktree-RHVTLX6T.js → exit-worktree-DGNYMECB.js} +43 -34
  177. package/chunks/{exitPlanMode-UATOE2GQ.js → exitPlanMode-GXTBWQAR.js} +43 -34
  178. package/chunks/{fast-path-J3RHOYSZ.js → fast-path-JJZFJANL.js} +6 -6
  179. package/chunks/{fast-path-settings-XB3CPUJT.js → fast-path-settings-WQJU2LAT.js} +2 -2
  180. package/chunks/{fr-WVHEBDDB.js → fr-45RLL55O.js} +1 -0
  181. package/chunks/{gemini-P72OGOH6.js → gemini-QS36EBZV.js} +133 -102
  182. package/chunks/{geminiContentGenerator-F6EG5FXF.js → geminiContentGenerator-AG4KB6CV.js} +14 -8
  183. package/chunks/{getMachineId-bsd-QFVLPUPT.js → getMachineId-bsd-V7W3GODC.js} +1 -1
  184. package/chunks/{getMachineId-darwin-DGMQQE2E.js → getMachineId-darwin-TDO75DQP.js} +1 -1
  185. package/chunks/{getMachineId-linux-R4Z6CSWC.js → getMachineId-linux-TF43WQT2.js} +1 -1
  186. package/chunks/{getMachineId-unsupported-Z3SBVBUV.js → getMachineId-unsupported-ZGUO3TXT.js} +1 -1
  187. package/chunks/{getMachineId-win-SCK5UFDT.js → getMachineId-win-ECFYZZFQ.js} +1 -1
  188. package/chunks/{glob-WHASQZRX.js → glob-V7R3PSK3.js} +43 -34
  189. package/chunks/{grep-LS7AADJ3.js → grep-QYPSK7OP.js} +43 -34
  190. package/chunks/handleAutoUpdate-6DBEZYPV.js +81 -0
  191. package/chunks/{i18n-IMVASWIF.js → i18n-VUJJZIMU.js} +44 -35
  192. package/chunks/image-gen-Z3VPGKRC.js +240 -0
  193. package/chunks/initializer-UWAK5U5O.js +86 -0
  194. package/chunks/installationInfo-6O2YAA52.js +80 -0
  195. package/chunks/{ja-KY4ROZTE.js → ja-B7DF7DFG.js} +1 -0
  196. package/chunks/{keychain-token-storage-6ACJDYIB.js → keychain-token-storage-MDTG3WRM.js} +3 -3
  197. package/chunks/{kittyProtocolDetector-HCNNKJTI.js → kittyProtocolDetector-MBRTDRBK.js} +5 -3
  198. package/chunks/list-GB4ESM3T.js +89 -0
  199. package/chunks/list-agents-5KJJHR6I.js +80 -0
  200. package/chunks/loadedSettingsAdapter-OT6JVQ7U.js +83 -0
  201. package/chunks/loggingContentGenerator-HS3S5H3Q.js +1077 -0
  202. package/chunks/{loop-wakeup-RNMRVA66.js → loop-wakeup-FXKNNYSY.js} +7 -7
  203. package/chunks/{ls-J2ZI5XYK.js → ls-NTK6VOQJ.js} +5 -5
  204. package/chunks/{lsp-UMS3NUB5.js → lsp-2JI24STP.js} +3 -3
  205. package/chunks/{managed-npm-update-L6UY7OM7.js → managed-npm-update-JYEMMXA3.js} +94 -37
  206. package/chunks/mcp-6DBDJPFU.js +83 -0
  207. package/chunks/{monitor-DXYFB5QD.js → monitor-R3ODH5U6.js} +45 -35
  208. package/chunks/node-UUDY34IG.js +305 -0
  209. package/chunks/nonInteractiveCli-MOYCYBBU.js +141 -0
  210. package/chunks/{notebook-edit-KGD7YJEA.js → notebook-edit-BNOK452R.js} +43 -34
  211. package/chunks/{openaiContentGenerator-C74A2XAU.js → openaiContentGenerator-WMCU3O2H.js} +27 -17
  212. package/chunks/pidfile-TFRZZZIO.js +86 -0
  213. package/chunks/{processUtils-GUT5B4R6.js → processUtils-RT7UNCC2.js} +2 -2
  214. package/chunks/{pt-OK455PLH.js → pt-22Q3FP73.js} +1 -0
  215. package/chunks/{qwenContentGenerator-PT46FQPA.js → qwenContentGenerator-HHCRK4SX.js} +56 -41
  216. package/chunks/{qwenOAuth2-S7DZHUUU.js → qwenOAuth2-OWLB5AKH.js} +14 -27
  217. package/chunks/read-file-APMO3PSX.js +31 -0
  218. package/chunks/{read-mcp-resource-F6HYMDUY.js → read-mcp-resource-4DKQWGHD.js} +3 -3
  219. package/chunks/{record-artifact-7GCFLDD7.js → record-artifact-RQKFYO5B.js} +3 -3
  220. package/chunks/resumeHistoryUtils-6KRYEAWZ.js +91 -0
  221. package/chunks/ripGrep-BEJDEDXW.js +73 -0
  222. package/chunks/{ru-7SPDGMGD.js → ru-FZCNZHDC.js} +1 -0
  223. package/chunks/{run-qwen-serve-QO4PT5NV.js → run-qwen-serve-FU6HEM4J.js} +276 -62
  224. package/chunks/{runtime-EOTXBUM6.js → runtime-XXRRTNP6.js} +55 -44
  225. package/chunks/{scheduler-MAIQ2PHR.js → scheduler-G2ZS2Z7E.js} +43 -34
  226. package/chunks/{sdk-exporters-grpc-ETLH47EP.js → sdk-exporters-grpc-AK3LGHNO.js} +3 -3
  227. package/chunks/{sdk-exporters-http-T3POX73F.js → sdk-exporters-http-FYBSUCPD.js} +6 -6
  228. package/chunks/{sdk-impl-NSLPDH6I.js → sdk-impl-GMVPB7NB.js} +6 -6
  229. package/chunks/{send-message-PYIJ2PZL.js → send-message-Q6OOR6BR.js} +46 -9
  230. package/chunks/serve-7BSTXJ4T.js +89 -0
  231. package/chunks/{server-CBCC3XQC.js → server-4UMH7OIZ.js} +2348 -396
  232. package/chunks/{session-RQUEFQDL.js → session-K3O3Q2SV.js} +107 -88
  233. package/chunks/{settings-QHXCJDSR.js → settings-CR2EWTBA.js} +53 -44
  234. package/chunks/shell-HH3PF3A2.js +83 -0
  235. package/chunks/{skill-WHSGTGKP.js → skill-I3SDA4MB.js} +17 -15
  236. package/chunks/spawnChannel-RWNDBXGA.js +82 -0
  237. package/chunks/{src-F3HKX47D.js → src-GE4TTTML.js} +290 -171
  238. package/chunks/{standalone-update-BKLONSVI.js → standalone-update-Q6WFRZZQ.js} +45 -36
  239. package/chunks/{startInteractiveUI-TNJ37X5W.js → startInteractiveUI-SLZGHRPH.js} +736 -298
  240. package/chunks/{syntheticOutput-H7RTI5KL.js → syntheticOutput-I3757IWH.js} +4 -4
  241. package/chunks/{task-create-7474AJJD.js → task-create-N7WQSGYA.js} +10 -10
  242. package/chunks/{task-list-633HGOIB.js → task-list-FOPULZEP.js} +7 -7
  243. package/chunks/{task-stop-MNUGHPIA.js → task-stop-H6RHXFVQ.js} +4 -4
  244. package/chunks/{task-update-66GQB5LI.js → task-update-M57TFZJT.js} +10 -10
  245. package/chunks/{team-create-LUHJ7ZCC.js → team-create-YJALH5D2.js} +44 -35
  246. package/chunks/{team-delete-BB3CG3QF.js → team-delete-QE2UXJL7.js} +7 -7
  247. package/chunks/{team-plan-approval-X3DYRL6L.js → team-plan-approval-34QFYKGN.js} +43 -34
  248. package/chunks/theme-manager-SWRILQHI.js +77 -0
  249. package/chunks/todoWrite-VQ7FKOHL.js +358 -0
  250. package/chunks/{tool-search-BAWOETUY.js → tool-search-NF7GB6LE.js} +16 -16
  251. package/chunks/total-session-admission-DLHHHLD3.js +84 -0
  252. package/chunks/{tree-sitter-FS4VPMZA.js → tree-sitter-4D7QS7F6.js} +1 -1
  253. package/chunks/{tree-sitter-bash-6B46JJCV.js → tree-sitter-bash-VEJGF5XF.js} +1 -1
  254. package/chunks/{trustedFolders-4UEOIKOF.js → trustedFolders-KHXHY6PY.js} +44 -35
  255. package/chunks/{update-relaunch-WDWABT5P.js → update-relaunch-WBUZJC5O.js} +5 -5
  256. package/chunks/updateCheck-RKL6M5XN.js +92 -0
  257. package/chunks/useAutoAcceptIndicator-CFQ5BUJL.js +93 -0
  258. package/chunks/{validateNonInterActiveAuth-OKUE3JLF.js → validateNonInterActiveAuth-3R223G3R.js} +91 -81
  259. package/chunks/{version-GMUULLWB.js → version-HS7YSFHV.js} +1 -1
  260. package/chunks/{web-fetch-JBWTMPFN.js → web-fetch-NKCSG7ZE.js} +18 -16
  261. package/chunks/{web-search-27COJHJT.js → web-search-S62WAP4S.js} +13 -27
  262. package/chunks/{workflow-5L37J7YF.js → workflow-QAGU5RU4.js} +44 -35
  263. package/chunks/workspace-providers-status-QSVZUETE.js +86 -0
  264. package/chunks/{workspace-registration-store-TYPYXIP6.js → workspace-registration-store-24JMHDGF.js} +2 -2
  265. package/chunks/workspace-registry-UT4RBNBM.js +88 -0
  266. package/chunks/workspace-service-JFWRUS4V.js +98 -0
  267. package/chunks/workspace-skills-status-ZBBKJOI2.js +85 -0
  268. package/chunks/write-file-VHIXW5M7.js +73 -0
  269. package/chunks/{zh-WY5DWYZD.js → zh-LUIGBD55.js} +15 -0
  270. package/chunks/{zh-TW-BM47YBFH.js → zh-TW-F5KG2IYD.js} +15 -0
  271. package/cli-entry.js +10 -1
  272. package/cli.js +13 -13
  273. package/locales/ca.js +2 -0
  274. package/locales/de.js +1 -0
  275. package/locales/en.js +25 -0
  276. package/locales/fr.js +1 -0
  277. package/locales/ja.js +1 -0
  278. package/locales/pt.js +1 -0
  279. package/locales/ru.js +1 -0
  280. package/locales/zh-TW.js +23 -0
  281. package/locales/zh.js +23 -0
  282. package/package.json +3 -3
  283. package/web-shell/assets/{arc-BWFm0SI0.js → arc-DcbWnB9T.js} +1 -1
  284. package/web-shell/assets/{architectureDiagram-3BPJPVTR-CZ_yL-DQ.js → architectureDiagram-3BPJPVTR-kMMF5sud.js} +1 -1
  285. package/web-shell/assets/{blockDiagram-GPEHLZMM-B9F9mJvG.js → blockDiagram-GPEHLZMM-Htl9vTJS.js} +1 -1
  286. package/web-shell/assets/{c4Diagram-AAUBKEIU-BUdwJW5f.js → c4Diagram-AAUBKEIU-BnZnm0mQ.js} +1 -1
  287. package/web-shell/assets/channel-Cq7YKtfC.js +1 -0
  288. package/web-shell/assets/{chunk-2J33WTMH-w4cF-qlF.js → chunk-2J33WTMH-DziB7kDG.js} +1 -1
  289. package/web-shell/assets/{chunk-4BX2VUAB-BXwURxHJ.js → chunk-4BX2VUAB-CmkD8daw.js} +1 -1
  290. package/web-shell/assets/{chunk-55IACEB6-Gem3LalC.js → chunk-55IACEB6-CHAd9A_U.js} +1 -1
  291. package/web-shell/assets/{chunk-727SXJPM-A3ddVojI.js → chunk-727SXJPM-Dqaam3fE.js} +1 -1
  292. package/web-shell/assets/{chunk-AQP2D5EJ-CjHZ5L_R.js → chunk-AQP2D5EJ-D_-saBYM.js} +1 -1
  293. package/web-shell/assets/{chunk-FMBD7UC4-CKgdgcpv.js → chunk-FMBD7UC4-B9r_veWD.js} +1 -1
  294. package/web-shell/assets/{chunk-ND2GUHAM-Cn2Dykjb.js → chunk-ND2GUHAM-B3EaCSpL.js} +1 -1
  295. package/web-shell/assets/{chunk-QZHKN3VN--0SyraC5.js → chunk-QZHKN3VN-CYq8x9mn.js} +1 -1
  296. package/web-shell/assets/classDiagram-4FO5ZUOK-CQ9aC1Tg.js +1 -0
  297. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CQ9aC1Tg.js +1 -0
  298. package/web-shell/assets/{cose-bilkent-S5V4N54A-CphhAity.js → cose-bilkent-S5V4N54A-D0ng4uiB.js} +1 -1
  299. package/web-shell/assets/{dagre-BM42HDAG-DU--jiKp.js → dagre-BM42HDAG-DCZollQv.js} +1 -1
  300. package/web-shell/assets/{diagram-2AECGRRQ-BzvuZw1Y.js → diagram-2AECGRRQ-Dfk2pWS0.js} +1 -1
  301. package/web-shell/assets/{diagram-5GNKFQAL-D84-49Y0.js → diagram-5GNKFQAL-kX38ltWR.js} +1 -1
  302. package/web-shell/assets/{diagram-KO2AKTUF-DQTq-3_3.js → diagram-KO2AKTUF-CJz2vsXh.js} +1 -1
  303. package/web-shell/assets/{diagram-LMA3HP47-8FTrshzN.js → diagram-LMA3HP47-BvMLZm_7.js} +1 -1
  304. package/web-shell/assets/{diagram-OG6HWLK6-BCjpDBCm.js → diagram-OG6HWLK6-l7kfStkO.js} +1 -1
  305. package/web-shell/assets/{erDiagram-TEJ5UH35-BtRObkmg.js → erDiagram-TEJ5UH35-BSVa8GGT.js} +1 -1
  306. package/web-shell/assets/{flowDiagram-I6XJVG4X-DTrW6oxy.js → flowDiagram-I6XJVG4X-CoawKIXH.js} +1 -1
  307. package/web-shell/assets/{ganttDiagram-6RSMTGT7-BgPNSW6j.js → ganttDiagram-6RSMTGT7-DFUDH0zF.js} +1 -1
  308. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BTclNgGV.js → gitGraphDiagram-PVQCEYII-Y2pvpT4e.js} +1 -1
  309. package/web-shell/assets/{index-CxA7AqY6.js → index-D0GX0zZf.js} +1 -1
  310. package/web-shell/assets/index-D9haPt0X.css +5 -0
  311. package/web-shell/assets/index-ckX9Pq5k.js +1230 -0
  312. package/web-shell/assets/{infoDiagram-5YYISTIA-DCE4AJt2.js → infoDiagram-5YYISTIA-CU8_zLiX.js} +1 -1
  313. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-C8iE6q4Y.js → ishikawaDiagram-YF4QCWOH-AVQiV0DU.js} +1 -1
  314. package/web-shell/assets/{journeyDiagram-JHISSGLW-C_dxdyEc.js → journeyDiagram-JHISSGLW-DQ0VSKa3.js} +1 -1
  315. package/web-shell/assets/{kanban-definition-UN3LZRKU-Dw3n1u3w.js → kanban-definition-UN3LZRKU-BqnWqsE_.js} +1 -1
  316. package/web-shell/assets/{linear-C2BF2zJ9.js → linear-BkoihsaA.js} +1 -1
  317. package/web-shell/assets/{mermaid.core-CGTQU3MA.js → mermaid.core-5RJs-31j.js} +5 -5
  318. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BVFZm9ZC.js → mindmap-definition-RKZ34NQL-D33Bxnpd.js} +1 -1
  319. package/web-shell/assets/{pieDiagram-4H26LBE5-Cc-TNN3n.js → pieDiagram-4H26LBE5-BuEAw3BH.js} +1 -1
  320. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CgW3Rzsi.js → quadrantDiagram-W4KKPZXB-Kox_usEq.js} +1 -1
  321. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BAaj0Y3B.js → requirementDiagram-4Y6WPE33-CNjeUif0.js} +1 -1
  322. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-XJWmekxS.js → sankeyDiagram-5OEKKPKP-BCd2OL_U.js} +1 -1
  323. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CtRc_0wf.js → sequenceDiagram-3UESZ5HK-CF2ZTsz0.js} +1 -1
  324. package/web-shell/assets/{stateDiagram-AJRCARHV-WCnvMGy5.js → stateDiagram-AJRCARHV-qenSzHtm.js} +1 -1
  325. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B7W4zlCr.js +1 -0
  326. package/web-shell/assets/{timeline-definition-PNZ67QCA-C9cRx49L.js → timeline-definition-PNZ67QCA-B5DyWdgs.js} +1 -1
  327. package/web-shell/assets/{vennDiagram-CIIHVFJN-BvXOCEt-.js → vennDiagram-CIIHVFJN-DqP4I_o_.js} +1 -1
  328. package/web-shell/assets/{wardley-L42UT6IY-ByafGtzu.js → wardley-L42UT6IY-CJe2e4mg.js} +1 -1
  329. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-CozAnw8x.js → wardleyDiagram-YWT4CUSO-BMDSw-Rr.js} +1 -1
  330. package/web-shell/assets/{xychartDiagram-2RQKCTM6-Camu9Qvq.js → xychartDiagram-2RQKCTM6-BTVZYkxD.js} +1 -1
  331. package/web-shell/index.html +17 -13
  332. package/chunks/MaxSizedBox-HNWBEL5H.js +0 -77
  333. package/chunks/agent-KTMY6SF3.js +0 -72
  334. package/chunks/agent-headless-HJ56ZZOW.js +0 -66
  335. package/chunks/bridge-AMC5AD7W.js +0 -80
  336. package/chunks/chunk-CBOQ3HY7.js +0 -2019
  337. package/chunks/chunk-UHGNAWHK.js +0 -6928
  338. package/chunks/contextCommand-PW4GINQU.js +0 -71
  339. package/chunks/daemon-status-provider-3IWTBWQ3.js +0 -79
  340. package/chunks/earlyInputCapture-TYNI3B6E.js +0 -73
  341. package/chunks/errors-QAWTJTAW.js +0 -79
  342. package/chunks/handleAutoUpdate-V5A3JHOG.js +0 -72
  343. package/chunks/initializer-JJLF5JCJ.js +0 -77
  344. package/chunks/installationInfo-LAWMHQAG.js +0 -71
  345. package/chunks/list-L2ECB6UM.js +0 -80
  346. package/chunks/loadedSettingsAdapter-RLMZ4Z3E.js +0 -74
  347. package/chunks/mcp-E4O7Z6FO.js +0 -74
  348. package/chunks/nonInteractiveCli-GU2UKULE.js +0 -131
  349. package/chunks/pidfile-IWQWZNZV.js +0 -77
  350. package/chunks/read-file-ZOCXW4AD.js +0 -31
  351. package/chunks/resumeHistoryUtils-TJWRDE2L.js +0 -83
  352. package/chunks/ripGrep-OFKAW2VE.js +0 -64
  353. package/chunks/serve-UB4CF67Q.js +0 -80
  354. package/chunks/shell-RPK7EAOC.js +0 -74
  355. package/chunks/spawnChannel-IUP3ZNMT.js +0 -73
  356. package/chunks/theme-manager-ALL7F4CJ.js +0 -68
  357. package/chunks/total-session-admission-PLONPNXI.js +0 -74
  358. package/chunks/updateCheck-PVROE4GR.js +0 -87
  359. package/chunks/useAutoAcceptIndicator-6BNLNN5S.js +0 -85
  360. package/chunks/workspace-providers-status-2U3IF4TX.js +0 -77
  361. package/chunks/workspace-registry-DLQDDDIF.js +0 -78
  362. package/chunks/workspace-service-7K3LF4QX.js +0 -89
  363. package/chunks/workspace-skills-status-4DOZ3DBS.js +0 -76
  364. package/chunks/write-file-PTPXDKZ3.js +0 -64
  365. package/web-shell/assets/channel-DiLlxxIf.js +0 -1
  366. package/web-shell/assets/classDiagram-4FO5ZUOK-CkylTdM4.js +0 -1
  367. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CkylTdM4.js +0 -1
  368. package/web-shell/assets/index-CGtQqOIa.css +0 -5
  369. package/web-shell/assets/index-TtM0hVjU.js +0 -1207
  370. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-D1gzH2Ue.js +0 -1
@@ -1746,6 +1746,7 @@ var init_esm = __esm({
1746
1746
 
1747
1747
  export {
1748
1748
  DiagLogLevel,
1749
+ createContextKey,
1749
1750
  ROOT_CONTEXT,
1750
1751
  ValueType,
1751
1752
  TraceFlags,
@@ -4,17 +4,6 @@ import {
4
4
  DEFAULT_DARK_THEME_NAME,
5
5
  DEFAULT_LIGHT_THEME_NAME
6
6
  } from "./chunk-RKUWKYED.js";
7
- import {
8
- SUPPORTED_LANGUAGES,
9
- getLanguageNameFromLocale,
10
- getLanguageSettingsOptions,
11
- t
12
- } from "./chunk-V7WNRZL7.js";
13
- import {
14
- getHomeEnvFallbackVars,
15
- loadEnvironment,
16
- preResolveHomeEnvOverrides
17
- } from "./chunk-UTGFTJ2H.js";
18
7
  import {
19
8
  CONSOLIDATED_DISABLE_KEYS,
20
9
  V1_INDICATOR_KEYS,
@@ -23,18 +12,29 @@ import {
23
12
  V2_CONTAINER_KEYS,
24
13
  resolveEnvVarsInObject
25
14
  } from "./chunk-GOXKNSDZ.js";
26
- import {
27
- ENV_CORRUPTED_PATH,
28
- ENV_WAS_RECOVERED
29
- } from "./chunk-QRUIS3DN.js";
30
15
  import {
31
16
  getSystemDefaultsPath,
32
17
  getSystemSettingsPath
33
18
  } from "./chunk-IDS7MSUP.js";
19
+ import {
20
+ SUPPORTED_LANGUAGES,
21
+ getLanguageNameFromLocale,
22
+ getLanguageSettingsOptions,
23
+ t
24
+ } from "./chunk-LKEJ26GS.js";
25
+ import {
26
+ getHomeEnvFallbackVars,
27
+ loadEnvironment,
28
+ preResolveHomeEnvOverrides
29
+ } from "./chunk-LH2BYDQ5.js";
30
+ import {
31
+ ENV_CORRUPTED_PATH,
32
+ ENV_WAS_RECOVERED
33
+ } from "./chunk-6PEXNQTX.js";
34
34
  import {
35
35
  isWorkspaceTrusted,
36
36
  updateSettingsFilePreservingFormat
37
- } from "./chunk-CGIDQG6J.js";
37
+ } from "./chunk-Z2BC6UJ5.js";
38
38
  import {
39
39
  require_strip_json_comments
40
40
  } from "./chunk-ALGGS7UH.js";
@@ -46,23 +46,23 @@ import {
46
46
  DEFAULT_TOOL_RESULTS_TOTAL_CHARS_THRESHOLD,
47
47
  DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
48
48
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD
49
- } from "./chunk-IWALV67J.js";
49
+ } from "./chunk-PHOF65IG.js";
50
50
  import {
51
51
  stripRuntimeSnapshotPrefix
52
- } from "./chunk-6FZYKBKV.js";
52
+ } from "./chunk-MZAXJAUM.js";
53
53
  import {
54
54
  DEFAULT_QWEN_CUSTOM_IGNORE_FILE_NAMES
55
- } from "./chunk-57FIIFJN.js";
55
+ } from "./chunk-M5JM7OSF.js";
56
56
  import {
57
57
  DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
58
58
  SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
59
- } from "./chunk-M7WBGLYP.js";
59
+ } from "./chunk-BULDBTYC.js";
60
60
  import {
61
61
  FatalConfigError,
62
62
  Storage,
63
63
  createDebugLogger,
64
64
  getErrorMessage
65
- } from "./chunk-OQB4EXO4.js";
65
+ } from "./chunk-NL7LTRLR.js";
66
66
  import {
67
67
  init_esbuild_shims
68
68
  } from "./chunk-5O2XNYP6.js";
@@ -232,6 +232,16 @@ var SETTINGS_SCHEMA = {
232
232
  showInDialog: false,
233
233
  mergeStrategy: "shallow_merge" /* SHALLOW_MERGE */
234
234
  },
235
+ serve: {
236
+ type: "object",
237
+ label: "Serve",
238
+ category: "Advanced",
239
+ requiresRestart: true,
240
+ default: {},
241
+ description: "Persistent qwen serve settings.",
242
+ showInDialog: false,
243
+ mergeStrategy: "shallow_merge" /* SHALLOW_MERGE */
244
+ },
235
245
  // Model providers configuration grouped by authType
236
246
  modelProviders: {
237
247
  type: "object",
@@ -1126,6 +1136,15 @@ var SETTINGS_SCHEMA = {
1126
1136
  description: "Image-capable model used as the vision bridge: when a text-only main model receives an image, it is transcribed by this model first. Set with /model --vision. Leave empty to auto-pick a same-provider vision model.",
1127
1137
  showInDialog: true
1128
1138
  },
1139
+ imageModel: {
1140
+ type: "string",
1141
+ label: "Image Model",
1142
+ category: "Model",
1143
+ requiresRestart: false,
1144
+ default: "",
1145
+ description: "Model used by the built-in image_gen tool. Set with /model --image. The selected model must be marked imageOnly in modelProviders.",
1146
+ showInDialog: false
1147
+ },
1129
1148
  visionBridgeTimeoutMs: {
1130
1149
  type: "integer",
1131
1150
  label: "Vision Bridge Timeout (ms)",
@@ -1713,6 +1732,16 @@ var SETTINGS_SCHEMA = {
1713
1732
  description: "Skill names to hide. Matched case-insensitively against the skill name. Hidden skills do not appear in <available_skills> or as /<name> slash commands. UNION-merged across systemDefaults/user/workspace/system scopes \u2014 workspace cannot remove entries defined in higher scopes.",
1714
1733
  showInDialog: false,
1715
1734
  mergeStrategy: "union" /* UNION */
1735
+ },
1736
+ directories: {
1737
+ type: "array",
1738
+ label: "Skill Directories",
1739
+ category: "Advanced",
1740
+ requiresRestart: true,
1741
+ default: void 0,
1742
+ description: "Additional directories to scan for skills (SKILL.md files). Entries should be absolute paths or ~-prefixed; relative paths resolve against the working directory. Each directory is scanned one level deep for subdirectories containing a SKILL.md file. Skills from these directories are loaded at user level, after the default user skill directories; a custom skill with the same name as one in the default user directories will not override it. Only point this at trusted locations, since skills can define hooks and commands.",
1743
+ showInDialog: false,
1744
+ mergeStrategy: "union" /* UNION */
1716
1745
  }
1717
1746
  }
1718
1747
  },
@@ -2,12 +2,12 @@
2
2
  "use strict";
3
3
  import {
4
4
  buildPermissionSettings
5
- } from "./chunk-3BJDQVE6.js";
5
+ } from "./chunk-VRYUBFMC.js";
6
6
  import {
7
7
  resolveVoiceStreamConfig,
8
8
  resolveVoiceTranscriptionConfig,
9
9
  transcribeVoiceAudio
10
- } from "./chunk-LVA5OHQO.js";
10
+ } from "./chunk-H4SBPHSA.js";
11
11
  import {
12
12
  getVoiceSettingsScope,
13
13
  isSelectableVoiceModel,
@@ -16,7 +16,7 @@ import {
16
16
  readVoiceMode,
17
17
  readVoiceModel,
18
18
  resolveVoiceTransport
19
- } from "./chunk-7ZD5EKXE.js";
19
+ } from "./chunk-YBL3QUDD.js";
20
20
  import {
21
21
  WorkspacePermissionRulesSessionRequiredError,
22
22
  WorkspaceSettingsPartialPersistError,
@@ -46,14 +46,14 @@ import {
46
46
  createIdleWorkspaceProvidersStatus,
47
47
  createIdleWorkspaceSkillsStatus,
48
48
  mapDomainErrorToErrorKind
49
- } from "./chunk-TDDFEPBX.js";
49
+ } from "./chunk-VIA5XA4U.js";
50
50
  import {
51
51
  getPersistScopeForModelSelection,
52
52
  loadSettings
53
- } from "./chunk-RHYFF54J.js";
53
+ } from "./chunk-TEHGS6UP.js";
54
54
  import {
55
55
  getWorkspaceTrustStatus
56
- } from "./chunk-CGIDQG6J.js";
56
+ } from "./chunk-Z2BC6UJ5.js";
57
57
  import {
58
58
  writeStderrLine,
59
59
  writeStderrLineSafe
@@ -62,11 +62,11 @@ import {
62
62
  ModelsConfig,
63
63
  SkillManager,
64
64
  require_yauzl
65
- } from "./chunk-IWALV67J.js";
65
+ } from "./chunk-PHOF65IG.js";
66
66
  import {
67
67
  Storage,
68
68
  createDebugLogger
69
- } from "./chunk-OQB4EXO4.js";
69
+ } from "./chunk-NL7LTRLR.js";
70
70
  import {
71
71
  init_esbuild_shims
72
72
  } from "./chunk-5O2XNYP6.js";
@@ -4,7 +4,7 @@ import {
4
4
  matches,
5
5
  nextFireTime,
6
6
  parseCron
7
- } from "./chunk-XU457J4V.js";
7
+ } from "./chunk-IRH27ZC2.js";
8
8
  import {
9
9
  humanReadableCron
10
10
  } from "./chunk-VDDGDZMA.js";
@@ -19,15 +19,15 @@ import {
19
19
  taskHasLegacyCondition,
20
20
  taskHasLegacyRunMode,
21
21
  updateCronTasks
22
- } from "./chunk-KHOVYUHX.js";
22
+ } from "./chunk-FNQ6T3CV.js";
23
23
  import {
24
24
  ToolNames
25
- } from "./chunk-YM3SZTH4.js";
25
+ } from "./chunk-PR75REBZ.js";
26
26
  import {
27
27
  Storage,
28
28
  createDebugLogger,
29
29
  getProjectHash
30
- } from "./chunk-OQB4EXO4.js";
30
+ } from "./chunk-NL7LTRLR.js";
31
31
  import {
32
32
  init_esbuild_shims
33
33
  } from "./chunk-5O2XNYP6.js";
@@ -191,6 +191,16 @@ function computeJitter(id, cronExpr, recurring) {
191
191
  return 0;
192
192
  }
193
193
  __name(computeJitter, "computeJitter");
194
+ function cronJitterWindowMinutes(jitterMs) {
195
+ return Math.ceil(Math.abs(jitterMs) / 6e4);
196
+ }
197
+ __name(cronJitterWindowMinutes, "cronJitterWindowMinutes");
198
+ function isCronSlotVisibleToTick(slotMinuteMs, currentMs, jitterMs) {
199
+ const currentMinute = new Date(currentMs);
200
+ currentMinute.setSeconds(0, 0);
201
+ return Math.abs(currentMinute.getTime() - slotMinuteMs) <= cronJitterWindowMinutes(jitterMs) * 6e4;
202
+ }
203
+ __name(isCronSlotVisibleToTick, "isCronSlotVisibleToTick");
194
204
  var generateId = generateCronTaskId;
195
205
  function clampWakeupSeconds(delaySeconds) {
196
206
  if (!Number.isFinite(delaySeconds)) return WAKEUP_DEFAULT_SECONDS;
@@ -285,6 +295,10 @@ var CronScheduler = class {
285
295
  // the live job away (or clear its pendingRemoval guard) as if it had
286
296
  // been deleted on disk.
287
297
  pendingAdd = /* @__PURE__ */ new Set();
298
+ // Durable one-shots this continuously-running scheduler loaded while it was
299
+ // eligible to fire them. Cleared on stop so a later enable still treats
300
+ // genuinely overdue work as missed.
301
+ armedDurableOneShots = /* @__PURE__ */ new Set();
288
302
  // Ids of legacy tasks (a pre-removal `isolated` task with a `condition`
289
303
  // precondition) already reported as skipped, so the fail-closed remediation
290
304
  // breadcrumb is logged once per task rather than on every file reload.
@@ -462,6 +476,9 @@ var CronScheduler = class {
462
476
  this.pendingAdd.add(job.id);
463
477
  try {
464
478
  await addCronTask(this.projectRoot, jobToDurableTask(job));
479
+ if (!job.recurring && this.durableEnabled && this.#shouldFireDurable(job)) {
480
+ this.armedDurableOneShots.add(job.id);
481
+ }
465
482
  } catch (error) {
466
483
  this.jobs.delete(job.id);
467
484
  throw error;
@@ -491,6 +508,7 @@ var CronScheduler = class {
491
508
  throw error;
492
509
  }
493
510
  }
511
+ this.armedDurableOneShots.delete(id);
494
512
  return true;
495
513
  }
496
514
  /**
@@ -656,6 +674,8 @@ var CronScheduler = class {
656
674
  const anchor = t.recurring ? t.lastFiredAt ?? t.createdAt : t.createdAt;
657
675
  const nextFire = computeNextFireMs(t.cron, anchor, jitter);
658
676
  if (nextFire === null || nextFire >= now) continue;
677
+ if (!t.recurring && this.timer !== null && this.armedDurableOneShots.has(t.id) && isCronSlotVisibleToTick(nextFire - jitter, now, jitter))
678
+ continue;
659
679
  if (!t.recurring) {
660
680
  missedOneShots.push(t);
661
681
  } else if (now - t.createdAt >= this.recurringMaxAgeMs) {
@@ -671,6 +691,7 @@ var CronScheduler = class {
671
691
  }
672
692
  for (const t of [...missedOneShots, ...finalTasks]) {
673
693
  this.pendingRemoval.add(t.id);
694
+ this.armedDurableOneShots.delete(t.id);
674
695
  this.jobs.delete(t.id);
675
696
  }
676
697
  }
@@ -679,6 +700,7 @@ var CronScheduler = class {
679
700
  for (const job of this.jobs.values()) {
680
701
  if (job.durable && !diskIds.has(job.id)) {
681
702
  this.jobs.delete(job.id);
703
+ this.armedDurableOneShots.delete(job.id);
682
704
  }
683
705
  }
684
706
  for (const id of this.pendingRemoval) {
@@ -700,6 +722,11 @@ var CronScheduler = class {
700
722
  job.lastFiredAt = Math.max(existing.lastFiredAt, job.lastFiredAt ?? 0);
701
723
  }
702
724
  this.jobs.set(task.id, job);
725
+ if (!task.recurring && this.#shouldFireDurable(job)) {
726
+ this.armedDurableOneShots.add(task.id);
727
+ } else {
728
+ this.armedDurableOneShots.delete(task.id);
729
+ }
703
730
  if (!existing) durableJobCount++;
704
731
  }
705
732
  if (catchUpIds.length > 0) {
@@ -762,7 +789,8 @@ var CronScheduler = class {
762
789
  onFire({
763
790
  ...carrier,
764
791
  prompt: buildMissedCronNotification(runnable),
765
- missed: true
792
+ missed: true,
793
+ delivery: void 0
766
794
  });
767
795
  this.removeMissedFromDisk(runnable.map((t) => t.id));
768
796
  }
@@ -966,6 +994,7 @@ var CronScheduler = class {
966
994
  }
967
995
  this.wakeupChainStartedAt = null;
968
996
  this.onFire = null;
997
+ this.armedDurableOneShots.clear();
969
998
  if (this.durableEnabled) {
970
999
  this.durableGeneration++;
971
1000
  if (this.isOwner && this.projectRoot && this.sessionId) {
@@ -1067,7 +1096,10 @@ var CronScheduler = class {
1067
1096
  }
1068
1097
  }
1069
1098
  if (this.projectRoot && (firedAt.size > 0 || removedIds.length > 0)) {
1070
- for (const id of removedIds) this.pendingRemoval.add(id);
1099
+ for (const id of removedIds) {
1100
+ this.pendingRemoval.add(id);
1101
+ this.armedDurableOneShots.delete(id);
1102
+ }
1071
1103
  const removed = new Set(removedIds);
1072
1104
  const guarded = [...firedAt.keys()];
1073
1105
  this.markFirePersistPending(guarded);
@@ -1108,8 +1140,7 @@ var CronScheduler = class {
1108
1140
  * and 'none' otherwise.
1109
1141
  */
1110
1142
  processJob(job, currentDate, currentMs) {
1111
- const absJitter = Math.abs(job.jitterMs);
1112
- const windowMinutes = Math.ceil(absJitter / 6e4);
1143
+ const windowMinutes = cronJitterWindowMinutes(job.jitterMs);
1113
1144
  const nowMinuteStart = new Date(currentDate);
1114
1145
  nowMinuteStart.setSeconds(0, 0);
1115
1146
  const nowMinuteMs = nowMinuteStart.getTime();
@@ -1220,7 +1251,8 @@ function durableTaskToJob(task, recurringMaxAgeMs, existing) {
1220
1251
  lastFiredAt: task.lastFiredAt ?? void 0,
1221
1252
  jitterMs,
1222
1253
  durable: true,
1223
- ...task.sessionId ? { boundSessionId: task.sessionId } : {}
1254
+ ...task.sessionId ? { boundSessionId: task.sessionId } : {},
1255
+ ...task.delivery && task.sessionId ? { delivery: task.delivery } : {}
1224
1256
  };
1225
1257
  }
1226
1258
  __name(durableTaskToJob, "durableTaskToJob");
@@ -1232,7 +1264,8 @@ function jobToDurableTask(job) {
1232
1264
  recurring: job.recurring,
1233
1265
  createdAt: job.createdAt,
1234
1266
  lastFiredAt: job.lastFiredAt ?? null,
1235
- ...job.boundSessionId ? { sessionId: job.boundSessionId } : {}
1267
+ ...job.boundSessionId ? { sessionId: job.boundSessionId } : {},
1268
+ ...job.delivery ? { delivery: job.delivery } : {}
1236
1269
  };
1237
1270
  }
1238
1271
  __name(jobToDurableTask, "jobToDurableTask");