@qwen-code/qwen-code 0.21.5 → 0.21.6-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 (224) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +8 -8
  2. package/bundled/qc-helper/docs/configuration/settings.md +15 -15
  3. package/bundled/qc-helper/docs/features/code-review.md +2 -0
  4. package/bundled/qc-helper/docs/features/headless.md +31 -0
  5. package/bundled/qc-helper/docs/qwen-serve.md +75 -0
  6. package/bundled/review/SKILL.md +59 -52
  7. package/chunks/{MaxSizedBox-2MWU5JYB.js → MaxSizedBox-A3UYJS6B.js} +8 -7
  8. package/chunks/{StandaloneSessionPicker-B6MI5NTB.js → StandaloneSessionPicker-NGLY26I4.js} +21 -20
  9. package/chunks/{acpAgent-MRPYN6FH.js → acpAgent-V54T2EEL.js} +215 -63
  10. package/chunks/{agent-NAOXNW4I.js → agent-2P53VL2L.js} +8 -7
  11. package/chunks/{agent-headless-L4PPVFKW.js → agent-headless-6X4GCFRD.js} +8 -7
  12. package/chunks/{bridge-LHXGYNCO.js → bridge-TCFMLKHR.js} +12 -10
  13. package/chunks/{channel-settings-store-QB54TLYE.js → channel-settings-store-B4HNMNQV.js} +13 -12
  14. package/chunks/{channel-worker-group-NDG4WOOZ.js → channel-worker-group-SVGPDH2C.js} +3 -2
  15. package/chunks/{channel-worker-manager-ZCW6UW34.js → channel-worker-manager-72ZK2GTS.js} +3 -2
  16. package/chunks/{channel-worker-supervisor-ATGFTZRN.js → channel-worker-supervisor-NUEDVHX4.js} +2 -1
  17. package/chunks/{chunk-UWSXFI6E.js → chunk-2U7GPHA6.js} +6 -2
  18. package/chunks/{chunk-CIUUYB23.js → chunk-3DTM3RPU.js} +1 -1
  19. package/chunks/{chunk-7MFQLOHZ.js → chunk-3PRJYMXC.js} +1 -1
  20. package/chunks/{chunk-K6VEL5KP.js → chunk-3ZRS2XNY.js} +1 -1
  21. package/chunks/{chunk-GBY3ODW7.js → chunk-4E5PO6R7.js} +3 -3
  22. package/chunks/{chunk-KH2BIJ4H.js → chunk-4T6QMNX2.js} +89 -6
  23. package/chunks/{chunk-K64OI7S7.js → chunk-546CDN6D.js} +1 -1
  24. package/chunks/{chunk-J7I2BZHS.js → chunk-5CDI4UOY.js} +23 -6
  25. package/chunks/{chunk-7W5KOBYU.js → chunk-6D6V55ZQ.js} +1 -1
  26. package/chunks/{chunk-WU5NBSLD.js → chunk-6KEN3RIC.js} +3 -3
  27. package/chunks/{chunk-FEUXV3DC.js → chunk-6KZP75GT.js} +1 -1
  28. package/chunks/{chunk-B3EBIZUY.js → chunk-72DZPDH4.js} +1 -1
  29. package/chunks/{chunk-TCOJPG2P.js → chunk-7FUVSN4D.js} +1 -1
  30. package/chunks/{chunk-EXHQZBVJ.js → chunk-AFZTZLFB.js} +2 -2
  31. package/chunks/{chunk-AEWOKOJY.js → chunk-AU3XNTMV.js} +1 -1
  32. package/chunks/{chunk-C6ARWPCG.js → chunk-AVDEBBMI.js} +2 -2
  33. package/chunks/chunk-BKHCW2BI.js +41 -0
  34. package/chunks/{chunk-ZLGPHA34.js → chunk-BU4BRCPX.js} +4 -4
  35. package/chunks/{chunk-3GOCVBYR.js → chunk-C4GRKMUL.js} +4 -4
  36. package/chunks/{chunk-VOA2UPZM.js → chunk-CDHNGCJI.js} +3 -3
  37. package/chunks/{chunk-3H5RFLTS.js → chunk-CJBRIJ7W.js} +1 -1
  38. package/chunks/{chunk-D7QAZ5DF.js → chunk-CXYBX4AL.js} +1 -1
  39. package/chunks/{chunk-GEP54CHX.js → chunk-DBIEZC7T.js} +3 -3
  40. package/chunks/{chunk-BWLUCN35.js → chunk-DG563ZCS.js} +2 -2
  41. package/chunks/{chunk-YLL3SC5S.js → chunk-DOA7MCDY.js} +167 -99
  42. package/chunks/{chunk-OIGB253L.js → chunk-DOICUTPO.js} +7 -7
  43. package/chunks/{chunk-VJPF6GF2.js → chunk-EHMN6SEG.js} +2 -2
  44. package/chunks/{chunk-YO4JI7B4.js → chunk-EKWNNQQD.js} +4 -4
  45. package/chunks/{chunk-B2RBYP7Z.js → chunk-FDV3CXTD.js} +2 -2
  46. package/chunks/{chunk-LMNM37OE.js → chunk-HKNSU4WX.js} +1 -1
  47. package/chunks/{chunk-4LLUH3A7.js → chunk-HU5TUALO.js} +95 -8
  48. package/chunks/{chunk-G2UXFO2B.js → chunk-IISDPZ5X.js} +1 -1
  49. package/chunks/{chunk-LYPXNRBX.js → chunk-IKXE3AAC.js} +1 -1
  50. package/chunks/{chunk-TJ56V3AR.js → chunk-MFBUJMQ3.js} +3 -3
  51. package/chunks/{chunk-SQTA6PAY.js → chunk-MVLM6PJK.js} +1 -1
  52. package/chunks/{chunk-4NEBUDWS.js → chunk-N47ZM2KI.js} +9 -9
  53. package/chunks/{chunk-5HWAJ4BK.js → chunk-NAYPZ72V.js} +1 -1
  54. package/chunks/{chunk-IZ2CMEYO.js → chunk-NKST54XA.js} +1 -1
  55. package/chunks/{chunk-IK3RYLAD.js → chunk-NYZAL2W2.js} +3 -3
  56. package/chunks/{chunk-ZPGMDT4S.js → chunk-O656RSMC.js} +19 -92
  57. package/chunks/{chunk-XD2PNH3K.js → chunk-P7LKADIT.js} +5 -5
  58. package/chunks/{chunk-JDNWIXHJ.js → chunk-PQTK2FVO.js} +3 -3
  59. package/chunks/{chunk-LSYVASZS.js → chunk-QG2ACINA.js} +1 -1
  60. package/chunks/{chunk-IWYXZAGT.js → chunk-QWUYFMAR.js} +24 -24
  61. package/chunks/{chunk-YMUZQ3MQ.js → chunk-RTWF7FF7.js} +3 -3
  62. package/chunks/{chunk-5XNO4AW7.js → chunk-SPUDIAHX.js} +11 -11
  63. package/chunks/{chunk-7M2RLFNX.js → chunk-SQ3ZJOYL.js} +11 -11
  64. package/chunks/{chunk-SJMCYCUQ.js → chunk-T4XY5CT4.js} +4 -4
  65. package/chunks/{chunk-2JBETW4S.js → chunk-TVFC3XF5.js} +5 -5
  66. package/chunks/{chunk-NLQIEY6W.js → chunk-VDLXPEI5.js} +3 -3
  67. package/chunks/{chunk-Q2V4AOQL.js → chunk-WAOLM6SQ.js} +1 -1
  68. package/chunks/{chunk-N3RERU5N.js → chunk-WIPQR44Y.js} +3 -3
  69. package/chunks/{chunk-PDDYAXL2.js → chunk-WIRAPZ62.js} +7 -0
  70. package/chunks/chunk-WOJZWRAZ.js +123 -0
  71. package/chunks/{chunk-SVIEVA3L.js → chunk-WPKIU4PA.js} +28 -3
  72. package/chunks/{chunk-K2ETEWG6.js → chunk-WVRJKSIG.js} +1 -1
  73. package/chunks/{chunk-WTM5QONI.js → chunk-WXS647W5.js} +2 -2
  74. package/chunks/{chunk-4O6HLCOF.js → chunk-X6DV3WKN.js} +1 -1
  75. package/chunks/{chunk-OGAARVN7.js → chunk-XKTCA6BW.js} +3 -3
  76. package/chunks/{chunk-FHPKHXHT.js → chunk-XNZBXQCG.js} +4 -0
  77. package/chunks/{chunk-GP4IMBX5.js → chunk-XOZ2R6XI.js} +529 -259
  78. package/chunks/{chunk-IWGMDSC3.js → chunk-XSGQKR37.js} +4 -4
  79. package/chunks/{chunk-ZLJQIGCH.js → chunk-XZCMQUOF.js} +8 -0
  80. package/chunks/{chunk-P3SLTSNY.js → chunk-Y5HIDFKZ.js} +4 -4
  81. package/chunks/{chunk-RM3F46UT.js → chunk-YUVTZ4UH.js} +6 -6
  82. package/chunks/{chunk-3P4GP4S2.js → chunk-Z5S6KH2B.js} +1 -1
  83. package/chunks/{chunk-4NNR24EP.js → chunk-ZH7G3A4U.js} +3 -3
  84. package/chunks/{chunk-CAX76R46.js → chunk-ZQL73PPE.js} +1 -1
  85. package/chunks/{computer-use-XDOGP2KA.js → computer-use-GTOP2CVH.js} +8 -7
  86. package/chunks/{config-utils-E3ZQTHGM.js → config-utils-LIRO7NSU.js} +2 -2
  87. package/chunks/{contextCommand-N3LQDCYJ.js → contextCommand-K6T6RRF3.js} +10 -9
  88. package/chunks/{core-runtime-STAFP45W.js → core-runtime-D2626QQU.js} +8 -7
  89. package/chunks/{create-sub-session-2B3JENWD.js → create-sub-session-MWUWNBM6.js} +8 -7
  90. package/chunks/{daemon-status-provider-PPAH3ATF.js → daemon-status-provider-2EHRZZVF.js} +16 -14
  91. package/chunks/{daemon-trust-policy-X6XL3MB4.js → daemon-trust-policy-B3EPDJDR.js} +13 -12
  92. package/chunks/{daemon-trust-policy-monitor-M5LBL2HD.js → daemon-trust-policy-monitor-MFM5X26G.js} +13 -12
  93. package/chunks/{deferred-core-runtime-O54YPTBU.js → deferred-core-runtime-KXN7HLN7.js} +8 -7
  94. package/chunks/{earlyInputCapture-CBIT2RGT.js → earlyInputCapture-WUNYYFOS.js} +8 -7
  95. package/chunks/{edit-KW2TOC6A.js → edit-DMFCBP2D.js} +8 -7
  96. package/chunks/{enter-worktree-YL34NEU5.js → enter-worktree-5SVBCXFC.js} +8 -7
  97. package/chunks/{enterPlanMode-JFJTDASQ.js → enterPlanMode-QUIZFQ4M.js} +8 -7
  98. package/chunks/{environment-IATU5GXG.js → environment-U6QP23VJ.js} +10 -9
  99. package/chunks/{errors-SAVRDE7Q.js → errors-GZWFA6ON.js} +10 -9
  100. package/chunks/{exit-worktree-5M43QPBB.js → exit-worktree-FUB44KAF.js} +8 -7
  101. package/chunks/{exitPlanMode-W4EICZ4N.js → exitPlanMode-XSHHYR73.js} +8 -7
  102. package/chunks/external-tool-guard-provider-5HTGOPGU.js +273 -0
  103. package/chunks/{fast-path-YQJPIKMP.js → fast-path-JHQJSIMZ.js} +5 -5
  104. package/chunks/{gemini-FUF5SSPR.js → gemini-O44ETOKT.js} +61 -46
  105. package/chunks/{geminiContentGenerator-LLLZBOUG.js → geminiContentGenerator-TTM4TZJM.js} +1 -1
  106. package/chunks/{glob-LJFFMN4D.js → glob-YECOWTRW.js} +8 -7
  107. package/chunks/{grep-Q64EAM73.js → grep-BZO4LOTA.js} +8 -7
  108. package/chunks/{handleAutoUpdate-QBMPRTSQ.js → handleAutoUpdate-TOO52D6H.js} +12 -11
  109. package/chunks/{i18n-LDUW5DMN.js → i18n-ARJYXZQ5.js} +9 -8
  110. package/chunks/{image-gen-G7RLG3KR.js → image-gen-J6Q2YBEU.js} +1 -1
  111. package/chunks/{initializer-74A7DMMD.js → initializer-CEZ4RPQV.js} +13 -12
  112. package/chunks/{installationInfo-OFDYLDFD.js → installationInfo-AEGIIQAT.js} +9 -8
  113. package/chunks/{list-JA2EWRHJ.js → list-7XLPV5GC.js} +16 -15
  114. package/chunks/{loadedSettingsAdapter-2GNJOQ3L.js → loadedSettingsAdapter-YK5SBHOT.js} +13 -12
  115. package/chunks/{loggingContentGenerator-B6B5EGB3.js → loggingContentGenerator-I7QDXS43.js} +4 -3
  116. package/chunks/{managed-npm-update-4YZHLUER.js → managed-npm-update-YSL7PA7G.js} +9 -8
  117. package/chunks/{mcp-LLK5YJVH.js → mcp-RKFQZXP6.js} +13 -12
  118. package/chunks/{monitor-NYJPAWVP.js → monitor-QHHJIKGL.js} +8 -7
  119. package/chunks/{nonInteractiveCli-HZBBBDJD.js → nonInteractiveCli-XEBIE7MG.js} +41 -39
  120. package/chunks/{notebook-edit-LLM6UXFX.js → notebook-edit-SG7X2EQA.js} +8 -7
  121. package/chunks/{openaiContentGenerator-2AEXDN55.js → openaiContentGenerator-63CVR33K.js} +5 -4
  122. package/chunks/{pidfile-3JUWX7G2.js → pidfile-I3CXJGQD.js} +8 -7
  123. package/chunks/{processUtils-JLLRVZHT.js → processUtils-LJ3DSANX.js} +2 -2
  124. package/chunks/{qwenContentGenerator-2FESCF27.js → qwenContentGenerator-JINBVCH6.js} +9 -8
  125. package/chunks/{qwenOAuth2-2KKPYA5J.js → qwenOAuth2-SY2O3NRR.js} +1 -1
  126. package/chunks/{read-file-5GVXLY74.js → read-file-PGTXF25I.js} +3 -2
  127. package/chunks/{record-artifact-L3BAHQFN.js → record-artifact-E6AWQU2Z.js} +1 -1
  128. package/chunks/{resumeHistoryUtils-Z4OFBXPM.js → resumeHistoryUtils-FB2NFVZ2.js} +11 -10
  129. package/chunks/{ripGrep-TKOJTIAB.js → ripGrep-IY3KGPM6.js} +8 -7
  130. package/chunks/{run-qwen-serve-K5W6MM6M.js → run-qwen-serve-UYEMGPKA.js} +72 -36
  131. package/chunks/{runtime-IADXMRCY.js → runtime-CG3BKRFE.js} +16 -15
  132. package/chunks/{scheduler-T7AV37LD.js → scheduler-VFUVGDE5.js} +8 -7
  133. package/chunks/{serve-ROEGMS3I.js → serve-ZCCQ2G2L.js} +14 -12
  134. package/chunks/{server-NGXMRODI.js → server-WS7LWXPP.js} +161 -54
  135. package/chunks/{session-RCDLDJA4.js → session-IQLCT32T.js} +42 -40
  136. package/chunks/{settings-E6H3AURD.js → settings-NX4EUIE6.js} +12 -11
  137. package/chunks/{shell-RHGGJ6BE.js → shell-THDYM4CS.js} +8 -7
  138. package/chunks/{skill-GQ7PBS25.js → skill-OXXZBNQB.js} +3 -2
  139. package/chunks/{skill-settings-E2F7OCBL.js → skill-settings-T3JZ33T2.js} +12 -11
  140. package/chunks/{spawnChannel-Q2IQBHME.js → spawnChannel-COLJMSA7.js} +11 -9
  141. package/chunks/{standalone-update-NYYZEHLD.js → standalone-update-ICW7H5IF.js} +10 -9
  142. package/chunks/{startInteractiveUI-IX6I3Y2Z.js → startInteractiveUI-6BDRXSMF.js} +60 -58
  143. package/chunks/{team-create-UTRVUEDA.js → team-create-BCSMDK4Z.js} +8 -7
  144. package/chunks/{team-plan-approval-YZNB4U5U.js → team-plan-approval-B5YRLJFV.js} +8 -7
  145. package/chunks/{terminal-image-renderer-QRSCS2BE.js → terminal-image-renderer-PW6Z6VFY.js} +8 -7
  146. package/chunks/{theme-manager-EKZBY34I.js → theme-manager-CMVKD2JH.js} +8 -7
  147. package/chunks/{tool-search-N2R7LVMC.js → tool-search-SQTUSG6P.js} +3 -2
  148. package/chunks/{total-session-admission-HBIYARPO.js → total-session-admission-XAXOSE46.js} +12 -10
  149. package/chunks/{trustedFolders-ZQLYRCSY.js → trustedFolders-Z2UAEG2V.js} +9 -8
  150. package/chunks/{update-relaunch-PJWXMPCR.js → update-relaunch-JBLI6LJF.js} +5 -5
  151. package/chunks/{updateCheck-ZXRCGY66.js → updateCheck-FDAVGOFT.js} +11 -10
  152. package/chunks/{useAutoAcceptIndicator-ZYQW5SGJ.js → useAutoAcceptIndicator-PDZFIYRM.js} +14 -13
  153. package/chunks/{validateNonInterActiveAuth-M7J7OTRH.js → validateNonInterActiveAuth-Q4763ONQ.js} +38 -36
  154. package/chunks/{version-2AOHMPK3.js → version-C7MPCGWD.js} +1 -1
  155. package/chunks/{web-fetch-DS34CJ3R.js → web-fetch-L7RAPOJB.js} +3 -2
  156. package/chunks/{web-search-ITFPD7V4.js → web-search-IDOYUOWX.js} +4 -3
  157. package/chunks/{workflow-LZQ4PGNS.js → workflow-HXURUJB5.js} +9 -8
  158. package/chunks/{workspace-providers-status-ZPTLKOBM.js → workspace-providers-status-JZ3GPWNU.js} +16 -15
  159. package/chunks/{workspace-registration-store-OTFKSGG7.js → workspace-registration-store-SM2PWB6L.js} +1 -1
  160. package/chunks/{workspace-registry-YZ3OXPHP.js → workspace-registry-6W4ES7BJ.js} +12 -10
  161. package/chunks/{workspace-service-OCZXOOSQ.js → workspace-service-V47ZFJRX.js} +17 -16
  162. package/chunks/{workspace-skills-status-K2ALGUCD.js → workspace-skills-status-6ZQ45XKA.js} +14 -13
  163. package/chunks/{workspace-trust-reconciler-KMRZISJP.js → workspace-trust-reconciler-6V25LMCN.js} +17 -15
  164. package/chunks/{write-file-AWBI4GJS.js → write-file-H2QOF25K.js} +8 -7
  165. package/chunks/{zoom-image-NHKN6F77.js → zoom-image-JTUSS43N.js} +3 -2
  166. package/cli-entry.js +14 -0
  167. package/cli.js +16 -12
  168. package/package.json +3 -3
  169. package/web-shell/assets/{arc-Dpg66jw7.js → arc-DtI1rZcQ.js} +1 -1
  170. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BJ4FIBxN.js → architectureDiagram-3BPJPVTR-BPZwSVct.js} +1 -1
  171. package/web-shell/assets/{blockDiagram-GPEHLZMM-VXmYdtYT.js → blockDiagram-GPEHLZMM-BIQ03j4C.js} +1 -1
  172. package/web-shell/assets/{c4Diagram-AAUBKEIU-BNLDb8FE.js → c4Diagram-AAUBKEIU-CB0RyFGm.js} +1 -1
  173. package/web-shell/assets/channel-vfbVFuM1.js +1 -0
  174. package/web-shell/assets/{chunk-2J33WTMH-DR5yHxr0.js → chunk-2J33WTMH-B3WoS-4H.js} +1 -1
  175. package/web-shell/assets/{chunk-4BX2VUAB-Czkq8UZU.js → chunk-4BX2VUAB-C98xYZ1X.js} +1 -1
  176. package/web-shell/assets/{chunk-55IACEB6-DugUgM6s.js → chunk-55IACEB6-CbTIWRwQ.js} +1 -1
  177. package/web-shell/assets/{chunk-727SXJPM-Dw6quA1K.js → chunk-727SXJPM-DWGnKTPu.js} +1 -1
  178. package/web-shell/assets/{chunk-AQP2D5EJ-BoVYOTTz.js → chunk-AQP2D5EJ-4__QyCEX.js} +1 -1
  179. package/web-shell/assets/{chunk-FMBD7UC4--Amcse-j.js → chunk-FMBD7UC4-DFtG1YCW.js} +1 -1
  180. package/web-shell/assets/{chunk-ND2GUHAM-ajaEYAC8.js → chunk-ND2GUHAM-rvAhW51N.js} +1 -1
  181. package/web-shell/assets/{chunk-QZHKN3VN-CUNDZ7im.js → chunk-QZHKN3VN-DfiU9pwZ.js} +1 -1
  182. package/web-shell/assets/classDiagram-4FO5ZUOK-Cvr8atq3.js +1 -0
  183. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvr8atq3.js +1 -0
  184. package/web-shell/assets/{cose-bilkent-S5V4N54A-BnfkD-m1.js → cose-bilkent-S5V4N54A-Cc4EIdxu.js} +1 -1
  185. package/web-shell/assets/{dagre-BM42HDAG-BuUdFk7Z.js → dagre-BM42HDAG-CZNj4dGW.js} +1 -1
  186. package/web-shell/assets/{diagram-2AECGRRQ-B2ZXxoab.js → diagram-2AECGRRQ-D5tiqQCr.js} +1 -1
  187. package/web-shell/assets/{diagram-5GNKFQAL-BsgOICzM.js → diagram-5GNKFQAL-pwzw0jVO.js} +1 -1
  188. package/web-shell/assets/{diagram-KO2AKTUF-DTTjG6U-.js → diagram-KO2AKTUF-4CWiM00x.js} +1 -1
  189. package/web-shell/assets/{diagram-LMA3HP47-temLf1x7.js → diagram-LMA3HP47-Dd7rc7Qf.js} +1 -1
  190. package/web-shell/assets/{diagram-OG6HWLK6-CRFjScs2.js → diagram-OG6HWLK6-_vzV52ml.js} +1 -1
  191. package/web-shell/assets/{erDiagram-TEJ5UH35-D4oaY-rQ.js → erDiagram-TEJ5UH35-CqbE2bx_.js} +1 -1
  192. package/web-shell/assets/{flowDiagram-I6XJVG4X-BqG8B49b.js → flowDiagram-I6XJVG4X-CaxNr7w4.js} +1 -1
  193. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DffQBdd5.js → ganttDiagram-6RSMTGT7-AGjrtfUA.js} +1 -1
  194. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CMDPfseF.js → gitGraphDiagram-PVQCEYII-ADG2zSkc.js} +1 -1
  195. package/web-shell/assets/{index-qTQR_smP.js → index-BOryKCqt.js} +1 -1
  196. package/web-shell/assets/{index-CaucmEO_.css → index-Cb1LjsCv.css} +1 -1
  197. package/web-shell/assets/{index-2F4RsNzd.js → index-CvJDaIy8.js} +311 -311
  198. package/web-shell/assets/{infoDiagram-5YYISTIA-Cn3T83MA.js → infoDiagram-5YYISTIA-CE3B_IoZ.js} +1 -1
  199. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-ijFs7e25.js → ishikawaDiagram-YF4QCWOH-CN-Frhoi.js} +1 -1
  200. package/web-shell/assets/{journeyDiagram-JHISSGLW-CINTv8VB.js → journeyDiagram-JHISSGLW-CGgezS93.js} +1 -1
  201. package/web-shell/assets/{kanban-definition-UN3LZRKU-CMGRZCxx.js → kanban-definition-UN3LZRKU-BqWijky5.js} +1 -1
  202. package/web-shell/assets/{linear-Co-2_37d.js → linear-D8sfpZf6.js} +1 -1
  203. package/web-shell/assets/{mermaid.core-DijbyaN5.js → mermaid.core-3PA4QrzM.js} +5 -5
  204. package/web-shell/assets/{mindmap-definition-RKZ34NQL-k_sDYDPZ.js → mindmap-definition-RKZ34NQL-D9QxwiCY.js} +1 -1
  205. package/web-shell/assets/{pieDiagram-4H26LBE5-CG-oz8V3.js → pieDiagram-4H26LBE5-Bioaf6uE.js} +1 -1
  206. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-Baq7HIG2.js → quadrantDiagram-W4KKPZXB-DBb2AS73.js} +1 -1
  207. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CDM3ZvBt.js → requirementDiagram-4Y6WPE33-DXOvZ3KB.js} +1 -1
  208. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-C2dJbWKN.js → sankeyDiagram-5OEKKPKP-D9qg09Dm.js} +1 -1
  209. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-Cf1_h59p.js → sequenceDiagram-3UESZ5HK-DSAUIfpw.js} +1 -1
  210. package/web-shell/assets/{stateDiagram-AJRCARHV-CI5clUEc.js → stateDiagram-AJRCARHV-BPZkzfQ3.js} +1 -1
  211. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DInOqnhZ.js +1 -0
  212. package/web-shell/assets/{timeline-definition-PNZ67QCA-B2O8cAZX.js → timeline-definition-PNZ67QCA-UDaQp9sP.js} +1 -1
  213. package/web-shell/assets/{vennDiagram-CIIHVFJN-BLsJ_h9s.js → vennDiagram-CIIHVFJN-2ouhAnHO.js} +1 -1
  214. package/web-shell/assets/{wardley-L42UT6IY-BlPU4FTA.js → wardley-L42UT6IY-Cq_WEvTK.js} +1 -1
  215. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-D_U-RdU4.js → wardleyDiagram-YWT4CUSO-Dt24aXOM.js} +1 -1
  216. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BynXGSTl.js → xychartDiagram-2RQKCTM6-A5Xk2WCH.js} +1 -1
  217. package/web-shell/index.html +2 -2
  218. package/bundled/review/DESIGN.md +0 -724
  219. package/web-shell/assets/channel-Bd9wOnaA.js +0 -1
  220. package/web-shell/assets/classDiagram-4FO5ZUOK-XhCT8FE3.js +0 -1
  221. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-XhCT8FE3.js +0 -1
  222. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BDc8asKD.js +0 -1
  223. package/chunks/{channel-management-service-UHX56NBO.js → channel-management-service-5XPPTWUQ.js} +3 -3
  224. package/chunks/{chunk-LEZFUYPM.js → chunk-7GYP5COR.js} +3 -3
@@ -7,7 +7,7 @@ import {
7
7
  hasRebuiltToolRegistry,
8
8
  rebuildToolRegistryOnOverride,
9
9
  resolveSubagentApprovalMode
10
- } from "./chunk-YLL3SC5S.js";
10
+ } from "./chunk-DOA7MCDY.js";
11
11
  import "./chunk-GOFAQQZA.js";
12
12
  import "./chunk-5M6IDOMF.js";
13
13
  import "./chunk-TWPJO254.js";
@@ -17,11 +17,11 @@ import "./chunk-I7JDGNG6.js";
17
17
  import "./chunk-A6SX5TAH.js";
18
18
  import "./chunk-33FNCQSY.js";
19
19
  import "./chunk-6PVPNMXU.js";
20
- import "./chunk-7W5KOBYU.js";
20
+ import "./chunk-6D6V55ZQ.js";
21
21
  import "./chunk-IRH27ZC2.js";
22
22
  import "./chunk-QHWCP53L.js";
23
23
  import "./chunk-MOHAWIAW.js";
24
- import "./chunk-7MFQLOHZ.js";
24
+ import "./chunk-3PRJYMXC.js";
25
25
  import "./chunk-O6GEWCJA.js";
26
26
  import "./chunk-T26EAKDL.js";
27
27
  import "./chunk-ZPJWUGCS.js";
@@ -38,7 +38,7 @@ import "./chunk-WVAESIM6.js";
38
38
  import "./chunk-K623ENWT.js";
39
39
  import "./chunk-AQ37AY7B.js";
40
40
  import "./chunk-432XCUHF.js";
41
- import "./chunk-4LLUH3A7.js";
41
+ import "./chunk-HU5TUALO.js";
42
42
  import "./chunk-XC656O42.js";
43
43
  import "./chunk-NAVJD2PQ.js";
44
44
  import "./chunk-QYPT3QUD.js";
@@ -47,19 +47,20 @@ import "./chunk-DGEIYUC3.js";
47
47
  import "./chunk-MPHPFVKK.js";
48
48
  import "./chunk-GLNBDYUX.js";
49
49
  import "./chunk-DJ2GSRLV.js";
50
- import "./chunk-AEWOKOJY.js";
50
+ import "./chunk-AU3XNTMV.js";
51
51
  import "./chunk-MGSSJT27.js";
52
52
  import "./chunk-2J3OJGTL.js";
53
53
  import "./chunk-P3QQPMQA.js";
54
54
  import "./chunk-6O5DVH27.js";
55
55
  import "./chunk-GLCZKT5V.js";
56
56
  import "./chunk-2DNKEBXY.js";
57
- import "./chunk-ZPGMDT4S.js";
57
+ import "./chunk-O656RSMC.js";
58
+ import "./chunk-WOJZWRAZ.js";
58
59
  import "./chunk-VGC4I5JJ.js";
59
60
  import "./chunk-E4WHKETF.js";
60
61
  import "./chunk-ZPPP6VCL.js";
61
62
  import "./chunk-D7D7RXIJ.js";
62
- import "./chunk-XD2PNH3K.js";
63
+ import "./chunk-P7LKADIT.js";
63
64
  import "./chunk-46UV252V.js";
64
65
  import "./chunk-ZBVS26BY.js";
65
66
  import "./chunk-BFHXDAR7.js";
@@ -4,7 +4,7 @@ import {
4
4
  AgentHeadless,
5
5
  ContextState,
6
6
  templateString
7
- } from "./chunk-YLL3SC5S.js";
7
+ } from "./chunk-DOA7MCDY.js";
8
8
  import "./chunk-GOFAQQZA.js";
9
9
  import "./chunk-5M6IDOMF.js";
10
10
  import "./chunk-TWPJO254.js";
@@ -14,11 +14,11 @@ import "./chunk-I7JDGNG6.js";
14
14
  import "./chunk-A6SX5TAH.js";
15
15
  import "./chunk-33FNCQSY.js";
16
16
  import "./chunk-6PVPNMXU.js";
17
- import "./chunk-7W5KOBYU.js";
17
+ import "./chunk-6D6V55ZQ.js";
18
18
  import "./chunk-IRH27ZC2.js";
19
19
  import "./chunk-QHWCP53L.js";
20
20
  import "./chunk-MOHAWIAW.js";
21
- import "./chunk-7MFQLOHZ.js";
21
+ import "./chunk-3PRJYMXC.js";
22
22
  import "./chunk-O6GEWCJA.js";
23
23
  import "./chunk-T26EAKDL.js";
24
24
  import "./chunk-ZPJWUGCS.js";
@@ -35,7 +35,7 @@ import "./chunk-WVAESIM6.js";
35
35
  import "./chunk-K623ENWT.js";
36
36
  import "./chunk-AQ37AY7B.js";
37
37
  import "./chunk-432XCUHF.js";
38
- import "./chunk-4LLUH3A7.js";
38
+ import "./chunk-HU5TUALO.js";
39
39
  import "./chunk-XC656O42.js";
40
40
  import "./chunk-NAVJD2PQ.js";
41
41
  import "./chunk-QYPT3QUD.js";
@@ -44,19 +44,20 @@ import "./chunk-DGEIYUC3.js";
44
44
  import "./chunk-MPHPFVKK.js";
45
45
  import "./chunk-GLNBDYUX.js";
46
46
  import "./chunk-DJ2GSRLV.js";
47
- import "./chunk-AEWOKOJY.js";
47
+ import "./chunk-AU3XNTMV.js";
48
48
  import "./chunk-MGSSJT27.js";
49
49
  import "./chunk-2J3OJGTL.js";
50
50
  import "./chunk-P3QQPMQA.js";
51
51
  import "./chunk-6O5DVH27.js";
52
52
  import "./chunk-GLCZKT5V.js";
53
53
  import "./chunk-2DNKEBXY.js";
54
- import "./chunk-ZPGMDT4S.js";
54
+ import "./chunk-O656RSMC.js";
55
+ import "./chunk-WOJZWRAZ.js";
55
56
  import "./chunk-VGC4I5JJ.js";
56
57
  import "./chunk-E4WHKETF.js";
57
58
  import "./chunk-ZPPP6VCL.js";
58
59
  import "./chunk-D7D7RXIJ.js";
59
- import "./chunk-XD2PNH3K.js";
60
+ import "./chunk-P7LKADIT.js";
60
61
  import "./chunk-46UV252V.js";
61
62
  import "./chunk-ZBVS26BY.js";
62
63
  import "./chunk-BFHXDAR7.js";
@@ -6,19 +6,20 @@ import {
6
6
  createHttpAcpBridge,
7
7
  extractErrorCode,
8
8
  extractErrorMessage
9
- } from "./chunk-KH2BIJ4H.js";
9
+ } from "./chunk-4T6QMNX2.js";
10
10
  import "./chunk-GLWP3FDB.js";
11
11
  import "./chunk-XCGIMOLN.js";
12
12
  import "./chunk-OCPBI7J5.js";
13
- import "./chunk-UWSXFI6E.js";
14
- import "./chunk-PDDYAXL2.js";
13
+ import "./chunk-2U7GPHA6.js";
14
+ import "./chunk-WIRAPZ62.js";
15
15
  import "./chunk-UKZEXS6K.js";
16
16
  import "./chunk-J26HHFI5.js";
17
17
  import "./chunk-6PLDPT2C.js";
18
18
  import "./chunk-BK2UNYWD.js";
19
+ import "./chunk-BKHCW2BI.js";
19
20
  import "./chunk-M5GB774H.js";
20
21
  import "./chunk-UDXSXLER.js";
21
- import "./chunk-YLL3SC5S.js";
22
+ import "./chunk-DOA7MCDY.js";
22
23
  import "./chunk-GOFAQQZA.js";
23
24
  import "./chunk-5M6IDOMF.js";
24
25
  import "./chunk-TWPJO254.js";
@@ -28,11 +29,11 @@ import "./chunk-I7JDGNG6.js";
28
29
  import "./chunk-A6SX5TAH.js";
29
30
  import "./chunk-33FNCQSY.js";
30
31
  import "./chunk-6PVPNMXU.js";
31
- import "./chunk-7W5KOBYU.js";
32
+ import "./chunk-6D6V55ZQ.js";
32
33
  import "./chunk-IRH27ZC2.js";
33
34
  import "./chunk-QHWCP53L.js";
34
35
  import "./chunk-MOHAWIAW.js";
35
- import "./chunk-7MFQLOHZ.js";
36
+ import "./chunk-3PRJYMXC.js";
36
37
  import "./chunk-O6GEWCJA.js";
37
38
  import "./chunk-T26EAKDL.js";
38
39
  import "./chunk-ZPJWUGCS.js";
@@ -49,7 +50,7 @@ import "./chunk-WVAESIM6.js";
49
50
  import "./chunk-K623ENWT.js";
50
51
  import "./chunk-AQ37AY7B.js";
51
52
  import "./chunk-432XCUHF.js";
52
- import "./chunk-4LLUH3A7.js";
53
+ import "./chunk-HU5TUALO.js";
53
54
  import "./chunk-XC656O42.js";
54
55
  import "./chunk-NAVJD2PQ.js";
55
56
  import "./chunk-QYPT3QUD.js";
@@ -58,19 +59,20 @@ import "./chunk-DGEIYUC3.js";
58
59
  import "./chunk-MPHPFVKK.js";
59
60
  import "./chunk-GLNBDYUX.js";
60
61
  import "./chunk-DJ2GSRLV.js";
61
- import "./chunk-AEWOKOJY.js";
62
+ import "./chunk-AU3XNTMV.js";
62
63
  import "./chunk-MGSSJT27.js";
63
64
  import "./chunk-2J3OJGTL.js";
64
65
  import "./chunk-P3QQPMQA.js";
65
66
  import "./chunk-6O5DVH27.js";
66
67
  import "./chunk-GLCZKT5V.js";
67
68
  import "./chunk-2DNKEBXY.js";
68
- import "./chunk-ZPGMDT4S.js";
69
+ import "./chunk-O656RSMC.js";
70
+ import "./chunk-WOJZWRAZ.js";
69
71
  import "./chunk-VGC4I5JJ.js";
70
72
  import "./chunk-E4WHKETF.js";
71
73
  import "./chunk-ZPPP6VCL.js";
72
74
  import "./chunk-D7D7RXIJ.js";
73
- import "./chunk-XD2PNH3K.js";
75
+ import "./chunk-P7LKADIT.js";
74
76
  import "./chunk-46UV252V.js";
75
77
  import "./chunk-ZBVS26BY.js";
76
78
  import "./chunk-BFHXDAR7.js";
@@ -4,19 +4,19 @@ import {
4
4
  ChannelSettingsError,
5
5
  WorkspaceChannelSettingsStore,
6
6
  assertValidChannelSecretUpdates
7
- } from "./chunk-SQTA6PAY.js";
7
+ } from "./chunk-MVLM6PJK.js";
8
8
  import "./chunk-DTAPI453.js";
9
- import "./chunk-RM3F46UT.js";
9
+ import "./chunk-YUVTZ4UH.js";
10
10
  import "./chunk-RKUWKYED.js";
11
11
  import "./chunk-GOXKNSDZ.js";
12
12
  import "./chunk-IDS7MSUP.js";
13
- import "./chunk-K64OI7S7.js";
14
- import "./chunk-LYPXNRBX.js";
13
+ import "./chunk-546CDN6D.js";
14
+ import "./chunk-IKXE3AAC.js";
15
15
  import "./chunk-6PEXNQTX.js";
16
- import "./chunk-B3EBIZUY.js";
16
+ import "./chunk-72DZPDH4.js";
17
17
  import "./chunk-ALGGS7UH.js";
18
18
  import "./chunk-MR3PXB6E.js";
19
- import "./chunk-YLL3SC5S.js";
19
+ import "./chunk-DOA7MCDY.js";
20
20
  import "./chunk-GOFAQQZA.js";
21
21
  import "./chunk-5M6IDOMF.js";
22
22
  import "./chunk-TWPJO254.js";
@@ -26,11 +26,11 @@ import "./chunk-I7JDGNG6.js";
26
26
  import "./chunk-A6SX5TAH.js";
27
27
  import "./chunk-33FNCQSY.js";
28
28
  import "./chunk-6PVPNMXU.js";
29
- import "./chunk-7W5KOBYU.js";
29
+ import "./chunk-6D6V55ZQ.js";
30
30
  import "./chunk-IRH27ZC2.js";
31
31
  import "./chunk-QHWCP53L.js";
32
32
  import "./chunk-MOHAWIAW.js";
33
- import "./chunk-7MFQLOHZ.js";
33
+ import "./chunk-3PRJYMXC.js";
34
34
  import "./chunk-O6GEWCJA.js";
35
35
  import "./chunk-T26EAKDL.js";
36
36
  import "./chunk-ZPJWUGCS.js";
@@ -47,7 +47,7 @@ import "./chunk-WVAESIM6.js";
47
47
  import "./chunk-K623ENWT.js";
48
48
  import "./chunk-AQ37AY7B.js";
49
49
  import "./chunk-432XCUHF.js";
50
- import "./chunk-4LLUH3A7.js";
50
+ import "./chunk-HU5TUALO.js";
51
51
  import "./chunk-XC656O42.js";
52
52
  import "./chunk-NAVJD2PQ.js";
53
53
  import "./chunk-QYPT3QUD.js";
@@ -56,19 +56,20 @@ import "./chunk-DGEIYUC3.js";
56
56
  import "./chunk-MPHPFVKK.js";
57
57
  import "./chunk-GLNBDYUX.js";
58
58
  import "./chunk-DJ2GSRLV.js";
59
- import "./chunk-AEWOKOJY.js";
59
+ import "./chunk-AU3XNTMV.js";
60
60
  import "./chunk-MGSSJT27.js";
61
61
  import "./chunk-2J3OJGTL.js";
62
62
  import "./chunk-P3QQPMQA.js";
63
63
  import "./chunk-6O5DVH27.js";
64
64
  import "./chunk-GLCZKT5V.js";
65
65
  import "./chunk-2DNKEBXY.js";
66
- import "./chunk-ZPGMDT4S.js";
66
+ import "./chunk-O656RSMC.js";
67
+ import "./chunk-WOJZWRAZ.js";
67
68
  import "./chunk-VGC4I5JJ.js";
68
69
  import "./chunk-E4WHKETF.js";
69
70
  import "./chunk-ZPPP6VCL.js";
70
71
  import "./chunk-D7D7RXIJ.js";
71
- import "./chunk-XD2PNH3K.js";
72
+ import "./chunk-P7LKADIT.js";
72
73
  import "./chunk-46UV252V.js";
73
74
  import "./chunk-ZBVS26BY.js";
74
75
  import "./chunk-BFHXDAR7.js";
@@ -3,16 +3,17 @@
3
3
  import {
4
4
  ChannelWorkerReconcileError,
5
5
  createChannelWorkerGroup
6
- } from "./chunk-CIUUYB23.js";
6
+ } from "./chunk-3DTM3RPU.js";
7
7
  import "./chunk-UKZEXS6K.js";
8
8
  import "./chunk-J26HHFI5.js";
9
9
  import "./chunk-6PLDPT2C.js";
10
- import "./chunk-FHPKHXHT.js";
10
+ import "./chunk-XNZBXQCG.js";
11
11
  import "./chunk-FYJ7W2PI.js";
12
12
  import "./chunk-QONSRAEV.js";
13
13
  import "./chunk-24ER7UV4.js";
14
14
  import "./chunk-ALMR3E6Q.js";
15
15
  import "./chunk-BK2UNYWD.js";
16
+ import "./chunk-BKHCW2BI.js";
16
17
  import "./chunk-M5GB774H.js";
17
18
  import "./chunk-5HBA2Z7V.js";
18
19
  import "./chunk-DIEFUBV6.js";
@@ -2,14 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  ChannelWorkerReconcileError
5
- } from "./chunk-CIUUYB23.js";
5
+ } from "./chunk-3DTM3RPU.js";
6
6
  import "./chunk-UKZEXS6K.js";
7
7
  import "./chunk-J26HHFI5.js";
8
8
  import "./chunk-6PLDPT2C.js";
9
9
  import {
10
10
  ChannelWorkerStartupError,
11
11
  ChannelWorkerStopError
12
- } from "./chunk-FHPKHXHT.js";
12
+ } from "./chunk-XNZBXQCG.js";
13
13
  import "./chunk-FYJ7W2PI.js";
14
14
  import {
15
15
  ChannelDeliveryError,
@@ -18,6 +18,7 @@ import {
18
18
  import "./chunk-24ER7UV4.js";
19
19
  import "./chunk-ALMR3E6Q.js";
20
20
  import "./chunk-BK2UNYWD.js";
21
+ import "./chunk-BKHCW2BI.js";
21
22
  import "./chunk-M5GB774H.js";
22
23
  import "./chunk-5HBA2Z7V.js";
23
24
  import "./chunk-DIEFUBV6.js";
@@ -4,12 +4,13 @@ import {
4
4
  ChannelWorkerStartupError,
5
5
  ChannelWorkerStopError,
6
6
  createChannelWorkerSupervisor
7
- } from "./chunk-FHPKHXHT.js";
7
+ } from "./chunk-XNZBXQCG.js";
8
8
  import "./chunk-FYJ7W2PI.js";
9
9
  import "./chunk-QONSRAEV.js";
10
10
  import "./chunk-24ER7UV4.js";
11
11
  import "./chunk-ALMR3E6Q.js";
12
12
  import "./chunk-BK2UNYWD.js";
13
+ import "./chunk-BKHCW2BI.js";
13
14
  import "./chunk-M5GB774H.js";
14
15
  import "./chunk-5HBA2Z7V.js";
15
16
  import "./chunk-DIEFUBV6.js";
@@ -2,7 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  MissingCliEntryError
5
- } from "./chunk-PDDYAXL2.js";
5
+ } from "./chunk-WIRAPZ62.js";
6
+ import {
7
+ EXTERNAL_TOOL_GUARD_TOKEN_ENV
8
+ } from "./chunk-BKHCW2BI.js";
6
9
  import {
7
10
  redactLogCredentials
8
11
  } from "./chunk-M5GB774H.js";
@@ -389,7 +392,8 @@ __name(createSpawnChannelFactory, "createSpawnChannelFactory");
389
392
  var defaultSpawnChannelFactory = createSpawnChannelFactory();
390
393
  var SCRUBBED_CHILD_ENV_KEYS = /* @__PURE__ */ new Set([
391
394
  "QWEN_SERVER_TOKEN",
392
- "QWEN_CODE_SIMPLE"
395
+ "QWEN_CODE_SIMPLE",
396
+ EXTERNAL_TOOL_GUARD_TOKEN_ENV
393
397
  ]);
394
398
  function scrubChildEnv(source, scrubbed, overrides) {
395
399
  const childEnv = { ...source };
@@ -8,7 +8,7 @@ import {
8
8
  } from "./chunk-J26HHFI5.js";
9
9
  import {
10
10
  ChannelWorkerStartupError
11
- } from "./chunk-FHPKHXHT.js";
11
+ } from "./chunk-XNZBXQCG.js";
12
12
  import {
13
13
  ChannelDeliveryError,
14
14
  ChannelWebhookEnqueueError
@@ -16,7 +16,7 @@ import {
16
16
  // packages/core/src/tools/record-artifact.ts
17
17
  init_esbuild_shims();
18
18
  import path from "node:path";
19
- var DESCRIPTION = `Registers a session artifact so clients can show it in an artifacts panel. Use it after creating a useful file, URL, image, report, notebook, or other intermediate result that the user may want to open later, unless the producing tool already returned artifact metadata. For example, write_file automatically records HTML, image, PDF, and notebook files it writes inside the workspace, so do not call record_artifact again for the same workspacePath; still call it for other formats such as Markdown, CSV, JSON, and plain text, and for files produced outside write_file.
19
+ var DESCRIPTION = `Registers a session artifact so clients can show it in an artifacts panel. Use it after creating a useful file, URL, image, report, notebook, or other intermediate result that the user may want to open later, unless the producing tool already returned artifact metadata. For example, write_file automatically records HTML, image, PDF, and notebook files it writes inside the workspace, so do not call record_artifact again for the same workspacePath; still call it for other formats such as Markdown, CSV, JSON, and plain text, and for files produced outside write_file. When the session creates a remote resource, such as a pull request, issue, or comment submitted via gh, record its URL with kind "link" and the url locator so the user can reopen it later.
20
20
 
21
21
  This tool only records metadata. It does not publish, upload, read, write, or verify the referenced resource. Provide exactly one locator: workspacePath, managedId, or url. Use the Artifact tool, not record_artifact, for published interactive HTML artifacts.`;
22
22
  var ARTIFACT_TITLE_MAX_LENGTH = 200;
@@ -6,7 +6,7 @@ import {
6
6
  getNestedProperty,
7
7
  getPersistScopeForModelSelection,
8
8
  restoreSettingsFromBackup
9
- } from "./chunk-RM3F46UT.js";
9
+ } from "./chunk-YUVTZ4UH.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -2,17 +2,17 @@
2
2
  "use strict";
3
3
  import {
4
4
  performStandaloneUpdate
5
- } from "./chunk-EXHQZBVJ.js";
5
+ } from "./chunk-AFZTZLFB.js";
6
6
  import {
7
7
  updateEventEmitter
8
8
  } from "./chunk-YAF2MQZ6.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-K64OI7S7.js";
11
+ } from "./chunk-546CDN6D.js";
12
12
  import {
13
13
  getInstallationInfo,
14
14
  resolveUpdateCommand
15
- } from "./chunk-CAX76R46.js";
15
+ } from "./chunk-ZQL73PPE.js";
16
16
  import {
17
17
  createDebugLogger
18
18
  } from "./chunk-3RXUYQJI.js";
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-OCPBI7J5.js";
18
18
  import {
19
19
  defaultSpawnChannelFactory
20
- } from "./chunk-UWSXFI6E.js";
20
+ } from "./chunk-2U7GPHA6.js";
21
21
  import {
22
22
  BridgeChannelClosedError,
23
23
  BridgeTimeoutError,
@@ -26,7 +26,7 @@ import {
26
26
  STATUS_SCHEMA_VERSION,
27
27
  createIdleWorkspaceExtensionsStatus,
28
28
  createIdleWorkspaceHooksStatus
29
- } from "./chunk-PDDYAXL2.js";
29
+ } from "./chunk-WIRAPZ62.js";
30
30
  import {
31
31
  CHANNEL_STARTUP_PROFILE_META_KEY,
32
32
  CHANNEL_STARTUP_PROFILE_VERSION,
@@ -74,6 +74,11 @@ import {
74
74
  MAX_SUB_SESSION_NAME_CHARS,
75
75
  MAX_SUB_SESSION_PROMPT_CHARS
76
76
  } from "./chunk-BK2UNYWD.js";
77
+ import {
78
+ EXTERNAL_TOOL_GUARD_READY_META_KEY,
79
+ EXTERNAL_TOOL_GUARD_REQUIRED_VALUE,
80
+ isValidExternalToolGuardDenialReason
81
+ } from "./chunk-BKHCW2BI.js";
77
82
  import {
78
83
  ClientSideConnection,
79
84
  PROTOCOL_VERSION,
@@ -90,7 +95,7 @@ import {
90
95
  metadataBudgetBytes,
91
96
  normalizeSnapshotPayload,
92
97
  stableSessionArtifactId
93
- } from "./chunk-YLL3SC5S.js";
98
+ } from "./chunk-DOA7MCDY.js";
94
99
  import {
95
100
  DAEMON_TRACEPARENT_META_KEY,
96
101
  DAEMON_TRACESTATE_META_KEY
@@ -99,7 +104,7 @@ import {
99
104
  INVOCATION_CONTEXT_META_KEY,
100
105
  PRIVATE_ACP_CAPABILITY_ENV,
101
106
  PRIVATE_PARENT_CAPABILITY_META_KEY
102
- } from "./chunk-ZPGMDT4S.js";
107
+ } from "./chunk-O656RSMC.js";
103
108
  import {
104
109
  init_esbuild_shims
105
110
  } from "./chunk-5O2XNYP6.js";
@@ -1582,6 +1587,25 @@ function isRecord2(value) {
1582
1587
  return typeof value === "object" && value !== null && !Array.isArray(value);
1583
1588
  }
1584
1589
  __name(isRecord2, "isRecord");
1590
+ function normalizeExternalToolGuardResult(value) {
1591
+ if (!isRecord2(value)) {
1592
+ throw new Error("External tool guard handler returned an invalid result.");
1593
+ }
1594
+ const keys = Object.keys(value);
1595
+ if (value["allowed"] === true && keys.length === 1 && keys[0] === "allowed") {
1596
+ return { allowed: true };
1597
+ }
1598
+ if (value["allowed"] !== false || keys.some((key) => key !== "allowed" && key !== "reason")) {
1599
+ throw new Error("External tool guard handler returned an invalid result.");
1600
+ }
1601
+ if (!Object.hasOwn(value, "reason")) return { allowed: false };
1602
+ const reason = value["reason"];
1603
+ if (!isValidExternalToolGuardDenialReason(reason)) {
1604
+ throw new Error("External tool guard handler returned an invalid result.");
1605
+ }
1606
+ return { allowed: false, reason };
1607
+ }
1608
+ __name(normalizeExternalToolGuardResult, "normalizeExternalToolGuardResult");
1585
1609
  function isBoundedChannelDeliveryString(value) {
1586
1610
  return typeof value === "string" && value.trim().length > 0 && value.length <= MAX_CHANNEL_DELIVERY_FIELD_CHARS;
1587
1611
  }
@@ -1811,7 +1835,7 @@ function sliceLineRange(content, startLine, endLine) {
1811
1835
  }
1812
1836
  __name(sliceLineRange, "sliceLineRange");
1813
1837
  var BridgeClient = class {
1814
- constructor(resolveEntry, resolvePendingRestoreEvents, mediator, permissionTimeoutMs, maxPendingPerSession, fileSystem, onModelPromoted, onModePromoted, clientMcpSender, ownsSession = () => true, onTokenUsage, onCreateSubSession, onGenerationEvent, onWorkspaceGenerationEvent, onChannelDelivery, hasSessionSpawnInFlight = () => false) {
1838
+ constructor(resolveEntry, resolvePendingRestoreEvents, mediator, permissionTimeoutMs, maxPendingPerSession, fileSystem, onModelPromoted, onModePromoted, clientMcpSender, ownsSession = () => true, onTokenUsage, onCreateSubSession, onGenerationEvent, onWorkspaceGenerationEvent, onChannelDelivery, hasSessionSpawnInFlight = () => false, externalToolGuard) {
1815
1839
  this.resolveEntry = resolveEntry;
1816
1840
  this.resolvePendingRestoreEvents = resolvePendingRestoreEvents;
1817
1841
  this.mediator = mediator;
@@ -1828,6 +1852,7 @@ var BridgeClient = class {
1828
1852
  this.onWorkspaceGenerationEvent = onWorkspaceGenerationEvent;
1829
1853
  this.onChannelDelivery = onChannelDelivery;
1830
1854
  this.hasSessionSpawnInFlight = hasSessionSpawnInFlight;
1855
+ this.externalToolGuard = externalToolGuard;
1831
1856
  }
1832
1857
  static {
1833
1858
  __name(this, "BridgeClient");
@@ -2108,6 +2133,9 @@ var BridgeClient = class {
2108
2133
  if (method === SERVE_CONTROL_EXT_METHODS.channelDelivery) {
2109
2134
  return this.handleChannelDelivery(params);
2110
2135
  }
2136
+ if (method === SERVE_CONTROL_EXT_METHODS.externalToolGuardPrepare) {
2137
+ return this.handleExternalToolGuardPrepare(params);
2138
+ }
2111
2139
  if (method === TODO_STOP_GUARD_CONTINUATION_CLAIM_METHOD) {
2112
2140
  return this.handleTodoStopGuardContinuationClaim(params);
2113
2141
  }
@@ -2149,6 +2177,52 @@ var BridgeClient = class {
2149
2177
  }
2150
2178
  return { messages, hasQueuedPrompt };
2151
2179
  }
2180
+ async handleExternalToolGuardPrepare(params) {
2181
+ if (!this.externalToolGuard) {
2182
+ throw RequestError.methodNotFound(
2183
+ SERVE_CONTROL_EXT_METHODS.externalToolGuardPrepare
2184
+ );
2185
+ }
2186
+ const sessionId = params["sessionId"];
2187
+ const promptId = params["promptId"];
2188
+ const toolCallId = params["toolCallId"];
2189
+ const toolName = params["toolName"];
2190
+ const args = params["arguments"];
2191
+ if (typeof sessionId !== "string" || sessionId.length === 0 || typeof promptId !== "string" || promptId.length === 0 || typeof toolCallId !== "string" || toolCallId.length === 0 || typeof toolName !== "string" || toolName.length === 0 || !isRecord2(args)) {
2192
+ throw RequestError.invalidParams(
2193
+ void 0,
2194
+ "Invalid external tool guard request"
2195
+ );
2196
+ }
2197
+ if (!this.ownsSession(sessionId)) {
2198
+ throw RequestError.invalidParams(
2199
+ void 0,
2200
+ "External tool guard session is not owned by this connection"
2201
+ );
2202
+ }
2203
+ const entry = this.resolveEntry(sessionId);
2204
+ if (!entry || !entry.promptActive || entry.activePromptId !== promptId) {
2205
+ throw RequestError.invalidParams(
2206
+ void 0,
2207
+ "External tool guard prompt is not the active prompt"
2208
+ );
2209
+ }
2210
+ const decision = await this.externalToolGuard({
2211
+ sessionId: entry.sessionId,
2212
+ promptId: entry.activePromptId,
2213
+ toolCallId,
2214
+ toolName,
2215
+ arguments: args
2216
+ });
2217
+ const currentEntry = this.resolveEntry(sessionId);
2218
+ if (!this.ownsSession(sessionId) || currentEntry !== entry || !currentEntry.promptActive || currentEntry.activePromptId !== promptId) {
2219
+ throw RequestError.invalidParams(
2220
+ void 0,
2221
+ "External tool guard prompt is no longer active"
2222
+ );
2223
+ }
2224
+ return normalizeExternalToolGuardResult(decision);
2225
+ }
2152
2226
  handleTodoStopGuardContinuationClaim(params) {
2153
2227
  const sessionId = typeof params["sessionId"] === "string" && params["sessionId"].length > 0 ? params["sessionId"] : void 0;
2154
2228
  if (!sessionId) return { claimed: false, hasQueuedPrompt: false };
@@ -6485,7 +6559,8 @@ function createAcpSessionBridge(opts) {
6485
6559
  }).catch(() => void 0);
6486
6560
  },
6487
6561
  opts.onChannelDelivery,
6488
- () => channelInfo?.sessionIds === sessionIds && channelInfo.sessionSpawnsInFlight > 0
6562
+ () => channelInfo?.sessionIds === sessionIds && channelInfo.sessionSpawnsInFlight > 0,
6563
+ opts.externalToolGuard
6489
6564
  );
6490
6565
  connection = new ClientSideConnection(() => client, channel.stream);
6491
6566
  } catch (error) {
@@ -6623,6 +6698,14 @@ function createAcpSessionBridge(opts) {
6623
6698
  initTimeoutMs,
6624
6699
  "initialize"
6625
6700
  );
6701
+ if (opts.externalToolGuard) {
6702
+ const guardAck = response._meta?.[EXTERNAL_TOOL_GUARD_READY_META_KEY];
6703
+ if (guardAck !== EXTERNAL_TOOL_GUARD_REQUIRED_VALUE) {
6704
+ throw new Error(
6705
+ `ACP child did not acknowledge the required external tool guard (received: ${JSON.stringify(guardAck)}).`
6706
+ );
6707
+ }
6708
+ }
6626
6709
  try {
6627
6710
  const attributes = getChannelStartupProfileAttributes(
6628
6711
  response,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  resolveBundleDir
5
- } from "./chunk-YLL3SC5S.js";
5
+ } from "./chunk-DOA7MCDY.js";
6
6
  import {
7
7
  Storage
8
8
  } from "./chunk-3RXUYQJI.js";
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  DashScopeOpenAICompatibleProvider,
5
5
  DefaultOpenAICompatibleProvider
6
- } from "./chunk-4LLUH3A7.js";
6
+ } from "./chunk-HU5TUALO.js";
7
7
  import {
8
8
  RequestTokenizer
9
9
  } from "./chunk-H36SETQS.js";
@@ -41,7 +41,11 @@ import {
41
41
  import {
42
42
  ProtocolTagSanitizedEvent,
43
43
  logProtocolTagSanitized
44
- } from "./chunk-ZPGMDT4S.js";
44
+ } from "./chunk-O656RSMC.js";
45
+ import {
46
+ isQwenFamilyWireModel,
47
+ isTieredEffortWireModel
48
+ } from "./chunk-WOJZWRAZ.js";
45
49
  import {
46
50
  reconcileMaxTokens
47
51
  } from "./chunk-ZBVS26BY.js";
@@ -1404,9 +1408,15 @@ var ContentGenerationPipeline = class {
1404
1408
  const reasoningDisabled = request.config?.thinkingConfig?.includeThoughts === false || this.contentGeneratorConfig.reasoning === false;
1405
1409
  if (reasoningDisabled) {
1406
1410
  const typed2 = providerRequest;
1407
- if (!thinkingMandatory && (model.startsWith("qwen") || model === "coder-model")) {
1411
+ if (!thinkingMandatory && isQwenFamilyWireModel(model)) {
1408
1412
  if (isDashScope) {
1409
- typed2["enable_thinking"] = false;
1413
+ if (isTieredEffortWireModel(model)) {
1414
+ delete typed2["enable_thinking"];
1415
+ delete typed2["thinking_budget"];
1416
+ typed2["reasoning_effort"] = "none";
1417
+ } else {
1418
+ typed2["enable_thinking"] = false;
1419
+ }
1410
1420
  } else {
1411
1421
  delete typed2["enable_thinking"];
1412
1422
  const existing = typed2["chat_template_kwargs"] ?? {};
@@ -1444,7 +1454,11 @@ var ContentGenerationPipeline = class {
1444
1454
  }
1445
1455
  const typed = providerRequest;
1446
1456
  const reasoningEffort = typed["reasoning_effort"];
1447
- if (isDashScope && typed["tool_choice"] === "required" && (thinkingMandatory || typed["enable_thinking"] === true || typeof reasoningEffort === "string" && reasoningEffort !== "none")) {
1457
+ if (isDashScope && typed["tool_choice"] === "required" && (thinkingMandatory || isQwenFamilyWireModel(model) && (typed["enable_thinking"] === true || typeof reasoningEffort === "string" && reasoningEffort !== "none"))) {
1458
+ debugLogger3.debug(
1459
+ "DashScope: dropping tool_choice=required while thinking is enabled",
1460
+ { model, reasoningEffort, thinkingMandatory }
1461
+ );
1448
1462
  delete typed["tool_choice"];
1449
1463
  }
1450
1464
  return providerRequest;
@@ -1533,7 +1547,10 @@ var ContentGenerationPipeline = class {
1533
1547
  const model = context.model.toLowerCase();
1534
1548
  const wireRequest = openaiRequest;
1535
1549
  const chatTemplateKwargs = wireRequest?.["chat_template_kwargs"];
1536
- if ((wireRequest?.["enable_thinking"] === false || chatTemplateKwargs?.["enable_thinking"] === false) && request.config?.abortSignal?.aborted !== true && isRequiredThinkingError(error)) {
1550
+ if ((wireRequest?.["enable_thinking"] === false || chatTemplateKwargs?.["enable_thinking"] === false || // The tier-native family's disable shape (reasoning_effort:
1551
+ // 'none') replaces enable_thinking: false on the wire; recognise
1552
+ // it so runtime learning still fires there.
1553
+ wireRequest?.["reasoning_effort"] === "none") && request.config?.abortSignal?.aborted !== true && isRequiredThinkingError(error)) {
1537
1554
  this.requiredThinkingModels.add(model);
1538
1555
  debugLogger3.warn("Retrying with required thinking enabled", {
1539
1556
  model,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  AuthType
5
- } from "./chunk-XD2PNH3K.js";
5
+ } from "./chunk-P7LKADIT.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";