@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.
- package/README.md +2 -0
- package/bundled/qc-helper/docs/configuration/settings.md +43 -30
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +40 -2
- package/bundled/qc-helper/docs/features/channels/feishu.md +13 -2
- package/bundled/qc-helper/docs/features/channels/github.md +13 -11
- package/bundled/qc-helper/docs/features/channels/gitlab.md +13 -11
- package/bundled/qc-helper/docs/features/channels/overview.md +49 -31
- package/bundled/qc-helper/docs/features/channels/plugins.md +2 -2
- package/bundled/qc-helper/docs/features/channels/qqbot.md +4 -2
- package/bundled/qc-helper/docs/features/channels/telegram.md +4 -2
- package/bundled/qc-helper/docs/features/channels/wecom.md +1 -1
- package/bundled/qc-helper/docs/features/code-review.md +4 -0
- package/bundled/qc-helper/docs/features/commands.md +1 -1
- package/bundled/qc-helper/docs/features/hooks.md +52 -0
- package/bundled/qc-helper/docs/integration-jetbrains.md +1 -0
- package/bundled/qc-helper/docs/qwen-serve.md +4 -1
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +50 -36
- package/bundled/review/SKILL.md +28 -5
- package/chunks/{MaxSizedBox-ANWZBPTS.js → MaxSizedBox-7PM6BGJ5.js} +26 -22
- package/chunks/{StandaloneSessionPicker-XKS3VU3A.js → StandaloneSessionPicker-3UQHM7GV.js} +44 -40
- package/chunks/{acp-startup-profiler-ORIQ2CCQ.js → acp-startup-profiler-B5BYAMYQ.js} +2 -2
- package/chunks/{acpAgent-KUAZ3GCZ.js → acpAgent-5UWLFV6V.js} +534 -262
- package/chunks/{agent-T6PTGX5R.js → agent-624T2BLO.js} +26 -22
- package/chunks/{agent-headless-PR7YCB7S.js → agent-headless-2EE5J2KX.js} +26 -22
- package/chunks/{artifact-tool-U4VOZIK5.js → artifact-tool-N652YE4L.js} +1 -1
- package/chunks/{askUserQuestion-XOBQLPFA.js → askUserQuestion-ONW74PKJ.js} +1 -1
- package/chunks/{bridge-NU6YEEHK.js → bridge-JENKGFFP.js} +29 -25
- package/chunks/{ca-NYKNH222.js → ca-ZLKAB4K3.js} +6 -0
- package/chunks/{channel-management-service-FSQ7SHYI.js → channel-management-service-DDWUPHMU.js} +19 -10
- package/chunks/{channel-settings-store-35VQVUVV.js → channel-settings-store-SA6JZSPH.js} +34 -30
- package/chunks/{channel-worker-group-JWQK224X.js → channel-worker-group-E67EN3RV.js} +5 -5
- package/chunks/{channel-worker-manager-77E3OXRQ.js → channel-worker-manager-SW4C45CF.js} +5 -5
- package/chunks/{channel-worker-supervisor-62YWUGP2.js → channel-worker-supervisor-5SRD24FG.js} +3 -3
- package/chunks/{chunk-CJXIIILK.js → chunk-2FRY5CRX.js} +1 -1
- package/chunks/{chunk-ZJ3VGYHK.js → chunk-2ILAOM2I.js} +34 -17
- package/chunks/{chunk-6XJMFJ4D.js → chunk-2M4K4KYS.js} +177 -120
- package/chunks/{chunk-CNIID3TV.js → chunk-2UUMVNYT.js} +1 -1
- package/chunks/{chunk-22NBYCPD.js → chunk-3P2LV43B.js} +1 -1
- package/chunks/{chunk-2U3WZGZG.js → chunk-3PY4LPJF.js} +19 -131
- package/chunks/{chunk-SPMY6CX6.js → chunk-3SE7J4DR.js} +3 -3
- package/chunks/{chunk-6UWFTUQL.js → chunk-3WNQOYHQ.js} +66 -22
- package/chunks/{chunk-KXSDEOFU.js → chunk-4ALIARFY.js} +1 -1
- package/chunks/{chunk-D3UEZIQH.js → chunk-4DU3NCHG.js} +48 -55
- package/chunks/{chunk-BGG4MBYD.js → chunk-4PYCZH2V.js} +4 -187
- package/chunks/{chunk-H2UQ2M5Z.js → chunk-4WU6NY7F.js} +96 -22
- package/chunks/{chunk-TLV2IMHR.js → chunk-5ZGR6RKJ.js} +3 -3
- package/chunks/{chunk-3K7FH2KQ.js → chunk-67N6HB5H.js} +1310 -171
- package/chunks/{chunk-EORNAQDT.js → chunk-6TR7CFXH.js} +1 -1
- package/chunks/{chunk-NG2R4N5O.js → chunk-6ZRFAKXK.js} +1 -1
- package/chunks/{chunk-P2AJ7FTI.js → chunk-757GB46F.js} +1 -1
- package/chunks/{chunk-72LNFGUY.js → chunk-77QVBFCU.js} +3 -3
- package/chunks/{chunk-OH2VKQXH.js → chunk-7DVT4LVV.js} +37 -30
- package/chunks/{chunk-KKJJB5X6.js → chunk-7VUERJHS.js} +1503 -815
- package/chunks/{chunk-VOARQPTA.js → chunk-B52AWKBB.js} +65 -21
- package/chunks/{chunk-Y4EWSQF7.js → chunk-BF224XHL.js} +2 -2
- package/chunks/{chunk-PJOBIWUG.js → chunk-BF52U4XJ.js} +1 -1
- package/chunks/{chunk-55LYDVPU.js → chunk-C5VWPTGT.js} +1 -1
- package/chunks/{chunk-W7U4ESW2.js → chunk-CG3WBKJK.js} +1 -1
- package/chunks/chunk-COBO5EBO.js +135 -0
- package/chunks/chunk-CPG6P4GG.js +82 -0
- package/chunks/{chunk-DIEFUBV6.js → chunk-DIWZNWZT.js} +205 -35
- package/chunks/{chunk-AE77C5ZU.js → chunk-DQSDACD2.js} +1 -1
- package/chunks/{chunk-P3LEG54R.js → chunk-DX5W5AON.js} +2 -2
- package/chunks/{chunk-EUQTXRKZ.js → chunk-E4ZBKMSF.js} +5 -5
- package/chunks/{chunk-FPM27XN4.js → chunk-EIVICVHM.js} +4 -4
- package/chunks/{chunk-YHEEE624.js → chunk-EN2TKTFH.js} +1 -1
- package/chunks/chunk-F6WFNA7U.js +22 -0
- package/chunks/{chunk-FZBZSYKU.js → chunk-FN6YXJOP.js} +1 -1
- package/chunks/{chunk-KR4ZSC7K.js → chunk-FWBXMANW.js} +3 -3
- package/chunks/{chunk-LA7YLSR6.js → chunk-FYAXKJK7.js} +327 -67
- package/chunks/{chunk-CSZEXZBE.js → chunk-GBDINRIL.js} +3 -3
- package/chunks/{chunk-SCI7K3GM.js → chunk-GOEVOFQI.js} +19 -10
- package/chunks/{chunk-LEMXGVEP.js → chunk-GQCEQPYQ.js} +3 -3
- package/chunks/{chunk-Y7E5LNLO.js → chunk-GXSNGY5M.js} +1027 -876
- package/chunks/{chunk-6XU3PH66.js → chunk-HA3SAB64.js} +22 -69
- package/chunks/{chunk-Y4NGLFGJ.js → chunk-HUWENAHO.js} +1 -1
- package/chunks/{chunk-3ULCB3NE.js → chunk-HV76SFIA.js} +1 -1
- package/chunks/{chunk-CB2464BK.js → chunk-HWX5HPUG.js} +14 -4
- package/chunks/{chunk-LZC3B5N2.js → chunk-IA7TGCN2.js} +2 -2
- package/chunks/{chunk-RERATVSK.js → chunk-IBYULW65.js} +6 -6
- package/chunks/{chunk-HYRDKNUY.js → chunk-IUQ52YJK.js} +1 -1
- package/chunks/{chunk-TDXGKHDN.js → chunk-IYES5WOT.js} +2 -2
- package/chunks/{chunk-RGSBTHSU.js → chunk-KAQCJO6Y.js} +131 -4
- package/chunks/{chunk-VWOVHOTT.js → chunk-KJZ26VBX.js} +1 -1
- package/chunks/{chunk-6GONZVLS.js → chunk-KKDVZLGL.js} +1 -1
- package/chunks/{chunk-MKVZE4ZJ.js → chunk-KTJFU7RT.js} +3 -2
- package/chunks/{chunk-R574ATRM.js → chunk-M2PNLYGY.js} +41 -0
- package/chunks/{chunk-6EOI4HOK.js → chunk-M3STHEMM.js} +12 -17
- package/chunks/chunk-NGYI5EF5.js +244 -0
- package/chunks/{chunk-ALGGS7UH.js → chunk-NPQ5ZKRP.js} +82 -1
- package/chunks/{chunk-HQB2KUAN.js → chunk-NPUXXRJI.js} +1 -1
- package/chunks/{chunk-QETYKPMG.js → chunk-NVRDQFCX.js} +1 -1
- package/chunks/{chunk-PQBHU2IA.js → chunk-OHKJVAKG.js} +10 -10
- package/chunks/{chunk-CYR3HI5X.js → chunk-OQTXYMKW.js} +2 -2
- package/chunks/{chunk-DBOFL3LQ.js → chunk-PG62DFWD.js} +10 -10
- package/chunks/{chunk-2VSTGY6M.js → chunk-PJRW65JO.js} +1 -1
- package/chunks/{chunk-33ACCIIY.js → chunk-PLFATELK.js} +1 -1
- package/chunks/{chunk-IC4Z6LX6.js → chunk-PYQADEFD.js} +5 -0
- package/chunks/{chunk-MAJS7AT4.js → chunk-QGHSP65Z.js} +2 -2
- package/chunks/{chunk-OHJLEW5J.js → chunk-QQWD7LZV.js} +4 -4
- package/chunks/{chunk-ZXU5UHMI.js → chunk-QXVSWG66.js} +2 -2
- package/chunks/{chunk-E33LOKRA.js → chunk-RPWVIXDB.js} +18 -1
- package/chunks/{chunk-TYKC75AX.js → chunk-S3Y3GBFD.js} +1 -1
- package/chunks/{chunk-7UFKAV7Y.js → chunk-S6HYI3MF.js} +2 -2
- package/chunks/chunk-SAH4BD2J.js +92 -0
- package/chunks/{chunk-OMKQH5C5.js → chunk-SNRT2TJJ.js} +6 -23
- package/chunks/chunk-SR7RZ4MS.js +202 -0
- package/chunks/{chunk-CXE7E23H.js → chunk-TE3ZAJE7.js} +45 -17
- package/chunks/{chunk-S7CV4KO6.js → chunk-TKSZJ5BV.js} +3 -3
- package/chunks/{chunk-3NB7TSE2.js → chunk-U5SLIG7E.js} +1 -1
- package/chunks/chunk-UA5H3DS2.js +203 -0
- package/chunks/{chunk-24ER7UV4.js → chunk-UFALT4LK.js} +1 -1
- package/chunks/{chunk-YJQCUTT2.js → chunk-VWMUDKLC.js} +3 -3
- package/chunks/{chunk-RMH5OWLD.js → chunk-VXZ5HAOV.js} +1 -1
- package/chunks/{chunk-BVWVWGLE.js → chunk-WAUGQKUU.js} +4 -64
- package/chunks/{chunk-SHZYHGQH.js → chunk-WG6542MA.js} +1 -1
- package/chunks/{chunk-5KH532V7.js → chunk-WV5J6Q6N.js} +1 -1
- package/chunks/{chunk-RNVQB725.js → chunk-XHD7CRP2.js} +2 -2
- package/chunks/{chunk-W4B7UBUS.js → chunk-XZKQT2B2.js} +5 -5
- package/chunks/{chunk-6HVUFDS2.js → chunk-Y4TETC74.js} +22 -13
- package/chunks/{chunk-RZHU3ILK.js → chunk-YEF7XEO2.js} +4 -4
- package/chunks/{chunk-RUL4S3K3.js → chunk-YHJFF7KH.js} +146 -45
- package/chunks/{chunk-23RZCH76.js → chunk-YOM7DEGB.js} +3 -3
- package/chunks/{chunk-OFI7IGST.js → chunk-ZCLLJARV.js} +9 -9
- package/chunks/{chunk-GSS34377.js → chunk-ZHA242R4.js} +2 -2
- package/chunks/{chunk-TRLYP7OF.js → chunk-ZPLALRXZ.js} +17 -9
- package/chunks/{chunk-WUC6ZFXO.js → chunk-ZWBUH5UP.js} +1 -1
- package/chunks/{computer-use-KEAPATUY.js → computer-use-ESQYJ3JY.js} +26 -22
- package/chunks/{config-utils-K7SCOWHD.js → config-utils-XQHBJP7G.js} +4 -4
- package/chunks/{contextCommand-ZJA6A5K5.js → contextCommand-CX3YF4ZE.js} +28 -24
- package/chunks/{core-runtime-QMJPWHCI.js → core-runtime-DIAU7JMG.js} +30 -26
- package/chunks/{create-sub-session-DJE6XICH.js → create-sub-session-HDPD6HOA.js} +26 -22
- package/chunks/{create-sub-session-E4PBYXV5.js → create-sub-session-QIDZUOPU.js} +1 -1
- package/chunks/{cron-create-GRBWYMIJ.js → cron-create-VONA5JYY.js} +1 -1
- package/chunks/{cron-delete-4CMKBR2M.js → cron-delete-5JXSP2MI.js} +1 -1
- package/chunks/{cron-list-W7K4ASOA.js → cron-list-KE4F2CIR.js} +1 -1
- package/chunks/{daemon-SCTQMM7Z.js → daemon-VZBGJUNL.js} +30 -0
- package/chunks/{daemon-status-provider-FSWDPE2G.js → daemon-status-provider-H6O4UQ4F.js} +33 -29
- package/chunks/{daemon-trust-policy-P5L5VFAY.js → daemon-trust-policy-BNUXG6MT.js} +33 -29
- package/chunks/{daemon-trust-policy-monitor-73JYN6ET.js → daemon-trust-policy-monitor-E4EQ7GF4.js} +33 -29
- package/chunks/{de-VL76CPLV.js → de-LIW4XVLN.js} +5 -0
- package/chunks/{deferred-core-runtime-BWRCCFTE.js → deferred-core-runtime-CBMSHPAU.js} +26 -22
- package/chunks/{display-image-O2XFPQTC.js → display-image-NQRSIBXM.js} +2 -2
- package/chunks/{dist-DPPHJAVL.js → dist-EEEQGCZA.js} +918 -142
- package/chunks/{dist-K4WWQBHS.js → dist-HIACTZEK.js} +55 -15
- package/chunks/{dist-3BMEUGTG.js → dist-IRL7WA5Z.js} +1 -1
- package/chunks/{dist-HVBMEYWK.js → dist-KVISB2O2.js} +1 -1
- package/chunks/{dist-KS4O2NKE.js → dist-MBF3I5MX.js} +14 -8
- package/chunks/{dist-SFQ34F4M.js → dist-MKX5OSFF.js} +5 -4
- package/chunks/{dist-7JGAAQSC.js → dist-RCH3I7SS.js} +2 -2
- package/chunks/{dist-C5U4LJKW.js → dist-TUSWNE2I.js} +5 -4
- package/chunks/{earlyInputCapture-L5ST23A6.js → earlyInputCapture-UIOP7OIN.js} +26 -22
- package/chunks/{edit-LHHRFNFK.js → edit-ITMZYFKA.js} +26 -22
- package/chunks/{en-IRJ2WN5T.js → en-SY5GTIGX.js} +6 -0
- package/chunks/{enter-worktree-6NXCRZPF.js → enter-worktree-S4PL5UV6.js} +26 -22
- package/chunks/{enterPlanMode-ZVQT4U7D.js → enterPlanMode-YV52NNJT.js} +26 -22
- package/chunks/{environment-GJ2HWJOS.js → environment-NGOWPRZV.js} +30 -26
- package/chunks/{errors-6RLH3XXC.js → errors-BU26DTDX.js} +28 -24
- package/chunks/{exit-worktree-I2YLUHHY.js → exit-worktree-XRM6LH5F.js} +26 -22
- package/chunks/{exitPlanMode-7CCWKO7I.js → exitPlanMode-ZLI5F7KR.js} +26 -22
- package/chunks/{fast-path-DVFD4HQD.js → fast-path-UJWORIED.js} +23 -3
- package/chunks/{fast-path-settings-WQJU2LAT.js → fast-path-settings-37WQD5B2.js} +6 -3
- package/chunks/{fr-GK3HQYVB.js → fr-RQFO7U4P.js} +5 -0
- package/chunks/{gemini-7FWGOYD4.js → gemini-ZSKNDUMU.js} +77 -65
- package/chunks/{geminiContentGenerator-V2WVLIXU.js → geminiContentGenerator-YGEXOEKD.js} +1 -1
- package/chunks/{glob-3N6GGI75.js → glob-7KZG44BR.js} +26 -22
- package/chunks/{goal-tools-APOW6UXL.js → goal-tools-PXWN5VK3.js} +4 -2
- package/chunks/{grep-V43ILZVX.js → grep-6ZFC7RJ5.js} +26 -22
- package/chunks/{handleAutoUpdate-A5WFVWIA.js → handleAutoUpdate-KSEL3TQS.js} +30 -26
- package/chunks/{i18n-PLVQ4FBZ.js → i18n-ZIUXBW5V.js} +27 -23
- package/chunks/{image-gen-7C6IK6DC.js → image-gen-AUIZJJNK.js} +7 -5
- package/chunks/{initializer-CVAIKZYL.js → initializer-7AHY3N6Q.js} +33 -29
- package/chunks/{installationInfo-J6QDHNTK.js → installationInfo-VGBXMYLY.js} +27 -23
- package/chunks/{ja-3FA46IKD.js → ja-KOZKHJHZ.js} +5 -0
- package/chunks/{list-ZZ4OUUWV.js → list-PSFKQHLB.js} +36 -32
- package/chunks/{list-agents-KFFIIS2G.js → list-agents-Z4WABFDZ.js} +1 -1
- package/chunks/{loadedSettingsAdapter-QRYRJSWL.js → loadedSettingsAdapter-FTMRCTOF.js} +33 -29
- package/chunks/{loggingContentGenerator-OJCO75HM.js → loggingContentGenerator-MZAN52UV.js} +7 -5
- package/chunks/{loop-wakeup-TLMJPMMP.js → loop-wakeup-UZ5RL5Y2.js} +2 -2
- package/chunks/{ls-UVVE2XGE.js → ls-TVHDGIES.js} +1 -1
- package/chunks/{lsp-QMEA2VLB.js → lsp-CVN6OQPI.js} +1 -1
- package/chunks/{managed-npm-update-PCOSCP2N.js → managed-npm-update-O4NHK45X.js} +27 -23
- package/chunks/{mcp-M3WKKWKY.js → mcp-6CFP2AYQ.js} +33 -29
- package/chunks/{monitor-GN24FH6C.js → monitor-DAKD6OU4.js} +26 -22
- package/chunks/{nonInteractiveCli-KPTU3VSQ.js → nonInteractiveCli-RC7VIUZL.js} +66 -60
- package/chunks/{notebook-edit-4YM65BBO.js → notebook-edit-474DPMRL.js} +34 -22
- package/chunks/{openaiContentGenerator-EDQT6GTV.js → openaiContentGenerator-2NFY2MWO.js} +19 -9
- package/chunks/{pidfile-JOIIRN2C.js → pidfile-KBFVDNQP.js} +26 -22
- package/chunks/{process-registry-2CHQBXH5.js → process-registry-PMJOA5CO.js} +15 -0
- package/chunks/{processUtils-5SV4MX3Q.js → processUtils-6GRYH4Y3.js} +2 -2
- package/chunks/{pt-3AOBKPIJ.js → pt-U6AOCTMF.js} +5 -0
- package/chunks/{qwenContentGenerator-ODRJSUGR.js → qwenContentGenerator-KAHU6IZY.js} +33 -28
- package/chunks/{qwenOAuth2-NESCMZ47.js → qwenOAuth2-RRQTCP4W.js} +7 -5
- package/chunks/{read-file-HPSODLPK.js → read-file-3M6WXDXP.js} +6 -4
- package/chunks/{read-mcp-resource-2TNSJTC3.js → read-mcp-resource-PZ4ZF6YL.js} +1 -1
- package/chunks/{record-artifact-RAON52FC.js → record-artifact-P4HFMS7X.js} +2 -2
- package/chunks/{resumeHistoryUtils-TXCOFFMQ.js → resumeHistoryUtils-D6TAY3HX.js} +30 -26
- package/chunks/{ripGrep-ZKQGTQAO.js → ripGrep-PLPENT3E.js} +26 -22
- package/chunks/{ru-VJRAMC4W.js → ru-CMX4UMYP.js} +5 -0
- package/chunks/{run-qwen-serve-ZPKPKECF.js → run-qwen-serve-ZAFIJKJC.js} +168 -54
- package/chunks/{runtime-2FLNNM36.js → runtime-ZED7CYOZ.js} +38 -34
- package/chunks/{scheduler-365PJHNR.js → scheduler-MD3AL2W5.js} +26 -22
- package/chunks/{send-message-ZM7MRUGP.js → send-message-CAMSLG2L.js} +4 -3
- package/chunks/{serve-QD2RNLKJ.js → serve-E3VUDRZN.js} +33 -29
- package/chunks/{server-XLJVLTYM.js → server-OWMEMAKR.js} +450 -231
- package/chunks/{session-3VTUHH4Q.js → session-HZ57QK7K.js} +158 -97
- package/chunks/{settings-KULVPCQC.js → settings-V7BR3RKP.js} +32 -28
- package/chunks/{shell-3SWW22MH.js → shell-23OMNMW6.js} +26 -22
- package/chunks/{skill-KDHWYS7W.js → skill-6HBDYZRS.js} +7 -5
- package/chunks/{skill-settings-NMY4JEJC.js → skill-settings-HWJLTU7M.js} +32 -28
- package/chunks/{spawnChannel-ZKS4Q5OU.js → spawnChannel-N6KKUW5B.js} +27 -23
- package/chunks/{standalone-update-7CXPGAQ4.js → standalone-update-QGIKHATD.js} +28 -24
- package/chunks/{startInteractiveUI-2QQLEKM6.js → startInteractiveUI-GX2CRL42.js} +365 -155
- package/chunks/{syntheticOutput-ZLCUTKO2.js → syntheticOutput-PEBJQYJV.js} +2 -2
- package/chunks/{task-create-CQP5UEA3.js → task-create-5NWCQSJF.js} +5 -4
- package/chunks/{task-list-XLEZOJXP.js → task-list-53265TRZ.js} +1 -1
- package/chunks/{task-stop-7ZQM5CFF.js → task-stop-FPCOIRYX.js} +1 -1
- package/chunks/{task-update-JA75U2SN.js → task-update-5HN577LS.js} +5 -4
- package/chunks/{team-create-2WTNGAOX.js → team-create-CFFKU7KL.js} +26 -22
- package/chunks/{team-delete-MHY3UZGY.js → team-delete-MMQB4OSC.js} +1 -1
- package/chunks/{team-plan-approval-LZTYLEG4.js → team-plan-approval-6EFOKR6A.js} +26 -22
- package/chunks/{terminal-image-renderer-R5HHAFJN.js → terminal-image-renderer-TLDNACQY.js} +28 -24
- package/chunks/{theme-manager-PAUCSJFF.js → theme-manager-5LJ3H7VO.js} +26 -22
- package/chunks/{todoWrite-UPVOHYGD.js → todoWrite-JGV6VLOX.js} +1 -1
- package/chunks/{tool-search-2BFCGLI6.js → tool-search-UJV3A24H.js} +9 -6
- package/chunks/{total-session-admission-MK4SINFK.js → total-session-admission-D63QYXGO.js} +29 -25
- package/chunks/{trustedFolders-TJ5S26N7.js → trustedFolders-KZCOB53W.js} +30 -24
- package/chunks/{update-relaunch-N7AYLARF.js → update-relaunch-IFILM3SA.js} +5 -5
- package/chunks/{updateCheck-QRZ3DVT5.js → updateCheck-YZ2CRCFC.js} +29 -25
- package/chunks/{useAutoAcceptIndicator-DBJ7Y5AF.js → useAutoAcceptIndicator-AXEVNA3Q.js} +35 -31
- package/chunks/{validateNonInterActiveAuth-6ZQWUDS3.js → validateNonInterActiveAuth-3WTOJFWA.js} +61 -57
- package/chunks/{version-AJQGQWXC.js → version-GXK7OHZY.js} +1 -1
- package/chunks/{web-fetch-QWJYRXFL.js → web-fetch-ILB4GAVR.js} +12 -8
- package/chunks/{web-search-2AOXJGHU.js → web-search-HKRPGPZZ.js} +8 -6
- package/chunks/{workflow-ERH3SJG2.js → workflow-FXIPRQQA.js} +750 -147
- package/chunks/{workspace-providers-status-HZ474RA4.js → workspace-providers-status-NYHC7HSR.js} +35 -31
- package/chunks/{workspace-registration-store-6EUP4JXG.js → workspace-registration-store-AKEB7OMW.js} +1 -1
- package/chunks/{workspace-registry-R4APRRNC.js → workspace-registry-CDAS5TVZ.js} +29 -25
- package/chunks/{workspace-service-HFIFDMU7.js → workspace-service-PAMUKMAV.js} +36 -32
- package/chunks/{workspace-skills-status-HAHEIHGK.js → workspace-skills-status-YQSHCCMS.js} +33 -29
- package/chunks/{workspace-trust-reconciler-65GTAGDK.js → workspace-trust-reconciler-RPTXOIY2.js} +36 -32
- package/chunks/{write-file-B34CDELV.js → write-file-CGS57TS4.js} +26 -22
- package/chunks/{zh-ARWDLDLR.js → zh-AGL2FVBI.js} +6 -0
- package/chunks/{zh-TW-Y4RGI3P7.js → zh-TW-KI66MHQY.js} +6 -0
- package/chunks/{zoom-image-HPRBZHSS.js → zoom-image-E7D72GYV.js} +6 -4
- package/cli.js +13 -13
- package/locales/ca.js +10 -0
- package/locales/de.js +9 -0
- package/locales/en.js +10 -0
- package/locales/fr.js +9 -0
- package/locales/ja.js +9 -0
- package/locales/pt.js +9 -0
- package/locales/ru.js +9 -0
- package/locales/zh-TW.js +10 -0
- package/locales/zh.js +10 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-Ip-FFDJ0.js → arc-DybZaz32.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-CChqgwIb.js → architectureDiagram-3BPJPVTR-jN3qBd19.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BHN-Tfss.js → blockDiagram-GPEHLZMM-Ct5DZPrj.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BhyjzDjN.js → c4Diagram-AAUBKEIU-CUAFMlUG.js} +1 -1
- package/web-shell/assets/channel-BMwLrwLW.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BB9eyHrx.js → chunk-2J33WTMH-CuV8n90B.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BeV7ce_J.js → chunk-4BX2VUAB-BUzl_kls.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DO7kXDiV.js → chunk-55IACEB6-BnDBLX6A.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-B27MPznD.js → chunk-727SXJPM-B83uTOjm.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-DHIjqjD_.js → chunk-AQP2D5EJ-DM3HLgpT.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-DabMqyN2.js → chunk-FMBD7UC4-CSQ5hgyb.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-Dw7Nnnxc.js → chunk-ND2GUHAM-BWOF4SxX.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-DdaZew1Q.js → chunk-QZHKN3VN-BsOH9LMi.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BGDv98jY.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BGDv98jY.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-CgBpCYH5.js → cose-bilkent-S5V4N54A-IENqH2iJ.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-BB4IU8G0.js → dagre-BM42HDAG--dyzDTGo.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BcUTHU37.js → diagram-2AECGRRQ-BE7Dcqof.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-B6Lyihyv.js → diagram-5GNKFQAL-Cr8-5OTj.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CRIJOjpG.js → diagram-KO2AKTUF-Bzey3uAY.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-DdNiwWWT.js → diagram-LMA3HP47-sErl28Xb.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-Dz4b32Do.js → diagram-OG6HWLK6-Dq30ATIo.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-D-8NGw77.js → erDiagram-TEJ5UH35-BkCoEfVW.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-Dun26LyM.js → flowDiagram-I6XJVG4X-DHwO0rrI.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-F10Hu1Gc.js → ganttDiagram-6RSMTGT7-s7vAPxWq.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-Bf8Ez6-D.js → gitGraphDiagram-PVQCEYII-CQxhwPOU.js} +1 -1
- package/web-shell/assets/index-Bckpjr-I.css +5 -0
- package/web-shell/assets/{index-BXqw-nGq.js → index-CF4wApWp.js} +1 -1
- package/web-shell/assets/index-DwEr9HEW.js +1768 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DVgTMLvj.js → infoDiagram-5YYISTIA-BnFrD0bq.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-uT-KepvK.js → ishikawaDiagram-YF4QCWOH-Bf9zK5NK.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-Vg_XadQf.js → journeyDiagram-JHISSGLW-CyGAhsxi.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-Dyv1ESBE.js → kanban-definition-UN3LZRKU-CbsK5akB.js} +1 -1
- package/web-shell/assets/{linear-BMIepYX3.js → linear-cQsF4P8D.js} +1 -1
- package/web-shell/assets/{mermaid.core-zA8pJ9ag.js → mermaid.core-Z4HVqrKY.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-BCW_BZ_5.js → mindmap-definition-RKZ34NQL-CYnrBo_f.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-DseNEGp2.js → pieDiagram-4H26LBE5-CBzOfhrs.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-6Z7wr1Fi.js → quadrantDiagram-W4KKPZXB-D4LK1Ebn.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CVOlCRPf.js → requirementDiagram-4Y6WPE33-Bzti2Lcj.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-CGhgrUJZ.js → sankeyDiagram-5OEKKPKP-yTBw5Z2s.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-dlqmpLuQ.js → sequenceDiagram-3UESZ5HK-D07UVRiZ.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-B9EW10Xb.js → stateDiagram-AJRCARHV-UE_lHsTn.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DC6xgXjX.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-BBRh0mgZ.js → timeline-definition-PNZ67QCA-DRvYdiTs.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-B8Gs-REP.js → vennDiagram-CIIHVFJN-CQLIXs0u.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-D_y80Ur7.js → wardley-L42UT6IY-JZz_Xqse.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-D-CNfHJ-.js → wardleyDiagram-YWT4CUSO--i7BiJwB.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-DQ5CvELo.js → xychartDiagram-2RQKCTM6-Bkc-bW0S.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-6PEXNQTX.js +0 -68
- package/chunks/chunk-IUFV6FYU.js +0 -81
- package/web-shell/assets/channel-Cu8qd6OB.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-BI3KrXhq.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-BI3KrXhq.js +0 -1
- package/web-shell/assets/index-QQlUCJGg.css +0 -5
- package/web-shell/assets/index-hcgjV7vS.js +0 -1768
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-CJTZJJ5X.js +0 -1
- 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
|
-
|
|
8
|
-
|
|
7
|
+
isHardcodedProjectEnvExclusion,
|
|
8
|
+
isLoaderEnvKey,
|
|
9
|
+
publishPendingCompileCache,
|
|
10
|
+
reportRejectedLoaderKeys,
|
|
11
|
+
resetLoaderKeyRejectionReportingForTesting
|
|
12
|
+
} from "./chunk-UA5H3DS2.js";
|
|
9
13
|
import {
|
|
10
14
|
isWorkspaceTrusted
|
|
11
|
-
} from "./chunk-
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
|
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 (
|
|
266
|
-
if (
|
|
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 (
|
|
309
|
-
if (
|
|
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 (
|
|
377
|
+
if (isLoaderEnvKey(key)) {
|
|
378
|
+
continue;
|
|
379
|
+
}
|
|
380
|
+
if (isReloadExcludedKey(key)) {
|
|
350
381
|
continue;
|
|
351
382
|
}
|
|
352
|
-
if (
|
|
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 (
|
|
399
|
-
if (
|
|
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) && !
|
|
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-
|
|
8
|
+
} from "./chunk-PG62DFWD.js";
|
|
9
9
|
import {
|
|
10
10
|
getNpmCliPath
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IUQ52YJK.js";
|
|
12
12
|
import {
|
|
13
13
|
getPackageJson
|
|
14
14
|
} from "./chunk-VJNBRRZG.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
|
+
*/
|