@qwen-code/qwen-code 0.19.12-preview.0 → 0.20.0-nightly.20260720.0c271659d

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 (277) hide show
  1. package/bundled/qc-helper/docs/features/channels/overview.md +4 -2
  2. package/bundled/qc-helper/docs/integration-github-action.md +1 -1
  3. package/bundled/qc-helper/docs/qwen-serve.md +42 -5
  4. package/bundled/review/DESIGN.md +2 -2
  5. package/bundled/review/SKILL.md +13 -9
  6. package/chunks/{MaxSizedBox-3KIWAU6Z.js → MaxSizedBox-ED3QND6V.js} +30 -27
  7. package/chunks/{StandaloneSessionPicker-TF626NO7.js → StandaloneSessionPicker-NQVAOTKS.js} +50 -45
  8. package/chunks/{acpAgent-JDVJXVBO.js → acpAgent-HOBFF5B6.js} +353 -130
  9. package/chunks/{agent-BONWC4VY.js → agent-J7EPFLA6.js} +22 -22
  10. package/chunks/{agent-headless-H7HKMGLZ.js → agent-headless-RRG3JU7Q.js} +22 -22
  11. package/chunks/{anthropicContentGenerator-ZZRGFEES.js → anthropicContentGenerator-HVKLXOOU.js} +6 -5
  12. package/chunks/{artifact-tool-PHO5XEGZ.js → artifact-tool-WBCAMD3O.js} +2 -2
  13. package/chunks/{askUserQuestion-CEPBT47X.js → askUserQuestion-6DZC4UV5.js} +2 -2
  14. package/chunks/{bridge-ATN2TLWJ.js → bridge-OW5FZ6BF.js} +25 -25
  15. package/chunks/build-SSCNEHZZ.js +62 -0
  16. package/chunks/{channel-worker-group-S3H5QHTI.js → channel-worker-group-53CMOPFT.js} +4 -4
  17. package/chunks/{channel-worker-manager-ZJ4HTMO2.js → channel-worker-manager-UTXILKC2.js} +4 -4
  18. package/chunks/{channel-worker-supervisor-JA6VZ5V5.js → channel-worker-supervisor-ZGO2W2MD.js} +3 -3
  19. package/chunks/chunk-27AJEU6G.js +442 -0
  20. package/chunks/{chunk-53UMEONK.js → chunk-2HOVDT7W.js} +1 -1
  21. package/chunks/{chunk-6WZZHJSZ.js → chunk-2JOLZA6L.js} +5 -5
  22. package/chunks/{chunk-NSZJQACR.js → chunk-2TDSM7I6.js} +3 -3
  23. package/chunks/{chunk-ILQ42UG6.js → chunk-2YJLFCYI.js} +7 -7
  24. package/chunks/{chunk-CMHJEUVB.js → chunk-37MGCVTS.js} +1 -1
  25. package/chunks/{chunk-F2YCCUXI.js → chunk-3ML52IFS.js} +4 -4
  26. package/chunks/{chunk-3PE7OY2G.js → chunk-3QR5MOHP.js} +2 -2
  27. package/chunks/{chunk-4AGBO6RB.js → chunk-3SNKL6L6.js} +29 -13
  28. package/chunks/{chunk-OZWJAFFE.js → chunk-3ZL6YMO2.js} +3 -3
  29. package/chunks/chunk-43T5WDQ7.js +127 -0
  30. package/chunks/{chunk-E655RDRL.js → chunk-4ODB7WIB.js} +1 -1
  31. package/chunks/{chunk-66F4IJ4L.js → chunk-4UH63YE5.js} +5 -5
  32. package/chunks/{chunk-QGONRHUS.js → chunk-53OPIXUE.js} +3 -3
  33. package/chunks/{chunk-HTHUX2T5.js → chunk-5QWWOFGG.js} +0 -1
  34. package/chunks/{chunk-3DJY4IFO.js → chunk-5SCI6E3E.js} +1 -1
  35. package/chunks/{chunk-4CHDYDG3.js → chunk-6EFTQYW7.js} +1 -1
  36. package/chunks/{chunk-4W55BHOC.js → chunk-6HQW55TM.js} +29 -2
  37. package/chunks/{chunk-LODZMRXC.js → chunk-6MN6XJTR.js} +2379 -1291
  38. package/chunks/{chunk-EWPLL4OT.js → chunk-6VGRTGOG.js} +1 -1
  39. package/chunks/{chunk-R32BTEZY.js → chunk-7JQK6FXK.js} +198 -120
  40. package/chunks/{chunk-SMASS3CY.js → chunk-A4TJMY65.js} +1 -1
  41. package/chunks/{chunk-JUNVFQVY.js → chunk-AMRWCMX4.js} +4 -4
  42. package/chunks/{chunk-XAAEDML2.js → chunk-AYCDXHZB.js} +1 -1
  43. package/chunks/{chunk-VAJS2E2D.js → chunk-BDBMYST4.js} +1 -1
  44. package/chunks/{chunk-F2RR4HO2.js → chunk-BVLROR2T.js} +1 -1
  45. package/chunks/{chunk-UE5TZ55T.js → chunk-C27BYUX6.js} +29 -2
  46. package/chunks/{chunk-ZPVGEMVC.js → chunk-CL7IRYTA.js} +1 -1
  47. package/chunks/{chunk-DULSE2SH.js → chunk-COWNNAWJ.js} +1 -1
  48. package/chunks/{chunk-UOA2IHRI.js → chunk-CPCVCKKF.js} +1 -1
  49. package/chunks/{chunk-4RPARQ5D.js → chunk-D2VIDMVM.js} +2 -2
  50. package/chunks/{chunk-PTXVHS2O.js → chunk-DCCW7CRR.js} +6 -6
  51. package/chunks/chunk-DIKIJS6Z.js +114 -0
  52. package/chunks/{chunk-NVUGS23Y.js → chunk-DR5AUNJ2.js} +4 -4
  53. package/chunks/{chunk-7KS72E2N.js → chunk-DSBCU6JY.js} +3 -3
  54. package/chunks/{chunk-LKR7QQ63.js → chunk-EAUYY7SS.js} +3 -3
  55. package/chunks/{chunk-J2MKYJKZ.js → chunk-EIAK6Q2B.js} +2 -2
  56. package/chunks/{chunk-WEPXQKGP.js → chunk-EZVDJFZ7.js} +1 -1
  57. package/chunks/{chunk-WHQNBBWW.js → chunk-FLSVD6BS.js} +2 -2
  58. package/chunks/{chunk-XACBIZJB.js → chunk-FODJ5Q5K.js} +3 -3
  59. package/chunks/{chunk-4XCVGEEX.js → chunk-FSL5W5TI.js} +3 -3
  60. package/chunks/{chunk-K7P34F2J.js → chunk-FWT66O5E.js} +2 -2
  61. package/chunks/{chunk-OSSDHJDU.js → chunk-G45X5TRN.js} +1 -1
  62. package/chunks/{chunk-R4RIMOJL.js → chunk-G6MDKXDP.js} +12 -12
  63. package/chunks/{chunk-KANTXY7B.js → chunk-GKY2OJ7R.js} +2 -2
  64. package/chunks/chunk-GMGDLUC7.js +37 -0
  65. package/chunks/{chunk-J6NT5YTN.js → chunk-H2XVO6NE.js} +1 -289
  66. package/chunks/{chunk-7OZGMFHC.js → chunk-I4HZ4GOD.js} +8 -8
  67. package/chunks/{chunk-YN2I5I42.js → chunk-I6JUVU7J.js} +34 -24
  68. package/chunks/{chunk-LLIGYAQU.js → chunk-IDGTC5AS.js} +3 -3
  69. package/chunks/{chunk-LHEQDKAR.js → chunk-INL2RSLA.js} +1 -1
  70. package/chunks/{chunk-CXWUXRD5.js → chunk-INQQM52C.js} +18 -16
  71. package/chunks/{chunk-2DZ7E27L.js → chunk-JBCFW3IL.js} +2 -2
  72. package/chunks/{chunk-LPHGXXZX.js → chunk-JD3MKVKL.js} +1 -1
  73. package/chunks/{chunk-6TDA4EVC.js → chunk-JDPCOUZ3.js} +2282 -662
  74. package/chunks/{chunk-NUHSLBJZ.js → chunk-JNWZQ27S.js} +15 -9
  75. package/chunks/{chunk-IKLWU6YS.js → chunk-JRJ2LV6P.js} +6 -226
  76. package/chunks/{chunk-QSG4ZFG4.js → chunk-KTUQMDEP.js} +1 -1
  77. package/chunks/{chunk-HZXU6YZW.js → chunk-LTQ5C5AB.js} +4 -4
  78. package/chunks/{chunk-V4PCIS25.js → chunk-MAQQGNQ5.js} +44 -1
  79. package/chunks/{chunk-BEFQGC6H.js → chunk-NBMIC7DR.js} +2 -2
  80. package/chunks/{chunk-GEHSF7MS.js → chunk-NEEB7UEN.js} +2545 -1974
  81. package/chunks/{chunk-MHEZV3OY.js → chunk-NIJEXGV6.js} +250 -75
  82. package/chunks/{chunk-NGTQA57Y.js → chunk-NQVA6O7F.js} +2 -2
  83. package/chunks/{chunk-54KPEDM2.js → chunk-NT324EJ6.js} +13 -8
  84. package/chunks/{chunk-WTHRMVKB.js → chunk-O2SPEQFA.js} +5 -5
  85. package/chunks/{chunk-MCYZTKBV.js → chunk-OLMETXLX.js} +2 -2
  86. package/chunks/{chunk-JCJPZMJV.js → chunk-OOCI5VVU.js} +1 -1
  87. package/chunks/{chunk-XSPFQQRE.js → chunk-OONJNQ42.js} +3 -3
  88. package/chunks/{chunk-ANRANWVE.js → chunk-OP4MOGXF.js} +1 -1
  89. package/chunks/{chunk-SGPFJMRP.js → chunk-PBATSWUQ.js} +1 -1
  90. package/chunks/chunk-QKYTTBYW.js +624 -0
  91. package/chunks/{chunk-4OVECYBM.js → chunk-QOSKUG5P.js} +77 -20
  92. package/chunks/{chunk-76BFY7AF.js → chunk-QTERJVPZ.js} +1 -6
  93. package/chunks/{chunk-Y5UDBQYF.js → chunk-RB7NXUP5.js} +3 -3
  94. package/chunks/{chunk-HCCR43AY.js → chunk-RFIAR4YL.js} +1 -1
  95. package/chunks/{chunk-XFJU7SVP.js → chunk-RS5JPH6Y.js} +3 -3
  96. package/chunks/chunk-RS7MT2QG.js +305 -0
  97. package/chunks/{chunk-WACI4VES.js → chunk-SG2PEESS.js} +1106 -592
  98. package/chunks/{chunk-FEZXQXW2.js → chunk-SLLG5XXE.js} +1 -1
  99. package/chunks/{chunk-W4DFAUAO.js → chunk-SQMTULHJ.js} +1 -1
  100. package/chunks/{chunk-Z4ZCVYJ5.js → chunk-STFP7PJR.js} +6 -6
  101. package/chunks/chunk-SV5PQVQE.js +71 -0
  102. package/chunks/{chunk-7LMAKIWE.js → chunk-TFNZCC4B.js} +1 -1
  103. package/chunks/{chunk-ZFHHBRRA.js → chunk-THNJYTA6.js} +2 -2
  104. package/chunks/{chunk-6QGZVKOO.js → chunk-TN2BYMNH.js} +69 -2216
  105. package/chunks/{chunk-TFV3XVAZ.js → chunk-TQBA6DVX.js} +1 -1
  106. package/chunks/{chunk-AWOU24F6.js → chunk-U24E4R5U.js} +3 -3
  107. package/chunks/{chunk-4CA4WUMS.js → chunk-UEY4AYUL.js} +2 -2
  108. package/chunks/{chunk-DYUPBU7H.js → chunk-UGRL5B5F.js} +1 -1
  109. package/chunks/chunk-V7RNNPGC.js +44 -0
  110. package/chunks/{chunk-LYFDJTXE.js → chunk-VGFFYNBD.js} +1 -1
  111. package/chunks/chunk-VIOFKPPN.js +125 -0
  112. package/chunks/{chunk-BEZPRKD3.js → chunk-VLDBVLC4.js} +156 -2
  113. package/chunks/{chunk-HQ7MDVBO.js → chunk-VWLLDHAY.js} +6 -6
  114. package/chunks/chunk-WCDH2CRI.js +1187 -0
  115. package/chunks/{chunk-7SX6WZNO.js → chunk-XVVH63JG.js} +3 -3
  116. package/chunks/{chunk-HVWPSGDY.js → chunk-Y2ENGUD6.js} +1 -1
  117. package/chunks/{chunk-PSISZNIT.js → chunk-Y5534U4G.js} +346 -122
  118. package/chunks/{chunk-IQRQVPGN.js → chunk-YDZ6J2BY.js} +72 -159
  119. package/chunks/{chunk-7O7WZH7N.js → chunk-YNBP3YSU.js} +7 -6
  120. package/chunks/{chunk-NJQPQ4IO.js → chunk-YWEW33JY.js} +7 -7
  121. package/chunks/{chunk-335ECZTA.js → chunk-ZEOZL37W.js} +1 -1
  122. package/chunks/{chunk-SNONG66P.js → chunk-ZGJ4LDD2.js} +53 -28
  123. package/chunks/{computer-use-UY4A72X7.js → computer-use-ET5476VX.js} +22 -22
  124. package/chunks/{config-utils-KWTRFP7D.js → config-utils-AHQ6YZ66.js} +3 -3
  125. package/chunks/{contextCommand-3DZ2SVH6.js → contextCommand-QIULFDBF.js} +25 -26
  126. package/chunks/{create-sub-session-OT7WXLDO.js → create-sub-session-BVL2ZHTM.js} +22 -22
  127. package/chunks/{create-sub-session-DIJOV6HV.js → create-sub-session-P26FE5GG.js} +2 -2
  128. package/chunks/{cron-create-X462ERYA.js → cron-create-JWFHBDRQ.js} +4 -4
  129. package/chunks/{cron-delete-SL5UJUM3.js → cron-delete-GDX4E26G.js} +4 -4
  130. package/chunks/{cron-list-3MD6SVXI.js → cron-list-USMAIWPT.js} +4 -4
  131. package/chunks/{daemon-ZW6LHOXT.js → daemon-EE5T3KOW.js} +169 -84
  132. package/chunks/{daemon-status-provider-GTZOYSBO.js → daemon-status-provider-L5UW7TGV.js} +29 -29
  133. package/chunks/{dist-RZBJT5O2.js → dist-2BHAYBKP.js} +1 -1
  134. package/chunks/{dist-O2IP3G5D.js → dist-2MIU4UUH.js} +1 -1
  135. package/chunks/{dist-HCUUS6IH.js → dist-53PZYC5B.js} +2 -2
  136. package/chunks/{dist-ZJHKKWUD.js → dist-AU7NQQRP.js} +1 -1
  137. package/chunks/{dist-YTPTCUAD.js → dist-FUTEXY6A.js} +1 -1
  138. package/chunks/{dist-Y54RURGT.js → dist-WGTQO7F2.js} +1 -1
  139. package/chunks/{earlyInputCapture-GGWVGBZ7.js → earlyInputCapture-ZLAL5GTE.js} +23 -23
  140. package/chunks/{edit-JN467GIR.js → edit-4ZOPT6OC.js} +23 -23
  141. package/chunks/{enter-worktree-MMO4VBQE.js → enter-worktree-DFP5CZYS.js} +22 -22
  142. package/chunks/{enterPlanMode-BRZOG4DB.js → enterPlanMode-7VEJ7A2A.js} +22 -22
  143. package/chunks/{environment-LOCDCWMZ.js → environment-KHS35XJY.js} +24 -24
  144. package/chunks/{errors-XXSL5HGG.js → errors-574WBU5R.js} +24 -24
  145. package/chunks/{exit-worktree-UD7PI5H5.js → exit-worktree-5Q7V6D4C.js} +22 -22
  146. package/chunks/{exitPlanMode-EIUETQI6.js → exitPlanMode-SX2F6PDJ.js} +22 -22
  147. package/chunks/{fast-path-ULGAEUVK.js → fast-path-G7BLOZVF.js} +2 -2
  148. package/chunks/{gemini-KW3APZ4P.js → gemini-M4JWSTGU.js} +70 -68
  149. package/chunks/{geminiContentGenerator-4BQ5QHPR.js → geminiContentGenerator-MKXLUFUH.js} +4 -4
  150. package/chunks/{glob-FPKAMR6B.js → glob-FPKZY5W6.js} +22 -22
  151. package/chunks/{grep-MOGRCYB4.js → grep-RS22OMZG.js} +22 -22
  152. package/chunks/{handleAutoUpdate-QUMRZZOS.js → handleAutoUpdate-RFNQ36JC.js} +27 -28
  153. package/chunks/{i18n-F3W6YUYP.js → i18n-MAEWSKYF.js} +23 -23
  154. package/chunks/{initializer-KLU2KAIZ.js → initializer-T2BFZJBP.js} +28 -28
  155. package/chunks/{installationInfo-P3ZP2SIZ.js → installationInfo-3UETF773.js} +25 -23
  156. package/chunks/{keychain-token-storage-K23CFKGN.js → keychain-token-storage-DWRJMNH3.js} +2 -2
  157. package/chunks/{list-4X6D5JD2.js → list-FWZUKWD2.js} +30 -30
  158. package/chunks/{loadedSettingsAdapter-446B6WKA.js → loadedSettingsAdapter-3DUNHAPX.js} +27 -27
  159. package/chunks/{loop-wakeup-6H7OENTB.js → loop-wakeup-5GLTUBHA.js} +5 -5
  160. package/chunks/{ls-APTSOOS5.js → ls-FHBY3Y7I.js} +4 -4
  161. package/chunks/{lsp-HPACPJAN.js → lsp-B6VMEW6Y.js} +2 -2
  162. package/chunks/{mcp-JYVOJZOD.js → mcp-POXS7QWD.js} +27 -27
  163. package/chunks/{monitor-KY7YH7TL.js → monitor-2ZZC2NKH.js} +22 -22
  164. package/chunks/nonInteractiveCli-WSJVCB2W.js +126 -0
  165. package/chunks/{notebook-edit-IHGW42QK.js → notebook-edit-BMQLME3Q.js} +23 -23
  166. package/chunks/{openaiContentGenerator-FURUCKQJ.js → openaiContentGenerator-GOREG72R.js} +11 -11
  167. package/chunks/{pidfile-WKUVXDMR.js → pidfile-MVZDE5TC.js} +23 -23
  168. package/chunks/{processUtils-LHSRN76X.js → processUtils-RH5KNLDH.js} +2 -2
  169. package/chunks/{qwenContentGenerator-NRLM7R36.js → qwenContentGenerator-R55BCLRI.js} +24 -24
  170. package/chunks/{qwenOAuth2-5FNX3AWH.js → qwenOAuth2-QZBI2SOZ.js} +11 -11
  171. package/chunks/react-SG7JAQSZ.js +8 -0
  172. package/chunks/{read-file-VLEAEXFP.js → read-file-CPS2CYYG.js} +8 -8
  173. package/chunks/{read-mcp-resource-C6NT52T6.js → read-mcp-resource-AKCL7I43.js} +2 -2
  174. package/chunks/{record-artifact-ENCU7QCL.js → record-artifact-PEUB7727.js} +2 -2
  175. package/chunks/resumeHistoryUtils-YD6DSYHU.js +78 -0
  176. package/chunks/{ripGrep-MT23EIDD.js → ripGrep-UKGJ7RHZ.js} +22 -22
  177. package/chunks/{run-qwen-serve-5HWOQFLI.js → run-qwen-serve-GFKSKLF6.js} +1442 -148
  178. package/chunks/{runtime-6IVKJSLW.js → runtime-4KGNL3TP.js} +31 -31
  179. package/chunks/{scheduler-63GJG75U.js → scheduler-GJ3CELWI.js} +22 -22
  180. package/chunks/{send-message-5GZ4FX2V.js → send-message-3RHE7HSM.js} +3 -3
  181. package/chunks/{serve-3LL7RRDP.js → serve-UU6Z4C7W.js} +27 -27
  182. package/chunks/{server-AA24QLPA.js → server-RTJUMN24.js} +393 -256
  183. package/chunks/{session-LRVCFQQQ.js → session-EYD3CEB5.js} +79 -163
  184. package/chunks/{settings-ZX3OKUT4.js → settings-H5O22TGQ.js} +26 -26
  185. package/chunks/{shell-KR3IMYH6.js → shell-KVNHDHMT.js} +22 -22
  186. package/chunks/{skill-QLM2LSF7.js → skill-32525KCE.js} +10 -10
  187. package/chunks/{spawnChannel-6WFOK3SA.js → spawnChannel-G7DUQKHL.js} +24 -24
  188. package/chunks/{src-ADLNIPHD.js → src-DUFUUEHE.js} +52 -22
  189. package/chunks/{standalone-update-C54OTJWJ.js → standalone-update-UC6CWBLH.js} +24 -24
  190. package/chunks/{startInteractiveUI-KFAOS6HC.js → startInteractiveUI-A5YYAWLF.js} +5455 -2041
  191. package/chunks/{syntheticOutput-ULOVVLY4.js → syntheticOutput-FG5PQKIR.js} +3 -3
  192. package/chunks/{task-create-DUE2PMNI.js → task-create-HX32YXO7.js} +7 -7
  193. package/chunks/{task-list-WVPNX7BZ.js → task-list-QWSY4ZIU.js} +5 -5
  194. package/chunks/{task-stop-CPEQWOT6.js → task-stop-GWC6UWAL.js} +2 -2
  195. package/chunks/{task-update-HY2LNFFB.js → task-update-NCTAB73Q.js} +7 -7
  196. package/chunks/{team-create-Q5B5M7UD.js → team-create-LS2Q32Y4.js} +22 -22
  197. package/chunks/{team-delete-JJV6IUOA.js → team-delete-KK37HTOG.js} +5 -5
  198. package/chunks/{team-plan-approval-J55PXNY2.js → team-plan-approval-DWCZABX6.js} +22 -22
  199. package/chunks/{theme-manager-QWTDRPHV.js → theme-manager-E22CNBIL.js} +23 -23
  200. package/chunks/{todoWrite-JHHIDOIV.js → todoWrite-ERCAMLFS.js} +4 -4
  201. package/chunks/{tool-search-LSSKWZKH.js → tool-search-MHXUDFD2.js} +9 -9
  202. package/chunks/{total-session-admission-S6ATY5HY.js → total-session-admission-KOPTGDJZ.js} +25 -25
  203. package/chunks/{trustedFolders-CY4TUPDJ.js → trustedFolders-ANQXYAQT.js} +23 -23
  204. package/chunks/{update-relaunch-IOKOUV3K.js → update-relaunch-HFGRB7PE.js} +9 -9
  205. package/chunks/{updateCheck-YNRFE4V7.js → updateCheck-EKIPND4B.js} +33 -26
  206. package/chunks/useAutoAcceptIndicator-EE22V2F5.js +80 -0
  207. package/chunks/{validateNonInterActiveAuth-OXTECS4B.js → validateNonInterActiveAuth-RUICXVPH.js} +61 -63
  208. package/chunks/{version-2CZQQDL5.js → version-QLT755OV.js} +1 -1
  209. package/chunks/{web-fetch-7QTEGJI5.js → web-fetch-DINW4Z65.js} +10 -10
  210. package/chunks/{workflow-G3CZU256.js → workflow-GPMXRWKK.js} +23 -23
  211. package/chunks/{workspace-providers-status-UHQOIPAZ.js → workspace-providers-status-XCQKBVSX.js} +30 -30
  212. package/chunks/{workspace-registration-store-5WPCMX4F.js → workspace-registration-store-4I4KL7TN.js} +1 -1
  213. package/chunks/{workspace-registry-LAQCRQTH.js → workspace-registry-N4J57SFQ.js} +25 -25
  214. package/chunks/{workspace-service-6ZEUJY2Z.js → workspace-service-JJNJWVH3.js} +32 -32
  215. package/chunks/{workspace-skills-status-YG6OITSM.js → workspace-skills-status-CEHLAQ2Y.js} +28 -28
  216. package/chunks/{write-file-E7T3PU3B.js → write-file-XRGEJRCC.js} +23 -23
  217. package/cli.js +11 -11
  218. package/package.json +3 -3
  219. package/web-shell/assets/{arc-_dVIKMdB.js → arc-DwJhljn9.js} +1 -1
  220. package/web-shell/assets/{architectureDiagram-3BPJPVTR-MuN3nKpL.js → architectureDiagram-3BPJPVTR-qdxSRav-.js} +1 -1
  221. package/web-shell/assets/{blockDiagram-GPEHLZMM-BtmvJjzx.js → blockDiagram-GPEHLZMM-2-dKM5aM.js} +1 -1
  222. package/web-shell/assets/{c4Diagram-AAUBKEIU-Dvi58_BU.js → c4Diagram-AAUBKEIU-Dt_Nu2HD.js} +1 -1
  223. package/web-shell/assets/channel-C6uyh95L.js +1 -0
  224. package/web-shell/assets/{chunk-2J33WTMH-YqxOVhS1.js → chunk-2J33WTMH-CBCeeNfD.js} +1 -1
  225. package/web-shell/assets/{chunk-4BX2VUAB-DoBgbC9z.js → chunk-4BX2VUAB-DPAzjqNs.js} +1 -1
  226. package/web-shell/assets/{chunk-55IACEB6-3NEQrBAr.js → chunk-55IACEB6-yrqyxvIK.js} +1 -1
  227. package/web-shell/assets/{chunk-727SXJPM-DrCZQxp0.js → chunk-727SXJPM-DguD_BBT.js} +1 -1
  228. package/web-shell/assets/{chunk-AQP2D5EJ-m_g3zjgv.js → chunk-AQP2D5EJ-KRUOG9v0.js} +1 -1
  229. package/web-shell/assets/{chunk-FMBD7UC4-D1_crABJ.js → chunk-FMBD7UC4-C0lilT2U.js} +1 -1
  230. package/web-shell/assets/{chunk-ND2GUHAM-BdhgVtBx.js → chunk-ND2GUHAM-DG9epIWK.js} +1 -1
  231. package/web-shell/assets/{chunk-QZHKN3VN-BlmThhm-.js → chunk-QZHKN3VN-PdJDkYHw.js} +1 -1
  232. package/web-shell/assets/classDiagram-4FO5ZUOK-Cv8Ulf-B.js +1 -0
  233. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cv8Ulf-B.js +1 -0
  234. package/web-shell/assets/{cose-bilkent-S5V4N54A-Cbjm_00Z.js → cose-bilkent-S5V4N54A-BAOPPuJm.js} +1 -1
  235. package/web-shell/assets/{dagre-BM42HDAG-C39QNVgC.js → dagre-BM42HDAG-CDHJv82_.js} +1 -1
  236. package/web-shell/assets/{diagram-2AECGRRQ-DNXSAixC.js → diagram-2AECGRRQ-C_hkG5fN.js} +1 -1
  237. package/web-shell/assets/{diagram-5GNKFQAL-BCbGUPEA.js → diagram-5GNKFQAL-e9zo_eKt.js} +1 -1
  238. package/web-shell/assets/{diagram-KO2AKTUF-1eujKSDC.js → diagram-KO2AKTUF-BFN41SCb.js} +1 -1
  239. package/web-shell/assets/{diagram-LMA3HP47-DUMKXgql.js → diagram-LMA3HP47-DG72N0W0.js} +1 -1
  240. package/web-shell/assets/{diagram-OG6HWLK6-BFktU3_u.js → diagram-OG6HWLK6-Dkmp-tdv.js} +1 -1
  241. package/web-shell/assets/{erDiagram-TEJ5UH35-BvJC7DLk.js → erDiagram-TEJ5UH35-CyS0GnQV.js} +1 -1
  242. package/web-shell/assets/{flowDiagram-I6XJVG4X-Cgu3PlOt.js → flowDiagram-I6XJVG4X-Cg1SRmzV.js} +1 -1
  243. package/web-shell/assets/{ganttDiagram-6RSMTGT7-DLNXN5Xh.js → ganttDiagram-6RSMTGT7-CoNkSLs3.js} +1 -1
  244. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BQFRDv6R.js → gitGraphDiagram-PVQCEYII-DEA6GWPa.js} +1 -1
  245. package/web-shell/assets/index-B49xd8_A.css +5 -0
  246. package/web-shell/assets/{index-CdC3pjP3.js → index-CMaZgs6B.js} +1 -1
  247. package/web-shell/assets/index-D-cDAZgO.js +1192 -0
  248. package/web-shell/assets/{infoDiagram-5YYISTIA-DT2mOSvp.js → infoDiagram-5YYISTIA-BZshyoGT.js} +1 -1
  249. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-9fy_K4bd.js → ishikawaDiagram-YF4QCWOH-CT2ssZqC.js} +1 -1
  250. package/web-shell/assets/{journeyDiagram-JHISSGLW-CoGSEuhE.js → journeyDiagram-JHISSGLW-BtMQ0rDG.js} +1 -1
  251. package/web-shell/assets/{kanban-definition-UN3LZRKU-BP9hHYIj.js → kanban-definition-UN3LZRKU-CoDbK5Db.js} +1 -1
  252. package/web-shell/assets/{linear-uIroDsmp.js → linear-CwhZ6u7u.js} +1 -1
  253. package/web-shell/assets/{mermaid.core-BUwoStsA.js → mermaid.core-C9nn0nrr.js} +5 -5
  254. package/web-shell/assets/{mindmap-definition-RKZ34NQL-DZB-FWim.js → mindmap-definition-RKZ34NQL-BXUbjTeL.js} +1 -1
  255. package/web-shell/assets/{pieDiagram-4H26LBE5-YPptloKl.js → pieDiagram-4H26LBE5-JddiYlWQ.js} +1 -1
  256. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-dgk3DSzm.js → quadrantDiagram-W4KKPZXB-DK5HKzXO.js} +1 -1
  257. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BH2En2i9.js → requirementDiagram-4Y6WPE33-Y-uipa_6.js} +1 -1
  258. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-BB98feeI.js → sankeyDiagram-5OEKKPKP-BbWeqo8H.js} +1 -1
  259. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-CunAIGh8.js → sequenceDiagram-3UESZ5HK-tX2gOoo5.js} +1 -1
  260. package/web-shell/assets/{stateDiagram-AJRCARHV-DTJs_-I2.js → stateDiagram-AJRCARHV-CACN457G.js} +1 -1
  261. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DaUeO2zt.js +1 -0
  262. package/web-shell/assets/{timeline-definition-PNZ67QCA-Cd4AN7O0.js → timeline-definition-PNZ67QCA-DnHWKSOq.js} +1 -1
  263. package/web-shell/assets/{vennDiagram-CIIHVFJN-xIG-rUU9.js → vennDiagram-CIIHVFJN-BO8Yl2FG.js} +1 -1
  264. package/web-shell/assets/{wardley-L42UT6IY-D1UyjIcG.js → wardley-L42UT6IY-1NMqqrBi.js} +1 -1
  265. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BVM0Mb99.js → wardleyDiagram-YWT4CUSO-C3eWgIvD.js} +1 -1
  266. package/web-shell/assets/{xychartDiagram-2RQKCTM6-BX31JDSz.js → xychartDiagram-2RQKCTM6-D0h8FgFX.js} +1 -1
  267. package/web-shell/index.html +2 -2
  268. package/chunks/chunk-675SVDMD.js +0 -3288
  269. package/chunks/chunk-CHVH4DVN.js +0 -368
  270. package/chunks/chunk-JCYMQU5F.js +0 -709
  271. package/chunks/nonInteractiveCli-EK35TLVJ.js +0 -129
  272. package/web-shell/assets/channel-Bi5TehaT.js +0 -1
  273. package/web-shell/assets/classDiagram-4FO5ZUOK-BKhhRdd1.js +0 -1
  274. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BKhhRdd1.js +0 -1
  275. package/web-shell/assets/index-C_ouplMQ.js +0 -1187
  276. package/web-shell/assets/index-XGDFJE-X.css +0 -5
  277. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DrfFMYta.js +0 -1
@@ -1,11 +1,8 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
- import {
4
- recomputeMcpGating
5
- } from "./chunk-6WZZHJSZ.js";
6
3
  import {
7
4
  classifyApiError
8
- } from "./chunk-675SVDMD.js";
5
+ } from "./chunk-V7RNNPGC.js";
9
6
  import {
10
7
  EXTENSION_CONTEXT_BUDGET,
11
8
  buildExtensionMentionContext,
@@ -15,40 +12,40 @@ import {
15
12
  matchMcpServerByRef,
16
13
  parseExtensionRef,
17
14
  parseMcpServerRef
18
- } from "./chunk-IKLWU6YS.js";
15
+ } from "./chunk-JRJ2LV6P.js";
19
16
  import {
20
17
  getAvailableCommands,
21
18
  handleSlashCommand,
22
19
  insertAfterFunctionResponses,
23
20
  isSlashCommand,
24
21
  normalizePartList
25
- } from "./chunk-IQRQVPGN.js";
22
+ } from "./chunk-YDZ6J2BY.js";
23
+ import {
24
+ recomputeMcpGating
25
+ } from "./chunk-2JOLZA6L.js";
26
26
  import {
27
27
  appEvents,
28
28
  buildDisabledSkillNamesProvider,
29
29
  loadCliConfig,
30
30
  normalizeDisabledToolList
31
- } from "./chunk-PSISZNIT.js";
32
- import "./chunk-5DTTYNB7.js";
33
- import {
34
- collectContextData,
35
- formatContextUsageText
36
- } from "./chunk-Z4ZCVYJ5.js";
31
+ } from "./chunk-Y5534U4G.js";
37
32
  import {
38
33
  getCommandSubcommandNames
39
- } from "./chunk-JCYMQU5F.js";
40
- import "./chunk-CHVH4DVN.js";
34
+ } from "./chunk-DIKIJS6Z.js";
41
35
  import {
42
36
  getEffectiveSupportedModes
43
- } from "./chunk-6QGZVKOO.js";
37
+ } from "./chunk-27AJEU6G.js";
38
+ import "./chunk-5DTTYNB7.js";
39
+ import "./chunk-QKYTTBYW.js";
40
+ import {
41
+ collectContextData,
42
+ formatContextUsageText
43
+ } from "./chunk-STFP7PJR.js";
44
44
  import "./chunk-4WGODMVR.js";
45
- import "./chunk-KW7NOTN6.js";
46
- import "./chunk-GEHSF7MS.js";
47
- import "./chunk-XAAEDML2.js";
48
- import "./chunk-NVUGS23Y.js";
49
- import "./chunk-NHDKSOEY.js";
50
- import "./chunk-4W55BHOC.js";
51
- import "./chunk-Y5UDBQYF.js";
45
+ import "./chunk-AYCDXHZB.js";
46
+ import "./chunk-DR5AUNJ2.js";
47
+ import "./chunk-6HQW55TM.js";
48
+ import "./chunk-RB7NXUP5.js";
52
49
  import "./chunk-YAF2MQZ6.js";
53
50
  import {
54
51
  GENERATION_MAX_PROMPT_BYTES,
@@ -68,7 +65,7 @@ import {
68
65
  shouldSuppressRememberErrorDetails,
69
66
  workspaceMemoryFailureCode,
70
67
  workspaceMemoryFailureDiagnostics
71
- } from "./chunk-4AGBO6RB.js";
68
+ } from "./chunk-3SNKL6L6.js";
72
69
  import {
73
70
  HistoryReplayer,
74
71
  MessageEmitter,
@@ -78,21 +75,21 @@ import {
78
75
  goalTerminalEventToHistoryItem,
79
76
  recordGoalStatusItem,
80
77
  restoreGoalFromHistory
81
- } from "./chunk-WACI4VES.js";
82
- import "./chunk-QSG4ZFG4.js";
83
- import "./chunk-7LMAKIWE.js";
84
- import "./chunk-J6NT5YTN.js";
78
+ } from "./chunk-SG2PEESS.js";
79
+ import "./chunk-KTUQMDEP.js";
80
+ import "./chunk-TFNZCC4B.js";
81
+ import "./chunk-RS7MT2QG.js";
82
+ import "./chunk-H2XVO6NE.js";
85
83
  import "./chunk-QHTIBUWB.js";
86
84
  import {
87
85
  isTerminalGoalStatusKind
88
- } from "./chunk-76BFY7AF.js";
89
- import "./chunk-HTHUX2T5.js";
86
+ } from "./chunk-QTERJVPZ.js";
90
87
  import "./chunk-L573Z2QZ.js";
91
88
  import {
92
89
  computeCpuPercent
93
90
  } from "./chunk-HGT6JR3U.js";
94
91
  import "./chunk-RXFQM6FQ.js";
95
- import "./chunk-OZWJAFFE.js";
92
+ import "./chunk-3ZL6YMO2.js";
96
93
  import "./chunk-6H67XLET.js";
97
94
  import {
98
95
  beginAcpBootstrapConfigProfiling,
@@ -100,9 +97,9 @@ import {
100
97
  endAcpBootstrapConfigProfiling,
101
98
  markAcpStartup
102
99
  } from "./chunk-TDKQP3M6.js";
103
- import "./chunk-LLIGYAQU.js";
100
+ import "./chunk-IDGTC5AS.js";
104
101
  import "./chunk-LXXMOYPL.js";
105
- import "./chunk-F2YCCUXI.js";
102
+ import "./chunk-3ML52IFS.js";
106
103
  import "./chunk-E5Z2AVNV.js";
107
104
  import {
108
105
  ACP_ROUTE_ID_PREFIX,
@@ -112,7 +109,7 @@ import {
112
109
  parseAcpModelOption,
113
110
  resolveAcpModelOption,
114
111
  sanitizeProviderBaseUrl
115
- } from "./chunk-2DZ7E27L.js";
112
+ } from "./chunk-JBCFW3IL.js";
116
113
  import {
117
114
  mapSkillConfigToStatus
118
115
  } from "./chunk-2W3OOD4W.js";
@@ -122,19 +119,19 @@ import {
122
119
  buildPermissionSettings,
123
120
  normalizePermissionRules,
124
121
  readPermissionRuleSet
125
- } from "./chunk-LHEQDKAR.js";
122
+ } from "./chunk-INL2RSLA.js";
126
123
  import {
127
124
  MAX_AUDIO_BYTES,
128
125
  sanitizeVoiceErrorMessage,
129
126
  transcribeVoiceAudio
130
- } from "./chunk-XACBIZJB.js";
127
+ } from "./chunk-FODJ5Q5K.js";
131
128
  import {
132
129
  readVoiceModel
133
- } from "./chunk-SMASS3CY.js";
134
- import "./chunk-F2RR4HO2.js";
130
+ } from "./chunk-A4TJMY65.js";
131
+ import "./chunk-BVLROR2T.js";
135
132
  import {
136
133
  parseSessionSource
137
- } from "./chunk-4OVECYBM.js";
134
+ } from "./chunk-QOSKUG5P.js";
138
135
  import "./chunk-6RLROE6G.js";
139
136
  import "./chunk-COH43MRJ.js";
140
137
  import {
@@ -151,7 +148,7 @@ import {
151
148
  } from "./chunk-QR6U5QPP.js";
152
149
  import {
153
150
  ndJsonStream
154
- } from "./chunk-FEZXQXW2.js";
151
+ } from "./chunk-SLLG5XXE.js";
155
152
  import {
156
153
  NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE
157
154
  } from "./chunk-X6YQWCIJ.js";
@@ -162,23 +159,23 @@ import {
162
159
  SERVE_STATUS_EXT_METHODS,
163
160
  STATUS_SCHEMA_VERSION,
164
161
  mapDomainErrorToErrorKind
165
- } from "./chunk-TFV3XVAZ.js";
166
- import "./chunk-HQ7MDVBO.js";
167
- import "./chunk-HZXU6YZW.js";
162
+ } from "./chunk-TQBA6DVX.js";
163
+ import "./chunk-VWLLDHAY.js";
164
+ import "./chunk-LTQ5C5AB.js";
168
165
  import "./chunk-57OAHC2Y.js";
169
- import "./chunk-NJQPQ4IO.js";
170
- import "./chunk-E655RDRL.js";
166
+ import "./chunk-YWEW33JY.js";
167
+ import "./chunk-4ODB7WIB.js";
171
168
  import "./chunk-V6WHFGST.js";
172
169
  import {
173
170
  createLoadedSettingsAdapter
174
- } from "./chunk-DYUPBU7H.js";
171
+ } from "./chunk-UGRL5B5F.js";
175
172
  import "./chunk-W7FJ3N32.js";
176
- import "./chunk-HVWPSGDY.js";
173
+ import "./chunk-Y2ENGUD6.js";
177
174
  import "./chunk-TJTKSVIV.js";
178
175
  import "./chunk-M5GB774H.js";
179
- import "./chunk-HCCR43AY.js";
180
- import "./chunk-53UMEONK.js";
181
- import "./chunk-MHEZV3OY.js";
176
+ import "./chunk-RFIAR4YL.js";
177
+ import "./chunk-2HOVDT7W.js";
178
+ import "./chunk-NIJEXGV6.js";
182
179
  import {
183
180
  AgentSideConnection,
184
181
  PROTOCOL_VERSION,
@@ -187,7 +184,7 @@ import {
187
184
  import {
188
185
  assembleMcpServers,
189
186
  loadMcpApprovals
190
- } from "./chunk-PTXVHS2O.js";
187
+ } from "./chunk-DCCW7CRR.js";
191
188
  import {
192
189
  getOutputLanguageFilePath,
193
190
  getPersistScopeForModelSelection,
@@ -196,7 +193,7 @@ import {
196
193
  resolveOutputLanguageOrPreserveAuto,
197
194
  updateOutputLanguageFile,
198
195
  writeOutputLanguageAndRegisterPath
199
- } from "./chunk-ILQ42UG6.js";
196
+ } from "./chunk-2YJLFCYI.js";
200
197
  import "./chunk-RKUWKYED.js";
201
198
  import "./chunk-GOXKNSDZ.js";
202
199
  import {
@@ -207,20 +204,20 @@ import {
207
204
  SUPPORTED_LANGUAGES,
208
205
  getCurrentLanguage,
209
206
  setLanguageAsync
210
- } from "./chunk-3PE7OY2G.js";
207
+ } from "./chunk-3QR5MOHP.js";
211
208
  import {
212
209
  findEnvFiles,
213
210
  preResolveHomeEnvOverrides,
214
211
  reloadEnvironment
215
- } from "./chunk-NGTQA57Y.js";
212
+ } from "./chunk-NQVA6O7F.js";
216
213
  import "./chunk-QRUIS3DN.js";
217
- import "./chunk-W4DFAUAO.js";
214
+ import "./chunk-SQMTULHJ.js";
218
215
  import "./chunk-VJNBRRZG.js";
219
216
  import {
220
217
  isFolderTrustEnabled,
221
218
  isWorkspaceTrusted,
222
219
  loadTrustedFolders
223
- } from "./chunk-XFJU7SVP.js";
220
+ } from "./chunk-RS5JPH6Y.js";
224
221
  import "./chunk-ALGGS7UH.js";
225
222
  import "./chunk-MR3PXB6E.js";
226
223
  import {
@@ -275,12 +272,14 @@ import {
275
272
  convertToFunctionErrorResponse,
276
273
  convertToFunctionResponse,
277
274
  createDuplicateProviderToolCallResponse,
275
+ decoratePlanModeShellConfirmation,
278
276
  dedupeToolCallsById,
279
277
  detectAutonomousSentinel,
280
278
  detectLoopSentinel,
281
279
  encodeSessionTranscriptCursor,
282
280
  evaluateAutoMode,
283
281
  evaluatePermissionFlow,
282
+ evaluatePlanModeShellPolicy,
284
283
  findExistingProviderModels,
285
284
  findProviderById,
286
285
  findRepeatedDuplicateProviderToolCall,
@@ -305,6 +304,7 @@ import {
305
304
  getProviderToolCallId,
306
305
  getScopedEnvContents,
307
306
  getStartupContextLength,
307
+ getStopHookContinuationReason,
308
308
  ideContextStore,
309
309
  injectPermissionRulesIfMissing,
310
310
  isApproveOutcome,
@@ -340,21 +340,23 @@ import {
340
340
  shouldRunAutoModeForCall,
341
341
  subagentGenerator,
342
342
  unregisterGoalHook,
343
- updateSetting
344
- } from "./chunk-6TDA4EVC.js";
343
+ updateSetting,
344
+ validatePlanModeShellApproval,
345
+ validatePlanModeShellContext
346
+ } from "./chunk-JDPCOUZ3.js";
345
347
  import "./chunk-5M6IDOMF.js";
346
348
  import "./chunk-T4TZQJ7W.js";
347
349
  import {
348
350
  external_exports
349
351
  } from "./chunk-H6XPXXMH.js";
350
- import "./chunk-LKR7QQ63.js";
351
- import "./chunk-4XCVGEEX.js";
352
- import "./chunk-XSPFQQRE.js";
353
- import "./chunk-4RPARQ5D.js";
352
+ import "./chunk-EAUYY7SS.js";
353
+ import "./chunk-FSL5W5TI.js";
354
+ import "./chunk-OONJNQ42.js";
355
+ import "./chunk-D2VIDMVM.js";
354
356
  import "./chunk-E2UVIFI2.js";
355
357
  import "./chunk-XU457J4V.js";
356
358
  import "./chunk-VDDGDZMA.js";
357
- import "./chunk-J2MKYJKZ.js";
359
+ import "./chunk-EIAK6Q2B.js";
358
360
  import "./chunk-SZRN75WQ.js";
359
361
  import "./chunk-HTO4JFDZ.js";
360
362
  import "./chunk-CPBF7KYF.js";
@@ -362,20 +364,20 @@ import {
362
364
  APPROVAL_MODES,
363
365
  FORK_SUBAGENT_TYPE,
364
366
  runWithRuntimeContentGenerator
365
- } from "./chunk-UOA2IHRI.js";
367
+ } from "./chunk-CPCVCKKF.js";
366
368
  import "./chunk-6AM5D4ME.js";
367
- import "./chunk-OSSDHJDU.js";
369
+ import "./chunk-G45X5TRN.js";
368
370
  import {
369
371
  HookEventName,
370
372
  createHookOutput
371
- } from "./chunk-SGPFJMRP.js";
372
- import "./chunk-335ECZTA.js";
373
- import "./chunk-JCJPZMJV.js";
373
+ } from "./chunk-PBATSWUQ.js";
374
+ import "./chunk-ZEOZL37W.js";
375
+ import "./chunk-OOCI5VVU.js";
374
376
  import {
375
377
  clearCachedCredentialFile,
376
378
  qwenOAuth2Events
377
- } from "./chunk-QGONRHUS.js";
378
- import "./chunk-7KS72E2N.js";
379
+ } from "./chunk-53OPIXUE.js";
380
+ import "./chunk-DSBCU6JY.js";
379
381
  import "./chunk-JESCGQM3.js";
380
382
  import {
381
383
  AuthType,
@@ -412,31 +414,31 @@ import {
412
414
  uiTelemetryService,
413
415
  withDaemonSpan,
414
416
  withInteractionSpan
415
- } from "./chunk-YN2I5I42.js";
417
+ } from "./chunk-I6JUVU7J.js";
416
418
  import "./chunk-4WKAA4KS.js";
417
419
  import "./chunk-CR3C7WXL.js";
418
420
  import "./chunk-VGC4I5JJ.js";
419
421
  import {
420
422
  getAutoMemoryRoot,
421
423
  getUserAutoMemoryRoot
422
- } from "./chunk-LPHGXXZX.js";
423
- import "./chunk-4CA4WUMS.js";
424
- import "./chunk-VAJS2E2D.js";
425
- import "./chunk-WEPXQKGP.js";
424
+ } from "./chunk-JD3MKVKL.js";
425
+ import "./chunk-UEY4AYUL.js";
426
+ import "./chunk-BDBMYST4.js";
427
+ import "./chunk-EZVDJFZ7.js";
426
428
  import {
427
429
  ToolConfirmationOutcome,
428
430
  ToolNames,
429
431
  isShellProgressData
430
- } from "./chunk-ANRANWVE.js";
432
+ } from "./chunk-OP4MOGXF.js";
431
433
  import "./chunk-XVNQMZ2I.js";
432
434
  import "./chunk-FEOZBUMT.js";
433
435
  import "./chunk-DJ2GSRLV.js";
434
- import "./chunk-4CHDYDG3.js";
436
+ import "./chunk-6EFTQYW7.js";
435
437
  import {
436
438
  DEFAULT_TOKEN_LIMIT,
437
439
  getToolCallPreparations,
438
440
  tokenLimit
439
- } from "./chunk-V4PCIS25.js";
441
+ } from "./chunk-MAQQGNQ5.js";
440
442
  import "./chunk-A4UCTEB5.js";
441
443
  import "./chunk-XWRJCPHC.js";
442
444
  import "./chunk-TYQMGACW.js";
@@ -448,11 +450,11 @@ import {
448
450
  getErrorMessage,
449
451
  getErrorStatus,
450
452
  isSubpath
451
- } from "./chunk-UE5TZ55T.js";
452
- import "./chunk-ZPVGEMVC.js";
453
+ } from "./chunk-C27BYUX6.js";
454
+ import "./chunk-CL7IRYTA.js";
453
455
  import {
454
456
  runExitCleanup
455
- } from "./chunk-DULSE2SH.js";
457
+ } from "./chunk-COWNNAWJ.js";
456
458
  import "./chunk-75DOP5OR.js";
457
459
  import "./chunk-DMTGGOSA.js";
458
460
  import "./chunk-YQ3U5MUC.js";
@@ -997,6 +999,13 @@ function interactionMetaFields(confirmation) {
997
999
  __name(interactionMetaFields, "interactionMetaFields");
998
1000
  function buildPermissionRequestContent(confirmation) {
999
1001
  const content = [];
1002
+ const warnings = confirmation.type === "exec" || confirmation.type === "edit" ? confirmation.warnings ?? [] : [];
1003
+ for (const warning of warnings) {
1004
+ content.push({
1005
+ type: "content",
1006
+ content: { type: "text", text: warning }
1007
+ });
1008
+ }
1000
1009
  if (confirmation.type === "edit") {
1001
1010
  content.push({
1002
1011
  type: "diff",
@@ -1017,6 +1026,56 @@ function buildPermissionRequestContent(confirmation) {
1017
1026
  return content;
1018
1027
  }
1019
1028
  __name(buildPermissionRequestContent, "buildPermissionRequestContent");
1029
+ function permissionAbortError(signal) {
1030
+ return signal.reason instanceof Error ? signal.reason : new Error("Permission request was aborted.");
1031
+ }
1032
+ __name(permissionAbortError, "permissionAbortError");
1033
+ function requestPermissionWithAbort(client, params, signal) {
1034
+ if (signal.aborted) {
1035
+ return Promise.reject(permissionAbortError(signal));
1036
+ }
1037
+ return new Promise((resolve5, reject) => {
1038
+ let settled = false;
1039
+ const finish = /* @__PURE__ */ __name((callback) => {
1040
+ if (settled) return;
1041
+ settled = true;
1042
+ signal.removeEventListener("abort", onAbort);
1043
+ callback();
1044
+ }, "finish");
1045
+ const onAbort = /* @__PURE__ */ __name(() => finish(() => reject(permissionAbortError(signal))), "onAbort");
1046
+ signal.addEventListener("abort", onAbort, { once: true });
1047
+ let request;
1048
+ try {
1049
+ request = client.requestPermission(params);
1050
+ } catch (error) {
1051
+ finish(() => reject(error));
1052
+ return;
1053
+ }
1054
+ request.then(
1055
+ (response) => finish(() => resolve5(response)),
1056
+ (error) => finish(() => reject(error))
1057
+ );
1058
+ });
1059
+ }
1060
+ __name(requestPermissionWithAbort, "requestPermissionWithAbort");
1061
+ function resolvePermissionOutcome(response, offeredOptions) {
1062
+ if (response.outcome.outcome === "cancelled") {
1063
+ return "cancel" /* Cancel */;
1064
+ }
1065
+ const optionId = response.outcome.optionId;
1066
+ if (!offeredOptions.some((option) => option.optionId === optionId)) {
1067
+ throw new Error(
1068
+ `Permission response selected unoffered option: ${optionId}`
1069
+ );
1070
+ }
1071
+ if (!Object.values(ToolConfirmationOutcome).includes(
1072
+ optionId
1073
+ )) {
1074
+ throw new Error(`Permission response selected invalid option: ${optionId}`);
1075
+ }
1076
+ return optionId;
1077
+ }
1078
+ __name(resolvePermissionOutcome, "resolvePermissionOutcome");
1020
1079
  function toPermissionOptions(confirmation, forceHideAlwaysAllow = false) {
1021
1080
  switch (confirmation.type) {
1022
1081
  case "edit":
@@ -1243,9 +1302,13 @@ var SubAgentTracker = class {
1243
1302
  }, "onConfirm")
1244
1303
  };
1245
1304
  const { title, locations, kind } = this.toolCallEmitter.resolveToolMetadata(event.name, state?.args);
1305
+ const permissionOptions = toPermissionOptions(fullConfirmationDetails);
1306
+ const offeredPermissionOptions = permissionOptions.map((option) => ({
1307
+ ...option
1308
+ }));
1246
1309
  const params = {
1247
1310
  sessionId: this.ctx.sessionId,
1248
- options: toPermissionOptions(fullConfirmationDetails),
1311
+ options: permissionOptions,
1249
1312
  toolCall: {
1250
1313
  toolCallId: event.callId,
1251
1314
  status: "pending",
@@ -1266,8 +1329,15 @@ var SubAgentTracker = class {
1266
1329
  }
1267
1330
  };
1268
1331
  try {
1269
- const output = await this.client.requestPermission(params);
1270
- const outcome = output.outcome.outcome === "cancelled" ? "cancel" /* Cancel */ : external_exports.nativeEnum(ToolConfirmationOutcome).parse(output.outcome.optionId);
1332
+ const output = await requestPermissionWithAbort(
1333
+ this.client,
1334
+ params,
1335
+ abortSignal
1336
+ );
1337
+ const outcome = resolvePermissionOutcome(
1338
+ output,
1339
+ offeredPermissionOptions
1340
+ );
1271
1341
  await event.respond(outcome, {
1272
1342
  answers: "answers" in output ? output.answers : void 0
1273
1343
  });
@@ -3568,7 +3638,7 @@ ${this.pendingWorktreeNotice}
3568
3638
  await this.messageEmitter.emitAgentMessage(stopOutput.systemMessage);
3569
3639
  }
3570
3640
  if (stopOutput?.isBlockingDecision() || stopOutput?.shouldStopExecution()) {
3571
- externalReason = stopOutput.getEffectiveReason();
3641
+ externalReason = getStopHookContinuationReason(stopOutput);
3572
3642
  stopHookIterationCount++;
3573
3643
  stopHookReasons = [...stopHookReasons, externalReason];
3574
3644
  stopHookCount = response.stopHookCount ?? 1;
@@ -5937,19 +6007,21 @@ ${this.pendingWorktreeNotice}
5937
6007
  { recordInvalidToolParams: true }
5938
6008
  );
5939
6009
  }
5940
- const toolSpan = startToolSpan(toolName, {
6010
+ const policyToolName = tool.name;
6011
+ const originalPolicyRequestArgs = policyToolName === ToolNames.SHELL || policyToolName === ToolNames.MONITOR ? structuredClone(args) : args;
6012
+ const toolSpan = startToolSpan(policyToolName, {
5941
6013
  "tool.call_id": callId,
5942
6014
  // Dual-emit the legacy call_id/tool_name aliases like CoreToolScheduler
5943
6015
  // (coreToolScheduler.ts) so pre-Phase-2 dashboards keyed off call_id keep
5944
6016
  // matching daemon/ACP tool spans during the migration window.
5945
6017
  call_id: callId,
5946
- tool_name: toolName
6018
+ tool_name: policyToolName
5947
6019
  });
5948
6020
  let spanSuccess = false;
5949
6021
  try {
5950
6022
  return await runInToolSpanContext(toolSpan, async () => {
5951
6023
  const pm = this.config.getPermissionManager?.();
5952
- if (pm && !await pm.isToolEnabled(toolName)) {
6024
+ if (pm && !await pm.isToolEnabled(policyToolName)) {
5953
6025
  return earlyErrorResponse(
5954
6026
  new Error(`Tool "${toolName}" is disabled.`),
5955
6027
  toolName
@@ -5978,7 +6050,7 @@ ${this.pendingWorktreeNotice}
5978
6050
  }
5979
6051
  }
5980
6052
  const toolUseId = generateToolUseId();
5981
- const approvalMode = this.config.getApprovalMode();
6053
+ let approvalMode = this.config.getApprovalMode();
5982
6054
  let toolBuildSucceeded = false;
5983
6055
  try {
5984
6056
  const invocation = tool.build(args);
@@ -6003,12 +6075,12 @@ ${this.pendingWorktreeNotice}
6003
6075
  activeToolAbortSignal
6004
6076
  );
6005
6077
  }
6006
- const isAskUserQuestionTool = toolName === ToolNames.ASK_USER_QUESTION;
6007
- const toolParams = invocation.params;
6078
+ const isAskUserQuestionTool = policyToolName === ToolNames.ASK_USER_QUESTION;
6079
+ let toolParams = invocation.params;
6008
6080
  const flowResult = await evaluatePermissionFlow(
6009
6081
  this.config,
6010
6082
  invocation,
6011
- toolName,
6083
+ policyToolName,
6012
6084
  toolParams
6013
6085
  );
6014
6086
  const {
@@ -6018,31 +6090,74 @@ ${this.pendingWorktreeNotice}
6018
6090
  denyMessage,
6019
6091
  requiresUserInteraction
6020
6092
  } = flowResult;
6093
+ approvalMode = this.config.getApprovalMode();
6021
6094
  const isPlanMode = approvalMode === "plan" /* PLAN */;
6095
+ const isPlanShellCall = isPlanMode && (policyToolName === ToolNames.SHELL || policyToolName === ToolNames.MONITOR);
6022
6096
  if (finalPermission === "deny") {
6023
6097
  return earlyErrorResponse(
6024
6098
  new Error(denyMessage ?? `Tool "${toolName}" is denied.`),
6025
6099
  toolName
6026
6100
  );
6027
6101
  }
6028
- const forceAutoReviewForAllow = approvalMode === "auto" /* AUTO */ && (shouldForceAutoModeReviewForAllow(pmCtx, this.config.getCwd()) || shouldClassifyAllShellForAutoMode(toolName, this.config));
6102
+ let planShellAmbientWorkingDirectory;
6103
+ if (isPlanShellCall) {
6104
+ const directory = toolParams["directory"];
6105
+ planShellAmbientWorkingDirectory = typeof directory === "string" && directory.length > 0 ? void 0 : this.config.getTargetDir();
6106
+ invocation.params = {
6107
+ ...structuredClone(invocation.params),
6108
+ directory: typeof directory === "string" && directory.length > 0 ? directory : planShellAmbientWorkingDirectory
6109
+ };
6110
+ toolParams = invocation.params;
6111
+ }
6112
+ const planShellDecision = isPlanShellCall ? await evaluatePlanModeShellPolicy({
6113
+ config: this.config,
6114
+ toolName: policyToolName,
6115
+ requestArgs: originalPolicyRequestArgs,
6116
+ invocationParams: toolParams,
6117
+ permissionContext: pmCtx,
6118
+ ambientWorkingDirectory: planShellAmbientWorkingDirectory,
6119
+ signal: activeToolAbortSignal
6120
+ }) : { classification: "not-applicable" };
6121
+ if (planShellDecision.classification !== "not-applicable") {
6122
+ const initialPlanShellError = await validatePlanModeShellContext({
6123
+ config: this.config,
6124
+ decision: planShellDecision,
6125
+ requestArgs: args,
6126
+ invocationParams: invocation.params,
6127
+ signal: activeToolAbortSignal
6128
+ });
6129
+ if (initialPlanShellError) {
6130
+ return earlyErrorResponse(
6131
+ new Error(initialPlanShellError),
6132
+ toolName
6133
+ );
6134
+ }
6135
+ }
6136
+ if (planShellDecision.classification === "write") {
6137
+ return earlyErrorResponse(
6138
+ new Error(planShellDecision.writeBlockMessage),
6139
+ toolName
6140
+ );
6141
+ }
6142
+ const planShellRequiresConfirmation = planShellDecision.classification === "unknown";
6143
+ const forceAutoReviewForAllow = approvalMode === "auto" /* AUTO */ && (shouldForceAutoModeReviewForAllow(pmCtx, this.config.getCwd()) || shouldClassifyAllShellForAutoMode(policyToolName, this.config));
6029
6144
  const confirmationPermission = getEffectivePermissionForConfirmation(
6030
6145
  finalPermission,
6031
6146
  forceAutoReviewForAllow
6032
6147
  );
6033
6148
  if (finalPermission === "allow" && forceAutoReviewForAllow) {
6034
6149
  debugLogger6.info(
6035
- `Auto mode: L4 allow overridden by protected-write guard for ${toolName}`
6150
+ `Auto mode: L4 allow overridden by protected-write guard for ${policyToolName}`
6036
6151
  );
6037
6152
  }
6038
- let autoModeAllowed = finalPermission === "allow" && !forceAutoReviewForAllow;
6153
+ let autoModeAllowed = finalPermission === "allow" && !forceAutoReviewForAllow && !planShellRequiresConfirmation;
6039
6154
  if (autoModeAllowed && approvalMode === "auto" /* AUTO */) {
6040
6155
  this.config.setAutoModeDenialState(
6041
6156
  recordAllow(this.config.getAutoModeDenialState())
6042
6157
  );
6043
6158
  }
6044
6159
  let wasAutoModeDenialFallback = false;
6045
- if (!autoModeAllowed && !requiresUserInteraction && shouldRunAutoModeForCall(approvalMode, toolName)) {
6160
+ if (!autoModeAllowed && !requiresUserInteraction && shouldRunAutoModeForCall(approvalMode, policyToolName)) {
6046
6161
  const denialState = this.config.getAutoModeDenialState();
6047
6162
  const fallback = shouldFallback(denialState);
6048
6163
  const messages = this.config.getGeminiClient?.()?.getHistoryTail(MAX_TRANSCRIPT_MESSAGES, false) ?? [];
@@ -6064,7 +6179,7 @@ ${this.pendingWorktreeNotice}
6064
6179
  this.config,
6065
6180
  decision,
6066
6181
  outcome,
6067
- toolName,
6182
+ policyToolName,
6068
6183
  toolParams,
6069
6184
  callId,
6070
6185
  abortSignal
@@ -6075,7 +6190,7 @@ ${this.pendingWorktreeNotice}
6075
6190
  break;
6076
6191
  case "blocked":
6077
6192
  debugLogger6.warn(
6078
- `Auto mode blocked (${outcome.reason}): tool=${toolName}, ` + formatDenialStateLog(denialState)
6193
+ `Auto mode blocked (${outcome.reason}): tool=${policyToolName}, ` + formatDenialStateLog(denialState)
6079
6194
  );
6080
6195
  return earlyErrorResponse(
6081
6196
  new Error(outcome.errorMessage),
@@ -6116,14 +6231,45 @@ ${this.pendingWorktreeNotice}
6116
6231
  }
6117
6232
  }, "recordAutoModeFallbackResolution");
6118
6233
  if (!autoModeAllowed && needsConfirmation(
6119
- confirmationPermission,
6234
+ planShellRequiresConfirmation ? "ask" : confirmationPermission,
6120
6235
  approvalMode,
6121
- toolName,
6236
+ policyToolName,
6122
6237
  requiresUserInteraction
6123
6238
  )) {
6124
- confirmationDetails = await invocation.getConfirmationDetails(abortSignal);
6239
+ confirmationDetails = await invocation.getConfirmationDetails(
6240
+ activeToolAbortSignal
6241
+ );
6242
+ if (planShellDecision.classification !== "not-applicable") {
6243
+ const preDisplayPlanShellError = await validatePlanModeShellContext({
6244
+ config: this.config,
6245
+ decision: planShellDecision,
6246
+ requestArgs: args,
6247
+ invocationParams: invocation.params,
6248
+ signal: activeToolAbortSignal
6249
+ });
6250
+ if (preDisplayPlanShellError) {
6251
+ return earlyErrorResponse(
6252
+ new Error(preDisplayPlanShellError),
6253
+ toolName
6254
+ );
6255
+ }
6256
+ }
6257
+ try {
6258
+ confirmationDetails = decoratePlanModeShellConfirmation(
6259
+ planShellDecision,
6260
+ confirmationDetails
6261
+ );
6262
+ } catch {
6263
+ if (planShellDecision.classification === "unknown") {
6264
+ return earlyErrorResponse(
6265
+ new Error(planShellDecision.noApprovalMessage),
6266
+ toolName
6267
+ );
6268
+ }
6269
+ throw new Error("Unable to prepare shell confirmation.");
6270
+ }
6125
6271
  injectPermissionRulesIfMissing(confirmationDetails, pmCtx);
6126
- if (isPlanModeBlocked(
6272
+ if (planShellDecision.classification === "not-applicable" && isPlanModeBlocked(
6127
6273
  isPlanMode,
6128
6274
  isExitPlanModeTool,
6129
6275
  isAskUserQuestionTool,
@@ -6143,23 +6289,50 @@ ${this.pendingWorktreeNotice}
6143
6289
  if (hooksEnabled && messageBus) {
6144
6290
  const hookResult = await firePermissionRequestHook(
6145
6291
  messageBus,
6146
- toolName,
6292
+ policyToolName,
6147
6293
  args,
6148
- String(approvalMode)
6294
+ String(approvalMode),
6295
+ void 0,
6296
+ activeToolAbortSignal
6149
6297
  );
6150
6298
  if (hookResult.hasDecision && (!hookResult.shouldAllow || !requiresUserInteraction)) {
6151
6299
  hookHandled = true;
6152
6300
  if (hookResult.shouldAllow) {
6153
- if (hookResult.updatedInput) {
6154
- args = hookResult.updatedInput;
6155
- invocation.params = hookResult.updatedInput;
6301
+ if (planShellDecision.classification !== "not-applicable") {
6302
+ const approval = await validatePlanModeShellApproval({
6303
+ config: this.config,
6304
+ decision: planShellDecision,
6305
+ requestArgs: args,
6306
+ invocationParams: invocation.params,
6307
+ signal: activeToolAbortSignal,
6308
+ outcome: "proceed_once" /* ProceedOnce */,
6309
+ payload: hookResult.updatedInput ? { updatedInput: hookResult.updatedInput } : void 0
6310
+ });
6311
+ await confirmationDetails.onConfirm(
6312
+ approval.outcome,
6313
+ approval.payload
6314
+ );
6315
+ if (approval.outcome === "cancel" /* Cancel */) {
6316
+ return earlyErrorResponse(
6317
+ new Error(
6318
+ approval.payload?.cancelMessage ?? planShellDecision.noApprovalMessage
6319
+ ),
6320
+ toolName
6321
+ );
6322
+ }
6323
+ recordAutoModeFallbackResolution(approval.outcome);
6324
+ } else {
6325
+ if (hookResult.updatedInput) {
6326
+ args = hookResult.updatedInput;
6327
+ invocation.params = hookResult.updatedInput;
6328
+ }
6329
+ await confirmationDetails.onConfirm(
6330
+ "proceed_once" /* ProceedOnce */
6331
+ );
6332
+ recordAutoModeFallbackResolution(
6333
+ "proceed_once" /* ProceedOnce */
6334
+ );
6156
6335
  }
6157
- await confirmationDetails.onConfirm(
6158
- "proceed_once" /* ProceedOnce */
6159
- );
6160
- recordAutoModeFallbackResolution(
6161
- "proceed_once" /* ProceedOnce */
6162
- );
6163
6336
  } else {
6164
6337
  return earlyErrorResponse(
6165
6338
  new Error(
@@ -6172,11 +6345,26 @@ ${this.pendingWorktreeNotice}
6172
6345
  }
6173
6346
  if (!requiresUserInteraction && approvalMode === "auto-edit" /* AUTO_EDIT */ && (confirmationDetails.type === "edit" || confirmationDetails.type === "info")) {
6174
6347
  } else if (!hookHandled) {
6348
+ if (planShellDecision.classification !== "not-applicable") {
6349
+ const finalPreDisplayPlanShellError = await validatePlanModeShellContext({
6350
+ config: this.config,
6351
+ decision: planShellDecision,
6352
+ requestArgs: args,
6353
+ invocationParams: invocation.params,
6354
+ signal: activeToolAbortSignal
6355
+ });
6356
+ if (finalPreDisplayPlanShellError) {
6357
+ return earlyErrorResponse(
6358
+ new Error(finalPreDisplayPlanShellError),
6359
+ toolName
6360
+ );
6361
+ }
6362
+ }
6175
6363
  didRequestPermission = true;
6176
6364
  const content = buildPermissionRequestContent(confirmationDetails);
6177
6365
  const mappedKind = this.toolCallEmitter.mapToolKind(
6178
6366
  tool.kind,
6179
- toolName
6367
+ policyToolName
6180
6368
  );
6181
6369
  if (hooksEnabled && messageBus) {
6182
6370
  this.fireNotificationHookWithTerminalSequence(
@@ -6186,9 +6374,16 @@ ${this.pendingWorktreeNotice}
6186
6374
  "Permission needed"
6187
6375
  );
6188
6376
  }
6377
+ const permissionOptions = toPermissionOptions(
6378
+ confirmationDetails,
6379
+ pmForcedAsk
6380
+ );
6381
+ const offeredPermissionOptions = permissionOptions.map(
6382
+ (option) => ({ ...option })
6383
+ );
6189
6384
  const params = {
6190
6385
  sessionId: this.sessionId,
6191
- options: toPermissionOptions(confirmationDetails, pmForcedAsk),
6386
+ options: permissionOptions,
6192
6387
  toolCall: {
6193
6388
  toolCallId: callId,
6194
6389
  status: "pending",
@@ -6207,10 +6402,12 @@ ${this.pendingWorktreeNotice}
6207
6402
  }
6208
6403
  }
6209
6404
  };
6210
- const stopAfterPermissionCancel = /* @__PURE__ */ __name(() => {
6405
+ const stopAfterPermissionCancel = /* @__PURE__ */ __name((message) => {
6211
6406
  onStopAfterPermissionCancel?.();
6212
6407
  return earlyErrorResponse(
6213
- new Error(`Tool "${toolName}" was canceled by the user.`),
6408
+ new Error(
6409
+ message ?? `Tool "${toolName}" was canceled by the user.`
6410
+ ),
6214
6411
  toolName,
6215
6412
  { stopAfterPermissionCancel: true }
6216
6413
  );
@@ -6218,10 +6415,15 @@ ${this.pendingWorktreeNotice}
6218
6415
  let output;
6219
6416
  let outcome;
6220
6417
  try {
6221
- output = await this.client.requestPermission(
6222
- params
6418
+ output = await requestPermissionWithAbort(
6419
+ this.client,
6420
+ params,
6421
+ activeToolAbortSignal
6422
+ );
6423
+ outcome = resolvePermissionOutcome(
6424
+ output,
6425
+ offeredPermissionOptions
6223
6426
  );
6224
- outcome = output.outcome.outcome === "cancelled" ? "cancel" /* Cancel */ : external_exports.nativeEnum(ToolConfirmationOutcome).parse(output.outcome.optionId);
6225
6427
  } catch (error) {
6226
6428
  debugLogger6.error(
6227
6429
  `Permission request failed for tool ${toolName}:`,
@@ -6238,7 +6440,9 @@ ${this.pendingWorktreeNotice}
6238
6440
  );
6239
6441
  }
6240
6442
  onStopAfterPermissionCancel?.();
6241
- const permissionFailureMessage = isExitPlanModeTool ? "The host could not present plan-exit approval. Plan mode remains active; use the host mode selector or /plan exit to leave plan mode." : `Permission request failed for "${toolName}": ${this.#formatError(
6443
+ const permissionFailureMessage = isExitPlanModeTool ? "The host could not present plan-exit approval. Plan mode remains active; use the host mode selector or /plan exit to leave plan mode." : planShellDecision.classification === "unknown" ? `Plan mode could not complete approval for this shell command: ${this.#formatError(
6444
+ error
6445
+ )}. The command was not run; Plan mode remains active.` : `Permission request failed for "${toolName}": ${this.#formatError(
6242
6446
  error
6243
6447
  )}`;
6244
6448
  return earlyErrorResponse(
@@ -6247,11 +6451,28 @@ ${this.pendingWorktreeNotice}
6247
6451
  { stopAfterPermissionCancel: true }
6248
6452
  );
6249
6453
  }
6454
+ let confirmationPayload = {
6455
+ answers: output.answers
6456
+ };
6457
+ if (planShellDecision.classification !== "not-applicable") {
6458
+ const approval = await validatePlanModeShellApproval({
6459
+ config: this.config,
6460
+ decision: planShellDecision,
6461
+ requestArgs: args,
6462
+ invocationParams: invocation.params,
6463
+ signal: activeToolAbortSignal,
6464
+ outcome,
6465
+ payload: confirmationPayload
6466
+ });
6467
+ outcome = approval.outcome;
6468
+ confirmationPayload = approval.payload;
6469
+ }
6250
6470
  recordAutoModeFallbackResolution(outcome);
6251
6471
  try {
6252
- await confirmationDetails.onConfirm(outcome, {
6253
- answers: output.answers
6254
- });
6472
+ await confirmationDetails.onConfirm(
6473
+ outcome,
6474
+ confirmationPayload
6475
+ );
6255
6476
  } catch (error) {
6256
6477
  if (outcome !== "cancel" /* Cancel */) {
6257
6478
  throw error;
@@ -6268,7 +6489,7 @@ ${this.pendingWorktreeNotice}
6268
6489
  confirmationDetails,
6269
6490
  this.config.getOnPersistPermissionRule?.(),
6270
6491
  this.config.getPermissionManager?.(),
6271
- { answers: output.answers }
6492
+ confirmationPayload
6272
6493
  );
6273
6494
  }
6274
6495
  if (confirmationDetails.type === "edit" && outcome === "proceed_always" /* ProceedAlways */) {
@@ -6276,7 +6497,9 @@ ${this.pendingWorktreeNotice}
6276
6497
  }
6277
6498
  switch (outcome) {
6278
6499
  case "cancel" /* Cancel */:
6279
- return stopAfterPermissionCancel();
6500
+ return stopAfterPermissionCancel(
6501
+ confirmationPayload?.cancelMessage
6502
+ );
6280
6503
  case "proceed_once" /* ProceedOnce */:
6281
6504
  case "proceed_always" /* ProceedAlways */:
6282
6505
  case "proceed_always_project" /* ProceedAlwaysProject */:
@@ -6308,7 +6531,7 @@ ${this.pendingWorktreeNotice}
6308
6531
  if (hooksEnabledForTool && messageBusForTool) {
6309
6532
  const preHookResult = await firePreToolUseHook(
6310
6533
  messageBusForTool,
6311
- toolName,
6534
+ policyToolName,
6312
6535
  args,
6313
6536
  toolUseId,
6314
6537
  permissionMode,
@@ -6425,7 +6648,7 @@ ${this.pendingWorktreeNotice}
6425
6648
  };
6426
6649
  const postHookResult = await firePostToolUseHook(
6427
6650
  messageBusForTool,
6428
- toolName,
6651
+ policyToolName,
6429
6652
  args,
6430
6653
  toolResponse,
6431
6654
  toolUseId,
@@ -6456,7 +6679,7 @@ ${this.pendingWorktreeNotice}
6456
6679
  const failureHookResult = await firePostToolUseFailureHook(
6457
6680
  messageBusForTool,
6458
6681
  toolUseId,
6459
- toolName,
6682
+ policyToolName,
6460
6683
  args,
6461
6684
  toolResult.error?.message ?? "Tool execution was cancelled",
6462
6685
  isInterrupt,
@@ -6545,7 +6768,7 @@ ${this.pendingWorktreeNotice}
6545
6768
  const failureHookResult = await firePostToolUseFailureHook(
6546
6769
  messageBusForError,
6547
6770
  toolUseId,
6548
- toolName,
6771
+ policyToolName,
6549
6772
  args,
6550
6773
  error.message,
6551
6774
  isInterrupt,
@@ -9409,7 +9632,7 @@ var QwenAgent = class {
9409
9632
  markAcpStartup("initializeHandlerStart");
9410
9633
  this.clientCapabilities = args.clientCapabilities;
9411
9634
  const authMethods = buildAuthMethods();
9412
- const version = "0.19.12-preview.0";
9635
+ const version = "0.20.0-nightly.20260720.0c271659d";
9413
9636
  const response = {
9414
9637
  protocolVersion: PROTOCOL_VERSION,
9415
9638
  agentInfo: {