@qwen-code/qwen-code 0.24.4 → 0.24.5-nightly.20260924.ffea2d024e

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 (355) hide show
  1. package/bundled/agent-delegation/SKILL.md +56 -0
  2. package/bundled/browser-use/SKILL.md +11 -10
  3. package/bundled/browser-use/runtime/index.js +70 -31
  4. package/bundled/browser-use/runtime/native-host.js +1 -0
  5. package/bundled/browser-use/runtime/scripts/native-host-setup.js +1 -0
  6. package/bundled/computer-use/SKILL.md +182 -224
  7. package/bundled/qc-helper/docs/configuration/model-providers.md +13 -2
  8. package/bundled/qc-helper/docs/conversations-recovery.md +10 -0
  9. package/bundled/qc-helper/docs/features/browser-use.md +22 -12
  10. package/bundled/qc-helper/docs/features/channels/dingtalk.md +2 -2
  11. package/bundled/qc-helper/docs/features/channels/dws.md +7 -7
  12. package/bundled/qc-helper/docs/features/channels/feishu.md +1 -1
  13. package/bundled/qc-helper/docs/features/channels/github.md +13 -9
  14. package/bundled/qc-helper/docs/features/channels/gitlab.md +12 -5
  15. package/bundled/qc-helper/docs/features/channels/overview.md +121 -46
  16. package/bundled/qc-helper/docs/features/channels/plugins.md +12 -12
  17. package/bundled/qc-helper/docs/features/channels/qqbot.md +5 -5
  18. package/bundled/qc-helper/docs/features/channels/telegram.md +5 -5
  19. package/bundled/qc-helper/docs/features/channels/wecom.md +5 -4
  20. package/bundled/qc-helper/docs/features/channels/weixin.md +3 -3
  21. package/bundled/qc-helper/docs/features/code-review.md +4 -0
  22. package/bundled/qc-helper/docs/features/computer-use.md +1 -1
  23. package/bundled/qc-helper/docs/features/context-cost.md +7 -5
  24. package/bundled/qc-helper/docs/quickstart.md +14 -14
  25. package/bundled/qc-helper/docs/qwen-serve.md +10 -4
  26. package/bundled/review/SKILL.md +44 -9
  27. package/bundled/review/references/persistence.md +3 -4
  28. package/chunks/{MaxSizedBox-YRUOD55W.js → MaxSizedBox-P2GHN5YV.js} +33 -31
  29. package/chunks/{StandaloneSessionPicker-IIVDYLNQ.js → StandaloneSessionPicker-PEMEEZ3Z.js} +50 -48
  30. package/chunks/{acp-subagent-executor-5U2LT2ZS.js → acp-subagent-executor-OGMA6OLJ.js} +35 -33
  31. package/chunks/{acpAgent-GQCJ4KZY.js → acpAgent-A53IIIQE.js} +123 -97
  32. package/chunks/{agent-ZD5N6BSU.js → agent-JMMW45UJ.js} +18 -16
  33. package/chunks/{agent-headless-ZYDEB4YW.js → agent-headless-KPCHNPFD.js} +18 -16
  34. package/chunks/{anthropicContentGenerator-JOZNOMSX.js → anthropicContentGenerator-RDVBAABV.js} +3 -3
  35. package/chunks/{askUserQuestion-2NU6CXK2.js → askUserQuestion-V4OFZD5D.js} +1 -1
  36. package/chunks/{bridge-6BVTQBUK.js → bridge-TQHMDUPJ.js} +35 -33
  37. package/chunks/{channel-management-service-YN4A3BJ6.js → channel-management-service-Q2B7WUPL.js} +27 -10
  38. package/chunks/{channel-settings-store-GKXGAWDF.js → channel-settings-store-FKBBCMS2.js} +42 -40
  39. package/chunks/{channel-worker-group-AKPVHRUO.js → channel-worker-group-QNX4OIMZ.js} +5 -5
  40. package/chunks/{channel-worker-manager-TDAQSKWX.js → channel-worker-manager-IJCPV4WY.js} +24 -5
  41. package/chunks/{channel-worker-supervisor-PUMSN4J2.js → channel-worker-supervisor-ENJ2AE2N.js} +4 -4
  42. package/chunks/{chunk-GHJRFVPF.js → chunk-22JENOQB.js} +5 -4
  43. package/chunks/{chunk-4EQCVDVE.js → chunk-2FS4T477.js} +8 -8
  44. package/chunks/{chunk-CN6WQ2RW.js → chunk-2J2ZQVLC.js} +64 -2
  45. package/chunks/{chunk-ADPNUPK3.js → chunk-2JY2LCUU.js} +1 -1
  46. package/chunks/{chunk-CDPBJGOO.js → chunk-2SUKF4JL.js} +6 -6
  47. package/chunks/{chunk-KYFJLESB.js → chunk-3KDV7ZQJ.js} +38 -38
  48. package/chunks/{chunk-TOKDUK22.js → chunk-3S7UTGDX.js} +4 -4
  49. package/chunks/{chunk-2B2U26TT.js → chunk-3VJVCB2E.js} +4 -4
  50. package/chunks/{chunk-N4VKU36J.js → chunk-465XOJLQ.js} +1 -1
  51. package/chunks/{chunk-U2BS2NNZ.js → chunk-4UGMA2PY.js} +11 -89
  52. package/chunks/{chunk-MVC4XLNM.js → chunk-53IRNMPU.js} +118 -5
  53. package/chunks/{chunk-VGLXXHTF.js → chunk-5BLOZPTW.js} +1 -1
  54. package/chunks/{chunk-32MV4KJS.js → chunk-5Q7BILXI.js} +32 -9
  55. package/chunks/{chunk-DPEB6S2R.js → chunk-5QEJKW7V.js} +3522 -3070
  56. package/chunks/{chunk-NBWGGZY2.js → chunk-6MYJD4ZS.js} +13 -19
  57. package/chunks/{chunk-TBJBJDC3.js → chunk-75AREKQ5.js} +1 -1
  58. package/chunks/{chunk-P5OXAI4R.js → chunk-7ELTXG6G.js} +6 -6
  59. package/chunks/{chunk-GGUOO2XC.js → chunk-7RCAMBLN.js} +1 -1
  60. package/chunks/{chunk-72PBMHN5.js → chunk-ACUMQNP3.js} +35 -18
  61. package/chunks/{chunk-I46MJUYS.js → chunk-AT4FRIF6.js} +1 -1
  62. package/chunks/{chunk-CK5HUN74.js → chunk-BAV7Z5KE.js} +527 -135
  63. package/chunks/{chunk-LYEINKJD.js → chunk-BCW42UYG.js} +16 -12
  64. package/chunks/{chunk-N3HID7XO.js → chunk-BN3JSE4B.js} +7 -7
  65. package/chunks/{chunk-6VYKKLTW.js → chunk-BUMI6PRL.js} +5 -5
  66. package/chunks/{chunk-DKXSLDQN.js → chunk-C6TGSAYO.js} +4 -4
  67. package/chunks/{chunk-42HJVUP3.js → chunk-CD7AASGR.js} +1 -1
  68. package/chunks/{chunk-TS4Y2MHO.js → chunk-CGREZDGO.js} +1 -1
  69. package/chunks/chunk-CLNDQINM.js +523 -0
  70. package/chunks/{chunk-LNUQA3OE.js → chunk-CVRZNFXO.js} +1 -1
  71. package/chunks/{chunk-YWZOEHBT.js → chunk-DE2WI7RU.js} +192 -62
  72. package/chunks/{chunk-OD6ZS4US.js → chunk-DN7TVNHS.js} +1 -1
  73. package/chunks/{chunk-SAP35BR2.js → chunk-DNUSU3MC.js} +1 -1
  74. package/chunks/{chunk-WXCSKU3W.js → chunk-DV3DHBN6.js} +3 -3
  75. package/chunks/{chunk-RIQQLEYE.js → chunk-DVQCM4OJ.js} +1 -1
  76. package/chunks/{chunk-UNN4M5Z7.js → chunk-DY44AVOC.js} +1 -1
  77. package/chunks/{chunk-QZGPSTNK.js → chunk-EB3IUZV4.js} +3 -3
  78. package/chunks/{chunk-TZOI5TKT.js → chunk-EEXUIATI.js} +2 -2
  79. package/chunks/chunk-EMGHODF7.js +56 -0
  80. package/chunks/{chunk-3KD5I3G5.js → chunk-EMMJKUYQ.js} +3 -3
  81. package/chunks/{chunk-LW7WW3Z5.js → chunk-ERGQUKZ2.js} +1 -1
  82. package/chunks/{chunk-N25B6FZN.js → chunk-EYCDA5MN.js} +2 -0
  83. package/chunks/{chunk-H5I6FURC.js → chunk-F3ADPR3A.js} +20 -20
  84. package/chunks/{chunk-GNTHJTS2.js → chunk-F4WSLDSL.js} +1 -1
  85. package/chunks/{chunk-TX5DMDUG.js → chunk-FAXPWBVN.js} +1 -1
  86. package/chunks/{chunk-X2R47SFR.js → chunk-FLVPNMCS.js} +1 -1
  87. package/chunks/{chunk-2WXS6WNU.js → chunk-FQT6ZHKU.js} +17 -11
  88. package/chunks/{chunk-DXXCNZW4.js → chunk-GDOTFZKX.js} +7 -7
  89. package/chunks/{chunk-GZKSQ222.js → chunk-GI3G24M2.js} +6 -6
  90. package/chunks/{chunk-KY4HZXLV.js → chunk-GLPNIOEV.js} +33 -2
  91. package/chunks/{chunk-UBBHH6V4.js → chunk-GOIJGGKX.js} +7 -7
  92. package/chunks/{chunk-6PRSQUPJ.js → chunk-GQZZGEMS.js} +1 -1
  93. package/chunks/{chunk-5SLIP7KC.js → chunk-GSR2VAE6.js} +10 -10
  94. package/chunks/{chunk-4QYFUIEV.js → chunk-GT3ISCLZ.js} +45 -31
  95. package/chunks/{chunk-HH7R6RLK.js → chunk-GTQ35GRO.js} +1 -1
  96. package/chunks/{chunk-6IGW6HIV.js → chunk-GXLCL2SC.js} +1 -1
  97. package/chunks/{chunk-5OEY6RVW.js → chunk-HIX5TSC5.js} +4 -4
  98. package/chunks/{chunk-QROZDIMB.js → chunk-HJUAP436.js} +2 -2
  99. package/chunks/{chunk-K22NDLL4.js → chunk-HQTMH3GI.js} +3 -3
  100. package/chunks/{chunk-62DRQAZM.js → chunk-HXNXTDZQ.js} +1 -1
  101. package/chunks/{chunk-5A5VS7QC.js → chunk-I2TYEHKM.js} +2 -2
  102. package/chunks/{chunk-4VSTV4C2.js → chunk-IH22ZGZI.js} +53 -2
  103. package/chunks/{chunk-F7ZEBIEN.js → chunk-IJYQAXUO.js} +4 -4
  104. package/chunks/{chunk-2QLTKHIH.js → chunk-IS43JHQK.js} +1 -1
  105. package/chunks/{chunk-HS5OZTQF.js → chunk-J2FLXQJM.js} +1 -1
  106. package/chunks/{chunk-L4N5IWLI.js → chunk-J4DEZKGQ.js} +1 -1
  107. package/chunks/{chunk-TYMHGPN6.js → chunk-JIT2CBTI.js} +1 -1
  108. package/chunks/{chunk-D2H63VR2.js → chunk-JYOYZTGR.js} +4 -4
  109. package/chunks/{chunk-DBEN5QEB.js → chunk-K3NURH33.js} +3 -3
  110. package/chunks/{chunk-VTNSZQOF.js → chunk-K7WPYXOF.js} +2 -2
  111. package/chunks/{chunk-JE3J5HFM.js → chunk-KAOHUUM7.js} +62 -251
  112. package/chunks/{chunk-5NZED4YR.js → chunk-KC7DLSY7.js} +1 -1
  113. package/chunks/{chunk-U6BUJ2ZJ.js → chunk-KMBELEHL.js} +1 -1
  114. package/chunks/{chunk-BNPJT34T.js → chunk-KXKRYU57.js} +4 -4
  115. package/chunks/{chunk-MAY3R2RG.js → chunk-KZD6ZVFD.js} +1 -1
  116. package/chunks/{chunk-QKXZOHHQ.js → chunk-LDURD6EP.js} +15 -62
  117. package/chunks/{chunk-4JCRSCRO.js → chunk-LJ6YZBD6.js} +1 -1
  118. package/chunks/{chunk-VOHPPFJI.js → chunk-MHAVM3RF.js} +1 -1
  119. package/chunks/{chunk-MVLIEY6W.js → chunk-NFRX3HKQ.js} +3 -3
  120. package/chunks/{chunk-47C3HPMW.js → chunk-O5YL6KSX.js} +47 -18
  121. package/chunks/{chunk-K5NFICAO.js → chunk-ONIJYCSH.js} +3 -3
  122. package/chunks/{chunk-CIS4SY3R.js → chunk-PPBZHGEQ.js} +3 -3
  123. package/chunks/{chunk-PB7JBAHF.js → chunk-PVBIEIVZ.js} +0 -1
  124. package/chunks/{chunk-6N2PJAZG.js → chunk-PX2ZOOGQ.js} +1 -1
  125. package/chunks/{chunk-NNN2PKPV.js → chunk-PYYPSK6Q.js} +36 -495
  126. package/chunks/chunk-Q4FJVWI4.js +78 -0
  127. package/chunks/{chunk-PA4HU5IQ.js → chunk-QATPE3SN.js} +13 -7
  128. package/chunks/{chunk-HS2VQRHZ.js → chunk-QOBSJV7J.js} +3 -3
  129. package/chunks/{chunk-6NA357SF.js → chunk-QTNSMJKU.js} +1 -1
  130. package/chunks/{chunk-H4ET3HHT.js → chunk-QXCBFLYD.js} +1 -1
  131. package/chunks/{chunk-ZLGYH2QW.js → chunk-QZG34NFD.js} +3 -3
  132. package/chunks/{chunk-ZX6EZ7EH.js → chunk-RBE3WRSN.js} +3 -3
  133. package/chunks/{chunk-H4W6TJFJ.js → chunk-RONRTFAQ.js} +1 -1
  134. package/chunks/{chunk-STUJ7IMZ.js → chunk-SI7XKACY.js} +56 -56
  135. package/chunks/{chunk-WH7PDTZL.js → chunk-SJ2JVXQY.js} +8830 -7908
  136. package/chunks/{chunk-RFD37KE2.js → chunk-SMEUKYCR.js} +1 -1
  137. package/chunks/{chunk-OQMLQJEX.js → chunk-TENLV7C6.js} +5 -5
  138. package/chunks/{chunk-SNMYJZZG.js → chunk-TKEDWZ44.js} +5 -5
  139. package/chunks/{chunk-NXZD3VNX.js → chunk-TL7DSR47.js} +1 -1
  140. package/chunks/{chunk-J5C5SQQJ.js → chunk-TTHRVIPY.js} +62 -7
  141. package/chunks/{chunk-YIHOHHJL.js → chunk-TZHXHWEW.js} +1 -1
  142. package/chunks/{chunk-BTEPFM7T.js → chunk-UBL3PRRZ.js} +3 -3
  143. package/chunks/{chunk-XWCLIEJ2.js → chunk-UDXFQTUI.js} +2 -2
  144. package/chunks/{chunk-Z4RLAAF3.js → chunk-UO7RMX3D.js} +3 -3
  145. package/chunks/{chunk-A5QPMBRL.js → chunk-USEHQ5O2.js} +1 -1
  146. package/chunks/{chunk-NIB5MPTB.js → chunk-UYCJVDPK.js} +1 -1
  147. package/chunks/{chunk-52YR7XBE.js → chunk-VFE7QIOE.js} +20 -20
  148. package/chunks/{chunk-7WVZQVYU.js → chunk-VFYAQLSV.js} +2 -2
  149. package/chunks/{chunk-VPALWDQL.js → chunk-VUIH3BQL.js} +31 -12
  150. package/chunks/{chunk-LCTSR5TZ.js → chunk-W7TLK2JE.js} +2 -2
  151. package/chunks/{chunk-2VS5EEXU.js → chunk-WFHS3WCK.js} +136 -9
  152. package/chunks/{chunk-REFGAEP6.js → chunk-WNBI4ZWD.js} +2 -2
  153. package/chunks/{chunk-5NFAKADR.js → chunk-WZCVB2ER.js} +1 -36
  154. package/chunks/{chunk-B3BOQ562.js → chunk-XBIOF5ZN.js} +5 -5
  155. package/chunks/{chunk-E2FFBBLC.js → chunk-XQ4ALB6S.js} +2 -2
  156. package/chunks/{chunk-7I63HEBQ.js → chunk-YCWU2MD3.js} +3 -3
  157. package/chunks/{chunk-ODAWVZRE.js → chunk-YHGIEYIF.js} +25 -23
  158. package/chunks/{chunk-DYLGEL4Y.js → chunk-YID5BOAE.js} +6 -1
  159. package/chunks/{chunk-ILXHAHOV.js → chunk-YPY4FZDT.js} +5 -5
  160. package/chunks/{chunk-JVKG7KDB.js → chunk-YQYJ2SGK.js} +3 -3
  161. package/chunks/{chunk-73BAOEMB.js → chunk-ZG7MLW6R.js} +1 -1
  162. package/chunks/{chunk-IFWXQC7B.js → chunk-ZKZTUR7U.js} +1 -1
  163. package/chunks/{codex-subagent-executor-VSB4XPDB.js → codex-subagent-executor-3DP5XYNE.js} +35 -33
  164. package/chunks/{config-utils-DDUKVYVI.js → config-utils-GLX7SJ6O.js} +38 -34
  165. package/chunks/{contextCommand-GOW5PPVJ.js → contextCommand-DGFYOWR5.js} +33 -31
  166. package/chunks/{core-runtime-RP5WAAAJ.js → core-runtime-2LYDGU5V.js} +32 -30
  167. package/chunks/{create-sub-session-JTEIPMTJ.js → create-sub-session-35UOGHD7.js} +33 -31
  168. package/chunks/{daemon-Y6AOK7LF.js → daemon-D4OAVQKB.js} +1 -1
  169. package/chunks/{daemon-git-worktree-guard-W5I6GKLX.js → daemon-git-worktree-guard-3ITNVX66.js} +32 -30
  170. package/chunks/{daemon-status-provider-PJDKC6U5.js → daemon-status-provider-LBY4YRSJ.js} +40 -38
  171. package/chunks/{daemon-trust-policy-VXNR5PJS.js → daemon-trust-policy-ZNFE2I42.js} +38 -36
  172. package/chunks/{daemon-trust-policy-monitor-VKUSL32L.js → daemon-trust-policy-monitor-IUMXEDZO.js} +38 -36
  173. package/chunks/{deferred-core-runtime-PCWM2NAR.js → deferred-core-runtime-DJBM4M2A.js} +32 -30
  174. package/chunks/{dist-54LGNLWW.js → dist-3M75XY4G.js} +1 -1
  175. package/chunks/{dist-YZBMQPNS.js → dist-6U5NQYA7.js} +5 -5
  176. package/chunks/{dist-FVMLRUVM.js → dist-AS2RPYOB.js} +1 -1
  177. package/chunks/{dist-HANHY2MK.js → dist-GFT4GU72.js} +2 -2
  178. package/chunks/{dist-Y5GP7SWL.js → dist-J7JK3GPY.js} +10 -9
  179. package/chunks/{dist-O723VE2K.js → dist-JTPRKF5H.js} +30 -27
  180. package/chunks/{dist-MGZKUISU.js → dist-MOO5VOC5.js} +7 -20
  181. package/chunks/{dist-IZ66D5A3.js → dist-NJ2L5QKL.js} +1 -1
  182. package/chunks/{dist-EI2XAB4W.js → dist-YC6LDCKH.js} +22 -28
  183. package/chunks/{edit-NZLWHALE.js → edit-XOPO64IC.js} +20 -18
  184. package/chunks/{enter-worktree-J46XVFRS.js → enter-worktree-55OWD4LT.js} +4 -3
  185. package/chunks/{enterPlanMode-I4IZ27WH.js → enterPlanMode-T3GKYG47.js} +18 -16
  186. package/chunks/{environment-RF7WL5VP.js → environment-DLKZ42JH.js} +36 -32
  187. package/chunks/{errors-5F35O3KE.js → errors-UBNSHKPT.js} +34 -32
  188. package/chunks/{execution-sandbox-settings-HIYVUBII.js → execution-sandbox-settings-3WJ67GX3.js} +3 -1
  189. package/chunks/{execution-tool-EWS25O7E.js → execution-tool-J6W5JVU2.js} +21 -19
  190. package/chunks/{execution-worker-UAASM5HN.js → execution-worker-NB7VOXHE.js} +24 -22
  191. package/chunks/{exit-worktree-BC4SDZCC.js → exit-worktree-MI6N4OUP.js} +4 -3
  192. package/chunks/{exitPlanMode-HEBWGYVF.js → exitPlanMode-5SU4CL6O.js} +18 -16
  193. package/chunks/{fast-path-O2LJG7DE.js → fast-path-PMBHIP4A.js} +4 -4
  194. package/chunks/{fast-path-settings-TQAYWLXR.js → fast-path-settings-VIYSH3SD.js} +2 -2
  195. package/chunks/{glob-YKXRLC3S.js → glob-PFM2ZX2Q.js} +18 -16
  196. package/chunks/{goal-tools-QSX7V2QH.js → goal-tools-BFXHBNL3.js} +18 -16
  197. package/chunks/{handleAutoUpdate-JVVDCWPS.js → handleAutoUpdate-NS4L5IPQ.js} +34 -32
  198. package/chunks/{i18n-TA4BNBF7.js → i18n-MG7AUI3C.js} +32 -30
  199. package/chunks/{initializer-ZHOONLTG.js → initializer-2EHWDIL7.js} +38 -36
  200. package/chunks/{installationInfo-22Q7JVZC.js → installationInfo-IUK6GWUL.js} +32 -30
  201. package/chunks/{list-5DY27M3G.js → list-FVYHW6UK.js} +41 -39
  202. package/chunks/{llm-T6YVOAHI.js → llm-CIEL5EA7.js} +85 -74
  203. package/chunks/{llm-content-generator-7ZKU73HA.js → llm-content-generator-QWJIQRUP.js} +3 -3
  204. package/chunks/{loadedSettingsAdapter-JFIYHT25.js → loadedSettingsAdapter-GDD23BZ4.js} +38 -36
  205. package/chunks/{local-execution-environment-6VWOEJYW.js → local-execution-environment-7M6SPJXO.js} +24 -22
  206. package/chunks/{loggingContentGenerator-DIC5SOXG.js → loggingContentGenerator-MGVME2MV.js} +20 -18
  207. package/chunks/{managed-npm-update-5TDNQ2XJ.js → managed-npm-update-F3EMYFJE.js} +32 -30
  208. package/chunks/managed-runtime-attestation-worker-G23AEEMF.js +367 -0
  209. package/chunks/{mcp-7ZE6BR36.js → mcp-2LXAQFBW.js} +38 -36
  210. package/chunks/{model-call-collection-W2WDYVH7.js → model-call-collection-JLUMVNCT.js} +1 -1
  211. package/chunks/{model-configuration-WUA7G4GY.js → model-configuration-GUR32M76.js} +38 -36
  212. package/chunks/{modelConfigUtils-CSAC36WP.js → modelConfigUtils-Y3UZ7DR5.js} +33 -31
  213. package/chunks/{monitor-XCEGKLFN.js → monitor-DOSUZV4I.js} +18 -16
  214. package/chunks/{nonInteractiveCli-L7ON6MBN.js → nonInteractiveCli-F7YPIV3H.js} +74 -73
  215. package/chunks/{nonInteractiveToolExecutor-KLKO6IKA.js → nonInteractiveToolExecutor-WO2RE5HY.js} +19 -17
  216. package/chunks/{notebook-edit-QCYO2MGD.js → notebook-edit-CUHNYHP5.js} +19 -17
  217. package/chunks/{omni-QWKKNBSE.js → omni-PYA4ZCID.js} +10 -7
  218. package/chunks/{openaiContentGenerator-PFU4NAXB.js → openaiContentGenerator-GS2ORQMQ.js} +12 -10
  219. package/chunks/{openaiResponsesContentGenerator-MBZKLYFV.js → openaiResponsesContentGenerator-62YOYDIA.js} +5 -5
  220. package/chunks/{pidfile-Y6JFLZSG.js → pidfile-DEYAILAH.js} +32 -30
  221. package/chunks/{processUtils-WGMBDDAF.js → processUtils-E3CERUVZ.js} +2 -2
  222. package/chunks/{prompt-terminal-ledger-DKFZL5ZJ.js → prompt-terminal-ledger-YRZHHREO.js} +33 -31
  223. package/chunks/{qwenContentGenerator-Q6QY4LGK.js → qwenContentGenerator-2C3J7HYV.js} +21 -19
  224. package/chunks/{reactive-degrade-V2VC7H7O.js → reactive-degrade-GDNBQBBY.js} +6 -6
  225. package/chunks/{read-file-NFZY7N2C.js → read-file-ITAQTQHJ.js} +6 -3
  226. package/chunks/{record-artifact-K4XSMW4X.js → record-artifact-XP3X7RE5.js} +3 -2
  227. package/chunks/{record-source-XZCI3IGU.js → record-source-2VBLKVIE.js} +2 -2
  228. package/chunks/{report-findings-MCGXBQFX.js → report-findings-D2QUYUOG.js} +4 -3
  229. package/chunks/{request-shutdown-TT62PREA.js → request-shutdown-R5SA5GE3.js} +1 -1
  230. package/chunks/{resumeHistoryUtils-HPFUAULU.js → resumeHistoryUtils-L2UNUBSP.js} +35 -33
  231. package/chunks/{ripGrep-PNFY7H5A.js → ripGrep-EAASDYG3.js} +8 -5
  232. package/chunks/{run-qwen-serve-LHARMZ7C.js → run-qwen-serve-LN76E4VH.js} +278 -79
  233. package/chunks/{runtime-R3ECTRPN.js → runtime-UL6DZYHW.js} +43 -41
  234. package/chunks/{sandboxConfig-LQ2JAICC.js → sandboxConfig-2N3BXDJA.js} +34 -32
  235. package/chunks/{scheduled-tasks-SHRO5IGN.js → scheduled-tasks-DGIGRBYW.js} +38 -36
  236. package/chunks/{scheduler-SDVHFPG4.js → scheduler-BCHAOQWV.js} +34 -32
  237. package/chunks/{send-message-3UM7XRTB.js → send-message-FBU6WDID.js} +1 -1
  238. package/chunks/{serve-ZIDUQEXD.js → serve-CZZHMYCY.js} +38 -36
  239. package/chunks/{server-5R5R5J4B.js → server-DV6PIMPW.js} +1789 -375
  240. package/chunks/{session-JP4CDING.js → session-PFPIIM3N.js} +75 -74
  241. package/chunks/{session-attachments-root-UMG3UM6R.js → session-attachments-root-ALF36B7T.js} +32 -30
  242. package/chunks/{session-pr-refresh-VCZDCDQF.js → session-pr-refresh-E4DAPHGT.js} +37 -35
  243. package/chunks/{settings-ARQIF4FZ.js → settings-YRMNIP6J.js} +37 -35
  244. package/chunks/{shell-EM2EW5GF.js → shell-UMZ5J6UJ.js} +18 -16
  245. package/chunks/{skill-ARBE3YO6.js → skill-WQBDICQA.js} +52 -13
  246. package/chunks/{skill-settings-XUKYH6QL.js → skill-settings-W4OLDKUA.js} +38 -36
  247. package/chunks/{spawnChannel-OUG6AG5B.js → spawnChannel-EAFCNPOA.js} +34 -32
  248. package/chunks/{standalone-update-ITTOS33Q.js → standalone-update-D7JQ27GQ.js} +33 -31
  249. package/chunks/{start-opentui-ui-HPBFC62Q.js → start-opentui-ui-43ATEBO2.js} +87 -86
  250. package/chunks/{startInteractiveUI-PJDI6SSE.js → startInteractiveUI-HJLPYP6N.js} +1040 -969
  251. package/chunks/{task-create-PEI7AJLE.js → task-create-PVF66J3R.js} +2 -2
  252. package/chunks/{task-update-MQZRWBGK.js → task-update-RSIITTOK.js} +2 -2
  253. package/chunks/{team-create-TBFNDDRY.js → team-create-QKZREJRV.js} +18 -16
  254. package/chunks/{team-plan-approval-57CJ2K3A.js → team-plan-approval-BU4HTFUI.js} +18 -16
  255. package/chunks/{terminal-image-renderer-QQ4343Q3.js → terminal-image-renderer-7KWVCSJU.js} +32 -30
  256. package/chunks/{theme-manager-CNGZ6T4K.js → theme-manager-I4S4TGZV.js} +32 -30
  257. package/chunks/{tool-call-PLSQ34VE.js → tool-call-DUHP6UXC.js} +2 -2
  258. package/chunks/{tool-result-media-R2EWIHTZ.js → tool-result-media-R2JNWHDG.js} +10 -7
  259. package/chunks/{tool-search-WPQALMLE.js → tool-search-4LU3SWMU.js} +7 -4
  260. package/chunks/{total-session-admission-MXIAY76R.js → total-session-admission-AIC2VP5H.js} +35 -33
  261. package/chunks/{trustedFolders-ZQQ2ETMA.js → trustedFolders-WVBPJOAW.js} +33 -31
  262. package/chunks/{update-relaunch-XVIHEJCH.js → update-relaunch-SON2QA6T.js} +5 -5
  263. package/chunks/{updateCheck-YQBGCMNZ.js → updateCheck-THHMK6IX.js} +32 -30
  264. package/chunks/{upload-config-UW6QN3CL.js → upload-config-VPUAXWRX.js} +4 -4
  265. package/chunks/{useAutoAcceptIndicator-GKQRK7OB.js → useAutoAcceptIndicator-LTUZXFZC.js} +41 -39
  266. package/chunks/{validateNonInterActiveAuth-JJTHAV5P.js → validateNonInterActiveAuth-KUNH2FOL.js} +72 -71
  267. package/chunks/{version-MZOCP6O7.js → version-GMDVWXUG.js} +1 -1
  268. package/chunks/{web-fetch-NX5NKVE3.js → web-fetch-MM4TA6NJ.js} +13 -9
  269. package/chunks/{web-search-VLFIKS3K.js → web-search-IAWACMBT.js} +4 -4
  270. package/chunks/{web-shell-static-GI6FVIMI.js → web-shell-static-E3O6NW7Y.js} +4 -3
  271. package/chunks/{workflow-EGMC2K5T.js → workflow-5MTBNIH6.js} +22 -20
  272. package/chunks/{workspace-providers-status-KPBNO6UE.js → workspace-providers-status-5M3UOWCJ.js} +43 -41
  273. package/chunks/{workspace-registration-store-WWCOY7D7.js → workspace-registration-store-MXY4VBW4.js} +1 -1
  274. package/chunks/{workspace-registry-LAS7KJOK.js → workspace-registry-KTTGYUOC.js} +35 -33
  275. package/chunks/{workspace-runtime-coordinator-7VEYHXEU.js → workspace-runtime-coordinator-V6MBZQVT.js} +36 -34
  276. package/chunks/{workspace-service-OUE5MDOT.js → workspace-service-UMQUHB32.js} +40 -38
  277. package/chunks/{workspace-skills-status-OHGY3ENO.js → workspace-skills-status-F7IWMYNU.js} +41 -39
  278. package/chunks/{workspace-trust-reconciler-E766QSRS.js → workspace-trust-reconciler-MDLI73QF.js} +41 -39
  279. package/chunks/{write-file-ZLRRA4ZT.js → write-file-LHOV3BL3.js} +21 -19
  280. package/chunks/{zoom-image-EX3C2PMJ.js → zoom-image-VTPGT3GB.js} +10 -6
  281. package/cli-entry.js +13 -0
  282. package/cli.js +24 -12
  283. package/execution-worker.js +1 -1
  284. package/export-transcript-document.css +1 -1
  285. package/export-transcript-document.js +104 -104
  286. package/package.json +3 -3
  287. package/web-shell/assets/{abnfDiagram-VCTEODGH-Dbkc1x4g.js → abnfDiagram-VCTEODGH-BIzY5prP.js} +1 -1
  288. package/web-shell/assets/{arc-BCuaHw2a.js → arc-DTPoYgqM.js} +1 -1
  289. package/web-shell/assets/{architectureDiagram-5GKGNRK7-CYnlVHx4.js → architectureDiagram-5GKGNRK7-DMRFm81i.js} +1 -1
  290. package/web-shell/assets/{blockDiagram-NRAW4CY4-fvsmUmR-.js → blockDiagram-NRAW4CY4-TcNGiiEi.js} +1 -1
  291. package/web-shell/assets/{c4Diagram-UCG6FXSJ-BAjnpe2_.js → c4Diagram-UCG6FXSJ-CsSMrmkn.js} +1 -1
  292. package/web-shell/assets/channel-CX6nRLY5.js +1 -0
  293. package/web-shell/assets/{chunk-2Q5K7J3B-B92_XH72.js → chunk-2Q5K7J3B-DLUS2OKz.js} +1 -1
  294. package/web-shell/assets/{chunk-5VM5RSS4-nFcltF2f.js → chunk-5VM5RSS4-Dj3neojq.js} +1 -1
  295. package/web-shell/assets/{chunk-F27PBJKO-DuQ75APu.js → chunk-F27PBJKO-DKTGRC_7.js} +1 -1
  296. package/web-shell/assets/{chunk-G27WJ6UU-CmXIQ06U.js → chunk-G27WJ6UU-Bhhhl7xI.js} +1 -1
  297. package/web-shell/assets/{chunk-JWPE2WC7-pplos71B.js → chunk-JWPE2WC7-7AfyvpFL.js} +1 -1
  298. package/web-shell/assets/{chunk-LCL6LL3I-BHK6p5jT.js → chunk-LCL6LL3I-C50Eay3L.js} +1 -1
  299. package/web-shell/assets/{chunk-POPQ4Y6H-Bw6egCVb.js → chunk-POPQ4Y6H-CRBPbOWe.js} +1 -1
  300. package/web-shell/assets/{chunk-SVP7TREG-BKSUyFl-.js → chunk-SVP7TREG-Ctr7vVt3.js} +1 -1
  301. package/web-shell/assets/{chunk-XXDRQBXY-DBK4vu_O.js → chunk-XXDRQBXY-B4ExJpUK.js} +1 -1
  302. package/web-shell/assets/classDiagram-DTDB5LWJ-DvX73GRE.js +1 -0
  303. package/web-shell/assets/classDiagram-v2-JRS7N3AN-DvX73GRE.js +1 -0
  304. package/web-shell/assets/{cose-bilkent-JH36ORCC-D8AjDuhC.js → cose-bilkent-JH36ORCC-Cllr81g5.js} +1 -1
  305. package/web-shell/assets/{cynefin-OW5HDTMX-F6ziGG13.js → cynefin-OW5HDTMX-dbFc7Jqn.js} +1 -1
  306. package/web-shell/assets/{cynefinDiagram-5FMLGOSQ-1GrUeu9I.js → cynefinDiagram-5FMLGOSQ-CHqViWsG.js} +1 -1
  307. package/web-shell/assets/{dagre-3AP2YEHR-CUMduMoA.js → dagre-3AP2YEHR-DVHuD-Ma.js} +1 -1
  308. package/web-shell/assets/{diagram-S7CK7UJ4-B0LbPx0Y.js → diagram-S7CK7UJ4-B6P5dSD8.js} +1 -1
  309. package/web-shell/assets/{diagram-UQ7AKVKN-Vl7zFXEJ.js → diagram-UQ7AKVKN-BPdvjv7b.js} +1 -1
  310. package/web-shell/assets/{diagram-VSXAHHWV-C4khzWQM.js → diagram-VSXAHHWV-Cf3wqtZb.js} +1 -1
  311. package/web-shell/assets/{diagram-VX7I27RA-PqprIzeP.js → diagram-VX7I27RA-iT7vh4BN.js} +1 -1
  312. package/web-shell/assets/{diagram-Z3DM3KII-CbGTxGOI.js → diagram-Z3DM3KII-CBq-pKMo.js} +1 -1
  313. package/web-shell/assets/{ebnfDiagram-PWID7BFC-CigwMsaO.js → ebnfDiagram-PWID7BFC-CWo8D0_l.js} +1 -1
  314. package/web-shell/assets/{erDiagram-SSCWMZ5O-L4s33GGv.js → erDiagram-SSCWMZ5O-BdcX9VXM.js} +1 -1
  315. package/web-shell/assets/{flowDiagram-A5DVABFB-D7mgIH88.js → flowDiagram-A5DVABFB-D2uR47D0.js} +1 -1
  316. package/web-shell/assets/{ganttDiagram-EL5Y4UJY-D0YhclTy.js → ganttDiagram-EL5Y4UJY-Du1Q-imH.js} +1 -1
  317. package/web-shell/assets/{gitGraphDiagram-WWUBYQGX-Bwf59IHb.js → gitGraphDiagram-WWUBYQGX-ZytI2J6R.js} +1 -1
  318. package/web-shell/assets/{index-CJ63h8ay.js → index-B5zIMd3G.js} +1 -1
  319. package/web-shell/assets/index-DuwfO01z.css +36 -0
  320. package/web-shell/assets/index-t2okSTsk.js +2407 -0
  321. package/web-shell/assets/{infoDiagram-RXCK75RN-T0Ewe5gl.js → infoDiagram-RXCK75RN-DeZwQFlp.js} +1 -1
  322. package/web-shell/assets/{ishikawaDiagram-5VMMS53U-BIdQGz1A.js → ishikawaDiagram-5VMMS53U-pDgu1jeK.js} +1 -1
  323. package/web-shell/assets/{journeyDiagram-EYS64GPL-BNxIYRys.js → journeyDiagram-EYS64GPL-ZCvpl8hA.js} +1 -1
  324. package/web-shell/assets/{kanban-definition-3QL26DDD-DCSrG78S.js → kanban-definition-3QL26DDD-C9qY0GRv.js} +1 -1
  325. package/web-shell/assets/{layout-Br6mhJlI.js → layout-BixptjLn.js} +1 -1
  326. package/web-shell/assets/{linear-DCb_qQM9.js → linear-DjkqGiAW.js} +1 -1
  327. package/web-shell/assets/{mermaid.core-U7MUxrwT.js → mermaid.core-BSX0Vr31.js} +6 -6
  328. package/web-shell/assets/{mindmap-definition-FBJOCRG2-B-E16G7A.js → mindmap-definition-FBJOCRG2-CBrjZekm.js} +1 -1
  329. package/web-shell/assets/{pegDiagram-XKGWAZYB-DprVaT2C.js → pegDiagram-XKGWAZYB-DQIDACM3.js} +1 -1
  330. package/web-shell/assets/{pieDiagram-E7YTZNPT-BpWhdw8B.js → pieDiagram-E7YTZNPT-CjeBecJ1.js} +1 -1
  331. package/web-shell/assets/{quadrantDiagram-AXDQQJYC-B_rgquel.js → quadrantDiagram-AXDQQJYC-s_fyH42A.js} +1 -1
  332. package/web-shell/assets/{railroadDiagram-O6MQD6OU-tn5q9Df1.js → railroadDiagram-O6MQD6OU-CruAGcMa.js} +1 -1
  333. package/web-shell/assets/{requirementDiagram-EFPCY7ZU-DcXXYQ7a.js → requirementDiagram-EFPCY7ZU-CTBv3FSX.js} +1 -1
  334. package/web-shell/assets/{sankeyDiagram-P5KCCOFB-XFCBKj8s.js → sankeyDiagram-P5KCCOFB-CjFlz0KT.js} +1 -1
  335. package/web-shell/assets/{sequenceDiagram-WJ2MYXX4-C9HOvsOz.js → sequenceDiagram-WJ2MYXX4-DRNDmQQw.js} +1 -1
  336. package/web-shell/assets/{sizeCapture-X5ZJPWSS-BF4RFDcQ.js → sizeCapture-X5ZJPWSS-BvBdgQsw.js} +1 -1
  337. package/web-shell/assets/{stateDiagram-HBIQ2CUA-CFvvXZXi.js → stateDiagram-HBIQ2CUA-D1dJtfN0.js} +1 -1
  338. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-DXVOtEux.js +1 -0
  339. package/web-shell/assets/{swimlanes-XN3QIQJK-BeHFLDui.js → swimlanes-XN3QIQJK-QylCxvYC.js} +1 -1
  340. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-BqCkfjdF.js +8 -0
  341. package/web-shell/assets/{timeline-definition-24CTP7MA-D563SQiU.js → timeline-definition-24CTP7MA-Cw56FtZw.js} +1 -1
  342. package/web-shell/assets/{vennDiagram-4TSXK5OY-BmVC7Jer.js → vennDiagram-4TSXK5OY-DyA0dekR.js} +1 -1
  343. package/web-shell/assets/{wardleyDiagram-VM6X3IG4-Dlzz2LC2.js → wardleyDiagram-VM6X3IG4-CoAgxg4O.js} +1 -1
  344. package/web-shell/assets/{xychartDiagram-S5SC5T6Z-CiOybQQL.js → xychartDiagram-S5SC5T6Z-kH3Md0xm.js} +1 -1
  345. package/web-shell/index.html +2 -2
  346. package/web-shell/sw.js +1 -1
  347. package/bundled/computer-use/references/macos.md +0 -208
  348. package/bundled/computer-use/references/windows-linux.md +0 -247
  349. package/web-shell/assets/channel-BzQAUXQG.js +0 -1
  350. package/web-shell/assets/classDiagram-DTDB5LWJ-D8E4B_In.js +0 -1
  351. package/web-shell/assets/classDiagram-v2-JRS7N3AN-D8E4B_In.js +0 -1
  352. package/web-shell/assets/index-C0YFCwlu.js +0 -2337
  353. package/web-shell/assets/index-mr0Sw0G-.css +0 -36
  354. package/web-shell/assets/stateDiagram-v2-4QOOHH4V-1C9qvD3x.js +0 -1
  355. package/web-shell/assets/swimlanesDiagram-VK2B7HYN-H_KJGVAj.js +0 -8
@@ -11,7 +11,7 @@ import {
11
11
  isCacheableReadResult,
12
12
  parsePDFPageRange,
13
13
  processSingleFileContent
14
- } from "./chunk-NNN2PKPV.js";
14
+ } from "./chunk-PYYPSK6Q.js";
15
15
  import {
16
16
  getCurrentToolCallSource
17
17
  } from "./chunk-CFMZLE3L.js";
@@ -21,6 +21,16 @@ import {
21
21
  import {
22
22
  runSideQuery
23
23
  } from "./chunk-GHKVBSBY.js";
24
+ import {
25
+ TOOL_RESULT_MEDIA_REMEDY,
26
+ clampInlineMediaPart,
27
+ getMaxInlineMediaBytes
28
+ } from "./chunk-Q4FJVWI4.js";
29
+ import {
30
+ ImageViewError,
31
+ boundImageBuffer,
32
+ sniffBoundableImageMime
33
+ } from "./chunk-CLNDQINM.js";
24
34
  import {
25
35
  INVOCATION_CONTEXT_META_KEY,
26
36
  getInvocationContext
@@ -34,7 +44,7 @@ import {
34
44
  } from "./chunk-XASQGHGO.js";
35
45
  import {
36
46
  defaultModalities
37
- } from "./chunk-P5OXAI4R.js";
47
+ } from "./chunk-7ELTXG6G.js";
38
48
  import {
39
49
  safeJsonStringify
40
50
  } from "./chunk-HHJLM3WQ.js";
@@ -6087,9 +6097,9 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
6087
6097
  clearTimeout(idleTimeoutId);
6088
6098
  idleTimeoutId = void 0;
6089
6099
  }
6090
- const rawResponseParts = wrapMcpCallToolResultAsParts(
6091
- this.serverToolName,
6092
- callToolResult
6100
+ const rawResponseParts = await this.boundImages(
6101
+ wrapMcpCallToolResultAsParts(this.serverToolName, callToolResult),
6102
+ signal
6093
6103
  );
6094
6104
  if (this.isMCPToolError(rawResponseParts)) {
6095
6105
  return await this.buildMcpToolError(rawResponseParts, {
@@ -6097,7 +6107,9 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
6097
6107
  args: this.params
6098
6108
  });
6099
6109
  }
6100
- const transformedParts = transformMcpContentToParts(rawResponseParts);
6110
+ const transformedParts = await this.clampInlineMedia(
6111
+ transformMcpContentToParts(rawResponseParts)
6112
+ );
6101
6113
  const truncated = await this.truncateTextParts(transformedParts);
6102
6114
  const fallbackText = getDisplayFromPartsWithPersistedOutput(
6103
6115
  transformedParts,
@@ -6221,11 +6233,13 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
6221
6233
  if (isParentAbortOutcome(outcome)) {
6222
6234
  throw outcome.reason;
6223
6235
  }
6224
- const rawResponseParts = outcome;
6236
+ const rawResponseParts = await this.boundImages(outcome, signal);
6225
6237
  if (this.isMCPToolError(rawResponseParts)) {
6226
6238
  return await this.buildMcpToolError(rawResponseParts, functionCalls[0]);
6227
6239
  }
6228
- const transformedParts = transformMcpContentToParts(rawResponseParts);
6240
+ const transformedParts = await this.clampInlineMedia(
6241
+ transformMcpContentToParts(rawResponseParts)
6242
+ );
6229
6243
  const truncated = await this.truncateTextParts(transformedParts);
6230
6244
  return {
6231
6245
  llmContent: truncated.parts,
@@ -6253,7 +6267,9 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
6253
6267
  let errorMessage;
6254
6268
  let persistedOutputFiles;
6255
6269
  if (imageContent) {
6256
- const truncatedContent = await this.truncateTextParts(imageContent);
6270
+ const truncatedContent = await this.truncateTextParts(
6271
+ await this.clampInlineMedia(imageContent)
6272
+ );
6257
6273
  llmContent = truncatedContent.parts;
6258
6274
  persistedOutputFiles = truncatedContent.persistedOutputFiles;
6259
6275
  errorMessage = `MCP tool '${this.serverToolName}' reported tool error for function call: ${safeJsonStringify(
@@ -6275,6 +6291,28 @@ var DiscoveredMCPToolInvocation = class _DiscoveredMCPToolInvocation extends Bas
6275
6291
  ...persistedOutputFiles !== void 0 ? { persistedOutputFiles } : {}
6276
6292
  };
6277
6293
  }
6294
+ boundImages(rawResponseParts, signal) {
6295
+ return boundMcpImageBlocks(
6296
+ rawResponseParts,
6297
+ signal,
6298
+ `${this.serverName}/${this.serverToolName}`
6299
+ );
6300
+ }
6301
+ async clampInlineMedia(parts) {
6302
+ return clampMcpInlineMedia(parts, await this.isOmniMediaDeliveryActive());
6303
+ }
6304
+ /**
6305
+ * Whether the omni funnel (`processToolResultOmniMedia`) takes over this
6306
+ * result's image, audio and video parts. It uploads by reference under its
6307
+ * own ceilings and bounds any part it keeps inline, so the inline clamp must
6308
+ * not pre-empt it. `isOmniEnabled()` runs first so non-omni sessions skip
6309
+ * the dynamic import, as in `fileUtils`.
6310
+ */
6311
+ async isOmniMediaDeliveryActive() {
6312
+ if (!this.cliConfig?.isOmniEnabled?.()) return false;
6313
+ const omni = await this.cliConfig.loadOmniMediaReader();
6314
+ return omni.isOmniDeliveryActive(this.cliConfig);
6315
+ }
6278
6316
  /**
6279
6317
  * Truncates text parts in the transformed result if they exceed the
6280
6318
  * configured threshold. Non-text parts (images, audio, etc.) are preserved.
@@ -6565,6 +6603,86 @@ function transformImageAudioBlock(block, toolName) {
6565
6603
  ];
6566
6604
  }
6567
6605
  __name(transformImageAudioBlock, "transformImageAudioBlock");
6606
+ async function boundMcpImageBlocks(rawResponseParts, signal, subject) {
6607
+ const funcResponse = rawResponseParts?.[0]?.functionResponse;
6608
+ const content = funcResponse?.response?.["content"];
6609
+ if (!funcResponse || !Array.isArray(content)) return rawResponseParts;
6610
+ const inlineByteCeiling = getMaxInlineMediaBytes();
6611
+ let changed = false;
6612
+ const boundedContent = [];
6613
+ for (const block of content) {
6614
+ const media = block.type === "image" ? { data: block.data, mimeType: block.mimeType } : block.type === "resource" && block.resource?.blob ? { data: block.resource.blob, mimeType: block.resource.mimeType } : void 0;
6615
+ const sniffedMime = typeof media?.data === "string" ? sniffBoundableImageMime(
6616
+ Buffer.from(media.data.slice(0, 16), "base64")
6617
+ ) : null;
6618
+ if (!media || !sniffedMime) {
6619
+ boundedContent.push(block);
6620
+ continue;
6621
+ }
6622
+ let bounded;
6623
+ try {
6624
+ const view = await boundImageBuffer(
6625
+ Buffer.from(media.data, "base64"),
6626
+ `${subject} ${sniffedMime}`,
6627
+ signal,
6628
+ inlineByteCeiling
6629
+ );
6630
+ bounded = view ? { data: view.bytes.toString("base64"), mimeType: view.mimeType } : { data: media.data, mimeType: sniffedMime };
6631
+ } catch (error) {
6632
+ if (!(error instanceof ImageViewError)) {
6633
+ throw error;
6634
+ }
6635
+ const message = `Unable to bound MCP image from ${subject} (${media.mimeType}): ${getErrorMessage(error)}`;
6636
+ if (error.code === "renderer_unavailable") {
6637
+ debugLogger5.warn(message);
6638
+ } else {
6639
+ debugLogger5.debug(message);
6640
+ }
6641
+ }
6642
+ if (!bounded || bounded.data === media.data && bounded.mimeType === media.mimeType) {
6643
+ boundedContent.push(block);
6644
+ continue;
6645
+ }
6646
+ changed = true;
6647
+ boundedContent.push(
6648
+ block.type === "resource" ? {
6649
+ ...block,
6650
+ resource: {
6651
+ ...block.resource,
6652
+ blob: bounded.data,
6653
+ mimeType: bounded.mimeType
6654
+ }
6655
+ } : { ...block, ...bounded }
6656
+ );
6657
+ }
6658
+ if (!changed) return rawResponseParts;
6659
+ return [
6660
+ {
6661
+ ...rawResponseParts[0],
6662
+ functionResponse: {
6663
+ ...funcResponse,
6664
+ response: { ...funcResponse.response, content: boundedContent }
6665
+ }
6666
+ },
6667
+ ...rawResponseParts.slice(1)
6668
+ ];
6669
+ }
6670
+ __name(boundMcpImageBlocks, "boundMcpImageBlocks");
6671
+ function clampMcpInlineMedia(parts, omniDeliveryActive) {
6672
+ const inlineByteCeiling = getMaxInlineMediaBytes();
6673
+ return parts.map((part) => {
6674
+ const mimeType = part.inlineData?.mimeType;
6675
+ if (!part.inlineData || omniDeliveryActive && /^(image|audio|video)\//.test(mimeType ?? "")) {
6676
+ return part;
6677
+ }
6678
+ return clampInlineMediaPart(
6679
+ part,
6680
+ inlineByteCeiling,
6681
+ TOOL_RESULT_MEDIA_REMEDY
6682
+ );
6683
+ });
6684
+ }
6685
+ __name(clampMcpInlineMedia, "clampMcpInlineMedia");
6568
6686
  function transformResourceBlock(block, toolName) {
6569
6687
  const resource = block.resource;
6570
6688
  if (resource?.text) {
@@ -6777,6 +6895,14 @@ var ToolCallEvent = class {
6777
6895
  function_name;
6778
6896
  function_args;
6779
6897
  duration_ms;
6898
+ /**
6899
+ * Epoch ms at which `duration_ms` started counting: when the call was
6900
+ * scheduled, before any approval wait. Set only when the producer measured
6901
+ * it. Readers must not derive it from `event.timestamp` instead — that is
6902
+ * when the event was logged, which for a scheduled batch is after every
6903
+ * call in the batch has settled.
6904
+ */
6905
+ started_at_ms;
6780
6906
  status;
6781
6907
  execution_status;
6782
6908
  success;
@@ -6801,6 +6927,7 @@ var ToolCallEvent = class {
6801
6927
  this.function_name = call.request.name;
6802
6928
  this.function_args = call.request.name === ToolNames.STRUCTURED_OUTPUT ? { ...STRUCTURED_OUTPUT_REDACTED_ARGS } : call.request.args;
6803
6929
  this.duration_ms = call.durationMs ?? 0;
6930
+ if (call.startTime !== void 0) this.started_at_ms = call.startTime;
6804
6931
  this.status = call.status;
6805
6932
  this.execution_status = call.response.executionStatus;
6806
6933
  this.success = call.status === "success";
@@ -5,7 +5,7 @@ import {
5
5
  } from "./chunk-A4MRRFBI.js";
6
6
  import {
7
7
  createStderrForwarder
8
- } from "./chunk-2QLTKHIH.js";
8
+ } from "./chunk-IS43JHQK.js";
9
9
  import {
10
10
  ClientSideConnection,
11
11
  PROTOCOL_VERSION,
@@ -15,7 +15,7 @@ import {
15
15
  import {
16
16
  AgentEventEmitter,
17
17
  renderSubagentSystemPrompt
18
- } from "./chunk-DPEB6S2R.js";
18
+ } from "./chunk-5QEJKW7V.js";
19
19
  import {
20
20
  sanitizeChildEnv
21
21
  } from "./chunk-5ZPFMX67.js";
@@ -3,9 +3,6 @@
3
3
  import {
4
4
  require_lib
5
5
  } from "./chunk-CKXUWR6I.js";
6
- import {
7
- WEB_SHELL_PWA_ASSETS
8
- } from "./chunk-4VSTV4C2.js";
9
6
  import {
10
7
  require_content_type
11
8
  } from "./chunk-GOFAQQZA.js";
@@ -24730,41 +24727,9 @@ var require_express2 = __commonJS({
24730
24727
  }
24731
24728
  });
24732
24729
 
24733
- // packages/cli/src/serve/web-shell-preauth.ts
24734
- init_esbuild_shims();
24735
- function isDocumentNavigation(req) {
24736
- const fetchMode = req.headers["sec-fetch-mode"];
24737
- const fetchDest = req.headers["sec-fetch-dest"];
24738
- const accept = req.headers.accept ?? "";
24739
- return fetchMode === "navigate" || fetchDest === "document" || accept.trim().toLowerCase().startsWith("text/html");
24740
- }
24741
- __name(isDocumentNavigation, "isDocumentNavigation");
24742
- var SESSION_DEEP_LINK_PATH = /^\/session\/[^/]+\/?$/u;
24743
- function isPreAuthWebShellRequest(req) {
24744
- if (req.method !== "GET" && req.method !== "HEAD") return false;
24745
- const reqPath = req.path.toLowerCase();
24746
- if (reqPath === "/" || // Express non-strict routing compiles `/` to `/^(?:\/)(?:\/$)?$/i`, so
24747
- // a raw `//` also matches `app.get('/')` pre-auth (but `///` does not).
24748
- reqPath === "//" || reqPath === "/assets" || reqPath.startsWith("/assets/") || reqPath === "/mcp-app-sandbox" || // Manifest and worker requests cannot attach Authorization. Express
24749
- // matches these routes case-insensitively with an optional trailing slash.
24750
- WEB_SHELL_PWA_ASSETS.some(
24751
- ({ route }) => reqPath === route || reqPath === `${route}/`
24752
- ))
24753
- return true;
24754
- return SESSION_DEEP_LINK_PATH.test(reqPath) && isDocumentNavigation(req);
24755
- }
24756
- __name(isPreAuthWebShellRequest, "isPreAuthWebShellRequest");
24757
-
24758
24730
  export {
24759
- require_express2 as require_express,
24760
- isDocumentNavigation,
24761
- isPreAuthWebShellRequest
24731
+ require_express2 as require_express
24762
24732
  };
24763
- /**
24764
- * @license
24765
- * Copyright 2025 Qwen Team
24766
- * SPDX-License-Identifier: Apache-2.0
24767
- */
24768
24733
  /*! Bundled license information:
24769
24734
 
24770
24735
  depd/index.js:
@@ -2,20 +2,20 @@
2
2
  "use strict";
3
3
  import {
4
4
  getExtensionManager
5
- } from "./chunk-K5NFICAO.js";
5
+ } from "./chunk-ONIJYCSH.js";
6
6
  import {
7
7
  parseChannelConfig
8
- } from "./chunk-MVC4XLNM.js";
8
+ } from "./chunk-53IRNMPU.js";
9
9
  import {
10
10
  getPlugin,
11
11
  registerPlugin
12
- } from "./chunk-VPALWDQL.js";
12
+ } from "./chunk-VUIH3BQL.js";
13
13
  import {
14
14
  sanitizeLogText
15
- } from "./chunk-YWZOEHBT.js";
15
+ } from "./chunk-DE2WI7RU.js";
16
16
  import {
17
17
  loadSettings
18
- } from "./chunk-LYEINKJD.js";
18
+ } from "./chunk-BCW42UYG.js";
19
19
  import {
20
20
  hashDaemonWorkspace
21
21
  } from "./chunk-KBVGO6H4.js";
@@ -2,14 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  SCHEDULED_TASK_RUN_SOURCE_ID_PREFIX
5
- } from "./chunk-ODAWVZRE.js";
5
+ } from "./chunk-YHGIEYIF.js";
6
6
  import {
7
7
  ChannelDeliveryError,
8
8
  MAX_CHANNEL_DELIVERY_TEXT_LENGTH
9
9
  } from "./chunk-RKFGE7JH.js";
10
10
  import {
11
11
  stripTerminalControlSequences
12
- } from "./chunk-DPEB6S2R.js";
12
+ } from "./chunk-5QEJKW7V.js";
13
13
  import {
14
14
  MAX_CHANNEL_DELIVERY_NAME_LENGTH,
15
15
  MAX_CHANNEL_DELIVERY_TARGET_ID_LENGTH
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-NLHFXAC4.js";
7
7
  import {
8
8
  DASHSCOPE_REGIONAL_HOSTS
9
- } from "./chunk-XWCLIEJ2.js";
9
+ } from "./chunk-UDXFQTUI.js";
10
10
  import {
11
11
  delay
12
12
  } from "./chunk-HP5Q3XUS.js";
@@ -16,10 +16,10 @@ import {
16
16
  buildSessionAwareFetch,
17
17
  findProviderByCredentials,
18
18
  resolveRequestTimeout
19
- } from "./chunk-VOHPPFJI.js";
19
+ } from "./chunk-MHAVM3RF.js";
20
20
  import {
21
21
  getDefaultApiKeyEnvVar
22
- } from "./chunk-P5OXAI4R.js";
22
+ } from "./chunk-7ELTXG6G.js";
23
23
  import {
24
24
  buildRuntimeFetchOptions,
25
25
  preloadRuntimeFetchModule
@@ -23,7 +23,7 @@ import {
23
23
  import {
24
24
  channelFactoryForwardsChildEnv,
25
25
  defaultSpawnChannelFactory
26
- } from "./chunk-2QLTKHIH.js";
26
+ } from "./chunk-IS43JHQK.js";
27
27
  import {
28
28
  BridgeChannelClosedError,
29
29
  BridgeTimeoutError,
@@ -33,7 +33,7 @@ import {
33
33
  SessionRestoreTimeoutError,
34
34
  createIdleWorkspaceExtensionsStatus,
35
35
  createIdleWorkspaceHooksStatus
36
- } from "./chunk-5NZED4YR.js";
36
+ } from "./chunk-KC7DLSY7.js";
37
37
  import {
38
38
  ACTIVE_WORK_CLOSE_IF_UNHELD_PARAM,
39
39
  ACTIVE_WORK_CLOSE_TIMEOUT_MS,
@@ -147,7 +147,7 @@ import {
147
147
  isOfficeDocumentExtension,
148
148
  isRecordableDerivedChild,
149
149
  pathHasSkippedDirectoryComponent
150
- } from "./chunk-GGUOO2XC.js";
150
+ } from "./chunk-7RCAMBLN.js";
151
151
  import {
152
152
  SESSION_PR_LIST_LIMIT,
153
153
  SESSION_PR_URL_MAX_LENGTH,
@@ -158,7 +158,7 @@ import {
158
158
  canonicalSessionPrUrl,
159
159
  normalizeTurnResultError,
160
160
  toSessionPrInfo
161
- } from "./chunk-DPEB6S2R.js";
161
+ } from "./chunk-5QEJKW7V.js";
162
162
  import {
163
163
  isUnverifiableIdentityError,
164
164
  openNoFollow
@@ -199,7 +199,7 @@ import {
199
199
  } from "./chunk-KBVGO6H4.js";
200
200
  import {
201
201
  getSpecificMimeType
202
- } from "./chunk-NNN2PKPV.js";
202
+ } from "./chunk-PYYPSK6Q.js";
203
203
  import {
204
204
  INVOCATION_CONTEXT_META_KEY,
205
205
  PRIVATE_ACP_CAPABILITY_ENV,
@@ -5439,8 +5439,8 @@ var BridgeClient = class {
5439
5439
  "Invalid Live speak-to-user request."
5440
5440
  );
5441
5441
  }
5442
- await handler({ callerSessionId, message });
5443
- return { accepted: true };
5442
+ const delivered = await handler({ callerSessionId, message });
5443
+ return { accepted: delivered !== false };
5444
5444
  }
5445
5445
  /**
5446
5446
  * Handle child->bridge ACP `extNotification` calls. Recognized methods are
@@ -11556,7 +11556,6 @@ function createSessionControlPlane(opts, createHarness) {
11556
11556
  if (entry.sourceType) {
11557
11557
  sourcePersisted = await persistSessionSource(
11558
11558
  entry,
11559
- entry.sessionId,
11560
11559
  daemonOwnedStandaloneCreation
11561
11560
  );
11562
11561
  }
@@ -12525,7 +12524,8 @@ function createSessionControlPlane(opts, createHarness) {
12525
12524
  }
12526
12525
  return entry;
12527
12526
  }, "createSessionEntry");
12528
- async function persistSessionSource(entry, logContext, daemonOwnedStandaloneCreation = false) {
12527
+ async function persistSessionSource(entry, daemonOwnedStandaloneCreation = false) {
12528
+ let reason = "unknown";
12529
12529
  try {
12530
12530
  const sourceResult = await Promise.race([
12531
12531
  withTimeout(
@@ -12540,13 +12540,22 @@ function createSessionControlPlane(opts, createHarness) {
12540
12540
  ),
12541
12541
  getTransportClosedReject(entry)
12542
12542
  ]);
12543
- return sourceResult?.persisted === true;
12543
+ const acknowledgement = sourceResult;
12544
+ if (acknowledgement?.persisted === true) return true;
12545
+ reason = acknowledgement?.persisted !== false ? "invalid_ack" : acknowledgement.reason === void 0 ? "negative_ack" : acknowledgement.reason === "recording_unavailable" || acknowledgement.reason === "write_not_confirmed" ? acknowledgement.reason : "unknown";
12544
12546
  } catch (err) {
12545
- writeStderrLine(
12546
- `qwen serve: source metadata for ${logContext} was not persisted (${err instanceof Error ? err.message : String(err)}) \u2014 the source is live-only until restart (reported to the caller via sourcePersisted=false)`
12547
- );
12548
- return false;
12547
+ reason = err instanceof BridgeTimeoutError ? "rpc_timeout" : err instanceof BridgeChannelClosedError ? "transport_closed" : "rpc_rejected";
12548
+ }
12549
+ const message = `qwen serve: source_persistence_failed sessionId=${entry.sessionId} reason=${reason} sourcePersisted=false`;
12550
+ try {
12551
+ opts.onDiagnosticLine?.(message, "warn");
12552
+ } catch {
12549
12553
  }
12554
+ try {
12555
+ writeStderrLine(message);
12556
+ } catch {
12557
+ }
12558
+ return false;
12550
12559
  }
12551
12560
  __name(persistSessionSource, "persistSessionSource");
12552
12561
  async function applyRestoreSourceIfMissing(entry, req) {
@@ -12560,10 +12569,7 @@ function createSessionControlPlane(opts, createHarness) {
12560
12569
  delete entry.sourceId;
12561
12570
  }
12562
12571
  markSessionCatalogChanged();
12563
- return await persistSessionSource(
12564
- entry,
12565
- `${entry.sessionId} during session restore`
12566
- );
12572
+ return await persistSessionSource(entry);
12567
12573
  }
12568
12574
  __name(applyRestoreSourceIfMissing, "applyRestoreSourceIfMissing");
12569
12575
  const prepareStandaloneArtifactWorkspace = /* @__PURE__ */ __name(async (entry) => {
@@ -13766,11 +13772,7 @@ function createSessionControlPlane(opts, createHarness) {
13766
13772
  options
13767
13773
  );
13768
13774
  }
13769
- const sourcePersisted = entry.sourceType ? await persistSessionSource(
13770
- entry,
13771
- `${entry.sessionId} during session restore`,
13772
- daemonOwnedStandaloneRestore
13773
- ) : void 0;
13775
+ const sourcePersisted = entry.sourceType ? await persistSessionSource(entry, daemonOwnedStandaloneRestore) : void 0;
13774
13776
  try {
13775
13777
  assertAttachableSessionEntry(req.sessionId, entry);
13776
13778
  } catch (error) {
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-CCGFXABG.js";
17
17
  import {
18
18
  isWorkspaceTrusted
19
- } from "./chunk-RIQQLEYE.js";
19
+ } from "./chunk-DVQCM4OJ.js";
20
20
  import {
21
21
  require_main
22
22
  } from "./chunk-7TK2HU3T.js";
@@ -92,6 +92,10 @@ if (inheritedProvenance) {
92
92
  for (const key of sources.settingsEnv) inheritedSettingsEnvKeys.add(key);
93
93
  Object.assign(process.env, getRelaunchEnvProvenance());
94
94
  }
95
+ function hasLoadedEnvironmentValues() {
96
+ return dotEnvSourcedKeys.size > 0 || settingsEnvSourcedKeys.size > 0;
97
+ }
98
+ __name(hasLoadedEnvironmentValues, "hasLoadedEnvironmentValues");
95
99
  function getRelaunchEnvProvenance() {
96
100
  return {
97
101
  [PRIVATE_RELAUNCH_ENV_PROVENANCE]: JSON.stringify({
@@ -599,6 +603,7 @@ __name(reloadEnvironment, "reloadEnvironment");
599
603
 
600
604
  export {
601
605
  SETTINGS_DIRECTORY_NAME,
606
+ hasLoadedEnvironmentValues,
602
607
  getRelaunchEnvProvenance,
603
608
  preResolveHomeEnvOverrides,
604
609
  resetHomeEnvBootstrapForTesting,
@@ -5,16 +5,16 @@ import {
5
5
  } from "./chunk-Z7UOMOA5.js";
6
6
  import {
7
7
  NotebookEditTool
8
- } from "./chunk-QZGPSTNK.js";
8
+ } from "./chunk-EB3IUZV4.js";
9
9
  import {
10
10
  TaskStopTool
11
11
  } from "./chunk-KD53PZKE.js";
12
12
  import {
13
13
  WriteFileTool
14
- } from "./chunk-SNMYJZZG.js";
14
+ } from "./chunk-TKEDWZ44.js";
15
15
  import {
16
16
  EditTool
17
- } from "./chunk-BNPJT34T.js";
17
+ } from "./chunk-KXKRYU57.js";
18
18
  import {
19
19
  GlobTool
20
20
  } from "./chunk-XL6T7DD7.js";
@@ -24,10 +24,10 @@ import {
24
24
  import {
25
25
  ShellTool,
26
26
  isModifiableDeclarativeTool
27
- } from "./chunk-DPEB6S2R.js";
27
+ } from "./chunk-5QEJKW7V.js";
28
28
  import {
29
29
  ReadFileTool
30
- } from "./chunk-2VS5EEXU.js";
30
+ } from "./chunk-WFHS3WCK.js";
31
31
  import {
32
32
  init_esbuild_shims
33
33
  } from "./chunk-5O2XNYP6.js";
@@ -34,17 +34,17 @@ import {
34
34
  } from "./chunk-LDNRKF24.js";
35
35
  import {
36
36
  isGoalCheckpointBookkeepingRecord
37
- } from "./chunk-CK5HUN74.js";
37
+ } from "./chunk-BAV7Z5KE.js";
38
38
  import {
39
39
  GoalPersistenceUnavailableError,
40
40
  getToolResponseDisplayText
41
- } from "./chunk-DPEB6S2R.js";
41
+ } from "./chunk-5QEJKW7V.js";
42
42
  import {
43
43
  projectUserTranscriptForDisplay
44
44
  } from "./chunk-JBUMBQAO.js";
45
45
  import {
46
46
  parseGoalStateRecordPayloadV2
47
- } from "./chunk-DXXCNZW4.js";
47
+ } from "./chunk-GDOTFZKX.js";
48
48
  import {
49
49
  ToolDisplayNames
50
50
  } from "./chunk-RSWOFJBY.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  SessionOrganizationService
5
- } from "./chunk-DPEB6S2R.js";
5
+ } from "./chunk-5QEJKW7V.js";
6
6
  import {
7
7
  writeStderrLine
8
8
  } from "./chunk-7FA2II6K.js";
@@ -978,7 +978,7 @@ async function executePolicy(config, item, policy, store, cache, signal, memory)
978
978
  stage: policy.stage
979
979
  }
980
980
  };
981
- const { executeToolCall } = await import("./nonInteractiveToolExecutor-KLKO6IKA.js");
981
+ const { executeToolCall } = await import("./nonInteractiveToolExecutor-WO2RE5HY.js");
982
982
  const response = await executeToolCall(
983
983
  config,
984
984
  request,