@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
@@ -3,10 +3,10 @@
3
3
  import {
4
4
  DashScopeOpenAICompatibleProvider,
5
5
  DefaultOpenAICompatibleProvider
6
- } from "./chunk-LESHKUWF.js";
6
+ } from "./chunk-DLWL3Z7A.js";
7
7
  import {
8
8
  RequestTokenizer
9
- } from "./chunk-MDZTPSXO.js";
9
+ } from "./chunk-OKY7HXPG.js";
10
10
  import {
11
11
  DEFAULT_STREAM_IDLE_TIMEOUT_MS,
12
12
  MAX_STREAM_IDLE_TIMEOUT_MS,
@@ -16,31 +16,46 @@ import {
16
16
  createChildAbortController
17
17
  } from "./chunk-DJ2GSRLV.js";
18
18
  import {
19
- InvalidStreamError,
20
19
  OpenAIContentConverter,
21
- ProtocolTagSanitizedEvent,
22
20
  TaggedThinkingParser,
23
- getRateLimitErrorDetails,
24
- logProtocolTagSanitized,
25
21
  openaiRequestCaptureContext
26
- } from "./chunk-H4A4A2SY.js";
22
+ } from "./chunk-DHHOYAPR.js";
23
+ import {
24
+ InvalidStreamError
25
+ } from "./chunk-BPJSQIJX.js";
26
+ import {
27
+ getRateLimitErrorDetails
28
+ } from "./chunk-6FGBXPWM.js";
27
29
  import {
28
- getToolCallPreparations,
29
- reconcileMaxTokens,
30
- redactProxyError,
31
- runtimeDiagnostics,
32
30
  safeJsonParse
33
- } from "./chunk-CBOQ3HY7.js";
31
+ } from "./chunk-H5FFA6TH.js";
34
32
  import {
35
- GenerateContentResponse
36
- } from "./chunk-TYQMGACW.js";
33
+ getToolCallPreparations,
34
+ runtimeDiagnostics
35
+ } from "./chunk-LS77BEZP.js";
36
+ import {
37
+ reportOpenAiRequest
38
+ } from "./chunk-LEH5C7FV.js";
39
+ import {
40
+ ProtocolTagSanitizedEvent,
41
+ logProtocolTagSanitized
42
+ } from "./chunk-CIKQ7KKO.js";
43
+ import {
44
+ reconcileMaxTokens
45
+ } from "./chunk-UW5EOVUN.js";
46
+ import {
47
+ redactProxyError
48
+ } from "./chunk-2JZBVYTU.js";
37
49
  import {
38
50
  createDebugLogger,
39
51
  getErrorMessage,
40
52
  getErrorStatus,
41
53
  getErrorType,
42
54
  isAbortError
43
- } from "./chunk-OQB4EXO4.js";
55
+ } from "./chunk-NL7LTRLR.js";
56
+ import {
57
+ GenerateContentResponse
58
+ } from "./chunk-22C7BQ6D.js";
44
59
  import {
45
60
  init_esbuild_shims
46
61
  } from "./chunk-5O2XNYP6.js";
@@ -884,6 +899,13 @@ var StreamingToolCallParser = class {
884
899
 
885
900
  // packages/core/src/core/openaiContentGenerator/pipeline.ts
886
901
  var debugLogger3 = createDebugLogger("OPENAI_PIPELINE");
902
+ function isRequiredThinkingError(error) {
903
+ if (getErrorStatus(error) !== 400) return false;
904
+ const providerMessage = getRateLimitErrorDetails(error).providerMessage;
905
+ const message = `${getErrorMessage(error)} ${providerMessage ?? ""}`;
906
+ return message.includes("enable_thinking") && /(?:restricted to|must be) true\b/i.test(message);
907
+ }
908
+ __name(isRequiredThinkingError, "isRequiredThinkingError");
887
909
  var StreamContentError = class extends Error {
888
910
  static {
889
911
  __name(this, "StreamContentError");
@@ -1043,6 +1065,7 @@ var ContentGenerationPipeline = class {
1043
1065
  }
1044
1066
  client;
1045
1067
  contentGeneratorConfig;
1068
+ requiredThinkingModels = /* @__PURE__ */ new Set();
1046
1069
  // Resolved once (config field > env > default) so the env read + any
1047
1070
  // invalid-value warning happen per pipeline, not per streaming request.
1048
1071
  streamIdleTimeoutMs;
@@ -1190,7 +1213,7 @@ var ContentGenerationPipeline = class {
1190
1213
  if (sanitization) {
1191
1214
  context.protocolTagSanitized = void 0;
1192
1215
  }
1193
- if (response.candidates?.[0]?.content?.parts?.length === 0 && !response.candidates?.[0]?.finishReason && !response.usageMetadata && // Preparation-only responses must reach ACP before arguments complete.
1216
+ if ((response.candidates?.[0]?.content?.parts?.length ?? 0) === 0 && !response.candidates?.[0]?.finishReason && !response.usageMetadata && // Preparation-only responses must reach ACP before arguments complete.
1194
1217
  getToolCallPreparations(response).length === 0) {
1195
1218
  continue;
1196
1219
  }
@@ -1307,6 +1330,9 @@ var ContentGenerationPipeline = class {
1307
1330
  if (response.usageMetadata) {
1308
1331
  pendingFinishResponse.usageMetadata = response.usageMetadata;
1309
1332
  }
1333
+ if (response.modelVersion) {
1334
+ pendingFinishResponse.modelVersion = response.modelVersion;
1335
+ }
1310
1336
  setPendingFinish(pendingFinishResponse);
1311
1337
  } else {
1312
1338
  setPendingFinish(response);
@@ -1320,10 +1346,10 @@ var ContentGenerationPipeline = class {
1320
1346
  } else {
1321
1347
  mergedResponse.usageMetadata = pendingFinishResponse.usageMetadata;
1322
1348
  }
1323
- mergedResponse.responseId = response.responseId;
1324
- mergedResponse.createTime = response.createTime;
1325
- mergedResponse.modelVersion = response.modelVersion;
1326
- mergedResponse.promptFeedback = response.promptFeedback;
1349
+ mergedResponse.responseId = response.responseId || pendingFinishResponse.responseId;
1350
+ mergedResponse.createTime = response.createTime || pendingFinishResponse.createTime;
1351
+ mergedResponse.modelVersion = response.modelVersion || pendingFinishResponse.modelVersion;
1352
+ mergedResponse.promptFeedback = response.promptFeedback || pendingFinishResponse.promptFeedback;
1327
1353
  setPendingFinish(mergedResponse);
1328
1354
  return true;
1329
1355
  }
@@ -1365,8 +1391,7 @@ var ContentGenerationPipeline = class {
1365
1391
  const isDashScope = DashScopeOpenAICompatibleProvider.isDashScopeProvider(
1366
1392
  this.contentGeneratorConfig
1367
1393
  );
1368
- const configModel = (this.contentGeneratorConfig.model ?? "").toLowerCase();
1369
- const thinkingMandatory = this.contentGeneratorConfig.thinkingMandatory === true && model === configModel;
1394
+ const thinkingMandatory = this.requiresThinking(model);
1370
1395
  const reasoningDisabled = request.config?.thinkingConfig?.includeThoughts === false || this.contentGeneratorConfig.reasoning === false;
1371
1396
  if (reasoningDisabled) {
1372
1397
  const typed = providerRequest;
@@ -1385,24 +1410,38 @@ var ContentGenerationPipeline = class {
1385
1410
  if ("reasoning" in typed) {
1386
1411
  delete typed["reasoning"];
1387
1412
  }
1388
- if ("reasoning_effort" in typed) {
1413
+ if ("reasoning_effort" in typed && typed["reasoning_effort"] !== "none") {
1389
1414
  delete typed["reasoning_effort"];
1390
1415
  }
1391
1416
  if (isDeepSeekHostname(this.contentGeneratorConfig)) {
1392
1417
  typed["thinking"] = { type: "disabled" };
1393
1418
  }
1394
1419
  }
1395
- if (thinkingMandatory && isDashScope) {
1420
+ if (thinkingMandatory) {
1396
1421
  const typed = providerRequest;
1397
1422
  if (typed["enable_thinking"] === false) {
1398
1423
  delete typed["enable_thinking"];
1399
1424
  }
1400
- if (typed["tool_choice"] === "required") {
1425
+ const chatTemplateKwargs = typed["chat_template_kwargs"];
1426
+ if (chatTemplateKwargs?.["enable_thinking"] === false) {
1427
+ const remaining = { ...chatTemplateKwargs };
1428
+ delete remaining["enable_thinking"];
1429
+ if (Object.keys(remaining).length > 0) {
1430
+ typed["chat_template_kwargs"] = remaining;
1431
+ } else {
1432
+ delete typed["chat_template_kwargs"];
1433
+ }
1434
+ }
1435
+ if (isDashScope && typed["tool_choice"] === "required") {
1401
1436
  delete typed["tool_choice"];
1402
1437
  }
1403
1438
  }
1404
1439
  return providerRequest;
1405
1440
  }
1441
+ requiresThinking(model) {
1442
+ const normalizedModel = model.toLowerCase();
1443
+ return this.requiredThinkingModels.has(normalizedModel) || this.contentGeneratorConfig.thinkingMandatory === true && normalizedModel === (this.contentGeneratorConfig.model ?? "").toLowerCase();
1444
+ }
1406
1445
  buildGenerateContentConfig(request) {
1407
1446
  const defaultSamplingParams = this.config.provider.getDefaultGenerationConfig();
1408
1447
  const configSamplingParams = this.contentGeneratorConfig.samplingParams;
@@ -1464,8 +1503,9 @@ var ContentGenerationPipeline = class {
1464
1503
  */
1465
1504
  async executeWithErrorHandling(request, userPromptId, isStreaming, executor) {
1466
1505
  const context = this.createRequestContext(request, isStreaming);
1467
- try {
1468
- const openaiRequest = await this.buildRequest(
1506
+ let openaiRequest;
1507
+ const executeAttempt = /* @__PURE__ */ __name(async () => {
1508
+ openaiRequest = await this.buildRequest(
1469
1509
  request,
1470
1510
  userPromptId,
1471
1511
  context,
@@ -1473,9 +1513,27 @@ var ContentGenerationPipeline = class {
1473
1513
  );
1474
1514
  openaiRequestCaptureContext.getStore()?.(openaiRequest);
1475
1515
  runtimeDiagnostics.recordOpenAIWireRequest(openaiRequest);
1476
- const result = await executor(openaiRequest, context);
1477
- return result;
1516
+ reportOpenAiRequest(openaiRequest);
1517
+ return executor(openaiRequest, context);
1518
+ }, "executeAttempt");
1519
+ try {
1520
+ return await executeAttempt();
1478
1521
  } catch (error) {
1522
+ const model = context.model.toLowerCase();
1523
+ const wireRequest = openaiRequest;
1524
+ const chatTemplateKwargs = wireRequest?.["chat_template_kwargs"];
1525
+ if ((wireRequest?.["enable_thinking"] === false || chatTemplateKwargs?.["enable_thinking"] === false) && request.config?.abortSignal?.aborted !== true && isRequiredThinkingError(error)) {
1526
+ this.requiredThinkingModels.add(model);
1527
+ debugLogger3.warn("Retrying with required thinking enabled", {
1528
+ model,
1529
+ originalError: getErrorMessage(error)
1530
+ });
1531
+ try {
1532
+ return await executeAttempt();
1533
+ } catch (retryError) {
1534
+ return await this.handleError(retryError, context, request);
1535
+ }
1536
+ }
1479
1537
  return await this.handleError(error, context, request);
1480
1538
  }
1481
1539
  }
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  atomicWriteFileSync
5
- } from "./chunk-6X4GWOPW.js";
5
+ } from "./chunk-A5L3JMUA.js";
6
6
  import {
7
7
  Storage,
8
8
  createDebugLogger
9
- } from "./chunk-OQB4EXO4.js";
9
+ } from "./chunk-NL7LTRLR.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -2,9 +2,12 @@
2
2
  "use strict";
3
3
  import {
4
4
  CHANNEL_DAEMON_WORKER_SENTINEL,
5
+ CHANNEL_DELIVERY_IPC_TIMEOUT_MS,
5
6
  CHANNEL_WEBHOOK_TASK_IPC_TIMEOUT_MS,
6
7
  CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
8
+ ChannelDeliveryError,
7
9
  ChannelWebhookEnqueueError,
10
+ MAX_CHANNEL_DELIVERIES_IN_FLIGHT,
8
11
  MAX_CHANNEL_STARTUP_FAILURES,
9
12
  MAX_CHANNEL_STARTUP_FAILURE_CHANNEL_LENGTH,
10
13
  MAX_CHANNEL_STARTUP_FAILURE_CODE_LENGTH,
@@ -13,21 +16,23 @@ import {
13
16
  QWEN_DAEMON_URL_ENV,
14
17
  QWEN_DAEMON_WORKSPACE_ENV,
15
18
  QWEN_SERVER_TOKEN_ENV,
19
+ createChannelDeliveryMessage,
16
20
  createChannelWebhookTaskMessage,
17
21
  createWorkerDiagnosticRedactor,
22
+ isChannelDeliveryResultMessage,
18
23
  isChannelStartupReportMessage,
19
24
  isChannelStartupReportType,
20
25
  isChannelWebhookEnqueueErrorCode,
21
26
  isChannelWebhookTaskResultMessage,
22
27
  normalizeWorkerDiagnostic,
23
28
  sanitizeWorkerDiagnostic
24
- } from "./chunk-QKTHJXCS.js";
29
+ } from "./chunk-LK7CHLVP.js";
25
30
  import {
26
31
  channelSelectionNames
27
- } from "./chunk-TJTKSVIV.js";
32
+ } from "./chunk-JLU636DO.js";
28
33
  import {
29
34
  sanitizeLogText
30
- } from "./chunk-RVLZCXEE.js";
35
+ } from "./chunk-RWTEFFPU.js";
31
36
  import {
32
37
  CHANNEL_WORKER_KILL_GRACE_MS,
33
38
  CHANNEL_WORKER_STARTUP_TIMEOUT_MS,
@@ -263,6 +268,7 @@ function createChannelWorkerSupervisor(opts) {
263
268
  let staleHeartbeatTimer;
264
269
  let restartAttemptTimes = [];
265
270
  const pendingWebhookTasks = /* @__PURE__ */ new Map();
271
+ const pendingChannelDeliveries = /* @__PURE__ */ new Map();
266
272
  let restarting;
267
273
  let disposed = false;
268
274
  const snapshotCopy = /* @__PURE__ */ __name(() => ({
@@ -273,7 +279,8 @@ function createChannelWorkerSupervisor(opts) {
273
279
  startupFailures: snapshot.startupFailures.map((failure) => ({
274
280
  ...failure
275
281
  }))
276
- } : {}
282
+ } : {},
283
+ ...snapshot.adapters ? { adapters: snapshot.adapters.map((adapter) => ({ ...adapter })) } : {}
277
284
  }), "snapshotCopy");
278
285
  const clearRestartTimer = /* @__PURE__ */ __name(() => {
279
286
  if (restartTimer) {
@@ -325,6 +332,39 @@ function createChannelWorkerSupervisor(opts) {
325
332
  }
326
333
  return true;
327
334
  }, "settleWebhookTask");
335
+ const rejectPendingChannelDeliveries = /* @__PURE__ */ __name((code, message) => {
336
+ for (const pending of pendingChannelDeliveries.values()) {
337
+ clearTimeout(pending.timer);
338
+ pending.reject(new ChannelDeliveryError(code, message));
339
+ }
340
+ pendingChannelDeliveries.clear();
341
+ }, "rejectPendingChannelDeliveries");
342
+ const rejectPendingChannelDelivery = /* @__PURE__ */ __name((id, error) => {
343
+ const pending = pendingChannelDeliveries.get(id);
344
+ if (!pending) return;
345
+ pendingChannelDeliveries.delete(id);
346
+ clearTimeout(pending.timer);
347
+ pending.reject(error);
348
+ }, "rejectPendingChannelDelivery");
349
+ const settleChannelDelivery = /* @__PURE__ */ __name((message) => {
350
+ if (!isChannelDeliveryResultMessage(message)) return false;
351
+ const pending = pendingChannelDeliveries.get(message.id);
352
+ if (!pending) return true;
353
+ if (message.ok) {
354
+ pendingChannelDeliveries.delete(message.id);
355
+ clearTimeout(pending.timer);
356
+ pending.resolve({ delivered: true });
357
+ } else {
358
+ rejectPendingChannelDelivery(
359
+ message.id,
360
+ new ChannelDeliveryError(
361
+ message.code,
362
+ message.error || "Channel delivery failed."
363
+ )
364
+ );
365
+ }
366
+ return true;
367
+ }, "settleChannelDelivery");
328
368
  const pruneRestartAttempts = /* @__PURE__ */ __name((nowMs) => {
329
369
  restartAttemptTimes = restartAttemptTimes.filter(
330
370
  (attemptMs) => nowMs - attemptMs < restartPolicy.windowMs
@@ -432,6 +472,12 @@ function createChannelWorkerSupervisor(opts) {
432
472
  state: "starting",
433
473
  channels: channelSelectionNames(opts.selection),
434
474
  ...requestedChannels ? { requestedChannels } : {},
475
+ ...requestedChannels ? {
476
+ adapters: requestedChannels.map((name) => ({
477
+ name,
478
+ state: "starting"
479
+ }))
480
+ } : {},
435
481
  startedAt,
436
482
  restartCount: snapshot.restartCount ?? 0,
437
483
  ...snapshot.lastExitAt ? { lastExitAt: snapshot.lastExitAt } : {},
@@ -615,7 +661,14 @@ function createChannelWorkerSupervisor(opts) {
615
661
  };
616
662
  snapshot = {
617
663
  ...snapshot,
618
- startupFailures: [...snapshot.startupFailures ?? [], failure]
664
+ startupFailures: [...snapshot.startupFailures ?? [], failure],
665
+ adapters: snapshot.adapters?.map(
666
+ (adapter) => adapter.name === failure.channel ? {
667
+ name: adapter.name,
668
+ state: "error",
669
+ error: failure.message
670
+ } : adapter
671
+ )
619
672
  };
620
673
  acknowledgeStartupReport();
621
674
  }, "handleStartupReport");
@@ -637,6 +690,22 @@ function createChannelWorkerSupervisor(opts) {
637
690
  if (message.requestedChannels?.length) {
638
691
  next.requestedChannels = [...message.requestedChannels];
639
692
  }
693
+ const adapterNames = message.requestedChannels?.length ? message.requestedChannels : next.requestedChannels ?? next.channels;
694
+ const connected = new Set(next.channels);
695
+ const failures = new Map(
696
+ next.startupFailures?.map((failure) => [failure.channel, failure])
697
+ );
698
+ next.adapters = adapterNames.map((name) => {
699
+ if (connected.has(name)) {
700
+ return { name, state: "connected" };
701
+ }
702
+ const failure = failures.get(name);
703
+ return {
704
+ name,
705
+ state: "error",
706
+ ...failure ? { error: failure.message } : {}
707
+ };
708
+ });
640
709
  snapshot = next;
641
710
  armStaleHeartbeatTimer(startedChild);
642
711
  notifyReady(opts.onReady, snapshotCopy());
@@ -656,6 +725,9 @@ function createChannelWorkerSupervisor(opts) {
656
725
  }, "handleHeartbeat");
657
726
  function handleMessage(message) {
658
727
  if (child !== startedChild) return;
728
+ if (settleChannelDelivery(message)) {
729
+ return;
730
+ }
659
731
  if (settleWebhookTask(message)) {
660
732
  return;
661
733
  }
@@ -684,6 +756,10 @@ function createChannelWorkerSupervisor(opts) {
684
756
  "channel_worker_unavailable",
685
757
  "Channel worker exited."
686
758
  );
759
+ rejectPendingChannelDeliveries(
760
+ "channel_worker_unavailable",
761
+ "Channel worker exited."
762
+ );
687
763
  child = void 0;
688
764
  if ((ready || kind === "restart") && !stopping) {
689
765
  scheduleRestart();
@@ -759,6 +835,10 @@ function createChannelWorkerSupervisor(opts) {
759
835
  "channel_worker_unavailable",
760
836
  "Channel worker stopped."
761
837
  );
838
+ rejectPendingChannelDeliveries(
839
+ "channel_worker_unavailable",
840
+ "Channel worker stopped."
841
+ );
762
842
  if (!child || snapshot.state === "exited" || snapshot.state === "failed" && hasObservedExit(snapshot) || snapshot.state === "stopped") {
763
843
  child = void 0;
764
844
  snapshot = { ...snapshot, state: "stopped" };
@@ -803,6 +883,10 @@ function createChannelWorkerSupervisor(opts) {
803
883
  "channel_worker_unavailable",
804
884
  "Channel worker stopped."
805
885
  );
886
+ rejectPendingChannelDeliveries(
887
+ "channel_worker_unavailable",
888
+ "Channel worker stopped."
889
+ );
806
890
  if (!child || snapshot.state === "exited" || snapshot.state === "failed" && hasObservedExit(snapshot) || snapshot.state === "stopped") {
807
891
  clearRestartTimer();
808
892
  clearStaleHeartbeatTimer();
@@ -825,6 +909,62 @@ function createChannelWorkerSupervisor(opts) {
825
909
  snapshot() {
826
910
  return snapshotCopy();
827
911
  },
912
+ async deliverChannelMessage(request) {
913
+ const startedChild = child;
914
+ if (!startedChild || snapshot.state !== "running") {
915
+ throw new ChannelDeliveryError(
916
+ "channel_worker_unavailable",
917
+ "Channel worker is not running."
918
+ );
919
+ }
920
+ const send = startedChild.send;
921
+ if (!send) {
922
+ throw new ChannelDeliveryError(
923
+ "channel_worker_unavailable",
924
+ "Channel worker IPC send failed."
925
+ );
926
+ }
927
+ if (pendingChannelDeliveries.size >= MAX_CHANNEL_DELIVERIES_IN_FLIGHT) {
928
+ throw new ChannelDeliveryError(
929
+ "channel_delivery_queue_full",
930
+ "Channel delivery queue is full."
931
+ );
932
+ }
933
+ const message = createChannelDeliveryMessage(request);
934
+ return await new Promise((resolve, reject) => {
935
+ const timer = setTimeout(() => {
936
+ pendingChannelDeliveries.delete(message.id);
937
+ reject(
938
+ new ChannelDeliveryError(
939
+ "channel_delivery_timeout",
940
+ "Channel delivery IPC timed out."
941
+ )
942
+ );
943
+ }, CHANNEL_DELIVERY_IPC_TIMEOUT_MS);
944
+ timer.unref();
945
+ pendingChannelDeliveries.set(message.id, { resolve, reject, timer });
946
+ try {
947
+ send.call(startedChild, message, (error) => {
948
+ if (!error) return;
949
+ rejectPendingChannelDelivery(
950
+ message.id,
951
+ new ChannelDeliveryError(
952
+ "channel_worker_unavailable",
953
+ `Channel worker IPC send failed: ${error.message}`
954
+ )
955
+ );
956
+ });
957
+ } catch (error) {
958
+ rejectPendingChannelDelivery(
959
+ message.id,
960
+ new ChannelDeliveryError(
961
+ "channel_worker_unavailable",
962
+ `Channel worker IPC send failed: ${error instanceof Error ? error.message : String(error)}`
963
+ )
964
+ );
965
+ }
966
+ });
967
+ },
828
968
  async enqueueWebhookTask(task) {
829
969
  const startedChild = child;
830
970
  if (!startedChild || snapshot.state !== "running") {
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-OQB4EXO4.js";
5
+ } from "./chunk-NL7LTRLR.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";