@qwen-code/qwen-code 0.19.10 → 0.19.11-nightly.20260717.f8e6e8931
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/qc-helper/docs/configuration/settings.md +7 -6
- package/bundled/qc-helper/docs/features/approval-mode.md +2 -2
- package/bundled/qc-helper/docs/features/channels/dingtalk.md +30 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +53 -17
- package/bundled/qc-helper/docs/features/channels/wecom.md +8 -7
- package/bundled/qc-helper/docs/features/sandbox.md +2 -0
- package/bundled/qc-helper/docs/qwen-serve-deploy-local.md +42 -7
- package/bundled/qc-helper/docs/qwen-serve.md +53 -46
- package/bundled/review/SKILL.md +163 -403
- package/chunks/{MaxSizedBox-67ODZ4SZ.js → MaxSizedBox-JGTP7YJQ.js} +13 -13
- package/chunks/{StandaloneSessionPicker-SIPBQT5Z.js → StandaloneSessionPicker-2XQDOYZ5.js} +27 -27
- package/chunks/{acpAgent-VPZJXLFX.js → acpAgent-RXRJA7GD.js} +1135 -373
- package/chunks/{agent-Z7NWL6XL.js → agent-UQP53UWQ.js} +10 -10
- package/chunks/{agent-headless-73HZ6ROQ.js → agent-headless-I52OXDCK.js} +10 -10
- package/chunks/{anthropicContentGenerator-56U3YCP2.js → anthropicContentGenerator-HBRXJSP4.js} +76 -14
- package/chunks/{artifact-tool-BWZZJ42H.js → artifact-tool-MIZLXBLF.js} +1 -1
- package/chunks/{askUserQuestion-WU3S5A5T.js → askUserQuestion-XMJVPNWM.js} +1 -1
- package/chunks/{bridge-XFKW6S7Q.js → bridge-3DVRNBSF.js} +14 -16
- package/chunks/{ca-C2JTT2N5.js → ca-CODEN7TD.js} +5 -0
- package/chunks/channel-worker-group-SOUWTFHC.js +21 -0
- package/chunks/{channel-worker-manager-5RWKSGEU.js → channel-worker-manager-LOVSV3WW.js} +34 -10
- package/chunks/{channel-worker-supervisor-PCDAZN4D.js → channel-worker-supervisor-XW6MHJBQ.js} +6 -4
- package/chunks/{chunk-BBNVFRGD.js → chunk-3DWIFU7L.js} +1 -1
- package/chunks/{chunk-ZQTZXVHP.js → chunk-3KSHYS4T.js} +4 -18
- package/chunks/{chunk-ZKMGAFYV.js → chunk-3LS57JZI.js} +1 -1
- package/chunks/{chunk-B5I2IIWY.js → chunk-46Y6SSQ7.js} +5 -5
- package/chunks/{chunk-GDQQRV43.js → chunk-4BJVSIS3.js} +2 -2
- package/chunks/{chunk-L37RC7MQ.js → chunk-4HTHLSIH.js} +1 -1
- package/chunks/{chunk-DPFBNG72.js → chunk-4UBEB74N.js} +1 -1
- package/chunks/{chunk-AAR5SGMD.js → chunk-4YR7FSAM.js} +7 -5
- package/chunks/{chunk-OATTJGPJ.js → chunk-5CNYZ7TN.js} +7 -7
- package/chunks/{chunk-JSJFKYWT.js → chunk-5VWYKIMW.js} +1 -1
- package/chunks/{chunk-6GETGQWP.js → chunk-5WWYHNAH.js} +39 -10
- package/chunks/{chunk-65N2J6V2.js → chunk-6ANLV27M.js} +2 -2
- package/chunks/{chunk-L62SEJWY.js → chunk-6RV42SFP.js} +4 -4
- package/chunks/{chunk-XXJKGHZV.js → chunk-6VMOP2Z7.js} +4 -4
- package/chunks/{chunk-URU5UEK6.js → chunk-6WGZDD67.js} +135 -68
- package/chunks/{chunk-7NAWTFVY.js → chunk-6WPJRYLZ.js} +2 -2
- package/chunks/chunk-6WVLHULT.js +59 -0
- package/chunks/{chunk-N6FXRR6P.js → chunk-7ZFXHKKZ.js} +1 -1
- package/chunks/{chunk-E67NFMF4.js → chunk-A2HWMJVO.js} +35 -1
- package/chunks/{chunk-4FMG7EDJ.js → chunk-AEKHQ3E5.js} +77 -11
- package/chunks/{chunk-WIASPMLX.js → chunk-AH3YAJU6.js} +22 -33
- package/chunks/{chunk-6GKMJPOC.js → chunk-AHAH5H6D.js} +3 -3
- package/chunks/{chunk-3XJFUTNM.js → chunk-AVAU67KP.js} +57 -10
- package/chunks/{chunk-LNUXFLLJ.js → chunk-BDHYJ2MM.js} +53 -5
- package/chunks/{chunk-P6LART6G.js → chunk-BTSE2DUP.js} +957 -122
- package/chunks/{chunk-7MJAZMXK.js → chunk-BZ5D7OVV.js} +28 -77
- package/chunks/{chunk-WDWJ4OQJ.js → chunk-CC2UASQ4.js} +3 -3
- package/chunks/{chunk-WLXYAKV7.js → chunk-D7KYA6EY.js} +3 -3
- package/chunks/{chunk-5LROA5W4.js → chunk-DD45XVOQ.js} +3 -3
- package/chunks/{chunk-H3FQOPPS.js → chunk-DOPUYNXO.js} +2 -2
- package/chunks/{chunk-SPUYQB4T.js → chunk-DPXB3XRN.js} +1 -1
- package/chunks/{chunk-XLIRF7IK.js → chunk-E7ECGLZW.js} +1 -1
- package/chunks/{chunk-RDRVMDWV.js → chunk-EMJJBXS7.js} +10 -10
- package/chunks/{chunk-TXY2C3D2.js → chunk-F333XEAU.js} +1 -1
- package/chunks/chunk-FEOZBUMT.js +77 -0
- package/chunks/{chunk-YYPXHMWO.js → chunk-FEYHXPZG.js} +4 -4
- package/chunks/{chunk-ZRKBI3DP.js → chunk-FNX3LGAK.js} +1 -1
- package/chunks/chunk-FXK3QMRD.js +140 -0
- package/chunks/{chunk-422XAKCK.js → chunk-G5ZKRK2E.js} +2 -2
- package/chunks/{chunk-DK33QJ3V.js → chunk-GCRFH57X.js} +732 -13
- package/chunks/{chunk-EQY6POVO.js → chunk-GLEJW7T2.js} +1 -1
- package/chunks/{chunk-FXMC7SL2.js → chunk-I6NOSIVF.js} +1 -1
- package/chunks/{chunk-VBRRNQB7.js → chunk-IHJRUIWN.js} +109 -22
- package/chunks/{chunk-F7NXQH4Y.js → chunk-IIXEI2VE.js} +1 -1
- package/chunks/{chunk-2UUAIFQO.js → chunk-JGUT3LWZ.js} +5 -0
- package/chunks/{chunk-5EBKKSBX.js → chunk-JY74T7PW.js} +1 -1
- package/chunks/chunk-KSZKSE23.js +226 -0
- package/chunks/{chunk-MO7O5722.js → chunk-KW46DBFM.js} +35 -2
- package/chunks/{chunk-TISZXPAX.js → chunk-L263ROM6.js} +1 -1
- package/chunks/chunk-LXXMOYPL.js +22 -0
- package/chunks/{chunk-YX4LLZ3D.js → chunk-NABT4VOY.js} +109 -35
- package/chunks/{chunk-W34A5MJH.js → chunk-NROLDLP4.js} +1 -1
- package/chunks/{chunk-V7EQTZYR.js → chunk-O3WCEZEN.js} +191 -44
- package/chunks/{chunk-K4PZ5F5T.js → chunk-OWT2CAEQ.js} +1 -1
- package/chunks/{chunk-4YWLED2A.js → chunk-PNCWEDF6.js} +7 -4
- package/chunks/{chunk-WDW64OW3.js → chunk-PSDTLRAV.js} +5 -5
- package/chunks/{chunk-7R4DPSRA.js → chunk-R3VWUU2E.js} +1 -1
- package/chunks/{chunk-K7CRWKOE.js → chunk-R6AO7HBQ.js} +4617 -4012
- package/chunks/{chunk-6OATMEYN.js → chunk-RTV5TUYB.js} +12 -4
- package/chunks/{chunk-6W6DI34P.js → chunk-SE6GSFAO.js} +159 -2
- package/chunks/{chunk-WTSXKLG5.js → chunk-SUARMD4Q.js} +1 -1
- package/chunks/chunk-T4TZQJ7W.js +48 -0
- package/chunks/{chunk-LTNI523B.js → chunk-T7CZYIAU.js} +28 -5
- package/chunks/{chunk-3MX7D6QN.js → chunk-TIOE2OPE.js} +32 -4
- package/chunks/{chunk-TTUO4DNG.js → chunk-UF6ZTWU5.js} +75 -710
- package/chunks/{chunk-Q5GLXH5Q.js → chunk-UJG4VV2O.js} +5 -5
- package/chunks/{chunk-CJFNEBYB.js → chunk-VFEZWI6F.js} +1 -1
- package/chunks/{chunk-UFOKA4PR.js → chunk-VHCSIMTF.js} +114 -4
- package/chunks/{chunk-TQBODCFD.js → chunk-VRR65QYW.js} +250 -2
- package/chunks/{chunk-CUUXANEQ.js → chunk-W6J7RSCK.js} +6 -1
- package/chunks/{chunk-YHN5SUIJ.js → chunk-W7H223ZZ.js} +1 -1
- package/chunks/{chunk-WX6SD4IQ.js → chunk-WTNZ6DXB.js} +1 -1
- package/chunks/{chunk-GGJII3FM.js → chunk-WZJELXEU.js} +92 -3
- package/chunks/{chunk-OFEVHGVU.js → chunk-X5HZX4EP.js} +9 -11
- package/chunks/{chunk-KSO42X3Z.js → chunk-X6YQWCIJ.js} +21 -2
- package/chunks/{chunk-7L4XBYVW.js → chunk-XK42MWWO.js} +9 -2
- package/chunks/{chunk-X362TMXZ.js → chunk-XQDPCQ3A.js} +7 -5
- package/chunks/{chunk-YU56QGXX.js → chunk-Y3TNSHKF.js} +1 -1
- package/chunks/{chunk-HHEFI4RP.js → chunk-YOJGIRTD.js} +714 -109
- package/chunks/{chunk-CEW4HDPK.js → chunk-ZK4AMPKI.js} +2459 -350
- package/chunks/{chunk-SXU3KKNI.js → chunk-ZQIYGQCG.js} +251 -54
- package/chunks/{computer-use-IYTX45WA.js → computer-use-LTW3VB6L.js} +10 -10
- package/chunks/{config-utils-CFT33LTP.js → config-utils-IQQT3GCI.js} +3 -3
- package/chunks/{contextCommand-272V77WU.js → contextCommand-GLMC6CTP.js} +12 -12
- package/chunks/{create-sub-session-WNX2OQVX.js → create-sub-session-EAB2U5XW.js} +1 -1
- package/chunks/{create-sub-session-CBJMQLYP.js → create-sub-session-YMWQAWSN.js} +10 -10
- package/chunks/{cron-create-36TIFKRT.js → cron-create-GMVKSXZT.js} +1 -1
- package/chunks/{cron-delete-OQD3WULU.js → cron-delete-VDZKUAVK.js} +1 -1
- package/chunks/{cron-list-4533T2FH.js → cron-list-UG7C7RAR.js} +1 -1
- package/chunks/{daemon-RNGFPMAB.js → daemon-PRB64RP5.js} +303 -71
- package/chunks/{daemon-status-provider-L4STG5VO.js → daemon-status-provider-5OMM5JHF.js} +19 -20
- package/chunks/{de-2VCDRDGU.js → de-NOXPCSYN.js} +5 -0
- package/chunks/{dist-ERCPDVA6.js → dist-4WCQEZIN.js} +4 -51
- package/chunks/{dist-MOEC47TR.js → dist-DOPL5LSQ.js} +1 -1
- package/chunks/{dist-JZE7F6YR.js → dist-GXJVCOS7.js} +1 -1
- package/chunks/{dist-PHEPJLXD.js → dist-PX2ERZ6I.js} +2 -2
- package/chunks/{dist-HNN7DR2L.js → dist-V2YVLYOW.js} +58 -30
- package/chunks/{dist-3V3ZV6ML.js → dist-VYWUKURL.js} +1 -1
- package/chunks/{earlyInputCapture-EN4BRREQ.js → earlyInputCapture-A3WSRN4T.js} +10 -10
- package/chunks/{edit-OMAF2QDR.js → edit-7PG4AH27.js} +10 -10
- package/chunks/{en-NJCA3TAA.js → en-JFVULHTB.js} +6 -0
- package/chunks/{enter-worktree-BBZX52HG.js → enter-worktree-QUSB44RE.js} +10 -10
- package/chunks/{enterPlanMode-5NNFMBUY.js → enterPlanMode-NVSIEL7X.js} +10 -10
- package/chunks/{environment-7TEWMJYN.js → environment-AHHXHQTI.js} +12 -12
- package/chunks/{errors-I4VKVX3F.js → errors-NSWSRXC7.js} +12 -12
- package/chunks/{exit-worktree-FUWRJI33.js → exit-worktree-FXYEYHPL.js} +10 -10
- package/chunks/{exitPlanMode-IHCJ5EEI.js → exitPlanMode-JI5GK3F6.js} +10 -10
- package/chunks/{fast-path-ZA57TOH4.js → fast-path-X7EVDLKZ.js} +2 -2
- package/chunks/{fr-5F3E7WKD.js → fr-HVFNU42H.js} +5 -0
- package/chunks/{gemini-UOAKVXBG.js → gemini-YRLHY5KS.js} +162 -206
- package/chunks/{geminiContentGenerator-G6UCE6MW.js → geminiContentGenerator-SPLFPV5E.js} +1 -1
- package/chunks/{glob-4GJQ2UFF.js → glob-WASUBCSA.js} +10 -10
- package/chunks/{grep-5QSYXF2E.js → grep-DUVG3NGA.js} +10 -10
- package/chunks/{handleAutoUpdate-ULHNWL6R.js → handleAutoUpdate-NGE5AQ2N.js} +14 -14
- package/chunks/{i18n-CYDUTF6F.js → i18n-QNVR36NB.js} +11 -11
- package/chunks/{initializer-NRFKUGIO.js → initializer-ZY7ORPMH.js} +15 -15
- package/chunks/{installationInfo-WELKRHHE.js → installationInfo-4R75MFTB.js} +11 -11
- package/chunks/{ja-66J6B53L.js → ja-PY5AF544.js} +5 -0
- package/chunks/{list-JVDXEG2E.js → list-36JCMZRS.js} +18 -18
- package/chunks/{loadedSettingsAdapter-WAM4VUTG.js → loadedSettingsAdapter-PQIOJUSJ.js} +15 -15
- package/chunks/{loop-wakeup-MVUKDVCP.js → loop-wakeup-QXWZSCYM.js} +2 -2
- package/chunks/{ls-RXNIAQDE.js → ls-2OUTG3IZ.js} +1 -1
- package/chunks/{lsp-HB5LM5IL.js → lsp-4VMNXZW6.js} +1 -1
- package/chunks/{mcp-YHOZN3ZM.js → mcp-QXY6XA6H.js} +15 -15
- package/chunks/{monitor-R7XZPJHQ.js → monitor-AVEKRSY3.js} +12 -11
- package/chunks/{nonInteractiveCli-NSOB6D74.js → nonInteractiveCli-YWIBKX4M.js} +50 -50
- package/chunks/{notebook-edit-6RNKE2L2.js → notebook-edit-4SBTJX72.js} +10 -10
- package/chunks/{openaiContentGenerator-XNS5S64I.js → openaiContentGenerator-4EBAO7LR.js} +8 -8
- package/chunks/{pidfile-XE4RRR2P.js → pidfile-JMIUPXSU.js} +10 -10
- package/chunks/processUtils-EOINMEIH.js +29 -0
- package/chunks/{pt-TFZO5Y6T.js → pt-A3PRQXMU.js} +5 -0
- package/chunks/{qwenContentGenerator-APDPJ3VN.js → qwenContentGenerator-M7UBL3JS.js} +12 -12
- package/chunks/{read-file-XSUWXSR7.js → read-file-DXSEFHCV.js} +5 -5
- package/chunks/{read-mcp-resource-6LRTZKXI.js → read-mcp-resource-JUFHCKSC.js} +1 -1
- package/chunks/{record-artifact-PMDTY4OS.js → record-artifact-DWSMBXYY.js} +1 -1
- package/chunks/{ripGrep-APB3CDMU.js → ripGrep-VTRVFMDJ.js} +10 -10
- package/chunks/{ru-4L4LFHIT.js → ru-IBCWUTOC.js} +5 -0
- package/chunks/{run-qwen-serve-NWTGPERT.js → run-qwen-serve-P7WQDZAS.js} +59 -38
- package/chunks/{runtime-EIO3NQKR.js → runtime-UHYO6JGN.js} +19 -19
- package/chunks/{scheduler-JJDZBDRN.js → scheduler-WTK7ZLV5.js} +10 -10
- package/chunks/{send-message-SR4WSXP2.js → send-message-JZ752NWD.js} +2 -2
- package/chunks/{serve-WTIPB3EI.js → serve-AG2AOG56.js} +15 -15
- package/chunks/{server-NJPHQHLH.js → server-G5MM2BRI.js} +1157 -225
- package/chunks/{session-O4AO7FTS.js → session-NUAGEMVS.js} +51 -51
- package/chunks/{settings-HQNDK7TG.js → settings-VQA5PR2M.js} +14 -14
- package/chunks/{shell-UIXM6PWG.js → shell-X33RWGLP.js} +12 -10
- package/chunks/{skill-3XMB4ULV.js → skill-PHSU2OPP.js} +5 -5
- package/chunks/{spawnChannel-3R632QRM.js → spawnChannel-D6TZN4W7.js} +12 -13
- package/chunks/{src-USZKPUOC.js → src-6OJFUPTL.js} +95 -34
- package/chunks/{standalone-update-L5XW3D7K.js → standalone-update-ZARRW44Y.js} +12 -12
- package/chunks/{startInteractiveUI-CPZOL2WB.js → startInteractiveUI-C6IZRTF3.js} +176 -158
- package/chunks/{syntheticOutput-YKFNUQZD.js → syntheticOutput-LELY6HAI.js} +2 -2
- package/chunks/{task-create-NUFOHU53.js → task-create-QY3BIMNM.js} +3 -3
- package/chunks/{task-list-Z2IKQY3S.js → task-list-D2U47WBJ.js} +1 -1
- package/chunks/{task-stop-KQFIVQTJ.js → task-stop-N6E5IYLH.js} +1 -1
- package/chunks/{task-update-HKADXSTD.js → task-update-HJCQILLB.js} +3 -3
- package/chunks/{team-create-XXPRF3IQ.js → team-create-H434NQP2.js} +10 -10
- package/chunks/{team-delete-SDNTGZLG.js → team-delete-RCWYDRF4.js} +1 -1
- package/chunks/{team-plan-approval-EOTTKHDW.js → team-plan-approval-IIOHXZU6.js} +10 -10
- package/chunks/{theme-manager-P6UITO2L.js → theme-manager-IEOPHMX6.js} +10 -10
- package/chunks/{todoWrite-YNXB27GB.js → todoWrite-FKCGATPJ.js} +1 -1
- package/chunks/{tool-search-DDNGK2LR.js → tool-search-WIIEDALL.js} +6 -6
- package/chunks/{total-session-admission-PL5N7DNY.js → total-session-admission-WU3DORRW.js} +15 -17
- package/chunks/{trustedFolders-C5LMF3UR.js → trustedFolders-JVUTUAJ3.js} +11 -11
- package/chunks/update-relaunch-X5EQKCH5.js +87 -0
- package/chunks/{updateCheck-QTVVISH7.js → updateCheck-TGO2X735.js} +14 -12
- package/chunks/{validateNonInterActiveAuth-RY4RKBQG.js → validateNonInterActiveAuth-2MEUL2ME.js} +46 -46
- package/chunks/{version-U45RYOSD.js → version-KBGQKZWV.js} +1 -1
- package/chunks/{web-fetch-ZSPR3PRR.js → web-fetch-CFCWTCAP.js} +2 -3
- package/chunks/{workflow-TCIAQYOA.js → workflow-PAOSF4CG.js} +11 -11
- package/chunks/{workspace-providers-status-I3G2HYLY.js → workspace-providers-status-AYHJYSVO.js} +18 -18
- package/chunks/{workspace-registration-store-IH5GLZ6Y.js → workspace-registration-store-GZMR53QL.js} +1 -1
- package/chunks/{workspace-registry-QEKBELIX.js → workspace-registry-C2IXZWPF.js} +15 -17
- package/chunks/{workspace-service-ORKHGLP3.js → workspace-service-KDDAW33F.js} +20 -21
- package/chunks/{workspace-skills-status-D7QCNDYY.js → workspace-skills-status-WWEZBZXY.js} +16 -16
- package/chunks/{write-file-JGRQR5VM.js → write-file-ACN3TAIX.js} +10 -10
- package/chunks/{zh-FSAH32JB.js → zh-PAUNIMHQ.js} +6 -0
- package/chunks/{zh-TW-D2YIE2LO.js → zh-TW-GNEUIUFF.js} +6 -0
- package/cli-entry.js +92 -8
- package/cli.js +11 -11
- package/locales/ca.js +10 -0
- package/locales/de.js +10 -0
- package/locales/en.js +11 -0
- package/locales/fr.js +10 -0
- package/locales/ja.js +10 -0
- package/locales/pt.js +10 -0
- package/locales/ru.js +10 -0
- package/locales/zh-TW.js +11 -0
- package/locales/zh.js +11 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-CUeDlxvE.js → arc-Blc5_CnD.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-PiUszkQA.js → architectureDiagram-3BPJPVTR-Dyv1BvGP.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-s2wYSO7e.js → blockDiagram-GPEHLZMM-CVAb8DyB.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DyLxZoz9.js → c4Diagram-AAUBKEIU-ClHPb_6S.js} +1 -1
- package/web-shell/assets/channel-DkPTtnGS.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-Dsdai7Tk.js → chunk-2J33WTMH-Dad9g3ZA.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DEosOjV7.js → chunk-4BX2VUAB-IJJSSdDs.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-sNsRLTXf.js → chunk-55IACEB6-DRcc-Hl9.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DkRNZzmh.js → chunk-727SXJPM-DOCFB-6a.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-BrsRNpzd.js → chunk-AQP2D5EJ-CRZnSjHp.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CI039lpl.js → chunk-FMBD7UC4-BwUI4Yes.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-M-pkeIfu.js → chunk-ND2GUHAM-DLy8doxd.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-C4ckGNbH.js → chunk-QZHKN3VN-Bhz7iysj.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-DBdPU8ix.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-DBdPU8ix.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BciKUAFq.js → cose-bilkent-S5V4N54A-jT1e8KzN.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-C1nTSgU6.js → dagre-BM42HDAG-C1veApQk.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-BDPNWr1m.js → diagram-2AECGRRQ-C_NOwKeT.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-CNFhTszL.js → diagram-5GNKFQAL-Bigfuz1r.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-CjPa4p5a.js → diagram-KO2AKTUF-CpXltPpU.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-ZzPykSyG.js → diagram-LMA3HP47-DYawbYbH.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-0UVtZ9A4.js → diagram-OG6HWLK6-D2t-ttd1.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-CajDZCat.js → erDiagram-TEJ5UH35-Buc53PB5.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BRuFBIvL.js → flowDiagram-I6XJVG4X-DwdFsCN7.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-BevGmJqG.js → ganttDiagram-6RSMTGT7-XhiEKGoP.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-DvPMpBMb.js → gitGraphDiagram-PVQCEYII-D6We014a.js} +1 -1
- package/web-shell/assets/index-BctAmeF3.js +1143 -0
- package/web-shell/assets/{index-DzHwQkQq.js → index-CAWqS-bZ.js} +1 -1
- package/web-shell/assets/index-DLyhlZZO.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-Oixn7tA9.js → infoDiagram-5YYISTIA-C_iugRHQ.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-BgKpeg-j.js → ishikawaDiagram-YF4QCWOH-CAn9Kaix.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-74mwxIaA.js → journeyDiagram-JHISSGLW-BjDYOkEB.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-D4D6cEqA.js → kanban-definition-UN3LZRKU-Br_oI3Ob.js} +1 -1
- package/web-shell/assets/{linear-atZRE_L2.js → linear-BqnWHE9E.js} +1 -1
- package/web-shell/assets/{mermaid.core-KKudX-JC.js → mermaid.core-CT-sofSb.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-CMCej9yG.js → mindmap-definition-RKZ34NQL-BbvrZR4B.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-nhx40X7q.js → pieDiagram-4H26LBE5-gAwi3h_Q.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-CUmVcN3M.js → quadrantDiagram-W4KKPZXB-CONvBIuO.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-C_vyEwyy.js → requirementDiagram-4Y6WPE33-lpkrcy1e.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DU6G4VWR.js → sankeyDiagram-5OEKKPKP-Bk6FJHqb.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DdeRR_KJ.js → sequenceDiagram-3UESZ5HK-B9b9bBzt.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-C6iCI8ps.js → stateDiagram-AJRCARHV-JqBGC-S3.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-B_w4fDnm.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-B_Ea8Cb7.js → timeline-definition-PNZ67QCA-CCCceXDP.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-BPUVZEJA.js → vennDiagram-CIIHVFJN-EHRnmZ09.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-BWEj0lKY.js → wardley-L42UT6IY-CYIcHx3_.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-BvDsdIQw.js → wardleyDiagram-YWT4CUSO-B81AuYRl.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-crz0QhF_.js → xychartDiagram-2RQKCTM6-DOQ6E3z7.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/channel-worker-group-K7QKH6IG.js +0 -13
- package/chunks/chunk-B7NUUEXC.js +0 -311
- package/chunks/chunk-CARU2RR2.js +0 -24
- package/chunks/chunk-GYTKQYDB.js +0 -23
- package/chunks/chunk-LQU7EVFA.js +0 -30
- package/chunks/chunk-OCPBI7J5.js +0 -18
- package/chunks/chunk-OJAMDVF5.js +0 -66
- package/chunks/chunk-TEGEBB2I.js +0 -122
- package/web-shell/assets/channel-DkuJJ0qd.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CwqHc0TB.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CwqHc0TB.js +0 -1
- package/web-shell/assets/index-Cnvv4VcI.css +0 -5
- package/web-shell/assets/index-D1Uyklxa.js +0 -1088
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-C0_6nR6C.js +0 -1
|
@@ -474,10 +474,106 @@ function composeAbortSignals(signals) {
|
|
|
474
474
|
}
|
|
475
475
|
__name(composeAbortSignals, "composeAbortSignals");
|
|
476
476
|
|
|
477
|
+
// packages/sdk-typescript/src/daemon/types.ts
|
|
478
|
+
init_esbuild_shims();
|
|
479
|
+
var DaemonCapabilityMissingError = class extends Error {
|
|
480
|
+
static {
|
|
481
|
+
__name(this, "DaemonCapabilityMissingError");
|
|
482
|
+
}
|
|
483
|
+
capability;
|
|
484
|
+
constructor(capability, hint) {
|
|
485
|
+
super(
|
|
486
|
+
`DaemonCapabilities.${capability} is missing \u2014 ${hint}. The daemon you are connected to likely predates the feature that added this field; upgrade the daemon or fall back to a different code path that doesn't require it.`
|
|
487
|
+
);
|
|
488
|
+
this.name = "DaemonCapabilityMissingError";
|
|
489
|
+
this.capability = capability;
|
|
490
|
+
}
|
|
491
|
+
};
|
|
492
|
+
function requireWorkspaceCwd(caps) {
|
|
493
|
+
if (typeof caps.workspaceCwd !== "string" || caps.workspaceCwd.length === 0) {
|
|
494
|
+
throw new DaemonCapabilityMissingError(
|
|
495
|
+
"workspaceCwd",
|
|
496
|
+
caps.workspaceCwd === "" ? "daemon returned an empty workspaceCwd (newer daemon with a bug)" : "daemon predates workspaceCwd support; upgrade it"
|
|
497
|
+
);
|
|
498
|
+
}
|
|
499
|
+
return caps.workspaceCwd;
|
|
500
|
+
}
|
|
501
|
+
__name(requireWorkspaceCwd, "requireWorkspaceCwd");
|
|
502
|
+
var DAEMON_ERROR_KINDS = [
|
|
503
|
+
"missing_binary",
|
|
504
|
+
"blocked_egress",
|
|
505
|
+
"auth_env_error",
|
|
506
|
+
"init_timeout",
|
|
507
|
+
"protocol_error",
|
|
508
|
+
"missing_file",
|
|
509
|
+
"parse_error",
|
|
510
|
+
// Budget refusal under `--mcp-budget-mode=enforce`.
|
|
511
|
+
"budget_exhausted",
|
|
512
|
+
// Runtime MCP mutation routes (POST/DELETE /workspace/mcp/servers).
|
|
513
|
+
"mcp_budget_would_exceed",
|
|
514
|
+
"mcp_server_spawn_failed",
|
|
515
|
+
"invalid_config",
|
|
516
|
+
// A prompt exceeded the daemon-configured wallclock cap (or the
|
|
517
|
+
// request's own `deadlineMs`, capped at the server flag).
|
|
518
|
+
"prompt_deadline_exceeded",
|
|
519
|
+
// An SSE writer's last successful flush was older than the daemon's
|
|
520
|
+
// writer-idle deadline.
|
|
521
|
+
"writer_idle_timeout",
|
|
522
|
+
// The model response stream ended before a complete turn could be read.
|
|
523
|
+
"model_stream_interrupted"
|
|
524
|
+
];
|
|
525
|
+
var DAEMON_CONTENT_HASH_RE = /^sha256:[0-9a-f]{64}$/;
|
|
526
|
+
function isDaemonContentHash(value) {
|
|
527
|
+
return typeof value === "string" && DAEMON_CONTENT_HASH_RE.test(value);
|
|
528
|
+
}
|
|
529
|
+
__name(isDaemonContentHash, "isDaemonContentHash");
|
|
530
|
+
var DAEMON_APPROVAL_MODES = [
|
|
531
|
+
"plan",
|
|
532
|
+
"default",
|
|
533
|
+
"auto-edit",
|
|
534
|
+
"auto",
|
|
535
|
+
"yolo"
|
|
536
|
+
];
|
|
537
|
+
|
|
477
538
|
// packages/sdk-typescript/src/daemon/DaemonClient.ts
|
|
478
539
|
var WORKSPACE_MEMORY_REMEMBER_PATH = "/workspace/memory/remember";
|
|
479
540
|
var WORKSPACE_MEMORY_FORGET_PATH = "/workspace/memory/forget";
|
|
480
541
|
var WORKSPACE_MEMORY_DREAM_PATH = "/workspace/memory/dream";
|
|
542
|
+
function parseSessionGenerationEvent(value) {
|
|
543
|
+
if (typeof value !== "object" || value === null || Array.isArray(value)) {
|
|
544
|
+
return void 0;
|
|
545
|
+
}
|
|
546
|
+
const event = value;
|
|
547
|
+
if (event["v"] !== 1 || typeof event["type"] !== "string") return void 0;
|
|
548
|
+
const requestId = event["requestId"];
|
|
549
|
+
const modelSource = event["modelSource"];
|
|
550
|
+
const validRequestId = typeof requestId === "string" && requestId.length > 0;
|
|
551
|
+
const validModelSource = modelSource === "fast" || modelSource === "main";
|
|
552
|
+
const validTokenCount = /* @__PURE__ */ __name((count) => count === void 0 || typeof count === "number" && Number.isSafeInteger(count) && count >= 0, "validTokenCount");
|
|
553
|
+
if (event["type"] === "started") {
|
|
554
|
+
if (!validRequestId || typeof event["model"] !== "string" || !validModelSource) {
|
|
555
|
+
return void 0;
|
|
556
|
+
}
|
|
557
|
+
} else if (event["type"] === "thinking") {
|
|
558
|
+
if (!validRequestId) return void 0;
|
|
559
|
+
} else if (event["type"] === "delta") {
|
|
560
|
+
if (!validRequestId || !Number.isSafeInteger(event["seq"]) || event["seq"] < 0 || typeof event["text"] !== "string" || event["text"].length === 0) {
|
|
561
|
+
return void 0;
|
|
562
|
+
}
|
|
563
|
+
} else if (event["type"] === "done") {
|
|
564
|
+
if (!validRequestId || typeof event["model"] !== "string" || !validModelSource || !validTokenCount(event["inputTokens"]) || !validTokenCount(event["outputTokens"])) {
|
|
565
|
+
return void 0;
|
|
566
|
+
}
|
|
567
|
+
} else if (event["type"] === "error") {
|
|
568
|
+
if (typeof event["code"] !== "string" || typeof event["message"] !== "string") {
|
|
569
|
+
return void 0;
|
|
570
|
+
}
|
|
571
|
+
} else {
|
|
572
|
+
return void 0;
|
|
573
|
+
}
|
|
574
|
+
return event;
|
|
575
|
+
}
|
|
576
|
+
__name(parseSessionGenerationEvent, "parseSessionGenerationEvent");
|
|
481
577
|
var DEFAULT_SESSION_LIST_PAGE_SIZE = 20;
|
|
482
578
|
var DEFAULT_FETCH_TIMEOUT_MS = 3e4;
|
|
483
579
|
var VOICE_TRANSCRIPTION_DEFAULT_TIMEOUT_MS = 65e3;
|
|
@@ -783,6 +879,15 @@ var DaemonClient = class {
|
|
|
783
879
|
}
|
|
784
880
|
);
|
|
785
881
|
}
|
|
882
|
+
async requireCapability(capability) {
|
|
883
|
+
const caps = await this.capabilities();
|
|
884
|
+
if (!caps.features.includes(capability)) {
|
|
885
|
+
throw new DaemonCapabilityMissingError(
|
|
886
|
+
capability,
|
|
887
|
+
`daemon does not advertise the ${capability} feature`
|
|
888
|
+
);
|
|
889
|
+
}
|
|
890
|
+
}
|
|
786
891
|
/**
|
|
787
892
|
* Consolidated daemon status report (`GET /daemon/status`). The default
|
|
788
893
|
* `summary` detail reads cheap in-memory counters; `full` adds per-session,
|
|
@@ -824,6 +929,38 @@ var DaemonClient = class {
|
|
|
824
929
|
}
|
|
825
930
|
);
|
|
826
931
|
}
|
|
932
|
+
async initializeWorkspaceMcp() {
|
|
933
|
+
return await this.fetchWithTimeout(
|
|
934
|
+
`${this.baseUrl}/workspace/mcp/initialize`,
|
|
935
|
+
{
|
|
936
|
+
method: "POST",
|
|
937
|
+
headers: this.headers({ "Content-Type": "application/json" }),
|
|
938
|
+
body: "{}"
|
|
939
|
+
},
|
|
940
|
+
async (res) => {
|
|
941
|
+
if (!res.ok) {
|
|
942
|
+
throw await this.failOnError(res, "POST /workspace/mcp/initialize");
|
|
943
|
+
}
|
|
944
|
+
return await res.json();
|
|
945
|
+
}
|
|
946
|
+
);
|
|
947
|
+
}
|
|
948
|
+
async reloadWorkspaceMcp() {
|
|
949
|
+
return await this.fetchWithTimeout(
|
|
950
|
+
`${this.baseUrl}/workspace/mcp/reload`,
|
|
951
|
+
{
|
|
952
|
+
method: "POST",
|
|
953
|
+
headers: this.headers({ "Content-Type": "application/json" }),
|
|
954
|
+
body: "{}"
|
|
955
|
+
},
|
|
956
|
+
async (res) => {
|
|
957
|
+
if (!res.ok) {
|
|
958
|
+
throw await this.failOnError(res, "POST /workspace/mcp/reload");
|
|
959
|
+
}
|
|
960
|
+
return await res.json();
|
|
961
|
+
}
|
|
962
|
+
);
|
|
963
|
+
}
|
|
827
964
|
async workspaceGit() {
|
|
828
965
|
return await this.jsonRequest(
|
|
829
966
|
"/workspace/git",
|
|
@@ -951,6 +1088,20 @@ var DaemonClient = class {
|
|
|
951
1088
|
{ mode: "rest" }
|
|
952
1089
|
);
|
|
953
1090
|
}
|
|
1091
|
+
async activeExtensionOperations() {
|
|
1092
|
+
return await this.jsonRequest(
|
|
1093
|
+
"/workspace/extensions/operations",
|
|
1094
|
+
"GET /workspace/extensions/operations",
|
|
1095
|
+
{ mode: "rest" }
|
|
1096
|
+
);
|
|
1097
|
+
}
|
|
1098
|
+
async respondToExtensionInteraction(operationId, interactionId, response, clientId) {
|
|
1099
|
+
return await this.jsonRequest(
|
|
1100
|
+
`/workspace/extensions/operations/${urlEncode(operationId)}/interactions/${urlEncode(interactionId)}`,
|
|
1101
|
+
"POST /workspace/extensions/operations/:operationId/interactions/:interactionId",
|
|
1102
|
+
{ method: "POST", body: response, clientId, mode: "rest" }
|
|
1103
|
+
);
|
|
1104
|
+
}
|
|
954
1105
|
async checkExtensionUpdates(clientId) {
|
|
955
1106
|
return await this.jsonRequest(
|
|
956
1107
|
"/workspace/extensions/check-updates",
|
|
@@ -1527,6 +1678,9 @@ var DaemonClient = class {
|
|
|
1527
1678
|
}
|
|
1528
1679
|
// -- Sessions ----------------------------------------------------------
|
|
1529
1680
|
async createOrAttachSession(req, clientId) {
|
|
1681
|
+
if (req.sourceType !== void 0 || req.sourceId !== void 0) {
|
|
1682
|
+
await this.requireCapability("session_source_metadata");
|
|
1683
|
+
}
|
|
1530
1684
|
return await this.fetchWithTimeout(
|
|
1531
1685
|
`${this.baseUrl}/session`,
|
|
1532
1686
|
{
|
|
@@ -1542,7 +1696,9 @@ var DaemonClient = class {
|
|
|
1542
1696
|
// bridge's own validation uses (`httpAcpBridge.ts:
|
|
1543
1697
|
// spawnOrAttach`); SDK should be a transparent layer here.
|
|
1544
1698
|
...req.sessionScope !== void 0 ? { sessionScope: req.sessionScope } : {},
|
|
1545
|
-
...req.approvalMode !== void 0 ? { approvalMode: req.approvalMode } : {}
|
|
1699
|
+
...req.approvalMode !== void 0 ? { approvalMode: req.approvalMode } : {},
|
|
1700
|
+
...req.sourceType !== void 0 ? { sourceType: req.sourceType } : {},
|
|
1701
|
+
...req.sourceId !== void 0 ? { sourceId: req.sourceId } : {}
|
|
1546
1702
|
})
|
|
1547
1703
|
},
|
|
1548
1704
|
async (res) => {
|
|
@@ -1560,6 +1716,9 @@ var DaemonClient = class {
|
|
|
1560
1716
|
return page.sessions;
|
|
1561
1717
|
}
|
|
1562
1718
|
async listWorkspaceSessionsPage(workspaceCwd, options) {
|
|
1719
|
+
if (options?.sourceType !== void 0 || options?.sourceId !== void 0) {
|
|
1720
|
+
await this.requireCapability("session_source_metadata");
|
|
1721
|
+
}
|
|
1563
1722
|
const requestedPageSize = options?.pageSize ?? DEFAULT_SESSION_LIST_PAGE_SIZE;
|
|
1564
1723
|
const pageSize = Math.max(
|
|
1565
1724
|
1,
|
|
@@ -1586,6 +1745,12 @@ var DaemonClient = class {
|
|
|
1586
1745
|
if (options?.parentSessionId !== void 0) {
|
|
1587
1746
|
query.set("parentSessionId", options.parentSessionId);
|
|
1588
1747
|
}
|
|
1748
|
+
if (options?.sourceType !== void 0) {
|
|
1749
|
+
query.set("sourceType", options.sourceType);
|
|
1750
|
+
}
|
|
1751
|
+
if (options?.sourceId !== void 0) {
|
|
1752
|
+
query.set("sourceId", options.sourceId);
|
|
1753
|
+
}
|
|
1589
1754
|
return await this.jsonRequest(
|
|
1590
1755
|
`/workspace/${urlEncode(workspaceCwd)}/sessions?${query.toString()}`,
|
|
1591
1756
|
"GET /workspace/sessions"
|
|
@@ -1960,6 +2125,31 @@ var DaemonClient = class {
|
|
|
1960
2125
|
if (!res.ok) throw await this.failOnError(res, "POST /session/:id/recap");
|
|
1961
2126
|
return await res.json();
|
|
1962
2127
|
}
|
|
2128
|
+
async *generateSessionContent(sessionId, prompt, opts) {
|
|
2129
|
+
const res = await this.transport.fetch(
|
|
2130
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/generate`,
|
|
2131
|
+
{
|
|
2132
|
+
method: "POST",
|
|
2133
|
+
headers: this.headers(
|
|
2134
|
+
{
|
|
2135
|
+
"Content-Type": "application/json",
|
|
2136
|
+
Accept: "text/event-stream"
|
|
2137
|
+
},
|
|
2138
|
+
opts?.clientId
|
|
2139
|
+
),
|
|
2140
|
+
body: JSON.stringify({ prompt }),
|
|
2141
|
+
signal: opts?.signal
|
|
2142
|
+
}
|
|
2143
|
+
);
|
|
2144
|
+
if (!res.ok) {
|
|
2145
|
+
throw await this.failOnError(res, "POST /session/:id/generate");
|
|
2146
|
+
}
|
|
2147
|
+
if (!res.body) throw new Error("Generation response body is missing");
|
|
2148
|
+
for await (const event of parseSseStream(res.body, opts?.signal)) {
|
|
2149
|
+
const generationEvent = parseSessionGenerationEvent(event);
|
|
2150
|
+
if (generationEvent) yield generationEvent;
|
|
2151
|
+
}
|
|
2152
|
+
}
|
|
1963
2153
|
async btwSession(sessionId, question, opts) {
|
|
1964
2154
|
const res = await this.transport.fetch(
|
|
1965
2155
|
`${this.baseUrl}/session/${urlEncode(sessionId)}/btw`,
|
|
@@ -2163,7 +2353,12 @@ var DaemonClient = class {
|
|
|
2163
2353
|
{ "Content-Type": "application/json" },
|
|
2164
2354
|
opts?.clientId
|
|
2165
2355
|
),
|
|
2166
|
-
body: JSON.stringify({
|
|
2356
|
+
body: JSON.stringify({
|
|
2357
|
+
scope,
|
|
2358
|
+
key,
|
|
2359
|
+
value,
|
|
2360
|
+
...opts?.mcpServerMutation ? { mcpServerMutation: opts.mcpServerMutation } : {}
|
|
2361
|
+
})
|
|
2167
2362
|
},
|
|
2168
2363
|
async (res) => {
|
|
2169
2364
|
if (!res.ok) {
|
|
@@ -3170,6 +3365,20 @@ var WorkspaceDaemonClient = class {
|
|
|
3170
3365
|
workspaceMcp() {
|
|
3171
3366
|
return this.get("/mcp", "GET /workspaces/:workspace/mcp");
|
|
3172
3367
|
}
|
|
3368
|
+
initializeWorkspaceMcp() {
|
|
3369
|
+
return this.post(
|
|
3370
|
+
"/mcp/initialize",
|
|
3371
|
+
"POST /workspaces/:workspace/mcp/initialize",
|
|
3372
|
+
{}
|
|
3373
|
+
);
|
|
3374
|
+
}
|
|
3375
|
+
reloadWorkspaceMcp() {
|
|
3376
|
+
return this.post(
|
|
3377
|
+
"/mcp/reload",
|
|
3378
|
+
"POST /workspaces/:workspace/mcp/reload",
|
|
3379
|
+
{}
|
|
3380
|
+
);
|
|
3381
|
+
}
|
|
3173
3382
|
workspaceVoice(clientId) {
|
|
3174
3383
|
return this.client.workspaceJsonRequest(
|
|
3175
3384
|
this.workspaceSelector,
|
|
@@ -3285,7 +3494,10 @@ var WorkspaceDaemonClient = class {
|
|
|
3285
3494
|
}
|
|
3286
3495
|
);
|
|
3287
3496
|
}
|
|
3288
|
-
listWorkspaceSessionsPage(options) {
|
|
3497
|
+
async listWorkspaceSessionsPage(options) {
|
|
3498
|
+
if (options?.sourceType !== void 0 || options?.sourceId !== void 0) {
|
|
3499
|
+
await this.client.requireCapability("session_source_metadata");
|
|
3500
|
+
}
|
|
3289
3501
|
const requestedPageSize = options?.pageSize ?? DEFAULT_SESSION_LIST_PAGE_SIZE;
|
|
3290
3502
|
const pageSize = Math.max(
|
|
3291
3503
|
1,
|
|
@@ -3306,7 +3518,13 @@ var WorkspaceDaemonClient = class {
|
|
|
3306
3518
|
if (options?.parentSessionId !== void 0) {
|
|
3307
3519
|
query.set("parentSessionId", options.parentSessionId);
|
|
3308
3520
|
}
|
|
3309
|
-
|
|
3521
|
+
if (options?.sourceType !== void 0) {
|
|
3522
|
+
query.set("sourceType", options.sourceType);
|
|
3523
|
+
}
|
|
3524
|
+
if (options?.sourceId !== void 0) {
|
|
3525
|
+
query.set("sourceId", options.sourceId);
|
|
3526
|
+
}
|
|
3527
|
+
return await this.get(
|
|
3310
3528
|
`/sessions?${query.toString()}`,
|
|
3311
3529
|
"GET /workspaces/:workspace/sessions"
|
|
3312
3530
|
);
|
|
@@ -3341,6 +3559,14 @@ var WorkspaceDaemonClient = class {
|
|
|
3341
3559
|
opts
|
|
3342
3560
|
);
|
|
3343
3561
|
}
|
|
3562
|
+
/** Export an archived persisted session from this registered workspace. */
|
|
3563
|
+
exportArchivedSession(sessionId, opts = {}) {
|
|
3564
|
+
return this.client.sessionExportRequest(
|
|
3565
|
+
`/workspaces/${this.workspaceSelector}/session/${urlEncode(sessionId)}/archive/export`,
|
|
3566
|
+
"GET /workspaces/:workspace/session/:id/archive/export",
|
|
3567
|
+
opts
|
|
3568
|
+
);
|
|
3569
|
+
}
|
|
3344
3570
|
listSessionGroups() {
|
|
3345
3571
|
return this.get(
|
|
3346
3572
|
"/session-groups",
|
|
@@ -3441,11 +3667,16 @@ var WorkspaceDaemonClient = class {
|
|
|
3441
3667
|
"GET /workspaces/:workspace/list"
|
|
3442
3668
|
);
|
|
3443
3669
|
}
|
|
3444
|
-
glob(pattern) {
|
|
3670
|
+
glob(pattern, opts = {}) {
|
|
3445
3671
|
const query = new URLSearchParams({ pattern });
|
|
3446
|
-
|
|
3672
|
+
if (opts.maxResults !== void 0) {
|
|
3673
|
+
query.set("maxResults", String(opts.maxResults));
|
|
3674
|
+
}
|
|
3675
|
+
return this.client.workspaceJsonRequest(
|
|
3676
|
+
this.workspaceSelector,
|
|
3447
3677
|
`/glob?${query.toString()}`,
|
|
3448
|
-
"GET /workspaces/:workspace/glob"
|
|
3678
|
+
"GET /workspaces/:workspace/glob",
|
|
3679
|
+
{ signal: opts.signal }
|
|
3449
3680
|
);
|
|
3450
3681
|
}
|
|
3451
3682
|
writeWorkspaceFile(req, clientId) {
|
|
@@ -3475,7 +3706,12 @@ var WorkspaceDaemonClient = class {
|
|
|
3475
3706
|
return this.post(
|
|
3476
3707
|
"/settings",
|
|
3477
3708
|
"POST /workspaces/:workspace/settings",
|
|
3478
|
-
{
|
|
3709
|
+
{
|
|
3710
|
+
scope,
|
|
3711
|
+
key,
|
|
3712
|
+
value,
|
|
3713
|
+
...opts?.mcpServerMutation ? { mcpServerMutation: opts.mcpServerMutation } : {}
|
|
3714
|
+
},
|
|
3479
3715
|
opts?.clientId
|
|
3480
3716
|
);
|
|
3481
3717
|
}
|
|
@@ -3954,6 +4190,12 @@ var DaemonSessionClient = class _DaemonSessionClient {
|
|
|
3954
4190
|
...this.clientId ? { clientId: this.clientId } : {}
|
|
3955
4191
|
});
|
|
3956
4192
|
}
|
|
4193
|
+
generateContent(prompt, opts) {
|
|
4194
|
+
return this.client.generateSessionContent(this.sessionId, prompt, {
|
|
4195
|
+
...opts?.signal ? { signal: opts.signal } : {},
|
|
4196
|
+
...this.clientId ? { clientId: this.clientId } : {}
|
|
4197
|
+
});
|
|
4198
|
+
}
|
|
3957
4199
|
async btw(question, opts) {
|
|
3958
4200
|
return await this.client.btwSession(this.sessionId, question, {
|
|
3959
4201
|
...opts?.signal ? { signal: opts.signal } : {},
|
|
@@ -4249,6 +4491,7 @@ var DAEMON_KNOWN_EVENT_TYPE_VALUES = [
|
|
|
4249
4491
|
"github_setup_completed",
|
|
4250
4492
|
"mcp_server_restarted",
|
|
4251
4493
|
"mcp_server_restart_refused",
|
|
4494
|
+
"mcp_server_changed",
|
|
4252
4495
|
"settings_reloaded",
|
|
4253
4496
|
// Runtime MCP server add/remove events. Fired by
|
|
4254
4497
|
// `POST /workspace/mcp/servers` on success (including replace and
|
|
@@ -4477,6 +4720,8 @@ function asKnownDaemonEvent(event) {
|
|
|
4477
4720
|
return isMcpServerRestartedData(event.data) ? event : void 0;
|
|
4478
4721
|
case "mcp_server_restart_refused":
|
|
4479
4722
|
return isMcpServerRestartRefusedData(event.data) ? event : void 0;
|
|
4723
|
+
case "mcp_server_changed":
|
|
4724
|
+
return isMcpServerChangedData(event.data) ? event : void 0;
|
|
4480
4725
|
case "settings_reloaded":
|
|
4481
4726
|
return event.data != null && typeof event.data === "object" ? event : void 0;
|
|
4482
4727
|
case "followup_suggestion":
|
|
@@ -4786,6 +5031,7 @@ function reduceDaemonSessionEvent(state, rawEvent) {
|
|
|
4786
5031
|
// reduced session-view state.
|
|
4787
5032
|
case "mcp_server_added":
|
|
4788
5033
|
case "mcp_server_removed":
|
|
5034
|
+
case "mcp_server_changed":
|
|
4789
5035
|
case "settings_reloaded":
|
|
4790
5036
|
case "extensions_changed":
|
|
4791
5037
|
case "artifact_changed":
|
|
@@ -5199,6 +5445,7 @@ var MCP_RESTART_REFUSED_REASONS = /* @__PURE__ */ new Set([
|
|
|
5199
5445
|
"in_flight",
|
|
5200
5446
|
"disabled",
|
|
5201
5447
|
"budget_would_exceed",
|
|
5448
|
+
"authentication_required",
|
|
5202
5449
|
// Pool-mode hard restart failure (entry's `client.connect()` or
|
|
5203
5450
|
// rediscover threw). Carried alongside the soft-skip reasons so
|
|
5204
5451
|
// SDK reducers maintain a single union for narrowing the event's
|
|
@@ -5242,6 +5489,13 @@ function isMcpServerRemovedData(value) {
|
|
|
5242
5489
|
return true;
|
|
5243
5490
|
}
|
|
5244
5491
|
__name(isMcpServerRemovedData, "isMcpServerRemovedData");
|
|
5492
|
+
function isMcpServerChangedData(value) {
|
|
5493
|
+
if (!isRecord(value) || !isNonEmptyString(value["serverName"])) {
|
|
5494
|
+
return false;
|
|
5495
|
+
}
|
|
5496
|
+
return value["action"] === "approve" || value["action"] === "enable" || value["action"] === "disable" || value["action"] === "authenticate" || value["action"] === "clear-auth";
|
|
5497
|
+
}
|
|
5498
|
+
__name(isMcpServerChangedData, "isMcpServerChangedData");
|
|
5245
5499
|
function isExtensionsChangedData(value) {
|
|
5246
5500
|
if (!isRecord(value)) return false;
|
|
5247
5501
|
if (typeof value["refreshed"] !== "number") return false;
|
|
@@ -5349,67 +5603,6 @@ init_esbuild_shims();
|
|
|
5349
5603
|
// packages/sdk-typescript/src/daemon/ui/normalizer.ts
|
|
5350
5604
|
init_esbuild_shims();
|
|
5351
5605
|
|
|
5352
|
-
// packages/sdk-typescript/src/daemon/types.ts
|
|
5353
|
-
init_esbuild_shims();
|
|
5354
|
-
var DaemonCapabilityMissingError = class extends Error {
|
|
5355
|
-
static {
|
|
5356
|
-
__name(this, "DaemonCapabilityMissingError");
|
|
5357
|
-
}
|
|
5358
|
-
capability;
|
|
5359
|
-
constructor(capability, hint) {
|
|
5360
|
-
super(
|
|
5361
|
-
`DaemonCapabilities.${capability} is missing \u2014 ${hint}. The daemon you are connected to likely predates the feature that added this field; upgrade the daemon or fall back to a different code path that doesn't require it.`
|
|
5362
|
-
);
|
|
5363
|
-
this.name = "DaemonCapabilityMissingError";
|
|
5364
|
-
this.capability = capability;
|
|
5365
|
-
}
|
|
5366
|
-
};
|
|
5367
|
-
function requireWorkspaceCwd(caps) {
|
|
5368
|
-
if (typeof caps.workspaceCwd !== "string" || caps.workspaceCwd.length === 0) {
|
|
5369
|
-
throw new DaemonCapabilityMissingError(
|
|
5370
|
-
"workspaceCwd",
|
|
5371
|
-
caps.workspaceCwd === "" ? "daemon returned an empty workspaceCwd (newer daemon with a bug)" : "daemon predates workspaceCwd support (1 daemon = 1 workspace); upgrade it"
|
|
5372
|
-
);
|
|
5373
|
-
}
|
|
5374
|
-
return caps.workspaceCwd;
|
|
5375
|
-
}
|
|
5376
|
-
__name(requireWorkspaceCwd, "requireWorkspaceCwd");
|
|
5377
|
-
var DAEMON_ERROR_KINDS = [
|
|
5378
|
-
"missing_binary",
|
|
5379
|
-
"blocked_egress",
|
|
5380
|
-
"auth_env_error",
|
|
5381
|
-
"init_timeout",
|
|
5382
|
-
"protocol_error",
|
|
5383
|
-
"missing_file",
|
|
5384
|
-
"parse_error",
|
|
5385
|
-
// Budget refusal under `--mcp-budget-mode=enforce`.
|
|
5386
|
-
"budget_exhausted",
|
|
5387
|
-
// Runtime MCP mutation routes (POST/DELETE /workspace/mcp/servers).
|
|
5388
|
-
"mcp_budget_would_exceed",
|
|
5389
|
-
"mcp_server_spawn_failed",
|
|
5390
|
-
"invalid_config",
|
|
5391
|
-
// A prompt exceeded the daemon-configured wallclock cap (or the
|
|
5392
|
-
// request's own `deadlineMs`, capped at the server flag).
|
|
5393
|
-
"prompt_deadline_exceeded",
|
|
5394
|
-
// An SSE writer's last successful flush was older than the daemon's
|
|
5395
|
-
// writer-idle deadline.
|
|
5396
|
-
"writer_idle_timeout",
|
|
5397
|
-
// The model response stream ended before a complete turn could be read.
|
|
5398
|
-
"model_stream_interrupted"
|
|
5399
|
-
];
|
|
5400
|
-
var DAEMON_CONTENT_HASH_RE = /^sha256:[0-9a-f]{64}$/;
|
|
5401
|
-
function isDaemonContentHash(value) {
|
|
5402
|
-
return typeof value === "string" && DAEMON_CONTENT_HASH_RE.test(value);
|
|
5403
|
-
}
|
|
5404
|
-
__name(isDaemonContentHash, "isDaemonContentHash");
|
|
5405
|
-
var DAEMON_APPROVAL_MODES = [
|
|
5406
|
-
"plan",
|
|
5407
|
-
"default",
|
|
5408
|
-
"auto-edit",
|
|
5409
|
-
"auto",
|
|
5410
|
-
"yolo"
|
|
5411
|
-
];
|
|
5412
|
-
|
|
5413
5606
|
// packages/sdk-typescript/src/daemon/ui/types.ts
|
|
5414
5607
|
init_esbuild_shims();
|
|
5415
5608
|
var DAEMON_PLAN_TOOL_CALL_ID = "daemon-plan";
|
|
@@ -5604,7 +5797,8 @@ var DEVICE_FLOW_PROVIDER_SET = /* @__PURE__ */ new Set(["qwen", "qwen-oauth"]);
|
|
|
5604
5797
|
var MCP_RESTART_REFUSED_REASONS2 = /* @__PURE__ */ new Set([
|
|
5605
5798
|
"in_flight",
|
|
5606
5799
|
"disabled",
|
|
5607
|
-
"budget_would_exceed"
|
|
5800
|
+
"budget_would_exceed",
|
|
5801
|
+
"authentication_required"
|
|
5608
5802
|
]);
|
|
5609
5803
|
var MALFORMED_MEMORY_CHANGED = "malformed memory_changed payload";
|
|
5610
5804
|
var MAX_DETAILS_LENGTH = 4096;
|
|
@@ -5836,6 +6030,12 @@ function normalizeDaemonEvent(event, opts = {}) {
|
|
|
5836
6030
|
return normalizeMcpServerRestarted(event, base);
|
|
5837
6031
|
case "mcp_server_restart_refused":
|
|
5838
6032
|
return normalizeMcpServerRestartRefused(event, base);
|
|
6033
|
+
case "mcp_server_added":
|
|
6034
|
+
return normalizeMcpServerChanged(event, base, "added");
|
|
6035
|
+
case "mcp_server_removed":
|
|
6036
|
+
return normalizeMcpServerChanged(event, base, "removed");
|
|
6037
|
+
case "mcp_server_changed":
|
|
6038
|
+
return normalizeMcpServerChanged(event, base);
|
|
5839
6039
|
case "extensions_changed":
|
|
5840
6040
|
return normalizeExtensionsChanged(event, base);
|
|
5841
6041
|
case "artifact_changed":
|
|
@@ -6119,8 +6319,13 @@ function normalizeSessionUpdate(event, base, opts) {
|
|
|
6119
6319
|
];
|
|
6120
6320
|
}
|
|
6121
6321
|
case "tool_call":
|
|
6122
|
-
case "tool_call_update":
|
|
6322
|
+
case "tool_call_update": {
|
|
6323
|
+
const meta = isRecord2(update["_meta"]) ? update["_meta"] : void 0;
|
|
6324
|
+
if (getString2(update, "status") === "in_progress" && getString2(update, "kind") === void 0 && meta?.["shellProgress"] !== void 0) {
|
|
6325
|
+
return [];
|
|
6326
|
+
}
|
|
6123
6327
|
return [normalizeToolUpdate(update, base)];
|
|
6328
|
+
}
|
|
6124
6329
|
case "shell_output":
|
|
6125
6330
|
case "tool_output": {
|
|
6126
6331
|
const text = getOutputText(update);
|
|
@@ -6748,6 +6953,30 @@ function normalizeMcpServerRestartRefused(event, base) {
|
|
|
6748
6953
|
];
|
|
6749
6954
|
}
|
|
6750
6955
|
__name(normalizeMcpServerRestartRefused, "normalizeMcpServerRestartRefused");
|
|
6956
|
+
function normalizeMcpServerChanged(event, base, fixedAction) {
|
|
6957
|
+
const serverName = getString2(event.data, fixedAction ? "name" : "serverName");
|
|
6958
|
+
const action = fixedAction ?? getString2(event.data, "action");
|
|
6959
|
+
if (!serverName || !action || ![
|
|
6960
|
+
"added",
|
|
6961
|
+
"removed",
|
|
6962
|
+
"approve",
|
|
6963
|
+
"enable",
|
|
6964
|
+
"disable",
|
|
6965
|
+
"authenticate",
|
|
6966
|
+
"clear-auth"
|
|
6967
|
+
].includes(action)) {
|
|
6968
|
+
return fallbackDebug(event, base, `malformed ${event.type} payload`);
|
|
6969
|
+
}
|
|
6970
|
+
return [
|
|
6971
|
+
{
|
|
6972
|
+
...base,
|
|
6973
|
+
type: "workspace.mcp.server_changed",
|
|
6974
|
+
serverName,
|
|
6975
|
+
action
|
|
6976
|
+
}
|
|
6977
|
+
];
|
|
6978
|
+
}
|
|
6979
|
+
__name(normalizeMcpServerChanged, "normalizeMcpServerChanged");
|
|
6751
6980
|
function normalizeExtensionsChanged(event, base) {
|
|
6752
6981
|
const refreshed = numberField(event.data, "refreshed");
|
|
6753
6982
|
const failed = numberField(event.data, "failed");
|
|
@@ -7508,6 +7737,7 @@ function applyDaemonTranscriptEvent(next, event) {
|
|
|
7508
7737
|
case "workspace.mcp.child_refused":
|
|
7509
7738
|
case "workspace.mcp.server_restarted":
|
|
7510
7739
|
case "workspace.mcp.server_restart_refused":
|
|
7740
|
+
case "workspace.mcp.server_changed":
|
|
7511
7741
|
case "auth.device_flow.started":
|
|
7512
7742
|
case "auth.device_flow.throttled":
|
|
7513
7743
|
case "auth.device_flow.authorized":
|
|
@@ -8679,6 +8909,8 @@ function daemonUiEventToTerminalText(event) {
|
|
|
8679
8909
|
`${event.serverName} restart refused: ${event.reason}`,
|
|
8680
8910
|
"33"
|
|
8681
8911
|
);
|
|
8912
|
+
case "workspace.mcp.server_changed":
|
|
8913
|
+
return terminalLine("mcp", `${event.serverName} ${event.action}`, "36");
|
|
8682
8914
|
case "workspace.extensions.changed":
|
|
8683
8915
|
if (event.status === "failed") {
|
|
8684
8916
|
return terminalLine(
|
|
@@ -2,61 +2,60 @@
|
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
4
|
createDaemonStatusProvider
|
|
5
|
-
} from "./chunk-
|
|
6
|
-
import "./chunk-
|
|
5
|
+
} from "./chunk-3KSHYS4T.js";
|
|
6
|
+
import "./chunk-LXXMOYPL.js";
|
|
7
|
+
import "./chunk-CC2UASQ4.js";
|
|
7
8
|
import "./chunk-E5Z2AVNV.js";
|
|
8
|
-
import "./chunk-
|
|
9
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-3LS57JZI.js";
|
|
10
|
+
import "./chunk-YOJGIRTD.js";
|
|
10
11
|
import "./chunk-PZL23GTM.js";
|
|
11
12
|
import "./chunk-6RLROE6G.js";
|
|
12
13
|
import "./chunk-COH43MRJ.js";
|
|
13
|
-
import "./chunk-
|
|
14
|
-
import "./chunk-
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-TEGEBB2I.js";
|
|
17
|
-
import "./chunk-CUUXANEQ.js";
|
|
14
|
+
import "./chunk-X6YQWCIJ.js";
|
|
15
|
+
import "./chunk-VHCSIMTF.js";
|
|
16
|
+
import "./chunk-W6J7RSCK.js";
|
|
18
17
|
import "./chunk-W7FJ3N32.js";
|
|
19
18
|
import "./chunk-M5GB774H.js";
|
|
20
19
|
import "./chunk-UDXSXLER.js";
|
|
21
|
-
import "./chunk-
|
|
20
|
+
import "./chunk-Y3TNSHKF.js";
|
|
22
21
|
import "./chunk-VJNBRRZG.js";
|
|
23
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-R6AO7HBQ.js";
|
|
23
|
+
import "./chunk-T4TZQJ7W.js";
|
|
24
24
|
import "./chunk-H6XPXXMH.js";
|
|
25
25
|
import "./chunk-5M6IDOMF.js";
|
|
26
|
-
import "./chunk-
|
|
26
|
+
import "./chunk-A2HWMJVO.js";
|
|
27
27
|
import "./chunk-RCEEXIOO.js";
|
|
28
28
|
import "./chunk-KKRTYONM.js";
|
|
29
29
|
import "./chunk-TV6K2FB4.js";
|
|
30
30
|
import "./chunk-E2UVIFI2.js";
|
|
31
|
-
import "./chunk-6OATMEYN.js";
|
|
32
31
|
import "./chunk-XU457J4V.js";
|
|
33
32
|
import "./chunk-VDDGDZMA.js";
|
|
34
33
|
import "./chunk-SPJQO2CE.js";
|
|
35
34
|
import "./chunk-SZRN75WQ.js";
|
|
36
35
|
import "./chunk-HTO4JFDZ.js";
|
|
37
36
|
import "./chunk-CPBF7KYF.js";
|
|
38
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-F333XEAU.js";
|
|
39
38
|
import "./chunk-6AM5D4ME.js";
|
|
40
39
|
import "./chunk-2Z5UX4KI.js";
|
|
41
40
|
import "./chunk-ARKANCNX.js";
|
|
42
41
|
import "./chunk-L5U3ELZX.js";
|
|
43
42
|
import "./chunk-TYLOFD2U.js";
|
|
44
|
-
import "./chunk-
|
|
43
|
+
import "./chunk-BTSE2DUP.js";
|
|
45
44
|
import "./chunk-4WKAA4KS.js";
|
|
46
45
|
import "./chunk-CR3C7WXL.js";
|
|
47
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-RTV5TUYB.js";
|
|
48
47
|
import "./chunk-VGC4I5JJ.js";
|
|
49
48
|
import "./chunk-FBU7WRZI.js";
|
|
50
49
|
import "./chunk-Y66VOBRP.js";
|
|
51
|
-
import "./chunk-
|
|
52
|
-
import "./chunk-
|
|
50
|
+
import "./chunk-WTNZ6DXB.js";
|
|
51
|
+
import "./chunk-JGUT3LWZ.js";
|
|
53
52
|
import "./chunk-OKAIGAYW.js";
|
|
54
53
|
import "./chunk-ZPAHLFZU.js";
|
|
55
54
|
import "./chunk-JESCGQM3.js";
|
|
56
55
|
import "./chunk-WIEO4CWB.js";
|
|
57
56
|
import "./chunk-XVNQMZ2I.js";
|
|
58
|
-
import "./chunk-
|
|
59
|
-
import "./chunk-
|
|
57
|
+
import "./chunk-FEOZBUMT.js";
|
|
58
|
+
import "./chunk-VRR65QYW.js";
|
|
60
59
|
import "./chunk-A4UCTEB5.js";
|
|
61
60
|
import "./chunk-XWRJCPHC.js";
|
|
62
61
|
import "./chunk-4LD5APFL.js";
|
|
@@ -1617,6 +1617,11 @@ var de_default = {
|
|
|
1617
1617
|
"Run the following to update:": "F\xFChren Sie Folgendes zum Aktualisieren aus:",
|
|
1618
1618
|
"Unable to auto-update this standalone installation. Please reinstall from:": "Diese Standalone-Installation kann nicht automatisch aktualisiert werden. Bitte neu installieren von:",
|
|
1619
1619
|
"Manual update required. Please reinstall Qwen Code.": "Manuelles Update erforderlich. Bitte installieren Sie Qwen Code neu.",
|
|
1620
|
+
"This session uses the custom sandbox image {{image}}. Update that image and restart Qwen Code.": "Diese Sitzung verwendet das benutzerdefinierte Sandbox-Image {{image}}. Aktualisieren Sie das Image und starten Sie Qwen Code neu.",
|
|
1621
|
+
"Update Qwen Code on the host, then restart the sandbox.": "Aktualisieren Sie Qwen Code auf dem Host und starten Sie anschlie\xDFend die Sandbox neu.",
|
|
1622
|
+
"The update will be installed after you exit this session.": "Das Update wird nach dem Beenden dieser Sitzung installiert.",
|
|
1623
|
+
"Run /update to install the update on the host.": "F\xFChren Sie /update aus, um das Update auf dem Host zu installieren.",
|
|
1624
|
+
"Run /update to install the update.": "F\xFChren Sie /update aus, um das Update zu installieren.",
|
|
1620
1625
|
// ============================================================================
|
|
1621
1626
|
// reload-plugins command
|
|
1622
1627
|
// ============================================================================
|