@qwen-code/qwen-code 0.19.2-preview.0 → 0.19.3
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/bundled/extension-creator/SKILL.md +357 -0
- package/bundled/loop/SKILL.md +12 -7
- package/bundled/loop/SKILL.test.ts +32 -0
- package/bundled/qc-helper/SKILL.md +14 -14
- package/bundled/qc-helper/docs/configuration/auth.md +11 -11
- package/bundled/qc-helper/docs/configuration/model-providers.md +13 -13
- package/bundled/qc-helper/docs/configuration/settings.md +60 -60
- package/bundled/qc-helper/docs/features/commands.md +108 -77
- package/bundled/qc-helper/docs/features/memory.md +52 -0
- package/bundled/qc-helper/docs/qwen-serve.md +24 -2
- package/bundled/qc-helper/docs/support/tos-privacy.md +16 -3
- package/chunks/{MaxSizedBox-ZGJWTRFD.js → MaxSizedBox-QNF3EIGU.js} +29 -30
- package/chunks/{StandaloneSessionPicker-BUCTAFOX.js → StandaloneSessionPicker-Z52JTYST.js} +42 -40
- package/chunks/{acpAgent-JO2ITCNM.js → acpAgent-7RZUOWOM.js} +406 -118
- package/chunks/{agent-MY66OFO7.js → agent-4FG7WTHJ.js} +24 -26
- package/chunks/{agent-headless-SRMNGWN5.js → agent-headless-RQ5BTX3G.js} +24 -26
- package/chunks/{anthropicContentGenerator-E3TQ5XJJ.js → anthropicContentGenerator-PFITVL7Y.js} +31 -13
- package/chunks/{artifact-tool-QA4KRO3B.js → artifact-tool-D2X7G3C3.js} +2 -2
- package/chunks/{askUserQuestion-HMWXW6VN.js → askUserQuestion-UGETICJQ.js} +2 -2
- package/chunks/{bridge-GZCNYBHI.js → bridge-JL2PMCIW.js} +29 -32
- package/chunks/{ca-7WC7ELX6.js → ca-IUFWESZL.js} +1 -0
- package/chunks/{chunk-3UALQ56H.js → chunk-3227DZO4.js} +1 -1
- package/chunks/{chunk-2TLWKT22.js → chunk-3TV3HUWZ.js} +16 -7
- package/chunks/{chunk-WQ523TWK.js → chunk-4LUZAKMK.js} +45 -3
- package/chunks/{chunk-KDRNHNFO.js → chunk-4QK3O43S.js} +6 -27
- package/chunks/chunk-5GOVVXEV.js +73 -0
- package/chunks/{chunk-C4YPMKVC.js → chunk-6V4NZFUS.js} +5 -5
- package/chunks/{chunk-QCE46JPS.js → chunk-ADCIHOQZ.js} +138 -28
- package/chunks/chunk-BC3C4F3Q.js +40 -0
- package/chunks/{chunk-CGEGHF2C.js → chunk-BKXBARJZ.js} +1 -1
- package/chunks/chunk-BMFMJINR.js +45 -0
- package/chunks/chunk-BTLJ2MF5.js +690 -0
- package/chunks/{chunk-OIC6S73E.js → chunk-BUUQ5HPX.js} +1 -1
- package/chunks/{chunk-2BIF2NVV.js → chunk-BVSVIN45.js} +2 -2
- package/chunks/{chunk-JXQ23SNT.js → chunk-BW4KCQFD.js} +54 -2
- package/chunks/{chunk-TOEGRAVX.js → chunk-BX5YO7UW.js} +17 -5
- package/chunks/{chunk-3GOWF4JW.js → chunk-BXSHL2SF.js} +1 -1
- package/chunks/{chunk-UN3C6GOR.js → chunk-CF6BB3LT.js} +0 -107
- package/chunks/{chunk-Z7XXFPGP.js → chunk-CKQA6AWF.js} +1 -1
- package/chunks/{chunk-S3QKD3KC.js → chunk-CNLEDYE3.js} +7 -5
- package/chunks/{chunk-PRYMDRBV.js → chunk-DDMOU62Q.js} +1 -1
- package/chunks/chunk-EDMZZFDU.js +11213 -0
- package/chunks/{chunk-IRJWHZWU.js → chunk-EJYJYJZ2.js} +70 -3
- package/chunks/{chunk-Z3GEHYNS.js → chunk-F3ZYSEY6.js} +151 -4775
- package/chunks/chunk-FKAVULLM.js +4909 -0
- package/chunks/{chunk-QEFO4ZHF.js → chunk-FNJ7BDPH.js} +6 -6
- package/chunks/{chunk-ZMYGPJZ2.js → chunk-FXKVLFFY.js} +1 -1
- package/chunks/{chunk-NISEO774.js → chunk-GGBIN5K7.js} +1 -1
- package/chunks/{chunk-MLZC2B46.js → chunk-GT2FGICD.js} +1 -1
- package/chunks/{chunk-6RSJXDOE.js → chunk-HPZTOP4I.js} +75 -23
- package/chunks/{chunk-OTBK43JR.js → chunk-HYCC3XM3.js} +1 -1
- package/chunks/{chunk-MAJFZ73U.js → chunk-HZT4UCFB.js} +4 -4
- package/chunks/{chunk-VGU3SDPN.js → chunk-I2LYBGNI.js} +1 -1
- package/chunks/{chunk-TMBPDHXD.js → chunk-I4H7PRWQ.js} +1 -1
- package/chunks/{chunk-LUNAHBBC.js → chunk-J33ZR6OJ.js} +404 -4
- package/chunks/{chunk-MB7CQE2R.js → chunk-J7FA27RO.js} +109 -6
- package/chunks/{chunk-S566HKUS.js → chunk-JE5FVRPC.js} +38 -7
- package/chunks/{chunk-HKGTXQ2Q.js → chunk-JJXWTVSK.js} +1 -1
- package/chunks/{chunk-EEEZIVFJ.js → chunk-JOLIREYR.js} +1 -1
- package/chunks/{chunk-CGONIGON.js → chunk-JVHEVCAU.js} +5 -5
- package/chunks/chunk-K5XU6E4T.js +167 -0
- package/chunks/{chunk-EW6C27XX.js → chunk-KMGMKW5Q.js} +1 -1
- package/chunks/{chunk-B734I4XN.js → chunk-L7OKCI7T.js} +4 -2
- package/chunks/{chunk-3PPKH5TY.js → chunk-M2U5NM24.js} +188 -11366
- package/chunks/{chunk-PCTRA6JV.js → chunk-MNF6S5PR.js} +4 -4
- package/chunks/{chunk-FPACXT7T.js → chunk-N4EJFBN5.js} +421 -163
- package/chunks/chunk-NDOC6M5S.js +481 -0
- package/chunks/{chunk-HGNSRCRB.js → chunk-NL4C3H6C.js} +1 -1
- package/chunks/{chunk-GZCJS5WH.js → chunk-O2VBQ3Y2.js} +2 -2
- package/chunks/{chunk-Q47HB5BI.js → chunk-O75BHFQW.js} +10 -460
- package/chunks/{chunk-EPHYP7YA.js → chunk-ODLIHNOY.js} +1 -2
- package/chunks/{chunk-R44WETZC.js → chunk-PDE7CSDS.js} +2 -2
- package/chunks/{chunk-C7WPMYY6.js → chunk-PR32FRT6.js} +3 -3
- package/chunks/{chunk-7ACQGQWS.js → chunk-QE6KJYLT.js} +56 -29
- package/chunks/{chunk-3RJ3ZPPR.js → chunk-QI7GOGJR.js} +7 -7
- package/chunks/{chunk-XU5P23GN.js → chunk-QLDPRILK.js} +3 -3
- package/chunks/{chunk-S77J57YJ.js → chunk-QNKBEJO2.js} +359 -76
- package/chunks/{chunk-3MEMSFD3.js → chunk-QWFNTRH4.js} +1 -1
- package/chunks/chunk-QYUE6W3T.js +123 -0
- package/chunks/{chunk-WEOJMFUO.js → chunk-R5OP2ATH.js} +11 -11
- package/chunks/{chunk-BNXANYLH.js → chunk-RD6YJJJ6.js} +81 -1
- package/chunks/{chunk-3VWNMDXT.js → chunk-RRFZXMYP.js} +380 -400
- package/chunks/{chunk-ZN5T4BHI.js → chunk-RYLJU2DY.js} +1 -1
- package/chunks/{chunk-ZD3NW5KL.js → chunk-S7AKE7HL.js} +3 -3
- package/chunks/{chunk-BG4BIP7F.js → chunk-SBBN4BWR.js} +4 -2
- package/chunks/{chunk-T2VDEFUU.js → chunk-SKQZZVAV.js} +2 -2
- package/chunks/{chunk-EDEHJ6DO.js → chunk-SLNKLLEO.js} +14 -9
- package/chunks/chunk-SMXULRAN.js +37 -0
- package/chunks/{chunk-BUY35XTH.js → chunk-SMYQZVZ3.js} +1 -1
- package/chunks/{chunk-YTHAFW7O.js → chunk-STUWFKGD.js} +1001 -887
- package/chunks/{chunk-SFUYT3EQ.js → chunk-T4T2FNV4.js} +2 -2
- package/chunks/{chunk-F6XNTYNE.js → chunk-U3KSMM7G.js} +8 -4
- package/chunks/chunk-UFLGERMB.js +813 -0
- package/chunks/{chunk-BGUDAULQ.js → chunk-UO5GVXQE.js} +5 -5
- package/chunks/{chunk-C4K3FEQ2.js → chunk-UX4SGCGN.js} +32 -3
- package/chunks/{chunk-TWMKA4OQ.js → chunk-UYT3MWEB.js} +85 -8
- package/chunks/{chunk-5J3QYE2J.js → chunk-VBZ452JT.js} +113 -24
- package/chunks/{chunk-KBXLIVWQ.js → chunk-VVLOGDB6.js} +2 -2
- package/chunks/{chunk-TXVGVZYR.js → chunk-XJYUPHRC.js} +3 -3
- package/chunks/{chunk-2JD55C6G.js → chunk-Y6YMRS3U.js} +2 -2
- package/chunks/{chunk-ACZI6UDO.js → chunk-YAINVQ3Q.js} +2961 -1349
- package/chunks/{chunk-X6EDWN44.js → chunk-ZP6UKOPB.js} +1 -1
- package/chunks/{computer-use-6OUCN274.js → computer-use-JGB36FDW.js} +103 -52
- package/chunks/{contextCommand-M5IKMWCY.js → contextCommand-WYU6OQ2F.js} +26 -28
- package/chunks/{cron-create-4KQE6YLH.js → cron-create-SKEY55RG.js} +4 -4
- package/chunks/{cron-delete-THME66UP.js → cron-delete-I3NAT32Z.js} +6 -6
- package/chunks/{cron-list-7A54SJ5N.js → cron-list-6XRRL6TH.js} +5 -5
- package/chunks/daemon-status-provider-HH2EC5FI.js +65 -0
- package/chunks/{de-ACHALDED.js → de-EOW5PVHF.js} +1 -0
- package/chunks/{dist-BOOH5JWN.js → dist-663NZ6MI.js} +1 -1
- package/chunks/{dist-QHJRBCMP.js → dist-J37VXPLD.js} +46 -5
- package/chunks/{dist-OD2FY543.js → dist-LB6OGPVM.js} +1 -1
- package/chunks/{dist-BD27IA3L.js → dist-NHEYYB2B.js} +2 -2
- package/chunks/{dist-QFFZWACU.js → dist-PQPZ5Q4N.js} +1 -1
- package/chunks/{earlyInputCapture-HX4EHHVF.js → earlyInputCapture-44RISVVJ.js} +25 -27
- package/chunks/{edit-AHPBJWZO.js → edit-NN6GM5DT.js} +68 -30
- package/chunks/{en-NCUBOJOY.js → en-HPWEJBTR.js} +8 -0
- package/chunks/{enter-worktree-PB45KTMD.js → enter-worktree-PB3O2C7D.js} +24 -26
- package/chunks/{enterPlanMode-WBJ23SFX.js → enterPlanMode-YQFNNSUA.js} +24 -26
- package/chunks/{errors-OBDZ5XIW.js → errors-LS7XU5DZ.js} +26 -28
- package/chunks/{exit-worktree-VZK27UQY.js → exit-worktree-E2FTNSBK.js} +24 -26
- package/chunks/{exitPlanMode-SVJCUCD2.js → exitPlanMode-GLYK2BUB.js} +24 -26
- package/chunks/{fast-path-LCCPZVEW.js → fast-path-WQ6M7LI7.js} +4 -4
- package/chunks/{fast-path-settings-TSVI53EB.js → fast-path-settings-OAGU3X5H.js} +3 -2
- package/chunks/{fr-GVKZ27MF.js → fr-BN5NKSAC.js} +1 -0
- package/chunks/{gemini-NVIOUXR6.js → gemini-2YFLVA2M.js} +204 -103
- package/chunks/{geminiContentGenerator-35K5AQ5O.js → geminiContentGenerator-XV6SV6CD.js} +4 -4
- package/chunks/{glob-JU4Y7GPG.js → glob-2H6CDDMK.js} +24 -26
- package/chunks/{grep-J4B63YPZ.js → grep-VXIUXM3C.js} +24 -26
- package/chunks/{headlessSafetyWarnings-23EM5RH2.js → headlessSafetyWarnings-TBE35GJ4.js} +24 -26
- package/chunks/initializer-2Y7SLOKV.js +61 -0
- package/chunks/{ja-FKZ2WZ4D.js → ja-7DEUB2TS.js} +1 -0
- package/chunks/{keychain-token-storage-CSYMNRPP.js → keychain-token-storage-YLMDLKXT.js} +2 -2
- package/chunks/list-ZAFHZ7OS.js +65 -0
- package/chunks/loadedSettingsAdapter-6KJXD6M3.js +60 -0
- package/chunks/{loop-wakeup-33GPXJLA.js → loop-wakeup-CITGGQHA.js} +7 -7
- package/chunks/{ls-BYQY7RVV.js → ls-R5WP4BGZ.js} +4 -4
- package/chunks/{lsp-X54RO4IV.js → lsp-GSICJMMW.js} +2 -2
- package/chunks/{monitor-WU7WVFM2.js → monitor-HKLRS2HQ.js} +24 -26
- package/chunks/nonInteractiveCli-5W4GIZQM.js +96 -0
- package/chunks/{notebook-edit-UGVPLPX4.js → notebook-edit-Y6SKSGTT.js} +52 -26
- package/chunks/{openaiContentGenerator-TI3M5VNP.js → openaiContentGenerator-J7G2FYJT.js} +13 -14
- package/chunks/{pt-SY5NCFGR.js → pt-TNZRNLQB.js} +1 -0
- package/chunks/{qwenContentGenerator-7WDBLJ77.js → qwenContentGenerator-5XIEM5GV.js} +26 -28
- package/chunks/{qwenOAuth2-K4AASPCV.js → qwenOAuth2-AG3PFFLZ.js} +4 -4
- package/chunks/{read-file-Y4NNE7M7.js → read-file-J7D552ZJ.js} +9 -10
- package/chunks/{read-mcp-resource-I5HCZJ6X.js → read-mcp-resource-DQQW7H7T.js} +2 -2
- package/chunks/{ripGrep-I5KP7EQ7.js → ripGrep-IEIFIWP4.js} +24 -26
- package/chunks/{ru-FWNXJG4F.js → ru-NIAUBKCN.js} +1 -0
- package/chunks/{run-qwen-serve-VRHHXLVN.js → run-qwen-serve-SGEEVMXD.js} +149 -41
- package/chunks/{scheduler-MPIZJSXK.js → scheduler-7CQI3S4Q.js} +24 -26
- package/chunks/{send-message-2DAFXEYP.js → send-message-EE4TWKVU.js} +2 -2
- package/chunks/{serve-O2HA5D2Y.js → serve-V6GVZR6U.js} +31 -31
- package/chunks/{server-ZU5GPYYG.js → server-4QMUWXPW.js} +6996 -5864
- package/chunks/{session-TBV6PADC.js → session-NRO7UFOY.js} +62 -57
- package/chunks/{settings-2IYAFT2Z.js → settings-SGWRDQSC.js} +30 -30
- package/chunks/{shell-EZRRV6ET.js → shell-62ANGIHL.js} +24 -26
- package/chunks/{skill-2UPCJCHZ.js → skill-VWAQAWW6.js} +39 -13
- package/chunks/{spawnChannel-2LTBWDWZ.js → spawnChannel-3VHW5EPY.js} +26 -28
- package/chunks/{src-UKQZLQ6R.js → src-KUV5J5Q2.js} +52 -28
- package/chunks/{startInteractiveUI-C3TJCUJP.js → startInteractiveUI-6EYJN3JV.js} +2588 -2371
- package/chunks/{syntheticOutput-PPS3HDVA.js → syntheticOutput-T5YHQ6S2.js} +3 -3
- package/chunks/{task-create-OUYCA553.js → task-create-BLY7RHXX.js} +6 -6
- package/chunks/{task-list-WAX7I2IA.js → task-list-3QUYNVYR.js} +5 -5
- package/chunks/{task-stop-CAIL6FNH.js → task-stop-U4RATK2V.js} +2 -2
- package/chunks/{task-update-AHEO5OUT.js → task-update-U54O7KJX.js} +6 -6
- package/chunks/{team-create-3UXTW2MP.js → team-create-LPOGCPM7.js} +24 -26
- package/chunks/{team-delete-HGHFG23B.js → team-delete-LKBYPASD.js} +5 -5
- package/chunks/{theme-manager-3M5P6HST.js → theme-manager-LYLGAERF.js} +25 -27
- package/chunks/{todoWrite-IFBMN3FH.js → todoWrite-OYXKTVYN.js} +4 -4
- package/chunks/{tool-search-BHVIDD3W.js → tool-search-YPUFJ3ZQ.js} +102 -18
- package/chunks/trustedFolders-5B24TMEA.js +73 -0
- package/chunks/types-QX5C3CHJ.js +12 -0
- package/chunks/{validateNonInterActiveAuth-HHD2CROM.js → validateNonInterActiveAuth-BTDTYOVT.js} +57 -54
- package/chunks/{web-fetch-B5IIQ5TT.js → web-fetch-EEB5LZYU.js} +28 -15
- package/chunks/{workflow-PPOHBLSJ.js → workflow-LAWIW5LI.js} +32 -33
- package/chunks/workspace-providers-status-PIAFVYHA.js +62 -0
- package/chunks/workspace-service-YAIOD4HG.js +71 -0
- package/chunks/{write-file-44GS2JVH.js → write-file-PCV226DJ.js} +63 -30
- package/chunks/{zh-RBEGQVQT.js → zh-5EUYXASN.js} +8 -0
- package/chunks/{zh-TW-QGAVRXT3.js → zh-TW-TR3XYGE5.js} +8 -0
- package/cli-entry.js +20 -9
- package/cli.js +6 -6
- package/locales/ca.js +2 -0
- package/locales/de.js +2 -0
- package/locales/en.js +14 -0
- package/locales/fr.js +2 -0
- package/locales/ja.js +1 -0
- package/locales/pt.js +2 -0
- package/locales/ru.js +2 -0
- package/locales/zh-TW.js +12 -0
- package/locales/zh.js +12 -0
- package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +35 -0
- package/node_modules/@qwen-code/audio-capture/dist/index.js +48 -0
- package/node_modules/@qwen-code/audio-capture/dist/index.js.map +1 -0
- package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +7 -0
- package/node_modules/@qwen-code/audio-capture/dist/platform.js +18 -0
- package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +1 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +21 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +58 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +5 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +84 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +19 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +6 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +207 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +7 -0
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +43 -0
- package/node_modules/@qwen-code/audio-capture/package.json +30 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
- package/package.json +6 -3
- package/web-shell/assets/{arc-D_ae_Y9k.js → arc-DA7r8Ueo.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-BMLRjppa.js → architectureDiagram-3BPJPVTR-ZDUxPtZ2.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-qVDQC8KL.js → blockDiagram-GPEHLZMM-vrtOf1kJ.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-CxWS6MBd.js → c4Diagram-AAUBKEIU-BHFjzIi4.js} +1 -1
- package/web-shell/assets/channel-iRo68q4Q.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-BtNuY5Yp.js → chunk-2J33WTMH-mdeQVz59.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-BU-x368d.js → chunk-4BX2VUAB-BkKMlwBX.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DRgTLvBu.js → chunk-55IACEB6-B7bnXNfu.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-D2aElv7q.js → chunk-727SXJPM-DGz8Mm6i.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-BwHCMRQ0.js → chunk-AQP2D5EJ-BQAydUNk.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-BMyPH-ku.js → chunk-FMBD7UC4-GHr2LN_p.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BNKTstUf.js → chunk-ND2GUHAM-7R91lnUx.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-gD3vsFId.js → chunk-QZHKN3VN-aTJD3lSQ.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-iHF24a8X.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-iHF24a8X.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BG9FAsXE.js → cose-bilkent-S5V4N54A-BTf8t1RL.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-Cy1sR7om.js → dagre-BM42HDAG-_sgp3WuA.js} +1 -1
- package/web-shell/assets/default-aEtf0G7-.svg +1 -0
- package/web-shell/assets/{diagram-2AECGRRQ-Bxi1I_Vu.js → diagram-2AECGRRQ-CROtRy1w.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-BGCJjO6y.js → diagram-5GNKFQAL-BqGRzwSc.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CMTeLXp7.js → diagram-KO2AKTUF-CMrcEtA7.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-BN1wyAGh.js → diagram-LMA3HP47-BRydGNW5.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-UYSG_zcp.js → diagram-OG6HWLK6-D0ilgNjV.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-DqXL08lw.js → erDiagram-TEJ5UH35-2lnQeJUM.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BPJ9SFji.js → flowDiagram-I6XJVG4X-C_ZMdQiC.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-BEd9Pnms.js → ganttDiagram-6RSMTGT7-Dw9V_Ny0.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DrNRH3oi.js → gitGraphDiagram-PVQCEYII-HDXI-F1B.js} +1 -1
- package/web-shell/assets/index-CHmzAWys.css +5 -0
- package/web-shell/assets/index-w6GTOHh1.js +713 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-CFYBrkVI.js → infoDiagram-5YYISTIA-CuB8Ebua.js} +1 -1
- package/web-shell/assets/insert-DmRbh9Rv.svg +1 -0
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-Dxsddth7.js → ishikawaDiagram-YF4QCWOH-D_tyhVwh.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-DxaDK80t.js → journeyDiagram-JHISSGLW-CgCwJQNU.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-Q0jQCOct.js → kanban-definition-UN3LZRKU-PZUtcbPx.js} +1 -1
- package/web-shell/assets/{linear-DGGM2kcP.js → linear-CZqRdJIU.js} +1 -1
- package/web-shell/assets/{mermaid.core-ByoxnWut.js → mermaid.core-CPW_4UEF.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-C0ZseHsi.js → mindmap-definition-RKZ34NQL-D_Y75ID7.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-MQXNhl5A.js → pieDiagram-4H26LBE5-Q4dTyLeF.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-DIR4ee2A.js → quadrantDiagram-W4KKPZXB-ckw329Ft.js} +1 -1
- package/web-shell/assets/queue-DWpnpFgW.svg +1 -0
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-BTR0UdYQ.js → requirementDiagram-4Y6WPE33-DbVDm4It.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-sfnhMELN.js → sankeyDiagram-5OEKKPKP-CHuZ_ecH.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DXczHOHH.js → sequenceDiagram-3UESZ5HK-DU2YSpq-.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-DdE_KQFH.js → stateDiagram-AJRCARHV-CA9PEBUo.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-t1LRI0oY.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-DIc61uE8.js → timeline-definition-PNZ67QCA-Bhlo4WVc.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BF7ODmxB.js → vennDiagram-CIIHVFJN-6xtPLsyl.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-3pc1MEaw.js → wardley-L42UT6IY-3eozmXPf.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-9jnPcZuP.js → wardleyDiagram-YWT4CUSO-BOn6hKss.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-DcthaZK6.js → xychartDiagram-2RQKCTM6-BsP4-I_y.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-5P5XGNYH.js +0 -93
- package/chunks/chunk-CL7QBVGW.js +0 -410
- package/chunks/chunk-SEZC2725.js +0 -36
- package/chunks/chunk-SYCJMSIJ.js +0 -82
- package/chunks/daemon-status-provider-TME7FJJD.js +0 -68
- package/chunks/initializer-GVY6XSFS.js +0 -61
- package/chunks/list-ZSIVGCZJ.js +0 -65
- package/chunks/loadedSettingsAdapter-KCX2EYFY.js +0 -60
- package/chunks/nonInteractiveCli-HNXJ6X6Z.js +0 -91
- package/chunks/workspace-providers-status-NAQJK6DP.js +0 -62
- package/chunks/workspace-service-YREVMAQD.js +0 -60
- package/web-shell/assets/channel-DYPNiTww.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-p_g25Tni.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-p_g25Tni.js +0 -1
- package/web-shell/assets/index-CpOXWDPh.js +0 -714
- package/web-shell/assets/index-oVK7qhre.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BHUSEndU.js +0 -1
|
@@ -2,32 +2,35 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
appEvents,
|
|
5
|
+
assembleMcpServers,
|
|
5
6
|
buildDisabledSkillNamesProvider,
|
|
7
|
+
getPendingGatedMcpServers,
|
|
8
|
+
getPromptableMcpServers,
|
|
6
9
|
isDebugMode,
|
|
7
10
|
isValidSessionId,
|
|
8
11
|
loadCliConfig,
|
|
9
12
|
loadSandboxConfig,
|
|
10
13
|
parseArguments,
|
|
11
|
-
require_undici,
|
|
12
14
|
validateAuthMethod
|
|
13
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-EDMZZFDU.js";
|
|
14
16
|
import {
|
|
15
17
|
RELAUNCH_EXIT_CODE
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
+
} from "./chunk-QWFNTRH4.js";
|
|
19
|
+
import "./chunk-JVHEVCAU.js";
|
|
20
|
+
import "./chunk-CNLEDYE3.js";
|
|
18
21
|
import "./chunk-3GONHQOA.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-PR32FRT6.js";
|
|
23
|
+
import "./chunk-CKQA6AWF.js";
|
|
24
|
+
import "./chunk-BW4KCQFD.js";
|
|
25
|
+
import {
|
|
26
|
+
require_undici
|
|
27
|
+
} from "./chunk-M2U5NM24.js";
|
|
28
|
+
import "./chunk-JJXWTVSK.js";
|
|
26
29
|
import "./chunk-R2BXK7SX.js";
|
|
30
|
+
import "./chunk-UYT3MWEB.js";
|
|
31
|
+
import "./chunk-BC3C4F3Q.js";
|
|
32
|
+
import "./chunk-GT2FGICD.js";
|
|
27
33
|
import "./chunk-ALX6BUYW.js";
|
|
28
|
-
import {
|
|
29
|
-
getHeadlessYoloSafetyWarning
|
|
30
|
-
} from "./chunk-5DWXLGOM.js";
|
|
31
34
|
import {
|
|
32
35
|
SETTINGS_DIRECTORY_NAME,
|
|
33
36
|
createMinimalSettings,
|
|
@@ -37,20 +40,25 @@ import {
|
|
|
37
40
|
initializeLlmOutputLanguage,
|
|
38
41
|
loadSettings,
|
|
39
42
|
preResolveHomeEnvOverrides
|
|
40
|
-
} from "./chunk-
|
|
43
|
+
} from "./chunk-FKAVULLM.js";
|
|
41
44
|
import {
|
|
42
45
|
initializeI18n,
|
|
43
46
|
resolveLanguageSetting
|
|
44
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-R5OP2ATH.js";
|
|
45
48
|
import "./chunk-TLRYABYP.js";
|
|
46
49
|
import {
|
|
47
|
-
|
|
48
|
-
} from "./chunk-
|
|
50
|
+
getHeadlessYoloSafetyWarning
|
|
51
|
+
} from "./chunk-5DWXLGOM.js";
|
|
49
52
|
import "./chunk-UFC57OYT.js";
|
|
50
53
|
import {
|
|
51
54
|
ENV_CORRUPTED_PATH,
|
|
52
55
|
ENV_WAS_RECOVERED
|
|
53
|
-
} from "./chunk-
|
|
56
|
+
} from "./chunk-CF6BB3LT.js";
|
|
57
|
+
import "./chunk-F3ZYSEY6.js";
|
|
58
|
+
import {
|
|
59
|
+
writeStderrLine
|
|
60
|
+
} from "./chunk-Y6Z2O3WR.js";
|
|
61
|
+
import "./chunk-QYUE6W3T.js";
|
|
54
62
|
import {
|
|
55
63
|
GitWorktreeService,
|
|
56
64
|
QWEN_CODE_SIMPLE_ENV_VAR,
|
|
@@ -68,53 +76,54 @@ import {
|
|
|
68
76
|
worktreeBranchForSlug,
|
|
69
77
|
writeWorktreeSession,
|
|
70
78
|
writeWorktreeSessionMarker
|
|
71
|
-
} from "./chunk-
|
|
79
|
+
} from "./chunk-YAINVQ3Q.js";
|
|
72
80
|
import "./chunk-K5PGHDBN.js";
|
|
73
|
-
import "./chunk-5P5XGNYH.js";
|
|
74
81
|
import "./chunk-SKAZWEV5.js";
|
|
75
|
-
import "./chunk-
|
|
76
|
-
import "./chunk-
|
|
77
|
-
import "./chunk-
|
|
78
|
-
import "./chunk-
|
|
79
|
-
import "./chunk-
|
|
82
|
+
import "./chunk-XJYUPHRC.js";
|
|
83
|
+
import "./chunk-QLDPRILK.js";
|
|
84
|
+
import "./chunk-BVSVIN45.js";
|
|
85
|
+
import "./chunk-SBBN4BWR.js";
|
|
86
|
+
import "./chunk-S7AKE7HL.js";
|
|
80
87
|
import "./chunk-2MPVVENX.js";
|
|
81
88
|
import "./chunk-ZTQ26VBE.js";
|
|
82
|
-
import "./chunk-
|
|
89
|
+
import "./chunk-O2VBQ3Y2.js";
|
|
83
90
|
import "./chunk-MLZQVCF3.js";
|
|
84
91
|
import "./chunk-LQ7TMOCE.js";
|
|
85
92
|
import "./chunk-LD2XBG6Z.js";
|
|
86
|
-
import "./chunk-
|
|
87
|
-
import "./chunk-
|
|
88
|
-
import "./chunk-
|
|
89
|
-
import "./chunk-
|
|
93
|
+
import "./chunk-HYCC3XM3.js";
|
|
94
|
+
import "./chunk-NL4C3H6C.js";
|
|
95
|
+
import "./chunk-JOLIREYR.js";
|
|
96
|
+
import "./chunk-DDMOU62Q.js";
|
|
90
97
|
import {
|
|
98
|
+
getMCPServerStatus,
|
|
91
99
|
logUserPrompt,
|
|
92
100
|
uiTelemetryService
|
|
93
|
-
} from "./chunk-
|
|
101
|
+
} from "./chunk-QNKBEJO2.js";
|
|
94
102
|
import "./chunk-3PJXIDKI.js";
|
|
95
103
|
import "./chunk-UWCTAVOD.js";
|
|
96
104
|
import "./chunk-OFEVLU4C.js";
|
|
97
105
|
import "./chunk-OMX7CUOE.js";
|
|
98
|
-
import "./chunk-
|
|
99
|
-
import "./chunk-
|
|
100
|
-
import "./chunk-
|
|
101
|
-
import
|
|
102
|
-
|
|
103
|
-
|
|
106
|
+
import "./chunk-RD6YJJJ6.js";
|
|
107
|
+
import "./chunk-SKQZZVAV.js";
|
|
108
|
+
import "./chunk-BUUQ5HPX.js";
|
|
109
|
+
import {
|
|
110
|
+
require_fast_deep_equal
|
|
111
|
+
} from "./chunk-BX5YO7UW.js";
|
|
112
|
+
import "./chunk-UO5GVXQE.js";
|
|
113
|
+
import "./chunk-KMGMKW5Q.js";
|
|
104
114
|
import "./chunk-22IFUCVR.js";
|
|
105
|
-
import "./chunk-
|
|
106
|
-
import "./chunk-3UALQ56H.js";
|
|
115
|
+
import "./chunk-3227DZO4.js";
|
|
107
116
|
import {
|
|
108
117
|
detectRuntime,
|
|
109
118
|
getOrCreateSharedDispatcher,
|
|
110
119
|
redactProxyCredentials
|
|
111
|
-
} from "./chunk-
|
|
112
|
-
import "./chunk-
|
|
113
|
-
import "./chunk-
|
|
114
|
-
import "./chunk-SYCJMSIJ.js";
|
|
120
|
+
} from "./chunk-U3KSMM7G.js";
|
|
121
|
+
import "./chunk-BKXBARJZ.js";
|
|
122
|
+
import "./chunk-EJYJYJZ2.js";
|
|
115
123
|
import "./chunk-55ZMG67I.js";
|
|
116
124
|
import "./chunk-H6BD2ELD.js";
|
|
117
125
|
import "./chunk-5IFG2VC4.js";
|
|
126
|
+
import "./chunk-64WXLC72.js";
|
|
118
127
|
import {
|
|
119
128
|
FatalSandboxError,
|
|
120
129
|
Storage,
|
|
@@ -122,12 +131,12 @@ import {
|
|
|
122
131
|
getErrorMessage,
|
|
123
132
|
isDebugLoggingDegraded,
|
|
124
133
|
isSubpath
|
|
125
|
-
} from "./chunk-
|
|
134
|
+
} from "./chunk-UX4SGCGN.js";
|
|
126
135
|
import {
|
|
127
136
|
cleanupCheckpoints,
|
|
128
137
|
registerCleanup,
|
|
129
138
|
runExitCleanup
|
|
130
|
-
} from "./chunk-
|
|
139
|
+
} from "./chunk-I2LYBGNI.js";
|
|
131
140
|
import {
|
|
132
141
|
finalizeStartupProfile,
|
|
133
142
|
isStartupProfilerEnabled,
|
|
@@ -151,7 +160,7 @@ import {
|
|
|
151
160
|
// packages/cli/src/gemini.tsx
|
|
152
161
|
init_esbuild_shims();
|
|
153
162
|
import dns from "node:dns";
|
|
154
|
-
import
|
|
163
|
+
import os4 from "node:os";
|
|
155
164
|
import path6 from "node:path";
|
|
156
165
|
import v8 from "node:v8";
|
|
157
166
|
|
|
@@ -472,10 +481,112 @@ var SettingsWatcher = class _SettingsWatcher {
|
|
|
472
481
|
}
|
|
473
482
|
};
|
|
474
483
|
|
|
484
|
+
// packages/cli/src/config/hot-reload.ts
|
|
485
|
+
init_esbuild_shims();
|
|
486
|
+
var import_fast_deep_equal = __toESM(require_fast_deep_equal(), 1);
|
|
487
|
+
var debugLogger2 = createDebugLogger("MCP_HOT_RELOAD");
|
|
488
|
+
function mcpServersEqual(a, b) {
|
|
489
|
+
return (0, import_fast_deep_equal.default)(a ?? {}, b ?? {});
|
|
490
|
+
}
|
|
491
|
+
__name(mcpServersEqual, "mcpServersEqual");
|
|
492
|
+
function mcpGatingEqual(a, b) {
|
|
493
|
+
const norm = /* @__PURE__ */ __name((xs) => [...xs ?? []].sort(), "norm");
|
|
494
|
+
const allowedEqual = a.allowed === void 0 === (b.allowed === void 0) && (0, import_fast_deep_equal.default)(norm(a.allowed), norm(b.allowed));
|
|
495
|
+
return (0, import_fast_deep_equal.default)(norm(a.excluded), norm(b.excluded)) && allowedEqual && (0, import_fast_deep_equal.default)(norm(a.pending), norm(b.pending));
|
|
496
|
+
}
|
|
497
|
+
__name(mcpGatingEqual, "mcpGatingEqual");
|
|
498
|
+
function recomputeMcpGating(settings, assembled, cwd, bootAllowed) {
|
|
499
|
+
const settingsAllowed = settings.merged.mcp?.allowed?.filter(Boolean);
|
|
500
|
+
const excluded = settings.merged.mcp?.excluded?.filter(Boolean);
|
|
501
|
+
let allowed = settingsAllowed;
|
|
502
|
+
if (bootAllowed) {
|
|
503
|
+
allowed = settingsAllowed ? settingsAllowed.filter((n) => bootAllowed.includes(n)) : [...bootAllowed];
|
|
504
|
+
}
|
|
505
|
+
return {
|
|
506
|
+
allowed,
|
|
507
|
+
excluded: excluded && excluded.length > 0 ? excluded : void 0,
|
|
508
|
+
pending: getPendingGatedMcpServers(assembled, cwd)
|
|
509
|
+
};
|
|
510
|
+
}
|
|
511
|
+
__name(recomputeMcpGating, "recomputeMcpGating");
|
|
512
|
+
function registerMcpHotReload(watcher, settings, config, topTierMcpServers) {
|
|
513
|
+
debugLogger2.debug("registered MCP hot-reload listener on SettingsWatcher");
|
|
514
|
+
return watcher.addChangeListener(async (events) => {
|
|
515
|
+
debugLogger2.debug(
|
|
516
|
+
`settings change fired (${events.length} event(s)): ${events.map((e) => `${e.scope}:${e.changeType}`).join(", ")}`
|
|
517
|
+
);
|
|
518
|
+
const cwd = config.getTargetDir();
|
|
519
|
+
const next = assembleMcpServers(
|
|
520
|
+
settings.merged.mcpServers,
|
|
521
|
+
cwd,
|
|
522
|
+
topTierMcpServers
|
|
523
|
+
);
|
|
524
|
+
const nextGating = recomputeMcpGating(
|
|
525
|
+
settings,
|
|
526
|
+
next,
|
|
527
|
+
cwd,
|
|
528
|
+
config.getCliAllowedMcpServerNames()
|
|
529
|
+
);
|
|
530
|
+
const prevServers = config.getSettingsMcpServers();
|
|
531
|
+
const prevGating = config.getMcpGating();
|
|
532
|
+
debugLogger2.debug(
|
|
533
|
+
`assembled servers: prev=[${Object.keys(prevServers ?? {}).join(
|
|
534
|
+
", "
|
|
535
|
+
)}] next=[${Object.keys(next).join(", ")}]`
|
|
536
|
+
);
|
|
537
|
+
debugLogger2.debug(
|
|
538
|
+
`gating next: excluded=[${(nextGating.excluded ?? []).join(
|
|
539
|
+
", "
|
|
540
|
+
)}] allowed=[${(nextGating.allowed ?? []).join(
|
|
541
|
+
", "
|
|
542
|
+
)}] pending=[${(nextGating.pending ?? []).join(", ")}]`
|
|
543
|
+
);
|
|
544
|
+
const serversChanged = !mcpServersEqual(prevServers, next);
|
|
545
|
+
const gatingChanged = !mcpGatingEqual(prevGating, nextGating);
|
|
546
|
+
if (!serversChanged && !gatingChanged) {
|
|
547
|
+
debugLogger2.debug(
|
|
548
|
+
"no MCP-relevant change (servers + gating unchanged) \u2014 skipping reconcile"
|
|
549
|
+
);
|
|
550
|
+
return;
|
|
551
|
+
}
|
|
552
|
+
debugLogger2.debug(
|
|
553
|
+
`MCP-relevant change detected (serversChanged=${serversChanged} gatingChanged=${gatingChanged}) \u2014 reconciling`
|
|
554
|
+
);
|
|
555
|
+
const promptable = getPromptableMcpServers(next, cwd);
|
|
556
|
+
config.setExcludedMcpServers(nextGating.excluded ?? []);
|
|
557
|
+
config.setAllowedMcpServers(nextGating.allowed);
|
|
558
|
+
config.setPendingMcpServers(nextGating.pending);
|
|
559
|
+
try {
|
|
560
|
+
await config.reinitializeMcpServers(next);
|
|
561
|
+
const finalStatuses = Object.keys(next).map((name) => `${name}=${getMCPServerStatus(name)}`).join(", ");
|
|
562
|
+
debugLogger2.debug(
|
|
563
|
+
`reinitializeMcpServers resolved; final statuses=[${finalStatuses}]`
|
|
564
|
+
);
|
|
565
|
+
} catch (err) {
|
|
566
|
+
debugLogger2.error(
|
|
567
|
+
`reinitializeMcpServers threw: ${err instanceof Error ? err.stack ?? err.message : String(err)}`
|
|
568
|
+
);
|
|
569
|
+
appEvents.emit(
|
|
570
|
+
"log-error" /* LogError */,
|
|
571
|
+
"Failed to reload MCP server settings; existing MCP state may be unchanged. Run with --debug for details."
|
|
572
|
+
);
|
|
573
|
+
}
|
|
574
|
+
if (promptable.length > 0) {
|
|
575
|
+
debugLogger2.debug(
|
|
576
|
+
`gated servers awaiting approval \u2192 emitting ${"mcp-pending-approval-changed" /* McpPendingApprovalChanged */}: [${promptable.join(
|
|
577
|
+
", "
|
|
578
|
+
)}]`
|
|
579
|
+
);
|
|
580
|
+
appEvents.emit("mcp-pending-approval-changed" /* McpPendingApprovalChanged */);
|
|
581
|
+
}
|
|
582
|
+
});
|
|
583
|
+
}
|
|
584
|
+
__name(registerMcpHotReload, "registerMcpHotReload");
|
|
585
|
+
|
|
475
586
|
// packages/cli/src/startup/worktreeStartup.ts
|
|
476
587
|
init_esbuild_shims();
|
|
477
588
|
import * as path2 from "node:path";
|
|
478
|
-
var
|
|
589
|
+
var debugLogger3 = createDebugLogger("WORKTREE_STARTUP");
|
|
479
590
|
var DETACHED_HEAD = "HEAD";
|
|
480
591
|
async function setupStartupWorktree(rawInput, options) {
|
|
481
592
|
if (rawInput === void 0) return null;
|
|
@@ -547,7 +658,7 @@ async function setupStartupWorktree(rawInput, options) {
|
|
|
547
658
|
error: `--worktree: failed to chdir into ${worktreePath2} (${error instanceof Error ? error.message : String(error)}).`
|
|
548
659
|
};
|
|
549
660
|
}
|
|
550
|
-
|
|
661
|
+
debugLogger3.debug(
|
|
551
662
|
`setupStartupWorktree: re-attached to existing worktree at ${worktreePath2} (branch=${registered.branch})`
|
|
552
663
|
);
|
|
553
664
|
return {
|
|
@@ -625,7 +736,7 @@ async function persistStartupWorktreeSidecar(config, context) {
|
|
|
625
736
|
try {
|
|
626
737
|
previous = await readWorktreeSession(sidecarPath);
|
|
627
738
|
} catch (error) {
|
|
628
|
-
|
|
739
|
+
debugLogger3.warn(
|
|
629
740
|
`persistStartupWorktreeSidecar: failed to read existing sidecar at ${sidecarPath} \u2014 treating as "no previous worktree" and proceeding: ${error}`
|
|
630
741
|
);
|
|
631
742
|
previous = null;
|
|
@@ -644,7 +755,7 @@ async function persistStartupWorktreeSidecar(config, context) {
|
|
|
644
755
|
context.repoRoot,
|
|
645
756
|
context.worktreePath
|
|
646
757
|
]).catch((error) => {
|
|
647
|
-
|
|
758
|
+
debugLogger3.warn(
|
|
648
759
|
`persistStartupWorktreeSidecar: failed to check owner runtime ${owner}: ${error}`
|
|
649
760
|
);
|
|
650
761
|
return true;
|
|
@@ -1653,25 +1764,7 @@ __name(getStartupWarnings, "getStartupWarnings");
|
|
|
1653
1764
|
// packages/cli/src/utils/userStartupWarnings.ts
|
|
1654
1765
|
init_esbuild_shims();
|
|
1655
1766
|
import fs4 from "node:fs/promises";
|
|
1656
|
-
import * as os4 from "node:os";
|
|
1657
1767
|
import path5 from "node:path";
|
|
1658
|
-
var homeDirectoryCheck = {
|
|
1659
|
-
id: "home-directory",
|
|
1660
|
-
check: /* @__PURE__ */ __name(async (options) => {
|
|
1661
|
-
try {
|
|
1662
|
-
const [workspaceRealPath, homeRealPath] = await Promise.all([
|
|
1663
|
-
fs4.realpath(options.workspaceRoot),
|
|
1664
|
-
fs4.realpath(os4.homedir())
|
|
1665
|
-
]);
|
|
1666
|
-
if (workspaceRealPath === homeRealPath) {
|
|
1667
|
-
return "You are running Qwen Code in your home directory. It is recommended to run in a project-specific directory.";
|
|
1668
|
-
}
|
|
1669
|
-
return null;
|
|
1670
|
-
} catch (_err) {
|
|
1671
|
-
return "Could not verify the current directory due to a file system error.";
|
|
1672
|
-
}
|
|
1673
|
-
}, "check")
|
|
1674
|
-
};
|
|
1675
1768
|
var rootDirectoryCheck = {
|
|
1676
1769
|
id: "root-directory",
|
|
1677
1770
|
check: /* @__PURE__ */ __name(async (options) => {
|
|
@@ -1705,7 +1798,6 @@ var ripgrepAvailabilityCheck = {
|
|
|
1705
1798
|
}, "check")
|
|
1706
1799
|
};
|
|
1707
1800
|
var WARNING_CHECKS = [
|
|
1708
|
-
homeDirectoryCheck,
|
|
1709
1801
|
rootDirectoryCheck,
|
|
1710
1802
|
ripgrepAvailabilityCheck
|
|
1711
1803
|
];
|
|
@@ -1754,7 +1846,7 @@ __name(initializeWarningHandler, "initializeWarningHandler");
|
|
|
1754
1846
|
// packages/cli/src/utils/apiPreconnect.ts
|
|
1755
1847
|
init_esbuild_shims();
|
|
1756
1848
|
var import_undici = __toESM(require_undici(), 1);
|
|
1757
|
-
var
|
|
1849
|
+
var debugLogger4 = createDebugLogger("PRECONNECT");
|
|
1758
1850
|
var preconnectFired = false;
|
|
1759
1851
|
var DEFAULT_BASE_URLS = {
|
|
1760
1852
|
openai: "https://api.openai.com",
|
|
@@ -1768,7 +1860,7 @@ var ALL_DEFAULT_URLS = [
|
|
|
1768
1860
|
];
|
|
1769
1861
|
function shouldSkipPreconnect() {
|
|
1770
1862
|
if (process.env["NODE_EXTRA_CA_CERTS"]) {
|
|
1771
|
-
|
|
1863
|
+
debugLogger4.debug("Skipping preconnect: custom CA certificate configured");
|
|
1772
1864
|
return true;
|
|
1773
1865
|
}
|
|
1774
1866
|
return false;
|
|
@@ -1791,7 +1883,7 @@ function getPreconnectTargetUrl(authType, resolvedBaseUrl) {
|
|
|
1791
1883
|
if (isDefaultBaseUrl(resolvedBaseUrl)) {
|
|
1792
1884
|
return resolvedBaseUrl;
|
|
1793
1885
|
}
|
|
1794
|
-
|
|
1886
|
+
debugLogger4.debug(
|
|
1795
1887
|
"Skipping preconnect: resolved baseUrl is not a default URL"
|
|
1796
1888
|
);
|
|
1797
1889
|
return void 0;
|
|
@@ -1807,12 +1899,12 @@ function preconnectApi(authType, options = {}) {
|
|
|
1807
1899
|
return;
|
|
1808
1900
|
}
|
|
1809
1901
|
if (process.env["QWEN_CODE_DISABLE_PRECONNECT"] === "1") {
|
|
1810
|
-
|
|
1902
|
+
debugLogger4.debug("Preconnect disabled by environment variable");
|
|
1811
1903
|
preconnectFired = true;
|
|
1812
1904
|
return;
|
|
1813
1905
|
}
|
|
1814
1906
|
if (isInSandboxMode()) {
|
|
1815
|
-
|
|
1907
|
+
debugLogger4.debug("Skipping preconnect: sandbox mode detected");
|
|
1816
1908
|
preconnectFired = true;
|
|
1817
1909
|
return;
|
|
1818
1910
|
}
|
|
@@ -1821,22 +1913,22 @@ function preconnectApi(authType, options = {}) {
|
|
|
1821
1913
|
return;
|
|
1822
1914
|
}
|
|
1823
1915
|
if (detectRuntime() !== "node") {
|
|
1824
|
-
|
|
1916
|
+
debugLogger4.debug("Skipping preconnect: unsupported runtime");
|
|
1825
1917
|
preconnectFired = true;
|
|
1826
1918
|
return;
|
|
1827
1919
|
}
|
|
1828
1920
|
if (!options.proxy) {
|
|
1829
|
-
|
|
1921
|
+
debugLogger4.debug("Skipping preconnect dispatcher: no proxy configured");
|
|
1830
1922
|
return;
|
|
1831
1923
|
}
|
|
1832
1924
|
const proxy = options.proxy;
|
|
1833
1925
|
const targetUrl = getPreconnectTargetUrl(authType, options.resolvedBaseUrl);
|
|
1834
1926
|
if (!targetUrl) {
|
|
1835
|
-
|
|
1927
|
+
debugLogger4.debug("No target URL for preconnect");
|
|
1836
1928
|
return;
|
|
1837
1929
|
}
|
|
1838
1930
|
preconnectFired = true;
|
|
1839
|
-
|
|
1931
|
+
debugLogger4.debug(`Preconnecting to: ${targetUrl}`);
|
|
1840
1932
|
try {
|
|
1841
1933
|
const dispatcher = getOrCreateSharedDispatcher(proxy);
|
|
1842
1934
|
(0, import_undici.fetch)(targetUrl, {
|
|
@@ -1847,20 +1939,20 @@ function preconnectApi(authType, options = {}) {
|
|
|
1847
1939
|
},
|
|
1848
1940
|
dispatcher
|
|
1849
1941
|
}).then(() => {
|
|
1850
|
-
|
|
1942
|
+
debugLogger4.debug("Preconnect completed");
|
|
1851
1943
|
}).catch((error) => {
|
|
1852
1944
|
const redactedError = redactProxyCredentials(String(error));
|
|
1853
|
-
|
|
1945
|
+
debugLogger4.debug(`Preconnect failed (ignored): ${redactedError}`);
|
|
1854
1946
|
});
|
|
1855
1947
|
} catch (error) {
|
|
1856
1948
|
const redactedError = redactProxyCredentials(String(error));
|
|
1857
|
-
|
|
1949
|
+
debugLogger4.debug(`Preconnect failed (ignored): ${redactedError}`);
|
|
1858
1950
|
}
|
|
1859
1951
|
}
|
|
1860
1952
|
__name(preconnectApi, "preconnectApi");
|
|
1861
1953
|
|
|
1862
1954
|
// packages/cli/src/gemini.tsx
|
|
1863
|
-
var
|
|
1955
|
+
var debugLogger5 = createDebugLogger("STARTUP");
|
|
1864
1956
|
function clearCorruptionEnvVars() {
|
|
1865
1957
|
delete process.env[ENV_CORRUPTED_PATH];
|
|
1866
1958
|
delete process.env[ENV_WAS_RECOVERED];
|
|
@@ -1881,7 +1973,7 @@ function validateDnsResolutionOrder(order) {
|
|
|
1881
1973
|
}
|
|
1882
1974
|
__name(validateDnsResolutionOrder, "validateDnsResolutionOrder");
|
|
1883
1975
|
function getNodeMemoryArgs(isDebugMode3) {
|
|
1884
|
-
const totalMemoryMB =
|
|
1976
|
+
const totalMemoryMB = os4.totalmem() / (1024 * 1024);
|
|
1885
1977
|
const heapStats = v8.getHeapStatistics();
|
|
1886
1978
|
const currentMaxOldSpaceSizeMb = Math.floor(
|
|
1887
1979
|
heapStats.heap_size_limit / 1024 / 1024
|
|
@@ -1939,7 +2031,7 @@ function installInteractiveSignalHandlers(wasRaw) {
|
|
|
1939
2031
|
}
|
|
1940
2032
|
cleanupStarted = true;
|
|
1941
2033
|
void runExitCleanup().catch((error) => {
|
|
1942
|
-
|
|
2034
|
+
debugLogger5.error(`Error during ${signal} cleanup:`, error);
|
|
1943
2035
|
}).finally(() => {
|
|
1944
2036
|
process.exit(getSignalExitCode(signal));
|
|
1945
2037
|
});
|
|
@@ -1994,7 +2086,7 @@ async function main() {
|
|
|
1994
2086
|
await initializeI18n(
|
|
1995
2087
|
resolveLanguageSetting(settings.merged.general?.language)
|
|
1996
2088
|
);
|
|
1997
|
-
const { handleList: handleListExtensions } = await import("./list-
|
|
2089
|
+
const { handleList: handleListExtensions } = await import("./list-ZAFHZ7OS.js");
|
|
1998
2090
|
await handleListExtensions();
|
|
1999
2091
|
process.exit(0);
|
|
2000
2092
|
}
|
|
@@ -2008,7 +2100,7 @@ async function main() {
|
|
|
2008
2100
|
dns.setDefaultResultOrder(
|
|
2009
2101
|
validateDnsResolutionOrder(settings.merged.advanced?.dnsResolutionOrder)
|
|
2010
2102
|
);
|
|
2011
|
-
const { themeManager, AUTO_THEME_NAME } = await import("./theme-manager-
|
|
2103
|
+
const { themeManager, AUTO_THEME_NAME } = await import("./theme-manager-LYLGAERF.js");
|
|
2012
2104
|
themeManager.loadCustomThemes(settings.merged.ui?.customThemes);
|
|
2013
2105
|
const configuredTheme = settings.merged.ui?.theme;
|
|
2014
2106
|
if (configuredTheme && configuredTheme !== AUTO_THEME_NAME) {
|
|
@@ -2158,7 +2250,7 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
2158
2250
|
);
|
|
2159
2251
|
let resolvedSessionId;
|
|
2160
2252
|
if (argv.resume === "") {
|
|
2161
|
-
const { showResumeSessionPicker } = await import("./StandaloneSessionPicker-
|
|
2253
|
+
const { showResumeSessionPicker } = await import("./StandaloneSessionPicker-Z52JTYST.js");
|
|
2162
2254
|
resolvedSessionId = await showResumeSessionPicker();
|
|
2163
2255
|
} else if (!isValidSessionId(argv.resume)) {
|
|
2164
2256
|
const sessionService = new SessionService(process.cwd());
|
|
@@ -2169,7 +2261,7 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
2169
2261
|
writeStderrLine(
|
|
2170
2262
|
`Multiple sessions found with title "${argv.resume}". Please select one:`
|
|
2171
2263
|
);
|
|
2172
|
-
const { showResumeSessionPicker } = await import("./StandaloneSessionPicker-
|
|
2264
|
+
const { showResumeSessionPicker } = await import("./StandaloneSessionPicker-Z52JTYST.js");
|
|
2173
2265
|
resolvedSessionId = await showResumeSessionPicker(
|
|
2174
2266
|
process.cwd(),
|
|
2175
2267
|
matches
|
|
@@ -2209,6 +2301,15 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
2209
2301
|
settingsWatcher
|
|
2210
2302
|
);
|
|
2211
2303
|
profileCheckpoint("after_load_cli_config");
|
|
2304
|
+
if (settingsWatcher) {
|
|
2305
|
+
const disposeMcpHotReload = registerMcpHotReload(
|
|
2306
|
+
settingsWatcher,
|
|
2307
|
+
settings,
|
|
2308
|
+
config,
|
|
2309
|
+
config.getTopTierMcpServers()
|
|
2310
|
+
);
|
|
2311
|
+
registerCleanup(disposeMcpHotReload);
|
|
2312
|
+
}
|
|
2212
2313
|
if (startupWorktreeContext) {
|
|
2213
2314
|
config.setPendingStartupWorktreeNotice(
|
|
2214
2315
|
buildStartupWorktreeNotice(startupWorktreeContext)
|
|
@@ -2230,7 +2331,7 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
2230
2331
|
)
|
|
2231
2332
|
);
|
|
2232
2333
|
} catch (error) {
|
|
2233
|
-
|
|
2334
|
+
debugLogger5.warn(
|
|
2234
2335
|
`--worktree sidecar persist failed (non-fatal, notice preserved): ${error instanceof Error ? error.message : String(error)}`
|
|
2235
2336
|
);
|
|
2236
2337
|
}
|
|
@@ -2260,7 +2361,7 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
2260
2361
|
const proxy = config.getProxy();
|
|
2261
2362
|
preconnectApi(authType, { resolvedBaseUrl, proxy });
|
|
2262
2363
|
} catch (error) {
|
|
2263
|
-
|
|
2364
|
+
debugLogger5.debug(
|
|
2264
2365
|
`Preconnect skipped due to error getting authType: ${error}`
|
|
2265
2366
|
);
|
|
2266
2367
|
}
|
|
@@ -2271,7 +2372,7 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
2271
2372
|
registerCleanup(installInteractiveSignalHandlers(wasRaw));
|
|
2272
2373
|
}
|
|
2273
2374
|
if (config.isInteractive() && !wasRaw && process.stdin.isTTY) {
|
|
2274
|
-
const { startEarlyInputCapture, stopAndGetCapturedInput } = await import("./earlyInputCapture-
|
|
2375
|
+
const { startEarlyInputCapture, stopAndGetCapturedInput } = await import("./earlyInputCapture-44RISVVJ.js");
|
|
2275
2376
|
const { detectAndEnableKittyProtocol } = await import("./kittyProtocolDetector-OJRCJLIU.js");
|
|
2276
2377
|
process.stdin.setRawMode(true);
|
|
2277
2378
|
startEarlyInputCapture();
|
|
@@ -2279,27 +2380,27 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
2279
2380
|
kittyProtocolDetectionComplete = detectAndEnableKittyProtocol();
|
|
2280
2381
|
if (!configuredTheme || configuredTheme === AUTO_THEME_NAME) {
|
|
2281
2382
|
themeAutoDetectionComplete = themeManager.resolveAutoThemeAsync().catch((err) => {
|
|
2282
|
-
|
|
2383
|
+
debugLogger5.warn("Async theme auto-detection failed:", err);
|
|
2283
2384
|
});
|
|
2284
2385
|
}
|
|
2285
2386
|
}
|
|
2286
2387
|
if (config.isInteractive()) {
|
|
2287
|
-
const { setMaxSizedBoxDebugging } = await import("./MaxSizedBox-
|
|
2388
|
+
const { setMaxSizedBoxDebugging } = await import("./MaxSizedBox-QNF3EIGU.js");
|
|
2288
2389
|
setMaxSizedBoxDebugging(isDebugMode3);
|
|
2289
2390
|
}
|
|
2290
2391
|
const inputFormat = process.stdin.isTTY ? "text" /* TEXT */ : typeof config.getInputFormat === "function" ? config.getInputFormat() : "text" /* TEXT */;
|
|
2291
|
-
const { initializeApp } = await import("./initializer-
|
|
2392
|
+
const { initializeApp } = await import("./initializer-2Y7SLOKV.js");
|
|
2292
2393
|
const initializationResult = await initializeApp(config, settings);
|
|
2293
2394
|
profileCheckpoint("after_initialize_app");
|
|
2294
2395
|
if (config.getExperimentalZedIntegration()) {
|
|
2295
|
-
const { runAcpAgent } = await import("./acpAgent-
|
|
2396
|
+
const { runAcpAgent } = await import("./acpAgent-7RZUOWOM.js");
|
|
2296
2397
|
await runAcpAgent(config, settings, argv);
|
|
2297
2398
|
await runExitCleanup();
|
|
2298
2399
|
process.exit(0);
|
|
2299
2400
|
}
|
|
2300
2401
|
if (config.isInteractive()) {
|
|
2301
|
-
void import("./scheduler-
|
|
2302
|
-
|
|
2402
|
+
void import("./scheduler-7CQI3S4Q.js").then((m) => m.startBackgroundHousekeeping(config, settings)).catch((err) => {
|
|
2403
|
+
debugLogger5.warn("failed to start background housekeeping:", err);
|
|
2303
2404
|
});
|
|
2304
2405
|
}
|
|
2305
2406
|
let input = config.getQuestion();
|
|
@@ -2334,7 +2435,7 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
2334
2435
|
setInteractiveMode(true);
|
|
2335
2436
|
await kittyProtocolDetectionComplete;
|
|
2336
2437
|
await themeAutoDetectionComplete;
|
|
2337
|
-
const { startInteractiveUI } = await import("./startInteractiveUI-
|
|
2438
|
+
const { startInteractiveUI } = await import("./startInteractiveUI-6EYJN3JV.js");
|
|
2338
2439
|
await startInteractiveUI(
|
|
2339
2440
|
config,
|
|
2340
2441
|
settings,
|
|
@@ -2387,7 +2488,7 @@ ${finalArgs[promptIndex + 1]}`;
|
|
|
2387
2488
|
${input}`;
|
|
2388
2489
|
}
|
|
2389
2490
|
}
|
|
2390
|
-
const { validateNonInteractiveAuth } = await import("./validateNonInterActiveAuth-
|
|
2491
|
+
const { validateNonInteractiveAuth } = await import("./validateNonInterActiveAuth-BTDTYOVT.js");
|
|
2391
2492
|
const nonInteractiveConfig = await validateNonInteractiveAuth(
|
|
2392
2493
|
settings.merged.security?.auth?.useExternal,
|
|
2393
2494
|
config,
|
|
@@ -2396,7 +2497,7 @@ ${input}`;
|
|
|
2396
2497
|
const prompt_id = createNonInteractivePromptId(config.getSessionId());
|
|
2397
2498
|
if (inputFormat === "stream-json" /* STREAM_JSON */) {
|
|
2398
2499
|
const trimmedInput = (input ?? "").trim();
|
|
2399
|
-
const { runNonInteractiveStreamJson } = await import("./session-
|
|
2500
|
+
const { runNonInteractiveStreamJson } = await import("./session-NRO7UFOY.js");
|
|
2400
2501
|
await runNonInteractiveStreamJson(
|
|
2401
2502
|
nonInteractiveConfig,
|
|
2402
2503
|
trimmedInput.length > 0 ? trimmedInput : "",
|
|
@@ -2419,8 +2520,8 @@ ${input}`;
|
|
|
2419
2520
|
auth_type: config.getContentGeneratorConfig()?.authType,
|
|
2420
2521
|
prompt_length: input.length
|
|
2421
2522
|
});
|
|
2422
|
-
|
|
2423
|
-
const { runNonInteractive } = await import("./nonInteractiveCli-
|
|
2523
|
+
debugLogger5.debug(`Session ID: ${config.getSessionId()}`);
|
|
2524
|
+
const { runNonInteractive } = await import("./nonInteractiveCli-5W4GIZQM.js");
|
|
2424
2525
|
const exitCode = await runNonInteractive(
|
|
2425
2526
|
nonInteractiveConfig,
|
|
2426
2527
|
settings,
|
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
InstallationManager
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-SKQZZVAV.js";
|
|
6
|
+
import "./chunk-3227DZO4.js";
|
|
7
7
|
import {
|
|
8
8
|
GoogleGenAI
|
|
9
9
|
} from "./chunk-55ZMG67I.js";
|
|
10
10
|
import "./chunk-H6BD2ELD.js";
|
|
11
11
|
import "./chunk-5IFG2VC4.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-UX4SGCGN.js";
|
|
13
13
|
import "./chunk-Z2Z3GUXZ.js";
|
|
14
14
|
import {
|
|
15
15
|
init_esbuild_shims
|
|
@@ -212,7 +212,7 @@ var GeminiContentGenerator = class {
|
|
|
212
212
|
|
|
213
213
|
// packages/core/src/core/geminiContentGenerator/index.ts
|
|
214
214
|
function createGeminiContentGenerator(config, gcConfig) {
|
|
215
|
-
const version = "0.19.
|
|
215
|
+
const version = "0.19.3";
|
|
216
216
|
const userAgent = config.userAgent || `QwenCode/${version} (${process.platform}; ${process.arch})`;
|
|
217
217
|
const baseHeaders = {
|
|
218
218
|
"User-Agent": userAgent
|