@qwen-code/qwen-code 0.19.2 → 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-7RERNLFK.js → MaxSizedBox-QNF3EIGU.js} +29 -30
- package/chunks/{StandaloneSessionPicker-S22XBSN6.js → StandaloneSessionPicker-Z52JTYST.js} +42 -40
- package/chunks/{acpAgent-4MCETHF2.js → acpAgent-7RZUOWOM.js} +406 -118
- package/chunks/{agent-K3ENVYSB.js → agent-4FG7WTHJ.js} +24 -26
- package/chunks/{agent-headless-HO3V3A3A.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-4LV2HBH2.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-JTYRZODB.js → chunk-3TV3HUWZ.js} +16 -7
- package/chunks/{chunk-NYOHZYHM.js → chunk-4LUZAKMK.js} +45 -3
- package/chunks/{chunk-EL5IHQON.js → chunk-4QK3O43S.js} +6 -27
- package/chunks/chunk-5GOVVXEV.js +73 -0
- package/chunks/{chunk-R36VMVEP.js → chunk-6V4NZFUS.js} +5 -5
- package/chunks/{chunk-XKBP7M7A.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-5RVSM6NW.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-I2RFAW6Q.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-OQHQHJRK.js → chunk-F3ZYSEY6.js} +151 -4775
- package/chunks/chunk-FKAVULLM.js +4909 -0
- package/chunks/{chunk-TZM5JIAX.js → chunk-FNJ7BDPH.js} +6 -6
- package/chunks/{chunk-EXMX5YHG.js → chunk-FXKVLFFY.js} +1 -1
- package/chunks/{chunk-EX4W6ZYG.js → chunk-GGBIN5K7.js} +1 -1
- package/chunks/{chunk-BS64PXY3.js → chunk-GT2FGICD.js} +1 -1
- package/chunks/{chunk-HG6YKEBI.js → chunk-HPZTOP4I.js} +75 -23
- package/chunks/{chunk-OTBK43JR.js → chunk-HYCC3XM3.js} +1 -1
- package/chunks/{chunk-3QFE4OTE.js → chunk-HZT4UCFB.js} +4 -4
- package/chunks/{chunk-GYZQA2FO.js → chunk-I2LYBGNI.js} +1 -1
- package/chunks/{chunk-TMBPDHXD.js → chunk-I4H7PRWQ.js} +1 -1
- package/chunks/{chunk-2BAQ3ACS.js → chunk-J33ZR6OJ.js} +404 -4
- package/chunks/{chunk-4W4T77MO.js → chunk-J7FA27RO.js} +109 -6
- package/chunks/{chunk-S566HKUS.js → chunk-JE5FVRPC.js} +38 -7
- package/chunks/{chunk-CGOMICBE.js → chunk-JJXWTVSK.js} +1 -1
- package/chunks/{chunk-EEEZIVFJ.js → chunk-JOLIREYR.js} +1 -1
- package/chunks/{chunk-DBZUXSSV.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-D5E5TMYH.js → chunk-L7OKCI7T.js} +4 -2
- package/chunks/{chunk-ZUAXI2OA.js → chunk-M2U5NM24.js} +188 -11366
- package/chunks/{chunk-CI5O6SQL.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-VQRYPFCV.js → chunk-O75BHFQW.js} +10 -460
- package/chunks/{chunk-WGAEWQTF.js → chunk-ODLIHNOY.js} +1 -2
- package/chunks/{chunk-J6AW7O5D.js → chunk-PDE7CSDS.js} +2 -2
- package/chunks/{chunk-5R4SBCX6.js → chunk-PR32FRT6.js} +3 -3
- package/chunks/{chunk-LLFFKXZZ.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-WA5OJGFL.js → chunk-QNKBEJO2.js} +359 -76
- package/chunks/{chunk-UAARVVBI.js → chunk-QWFNTRH4.js} +1 -1
- package/chunks/chunk-QYUE6W3T.js +123 -0
- package/chunks/{chunk-5JZLXFPD.js → chunk-R5OP2ATH.js} +11 -11
- package/chunks/{chunk-BNXANYLH.js → chunk-RD6YJJJ6.js} +81 -1
- package/chunks/{chunk-2TJ3YN6Q.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-USGMPVOY.js → chunk-SLNKLLEO.js} +14 -9
- package/chunks/chunk-SMXULRAN.js +37 -0
- package/chunks/{chunk-PF523XJX.js → chunk-SMYQZVZ3.js} +1 -1
- package/chunks/{chunk-I5T6PIBQ.js → chunk-STUWFKGD.js} +1001 -887
- package/chunks/{chunk-UAARJR2G.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-RS4HRC75.js → chunk-UYT3MWEB.js} +85 -8
- package/chunks/{chunk-VYFMN7C6.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-PXFFKNCO.js → chunk-YAINVQ3Q.js} +2961 -1349
- package/chunks/{chunk-X6EDWN44.js → chunk-ZP6UKOPB.js} +1 -1
- package/chunks/{computer-use-6BBRNT6S.js → computer-use-JGB36FDW.js} +103 -52
- package/chunks/{contextCommand-UJAJ6N57.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-X6KMCSHD.js → earlyInputCapture-44RISVVJ.js} +25 -27
- package/chunks/{edit-7J6WXARF.js → edit-NN6GM5DT.js} +68 -30
- package/chunks/{en-NCUBOJOY.js → en-HPWEJBTR.js} +8 -0
- package/chunks/{enter-worktree-KULCKJPJ.js → enter-worktree-PB3O2C7D.js} +24 -26
- package/chunks/{enterPlanMode-H2CIOLMH.js → enterPlanMode-YQFNNSUA.js} +24 -26
- package/chunks/{errors-6G2JYR54.js → errors-LS7XU5DZ.js} +26 -28
- package/chunks/{exit-worktree-ECBWBVC5.js → exit-worktree-E2FTNSBK.js} +24 -26
- package/chunks/{exitPlanMode-DQV56GTW.js → exitPlanMode-GLYK2BUB.js} +24 -26
- package/chunks/{fast-path-35JJFS3C.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-NDTG7WAX.js → gemini-2YFLVA2M.js} +204 -103
- package/chunks/{geminiContentGenerator-XTG6SFLA.js → geminiContentGenerator-XV6SV6CD.js} +4 -4
- package/chunks/{glob-SJ2JBZK4.js → glob-2H6CDDMK.js} +24 -26
- package/chunks/{grep-BRMWFEWR.js → grep-VXIUXM3C.js} +24 -26
- package/chunks/{headlessSafetyWarnings-LJ6FJX77.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-DH7KFSJV.js → monitor-HKLRS2HQ.js} +24 -26
- package/chunks/nonInteractiveCli-5W4GIZQM.js +96 -0
- package/chunks/{notebook-edit-D4R4ZLMA.js → notebook-edit-Y6SKSGTT.js} +52 -26
- package/chunks/{openaiContentGenerator-F74IPQ6E.js → openaiContentGenerator-J7G2FYJT.js} +13 -14
- package/chunks/{pt-SY5NCFGR.js → pt-TNZRNLQB.js} +1 -0
- package/chunks/{qwenContentGenerator-ATTK5P4D.js → qwenContentGenerator-5XIEM5GV.js} +26 -28
- package/chunks/{qwenOAuth2-K4AASPCV.js → qwenOAuth2-AG3PFFLZ.js} +4 -4
- package/chunks/{read-file-767G23OY.js → read-file-J7D552ZJ.js} +9 -10
- package/chunks/{read-mcp-resource-I5HCZJ6X.js → read-mcp-resource-DQQW7H7T.js} +2 -2
- package/chunks/{ripGrep-4OMMGSWX.js → ripGrep-IEIFIWP4.js} +24 -26
- package/chunks/{ru-FWNXJG4F.js → ru-NIAUBKCN.js} +1 -0
- package/chunks/{run-qwen-serve-REKSTYRA.js → run-qwen-serve-SGEEVMXD.js} +149 -41
- package/chunks/{scheduler-UNTFDQLG.js → scheduler-7CQI3S4Q.js} +24 -26
- package/chunks/{send-message-2DAFXEYP.js → send-message-EE4TWKVU.js} +2 -2
- package/chunks/{serve-KZ56QB5S.js → serve-V6GVZR6U.js} +31 -31
- package/chunks/{server-BV5TZUMU.js → server-4QMUWXPW.js} +6996 -5864
- package/chunks/{session-OIBXFSGD.js → session-NRO7UFOY.js} +62 -57
- package/chunks/{settings-WJTCBIRA.js → settings-SGWRDQSC.js} +30 -30
- package/chunks/{shell-WC52IBHW.js → shell-62ANGIHL.js} +24 -26
- package/chunks/{skill-U7F7JR4M.js → skill-VWAQAWW6.js} +39 -13
- package/chunks/{spawnChannel-EI2E5BCW.js → spawnChannel-3VHW5EPY.js} +26 -28
- package/chunks/{src-4F6FBZFI.js → src-KUV5J5Q2.js} +52 -28
- package/chunks/{startInteractiveUI-SFRVB3CE.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-3WC7CIIW.js → team-create-LPOGCPM7.js} +24 -26
- package/chunks/{team-delete-HGHFG23B.js → team-delete-LKBYPASD.js} +5 -5
- package/chunks/{theme-manager-DICFCT3P.js → theme-manager-LYLGAERF.js} +25 -27
- package/chunks/{todoWrite-IFBMN3FH.js → todoWrite-OYXKTVYN.js} +4 -4
- package/chunks/{tool-search-L5K7HLER.js → tool-search-YPUFJ3ZQ.js} +102 -18
- package/chunks/trustedFolders-5B24TMEA.js +73 -0
- package/chunks/types-QX5C3CHJ.js +12 -0
- package/chunks/{validateNonInterActiveAuth-GCH4Z6KI.js → validateNonInterActiveAuth-BTDTYOVT.js} +57 -54
- package/chunks/{web-fetch-B5IIQ5TT.js → web-fetch-EEB5LZYU.js} +28 -15
- package/chunks/{workflow-OB3AND7I.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-SEXBNDZM.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-B6HQGTYR.js +0 -410
- package/chunks/chunk-SEZC2725.js +0 -36
- package/chunks/chunk-SYCJMSIJ.js +0 -82
- package/chunks/daemon-status-provider-CSL3BUOY.js +0 -68
- package/chunks/initializer-P5AXF7PV.js +0 -61
- package/chunks/list-6COK34BP.js +0 -65
- package/chunks/loadedSettingsAdapter-XIUTN245.js +0 -60
- package/chunks/nonInteractiveCli-7575LBXP.js +0 -91
- package/chunks/workspace-providers-status-ZIR5EPOO.js +0 -62
- package/chunks/workspace-service-OM5D4OI2.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,20 +2,20 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
formatFetchErrorForUser
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-KMGMKW5Q.js";
|
|
6
6
|
import {
|
|
7
7
|
openBrowserSecurely
|
|
8
8
|
} from "./chunk-22IFUCVR.js";
|
|
9
|
+
import {
|
|
10
|
+
atomicWriteFile
|
|
11
|
+
} from "./chunk-3227DZO4.js";
|
|
9
12
|
import {
|
|
10
13
|
combineAbortSignals
|
|
11
14
|
} from "./chunk-64WXLC72.js";
|
|
12
|
-
import {
|
|
13
|
-
atomicWriteFile
|
|
14
|
-
} from "./chunk-3UALQ56H.js";
|
|
15
15
|
import {
|
|
16
16
|
Storage,
|
|
17
17
|
createDebugLogger
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-UX4SGCGN.js";
|
|
19
19
|
import {
|
|
20
20
|
init_esbuild_shims
|
|
21
21
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -31,11 +31,40 @@ function isAbortError(error) {
|
|
|
31
31
|
return false;
|
|
32
32
|
}
|
|
33
33
|
__name(isAbortError, "isAbortError");
|
|
34
|
+
function describeErrorCause(cause) {
|
|
35
|
+
if (cause == null) return void 0;
|
|
36
|
+
if (cause instanceof AggregateError && Array.isArray(cause.errors)) {
|
|
37
|
+
const inner = cause.errors.map((e) => describeSingleError(e)).filter((s) => Boolean(s));
|
|
38
|
+
if (inner.length > 0) {
|
|
39
|
+
return [...new Set(inner)].join("; ");
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return describeSingleError(cause);
|
|
43
|
+
}
|
|
44
|
+
__name(describeErrorCause, "describeErrorCause");
|
|
45
|
+
function describeSingleError(err) {
|
|
46
|
+
if (err instanceof Error) {
|
|
47
|
+
const code = err.code;
|
|
48
|
+
const codeStr = typeof code === "string" ? code : void 0;
|
|
49
|
+
const msg = err.message?.trim();
|
|
50
|
+
if (msg && codeStr && !msg.includes(codeStr)) {
|
|
51
|
+
return `${codeStr}: ${msg}`;
|
|
52
|
+
}
|
|
53
|
+
return msg || codeStr || (err.name !== "Error" ? err.name : void 0);
|
|
54
|
+
}
|
|
55
|
+
if (err && typeof err === "object" && "code" in err) {
|
|
56
|
+
const code = err.code;
|
|
57
|
+
if (typeof code === "string" && code) return code;
|
|
58
|
+
}
|
|
59
|
+
const str = String(err);
|
|
60
|
+
return str && str !== "[object Object]" ? str : void 0;
|
|
61
|
+
}
|
|
62
|
+
__name(describeSingleError, "describeSingleError");
|
|
34
63
|
function getErrorMessage(error) {
|
|
35
64
|
if (error instanceof Error) {
|
|
36
|
-
const
|
|
37
|
-
if (
|
|
38
|
-
return `${error.message} (cause: ${
|
|
65
|
+
const detail = describeErrorCause(error.cause);
|
|
66
|
+
if (detail && detail !== error.message) {
|
|
67
|
+
return `${error.message} (cause: ${detail})`;
|
|
39
68
|
}
|
|
40
69
|
return error.message;
|
|
41
70
|
}
|
|
@@ -2,15 +2,16 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
resolveModelConfig,
|
|
5
|
+
resolveProviderProtocol,
|
|
5
6
|
stripRuntimeSnapshotPrefix
|
|
6
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YAINVQ3Q.js";
|
|
7
8
|
import {
|
|
8
9
|
external_exports
|
|
9
10
|
} from "./chunk-K5PGHDBN.js";
|
|
10
11
|
import {
|
|
11
12
|
AuthType,
|
|
12
13
|
MODEL_GENERATION_CONFIG_FIELDS
|
|
13
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-QNKBEJO2.js";
|
|
14
15
|
import {
|
|
15
16
|
init_esbuild_shims
|
|
16
17
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -112,6 +113,68 @@ var AUTH_ENV_MODEL_VARS = {
|
|
|
112
113
|
["anthropic" /* USE_ANTHROPIC */]: ["ANTHROPIC_MODEL"],
|
|
113
114
|
["qwen-oauth" /* QWEN_OAUTH */]: []
|
|
114
115
|
};
|
|
116
|
+
function collectProviderModelsForProtocol(modelProviders, providerProtocol, protocol) {
|
|
117
|
+
if (!modelProviders) {
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
const out = [];
|
|
121
|
+
for (const [providerId, models] of Object.entries(modelProviders)) {
|
|
122
|
+
if (!Array.isArray(models)) {
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
if (resolveProviderProtocol(providerId, providerProtocol) === protocol) {
|
|
126
|
+
out.push(...models);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
return out;
|
|
130
|
+
}
|
|
131
|
+
__name(collectProviderModelsForProtocol, "collectProviderModelsForProtocol");
|
|
132
|
+
function findProviderIdForModel(modelProviders, providerProtocol, protocol, modelProvider) {
|
|
133
|
+
if (!modelProviders || !modelProvider) {
|
|
134
|
+
return void 0;
|
|
135
|
+
}
|
|
136
|
+
for (const [providerId, models] of Object.entries(modelProviders)) {
|
|
137
|
+
if (!Array.isArray(models)) {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
if (resolveProviderProtocol(providerId, providerProtocol) !== protocol) {
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
if (models.includes(modelProvider)) {
|
|
144
|
+
return providerId;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return void 0;
|
|
148
|
+
}
|
|
149
|
+
__name(findProviderIdForModel, "findProviderIdForModel");
|
|
150
|
+
function buildSkippedProviderWarnings(modelProviders, providerProtocol) {
|
|
151
|
+
if (!modelProviders) {
|
|
152
|
+
return [];
|
|
153
|
+
}
|
|
154
|
+
const warnings = [];
|
|
155
|
+
const known = Object.values(AuthType).join(", ");
|
|
156
|
+
for (const [providerId, models] of Object.entries(modelProviders)) {
|
|
157
|
+
if (!Array.isArray(models) || models.length === 0) {
|
|
158
|
+
continue;
|
|
159
|
+
}
|
|
160
|
+
const protocol = resolveProviderProtocol(providerId, providerProtocol);
|
|
161
|
+
if (protocol === "qwen-oauth" /* QWEN_OAUTH */ && providerId !== "qwen-oauth" /* QWEN_OAUTH */) {
|
|
162
|
+
warnings.push(
|
|
163
|
+
`Warning: modelProviders provider "${providerId}" maps to "qwen-oauth" via providerProtocol, but qwen-oauth uses hard-coded models only; its ${models.length} model(s) are ignored.`
|
|
164
|
+
);
|
|
165
|
+
continue;
|
|
166
|
+
}
|
|
167
|
+
if (protocol !== void 0) {
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
const mapped = providerProtocol && Object.hasOwn(providerProtocol, providerId) ? providerProtocol[providerId] : void 0;
|
|
171
|
+
warnings.push(
|
|
172
|
+
mapped !== void 0 ? `Warning: providerProtocol["${providerId}"] = "${mapped}" is not a known protocol (expected one of: ${known}); its ${models.length} model(s) are ignored.` : `Warning: modelProviders provider "${providerId}" is not a built-in protocol (${known}) and has no providerProtocol mapping; its ${models.length} model(s) are ignored. Add providerProtocol["${providerId}"] (e.g. "openai") to enable them.`
|
|
173
|
+
);
|
|
174
|
+
}
|
|
175
|
+
return warnings;
|
|
176
|
+
}
|
|
177
|
+
__name(buildSkippedProviderWarnings, "buildSkippedProviderWarnings");
|
|
115
178
|
function getIgnoredTopLevelGenerationConfigFields(settingsGenerationConfig, modelProvider) {
|
|
116
179
|
if (!settingsGenerationConfig || !modelProvider) {
|
|
117
180
|
return [];
|
|
@@ -122,7 +185,7 @@ function getIgnoredTopLevelGenerationConfigFields(settingsGenerationConfig, mode
|
|
|
122
185
|
);
|
|
123
186
|
}
|
|
124
187
|
__name(getIgnoredTopLevelGenerationConfigFields, "getIgnoredTopLevelGenerationConfigFields");
|
|
125
|
-
function buildIgnoredTopLevelGenerationConfigWarning(
|
|
188
|
+
function buildIgnoredTopLevelGenerationConfigWarning(providerId, modelProvider, ignoredFields) {
|
|
126
189
|
if (ignoredFields.length === 0) {
|
|
127
190
|
return void 0;
|
|
128
191
|
}
|
|
@@ -131,7 +194,7 @@ function buildIgnoredTopLevelGenerationConfigWarning(authType, modelProvider, ig
|
|
|
131
194
|
const verb = isSingular ? "is" : "are";
|
|
132
195
|
const fieldReference = isSingular ? "this field" : "these fields";
|
|
133
196
|
const pronoun = isSingular ? "it" : "them";
|
|
134
|
-
return `Warning: ${fieldList} ${verb} ignored for provider model "${modelProvider.id}" from modelProviders.${
|
|
197
|
+
return `Warning: ${fieldList} ${verb} ignored for provider model "${modelProvider.id}" from modelProviders.${providerId}. Move ${fieldReference} to modelProviders.${providerId}[].generationConfig for that model if you want ${pronoun} to apply.`;
|
|
135
198
|
}
|
|
136
199
|
__name(buildIgnoredTopLevelGenerationConfigWarning, "buildIgnoredTopLevelGenerationConfigWarning");
|
|
137
200
|
function getAuthTypeFromEnv() {
|
|
@@ -177,8 +240,12 @@ function resolveCliGenerationConfig(inputs) {
|
|
|
177
240
|
let modelProvider;
|
|
178
241
|
let disambiguationWarning;
|
|
179
242
|
if (resolvedModel && authType && settings.modelProviders) {
|
|
180
|
-
const providers =
|
|
181
|
-
|
|
243
|
+
const providers = collectProviderModelsForProtocol(
|
|
244
|
+
settings.modelProviders,
|
|
245
|
+
settings.providerProtocol,
|
|
246
|
+
authType
|
|
247
|
+
);
|
|
248
|
+
if (providers.length > 0) {
|
|
182
249
|
const persistedBaseUrl = settings.model?.baseUrl;
|
|
183
250
|
if (resolvedFromSettings && persistedBaseUrl) {
|
|
184
251
|
const exactMatch = providers.find(
|
|
@@ -225,7 +292,12 @@ function resolveCliGenerationConfig(inputs) {
|
|
|
225
292
|
};
|
|
226
293
|
const resolved = resolveModelConfig(configSources);
|
|
227
294
|
const ignoredGenerationConfigWarning = authType && modelProvider ? buildIgnoredTopLevelGenerationConfigWarning(
|
|
228
|
-
|
|
295
|
+
findProviderIdForModel(
|
|
296
|
+
settings.modelProviders,
|
|
297
|
+
settings.providerProtocol,
|
|
298
|
+
authType,
|
|
299
|
+
modelProvider
|
|
300
|
+
) ?? authType,
|
|
229
301
|
modelProvider,
|
|
230
302
|
getIgnoredTopLevelGenerationConfigFields(
|
|
231
303
|
settings.model?.generationConfig,
|
|
@@ -248,7 +320,11 @@ function resolveCliGenerationConfig(inputs) {
|
|
|
248
320
|
warnings: [
|
|
249
321
|
...resolved.warnings,
|
|
250
322
|
...disambiguationWarning ? [disambiguationWarning] : [],
|
|
251
|
-
...ignoredGenerationConfigWarning ? [ignoredGenerationConfigWarning] : []
|
|
323
|
+
...ignoredGenerationConfigWarning ? [ignoredGenerationConfigWarning] : [],
|
|
324
|
+
...buildSkippedProviderWarnings(
|
|
325
|
+
settings.modelProviders,
|
|
326
|
+
settings.providerProtocol
|
|
327
|
+
)
|
|
252
328
|
]
|
|
253
329
|
};
|
|
254
330
|
}
|
|
@@ -259,6 +335,7 @@ export {
|
|
|
259
335
|
sanitizeProviderBaseUrl,
|
|
260
336
|
parseAcpBaseModelId,
|
|
261
337
|
parseAcpModelOption,
|
|
338
|
+
collectProviderModelsForProtocol,
|
|
262
339
|
getAuthTypeFromEnv,
|
|
263
340
|
resolveCliGenerationConfig
|
|
264
341
|
};
|
|
@@ -3,12 +3,18 @@
|
|
|
3
3
|
import {
|
|
4
4
|
MID_TURN_QUEUE_DRAIN_METHOD
|
|
5
5
|
} from "./chunk-QBZ22PQX.js";
|
|
6
|
+
import {
|
|
7
|
+
DEFAULT_RING_SIZE,
|
|
8
|
+
EVENT_SCHEMA_VERSION,
|
|
9
|
+
EventBus
|
|
10
|
+
} from "./chunk-ALX6BUYW.js";
|
|
6
11
|
import {
|
|
7
12
|
MCP_RESTART_SERVER_DEADLINE_MS
|
|
8
13
|
} from "./chunk-P7M4GA57.js";
|
|
9
14
|
import {
|
|
10
15
|
BranchWhilePromptActiveError,
|
|
11
16
|
CancelSentinelCollisionError,
|
|
17
|
+
CdWhilePromptActiveError,
|
|
12
18
|
InvalidClientIdError,
|
|
13
19
|
InvalidPermissionOptionError,
|
|
14
20
|
InvalidRewindTargetError,
|
|
@@ -23,19 +29,12 @@ import {
|
|
|
23
29
|
SessionShellClientRequiredError,
|
|
24
30
|
SessionShellDisabledError,
|
|
25
31
|
WorkspaceMismatchError,
|
|
32
|
+
canonicalizeWorkspace,
|
|
26
33
|
isNotCurrentlyGeneratingCancelError
|
|
27
|
-
} from "./chunk-
|
|
28
|
-
import {
|
|
29
|
-
canonicalizeWorkspace
|
|
30
|
-
} from "./chunk-SEZC2725.js";
|
|
31
|
-
import {
|
|
32
|
-
DEFAULT_RING_SIZE,
|
|
33
|
-
EVENT_SCHEMA_VERSION,
|
|
34
|
-
EventBus
|
|
35
|
-
} from "./chunk-ALX6BUYW.js";
|
|
34
|
+
} from "./chunk-JE5FVRPC.js";
|
|
36
35
|
import {
|
|
37
36
|
defaultSpawnChannelFactory
|
|
38
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-FXKVLFFY.js";
|
|
39
38
|
import {
|
|
40
39
|
ClientSideConnection,
|
|
41
40
|
PROTOCOL_VERSION,
|
|
@@ -49,15 +48,15 @@ import {
|
|
|
49
48
|
STATUS_SCHEMA_VERSION,
|
|
50
49
|
createIdleWorkspaceExtensionsStatus,
|
|
51
50
|
createIdleWorkspaceHooksStatus
|
|
52
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-L7OKCI7T.js";
|
|
53
52
|
import {
|
|
54
53
|
ShellExecutionService,
|
|
55
54
|
TrustGateError
|
|
56
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-YAINVQ3Q.js";
|
|
57
56
|
import {
|
|
58
57
|
DAEMON_TRACEPARENT_META_KEY,
|
|
59
58
|
DAEMON_TRACESTATE_META_KEY
|
|
60
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-QNKBEJO2.js";
|
|
61
60
|
import {
|
|
62
61
|
init_esbuild_shims
|
|
63
62
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -2174,6 +2173,14 @@ function createAcpSessionBridge(opts) {
|
|
|
2174
2173
|
const aliveChannels = /* @__PURE__ */ new Set();
|
|
2175
2174
|
let inFlightChannelSpawn;
|
|
2176
2175
|
const byId = /* @__PURE__ */ new Map();
|
|
2176
|
+
const toSessionSummary = /* @__PURE__ */ __name((entry) => ({
|
|
2177
|
+
sessionId: entry.sessionId,
|
|
2178
|
+
workspaceCwd: entry.workspaceCwd,
|
|
2179
|
+
createdAt: entry.createdAt,
|
|
2180
|
+
displayName: entry.displayName,
|
|
2181
|
+
clientCount: entry.clientIds.size,
|
|
2182
|
+
hasActivePrompt: entry.promptActive
|
|
2183
|
+
}), "toSessionSummary");
|
|
2177
2184
|
const permissionConsensusQuorum = opts.permissionConsensusQuorum;
|
|
2178
2185
|
if (permissionConsensusQuorum !== void 0 && (!Number.isInteger(permissionConsensusQuorum) || permissionConsensusQuorum < 1)) {
|
|
2179
2186
|
throw new Error(
|
|
@@ -2828,6 +2835,7 @@ function createAcpSessionBridge(opts) {
|
|
|
2828
2835
|
// Late attachers get the same ACP state the original restore
|
|
2829
2836
|
// caller saw; spawn-only sessions don't carry a state payload.
|
|
2830
2837
|
state: existing.restoreState ?? {},
|
|
2838
|
+
hasActivePrompt: existing.promptActive,
|
|
2831
2839
|
...replayFieldsFor(existing, action)
|
|
2832
2840
|
};
|
|
2833
2841
|
}
|
|
@@ -2860,7 +2868,8 @@ function createAcpSessionBridge(opts) {
|
|
|
2860
2868
|
...restored,
|
|
2861
2869
|
attached: true,
|
|
2862
2870
|
clientId: registerClient(entry, req.clientId),
|
|
2863
|
-
createdAt: entry.createdAt
|
|
2871
|
+
createdAt: entry.createdAt,
|
|
2872
|
+
hasActivePrompt: entry.promptActive
|
|
2864
2873
|
};
|
|
2865
2874
|
}
|
|
2866
2875
|
if (byId.size + inFlightSpawns.size + inFlightRestores.size >= maxSessions) {
|
|
@@ -2948,6 +2957,7 @@ function createAcpSessionBridge(opts) {
|
|
|
2948
2957
|
clientId: clientId2,
|
|
2949
2958
|
createdAt: racedEntry.createdAt,
|
|
2950
2959
|
state: racedEntry.restoreState ?? {},
|
|
2960
|
+
hasActivePrompt: racedEntry.promptActive,
|
|
2951
2961
|
...replayFieldsFor(racedEntry, action)
|
|
2952
2962
|
};
|
|
2953
2963
|
}
|
|
@@ -2969,6 +2979,7 @@ function createAcpSessionBridge(opts) {
|
|
|
2969
2979
|
clientId,
|
|
2970
2980
|
createdAt: entry.createdAt,
|
|
2971
2981
|
state,
|
|
2982
|
+
hasActivePrompt: entry.promptActive,
|
|
2972
2983
|
...replayFieldsFor(entry, action)
|
|
2973
2984
|
};
|
|
2974
2985
|
})().finally(() => {
|
|
@@ -3146,7 +3157,8 @@ function createAcpSessionBridge(opts) {
|
|
|
3146
3157
|
workspaceCwd: existing.workspaceCwd,
|
|
3147
3158
|
attached: true,
|
|
3148
3159
|
clientId,
|
|
3149
|
-
createdAt: existing.createdAt
|
|
3160
|
+
createdAt: existing.createdAt,
|
|
3161
|
+
hasActivePrompt: existing.promptActive
|
|
3150
3162
|
};
|
|
3151
3163
|
}
|
|
3152
3164
|
const inFlight = inFlightSpawns.get(workspaceKey);
|
|
@@ -3170,7 +3182,12 @@ function createAcpSessionBridge(opts) {
|
|
|
3170
3182
|
).catch(() => {
|
|
3171
3183
|
});
|
|
3172
3184
|
}
|
|
3173
|
-
return {
|
|
3185
|
+
return {
|
|
3186
|
+
...session,
|
|
3187
|
+
attached: true,
|
|
3188
|
+
clientId,
|
|
3189
|
+
hasActivePrompt: attachedEntry.promptActive
|
|
3190
|
+
};
|
|
3174
3191
|
}
|
|
3175
3192
|
}
|
|
3176
3193
|
if (byId.size + inFlightSpawns.size + inFlightRestores.size >= maxSessions) {
|
|
@@ -3616,6 +3633,59 @@ function createAcpSessionBridge(opts) {
|
|
|
3616
3633
|
);
|
|
3617
3634
|
return branchResult;
|
|
3618
3635
|
},
|
|
3636
|
+
async changeSessionCwd(sessionId, req, context) {
|
|
3637
|
+
if (shuttingDown) throw new Error("AcpSessionBridge is shutting down");
|
|
3638
|
+
const entry = byId.get(sessionId);
|
|
3639
|
+
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
3640
|
+
const originatorClientId = resolveTrustedClientId(
|
|
3641
|
+
entry,
|
|
3642
|
+
context?.clientId
|
|
3643
|
+
);
|
|
3644
|
+
const cdPromise = entry.promptQueue.then(async () => {
|
|
3645
|
+
if (entry.promptActive) {
|
|
3646
|
+
throw new CdWhilePromptActiveError(sessionId);
|
|
3647
|
+
}
|
|
3648
|
+
const ci = await ensureChannel();
|
|
3649
|
+
const raw = await ci.connection.extMethod(
|
|
3650
|
+
SERVE_CONTROL_EXT_METHODS.sessionCd,
|
|
3651
|
+
{
|
|
3652
|
+
sessionId,
|
|
3653
|
+
path: req.path
|
|
3654
|
+
}
|
|
3655
|
+
);
|
|
3656
|
+
const extResult = raw;
|
|
3657
|
+
if (typeof extResult?.previousCwd !== "string" || typeof extResult?.newCwd !== "string" || !Array.isArray(extResult?.warnings)) {
|
|
3658
|
+
throw new Error(
|
|
3659
|
+
`changeSessionCwd: unexpected response shape from agent: ${JSON.stringify(raw)}`
|
|
3660
|
+
);
|
|
3661
|
+
}
|
|
3662
|
+
if (extResult.previousCwd !== extResult.newCwd) {
|
|
3663
|
+
entry.events.publish({
|
|
3664
|
+
type: "session_cwd_changed",
|
|
3665
|
+
data: {
|
|
3666
|
+
sessionId,
|
|
3667
|
+
previousCwd: extResult.previousCwd,
|
|
3668
|
+
newCwd: extResult.newCwd
|
|
3669
|
+
},
|
|
3670
|
+
...originatorClientId ? { originatorClientId } : {}
|
|
3671
|
+
});
|
|
3672
|
+
}
|
|
3673
|
+
return extResult;
|
|
3674
|
+
});
|
|
3675
|
+
entry.promptQueue = cdPromise.then(
|
|
3676
|
+
() => void 0,
|
|
3677
|
+
() => void 0
|
|
3678
|
+
);
|
|
3679
|
+
const result = await withTimeout(
|
|
3680
|
+
cdPromise,
|
|
3681
|
+
Math.max(initTimeoutMs, 3e4),
|
|
3682
|
+
"changeSessionCwd"
|
|
3683
|
+
);
|
|
3684
|
+
writeStderrLine(
|
|
3685
|
+
`qwen serve: session ${sessionId} cwd changed: ${result.previousCwd} -> ${result.newCwd}` + (result.warnings.length > 0 ? ` (warnings: ${result.warnings.join("; ")})` : "")
|
|
3686
|
+
);
|
|
3687
|
+
return { sessionId, ...result };
|
|
3688
|
+
},
|
|
3619
3689
|
async closeSession(sessionId, context, closeOpts) {
|
|
3620
3690
|
return closeSessionImpl(sessionId, context, closeOpts);
|
|
3621
3691
|
},
|
|
@@ -3679,18 +3749,16 @@ function createAcpSessionBridge(opts) {
|
|
|
3679
3749
|
const out = [];
|
|
3680
3750
|
for (const entry of byId.values()) {
|
|
3681
3751
|
if (entry.workspaceCwd === key) {
|
|
3682
|
-
out.push(
|
|
3683
|
-
sessionId: entry.sessionId,
|
|
3684
|
-
workspaceCwd: entry.workspaceCwd,
|
|
3685
|
-
createdAt: entry.createdAt,
|
|
3686
|
-
displayName: entry.displayName,
|
|
3687
|
-
clientCount: entry.clientIds.size,
|
|
3688
|
-
hasActivePrompt: entry.promptActive
|
|
3689
|
-
});
|
|
3752
|
+
out.push(toSessionSummary(entry));
|
|
3690
3753
|
}
|
|
3691
3754
|
}
|
|
3692
3755
|
return out;
|
|
3693
3756
|
},
|
|
3757
|
+
getSessionSummary(sessionId) {
|
|
3758
|
+
const entry = byId.get(sessionId);
|
|
3759
|
+
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
3760
|
+
return toSessionSummary(entry);
|
|
3761
|
+
},
|
|
3694
3762
|
recordHeartbeat(sessionId, context) {
|
|
3695
3763
|
const entry = byId.get(sessionId);
|
|
3696
3764
|
if (!entry) throw new SessionNotFoundError(sessionId);
|
|
@@ -3790,6 +3858,27 @@ function createAcpSessionBridge(opts) {
|
|
|
3790
3858
|
{ serverName }
|
|
3791
3859
|
);
|
|
3792
3860
|
},
|
|
3861
|
+
async getWorkspaceMcpResourcesStatus(serverName) {
|
|
3862
|
+
return requestWorkspaceStatus(
|
|
3863
|
+
SERVE_STATUS_EXT_METHODS.workspaceMcpResources,
|
|
3864
|
+
() => ({
|
|
3865
|
+
v: STATUS_SCHEMA_VERSION,
|
|
3866
|
+
workspaceCwd: boundWorkspace,
|
|
3867
|
+
serverName,
|
|
3868
|
+
initialized: false,
|
|
3869
|
+
acpChannelLive: false,
|
|
3870
|
+
resources: [],
|
|
3871
|
+
errors: [
|
|
3872
|
+
{
|
|
3873
|
+
kind: "mcp_resources",
|
|
3874
|
+
status: "not_started",
|
|
3875
|
+
hint: "spawn a session to populate"
|
|
3876
|
+
}
|
|
3877
|
+
]
|
|
3878
|
+
}),
|
|
3879
|
+
{ serverName }
|
|
3880
|
+
);
|
|
3881
|
+
},
|
|
3793
3882
|
async getWorkspaceToolsStatus() {
|
|
3794
3883
|
return requestWorkspaceStatus(
|
|
3795
3884
|
SERVE_STATUS_EXT_METHODS.workspaceTools,
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import {
|
|
4
4
|
TextTokenizer,
|
|
5
5
|
isSupportedImageMimeType
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-U3KSMM7G.js";
|
|
7
7
|
import {
|
|
8
8
|
createDebugLogger
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-UX4SGCGN.js";
|
|
10
10
|
import {
|
|
11
11
|
init_esbuild_shims
|
|
12
12
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
import {
|
|
4
4
|
getInboxesDir,
|
|
5
5
|
require_proper_lockfile
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-BVSVIN45.js";
|
|
7
7
|
import {
|
|
8
8
|
Mutex
|
|
9
9
|
} from "./chunk-OMX7CUOE.js";
|
|
10
10
|
import {
|
|
11
11
|
atomicWriteJSON
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-3227DZO4.js";
|
|
13
13
|
import {
|
|
14
14
|
createDebugLogger,
|
|
15
15
|
isNodeError
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-UX4SGCGN.js";
|
|
17
17
|
import {
|
|
18
18
|
init_esbuild_shims
|
|
19
19
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
createTask
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-QLDPRILK.js";
|
|
6
6
|
import {
|
|
7
7
|
resolveActiveTeamName
|
|
8
8
|
} from "./chunk-LD2XBG6Z.js";
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
BaseToolInvocation,
|
|
12
12
|
ToolDisplayNames,
|
|
13
13
|
ToolNames
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-BX5YO7UW.js";
|
|
15
15
|
import {
|
|
16
16
|
init_esbuild_shims
|
|
17
17
|
} from "./chunk-A4BMJM77.js";
|