@qwen-code/qwen-code 0.21.4 → 0.21.5-nightly.20260805.32e274157

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 (260) hide show
  1. package/bundled/qc-helper/docs/configuration/model-providers.md +8 -7
  2. package/bundled/qc-helper/docs/configuration/settings.md +16 -16
  3. package/bundled/qc-helper/docs/features/code-review.md +4 -0
  4. package/bundled/qc-helper/docs/features/headless.md +31 -0
  5. package/bundled/qc-helper/docs/features/mcp.md +11 -3
  6. package/bundled/qc-helper/docs/qwen-serve.md +75 -0
  7. package/bundled/review/SKILL.md +90 -52
  8. package/chunks/{MaxSizedBox-5XDFQHTQ.js → MaxSizedBox-H44SGRP7.js} +17 -16
  9. package/chunks/{StandaloneSessionPicker-DLADA54K.js → StandaloneSessionPicker-T5FQMYD3.js} +31 -30
  10. package/chunks/{acpAgent-MVEFZSBS.js → acpAgent-J474KXVM.js} +849 -313
  11. package/chunks/{agent-RB6LCRZX.js → agent-SC23IV5L.js} +17 -16
  12. package/chunks/{agent-headless-272ZACJV.js → agent-headless-2CHR5WJP.js} +17 -16
  13. package/chunks/{artifact-tool-TBOYEKTY.js → artifact-tool-RROCCJDA.js} +1 -1
  14. package/chunks/{askUserQuestion-23Y5WZFJ.js → askUserQuestion-2EPPBPUZ.js} +1 -1
  15. package/chunks/{bridge-GXUXFSHK.js → bridge-BLHYPCCR.js} +21 -19
  16. package/chunks/{channel-settings-store-5UA2SABE.js → channel-settings-store-CDOZ7GCP.js} +22 -21
  17. package/chunks/{channel-worker-group-NDG4WOOZ.js → channel-worker-group-SVGPDH2C.js} +3 -2
  18. package/chunks/{channel-worker-manager-ZCW6UW34.js → channel-worker-manager-72ZK2GTS.js} +3 -2
  19. package/chunks/{channel-worker-supervisor-ATGFTZRN.js → channel-worker-supervisor-NUEDVHX4.js} +2 -1
  20. package/chunks/{chunk-PWCQRLM5.js → chunk-2AGOQ7QO.js} +1 -1
  21. package/chunks/{chunk-AFJSRJTO.js → chunk-2B6FBVWE.js} +1 -1
  22. package/chunks/{chunk-XPAY4EMH.js → chunk-2OSE7Q5O.js} +3 -3
  23. package/chunks/{chunk-DHNFB7NC.js → chunk-2QOLRESU.js} +5 -5
  24. package/chunks/{chunk-UWSXFI6E.js → chunk-2U7GPHA6.js} +6 -2
  25. package/chunks/{chunk-CIUUYB23.js → chunk-3DTM3RPU.js} +1 -1
  26. package/chunks/{chunk-X6QNZOTC.js → chunk-3PRJYMXC.js} +2 -2
  27. package/chunks/{chunk-6KQUOXT5.js → chunk-3XDH6PZM.js} +7 -7
  28. package/chunks/{chunk-DJA7YBLJ.js → chunk-56MC5OM7.js} +2 -2
  29. package/chunks/{chunk-B3EBXISV.js → chunk-5DVP76WL.js} +90 -7
  30. package/chunks/{chunk-2T3RYG4L.js → chunk-5KDLX7ER.js} +919 -323
  31. package/chunks/{chunk-O2ZYHG33.js → chunk-5L6CQ4ZU.js} +131 -67
  32. package/chunks/{chunk-E2SYUEIA.js → chunk-5OAMVWFL.js} +874 -375
  33. package/chunks/{chunk-LPLMUGIM.js → chunk-5X76FZLI.js} +5 -5
  34. package/chunks/{chunk-M2L4TMH3.js → chunk-6HTEECQY.js} +3 -3
  35. package/chunks/{chunk-KHSJSMFS.js → chunk-6I6WUVYI.js} +1 -1
  36. package/chunks/{chunk-LLMGP5IC.js → chunk-6WBWIPBF.js} +2 -2
  37. package/chunks/{chunk-PQ5JFCNL.js → chunk-762UTZQZ.js} +3 -3
  38. package/chunks/{chunk-HBCKZF2A.js → chunk-7EW7CYLA.js} +1 -1
  39. package/chunks/{chunk-4PZ7SPD5.js → chunk-7FKLLD4X.js} +1 -1
  40. package/chunks/{chunk-XSOAW7FC.js → chunk-AE7AKP3E.js} +6 -6
  41. package/chunks/{chunk-UATJZOAJ.js → chunk-ASS3UQB5.js} +3 -3
  42. package/chunks/{chunk-XGA6XHH3.js → chunk-AXOFMDZC.js} +3 -3
  43. package/chunks/chunk-BKHCW2BI.js +41 -0
  44. package/chunks/{chunk-DZPOYHBT.js → chunk-D6FISK43.js} +1 -1
  45. package/chunks/{chunk-CFDR3GNL.js → chunk-D7D7RXIJ.js} +11 -0
  46. package/chunks/{chunk-FPPVCCAH.js → chunk-DNPP267F.js} +1 -1
  47. package/chunks/{chunk-I32URQI7.js → chunk-EA2CKB6L.js} +5 -5
  48. package/chunks/{chunk-C5YFS6VR.js → chunk-EL4W7MGQ.js} +4 -4
  49. package/chunks/{chunk-QXTGHZCX.js → chunk-FDLXWNCE.js} +3 -3
  50. package/chunks/{chunk-PCVMRBLN.js → chunk-FFCSRU3F.js} +1 -1
  51. package/chunks/{chunk-SV5X2EUV.js → chunk-FMU2QVA5.js} +1 -1
  52. package/chunks/{chunk-2ON2O4MD.js → chunk-FV2JYSWS.js} +28 -3
  53. package/chunks/{chunk-KB6VSG2U.js → chunk-GXP44JOS.js} +7 -7
  54. package/chunks/{chunk-BC4LTKEG.js → chunk-HP6MKLWU.js} +1 -1
  55. package/chunks/{chunk-YXEVDA66.js → chunk-HU5TUALO.js} +110 -22
  56. package/chunks/{chunk-2JN5V3I7.js → chunk-ITZK3L4S.js} +1 -1
  57. package/chunks/{chunk-5XGI4IPK.js → chunk-JEVHOCCA.js} +4 -4
  58. package/chunks/{chunk-6ME3PVMM.js → chunk-JNFWMBG6.js} +5 -5
  59. package/chunks/{chunk-3PHUGFPH.js → chunk-JXPOBM4B.js} +1 -1
  60. package/chunks/{chunk-TXZDRD36.js → chunk-LCCBAGRT.js} +5 -5
  61. package/chunks/{chunk-G7XXKQYS.js → chunk-LKRMNRSN.js} +27 -1
  62. package/chunks/{chunk-DOCBJIBL.js → chunk-MB3ILUB7.js} +1 -1
  63. package/chunks/{chunk-HFVW54NL.js → chunk-MBEMTXQT.js} +9 -2
  64. package/chunks/{chunk-RNKGMZEW.js → chunk-MFTOMYE2.js} +1 -1
  65. package/chunks/{chunk-RPYYTL7E.js → chunk-MGSSJT27.js} +2 -2
  66. package/chunks/{chunk-URVJ4AZC.js → chunk-MKMUBBEX.js} +1 -1
  67. package/chunks/{chunk-RL2NPV5E.js → chunk-N5QPOGRQ.js} +1 -1
  68. package/chunks/{chunk-2CCUHZP5.js → chunk-N7PF4KZR.js} +2 -2
  69. package/chunks/{chunk-JDJ7SC4E.js → chunk-NMBDPO63.js} +255 -197
  70. package/chunks/{chunk-M6RNMBUO.js → chunk-NQZ5IVLH.js} +4 -4
  71. package/chunks/{chunk-FV4TUUDE.js → chunk-O4WOWHMZ.js} +1 -1
  72. package/chunks/{chunk-GDREW3U5.js → chunk-OIVG6IHL.js} +2 -2
  73. package/chunks/{chunk-IMGNGOGC.js → chunk-PQ2J56BJ.js} +3 -3
  74. package/chunks/{chunk-EJXATV5R.js → chunk-PWFDZA5A.js} +2 -2
  75. package/chunks/{chunk-OOPFAIWP.js → chunk-Q7EXR3W2.js} +1 -1
  76. package/chunks/{chunk-4CTV3FZH.js → chunk-QJL2AQZI.js} +23 -19
  77. package/chunks/{chunk-SBBHZ3YT.js → chunk-QKWPXGW4.js} +1 -1
  78. package/chunks/{chunk-HI4YGRJD.js → chunk-RDICVTQC.js} +3 -3
  79. package/chunks/{chunk-ZRQY5BBS.js → chunk-REAWLQAU.js} +10 -10
  80. package/chunks/{chunk-BOWKLLWA.js → chunk-SOBA6GIW.js} +3 -3
  81. package/chunks/{chunk-WDLQGFWP.js → chunk-TYWI5NXY.js} +27 -27
  82. package/chunks/{chunk-A7PONO5G.js → chunk-URJHXOSO.js} +2 -2
  83. package/chunks/{chunk-C6FU76AA.js → chunk-V3BNVUFI.js} +1 -1
  84. package/chunks/{chunk-G6KI6B5L.js → chunk-VF6WPN4R.js} +1 -1
  85. package/chunks/{chunk-AWTLFUVN.js → chunk-VT27B2XS.js} +13 -13
  86. package/chunks/{chunk-O4IWFYUW.js → chunk-VY4TEQQ6.js} +4 -4
  87. package/chunks/{chunk-EIAPOG76.js → chunk-WECYW5EE.js} +4 -4
  88. package/chunks/{chunk-PDDYAXL2.js → chunk-WIRAPZ62.js} +7 -0
  89. package/chunks/chunk-WOJZWRAZ.js +123 -0
  90. package/chunks/{chunk-7UXI6P72.js → chunk-WVAESIM6.js} +2 -2
  91. package/chunks/{chunk-P5UJMCVS.js → chunk-XIDYVC4P.js} +4 -4
  92. package/chunks/{chunk-THLV7YGY.js → chunk-XIKKANF4.js} +2 -2
  93. package/chunks/{chunk-FHPKHXHT.js → chunk-XNZBXQCG.js} +4 -0
  94. package/chunks/{chunk-ZLJQIGCH.js → chunk-XZCMQUOF.js} +8 -0
  95. package/chunks/{chunk-PQEIKQXN.js → chunk-YJMFRTLV.js} +24 -6
  96. package/chunks/{chunk-QZQ72YF6.js → chunk-Z26UXKZE.js} +1 -1
  97. package/chunks/{chunk-VA5NLVPT.js → chunk-Z7JILXGX.js} +1 -1
  98. package/chunks/{chunk-UEJESCS7.js → chunk-ZPPP6VCL.js} +1 -1
  99. package/chunks/{computer-use-MDOMIVTL.js → computer-use-ENYMKQAI.js} +17 -16
  100. package/chunks/{config-utils-E3ZQTHGM.js → config-utils-LIRO7NSU.js} +2 -2
  101. package/chunks/{contextCommand-FCK3CB37.js → contextCommand-E7XMHU6M.js} +19 -18
  102. package/chunks/{core-runtime-UHRHHU2O.js → core-runtime-KDIRQ63A.js} +17 -16
  103. package/chunks/{create-sub-session-J32WC64U.js → create-sub-session-6EWLAZD5.js} +1 -1
  104. package/chunks/{create-sub-session-MIXUVLWW.js → create-sub-session-VVEL77UF.js} +17 -16
  105. package/chunks/{cron-create-HMFSHIAR.js → cron-create-CCRIULJE.js} +1 -1
  106. package/chunks/{cron-delete-ZJFHOX57.js → cron-delete-FCFW6BGP.js} +1 -1
  107. package/chunks/{cron-list-ZEX2NBMN.js → cron-list-QDBVCHRF.js} +1 -1
  108. package/chunks/{daemon-status-provider-6LC7LUNR.js → daemon-status-provider-4LMCSLZ4.js} +25 -23
  109. package/chunks/{daemon-trust-policy-Y36HGRAM.js → daemon-trust-policy-XLONWB2C.js} +22 -21
  110. package/chunks/{daemon-trust-policy-monitor-ROTBBDOH.js → daemon-trust-policy-monitor-FHFZ3NNG.js} +22 -21
  111. package/chunks/{deferred-core-runtime-ZQ4JIAJD.js → deferred-core-runtime-QNEBJ3DP.js} +17 -16
  112. package/chunks/{display-image-2WOG27DY.js → display-image-GUJA352B.js} +2 -2
  113. package/chunks/{earlyInputCapture-GPRUNXTP.js → earlyInputCapture-OG5IUF4R.js} +17 -16
  114. package/chunks/{edit-YK3UP6D2.js → edit-E2WNOITJ.js} +18 -17
  115. package/chunks/{enter-worktree-QMVQW7UG.js → enter-worktree-RMCBAAA2.js} +17 -16
  116. package/chunks/{enterPlanMode-TZAYQ5MP.js → enterPlanMode-GISFJA3O.js} +17 -16
  117. package/chunks/{environment-3UQURCZG.js → environment-JXTQGYDN.js} +19 -18
  118. package/chunks/{errors-VBIMTNNI.js → errors-2AYTYCQ3.js} +19 -18
  119. package/chunks/{exit-worktree-4EC7LBBC.js → exit-worktree-HORS3V7Z.js} +17 -16
  120. package/chunks/{exitPlanMode-K5Y3REU2.js → exitPlanMode-V75Y36HJ.js} +17 -16
  121. package/chunks/external-tool-guard-provider-5HTGOPGU.js +273 -0
  122. package/chunks/{fast-path-KS6IE7YR.js → fast-path-HURC6JUT.js} +5 -5
  123. package/chunks/{gemini-LTUCUOJH.js → gemini-WHMD4RGY.js} +70 -55
  124. package/chunks/{geminiContentGenerator-M3HJTHKR.js → geminiContentGenerator-DZB3GPNQ.js} +1 -1
  125. package/chunks/{glob-SKUYGTF2.js → glob-IGTV723M.js} +17 -16
  126. package/chunks/{goal-tools-SPQ5M6D3.js → goal-tools-3AZKX5WQ.js} +2 -18
  127. package/chunks/{grep-SQ7RD7SV.js → grep-SJ2NYUCD.js} +17 -16
  128. package/chunks/{handleAutoUpdate-OK7OX23A.js → handleAutoUpdate-NPBKROGA.js} +21 -20
  129. package/chunks/{i18n-P77YBKY4.js → i18n-CBSMJZ3Z.js} +18 -17
  130. package/chunks/{image-gen-2ZWPS42A.js → image-gen-KNKDTUEN.js} +2 -2
  131. package/chunks/{initializer-PIOYXVW7.js → initializer-JT5P3IQF.js} +22 -21
  132. package/chunks/{installationInfo-IWMM6DPV.js → installationInfo-CZVCKPPZ.js} +18 -17
  133. package/chunks/{list-3DCR4TRI.js → list-MT7T6JVH.js} +25 -24
  134. package/chunks/{list-agents-TWEGRJWO.js → list-agents-GC4BRET7.js} +1 -1
  135. package/chunks/{loadedSettingsAdapter-EJC6CU5N.js → loadedSettingsAdapter-D4JFGYYQ.js} +22 -21
  136. package/chunks/{loggingContentGenerator-2JEFU25T.js → loggingContentGenerator-SFT5CMPU.js} +9 -8
  137. package/chunks/{loop-wakeup-6LLEOQYV.js → loop-wakeup-SQQSBMEY.js} +2 -2
  138. package/chunks/{ls-H5WX22VK.js → ls-63CC3NNX.js} +1 -1
  139. package/chunks/{lsp-G6FXYEIS.js → lsp-P6NVJVNT.js} +1 -1
  140. package/chunks/{managed-npm-update-EGVQPSBR.js → managed-npm-update-YHJW6SGD.js} +18 -17
  141. package/chunks/{mcp-KFFH2MBV.js → mcp-53X2M7XL.js} +22 -21
  142. package/chunks/{monitor-6Y3NDMTI.js → monitor-I43P3MNV.js} +17 -16
  143. package/chunks/{nonInteractiveCli-426IQDPE.js → nonInteractiveCli-UADCDERF.js} +50 -48
  144. package/chunks/{notebook-edit-373IQQLE.js → notebook-edit-WKZUONWV.js} +18 -17
  145. package/chunks/{openaiContentGenerator-PGFSOMIQ.js → openaiContentGenerator-YHF3FIYI.js} +9 -8
  146. package/chunks/{pidfile-Y4INDMHG.js → pidfile-VU37FJS4.js} +17 -16
  147. package/chunks/{processUtils-6BCPCJZW.js → processUtils-VIQVTDWH.js} +2 -2
  148. package/chunks/{qwenContentGenerator-QC3KSHSX.js → qwenContentGenerator-46476NL4.js} +18 -17
  149. package/chunks/{qwenOAuth2-IOAXKJ3L.js → qwenOAuth2-D62OJZFU.js} +1 -1
  150. package/chunks/{read-file-2T54FYZV.js → read-file-6PSNROKB.js} +7 -6
  151. package/chunks/{read-mcp-resource-DRZSI3HE.js → read-mcp-resource-RTSSEER5.js} +1 -1
  152. package/chunks/{record-artifact-IPIRWMFY.js → record-artifact-E6AWQU2Z.js} +2 -2
  153. package/chunks/{resumeHistoryUtils-O62RDCZ3.js → resumeHistoryUtils-QFD6LB7N.js} +20 -19
  154. package/chunks/{ripGrep-3H72KY7S.js → ripGrep-4WZJEOGB.js} +17 -16
  155. package/chunks/{run-qwen-serve-3AIDNNHO.js → run-qwen-serve-SEL3TISE.js} +72 -36
  156. package/chunks/{runtime-AZ4EHHFV.js → runtime-T6JAS7GL.js} +25 -24
  157. package/chunks/{scheduler-L4UUCU4Z.js → scheduler-ZCTDMJJV.js} +17 -16
  158. package/chunks/{sdk-exporters-http-IKNWQJNV.js → sdk-exporters-http-IL2346MJ.js} +6 -2
  159. package/chunks/{sdk-impl-7CUUMQDB.js → sdk-impl-SYKGVWOZ.js} +2 -2
  160. package/chunks/{send-message-LHJLVWFD.js → send-message-TL6FIMMN.js} +3 -3
  161. package/chunks/{serve-CLXGSYOE.js → serve-A7B6VWK7.js} +23 -21
  162. package/chunks/{server-MEAE3WMM.js → server-6CCTTLO4.js} +170 -63
  163. package/chunks/{session-OSLD2LT5.js → session-3YYXW6MZ.js} +51 -49
  164. package/chunks/{settings-ILWAOKA4.js → settings-KWYWA3BS.js} +21 -20
  165. package/chunks/{shell-RT5DBH6B.js → shell-6SUYJURL.js} +17 -16
  166. package/chunks/{skill-LVGA3ATZ.js → skill-ZIQFS6YD.js} +8 -7
  167. package/chunks/{skill-settings-WTZE7EPE.js → skill-settings-23IFV7S3.js} +21 -20
  168. package/chunks/{spawnChannel-BOBS7DVM.js → spawnChannel-AI7QA35U.js} +20 -18
  169. package/chunks/{standalone-update-Y5JB4S2K.js → standalone-update-WNXRFLEA.js} +19 -18
  170. package/chunks/{startInteractiveUI-ZV25CD2S.js → startInteractiveUI-NPZU6YXV.js} +76 -71
  171. package/chunks/{syntheticOutput-EYL7DWO7.js → syntheticOutput-BN7E626U.js} +2 -2
  172. package/chunks/{task-create-4ALZMGP5.js → task-create-2X4UP4F3.js} +4 -4
  173. package/chunks/{task-list-6CVQPORX.js → task-list-WOLJPZ64.js} +1 -1
  174. package/chunks/{task-stop-Y5ZTFVRX.js → task-stop-TNXRNAL2.js} +1 -1
  175. package/chunks/{task-update-IKCEEWJ6.js → task-update-VDUSN36E.js} +4 -4
  176. package/chunks/{team-create-ZVPQIXCP.js → team-create-CMF2RRF2.js} +17 -16
  177. package/chunks/{team-delete-CE7DC53R.js → team-delete-D2VMSDOT.js} +1 -1
  178. package/chunks/{team-plan-approval-5UHUBY3W.js → team-plan-approval-5EET4S3I.js} +17 -16
  179. package/chunks/{terminal-image-renderer-NWC2RALG.js → terminal-image-renderer-TCEAHDFE.js} +18 -17
  180. package/chunks/{theme-manager-5KICSBOB.js → theme-manager-RPYRQJLX.js} +17 -16
  181. package/chunks/{todoWrite-FTZWQRZH.js → todoWrite-MHWHO5UO.js} +1 -1
  182. package/chunks/{tool-search-2AOU77H4.js → tool-search-HJN53LCN.js} +9 -8
  183. package/chunks/{total-session-admission-FR7RMHVL.js → total-session-admission-4FZK4PCR.js} +21 -19
  184. package/chunks/{trustedFolders-V7UUPQXO.js → trustedFolders-RIYUQQJC.js} +18 -17
  185. package/chunks/{update-relaunch-TBWRMQD6.js → update-relaunch-3HVSJU2T.js} +5 -5
  186. package/chunks/{updateCheck-42SPCLH7.js → updateCheck-EE2XXQNJ.js} +20 -19
  187. package/chunks/{useAutoAcceptIndicator-4C2KM345.js → useAutoAcceptIndicator-RRV7MW47.js} +23 -22
  188. package/chunks/{validateNonInterActiveAuth-UVFRXV3Z.js → validateNonInterActiveAuth-3QRII2BS.js} +47 -45
  189. package/chunks/{version-HKTV6TPN.js → version-4KUHPDAC.js} +1 -1
  190. package/chunks/{web-fetch-ZRXSV5AN.js → web-fetch-MXA6HQ42.js} +7 -6
  191. package/chunks/{web-search-WOLV3L6T.js → web-search-YENHOBMC.js} +5 -4
  192. package/chunks/{workflow-F63ES3OB.js → workflow-RYEVBM4L.js} +18 -17
  193. package/chunks/{workspace-providers-status-PJMGMYMC.js → workspace-providers-status-SBTU5TWO.js} +25 -24
  194. package/chunks/{workspace-registration-store-LNBOX5TJ.js → workspace-registration-store-VUMOTODR.js} +1 -1
  195. package/chunks/{workspace-registry-4PR7VDQ3.js → workspace-registry-OZ5ZUBJ6.js} +21 -19
  196. package/chunks/{workspace-service-PVI3VUNQ.js → workspace-service-Y3IGAN4K.js} +26 -25
  197. package/chunks/{workspace-skills-status-2Q5ZISO6.js → workspace-skills-status-FXOIDGOS.js} +23 -22
  198. package/chunks/{workspace-trust-reconciler-NOILUH3C.js → workspace-trust-reconciler-DQI7MYJS.js} +26 -24
  199. package/chunks/{write-file-MOM4JDHG.js → write-file-NK4C3GFC.js} +17 -16
  200. package/chunks/{zoom-image-E3VHRCFU.js → zoom-image-4Y6Y6DAX.js} +7 -6
  201. package/cli-entry.js +14 -0
  202. package/cli.js +16 -12
  203. package/package.json +3 -3
  204. package/web-shell/assets/{arc-GpdmhIxr.js → arc-DtI1rZcQ.js} +1 -1
  205. package/web-shell/assets/{architectureDiagram-3BPJPVTR-C-LhCgH_.js → architectureDiagram-3BPJPVTR-BPZwSVct.js} +1 -1
  206. package/web-shell/assets/{blockDiagram-GPEHLZMM-CzNdTCm-.js → blockDiagram-GPEHLZMM-BIQ03j4C.js} +1 -1
  207. package/web-shell/assets/{c4Diagram-AAUBKEIU-Ce7hbrRM.js → c4Diagram-AAUBKEIU-CB0RyFGm.js} +1 -1
  208. package/web-shell/assets/channel-vfbVFuM1.js +1 -0
  209. package/web-shell/assets/{chunk-2J33WTMH-BBSEn1PK.js → chunk-2J33WTMH-B3WoS-4H.js} +1 -1
  210. package/web-shell/assets/{chunk-4BX2VUAB-_llgjfe5.js → chunk-4BX2VUAB-C98xYZ1X.js} +1 -1
  211. package/web-shell/assets/{chunk-55IACEB6-9fJZ_oZE.js → chunk-55IACEB6-CbTIWRwQ.js} +1 -1
  212. package/web-shell/assets/{chunk-727SXJPM-DgEzQWOu.js → chunk-727SXJPM-DWGnKTPu.js} +1 -1
  213. package/web-shell/assets/{chunk-AQP2D5EJ-B4RthUTc.js → chunk-AQP2D5EJ-4__QyCEX.js} +1 -1
  214. package/web-shell/assets/{chunk-FMBD7UC4-CDI-emMW.js → chunk-FMBD7UC4-DFtG1YCW.js} +1 -1
  215. package/web-shell/assets/{chunk-ND2GUHAM-jM2-yOd8.js → chunk-ND2GUHAM-rvAhW51N.js} +1 -1
  216. package/web-shell/assets/{chunk-QZHKN3VN-XGZHlKPF.js → chunk-QZHKN3VN-DfiU9pwZ.js} +1 -1
  217. package/web-shell/assets/classDiagram-4FO5ZUOK-Cvr8atq3.js +1 -0
  218. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvr8atq3.js +1 -0
  219. package/web-shell/assets/{cose-bilkent-S5V4N54A-90nbW1xQ.js → cose-bilkent-S5V4N54A-Cc4EIdxu.js} +1 -1
  220. package/web-shell/assets/{dagre-BM42HDAG-BtzlyqZ9.js → dagre-BM42HDAG-CZNj4dGW.js} +1 -1
  221. package/web-shell/assets/{diagram-2AECGRRQ-DAaqGWaH.js → diagram-2AECGRRQ-D5tiqQCr.js} +1 -1
  222. package/web-shell/assets/{diagram-5GNKFQAL-CxlzSIFa.js → diagram-5GNKFQAL-pwzw0jVO.js} +1 -1
  223. package/web-shell/assets/{diagram-KO2AKTUF-8kj-1H6u.js → diagram-KO2AKTUF-4CWiM00x.js} +1 -1
  224. package/web-shell/assets/{diagram-LMA3HP47-6NhjFwRF.js → diagram-LMA3HP47-Dd7rc7Qf.js} +1 -1
  225. package/web-shell/assets/{diagram-OG6HWLK6-Bn9kvInz.js → diagram-OG6HWLK6-_vzV52ml.js} +1 -1
  226. package/web-shell/assets/{erDiagram-TEJ5UH35-CaRoGsAt.js → erDiagram-TEJ5UH35-CqbE2bx_.js} +1 -1
  227. package/web-shell/assets/{flowDiagram-I6XJVG4X-TkLweHdf.js → flowDiagram-I6XJVG4X-CaxNr7w4.js} +1 -1
  228. package/web-shell/assets/{ganttDiagram-6RSMTGT7-ruwhCKBl.js → ganttDiagram-6RSMTGT7-AGjrtfUA.js} +1 -1
  229. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DNI_PxoU.js → gitGraphDiagram-PVQCEYII-ADG2zSkc.js} +1 -1
  230. package/web-shell/assets/{index-p1gz-sxE.js → index-BOryKCqt.js} +1 -1
  231. package/web-shell/assets/index-Cb1LjsCv.css +5 -0
  232. package/web-shell/assets/{index-T4KluHvu.js → index-CvJDaIy8.js} +329 -329
  233. package/web-shell/assets/{infoDiagram-5YYISTIA-DarXq1-A.js → infoDiagram-5YYISTIA-CE3B_IoZ.js} +1 -1
  234. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-GxDaDlT0.js → ishikawaDiagram-YF4QCWOH-CN-Frhoi.js} +1 -1
  235. package/web-shell/assets/{journeyDiagram-JHISSGLW-mDEoGBzY.js → journeyDiagram-JHISSGLW-CGgezS93.js} +1 -1
  236. package/web-shell/assets/{kanban-definition-UN3LZRKU-Ds0t-Mup.js → kanban-definition-UN3LZRKU-BqWijky5.js} +1 -1
  237. package/web-shell/assets/{linear-05nJ0xZ7.js → linear-D8sfpZf6.js} +1 -1
  238. package/web-shell/assets/{mermaid.core-Bua24ThM.js → mermaid.core-3PA4QrzM.js} +5 -5
  239. package/web-shell/assets/{mindmap-definition-RKZ34NQL-D_zRdvUS.js → mindmap-definition-RKZ34NQL-D9QxwiCY.js} +1 -1
  240. package/web-shell/assets/{pieDiagram-4H26LBE5-DZHr1x16.js → pieDiagram-4H26LBE5-Bioaf6uE.js} +1 -1
  241. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-HA06Wf0h.js → quadrantDiagram-W4KKPZXB-DBb2AS73.js} +1 -1
  242. package/web-shell/assets/{requirementDiagram-4Y6WPE33-DH3urmJf.js → requirementDiagram-4Y6WPE33-DXOvZ3KB.js} +1 -1
  243. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-C4xgz0TT.js → sankeyDiagram-5OEKKPKP-D9qg09Dm.js} +1 -1
  244. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DAUoZWgv.js → sequenceDiagram-3UESZ5HK-DSAUIfpw.js} +1 -1
  245. package/web-shell/assets/{stateDiagram-AJRCARHV-v7NzXy4l.js → stateDiagram-AJRCARHV-BPZkzfQ3.js} +1 -1
  246. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DInOqnhZ.js +1 -0
  247. package/web-shell/assets/{timeline-definition-PNZ67QCA-B3GTYR2W.js → timeline-definition-PNZ67QCA-UDaQp9sP.js} +1 -1
  248. package/web-shell/assets/{vennDiagram-CIIHVFJN-BWHjSPAq.js → vennDiagram-CIIHVFJN-2ouhAnHO.js} +1 -1
  249. package/web-shell/assets/{wardley-L42UT6IY-m9r6IUBC.js → wardley-L42UT6IY-Cq_WEvTK.js} +1 -1
  250. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-kT0FkVfK.js → wardleyDiagram-YWT4CUSO-Dt24aXOM.js} +1 -1
  251. package/web-shell/assets/{xychartDiagram-2RQKCTM6-CYRm10z5.js → xychartDiagram-2RQKCTM6-A5Xk2WCH.js} +1 -1
  252. package/web-shell/index.html +2 -2
  253. package/bundled/review/DESIGN.md +0 -724
  254. package/web-shell/assets/channel-95y6Rcp3.js +0 -1
  255. package/web-shell/assets/classDiagram-4FO5ZUOK-pfzVkmjQ.js +0 -1
  256. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-pfzVkmjQ.js +0 -1
  257. package/web-shell/assets/index-WxSvj2tI.css +0 -5
  258. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CtdFexEf.js +0 -1
  259. package/chunks/{channel-management-service-UHX56NBO.js → channel-management-service-5XPPTWUQ.js} +3 -3
  260. package/chunks/{chunk-LEZFUYPM.js → chunk-7GYP5COR.js} +3 -3
@@ -6,6 +6,10 @@ import {
6
6
  DEFAULT_MAX_RETRIES,
7
7
  resolveRequestTimeout
8
8
  } from "./chunk-GLNBDYUX.js";
9
+ import {
10
+ isQwenFamilyWireModel,
11
+ isTieredEffortWireModel
12
+ } from "./chunk-WOJZWRAZ.js";
9
13
  import {
10
14
  defaultOutputCeiling,
11
15
  hasExplicitOutputLimit,
@@ -7136,14 +7140,17 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7136
7140
  }
7137
7141
  const requestWithTokenLimits = this.applyOutputTokenLimit(request);
7138
7142
  const extraBody = this.contentGeneratorConfig.extra_body;
7139
- const enableThinkingFromEffort = this.shouldEnableThinkingFromEffort(
7140
- request.model
7141
- );
7143
+ const qwenEffortConfig = this.buildQwenEffortConfig(request.model);
7144
+ const requestParams = requestWithTokenLimits;
7145
+ if ("reasoning_effort" in requestParams && "reasoning_effort" in qwenEffortConfig) {
7146
+ qwenEffortConfig["reasoning_effort"] = requestParams["reasoning_effort"];
7147
+ }
7148
+ const hasQwenEffortConfig = Object.keys(qwenEffortConfig).length > 0;
7142
7149
  if (this.isVisionModel(request.model)) {
7143
7150
  const dashscopeExtras2 = {
7144
7151
  vl_high_resolution_images: true,
7145
7152
  preserve_thinking: true,
7146
- ...enableThinkingFromEffort ? { enable_thinking: true } : {}
7153
+ ...qwenEffortConfig
7147
7154
  };
7148
7155
  const visionResult = {
7149
7156
  ...requestWithTokenLimits,
@@ -7152,17 +7159,18 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7152
7159
  ...this.buildMetadata(userPromptId) || {},
7153
7160
  ...dashscopeExtras2
7154
7161
  };
7155
- if (enableThinkingFromEffort && "reasoning" in visionResult) {
7162
+ if (hasQwenEffortConfig && "reasoning" in visionResult) {
7156
7163
  delete visionResult["reasoning"];
7157
7164
  }
7158
- return {
7159
- ...visionResult,
7160
- ...extraBody ? extraBody : {}
7161
- };
7165
+ return this.mergeExtraBodyAndResolveKnobs(
7166
+ visionResult,
7167
+ extraBody,
7168
+ request.model
7169
+ );
7162
7170
  }
7163
7171
  const dashscopeExtras = {
7164
7172
  preserve_thinking: true,
7165
- ...enableThinkingFromEffort ? { enable_thinking: true } : {}
7173
+ ...qwenEffortConfig
7166
7174
  };
7167
7175
  const result = {
7168
7176
  ...requestWithTokenLimits,
@@ -7172,30 +7180,110 @@ var DashScopeOpenAICompatibleProvider = class _DashScopeOpenAICompatibleProvider
7172
7180
  ...this.buildMetadata(userPromptId) || {},
7173
7181
  ...dashscopeExtras
7174
7182
  };
7175
- if (enableThinkingFromEffort && "reasoning" in result) {
7183
+ if (hasQwenEffortConfig && "reasoning" in result) {
7176
7184
  delete result["reasoning"];
7177
7185
  }
7178
- return {
7186
+ return this.mergeExtraBodyAndResolveKnobs(result, extraBody, request.model);
7187
+ }
7188
+ /**
7189
+ * Shared tail for the vision and text branches: merge user extra_body
7190
+ * last, then resolve thinking-knob conflicts against the wire model.
7191
+ */
7192
+ mergeExtraBodyAndResolveKnobs(result, extraBody, model) {
7193
+ const merged = {
7179
7194
  ...result,
7180
7195
  ...extraBody ? extraBody : {}
7181
7196
  };
7197
+ this.dropConflictingThinkingKnobs(model, merged);
7198
+ return merged;
7199
+ }
7200
+ resolveWireModel(model) {
7201
+ return (model ?? this.contentGeneratorConfig.model ?? "").toLowerCase();
7182
7202
  }
7183
7203
  /**
7184
- * Whether to send `enable_thinking: true` because the user selected a
7185
- * reasoning effort. qwen's hybrid-thinking models expose thinking as the
7186
- * boolean `enable_thinking` rather than a tiered `reasoning_effort`, so the
7187
- * unified effort ladder collapses to on/off here. Gated to qwen-family wire
7188
- * models (mirroring the pipeline's disable gate) so the qwen-specific field
7189
- * never leaks to a non-qwen model sharing the DashScope endpoint.
7204
+ * Translate the unified reasoning effort into the wire shape the model
7205
+ * accepts. The qwen3.8-max family takes the tiered `reasoning_effort`
7206
+ * directly; older qwen hybrid models expose only the on/off
7207
+ * `enable_thinking` switch, so the effort ladder collapses to on/off
7208
+ * there. Gated to qwen-family wire models (mirroring the pipeline's
7209
+ * disable gate) so the qwen-specific fields never leak to a non-qwen
7210
+ * model sharing the DashScope endpoint.
7190
7211
  */
7191
- shouldEnableThinkingFromEffort(model) {
7212
+ buildQwenEffortConfig(model) {
7192
7213
  const reasoning = this.contentGeneratorConfig.reasoning;
7193
7214
  if (!reasoning || reasoning.effort === void 0) {
7194
- return false;
7215
+ return {};
7216
+ }
7217
+ const wireModel = this.resolveWireModel(model);
7218
+ if (isTieredEffortWireModel(wireModel)) {
7219
+ return { reasoning_effort: reasoning.effort };
7220
+ }
7221
+ if (isQwenFamilyWireModel(wireModel)) {
7222
+ return { enable_thinking: true };
7223
+ }
7224
+ return {};
7225
+ }
7226
+ /**
7227
+ * Resolve thinking knobs that conflict with a shipping `reasoning_effort`.
7228
+ * Preset extra_body injects `enable_thinking` for models declared with
7229
+ * enableThinking (provider-config.ts), and user extra_body merges last.
7230
+ * Only the qwen3.8-max family reads `reasoning_effort` itself — there the
7231
+ * tier ships alone: an `enable_thinking: true` alongside it is a second
7232
+ * competing knob (the shape the nested-`reasoning` strip in buildRequest
7233
+ * exists to prevent), and DashScope rejects `reasoning_effort` combined
7234
+ * with `thinking_budget`. An explicit `enable_thinking: false` is the
7235
+ * documented extra_body escape hatch winning over the config tier, so it
7236
+ * is honoured as the family's canonical disable (`reasoning_effort:
7237
+ * 'none'`, preserved by the pipeline's disable strip) rather than
7238
+ * silently deleted. Older qwen hybrids read `enable_thinking` /
7239
+ * `thinking_budget`, not `reasoning_effort`, so when an opaque
7240
+ * reasoning_effort override conflicts with a meaningful thinking_budget
7241
+ * the inert field goes and the knobs the model reads survive. Non-qwen
7242
+ * models treat `reasoning_effort` as an opaque sampling override and
7243
+ * keep every knob.
7244
+ */
7245
+ dropConflictingThinkingKnobs(model, merged) {
7246
+ const effort = merged["reasoning_effort"];
7247
+ if (typeof effort !== "string" || effort === "none") {
7248
+ return;
7249
+ }
7250
+ const wireModel = this.resolveWireModel(model);
7251
+ if (!isQwenFamilyWireModel(wireModel)) {
7252
+ return;
7253
+ }
7254
+ const dropped = [];
7255
+ if (isTieredEffortWireModel(wireModel)) {
7256
+ if ("enable_thinking" in merged) {
7257
+ if (merged["enable_thinking"] === false) {
7258
+ merged["reasoning_effort"] = "none";
7259
+ }
7260
+ dropped.push("enable_thinking");
7261
+ }
7262
+ if ("thinking_budget" in merged) {
7263
+ dropped.push("thinking_budget");
7264
+ }
7265
+ } else if ("thinking_budget" in merged) {
7266
+ dropped.push("reasoning_effort");
7267
+ }
7268
+ if (dropped.length === 0) {
7269
+ return;
7270
+ }
7271
+ for (const key of dropped) {
7272
+ delete merged[key];
7273
+ }
7274
+ if (!this.conflictingKnobDropWarned) {
7275
+ this.conflictingKnobDropWarned = true;
7276
+ debugLogger.warn(
7277
+ "DashScope: dropped extra_body thinking knobs that conflict with reasoning_effort",
7278
+ {
7279
+ model: wireModel,
7280
+ reasoningEffort: merged["reasoning_effort"],
7281
+ dropped
7282
+ }
7283
+ );
7195
7284
  }
7196
- const wireModel = (model ?? this.contentGeneratorConfig.model ?? "").toLowerCase();
7197
- return wireModel.startsWith("qwen") || wireModel === "coder-model";
7198
7285
  }
7286
+ conflictingKnobDropWarned = false;
7199
7287
  buildMetadata(userPromptId) {
7200
7288
  const channel = this.cliConfig.getChannel?.();
7201
7289
  return {
@@ -6,7 +6,7 @@ import {
6
6
  import {
7
7
  loadSettings,
8
8
  saveSettings
9
- } from "./chunk-KB6VSG2U.js";
9
+ } from "./chunk-GXP44JOS.js";
10
10
  import {
11
11
  init_esbuild_shims
12
12
  } from "./chunk-5O2XNYP6.js";
@@ -2,10 +2,10 @@
2
2
  "use strict";
3
3
  import {
4
4
  getExtensionManager
5
- } from "./chunk-O4IWFYUW.js";
5
+ } from "./chunk-VY4TEQQ6.js";
6
6
  import {
7
7
  parseChannelConfig
8
- } from "./chunk-LEZFUYPM.js";
8
+ } from "./chunk-7GYP5COR.js";
9
9
  import {
10
10
  getPlugin,
11
11
  registerPlugin
@@ -15,10 +15,10 @@ import {
15
15
  } from "./chunk-DIEFUBV6.js";
16
16
  import {
17
17
  loadSettings
18
- } from "./chunk-KB6VSG2U.js";
18
+ } from "./chunk-GXP44JOS.js";
19
19
  import {
20
20
  hashDaemonWorkspace
21
- } from "./chunk-RPYYTL7E.js";
21
+ } from "./chunk-MGSSJT27.js";
22
22
  import {
23
23
  Storage
24
24
  } from "./chunk-3RXUYQJI.js";
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  loadSettings
5
- } from "./chunk-KB6VSG2U.js";
5
+ } from "./chunk-GXP44JOS.js";
6
6
  import {
7
7
  getCurrentLanguage
8
- } from "./chunk-FV4TUUDE.js";
8
+ } from "./chunk-O4WOWHMZ.js";
9
9
  import {
10
10
  isWorkspaceTrusted
11
- } from "./chunk-URVJ4AZC.js";
11
+ } from "./chunk-MKMUBBEX.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-E2SYUEIA.js";
25
+ } from "./chunk-5OAMVWFL.js";
26
26
  import {
27
27
  atomicWriteFile
28
28
  } from "./chunk-UH7Z7Y45.js";
@@ -222,7 +222,7 @@ var addCommand = {
222
222
  describe: "Set connection timeout in milliseconds",
223
223
  type: "number"
224
224
  }).option("trust", {
225
- describe: "Trust the server (bypass all tool call confirmation prompts)",
225
+ describe: "Trust the server (bypass its tool call confirmations in a trusted workspace)",
226
226
  type: "boolean"
227
227
  }).option("description", {
228
228
  describe: "Set the description for the server",
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-FV4TUUDE.js";
5
+ } from "./chunk-O4WOWHMZ.js";
6
6
  import {
7
7
  createDebugLogger
8
8
  } from "./chunk-3RXUYQJI.js";
@@ -407,18 +407,18 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
407
407
  try {
408
408
  if (authType === "openai" /* USE_OPENAI */) {
409
409
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
410
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-PGFSOMIQ.js");
410
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-YHF3FIYI.js");
411
411
  return createOpenAIContentGenerator(generatorConfig, config);
412
412
  }, "loadBaseGenerator");
413
413
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
414
- const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-IOAXKJ3L.js");
414
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-D62OJZFU.js");
415
415
  try {
416
416
  const qwenClient = await getQwenOauthClient(
417
417
  config,
418
418
  isInitialAuth ? { requireCachedCredentials: true } : void 0
419
419
  );
420
420
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
421
- const { QwenContentGenerator } = await import("./qwenContentGenerator-QC3KSHSX.js");
421
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-46476NL4.js");
422
422
  return new QwenContentGenerator(qwenClient, generatorConfig, config);
423
423
  }, "loadBaseGenerator");
424
424
  } catch (error) {
@@ -434,7 +434,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
434
434
  }, "loadBaseGenerator");
435
435
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
436
436
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
437
- const { createGeminiContentGenerator } = await import("./geminiContentGenerator-M3HJTHKR.js");
437
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-DZB3GPNQ.js");
438
438
  return createGeminiContentGenerator(generatorConfig, config);
439
439
  }, "loadBaseGenerator");
440
440
  } else {
@@ -450,7 +450,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
450
450
  try {
451
451
  const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
452
452
  loadBaseGenerator(),
453
- import("./loggingContentGenerator-2JEFU25T.js")
453
+ import("./loggingContentGenerator-SFT5CMPU.js")
454
454
  ]);
455
455
  return new LoggingContentGenerator(
456
456
  baseGenerator,
@@ -65,6 +65,19 @@ var SPAN_TOOL_EXECUTION = "qwen-code.tool.execution";
65
65
  var SPAN_TOOL_BLOCKED_ON_USER = "qwen-code.tool.blocked_on_user";
66
66
  var SPAN_HOOK = "qwen-code.hook";
67
67
  var SPAN_SUBAGENT = "qwen-code.subagent";
68
+ var TOOL_FAILURE_KIND_ATTRIBUTE = "tool.failure_kind";
69
+ var TOOL_FAILURE_KIND_CANCELLED = "cancelled";
70
+ var TOOL_FAILURE_KIND_PRE_HOOK_BLOCKED = "pre_hook_blocked";
71
+ var TOOL_FAILURE_KIND_INVOCATION_GUARD_DENIED = "invocation_guard_denied";
72
+ var TOOL_FAILURE_KIND_POST_HOOK_STOPPED = "post_hook_stopped";
73
+ var TOOL_FAILURE_KIND_TOOL_ERROR = "tool_error";
74
+ var TOOL_FAILURE_KIND_TOOL_EXCEPTION = "tool_exception";
75
+ var TOOL_FAILURE_KIND_PERMISSION_DENIED = "permission_denied";
76
+ var TOOL_FAILURE_KIND_PERMISSION_HOOK_DENIED = "permission_hook_denied";
77
+ var TOOL_FAILURE_KIND_PLAN_MODE_BLOCKED = "plan_mode_blocked";
78
+ var TOOL_FAILURE_KIND_NON_INTERACTIVE_DENIED = "non_interactive_denied";
79
+ var TOOL_FAILURE_KIND_BACKGROUND_AGENT_DENIED = "background_agent_denied";
80
+ var TOOL_FAILURE_KIND_TIMEOUT = "timeout";
68
81
 
69
82
  export {
70
83
  SERVICE_NAME,
@@ -119,7 +132,20 @@ export {
119
132
  SPAN_TOOL_EXECUTION,
120
133
  SPAN_TOOL_BLOCKED_ON_USER,
121
134
  SPAN_HOOK,
122
- SPAN_SUBAGENT
135
+ SPAN_SUBAGENT,
136
+ TOOL_FAILURE_KIND_ATTRIBUTE,
137
+ TOOL_FAILURE_KIND_CANCELLED,
138
+ TOOL_FAILURE_KIND_PRE_HOOK_BLOCKED,
139
+ TOOL_FAILURE_KIND_INVOCATION_GUARD_DENIED,
140
+ TOOL_FAILURE_KIND_POST_HOOK_STOPPED,
141
+ TOOL_FAILURE_KIND_TOOL_ERROR,
142
+ TOOL_FAILURE_KIND_TOOL_EXCEPTION,
143
+ TOOL_FAILURE_KIND_PERMISSION_DENIED,
144
+ TOOL_FAILURE_KIND_PERMISSION_HOOK_DENIED,
145
+ TOOL_FAILURE_KIND_PLAN_MODE_BLOCKED,
146
+ TOOL_FAILURE_KIND_NON_INTERACTIVE_DENIED,
147
+ TOOL_FAILURE_KIND_BACKGROUND_AGENT_DENIED,
148
+ TOOL_FAILURE_KIND_TIMEOUT
123
149
  };
124
150
  /**
125
151
  * @license
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-M2L4TMH3.js";
5
+ } from "./chunk-6HTEECQY.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -12,6 +12,7 @@ init_esbuild_shims();
12
12
  var GOAL_STATE_VERSION = 2;
13
13
  var GOAL_PROPOSAL_REASON_MAX_CHARACTERS = 8e3;
14
14
  var GOAL_PROPOSAL_REASON_MAX_BYTES = 16e3;
15
+ var GOAL_EVIDENCE_CATALOG_EXHAUSTED_REASON = "The current Goal revision exceeded the bounded evidence catalog. Automatic retries cannot recover. Edit or replace the Goal before resuming it.";
15
16
  var PAUSED_GOAL_SYSTEM_REMINDER = "<system-reminder>\nThe Goal is paused. Do not continue its objective unless the user resumes it. Treat this message as ordinary conversation.\n</system-reminder>";
16
17
  function goalRequiresExactPermit(snapshot) {
17
18
  return snapshot.goal !== null && (snapshot.goal.status === "active" || snapshot.activity === "running");
@@ -94,7 +95,7 @@ function validateGoalEvidenceReferences(input) {
94
95
  if (input.proposal.status === "complete" && analysis.catalogTruncated) {
95
96
  throw new InvalidGoalEvidenceReferenceError(
96
97
  "catalog_truncated",
97
- "A complete Goal proposal requires an exhaustive bounded evidence catalog."
98
+ GOAL_EVIDENCE_CATALOG_EXHAUSTED_REASON
98
99
  );
99
100
  }
100
101
  const evidenceBytes = citedRecords.reduce(
@@ -582,6 +583,12 @@ function reduceGoalControl(current, transition) {
582
583
  snapshotOf(current)
583
584
  );
584
585
  }
586
+ if (current.status === "usage_limited" && current.lastReason === GOAL_EVIDENCE_CATALOG_EXHAUSTED_REASON) {
587
+ throw new GoalInvalidTransitionError(
588
+ "An evidence-limited Goal cannot be resumed; edit or replace the Goal first",
589
+ snapshotOf(current)
590
+ );
591
+ }
585
592
  if (request.action !== "resume") {
586
593
  return assertNever(request, snapshotOf(current));
587
594
  }
@@ -1227,7 +1234,7 @@ function createGoalRuntime(options) {
1227
1234
  } catch (error) {
1228
1235
  if (attempt.controller.signal.aborted) return;
1229
1236
  if (error instanceof InvalidGoalEvidenceReferenceError) {
1230
- outcome = {
1237
+ outcome = error.code === "catalog_truncated" ? { kind: "usage_limited", reason: error.message } : {
1231
1238
  kind: "decision",
1232
1239
  result: { decision: "reject", reason: error.message }
1233
1240
  };
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  isGitRepository
5
- } from "./chunk-E2SYUEIA.js";
5
+ } from "./chunk-5OAMVWFL.js";
6
6
  import {
7
7
  createDebugLogger
8
8
  } from "./chunk-3RXUYQJI.js";
@@ -7,7 +7,7 @@ import {
7
7
  getMeter,
8
8
  isTelemetrySdkInitialized,
9
9
  truncateSpanError
10
- } from "./chunk-O2ZYHG33.js";
10
+ } from "./chunk-5L6CQ4ZU.js";
11
11
  import {
12
12
  require_src
13
13
  } from "./chunk-W4RQUHY3.js";
@@ -16,7 +16,7 @@ import {
16
16
  SENSITIVE_SPAN_ATTRIBUTE_MAX_LENGTH_LIMIT,
17
17
  SERVICE_NAME,
18
18
  isValidSensitiveSpanAttributeMaxLength
19
- } from "./chunk-G7XXKQYS.js";
19
+ } from "./chunk-LKRMNRSN.js";
20
20
  import {
21
21
  FatalConfigError,
22
22
  createDebugLogger,
@@ -10,7 +10,7 @@ import {
10
10
  } from "./chunk-MR3PXB6E.js";
11
11
  import {
12
12
  ideContextStore
13
- } from "./chunk-E2SYUEIA.js";
13
+ } from "./chunk-5OAMVWFL.js";
14
14
  import {
15
15
  require_proper_lockfile
16
16
  } from "./chunk-KRXPRVGL.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  parseRule
5
- } from "./chunk-E2SYUEIA.js";
5
+ } from "./chunk-5OAMVWFL.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-DP3IHZGG.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-FV4TUUDE.js";
8
+ } from "./chunk-O4WOWHMZ.js";
9
9
  import {
10
10
  getNpmCliPath
11
- } from "./chunk-RNKGMZEW.js";
11
+ } from "./chunk-MFTOMYE2.js";
12
12
  import {
13
13
  getPackageJson
14
14
  } from "./chunk-VJNBRRZG.js";