@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
@@ -113,7 +113,7 @@ import {
113
113
  metadataBudgetBytes,
114
114
  normalizeSnapshotPayload,
115
115
  stableSessionArtifactId
116
- } from "./chunk-47ZUMGGY.js";
116
+ } from "./chunk-XX7QFP34.js";
117
117
  import {
118
118
  DAEMON_TRACEPARENT_META_KEY,
119
119
  DAEMON_TRACESTATE_META_KEY
@@ -150,6 +150,7 @@ var LATEST_WINS_UPDATES = /* @__PURE__ */ new Set([
150
150
  "current_mode_update"
151
151
  ]);
152
152
  var REPLAY_SEGMENT_COMPACT_THRESHOLD = 64;
153
+ var LIVE_JOURNAL_TEXT_CHUNKS_PER_EVENT = 256;
153
154
  function replayRecordId(event) {
154
155
  if (event.type !== "session_update") return void 0;
155
156
  const data = event.data;
@@ -187,10 +188,14 @@ var TurnBoundaryCompactionEngine = class {
187
188
  replaySegmentStart = 0;
188
189
  replayBytes = 0;
189
190
  liveJournal = [];
190
- /** Serialized size of each `liveJournal` entry, index-parallel. */
191
+ /** Serialized source-event size of each `liveJournal` entry, index-parallel. */
191
192
  journalEntryBytes = [];
193
+ /** Raw event count represented by each `liveJournal` entry. */
194
+ journalEntryEvents = [];
192
195
  journalTotalBytes = 0;
196
+ journalTotalEvents = 0;
193
197
  journalTruncatedEvents = 0;
198
+ liveJournalTextSegment;
194
199
  lastEventId = 0;
195
200
  closed = false;
196
201
  truncatedEvents = 0;
@@ -235,15 +240,7 @@ var TurnBoundaryCompactionEngine = class {
235
240
  if (seenRecordId !== void 0) {
236
241
  this.activeRecordId = seenRecordId;
237
242
  }
238
- this.liveJournal.push(event);
239
- const bytes = byteLength ?? serializedBridgeEventByteLength(event) ?? 0;
240
- this.journalEntryBytes.push(bytes);
241
- this.journalTotalBytes += bytes;
242
- while (this.liveJournal.length > this.maxJournalEvents || this.journalTotalBytes > this.maxJournalBytes && this.liveJournal.length > 1) {
243
- this.liveJournal.shift();
244
- this.journalTotalBytes -= this.journalEntryBytes.shift() ?? 0;
245
- this.journalTruncatedEvents += 1;
246
- }
243
+ this.appendLiveJournal(event, byteLength);
247
244
  if (TURN_BOUNDARY_TYPES.has(event.type)) {
248
245
  this.compactCurrentTurn(event);
249
246
  return;
@@ -261,7 +258,13 @@ var TurnBoundaryCompactionEngine = class {
261
258
  this.makeHistoryTruncatedEvent(compactedTurns.length)
262
259
  );
263
260
  }
264
- const liveJournal = this.liveJournal.slice();
261
+ const liveJournal = this.liveJournal.map(
262
+ (entry) => isLiveJournalTextSegment(entry) ? mergeLiveJournalTextEvent(
263
+ entry.firstEvent,
264
+ entry.lastEvent,
265
+ entry.chunks
266
+ ) : entry
267
+ );
265
268
  if (this.journalTruncatedEvents > 0) {
266
269
  liveJournal.unshift({
267
270
  v: EVENT_SCHEMA_VERSION,
@@ -270,7 +273,7 @@ var TurnBoundaryCompactionEngine = class {
270
273
  reason: "replay_window_exceeded",
271
274
  scope: "live_journal",
272
275
  truncatedEvents: this.journalTruncatedEvents,
273
- retainedEvents: this.liveJournal.length,
276
+ retainedEvents: this.journalTotalEvents,
274
277
  maxBytes: this.maxJournalBytes,
275
278
  maxEvents: this.maxJournalEvents,
276
279
  // Pagination anchor — see makeHistoryTruncatedEvent.
@@ -343,6 +346,54 @@ var TurnBoundaryCompactionEngine = class {
343
346
  this.toolSlotIndex.clear();
344
347
  this.clearTextSlotIndex();
345
348
  }
349
+ appendLiveJournal(event, byteLength) {
350
+ const bytes = byteLength ?? serializedBridgeEventByteLength(event) ?? 0;
351
+ const textChunk = liveJournalTextChunk(event);
352
+ const current = this.liveJournalTextSegment;
353
+ const currentIndex = this.liveJournal.length - 1;
354
+ if (textChunk && current && this.liveJournal[currentIndex] === current && current.chunks.length < LIVE_JOURNAL_TEXT_CHUNKS_PER_EVENT && this.journalEntryBytes[currentIndex] + bytes <= this.maxJournalBytes && current.sessionUpdate === textChunk.sessionUpdate && current.parentToolCallId === textChunk.parentToolCallId && stringArraysEqual(current.sourceRecordIds, textChunk.sourceRecordIds) && current.promptId === event.promptId && current.originatorClientId === event.originatorClientId && current.sessionId === captureSessionId(event) && hasOnlyTimestampEnvelopeMeta(current.lastEvent._meta) && hasOnlyTimestampEnvelopeMeta(event._meta)) {
355
+ current.chunks.push(textChunk.text);
356
+ current.lastEvent = event;
357
+ this.journalEntryBytes[currentIndex] += bytes;
358
+ this.journalEntryEvents[currentIndex] += 1;
359
+ this.journalTotalBytes += bytes;
360
+ this.journalTotalEvents += 1;
361
+ } else {
362
+ let entry = event;
363
+ if (textChunk) {
364
+ const segment = {
365
+ sessionUpdate: textChunk.sessionUpdate,
366
+ chunks: [textChunk.text],
367
+ sourceRecordIds: textChunk.sourceRecordIds,
368
+ parentToolCallId: textChunk.parentToolCallId,
369
+ promptId: event.promptId,
370
+ originatorClientId: event.originatorClientId,
371
+ sessionId: captureSessionId(event),
372
+ firstEvent: event,
373
+ lastEvent: event
374
+ };
375
+ entry = segment;
376
+ this.liveJournalTextSegment = segment;
377
+ } else {
378
+ this.liveJournalTextSegment = void 0;
379
+ }
380
+ this.liveJournal.push(entry);
381
+ this.journalEntryBytes.push(bytes);
382
+ this.journalEntryEvents.push(1);
383
+ this.journalTotalBytes += bytes;
384
+ this.journalTotalEvents += 1;
385
+ }
386
+ while (this.liveJournal.length > this.maxJournalEvents || this.journalTotalBytes > this.maxJournalBytes && this.liveJournal.length > 1) {
387
+ const dropped = this.liveJournal.shift();
388
+ this.journalTotalBytes -= this.journalEntryBytes.shift() ?? 0;
389
+ const droppedEvents = this.journalEntryEvents.shift() ?? 0;
390
+ this.journalTotalEvents -= droppedEvents;
391
+ this.journalTruncatedEvents += droppedEvents;
392
+ if (dropped === this.liveJournalTextSegment) {
393
+ this.liveJournalTextSegment = void 0;
394
+ }
395
+ }
396
+ }
346
397
  classifySessionUpdate(event) {
347
398
  const data = event.data;
348
399
  const updateType = data?.update?.sessionUpdate;
@@ -352,7 +403,7 @@ var TurnBoundaryCompactionEngine = class {
352
403
  }
353
404
  switch (updateType) {
354
405
  case "agent_message_chunk": {
355
- if (hasTodoStopGuardDiscreteMeta(data?.update?._meta)) {
406
+ if (hasDiscreteMessageMeta(data?.update?._meta)) {
356
407
  this.slots.push({ kind: "misc", event });
357
408
  break;
358
409
  }
@@ -360,6 +411,10 @@ var TurnBoundaryCompactionEngine = class {
360
411
  break;
361
412
  }
362
413
  case "agent_thought_chunk": {
414
+ if (hasDiscreteMessageMeta(data?.update?._meta)) {
415
+ this.slots.push({ kind: "misc", event });
416
+ break;
417
+ }
363
418
  this.mergeTextSlot("thought", event, data);
364
419
  break;
365
420
  }
@@ -508,8 +563,11 @@ var TurnBoundaryCompactionEngine = class {
508
563
  resetJournal() {
509
564
  this.liveJournal = [];
510
565
  this.journalEntryBytes = [];
566
+ this.journalEntryEvents = [];
511
567
  this.journalTotalBytes = 0;
568
+ this.journalTotalEvents = 0;
512
569
  this.journalTruncatedEvents = 0;
570
+ this.liveJournalTextSegment = void 0;
513
571
  }
514
572
  addReplaySegment(events, turnCount) {
515
573
  if (events.length === 0) return;
@@ -627,6 +685,61 @@ var TurnBoundaryCompactionEngine = class {
627
685
  this.textSlotIndex.thought.clear();
628
686
  }
629
687
  };
688
+ function isLiveJournalTextSegment(entry) {
689
+ return "firstEvent" in entry;
690
+ }
691
+ __name(isLiveJournalTextSegment, "isLiveJournalTextSegment");
692
+ function liveJournalTextChunk(event) {
693
+ if (event.type !== "session_update") return void 0;
694
+ const data = event.data;
695
+ const sessionUpdate = data?.update?.sessionUpdate;
696
+ if (sessionUpdate !== "agent_message_chunk" && sessionUpdate !== "agent_thought_chunk") {
697
+ return void 0;
698
+ }
699
+ if (!hasOnlyModeledChunkKeys(data)) {
700
+ return void 0;
701
+ }
702
+ if (hasDiscreteMessageMeta(data?.update?._meta) || hasUnmodeledTextMeta(data?.update?._meta)) {
703
+ return void 0;
704
+ }
705
+ const content = data?.update?.content;
706
+ if (content?.type !== "text" || typeof content.text !== "string") {
707
+ return void 0;
708
+ }
709
+ return {
710
+ sessionUpdate,
711
+ text: content.text,
712
+ sourceRecordIds: extractSourceRecordIdsFromMeta(data?.update?._meta),
713
+ parentToolCallId: extractParentToolCallIdFromMeta(data?.update?._meta)
714
+ };
715
+ }
716
+ __name(liveJournalTextChunk, "liveJournalTextChunk");
717
+ function hasOnlyModeledChunkKeys(data) {
718
+ if (!data || !data.update) return false;
719
+ const content = data.update.content;
720
+ return Object.keys(data).every((key) => key === "sessionId" || key === "update") && Object.keys(data.update).every(
721
+ (key) => key === "sessionUpdate" || key === "content" || key === "_meta"
722
+ ) && (content === void 0 || typeof content === "object" && content !== null && Object.keys(content).every((key) => key === "type" || key === "text"));
723
+ }
724
+ __name(hasOnlyModeledChunkKeys, "hasOnlyModeledChunkKeys");
725
+ function mergeLiveJournalTextEvent(existing, incoming, chunks) {
726
+ const existingData = existing.data;
727
+ const incomingData = incoming.data;
728
+ return {
729
+ ...existing,
730
+ ...incoming,
731
+ data: {
732
+ ...existingData,
733
+ ...incomingData,
734
+ update: {
735
+ ...existingData.update,
736
+ ...incomingData.update,
737
+ content: { type: "text", text: chunks.join("") }
738
+ }
739
+ }
740
+ };
741
+ }
742
+ __name(mergeLiveJournalTextEvent, "mergeLiveJournalTextEvent");
630
743
  function makeMergedSessionUpdateEvent(sessionUpdate, text, eventId, meta, envelopeMeta, turn, sessionId) {
631
744
  return {
632
745
  id: eventId || void 0,
@@ -707,10 +820,57 @@ function stringArraysEqual(left, right) {
707
820
  return left.every((value, index) => value === right[index]);
708
821
  }
709
822
  __name(stringArraysEqual, "stringArraysEqual");
710
- function hasTodoStopGuardDiscreteMeta(meta) {
711
- return typeof meta === "object" && meta !== null && meta["qwenDiscreteMessage"] === true && meta["source"] === "todo_stop_guard";
823
+ function hasDiscreteMessageMeta(meta) {
824
+ return typeof meta === "object" && meta !== null && meta["qwenDiscreteMessage"] === true;
825
+ }
826
+ __name(hasDiscreteMessageMeta, "hasDiscreteMessageMeta");
827
+ function hasOnlyTimestampEnvelopeMeta(meta) {
828
+ if (meta === void 0) return true;
829
+ if (typeof meta !== "object" || meta === null) return false;
830
+ return Object.keys(meta).every(
831
+ (key) => key === "timestamp" || key === "serverTimestamp"
832
+ );
833
+ }
834
+ __name(hasOnlyTimestampEnvelopeMeta, "hasOnlyTimestampEnvelopeMeta");
835
+ function hasUnmodeledTextMeta(meta) {
836
+ if (meta === void 0) return false;
837
+ if (typeof meta !== "object" || meta === null) return true;
838
+ const record = meta;
839
+ for (const [key, value] of Object.entries(record)) {
840
+ if (key === "timestamp" || key === "serverTimestamp") {
841
+ continue;
842
+ }
843
+ if (key === "parentToolCallId") {
844
+ if (typeof value !== "string") return true;
845
+ continue;
846
+ }
847
+ if (key === "subagentType") {
848
+ if (typeof value !== "string") return true;
849
+ continue;
850
+ }
851
+ if (key === "qwenTranscript") {
852
+ if (typeof value !== "object" || value === null) return true;
853
+ const transcript = value;
854
+ for (const [field, fieldValue] of Object.entries(transcript)) {
855
+ if (field === "sourceRecordIds") {
856
+ if (!Array.isArray(fieldValue) || fieldValue.some((id) => typeof id !== "string")) {
857
+ return true;
858
+ }
859
+ continue;
860
+ }
861
+ if (field === "planToolCallId") {
862
+ if (typeof fieldValue !== "string") return true;
863
+ continue;
864
+ }
865
+ return true;
866
+ }
867
+ continue;
868
+ }
869
+ return true;
870
+ }
871
+ return false;
712
872
  }
713
- __name(hasTodoStopGuardDiscreteMeta, "hasTodoStopGuardDiscreteMeta");
873
+ __name(hasUnmodeledTextMeta, "hasUnmodeledTextMeta");
714
874
  function mergeToolCallEvent(existing, incoming) {
715
875
  const existingData = existing.data;
716
876
  const incomingData = incoming.data;
@@ -64,7 +64,7 @@ async function runExitCleanup(options = {}) {
64
64
  }
65
65
  __name(runExitCleanup, "runExitCleanup");
66
66
  async function cleanupCheckpoints() {
67
- const { Storage } = await import("./deferred-core-runtime-5SVUC6UC.js");
67
+ const { Storage } = await import("./deferred-core-runtime-SH57E3J3.js");
68
68
  const storage = new Storage(process.cwd());
69
69
  const tempDir = storage.getProjectTempDir();
70
70
  const checkpointsDir = join(tempDir, "checkpoints");
@@ -405,18 +405,18 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
405
405
  try {
406
406
  if (authType === "openai" /* USE_OPENAI */) {
407
407
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
408
- const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-OIGO5XNF.js");
408
+ const { createOpenAIContentGenerator } = await import("./openaiContentGenerator-443BNRPJ.js");
409
409
  return createOpenAIContentGenerator(generatorConfig, config);
410
410
  }, "loadBaseGenerator");
411
411
  } else if (authType === "qwen-oauth" /* QWEN_OAUTH */) {
412
- const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-7MTMS2Z5.js");
412
+ const { getQwenOAuthClient: getQwenOauthClient } = await import("./qwenOAuth2-Z4YQBMYN.js");
413
413
  try {
414
414
  const qwenClient = await getQwenOauthClient(
415
415
  config,
416
416
  isInitialAuth ? { requireCachedCredentials: true } : void 0
417
417
  );
418
418
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
419
- const { QwenContentGenerator } = await import("./qwenContentGenerator-HXM25BGB.js");
419
+ const { QwenContentGenerator } = await import("./qwenContentGenerator-D5C2LCSZ.js");
420
420
  return new QwenContentGenerator(qwenClient, generatorConfig, config);
421
421
  }, "loadBaseGenerator");
422
422
  } catch (error) {
@@ -432,7 +432,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
432
432
  }, "loadBaseGenerator");
433
433
  } else if (authType === "gemini" /* USE_GEMINI */ || authType === "vertex-ai" /* USE_VERTEX_AI */) {
434
434
  loadBaseGenerator = /* @__PURE__ */ __name(async () => {
435
- const { createGeminiContentGenerator } = await import("./geminiContentGenerator-LVPMQUWX.js");
435
+ const { createGeminiContentGenerator } = await import("./geminiContentGenerator-YYFE2HIE.js");
436
436
  return createGeminiContentGenerator(generatorConfig, config);
437
437
  }, "loadBaseGenerator");
438
438
  } else {
@@ -448,7 +448,7 @@ async function createContentGenerator(generatorConfig, config, isInitialAuth) {
448
448
  try {
449
449
  const [baseGenerator, { LoggingContentGenerator }] = await Promise.all([
450
450
  loadBaseGenerator(),
451
- import("./loggingContentGenerator-A5I3VQUC.js")
451
+ import("./loggingContentGenerator-RBLNDREC.js")
452
452
  ]);
453
453
  return new LoggingContentGenerator(
454
454
  baseGenerator,
@@ -7,7 +7,7 @@ import {
7
7
  import {
8
8
  loadSettings,
9
9
  saveSettings
10
- } from "./chunk-HKI3KHAO.js";
10
+ } from "./chunk-JUWS2Z5K.js";
11
11
  import {
12
12
  init_esbuild_shims
13
13
  } from "./chunk-5O2XNYP6.js";
@@ -5,7 +5,7 @@ import {
5
5
  isTranscribableVoiceModel,
6
6
  readVoiceLanguage,
7
7
  resolveVoiceTransport
8
- } from "./chunk-HDYQYYWB.js";
8
+ } from "./chunk-GAKGOXTC.js";
9
9
  import {
10
10
  resolvePath
11
11
  } from "./chunk-AOHJKPKL.js";
@@ -8,10 +8,10 @@ import {
8
8
  } from "./chunk-3Z43GZUQ.js";
9
9
  import {
10
10
  t
11
- } from "./chunk-BL65MO72.js";
11
+ } from "./chunk-WP5VOXF7.js";
12
12
  import {
13
13
  So
14
- } from "./chunk-47ZUMGGY.js";
14
+ } from "./chunk-XX7QFP34.js";
15
15
  import {
16
16
  createDebugLogger
17
17
  } from "./chunk-OIVKILPI.js";
@@ -2,19 +2,19 @@
2
2
  "use strict";
3
3
  import {
4
4
  getErrorMessage
5
- } from "./chunk-P5ULXPK5.js";
5
+ } from "./chunk-P2FK2HBV.js";
6
6
  import {
7
7
  extensionToOutputString,
8
8
  getExtensionManager
9
- } from "./chunk-TWFFY5BP.js";
9
+ } from "./chunk-HADWBW5R.js";
10
10
  import {
11
11
  loadSettings
12
- } from "./chunk-HKI3KHAO.js";
12
+ } from "./chunk-JUWS2Z5K.js";
13
13
  import {
14
14
  initializeI18n,
15
15
  resolveLanguageSetting,
16
16
  t
17
- } from "./chunk-BL65MO72.js";
17
+ } from "./chunk-WP5VOXF7.js";
18
18
  import {
19
19
  writeStderrLine,
20
20
  writeStdoutLine
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-DP3IHZGG.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-BL65MO72.js";
8
+ } from "./chunk-WP5VOXF7.js";
9
9
  import {
10
10
  getNpmCliPath
11
- } from "./chunk-2545EHZR.js";
11
+ } from "./chunk-BIRWP6LU.js";
12
12
  import {
13
13
  getPackageJson
14
14
  } from "./chunk-VJNBRRZG.js";
@@ -9,10 +9,10 @@ import {
9
9
  publishPendingCompileCache,
10
10
  reportRejectedLoaderKeys,
11
11
  resetLoaderKeyRejectionReportingForTesting
12
- } from "./chunk-R4ZA6GBK.js";
12
+ } from "./chunk-VFMASYQA.js";
13
13
  import {
14
14
  isWorkspaceTrusted
15
- } from "./chunk-YR7ZQ4RD.js";
15
+ } from "./chunk-ZOSTTOUJ.js";
16
16
  import {
17
17
  require_main
18
18
  } from "./chunk-5M6IDOMF.js";
@@ -61,7 +61,12 @@ var RELOAD_EXCLUDED_KEYS_CASEFOLDED = new Set(
61
61
  [...RELOAD_EXCLUDED_KEYS].map((key) => key.toLowerCase())
62
62
  );
63
63
  function isReloadExcludedKey(key) {
64
- return RELOAD_EXCLUDED_KEYS_CASEFOLDED.has(key.toLowerCase());
64
+ return RELOAD_EXCLUDED_KEYS_CASEFOLDED.has(key.toLowerCase()) || // The hardcoded tier's pattern-matched keys (numbered
65
+ // GIT_CONFIG_KEY_<n>/GIT_CONFIG_VALUE_<n> pairs) must freeze on reload
66
+ // together with their literal sibling GIT_CONFIG_COUNT — one mechanism,
67
+ // one gate. The literal hardcoded exclusions are already spread into
68
+ // RELOAD_EXCLUDED_KEYS, so this adds exactly the pattern coverage.
69
+ isHardcodedProjectEnvExclusion(key);
65
70
  }
66
71
  __name(isReloadExcludedKey, "isReloadExcludedKey");
67
72
  var dotEnvSourcedKeys = /* @__PURE__ */ new Set();
@@ -168,13 +173,19 @@ function findEnvFiles(settings, startDir, userLevelPaths = getUserLevelEnvPaths(
168
173
  realStartDir = fs.realpathSync(realStartDir);
169
174
  } catch {
170
175
  }
171
- const isTrusted = workspaceTrusted ?? isWorkspaceTrusted(settings, void 0, realStartDir).isTrusted;
172
176
  const globalQwenDir = Storage.getGlobalQwenDir();
173
177
  const legacyQwenDir = path.normalize(path.join(homeDir, QWEN_DIR));
174
178
  const hasCustomConfigDir = path.normalize(globalQwenDir) !== legacyQwenDir;
175
179
  const found = [];
176
180
  const seen = /* @__PURE__ */ new Set();
177
- const canUseEnvFile = /* @__PURE__ */ __name((filePath) => isTrusted !== false || userLevelPaths.has(path.normalize(filePath)), "canUseEnvFile");
181
+ const canUseEnvFile = /* @__PURE__ */ __name((filePath) => {
182
+ const normalized = path.normalize(filePath);
183
+ if (userLevelPaths.has(normalized)) return true;
184
+ const dirPath = path.dirname(normalized);
185
+ const workspaceDir = path.basename(dirPath) === SETTINGS_DIRECTORY_NAME ? path.dirname(dirPath) : dirPath;
186
+ const trusted = workspaceTrusted !== void 0 && workspaceDir === realStartDir ? workspaceTrusted : isWorkspaceTrusted(settings, void 0, workspaceDir).isTrusted;
187
+ return trusted !== false;
188
+ }, "canUseEnvFile");
178
189
  const pushCandidate = /* @__PURE__ */ __name((filePath) => {
179
190
  const normalized = path.normalize(filePath);
180
191
  if (!seen.has(normalized) && fs.existsSync(filePath) && canUseEnvFile(filePath)) {
@@ -2,13 +2,13 @@
2
2
  "use strict";
3
3
  import {
4
4
  t
5
- } from "./chunk-BL65MO72.js";
5
+ } from "./chunk-WP5VOXF7.js";
6
6
  import {
7
7
  SessionReferenceService,
8
8
  SessionService,
9
9
  readManyFiles,
10
10
  stripTerminalControlSequences
11
- } from "./chunk-47ZUMGGY.js";
11
+ } from "./chunk-XX7QFP34.js";
12
12
  import {
13
13
  emptyMcpResourceText,
14
14
  formatMcpResourceContents,
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  BaseJsonOutputAdapter
5
- } from "./chunk-E2N554HK.js";
5
+ } from "./chunk-HZGBKOX3.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  runExitCleanup
5
- } from "./chunk-RQ6U2JJQ.js";
5
+ } from "./chunk-PNBBJOCP.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";