@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
@@ -4,11 +4,15 @@ import {
4
4
  DEFAULT_EXCLUDED_ENV_VARS,
5
5
  HOME_ENV_BOOTSTRAP_KEYS,
6
6
  PROJECT_ENV_HARDCODED_EXCLUSIONS,
7
- publishPendingCompileCache
8
- } from "./chunk-6PEXNQTX.js";
7
+ isHardcodedProjectEnvExclusion,
8
+ isLoaderEnvKey,
9
+ publishPendingCompileCache,
10
+ reportRejectedLoaderKeys,
11
+ resetLoaderKeyRejectionReportingForTesting
12
+ } from "./chunk-UA5H3DS2.js";
9
13
  import {
10
14
  isWorkspaceTrusted
11
- } from "./chunk-6XU3PH66.js";
15
+ } from "./chunk-HA3SAB64.js";
12
16
  import {
13
17
  require_main
14
18
  } from "./chunk-5M6IDOMF.js";
@@ -34,17 +38,18 @@ import * as os from "node:os";
34
38
  var SETTINGS_DIRECTORY_NAME = QWEN_DIR;
35
39
  var RELOAD_EXCLUDED_KEYS = /* @__PURE__ */ new Set([
36
40
  ...PROJECT_ENV_HARDCODED_EXCLUSIONS,
41
+ // The daemon auth token: the full loader never takes it from
42
+ // settings.env, and a mid-session .env edit must not rotate it. (The
43
+ // serve fast path consults only the hardcoded tier, so its documented
44
+ // workspace-settings.env token feature is unaffected.)
37
45
  "QWEN_SERVER_TOKEN",
38
- "QWEN_CLI_ENTRY",
39
- "NODE_OPTIONS",
40
- "NODE_PATH",
41
- "NODE_TLS_REJECT_UNAUTHORIZED",
42
- "LD_PRELOAD",
43
- "LD_AUDIT",
46
+ // Loader-class keys are rejected by the isLoaderEnvKey guard before this
47
+ // Set is consulted, so they are not spread here. These three keep their
48
+ // pre-denylist reload-only exclusion: too compatibility-heavy for the
49
+ // inherited-env scrub (mainstream toolchain/app conventions), but a
50
+ // mid-session .env edit must still not apply them.
44
51
  "LD_LIBRARY_PATH",
45
- "DYLD_INSERT_LIBRARIES",
46
52
  "DYLD_LIBRARY_PATH",
47
- "BASH_ENV",
48
53
  "ENV",
49
54
  "PATH",
50
55
  "HOME",
@@ -52,6 +57,13 @@ var RELOAD_EXCLUDED_KEYS = /* @__PURE__ */ new Set([
52
57
  "TMP",
53
58
  "TEMP"
54
59
  ]);
60
+ var RELOAD_EXCLUDED_KEYS_CASEFOLDED = new Set(
61
+ [...RELOAD_EXCLUDED_KEYS].map((key) => key.toLowerCase())
62
+ );
63
+ function isReloadExcludedKey(key) {
64
+ return RELOAD_EXCLUDED_KEYS_CASEFOLDED.has(key.toLowerCase());
65
+ }
66
+ __name(isReloadExcludedKey, "isReloadExcludedKey");
55
67
  var dotEnvSourcedKeys = /* @__PURE__ */ new Set();
56
68
  var settingsEnvSourcedKeys = /* @__PURE__ */ new Set();
57
69
  var lastReloadSnapshot = /* @__PURE__ */ new Map();
@@ -101,7 +113,7 @@ function readHomeEnvInto(file) {
101
113
  }
102
114
  try {
103
115
  const parsed = dotenv.parse(fs.readFileSync(file, "utf-8"));
104
- for (const key of PROJECT_ENV_HARDCODED_EXCLUSIONS) {
116
+ for (const key of HOME_ENV_BOOTSTRAP_KEYS) {
105
117
  if (parsed[key] && !Object.hasOwn(process.env, key)) {
106
118
  process.env[key] = parsed[key];
107
119
  }
@@ -115,6 +127,7 @@ function resetHomeEnvBootstrapForTesting() {
115
127
  }
116
128
  __name(resetHomeEnvBootstrapForTesting, "resetHomeEnvBootstrapForTesting");
117
129
  function resetEnvironmentTrackingForTesting() {
130
+ resetLoaderKeyRejectionReportingForTesting();
118
131
  dotEnvSourcedKeys.clear();
119
132
  settingsEnvSourcedKeys.clear();
120
133
  lastReloadSnapshot.clear();
@@ -246,6 +259,7 @@ function parseEnvFiles(envFilePaths, userLevelPaths) {
246
259
  const isHomeScopedEnvFile = userLevelPaths.has(normalizedEnvFilePath);
247
260
  const isQwenScopedEnvFile = isHomeScopedEnvFile || path.basename(path.dirname(normalizedEnvFilePath)) === QWEN_DIR;
248
261
  files.push({
262
+ path: envFilePath,
249
263
  parsedEnv,
250
264
  isHomeScopedEnvFile,
251
265
  isQwenScopedEnvFile
@@ -262,8 +276,9 @@ function parseEnvFiles(envFilePaths, userLevelPaths) {
262
276
  __name(parseEnvFiles, "parseEnvFiles");
263
277
  function canApplyParsedEnvKey(envFile, key, excludedVars, options = {}) {
264
278
  if (!Object.hasOwn(envFile.parsedEnv, key)) return false;
265
- if (options.reload && RELOAD_EXCLUDED_KEYS.has(key)) return false;
266
- if (!envFile.isHomeScopedEnvFile && PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) {
279
+ if (isLoaderEnvKey(key)) return false;
280
+ if (options.reload && isReloadExcludedKey(key)) return false;
281
+ if (!envFile.isHomeScopedEnvFile && isHardcodedProjectEnvExclusion(key)) {
267
282
  return false;
268
283
  }
269
284
  return envFile.isQwenScopedEnvFile || !excludedVars.includes(key);
@@ -301,16 +316,25 @@ function buildRuntimeEnvironment(settings, startDir = process.cwd(), baseEnv = p
301
316
  }
302
317
  setRuntimeEnvIfUnset(effectiveEnv, key, envFile.parsedEnv[key]);
303
318
  }
319
+ reportRejectedLoaderKeys(
320
+ `.env file ${envFile.path}`,
321
+ Object.keys(envFile.parsedEnv)
322
+ );
304
323
  }
305
324
  if (settings.env) {
306
325
  const excludedVars = settings?.advanced?.excludedEnvVars || DEFAULT_EXCLUDED_ENV_VARS;
307
326
  for (const [key, value] of Object.entries(settings.env)) {
308
- if (RELOAD_EXCLUDED_KEYS.has(key)) continue;
309
- if (PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) continue;
327
+ if (isLoaderEnvKey(key)) continue;
328
+ if (isReloadExcludedKey(key)) continue;
329
+ if (isHardcodedProjectEnvExclusion(key)) continue;
310
330
  if (excludedVars.includes(key)) continue;
311
331
  if (typeof value !== "string") continue;
312
332
  setRuntimeEnvIfUnset(effectiveEnv, key, value);
313
333
  }
334
+ reportRejectedLoaderKeys(
335
+ `settings.env (${startDir})`,
336
+ Object.keys(settings.env)
337
+ );
314
338
  }
315
339
  const overlayKeys = Object.keys(effectiveEnv).filter((key) => effectiveEnv[key] !== baseEnv[key]).sort();
316
340
  return {
@@ -343,13 +367,20 @@ function loadEnvironment(settings, startDir = process.cwd()) {
343
367
  lastReloadSnapshot.set(key, envFile.parsedEnv[key]);
344
368
  }
345
369
  }
370
+ reportRejectedLoaderKeys(
371
+ `.env file ${envFile.path}`,
372
+ Object.keys(envFile.parsedEnv)
373
+ );
346
374
  }
347
375
  if (settings.env) {
348
376
  for (const [key, value] of Object.entries(settings.env)) {
349
- if (RELOAD_EXCLUDED_KEYS.has(key)) {
377
+ if (isLoaderEnvKey(key)) {
378
+ continue;
379
+ }
380
+ if (isReloadExcludedKey(key)) {
350
381
  continue;
351
382
  }
352
- if (PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) {
383
+ if (isHardcodedProjectEnvExclusion(key)) {
353
384
  continue;
354
385
  }
355
386
  const existingValue = process.env[key];
@@ -362,6 +393,10 @@ function loadEnvironment(settings, startDir = process.cwd()) {
362
393
  lastReloadSnapshot.set(key, value);
363
394
  }
364
395
  }
396
+ reportRejectedLoaderKeys(
397
+ `settings.env (${startDir})`,
398
+ Object.keys(settings.env)
399
+ );
365
400
  }
366
401
  lastReloadSnapshotSeeded = true;
367
402
  publishPendingCompileCache();
@@ -392,17 +427,26 @@ function reloadEnvironment(settings, workspaceCwd, workspaceTrusted) {
392
427
  newDotEnvKeys.set(key, envFile.parsedEnv[key]);
393
428
  }
394
429
  }
430
+ reportRejectedLoaderKeys(
431
+ `.env file ${envFile.path}`,
432
+ Object.keys(envFile.parsedEnv)
433
+ );
395
434
  }
396
435
  if (settings.env) {
397
436
  for (const [key, value] of Object.entries(settings.env)) {
398
- if (RELOAD_EXCLUDED_KEYS.has(key)) continue;
399
- if (PROJECT_ENV_HARDCODED_EXCLUSIONS.includes(key)) continue;
437
+ if (isLoaderEnvKey(key)) continue;
438
+ if (isReloadExcludedKey(key)) continue;
439
+ if (isHardcodedProjectEnvExclusion(key)) continue;
400
440
  if (typeof value !== "string") continue;
401
441
  const dotEnvValue = newDotEnvKeys.get(key);
402
442
  if (dotEnvValue !== void 0 && dotEnvValue !== "") continue;
403
443
  if (dotEnvReadFailed && lastReloadSnapshot.has(key)) continue;
404
444
  newSettingsEnvKeys.set(key, value);
405
445
  }
446
+ reportRejectedLoaderKeys(
447
+ `settings.env (${workspaceCwd})`,
448
+ Object.keys(settings.env)
449
+ );
406
450
  }
407
451
  const allNewKeys = /* @__PURE__ */ new Set([
408
452
  ...newDotEnvKeys.keys(),
@@ -417,7 +461,7 @@ function reloadEnvironment(settings, workspaceCwd, workspaceTrusted) {
417
461
  ...settingsEnvSourcedKeys
418
462
  ]);
419
463
  for (const key of previouslyKnown) {
420
- if (!allNewKeys.has(key) && !RELOAD_EXCLUDED_KEYS.has(key)) {
464
+ if (!allNewKeys.has(key) && !isReloadExcludedKey(key)) {
421
465
  delete process.env[key];
422
466
  removedKeys.push(key);
423
467
  }
@@ -5,10 +5,10 @@ import {
5
5
  } from "./chunk-DP3IHZGG.js";
6
6
  import {
7
7
  t
8
- } from "./chunk-DBOFL3LQ.js";
8
+ } from "./chunk-PG62DFWD.js";
9
9
  import {
10
10
  getNpmCliPath
11
- } from "./chunk-HYRDKNUY.js";
11
+ } from "./chunk-IUQ52YJK.js";
12
12
  import {
13
13
  getPackageJson
14
14
  } from "./chunk-VJNBRRZG.js";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  registerCleanup
5
- } from "./chunk-EORNAQDT.js";
5
+ } from "./chunk-6TR7CFXH.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
  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";
@@ -2,7 +2,7 @@
2
2
  "use strict";
3
3
  import {
4
4
  CHANNEL_STARTUP_PROFILE_VERSION
5
- } from "./chunk-R574ATRM.js";
5
+ } from "./chunk-M2PNLYGY.js";
6
6
  import {
7
7
  init_esbuild_shims
8
8
  } from "./chunk-5O2XNYP6.js";
@@ -0,0 +1,135 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ SchemaValidator
5
+ } from "./chunk-PYQADEFD.js";
6
+ import {
7
+ DEFAULT_QWEN_MODEL
8
+ } from "./chunk-F6WFNA7U.js";
9
+ import {
10
+ init_esbuild_shims
11
+ } from "./chunk-5O2XNYP6.js";
12
+ import {
13
+ __name
14
+ } from "./chunk-J2S4EL5Y.js";
15
+
16
+ // packages/core/src/utils/sideQuery.ts
17
+ init_esbuild_shims();
18
+ import { readFile } from "node:fs/promises";
19
+ function buildDefaultPromptId(purpose) {
20
+ return purpose ? `side-query:${purpose}` : "side-query";
21
+ }
22
+ __name(buildDefaultPromptId, "buildDefaultPromptId");
23
+ function resolveDefaultModel(config, override) {
24
+ return override ?? config.getFastModel?.() ?? config.getModel() ?? DEFAULT_QWEN_MODEL;
25
+ }
26
+ __name(resolveDefaultModel, "resolveDefaultModel");
27
+ function applyThinkingDefault(callerConfig) {
28
+ const thinkingOverride = callerConfig?.thinkingConfig;
29
+ return {
30
+ ...callerConfig ?? {},
31
+ thinkingConfig: thinkingOverride ? { includeThoughts: false, ...thinkingOverride } : { includeThoughts: false }
32
+ };
33
+ }
34
+ __name(applyThinkingDefault, "applyThinkingDefault");
35
+ async function getOutputLanguageInstruction(config) {
36
+ const outputLanguageFilePath = config.getOutputLanguageFilePath?.();
37
+ if (!outputLanguageFilePath) return void 0;
38
+ try {
39
+ const preference = (await readFile(outputLanguageFilePath, "utf8")).trim();
40
+ if (!preference) return void 0;
41
+ return [
42
+ "Follow the user-visible output language preference below for this side query.",
43
+ "This preference overrides any earlier language-selection rule in this system instruction.",
44
+ preference
45
+ ].join("\n\n");
46
+ } catch {
47
+ return void 0;
48
+ }
49
+ }
50
+ __name(getOutputLanguageInstruction, "getOutputLanguageInstruction");
51
+ function appendSystemInstruction(systemInstruction, outputLanguageInstruction) {
52
+ if (!outputLanguageInstruction) return systemInstruction;
53
+ if (systemInstruction === void 0) return outputLanguageInstruction;
54
+ if (typeof systemInstruction === "string") {
55
+ return `${systemInstruction}
56
+
57
+ ${outputLanguageInstruction}`;
58
+ }
59
+ if (Array.isArray(systemInstruction)) {
60
+ return [...systemInstruction, { text: outputLanguageInstruction }];
61
+ }
62
+ if (typeof systemInstruction === "object" && "parts" in systemInstruction && Array.isArray(systemInstruction.parts)) {
63
+ return {
64
+ ...systemInstruction,
65
+ parts: [...systemInstruction.parts, { text: outputLanguageInstruction }]
66
+ };
67
+ }
68
+ return [systemInstruction, { text: outputLanguageInstruction }];
69
+ }
70
+ __name(appendSystemInstruction, "appendSystemInstruction");
71
+ function isJsonOptions(options) {
72
+ return options.schema !== void 0 && options.schema !== null;
73
+ }
74
+ __name(isJsonOptions, "isJsonOptions");
75
+ async function runSideQuery(config, options) {
76
+ const model = resolveDefaultModel(config, options.model);
77
+ const promptId = options.promptId ?? buildDefaultPromptId(options.purpose);
78
+ const requestConfig = applyThinkingDefault(options.config);
79
+ const outputLanguageInstruction = options.skipOutputLanguagePreference ? void 0 : await getOutputLanguageInstruction(config);
80
+ const systemInstruction = appendSystemInstruction(
81
+ options.systemInstruction,
82
+ outputLanguageInstruction
83
+ );
84
+ if (isJsonOptions(options)) {
85
+ const response = await config.getBaseLlmClient().generateJson({
86
+ contents: options.contents,
87
+ schema: options.schema,
88
+ abortSignal: options.abortSignal,
89
+ model,
90
+ systemInstruction,
91
+ promptId,
92
+ config: requestConfig,
93
+ ...options.maxAttempts !== void 0 && {
94
+ maxAttempts: options.maxAttempts
95
+ }
96
+ });
97
+ const schemaError = SchemaValidator.validate(options.schema, response);
98
+ if (schemaError) {
99
+ throw new Error(`Invalid side query response: ${schemaError}`);
100
+ }
101
+ const customError2 = options.validate?.(response);
102
+ if (customError2) {
103
+ throw new Error(customError2);
104
+ }
105
+ return response;
106
+ }
107
+ const result = await config.getBaseLlmClient().generateText({
108
+ contents: options.contents,
109
+ model,
110
+ systemInstruction,
111
+ abortSignal: options.abortSignal,
112
+ promptId,
113
+ config: requestConfig,
114
+ ...options.maxAttempts !== void 0 && {
115
+ maxAttempts: options.maxAttempts
116
+ },
117
+ ...options.stream !== void 0 && { stream: options.stream },
118
+ ...options.failClosed !== void 0 && { failClosed: options.failClosed }
119
+ });
120
+ const customError = options.validate?.(result.text);
121
+ if (customError) {
122
+ throw new Error(customError);
123
+ }
124
+ return result;
125
+ }
126
+ __name(runSideQuery, "runSideQuery");
127
+
128
+ export {
129
+ runSideQuery
130
+ };
131
+ /**
132
+ * @license
133
+ * Copyright 2025 Google LLC
134
+ * SPDX-License-Identifier: Apache-2.0
135
+ */
@@ -0,0 +1,82 @@
1
+ // Force strict mode and setup for ESM
2
+ "use strict";
3
+ import {
4
+ isTeammate
5
+ } from "./chunk-S6LOFUVP.js";
6
+ import {
7
+ isInForkExecution
8
+ } from "./chunk-IA7TGCN2.js";
9
+ import {
10
+ init_esbuild_shims
11
+ } from "./chunk-5O2XNYP6.js";
12
+ import {
13
+ __name
14
+ } from "./chunk-J2S4EL5Y.js";
15
+
16
+ // packages/core/src/agents/runtime/agent-context.ts
17
+ init_esbuild_shims();
18
+ import { AsyncLocalStorage } from "node:async_hooks";
19
+ var storage = new AsyncLocalStorage();
20
+ function runWithAgentContext(agentId, fn, depthOverride) {
21
+ const current = storage.getStore() ?? {};
22
+ const depth = depthOverride ?? (current.depth ?? -1) + 1;
23
+ return storage.run({ ...current, agentId, depth }, fn);
24
+ }
25
+ __name(runWithAgentContext, "runWithAgentContext");
26
+ function runWithRuntimeContentGenerator(view, fn) {
27
+ const current = storage.getStore() ?? {};
28
+ return storage.run({ ...current, runtimeView: view }, fn);
29
+ }
30
+ __name(runWithRuntimeContentGenerator, "runWithRuntimeContentGenerator");
31
+ function getCurrentAgentId() {
32
+ return storage.getStore()?.agentId ?? null;
33
+ }
34
+ __name(getCurrentAgentId, "getCurrentAgentId");
35
+ function getCurrentAgentDepth() {
36
+ return storage.getStore()?.depth ?? 0;
37
+ }
38
+ __name(getCurrentAgentDepth, "getCurrentAgentDepth");
39
+ function getRuntimeContentGenerator() {
40
+ return storage.getStore()?.runtimeView;
41
+ }
42
+ __name(getRuntimeContentGenerator, "getRuntimeContentGenerator");
43
+ function runOutsideAgentContext(fn) {
44
+ return storage.exit(fn);
45
+ }
46
+ __name(runOutsideAgentContext, "runOutsideAgentContext");
47
+ function isTopLevelSession() {
48
+ return getCurrentAgentId() === null;
49
+ }
50
+ __name(isTopLevelSession, "isTopLevelSession");
51
+ function childLaunchDepth() {
52
+ return getCurrentAgentId() !== null ? getCurrentAgentDepth() + 1 : 0;
53
+ }
54
+ __name(childLaunchDepth, "childLaunchDepth");
55
+ function canSpawnNestedAgent(maxDepth) {
56
+ return childLaunchDepth() + 1 <= maxDepth;
57
+ }
58
+ __name(canSpawnNestedAgent, "canSpawnNestedAgent");
59
+ function spawnBlockReason(maxDepth) {
60
+ if (!canSpawnNestedAgent(maxDepth)) return "depth";
61
+ if (isTeammate()) return "teammate";
62
+ if (isInForkExecution()) return "fork";
63
+ return null;
64
+ }
65
+ __name(spawnBlockReason, "spawnBlockReason");
66
+
67
+ export {
68
+ runWithAgentContext,
69
+ runWithRuntimeContentGenerator,
70
+ getCurrentAgentId,
71
+ getCurrentAgentDepth,
72
+ getRuntimeContentGenerator,
73
+ runOutsideAgentContext,
74
+ isTopLevelSession,
75
+ childLaunchDepth,
76
+ spawnBlockReason
77
+ };
78
+ /**
79
+ * @license
80
+ * Copyright 2025 Qwen
81
+ * SPDX-License-Identifier: Apache-2.0
82
+ */