@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
@@ -5,17 +5,17 @@ import {
5
5
  } from "./chunk-JESCGQM3.js";
6
6
  import {
7
7
  formatFetchErrorForUser
8
- } from "./chunk-32L4D2O2.js";
8
+ } from "./chunk-NH6KE4JX.js";
9
9
  import {
10
10
  combineAbortSignals
11
11
  } from "./chunk-DJ2GSRLV.js";
12
12
  import {
13
13
  atomicWriteFile
14
- } from "./chunk-6X4GWOPW.js";
14
+ } from "./chunk-A5L3JMUA.js";
15
15
  import {
16
16
  Storage,
17
17
  createDebugLogger
18
- } from "./chunk-OQB4EXO4.js";
18
+ } from "./chunk-NL7LTRLR.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -31,6 +31,144 @@ import { promises as fs2 } from "node:fs";
31
31
  import { EventEmitter } from "events";
32
32
  import { randomUUID as randomUUID2 } from "node:crypto";
33
33
 
34
+ // packages/core/src/utils/osc8.ts
35
+ init_esbuild_shims();
36
+ function wrapForMultiplexer(sequence) {
37
+ if (process.env["TMUX"]) {
38
+ const escaped = sequence.replaceAll("\x1B", "\x1B\x1B");
39
+ return `\x1BPtmux;${escaped}\x1B\\`;
40
+ }
41
+ if (process.env["STY"]) {
42
+ return `\x1BP${sequence}\x1B\\`;
43
+ }
44
+ return sequence;
45
+ }
46
+ __name(wrapForMultiplexer, "wrapForMultiplexer");
47
+ function sanitizeForOsc(s) {
48
+ return s.replace(
49
+ // eslint-disable-next-line no-control-regex
50
+ /[\x00-\x1f\x7f\x80-\x9f\u200e\u200f\u202a-\u202e\u2066-\u2069\u2028\u2029]/g,
51
+ ""
52
+ );
53
+ }
54
+ __name(sanitizeForOsc, "sanitizeForOsc");
55
+ function osc8Hyperlink(url, label = url) {
56
+ const safeUrl = sanitizeForOsc(url);
57
+ const safeLabel = sanitizeForOsc(label);
58
+ return wrapForMultiplexer(`\x1B]8;;${safeUrl}\x07${safeLabel}\x1B]8;;\x07`);
59
+ }
60
+ __name(osc8Hyperlink, "osc8Hyperlink");
61
+ function shouldForceHyperlinks(value) {
62
+ if (value.length === 0) return true;
63
+ const trimmed = value.trim();
64
+ if (!/^[+-]?\d+$/.test(trimmed)) return false;
65
+ return Number(trimmed) !== 0;
66
+ }
67
+ __name(shouldForceHyperlinks, "shouldForceHyperlinks");
68
+ function parseVersion(versionString) {
69
+ if (!versionString) return { major: 0, minor: 0, patch: 0 };
70
+ if (/^\d{3,4}$/.test(versionString)) {
71
+ const m = /(\d{1,2})(\d{2})/.exec(versionString);
72
+ return { major: 0, minor: parseInt(m[1], 10), patch: parseInt(m[2], 10) };
73
+ }
74
+ const parts = versionString.split(".").map((n) => parseInt(n, 10) || 0);
75
+ return { major: parts[0] ?? 0, minor: parts[1] ?? 0, patch: parts[2] ?? 0 };
76
+ }
77
+ __name(parseVersion, "parseVersion");
78
+ function supportsHyperlinks(stream = process.stdout) {
79
+ const env = process.env;
80
+ if (env["QWEN_DISABLE_HYPERLINKS"] === "1") return false;
81
+ if (env["NO_COLOR"] !== void 0 && env["NO_COLOR"] !== "") return false;
82
+ if (env["FORCE_COLOR"] === "0" || env["FORCE_COLOR"] === "false") {
83
+ return false;
84
+ }
85
+ if (!stream || !stream.isTTY) return false;
86
+ const force = env["FORCE_HYPERLINK"];
87
+ if (force !== void 0) {
88
+ return shouldForceHyperlinks(force);
89
+ }
90
+ if (env["CI"]) return false;
91
+ if (env["TEAMCITY_VERSION"]) return false;
92
+ if (env["TMUX"] || env["STY"]) return false;
93
+ if (env["WT_SESSION"]) return true;
94
+ if (env["KITTY_WINDOW_ID"] || env["TERM"] === "xterm-kitty") return true;
95
+ if (env["DOMTERM"]) return true;
96
+ if (env["GHOSTTY_RESOURCES_DIR"] || env["TERM"] === "xterm-ghostty") {
97
+ return true;
98
+ }
99
+ if (env["KONSOLE_VERSION"]) {
100
+ const konsoleVersion = parseInt(env["KONSOLE_VERSION"], 10);
101
+ if (Number.isFinite(konsoleVersion) && konsoleVersion >= 210400) {
102
+ return true;
103
+ }
104
+ }
105
+ if (env["TERM"] === "alacritty" || env["ALACRITTY_LOG"] !== void 0 || env["ALACRITTY_WINDOW_ID"] !== void 0 || env["ALACRITTY_SOCKET"] !== void 0) {
106
+ return true;
107
+ }
108
+ if (env["TERMINAL_EMULATOR"] === "JetBrains-JediTerm") return true;
109
+ if (env["TERM_PROGRAM"]) {
110
+ const version = parseVersion(env["TERM_PROGRAM_VERSION"]);
111
+ switch (env["TERM_PROGRAM"]) {
112
+ case "iTerm.app":
113
+ if (version.major === 3) return version.minor >= 1;
114
+ return version.major > 3;
115
+ case "WezTerm":
116
+ return version.major >= 20200620;
117
+ case "vscode":
118
+ return version.major > 1 || version.major === 1 && version.minor >= 72;
119
+ case "ghostty":
120
+ return true;
121
+ case "mintty":
122
+ if (!env["TERM_PROGRAM_VERSION"]) return false;
123
+ return version.major > 3 || version.major === 3 && version.minor >= 3;
124
+ // Warp (TERM_PROGRAM=WarpTerminal) does NOT yet support OSC 8 — its
125
+ // rendering engine ignores the envelope and prints visible garbage,
126
+ // so we deliberately fall through to the legacy `label (url)` path.
127
+ // Re-enable when Warp ships OSC 8 support.
128
+ //
129
+ // Hyper exposes OSC 8 in recent versions but plugin chains have a
130
+ // history of breaking escape passthrough — gate on FORCE_HYPERLINK
131
+ // so users who know their setup works can opt in explicitly.
132
+ default:
133
+ break;
134
+ }
135
+ }
136
+ if (env["VTE_VERSION"]) {
137
+ const version = parseVersion(env["VTE_VERSION"]);
138
+ if (version.major === 0 && version.minor === 50 && version.patch === 0) {
139
+ return false;
140
+ }
141
+ if (version.major > 0 || version.minor >= 50) return true;
142
+ return false;
143
+ }
144
+ if (process.platform === "win32") return false;
145
+ return false;
146
+ }
147
+ __name(supportsHyperlinks, "supportsHyperlinks");
148
+ var HYPERLINK_ENV_KEYS = [
149
+ "NO_COLOR",
150
+ "FORCE_COLOR",
151
+ "CI",
152
+ "TMUX",
153
+ "STY",
154
+ "TERM_PROGRAM",
155
+ "TERM_PROGRAM_VERSION",
156
+ "WT_SESSION",
157
+ "KITTY_WINDOW_ID",
158
+ "VTE_VERSION",
159
+ "DOMTERM",
160
+ "GHOSTTY_RESOURCES_DIR",
161
+ "KONSOLE_VERSION",
162
+ "TERMINAL_EMULATOR",
163
+ "ALACRITTY_LOG",
164
+ "ALACRITTY_WINDOW_ID",
165
+ "ALACRITTY_SOCKET",
166
+ "TERM",
167
+ "TEAMCITY_VERSION",
168
+ "FORCE_HYPERLINK",
169
+ "QWEN_DISABLE_HYPERLINKS"
170
+ ];
171
+
34
172
  // packages/core/src/qwen/sharedTokenManager.ts
35
173
  init_esbuild_shims();
36
174
  import path from "node:path";
@@ -997,9 +1135,16 @@ async function getQwenOAuthClient(config, options) {
997
1135
  }
998
1136
  }
999
1137
  __name(getQwenOAuthClient, "getQwenOAuthClient");
1000
- function showFallbackMessage(verificationUriComplete) {
1138
+ function showFallbackMessage(verificationUriComplete, out = process.stderr) {
1001
1139
  const title = "Qwen OAuth Device Authorization";
1002
1140
  const url = verificationUriComplete;
1141
+ if (supportsHyperlinks(out) && (url.startsWith("https://") || url.startsWith("http://"))) {
1142
+ out.write("\n" + title + "\n");
1143
+ out.write("Please visit the following URL in your browser to authorize:\n");
1144
+ out.write(osc8Hyperlink(url) + "\n");
1145
+ out.write("Waiting for authorization to complete...\n\n");
1146
+ return;
1147
+ }
1003
1148
  const minWidth = 70;
1004
1149
  const maxWidth = 80;
1005
1150
  const boxWidth = Math.min(Math.max(title.length + 4, minWidth), maxWidth);
@@ -1043,25 +1188,21 @@ function showFallbackMessage(verificationUriComplete) {
1043
1188
  );
1044
1189
  const urlLines = wrapText(url, contentWidth);
1045
1190
  const waitingLine = "Waiting for authorization to complete...";
1046
- process.stderr.write("\n" + topBorder + "\n");
1047
- process.stderr.write(emptyLine + "\n");
1191
+ out.write("\n" + topBorder + "\n");
1192
+ out.write(emptyLine + "\n");
1048
1193
  for (const line of instructionLines) {
1049
- process.stderr.write(
1050
- "| " + line + " ".repeat(contentWidth - line.length) + " |\n"
1051
- );
1194
+ out.write("| " + line + " ".repeat(contentWidth - line.length) + " |\n");
1052
1195
  }
1053
- process.stderr.write(emptyLine + "\n");
1196
+ out.write(emptyLine + "\n");
1054
1197
  for (const line of urlLines) {
1055
- process.stderr.write(
1056
- "| " + line + " ".repeat(contentWidth - line.length) + " |\n"
1057
- );
1198
+ out.write("| " + line + " ".repeat(contentWidth - line.length) + " |\n");
1058
1199
  }
1059
- process.stderr.write(emptyLine + "\n");
1060
- process.stderr.write(
1200
+ out.write(emptyLine + "\n");
1201
+ out.write(
1061
1202
  "| " + waitingLine + " ".repeat(contentWidth - waitingLine.length) + " |\n"
1062
1203
  );
1063
- process.stderr.write(emptyLine + "\n");
1064
- process.stderr.write(bottomBorder + "\n\n");
1204
+ out.write(emptyLine + "\n");
1205
+ out.write(bottomBorder + "\n\n");
1065
1206
  }
1066
1207
  __name(showFallbackMessage, "showFallbackMessage");
1067
1208
  async function authWithQwenDeviceFlow(client, config) {
@@ -1321,6 +1462,11 @@ __name(getQwenCachedCredentialPath, "getQwenCachedCredentialPath");
1321
1462
  var clearCachedCredentialFile = clearQwenCredentials;
1322
1463
 
1323
1464
  export {
1465
+ wrapForMultiplexer,
1466
+ sanitizeForOsc,
1467
+ osc8Hyperlink,
1468
+ supportsHyperlinks,
1469
+ HYPERLINK_ENV_KEYS,
1324
1470
  SharedTokenManager,
1325
1471
  generateCodeVerifier,
1326
1472
  generateCodeChallenge,
@@ -1335,6 +1481,7 @@ export {
1335
1481
  QwenOAuth2Event,
1336
1482
  qwenOAuth2Events,
1337
1483
  getQwenOAuthClient,
1484
+ showFallbackMessage,
1338
1485
  QWEN_CREDENTIAL_FILE_MODE,
1339
1486
  cacheQwenCredentials,
1340
1487
  clearQwenCredentials,
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  STATUS_SCHEMA_VERSION
5
- } from "./chunk-TDDFEPBX.js";
5
+ } from "./chunk-VIA5XA4U.js";
6
6
  import {
7
7
  detectRuntime,
8
8
  redactProxyCredentials
9
- } from "./chunk-CBOQ3HY7.js";
9
+ } from "./chunk-2JZBVYTU.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -5,11 +5,11 @@ import {
5
5
  } from "./chunk-VGC4I5JJ.js";
6
6
  import {
7
7
  atomicWriteJSON
8
- } from "./chunk-6X4GWOPW.js";
8
+ } from "./chunk-A5L3JMUA.js";
9
9
  import {
10
10
  Storage,
11
11
  getProjectHash
12
- } from "./chunk-OQB4EXO4.js";
12
+ } from "./chunk-NL7LTRLR.js";
13
13
  import {
14
14
  init_esbuild_shims
15
15
  } from "./chunk-5O2XNYP6.js";
@@ -22,6 +22,8 @@ init_esbuild_shims();
22
22
  import * as fs from "node:fs/promises";
23
23
  import * as path from "node:path";
24
24
  var MAX_TASK_RUNS = 20;
25
+ var MAX_CHANNEL_DELIVERY_NAME_LENGTH = 2048;
26
+ var MAX_CHANNEL_DELIVERY_TARGET_ID_LENGTH = 2048;
25
27
  function appendCronRun(runs, entry) {
26
28
  const base = Array.isArray(runs) ? runs : [];
27
29
  const next = [...base, entry];
@@ -200,6 +202,19 @@ function isValidRuns(value) {
200
202
  });
201
203
  }
202
204
  __name(isValidRuns, "isValidRuns");
205
+ function isValidDelivery(value) {
206
+ if (typeof value !== "object" || value === null) return false;
207
+ const delivery = value;
208
+ const rawTarget = delivery["target"];
209
+ if (delivery["kind"] !== "channel" || typeof rawTarget !== "object" || rawTarget === null || !Object.keys(delivery).every((key) => key === "kind" || key === "target")) {
210
+ return false;
211
+ }
212
+ const target = rawTarget;
213
+ return typeof target["channelName"] === "string" && target["channelName"].trim().length > 0 && target["channelName"].length <= MAX_CHANNEL_DELIVERY_NAME_LENGTH && (target["type"] === "user" || target["type"] === "chat") && typeof target["id"] === "string" && target["id"].trim().length > 0 && target["id"].length <= MAX_CHANNEL_DELIVERY_TARGET_ID_LENGTH && Object.keys(target).every(
214
+ (key) => key === "channelName" || key === "type" || key === "id"
215
+ );
216
+ }
217
+ __name(isValidDelivery, "isValidDelivery");
203
218
  function isValidTask(value) {
204
219
  if (typeof value !== "object" || value === null) return false;
205
220
  const obj = value;
@@ -210,12 +225,14 @@ function isValidTask(value) {
210
225
  (obj["name"] === void 0 || typeof obj["name"] === "string") && (obj["enabled"] === void 0 || typeof obj["enabled"] === "boolean") && (obj["disabledByArchive"] === void 0 || typeof obj["disabledByArchive"] === "boolean") && // A bound sessionId must be a NON-EMPTY string: an empty string would pass
211
226
  // a bare `typeof` check but the scheduler's truthy `task.sessionId` guard
212
227
  // would treat it as unbound, so a "bound" task would silently run unbound.
213
- (obj["sessionId"] === void 0 || typeof obj["sessionId"] === "string" && obj["sessionId"].length > 0) && (obj["runs"] === void 0 || isValidRuns(obj["runs"]));
228
+ (obj["sessionId"] === void 0 || typeof obj["sessionId"] === "string" && obj["sessionId"].length > 0) && (obj["delivery"] === void 0 || isValidDelivery(obj["delivery"])) && (obj["runs"] === void 0 || isValidRuns(obj["runs"]));
214
229
  }
215
230
  __name(isValidTask, "isValidTask");
216
231
 
217
232
  export {
218
233
  MAX_TASK_RUNS,
234
+ MAX_CHANNEL_DELIVERY_NAME_LENGTH,
235
+ MAX_CHANNEL_DELIVERY_TARGET_ID_LENGTH,
219
236
  appendCronRun,
220
237
  taskHasLegacyCondition,
221
238
  taskHasLegacyRunMode,
@@ -2,26 +2,26 @@
2
2
  "use strict";
3
3
  import {
4
4
  theme
5
- } from "./chunk-6IL7KRLE.js";
5
+ } from "./chunk-VAK25FTU.js";
6
6
  import {
7
7
  require_jsx_runtime
8
8
  } from "./chunk-SV5PQVQE.js";
9
9
  import {
10
10
  Box_default,
11
11
  Text
12
- } from "./chunk-NEEB7UEN.js";
12
+ } from "./chunk-6GMVPFB2.js";
13
13
  import {
14
14
  require_react
15
15
  } from "./chunk-5QWWOFGG.js";
16
16
  import {
17
17
  toCodePoints
18
- } from "./chunk-RS7MT2QG.js";
18
+ } from "./chunk-IPUUTYMV.js";
19
19
  import {
20
20
  stringWidth
21
- } from "./chunk-H2XVO6NE.js";
21
+ } from "./chunk-2MIN6GRR.js";
22
22
  import {
23
23
  createDebugLogger
24
- } from "./chunk-OQB4EXO4.js";
24
+ } from "./chunk-NL7LTRLR.js";
25
25
  import {
26
26
  init_esbuild_shims
27
27
  } from "./chunk-5O2XNYP6.js";
@@ -124,11 +124,15 @@ var MaxSizedBox = /* @__PURE__ */ __name(({
124
124
  maxWidth,
125
125
  maxHeight,
126
126
  overflowDirection = "top",
127
- additionalHiddenLinesCount = 0
127
+ additionalHiddenLinesCount = 0,
128
+ sourceBoundaries
128
129
  }) => {
129
130
  const id = (0, import_react2.useId)();
130
131
  const { addOverflowingId, removeOverflowingId } = useOverflowActions() || {};
131
132
  const laidOutStyledText = [];
133
+ const lineMetadata = /* @__PURE__ */ new Map();
134
+ let rowIndex = 0;
135
+ let sourceBoundaryIndex = 0;
132
136
  const targetMaxHeight = Math.max(
133
137
  Math.round(maxHeight ?? Number.MAX_SAFE_INTEGER),
134
138
  MINIMUM_MAX_HEIGHT
@@ -145,7 +149,14 @@ var MaxSizedBox = /* @__PURE__ */ __name(({
145
149
  return;
146
150
  }
147
151
  if (element.type === Box_default) {
148
- layoutInkElementAsStyledText(element, maxWidth, laidOutStyledText);
152
+ layoutInkElementAsStyledText(
153
+ element,
154
+ maxWidth,
155
+ laidOutStyledText,
156
+ lineMetadata,
157
+ `${id}:${rowIndex++}`,
158
+ () => sourceBoundaries?.[sourceBoundaryIndex++]
159
+ );
149
160
  return;
150
161
  }
151
162
  debugReportError("MaxSizedBox children must be <Box> elements", element);
@@ -167,7 +178,29 @@ var MaxSizedBox = /* @__PURE__ */ __name(({
167
178
  };
168
179
  }, [id, totalHiddenLines, addOverflowingId, removeOverflowingId]);
169
180
  const visibleStyledText = hiddenLinesCount > 0 ? overflowDirection === "top" ? laidOutStyledText.slice(hiddenLinesCount, laidOutStyledText.length) : laidOutStyledText.slice(0, visibleContentHeight) : laidOutStyledText;
170
- const visibleLines = visibleStyledText.map((line, index) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Box_default, { flexShrink: 0, children: line.length > 0 ? line.map((segment, segIndex) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Text, { ...segment.props, children: segment.text }, segIndex)) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Text, { children: " " }) }, index));
181
+ const visibleLines = visibleStyledText.map((line, index) => {
182
+ const metadata = lineMetadata.get(line);
183
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(Box_default, { flexShrink: 0, children: line.length > 0 ? line.map((segment, segIndex) => /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
184
+ Text,
185
+ {
186
+ ...segment.props,
187
+ selectionFlow: metadata.flowKey,
188
+ selectionBreakAfter: metadata.breakAfter,
189
+ selectionJoiner: metadata.joiner,
190
+ children: segment.text
191
+ },
192
+ segIndex
193
+ )) : /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
194
+ Text,
195
+ {
196
+ selectable: false,
197
+ selectionFlow: metadata.flowKey,
198
+ selectionBreakAfter: metadata.breakAfter,
199
+ selectionJoiner: metadata.joiner,
200
+ children: " "
201
+ }
202
+ ) }, index);
203
+ });
171
204
  return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(Box_default, { flexDirection: "column", width: maxWidth, flexShrink: 0, children: [
172
205
  totalHiddenLines > 0 && overflowDirection === "top" && /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(Text, { color: theme.text.secondary, wrap: "truncate", children: [
173
206
  "... first ",
@@ -284,10 +317,14 @@ function visitBoxRow(element) {
284
317
  return row;
285
318
  }
286
319
  __name(visitBoxRow, "visitBoxRow");
287
- function layoutInkElementAsStyledText(element, maxWidth, output) {
320
+ function layoutInkElementAsStyledText(element, maxWidth, output, lineMetadata, flowKey, nextSourceBoundary) {
321
+ const pushOutput = /* @__PURE__ */ __name((line, breakAfter, joiner) => {
322
+ output.push(line);
323
+ lineMetadata.set(line, { flowKey, breakAfter, joiner });
324
+ }, "pushOutput");
288
325
  const row = visitBoxRow(element);
289
326
  if (row.segments.length === 0 && row.noWrapSegments.length === 0) {
290
- output.push([]);
327
+ pushOutput([], "hard", "\n");
291
328
  return;
292
329
  }
293
330
  const lines = [];
@@ -316,7 +353,7 @@ function layoutInkElementAsStyledText(element, maxWidth, output) {
316
353
  lines2.push(currentLine);
317
354
  }
318
355
  for (const line of lines2) {
319
- output.push(line);
356
+ pushOutput(line, "hard", "\n");
320
357
  }
321
358
  return;
322
359
  }
@@ -373,25 +410,33 @@ function layoutInkElementAsStyledText(element, maxWidth, output) {
373
410
  lines2.push([{ text: "\u2026", props: {} }]);
374
411
  }
375
412
  for (const line of lines2) {
376
- output.push(line);
413
+ pushOutput(line, "hard", "\n");
377
414
  }
378
415
  return;
379
416
  }
380
417
  let wrappingPart = [];
381
418
  let wrappingPartWidth = 0;
382
- function addWrappingPartToLines() {
419
+ function addWrappingPartToLines(breakAfter, joiner) {
420
+ let line;
383
421
  if (lines.length === 0) {
384
- lines.push([...nonWrappingContent, ...wrappingPart]);
422
+ line = [...nonWrappingContent, ...wrappingPart];
385
423
  } else {
386
424
  if (noWrappingWidth > 0) {
387
- lines.push([
388
- ...[{ text: " ".repeat(noWrappingWidth), props: {} }],
425
+ line = [
426
+ ...[
427
+ {
428
+ text: " ".repeat(noWrappingWidth),
429
+ props: { selectable: false }
430
+ }
431
+ ],
389
432
  ...wrappingPart
390
- ]);
433
+ ];
391
434
  } else {
392
- lines.push(wrappingPart);
435
+ line = wrappingPart;
393
436
  }
394
437
  }
438
+ lines.push(line);
439
+ lineMetadata.set(line, { flowKey, breakAfter, joiner });
395
440
  wrappingPart = [];
396
441
  wrappingPartWidth = 0;
397
442
  }
@@ -408,14 +453,18 @@ function layoutInkElementAsStyledText(element, maxWidth, output) {
408
453
  const linesFromSegment = segment.text.split("\n");
409
454
  linesFromSegment.forEach((lineText, lineIndex) => {
410
455
  if (lineIndex > 0) {
411
- addWrappingPartToLines();
456
+ const boundary = nextSourceBoundary() ?? {
457
+ kind: "hard",
458
+ joiner: "\n"
459
+ };
460
+ addWrappingPartToLines(boundary.kind, boundary.joiner);
412
461
  }
413
462
  const words = lineText.split(/(\s+)/);
414
463
  words.forEach((word) => {
415
464
  if (!word) return;
416
465
  const wordWidth = stringWidth(word);
417
466
  if (wrappingPartWidth + wordWidth > availableWidth && wrappingPartWidth > 0) {
418
- addWrappingPartToLines();
467
+ addWrappingPartToLines("soft", /^\s+$/u.test(word) ? word : "");
419
468
  if (/^\s+$/.test(word)) {
420
469
  return;
421
470
  }
@@ -441,7 +490,7 @@ function layoutInkElementAsStyledText(element, maxWidth, output) {
441
490
  remainingWordAsCodePoints = remainingWordAsCodePoints.slice(splitIndex);
442
491
  }
443
492
  if (remainingWordAsCodePoints.length > 0) {
444
- addWrappingPartToLines();
493
+ addWrappingPartToLines("soft", "");
445
494
  }
446
495
  }
447
496
  } else {
@@ -451,11 +500,11 @@ function layoutInkElementAsStyledText(element, maxWidth, output) {
451
500
  });
452
501
  });
453
502
  if (segment.text.endsWith("\n")) {
454
- addWrappingPartToLines();
503
+ addWrappingPartToLines("hard", "\n");
455
504
  }
456
505
  });
457
506
  if (wrappingPart.length > 0) {
458
- addWrappingPartToLines();
507
+ addWrappingPartToLines("hard", "\n");
459
508
  }
460
509
  for (const line of lines) {
461
510
  output.push(line);
@@ -7,28 +7,28 @@ import {
7
7
  parseAcpBaseModelId,
8
8
  resolveCliGenerationConfig,
9
9
  sanitizeProviderBaseUrl
10
- } from "./chunk-42W5BDEY.js";
10
+ } from "./chunk-KMQ33DO4.js";
11
11
  import {
12
12
  snapshotProcessEnv
13
- } from "./chunk-P2BQZ7H7.js";
13
+ } from "./chunk-ETSW4KLJ.js";
14
14
  import {
15
15
  STATUS_SCHEMA_VERSION
16
- } from "./chunk-TDDFEPBX.js";
16
+ } from "./chunk-VIA5XA4U.js";
17
17
  import {
18
18
  loadSettings
19
- } from "./chunk-RHYFF54J.js";
19
+ } from "./chunk-TEHGS6UP.js";
20
20
  import {
21
21
  ModelsConfig
22
- } from "./chunk-IWALV67J.js";
22
+ } from "./chunk-PHOF65IG.js";
23
23
  import {
24
24
  APPROVAL_MODES
25
- } from "./chunk-WHGVTP7Q.js";
25
+ } from "./chunk-L26JL52R.js";
26
26
  import {
27
27
  tokenLimit
28
- } from "./chunk-CBOQ3HY7.js";
28
+ } from "./chunk-UW5EOVUN.js";
29
29
  import {
30
30
  createDebugLogger
31
- } from "./chunk-OQB4EXO4.js";
31
+ } from "./chunk-NL7LTRLR.js";
32
32
  import {
33
33
  init_esbuild_shims
34
34
  } from "./chunk-5O2XNYP6.js";