@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
@@ -4,23 +4,26 @@ import {
4
4
  DASHSCOPE_PROXY_BASE_URL,
5
5
  DEFAULT_DASHSCOPE_BASE_URL,
6
6
  DEFAULT_MAX_RETRIES,
7
- REASONING_EFFORT_TIERS,
8
- clampReasoningEffort,
9
7
  resolveRequestTimeout
10
- } from "./chunk-6YEOCHSE.js";
8
+ } from "./chunk-AXMWHKXA.js";
11
9
  import {
12
10
  buildSessionAwareFetch
13
11
  } from "./chunk-NOO4QFXM.js";
14
12
  import {
15
13
  isQwenFamilyWireModel,
16
14
  isTieredEffortWireModel
17
- } from "./chunk-XBVNNDPK.js";
15
+ } from "./chunk-GSYD7MYP.js";
18
16
  import {
17
+ REASONING_EFFORT_TIERS,
18
+ clampReasoningEffort,
19
19
  defaultOutputCeiling,
20
+ getGptReasoningCapabilities,
20
21
  hasExplicitOutputLimit,
22
+ isReasoningEffortPlaceholder,
23
+ parseModelReasoningCapabilities,
21
24
  parsePositiveIntegerEnvValue,
22
25
  tokenLimit
23
- } from "./chunk-FPGTNKCP.js";
26
+ } from "./chunk-F3M6P6IQ.js";
24
27
  import {
25
28
  buildRuntimeFetchOptions
26
29
  } from "./chunk-4HOEU2OR.js";
@@ -6886,6 +6889,22 @@ init_esbuild_shims();
6886
6889
 
6887
6890
  // packages/core/src/core/openaiContentGenerator/provider/default.ts
6888
6891
  init_esbuild_shims();
6892
+
6893
+ // packages/core/src/core/openaiContentGenerator/provider/openrouter.ts
6894
+ init_esbuild_shims();
6895
+ function isOpenRouterHostname(contentGeneratorConfig) {
6896
+ const baseUrl = contentGeneratorConfig.baseUrl ?? "";
6897
+ if (!baseUrl) return false;
6898
+ try {
6899
+ const hostname = new URL(baseUrl).hostname.toLowerCase();
6900
+ return hostname === "openrouter.ai" || hostname.endsWith(".openrouter.ai");
6901
+ } catch {
6902
+ return false;
6903
+ }
6904
+ }
6905
+ __name(isOpenRouterHostname, "isOpenRouterHostname");
6906
+
6907
+ // packages/core/src/core/openaiContentGenerator/provider/default.ts
6889
6908
  var debugLogger = createDebugLogger("DefaultOpenAICompatibleProvider");
6890
6909
  var OPENAI_COMPATIBLE_EFFORTS = [
6891
6910
  "low",
@@ -6971,8 +6990,14 @@ var DefaultOpenAICompatibleProvider = class {
6971
6990
  * clamp calls it through `this`, so a subclass answer applies even on the
6972
6991
  * `super.buildRequest` path.
6973
6992
  */
6974
- supportedReasoningEffortsFor(_model) {
6975
- return OPENAI_COMPATIBLE_EFFORTS;
6993
+ supportedReasoningEffortsFor(model) {
6994
+ const gpt = getGptReasoningCapabilities(model);
6995
+ if (!gpt) return OPENAI_COMPATIBLE_EFFORTS;
6996
+ const { authType, baseUrl } = this.contentGeneratorConfig;
6997
+ const configured = authType && model ? parseModelReasoningCapabilities(
6998
+ this.cliConfig.getResolvedModelConfig?.(authType, model, baseUrl)?.capabilities.reasoning
6999
+ ) : void 0;
7000
+ return configured && !configured.toggleOnly ? configured.efforts : gpt.efforts;
6976
7001
  }
6977
7002
  /**
6978
7003
  * Cap the pipeline-injected `reasoning.effort` at what this endpoint accepts.
@@ -6981,8 +7006,8 @@ var DefaultOpenAICompatibleProvider = class {
6981
7006
  * session too.
6982
7007
  *
6983
7008
  * Only the pipeline-injected tier is capped. A `reasoning` object the user
6984
- * put in `samplingParams` ships verbatim (the pipeline hands those keys
6985
- * straight to the wire and skips the injection entirely), and `extra_body`
7009
+ * put in `samplingParams` ships verbatim. Unrelated GPT sampling options
7010
+ * still receive the configured effort and need clamping. `extra_body`
6986
7011
  * merges after this, so both explicit overrides survive unchanged.
6987
7012
  */
6988
7013
  clampConfiguredReasoningEffort(request) {
@@ -7021,11 +7046,25 @@ var DefaultOpenAICompatibleProvider = class {
7021
7046
  this.applyOutputTokenLimit(request)
7022
7047
  );
7023
7048
  const messages = isQwen3Model(request.model) ? requestWithTokenLimits.messages.map(mirrorReasoningContentToReasoning) : requestWithTokenLimits.messages;
7024
- return {
7049
+ const result = {
7025
7050
  ...requestWithTokenLimits,
7026
7051
  messages,
7027
7052
  ...extraBody ? extraBody : {}
7028
7053
  };
7054
+ this.flattenGptReasoningEffort(result);
7055
+ return result;
7056
+ }
7057
+ flattenGptReasoningEffort(body) {
7058
+ if (!getGptReasoningCapabilities(body["model"]) || isOpenRouterHostname(this.contentGeneratorConfig) || this.contentGeneratorConfig.samplingParams?.["reasoning"] !== void 0 || this.contentGeneratorConfig.extra_body?.["reasoning"] !== void 0)
7059
+ return;
7060
+ const reasoning = body["reasoning"];
7061
+ if (typeof reasoning?.effort !== "string" || !reasoning.effort) return;
7062
+ if (isReasoningEffortPlaceholder(body["reasoning_effort"])) {
7063
+ body["reasoning_effort"] = reasoning.effort;
7064
+ }
7065
+ const { effort: _drop, ...rest } = reasoning;
7066
+ if (Object.keys(rest).length > 0) body["reasoning"] = rest;
7067
+ else delete body["reasoning"];
7029
7068
  }
7030
7069
  getDefaultGenerationConfig() {
7031
7070
  return {};
@@ -7109,8 +7148,8 @@ var DASHSCOPE_TIERED_EFFORTS = [
7109
7148
  "high",
7110
7149
  "xhigh"
7111
7150
  ];
7112
- function selectDashScopeThinkingKnob(model, extraBody, samplingParams, reasoningEffort) {
7113
- if (!isTieredEffortWireModel((model ?? "").toLowerCase())) {
7151
+ function selectDashScopeThinkingKnob(model, extraBody, samplingParams, reasoningEffort, tieredModel = isTieredEffortWireModel(model)) {
7152
+ if (!tieredModel) {
7114
7153
  return void 0;
7115
7154
  }
7116
7155
  const selectFromLayer = /* @__PURE__ */ __name((source, layer) => {
@@ -7310,9 +7349,7 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7310
7349
  tools = updatedTools;
7311
7350
  }
7312
7351
  const requestWithTokenLimits = this.applyOutputTokenLimit(request);
7313
- const isTieredQwenModel = isTieredEffortWireModel(
7314
- this.resolveWireModel(request.model)
7315
- );
7352
+ const isTieredQwenModel = this.isTieredEffortModel(request.model);
7316
7353
  const extraBody = isTieredQwenModel ? withoutNullishThinkingKnobs(this.contentGeneratorConfig.extra_body) : this.contentGeneratorConfig.extra_body;
7317
7354
  const qwenEffortConfig = this.buildQwenEffortConfig(request.model);
7318
7355
  const rawRequestParams = requestWithTokenLimits;
@@ -7325,7 +7362,8 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7325
7362
  this.resolveWireModel(request.model),
7326
7363
  extraBody,
7327
7364
  requestParams,
7328
- qwenEffortConfig["reasoning_effort"]
7365
+ qwenEffortConfig["reasoning_effort"],
7366
+ isTieredQwenModel
7329
7367
  ) : void 0;
7330
7368
  if (this.isVisionModel(request.model)) {
7331
7369
  const dashscopeExtras2 = {
@@ -7405,8 +7443,21 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7405
7443
  dropped.add(key);
7406
7444
  }
7407
7445
  this.warnConflictingKnobDrop(model, reasoningEffort, [...dropped]);
7446
+ this.flattenGptReasoningEffort(merged);
7408
7447
  return merged;
7409
7448
  }
7449
+ getConfiguredReasoning(model) {
7450
+ const { authType, baseUrl } = this.contentGeneratorConfig;
7451
+ const wireModel = model ?? this.contentGeneratorConfig.model;
7452
+ const reasoning = authType ? this.cliConfig.getResolvedModelConfig?.(authType, wireModel, baseUrl)?.capabilities.reasoning : void 0;
7453
+ return parseModelReasoningCapabilities(reasoning);
7454
+ }
7455
+ isTieredEffortModel(model) {
7456
+ return isTieredEffortWireModel(
7457
+ model ?? this.contentGeneratorConfig.model,
7458
+ this.getConfiguredReasoning(model)
7459
+ );
7460
+ }
7410
7461
  resolveWireModel(model) {
7411
7462
  return (model ?? this.contentGeneratorConfig.model ?? "").toLowerCase();
7412
7463
  }
@@ -7425,7 +7476,11 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7425
7476
  return {};
7426
7477
  }
7427
7478
  const wireModel = this.resolveWireModel(model);
7428
- if (isTieredEffortWireModel(wireModel)) {
7479
+ if (this.isTieredEffortModel(model)) {
7480
+ const configured = this.getConfiguredReasoning(model);
7481
+ if (configured && !configured.toggleOnly) {
7482
+ return configured.efforts.includes(reasoning.effort) ? { reasoning_effort: reasoning.effort } : {};
7483
+ }
7429
7484
  return { reasoning_effort: this.clampTieredEffort(reasoning.effort) };
7430
7485
  }
7431
7486
  if (isQwenFamilyWireModel(wireModel)) {
@@ -7434,13 +7489,9 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7434
7489
  return {};
7435
7490
  }
7436
7491
  /**
7437
- * Cap a configured tier at what the qwen3.8-max family actually accepts.
7438
- * This family does not take `max`, and the rejection is a 400 on every
7439
- * subsequent request rather than a one-off, so the tier is clamped to the
7440
- * strongest supported tier and reported once. Only the
7441
- * configured `reasoning.effort` passes through here: an explicit
7442
- * `extra_body` / `samplingParams` `reasoning_effort` is a documented
7443
- * verbatim override and is merged after this, so it still ships unchanged.
7492
+ * Preserve the legacy clamp for a route without an explicit capability.
7493
+ * Only the unified reasoning.effort preference reaches this fallback;
7494
+ * extra_body and samplingParams remain verbatim provider overrides.
7444
7495
  */
7445
7496
  clampTieredEffort(effort) {
7446
7497
  const clamped = clampReasoningEffort(effort, DASHSCOPE_TIERED_EFFORTS);
@@ -7481,7 +7532,7 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7481
7532
  if (!isQwenFamilyWireModel(wireModel)) {
7482
7533
  return [];
7483
7534
  }
7484
- const isTieredEffortModel = isTieredEffortWireModel(wireModel);
7535
+ const isTieredEffortModel = this.isTieredEffortModel(model);
7485
7536
  if (isTieredEffortModel && selectedThinkingKnob?.field === "enable_thinking" && selectedThinkingKnob.value === false) {
7486
7537
  merged["reasoning_effort"] = "none";
7487
7538
  const dropped = ["enable_thinking"];
@@ -7719,8 +7770,14 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7719
7770
 
7720
7771
  export {
7721
7772
  OpenAI,
7773
+ isOpenRouterHostname,
7722
7774
  DefaultOpenAICompatibleProvider,
7723
7775
  selectDashScopeThinkingKnob,
7724
7776
  DASHSCOPE_REGIONAL_HOSTS,
7725
7777
  DashScopeOpenAICompatibleProvider
7726
7778
  };
7779
+ /**
7780
+ * @license
7781
+ * Copyright 2025 Qwen
7782
+ * SPDX-License-Identifier: Apache-2.0
7783
+ */
@@ -2,22 +2,22 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-DXQ6Z7AH.js";
5
+ } from "./chunk-3O77M472.js";
6
6
  import {
7
7
  CUSTOM_SANDBOX_IMAGE_ENV_VAR,
8
8
  HOST_UPDATE_RELAUNCH_ENV_VAR,
9
9
  SKIP_UPDATE_CHECK_ENV_VAR,
10
10
  requestUpdateOnExit
11
- } from "./chunk-RXT4QBDX.js";
11
+ } from "./chunk-5WBA3DEF.js";
12
12
  import {
13
13
  loadUndici
14
14
  } from "./chunk-TXASDT2M.js";
15
15
  import {
16
16
  getAllProviderBaseUrls
17
- } from "./chunk-ZU2T5JIS.js";
17
+ } from "./chunk-PLEBBGHL.js";
18
18
  import {
19
19
  IdeClient
20
- } from "./chunk-PDUMGZ2P.js";
20
+ } from "./chunk-BDAVT6K2.js";
21
21
  import {
22
22
  detectRuntime,
23
23
  getOrCreateSharedDispatcher,
@@ -233,11 +233,11 @@ function startPostRenderPrefetches(config, settings, options = {}) {
233
233
  { updateEventEmitter },
234
234
  { t }
235
235
  ] = await Promise.all([
236
- import("./updateCheck-WAVFLWNG.js"),
237
- import("./handleAutoUpdate-2FUNJO3B.js"),
238
- import("./installationInfo-232RA2OK.js"),
236
+ import("./updateCheck-ARTHAJT2.js"),
237
+ import("./handleAutoUpdate-JDZHHZKK.js"),
238
+ import("./installationInfo-QEQEPB3G.js"),
239
239
  import("./updateEventEmitter-5MKC7BLQ.js"),
240
- import("./i18n-FDIA6KFI.js")
240
+ import("./i18n-LA4D5IXM.js")
241
241
  ]);
242
242
  const updateCheckSkippedMessage = /* @__PURE__ */ __name((error) => t("Update check skipped ({{reason}}) \u2014 run /update to retry.", {
243
243
  reason: describeUpdateCheckFailure(error)
@@ -310,7 +310,7 @@ ${t(
310
310
  state: "connecting"
311
311
  });
312
312
  try {
313
- const { connectIdeForStartup } = await import("./initializer-4MJTJOTW.js");
313
+ const { connectIdeForStartup } = await import("./initializer-SHPTSWUZ.js");
314
314
  await withTimeout(
315
315
  connectIdeForStartup(config),
316
316
  "ide_connect",
@@ -334,7 +334,7 @@ ${t(
334
334
  }
335
335
  if (config.isInteractive()) {
336
336
  runDeferredTask("background_housekeeping", async () => {
337
- const { startBackgroundHousekeeping } = await import("./scheduler-J44M72VM.js");
337
+ const { startBackgroundHousekeeping } = await import("./scheduler-ERMW7Q7B.js");
338
338
  startBackgroundHousekeeping(config, settings);
339
339
  });
340
340
  }
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  useKeypress
5
- } from "./chunk-WQMUGQ6G.js";
5
+ } from "./chunk-VR6Y23FW.js";
6
6
  import {
7
7
  require_react
8
8
  } from "./chunk-5QWWOFGG.js";
@@ -18,14 +18,14 @@ import {
18
18
  finalizeOfflineDaemonTranscriptState,
19
19
  normalizeDaemonEvent,
20
20
  reduceDaemonTranscriptEvents
21
- } from "./chunk-5WC2ECUK.js";
21
+ } from "./chunk-KECCLCXM.js";
22
22
  import {
23
23
  LOAD_REPLAY_META_KEY
24
24
  } from "./chunk-PSPAM24S.js";
25
25
  import {
26
26
  isGoalCheckpointBookkeepingRecord,
27
27
  projectGoalStateToLegacy
28
- } from "./chunk-ZU2T5JIS.js";
28
+ } from "./chunk-ZEFWBG2C.js";
29
29
  import {
30
30
  GOAL_PAUSE_REASON_COMMAND,
31
31
  observeToolResultBoundary,
@@ -33,17 +33,17 @@ import {
33
33
  parseGoalStateCause,
34
34
  parseGoalStateRecordPayloadV2,
35
35
  toolResultBoundaryArtifact
36
- } from "./chunk-PDUMGZ2P.js";
36
+ } from "./chunk-BDAVT6K2.js";
37
37
  import {
38
38
  TranscriptRecordPreparationError,
39
39
  prepareTranscriptRecords,
40
40
  projectUserTranscriptForDisplay,
41
41
  stripGeneratedAttachmentTokens
42
- } from "./chunk-FDOGGKAA.js";
42
+ } from "./chunk-GSFV5RQW.js";
43
43
  import {
44
44
  formatVisionBridgeNoticeDisplay,
45
45
  isVisionBridgeNoticeDisplay
46
- } from "./chunk-6QV7Z74P.js";
46
+ } from "./chunk-FRS3P7MQ.js";
47
47
  import {
48
48
  SchemaValidator,
49
49
  ToolNames
@@ -678,15 +678,16 @@ var DefaultTranscriptReplayMachine = class {
678
678
  };
679
679
  }
680
680
  *projectUserRecord(record, emit, meta) {
681
+ const userMeta = typeof record.daemonPromptId === "string" && record.daemonPromptId.trim().length > 0 ? { ...meta, extra: { ...meta.extra, promptId: record.daemonPromptId } } : meta;
681
682
  const payload = isObjectRecord(record.systemPayload) ? record.systemPayload : void 0;
682
683
  const replayMeta = record.subtype === "mid_turn_user_message" ? {
683
- ...meta,
684
+ ...userMeta,
684
685
  extra: {
685
- ...meta.extra,
686
+ ...userMeta.extra,
686
687
  source: "mid_turn_message_injected",
687
688
  qwenDiscreteMessage: true
688
689
  }
689
- } : meta;
690
+ } : userMeta;
690
691
  if (record.subtype === "goal_runtime" || record.subtype === "notification" || record.subtype === "cron" || record.subtype === "mid_turn_user_message") {
691
692
  const displayText = payload && typeof payload["displayText"] === "string" ? stripGeneratedAttachmentTokens(payload["displayText"], payload) : void 0;
692
693
  if (record.subtype === "mid_turn_user_message" && displayText === "") {
@@ -926,6 +927,39 @@ var DefaultTranscriptReplayMachine = class {
926
927
  }
927
928
  }
928
929
  *projectSystemRecord(record, emit, meta) {
930
+ if (record.subtype === "agent_session_ready") {
931
+ const payload2 = isObjectRecord(record.systemPayload) ? record.systemPayload : void 0;
932
+ if (typeof payload2?.["callId"] !== "string" || payload2["callId"].length === 0 || typeof payload2["subagentSessionReady"] !== "boolean") {
933
+ this.report(
934
+ "malformed_agent_session_ready",
935
+ "Skipped a malformed subagent session readiness record.",
936
+ record.uuid,
937
+ "systemPayload"
938
+ );
939
+ return;
940
+ }
941
+ const callId = payload2["callId"];
942
+ if (!this.pendingToolCalls.has(callId)) {
943
+ this.report(
944
+ "orphan_agent_session_ready",
945
+ "Skipped subagent readiness without a matching pending tool call.",
946
+ record.uuid,
947
+ "systemPayload.callId"
948
+ );
949
+ return;
950
+ }
951
+ yield emit({
952
+ sessionUpdate: "tool_call_update",
953
+ toolCallId: callId,
954
+ _meta: buildUpdateMeta({
955
+ ...meta,
956
+ extra: {
957
+ subagentSessionReady: payload2["subagentSessionReady"]
958
+ }
959
+ })
960
+ });
961
+ return;
962
+ }
929
963
  if (record.subtype === "goal_state") {
930
964
  const payload2 = parseGoalStateRecordPayloadV2(record.systemPayload);
931
965
  if (!payload2) {
@@ -1683,6 +1717,7 @@ var ToolCallEmitter = class _ToolCallEmitter extends BaseEmitter {
1683
1717
  asUpdate: updatesPreparedCall,
1684
1718
  extra: {
1685
1719
  ...params.phase ? { phase: params.phase } : {},
1720
+ ...params.toolName === ToolNames.AGENT && !params.subagentMeta ? { subagentSessionReady: false } : {},
1686
1721
  ...params.subagentMeta,
1687
1722
  provenance: provenance.provenance,
1688
1723
  ...provenance.serverId ? { serverId: provenance.serverId } : {}
@@ -2805,7 +2840,7 @@ async function collectSessionMetadata(conversation, config) {
2805
2840
  const gitBranch = firstRecord?.gitBranch;
2806
2841
  let gitRepo;
2807
2842
  if (cwd) {
2808
- const { getGitRepoName } = await import("./deferred-core-runtime-LO5NTQQ4.js");
2843
+ const { getGitRepoName } = await import("./deferred-core-runtime-D2RF35BL.js");
2809
2844
  gitRepo = getGitRepoName(cwd);
2810
2845
  }
2811
2846
  let model;
@@ -3594,14 +3629,14 @@ var DOCUMENT_HTML_TEMPLATE = `<!doctype html>
3594
3629
  <script
3595
3630
  nonce="__EXPORT_NONCE__"
3596
3631
  id="transcript-renderer"
3597
- integrity="sha384-4TMV2TILlJMjhAIoxd/ONpxsCLyeebW0L96G5kw0oLdOORJBp+yDIqISXx1qjVpK"
3632
+ integrity="sha384-hFUuBMJaNSOv5VsxboI8oVqzUmy4bfhJPTTsfURS/1V3Zk7GdvxuFn81TveJXE1b"
3598
3633
  crossorigin="anonymous"
3599
- src="https://unpkg.com/@qwen-code/qwen-code@0.23.1/export-transcript-document.js"
3634
+ src="https://unpkg.com/@qwen-code/qwen-code@0.23.2-nightly.20260909.2e212144d3/export-transcript-document.js"
3600
3635
  ></script>
3601
3636
  </body>
3602
3637
  </html>
3603
3638
  `;
3604
- var EXPORT_TRANSCRIPT_RENDERER_VERSION = "0.23.1+cac701cab376ff66";
3639
+ var EXPORT_TRANSCRIPT_RENDERER_VERSION = "0.23.2-nightly.20260909.2e212144d3+702b7a5a7c6ec9f8";
3605
3640
  var EXPORT_TRANSCRIPT_RENDERER_LIMITS = Object.freeze({
3606
3641
  maxBlocks: 1e3,
3607
3642
  maxEnvelopeBytes: 33554432
@@ -3986,15 +4021,16 @@ var DefaultTranscriptReplayMachine2 = class {
3986
4021
  };
3987
4022
  }
3988
4023
  *projectUserRecord(record, emit, meta) {
4024
+ const userMeta = typeof record.daemonPromptId === "string" && record.daemonPromptId.trim().length > 0 ? { ...meta, extra: { ...meta.extra, promptId: record.daemonPromptId } } : meta;
3989
4025
  const payload = isObjectRecord2(record.systemPayload) ? record.systemPayload : void 0;
3990
4026
  const replayMeta = record.subtype === "mid_turn_user_message" ? {
3991
- ...meta,
4027
+ ...userMeta,
3992
4028
  extra: {
3993
- ...meta.extra,
4029
+ ...userMeta.extra,
3994
4030
  source: "mid_turn_message_injected",
3995
4031
  qwenDiscreteMessage: true
3996
4032
  }
3997
- } : meta;
4033
+ } : userMeta;
3998
4034
  if (record.subtype === "goal_runtime" || record.subtype === "notification" || record.subtype === "cron" || record.subtype === "mid_turn_user_message") {
3999
4035
  const displayText = payload && typeof payload["displayText"] === "string" ? stripGeneratedAttachmentTokens(payload["displayText"], payload) : void 0;
4000
4036
  if (record.subtype === "mid_turn_user_message" && displayText === "") {
@@ -4182,6 +4218,29 @@ var DefaultTranscriptReplayMachine2 = class {
4182
4218
  }
4183
4219
  }
4184
4220
  *projectSystemRecord(record, emit, meta) {
4221
+ if (record.subtype === "agent_session_ready") {
4222
+ const payload2 = isObjectRecord2(record.systemPayload) ? record.systemPayload : void 0;
4223
+ if (typeof payload2?.["callId"] !== "string" || payload2["callId"].length === 0 || typeof payload2["subagentSessionReady"] !== "boolean") {
4224
+ this.report("malformed_agent_session_ready", "Skipped a malformed subagent session readiness record.", record.uuid, "systemPayload");
4225
+ return;
4226
+ }
4227
+ const callId = payload2["callId"];
4228
+ if (!this.pendingToolCalls.has(callId)) {
4229
+ this.report("orphan_agent_session_ready", "Skipped subagent readiness without a matching pending tool call.", record.uuid, "systemPayload.callId");
4230
+ return;
4231
+ }
4232
+ yield emit({
4233
+ sessionUpdate: "tool_call_update",
4234
+ toolCallId: callId,
4235
+ _meta: buildUpdateMeta2({
4236
+ ...meta,
4237
+ extra: {
4238
+ subagentSessionReady: payload2["subagentSessionReady"]
4239
+ }
4240
+ })
4241
+ });
4242
+ return;
4243
+ }
4185
4244
  if (record.subtype === "goal_state") {
4186
4245
  const payload2 = parseGoalStateRecordPayloadV2(record.systemPayload);
4187
4246
  if (!payload2) {
@@ -5554,6 +5613,28 @@ var export_transcript_document_v1_schema_default = {
5554
5613
  toolResultPreview: {
5555
5614
  oneOf: [
5556
5615
  { $ref: "#/$defs/todoPreview" },
5616
+ {
5617
+ type: "object",
5618
+ additionalProperties: false,
5619
+ required: ["kind", "text", "answers"],
5620
+ properties: {
5621
+ kind: { const: "question_answers" },
5622
+ text: { type: "string", maxLength: 409600 },
5623
+ answers: {
5624
+ type: "array",
5625
+ maxItems: 1e3,
5626
+ items: {
5627
+ type: "object",
5628
+ additionalProperties: false,
5629
+ required: ["question", "answer"],
5630
+ properties: {
5631
+ question: { type: "string", maxLength: 409600 },
5632
+ answer: { type: "string", maxLength: 409600 }
5633
+ }
5634
+ }
5635
+ }
5636
+ }
5637
+ },
5557
5638
  {
5558
5639
  type: "object",
5559
5640
  additionalProperties: false,
@@ -19584,6 +19665,16 @@ function sanitizeResultPreview(preview, budget, _diagnostics, ids) {
19584
19665
  if (preview.kind === "text") {
19585
19666
  return { kind: "text", text: budget.text(preview.text) };
19586
19667
  }
19668
+ if (preview.kind === "question_answers") {
19669
+ return {
19670
+ kind: "question_answers",
19671
+ text: budget.plainText(preview.text),
19672
+ answers: budget.array(preview.answers).map(({ question, answer }) => ({
19673
+ question: budget.plainText(question),
19674
+ answer: budget.plainText(answer)
19675
+ }))
19676
+ };
19677
+ }
19587
19678
  if (!preview.summary?.trim()) return void 0;
19588
19679
  const summary = budget.text(preview.summary);
19589
19680
  return summary.trim() ? { kind: "generic", summary } : { kind: "text", text: summary };
@@ -20296,7 +20387,7 @@ function assertResourceBudgets(value) {
20296
20387
  __name(assertResourceBudgets, "assertResourceBudgets");
20297
20388
  function isMarkdownExportText(key, parent, path3) {
20298
20389
  if (path3.at(-2) === "resultPreview") {
20299
- return key === "text" || key === "summary";
20390
+ return parent?.["kind"] !== "question_answers" && (key === "text" || key === "summary");
20300
20391
  }
20301
20392
  return key === "text" && ["user", "assistant", "thought", "status", "error"].includes(
20302
20393
  String(parent?.["kind"])
@@ -20340,6 +20431,7 @@ var VISIBLE_EXPORT_TEXT_FIELDS = /* @__PURE__ */ new Set([
20340
20431
  "command",
20341
20432
  "cwd",
20342
20433
  "question",
20434
+ "answer",
20343
20435
  "path",
20344
20436
  "oldText",
20345
20437
  "newText",
@@ -7,12 +7,12 @@ import {
7
7
  resolveStreamIdleTimeoutMs,
8
8
  resolveStreamMaxLifetimeMs,
9
9
  withStreamGuards
10
- } from "./chunk-MA5OUNN6.js";
10
+ } from "./chunk-SNMUO5Z7.js";
11
11
  import {
12
12
  OpenAIContentConverter,
13
13
  TaggedThinkingParser,
14
14
  openaiRequestCaptureContext
15
- } from "./chunk-PQSCGZT2.js";
15
+ } from "./chunk-NPKCVSXX.js";
16
16
  import {
17
17
  safeJsonParse
18
18
  } from "./chunk-LNYV4GXX.js";
@@ -30,8 +30,9 @@ import {
30
30
  } from "./chunk-PQEISIKS.js";
31
31
  import {
32
32
  DashScopeOpenAICompatibleProvider,
33
- DefaultOpenAICompatibleProvider
34
- } from "./chunk-VF6D6EGV.js";
33
+ DefaultOpenAICompatibleProvider,
34
+ isOpenRouterHostname
35
+ } from "./chunk-HSO6D4KX.js";
35
36
  import {
36
37
  getCurrentAgentId
37
38
  } from "./chunk-H3Q3RSKZ.js";
@@ -39,10 +40,6 @@ import {
39
40
  InvalidStreamError,
40
41
  getToolCallPreparations
41
42
  } from "./chunk-CFKIH3D3.js";
42
- import {
43
- REASONING_EFFORT_TIERS,
44
- parseModelReasoningCapabilities
45
- } from "./chunk-6YEOCHSE.js";
46
43
  import {
47
44
  createChildAbortController
48
45
  } from "./chunk-DJ2GSRLV.js";
@@ -53,14 +50,18 @@ import {
53
50
  import {
54
51
  ProtocolTagSanitizedEvent,
55
52
  logProtocolTagSanitized
56
- } from "./chunk-6QV7Z74P.js";
53
+ } from "./chunk-FRS3P7MQ.js";
57
54
  import {
58
55
  isQwenFamilyWireModel,
59
56
  isTieredEffortWireModel
60
- } from "./chunk-XBVNNDPK.js";
57
+ } from "./chunk-GSYD7MYP.js";
61
58
  import {
59
+ REASONING_EFFORT_TIERS,
60
+ getGptReasoningCapabilities,
61
+ isReasoningEffortPlaceholder,
62
+ parseModelReasoningCapabilities,
62
63
  reconcileMaxTokens
63
- } from "./chunk-FPGTNKCP.js";
64
+ } from "./chunk-F3M6P6IQ.js";
64
65
  import {
65
66
  redactProxyError
66
67
  } from "./chunk-4HOEU2OR.js";
@@ -517,20 +518,6 @@ var MiMoOpenAICompatibleProvider = class extends DefaultOpenAICompatibleProvider
517
518
  // packages/core/src/core/openaiContentGenerator/pipeline.ts
518
519
  init_esbuild_shims();
519
520
 
520
- // packages/core/src/core/openaiContentGenerator/provider/openrouter.ts
521
- init_esbuild_shims();
522
- function isOpenRouterHostname(contentGeneratorConfig) {
523
- const baseUrl = contentGeneratorConfig.baseUrl ?? "";
524
- if (!baseUrl) return false;
525
- try {
526
- const hostname = new URL(baseUrl).hostname.toLowerCase();
527
- return hostname === "openrouter.ai" || hostname.endsWith(".openrouter.ai");
528
- } catch {
529
- return false;
530
- }
531
- }
532
- __name(isOpenRouterHostname, "isOpenRouterHostname");
533
-
534
521
  // packages/core/src/core/openaiContentGenerator/streamingToolCallParser.ts
535
522
  init_esbuild_shims();
536
523
  var debugLogger2 = createDebugLogger("STREAMING_TOOL_CALL_PARSER");
@@ -1027,6 +1014,8 @@ function applyConfiguredReasoningEffort(request, capabilities) {
1027
1014
  const effort = capabilities.efforts.find(
1028
1015
  (candidate) => candidate === reasoning["effort"]
1029
1016
  );
1017
+ if (effort && getGptReasoningCapabilities(loose["model"]))
1018
+ return request;
1030
1019
  const { effort: _drop, ...rest } = reasoning;
1031
1020
  const next = { ...loose };
1032
1021
  if (Object.keys(rest).length > 0) next["reasoning"] = rest;
@@ -1548,7 +1537,8 @@ var ContentGenerationPipeline = class {
1548
1537
  const isDashScope = DashScopeOpenAICompatibleProvider.isDashScopeProvider(
1549
1538
  this.contentGeneratorConfig
1550
1539
  );
1551
- const thinkingMandatory = reasoningCapabilities?.canDisable === false || this.requiresThinking(model);
1540
+ const explicitThinkingMandatory = reasoningCapabilities?.canDisable === false || this.requiresThinking(model);
1541
+ const thinkingMandatory = explicitThinkingMandatory || getGptReasoningCapabilities(model)?.thinkingMandatory === true;
1552
1542
  const reasoningDisabled = request.config?.thinkingConfig?.includeThoughts === false || this.contentGeneratorConfig.reasoning === false;
1553
1543
  if (reasoningDisabled) {
1554
1544
  const typed2 = providerRequest;
@@ -1585,6 +1575,10 @@ var ContentGenerationPipeline = class {
1585
1575
  if ("reasoning_effort" in typed2 && typed2["reasoning_effort"] !== "none") {
1586
1576
  delete typed2["reasoning_effort"];
1587
1577
  }
1578
+ const gptReasoning = getGptReasoningCapabilities(model);
1579
+ if (gptReasoning && !reasoningCapabilities && !gptReasoning.thinkingMandatory && !thinkingMandatory && !isOpenRouterHostname(this.contentGeneratorConfig)) {
1580
+ typed2["reasoning_effort"] = "none";
1581
+ }
1588
1582
  if (isDeepSeekHostname(this.contentGeneratorConfig) || reasoningCapabilities?.disableField === "thinking") {
1589
1583
  typed2["thinking"] = { type: "disabled" };
1590
1584
  }
@@ -1621,10 +1615,10 @@ var ContentGenerationPipeline = class {
1621
1615
  const typed = providerRequest;
1622
1616
  const reasoningEffort = typed["reasoning_effort"];
1623
1617
  const thinkingBudget = typed["thinking_budget"];
1624
- if (isDashScope && typed["tool_choice"] === "required" && (thinkingMandatory || isQwenFamilyWireModel(model) && (typed["enable_thinking"] === true || thinkingBudget != null && typed["enable_thinking"] !== false || typeof reasoningEffort === "string" && reasoningEffort !== "none"))) {
1618
+ if (isDashScope && typed["tool_choice"] === "required" && (explicitThinkingMandatory || isQwenFamilyWireModel(model) && (typed["enable_thinking"] === true || thinkingBudget != null && typed["enable_thinking"] !== false || typeof reasoningEffort === "string" && reasoningEffort !== "none"))) {
1625
1619
  debugLogger3.debug(
1626
1620
  "DashScope: dropping tool_choice=required while thinking is enabled",
1627
- { model, reasoningEffort, thinkingBudget, thinkingMandatory }
1621
+ { model, reasoningEffort, thinkingBudget, explicitThinkingMandatory }
1628
1622
  );
1629
1623
  delete typed["tool_choice"];
1630
1624
  }
@@ -1668,10 +1662,19 @@ var ContentGenerationPipeline = class {
1668
1662
  return value !== void 0 ? { [key]: value } : {};
1669
1663
  }, "addParameterIfDefined");
1670
1664
  if (configSamplingParams !== void 0) {
1665
+ const rawEffort = {
1666
+ ...configSamplingParams,
1667
+ ...this.contentGeneratorConfig.extra_body
1668
+ }["reasoning_effort"];
1669
+ const samplingParams = getGptReasoningCapabilities(
1670
+ request.model || this.contentGeneratorConfig.model
1671
+ ) && configSamplingParams["reasoning"] === void 0 && (isReasoningEffortPlaceholder(
1672
+ configSamplingParams["reasoning_effort"]
1673
+ ) || isReasoningEffortPlaceholder(rawEffort)) ? { ...this.buildReasoningConfig(request), ...configSamplingParams } : configSamplingParams;
1671
1674
  const requestMaxTokens = request.config?.maxOutputTokens;
1672
1675
  const maxTokens = reconcileMaxTokens(configSamplingParams.max_tokens, requestMaxTokens) ?? configSamplingParams.max_tokens ?? (hasProviderOutputBudgetKey(configSamplingParams) ? void 0 : requestMaxTokens);
1673
1676
  return clampProviderOutputBudgetKeys(
1674
- maxTokens !== void 0 ? { ...configSamplingParams, max_tokens: maxTokens } : { ...configSamplingParams },
1677
+ maxTokens !== void 0 ? { ...samplingParams, max_tokens: maxTokens } : { ...samplingParams },
1675
1678
  requestMaxTokens
1676
1679
  );
1677
1680
  }