@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
@@ -9,13 +9,13 @@ import {
9
9
  staleArgsWarning,
10
10
  validateAuthMethod,
11
11
  writeSkillArgs
12
- } from "./chunk-GP4IMBX5.js";
12
+ } from "./chunk-XOZ2R6XI.js";
13
13
  import {
14
14
  isKittyProtocolEnabled
15
15
  } from "./chunk-NYX53SV4.js";
16
16
  import {
17
17
  contextCommand
18
- } from "./chunk-4NNR24EP.js";
18
+ } from "./chunk-ZH7G3A4U.js";
19
19
  import {
20
20
  calculateCost,
21
21
  computeSessionStats,
@@ -24,20 +24,20 @@ import {
24
24
  findInlineMathExpressions,
25
25
  getSystemInfoFields,
26
26
  levelLabel
27
- } from "./chunk-C6ARWPCG.js";
27
+ } from "./chunk-AVDEBBMI.js";
28
28
  import {
29
29
  VSCODE_SHIFT_ENTER_SEQUENCE,
30
30
  writeOsc52
31
31
  } from "./chunk-3LGZEYOF.js";
32
32
  import {
33
33
  rollbackStandaloneUpdate
34
- } from "./chunk-EXHQZBVJ.js";
34
+ } from "./chunk-AFZTZLFB.js";
35
35
  import {
36
36
  themeManager
37
37
  } from "./chunk-KKN2IE7Q.js";
38
38
  import {
39
39
  getErrorMessage as getErrorMessage2
40
- } from "./chunk-VJPF6GF2.js";
40
+ } from "./chunk-EHMN6SEG.js";
41
41
  import {
42
42
  GITHUB_WORKFLOW_PATHS,
43
43
  INSIGHT_CSS,
@@ -51,7 +51,7 @@ import {
51
51
  toJson,
52
52
  toJsonl,
53
53
  toMarkdown
54
- } from "./chunk-YO4JI7B4.js";
54
+ } from "./chunk-EKWNNQQD.js";
55
55
  import {
56
56
  stripUnsafeCharacters,
57
57
  toCodePoints
@@ -63,12 +63,12 @@ import {
63
63
  isVoiceEnabled,
64
64
  readVoiceMode,
65
65
  readVoiceModel
66
- } from "./chunk-TCOJPG2P.js";
66
+ } from "./chunk-7FUVSN4D.js";
67
67
  import {
68
68
  getExtendedSystemInfo,
69
69
  getGitVersion,
70
70
  getNpmVersion
71
- } from "./chunk-IK3RYLAD.js";
71
+ } from "./chunk-NYZAL2W2.js";
72
72
  import {
73
73
  formatDuration,
74
74
  formatTokenCount
@@ -76,7 +76,7 @@ import {
76
76
  import {
77
77
  isInlineModelOverrideAllowed,
78
78
  parseAcpModelOption
79
- } from "./chunk-WU5NBSLD.js";
79
+ } from "./chunk-6KEN3RIC.js";
80
80
  import {
81
81
  OUTPUT_LANGUAGE_AUTO,
82
82
  getAllSettingKeys,
@@ -88,7 +88,7 @@ import {
88
88
  resolveOutputLanguageOrPreserveAuto,
89
89
  validateSettingValue,
90
90
  writeOutputLanguageAndRegisterPath
91
- } from "./chunk-RM3F46UT.js";
91
+ } from "./chunk-YUVTZ4UH.js";
92
92
  import {
93
93
  SUPPORTED_LANGUAGES,
94
94
  getCurrentLanguage,
@@ -96,14 +96,14 @@ import {
96
96
  resolveSupportedLanguage,
97
97
  setLanguageAsync,
98
98
  t
99
- } from "./chunk-K64OI7S7.js";
99
+ } from "./chunk-546CDN6D.js";
100
100
  import {
101
101
  getInstallationInfo
102
- } from "./chunk-CAX76R46.js";
102
+ } from "./chunk-ZQL73PPE.js";
103
103
  import {
104
104
  isFolderTrustEnabled,
105
105
  loadTrustedFolders
106
- } from "./chunk-B3EBIZUY.js";
106
+ } from "./chunk-72DZPDH4.js";
107
107
  import {
108
108
  require_strip_json_comments
109
109
  } from "./chunk-ALGGS7UH.js";
@@ -174,13 +174,13 @@ import {
174
174
  runForkedAgent,
175
175
  tryGenerateSessionTitle,
176
176
  unregisterGoalHook
177
- } from "./chunk-YLL3SC5S.js";
177
+ } from "./chunk-DOA7MCDY.js";
178
178
  import {
179
179
  external_exports
180
180
  } from "./chunk-H6XPXXMH.js";
181
181
  import {
182
182
  resolveModelId
183
- } from "./chunk-7W5KOBYU.js";
183
+ } from "./chunk-6D6V55ZQ.js";
184
184
  import {
185
185
  getAutoSkillCuratorStatus,
186
186
  parse,
@@ -213,7 +213,7 @@ import {
213
213
  } from "./chunk-DGEIYUC3.js";
214
214
  import {
215
215
  resolveOpenAILogDir
216
- } from "./chunk-AEWOKOJY.js";
216
+ } from "./chunk-AU3XNTMV.js";
217
217
  import {
218
218
  IdeConnectionEvent,
219
219
  formatTokenUsageSummaryAsCsv,
@@ -227,7 +227,7 @@ import {
227
227
  recordSkillInvocation,
228
228
  runSideQuery,
229
229
  uiTelemetryService
230
- } from "./chunk-ZPGMDT4S.js";
230
+ } from "./chunk-O656RSMC.js";
231
231
  import {
232
232
  getAutoMemoryRoot
233
233
  } from "./chunk-E4WHKETF.js";
@@ -248,7 +248,7 @@ import {
248
248
  isCpuProfileRecording,
249
249
  startCpuProfile,
250
250
  stopCpuProfile
251
- } from "./chunk-K2ETEWG6.js";
251
+ } from "./chunk-WVRJKSIG.js";
252
252
  import {
253
253
  init_esbuild_shims
254
254
  } from "./chunk-5O2XNYP6.js";
@@ -1945,7 +1945,7 @@ var approvalModeCommand = {
1945
1945
  };
1946
1946
  }
1947
1947
  }
1948
- const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-ZYQW5SGJ.js") : void 0;
1948
+ const autoModeNotices = mode === "auto" /* AUTO */ && priorMode !== "auto" /* AUTO */ && config ? await import("./useAutoAcceptIndicator-PDZFIYRM.js") : void 0;
1949
1949
  if (config) {
1950
1950
  try {
1951
1951
  config.setApprovalMode(mode);
@@ -6682,7 +6682,7 @@ var expandNowCommand = {
6682
6682
  content: t("History is already expanded in this session.")
6683
6683
  };
6684
6684
  }
6685
- const { expandCollapsedHistory } = await import("./resumeHistoryUtils-Z4OFBXPM.js");
6685
+ const { expandCollapsedHistory } = await import("./resumeHistoryUtils-FB2NFVZ2.js");
6686
6686
  const updated = expandCollapsedHistory(history);
6687
6687
  loadHistory(updated);
6688
6688
  refreshStatic();
@@ -13894,10 +13894,10 @@ var updateCommand = {
13894
13894
  { performStandaloneUpdate },
13895
13895
  installationInfo
13896
13896
  ] = await Promise.all([
13897
- import("./updateCheck-ZXRCGY66.js"),
13898
- import("./processUtils-JLLRVZHT.js"),
13899
- import("./standalone-update-NYYZEHLD.js"),
13900
- import("./installationInfo-OFDYLDFD.js")
13897
+ import("./updateCheck-FDAVGOFT.js"),
13898
+ import("./processUtils-LJ3DSANX.js"),
13899
+ import("./standalone-update-ICW7H5IF.js"),
13900
+ import("./installationInfo-AEGIIQAT.js")
13901
13901
  ]);
13902
13902
  const { formatUpdateInstructions, getInstallationInfo: getInstallationInfo2 } = installationInfo;
13903
13903
  const settings = context.services.settings;
@@ -2,15 +2,15 @@
2
2
  "use strict";
3
3
  import {
4
4
  appEvents
5
- } from "./chunk-GP4IMBX5.js";
5
+ } from "./chunk-XOZ2R6XI.js";
6
6
  import {
7
7
  assembleMcpServers,
8
8
  getPendingGatedMcpServers,
9
9
  getPromptableMcpServers
10
- } from "./chunk-SJMCYCUQ.js";
10
+ } from "./chunk-T4XY5CT4.js";
11
11
  import {
12
12
  getMCPServerStatus
13
- } from "./chunk-ZPGMDT4S.js";
13
+ } from "./chunk-O656RSMC.js";
14
14
  import {
15
15
  require_fast_deep_equal
16
16
  } from "./chunk-D7D7RXIJ.js";
@@ -5,14 +5,14 @@ import {
5
5
  enableMouseEvents,
6
6
  useKeypress,
7
7
  useKeypressContext
8
- } from "./chunk-3P4GP4S2.js";
8
+ } from "./chunk-Z5S6KH2B.js";
9
9
  import {
10
10
  formatSupportedModes,
11
11
  getCommandDisplayName,
12
12
  getCommandSourceBadge,
13
13
  getCommandSourceGroup,
14
14
  getCommandSubcommandNames
15
- } from "./chunk-G2UXFO2B.js";
15
+ } from "./chunk-IISDPZ5X.js";
16
16
  import {
17
17
  INLINE_CODE_SPAN_PATTERN_SOURCE,
18
18
  calculateAverageLatency,
@@ -27,7 +27,7 @@ import {
27
27
  readInlineMathSpanAt,
28
28
  unescapeMarkdownBeforeMath,
29
29
  unescapeMarkdownDollars
30
- } from "./chunk-C6ARWPCG.js";
30
+ } from "./chunk-AVDEBBMI.js";
31
31
  import {
32
32
  MINIMUM_MAX_HEIGHT,
33
33
  MaxSizedBox
@@ -47,7 +47,7 @@ import {
47
47
  estimateCompactToolGroupHeight,
48
48
  isCollapsibleTool,
49
49
  wrapAnsi
50
- } from "./chunk-GEP54CHX.js";
50
+ } from "./chunk-DBIEZC7T.js";
51
51
  import {
52
52
  theme
53
53
  } from "./chunk-U25CMJYY.js";
@@ -74,7 +74,7 @@ import {
74
74
  } from "./chunk-2AGOQ7QO.js";
75
75
  import {
76
76
  relaunchApp
77
- } from "./chunk-D7QAZ5DF.js";
77
+ } from "./chunk-CXYBX4AL.js";
78
78
  import {
79
79
  resolveColor,
80
80
  themeManager
@@ -104,7 +104,7 @@ import {
104
104
  } from "./chunk-57OAHC2Y.js";
105
105
  import {
106
106
  createLoadedSettingsAdapter
107
- } from "./chunk-K6VEL5KP.js";
107
+ } from "./chunk-3ZRS2XNY.js";
108
108
  import {
109
109
  formatDuration,
110
110
  formatRelativeTime,
@@ -112,15 +112,15 @@ import {
112
112
  } from "./chunk-3SH53ANB.js";
113
113
  import {
114
114
  getPersistScopeForModelSelection
115
- } from "./chunk-RM3F46UT.js";
115
+ } from "./chunk-YUVTZ4UH.js";
116
116
  import {
117
117
  getCurrentLanguage,
118
118
  localizeToolDisplayName,
119
119
  t
120
- } from "./chunk-K64OI7S7.js";
120
+ } from "./chunk-546CDN6D.js";
121
121
  import {
122
122
  isWorkspaceTrusted
123
- } from "./chunk-B3EBIZUY.js";
123
+ } from "./chunk-72DZPDH4.js";
124
124
  import {
125
125
  ALL_PROVIDERS,
126
126
  IdeClient,
@@ -143,7 +143,7 @@ import {
143
143
  resolveBaseUrl,
144
144
  resolveMetadataKey,
145
145
  resolveOwnsModel
146
- } from "./chunk-YLL3SC5S.js";
146
+ } from "./chunk-DOA7MCDY.js";
147
147
  import {
148
148
  stripAnsi
149
149
  } from "./chunk-TWPJO254.js";
@@ -158,7 +158,7 @@ import {
158
158
  getMCPServerStatus,
159
159
  isVisionBridgeNoticeDisplay,
160
160
  uiTelemetryService
161
- } from "./chunk-ZPGMDT4S.js";
161
+ } from "./chunk-O656RSMC.js";
162
162
  import {
163
163
  ToolDisplayNames,
164
164
  ToolNames,
@@ -3,16 +3,16 @@
3
3
  import {
4
4
  settleChatRecording,
5
5
  subscribeToHeadlessChatRecordingFailures
6
- } from "./chunk-3H5RFLTS.js";
6
+ } from "./chunk-CJBRIJ7W.js";
7
7
  import {
8
8
  handleAtCommand
9
- } from "./chunk-JDNWIXHJ.js";
9
+ } from "./chunk-PQTK2FVO.js";
10
10
  import {
11
11
  JsonOutputAdapter
12
- } from "./chunk-FEUXV3DC.js";
12
+ } from "./chunk-6KZP75GT.js";
13
13
  import {
14
14
  StreamJsonOutputAdapter
15
- } from "./chunk-N3RERU5N.js";
15
+ } from "./chunk-WIPQR44Y.js";
16
16
  import {
17
17
  buildInitialSystemReminders,
18
18
  buildSystemMessage,
@@ -24,11 +24,11 @@ import {
24
24
  insertAfterFunctionResponses,
25
25
  isSlashCommand,
26
26
  normalizePartList
27
- } from "./chunk-IWYXZAGT.js";
27
+ } from "./chunk-QWUYFMAR.js";
28
28
  import {
29
29
  RunBudgetEnforcer,
30
30
  cleanupReviewWorktreeLeases
31
- } from "./chunk-GP4IMBX5.js";
31
+ } from "./chunk-XOZ2R6XI.js";
32
32
  import {
33
33
  AlreadyReportedError,
34
34
  handleBudgetExceededError,
@@ -36,10 +36,10 @@ import {
36
36
  handleError,
37
37
  handleMaxTurnsExceededError,
38
38
  handleToolError
39
- } from "./chunk-VJPF6GF2.js";
39
+ } from "./chunk-EHMN6SEG.js";
40
40
  import {
41
41
  isInlineModelOverrideAllowed
42
- } from "./chunk-WU5NBSLD.js";
42
+ } from "./chunk-6KEN3RIC.js";
43
43
  import {
44
44
  PLAN_MODE_ENTRY_SIBLING_SKIP_MESSAGE,
45
45
  buildSessionRecoveryPlanFromApiHistory,
@@ -57,7 +57,7 @@ import {
57
57
  parseAndFormatApiError,
58
58
  partitionByConcurrencySafety,
59
59
  restoreWorktreeContext
60
- } from "./chunk-YLL3SC5S.js";
60
+ } from "./chunk-DOA7MCDY.js";
61
61
  import {
62
62
  parsePositiveIntegerEnv
63
63
  } from "./chunk-6PVPNMXU.js";
@@ -79,7 +79,7 @@ import {
79
79
  shouldRunVisionBridge,
80
80
  splitImageParts,
81
81
  uiTelemetryService
82
- } from "./chunk-ZPGMDT4S.js";
82
+ } from "./chunk-O656RSMC.js";
83
83
  import {
84
84
  ToolNames
85
85
  } from "./chunk-D7D7RXIJ.js";
@@ -93,7 +93,7 @@ import {
93
93
  } from "./chunk-3RXUYQJI.js";
94
94
  import {
95
95
  registerCleanup
96
- } from "./chunk-LSYVASZS.js";
96
+ } from "./chunk-QG2ACINA.js";
97
97
  import {
98
98
  init_esbuild_shims
99
99
  } from "./chunk-5O2XNYP6.js";
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  loadSettings
5
- } from "./chunk-RM3F46UT.js";
5
+ } from "./chunk-YUVTZ4UH.js";
6
6
  import {
7
7
  getCurrentLanguage
8
- } from "./chunk-K64OI7S7.js";
8
+ } from "./chunk-546CDN6D.js";
9
9
  import {
10
10
  isWorkspaceTrusted
11
- } from "./chunk-B3EBIZUY.js";
11
+ } from "./chunk-72DZPDH4.js";
12
12
  import {
13
13
  require_strip_json_comments
14
14
  } from "./chunk-ALGGS7UH.js";
@@ -22,7 +22,7 @@ import {
22
22
  hashMcpServerConfig,
23
23
  isGatedMcpScope,
24
24
  normalizeClaudeMcpServer
25
- } from "./chunk-YLL3SC5S.js";
25
+ } from "./chunk-DOA7MCDY.js";
26
26
  import {
27
27
  atomicWriteFile
28
28
  } from "./chunk-UH7Z7Y45.js";
@@ -7,19 +7,19 @@ import {
7
7
  parseAcpBaseModelId,
8
8
  resolveCliGenerationConfig,
9
9
  sanitizeProviderBaseUrl
10
- } from "./chunk-WU5NBSLD.js";
10
+ } from "./chunk-6KEN3RIC.js";
11
11
  import {
12
12
  snapshotProcessEnv
13
- } from "./chunk-BWLUCN35.js";
13
+ } from "./chunk-DG563ZCS.js";
14
14
  import {
15
15
  STATUS_SCHEMA_VERSION
16
- } from "./chunk-PDDYAXL2.js";
16
+ } from "./chunk-WIRAPZ62.js";
17
17
  import {
18
18
  loadSettings
19
- } from "./chunk-RM3F46UT.js";
19
+ } from "./chunk-YUVTZ4UH.js";
20
20
  import {
21
21
  ModelsConfig
22
- } from "./chunk-YLL3SC5S.js";
22
+ } from "./chunk-DOA7MCDY.js";
23
23
  import {
24
24
  APPROVAL_MODES
25
25
  } from "./chunk-6WBWIPBF.js";
@@ -3,7 +3,7 @@
3
3
  import {
4
4
  getUserSettingsPath,
5
5
  v1ToV2Migration
6
- } from "./chunk-RM3F46UT.js";
6
+ } from "./chunk-YUVTZ4UH.js";
7
7
  import {
8
8
  getSystemDefaultsPath,
9
9
  getSystemSettingsPath
@@ -12,7 +12,7 @@ import {
12
12
  LoadedTrustedFolders,
13
13
  TrustLevel,
14
14
  getTrustedFoldersPath
15
- } from "./chunk-B3EBIZUY.js";
15
+ } from "./chunk-72DZPDH4.js";
16
16
  import {
17
17
  require_strip_json_comments
18
18
  } from "./chunk-ALGGS7UH.js";
@@ -21,7 +21,7 @@ import {
21
21
  } from "./chunk-MR3PXB6E.js";
22
22
  import {
23
23
  ideContextStore
24
- } from "./chunk-YLL3SC5S.js";
24
+ } from "./chunk-DOA7MCDY.js";
25
25
  import {
26
26
  init_esbuild_shims
27
27
  } from "./chunk-5O2XNYP6.js";
@@ -563,7 +563,7 @@ var WorkspaceRegistrationStore = class {
563
563
  return removed;
564
564
  }
565
565
  async update(mutate) {
566
- const { atomicWriteFile } = await import("./deferred-core-runtime-O54YPTBU.js");
566
+ const { atomicWriteFile } = await import("./deferred-core-runtime-KXN7HLN7.js");
567
567
  return withInProcessLock(this.filePath, async () => {
568
568
  const lock = await acquireFileLock(this.filePath);
569
569
  let committed = false;
@@ -2,14 +2,14 @@
2
2
  "use strict";
3
3
  import {
4
4
  functionResponsePartsToString
5
- } from "./chunk-IWYXZAGT.js";
5
+ } from "./chunk-QWUYFMAR.js";
6
6
  import {
7
7
  parseAndFormatApiError
8
- } from "./chunk-YLL3SC5S.js";
8
+ } from "./chunk-DOA7MCDY.js";
9
9
  import {
10
10
  formatVisionBridgeNoticeDisplay,
11
11
  isVisionBridgeNoticeDisplay
12
- } from "./chunk-ZPGMDT4S.js";
12
+ } from "./chunk-O656RSMC.js";
13
13
  import {
14
14
  init_esbuild_shims
15
15
  } from "./chunk-5O2XNYP6.js";
@@ -130,6 +130,13 @@ var SERVE_CONTROL_EXT_METHODS = {
130
130
  * result: `{ payload }`.
131
131
  */
132
132
  clientMcpMessage: "qwen/control/client_mcp/message",
133
+ /**
134
+ * Called by a private ACP CHILD immediately before a tool executor. The
135
+ * parent validates the runtime-owned session/prompt identity, invokes its
136
+ * configured external provider once, and returns allow/deny. Unavailable
137
+ * unless the daemon explicitly enabled required external guarding.
138
+ */
139
+ externalToolGuardPrepare: "qwen/control/external_tool_guard/prepare",
133
140
  sessionCd: "qwen/control/session/cd",
134
141
  /**
135
142
  * Also called by the CHILD UP into the parent (like `clientMcpMessage`): the
@@ -0,0 +1,123 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ normalize
5
+ } from "./chunk-ZBVS26BY.js";
6
+ import {
7
+ init_esbuild_shims
8
+ } from "./chunk-5O2XNYP6.js";
9
+ import {
10
+ __name
11
+ } from "./chunk-J2S4EL5Y.js";
12
+
13
+ // packages/core/src/core/modalityDefaults.ts
14
+ init_esbuild_shims();
15
+ var FULL_MULTIMODAL = {
16
+ image: true,
17
+ pdf: true,
18
+ audio: true,
19
+ video: true
20
+ };
21
+ var MODALITY_PATTERNS = [
22
+ // -------------------
23
+ // Google Gemini — full multimodal
24
+ // -------------------
25
+ [/^gemini-3/, FULL_MULTIMODAL],
26
+ [/^gemini-/, FULL_MULTIMODAL],
27
+ // -------------------
28
+ // OpenAI — image by default for all gpt/o-series models
29
+ // -------------------
30
+ [/^gpt-5/, { image: true }],
31
+ [/^gpt-/, { image: true }],
32
+ [/^o\d/, { image: true }],
33
+ // -------------------
34
+ // Anthropic Claude — image + pdf
35
+ // -------------------
36
+ [/^claude-/, { image: true, pdf: true }],
37
+ // -------------------
38
+ // Alibaba / Qwen
39
+ // -------------------
40
+ // Qwen Plus models: image + video support
41
+ [/^qwen3\.5-plus/, { image: true, video: true }],
42
+ [/^qwen3\.6-plus/, { image: true, video: true }],
43
+ [/^qwen3\.7-plus/, { image: true, video: true }],
44
+ // Qwen Max models (3.8+): image support
45
+ [/^qwen3\.8-max/, { image: true }],
46
+ [/^coder-model$/, { image: true, video: true }],
47
+ // Qwen VL (vision-language) models: image + video
48
+ [/^qwen-vl-/, { image: true, video: true }],
49
+ [/^qwen3-vl-/, { image: true, video: true }],
50
+ // Qwen coder / text models: text-only
51
+ [/^qwen3-coder-/, {}],
52
+ // Qwen3.6-35B-A3B (local quant variants) — image + video
53
+ [/^qwen3\.6-35b/, { image: true, video: true }],
54
+ [/^qwen/, {}],
55
+ // -------------------
56
+ // DeepSeek — text-only
57
+ // -------------------
58
+ [/^deepseek/, {}],
59
+ // -------------------
60
+ // Zhipu GLM
61
+ // -------------------
62
+ [/^glm-4\.5v/, { image: true }],
63
+ [/^glm-5(?:-|$)/, {}],
64
+ [/^glm-/, {}],
65
+ // -------------------
66
+ // MiniMax — M3 supports image + video input; older models default to text-only
67
+ // -------------------
68
+ [/^minimax-m3/i, { image: true, video: true }],
69
+ [/^minimax-/, {}],
70
+ // -------------------
71
+ // Moonshot / Kimi
72
+ // -------------------
73
+ [/^kimi-k3/, { image: true, video: true }],
74
+ [/^kimi-k2\./, { image: true, video: true }],
75
+ [/^kimi-/, {}],
76
+ // -------------------
77
+ // ByteDance Doubao — Seed-series and *-vision / *-vl models accept image
78
+ // input; other Doubao models (pro / lite / text) are text-only.
79
+ // (QwenLM/qwen-code#4876)
80
+ // -------------------
81
+ // seedance (text→video) and seedream (text→image) are generation models with
82
+ // text-only input — exclude them before the multimodal Seed chat series.
83
+ [/^doubao-seed(ance|ream)/, {}],
84
+ [/^doubao-seed/, { image: true }],
85
+ [/^doubao-.*(vision|vl)/, { image: true }],
86
+ [/^doubao/, {}]
87
+ ];
88
+ function defaultModalities(model) {
89
+ const norm = normalize(model);
90
+ for (const [regex, modalities] of MODALITY_PATTERNS) {
91
+ if (regex.test(norm)) {
92
+ return { ...modalities };
93
+ }
94
+ }
95
+ return {};
96
+ }
97
+ __name(defaultModalities, "defaultModalities");
98
+ function isQwenFamilyWireModel(model) {
99
+ if (!model) {
100
+ return false;
101
+ }
102
+ const normalized = model.toLowerCase();
103
+ return normalized.startsWith("qwen") || normalized === "coder-model";
104
+ }
105
+ __name(isQwenFamilyWireModel, "isQwenFamilyWireModel");
106
+ function isTieredEffortWireModel(model) {
107
+ if (!model) {
108
+ return false;
109
+ }
110
+ return model.toLowerCase().startsWith("qwen3.8-max");
111
+ }
112
+ __name(isTieredEffortWireModel, "isTieredEffortWireModel");
113
+
114
+ export {
115
+ defaultModalities,
116
+ isQwenFamilyWireModel,
117
+ isTieredEffortWireModel
118
+ };
119
+ /**
120
+ * @license
121
+ * Copyright 2025 Qwen Team
122
+ * SPDX-License-Identifier: Apache-2.0
123
+ */
@@ -18,12 +18,15 @@ import {
18
18
  import {
19
19
  normalizeServeChannelSelection
20
20
  } from "./chunk-ALMR3E6Q.js";
21
+ import {
22
+ EXTERNAL_TOOL_GUARD_TOKEN_ENV
23
+ } from "./chunk-BKHCW2BI.js";
21
24
  import {
22
25
  loadSettings
23
- } from "./chunk-RM3F46UT.js";
26
+ } from "./chunk-YUVTZ4UH.js";
24
27
  import {
25
28
  MCP_BUDGET_WARN_FRACTION
26
- } from "./chunk-YLL3SC5S.js";
29
+ } from "./chunk-DOA7MCDY.js";
27
30
  import {
28
31
  parsePositiveIntegerEnv
29
32
  } from "./chunk-6PVPNMXU.js";
@@ -214,6 +217,16 @@ var serveCommand = {
214
217
  }).option("permission-response-timeout-ms", {
215
218
  type: "number",
216
219
  description: "Wall-clock timeout for a single human permission / ask_user_question response in daemon (ACP) mode (ms). 0 = disabled (wait forever). Default: 300000 (5 min)."
220
+ }).option("external-tool-guard-mode", {
221
+ choices: ["off", "required"],
222
+ default: "off",
223
+ description: "Managed ACP pre-execution policy mode. Default off preserves current CLI and daemon behavior. Required fails startup unless a compatible loopback provider is available."
224
+ }).option("external-tool-guard-endpoint", {
225
+ type: "string",
226
+ description: "Origin-only loopback HTTP(S) endpoint for required external tool guarding, for example http://127.0.0.1:8787."
227
+ }).option("external-tool-guard-timeout-ms", {
228
+ type: "number",
229
+ description: "Per-handshake/prepare external tool guard timeout in milliseconds. Default: 3000."
217
230
  }).option("rate-limit", {
218
231
  type: "boolean",
219
232
  description: "Enable per-tier HTTP rate limiting. Tiers: prompt (10/min), mutation (30/min), read (120/min). Health, heartbeat, SSE, and /acp are exempt."
@@ -331,7 +344,9 @@ var serveCommand = {
331
344
  process.exit(1);
332
345
  }
333
346
  }
334
- const { runQwenServe } = await import("./run-qwen-serve-K5W6MM6M.js");
347
+ const externalToolGuardToken = process.env[EXTERNAL_TOOL_GUARD_TOKEN_ENV] ?? "";
348
+ delete process.env[EXTERNAL_TOOL_GUARD_TOKEN_ENV];
349
+ const { runQwenServe } = await import("./run-qwen-serve-UYEMGPKA.js");
335
350
  try {
336
351
  const handle = await runQwenServe({
337
352
  port: argv.port,
@@ -367,6 +382,16 @@ var serveCommand = {
367
382
  ...argv["permission-response-timeout-ms"] !== void 0 ? {
368
383
  permissionResponseTimeoutMs: argv["permission-response-timeout-ms"]
369
384
  } : {},
385
+ ...argv["external-tool-guard-mode"] === "required" ? {
386
+ externalToolGuard: {
387
+ mode: "required",
388
+ endpoint: argv["external-tool-guard-endpoint"] ?? "",
389
+ token: externalToolGuardToken,
390
+ ...argv["external-tool-guard-timeout-ms"] !== void 0 ? {
391
+ timeoutMs: argv["external-tool-guard-timeout-ms"]
392
+ } : {}
393
+ }
394
+ } : {},
370
395
  ...rateLimit ? { rateLimit: true } : {},
371
396
  ...rateLimitPrompt !== void 0 ? { rateLimitPrompt } : {},
372
397
  ...rateLimitMutation !== void 0 ? { rateLimitMutation } : {},
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  registerCleanup
5
- } from "./chunk-LSYVASZS.js";
5
+ } from "./chunk-QG2ACINA.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";