@qwen-code/qwen-code 0.21.7 → 0.21.8

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 (314) hide show
  1. package/README.md +2 -0
  2. package/bundled/qc-helper/docs/configuration/settings.md +43 -30
  3. package/bundled/qc-helper/docs/features/channels/dingtalk.md +40 -2
  4. package/bundled/qc-helper/docs/features/channels/feishu.md +13 -2
  5. package/bundled/qc-helper/docs/features/channels/github.md +13 -11
  6. package/bundled/qc-helper/docs/features/channels/gitlab.md +13 -11
  7. package/bundled/qc-helper/docs/features/channels/overview.md +49 -31
  8. package/bundled/qc-helper/docs/features/channels/plugins.md +2 -2
  9. package/bundled/qc-helper/docs/features/channels/qqbot.md +4 -2
  10. package/bundled/qc-helper/docs/features/channels/telegram.md +4 -2
  11. package/bundled/qc-helper/docs/features/channels/wecom.md +1 -1
  12. package/bundled/qc-helper/docs/features/code-review.md +4 -0
  13. package/bundled/qc-helper/docs/features/commands.md +1 -1
  14. package/bundled/qc-helper/docs/features/hooks.md +52 -0
  15. package/bundled/qc-helper/docs/integration-jetbrains.md +1 -0
  16. package/bundled/qc-helper/docs/qwen-serve.md +4 -1
  17. package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +50 -36
  18. package/bundled/review/SKILL.md +28 -5
  19. package/chunks/{MaxSizedBox-ANWZBPTS.js → MaxSizedBox-7PM6BGJ5.js} +26 -22
  20. package/chunks/{StandaloneSessionPicker-XKS3VU3A.js → StandaloneSessionPicker-3UQHM7GV.js} +44 -40
  21. package/chunks/{acp-startup-profiler-ORIQ2CCQ.js → acp-startup-profiler-B5BYAMYQ.js} +2 -2
  22. package/chunks/{acpAgent-KUAZ3GCZ.js → acpAgent-5UWLFV6V.js} +534 -262
  23. package/chunks/{agent-T6PTGX5R.js → agent-624T2BLO.js} +26 -22
  24. package/chunks/{agent-headless-PR7YCB7S.js → agent-headless-2EE5J2KX.js} +26 -22
  25. package/chunks/{artifact-tool-U4VOZIK5.js → artifact-tool-N652YE4L.js} +1 -1
  26. package/chunks/{askUserQuestion-XOBQLPFA.js → askUserQuestion-ONW74PKJ.js} +1 -1
  27. package/chunks/{bridge-NU6YEEHK.js → bridge-JENKGFFP.js} +29 -25
  28. package/chunks/{ca-NYKNH222.js → ca-ZLKAB4K3.js} +6 -0
  29. package/chunks/{channel-management-service-FSQ7SHYI.js → channel-management-service-DDWUPHMU.js} +19 -10
  30. package/chunks/{channel-settings-store-35VQVUVV.js → channel-settings-store-SA6JZSPH.js} +34 -30
  31. package/chunks/{channel-worker-group-JWQK224X.js → channel-worker-group-E67EN3RV.js} +5 -5
  32. package/chunks/{channel-worker-manager-77E3OXRQ.js → channel-worker-manager-SW4C45CF.js} +5 -5
  33. package/chunks/{channel-worker-supervisor-62YWUGP2.js → channel-worker-supervisor-5SRD24FG.js} +3 -3
  34. package/chunks/{chunk-CJXIIILK.js → chunk-2FRY5CRX.js} +1 -1
  35. package/chunks/{chunk-ZJ3VGYHK.js → chunk-2ILAOM2I.js} +34 -17
  36. package/chunks/{chunk-6XJMFJ4D.js → chunk-2M4K4KYS.js} +177 -120
  37. package/chunks/{chunk-CNIID3TV.js → chunk-2UUMVNYT.js} +1 -1
  38. package/chunks/{chunk-22NBYCPD.js → chunk-3P2LV43B.js} +1 -1
  39. package/chunks/{chunk-2U3WZGZG.js → chunk-3PY4LPJF.js} +19 -131
  40. package/chunks/{chunk-SPMY6CX6.js → chunk-3SE7J4DR.js} +3 -3
  41. package/chunks/{chunk-6UWFTUQL.js → chunk-3WNQOYHQ.js} +66 -22
  42. package/chunks/{chunk-KXSDEOFU.js → chunk-4ALIARFY.js} +1 -1
  43. package/chunks/{chunk-D3UEZIQH.js → chunk-4DU3NCHG.js} +48 -55
  44. package/chunks/{chunk-BGG4MBYD.js → chunk-4PYCZH2V.js} +4 -187
  45. package/chunks/{chunk-H2UQ2M5Z.js → chunk-4WU6NY7F.js} +96 -22
  46. package/chunks/{chunk-TLV2IMHR.js → chunk-5ZGR6RKJ.js} +3 -3
  47. package/chunks/{chunk-3K7FH2KQ.js → chunk-67N6HB5H.js} +1310 -171
  48. package/chunks/{chunk-EORNAQDT.js → chunk-6TR7CFXH.js} +1 -1
  49. package/chunks/{chunk-NG2R4N5O.js → chunk-6ZRFAKXK.js} +1 -1
  50. package/chunks/{chunk-P2AJ7FTI.js → chunk-757GB46F.js} +1 -1
  51. package/chunks/{chunk-72LNFGUY.js → chunk-77QVBFCU.js} +3 -3
  52. package/chunks/{chunk-OH2VKQXH.js → chunk-7DVT4LVV.js} +37 -30
  53. package/chunks/{chunk-KKJJB5X6.js → chunk-7VUERJHS.js} +1503 -815
  54. package/chunks/{chunk-VOARQPTA.js → chunk-B52AWKBB.js} +65 -21
  55. package/chunks/{chunk-Y4EWSQF7.js → chunk-BF224XHL.js} +2 -2
  56. package/chunks/{chunk-PJOBIWUG.js → chunk-BF52U4XJ.js} +1 -1
  57. package/chunks/{chunk-55LYDVPU.js → chunk-C5VWPTGT.js} +1 -1
  58. package/chunks/{chunk-W7U4ESW2.js → chunk-CG3WBKJK.js} +1 -1
  59. package/chunks/chunk-COBO5EBO.js +135 -0
  60. package/chunks/chunk-CPG6P4GG.js +82 -0
  61. package/chunks/{chunk-DIEFUBV6.js → chunk-DIWZNWZT.js} +205 -35
  62. package/chunks/{chunk-AE77C5ZU.js → chunk-DQSDACD2.js} +1 -1
  63. package/chunks/{chunk-P3LEG54R.js → chunk-DX5W5AON.js} +2 -2
  64. package/chunks/{chunk-EUQTXRKZ.js → chunk-E4ZBKMSF.js} +5 -5
  65. package/chunks/{chunk-FPM27XN4.js → chunk-EIVICVHM.js} +4 -4
  66. package/chunks/{chunk-YHEEE624.js → chunk-EN2TKTFH.js} +1 -1
  67. package/chunks/chunk-F6WFNA7U.js +22 -0
  68. package/chunks/{chunk-FZBZSYKU.js → chunk-FN6YXJOP.js} +1 -1
  69. package/chunks/{chunk-KR4ZSC7K.js → chunk-FWBXMANW.js} +3 -3
  70. package/chunks/{chunk-LA7YLSR6.js → chunk-FYAXKJK7.js} +327 -67
  71. package/chunks/{chunk-CSZEXZBE.js → chunk-GBDINRIL.js} +3 -3
  72. package/chunks/{chunk-SCI7K3GM.js → chunk-GOEVOFQI.js} +19 -10
  73. package/chunks/{chunk-LEMXGVEP.js → chunk-GQCEQPYQ.js} +3 -3
  74. package/chunks/{chunk-Y7E5LNLO.js → chunk-GXSNGY5M.js} +1027 -876
  75. package/chunks/{chunk-6XU3PH66.js → chunk-HA3SAB64.js} +22 -69
  76. package/chunks/{chunk-Y4NGLFGJ.js → chunk-HUWENAHO.js} +1 -1
  77. package/chunks/{chunk-3ULCB3NE.js → chunk-HV76SFIA.js} +1 -1
  78. package/chunks/{chunk-CB2464BK.js → chunk-HWX5HPUG.js} +14 -4
  79. package/chunks/{chunk-LZC3B5N2.js → chunk-IA7TGCN2.js} +2 -2
  80. package/chunks/{chunk-RERATVSK.js → chunk-IBYULW65.js} +6 -6
  81. package/chunks/{chunk-HYRDKNUY.js → chunk-IUQ52YJK.js} +1 -1
  82. package/chunks/{chunk-TDXGKHDN.js → chunk-IYES5WOT.js} +2 -2
  83. package/chunks/{chunk-RGSBTHSU.js → chunk-KAQCJO6Y.js} +131 -4
  84. package/chunks/{chunk-VWOVHOTT.js → chunk-KJZ26VBX.js} +1 -1
  85. package/chunks/{chunk-6GONZVLS.js → chunk-KKDVZLGL.js} +1 -1
  86. package/chunks/{chunk-MKVZE4ZJ.js → chunk-KTJFU7RT.js} +3 -2
  87. package/chunks/{chunk-R574ATRM.js → chunk-M2PNLYGY.js} +41 -0
  88. package/chunks/{chunk-6EOI4HOK.js → chunk-M3STHEMM.js} +12 -17
  89. package/chunks/chunk-NGYI5EF5.js +244 -0
  90. package/chunks/{chunk-ALGGS7UH.js → chunk-NPQ5ZKRP.js} +82 -1
  91. package/chunks/{chunk-HQB2KUAN.js → chunk-NPUXXRJI.js} +1 -1
  92. package/chunks/{chunk-QETYKPMG.js → chunk-NVRDQFCX.js} +1 -1
  93. package/chunks/{chunk-PQBHU2IA.js → chunk-OHKJVAKG.js} +10 -10
  94. package/chunks/{chunk-CYR3HI5X.js → chunk-OQTXYMKW.js} +2 -2
  95. package/chunks/{chunk-DBOFL3LQ.js → chunk-PG62DFWD.js} +10 -10
  96. package/chunks/{chunk-2VSTGY6M.js → chunk-PJRW65JO.js} +1 -1
  97. package/chunks/{chunk-33ACCIIY.js → chunk-PLFATELK.js} +1 -1
  98. package/chunks/{chunk-IC4Z6LX6.js → chunk-PYQADEFD.js} +5 -0
  99. package/chunks/{chunk-MAJS7AT4.js → chunk-QGHSP65Z.js} +2 -2
  100. package/chunks/{chunk-OHJLEW5J.js → chunk-QQWD7LZV.js} +4 -4
  101. package/chunks/{chunk-ZXU5UHMI.js → chunk-QXVSWG66.js} +2 -2
  102. package/chunks/{chunk-E33LOKRA.js → chunk-RPWVIXDB.js} +18 -1
  103. package/chunks/{chunk-TYKC75AX.js → chunk-S3Y3GBFD.js} +1 -1
  104. package/chunks/{chunk-7UFKAV7Y.js → chunk-S6HYI3MF.js} +2 -2
  105. package/chunks/chunk-SAH4BD2J.js +92 -0
  106. package/chunks/{chunk-OMKQH5C5.js → chunk-SNRT2TJJ.js} +6 -23
  107. package/chunks/chunk-SR7RZ4MS.js +202 -0
  108. package/chunks/{chunk-CXE7E23H.js → chunk-TE3ZAJE7.js} +45 -17
  109. package/chunks/{chunk-S7CV4KO6.js → chunk-TKSZJ5BV.js} +3 -3
  110. package/chunks/{chunk-3NB7TSE2.js → chunk-U5SLIG7E.js} +1 -1
  111. package/chunks/chunk-UA5H3DS2.js +203 -0
  112. package/chunks/{chunk-24ER7UV4.js → chunk-UFALT4LK.js} +1 -1
  113. package/chunks/{chunk-YJQCUTT2.js → chunk-VWMUDKLC.js} +3 -3
  114. package/chunks/{chunk-RMH5OWLD.js → chunk-VXZ5HAOV.js} +1 -1
  115. package/chunks/{chunk-BVWVWGLE.js → chunk-WAUGQKUU.js} +4 -64
  116. package/chunks/{chunk-SHZYHGQH.js → chunk-WG6542MA.js} +1 -1
  117. package/chunks/{chunk-5KH532V7.js → chunk-WV5J6Q6N.js} +1 -1
  118. package/chunks/{chunk-RNVQB725.js → chunk-XHD7CRP2.js} +2 -2
  119. package/chunks/{chunk-W4B7UBUS.js → chunk-XZKQT2B2.js} +5 -5
  120. package/chunks/{chunk-6HVUFDS2.js → chunk-Y4TETC74.js} +22 -13
  121. package/chunks/{chunk-RZHU3ILK.js → chunk-YEF7XEO2.js} +4 -4
  122. package/chunks/{chunk-RUL4S3K3.js → chunk-YHJFF7KH.js} +146 -45
  123. package/chunks/{chunk-23RZCH76.js → chunk-YOM7DEGB.js} +3 -3
  124. package/chunks/{chunk-OFI7IGST.js → chunk-ZCLLJARV.js} +9 -9
  125. package/chunks/{chunk-GSS34377.js → chunk-ZHA242R4.js} +2 -2
  126. package/chunks/{chunk-TRLYP7OF.js → chunk-ZPLALRXZ.js} +17 -9
  127. package/chunks/{chunk-WUC6ZFXO.js → chunk-ZWBUH5UP.js} +1 -1
  128. package/chunks/{computer-use-KEAPATUY.js → computer-use-ESQYJ3JY.js} +26 -22
  129. package/chunks/{config-utils-K7SCOWHD.js → config-utils-XQHBJP7G.js} +4 -4
  130. package/chunks/{contextCommand-ZJA6A5K5.js → contextCommand-CX3YF4ZE.js} +28 -24
  131. package/chunks/{core-runtime-QMJPWHCI.js → core-runtime-DIAU7JMG.js} +30 -26
  132. package/chunks/{create-sub-session-DJE6XICH.js → create-sub-session-HDPD6HOA.js} +26 -22
  133. package/chunks/{create-sub-session-E4PBYXV5.js → create-sub-session-QIDZUOPU.js} +1 -1
  134. package/chunks/{cron-create-GRBWYMIJ.js → cron-create-VONA5JYY.js} +1 -1
  135. package/chunks/{cron-delete-4CMKBR2M.js → cron-delete-5JXSP2MI.js} +1 -1
  136. package/chunks/{cron-list-W7K4ASOA.js → cron-list-KE4F2CIR.js} +1 -1
  137. package/chunks/{daemon-SCTQMM7Z.js → daemon-VZBGJUNL.js} +30 -0
  138. package/chunks/{daemon-status-provider-FSWDPE2G.js → daemon-status-provider-H6O4UQ4F.js} +33 -29
  139. package/chunks/{daemon-trust-policy-P5L5VFAY.js → daemon-trust-policy-BNUXG6MT.js} +33 -29
  140. package/chunks/{daemon-trust-policy-monitor-73JYN6ET.js → daemon-trust-policy-monitor-E4EQ7GF4.js} +33 -29
  141. package/chunks/{de-VL76CPLV.js → de-LIW4XVLN.js} +5 -0
  142. package/chunks/{deferred-core-runtime-BWRCCFTE.js → deferred-core-runtime-CBMSHPAU.js} +26 -22
  143. package/chunks/{display-image-O2XFPQTC.js → display-image-NQRSIBXM.js} +2 -2
  144. package/chunks/{dist-DPPHJAVL.js → dist-EEEQGCZA.js} +918 -142
  145. package/chunks/{dist-K4WWQBHS.js → dist-HIACTZEK.js} +55 -15
  146. package/chunks/{dist-3BMEUGTG.js → dist-IRL7WA5Z.js} +1 -1
  147. package/chunks/{dist-HVBMEYWK.js → dist-KVISB2O2.js} +1 -1
  148. package/chunks/{dist-KS4O2NKE.js → dist-MBF3I5MX.js} +14 -8
  149. package/chunks/{dist-SFQ34F4M.js → dist-MKX5OSFF.js} +5 -4
  150. package/chunks/{dist-7JGAAQSC.js → dist-RCH3I7SS.js} +2 -2
  151. package/chunks/{dist-C5U4LJKW.js → dist-TUSWNE2I.js} +5 -4
  152. package/chunks/{earlyInputCapture-L5ST23A6.js → earlyInputCapture-UIOP7OIN.js} +26 -22
  153. package/chunks/{edit-LHHRFNFK.js → edit-ITMZYFKA.js} +26 -22
  154. package/chunks/{en-IRJ2WN5T.js → en-SY5GTIGX.js} +6 -0
  155. package/chunks/{enter-worktree-6NXCRZPF.js → enter-worktree-S4PL5UV6.js} +26 -22
  156. package/chunks/{enterPlanMode-ZVQT4U7D.js → enterPlanMode-YV52NNJT.js} +26 -22
  157. package/chunks/{environment-GJ2HWJOS.js → environment-NGOWPRZV.js} +30 -26
  158. package/chunks/{errors-6RLH3XXC.js → errors-BU26DTDX.js} +28 -24
  159. package/chunks/{exit-worktree-I2YLUHHY.js → exit-worktree-XRM6LH5F.js} +26 -22
  160. package/chunks/{exitPlanMode-7CCWKO7I.js → exitPlanMode-ZLI5F7KR.js} +26 -22
  161. package/chunks/{fast-path-DVFD4HQD.js → fast-path-UJWORIED.js} +23 -3
  162. package/chunks/{fast-path-settings-WQJU2LAT.js → fast-path-settings-37WQD5B2.js} +6 -3
  163. package/chunks/{fr-GK3HQYVB.js → fr-RQFO7U4P.js} +5 -0
  164. package/chunks/{gemini-7FWGOYD4.js → gemini-ZSKNDUMU.js} +77 -65
  165. package/chunks/{geminiContentGenerator-V2WVLIXU.js → geminiContentGenerator-YGEXOEKD.js} +1 -1
  166. package/chunks/{glob-3N6GGI75.js → glob-7KZG44BR.js} +26 -22
  167. package/chunks/{goal-tools-APOW6UXL.js → goal-tools-PXWN5VK3.js} +4 -2
  168. package/chunks/{grep-V43ILZVX.js → grep-6ZFC7RJ5.js} +26 -22
  169. package/chunks/{handleAutoUpdate-A5WFVWIA.js → handleAutoUpdate-KSEL3TQS.js} +30 -26
  170. package/chunks/{i18n-PLVQ4FBZ.js → i18n-ZIUXBW5V.js} +27 -23
  171. package/chunks/{image-gen-7C6IK6DC.js → image-gen-AUIZJJNK.js} +7 -5
  172. package/chunks/{initializer-CVAIKZYL.js → initializer-7AHY3N6Q.js} +33 -29
  173. package/chunks/{installationInfo-J6QDHNTK.js → installationInfo-VGBXMYLY.js} +27 -23
  174. package/chunks/{ja-3FA46IKD.js → ja-KOZKHJHZ.js} +5 -0
  175. package/chunks/{list-ZZ4OUUWV.js → list-PSFKQHLB.js} +36 -32
  176. package/chunks/{list-agents-KFFIIS2G.js → list-agents-Z4WABFDZ.js} +1 -1
  177. package/chunks/{loadedSettingsAdapter-QRYRJSWL.js → loadedSettingsAdapter-FTMRCTOF.js} +33 -29
  178. package/chunks/{loggingContentGenerator-OJCO75HM.js → loggingContentGenerator-MZAN52UV.js} +7 -5
  179. package/chunks/{loop-wakeup-TLMJPMMP.js → loop-wakeup-UZ5RL5Y2.js} +2 -2
  180. package/chunks/{ls-UVVE2XGE.js → ls-TVHDGIES.js} +1 -1
  181. package/chunks/{lsp-QMEA2VLB.js → lsp-CVN6OQPI.js} +1 -1
  182. package/chunks/{managed-npm-update-PCOSCP2N.js → managed-npm-update-O4NHK45X.js} +27 -23
  183. package/chunks/{mcp-M3WKKWKY.js → mcp-6CFP2AYQ.js} +33 -29
  184. package/chunks/{monitor-GN24FH6C.js → monitor-DAKD6OU4.js} +26 -22
  185. package/chunks/{nonInteractiveCli-KPTU3VSQ.js → nonInteractiveCli-RC7VIUZL.js} +66 -60
  186. package/chunks/{notebook-edit-4YM65BBO.js → notebook-edit-474DPMRL.js} +34 -22
  187. package/chunks/{openaiContentGenerator-EDQT6GTV.js → openaiContentGenerator-2NFY2MWO.js} +19 -9
  188. package/chunks/{pidfile-JOIIRN2C.js → pidfile-KBFVDNQP.js} +26 -22
  189. package/chunks/{process-registry-2CHQBXH5.js → process-registry-PMJOA5CO.js} +15 -0
  190. package/chunks/{processUtils-5SV4MX3Q.js → processUtils-6GRYH4Y3.js} +2 -2
  191. package/chunks/{pt-3AOBKPIJ.js → pt-U6AOCTMF.js} +5 -0
  192. package/chunks/{qwenContentGenerator-ODRJSUGR.js → qwenContentGenerator-KAHU6IZY.js} +33 -28
  193. package/chunks/{qwenOAuth2-NESCMZ47.js → qwenOAuth2-RRQTCP4W.js} +7 -5
  194. package/chunks/{read-file-HPSODLPK.js → read-file-3M6WXDXP.js} +6 -4
  195. package/chunks/{read-mcp-resource-2TNSJTC3.js → read-mcp-resource-PZ4ZF6YL.js} +1 -1
  196. package/chunks/{record-artifact-RAON52FC.js → record-artifact-P4HFMS7X.js} +2 -2
  197. package/chunks/{resumeHistoryUtils-TXCOFFMQ.js → resumeHistoryUtils-D6TAY3HX.js} +30 -26
  198. package/chunks/{ripGrep-ZKQGTQAO.js → ripGrep-PLPENT3E.js} +26 -22
  199. package/chunks/{ru-VJRAMC4W.js → ru-CMX4UMYP.js} +5 -0
  200. package/chunks/{run-qwen-serve-ZPKPKECF.js → run-qwen-serve-ZAFIJKJC.js} +168 -54
  201. package/chunks/{runtime-2FLNNM36.js → runtime-ZED7CYOZ.js} +38 -34
  202. package/chunks/{scheduler-365PJHNR.js → scheduler-MD3AL2W5.js} +26 -22
  203. package/chunks/{send-message-ZM7MRUGP.js → send-message-CAMSLG2L.js} +4 -3
  204. package/chunks/{serve-QD2RNLKJ.js → serve-E3VUDRZN.js} +33 -29
  205. package/chunks/{server-XLJVLTYM.js → server-OWMEMAKR.js} +450 -231
  206. package/chunks/{session-3VTUHH4Q.js → session-HZ57QK7K.js} +158 -97
  207. package/chunks/{settings-KULVPCQC.js → settings-V7BR3RKP.js} +32 -28
  208. package/chunks/{shell-3SWW22MH.js → shell-23OMNMW6.js} +26 -22
  209. package/chunks/{skill-KDHWYS7W.js → skill-6HBDYZRS.js} +7 -5
  210. package/chunks/{skill-settings-NMY4JEJC.js → skill-settings-HWJLTU7M.js} +32 -28
  211. package/chunks/{spawnChannel-ZKS4Q5OU.js → spawnChannel-N6KKUW5B.js} +27 -23
  212. package/chunks/{standalone-update-7CXPGAQ4.js → standalone-update-QGIKHATD.js} +28 -24
  213. package/chunks/{startInteractiveUI-2QQLEKM6.js → startInteractiveUI-GX2CRL42.js} +365 -155
  214. package/chunks/{syntheticOutput-ZLCUTKO2.js → syntheticOutput-PEBJQYJV.js} +2 -2
  215. package/chunks/{task-create-CQP5UEA3.js → task-create-5NWCQSJF.js} +5 -4
  216. package/chunks/{task-list-XLEZOJXP.js → task-list-53265TRZ.js} +1 -1
  217. package/chunks/{task-stop-7ZQM5CFF.js → task-stop-FPCOIRYX.js} +1 -1
  218. package/chunks/{task-update-JA75U2SN.js → task-update-5HN577LS.js} +5 -4
  219. package/chunks/{team-create-2WTNGAOX.js → team-create-CFFKU7KL.js} +26 -22
  220. package/chunks/{team-delete-MHY3UZGY.js → team-delete-MMQB4OSC.js} +1 -1
  221. package/chunks/{team-plan-approval-LZTYLEG4.js → team-plan-approval-6EFOKR6A.js} +26 -22
  222. package/chunks/{terminal-image-renderer-R5HHAFJN.js → terminal-image-renderer-TLDNACQY.js} +28 -24
  223. package/chunks/{theme-manager-PAUCSJFF.js → theme-manager-5LJ3H7VO.js} +26 -22
  224. package/chunks/{todoWrite-UPVOHYGD.js → todoWrite-JGV6VLOX.js} +1 -1
  225. package/chunks/{tool-search-2BFCGLI6.js → tool-search-UJV3A24H.js} +9 -6
  226. package/chunks/{total-session-admission-MK4SINFK.js → total-session-admission-D63QYXGO.js} +29 -25
  227. package/chunks/{trustedFolders-TJ5S26N7.js → trustedFolders-KZCOB53W.js} +30 -24
  228. package/chunks/{update-relaunch-N7AYLARF.js → update-relaunch-IFILM3SA.js} +5 -5
  229. package/chunks/{updateCheck-QRZ3DVT5.js → updateCheck-YZ2CRCFC.js} +29 -25
  230. package/chunks/{useAutoAcceptIndicator-DBJ7Y5AF.js → useAutoAcceptIndicator-AXEVNA3Q.js} +35 -31
  231. package/chunks/{validateNonInterActiveAuth-6ZQWUDS3.js → validateNonInterActiveAuth-3WTOJFWA.js} +61 -57
  232. package/chunks/{version-AJQGQWXC.js → version-GXK7OHZY.js} +1 -1
  233. package/chunks/{web-fetch-QWJYRXFL.js → web-fetch-ILB4GAVR.js} +12 -8
  234. package/chunks/{web-search-2AOXJGHU.js → web-search-HKRPGPZZ.js} +8 -6
  235. package/chunks/{workflow-ERH3SJG2.js → workflow-FXIPRQQA.js} +750 -147
  236. package/chunks/{workspace-providers-status-HZ474RA4.js → workspace-providers-status-NYHC7HSR.js} +35 -31
  237. package/chunks/{workspace-registration-store-6EUP4JXG.js → workspace-registration-store-AKEB7OMW.js} +1 -1
  238. package/chunks/{workspace-registry-R4APRRNC.js → workspace-registry-CDAS5TVZ.js} +29 -25
  239. package/chunks/{workspace-service-HFIFDMU7.js → workspace-service-PAMUKMAV.js} +36 -32
  240. package/chunks/{workspace-skills-status-HAHEIHGK.js → workspace-skills-status-YQSHCCMS.js} +33 -29
  241. package/chunks/{workspace-trust-reconciler-65GTAGDK.js → workspace-trust-reconciler-RPTXOIY2.js} +36 -32
  242. package/chunks/{write-file-B34CDELV.js → write-file-CGS57TS4.js} +26 -22
  243. package/chunks/{zh-ARWDLDLR.js → zh-AGL2FVBI.js} +6 -0
  244. package/chunks/{zh-TW-Y4RGI3P7.js → zh-TW-KI66MHQY.js} +6 -0
  245. package/chunks/{zoom-image-HPRBZHSS.js → zoom-image-E7D72GYV.js} +6 -4
  246. package/cli.js +13 -13
  247. package/locales/ca.js +10 -0
  248. package/locales/de.js +9 -0
  249. package/locales/en.js +10 -0
  250. package/locales/fr.js +9 -0
  251. package/locales/ja.js +9 -0
  252. package/locales/pt.js +9 -0
  253. package/locales/ru.js +9 -0
  254. package/locales/zh-TW.js +10 -0
  255. package/locales/zh.js +10 -0
  256. package/package.json +3 -3
  257. package/web-shell/assets/{arc-Ip-FFDJ0.js → arc-DybZaz32.js} +1 -1
  258. package/web-shell/assets/{architectureDiagram-3BPJPVTR-CChqgwIb.js → architectureDiagram-3BPJPVTR-jN3qBd19.js} +1 -1
  259. package/web-shell/assets/{blockDiagram-GPEHLZMM-BHN-Tfss.js → blockDiagram-GPEHLZMM-Ct5DZPrj.js} +1 -1
  260. package/web-shell/assets/{c4Diagram-AAUBKEIU-BhyjzDjN.js → c4Diagram-AAUBKEIU-CUAFMlUG.js} +1 -1
  261. package/web-shell/assets/channel-BMwLrwLW.js +1 -0
  262. package/web-shell/assets/{chunk-2J33WTMH-BB9eyHrx.js → chunk-2J33WTMH-CuV8n90B.js} +1 -1
  263. package/web-shell/assets/{chunk-4BX2VUAB-BeV7ce_J.js → chunk-4BX2VUAB-BUzl_kls.js} +1 -1
  264. package/web-shell/assets/{chunk-55IACEB6-DO7kXDiV.js → chunk-55IACEB6-BnDBLX6A.js} +1 -1
  265. package/web-shell/assets/{chunk-727SXJPM-B27MPznD.js → chunk-727SXJPM-B83uTOjm.js} +1 -1
  266. package/web-shell/assets/{chunk-AQP2D5EJ-DHIjqjD_.js → chunk-AQP2D5EJ-DM3HLgpT.js} +1 -1
  267. package/web-shell/assets/{chunk-FMBD7UC4-DabMqyN2.js → chunk-FMBD7UC4-CSQ5hgyb.js} +1 -1
  268. package/web-shell/assets/{chunk-ND2GUHAM-Dw7Nnnxc.js → chunk-ND2GUHAM-BWOF4SxX.js} +1 -1
  269. package/web-shell/assets/{chunk-QZHKN3VN-DdaZew1Q.js → chunk-QZHKN3VN-BsOH9LMi.js} +1 -1
  270. package/web-shell/assets/classDiagram-4FO5ZUOK-BGDv98jY.js +1 -0
  271. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BGDv98jY.js +1 -0
  272. package/web-shell/assets/{cose-bilkent-S5V4N54A-CgBpCYH5.js → cose-bilkent-S5V4N54A-IENqH2iJ.js} +1 -1
  273. package/web-shell/assets/{dagre-BM42HDAG-BB4IU8G0.js → dagre-BM42HDAG--dyzDTGo.js} +1 -1
  274. package/web-shell/assets/{diagram-2AECGRRQ-BcUTHU37.js → diagram-2AECGRRQ-BE7Dcqof.js} +1 -1
  275. package/web-shell/assets/{diagram-5GNKFQAL-B6Lyihyv.js → diagram-5GNKFQAL-Cr8-5OTj.js} +1 -1
  276. package/web-shell/assets/{diagram-KO2AKTUF-CRIJOjpG.js → diagram-KO2AKTUF-Bzey3uAY.js} +1 -1
  277. package/web-shell/assets/{diagram-LMA3HP47-DdNiwWWT.js → diagram-LMA3HP47-sErl28Xb.js} +1 -1
  278. package/web-shell/assets/{diagram-OG6HWLK6-Dz4b32Do.js → diagram-OG6HWLK6-Dq30ATIo.js} +1 -1
  279. package/web-shell/assets/{erDiagram-TEJ5UH35-D-8NGw77.js → erDiagram-TEJ5UH35-BkCoEfVW.js} +1 -1
  280. package/web-shell/assets/{flowDiagram-I6XJVG4X-Dun26LyM.js → flowDiagram-I6XJVG4X-DHwO0rrI.js} +1 -1
  281. package/web-shell/assets/{ganttDiagram-6RSMTGT7-F10Hu1Gc.js → ganttDiagram-6RSMTGT7-s7vAPxWq.js} +1 -1
  282. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bf8Ez6-D.js → gitGraphDiagram-PVQCEYII-CQxhwPOU.js} +1 -1
  283. package/web-shell/assets/index-Bckpjr-I.css +5 -0
  284. package/web-shell/assets/{index-BXqw-nGq.js → index-CF4wApWp.js} +1 -1
  285. package/web-shell/assets/index-DwEr9HEW.js +1768 -0
  286. package/web-shell/assets/{infoDiagram-5YYISTIA-DVgTMLvj.js → infoDiagram-5YYISTIA-BnFrD0bq.js} +1 -1
  287. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-uT-KepvK.js → ishikawaDiagram-YF4QCWOH-Bf9zK5NK.js} +1 -1
  288. package/web-shell/assets/{journeyDiagram-JHISSGLW-Vg_XadQf.js → journeyDiagram-JHISSGLW-CyGAhsxi.js} +1 -1
  289. package/web-shell/assets/{kanban-definition-UN3LZRKU-Dyv1ESBE.js → kanban-definition-UN3LZRKU-CbsK5akB.js} +1 -1
  290. package/web-shell/assets/{linear-BMIepYX3.js → linear-cQsF4P8D.js} +1 -1
  291. package/web-shell/assets/{mermaid.core-zA8pJ9ag.js → mermaid.core-Z4HVqrKY.js} +5 -5
  292. package/web-shell/assets/{mindmap-definition-RKZ34NQL-BCW_BZ_5.js → mindmap-definition-RKZ34NQL-CYnrBo_f.js} +1 -1
  293. package/web-shell/assets/{pieDiagram-4H26LBE5-DseNEGp2.js → pieDiagram-4H26LBE5-CBzOfhrs.js} +1 -1
  294. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-6Z7wr1Fi.js → quadrantDiagram-W4KKPZXB-D4LK1Ebn.js} +1 -1
  295. package/web-shell/assets/{requirementDiagram-4Y6WPE33-CVOlCRPf.js → requirementDiagram-4Y6WPE33-Bzti2Lcj.js} +1 -1
  296. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CGhgrUJZ.js → sankeyDiagram-5OEKKPKP-yTBw5Z2s.js} +1 -1
  297. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-dlqmpLuQ.js → sequenceDiagram-3UESZ5HK-D07UVRiZ.js} +1 -1
  298. package/web-shell/assets/{stateDiagram-AJRCARHV-B9EW10Xb.js → stateDiagram-AJRCARHV-UE_lHsTn.js} +1 -1
  299. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DC6xgXjX.js +1 -0
  300. package/web-shell/assets/{timeline-definition-PNZ67QCA-BBRh0mgZ.js → timeline-definition-PNZ67QCA-DRvYdiTs.js} +1 -1
  301. package/web-shell/assets/{vennDiagram-CIIHVFJN-B8Gs-REP.js → vennDiagram-CIIHVFJN-CQLIXs0u.js} +1 -1
  302. package/web-shell/assets/{wardley-L42UT6IY-D_y80Ur7.js → wardley-L42UT6IY-JZz_Xqse.js} +1 -1
  303. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-D-CNfHJ-.js → wardleyDiagram-YWT4CUSO--i7BiJwB.js} +1 -1
  304. package/web-shell/assets/{xychartDiagram-2RQKCTM6-DQ5CvELo.js → xychartDiagram-2RQKCTM6-Bkc-bW0S.js} +1 -1
  305. package/web-shell/index.html +2 -2
  306. package/chunks/chunk-6PEXNQTX.js +0 -68
  307. package/chunks/chunk-IUFV6FYU.js +0 -81
  308. package/web-shell/assets/channel-Cu8qd6OB.js +0 -1
  309. package/web-shell/assets/classDiagram-4FO5ZUOK-BI3KrXhq.js +0 -1
  310. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BI3KrXhq.js +0 -1
  311. package/web-shell/assets/index-QQlUCJGg.css +0 -5
  312. package/web-shell/assets/index-hcgjV7vS.js +0 -1768
  313. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CJTZJJ5X.js +0 -1
  314. package/chunks/{anthropicContentGenerator-DTMVEL5M.js → anthropicContentGenerator-SSFE2753.js} +9 -9
@@ -9,20 +9,19 @@ import {
9
9
  import {
10
10
  isAnyAutoMemPath
11
11
  } from "./chunk-FVKHVJZQ.js";
12
+ import {
13
+ runSideQuery
14
+ } from "./chunk-COBO5EBO.js";
12
15
  import {
13
16
  STRUCTURED_OUTPUT_REDACTED_ARGS
14
- } from "./chunk-NG2R4N5O.js";
17
+ } from "./chunk-6ZRFAKXK.js";
15
18
  import {
16
19
  BaseDeclarativeTool,
17
20
  BaseToolInvocation,
18
- SchemaValidator,
19
21
  StructuredToolError,
20
22
  ToolDisplayNames,
21
23
  ToolNames
22
- } from "./chunk-IC4Z6LX6.js";
23
- import {
24
- DEFAULT_QWEN_MODEL
25
- } from "./chunk-6EOI4HOK.js";
24
+ } from "./chunk-PYQADEFD.js";
26
25
  import {
27
26
  estimateTextTokens,
28
27
  generateLegacyMcpToolName,
@@ -14791,17 +14790,21 @@ var DiscoveredMCPTool = class _DiscoveredMCPTool extends BaseDeclarativeTool {
14791
14790
  * keeping every other field (including the shared underlying
14792
14791
  * `CallableTool` / MCP transport) identical.
14793
14792
  *
14794
- * pool path: a single shared pool entry produces one
14795
- * `DiscoveredMCPTool` snapshot; each `SessionMcpView` clones with
14796
- * its own per-session trust before registering into its session's
14797
- * `ToolRegistry`. Without this clone, mutating `trust` on the shared
14798
- * instance would cross-contaminate sessions.
14799
- *
14800
- * Trust is the only field that legitimately varies per session;
14801
- * everything else (transport, schema, name) is transport-level.
14793
+ * Kept as the trust-only convenience used by non-pool callers. Pooled
14794
+ * session views use `withSessionConfig` because eager loading can differ
14795
+ * between sessions too.
14802
14796
  */
14803
14797
  withTrust(trust) {
14804
- if (trust === this.trust) return this;
14798
+ return this.withSessionConfig(trust, this.alwaysLoad);
14799
+ }
14800
+ /**
14801
+ * Return a per-session projection of metadata that does not belong to the
14802
+ * shared MCP transport snapshot. Pool entries can be shared by sessions
14803
+ * whose trust and eager-loading settings differ, so neither field may be
14804
+ * mutated on the canonical tool instance.
14805
+ */
14806
+ withSessionConfig(trust, alwaysLoad) {
14807
+ if (trust === this.trust && alwaysLoad === this.alwaysLoad) return this;
14805
14808
  return new _DiscoveredMCPTool(
14806
14809
  this.mcpTool,
14807
14810
  this.serverName,
@@ -14819,7 +14822,7 @@ var DiscoveredMCPTool = class _DiscoveredMCPTool extends BaseDeclarativeTool {
14819
14822
  this.mcpTimeout,
14820
14823
  this.mcpToolIdleTimeoutMs,
14821
14824
  this.annotations,
14822
- this.alwaysLoad,
14825
+ alwaysLoad,
14823
14826
  this.allowInvocationContext
14824
14827
  );
14825
14828
  }
@@ -16107,120 +16110,6 @@ __name(getFileReadDefaultPermission, "getFileReadDefaultPermission");
16107
16110
 
16108
16111
  // packages/core/src/services/visionBridge/vision-bridge-service.ts
16109
16112
  init_esbuild_shims();
16110
-
16111
- // packages/core/src/utils/sideQuery.ts
16112
- init_esbuild_shims();
16113
- import { readFile as readFile2 } from "node:fs/promises";
16114
- function buildDefaultPromptId(purpose) {
16115
- return purpose ? `side-query:${purpose}` : "side-query";
16116
- }
16117
- __name(buildDefaultPromptId, "buildDefaultPromptId");
16118
- function resolveDefaultModel(config, override) {
16119
- return override ?? config.getFastModel?.() ?? config.getModel() ?? DEFAULT_QWEN_MODEL;
16120
- }
16121
- __name(resolveDefaultModel, "resolveDefaultModel");
16122
- function applyThinkingDefault(callerConfig) {
16123
- const thinkingOverride = callerConfig?.thinkingConfig;
16124
- return {
16125
- ...callerConfig ?? {},
16126
- thinkingConfig: thinkingOverride ? { includeThoughts: false, ...thinkingOverride } : { includeThoughts: false }
16127
- };
16128
- }
16129
- __name(applyThinkingDefault, "applyThinkingDefault");
16130
- async function getOutputLanguageInstruction(config) {
16131
- const outputLanguageFilePath = config.getOutputLanguageFilePath?.();
16132
- if (!outputLanguageFilePath) return void 0;
16133
- try {
16134
- const preference = (await readFile2(outputLanguageFilePath, "utf8")).trim();
16135
- if (!preference) return void 0;
16136
- return [
16137
- "Follow the user-visible output language preference below for this side query.",
16138
- "This preference overrides any earlier language-selection rule in this system instruction.",
16139
- preference
16140
- ].join("\n\n");
16141
- } catch {
16142
- return void 0;
16143
- }
16144
- }
16145
- __name(getOutputLanguageInstruction, "getOutputLanguageInstruction");
16146
- function appendSystemInstruction(systemInstruction, outputLanguageInstruction) {
16147
- if (!outputLanguageInstruction) return systemInstruction;
16148
- if (systemInstruction === void 0) return outputLanguageInstruction;
16149
- if (typeof systemInstruction === "string") {
16150
- return `${systemInstruction}
16151
-
16152
- ${outputLanguageInstruction}`;
16153
- }
16154
- if (Array.isArray(systemInstruction)) {
16155
- return [...systemInstruction, { text: outputLanguageInstruction }];
16156
- }
16157
- if (typeof systemInstruction === "object" && "parts" in systemInstruction && Array.isArray(systemInstruction.parts)) {
16158
- return {
16159
- ...systemInstruction,
16160
- parts: [...systemInstruction.parts, { text: outputLanguageInstruction }]
16161
- };
16162
- }
16163
- return [systemInstruction, { text: outputLanguageInstruction }];
16164
- }
16165
- __name(appendSystemInstruction, "appendSystemInstruction");
16166
- function isJsonOptions(options) {
16167
- return options.schema !== void 0 && options.schema !== null;
16168
- }
16169
- __name(isJsonOptions, "isJsonOptions");
16170
- async function runSideQuery(config, options) {
16171
- const model = resolveDefaultModel(config, options.model);
16172
- const promptId = options.promptId ?? buildDefaultPromptId(options.purpose);
16173
- const requestConfig = applyThinkingDefault(options.config);
16174
- const outputLanguageInstruction = options.skipOutputLanguagePreference ? void 0 : await getOutputLanguageInstruction(config);
16175
- const systemInstruction = appendSystemInstruction(
16176
- options.systemInstruction,
16177
- outputLanguageInstruction
16178
- );
16179
- if (isJsonOptions(options)) {
16180
- const response = await config.getBaseLlmClient().generateJson({
16181
- contents: options.contents,
16182
- schema: options.schema,
16183
- abortSignal: options.abortSignal,
16184
- model,
16185
- systemInstruction,
16186
- promptId,
16187
- config: requestConfig,
16188
- ...options.maxAttempts !== void 0 && {
16189
- maxAttempts: options.maxAttempts
16190
- }
16191
- });
16192
- const schemaError = SchemaValidator.validate(options.schema, response);
16193
- if (schemaError) {
16194
- throw new Error(`Invalid side query response: ${schemaError}`);
16195
- }
16196
- const customError2 = options.validate?.(response);
16197
- if (customError2) {
16198
- throw new Error(customError2);
16199
- }
16200
- return response;
16201
- }
16202
- const result = await config.getBaseLlmClient().generateText({
16203
- contents: options.contents,
16204
- model,
16205
- systemInstruction,
16206
- abortSignal: options.abortSignal,
16207
- promptId,
16208
- config: requestConfig,
16209
- ...options.maxAttempts !== void 0 && {
16210
- maxAttempts: options.maxAttempts
16211
- },
16212
- ...options.stream !== void 0 && { stream: options.stream },
16213
- ...options.failClosed !== void 0 && { failClosed: options.failClosed }
16214
- });
16215
- const customError = options.validate?.(result.text);
16216
- if (customError) {
16217
- throw new Error(customError);
16218
- }
16219
- return result;
16220
- }
16221
- __name(runSideQuery, "runSideQuery");
16222
-
16223
- // packages/core/src/services/visionBridge/vision-bridge-service.ts
16224
16113
  var debugLogger8 = createDebugLogger("VISION_BRIDGE");
16225
16114
  var turnImageCounts = /* @__PURE__ */ new WeakMap();
16226
16115
  var BRIDGE_MAX_OUTPUT_TOKENS = 2048;
@@ -16961,7 +16850,6 @@ var ReadFileTool = class _ReadFileTool extends BaseDeclarativeTool {
16961
16850
  };
16962
16851
 
16963
16852
  export {
16964
- runSideQuery,
16965
16853
  VISION_BRIDGE_MAX_IMAGES,
16966
16854
  VISION_BRIDGE_MAX_IMAGE_BASE64_BYTES,
16967
16855
  normalizeParts,
@@ -2,11 +2,11 @@
2
2
  "use strict";
3
3
  import {
4
4
  getCliVersion
5
- } from "./chunk-FZBZSYKU.js";
5
+ } from "./chunk-FN6YXJOP.js";
6
6
  import {
7
7
  IdeClient,
8
8
  formatMemoryUsage
9
- } from "./chunk-Y7E5LNLO.js";
9
+ } from "./chunk-GXSNGY5M.js";
10
10
  import {
11
11
  createDebugLogger
12
12
  } from "./chunk-OIVKILPI.js";
@@ -25,7 +25,7 @@ import { execFile } from "node:child_process";
25
25
 
26
26
  // packages/cli/src/generated/git-commit.ts
27
27
  init_esbuild_shims();
28
- var GIT_COMMIT_INFO = "0639ef724";
28
+ var GIT_COMMIT_INFO = "d171d692f7";
29
29
 
30
30
  // packages/cli/src/utils/systemInfo.ts
31
31
  var debugLogger = createDebugLogger("STATUS");
@@ -15,20 +15,20 @@ import {
15
15
  estimateCompactToolGroupHeight,
16
16
  isCollapsibleTool,
17
17
  wrapAnsi
18
- } from "./chunk-OH2VKQXH.js";
18
+ } from "./chunk-7DVT4LVV.js";
19
19
  import {
20
20
  disableMouseEvents,
21
21
  enableMouseEvents,
22
22
  useKeypress,
23
23
  useKeypressContext
24
- } from "./chunk-MAJS7AT4.js";
24
+ } from "./chunk-QGHSP65Z.js";
25
25
  import {
26
26
  formatSupportedModes,
27
27
  getCommandDisplayName,
28
28
  getCommandSourceBadge,
29
29
  getCommandSourceGroup,
30
30
  getCommandSubcommandNames
31
- } from "./chunk-QETYKPMG.js";
31
+ } from "./chunk-NVRDQFCX.js";
32
32
  import {
33
33
  INLINE_CODE_SPAN_PATTERN_SOURCE,
34
34
  calculateAverageLatency,
@@ -43,7 +43,7 @@ import {
43
43
  readInlineMathSpanAt,
44
44
  unescapeMarkdownBeforeMath,
45
45
  unescapeMarkdownDollars
46
- } from "./chunk-RNVQB725.js";
46
+ } from "./chunk-XHD7CRP2.js";
47
47
  import {
48
48
  MINIMUM_MAX_HEIGHT,
49
49
  MaxSizedBox
@@ -72,13 +72,13 @@ import {
72
72
  renderMermaidImageAsync,
73
73
  renderTerminalImage,
74
74
  wasKittyImageWritten
75
- } from "./chunk-7UFKAV7Y.js";
75
+ } from "./chunk-S6HYI3MF.js";
76
76
  import {
77
77
  formatInlineImageOverflow
78
- } from "./chunk-2VSTGY6M.js";
78
+ } from "./chunk-PJRW65JO.js";
79
79
  import {
80
80
  relaunchApp
81
- } from "./chunk-HQB2KUAN.js";
81
+ } from "./chunk-NPUXXRJI.js";
82
82
  import {
83
83
  resolveColor,
84
84
  themeManager
@@ -108,7 +108,7 @@ import {
108
108
  } from "./chunk-57OAHC2Y.js";
109
109
  import {
110
110
  createLoadedSettingsAdapter
111
- } from "./chunk-5KH532V7.js";
111
+ } from "./chunk-WV5J6Q6N.js";
112
112
  import {
113
113
  formatDuration,
114
114
  formatRelativeTime,
@@ -116,15 +116,15 @@ import {
116
116
  } from "./chunk-3SH53ANB.js";
117
117
  import {
118
118
  getPersistScopeForModelSelection
119
- } from "./chunk-PQBHU2IA.js";
119
+ } from "./chunk-OHKJVAKG.js";
120
120
  import {
121
121
  getCurrentLanguage,
122
122
  localizeToolDisplayName,
123
123
  t
124
- } from "./chunk-DBOFL3LQ.js";
124
+ } from "./chunk-PG62DFWD.js";
125
125
  import {
126
126
  isWorkspaceTrusted
127
- } from "./chunk-6XU3PH66.js";
127
+ } from "./chunk-HA3SAB64.js";
128
128
  import {
129
129
  ALL_PROVIDERS,
130
130
  IdeClient,
@@ -147,7 +147,7 @@ import {
147
147
  resolveBaseUrl,
148
148
  resolveMetadataKey,
149
149
  resolveOwnsModel
150
- } from "./chunk-Y7E5LNLO.js";
150
+ } from "./chunk-GXSNGY5M.js";
151
151
  import {
152
152
  stripAnsi
153
153
  } from "./chunk-TWPJO254.js";
@@ -155,20 +155,20 @@ import {
155
155
  sanitizeForOsc,
156
156
  supportsHyperlinks,
157
157
  wrapForMultiplexer
158
- } from "./chunk-22NBYCPD.js";
158
+ } from "./chunk-3P2LV43B.js";
159
159
  import {
160
160
  MAIN_SOURCE,
161
161
  formatVisionBridgeNoticeDisplay,
162
162
  getMCPServerStatus,
163
163
  isVisionBridgeNoticeDisplay,
164
164
  uiTelemetryService
165
- } from "./chunk-2U3WZGZG.js";
165
+ } from "./chunk-3PY4LPJF.js";
166
166
  import {
167
167
  ToolDisplayNames,
168
168
  ToolNames,
169
169
  ToolNamesMigration,
170
170
  isTerminalImageDisplay
171
- } from "./chunk-IC4Z6LX6.js";
171
+ } from "./chunk-PYQADEFD.js";
172
172
  import {
173
173
  createDebugLogger,
174
174
  escapePath,
@@ -11884,7 +11884,15 @@ var ToolConfirmationMessage = /* @__PURE__ */ __name(({
11884
11884
  key: "No, suggest changes (esc)"
11885
11885
  });
11886
11886
  bodyContent = /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { flexDirection: "column", paddingX: 1, marginLeft: 1, children: [
11887
- /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { color: theme.text.link, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(RenderInline, { text: infoProps.prompt, textColor: theme.text.link }) }),
11887
+ infoProps.renderPromptAsPlainText ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
11888
+ MaxSizedBox,
11889
+ {
11890
+ maxHeight: availableBodyContentHeight(),
11891
+ maxWidth: warningContentWidth,
11892
+ overflowDirection: "bottom",
11893
+ children: infoProps.prompt.split("\n").map((line, index) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { color: theme.text.link, wrap: "wrap", children: line }) }, index))
11894
+ }
11895
+ ) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { color: theme.text.link, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(RenderInline, { text: infoProps.prompt, textColor: theme.text.link }) }),
11888
11896
  displayUrls && infoProps.urls && infoProps.urls.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Box_default, { flexDirection: "column", marginTop: 1, children: [
11889
11897
  /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(Text, { color: theme.text.primary, children: t("URLs to fetch:") }),
11890
11898
  infoProps.urls.map((url) => /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(Text, { children: [
@@ -12441,6 +12449,7 @@ var ToolMessage = /* @__PURE__ */ __name(({
12441
12449
  name,
12442
12450
  description,
12443
12451
  resultDisplay,
12452
+ confirmationDetails,
12444
12453
  images,
12445
12454
  omittedImageCount,
12446
12455
  visionBridgeNotice,
@@ -12535,7 +12544,11 @@ var ToolMessage = /* @__PURE__ */ __name(({
12535
12544
  name,
12536
12545
  status,
12537
12546
  description,
12538
- emphasis
12547
+ emphasis,
12548
+ hideDescription: status === "Confirming" /* Confirming */ && confirmationDetails?.type === "info" && confirmationDetails.renderPromptAsPlainText === true && isDescriptionRepeatedInPrompt(
12549
+ description,
12550
+ confirmationDetails.prompt
12551
+ )
12539
12552
  }
12540
12553
  ),
12541
12554
  shouldShowFocusHint && /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Box_default, { marginLeft: 1, flexShrink: 0, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text, { color: theme.text.accent, children: isThisShellFocused ? "(Focused)" : "(ctrl+f to focus)" }) }),
@@ -12652,11 +12665,36 @@ var ToolMessage = /* @__PURE__ */ __name(({
12652
12665
  ) })
12653
12666
  ] });
12654
12667
  }, "ToolMessage");
12668
+ function isDescriptionRepeatedInPrompt(description, prompt) {
12669
+ try {
12670
+ const parsed = JSON.parse(description);
12671
+ if (parsed === null || typeof parsed !== "object" || Array.isArray(parsed)) {
12672
+ return false;
12673
+ }
12674
+ const values = Object.values(parsed);
12675
+ if (values.length === 0 || !values.every((value) => typeof value === "string")) {
12676
+ return false;
12677
+ }
12678
+ const promptValues = prompt.split("\n").flatMap((line) => {
12679
+ try {
12680
+ const value = JSON.parse(line);
12681
+ return typeof value === "string" ? [value] : [];
12682
+ } catch {
12683
+ return [];
12684
+ }
12685
+ });
12686
+ return values.every((value) => promptValues.includes(value));
12687
+ } catch {
12688
+ return false;
12689
+ }
12690
+ }
12691
+ __name(isDescriptionRepeatedInPrompt, "isDescriptionRepeatedInPrompt");
12655
12692
  var ToolInfo = /* @__PURE__ */ __name(({
12656
12693
  name,
12657
12694
  description,
12658
12695
  status,
12659
- emphasis
12696
+ emphasis,
12697
+ hideDescription
12660
12698
  }) => {
12661
12699
  const nameColor = import_react28.default.useMemo(() => {
12662
12700
  switch (emphasis) {
@@ -12674,8 +12712,10 @@ var ToolInfo = /* @__PURE__ */ __name(({
12674
12712
  }, [emphasis]);
12675
12713
  return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Box_default, { flexGrow: 1, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Text, { wrap: "wrap", strikethrough: status === "Canceled" /* Canceled */, children: [
12676
12714
  /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text, { color: nameColor, bold: true, children: localizeToolDisplayName(name) }),
12677
- " ",
12678
- /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text, { color: theme.text.secondary, children: description })
12715
+ !hideDescription && /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_jsx_runtime20.Fragment, { children: [
12716
+ " ",
12717
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(Text, { color: theme.text.secondary, children: description })
12718
+ ] })
12679
12719
  ] }) });
12680
12720
  }, "ToolInfo");
12681
12721
  var TrailingIndicator = /* @__PURE__ */ __name(() => /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(Text, { color: theme.text.primary, wrap: "truncate", children: [
@@ -16004,6 +16044,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
16004
16044
  isEstimated,
16005
16045
  showDetails = false
16006
16046
  }) => {
16047
+ const hasTokenCount = totalTokens > 0;
16007
16048
  const percentage = contextWindowSize > 0 ? totalTokens / contextWindowSize * 100 : 0;
16008
16049
  const isOverLimit = percentage > 100;
16009
16050
  const sortedBuiltinTools = [...builtinTools].sort(
@@ -16030,7 +16071,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
16030
16071
  children: [
16031
16072
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { bold: true, color: theme.text.accent, children: t("Context Usage") }),
16032
16073
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Box_default, { height: 1 }),
16033
- isEstimated ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
16074
+ !hasTokenCount ? /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(import_jsx_runtime41.Fragment, { children: [
16034
16075
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Box_default, { marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.status.warning, italic: true, children: t("No API response yet. Send a message to see actual usage.") }) }),
16035
16076
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { bold: true, color: theme.text.primary, children: t("Estimated pre-conversation overhead") }),
16036
16077
  /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(Text, { color: theme.text.secondary, children: [
@@ -16060,6 +16101,9 @@ var ContextUsage = /* @__PURE__ */ __name(({
16060
16101
  t("tokens")
16061
16102
  ] }) })
16062
16103
  ] }),
16104
+ isEstimated && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Box_default, { marginBottom: 1, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Text, { color: theme.status.warning, italic: true, children: t(
16105
+ "Token usage is estimated until provider usage is received."
16106
+ ) }) }),
16063
16107
  /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(Box_default, { width: CONTENT_WIDTH, children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
16064
16108
  ProgressBar,
16065
16109
  {
@@ -16154,7 +16198,7 @@ var ContextUsage = /* @__PURE__ */ __name(({
16154
16198
  symbolColor: theme.text.accent
16155
16199
  }
16156
16200
  ),
16157
- !isEstimated && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
16201
+ hasTokenCount && /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
16158
16202
  CategoryRow,
16159
16203
  {
16160
16204
  symbol: FILLED,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-DBOFL3LQ.js";
5
+ } from "./chunk-PG62DFWD.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -13,15 +13,18 @@ import {
13
13
  import {
14
14
  DEFAULT_EXCLUDED_ENV_VARS,
15
15
  HOME_ENV_BOOTSTRAP_KEYS,
16
- PROJECT_ENV_HARDCODED_EXCLUSIONS,
17
- publishPendingCompileCache
18
- } from "./chunk-6PEXNQTX.js";
16
+ isHardcodedProjectEnvExclusion,
17
+ isLoaderEnvKey,
18
+ publishPendingCompileCache,
19
+ reportRejectedLoaderKeys
20
+ } from "./chunk-UA5H3DS2.js";
19
21
  import {
20
- require_strip_json_comments
21
- } from "./chunk-ALGGS7UH.js";
22
+ buildTrustPrecedenceRules,
23
+ require_strip_json_comments,
24
+ resolveTrustDecision
25
+ } from "./chunk-NPQ5ZKRP.js";
22
26
  import {
23
- getPathComparisonVariants,
24
- isWithinRoot
27
+ getPathComparisonVariants
25
28
  } from "./chunk-MR3PXB6E.js";
26
29
  import {
27
30
  require_main
@@ -42,9 +45,6 @@ import * as fs from "node:fs";
42
45
  import * as os from "node:os";
43
46
  import * as path from "node:path";
44
47
  var V2_SETTINGS_VERSION = 2;
45
- var TRUST_FOLDER = "TRUST_FOLDER";
46
- var TRUST_PARENT = "TRUST_PARENT";
47
- var DO_NOT_TRUST = "DO_NOT_TRUST";
48
48
  var homeEnvBootstrapped = false;
49
49
  var cachedTrustedFoldersPath;
50
50
  var cachedTrustedFolderRules;
@@ -87,7 +87,7 @@ function readHomeEnvIntoFastPath(file) {
87
87
  if (!fs.existsSync(file)) return;
88
88
  try {
89
89
  const parsed = dotenv.parse(fs.readFileSync(file, "utf8"));
90
- for (const key of PROJECT_ENV_HARDCODED_EXCLUSIONS) {
90
+ for (const key of HOME_ENV_BOOTSTRAP_KEYS) {
91
91
  if (parsed[key] && !Object.hasOwn(process.env, key)) {
92
92
  process.env[key] = parsed[key];
93
93
  }
@@ -205,9 +205,11 @@ function setUpCloudShellEnvironmentFromFilesFastPath(envFilePaths) {
205
205
  process.env["GOOGLE_CLOUD_PROJECT"] = "cloudshell-gca";
206
206
  }
207
207
  __name(setUpCloudShellEnvironmentFromFilesFastPath, "setUpCloudShellEnvironmentFromFilesFastPath");
208
+ var serveFastPathRejectedLoaderKeys = [];
208
209
  function loadServeFastPathEnvironment(settings, startDir = process.cwd()) {
209
210
  const userLevelPaths = getUserLevelEnvPathsFastPath();
210
211
  const envFilePaths = findEnvFilesFastPath(settings, startDir, userLevelPaths);
212
+ const rejectedLoaderKeys = [];
211
213
  if (process.env["CLOUD_SHELL"] === "true") {
212
214
  setUpCloudShellEnvironmentFromFilesFastPath(envFilePaths);
213
215
  }
@@ -220,7 +222,8 @@ function loadServeFastPathEnvironment(settings, startDir = process.cwd()) {
220
222
  const isQwenScopedEnvFile = isHomeScopedEnvFile || path.basename(path.dirname(normalizedEnvFilePath)) === SETTINGS_DIRECTORY_NAME;
221
223
  for (const key in parsedEnv) {
222
224
  if (!Object.hasOwn(parsedEnv, key)) continue;
223
- if (!isHomeScopedEnvFile && PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) {
225
+ if (isLoaderEnvKey(key)) continue;
226
+ if (!isHomeScopedEnvFile && isHardcodedProjectEnvExclusion(key)) {
224
227
  continue;
225
228
  }
226
229
  if (!isQwenScopedEnvFile && excludedVars.includes(key)) {
@@ -230,20 +233,44 @@ function loadServeFastPathEnvironment(settings, startDir = process.cwd()) {
230
233
  process.env[key] = parsedEnv[key];
231
234
  }
232
235
  }
236
+ rejectedLoaderKeys.push(
237
+ ...reportRejectedLoaderKeys(
238
+ // Raw candidate path, matching the source label environment.ts
239
+ // reports — the warn-once dedup is keyed on this string.
240
+ `.env file ${envFilePath}`,
241
+ Object.keys(parsedEnv)
242
+ )
243
+ );
233
244
  } catch {
234
245
  }
235
246
  }
236
247
  if (settings.env) {
237
248
  for (const [key, value] of Object.entries(settings.env)) {
238
- if (PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) continue;
249
+ if (isHardcodedProjectEnvExclusion(key)) continue;
250
+ if (isLoaderEnvKey(key)) continue;
239
251
  if (!Object.hasOwn(process.env, key) && typeof value === "string") {
240
252
  process.env[key] = value;
241
253
  }
242
254
  }
255
+ rejectedLoaderKeys.push(
256
+ ...reportRejectedLoaderKeys(
257
+ `settings.env (${startDir})`,
258
+ Object.keys(settings.env)
259
+ )
260
+ );
243
261
  }
244
262
  publishPendingCompileCache();
263
+ serveFastPathRejectedLoaderKeys = [
264
+ .../* @__PURE__ */ new Set([...serveFastPathRejectedLoaderKeys, ...rejectedLoaderKeys])
265
+ ];
245
266
  }
246
267
  __name(loadServeFastPathEnvironment, "loadServeFastPathEnvironment");
268
+ function consumeServeFastPathRejectedLoaderKeys() {
269
+ const keys = serveFastPathRejectedLoaderKeys;
270
+ serveFastPathRejectedLoaderKeys = [];
271
+ return keys;
272
+ }
273
+ __name(consumeServeFastPathRejectedLoaderKeys, "consumeServeFastPathRejectedLoaderKeys");
247
274
  function readTrustedFolderRulesFastPath() {
248
275
  const trustedFoldersPath = getTrustedFoldersPathFastPath();
249
276
  if (cachedTrustedFolderRules && cachedTrustedFoldersPath === trustedFoldersPath) {
@@ -281,52 +308,17 @@ function readTrustedFolderRulesFastPath() {
281
308
  }
282
309
  __name(readTrustedFolderRulesFastPath, "readTrustedFolderRulesFastPath");
283
310
  function buildTrustedFolderRules(trustedFolders) {
284
- const rules = [];
285
- for (const [rulePath, trustLevel] of Object.entries(trustedFolders)) {
286
- if (trustLevel === TRUST_FOLDER) {
287
- rules.push({
288
- level: "trusted",
289
- variants: getPathComparisonVariants(rulePath)
290
- });
291
- } else if (trustLevel === TRUST_PARENT) {
292
- rules.push({
293
- level: "trusted",
294
- variants: getPathComparisonVariants(path.dirname(rulePath))
295
- });
296
- } else if (trustLevel === DO_NOT_TRUST) {
297
- rules.push({
298
- level: "untrusted",
299
- variants: getPathComparisonVariants(rulePath)
300
- });
301
- }
302
- }
303
- return rules;
311
+ return buildTrustPrecedenceRules(
312
+ Object.entries(trustedFolders).map(([rulePath, trustLevel]) => ({
313
+ path: rulePath,
314
+ trustLevel
315
+ }))
316
+ );
304
317
  }
305
318
  __name(buildTrustedFolderRules, "buildTrustedFolderRules");
306
319
  function isPathTrustedFastPath(location) {
307
320
  const rules = readTrustedFolderRulesFastPath();
308
- const locationVariants = getPathComparisonVariants(location);
309
- for (const rule of rules) {
310
- if (rule.level !== "trusted") continue;
311
- for (const locationVariant of locationVariants) {
312
- for (const trustedVariant of rule.variants) {
313
- if (isWithinRoot(locationVariant, trustedVariant)) {
314
- return true;
315
- }
316
- }
317
- }
318
- }
319
- for (const rule of rules) {
320
- if (rule.level !== "untrusted") continue;
321
- for (const locationVariant of locationVariants) {
322
- for (const untrustedVariant of rule.variants) {
323
- if (locationVariant === untrustedVariant) {
324
- return false;
325
- }
326
- }
327
- }
328
- }
329
- return void 0;
321
+ return resolveTrustDecision(rules, getPathComparisonVariants(location));
330
322
  }
331
323
  __name(isPathTrustedFastPath, "isPathTrustedFastPath");
332
324
  function isWorkspaceTrustedFastPath(settings, realWorkspaceDir) {
@@ -641,6 +633,7 @@ export {
641
633
  preResolveServeFastPathHomeEnvOverrides,
642
634
  resetServeFastPathHomeEnvBootstrapForTesting,
643
635
  loadServeFastPathEnvironment,
636
+ consumeServeFastPathRejectedLoaderKeys,
644
637
  loadServeFastPathSettings
645
638
  };
646
639
  /**