@qwen-code/qwen-code 0.23.1 → 0.23.2-nightly.20260909.2e212144d3

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 (293) hide show
  1. package/README.md +35 -15
  2. package/bundled/computer-use/SKILL.md +1 -1
  3. package/bundled/qc-helper/docs/configuration/auth.md +1 -1
  4. package/bundled/qc-helper/docs/configuration/model-providers.md +19 -15
  5. package/bundled/qc-helper/docs/configuration/settings.md +1 -1
  6. package/bundled/qc-helper/docs/features/_meta.ts +1 -0
  7. package/bundled/qc-helper/docs/features/channels/dingtalk.md +1 -1
  8. package/bundled/qc-helper/docs/features/channels/github.md +1 -9
  9. package/bundled/qc-helper/docs/features/channels/overview.md +26 -51
  10. package/bundled/qc-helper/docs/features/channels/qqbot.md +1 -2
  11. package/bundled/qc-helper/docs/features/commands.md +79 -17
  12. package/bundled/qc-helper/docs/features/computer-use.md +1 -1
  13. package/bundled/qc-helper/docs/features/cross-session-protocol.md +291 -0
  14. package/bundled/qc-helper/docs/features/goals.md +3 -1
  15. package/bundled/qc-helper/docs/features/sub-agents.md +8 -0
  16. package/bundled/qc-helper/docs/qwen-serve.md +62 -48
  17. package/chunks/{MaxSizedBox-UDO6Y7RB.js → MaxSizedBox-ZBGWYJZW.js} +20 -19
  18. package/chunks/{StandaloneSessionPicker-D4CUOO4H.js → StandaloneSessionPicker-NR5ACIJZ.js} +35 -34
  19. package/chunks/{acpAgent-KWLJFADK.js → acpAgent-DM6XRCDQ.js} +307 -183
  20. package/chunks/{agent-GSUPGEOL.js → agent-EF3IIYE3.js} +13 -13
  21. package/chunks/{agent-headless-HNYCQUJB.js → agent-headless-5J2KFYR4.js} +13 -13
  22. package/chunks/{anthropicContentGenerator-I7LQZH26.js → anthropicContentGenerator-VIW2FG7G.js} +4 -4
  23. package/chunks/{artifact-tool-P52OKKEF.js → artifact-tool-G5LHNECG.js} +1 -1
  24. package/chunks/{askUserQuestion-I5W5S3D6.js → askUserQuestion-R3TXY77M.js} +1 -1
  25. package/chunks/{bridge-B7CV6RVI.js → bridge-LEMQM6QE.js} +21 -20
  26. package/chunks/{channel-management-service-TRTLQTSV.js → channel-management-service-TGF6XFXT.js} +4 -4
  27. package/chunks/{channel-settings-store-FW45IRUP.js → channel-settings-store-FV365JSF.js} +29 -28
  28. package/chunks/{channel-worker-group-PIYPVCTF.js → channel-worker-group-SQ5FRWOH.js} +5 -5
  29. package/chunks/{channel-worker-manager-FQHEDTD2.js → channel-worker-manager-TU4ZNWOE.js} +5 -5
  30. package/chunks/{channel-worker-supervisor-XJPZZ3VK.js → channel-worker-supervisor-EMITFMCP.js} +4 -4
  31. package/chunks/{chunk-3SH53ANB.js → chunk-22GORRNY.js} +12 -0
  32. package/chunks/{chunk-3LPJ776W.js → chunk-2HYOOFDS.js} +9 -6
  33. package/chunks/{chunk-S6QVI3MV.js → chunk-34VPADLG.js} +2 -2
  34. package/chunks/{chunk-WJDXKQIO.js → chunk-3A2IMUDH.js} +14 -2
  35. package/chunks/{chunk-DXQ6Z7AH.js → chunk-3O77M472.js} +224 -84
  36. package/chunks/{chunk-5CVY5Q2P.js → chunk-43EUMPKQ.js} +1 -1
  37. package/chunks/{chunk-ZNO5BUAD.js → chunk-4DIMJKWU.js} +46 -37
  38. package/chunks/{chunk-O2JBJQCF.js → chunk-5HV2HPO7.js} +1 -1
  39. package/chunks/{chunk-RXT4QBDX.js → chunk-5WBA3DEF.js} +1 -1
  40. package/chunks/{chunk-ARYNBBBM.js → chunk-6GAYNM3F.js} +3 -3
  41. package/chunks/{chunk-EEKU6COG.js → chunk-6S7YYUUH.js} +3 -3
  42. package/chunks/{chunk-OPMKGOLD.js → chunk-6VIATHL7.js} +1 -1
  43. package/chunks/{chunk-ENZDGHGJ.js → chunk-76I36BEM.js} +3 -3
  44. package/chunks/{chunk-B54PFQS5.js → chunk-7CLLH5TI.js} +1 -1
  45. package/chunks/{chunk-UHUT4IDM.js → chunk-7IDZFJAV.js} +9 -9
  46. package/chunks/{chunk-5Z4FCEPY.js → chunk-7K4GGN3D.js} +606 -109
  47. package/chunks/{chunk-ZPL2TZNA.js → chunk-7KZVXJ4U.js} +1 -1
  48. package/chunks/{chunk-FWRRUITH.js → chunk-7WCJEY3A.js} +4 -4
  49. package/chunks/{chunk-MFYH2VXV.js → chunk-A7QZIGRB.js} +2 -2
  50. package/chunks/{chunk-27LTEY6D.js → chunk-ATBLEXXV.js} +7 -2
  51. package/chunks/{chunk-3BTHHXXE.js → chunk-AUTUFD5X.js} +1 -1
  52. package/chunks/chunk-AXMWHKXA.js +42 -0
  53. package/chunks/{chunk-QZOXVQPK.js → chunk-AXWTG6R7.js} +2 -5
  54. package/chunks/{chunk-PDUMGZ2P.js → chunk-BDAVT6K2.js} +486 -409
  55. package/chunks/{chunk-2YS3NU4A.js → chunk-BDP3NTWD.js} +3 -3
  56. package/chunks/{chunk-IKG2YVRZ.js → chunk-BZUHZCUO.js} +2 -2
  57. package/chunks/{chunk-USN6VNTO.js → chunk-C24ZDDNY.js} +1 -1
  58. package/chunks/{chunk-RPFJJ33Z.js → chunk-CALTQWTZ.js} +1 -1
  59. package/chunks/{chunk-BF3RUIVP.js → chunk-CH2YDT6X.js} +36 -38
  60. package/chunks/{chunk-3VDLQUR2.js → chunk-D6AGS266.js} +1 -1
  61. package/chunks/{chunk-DO5SMV52.js → chunk-D7DFZAK2.js} +17 -11
  62. package/chunks/{chunk-GM44O6F7.js → chunk-DARWOZY6.js} +1 -1
  63. package/chunks/{chunk-HUX2DOTF.js → chunk-DGNRLJ6S.js} +3 -3
  64. package/chunks/{chunk-FW4E4QPG.js → chunk-DVOCOIS5.js} +1 -1
  65. package/chunks/{chunk-OESZTXTG.js → chunk-E4LXNQAK.js} +1 -1
  66. package/chunks/{chunk-TWAMIEQ2.js → chunk-EATP5QCN.js} +16 -18
  67. package/chunks/{chunk-DZ6D4B3K.js → chunk-EDSU3VUG.js} +12 -5
  68. package/chunks/{chunk-EOET4H7C.js → chunk-EE5ZD4XU.js} +3 -3
  69. package/chunks/{chunk-B3EL44K3.js → chunk-EN3Q2S3J.js} +3 -3
  70. package/chunks/{chunk-N7YQEKGX.js → chunk-EOLGAQ25.js} +16 -15
  71. package/chunks/{chunk-3YQMUBTS.js → chunk-EYCW6UF2.js} +7 -7
  72. package/chunks/{chunk-ZELCTN6Y.js → chunk-F23YN37B.js} +10 -0
  73. package/chunks/{chunk-FPGTNKCP.js → chunk-F3M6P6IQ.js} +199 -1
  74. package/chunks/{chunk-B44JBZBB.js → chunk-F4SAL7WM.js} +91 -3
  75. package/chunks/{chunk-XZ3Z43XL.js → chunk-FEEVHJOR.js} +3 -3
  76. package/chunks/{chunk-CHVU543W.js → chunk-FN4KHWCL.js} +1 -1
  77. package/chunks/{chunk-6QV7Z74P.js → chunk-FRS3P7MQ.js} +15 -2
  78. package/chunks/{chunk-FDOGGKAA.js → chunk-GSFV5RQW.js} +2 -0
  79. package/chunks/{chunk-XBVNNDPK.js → chunk-GSYD7MYP.js} +8 -3
  80. package/chunks/{chunk-VF6D6EGV.js → chunk-HSO6D4KX.js} +82 -25
  81. package/chunks/{chunk-L7V52QEZ.js → chunk-HUJJFSMO.js} +10 -10
  82. package/chunks/{chunk-CIKL2DQP.js → chunk-HW4MRP4V.js} +1 -1
  83. package/chunks/{chunk-TWWS7XUW.js → chunk-HWLLUDIA.js} +108 -16
  84. package/chunks/{chunk-75LBC7SV.js → chunk-IKK6NNS6.js} +32 -29
  85. package/chunks/{chunk-UXDVUFKU.js → chunk-JFAGT5YG.js} +2 -2
  86. package/chunks/{chunk-6SADVYQQ.js → chunk-JGTMTJSQ.js} +1 -1
  87. package/chunks/{chunk-45ROPFQY.js → chunk-JYGIJA4W.js} +1 -1
  88. package/chunks/{chunk-5WC2ECUK.js → chunk-KECCLCXM.js} +42 -8
  89. package/chunks/{chunk-CABDNUJ4.js → chunk-KEPC5BOL.js} +5 -5
  90. package/chunks/{chunk-WNISCNTA.js → chunk-L5VHJYHH.js} +2 -2
  91. package/chunks/{chunk-25CBAK3H.js → chunk-LKBOBUA2.js} +2 -2
  92. package/chunks/{chunk-6QILGINT.js → chunk-LOBKNYPR.js} +2 -2
  93. package/chunks/{chunk-2ZFO5JD7.js → chunk-LOVGQ3HZ.js} +9 -9
  94. package/chunks/{chunk-QK4K76T6.js → chunk-MUF4UGPB.js} +2 -2
  95. package/chunks/{chunk-JGDRB4FP.js → chunk-N3Z6Q7KC.js} +125 -10
  96. package/chunks/chunk-NFXXBWSE.js +463 -0
  97. package/chunks/{chunk-PQSCGZT2.js → chunk-NPKCVSXX.js} +26 -2
  98. package/chunks/{chunk-YCEKI7QX.js → chunk-NV4YYXFT.js} +1 -1
  99. package/chunks/{chunk-5IL2BZHW.js → chunk-O6BFERWN.js} +3 -3
  100. package/chunks/{chunk-TGC4264Q.js → chunk-OVTPETDL.js} +5 -5
  101. package/chunks/chunk-PLEBBGHL.js +1401 -0
  102. package/chunks/{chunk-3VWPPK5Q.js → chunk-PWR6BQ3U.js} +4 -4
  103. package/chunks/{chunk-D6AQNMUA.js → chunk-QA2B26PL.js} +3 -3
  104. package/chunks/{chunk-NFIDVZND.js → chunk-QB3KS3N3.js} +2 -21
  105. package/chunks/{chunk-LNCNUMJ5.js → chunk-SK6VACCM.js} +558 -158
  106. package/chunks/{chunk-YAC7H4K3.js → chunk-SM66GFKJ.js} +1 -1
  107. package/chunks/{chunk-MA5OUNN6.js → chunk-SNMUO5Z7.js} +1 -1
  108. package/chunks/{chunk-IRKQ4YYX.js → chunk-SVWWF5TZ.js} +29 -1
  109. package/chunks/{chunk-6JXHO7LG.js → chunk-SYKPMH2X.js} +3 -3
  110. package/chunks/{chunk-5HBA2Z7V.js → chunk-TGNNLRC3.js} +2 -3
  111. package/chunks/{chunk-EHTKOO6W.js → chunk-TRQNRP2H.js} +2 -2
  112. package/chunks/{chunk-LZGFVUWZ.js → chunk-UQOP2APG.js} +4 -24
  113. package/chunks/{chunk-T2IHCZLS.js → chunk-VAWM3A5N.js} +1 -1
  114. package/chunks/{chunk-M73KHGNR.js → chunk-VJJXG73H.js} +404 -226
  115. package/chunks/{chunk-WAASYFPK.js → chunk-VJWJOKOQ.js} +2 -2
  116. package/chunks/{chunk-WQMUGQ6G.js → chunk-VR6Y23FW.js} +1 -1
  117. package/chunks/{chunk-E7XSUYCZ.js → chunk-VX2NR3SD.js} +19 -4
  118. package/chunks/{chunk-XVTCSVBK.js → chunk-WDVV3LRM.js} +193 -169
  119. package/chunks/{chunk-RNYENHN5.js → chunk-WEU6O6VN.js} +2 -2
  120. package/chunks/{chunk-YHDGABDC.js → chunk-XKBFYTCD.js} +1 -1
  121. package/chunks/{chunk-66JBCTJF.js → chunk-Y7YHAY32.js} +23 -6
  122. package/chunks/{chunk-7SL55L5H.js → chunk-YIE6REQ5.js} +20 -15
  123. package/chunks/{chunk-ZU2T5JIS.js → chunk-ZEFWBG2C.js} +736 -1148
  124. package/chunks/{chunk-6TPVIESH.js → chunk-ZM2TCZZ7.js} +3 -3
  125. package/chunks/{chunk-2TMJRF46.js → chunk-ZZ7RVOTU.js} +50 -18
  126. package/chunks/{config-utils-KTDSQ4MU.js → config-utils-SXFK3G4X.js} +24 -23
  127. package/chunks/{contextCommand-UQ3KRYGK.js → contextCommand-QFPD26QO.js} +21 -20
  128. package/chunks/{core-runtime-JR34JAFH.js → core-runtime-VXKNBODM.js} +26 -24
  129. package/chunks/{create-sub-session-RGPJOI4S.js → create-sub-session-7WSQETFR.js} +20 -19
  130. package/chunks/{daemon-UI6SQSBV.js → daemon-U2456K5H.js} +2 -2
  131. package/chunks/{daemon-git-worktree-guard-H3OA26KQ.js → daemon-git-worktree-guard-I4DCSDUS.js} +20 -19
  132. package/chunks/{daemon-status-provider-6WZLKSZU.js → daemon-status-provider-5UV56RI4.js} +25 -24
  133. package/chunks/{daemon-trust-policy-3EDP2BYD.js → daemon-trust-policy-DKIBWTKU.js} +25 -24
  134. package/chunks/{daemon-trust-policy-monitor-CRHZPK52.js → daemon-trust-policy-monitor-CPSD7UKT.js} +25 -24
  135. package/chunks/{deferred-core-runtime-LO5NTQQ4.js → deferred-core-runtime-D2RF35BL.js} +20 -19
  136. package/chunks/{dist-STAGIFNB.js → dist-6YDUH3BB.js} +388 -102
  137. package/chunks/{dist-XJ25G6OH.js → dist-BNQVF565.js} +2 -8
  138. package/chunks/{dist-NQ2636VT.js → dist-F34J4FZX.js} +1 -1
  139. package/chunks/{dist-OR2ZQTXZ.js → dist-F6JLAJLE.js} +1 -1
  140. package/chunks/{dist-24TCWK5H.js → dist-K5GHMXIG.js} +2 -2
  141. package/chunks/{dist-WZTUKIDR.js → dist-NP7QKLVG.js} +2 -2
  142. package/chunks/{dist-M4CBX53H.js → dist-UFTFGI6I.js} +1 -1
  143. package/chunks/{dist-5I4HLUTO.js → dist-XLV33CLY.js} +1 -2
  144. package/chunks/{dist-FDISN4AK.js → dist-ZDNJK74R.js} +3 -7
  145. package/chunks/{edit-LB7Z7XK5.js → edit-4IBADZ3O.js} +13 -13
  146. package/chunks/{enterPlanMode-P6TVUFIY.js → enterPlanMode-YN3GPQU5.js} +13 -13
  147. package/chunks/{environment-QATJNNKI.js → environment-E272IJMF.js} +22 -21
  148. package/chunks/{errors-3XJ37PS2.js → errors-CVAH3RWQ.js} +22 -21
  149. package/chunks/{exitPlanMode-A3OKL5UO.js → exitPlanMode-24J5IHGC.js} +13 -13
  150. package/chunks/{fast-path-DBIT5YQQ.js → fast-path-M5IDBMXF.js} +3 -3
  151. package/chunks/{glob-73EDTXUE.js → glob-ERBD7JYP.js} +13 -13
  152. package/chunks/{goal-tools-DFI6YMSD.js → goal-tools-245ULLQT.js} +13 -13
  153. package/chunks/{handleAutoUpdate-2FUNJO3B.js → handleAutoUpdate-JDZHHZKK.js} +22 -21
  154. package/chunks/{i18n-FDIA6KFI.js → i18n-LA4D5IXM.js} +20 -19
  155. package/chunks/{initializer-4MJTJOTW.js → initializer-SHPTSWUZ.js} +25 -24
  156. package/chunks/{installationInfo-232RA2OK.js → installationInfo-QEQEPB3G.js} +20 -19
  157. package/chunks/{list-WN6WSGEB.js → list-IBHCQWTF.js} +28 -27
  158. package/chunks/{list-agents-I5TRH3J7.js → list-agents-EDPZCGKN.js} +5 -4
  159. package/chunks/{llm-UDFWQWZA.js → llm-JAWCQLA4.js} +68 -62
  160. package/chunks/{llm-content-generator-VLMZ2A7A.js → llm-content-generator-GOV3A23T.js} +2 -2
  161. package/chunks/{loadedSettingsAdapter-OBQEIXM7.js → loadedSettingsAdapter-RVE2GNVU.js} +25 -24
  162. package/chunks/{loggingContentGenerator-RGVUMUVX.js → loggingContentGenerator-SSHNN5YW.js} +15 -15
  163. package/chunks/{managed-npm-update-QBAJYCFU.js → managed-npm-update-BHSTITQO.js} +20 -19
  164. package/chunks/{mcp-OTIZZCPY.js → mcp-6ZZ7P2HU.js} +25 -24
  165. package/chunks/{monitor-BV5XF6LL.js → monitor-RKK6GSHG.js} +13 -13
  166. package/chunks/{nonInteractiveCli-W6MUKDVJ.js → nonInteractiveCli-UQHP3G6P.js} +58 -57
  167. package/chunks/{notebook-edit-HGBEKGTE.js → notebook-edit-YM47A7WO.js} +13 -13
  168. package/chunks/{open-with-auth-D6JD6LDS.js → open-with-auth-6MVIHMXB.js} +1 -1
  169. package/chunks/{openaiContentGenerator-NSU3ERBH.js → openaiContentGenerator-FHKDWNI2.js} +9 -9
  170. package/chunks/{pidfile-LE3TU4GE.js → pidfile-SIIEJEEH.js} +23 -20
  171. package/chunks/{processUtils-YFBGJK67.js → processUtils-JF7CWBJC.js} +2 -2
  172. package/chunks/{prompt-terminal-ledger-4W4W7DSO.js → prompt-terminal-ledger-FXXHAEQU.js} +21 -20
  173. package/chunks/{qwenContentGenerator-HTA57WFC.js → qwenContentGenerator-KFJ77JP6.js} +16 -16
  174. package/chunks/{read-file-KHPQ2MB6.js → read-file-S2NOCBIL.js} +4 -4
  175. package/chunks/{resumeHistoryUtils-K7RV3QBN.js → resumeHistoryUtils-QHHPSQWU.js} +22 -21
  176. package/chunks/{ripGrep-NBBVCMG4.js → ripGrep-F6TNOJUO.js} +5 -5
  177. package/chunks/{run-qwen-serve-A3JBOZCM.js → run-qwen-serve-KYBDQRDD.js} +216 -64
  178. package/chunks/{runtime-7YOU2KJ3.js → runtime-3WNOFLCR.js} +32 -29
  179. package/chunks/{scheduled-tasks-52LXK7LN.js → scheduled-tasks-RNBH56DJ.js} +23 -22
  180. package/chunks/{scheduler-J44M72VM.js → scheduler-ERMW7Q7B.js} +22 -21
  181. package/chunks/{send-message-AWKUDJBH.js → send-message-V5T3NMFM.js} +3 -3
  182. package/chunks/{serve-TRC6XJUB.js → serve-7NV46RMP.js} +25 -24
  183. package/chunks/{server-YPNTJLX2.js → server-6RZJR5QF.js} +106 -154
  184. package/chunks/{session-FMMIBFYX.js → session-Z4EV7NVV.js} +91 -63
  185. package/chunks/{session-attachments-root-LDJMNK7K.js → session-attachments-root-SG5FC52X.js} +20 -19
  186. package/chunks/{session-pr-refresh-NLR4EK2J.js → session-pr-refresh-ILC4Z3ZM.js} +22 -21
  187. package/chunks/{settings-A46L577J.js → settings-Y47SPE3X.js} +24 -23
  188. package/chunks/{shell-Q5LSQPPY.js → shell-YBVCOPVO.js} +13 -13
  189. package/chunks/{skill-75KPJRCM.js → skill-AXC63EBA.js} +4 -4
  190. package/chunks/{skill-settings-775YT4YR.js → skill-settings-AFPAYGLO.js} +24 -23
  191. package/chunks/{spawnChannel-XY73I5CU.js → spawnChannel-ZFL4J2V3.js} +20 -19
  192. package/chunks/{standalone-update-L46XXNQ2.js → standalone-update-Y2OZPLNJ.js} +21 -20
  193. package/chunks/{start-opentui-ui-WLV43247.js → start-opentui-ui-G6TKT4LI.js} +449 -210
  194. package/chunks/{startInteractiveUI-F5DKMLOV.js → startInteractiveUI-YTNDPW7J.js} +1182 -1245
  195. package/chunks/{task-create-PMAFST2T.js → task-create-MWXJFRRM.js} +3 -3
  196. package/chunks/{task-list-R2HSY2NC.js → task-list-EYO3FE57.js} +2 -2
  197. package/chunks/{task-update-JYC57USF.js → task-update-2JJJRHMT.js} +3 -3
  198. package/chunks/{team-create-2PATB77U.js → team-create-BUFLGGSH.js} +13 -13
  199. package/chunks/{team-delete-CBHVBTPB.js → team-delete-IQZ6XGFI.js} +2 -2
  200. package/chunks/{team-plan-approval-QTANEWOS.js → team-plan-approval-OUWWM42U.js} +13 -13
  201. package/chunks/{terminal-image-renderer-OGULCFNF.js → terminal-image-renderer-WH2WV5ES.js} +20 -19
  202. package/chunks/{theme-manager-CNO3QERP.js → theme-manager-5UDRARM2.js} +20 -19
  203. package/chunks/{tool-search-VXWEOZE7.js → tool-search-MCDIRPHN.js} +4 -4
  204. package/chunks/{total-session-admission-4KAADZPB.js → total-session-admission-VL27U74Z.js} +21 -20
  205. package/chunks/{trustedFolders-PPJSOPOT.js → trustedFolders-MSXT4VDD.js} +21 -20
  206. package/chunks/{update-relaunch-4PT4MW7B.js → update-relaunch-JKLEWVCB.js} +5 -5
  207. package/chunks/{updateCheck-WAVFLWNG.js → updateCheck-ARTHAJT2.js} +20 -19
  208. package/chunks/{useAutoAcceptIndicator-XNED4NRB.js → useAutoAcceptIndicator-YEAAGYVU.js} +26 -25
  209. package/chunks/{validateNonInterActiveAuth-J676DUQ2.js → validateNonInterActiveAuth-EMRQKH5S.js} +56 -55
  210. package/chunks/{version-J6SRRQB2.js → version-HFQU35WD.js} +3 -1
  211. package/chunks/{web-fetch-FMZZYX44.js → web-fetch-QBXAO6VF.js} +4 -4
  212. package/chunks/{web-search-3G2KXCX5.js → web-search-2URQXA3A.js} +186 -9
  213. package/chunks/{web-shell-static-POZHGGXE.js → web-shell-static-BFDESDD4.js} +5 -4
  214. package/chunks/{workflow-PPZZICQ7.js → workflow-JDD6WDAH.js} +204 -68
  215. package/chunks/{workspace-providers-status-IIYTAQST.js → workspace-providers-status-B4IKR6YJ.js} +27 -26
  216. package/chunks/{workspace-registration-store-VHCDXAV7.js → workspace-registration-store-PJ3YHR45.js} +1 -2
  217. package/chunks/{workspace-registry-I7VQIPS2.js → workspace-registry-WVYJ5UGB.js} +21 -20
  218. package/chunks/{workspace-runtime-coordinator-DBGNY32G.js → workspace-runtime-coordinator-DXL5YVAG.js} +21 -20
  219. package/chunks/{workspace-service-QSKB2T54.js → workspace-service-QNGAMVH7.js} +26 -25
  220. package/chunks/{workspace-skills-status-T7GPT65J.js → workspace-skills-status-BEISJIII.js} +25 -24
  221. package/chunks/{workspace-trust-reconciler-2PKRDAU4.js → workspace-trust-reconciler-ORYJF5L4.js} +26 -25
  222. package/chunks/{write-file-L76CGFTQ.js → write-file-DWLKFBTJ.js} +14 -14
  223. package/chunks/{zoom-image-TDJJY2VZ.js → zoom-image-BYVIXSNQ.js} +4 -4
  224. package/cli.js +12 -12
  225. package/export-transcript-document.js +106 -106
  226. package/package.json +4 -4
  227. package/web-shell/assets/{abnfDiagram-VCTEODGH-DHc6plZn.js → abnfDiagram-VCTEODGH-C_8kzsly.js} +1 -1
  228. package/web-shell/assets/{arc-BQ9m8TDV.js → arc-CDg7Zfpm.js} +1 -1
  229. package/web-shell/assets/{architectureDiagram-5GKGNRK7-D5ap3oVB.js → architectureDiagram-5GKGNRK7-DZzdCWyF.js} +1 -1
  230. package/web-shell/assets/{blockDiagram-NRAW4CY4-BIbnyNph.js → blockDiagram-NRAW4CY4-DI3B4gyR.js} +1 -1
  231. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BRsdx_iG.js → c4Diagram-UCG6FXSJ-CfOgwHZW.js} +1 -1
  232. package/web-shell/assets/channel-e4xwS72w.js +1 -0
  233. package/web-shell/assets/{chunk-2Q5K7J3B-3lf1fNlx.js → chunk-2Q5K7J3B-B_PUth0g.js} +1 -1
  234. package/web-shell/assets/{chunk-5VM5RSS4-DP8VNRc4.js → chunk-5VM5RSS4-CrKtvBIL.js} +1 -1
  235. package/web-shell/assets/{chunk-F27PBJKO-DrohDmZ6.js → chunk-F27PBJKO-B4z2n8Py.js} +1 -1
  236. package/web-shell/assets/{chunk-G27WJ6UU-UZ2QhSx6.js → chunk-G27WJ6UU-BUtrFEO8.js} +1 -1
  237. package/web-shell/assets/{chunk-JWPE2WC7-BIMHVcZK.js → chunk-JWPE2WC7-Cqw3aXW0.js} +1 -1
  238. package/web-shell/assets/{chunk-LCL6LL3I-izRxdSDd.js → chunk-LCL6LL3I-CZolnvls.js} +1 -1
  239. package/web-shell/assets/{chunk-POPQ4Y6H-CXADD4PP.js → chunk-POPQ4Y6H-DivgasCa.js} +1 -1
  240. package/web-shell/assets/{chunk-SVP7TREG-B96d8Y_1.js → chunk-SVP7TREG--seyb1B6.js} +1 -1
  241. package/web-shell/assets/{chunk-XXDRQBXY-CF2sVQpv.js → chunk-XXDRQBXY-D7pHtuVM.js} +1 -1
  242. package/web-shell/assets/classDiagram-DTDB5LWJ-CzXfUUOt.js +1 -0
  243. package/web-shell/assets/classDiagram-v2-JRS7N3AN-CzXfUUOt.js +1 -0
  244. package/web-shell/assets/{cose-bilkent-JH36ORCC-CT6tXVAS.js → cose-bilkent-JH36ORCC-4MWaRF_3.js} +1 -1
  245. package/web-shell/assets/{cynefin-OW5HDTMX-X1NS4vtV.js → cynefin-OW5HDTMX-nhJhAjgD.js} +1 -1
  246. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-DNsKNOT4.js → cynefinDiagram-5FMLGOSQ-NF-PwXlq.js} +1 -1
  247. package/web-shell/assets/{dagre-3AP2YEHR-9-AHKqsb.js → dagre-3AP2YEHR-Bu0ncdWP.js} +1 -1
  248. package/web-shell/assets/{diagram-S7CK7UJ4-Bjgms7j6.js → diagram-S7CK7UJ4-CsvhFHZC.js} +1 -1
  249. package/web-shell/assets/{diagram-UQ7AKVKN-h6bCprbE.js → diagram-UQ7AKVKN-Ck61sIB3.js} +1 -1
  250. package/web-shell/assets/{diagram-VSXAHHWV-4SbQXVLt.js → diagram-VSXAHHWV-D0171zrb.js} +1 -1
  251. package/web-shell/assets/{diagram-VX7I27RA-B5gPCzzB.js → diagram-VX7I27RA-DvdxY4UL.js} +1 -1
  252. package/web-shell/assets/{diagram-Z3DM3KII-DFJXIA3A.js → diagram-Z3DM3KII-CGGpseiB.js} +1 -1
  253. package/web-shell/assets/{ebnfDiagram-PWID7BFC-FwyaU7VY.js → ebnfDiagram-PWID7BFC-K8-QMvY8.js} +1 -1
  254. package/web-shell/assets/{erDiagram-SSCWMZ5O-8vJQh2te.js → erDiagram-SSCWMZ5O-D316nAem.js} +1 -1
  255. package/web-shell/assets/{flowDiagram-A5DVABFB-BzA_1gMN.js → flowDiagram-A5DVABFB-B7siy_mn.js} +1 -1
  256. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-Co-ABbVX.js → ganttDiagram-EL5Y4UJY-BZQDxzTu.js} +1 -1
  257. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-DW_FcyrX.js → gitGraphDiagram-WWUBYQGX-DZynLCSV.js} +1 -1
  258. package/web-shell/assets/{index-BbMXfhNG.js → index-9ie6xLTM.js} +1 -1
  259. package/web-shell/assets/{index-Bu-rZoJ-.js → index-DirkXQEg.js} +488 -474
  260. package/web-shell/assets/index-DzdST_7L.css +36 -0
  261. package/web-shell/assets/{infoDiagram-RXCK75RN-BEgfhUFN.js → infoDiagram-RXCK75RN-B0gr769A.js} +1 -1
  262. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-DCsMxQmc.js → ishikawaDiagram-5VMMS53U-0pQFfjvX.js} +1 -1
  263. package/web-shell/assets/{journeyDiagram-EYS64GPL-DyIEYoHz.js → journeyDiagram-EYS64GPL-DEGtClWb.js} +1 -1
  264. package/web-shell/assets/{kanban-definition-3QL26DDD-CkxjqCNr.js → kanban-definition-3QL26DDD-CnN8gPzw.js} +1 -1
  265. package/web-shell/assets/{layout-BEWc0Al9.js → layout-C_70RhaT.js} +1 -1
  266. package/web-shell/assets/{linear-CNuNxirL.js → linear-BJ2ZLmcq.js} +1 -1
  267. package/web-shell/assets/{mermaid.core-DZBre674.js → mermaid.core-RlY0zPNC.js} +6 -6
  268. package/web-shell/assets/{mindmap-definition-FBJOCRG2-CpafFz_F.js → mindmap-definition-FBJOCRG2-CpVAxTNl.js} +1 -1
  269. package/web-shell/assets/{pegDiagram-XKGWAZYB-DfZqk_dq.js → pegDiagram-XKGWAZYB-DmrSv3hD.js} +1 -1
  270. package/web-shell/assets/{pieDiagram-E7YTZNPT-S0UWXlgC.js → pieDiagram-E7YTZNPT-CJmgp8KJ.js} +1 -1
  271. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-dd37_Ohj.js → quadrantDiagram-AXDQQJYC-UsgOyNco.js} +1 -1
  272. package/web-shell/assets/{railroadDiagram-O6MQD6OU-CH8NJZ7u.js → railroadDiagram-O6MQD6OU-DQ6gMs_W.js} +1 -1
  273. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-CFdqWYih.js → requirementDiagram-EFPCY7ZU-DhqadamF.js} +1 -1
  274. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-CsddcEGD.js → sankeyDiagram-P5KCCOFB-R4WnURaE.js} +1 -1
  275. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-BZ270mGw.js → sequenceDiagram-WJ2MYXX4-D7BwMi_D.js} +1 -1
  276. package/web-shell/assets/{sizeCapture-X5ZJPWSS-CGaS4DBV.js → sizeCapture-X5ZJPWSS-Bqngz088.js} +1 -1
  277. package/web-shell/assets/{stateDiagram-HBIQ2CUA-COpIzMu6.js → stateDiagram-HBIQ2CUA-DwaXPGqn.js} +1 -1
  278. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-8GCQZAvv.js +1 -0
  279. package/web-shell/assets/{swimlanes-XN3QIQJK-CMF889m3.js → swimlanes-XN3QIQJK-BsaLeRDY.js} +1 -1
  280. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BoRBF2Yw.js +8 -0
  281. package/web-shell/assets/{timeline-definition-24CTP7MA-BelnxYz5.js → timeline-definition-24CTP7MA-NJ9G-NUU.js} +1 -1
  282. package/web-shell/assets/{vennDiagram-4TSXK5OY-CU-NRqIB.js → vennDiagram-4TSXK5OY-Ca3W4rSq.js} +1 -1
  283. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-CDNKqWh-.js → wardleyDiagram-VM6X3IG4-OabvjC-6.js} +1 -1
  284. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-CLqguL5D.js → xychartDiagram-S5SC5T6Z-C7rbjvpc.js} +1 -1
  285. package/web-shell/index.html +2 -2
  286. package/chunks/chunk-6YEOCHSE.js +0 -142
  287. package/chunks/chunk-X35VIWWJ.js +0 -276
  288. package/web-shell/assets/channel-uMMdTrYk.js +0 -1
  289. package/web-shell/assets/classDiagram-DTDB5LWJ-DcY-26Ig.js +0 -1
  290. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DcY-26Ig.js +0 -1
  291. package/web-shell/assets/index-CsPwZ1ut.css +0 -36
  292. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-D6qEVAji.js +0 -1
  293. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-mem5Jj4m.js +0 -8
@@ -3,10 +3,10 @@
3
3
  import {
4
4
  getPlugin,
5
5
  supportedTypes
6
- } from "./chunk-UHUT4IDM.js";
6
+ } from "./chunk-7IDZFJAV.js";
7
7
  import {
8
8
  resolveChannelCwd
9
- } from "./chunk-3BTHHXXE.js";
9
+ } from "./chunk-AUTUFD5X.js";
10
10
  import {
11
11
  isInternalSecretEnvVar
12
12
  } from "./chunk-65I7S4Z3.js";
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  RipgrepRuntimeRecoveryEvent,
11
11
  logRipgrepRuntimeRecovery
12
- } from "./chunk-6QV7Z74P.js";
12
+ } from "./chunk-FRS3P7MQ.js";
13
13
  import {
14
14
  DEFAULT_FILE_FILTERING_OPTIONS,
15
15
  QwenIgnoreParser,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getGlobalQwenDir
5
- } from "./chunk-XVTCSVBK.js";
5
+ } from "./chunk-WDVV3LRM.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  CHANNEL_CONTROL_DEFAULT_TIMEOUT_MS
5
- } from "./chunk-5HBA2Z7V.js";
5
+ } from "./chunk-TGNNLRC3.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -3409,6 +3409,7 @@ var DaemonClient = class {
3409
3409
  ),
3410
3410
  body: JSON.stringify({
3411
3411
  mode,
3412
+ ...opts?.planMode !== void 0 ? { planMode: opts.planMode } : {},
3412
3413
  ...opts?.persist === true ? { persist: true } : {}
3413
3414
  })
3414
3415
  },
@@ -7503,6 +7504,7 @@ function createDaemonSessionViewState(seed = {}) {
7503
7504
  lastWorkspaceMutation: seed.lastWorkspaceMutation,
7504
7505
  lastWorkspaceMutationType: seed.lastWorkspaceMutationType,
7505
7506
  approvalMode: seed.approvalMode,
7507
+ planExecutionMode: seed.planExecutionMode,
7506
7508
  approvalModeChangedCount: seed.approvalModeChangedCount ?? 0,
7507
7509
  lastApprovalModeChange: seed.lastApprovalModeChange,
7508
7510
  toolToggleCount: seed.toolToggleCount ?? 0,
@@ -7887,6 +7889,7 @@ function reduceDaemonSessionEvent(state, rawEvent) {
7887
7889
  return {
7888
7890
  ...base,
7889
7891
  approvalMode: event.data.next,
7892
+ planExecutionMode: event.data.next === "plan" ? event.data.planExecutionMode : void 0,
7890
7893
  approvalModeChangedCount: base.approvalModeChangedCount + 1,
7891
7894
  lastApprovalModeChange: mergeOriginator(event.data, event)
7892
7895
  };
@@ -7961,7 +7964,10 @@ function reduceDaemonSessionEvent(state, rawEvent) {
7961
7964
  ...base,
7962
7965
  sessionId: event.data.sessionId,
7963
7966
  ...event.data.currentModelId != null ? { currentModelId: event.data.currentModelId } : {},
7964
- ...event.data.currentApprovalMode != null ? { approvalMode: event.data.currentApprovalMode } : {},
7967
+ ...event.data.currentApprovalMode != null ? {
7968
+ approvalMode: event.data.currentApprovalMode,
7969
+ planExecutionMode: event.data.currentApprovalMode === "plan" ? event.data.planExecutionMode : void 0
7970
+ } : {},
7965
7971
  ...event.data.recordingDegraded !== void 0 ? { recordingDegraded: event.data.recordingDegraded } : {}
7966
7972
  };
7967
7973
  case "session_recording_degraded":
@@ -8315,7 +8321,7 @@ function mergeOriginator(data, event) {
8315
8321
  }
8316
8322
  __name(mergeOriginator, "mergeOriginator");
8317
8323
  function isApprovalModeChangedData(value) {
8318
- return isRecord(value) && isNonEmptyString(value["sessionId"]) && isNonEmptyString(value["previous"]) && isNonEmptyString(value["next"]) && typeof value["persisted"] === "boolean";
8324
+ return isRecord(value) && isNonEmptyString(value["sessionId"]) && isNonEmptyString(value["previous"]) && isNonEmptyString(value["next"]) && (value["planExecutionMode"] === void 0 || isNonEmptyString(value["planExecutionMode"])) && typeof value["persisted"] === "boolean";
8319
8325
  }
8320
8326
  __name(isApprovalModeChangedData, "isApprovalModeChangedData");
8321
8327
  function isToolToggledData(value) {
@@ -8499,7 +8505,7 @@ function isSessionSnapshotData(value) {
8499
8505
  const model = value["currentModelId"];
8500
8506
  const mode = value["currentApprovalMode"];
8501
8507
  const recordingDegraded = value["recordingDegraded"];
8502
- return (model === null || typeof model === "string") && (mode === null || typeof mode === "string") && (recordingDegraded === void 0 || typeof recordingDegraded === "boolean");
8508
+ return (model === null || typeof model === "string") && (mode === null || typeof mode === "string") && (value["planExecutionMode"] === void 0 || isNonEmptyString(value["planExecutionMode"])) && (recordingDegraded === void 0 || typeof recordingDegraded === "boolean");
8503
8509
  }
8504
8510
  __name(isSessionSnapshotData, "isSessionSnapshotData");
8505
8511
  function isSessionRecordingDegradedData(value) {
@@ -8792,7 +8798,7 @@ var bidiControlPattern = /[\u200e\u200f\u202a-\u202e\u2066-\u2069]/g;
8792
8798
 
8793
8799
  // packages/sdk-typescript/src/daemon/ui/toolPreview.ts
8794
8800
  var MAX_TOOL_PREVIEW_DEPTH = 8;
8795
- var MAX_TODO_PREVIEW_ENTRIES = 1e3;
8801
+ var MAX_TOOL_PREVIEW_ENTRIES = 1e3;
8796
8802
  var MAX_TOOL_RESULT_PREVIEW_LENGTH = 1e5;
8797
8803
  var MAX_TODO_ID_LENGTH = 512;
8798
8804
  function createDaemonToolPreview(input, opts = {}, depth = 0) {
@@ -8860,6 +8866,27 @@ function createDaemonToolPreview(input, opts = {}, depth = 0) {
8860
8866
  }
8861
8867
  __name(createDaemonToolPreview, "createDaemonToolPreview");
8862
8868
  function createDaemonToolResultPreview(output, content, opts = {}) {
8869
+ if (isRecord2(output) && output["type"] === "ask_user_question_answers" && typeof output["text"] === "string") {
8870
+ const text = output["text"];
8871
+ const fallback = createDaemonToolResultTextPreview(text);
8872
+ const entries = output["answers"];
8873
+ if (!Array.isArray(entries) || entries.length > MAX_TOOL_PREVIEW_ENTRIES) {
8874
+ return fallback;
8875
+ }
8876
+ let remaining = MAX_TOOL_RESULT_PREVIEW_LENGTH - text.length;
8877
+ const answers = [];
8878
+ for (const entry of entries) {
8879
+ if (!isRecord2(entry) || typeof entry["question"] !== "string" || typeof entry["answer"] !== "string") {
8880
+ return fallback;
8881
+ }
8882
+ const question = entry["question"];
8883
+ const answer = entry["answer"];
8884
+ remaining -= question.length + answer.length;
8885
+ if (remaining < 0) return fallback;
8886
+ answers.push({ question, answer });
8887
+ }
8888
+ return remaining >= 0 ? { kind: "question_answers", text, answers } : fallback;
8889
+ }
8863
8890
  const todoList = detectTodoList(output, opts, false);
8864
8891
  if (todoList) return todoList;
8865
8892
  return createDaemonToolResultTextPreview(
@@ -8878,7 +8905,7 @@ function detectTodoList(input, opts, includeLegacySummary) {
8878
8905
  if (!entries || toolName !== "todo_write" && toolName !== "todowrite") {
8879
8906
  return void 0;
8880
8907
  }
8881
- const retainedEntries = entries.slice(0, MAX_TODO_PREVIEW_ENTRIES);
8908
+ const retainedEntries = entries.slice(0, MAX_TOOL_PREVIEW_ENTRIES);
8882
8909
  const authoredIds = /* @__PURE__ */ new Set();
8883
8910
  for (const entry of retainedEntries) {
8884
8911
  if (!isRecord2(entry)) continue;
@@ -8891,9 +8918,9 @@ function detectTodoList(input, opts, includeLegacySummary) {
8891
8918
  }
8892
8919
  const normalized = [];
8893
8920
  const usedIds = /* @__PURE__ */ new Set();
8894
- let truncated = entries.length > MAX_TODO_PREVIEW_ENTRIES;
8921
+ let truncated = entries.length > MAX_TOOL_PREVIEW_ENTRIES;
8895
8922
  let remainingText = MAX_TOOL_RESULT_PREVIEW_LENGTH;
8896
- let remainingDependencyInputs = MAX_TODO_PREVIEW_ENTRIES;
8923
+ let remainingDependencyInputs = MAX_TOOL_PREVIEW_ENTRIES;
8897
8924
  retainedEntries.forEach((entry, index) => {
8898
8925
  if (!isRecord2(entry)) {
8899
8926
  truncated = true;
@@ -10111,6 +10138,7 @@ function normalizeToolUpdate(update, base) {
10111
10138
  text: `Tool update missing toolCallId${title ? ` (${title})` : ""}`
10112
10139
  };
10113
10140
  }
10141
+ const subagentSessionReady = isRecord2(rawOutput) && typeof rawOutput["subagentSessionReady"] === "boolean" ? rawOutput["subagentSessionReady"] : metadata?.["subagentSessionReady"];
10114
10142
  const { provenance, serverId } = extractToolProvenance(update, toolName);
10115
10143
  const rawParentToolCallId = getString2(update, "parentToolCallId") ?? (metadata ? getString2(metadata, "parentToolCallId") : void 0);
10116
10144
  const parentToolCallId = rawParentToolCallId && rawParentToolCallId !== toolCallId ? rawParentToolCallId : void 0;
@@ -10129,6 +10157,7 @@ function normalizeToolUpdate(update, base) {
10129
10157
  ...serverId ? { serverId } : {},
10130
10158
  ...parentToolCallId ? { parentToolCallId } : {},
10131
10159
  ...subagentType ? { subagentType } : {},
10160
+ ...typeof subagentSessionReady === "boolean" ? { subagentSessionReady } : {},
10132
10161
  ...rawInput !== void 0 ? { rawInput } : {},
10133
10162
  ...rawOutput !== void 0 ? { rawOutput } : {},
10134
10163
  ...resultPreview ? { resultPreview } : {},
@@ -11478,6 +11507,9 @@ function upsertToolBlock(state, event) {
11478
11507
  const bytesBefore = retainedBefore ? estimateBlockBytes(retainedBefore) : 0;
11479
11508
  const existing = getWritableBlockById(state, existingId);
11480
11509
  if (existing?.kind === "tool") {
11510
+ if (event.subagentSessionReady !== void 0) {
11511
+ existing.subagentSessionReady = existing.subagentSessionReady === true || event.subagentSessionReady;
11512
+ }
11481
11513
  if (event.title !== void 0) existing.title = event.title;
11482
11514
  if (event.status !== void 0) existing.status = event.status;
11483
11515
  if (event.rawInput !== void 0) {
@@ -11586,6 +11618,7 @@ function upsertToolBlock(state, event) {
11586
11618
  }),
11587
11619
  ...resultPreview ? { resultPreview } : {},
11588
11620
  ...isBackgroundToolOutput(rawOutput) ? { background: true } : {},
11621
+ ...event.subagentSessionReady !== void 0 ? { subagentSessionReady: event.subagentSessionReady } : {},
11589
11622
  clientReceivedAt: state.now,
11590
11623
  createdAt: state.now,
11591
11624
  updatedAt: state.now,
@@ -11660,6 +11693,7 @@ function compactTaskExecutionOutput(rawOutput, retainSubagentBlocks) {
11660
11693
  "taskDescription",
11661
11694
  "status",
11662
11695
  "executionMode",
11696
+ "subagentSessionReady",
11663
11697
  "terminateReason",
11664
11698
  "tokenCount",
11665
11699
  "executionSummary",
@@ -28,7 +28,7 @@ import {
28
28
  createWorkerDiagnosticRedactor,
29
29
  normalizeWorkerDiagnostic,
30
30
  sanitizeWorkerDiagnostic
31
- } from "./chunk-GM44O6F7.js";
31
+ } from "./chunk-DARWOZY6.js";
32
32
  import {
33
33
  CHANNEL_DAEMON_WORKER_SENTINEL,
34
34
  CHANNEL_WORKER_HEARTBEAT_INTERVAL_MS,
@@ -50,14 +50,14 @@ import {
50
50
  import {
51
51
  EXTERNAL_TOOL_GUARD_TOKEN_ENV
52
52
  } from "./chunk-3VUENPWF.js";
53
- import {
54
- sanitizeLogText
55
- } from "./chunk-XVTCSVBK.js";
56
53
  import {
57
54
  CHANNEL_WORKER_KILL_GRACE_MS,
58
55
  CHANNEL_WORKER_STARTUP_TIMEOUT_MS,
59
56
  CHANNEL_WORKER_STOP_GRACE_MS
60
- } from "./chunk-5HBA2Z7V.js";
57
+ } from "./chunk-TGNNLRC3.js";
58
+ import {
59
+ sanitizeLogText
60
+ } from "./chunk-WDVV3LRM.js";
61
61
  import {
62
62
  init_esbuild_shims
63
63
  } from "./chunk-5O2XNYP6.js";
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-3VWPPK5Q.js";
5
+ } from "./chunk-PWR6BQ3U.js";
6
6
  import {
7
7
  observeHeadlessJsonToolResultWire
8
- } from "./chunk-TWWS7XUW.js";
8
+ } from "./chunk-HWLLUDIA.js";
9
9
  import {
10
10
  init_esbuild_shims
11
11
  } from "./chunk-5O2XNYP6.js";
@@ -20,12 +20,12 @@ import {
20
20
  detectLineEnding,
21
21
  getDiffStat,
22
22
  needsUtf8Bom
23
- } from "./chunk-PDUMGZ2P.js";
23
+ } from "./chunk-BDAVT6K2.js";
24
24
  import {
25
25
  FileOperationEvent,
26
26
  getLanguageFromFilePath,
27
27
  logFileOperation
28
- } from "./chunk-6QV7Z74P.js";
28
+ } from "./chunk-FRS3P7MQ.js";
29
29
  import {
30
30
  fileExists,
31
31
  getSpecificMimeType
@@ -6,8 +6,8 @@ import {
6
6
 
7
7
  // packages/cli/src/generated/git-commit.ts
8
8
  init_esbuild_shims();
9
- var GIT_COMMIT_INFO = "d9331e6fcf";
10
- var CLI_VERSION = "0.23.1";
9
+ var GIT_COMMIT_INFO = "44e2b2ed25";
10
+ var CLI_VERSION = "0.23.2-nightly.20260909.2e212144d3";
11
11
 
12
12
  export {
13
13
  GIT_COMMIT_INFO,
@@ -12,10 +12,10 @@ import {
12
12
  DEFAULT_TRUNCATE_TOOL_OUTPUT_LINES,
13
13
  DEFAULT_TRUNCATE_TOOL_OUTPUT_THRESHOLD,
14
14
  GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP
15
- } from "./chunk-PDUMGZ2P.js";
15
+ } from "./chunk-BDAVT6K2.js";
16
16
  import {
17
17
  REASONING_EFFORT_TIERS
18
- } from "./chunk-6YEOCHSE.js";
18
+ } from "./chunk-F3M6P6IQ.js";
19
19
  import {
20
20
  DEFAULT_SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH,
21
21
  SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT
@@ -973,7 +973,7 @@ var SETTINGS_SCHEMA = {
973
973
  label: "Screen Reader Mode",
974
974
  category: "UI",
975
975
  requiresRestart: true,
976
- default: void 0,
976
+ default: false,
977
977
  description: "Render output in plain-text to be more screen reader accessible",
978
978
  showInDialog: false
979
979
  }
@@ -1419,7 +1419,7 @@ var SETTINGS_SCHEMA = {
1419
1419
  default: void 0,
1420
1420
  minimum: 1,
1421
1421
  maximum: GOAL_CHECKPOINT_TIMEOUT_SECONDS_CAP,
1422
- description: "Ceiling on one Goal evidence-checkpoint call, in seconds. A long Goal periodically compresses its evidence into checkpoint claims with a side model call; a call that does not finish in time is abandoned as an inconclusive check \u2014 the checkpoint stall streak is preserved rather than incremented \u2014 and a later turn retries it. Unset uses the built-in default of 180. Must be an integer between 1 and 900; other values are rejected at startup. The call is streamed, so the per-request transport timeout (model.generationConfig.timeout, default 120 s) bounds only connect and first response, and values above 900 are rejected because past the default stream lifetime guard that guard, not this setting, ends the call. The 900 ceiling is fixed: raising QWEN_STREAM_MAX_LIFETIME_MS does not lift it.",
1422
+ description: "Ceiling on one Goal evidence-checkpoint check, in seconds. A long Goal periodically compresses its evidence into checkpoint claims with a side model call. A check whose claims overrun the aggregate byte budget, or include a claim over the per-claim character limit, makes one corrective retry, and both calls share this ceiling. A check that does not finish in time is abandoned as inconclusive; it counts toward the checkpoint stall limit only when the evidence window has overflowed, while a non-overflowing check preserves the streak and retries on a later turn. Unset uses the built-in default of 180. Must be an integer between 1 and 900; other values are rejected at startup. The calls are streamed, so the per-request transport timeout (model.generationConfig.timeout, default 120 s) bounds only connect and first response, and values above 900 are rejected because past the default stream lifetime guard that guard, not this setting, ends the check. The 900 ceiling is fixed: raising QWEN_STREAM_MAX_LIFETIME_MS does not lift it.",
1423
1423
  showInDialog: false
1424
1424
  },
1425
1425
  maxToolCalls: {
@@ -2291,7 +2291,7 @@ var SETTINGS_SCHEMA = {
2291
2291
  category: "Tools",
2292
2292
  requiresRestart: true,
2293
2293
  default: {},
2294
- description: "Settings for the built-in WebSearch tool (DashScope Responses API backend). Opt-in: requires enabled=true and a search model. Fully env-configurable for environments without settings.json: ENABLE_WEB_SEARCH, WEB_SEARCH_MODEL, WEB_SEARCH_BASE_URL, WEB_SEARCH_API_KEY (falls back to DASHSCOPE_API_KEY), WEB_SEARCH_EXTRACTOR. Note: baseUrl and API key are env-only (WEB_SEARCH_BASE_URL / WEB_SEARCH_API_KEY) and cannot be set in settings.json.",
2294
+ description: "Settings for the built-in WebSearch tool (DashScope Responses API backend). On by default at startup for Alibaba ModelStudio Standard API Key / Token Plan and OpenAI-compatible entries on recognized DashScope Responses hosts with a direct key; set enabled=false to turn it off. Which providers can activate the tool is decided at startup; once active, the search backend follows the currently selected model on the next search. Fully env-configurable for environments without settings.json: ENABLE_WEB_SEARCH, WEB_SEARCH_MODEL, WEB_SEARCH_BASE_URL, WEB_SEARCH_API_KEY (falls back to DASHSCOPE_API_KEY), WEB_SEARCH_EXTRACTOR. Note: baseUrl and API key are env-only (WEB_SEARCH_BASE_URL / WEB_SEARCH_API_KEY) and cannot be set in settings.json.",
2295
2295
  showInDialog: false,
2296
2296
  properties: {
2297
2297
  enabled: {
@@ -2299,8 +2299,8 @@ var SETTINGS_SCHEMA = {
2299
2299
  label: "Enable WebSearch",
2300
2300
  category: "Tools",
2301
2301
  requiresRestart: true,
2302
- default: false,
2303
- description: "Enable the built-in web_search tool. Also requires tools.webSearch.model. Env override: ENABLE_WEB_SEARCH.",
2302
+ default: void 0,
2303
+ description: "Set false to disable the built-in web_search tool. Automatic startup activation requires leaving enabled, model, and the env-only backend unset. Setting true permits automatic derivation only when the env-only backend is also unset; otherwise a model is required. Env override: ENABLE_WEB_SEARCH.",
2304
2304
  showInDialog: true
2305
2305
  },
2306
2306
  model: {
@@ -2309,7 +2309,7 @@ var SETTINGS_SCHEMA = {
2309
2309
  category: "Tools",
2310
2310
  requiresRestart: true,
2311
2311
  default: void 0,
2312
- description: 'Model selector for the search side request, resolved against modelProviders like fastModel ("modelId" or "authType:modelId"). Must resolve to a DashScope-compatible entry with an envKey. Recommended: qwen3.6-plus. Env override: WEB_SEARCH_MODEL.',
2312
+ description: 'Model selector for the explicit search path ("modelId" or "authType:modelId"). With WEB_SEARCH_BASE_URL it is the plain model id for that endpoint; otherwise it must match a DashScope-compatible modelProviders entry with an envKey. The automatic path uses qwen3.6-plus. Env override: WEB_SEARCH_MODEL.',
2313
2313
  showInDialog: true
2314
2314
  },
2315
2315
  webExtractor: {
@@ -2787,7 +2787,7 @@ var SETTINGS_SCHEMA = {
2787
2787
  label: "Use External Auth",
2788
2788
  category: "Security",
2789
2789
  requiresRestart: true,
2790
- default: void 0,
2790
+ default: false,
2791
2791
  description: "Whether to use an external authentication flow.",
2792
2792
  showInDialog: false
2793
2793
  },
@@ -11,11 +11,11 @@ import {
11
11
  } from "./chunk-HWVUSYSN.js";
12
12
  import {
13
13
  loadSettings
14
- } from "./chunk-66JBCTJF.js";
14
+ } from "./chunk-Y7YHAY32.js";
15
15
  import {
16
16
  SkillManager,
17
17
  isSafeModeEnv
18
- } from "./chunk-PDUMGZ2P.js";
18
+ } from "./chunk-BDAVT6K2.js";
19
19
  import {
20
20
  writeStderrLine
21
21
  } from "./chunk-7FA2II6K.js";
@@ -2,11 +2,17 @@
2
2
  "use strict";
3
3
  import {
4
4
  ACP_ROUTE_ID_PREFIX
5
- } from "./chunk-ARYNBBBM.js";
5
+ } from "./chunk-6GAYNM3F.js";
6
+ import {
7
+ isOpenRouterHostname
8
+ } from "./chunk-HSO6D4KX.js";
6
9
  import {
7
10
  REASONING_EFFORT_TIERS,
11
+ clampReasoningEffort,
12
+ getGptReasoningCapabilities,
13
+ isReasoningEffortPlaceholder,
8
14
  parseModelReasoningCapabilities
9
- } from "./chunk-6YEOCHSE.js";
15
+ } from "./chunk-F3M6P6IQ.js";
10
16
  import {
11
17
  init_esbuild_shims
12
18
  } from "./chunk-5O2XNYP6.js";
@@ -66,8 +72,76 @@ var REASONING_EFFORT_NAMES = {
66
72
  xhigh: "Extra high",
67
73
  max: "Max"
68
74
  };
75
+ function getDefaultReasoningConfig(config, settings) {
76
+ const authType = config.getAuthType?.();
77
+ const model = authType && !config.getActiveRuntimeModelSnapshot?.() ? config.getResolvedModelConfig?.(
78
+ authType,
79
+ config.getModel(),
80
+ config.getCurrentModelRegistryBaseUrl?.() ?? void 0
81
+ ) : void 0;
82
+ if (model) return model.generationConfig.reasoning;
83
+ return settings.merged.model?.generationConfig?.reasoning;
84
+ }
85
+ __name(getDefaultReasoningConfig, "getDefaultReasoningConfig");
86
+ function getGptReasoningOverrideState(generation, configuredReasoning) {
87
+ const capabilities = getGptReasoningCapabilities(generation.model);
88
+ if (!capabilities || generation.reasoning === false) return void 0;
89
+ const reasoning = getModelConfiguration(
90
+ generation.model,
91
+ configuredReasoning
92
+ )?.reasoning;
93
+ const defaultEnabled = !reasoning || reasoning.toggleOnly || reasoning.defaultEnabled !== false;
94
+ const efforts = reasoning && !reasoning.toggleOnly ? reasoning.efforts : capabilities.efforts;
95
+ const raw = { ...generation.samplingParams, ...generation.extra_body };
96
+ const flat = raw["reasoning_effort"];
97
+ const nested = raw["reasoning"];
98
+ const openRouter = isOpenRouterHostname(generation);
99
+ const removedFlatNone = (generation.thinkingMandatory === true || reasoning?.canDisable === false || capabilities.thinkingMandatory) && flat === REASONING_EFFORT_NONE;
100
+ if (!openRouter && !isReasoningEffortPlaceholder(flat) && !removedFlatNone) {
101
+ const effort2 = efforts.find((tier) => tier === flat);
102
+ return {
103
+ enabled: flat !== REASONING_EFFORT_NONE,
104
+ ...effort2 ? { effort: effort2 } : {},
105
+ useDefaultEffort: effort2 === void 0,
106
+ blocksTierChange: true
107
+ };
108
+ }
109
+ if (nested === void 0) {
110
+ const suppressedConfiguredTier = openRouter ? !parseModelReasoningCapabilities(configuredReasoning) && !isReasoningEffortPlaceholder(
111
+ generation.samplingParams?.["reasoning_effort"]
112
+ ) && !isReasoningEffortPlaceholder(flat) : removedFlatNone;
113
+ const effort2 = removedFlatNone ? void 0 : efforts.find((tier) => tier === flat);
114
+ return suppressedConfiguredTier ? {
115
+ enabled: removedFlatNone ? defaultEnabled : flat !== REASONING_EFFORT_NONE,
116
+ ...effort2 ? { effort: effort2 } : {},
117
+ useDefaultEffort: effort2 === void 0,
118
+ blocksTierChange: true
119
+ } : void 0;
120
+ }
121
+ if (!openRouter || nested === null) {
122
+ return {
123
+ enabled: defaultEnabled,
124
+ useDefaultEffort: true,
125
+ blocksTierChange: true
126
+ };
127
+ }
128
+ const effort = nested === false ? void 0 : efforts.find((tier) => tier === nested.effort);
129
+ const enabled = nested === false || nested.enabled === false || nested.effort === REASONING_EFFORT_NONE ? false : nested.enabled === true || typeof nested.effort === "string" && nested.effort.length > 0 || (nested.max_tokens ?? 0) > 0 ? true : defaultEnabled;
130
+ return {
131
+ enabled,
132
+ ...effort ? { effort } : {},
133
+ useDefaultEffort: effort === void 0,
134
+ blocksTierChange: true
135
+ };
136
+ }
137
+ __name(getGptReasoningOverrideState, "getGptReasoningOverrideState");
69
138
  function resolvePersistedReasoningConfigState(modelId, value, thinkingMandatory = false, reasoning) {
70
- const selection = parseReasoningSelection(value);
139
+ const gptReasoning = getGptReasoningCapabilities(modelId);
140
+ thinkingMandatory ||= getModelConfiguration(modelId, reasoning)?.reasoning?.canDisable === false;
141
+ let selection = parseReasoningSelection(value);
142
+ if (gptReasoning && !parseModelReasoningCapabilities(reasoning) && selection && selection !== REASONING_EFFORT_NONE && selection !== REASONING_EFFORT_DEFAULT) {
143
+ selection = clampReasoningEffort(selection, gptReasoning.efforts);
144
+ }
71
145
  if (!selection || selection === REASONING_EFFORT_DEFAULT || !isReasoningSelectionSupported(
72
146
  modelId,
73
147
  selection,
@@ -81,7 +155,18 @@ function resolvePersistedReasoningConfigState(modelId, value, thinkingMandatory
81
155
  __name(resolvePersistedReasoningConfigState, "resolvePersistedReasoningConfigState");
82
156
  function getModelConfiguration(modelId, reasoning) {
83
157
  const configured = parseModelReasoningCapabilities(reasoning);
84
- return configured ? { reasoning: configured } : modelId ? MODEL_CONFIGURATIONS[modelId] : void 0;
158
+ const gpt = getGptReasoningCapabilities(modelId);
159
+ return configured ? {
160
+ reasoning: gpt?.thinkingMandatory ? { ...configured, canDisable: false } : configured
161
+ } : gpt ? {
162
+ reasoning: {
163
+ thinking: true,
164
+ efforts: gpt.efforts,
165
+ defaultEffort: gpt.defaultEffort,
166
+ defaultEnabled: gpt.defaultEnabled,
167
+ ...gpt.thinkingMandatory ? { canDisable: false } : {}
168
+ }
169
+ } : modelId ? MODEL_CONFIGURATIONS[modelId] : void 0;
85
170
  }
86
171
  __name(getModelConfiguration, "getModelConfiguration");
87
172
  function getConfiguredModelReasoning(config, modelId = config.getModel?.(), fallbackToManifest = true) {
@@ -131,6 +216,7 @@ function isReasoningSelectionSupported(modelId, selection, thinkingMandatory = f
131
216
  }
132
217
  __name(isReasoningSelectionSupported, "isReasoningSelectionSupported");
133
218
  function clearReasoningRequestOverrides(generation) {
219
+ if (getGptReasoningCapabilities(generation.model)) return;
134
220
  for (const source of ["extra_body", "samplingParams"]) {
135
221
  const layer = generation[source];
136
222
  if (!layer) continue;
@@ -182,7 +268,9 @@ function buildModelReasoningConfigOption(modelId, state = {}, configuredReasonin
182
268
  )?.reasoning;
183
269
  if (!reasoning?.thinking) return void 0;
184
270
  const canDisable = reasoning.canDisable !== false && state.thinkingMandatory !== true;
185
- const currentValue = state.enabled === false && canDisable ? REASONING_EFFORT_NONE : reasoning.toggleOnly ? REASONING_EFFORT_DEFAULT : reasoning.efforts?.find((effort) => effort === state.effort) ?? reasoning.defaultEffort ?? REASONING_EFFORT_DEFAULT;
271
+ const enabled = state.enabled ?? (state.effort !== void 0 || reasoning.toggleOnly || reasoning.defaultEnabled !== false);
272
+ const effort = state.effort && !reasoning.toggleOnly && getGptReasoningCapabilities(modelId) && !parseModelReasoningCapabilities(configuredReasoning) ? clampReasoningEffort(state.effort, reasoning.efforts) : state.effort;
273
+ const currentValue = !enabled && canDisable ? REASONING_EFFORT_NONE : reasoning.toggleOnly ? REASONING_EFFORT_DEFAULT : reasoning.efforts.find((candidate) => candidate === effort) ?? reasoning.defaultEffort ?? REASONING_EFFORT_DEFAULT;
186
274
  return {
187
275
  id: "reasoning_effort",
188
276
  name: "Reasoning effort",
@@ -212,9 +300,9 @@ function buildModelReasoningConfigOption(modelId, state = {}, configuredReasonin
212
300
  description: "Use the model or provider default"
213
301
  }
214
302
  ],
215
- ...reasoning.efforts.map((effort) => ({
216
- value: effort,
217
- name: REASONING_EFFORT_NAMES[effort],
303
+ ...reasoning.efforts.map((effort2) => ({
304
+ value: effort2,
305
+ name: REASONING_EFFORT_NAMES[effort2],
218
306
  description: "Apply this effort to the next request"
219
307
  }))
220
308
  ]
@@ -222,8 +310,11 @@ function buildModelReasoningConfigOption(modelId, state = {}, configuredReasonin
222
310
  _meta: {
223
311
  "qwenCode/reasoning": reasoning.toggleOnly ? {
224
312
  toggleOnly: true,
313
+ ...state.canEnable === false ? { canEnable: false } : {},
225
314
  ...canDisable ? {} : { thinkingMandatory: true }
226
315
  } : {
316
+ ...state.enableValue ? { enableValue: state.enableValue } : {},
317
+ ...state.canEnable === false ? { canEnable: false } : {},
227
318
  ...reasoning.defaultEffort ? { defaultEffort: reasoning.defaultEffort } : {},
228
319
  ...canDisable ? {} : { thinkingMandatory: true }
229
320
  }
@@ -231,15 +322,37 @@ function buildModelReasoningConfigOption(modelId, state = {}, configuredReasonin
231
322
  };
232
323
  }
233
324
  __name(buildModelReasoningConfigOption, "buildModelReasoningConfigOption");
234
- function buildModelReasoningConfigPreview(modelId, state = {}, configuredReasoning) {
325
+ function buildModelReasoningConfigPreview(modelId, state = {}, configuredReasoning, generation) {
235
326
  const reasoning = getModelConfiguration(
236
327
  modelId,
237
328
  configuredReasoning
238
329
  )?.reasoning;
239
330
  if (!reasoning?.thinking) return void 0;
331
+ const effectiveReasoning = state.enabled === false ? false : state.enabled === true ? { effort: state.effort } : generation?.reasoning;
332
+ const override = generation && getGptReasoningOverrideState(
333
+ {
334
+ ...generation,
335
+ reasoning: effectiveReasoning
336
+ },
337
+ configuredReasoning
338
+ );
339
+ const enableOverride = generation && getGptReasoningOverrideState(
340
+ { ...generation, reasoning: void 0 },
341
+ configuredReasoning
342
+ );
240
343
  const option = buildModelReasoningConfigOption(
241
344
  modelId,
242
- state,
345
+ {
346
+ ...state,
347
+ ...override ? {
348
+ enabled: override.enabled,
349
+ effort: override.useDefaultEffort ? void 0 : override.effort
350
+ } : {},
351
+ ...enableOverride?.blocksTierChange ? {
352
+ ...effectiveReasoning === false ? { enabled: false } : {},
353
+ ...enableOverride.enabled && generation?.reasoning !== false ? { enableValue: REASONING_EFFORT_DEFAULT } : { canEnable: false }
354
+ } : {}
355
+ },
243
356
  configuredReasoning
244
357
  );
245
358
  return option ? [option] : void 0;
@@ -252,6 +365,8 @@ export {
252
365
  PERSIST_REASONING_SELECTION_META_KEY,
253
366
  REASONING_SELECTION_PERSISTED_META_KEY,
254
367
  REASONING_EFFORT_NAMES,
368
+ getDefaultReasoningConfig,
369
+ getGptReasoningOverrideState,
255
370
  resolvePersistedReasoningConfigState,
256
371
  getConfiguredModelReasoning,
257
372
  getReasoningEffortsForConfig,