@qwen-code/qwen-code 0.21.8-nightly.20260810.55e20db328 → 0.21.9

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 (211) hide show
  1. package/README.md +2 -1
  2. package/bundled/qc-helper/docs/configuration/settings.md +2 -1
  3. package/bundled/qc-helper/docs/features/code-review.md +2 -0
  4. package/bundled/qc-helper/docs/qwen-serve.md +38 -37
  5. package/bundled/review/SKILL.md +7 -7
  6. package/chunks/{MaxSizedBox-A52T4GEU.js → MaxSizedBox-6BZANW7X.js} +3 -3
  7. package/chunks/{StandaloneSessionPicker-4J654SOB.js → StandaloneSessionPicker-VDC5KE7T.js} +19 -16
  8. package/chunks/{acpAgent-65AM4AOR.js → acpAgent-F2NSBCUF.js} +49 -40
  9. package/chunks/{agent-SVQ7U7NJ.js → agent-VOHJOEBB.js} +3 -3
  10. package/chunks/{agent-headless-XXGY2SQO.js → agent-headless-J5NFOPHP.js} +3 -3
  11. package/chunks/{bridge-Y32B5S3G.js → bridge-NQIZZLAS.js} +4 -4
  12. package/chunks/{channel-settings-store-OW43U6VB.js → channel-settings-store-VIY2OENO.js} +11 -9
  13. package/chunks/{chunk-OR6R3IUW.js → chunk-23VQTELM.js} +1 -1
  14. package/chunks/{chunk-VHXPSL57.js → chunk-3WDYBTTI.js} +4 -4
  15. package/chunks/{chunk-FAD7OC7V.js → chunk-3XVDTHBJ.js} +2 -2
  16. package/chunks/{chunk-7XX5IBXL.js → chunk-46YJDYCU.js} +6 -6
  17. package/chunks/{chunk-FYB4GIDW.js → chunk-4XQNB3KN.js} +2 -2
  18. package/chunks/chunk-5EJZE3FP.js +140 -0
  19. package/chunks/{chunk-DPMJLKUP.js → chunk-5RBDAGC6.js} +2 -2
  20. package/chunks/{chunk-D2D7J3EW.js → chunk-7AEPJGL4.js} +1 -1
  21. package/chunks/{chunk-HKI3KHAO.js → chunk-7GOYZQPR.js} +19 -1976
  22. package/chunks/{chunk-2ASQDZSJ.js → chunk-7S4JBJLU.js} +3 -3
  23. package/chunks/{chunk-EISUQQPS.js → chunk-ATMO54WE.js} +2 -2
  24. package/chunks/{chunk-NZMXUSKS.js → chunk-BAMN6XSD.js} +1 -1
  25. package/chunks/{chunk-2545EHZR.js → chunk-BIRWP6LU.js} +1 -1
  26. package/chunks/{chunk-UGUKH3SU.js → chunk-BZP4QPNK.js} +9 -9
  27. package/chunks/{chunk-AUWN7BAG.js → chunk-D7BXVKSF.js} +1 -1
  28. package/chunks/{chunk-TXO5BMR2.js → chunk-DH5YXSIF.js} +2 -2
  29. package/chunks/{chunk-OSVH4SMN.js → chunk-FBMCDU63.js} +3 -3
  30. package/chunks/{chunk-GY24H6IA.js → chunk-FCLHHEUK.js} +10 -10
  31. package/chunks/{chunk-FWWQIFDT.js → chunk-G2TX5ZXC.js} +3 -3
  32. package/chunks/{chunk-HDYQYYWB.js → chunk-GAKGOXTC.js} +1 -1
  33. package/chunks/{chunk-TWFFY5BP.js → chunk-HADWBW5R.js} +4 -4
  34. package/chunks/{chunk-E2N554HK.js → chunk-HZGBKOX3.js} +2 -2
  35. package/chunks/{chunk-V47QNK5W.js → chunk-II6G3EY6.js} +288 -72
  36. package/chunks/{chunk-ZV7LTLFE.js → chunk-IOEZE2YT.js} +1 -1
  37. package/chunks/chunk-JUWS2Z5K.js +1995 -0
  38. package/chunks/{chunk-F3II4BTZ.js → chunk-K4ADGWHU.js} +1 -1
  39. package/chunks/{chunk-5ZTS3OQ3.js → chunk-KSAFZ5TA.js} +1 -1
  40. package/chunks/{chunk-KMS57JDD.js → chunk-KTKYGS2P.js} +29 -6
  41. package/chunks/{chunk-HWXGX534.js → chunk-KTQGGPGV.js} +3 -3
  42. package/chunks/{chunk-ZIKTCMQF.js → chunk-LZZLUCRS.js} +5 -5
  43. package/chunks/{chunk-S5CULOHB.js → chunk-MHP476D3.js} +64 -21
  44. package/chunks/{chunk-PNVPFARW.js → chunk-MTCYGTWH.js} +4 -4
  45. package/chunks/{chunk-WQYWK4DG.js → chunk-OGDIJKHK.js} +1 -1
  46. package/chunks/{chunk-WH6QMLUW.js → chunk-OGNFHGIG.js} +3 -3
  47. package/chunks/{chunk-P5ULXPK5.js → chunk-P2FK2HBV.js} +2 -2
  48. package/chunks/{chunk-5WZL724W.js → chunk-P3RBMQ4P.js} +3 -3
  49. package/chunks/{chunk-4EOURKA4.js → chunk-P4ZEZSJZ.js} +177 -17
  50. package/chunks/{chunk-RQ6U2JJQ.js → chunk-PNBBJOCP.js} +1 -1
  51. package/chunks/{chunk-E2T7FLDU.js → chunk-PVOGHGSF.js} +5 -5
  52. package/chunks/{chunk-EUVOKP6Y.js → chunk-QSNSL4R4.js} +1 -1
  53. package/chunks/{chunk-RYQMJCUO.js → chunk-RBHQXGDK.js} +1 -1
  54. package/chunks/{chunk-ZI5IH2HP.js → chunk-RVSTTOJ4.js} +2 -2
  55. package/chunks/{chunk-OW2BWT2P.js → chunk-SCAZZ3Q4.js} +4 -4
  56. package/chunks/{chunk-OBP6QWD5.js → chunk-T5RLUXWJ.js} +2 -2
  57. package/chunks/{chunk-KP25NJNM.js → chunk-T6HEQR2Q.js} +16 -5
  58. package/chunks/{chunk-RMPLEWF3.js → chunk-THIKWITR.js} +2 -2
  59. package/chunks/{chunk-V2226RFW.js → chunk-TQCYNLNJ.js} +1 -1
  60. package/chunks/{chunk-O277O7U6.js → chunk-TZ6KJ44L.js} +1 -1
  61. package/chunks/{chunk-ZCJBCKL5.js → chunk-UJUM2SRN.js} +115 -29
  62. package/chunks/{chunk-3KJQZEN3.js → chunk-UYAUA63Q.js} +1 -1
  63. package/chunks/chunk-VFMASYQA.js +389 -0
  64. package/chunks/chunk-VGHZT6JR.js +51 -0
  65. package/chunks/{chunk-H4JC7LZX.js → chunk-W3FSZSF2.js} +1 -1
  66. package/chunks/{chunk-YFRFZCIP.js → chunk-WGK4TSB7.js} +3 -3
  67. package/chunks/{chunk-BL65MO72.js → chunk-WP5VOXF7.js} +6 -127
  68. package/chunks/{chunk-T2O6NIOY.js → chunk-XTY5DN4Y.js} +1 -1
  69. package/chunks/{chunk-47ZUMGGY.js → chunk-XX7QFP34.js} +56 -55
  70. package/chunks/{chunk-ZSNBQXMZ.js → chunk-YTFDX4PR.js} +8 -3
  71. package/chunks/{chunk-F6TUUA2U.js → chunk-ZBXGWQ4S.js} +2 -2
  72. package/chunks/{chunk-YR7ZQ4RD.js → chunk-ZOSTTOUJ.js} +1 -1
  73. package/chunks/{chunk-UAB6J2IE.js → chunk-ZTQSOV56.js} +3 -3
  74. package/chunks/{computer-use-SLN7DV2E.js → computer-use-PMZ7ICGY.js} +3 -3
  75. package/chunks/{contextCommand-EHFYX6FW.js → contextCommand-GEZU7YHE.js} +6 -5
  76. package/chunks/{core-runtime-FBSP5IIG.js → core-runtime-HRJI2MN6.js} +3 -3
  77. package/chunks/{create-sub-session-WC7YGVSL.js → create-sub-session-VBNVI4YU.js} +3 -3
  78. package/chunks/{daemon-VSX3FHTY.js → daemon-POSQPD3G.js} +26 -3
  79. package/chunks/{daemon-status-provider-WW2AD2T7.js → daemon-status-provider-N4CRQKFI.js} +8 -8
  80. package/chunks/{daemon-trust-policy-E4MAYWPI.js → daemon-trust-policy-BHO3JUHM.js} +11 -9
  81. package/chunks/{daemon-trust-policy-monitor-XVIDV6T4.js → daemon-trust-policy-monitor-YEKJ2726.js} +11 -9
  82. package/chunks/{deferred-core-runtime-5SVUC6UC.js → deferred-core-runtime-SH57E3J3.js} +3 -3
  83. package/chunks/{earlyInputCapture-72FYHYRD.js → earlyInputCapture-B2JJ2HME.js} +3 -3
  84. package/chunks/{edit-SWVVWHXW.js → edit-7FTXENAN.js} +5 -3
  85. package/chunks/{enter-worktree-2HF6WQEO.js → enter-worktree-JPHV2PBG.js} +3 -3
  86. package/chunks/{enterPlanMode-OW6S7L4P.js → enterPlanMode-CGBJ3AHJ.js} +3 -3
  87. package/chunks/{environment-LRTBTDXH.js → environment-LXASZAHD.js} +6 -6
  88. package/chunks/{errors-4CO2DME6.js → errors-XIGVT2AD.js} +5 -5
  89. package/chunks/{exit-worktree-GHJEIRGL.js → exit-worktree-DKSGXW65.js} +3 -3
  90. package/chunks/{exitPlanMode-JVP4FNNK.js → exitPlanMode-THFL2HYN.js} +3 -3
  91. package/chunks/{fast-path-HCCY7GR2.js → fast-path-4NXAT5UL.js} +3 -3
  92. package/chunks/{fast-path-settings-MN5QQQET.js → fast-path-settings-RPAVBD7P.js} +2 -2
  93. package/chunks/{gemini-V3YVRKXU.js → gemini-B3N6FACU.js} +39 -44
  94. package/chunks/{geminiContentGenerator-LVPMQUWX.js → geminiContentGenerator-YYFE2HIE.js} +1 -1
  95. package/chunks/{glob-7HRXHYDR.js → glob-BPHSCFJP.js} +3 -3
  96. package/chunks/{grep-BITQUON5.js → grep-ROZIRFLU.js} +3 -3
  97. package/chunks/{handleAutoUpdate-DKFY454S.js → handleAutoUpdate-WV6SPZQB.js} +8 -7
  98. package/chunks/{i18n-53BQIQSH.js → i18n-YWJWPQKD.js} +8 -6
  99. package/chunks/{image-gen-H62FLDFB.js → image-gen-SISRZ6FS.js} +1 -1
  100. package/chunks/{initializer-Q7NUQRSU.js → initializer-66OAD6GO.js} +11 -9
  101. package/chunks/{installationInfo-BWFHT7WU.js → installationInfo-3YUGIP36.js} +4 -4
  102. package/chunks/{list-OWQKR6JK.js → list-VEYR66XB.js} +14 -12
  103. package/chunks/{loadedSettingsAdapter-HNPKQMFA.js → loadedSettingsAdapter-V2JCPCYD.js} +11 -9
  104. package/chunks/{loggingContentGenerator-A5I3VQUC.js → loggingContentGenerator-RBLNDREC.js} +1 -1
  105. package/chunks/{managed-npm-update-CUUJGUTV.js → managed-npm-update-C5ID5R4R.js} +4 -4
  106. package/chunks/{mcp-GJSC7ZPO.js → mcp-OZ54NZJQ.js} +11 -9
  107. package/chunks/{monitor-TZ2II7JM.js → monitor-7Y4TVFTK.js} +3 -3
  108. package/chunks/{nonInteractiveCli-22RS4EVH.js → nonInteractiveCli-QEK4LHAC.js} +35 -33
  109. package/chunks/{notebook-edit-YZC3YPY2.js → notebook-edit-OG35EBGY.js} +4 -3
  110. package/chunks/{openaiContentGenerator-OIGO5XNF.js → openaiContentGenerator-443BNRPJ.js} +1 -1
  111. package/chunks/{pidfile-QJQ65RJ2.js → pidfile-ZK4OLRZA.js} +3 -3
  112. package/chunks/{processUtils-V5VSDIKS.js → processUtils-4YGB4RUZ.js} +2 -2
  113. package/chunks/{qwenContentGenerator-HXM25BGB.js → qwenContentGenerator-D5C2LCSZ.js} +3 -3
  114. package/chunks/{qwenOAuth2-7MTMS2Z5.js → qwenOAuth2-Z4YQBMYN.js} +1 -1
  115. package/chunks/{read-file-PMGXB3ZB.js → read-file-EXTJLWMU.js} +1 -1
  116. package/chunks/{resumeHistoryUtils-YUTPLHUH.js → resumeHistoryUtils-UPCGRJUL.js} +7 -6
  117. package/chunks/{ripGrep-XUS66YIV.js → ripGrep-QBVIRCU4.js} +3 -3
  118. package/chunks/{run-qwen-serve-4NVSU75L.js → run-qwen-serve-ZYGJNE3E.js} +67 -51
  119. package/chunks/{runtime-QLRVP6HM.js → runtime-BZZ4LWCP.js} +12 -10
  120. package/chunks/{scheduler-PBB2NSOP.js → scheduler-YNQNOU2E.js} +131 -11
  121. package/chunks/{serve-BWKTRX72.js → serve-LJHAXDCH.js} +11 -9
  122. package/chunks/{server-E7CH7WPK.js → server-ADMLELR6.js} +256 -750
  123. package/chunks/{session-QEKSJ6YU.js → session-YKZXFFTM.js} +36 -34
  124. package/chunks/{settings-BRAOSJIM.js → settings-EQBUAQ7Y.js} +10 -8
  125. package/chunks/{shell-OF3CK4AT.js → shell-3QZOJGTT.js} +3 -3
  126. package/chunks/{skill-HLH2NO2H.js → skill-UWSSMXE7.js} +1 -1
  127. package/chunks/{skill-settings-DRPU7YI5.js → skill-settings-T6MLB7NU.js} +10 -8
  128. package/chunks/{spawnChannel-4KO7YTFM.js → spawnChannel-VS7ZFUFP.js} +3 -3
  129. package/chunks/{standalone-update-DJN2R3YW.js → standalone-update-2W26SRRO.js} +6 -5
  130. package/chunks/{startInteractiveUI-O3WQQ2WC.js → startInteractiveUI-CVS7K3D6.js} +55 -45
  131. package/chunks/{team-create-2E4ACBJD.js → team-create-4WFTNNUL.js} +3 -3
  132. package/chunks/{team-plan-approval-LWIDXYOA.js → team-plan-approval-DBYI33S3.js} +3 -3
  133. package/chunks/{terminal-image-renderer-PJM7663W.js → terminal-image-renderer-S5WPPQKH.js} +3 -3
  134. package/chunks/{theme-manager-FDQTM3RP.js → theme-manager-LI2RIOVR.js} +3 -3
  135. package/chunks/{tool-search-TL5ZXBF4.js → tool-search-4773EUQ4.js} +1 -1
  136. package/chunks/{total-session-admission-LS6EY5KT.js → total-session-admission-PAY5CH2Z.js} +4 -4
  137. package/chunks/{trustedFolders-5RWP5OB7.js → trustedFolders-FRSLE674.js} +4 -4
  138. package/chunks/{update-relaunch-HWQ4USKY.js → update-relaunch-ZSFQTU6M.js} +5 -5
  139. package/chunks/{updateCheck-EZMBTEIR.js → updateCheck-AXWSO7KA.js} +7 -6
  140. package/chunks/{useAutoAcceptIndicator-JDMI627A.js → useAutoAcceptIndicator-VHLXIA7U.js} +11 -9
  141. package/chunks/{validateNonInterActiveAuth-RRUHC5RO.js → validateNonInterActiveAuth-PDJECMFU.js} +32 -30
  142. package/chunks/{version-XS4UTKUX.js → version-RBN764QS.js} +1 -1
  143. package/chunks/{web-fetch-2JV7H6OM.js → web-fetch-7BJK42AF.js} +1 -1
  144. package/chunks/{web-search-RCTN2GAM.js → web-search-L2CILQXV.js} +2 -2
  145. package/chunks/{workflow-6MKLKQ6R.js → workflow-5VH2R74I.js} +4 -4
  146. package/chunks/{workspace-providers-status-YZ2IJ4DK.js → workspace-providers-status-OZTQ6JFH.js} +13 -11
  147. package/chunks/{workspace-registration-store-IYN72LBS.js → workspace-registration-store-IX5RJQS5.js} +1 -1
  148. package/chunks/{workspace-registry-7LFBZQLT.js → workspace-registry-73N4BGG4.js} +4 -4
  149. package/chunks/{workspace-service-2EHSPRJB.js → workspace-service-I5RUPSNV.js} +14 -12
  150. package/chunks/{workspace-skills-status-5VJ2D5HN.js → workspace-skills-status-DMK6VYDO.js} +11 -9
  151. package/chunks/{workspace-trust-reconciler-X2LZ6XCI.js → workspace-trust-reconciler-QX4RL3TC.js} +12 -10
  152. package/chunks/{write-file-CJK6SCCF.js → write-file-UGDD5UTS.js} +3 -3
  153. package/chunks/{zoom-image-BVW4RFYW.js → zoom-image-ZAHEO3YP.js} +1 -1
  154. package/cli.js +12 -12
  155. package/package.json +3 -3
  156. package/web-shell/assets/{arc-DDtoJrAW.js → arc-CHY4saMJ.js} +1 -1
  157. package/web-shell/assets/{architectureDiagram-3BPJPVTR-BAInIW4O.js → architectureDiagram-3BPJPVTR-Bu6CwvHj.js} +1 -1
  158. package/web-shell/assets/{blockDiagram-GPEHLZMM-ChPDk7fP.js → blockDiagram-GPEHLZMM-XGt6iGf_.js} +1 -1
  159. package/web-shell/assets/{c4Diagram-AAUBKEIU-Cd9BJuUy.js → c4Diagram-AAUBKEIU-CBbYl19W.js} +1 -1
  160. package/web-shell/assets/channel-B40srHOa.js +1 -0
  161. package/web-shell/assets/{chunk-2J33WTMH-COQkLp56.js → chunk-2J33WTMH-BEhmVrdx.js} +1 -1
  162. package/web-shell/assets/{chunk-4BX2VUAB-GUJshQ_l.js → chunk-4BX2VUAB-fQLyE0Bg.js} +1 -1
  163. package/web-shell/assets/{chunk-55IACEB6-Boaa7c10.js → chunk-55IACEB6-yGdtyx4a.js} +1 -1
  164. package/web-shell/assets/{chunk-727SXJPM-CcRXaly2.js → chunk-727SXJPM-DYbX2GLo.js} +1 -1
  165. package/web-shell/assets/{chunk-AQP2D5EJ-BY0OARHh.js → chunk-AQP2D5EJ-DyKTEsYn.js} +1 -1
  166. package/web-shell/assets/{chunk-FMBD7UC4-DLFQfv0S.js → chunk-FMBD7UC4-D8Uy_GzX.js} +1 -1
  167. package/web-shell/assets/{chunk-ND2GUHAM-C_S0u-D2.js → chunk-ND2GUHAM-C8wNR2K7.js} +1 -1
  168. package/web-shell/assets/{chunk-QZHKN3VN-DP9m64hw.js → chunk-QZHKN3VN-BnybNxnt.js} +1 -1
  169. package/web-shell/assets/classDiagram-4FO5ZUOK-qumcXQW_.js +1 -0
  170. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-qumcXQW_.js +1 -0
  171. package/web-shell/assets/{cose-bilkent-S5V4N54A-CGY6zGE1.js → cose-bilkent-S5V4N54A-jq4uiFRp.js} +1 -1
  172. package/web-shell/assets/{dagre-BM42HDAG-yB7whKNn.js → dagre-BM42HDAG-Bs7oye1U.js} +1 -1
  173. package/web-shell/assets/{diagram-2AECGRRQ-Bdlc59La.js → diagram-2AECGRRQ-BHGGJNyM.js} +1 -1
  174. package/web-shell/assets/{diagram-5GNKFQAL-BUClP18L.js → diagram-5GNKFQAL-BJezVLGT.js} +1 -1
  175. package/web-shell/assets/{diagram-KO2AKTUF-aZm08kjn.js → diagram-KO2AKTUF-5JzQN_rL.js} +1 -1
  176. package/web-shell/assets/{diagram-LMA3HP47-7DGwEkxC.js → diagram-LMA3HP47-BlPYOgY9.js} +1 -1
  177. package/web-shell/assets/{diagram-OG6HWLK6-CAGKayxx.js → diagram-OG6HWLK6-CtMHEaFK.js} +1 -1
  178. package/web-shell/assets/{erDiagram-TEJ5UH35-CptoHHQi.js → erDiagram-TEJ5UH35-CRNdq2AB.js} +1 -1
  179. package/web-shell/assets/{flowDiagram-I6XJVG4X-CNOH0s7Q.js → flowDiagram-I6XJVG4X-De1WwLzu.js} +1 -1
  180. package/web-shell/assets/{ganttDiagram-6RSMTGT7-CCQuCU3y.js → ganttDiagram-6RSMTGT7-YbWfL5Zn.js} +1 -1
  181. package/web-shell/assets/{gitGraphDiagram-PVQCEYII-B7gv9f4E.js → gitGraphDiagram-PVQCEYII-DzCN8bmd.js} +1 -1
  182. package/web-shell/assets/index-BDOGGGaN.css +5 -0
  183. package/web-shell/assets/{index-BoUPVvpf.js → index-CocPvF9Q.js} +1 -1
  184. package/web-shell/assets/index-DSH2KrMc.js +1771 -0
  185. package/web-shell/assets/{infoDiagram-5YYISTIA-Bb3KYEbR.js → infoDiagram-5YYISTIA-DLHoopnE.js} +1 -1
  186. package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DWEzbAGi.js → ishikawaDiagram-YF4QCWOH-XnbU04SS.js} +1 -1
  187. package/web-shell/assets/{journeyDiagram-JHISSGLW-CmxwEqeb.js → journeyDiagram-JHISSGLW-CipPyEeJ.js} +1 -1
  188. package/web-shell/assets/{kanban-definition-UN3LZRKU-Ci0gDD8O.js → kanban-definition-UN3LZRKU-DrSeyE5d.js} +1 -1
  189. package/web-shell/assets/{linear-BqxZqGhS.js → linear-LrBKnAo_.js} +1 -1
  190. package/web-shell/assets/{mermaid.core-BDAFffHv.js → mermaid.core-C3U9UVmf.js} +5 -5
  191. package/web-shell/assets/{mindmap-definition-RKZ34NQL-Btvx-xvS.js → mindmap-definition-RKZ34NQL-DqRWgC9H.js} +1 -1
  192. package/web-shell/assets/{pieDiagram-4H26LBE5-CKAg7yG7.js → pieDiagram-4H26LBE5-BNXY5p6H.js} +1 -1
  193. package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DIt8E1mC.js → quadrantDiagram-W4KKPZXB-Ccj9QzE4.js} +1 -1
  194. package/web-shell/assets/{requirementDiagram-4Y6WPE33-BA7mQWQJ.js → requirementDiagram-4Y6WPE33-CjPM2_gx.js} +1 -1
  195. package/web-shell/assets/{sankeyDiagram-5OEKKPKP-D0JppnVU.js → sankeyDiagram-5OEKKPKP-C0RsvKbj.js} +1 -1
  196. package/web-shell/assets/{sequenceDiagram-3UESZ5HK-29DIQFjB.js → sequenceDiagram-3UESZ5HK-ClN1P5z7.js} +1 -1
  197. package/web-shell/assets/{stateDiagram-AJRCARHV-iiXMdK--.js → stateDiagram-AJRCARHV-By0eiB2Y.js} +1 -1
  198. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Ds0WlK3F.js +1 -0
  199. package/web-shell/assets/{timeline-definition-PNZ67QCA-CeF7ngSW.js → timeline-definition-PNZ67QCA-g_iaSQgv.js} +1 -1
  200. package/web-shell/assets/{vennDiagram-CIIHVFJN-Beilq8D6.js → vennDiagram-CIIHVFJN-y9ZqJ-TD.js} +1 -1
  201. package/web-shell/assets/{wardley-L42UT6IY-DOYjY4zO.js → wardley-L42UT6IY-BVVfaxpF.js} +1 -1
  202. package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Dtqp8o18.js → wardleyDiagram-YWT4CUSO-D3ooZKZT.js} +1 -1
  203. package/web-shell/assets/{xychartDiagram-2RQKCTM6-cdAc0Dfv.js → xychartDiagram-2RQKCTM6-6GXrY6M1.js} +1 -1
  204. package/web-shell/index.html +2 -2
  205. package/chunks/chunk-R4ZA6GBK.js +0 -208
  206. package/web-shell/assets/channel-0OQklTfP.js +0 -1
  207. package/web-shell/assets/classDiagram-4FO5ZUOK-CZ4-apsu.js +0 -1
  208. package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CZ4-apsu.js +0 -1
  209. package/web-shell/assets/index-D1YQXYsB.css +0 -5
  210. package/web-shell/assets/index-J4N7zCmU.js +0 -1768
  211. package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CEGK3l80.js +0 -1
@@ -0,0 +1,51 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ init_esbuild_shims
5
+ } from "./chunk-5O2XNYP6.js";
6
+ import {
7
+ __name
8
+ } from "./chunk-J2S4EL5Y.js";
9
+
10
+ // packages/core/dist/src/services/tool-write-origin.js
11
+ init_esbuild_shims();
12
+ var TOOL_WRITE_ORIGIN_META_KEY = "qwen-code/tool-write-origin";
13
+ var TOOL_WRITE_ORIGINS = [
14
+ "write_file",
15
+ "edit",
16
+ "notebook_edit",
17
+ "shell_sed_edit"
18
+ ];
19
+ var TOOL_WRITE_ORIGIN_SET = new Set(TOOL_WRITE_ORIGINS);
20
+ function buildToolWriteOriginMeta(meta, source) {
21
+ const sanitized = { ...meta };
22
+ delete sanitized[TOOL_WRITE_ORIGIN_META_KEY];
23
+ if (source !== void 0) {
24
+ sanitized[TOOL_WRITE_ORIGIN_META_KEY] = { version: 1, source };
25
+ }
26
+ return Object.keys(sanitized).length > 0 ? sanitized : void 0;
27
+ }
28
+ __name(buildToolWriteOriginMeta, "buildToolWriteOriginMeta");
29
+ function parseToolWriteOriginMeta(meta) {
30
+ const marker = meta?.[TOOL_WRITE_ORIGIN_META_KEY];
31
+ if (typeof marker !== "object" || marker === null || Array.isArray(marker)) {
32
+ return void 0;
33
+ }
34
+ const keys = Object.keys(marker);
35
+ if (keys.length !== 2 || !Object.hasOwn(marker, "version") || !Object.hasOwn(marker, "source")) {
36
+ return void 0;
37
+ }
38
+ const record = marker;
39
+ return record["version"] === 1 && typeof record["source"] === "string" && TOOL_WRITE_ORIGIN_SET.has(record["source"]) ? record["source"] : void 0;
40
+ }
41
+ __name(parseToolWriteOriginMeta, "parseToolWriteOriginMeta");
42
+
43
+ export {
44
+ buildToolWriteOriginMeta,
45
+ parseToolWriteOriginMeta
46
+ };
47
+ /**
48
+ * @license
49
+ * Copyright 2025 Google LLC
50
+ * SPDX-License-Identifier: Apache-2.0
51
+ */
@@ -563,7 +563,7 @@ var WorkspaceRegistrationStore = class {
563
563
  return removed;
564
564
  }
565
565
  async update(mutate) {
566
- const { atomicWriteFile } = await import("./deferred-core-runtime-5SVUC6UC.js");
566
+ const { atomicWriteFile } = await import("./deferred-core-runtime-SH57E3J3.js");
567
567
  return withInProcessLock(this.filePath, async () => {
568
568
  const lock = await acquireFileLock(this.filePath);
569
569
  let committed = false;
@@ -2,17 +2,17 @@
2
2
  "use strict";
3
3
  import {
4
4
  performStandaloneUpdate
5
- } from "./chunk-ZI5IH2HP.js";
5
+ } from "./chunk-RVSTTOJ4.js";
6
6
  import {
7
7
  updateEventEmitter
8
8
  } from "./chunk-YAF2MQZ6.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-BL65MO72.js";
11
+ } from "./chunk-WP5VOXF7.js";
12
12
  import {
13
13
  getInstallationInfo,
14
14
  resolveUpdateCommand
15
- } from "./chunk-2545EHZR.js";
15
+ } from "./chunk-BIRWP6LU.js";
16
16
  import {
17
17
  createDebugLogger
18
18
  } from "./chunk-OIVKILPI.js";
@@ -1,8 +1,11 @@
1
1
  // Force strict mode and setup for ESM
2
2
  "use strict";
3
+ import {
4
+ resolveSupportedLanguage
5
+ } from "./chunk-5EJZE3FP.js";
3
6
  import {
4
7
  resolveBundleDir
5
- } from "./chunk-47ZUMGGY.js";
8
+ } from "./chunk-XX7QFP34.js";
6
9
  import {
7
10
  Storage
8
11
  } from "./chunk-OIVKILPI.js";
@@ -23,125 +26,6 @@ import * as fs from "node:fs";
23
26
  import * as path from "node:path";
24
27
  import { pathToFileURL } from "node:url";
25
28
 
26
- // packages/cli/src/i18n/languages.ts
27
- init_esbuild_shims();
28
- var SUPPORTED_LANGUAGES = [
29
- {
30
- code: "en",
31
- id: "en-US",
32
- fullName: "English",
33
- nativeName: "English"
34
- },
35
- {
36
- code: "zh-TW",
37
- id: "zh-TW",
38
- fullName: "Traditional Chinese",
39
- nativeName: "\u7E41\u9AD4\u4E2D\u6587",
40
- strictParity: true
41
- },
42
- {
43
- code: "zh",
44
- id: "zh-CN",
45
- fullName: "Chinese",
46
- nativeName: "\u4E2D\u6587",
47
- strictParity: true
48
- },
49
- {
50
- code: "ru",
51
- id: "ru-RU",
52
- fullName: "Russian",
53
- nativeName: "\u0420\u0443\u0441\u0441\u043A\u0438\u0439"
54
- },
55
- {
56
- code: "de",
57
- id: "de-DE",
58
- fullName: "German",
59
- nativeName: "Deutsch"
60
- },
61
- {
62
- code: "ja",
63
- id: "ja-JP",
64
- fullName: "Japanese",
65
- nativeName: "\u65E5\u672C\u8A9E"
66
- },
67
- {
68
- code: "pt",
69
- id: "pt-BR",
70
- fullName: "Portuguese",
71
- nativeName: "Portugu\xEAs"
72
- },
73
- {
74
- code: "fr",
75
- id: "fr-FR",
76
- fullName: "French",
77
- nativeName: "Fran\xE7ais"
78
- },
79
- {
80
- code: "ca",
81
- id: "ca-ES",
82
- fullName: "Catalan",
83
- nativeName: "Catal\xE0"
84
- }
85
- ];
86
- function normalizeLanguageCandidate(input) {
87
- return input.trim().replace(/_/g, "-").toLowerCase();
88
- }
89
- __name(normalizeLanguageCandidate, "normalizeLanguageCandidate");
90
- function matchesLocaleToken(candidate, token) {
91
- return candidate === token || candidate.startsWith(`${token}-`) || candidate.startsWith(`${token}.`) || candidate.startsWith(`${token}@`);
92
- }
93
- __name(matchesLocaleToken, "matchesLocaleToken");
94
- function getMatchedLocaleTokenLength(candidate, language) {
95
- const code = language.code.toLowerCase();
96
- const id = language.id.toLowerCase();
97
- if (matchesLocaleToken(candidate, id)) {
98
- return id.length;
99
- }
100
- if (matchesLocaleToken(candidate, code)) {
101
- return code.length;
102
- }
103
- return void 0;
104
- }
105
- __name(getMatchedLocaleTokenLength, "getMatchedLocaleTokenLength");
106
- function resolveSupportedLanguage(input) {
107
- const normalized = normalizeLanguageCandidate(input);
108
- if (!normalized) {
109
- return void 0;
110
- }
111
- let bestMatch;
112
- for (const language of SUPPORTED_LANGUAGES) {
113
- if (normalized === language.fullName.toLowerCase() || language.nativeName && normalized === language.nativeName.toLowerCase()) {
114
- return language.code;
115
- }
116
- const tokenLength = getMatchedLocaleTokenLength(normalized, language);
117
- if (tokenLength !== void 0 && (!bestMatch || tokenLength > bestMatch.tokenLength)) {
118
- bestMatch = { code: language.code, tokenLength };
119
- }
120
- }
121
- return bestMatch?.code;
122
- }
123
- __name(resolveSupportedLanguage, "resolveSupportedLanguage");
124
- function getLanguageNameFromLocale(locale) {
125
- const resolved = resolveSupportedLanguage(locale);
126
- const lang = resolved ? SUPPORTED_LANGUAGES.find((language) => language.code === resolved) : void 0;
127
- return lang?.fullName || "English";
128
- }
129
- __name(getLanguageNameFromLocale, "getLanguageNameFromLocale");
130
- function getLanguageSettingsOptions() {
131
- return [
132
- { value: "auto", label: "Auto (detect from system)" },
133
- ...SUPPORTED_LANGUAGES.map((l) => ({
134
- value: l.code,
135
- label: l.nativeName ? `${l.nativeName} (${l.fullName})` : `${l.fullName} (${l.id})`
136
- }))
137
- ];
138
- }
139
- __name(getLanguageSettingsOptions, "getLanguageSettingsOptions");
140
- function getSupportedLanguageIds(separator = "|") {
141
- return SUPPORTED_LANGUAGES.map((l) => l.id).join(separator);
142
- }
143
- __name(getSupportedLanguageIds, "getSupportedLanguageIds");
144
-
145
29
  // packages/cli/src/i18n/translationDict.ts
146
30
  init_esbuild_shims();
147
31
  function getTranslationModuleExport(module) {
@@ -484,11 +368,6 @@ function resolveLanguageSetting(settingsLanguage) {
484
368
  __name(resolveLanguageSetting, "resolveLanguageSetting");
485
369
 
486
370
  export {
487
- SUPPORTED_LANGUAGES,
488
- resolveSupportedLanguage,
489
- getLanguageNameFromLocale,
490
- getLanguageSettingsOptions,
491
- getSupportedLanguageIds,
492
371
  MUST_TRANSLATE_KEYS,
493
372
  getUserLocalesDirectory,
494
373
  detectSystemLanguage,
@@ -503,11 +382,11 @@ export {
503
382
  };
504
383
  /**
505
384
  * @license
506
- * Copyright 2025 Qwen team
385
+ * Copyright 2026 Qwen Team
507
386
  * SPDX-License-Identifier: Apache-2.0
508
387
  */
509
388
  /**
510
389
  * @license
511
- * Copyright 2026 Qwen Team
390
+ * Copyright 2025 Qwen team
512
391
  * SPDX-License-Identifier: Apache-2.0
513
392
  */
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  getEffectiveSupportedModes
5
- } from "./chunk-DPMJLKUP.js";
5
+ } from "./chunk-5RBDAGC6.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -71,7 +71,7 @@ import {
71
71
  RUNTIME_SNAPSHOT_PREFIX,
72
72
  buildModelIdContext,
73
73
  resolveModelId
74
- } from "./chunk-F3II4BTZ.js";
74
+ } from "./chunk-K4ADGWHU.js";
75
75
  import {
76
76
  ARTIFACT_TITLE_MAX_LENGTH,
77
77
  ARTIFACT_WORKSPACE_PATH_MAX_LENGTH,
@@ -460,7 +460,7 @@ import {
460
460
  createContentGenerator,
461
461
  resetPreloadedContentGenerator,
462
462
  resolveContentGeneratorConfigWithSources
463
- } from "./chunk-E2T7FLDU.js";
463
+ } from "./chunk-PVOGHGSF.js";
464
464
  import {
465
465
  DEFAULT_QWEN_EMBEDDING_MODEL,
466
466
  DEFAULT_QWEN_MODEL
@@ -24029,6 +24029,10 @@ function stripTerminalControlSequences(s3) {
24029
24029
  return s3.replace(TERMINAL_OSC_REGEX, " ").replace(TERMINAL_CSI_REGEX, " ").replace(TERMINAL_SHIFT_DCS_REGEX, " ").replace(/[\x00-\x1f\x7f-\x9f]/g, " ");
24030
24030
  }
24031
24031
  __name(stripTerminalControlSequences, "stripTerminalControlSequences");
24032
+ function isBidiControlChar(code) {
24033
+ return code >= 8234 && code <= 8238 || code >= 8294 && code <= 8297;
24034
+ }
24035
+ __name(isBidiControlChar, "isBidiControlChar");
24032
24036
  function stripDisplayControlChars(text) {
24033
24037
  let out = "";
24034
24038
  for (let i = 0; i < text.length; i++) {
@@ -24039,8 +24043,7 @@ function stripDisplayControlChars(text) {
24039
24043
  }
24040
24044
  if (code < 32) continue;
24041
24045
  if (code >= 128 && code <= 159) continue;
24042
- if (code >= 8234 && code <= 8238) continue;
24043
- if (code >= 8294 && code <= 8297) continue;
24046
+ if (isBidiControlChar(code)) continue;
24044
24047
  out += text[i];
24045
24048
  }
24046
24049
  return out;
@@ -75202,6 +75205,7 @@ var WriteFileToolInvocation = class extends BaseToolInvocation {
75202
75205
  await this.config.getFileSystemService().writeTextFile({
75203
75206
  path: file_path,
75204
75207
  content,
75208
+ toolWriteOrigin: "write_file",
75205
75209
  _meta: {
75206
75210
  bom: useBOM,
75207
75211
  encoding: detectedEncoding,
@@ -77116,6 +77120,16 @@ var FileReadCache = class _FileReadCache {
77116
77120
  }
77117
77121
  };
77118
77122
 
77123
+ // packages/core/src/services/tool-write-origin.ts
77124
+ init_esbuild_shims();
77125
+ var TOOL_WRITE_ORIGINS = [
77126
+ "write_file",
77127
+ "edit",
77128
+ "notebook_edit",
77129
+ "shell_sed_edit"
77130
+ ];
77131
+ var TOOL_WRITE_ORIGIN_SET = new Set(TOOL_WRITE_ORIGINS);
77132
+
77119
77133
  // packages/core/src/services/gitWorktreeService.ts
77120
77134
  init_esbuild_shims();
77121
77135
  import * as fs29 from "node:fs/promises";
@@ -82119,7 +82133,7 @@ var MonitorRegistry = class {
82119
82133
  "<status>running</status>",
82120
82134
  `<event-count>${entry.eventCount}</event-count>`,
82121
82135
  `<summary>Monitor "${escapeXml(desc)}" emitted event #${entry.eventCount}.</summary>`,
82122
- `<result>${escapeXml(eventLine)}</result>`,
82136
+ `<result>${escapeXml(safeEventLine)}</result>`,
82123
82137
  "</task-notification>"
82124
82138
  );
82125
82139
  const meta = {
@@ -82203,21 +82217,6 @@ var debugLogger60 = createDebugLogger("BACKGROUND_SHELLS");
82203
82217
  var MAX_NOTIFICATION_COMMAND_LENGTH = 80;
82204
82218
  var MAX_NOTIFICATION_MODEL_COMMAND_LENGTH = 500;
82205
82219
  var MAX_NOTIFICATION_OUTPUT_TAIL_BYTES = 8192;
82206
- function stripDisplayControlChars2(text) {
82207
- let out = "";
82208
- for (let i = 0; i < text.length; i++) {
82209
- const code = text.charCodeAt(i);
82210
- if (code === 9) {
82211
- out += text[i];
82212
- continue;
82213
- }
82214
- if (code < 32) continue;
82215
- if (code >= 128 && code <= 159) continue;
82216
- out += text[i];
82217
- }
82218
- return out;
82219
- }
82220
- __name(stripDisplayControlChars2, "stripDisplayControlChars");
82221
82220
  function stripOutputControlChars(text) {
82222
82221
  let out = "";
82223
82222
  for (let i = 0; i < text.length; i++) {
@@ -82228,6 +82227,7 @@ function stripOutputControlChars(text) {
82228
82227
  }
82229
82228
  if (code < 32) continue;
82230
82229
  if (code >= 128 && code <= 159) continue;
82230
+ if (isBidiControlChar(code)) continue;
82231
82231
  out += text[i];
82232
82232
  }
82233
82233
  return out;
@@ -82278,7 +82278,7 @@ function getReadOutputOpenFlags() {
82278
82278
  }
82279
82279
  __name(getReadOutputOpenFlags, "getReadOutputOpenFlags");
82280
82280
  function truncateCommandForDisplay(command) {
82281
- const normalized2 = stripDisplayControlChars2(command).replace(/\s+/g, " ");
82281
+ const normalized2 = stripDisplayControlChars(command).replace(/\s+/g, " ");
82282
82282
  if (normalized2.length <= MAX_NOTIFICATION_COMMAND_LENGTH) {
82283
82283
  return normalized2;
82284
82284
  }
@@ -82286,7 +82286,7 @@ function truncateCommandForDisplay(command) {
82286
82286
  }
82287
82287
  __name(truncateCommandForDisplay, "truncateCommandForDisplay");
82288
82288
  function truncateCommandForModel(command) {
82289
- const sanitized = stripDisplayControlChars2(command);
82289
+ const sanitized = stripDisplayControlChars(command);
82290
82290
  if (sanitized.length <= MAX_NOTIFICATION_MODEL_COMMAND_LENGTH) {
82291
82291
  return {
82292
82292
  text: sanitized,
@@ -82505,7 +82505,7 @@ var BackgroundShellRegistry = class {
82505
82505
  `<status>${escapeXml(entry.status)}</status>`,
82506
82506
  `<summary>Shell command "${escapeXml(commandLabel)}" ${statusText}.</summary>`,
82507
82507
  commandForModel.truncated ? `<command truncated="true">${escapeXml(commandForModel.text)}</command>` : `<command>${escapeXml(commandForModel.text)}</command>`,
82508
- `<cwd>${escapeXml(stripDisplayControlChars2(entry.cwd))}</cwd>`
82508
+ `<cwd>${escapeXml(stripDisplayControlChars(entry.cwd))}</cwd>`
82509
82509
  ];
82510
82510
  if (entry.pid !== void 0) {
82511
82511
  xmlParts.push(`<pid>${entry.pid}</pid>`);
@@ -82515,7 +82515,7 @@ var BackgroundShellRegistry = class {
82515
82515
  }
82516
82516
  if (entry.error) {
82517
82517
  xmlParts.push(
82518
- `<result>${escapeXml(stripDisplayControlChars2(entry.error))}</result>`
82518
+ `<result>${escapeXml(stripDisplayControlChars(entry.error))}</result>`
82519
82519
  );
82520
82520
  }
82521
82521
  const outputTail = readOutputTail(entry.outputFile);
@@ -82529,7 +82529,7 @@ var BackgroundShellRegistry = class {
82529
82529
  }
82530
82530
  }
82531
82531
  xmlParts.push(
82532
- `<output-file>${escapeXml(stripDisplayControlChars2(entry.outputFile))}</output-file>`,
82532
+ `<output-file>${escapeXml(stripDisplayControlChars(entry.outputFile))}</output-file>`,
82533
82533
  "</task-notification>"
82534
82534
  );
82535
82535
  const meta = {
@@ -129379,6 +129379,7 @@ var ShellToolInvocation = class extends BaseToolInvocation {
129379
129379
  await this.config.getFileSystemService().writeTextFile({
129380
129380
  path: edit2.filePath,
129381
129381
  content: edit2.newContent,
129382
+ toolWriteOrigin: "shell_sed_edit",
129382
129383
  _meta: edit2.meta
129383
129384
  });
129384
129385
  if (!userModifiedSedContent) {
@@ -151421,7 +151422,7 @@ var Config = class _Config {
151421
151422
  }
151422
151423
  if (!enabled) return;
151423
151424
  registry.registerFactory(ToolNames.IMAGE_GEN, async () => {
151424
- const { ImageGenTool } = await import("./image-gen-H62FLDFB.js");
151425
+ const { ImageGenTool } = await import("./image-gen-SISRZ6FS.js");
151425
151426
  return new ImageGenTool(this);
151426
151427
  });
151427
151428
  }
@@ -151468,19 +151469,19 @@ var Config = class _Config {
151468
151469
  }, "registerGoalWorkerTools");
151469
151470
  if (this.getBareMode()) {
151470
151471
  await registerLazy(ToolNames.READ_FILE, async () => {
151471
- const { ReadFileTool } = await import("./read-file-PMGXB3ZB.js");
151472
+ const { ReadFileTool } = await import("./read-file-EXTJLWMU.js");
151472
151473
  return new ReadFileTool(this);
151473
151474
  });
151474
151475
  await registerLazy(ToolNames.EDIT, async () => {
151475
- const { EditTool } = await import("./edit-SWVVWHXW.js");
151476
+ const { EditTool } = await import("./edit-7FTXENAN.js");
151476
151477
  return new EditTool(this);
151477
151478
  });
151478
151479
  await registerLazy(ToolNames.NOTEBOOK_EDIT, async () => {
151479
- const { NotebookEditTool } = await import("./notebook-edit-YZC3YPY2.js");
151480
+ const { NotebookEditTool } = await import("./notebook-edit-OG35EBGY.js");
151480
151481
  return new NotebookEditTool(this);
151481
151482
  });
151482
151483
  await registerLazy(ToolNames.SHELL, async () => {
151483
- const { ShellTool: ShellTool2 } = await import("./shell-OF3CK4AT.js");
151484
+ const { ShellTool: ShellTool2 } = await import("./shell-3QZOJGTT.js");
151484
151485
  return new ShellTool2(this);
151485
151486
  });
151486
151487
  await registerGoalWorkerTools();
@@ -151492,7 +151493,7 @@ var Config = class _Config {
151492
151493
  }
151493
151494
  await registerGoalWorkerTools();
151494
151495
  await registerLazy(ToolNames.TOOL_SEARCH, async () => {
151495
- const { ToolSearchTool } = await import("./tool-search-TL5ZXBF4.js");
151496
+ const { ToolSearchTool } = await import("./tool-search-4773EUQ4.js");
151496
151497
  return new ToolSearchTool(this);
151497
151498
  });
151498
151499
  await registerLazy(ToolNames.READ_MCP_RESOURCE, async () => {
@@ -151500,7 +151501,7 @@ var Config = class _Config {
151500
151501
  return new ReadMcpResourceTool(this);
151501
151502
  });
151502
151503
  await registerLazy(ToolNames.AGENT, async () => {
151503
- const { AgentTool: AgentTool2 } = await import("./agent-SVQ7U7NJ.js");
151504
+ const { AgentTool: AgentTool2 } = await import("./agent-VOHJOEBB.js");
151504
151505
  return new AgentTool2(this);
151505
151506
  });
151506
151507
  await registerLazy(ToolNames.LIST_AGENTS, async () => {
@@ -151516,7 +151517,7 @@ var Config = class _Config {
151516
151517
  return new SendMessageTool(this);
151517
151518
  });
151518
151519
  await registerLazy(ToolNames.SKILL, async () => {
151519
- const { SkillTool } = await import("./skill-HLH2NO2H.js");
151520
+ const { SkillTool } = await import("./skill-UWSSMXE7.js");
151520
151521
  return new SkillTool(this);
151521
151522
  });
151522
151523
  await registerLazy(ToolNames.LS, async () => {
@@ -151524,11 +151525,11 @@ var Config = class _Config {
151524
151525
  return new LSTool(this);
151525
151526
  });
151526
151527
  await registerLazy(ToolNames.READ_FILE, async () => {
151527
- const { ReadFileTool } = await import("./read-file-PMGXB3ZB.js");
151528
+ const { ReadFileTool } = await import("./read-file-EXTJLWMU.js");
151528
151529
  return new ReadFileTool(this);
151529
151530
  });
151530
151531
  await registerLazy(ToolNames.ZOOM_IMAGE, async () => {
151531
- const { ZoomImageTool } = await import("./zoom-image-BVW4RFYW.js");
151532
+ const { ZoomImageTool } = await import("./zoom-image-ZAHEO3YP.js");
151532
151533
  return new ZoomImageTool(this);
151533
151534
  });
151534
151535
  if (this.getUseRipgrep()) {
@@ -151543,7 +151544,7 @@ var Config = class _Config {
151543
151544
  recordStartupEvent("config_initialize_ripgrep_probe_end");
151544
151545
  if (useRipgrep) {
151545
151546
  await registerLazy(ToolNames.GREP, async () => {
151546
- const { RipGrepTool: RipGrepTool2 } = await import("./ripGrep-XUS66YIV.js");
151547
+ const { RipGrepTool: RipGrepTool2 } = await import("./ripGrep-QBVIRCU4.js");
151547
151548
  return new RipGrepTool2(this);
151548
151549
  });
151549
151550
  } else {
@@ -151556,7 +151557,7 @@ var Config = class _Config {
151556
151557
  )
151557
151558
  );
151558
151559
  await registerLazy(ToolNames.GREP, async () => {
151559
- const { GrepTool } = await import("./grep-BITQUON5.js");
151560
+ const { GrepTool } = await import("./grep-ROZIRFLU.js");
151560
151561
  return new GrepTool(this);
151561
151562
  });
151562
151563
  }
@@ -151564,28 +151565,28 @@ var Config = class _Config {
151564
151565
  recordStartupEvent("config_initialize_ripgrep_probe_start");
151565
151566
  recordStartupEvent("config_initialize_ripgrep_probe_end");
151566
151567
  await registerLazy(ToolNames.GREP, async () => {
151567
- const { GrepTool } = await import("./grep-BITQUON5.js");
151568
+ const { GrepTool } = await import("./grep-ROZIRFLU.js");
151568
151569
  return new GrepTool(this);
151569
151570
  });
151570
151571
  }
151571
151572
  await registerLazy(ToolNames.GLOB, async () => {
151572
- const { GlobTool } = await import("./glob-7HRXHYDR.js");
151573
+ const { GlobTool } = await import("./glob-BPHSCFJP.js");
151573
151574
  return new GlobTool(this);
151574
151575
  });
151575
151576
  await registerLazy(ToolNames.EDIT, async () => {
151576
- const { EditTool } = await import("./edit-SWVVWHXW.js");
151577
+ const { EditTool } = await import("./edit-7FTXENAN.js");
151577
151578
  return new EditTool(this);
151578
151579
  });
151579
151580
  await registerLazy(ToolNames.NOTEBOOK_EDIT, async () => {
151580
- const { NotebookEditTool } = await import("./notebook-edit-YZC3YPY2.js");
151581
+ const { NotebookEditTool } = await import("./notebook-edit-OG35EBGY.js");
151581
151582
  return new NotebookEditTool(this);
151582
151583
  });
151583
151584
  await registerLazy(ToolNames.WRITE_FILE, async () => {
151584
- const { WriteFileTool: WriteFileTool2 } = await import("./write-file-CJK6SCCF.js");
151585
+ const { WriteFileTool: WriteFileTool2 } = await import("./write-file-UGDD5UTS.js");
151585
151586
  return new WriteFileTool2(this);
151586
151587
  });
151587
151588
  await registerLazy(ToolNames.SHELL, async () => {
151588
- const { ShellTool: ShellTool2 } = await import("./shell-OF3CK4AT.js");
151589
+ const { ShellTool: ShellTool2 } = await import("./shell-3QZOJGTT.js");
151589
151590
  return new ShellTool2(this);
151590
151591
  });
151591
151592
  await registerLazy(ToolNames.TODO_WRITE, async () => {
@@ -151601,26 +151602,26 @@ var Config = class _Config {
151601
151602
  }
151602
151603
  if (!this.sdkMode && (supportsUserInteraction || options2?.forSubAgent)) {
151603
151604
  await registerLazy(ToolNames.EXIT_PLAN_MODE, async () => {
151604
- const { ExitPlanModeTool: ExitPlanModeTool2 } = await import("./exitPlanMode-JVP4FNNK.js");
151605
+ const { ExitPlanModeTool: ExitPlanModeTool2 } = await import("./exitPlanMode-THFL2HYN.js");
151605
151606
  return new ExitPlanModeTool2(this);
151606
151607
  });
151607
151608
  }
151608
151609
  if (!this.sdkMode && supportsUserInteraction) {
151609
151610
  await registerLazy(ToolNames.ENTER_PLAN_MODE, async () => {
151610
- const { EnterPlanModeTool } = await import("./enterPlanMode-OW6S7L4P.js");
151611
+ const { EnterPlanModeTool } = await import("./enterPlanMode-CGBJ3AHJ.js");
151611
151612
  return new EnterPlanModeTool(this);
151612
151613
  });
151613
151614
  }
151614
151615
  await registerLazy(ToolNames.ENTER_WORKTREE, async () => {
151615
- const { EnterWorktreeTool } = await import("./enter-worktree-2HF6WQEO.js");
151616
+ const { EnterWorktreeTool } = await import("./enter-worktree-JPHV2PBG.js");
151616
151617
  return new EnterWorktreeTool(this);
151617
151618
  });
151618
151619
  await registerLazy(ToolNames.EXIT_WORKTREE, async () => {
151619
- const { ExitWorktreeTool } = await import("./exit-worktree-GHJEIRGL.js");
151620
+ const { ExitWorktreeTool } = await import("./exit-worktree-DKSGXW65.js");
151620
151621
  return new ExitWorktreeTool(this);
151621
151622
  });
151622
151623
  await registerLazy(ToolNames.WEB_FETCH, async () => {
151623
- const { WebFetchTool } = await import("./web-fetch-2JV7H6OM.js");
151624
+ const { WebFetchTool } = await import("./web-fetch-7BJK42AF.js");
151624
151625
  return new WebFetchTool(this);
151625
151626
  });
151626
151627
  if (resolveInteractionMode(this) === "interactive" && !this.sdkMode && !this.getScreenReader() && !options2?.forSubAgent) {
@@ -151630,11 +151631,11 @@ var Config = class _Config {
151630
151631
  });
151631
151632
  }
151632
151633
  if (this.webSearchSettings?.enabled) {
151633
- const { evaluateWebSearchGate } = await import("./web-search-RCTN2GAM.js");
151634
+ const { evaluateWebSearchGate } = await import("./web-search-L2CILQXV.js");
151634
151635
  const gate = evaluateWebSearchGate(this);
151635
151636
  if (gate.ok) {
151636
151637
  await registerLazy(ToolNames.WEB_SEARCH, async () => {
151637
- const { WebSearchTool } = await import("./web-search-RCTN2GAM.js");
151638
+ const { WebSearchTool } = await import("./web-search-L2CILQXV.js");
151638
151639
  return new WebSearchTool(this);
151639
151640
  });
151640
151641
  } else if (!this.webSearchNoticeEmitted && !options2?.forSubAgent) {
@@ -151686,7 +151687,7 @@ var Config = class _Config {
151686
151687
  });
151687
151688
  if (this.isAgentTeamEnabled()) {
151688
151689
  await registerLazy(ToolNames.TEAM_CREATE, async () => {
151689
- const { TeamCreateTool } = await import("./team-create-2E4ACBJD.js");
151690
+ const { TeamCreateTool } = await import("./team-create-4WFTNNUL.js");
151690
151691
  return new TeamCreateTool(this);
151691
151692
  });
151692
151693
  await registerLazy(ToolNames.TEAM_DELETE, async () => {
@@ -151694,7 +151695,7 @@ var Config = class _Config {
151694
151695
  return new TeamDeleteTool(this);
151695
151696
  });
151696
151697
  await registerLazy(ToolNames.TEAM_PLAN_APPROVAL, async () => {
151697
- const { TeamPlanApprovalTool } = await import("./team-plan-approval-LWIDXYOA.js");
151698
+ const { TeamPlanApprovalTool } = await import("./team-plan-approval-DBYI33S3.js");
151698
151699
  return new TeamPlanApprovalTool(this);
151699
151700
  });
151700
151701
  await registerLazy(ToolNames.TASK_CREATE, async () => {
@@ -151712,16 +151713,16 @@ var Config = class _Config {
151712
151713
  }
151713
151714
  if (this.isWorkflowsEnabled()) {
151714
151715
  await registerLazy(ToolNames.WORKFLOW, async () => {
151715
- const { WorkflowTool } = await import("./workflow-6MKLKQ6R.js");
151716
+ const { WorkflowTool } = await import("./workflow-5VH2R74I.js");
151716
151717
  return new WorkflowTool(this);
151717
151718
  });
151718
151719
  }
151719
151720
  if (this.isComputerUseEnabled()) {
151720
- const { registerComputerUseTools } = await import("./computer-use-SLN7DV2E.js");
151721
+ const { registerComputerUseTools } = await import("./computer-use-PMZ7ICGY.js");
151721
151722
  await registerComputerUseTools(registerLazy, this);
151722
151723
  }
151723
151724
  await registerLazy(ToolNames.MONITOR, async () => {
151724
- const { MonitorTool } = await import("./monitor-TZ2II7JM.js");
151725
+ const { MonitorTool } = await import("./monitor-7Y4TVFTK.js");
151725
151726
  return new MonitorTool(this);
151726
151727
  });
151727
151728
  if (this.pendingMcpBudgetCallback) {
@@ -17,7 +17,7 @@ import {
17
17
  isLoaderEnvKey,
18
18
  publishPendingCompileCache,
19
19
  reportRejectedLoaderKeys
20
- } from "./chunk-R4ZA6GBK.js";
20
+ } from "./chunk-VFMASYQA.js";
21
21
  import {
22
22
  buildTrustPrecedenceRules,
23
23
  require_strip_json_comments,
@@ -131,7 +131,6 @@ function findEnvFilesFastPath(settings, startDir, userLevelPaths = getUserLevelE
131
131
  realStartDir = fs.realpathSync(realStartDir);
132
132
  } catch {
133
133
  }
134
- const isTrusted = isWorkspaceTrustedFastPath(settings, realStartDir);
135
134
  const globalQwenDir = getGlobalQwenDirLite();
136
135
  const legacyQwenDir = path.normalize(
137
136
  path.join(homeDir, SETTINGS_DIRECTORY_NAME)
@@ -139,7 +138,13 @@ function findEnvFilesFastPath(settings, startDir, userLevelPaths = getUserLevelE
139
138
  const hasCustomConfigDir = path.normalize(globalQwenDir) !== legacyQwenDir;
140
139
  const found = [];
141
140
  const seen = /* @__PURE__ */ new Set();
142
- const canUseEnvFile = /* @__PURE__ */ __name((filePath) => isTrusted !== false || userLevelPaths.has(path.normalize(filePath)), "canUseEnvFile");
141
+ const canUseEnvFile = /* @__PURE__ */ __name((filePath) => {
142
+ const normalized = path.normalize(filePath);
143
+ if (userLevelPaths.has(normalized)) return true;
144
+ const dirPath = path.dirname(normalized);
145
+ const workspaceDir = path.basename(dirPath) === SETTINGS_DIRECTORY_NAME ? path.dirname(dirPath) : dirPath;
146
+ return isWorkspaceTrustedFastPath(settings, workspaceDir) !== false;
147
+ }, "canUseEnvFile");
143
148
  const pushCandidate = /* @__PURE__ */ __name((filePath) => {
144
149
  const normalized = path.normalize(filePath);
145
150
  if (!seen.has(normalized) && fs.existsSync(filePath) && canUseEnvFile(filePath)) {
@@ -11,11 +11,11 @@ import {
11
11
  } from "./chunk-DA4HRSBW.js";
12
12
  import {
13
13
  loadSettings
14
- } from "./chunk-HKI3KHAO.js";
14
+ } from "./chunk-JUWS2Z5K.js";
15
15
  import {
16
16
  SkillManager,
17
17
  isSafeModeEnv
18
- } from "./chunk-47ZUMGGY.js";
18
+ } from "./chunk-XX7QFP34.js";
19
19
  import {
20
20
  writeStderrLine
21
21
  } from "./chunk-KGJGEEVR.js";
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-MR3PXB6E.js";
13
13
  import {
14
14
  ideContextStore
15
- } from "./chunk-47ZUMGGY.js";
15
+ } from "./chunk-XX7QFP34.js";
16
16
  import {
17
17
  require_proper_lockfile
18
18
  } from "./chunk-KRXPRVGL.js";