@qwen-code/qwen-code 0.19.11 → 0.19.12-preview.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/bundled/batch/SKILL.md +6 -0
  2. package/bundled/qc-helper/docs/configuration/model-providers.md +11 -0
  3. package/bundled/qc-helper/docs/configuration/settings.md +11 -10
  4. package/bundled/qc-helper/docs/features/channels/overview.md +66 -11
  5. package/bundled/qc-helper/docs/features/sub-agents.md +8 -8
  6. package/bundled/qc-helper/docs/features/worktree.md +2 -2
  7. package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
  8. package/bundled/qc-helper/docs/qwen-serve.md +102 -40
  9. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
  10. package/bundled/review/SKILL.md +60 -49
  11. package/bundled/simplify/SKILL.md +1 -1
  12. package/chunks/{MaxSizedBox-L6TGYDM3.js → MaxSizedBox-3KIWAU6Z.js} +31 -32
  13. package/chunks/{StandaloneSessionPicker-AKEQHU5P.js → StandaloneSessionPicker-TF626NO7.js} +45 -46
  14. package/chunks/acp-startup-profiler-N3RHHXJ3.js +25 -0
  15. package/chunks/{acpAgent-PTNBGJDN.js → acpAgent-JDVJXVBO.js} +1863 -507
  16. package/chunks/{agent-AJOMOZPJ.js → agent-BONWC4VY.js} +26 -27
  17. package/chunks/{agent-headless-CYKOMAXS.js → agent-headless-H7HKMGLZ.js} +26 -27
  18. package/chunks/{anthropicContentGenerator-HBRXJSP4.js → anthropicContentGenerator-ZZRGFEES.js} +35 -12
  19. package/chunks/{artifact-tool-MIZLXBLF.js → artifact-tool-PHO5XEGZ.js} +5 -5
  20. package/chunks/{askUserQuestion-XMJVPNWM.js → askUserQuestion-CEPBT47X.js} +2 -47
  21. package/chunks/{bridge-QKISWPCI.js → bridge-ATN2TLWJ.js} +31 -32
  22. package/chunks/{ca-CODEN7TD.js → ca-2SL2BXTK.js} +3 -2
  23. package/chunks/{channel-worker-group-SOUWTFHC.js → channel-worker-group-S3H5QHTI.js} +4 -4
  24. package/chunks/{channel-worker-manager-LOVSV3WW.js → channel-worker-manager-ZJ4HTMO2.js} +4 -4
  25. package/chunks/{channel-worker-supervisor-XW6MHJBQ.js → channel-worker-supervisor-JA6VZ5V5.js} +3 -3
  26. package/chunks/{chunk-ZIXOTAPZ.js → chunk-2DZ7E27L.js} +92 -3
  27. package/chunks/{chunk-L5U3ELZX.js → chunk-335ECZTA.js} +1 -1
  28. package/chunks/{chunk-2FO5GFKZ.js → chunk-3DJY4IFO.js} +1 -1
  29. package/chunks/{chunk-4AGTGMCQ.js → chunk-3PE7OY2G.js} +12 -12
  30. package/chunks/{chunk-QOTQH4CB.js → chunk-4AGBO6RB.js} +27 -10
  31. package/chunks/{chunk-Y66VOBRP.js → chunk-4CA4WUMS.js} +2 -2
  32. package/chunks/{chunk-LQIDP6K5.js → chunk-4CHDYDG3.js} +1 -1
  33. package/chunks/{chunk-574PTLMU.js → chunk-4OVECYBM.js} +407 -92
  34. package/chunks/{chunk-TV6K2FB4.js → chunk-4RPARQ5D.js} +2 -2
  35. package/chunks/{chunk-TL4R5TRK.js → chunk-4W55BHOC.js} +2 -2
  36. package/chunks/{chunk-RCEEXIOO.js → chunk-4XCVGEEX.js} +3 -3
  37. package/chunks/{chunk-3DWIFU7L.js → chunk-53UMEONK.js} +1 -1
  38. package/chunks/{chunk-AU3MFJPL.js → chunk-54KPEDM2.js} +8 -8
  39. package/chunks/{chunk-T76DGHGG.js → chunk-66F4IJ4L.js} +5 -5
  40. package/chunks/{chunk-YLSSEUAM.js → chunk-675SVDMD.js} +354 -278
  41. package/chunks/{chunk-NVTQZXR7.js → chunk-6QGZVKOO.js} +91 -52
  42. package/chunks/{chunk-NJOFRXTM.js → chunk-6TDA4EVC.js} +4200 -3450
  43. package/chunks/{chunk-BYH2JRK3.js → chunk-6WZZHJSZ.js} +5 -5
  44. package/chunks/{chunk-7X7TEQNX.js → chunk-76BFY7AF.js} +13 -0
  45. package/chunks/chunk-7KS72E2N.js +883 -0
  46. package/chunks/{chunk-CF5VJRGC.js → chunk-7LMAKIWE.js} +1 -1
  47. package/chunks/{chunk-WMNXXRGL.js → chunk-7O7WZH7N.js} +31 -31
  48. package/chunks/{chunk-7ZYHLN67.js → chunk-7OZGMFHC.js} +26 -75
  49. package/chunks/{chunk-6WPJRYLZ.js → chunk-7SX6WZNO.js} +3 -3
  50. package/chunks/{chunk-JGUT3LWZ.js → chunk-ANRANWVE.js} +4 -1
  51. package/chunks/{chunk-JD44PNGJ.js → chunk-AWOU24F6.js} +10 -5
  52. package/chunks/{chunk-6WGZDD67.js → chunk-BEFQGC6H.js} +2 -2
  53. package/chunks/{chunk-KXYJPRT5.js → chunk-BEZPRKD3.js} +28 -6
  54. package/chunks/{chunk-FYQ22K62.js → chunk-CHVH4DVN.js} +6 -5
  55. package/chunks/{chunk-LS56TX3M.js → chunk-CMHJEUVB.js} +1 -1
  56. package/chunks/{chunk-FXKOAEXP.js → chunk-CXWUXRD5.js} +14 -14
  57. package/chunks/{chunk-CAHY5ABC.js → chunk-DULSE2SH.js} +1 -1
  58. package/chunks/{chunk-SQ5BK3GO.js → chunk-DYUPBU7H.js} +1 -1
  59. package/chunks/{chunk-FNX3LGAK.js → chunk-E655RDRL.js} +1 -1
  60. package/chunks/{chunk-N5VIZTND.js → chunk-EWPLL4OT.js} +1 -1
  61. package/chunks/{chunk-FSA7ERJ2.js → chunk-F2RR4HO2.js} +1 -1
  62. package/chunks/{chunk-S63Z5V42.js → chunk-F2YCCUXI.js} +4 -4
  63. package/chunks/{chunk-3AYLDB6B.js → chunk-FEZXQXW2.js} +1 -1
  64. package/chunks/{chunk-OWT2CAEQ.js → chunk-GEHSF7MS.js} +105 -12
  65. package/chunks/{chunk-LXLTBIDP.js → chunk-HCCR43AY.js} +1 -1
  66. package/chunks/{chunk-7NMU22Q3.js → chunk-HQ7MDVBO.js} +18 -7
  67. package/chunks/{chunk-KSZKSE23.js → chunk-HVWPSGDY.js} +1 -1
  68. package/chunks/{chunk-YFVO2HOR.js → chunk-HZXU6YZW.js} +5 -5
  69. package/chunks/{chunk-HASK4LMI.js → chunk-IKLWU6YS.js} +13 -6
  70. package/chunks/{chunk-GNBBAQ6J.js → chunk-ILQ42UG6.js} +111 -40
  71. package/chunks/{chunk-THXDQSTA.js → chunk-IQRQVPGN.js} +49 -154
  72. package/chunks/{chunk-SPJQO2CE.js → chunk-J2MKYJKZ.js} +2 -2
  73. package/chunks/{chunk-SUARMD4Q.js → chunk-J6NT5YTN.js} +28 -2
  74. package/chunks/{chunk-TYLOFD2U.js → chunk-JCJPZMJV.js} +1 -1
  75. package/chunks/{chunk-BYB3GF2T.js → chunk-JCYMQU5F.js} +133 -6
  76. package/chunks/{chunk-6EDDYPI3.js → chunk-JUNVFQVY.js} +4 -4
  77. package/chunks/{chunk-CH2XVB47.js → chunk-K7P34F2J.js} +3 -3
  78. package/chunks/{chunk-5VWYKIMW.js → chunk-KANTXY7B.js} +2 -2
  79. package/chunks/{chunk-K7VD4XLT.js → chunk-LHEQDKAR.js} +1 -1
  80. package/chunks/{chunk-A2HWMJVO.js → chunk-LKR7QQ63.js} +3 -3
  81. package/chunks/{chunk-4HUDDSO5.js → chunk-LLIGYAQU.js} +4 -4
  82. package/chunks/{chunk-5Z452MMD.js → chunk-LODZMRXC.js} +154 -83
  83. package/chunks/{chunk-FBU7WRZI.js → chunk-LPHGXXZX.js} +6 -1
  84. package/chunks/{chunk-CPFIQVZJ.js → chunk-LYFDJTXE.js} +1 -1
  85. package/chunks/{chunk-TIOE2OPE.js → chunk-MCYZTKBV.js} +2 -2
  86. package/chunks/{chunk-ZQIYGQCG.js → chunk-MHEZV3OY.js} +506 -143
  87. package/chunks/{chunk-JWICTOXS.js → chunk-NGTQA57Y.js} +2 -2
  88. package/chunks/{chunk-5CNYZ7TN.js → chunk-NJQPQ4IO.js} +7 -7
  89. package/chunks/chunk-NSZJQACR.js +45 -0
  90. package/chunks/{chunk-DOPUYNXO.js → chunk-NUHSLBJZ.js} +7 -7
  91. package/chunks/{chunk-CITWNIXJ.js → chunk-NVUGS23Y.js} +5 -5
  92. package/chunks/{chunk-2Z5UX4KI.js → chunk-OSSDHJDU.js} +1 -1
  93. package/chunks/{chunk-YUZI3WAC.js → chunk-OWAK7LMW.js} +7 -0
  94. package/chunks/{chunk-Y3KFTWVX.js → chunk-OZWJAFFE.js} +6 -6
  95. package/chunks/{chunk-YGYSMY2R.js → chunk-PSISZNIT.js} +1629 -1142
  96. package/chunks/{chunk-4ROQY23C.js → chunk-PTXVHS2O.js} +7 -7
  97. package/chunks/{chunk-OKAIGAYW.js → chunk-QGONRHUS.js} +3 -3
  98. package/chunks/{chunk-PZL23GTM.js → chunk-QR6U5QPP.js} +8 -0
  99. package/chunks/chunk-QSG4ZFG4.js +257 -0
  100. package/chunks/{chunk-BXBDC476.js → chunk-R32BTEZY.js} +5 -5
  101. package/chunks/{chunk-AVEOWVOM.js → chunk-R3VWUU2E.js} +1 -1
  102. package/chunks/{chunk-RP5R7MB6.js → chunk-R4RIMOJL.js} +12 -12
  103. package/chunks/{chunk-ARKANCNX.js → chunk-SGPFJMRP.js} +1 -1
  104. package/chunks/{chunk-3M75MSVA.js → chunk-SMASS3CY.js} +1 -1
  105. package/chunks/{chunk-4IJMTYCB.js → chunk-SNONG66P.js} +818 -29
  106. package/chunks/chunk-TDKQP3M6.js +201 -0
  107. package/chunks/{chunk-VFX7EZIR.js → chunk-TFV3XVAZ.js} +8 -1
  108. package/chunks/{chunk-4LD5APFL.js → chunk-TYQMGACW.js} +1 -0
  109. package/chunks/{chunk-7NFB7LBQ.js → chunk-UE5TZ55T.js} +8 -0
  110. package/chunks/{chunk-F333XEAU.js → chunk-UOA2IHRI.js} +4 -3
  111. package/chunks/{chunk-VRR65QYW.js → chunk-V4PCIS25.js} +5 -1
  112. package/chunks/{chunk-WIEO4CWB.js → chunk-VAJS2E2D.js} +1 -1
  113. package/chunks/{chunk-GLNHPRZT.js → chunk-W4DFAUAO.js} +1 -1
  114. package/chunks/{chunk-STZQCNN3.js → chunk-W7H223ZZ.js} +1 -1
  115. package/chunks/{chunk-6Y6ORE2G.js → chunk-WACI4VES.js} +288 -20
  116. package/chunks/{chunk-WTNZ6DXB.js → chunk-WEPXQKGP.js} +1 -1
  117. package/chunks/{chunk-4BJVSIS3.js → chunk-WHQNBBWW.js} +2 -2
  118. package/chunks/{chunk-QDJ2R4CM.js → chunk-WTHRMVKB.js} +3 -3
  119. package/chunks/{chunk-L4Y55KIS.js → chunk-X6YQWCIJ.js} +1 -1
  120. package/chunks/{chunk-Q6TUALBE.js → chunk-XAAEDML2.js} +1 -1
  121. package/chunks/{chunk-BUAXJVNP.js → chunk-XACBIZJB.js} +3 -3
  122. package/chunks/{chunk-2OG646IN.js → chunk-XFJU7SVP.js} +4 -4
  123. package/chunks/{chunk-KKRTYONM.js → chunk-XSPFQQRE.js} +3 -3
  124. package/chunks/{chunk-V2DXTLUE.js → chunk-Y5UDBQYF.js} +3 -3
  125. package/chunks/{chunk-MQOVXZAF.js → chunk-YN2I5I42.js} +529 -61
  126. package/chunks/{chunk-FMNYGWOD.js → chunk-Z4ZCVYJ5.js} +14 -8
  127. package/chunks/{chunk-SY7NEYX4.js → chunk-ZFHHBRRA.js} +2 -2
  128. package/chunks/{chunk-QYG4BY6Q.js → chunk-ZPVGEMVC.js} +1 -1
  129. package/chunks/{computer-use-VZZMJEQ7.js → computer-use-UY4A72X7.js} +26 -27
  130. package/chunks/{config-utils-IQQT3GCI.js → config-utils-KWTRFP7D.js} +3 -3
  131. package/chunks/{contextCommand-PORKIZSY.js → contextCommand-3DZ2SVH6.js} +30 -31
  132. package/chunks/{create-sub-session-EAB2U5XW.js → create-sub-session-DIJOV6HV.js} +2 -2
  133. package/chunks/{create-sub-session-XVFKHAFW.js → create-sub-session-OT7WXLDO.js} +27 -28
  134. package/chunks/{cron-create-GMVKSXZT.js → cron-create-X462ERYA.js} +4 -4
  135. package/chunks/{cron-delete-VDZKUAVK.js → cron-delete-SL5UJUM3.js} +4 -4
  136. package/chunks/{cron-list-UG7C7RAR.js → cron-list-3MD6SVXI.js} +4 -4
  137. package/chunks/{daemon-IHR6WSPB.js → daemon-ZW6LHOXT.js} +91 -14
  138. package/chunks/{daemon-status-provider-ABLBA3UJ.js → daemon-status-provider-GTZOYSBO.js} +35 -36
  139. package/chunks/{de-NOXPCSYN.js → de-I7ZIYXZC.js} +3 -2
  140. package/chunks/{dist-PX2ERZ6I.js → dist-HCUUS6IH.js} +2 -2
  141. package/chunks/{dist-VYWUKURL.js → dist-O2IP3G5D.js} +1 -1
  142. package/chunks/{dist-GXJVCOS7.js → dist-RZBJT5O2.js} +2 -1
  143. package/chunks/{dist-V2YVLYOW.js → dist-Y54RURGT.js} +3 -1
  144. package/chunks/{dist-DOPL5LSQ.js → dist-YTPTCUAD.js} +1 -1
  145. package/chunks/{dist-4WCQEZIN.js → dist-ZJHKKWUD.js} +1 -1
  146. package/chunks/{earlyInputCapture-DJCU5SPU.js → earlyInputCapture-GGWVGBZ7.js} +27 -28
  147. package/chunks/{edit-O4VV5AO6.js → edit-JN467GIR.js} +27 -28
  148. package/chunks/{en-JFVULHTB.js → en-XE34GKAA.js} +7 -3
  149. package/chunks/{enter-worktree-XQYDDI2I.js → enter-worktree-MMO4VBQE.js} +26 -27
  150. package/chunks/{enterPlanMode-CESVMQBV.js → enterPlanMode-BRZOG4DB.js} +27 -30
  151. package/chunks/{environment-5KXOLZNR.js → environment-LOCDCWMZ.js} +29 -30
  152. package/chunks/{errors-EBUTCBAQ.js → errors-XXSL5HGG.js} +29 -30
  153. package/chunks/{exit-worktree-MWGNSPNX.js → exit-worktree-UD7PI5H5.js} +26 -27
  154. package/chunks/exitPlanMode-EIUETQI6.js +389 -0
  155. package/chunks/{fast-path-6V73F2T2.js → fast-path-ULGAEUVK.js} +2 -2
  156. package/chunks/{fr-HVFNU42H.js → fr-X7KDVZIY.js} +3 -2
  157. package/chunks/{gemini-TEFJZCIZ.js → gemini-KW3APZ4P.js} +133 -80
  158. package/chunks/{geminiContentGenerator-M56BEXWI.js → geminiContentGenerator-4BQ5QHPR.js} +5 -5
  159. package/chunks/{glob-DMYFEEAZ.js → glob-FPKAMR6B.js} +32 -28
  160. package/chunks/{grep-GYE47MD4.js → grep-MOGRCYB4.js} +32 -28
  161. package/chunks/{handleAutoUpdate-OLUY4L7L.js → handleAutoUpdate-QUMRZZOS.js} +33 -34
  162. package/chunks/{i18n-462JC7IY.js → i18n-F3W6YUYP.js} +28 -29
  163. package/chunks/{initializer-Y7WD4D2I.js → initializer-KLU2KAIZ.js} +33 -34
  164. package/chunks/{installationInfo-I2Z3BKCE.js → installationInfo-P3ZP2SIZ.js} +27 -28
  165. package/chunks/{ja-PY5AF544.js → ja-2ICT3KXF.js} +3 -2
  166. package/chunks/{keychain-token-storage-AU22CQI6.js → keychain-token-storage-K23CFKGN.js} +2 -2
  167. package/chunks/{list-XQ5MSAXP.js → list-4X6D5JD2.js} +35 -36
  168. package/chunks/{loadedSettingsAdapter-TQOWYE7C.js → loadedSettingsAdapter-446B6WKA.js} +32 -33
  169. package/chunks/{loop-wakeup-QXWZSCYM.js → loop-wakeup-6H7OENTB.js} +5 -5
  170. package/chunks/{ls-2OUTG3IZ.js → ls-APTSOOS5.js} +4 -4
  171. package/chunks/{lsp-4VMNXZW6.js → lsp-HPACPJAN.js} +2 -2
  172. package/chunks/{mcp-22LLEEVM.js → mcp-JYVOJZOD.js} +32 -33
  173. package/chunks/{monitor-VKG324X3.js → monitor-KY7YH7TL.js} +26 -27
  174. package/chunks/nonInteractiveCli-EK35TLVJ.js +129 -0
  175. package/chunks/{notebook-edit-FJJRBQ3S.js → notebook-edit-IHGW42QK.js} +27 -28
  176. package/chunks/{openaiContentGenerator-4T2OGTR5.js → openaiContentGenerator-FURUCKQJ.js} +13 -14
  177. package/chunks/{pidfile-XL3MDCBM.js → pidfile-WKUVXDMR.js} +27 -28
  178. package/chunks/{processUtils-7UCFN34D.js → processUtils-LHSRN76X.js} +2 -2
  179. package/chunks/{pt-A3PRQXMU.js → pt-JJ4XPIBP.js} +3 -2
  180. package/chunks/{qwenContentGenerator-PQUXJDIZ.js → qwenContentGenerator-NRLM7R36.js} +30 -31
  181. package/chunks/{qwenOAuth2-LEYOU7RU.js → qwenOAuth2-5FNX3AWH.js} +22 -5
  182. package/chunks/{read-file-3EYQML7E.js → read-file-VLEAEXFP.js} +9 -10
  183. package/chunks/{read-mcp-resource-JUFHCKSC.js → read-mcp-resource-C6NT52T6.js} +2 -2
  184. package/chunks/{record-artifact-DWSMBXYY.js → record-artifact-ENCU7QCL.js} +2 -2
  185. package/chunks/{ripGrep-S6WPGQNA.js → ripGrep-MT23EIDD.js} +26 -27
  186. package/chunks/{ru-IBCWUTOC.js → ru-STR4KTW7.js} +3 -2
  187. package/chunks/{run-qwen-serve-NSKBT3HU.js → run-qwen-serve-5HWOQFLI.js} +63 -47
  188. package/chunks/{runtime-LG5ZZ3VH.js → runtime-6IVKJSLW.js} +38 -37
  189. package/chunks/{scheduler-PLX3VVTB.js → scheduler-63GJG75U.js} +26 -27
  190. package/chunks/{send-message-JZ752NWD.js → send-message-5GZ4FX2V.js} +3 -3
  191. package/chunks/{serve-S2ZLRZZR.js → serve-3LL7RRDP.js} +32 -33
  192. package/chunks/{server-5ECMV4TM.js → server-AA24QLPA.js} +1672 -615
  193. package/chunks/{session-ILSONWG4.js → session-LRVCFQQQ.js} +102 -75
  194. package/chunks/{settings-BOE7WWSA.js → settings-ZX3OKUT4.js} +36 -37
  195. package/chunks/{shell-VW664JIZ.js → shell-KR3IMYH6.js} +26 -27
  196. package/chunks/{skill-COHV6625.js → skill-QLM2LSF7.js} +11 -12
  197. package/chunks/{spawnChannel-5UUR5XOZ.js → spawnChannel-6WFOK3SA.js} +28 -29
  198. package/chunks/{src-XPKFZ3RN.js → src-ADLNIPHD.js} +101 -72
  199. package/chunks/{standalone-update-IOOJ2NZQ.js → standalone-update-C54OTJWJ.js} +29 -30
  200. package/chunks/{startInteractiveUI-3NGJGXXS.js → startInteractiveUI-KFAOS6HC.js} +2342 -1796
  201. package/chunks/{stdioHelpers-UMY72QRP.js → stdioHelpers-HGIYTWAY.js} +3 -1
  202. package/chunks/{syntheticOutput-LELY6HAI.js → syntheticOutput-ULOVVLY4.js} +3 -3
  203. package/chunks/{task-create-QY3BIMNM.js → task-create-DUE2PMNI.js} +7 -7
  204. package/chunks/{task-list-D2U47WBJ.js → task-list-WVPNX7BZ.js} +5 -5
  205. package/chunks/{task-stop-N6E5IYLH.js → task-stop-CPEQWOT6.js} +2 -2
  206. package/chunks/{task-update-HJCQILLB.js → task-update-HY2LNFFB.js} +7 -7
  207. package/chunks/{team-create-UPLVZQFX.js → team-create-Q5B5M7UD.js} +26 -27
  208. package/chunks/{team-delete-RCWYDRF4.js → team-delete-JJV6IUOA.js} +5 -5
  209. package/chunks/{team-plan-approval-F5F432RO.js → team-plan-approval-J55PXNY2.js} +26 -27
  210. package/chunks/{theme-manager-JJE4BJ67.js → theme-manager-QWTDRPHV.js} +27 -28
  211. package/chunks/todoWrite-JHHIDOIV.js +358 -0
  212. package/chunks/{tool-search-LRXI4JLZ.js → tool-search-LSSKWZKH.js} +10 -11
  213. package/chunks/{total-session-admission-I4DHN6UP.js → total-session-admission-S6ATY5HY.js} +32 -33
  214. package/chunks/{trustedFolders-SEH7LNX2.js → trustedFolders-CY4TUPDJ.js} +28 -29
  215. package/chunks/turndown.cjs-FZHGMUTY.js +17670 -0
  216. package/chunks/{update-relaunch-T6ZKBUA6.js → update-relaunch-IOKOUV3K.js} +6 -6
  217. package/chunks/{updateCheck-FWLXZPRO.js → updateCheck-YNRFE4V7.js} +30 -31
  218. package/chunks/{validateNonInterActiveAuth-X6K2VWYT.js → validateNonInterActiveAuth-OXTECS4B.js} +68 -68
  219. package/chunks/{version-LIFSOGSE.js → version-2CZQQDL5.js} +1 -1
  220. package/chunks/web-fetch-7QTEGJI5.js +938 -0
  221. package/chunks/{workflow-NX2DFWGD.js → workflow-G3CZU256.js} +29 -30
  222. package/chunks/{workspace-providers-status-VYD6M2NE.js → workspace-providers-status-UHQOIPAZ.js} +35 -36
  223. package/chunks/{workspace-registration-store-2Y6PWOEL.js → workspace-registration-store-5WPCMX4F.js} +1 -1
  224. package/chunks/{workspace-registry-PKBDBWCA.js → workspace-registry-LAQCRQTH.js} +32 -33
  225. package/chunks/{workspace-service-HHORUHTS.js → workspace-service-6ZEUJY2Z.js} +38 -39
  226. package/chunks/{workspace-skills-status-O5Q26LIY.js → workspace-skills-status-YG6OITSM.js} +33 -34
  227. package/chunks/{write-file-NVAEZ3J2.js → write-file-E7T3PU3B.js} +60 -28
  228. package/chunks/{zh-PAUNIMHQ.js → zh-6ANG2HTL.js} +7 -3
  229. package/chunks/{zh-TW-GNEUIUFF.js → zh-TW-4RR3YHNN.js} +7 -3
  230. package/cli-entry.js +37 -2
  231. package/cli.js +17 -11
  232. package/locales/ca.js +3 -2
  233. package/locales/de.js +3 -2
  234. package/locales/en.js +10 -5
  235. package/locales/fr.js +3 -2
  236. package/locales/ja.js +3 -2
  237. package/locales/pt.js +3 -2
  238. package/locales/ru.js +3 -2
  239. package/locales/zh-TW.js +9 -3
  240. package/locales/zh.js +9 -3
  241. package/package.json +3 -3
  242. package/web-shell/assets/{arc-H74fE8UR.js → arc-_dVIKMdB.js} +1 -1
  243. package/web-shell/assets/{architectureDiagram-3BPJPVTR-DN3kEq-I.js → architectureDiagram-3BPJPVTR-MuN3nKpL.js} +1 -1
  244. package/web-shell/assets/{blockDiagram-GPEHLZMM-BrqbsFUF.js → blockDiagram-GPEHLZMM-BtmvJjzx.js} +1 -1
  245. package/web-shell/assets/{c4Diagram-AAUBKEIU-ClFhU1P-.js → c4Diagram-AAUBKEIU-Dvi58_BU.js} +1 -1
  246. package/web-shell/assets/channel-Bi5TehaT.js +1 -0
  247. package/web-shell/assets/{chunk-2J33WTMH-jCIcG0_M.js → chunk-2J33WTMH-YqxOVhS1.js} +1 -1
  248. package/web-shell/assets/{chunk-4BX2VUAB-DSkGe62-.js → chunk-4BX2VUAB-DoBgbC9z.js} +1 -1
  249. package/web-shell/assets/{chunk-55IACEB6-BxBHOGTd.js → chunk-55IACEB6-3NEQrBAr.js} +1 -1
  250. package/web-shell/assets/{chunk-727SXJPM-v_DS7dH7.js → chunk-727SXJPM-DrCZQxp0.js} +1 -1
  251. package/web-shell/assets/{chunk-AQP2D5EJ-1RzEKRPq.js → chunk-AQP2D5EJ-m_g3zjgv.js} +1 -1
  252. package/web-shell/assets/{chunk-FMBD7UC4-DyrSbLOX.js → chunk-FMBD7UC4-D1_crABJ.js} +1 -1
  253. package/web-shell/assets/{chunk-ND2GUHAM-BCmdsZiy.js → chunk-ND2GUHAM-BdhgVtBx.js} +1 -1
  254. package/web-shell/assets/{chunk-QZHKN3VN-CphHGW2D.js → chunk-QZHKN3VN-BlmThhm-.js} +1 -1
  255. package/web-shell/assets/classDiagram-4FO5ZUOK-BKhhRdd1.js +1 -0
  256. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BKhhRdd1.js +1 -0
  257. package/web-shell/assets/{cose-bilkent-S5V4N54A-D5kRC7Fi.js → cose-bilkent-S5V4N54A-Cbjm_00Z.js} +1 -1
  258. package/web-shell/assets/{dagre-BM42HDAG-DIiyJJ0U.js → dagre-BM42HDAG-C39QNVgC.js} +1 -1
  259. package/web-shell/assets/{diagram-2AECGRRQ-BOcuB8xU.js → diagram-2AECGRRQ-DNXSAixC.js} +1 -1
  260. package/web-shell/assets/{diagram-5GNKFQAL-CMgiZ4d3.js → diagram-5GNKFQAL-BCbGUPEA.js} +1 -1
  261. package/web-shell/assets/{diagram-KO2AKTUF-Ctx8pfN0.js → diagram-KO2AKTUF-1eujKSDC.js} +1 -1
  262. package/web-shell/assets/{diagram-LMA3HP47-BT5REAWC.js → diagram-LMA3HP47-DUMKXgql.js} +1 -1
  263. package/web-shell/assets/{diagram-OG6HWLK6-CJkUqXcp.js → diagram-OG6HWLK6-BFktU3_u.js} +1 -1
  264. package/web-shell/assets/{erDiagram-TEJ5UH35-DyvNNX6v.js → erDiagram-TEJ5UH35-BvJC7DLk.js} +1 -1
  265. package/web-shell/assets/{flowDiagram-I6XJVG4X-VBf8_My8.js → flowDiagram-I6XJVG4X-Cgu3PlOt.js} +1 -1
  266. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CviJnR7B.js → ganttDiagram-6RSMTGT7-DLNXN5Xh.js} +1 -1
  267. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BY66_Oze.js → gitGraphDiagram-PVQCEYII-BQFRDv6R.js} +1 -1
  268. package/web-shell/assets/index-C_ouplMQ.js +1187 -0
  269. package/web-shell/assets/{index-DhYuvi3j.js → index-CdC3pjP3.js} +1 -1
  270. package/web-shell/assets/index-XGDFJE-X.css +5 -0
  271. package/web-shell/assets/{infoDiagram-5YYISTIA-D2jaewWZ.js → infoDiagram-5YYISTIA-DT2mOSvp.js} +1 -1
  272. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BpnNTyi5.js → ishikawaDiagram-YF4QCWOH-9fy_K4bd.js} +1 -1
  273. package/web-shell/assets/{journeyDiagram-JHISSGLW-CA55GNZF.js → journeyDiagram-JHISSGLW-CoGSEuhE.js} +1 -1
  274. package/web-shell/assets/{kanban-definition-UN3LZRKU-DyiSl_Ts.js → kanban-definition-UN3LZRKU-BP9hHYIj.js} +1 -1
  275. package/web-shell/assets/{linear-B-sN3dkV.js → linear-uIroDsmp.js} +1 -1
  276. package/web-shell/assets/{mermaid.core-xf9SXDdb.js → mermaid.core-BUwoStsA.js} +5 -5
  277. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DXhr2kRk.js → mindmap-definition-RKZ34NQL-DZB-FWim.js} +1 -1
  278. package/web-shell/assets/{pieDiagram-4H26LBE5-DUXpbfGQ.js → pieDiagram-4H26LBE5-YPptloKl.js} +1 -1
  279. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-NeDQYeWw.js → quadrantDiagram-W4KKPZXB-dgk3DSzm.js} +1 -1
  280. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BSbFRL1A.js → requirementDiagram-4Y6WPE33-BH2En2i9.js} +1 -1
  281. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-gg27cAaN.js → sankeyDiagram-5OEKKPKP-BB98feeI.js} +1 -1
  282. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Bi_1TSs4.js → sequenceDiagram-3UESZ5HK-CunAIGh8.js} +1 -1
  283. package/web-shell/assets/{stateDiagram-AJRCARHV-CboCCRaf.js → stateDiagram-AJRCARHV-DTJs_-I2.js} +1 -1
  284. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DrfFMYta.js +1 -0
  285. package/web-shell/assets/{timeline-definition-PNZ67QCA-DrGpF_jn.js → timeline-definition-PNZ67QCA-Cd4AN7O0.js} +1 -1
  286. package/web-shell/assets/{vennDiagram-CIIHVFJN-DCaJU67x.js → vennDiagram-CIIHVFJN-xIG-rUU9.js} +1 -1
  287. package/web-shell/assets/{wardley-L42UT6IY-p0QcW1aP.js → wardley-L42UT6IY-D1UyjIcG.js} +1 -1
  288. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DiEVxj1W.js → wardleyDiagram-YWT4CUSO-BVM0Mb99.js} +1 -1
  289. package/web-shell/assets/{xychartDiagram-2RQKCTM6-iQB8nSlA.js → xychartDiagram-2RQKCTM6-BX31JDSz.js} +1 -1
  290. package/web-shell/index.html +2 -2
  291. package/chunks/chunk-2HRYPZT5.js +0 -25
  292. package/chunks/chunk-QAW7PIHT.js +0 -168
  293. package/chunks/chunk-RTV5TUYB.js +0 -143
  294. package/chunks/chunk-ZPAHLFZU.js +0 -172
  295. package/chunks/exitPlanMode-HYQL4XMB.js +0 -909
  296. package/chunks/nonInteractiveCli-UMYUT643.js +0 -129
  297. package/chunks/todoWrite-FKCGATPJ.js +0 -531
  298. package/chunks/web-fetch-CFCWTCAP.js +0 -5673
  299. package/web-shell/assets/channel-NFC5ADAa.js +0 -1
  300. package/web-shell/assets/classDiagram-4FO5ZUOK-DHgwjz3X.js +0 -1
  301. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DHgwjz3X.js +0 -1
  302. package/web-shell/assets/index-8xIBbHV3.js +0 -1143
  303. package/web-shell/assets/index-DLyhlZZO.css +0 -5
  304. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CXRqms6P.js +0 -1
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-4AGTGMCQ.js";
5
+ } from "./chunk-3PE7OY2G.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -8,10 +8,10 @@ import {
8
8
  getRateLimitErrorDetails,
9
9
  logProtocolTagSanitized,
10
10
  openaiRequestCaptureContext
11
- } from "./chunk-MQOVXZAF.js";
11
+ } from "./chunk-YN2I5I42.js";
12
12
  import {
13
13
  RequestTokenizer
14
- } from "./chunk-4BJVSIS3.js";
14
+ } from "./chunk-WHQNBBWW.js";
15
15
  import {
16
16
  DASHSCOPE_PROXY_BASE_URL,
17
17
  DEFAULT_DASHSCOPE_BASE_URL,
@@ -21,6 +21,13 @@ import {
21
21
  QWEN_STREAM_IDLE_TIMEOUT_MS_ENV,
22
22
  resolveRequestTimeout
23
23
  } from "./chunk-FEOZBUMT.js";
24
+ import {
25
+ createChildAbortController
26
+ } from "./chunk-DJ2GSRLV.js";
27
+ import {
28
+ buildRuntimeFetchOptions,
29
+ redactProxyError
30
+ } from "./chunk-4CHDYDG3.js";
24
31
  import {
25
32
  defaultOutputCeiling,
26
33
  getToolCallPreparations,
@@ -30,23 +37,16 @@ import {
30
37
  runtimeDiagnostics,
31
38
  safeJsonParse,
32
39
  tokenLimit
33
- } from "./chunk-VRR65QYW.js";
40
+ } from "./chunk-V4PCIS25.js";
34
41
  import {
35
42
  GenerateContentResponse
36
- } from "./chunk-4LD5APFL.js";
37
- import {
38
- createChildAbortController
39
- } from "./chunk-DJ2GSRLV.js";
40
- import {
41
- buildRuntimeFetchOptions,
42
- redactProxyError
43
- } from "./chunk-LQIDP6K5.js";
43
+ } from "./chunk-TYQMGACW.js";
44
44
  import {
45
45
  createDebugLogger,
46
46
  getErrorStatus,
47
47
  getErrorType,
48
48
  isAbortError
49
- } from "./chunk-7NFB7LBQ.js";
49
+ } from "./chunk-UE5TZ55T.js";
50
50
  import {
51
51
  init_esbuild_shims
52
52
  } from "./chunk-5O2XNYP6.js";
@@ -7096,6 +7096,9 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7096
7096
  constructor(contentGeneratorConfig, cliConfig) {
7097
7097
  super(contentGeneratorConfig, cliConfig);
7098
7098
  }
7099
+ getResponseParsingOptions() {
7100
+ return { contentOnlyThinkingTagLeaks: true };
7101
+ }
7099
7102
  /**
7100
7103
  * Determines whether to use the DashScope-compatible provider.
7101
7104
  * Covers dashscope.aliyuncs.com, dashscope-intl.aliyuncs.com,
@@ -8509,11 +8512,9 @@ var ContentGenerationPipeline = class {
8509
8512
  * 1. Convert OpenAI chunks to Gemini format while preserving original chunks
8510
8513
  * 2. Filter empty responses
8511
8514
  * 3. Handle chunk merging for providers that send finishReason and usageMetadata separately
8512
- * 4. Collect both formats for logging
8513
- * 5. Handle success/error logging
8515
+ * 4. Handle success/error logging
8514
8516
  */
8515
8517
  async *processStreamWithLogging(stream, context, request, userPromptId) {
8516
- const collectedGeminiResponses = [];
8517
8518
  let pendingFinishResponse = null;
8518
8519
  let finishYielded = false;
8519
8520
  let pendingFinishProtocolTagSanitized;
@@ -8568,7 +8569,6 @@ var ContentGenerationPipeline = class {
8568
8569
  pending.usageMetadata = response.usageMetadata;
8569
8570
  }
8570
8571
  }
8571
- collectedGeminiResponses.push(response);
8572
8572
  continue;
8573
8573
  }
8574
8574
  if (!pendingFinishResponse && response.candidates?.[0]?.finishReason && sanitization) {
@@ -8576,7 +8576,7 @@ var ContentGenerationPipeline = class {
8576
8576
  }
8577
8577
  const shouldYield = this.handleChunkMerging(
8578
8578
  response,
8579
- collectedGeminiResponses,
8579
+ pendingFinishResponse,
8580
8580
  (mergedResponse) => {
8581
8581
  pendingFinishResponse = mergedResponse;
8582
8582
  }
@@ -8656,43 +8656,37 @@ var ContentGenerationPipeline = class {
8656
8656
  * finishReason and the most up-to-date usage information from any provider pattern.
8657
8657
  *
8658
8658
  * @param response Current Gemini response
8659
- * @param collectedGeminiResponses Array to collect responses for logging
8659
+ * @param pendingFinishResponse Finish response currently held for merging
8660
8660
  * @param setPendingFinish Callback to set pending finish response
8661
8661
  * @returns true if the response should be yielded, false if it should be held for merging
8662
8662
  */
8663
- handleChunkMerging(response, collectedGeminiResponses, setPendingFinish) {
8663
+ handleChunkMerging(response, pendingFinishResponse, setPendingFinish) {
8664
8664
  const isFinishChunk = response.candidates?.[0]?.finishReason;
8665
- const hasPendingFinish = collectedGeminiResponses.length > 0 && collectedGeminiResponses[collectedGeminiResponses.length - 1].candidates?.[0]?.finishReason;
8666
8665
  if (isFinishChunk) {
8667
- if (hasPendingFinish) {
8668
- const lastResponse = collectedGeminiResponses[collectedGeminiResponses.length - 1];
8666
+ if (pendingFinishResponse) {
8669
8667
  if (response.usageMetadata) {
8670
- lastResponse.usageMetadata = response.usageMetadata;
8668
+ pendingFinishResponse.usageMetadata = response.usageMetadata;
8671
8669
  }
8672
- setPendingFinish(lastResponse);
8670
+ setPendingFinish(pendingFinishResponse);
8673
8671
  } else {
8674
- collectedGeminiResponses.push(response);
8675
8672
  setPendingFinish(response);
8676
8673
  }
8677
8674
  return false;
8678
- } else if (hasPendingFinish) {
8679
- const lastResponse = collectedGeminiResponses[collectedGeminiResponses.length - 1];
8675
+ } else if (pendingFinishResponse) {
8680
8676
  const mergedResponse = new GenerateContentResponse();
8681
- mergedResponse.candidates = lastResponse.candidates;
8677
+ mergedResponse.candidates = pendingFinishResponse.candidates;
8682
8678
  if (response.usageMetadata) {
8683
8679
  mergedResponse.usageMetadata = response.usageMetadata;
8684
8680
  } else {
8685
- mergedResponse.usageMetadata = lastResponse.usageMetadata;
8681
+ mergedResponse.usageMetadata = pendingFinishResponse.usageMetadata;
8686
8682
  }
8687
8683
  mergedResponse.responseId = response.responseId;
8688
8684
  mergedResponse.createTime = response.createTime;
8689
8685
  mergedResponse.modelVersion = response.modelVersion;
8690
8686
  mergedResponse.promptFeedback = response.promptFeedback;
8691
- collectedGeminiResponses[collectedGeminiResponses.length - 1] = mergedResponse;
8692
8687
  setPendingFinish(mergedResponse);
8693
8688
  return true;
8694
8689
  }
8695
- collectedGeminiResponses.push(response);
8696
8690
  return true;
8697
8691
  }
8698
8692
  async buildRequest(request, userPromptId, context, isStreaming) {
@@ -8716,6 +8710,12 @@ var ContentGenerationPipeline = class {
8716
8710
  request.config.tools,
8717
8711
  this.contentGeneratorConfig.schemaCompliance ?? "auto"
8718
8712
  );
8713
+ const fcMode = request.config?.toolConfig?.functionCallingConfig?.mode;
8714
+ if (fcMode === "ANY") {
8715
+ baseRequest["tool_choice"] = "required";
8716
+ } else if (fcMode === "NONE") {
8717
+ baseRequest["tool_choice"] = "none";
8718
+ }
8719
8719
  }
8720
8720
  const providerRequest = this.config.provider.buildRequest(
8721
8721
  baseRequest,
@@ -1,34 +1,34 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
3
  import {
4
- formatAcpModelId,
4
+ buildAcpModelOptions,
5
5
  getAuthTypeFromEnv,
6
+ getCurrentAcpModelId,
6
7
  parseAcpBaseModelId,
7
8
  resolveCliGenerationConfig,
8
9
  sanitizeProviderBaseUrl
9
- } from "./chunk-ZIXOTAPZ.js";
10
+ } from "./chunk-2DZ7E27L.js";
10
11
  import {
11
12
  snapshotProcessEnv
12
- } from "./chunk-SY7NEYX4.js";
13
+ } from "./chunk-ZFHHBRRA.js";
13
14
  import {
14
15
  STATUS_SCHEMA_VERSION
15
- } from "./chunk-VFX7EZIR.js";
16
+ } from "./chunk-TFV3XVAZ.js";
16
17
  import {
17
18
  loadSettings
18
- } from "./chunk-GNBBAQ6J.js";
19
+ } from "./chunk-ILQ42UG6.js";
19
20
  import {
20
- ModelsConfig,
21
- resolveProviderProtocol
22
- } from "./chunk-NJOFRXTM.js";
21
+ ModelsConfig
22
+ } from "./chunk-6TDA4EVC.js";
23
23
  import {
24
24
  APPROVAL_MODES
25
- } from "./chunk-F333XEAU.js";
25
+ } from "./chunk-UOA2IHRI.js";
26
26
  import {
27
27
  tokenLimit
28
- } from "./chunk-VRR65QYW.js";
28
+ } from "./chunk-V4PCIS25.js";
29
29
  import {
30
30
  createDebugLogger
31
- } from "./chunk-7NFB7LBQ.js";
31
+ } from "./chunk-UE5TZ55T.js";
32
32
  import {
33
33
  init_esbuild_shims
34
34
  } from "./chunk-5O2XNYP6.js";
@@ -75,17 +75,24 @@ function buildWorkspaceProvidersStatus(workspaceCwd, acpChannelLive, options) {
75
75
  const currentAuth = selectedAuthType;
76
76
  const currentModelId = (resolvedCliConfig.model || modelsConfig.getModel() || "").trim();
77
77
  const hasCurrentModel = currentModelId.length > 0;
78
- const currentAcpModelId = hasCurrentModel && currentAuth ? formatAcpModelId(currentModelId, currentAuth) : currentModelId || void 0;
79
- const currentBaseUrl = resolvedCliConfig.sources["baseUrl"] ? resolvedCliConfig.baseUrl || void 0 : void 0;
78
+ const modelCameFromSettings = !argv.model && settings.model?.name?.trim() === currentModelId;
79
+ const currentBaseUrl = modelCameFromSettings && settings.model?.baseUrl !== void 0 ? settings.model.baseUrl || void 0 : resolvedCliConfig.sources["baseUrl"] ? resolvedCliConfig.baseUrl || void 0 : void 0;
80
+ const currentRegistryBaseUrl = modelCameFromSettings && currentAuth ? settings.model?.baseUrl !== void 0 ? settings.model.baseUrl || null : modelsConfig.getResolvedModel(currentAuth, currentModelId)?.registryBaseUrl ?? null : void 0;
81
+ const modelOptions = buildAcpModelOptions(
82
+ modelsConfig.getAllConfiguredModels()
83
+ );
84
+ const currentAcpModelId = hasCurrentModel ? getCurrentAcpModelId(
85
+ modelOptions,
86
+ currentModelId,
87
+ currentAuth,
88
+ currentRegistryBaseUrl
89
+ ) : void 0;
80
90
  const fastModelId = typeof settings.fastModel === "string" && settings.fastModel.length > 0 ? settings.fastModel : void 0;
81
91
  const visionModelId = typeof settings.visionModel === "string" && settings.visionModel.length > 0 ? settings.visionModel : void 0;
82
92
  const approvalMode = resolveApprovalMode(settings);
83
93
  const providers = /* @__PURE__ */ new Map();
84
- const explicitModelBaseUrls = buildExplicitModelBaseUrls(
85
- settings.modelProviders,
86
- settings.providerProtocol
87
- );
88
- for (const model of modelsConfig.getAllConfiguredModels().filter(isMainSelectableModel)) {
94
+ for (const option of modelOptions) {
95
+ const { model, effectiveModelId, modelId } = option;
89
96
  if (model.isRuntimeModel) continue;
90
97
  const authType = String(model.authType);
91
98
  let provider = providers.get(authType);
@@ -99,15 +106,7 @@ function buildWorkspaceProvidersStatus(workspaceCwd, acpChannelLive, options) {
99
106
  };
100
107
  providers.set(authType, provider);
101
108
  }
102
- const effectiveModelId = model.id;
103
- const modelId = formatAcpModelId(effectiveModelId, model.authType);
104
- const isCurrent = currentAuth === model.authType && hasCurrentModel && matchesCurrentModel(currentModelId, effectiveModelId, modelId) && matchesCurrentBaseUrl(
105
- currentBaseUrl,
106
- model.baseUrl,
107
- model.baseUrl !== void 0 && explicitModelBaseUrls.has(
108
- modelBaseUrlKey(authType, effectiveModelId, model.baseUrl)
109
- )
110
- );
109
+ const isCurrent = currentAuth === model.authType && currentAcpModelId === modelId;
111
110
  const providerModel = {
112
111
  modelId,
113
112
  baseModelId: parseAcpBaseModelId(effectiveModelId),
@@ -182,54 +181,6 @@ function resolveApprovalMode(settings) {
182
181
  return "auto" /* AUTO */;
183
182
  }
184
183
  __name(resolveApprovalMode, "resolveApprovalMode");
185
- function isMainSelectableModel(model) {
186
- return model.fastOnly !== true && model.voiceOnly !== true;
187
- }
188
- __name(isMainSelectableModel, "isMainSelectableModel");
189
- function matchesCurrentModel(currentModelId, baseModelId, acpModelId) {
190
- return currentModelId === baseModelId || currentModelId === acpModelId;
191
- }
192
- __name(matchesCurrentModel, "matchesCurrentModel");
193
- function matchesCurrentBaseUrl(currentBaseUrl, modelBaseUrl, modelHasExplicitBaseUrl) {
194
- if (!currentBaseUrl) return !modelHasExplicitBaseUrl;
195
- return currentBaseUrl === modelBaseUrl;
196
- }
197
- __name(matchesCurrentBaseUrl, "matchesCurrentBaseUrl");
198
- function buildExplicitModelBaseUrls(modelProviders, providerProtocol) {
199
- const baseUrls = /* @__PURE__ */ new Set();
200
- if (!modelProviders) return baseUrls;
201
- for (const [providerId, providerConfig] of Object.entries(modelProviders)) {
202
- const authType = resolveProviderProtocol(providerId, providerProtocol);
203
- if (!authType) continue;
204
- const models = readProviderModels(providerConfig);
205
- for (const model of models) {
206
- if (typeof model.id === "string" && typeof model.baseUrl === "string" && model.baseUrl.length > 0) {
207
- baseUrls.add(modelBaseUrlKey(authType, model.id, model.baseUrl));
208
- }
209
- }
210
- }
211
- return baseUrls;
212
- }
213
- __name(buildExplicitModelBaseUrls, "buildExplicitModelBaseUrls");
214
- function readProviderModels(providerConfig) {
215
- if (Array.isArray(providerConfig)) {
216
- return providerConfig.filter(isProviderModelBaseUrlConfig);
217
- }
218
- if (typeof providerConfig !== "object" || providerConfig === null) {
219
- return [];
220
- }
221
- const { models } = providerConfig;
222
- return Array.isArray(models) ? models.filter(isProviderModelBaseUrlConfig) : [];
223
- }
224
- __name(readProviderModels, "readProviderModels");
225
- function isProviderModelBaseUrlConfig(value) {
226
- return typeof value === "object" && value !== null;
227
- }
228
- __name(isProviderModelBaseUrlConfig, "isProviderModelBaseUrlConfig");
229
- function modelBaseUrlKey(authType, modelId, baseUrl) {
230
- return `${authType}\0${modelId}\0${baseUrl}`;
231
- }
232
- __name(modelBaseUrlKey, "modelBaseUrlKey");
233
184
  var URL_LIKE_PATTERN = /\b[A-Za-z][A-Za-z\d+.-]*:\/\/[^\s'"`<>]+/g;
234
185
  var URL_START_PATTERN = /\b[A-Za-z][A-Za-z\d+.-]*:\/\//g;
235
186
  function sanitizeProviderWarning(warning) {
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  createTask
5
- } from "./chunk-KKRTYONM.js";
5
+ } from "./chunk-XSPFQQRE.js";
6
6
  import {
7
7
  getPlanRequiredTeammatePreApprovalMessage,
8
8
  isPlanRequiredTeammateAwaitingApproval
9
- } from "./chunk-F333XEAU.js";
9
+ } from "./chunk-UOA2IHRI.js";
10
10
  import {
11
11
  resolveActiveTeamName
12
12
  } from "./chunk-6AM5D4ME.js";
@@ -15,7 +15,7 @@ import {
15
15
  BaseToolInvocation,
16
16
  ToolDisplayNames,
17
17
  ToolNames
18
- } from "./chunk-JGUT3LWZ.js";
18
+ } from "./chunk-ANRANWVE.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  createDebugLogger
5
- } from "./chunk-7NFB7LBQ.js";
5
+ } from "./chunk-UE5TZ55T.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -15313,6 +15313,9 @@ var BaseToolInvocation = class {
15313
15313
  getDefaultPermission() {
15314
15314
  return Promise.resolve("allow");
15315
15315
  }
15316
+ requiresUserInteraction() {
15317
+ return false;
15318
+ }
15316
15319
  /**
15317
15320
  * Default fallback: returns a generic 'info' confirmation dialog using the
15318
15321
  * tool's getDescription(). This ensures that even tools whose
@@ -5,17 +5,17 @@ import {
5
5
  } from "./chunk-2W3OOD4W.js";
6
6
  import {
7
7
  STATUS_SCHEMA_VERSION
8
- } from "./chunk-VFX7EZIR.js";
8
+ } from "./chunk-TFV3XVAZ.js";
9
9
  import {
10
10
  loadSettings
11
- } from "./chunk-GNBBAQ6J.js";
11
+ } from "./chunk-ILQ42UG6.js";
12
12
  import {
13
13
  writeStderrLine
14
- } from "./chunk-YUZI3WAC.js";
14
+ } from "./chunk-OWAK7LMW.js";
15
15
  import {
16
16
  SkillManager,
17
17
  isSafeModeEnv
18
- } from "./chunk-NJOFRXTM.js";
18
+ } from "./chunk-6TDA4EVC.js";
19
19
  import {
20
20
  init_esbuild_shims
21
21
  } from "./chunk-5O2XNYP6.js";
@@ -27,7 +27,12 @@ import {
27
27
  init_esbuild_shims();
28
28
  function createWorkspaceSkillsStatusProvider() {
29
29
  const managers = /* @__PURE__ */ new Map();
30
- return (workspaceCwd) => buildWorkspaceSkillsStatus(workspaceCwd, managers);
30
+ const provider = /* @__PURE__ */ __name((workspaceCwd) => buildWorkspaceSkillsStatus(
31
+ workspaceCwd,
32
+ managers
33
+ ), "provider");
34
+ provider.invalidate = (workspaceCwd) => managers.delete(workspaceCwd);
35
+ return provider;
31
36
  }
32
37
  __name(createWorkspaceSkillsStatusProvider, "createWorkspaceSkillsStatusProvider");
33
38
  async function buildWorkspaceSkillsStatus(workspaceCwd, managers) {
@@ -21,7 +21,7 @@ import {
21
21
  isChannelWebhookTaskResultMessage,
22
22
  normalizeWorkerDiagnostic,
23
23
  sanitizeWorkerDiagnostic
24
- } from "./chunk-KSZKSE23.js";
24
+ } from "./chunk-HVWPSGDY.js";
25
25
  import {
26
26
  channelSelectionNames
27
27
  } from "./chunk-TJTKSVIV.js";
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk-5HBA2Z7V.js";
33
33
  import {
34
34
  sanitizeLogText
35
- } from "./chunk-ZQIYGQCG.js";
35
+ } from "./chunk-MHEZV3OY.js";
36
36
  import {
37
37
  init_esbuild_shims
38
38
  } from "./chunk-5O2XNYP6.js";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-RXFQM6FQ.js";
6
6
  import {
7
7
  CLIENT_MCP_OVER_WS_CONFIG_FLAG
8
- } from "./chunk-PZL23GTM.js";
8
+ } from "./chunk-QR6U5QPP.js";
9
9
  import {
10
10
  require_lib
11
11
  } from "./chunk-WBL3FJEU.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-T2NCM2ET.js";
18
18
  import {
19
19
  writeStderrLine
20
- } from "./chunk-YUZI3WAC.js";
20
+ } from "./chunk-OWAK7LMW.js";
21
21
  import {
22
22
  require_safer
23
23
  } from "./chunk-XWRJCPHC.js";
@@ -16535,6 +16535,13 @@ var SERVE_CAPABILITY_REGISTRY = {
16535
16535
  // the underlying ACP method from unstable_resumeSession to resumeSession.
16536
16536
  unstable_session_resume: { since: "v1" },
16537
16537
  session_list: { since: "v1" },
16538
+ // Aggregate persisted session counts via
16539
+ // `GET /workspace/:id/session-info` (and the plural
16540
+ // `/workspaces/:workspace/session-info` twin). Performs a disk scan of
16541
+ // local JSONL files — advertised so clients can discover it, but the
16542
+ // response itself marks `expensive: true` / `cost: "disk_scan"` and
16543
+ // must not be polled in a tight loop.
16544
+ session_info: { since: "v1" },
16538
16545
  session_source_metadata: { since: "v1" },
16539
16546
  session_prompt: { since: "v1" },
16540
16547
  session_cancel: { since: "v1" },
@@ -16592,6 +16599,7 @@ var SERVE_CAPABILITY_REGISTRY = {
16592
16599
  session_organization: { since: "v1" },
16593
16600
  session_export: { since: "v1" },
16594
16601
  session_transcript: { since: "v1" },
16602
+ session_transcript_pagination: { since: "v1" },
16595
16603
  // Daemon supports the MCP client guardrail surface: an in-process
16596
16604
  // counter exposed on `GET /workspace/mcp`, a `--mcp-client-budget=N`
16597
16605
  // flag with `--mcp-budget-mode={enforce, warn, off}`, and a
@@ -16639,6 +16647,7 @@ var SERVE_CAPABILITY_REGISTRY = {
16639
16647
  // (`tools.disabled` is consulted at `Config` construction time).
16640
16648
  workspace_tool_toggle: { since: "v1" },
16641
16649
  workspace_skill_toggle: { since: "v1" },
16650
+ workspace_skill_manage: { since: "v1" },
16642
16651
  workspace_settings: { since: "v1" },
16643
16652
  // `GET /workspace/permissions` is always available when this tag is
16644
16653
  // advertised. `POST /workspace/permissions` updates the active ACP
@@ -16769,8 +16778,10 @@ var SERVE_CAPABILITY_REGISTRY = {
16769
16778
  // Runtime GET/PUT/DELETE control for daemon-managed channel selection.
16770
16779
  // The route exists even when no selection was supplied at daemon boot.
16771
16780
  channel_control: { since: "v1" },
16772
- // Multi-workspace sessions closed loop (issue #6378 Phase 2a). Advertised
16773
- // only when one daemon hosts more than one registered workspace runtime.
16781
+ // Read-only workspace graph of recently observed channel contacts.
16782
+ workspace_channel_observed_contacts: { since: "v1" },
16783
+ // Multi-workspace session routing. Advertised only when one daemon hosts
16784
+ // more than one registered workspace runtime.
16774
16785
  multi_workspace_sessions: { since: "v1" },
16775
16786
  // Singular session rewind routes resolve the owning live workspace runtime.
16776
16787
  multi_workspace_session_rewind: { since: "v1" },
@@ -16987,10 +16998,20 @@ var PROTOTYPE_POLLUTION_KEYS = /* @__PURE__ */ new Set([
16987
16998
  var CLIENT_ID_HEADER = "x-qwen-client-id";
16988
16999
  var MAX_CLIENT_ID_LENGTH = 128;
16989
17000
  var MAX_TOOL_NAME_LENGTH = 256;
16990
- var MAX_SKILL_NAME_LENGTH = 256;
16991
17001
  var MAX_SERVER_NAME_LENGTH = 256;
16992
17002
  var CLIENT_ID_RE = /^[A-Za-z0-9._:-]+$/;
16993
17003
  var INVALID_PERMISSION_OUTCOME_ERROR = '`outcome` must be `{ outcome: "cancelled" }` or `{ outcome: "selected", optionId: string }`';
17004
+ var deferredRuntimeTimingKey = Symbol(
17005
+ "deferredRuntimeRequestTiming"
17006
+ );
17007
+ function setDeferredRuntimeRequestTiming(req, timing) {
17008
+ req[deferredRuntimeTimingKey] = timing;
17009
+ }
17010
+ __name(setDeferredRuntimeRequestTiming, "setDeferredRuntimeRequestTiming");
17011
+ function getDeferredRuntimeRequestTiming(req) {
17012
+ return req[deferredRuntimeTimingKey];
17013
+ }
17014
+ __name(getDeferredRuntimeRequestTiming, "getDeferredRuntimeRequestTiming");
16994
17015
  function safeBody(req) {
16995
17016
  const raw = req.body;
16996
17017
  if (typeof raw !== "object" || raw === null || Array.isArray(raw)) {
@@ -18259,9 +18280,10 @@ export {
18259
18280
  CLIENT_ID_HEADER,
18260
18281
  MAX_CLIENT_ID_LENGTH,
18261
18282
  MAX_TOOL_NAME_LENGTH,
18262
- MAX_SKILL_NAME_LENGTH,
18263
18283
  MAX_SERVER_NAME_LENGTH,
18264
18284
  CLIENT_ID_RE,
18285
+ setDeferredRuntimeRequestTiming,
18286
+ getDeferredRuntimeRequestTiming,
18265
18287
  safeBody,
18266
18288
  parseOptionalWorkspaceCwd,
18267
18289
  requireSessionId,
@@ -4,17 +4,17 @@ import {
4
4
  disableMouseEvents,
5
5
  enableMouseEvents,
6
6
  useKeypressContext
7
- } from "./chunk-NVTQZXR7.js";
7
+ } from "./chunk-6QGZVKOO.js";
8
8
  import {
9
9
  use_stdin_default,
10
10
  use_stdout_default
11
- } from "./chunk-OWT2CAEQ.js";
11
+ } from "./chunk-GEHSF7MS.js";
12
+ import {
13
+ themeManager
14
+ } from "./chunk-XAAEDML2.js";
12
15
  import {
13
16
  require_react
14
17
  } from "./chunk-HTHUX2T5.js";
15
- import {
16
- themeManager
17
- } from "./chunk-Q6TUALBE.js";
18
18
  import {
19
19
  init_esbuild_shims
20
20
  } from "./chunk-5O2XNYP6.js";
@@ -322,6 +322,7 @@ export {
322
322
  useTerminalSize,
323
323
  Colors,
324
324
  useMouseEvents,
325
+ frameAnchor,
325
326
  measureElementPosition,
326
327
  layoutRowForEvent,
327
328
  RowMouseController
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  runExitCleanup
5
- } from "./chunk-CAHY5ABC.js";
5
+ } from "./chunk-DULSE2SH.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -3,16 +3,16 @@
3
3
  import {
4
4
  settleChatRecording,
5
5
  subscribeToHeadlessChatRecordingFailures
6
- } from "./chunk-CH2XVB47.js";
6
+ } from "./chunk-K7P34F2J.js";
7
7
  import {
8
8
  handleAtCommand
9
- } from "./chunk-HASK4LMI.js";
9
+ } from "./chunk-IKLWU6YS.js";
10
10
  import {
11
11
  JsonOutputAdapter
12
- } from "./chunk-CPFIQVZJ.js";
12
+ } from "./chunk-LYFDJTXE.js";
13
13
  import {
14
14
  StreamJsonOutputAdapter
15
- } from "./chunk-QDJ2R4CM.js";
15
+ } from "./chunk-WTHRMVKB.js";
16
16
  import {
17
17
  buildInitialSystemReminders,
18
18
  buildSystemMessage,
@@ -24,10 +24,10 @@ import {
24
24
  insertAfterFunctionResponses,
25
25
  isSlashCommand,
26
26
  normalizePartList
27
- } from "./chunk-THXDQSTA.js";
27
+ } from "./chunk-IQRQVPGN.js";
28
28
  import {
29
29
  RunBudgetEnforcer
30
- } from "./chunk-YGYSMY2R.js";
30
+ } from "./chunk-PSISZNIT.js";
31
31
  import {
32
32
  AlreadyReportedError,
33
33
  handleBudgetExceededError,
@@ -35,10 +35,10 @@ import {
35
35
  handleError,
36
36
  handleMaxTurnsExceededError,
37
37
  handleToolError
38
- } from "./chunk-4HUDDSO5.js";
38
+ } from "./chunk-LLIGYAQU.js";
39
39
  import {
40
40
  isInlineModelOverrideAllowed
41
- } from "./chunk-ZIXOTAPZ.js";
41
+ } from "./chunk-2DZ7E27L.js";
42
42
  import {
43
43
  buildSessionRecoveryPlanFromApiHistory,
44
44
  canonicalToolName,
@@ -55,19 +55,19 @@ import {
55
55
  partitionByConcurrencySafety,
56
56
  promptIdContext,
57
57
  restoreWorktreeContext
58
- } from "./chunk-NJOFRXTM.js";
58
+ } from "./chunk-6TDA4EVC.js";
59
59
  import {
60
60
  isTelemetrySdkInitialized,
61
61
  shutdownTelemetry,
62
62
  uiTelemetryService
63
- } from "./chunk-MQOVXZAF.js";
63
+ } from "./chunk-YN2I5I42.js";
64
64
  import {
65
65
  ToolNames
66
- } from "./chunk-JGUT3LWZ.js";
66
+ } from "./chunk-ANRANWVE.js";
67
67
  import {
68
68
  FatalInputError,
69
69
  createDebugLogger
70
- } from "./chunk-7NFB7LBQ.js";
70
+ } from "./chunk-UE5TZ55T.js";
71
71
  import {
72
72
  init_esbuild_shims
73
73
  } from "./chunk-5O2XNYP6.js";
@@ -98,14 +98,14 @@ var LOOP_TYPE_LABELS = {
98
98
  ["shell_command_stagnation" /* SHELL_COMMAND_STAGNATION */]: "the model repeated similar shell inspection commands without making progress",
99
99
  ["global_tool_call_duplicate" /* GLOBAL_TOOL_CALL_DUPLICATE */]: "the model repeated the same tool call across the turn, even when not back-to-back",
100
100
  ["alternating_tool_call_pattern" /* ALTERNATING_TOOL_CALL_PATTERN */]: "the model alternated between the same two tool calls in a repeating pattern",
101
- ["turn_tool_call_cap" /* TURN_TOOL_CALL_CAP */]: "the model exceeded the maximum number of tool calls allowed in a single turn",
101
+ ["turn_tool_call_cap" /* TURN_TOOL_CALL_CAP */]: "the turn reached the per-turn tool-call limit",
102
102
  ["invalid_tool_params_stagnation" /* INVALID_TOOL_PARAMS_STAGNATION */]: "the model repeatedly sent invalid tool parameters without correcting them"
103
103
  };
104
104
  function formatLoopDetectedMessage(loopType) {
105
105
  const reason = loopType ? LOOP_TYPE_LABELS[loopType] : void 0;
106
106
  const detail = reason ? ` (${loopType}: ${reason})` : "";
107
107
  const isAlwaysOn = loopType === "consecutive_identical_tool_calls" /* CONSECUTIVE_IDENTICAL_TOOL_CALLS */ || loopType === "shell_command_stagnation" /* SHELL_COMMAND_STAGNATION */ || loopType === "global_tool_call_duplicate" /* GLOBAL_TOOL_CALL_DUPLICATE */ || loopType === "invalid_tool_params_stagnation" /* INVALID_TOOL_PARAMS_STAGNATION */;
108
- const hint = loopType === "turn_tool_call_cap" /* TURN_TOOL_CALL_CAP */ ? " Raise the `model.maxToolCallsPerTurn` setting to allow longer turns, or set it to 0 to disable the cap." : isAlwaysOn ? " This is an always-on guard and cannot be disabled via `model.skipLoopDetection`." : " Set the `model.skipLoopDetection` setting to true to disable.";
108
+ const hint = loopType === "turn_tool_call_cap" /* TURN_TOOL_CALL_CAP */ ? " A per-turn tool-call cap was reached. The default is adaptive (allows up to 1000 diverse calls, halting only on repeated calls); an explicitly set `model.maxToolCallsPerTurn` is a hard cap. If the model was repeating the same call, investigate the repetition; otherwise unset the value to use the adaptive default, or raise it (set 0 to disable)." : isAlwaysOn ? " This is an always-on guard and cannot be disabled via `model.skipLoopDetection`." : " Set the `model.skipLoopDetection` setting to true to disable.";
109
109
  return `Loop detection halted the run${detail}.${hint}`;
110
110
  }
111
111
  __name(formatLoopDetectedMessage, "formatLoopDetectedMessage");
@@ -60,7 +60,7 @@ async function runExitCleanup(options = {}) {
60
60
  }
61
61
  __name(runExitCleanup, "runExitCleanup");
62
62
  async function cleanupCheckpoints() {
63
- const { Storage } = await import("./src-XPKFZ3RN.js");
63
+ const { Storage } = await import("./src-ADLNIPHD.js");
64
64
  const storage = new Storage(process.cwd());
65
65
  const tempDir = storage.getProjectTempDir();
66
66
  const checkpointsDir = join(tempDir, "checkpoints");
@@ -6,7 +6,7 @@ import {
6
6
  getNestedProperty,
7
7
  getPersistScopeForModelSelection,
8
8
  restoreSettingsFromBackup
9
- } from "./chunk-GNBBAQ6J.js";
9
+ } from "./chunk-ILQ42UG6.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  resolvePath
5
- } from "./chunk-ZQIYGQCG.js";
5
+ } from "./chunk-MHEZV3OY.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";