@qwen-code/qwen-code 0.19.6 → 0.19.7-nightly.20260708.394c1a289
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/model-providers.md +5 -1
- package/bundled/qc-helper/docs/configuration/settings.md +33 -1
- package/bundled/qc-helper/docs/features/channels/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +41 -31
- package/bundled/qc-helper/docs/features/channels/wecom.md +111 -0
- package/bundled/qc-helper/docs/features/code-review.md +16 -6
- package/bundled/qc-helper/docs/features/commands.md +1 -1
- package/bundled/qc-helper/docs/features/hooks.md +6 -0
- package/bundled/qc-helper/docs/features/skills.md +5 -3
- package/bundled/qc-helper/docs/integration-github-action.md +1 -1
- package/bundled/review/DESIGN.md +50 -18
- package/bundled/review/SKILL.md +102 -12
- package/chunks/{MaxSizedBox-SK7CUWZQ.js → MaxSizedBox-XS37LWTD.js} +31 -29
- package/chunks/{StandaloneSessionPicker-G44HGSAP.js → StandaloneSessionPicker-LPALJTKN.js} +44 -41
- package/chunks/{acpAgent-PKCTYWJV.js → acpAgent-4VE3FGJX.js} +769 -366
- package/chunks/{agent-IYMHUXWB.js → agent-CCHERW6L.js} +24 -24
- package/chunks/{agent-headless-L2DAW6I5.js → agent-headless-55N6UBUU.js} +24 -24
- package/chunks/{anthropicContentGenerator-H5ZOEENQ.js → anthropicContentGenerator-AKYPSZIV.js} +7 -7
- package/chunks/{artifact-tool-SLYPWG3C.js → artifact-tool-D233YJFH.js} +27 -8
- package/chunks/{askUserQuestion-OKPTECON.js → askUserQuestion-MKL5ZTMC.js} +2 -2
- package/chunks/{bridge-DF3IJQ5V.js → bridge-U6HXOHE7.js} +34 -32
- package/chunks/{channel-worker-supervisor-JUYQ5Z4R.js → channel-worker-supervisor-CRCVYQIE.js} +1 -1
- package/chunks/{chunk-AVQDCKNF.js → chunk-22MNNNXE.js} +4 -0
- package/chunks/chunk-2DYY5XUZ.js +8223 -0
- package/chunks/chunk-2FHWCKWA.js +262 -0
- package/chunks/{chunk-6BEOH4KK.js → chunk-2NPS2UDH.js} +767 -122
- package/chunks/{chunk-N2IJLN2L.js → chunk-2SWMCXVR.js} +13 -5
- package/chunks/{chunk-OBVBTAX5.js → chunk-2YELHTUE.js} +2 -2
- package/chunks/chunk-332PWN27.js +19 -0
- package/chunks/{chunk-CLQPBI4H.js → chunk-3B26UVCX.js} +132 -26
- package/chunks/{chunk-HCFSKO6K.js → chunk-3QDZDAJG.js} +1 -1
- package/chunks/{chunk-G7OQ3RFJ.js → chunk-42XGFRJS.js} +3 -3
- package/chunks/{chunk-SL2P3JUA.js → chunk-43W4YSO6.js} +1 -12
- package/chunks/{chunk-JA5KWZTJ.js → chunk-44NROQYV.js} +5 -3
- package/chunks/{chunk-BOAWGUY6.js → chunk-4AFOWB47.js} +121 -49
- package/chunks/{chunk-MOUXUCXQ.js → chunk-4KJ2BPIT.js} +1 -1
- package/chunks/{chunk-YTWX5TT2.js → chunk-5FL2K3ZB.js} +1 -1
- package/chunks/{chunk-UNXGEDX2.js → chunk-5OSSOBZC.js} +133 -25
- package/chunks/{chunk-JN2VJ33O.js → chunk-7I4MGFBN.js} +966 -121
- package/chunks/{chunk-T42ACHFI.js → chunk-7LTB54MK.js} +1 -1
- package/chunks/chunk-A2X3KLC3.js +3807 -0
- package/chunks/{chunk-EWALXUAD.js → chunk-AGHU5VRK.js} +8 -0
- package/chunks/{chunk-GLPV75ES.js → chunk-AHNJGLFV.js} +2 -2
- package/chunks/{chunk-IUSKVKH5.js → chunk-AXTPFMRS.js} +1 -1
- package/chunks/{chunk-T22H4V4R.js → chunk-B34OV7K2.js} +1 -1
- package/chunks/{chunk-FZ5NVRVK.js → chunk-B5FOCTEZ.js} +3 -3
- package/chunks/{chunk-3UC7ZC43.js → chunk-B6WUEODT.js} +7 -7
- package/chunks/{chunk-MJKEQSZI.js → chunk-BGL43SJ3.js} +1 -1
- package/chunks/{chunk-OAYOHSGP.js → chunk-BHRU4SDF.js} +4 -4
- package/chunks/{chunk-YPCPZSZB.js → chunk-CCGOFQV3.js} +56 -4
- package/chunks/{chunk-FDY3XOTM.js → chunk-CR5IU2RX.js} +4 -4
- package/chunks/{chunk-LWGLBVWA.js → chunk-CSOTA7KX.js} +1 -1
- package/chunks/{chunk-AGZF43UV.js → chunk-E7HM76PR.js} +7153 -4406
- package/chunks/{chunk-NIOPRZNN.js → chunk-E7KNELIZ.js} +1 -1
- package/chunks/{chunk-YSU33ACT.js → chunk-ELMPRVCB.js} +5 -13
- package/chunks/{chunk-SEZC2725.js → chunk-ER3BKOLB.js} +13 -0
- package/chunks/{chunk-3VJ7MT3N.js → chunk-EXPMGZZV.js} +14 -3
- package/chunks/{chunk-DBF3HTLT.js → chunk-FB2ULV4M.js} +4 -4
- package/chunks/{chunk-RZORUN6X.js → chunk-FEJ2FZ3U.js} +1 -1
- package/chunks/chunk-FK77ILF5.js +2477 -0
- package/chunks/{chunk-DMSNJDWG.js → chunk-FV7425LN.js} +38 -3
- package/chunks/{chunk-ALX6BUYW.js → chunk-G7ZG7CA6.js} +186 -27
- package/chunks/{chunk-2INJBYLJ.js → chunk-GIY6JTTC.js} +6 -6
- package/chunks/{chunk-D5KISTLW.js → chunk-H6EMK6QK.js} +1 -1
- package/chunks/{chunk-KYTQOCDE.js → chunk-HW4N45EE.js} +17 -46
- package/chunks/{chunk-VXGPYF7U.js → chunk-IFEWJXFS.js} +1 -1
- package/chunks/chunk-II73RK2S.js +158 -0
- package/chunks/{chunk-TENOUWY2.js → chunk-IJRL2S3D.js} +3 -3
- package/chunks/{chunk-GQBRGBLS.js → chunk-J43WPR6U.js} +9 -9
- package/chunks/{chunk-SRNPMG7J.js → chunk-JYOWO2F7.js} +16 -10
- package/chunks/{chunk-57NRQM3P.js → chunk-K34DD7FH.js} +2 -2
- package/chunks/{chunk-O2RJARYU.js → chunk-KKWO4IX2.js} +1409 -4088
- package/chunks/{chunk-SOT7OMGL.js → chunk-KT3SI3CQ.js} +2 -2
- package/chunks/{chunk-NUK2PFSU.js → chunk-L7IWK7JY.js} +1 -1
- package/chunks/{chunk-MHQKYQDS.js → chunk-LC4SMGYY.js} +158 -3
- package/chunks/chunk-LGFAYIKX.js +115 -0
- package/chunks/{chunk-MBWLP5OT.js → chunk-LKXDC3AW.js} +162 -40
- package/chunks/{chunk-7Z6UEJA4.js → chunk-ME344634.js} +5 -2
- package/chunks/{chunk-V6NH3CUC.js → chunk-MOQOAH7N.js} +3 -3
- package/chunks/{chunk-FPHA7WIZ.js → chunk-MYZWWRVW.js} +3 -3
- package/chunks/{chunk-YHTNWGRR.js → chunk-MZ7BABX3.js} +1 -1
- package/chunks/chunk-N74BA4VP.js +949 -0
- package/chunks/{chunk-B236XPGF.js → chunk-NQKLOAVJ.js} +29 -2
- package/chunks/{chunk-LXFCHX4X.js → chunk-OU6FPTJZ.js} +312 -25
- package/chunks/{chunk-HTWHAN44.js → chunk-PC4ZXHU2.js} +1 -1
- package/chunks/{chunk-3X76L4UF.js → chunk-PLGONYEL.js} +5 -5
- package/chunks/{chunk-WXUDZHOJ.js → chunk-PVXPDMGP.js} +10 -2
- package/chunks/{chunk-ZO5EA3XJ.js → chunk-QCSLZO6J.js} +1 -1
- package/chunks/{chunk-CEYA7K7C.js → chunk-QHT5USLK.js} +62 -12
- package/chunks/{chunk-NPQWQYU6.js → chunk-QYNNN7BK.js} +1 -1
- package/chunks/{chunk-N4YJQTRL.js → chunk-RFIL6REB.js} +71 -2
- package/chunks/{chunk-KSPVDFE4.js → chunk-SAIILPQ3.js} +0 -3
- package/chunks/{chunk-OIFSBXSP.js → chunk-SJHAUELE.js} +3 -3
- package/chunks/{chunk-BZHLWC6T.js → chunk-SUAKHHK7.js} +2 -2
- package/chunks/{chunk-QOKV6AO4.js → chunk-T2EJHSE3.js} +184 -147
- package/chunks/{chunk-ZI4MGBB5.js → chunk-TBAZMRW3.js} +1 -1
- package/chunks/{chunk-6QVRLKTZ.js → chunk-TBLJNMI7.js} +7 -7
- package/chunks/{chunk-J6ABRKAB.js → chunk-TDGF35EN.js} +2 -2
- package/chunks/chunk-TEYGKLIZ.js +167 -0
- package/chunks/{chunk-TOAUDIS7.js → chunk-TLWA7TPR.js} +6 -2
- package/chunks/chunk-UIDXQNMV.js +13 -0
- package/chunks/{chunk-MX7CTJHR.js → chunk-UZCT5OLN.js} +9 -9
- package/chunks/{chunk-LM3YCCZJ.js → chunk-VEB3NYSO.js} +1 -1
- package/chunks/{chunk-UTL7KABL.js → chunk-VQJ64BIQ.js} +7 -7
- package/chunks/{chunk-C2QKQZEQ.js → chunk-VTCPREC7.js} +3 -3
- package/chunks/{chunk-5ES5YPED.js → chunk-VZ7HY3YU.js} +1 -1
- package/chunks/{chunk-QOMAHFYI.js → chunk-W7EEOR7D.js} +3 -3
- package/chunks/{chunk-NVFJSIAX.js → chunk-WMPVYQ4P.js} +1 -1
- package/chunks/{chunk-V5VTULL5.js → chunk-X265R5C6.js} +3 -3
- package/chunks/{chunk-LKWAVAB5.js → chunk-X2XNQQJI.js} +2 -2
- package/chunks/{chunk-MJKMIQMK.js → chunk-X3YGAX7V.js} +1 -1
- package/chunks/{chunk-5WQF27GW.js → chunk-XQ2GVLNJ.js} +1 -1
- package/chunks/chunk-XUSONNJ4.js +28 -0
- package/chunks/{chunk-DXXNMPJH.js → chunk-YMWIKAEE.js} +460 -93
- package/chunks/{chunk-A34EPIUV.js → chunk-YYU6H66M.js} +18 -15
- package/chunks/{chunk-XH7H6YG4.js → chunk-ZK5EI6NR.js} +4 -107
- package/chunks/{computer-use-5S3NVXRA.js → computer-use-4CTF6WS3.js} +24 -24
- package/chunks/{contextCommand-DPBALZFK.js → contextCommand-Z3XWQCY6.js} +28 -27
- package/chunks/{cron-create-7JYUDTUY.js → cron-create-JSXEIPVS.js} +4 -4
- package/chunks/{cron-delete-YPULQQAK.js → cron-delete-OIFVEPGU.js} +4 -4
- package/chunks/{cron-list-HJIW5MHP.js → cron-list-D4ZX4IOE.js} +11 -7
- package/chunks/{daemon-7XYW4BC3.js → daemon-F3I2RXP6.js} +208 -63
- package/chunks/daemon-status-provider-6A4QCG6Q.js +74 -0
- package/chunks/dist-573HNSVO.js +3217 -0
- package/chunks/{dist-ABQ7VWRR.js → dist-FQ5WRJPL.js} +2 -2
- package/chunks/{dist-JPSVN367.js → dist-IMFFBMAT.js} +6 -3792
- package/chunks/{dist-BV56HW3W.js → dist-OT7G2WNM.js} +250 -1
- package/chunks/{dist-AW5ZYMUI.js → dist-PKFTNUHO.js} +10 -11
- package/chunks/{dist-AAO65DPC.js → dist-YTRKAVUB.js} +1 -1
- package/chunks/{earlyInputCapture-GGPV4IFT.js → earlyInputCapture-7O47HW62.js} +25 -25
- package/chunks/{edit-HJ7ISN4C.js → edit-E32KWLF2.js} +25 -25
- package/chunks/{en-XR3S5VWY.js → en-GA2RMXY5.js} +6 -1
- package/chunks/{enter-worktree-2BQT675D.js → enter-worktree-ZKFFMHUD.js} +24 -24
- package/chunks/{enterPlanMode-SJXHJ3WD.js → enterPlanMode-HLDC6NGX.js} +24 -24
- package/chunks/{errors-EVGER4AZ.js → errors-MTIDDXX7.js} +26 -26
- package/chunks/{exit-worktree-RPDDOSPM.js → exit-worktree-YHY72XA2.js} +24 -24
- package/chunks/{exitPlanMode-BQEROAJ7.js → exitPlanMode-JNXKBZ2C.js} +24 -24
- package/chunks/{fast-path-FX2ICJ2O.js → fast-path-DVAGBROV.js} +5 -2
- package/chunks/{fr-MBMNQSQ6.js → fr-GWNQG4XH.js} +4 -0
- package/chunks/{gemini-EHUXCOUI.js → gemini-2TMHJVRC.js} +444 -256
- package/chunks/{geminiContentGenerator-YDUUKAM2.js → geminiContentGenerator-WCH4GWD3.js} +4 -4
- package/chunks/{glob-3VIGV2DL.js → glob-I6Y4AGKO.js} +52 -28
- package/chunks/{grep-4D3S4NUC.js → grep-3P2J3LU5.js} +24 -24
- package/chunks/handleAutoUpdate-4IVRMRG4.js +65 -0
- package/chunks/{initializer-QZTZSSLW.js → initializer-DVNCPVTC.js} +31 -29
- package/chunks/{ja-HFV5QCHR.js → ja-2HOTA47X.js} +4 -0
- package/chunks/{keychain-token-storage-GPAKRDKQ.js → keychain-token-storage-UJV5XP4Z.js} +2 -2
- package/chunks/{list-WQ24EAMK.js → list-4D6QK2KZ.js} +30 -30
- package/chunks/{loadedSettingsAdapter-XV74KOSR.js → loadedSettingsAdapter-GNGELH6Q.js} +28 -28
- package/chunks/{loop-wakeup-34YK7T7O.js → loop-wakeup-OHWEMFP5.js} +5 -5
- package/chunks/{ls-MPD5OJUX.js → ls-L654WOAT.js} +4 -4
- package/chunks/{lsp-72PWTDW7.js → lsp-M35KE54Y.js} +2 -2
- package/chunks/{mcp-CO3MKM7N.js → mcp-2IL72YJP.js} +28 -28
- package/chunks/{monitor-GB56T65A.js → monitor-BLVCZAVX.js} +32 -27
- package/chunks/nonInteractiveCli-UD3V7UOO.js +116 -0
- package/chunks/{notebook-edit-VMXAAE3R.js → notebook-edit-5TVMWIWY.js} +25 -25
- package/chunks/{openaiContentGenerator-GM77FLII.js → openaiContentGenerator-5LJ5A7YY.js} +12 -12
- package/chunks/{pidfile-HFXSHR64.js → pidfile-AN5JQJ2T.js} +25 -25
- package/chunks/{qwenContentGenerator-QSCXQIKJ.js → qwenContentGenerator-E2JSB4FJ.js} +26 -26
- package/chunks/{qwenOAuth2-LWLA6MQG.js → qwenOAuth2-ZV7YLMND.js} +5 -5
- package/chunks/{read-file-SVH6CGQY.js → read-file-N5DEFUDU.js} +8 -8
- package/chunks/{read-mcp-resource-OWOBJY72.js → read-mcp-resource-CNQHBSJM.js} +2 -2
- package/chunks/{record-artifact-URK3YUDJ.js → record-artifact-PP3LKHTS.js} +2 -2
- package/chunks/{ripGrep-JD5O2FLX.js → ripGrep-BLJHTHKE.js} +24 -24
- package/chunks/{run-qwen-serve-FADLRJUN.js → run-qwen-serve-4JDO64RN.js} +785 -35
- package/chunks/{scheduler-Q65SB7DJ.js → scheduler-FQR4XA7J.js} +24 -24
- package/chunks/{send-message-L7OLQEKH.js → send-message-OA6MV4EU.js} +3 -3
- package/chunks/{serve-6ZXAMQ4M.js → serve-ZOCFC7YM.js} +29 -29
- package/chunks/{server-WKDQA6XR.js → server-GEOYEPYT.js} +2504 -439
- package/chunks/{session-STWOX7RA.js → session-NJCONHGX.js} +66 -61
- package/chunks/{settings-LC4CCWQQ.js → settings-QBGGXANI.js} +27 -27
- package/chunks/{shell-FEG3RLPW.js → shell-2DVPSEKT.js} +24 -24
- package/chunks/{skill-XTXAMDAP.js → skill-HIPXUHV7.js} +24 -12
- package/chunks/{spawnChannel-B6JJPBPV.js → spawnChannel-3JYXY52G.js} +27 -27
- package/chunks/{src-HITDGVRM.js → src-NLEX4CUC.js} +91 -36
- package/chunks/{startInteractiveUI-IT423PW4.js → startInteractiveUI-TYGZIU27.js} +6213 -14273
- package/chunks/{syntheticOutput-J3MLCQAR.js → syntheticOutput-F7LSDCAR.js} +3 -3
- package/chunks/{task-create-ELEBZ7H2.js → task-create-RPFZNB4B.js} +7 -7
- package/chunks/{task-list-IEUZLF3Y.js → task-list-TGGJX7EA.js} +5 -5
- package/chunks/{task-stop-QEZW3UDY.js → task-stop-W7NGTMYQ.js} +2 -2
- package/chunks/{task-update-DW36J5P5.js → task-update-5WUG5MVQ.js} +7 -7
- package/chunks/{team-create-DAG6SNHZ.js → team-create-MGX57SZJ.js} +24 -24
- package/chunks/{team-delete-SVITIMBO.js → team-delete-UHQQ2QQX.js} +5 -5
- package/chunks/{team-plan-approval-DRDY5OPC.js → team-plan-approval-BO2N7J3E.js} +24 -24
- package/chunks/{theme-manager-N67EZC6B.js → theme-manager-WU7LOA64.js} +25 -25
- package/chunks/{todoWrite-SFFQHZYY.js → todoWrite-C4ZAMSR3.js} +4 -4
- package/chunks/{tool-search-CMDJ5HGM.js → tool-search-CLBKVEVK.js} +11 -28
- package/chunks/{trustedFolders-JD4QX6UJ.js → trustedFolders-GAQM2GHB.js} +25 -25
- package/chunks/updateCheck-RIK2YIQE.js +65 -0
- package/chunks/{validateNonInterActiveAuth-ADDCGZ6A.js → validateNonInterActiveAuth-NS3GBIJZ.js} +61 -56
- package/chunks/{version-VAONYVE5.js → version-B3RSLP54.js} +2 -1
- package/chunks/{web-fetch-SXAXJHIO.js → web-fetch-UYGMOHW4.js} +5 -5
- package/chunks/{workflow-DG2BR42M.js → workflow-7APPIGND.js} +25 -25
- package/chunks/{workspace-providers-status-XGW5OZTD.js → workspace-providers-status-SC67GLMY.js} +30 -30
- package/chunks/{workspace-service-GX3GGZLU.js → workspace-service-ZJHF22WA.js} +35 -35
- package/chunks/{workspace-skills-status-LFK5WV2V.js → workspace-skills-status-NJEK6P6Y.js} +29 -29
- package/chunks/{write-file-UR7FXWOU.js → write-file-R6Z3VLRY.js} +25 -25
- package/chunks/{zh-FSVJTXA4.js → zh-7XVVRTDH.js} +6 -1
- package/chunks/{zh-TW-66MG4LWL.js → zh-TW-DPH554OG.js} +6 -1
- package/cli.js +19 -11
- package/locales/en.js +9 -2
- package/locales/fr.js +6 -0
- package/locales/ja.js +6 -0
- package/locales/zh-TW.js +9 -2
- package/locales/zh.js +9 -2
- package/node_modules/@qwen-code/audio-capture/package.json +1 -1
- 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/win32-x64/@qwen-code+audio-capture.node +0 -0
- package/package.json +3 -3
- package/web-shell/assets/{arc-CUpe0ibu.js → arc-C7hjaa7g.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-JvyrY_mK.js → architectureDiagram-3BPJPVTR-pm9KtMZY.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CK3Y_vom.js → blockDiagram-GPEHLZMM-CApElKsU.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-DprSnyrf.js → c4Diagram-AAUBKEIU-BeDe0-9N.js} +1 -1
- package/web-shell/assets/channel-BNf1dW-j.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-DJtRJPmu.js → chunk-2J33WTMH-DJEkmLdl.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-ON6Q2-BG.js → chunk-4BX2VUAB-DXX8gdpe.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-c60ou5HZ.js → chunk-55IACEB6-DORmk1kQ.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-BamtPKxx.js → chunk-727SXJPM-DWmO4mCZ.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-CsVgpu-T.js → chunk-AQP2D5EJ-C7LRaYw2.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-vZrpjAx4.js → chunk-FMBD7UC4-CCdXgyC5.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-qxyNOd5t.js → chunk-ND2GUHAM-SyL_xvWc.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-BvTJSM_S.js → chunk-QZHKN3VN-BzOuCKxa.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-1tXB4pju.js → cose-bilkent-S5V4N54A-BMPWyDKc.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-DglBzme8.js → dagre-BM42HDAG-B_GnPWik.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-DEJpqsWz.js → diagram-2AECGRRQ-fJqMc3S_.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-CsQ1NrMG.js → diagram-5GNKFQAL-ximV3O9D.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-Z-3codAi.js → diagram-KO2AKTUF-2vVyjzqw.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-mBuPTA2i.js → diagram-LMA3HP47-Dckcx1sT.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-tcA3K3s9.js → diagram-OG6HWLK6-BAVv47ga.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-D9bXFRyZ.js → erDiagram-TEJ5UH35-Bn3nf5J0.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-Ck0Py04s.js → flowDiagram-I6XJVG4X-BIbGF9JT.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-rOevCekE.js → ganttDiagram-6RSMTGT7-CDbhb3AH.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CoPQaLj0.js → gitGraphDiagram-PVQCEYII-CbKG1a_w.js} +1 -1
- package/web-shell/assets/index-CnE2ur2L.js +779 -0
- package/web-shell/assets/index-hSKXrlSE.css +5 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-a77CUKoI.js → infoDiagram-5YYISTIA-DUFxTy8m.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-DlLgUAO-.js → ishikawaDiagram-YF4QCWOH-D69hrBG8.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-BXR5kVAZ.js → journeyDiagram-JHISSGLW-DsvEw51Y.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-h5CoHZg7.js → kanban-definition-UN3LZRKU-lFFjZEYd.js} +1 -1
- package/web-shell/assets/{linear-BkaREbyD.js → linear-Bo5bWzvo.js} +1 -1
- package/web-shell/assets/{mermaid.core-Bkagz0ng.js → mermaid.core-C_HKMJx5.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-D7EMKR_5.js → mindmap-definition-RKZ34NQL-DlV-NUTs.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-DAmPOjsL.js → pieDiagram-4H26LBE5-B2e6FH2a.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-e4WFQkQu.js → quadrantDiagram-W4KKPZXB-D75kSk-b.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-v1zo7OiV.js → requirementDiagram-4Y6WPE33-CQ6xakhM.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-Bstm4aW_.js → sankeyDiagram-5OEKKPKP-J_XTKrcY.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-DzcZy6xN.js → sequenceDiagram-3UESZ5HK-D7jTcBtf.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-BEJH6YbH.js → stateDiagram-AJRCARHV-CrlM_OT3.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-TI1wH-Pm.js → timeline-definition-PNZ67QCA-5oZi76Ef.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-YaH8VDMS.js → vennDiagram-CIIHVFJN-DO5YptPK.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-B80co7OP.js → wardley-L42UT6IY-4t1eJDvM.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-4fHNDEMl.js → wardleyDiagram-YWT4CUSO-DKZc661S.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-DT3q4Z3J.js → xychartDiagram-2RQKCTM6-su9hp08G.js} +1 -1
- package/web-shell/index.html +2 -2
- package/chunks/chunk-L7QPM2YD.js +0 -481
- package/chunks/daemon-status-provider-2EWTHT7Y.js +0 -73
- package/chunks/nonInteractiveCli-HNZRIM5I.js +0 -111
- package/web-shell/assets/channel-BAxQ2-aZ.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Cvd_xhZI.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvd_xhZI.js +0 -1
- package/web-shell/assets/index-Cr7MYW6T.css +0 -5
- package/web-shell/assets/index-DCHPAUp3.js +0 -730
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BopifCBI.js +0 -1
|
@@ -480,6 +480,7 @@ var GITHUB_SETUP_DEFAULT_TIMEOUT_MS = 9e4;
|
|
|
480
480
|
var DEFAULT_MAX_PENDING_PROMPTS_PER_SESSION = 5;
|
|
481
481
|
var MCP_RESTART_DEFAULT_TIMEOUT_MS = MCP_RESTART_SERVER_DEADLINE_MS + MCP_RESTART_CLIENT_HEADROOM_MS;
|
|
482
482
|
var CLIENT_ID_HEADER = "X-Qwen-Client-Id";
|
|
483
|
+
var urlEncode = encodeURIComponent;
|
|
483
484
|
function normalizePermissionRuleInput(rule) {
|
|
484
485
|
const trimmed = rule.trim();
|
|
485
486
|
if (!trimmed) {
|
|
@@ -706,6 +707,37 @@ var DaemonClient = class {
|
|
|
706
707
|
}
|
|
707
708
|
);
|
|
708
709
|
}
|
|
710
|
+
/**
|
|
711
|
+
* Consolidated daemon status report (`GET /daemon/status`). The default
|
|
712
|
+
* `summary` detail reads cheap in-memory counters; `full` adds per-session,
|
|
713
|
+
* ACP-connection, auth, and workspace diagnostics sections.
|
|
714
|
+
*/
|
|
715
|
+
async daemonStatus(detail = "summary") {
|
|
716
|
+
const query = detail === "summary" ? "" : `?detail=${detail}`;
|
|
717
|
+
return await this.jsonRequest(
|
|
718
|
+
`/daemon/status${query}`,
|
|
719
|
+
"GET /daemon/status"
|
|
720
|
+
);
|
|
721
|
+
}
|
|
722
|
+
/**
|
|
723
|
+
* Aggregate local token-usage dashboard (`GET /usage/dashboard`): the
|
|
724
|
+
* selected range's flattened totals plus a trailing per-day heatmap, read
|
|
725
|
+
* from the durable local usage history (global, cross-project). `range`
|
|
726
|
+
* scopes the summary (default `today`); `heatmapDays` sets the heatmap
|
|
727
|
+
* window (default ~6 months, server-clamped to 1..366).
|
|
728
|
+
*/
|
|
729
|
+
async usageDashboard(opts = {}) {
|
|
730
|
+
const params = new URLSearchParams();
|
|
731
|
+
if (opts.range !== void 0) params.set("range", opts.range);
|
|
732
|
+
if (opts.heatmapDays !== void 0) {
|
|
733
|
+
params.set("heatmapDays", String(opts.heatmapDays));
|
|
734
|
+
}
|
|
735
|
+
const query = params.toString();
|
|
736
|
+
return await this.jsonRequest(
|
|
737
|
+
`/usage/dashboard${query ? `?${query}` : ""}`,
|
|
738
|
+
"GET /usage/dashboard"
|
|
739
|
+
);
|
|
740
|
+
}
|
|
709
741
|
async workspaceMcp() {
|
|
710
742
|
return await this.fetchWithTimeout(
|
|
711
743
|
`${this.baseUrl}/workspace/mcp`,
|
|
@@ -718,7 +750,7 @@ var DaemonClient = class {
|
|
|
718
750
|
}
|
|
719
751
|
async workspaceMcpTools(serverName) {
|
|
720
752
|
return await this.fetchWithTimeout(
|
|
721
|
-
`${this.baseUrl}/workspace/mcp/${
|
|
753
|
+
`${this.baseUrl}/workspace/mcp/${urlEncode(serverName)}/tools`,
|
|
722
754
|
{ headers: this.headers() },
|
|
723
755
|
async (res) => {
|
|
724
756
|
if (!res.ok) {
|
|
@@ -730,7 +762,7 @@ var DaemonClient = class {
|
|
|
730
762
|
}
|
|
731
763
|
async workspaceMcpResources(serverName) {
|
|
732
764
|
return await this.fetchWithTimeout(
|
|
733
|
-
`${this.baseUrl}/workspace/mcp/${
|
|
765
|
+
`${this.baseUrl}/workspace/mcp/${urlEncode(serverName)}/resources`,
|
|
734
766
|
{ headers: this.headers() },
|
|
735
767
|
async (res) => {
|
|
736
768
|
if (!res.ok) {
|
|
@@ -779,7 +811,7 @@ var DaemonClient = class {
|
|
|
779
811
|
}
|
|
780
812
|
async sessionHooks(sessionId) {
|
|
781
813
|
return await this.fetchWithTimeout(
|
|
782
|
-
`${this.baseUrl}/session/${
|
|
814
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/hooks`,
|
|
783
815
|
{ headers: this.headers() },
|
|
784
816
|
async (res) => {
|
|
785
817
|
if (!res.ok)
|
|
@@ -803,7 +835,7 @@ var DaemonClient = class {
|
|
|
803
835
|
}
|
|
804
836
|
async extensionOperationStatus(operationId) {
|
|
805
837
|
return await this.jsonRequest(
|
|
806
|
-
`/workspace/extensions/operations/${
|
|
838
|
+
`/workspace/extensions/operations/${urlEncode(operationId)}`,
|
|
807
839
|
"GET /workspace/extensions/operations/:operationId"
|
|
808
840
|
);
|
|
809
841
|
}
|
|
@@ -823,28 +855,28 @@ var DaemonClient = class {
|
|
|
823
855
|
}
|
|
824
856
|
async enableExtension(name, params, clientId) {
|
|
825
857
|
return await this.jsonRequest(
|
|
826
|
-
`/workspace/extensions/${
|
|
858
|
+
`/workspace/extensions/${urlEncode(name)}/enable`,
|
|
827
859
|
"POST /workspace/extensions/:name/enable",
|
|
828
860
|
{ method: "POST", body: params, clientId }
|
|
829
861
|
);
|
|
830
862
|
}
|
|
831
863
|
async disableExtension(name, params, clientId) {
|
|
832
864
|
return await this.jsonRequest(
|
|
833
|
-
`/workspace/extensions/${
|
|
865
|
+
`/workspace/extensions/${urlEncode(name)}/disable`,
|
|
834
866
|
"POST /workspace/extensions/:name/disable",
|
|
835
867
|
{ method: "POST", body: params, clientId }
|
|
836
868
|
);
|
|
837
869
|
}
|
|
838
870
|
async updateExtension(name, clientId) {
|
|
839
871
|
return await this.jsonRequest(
|
|
840
|
-
`/workspace/extensions/${
|
|
872
|
+
`/workspace/extensions/${urlEncode(name)}/update`,
|
|
841
873
|
"POST /workspace/extensions/:name/update",
|
|
842
874
|
{ method: "POST", body: {}, clientId }
|
|
843
875
|
);
|
|
844
876
|
}
|
|
845
877
|
async uninstallExtension(name, clientId) {
|
|
846
878
|
return await this.jsonRequest(
|
|
847
|
-
`/workspace/extensions/${
|
|
879
|
+
`/workspace/extensions/${urlEncode(name)}`,
|
|
848
880
|
"DELETE /workspace/extensions/:name",
|
|
849
881
|
{ method: "DELETE", clientId }
|
|
850
882
|
);
|
|
@@ -1024,7 +1056,7 @@ var DaemonClient = class {
|
|
|
1024
1056
|
}
|
|
1025
1057
|
async getWorkspaceMemoryRememberTask(taskId, opts) {
|
|
1026
1058
|
return await this.jsonRequest(
|
|
1027
|
-
`${WORKSPACE_MEMORY_REMEMBER_PATH}/${
|
|
1059
|
+
`${WORKSPACE_MEMORY_REMEMBER_PATH}/${urlEncode(taskId)}`,
|
|
1028
1060
|
`GET ${WORKSPACE_MEMORY_REMEMBER_PATH}/:taskId`,
|
|
1029
1061
|
{ clientId: opts?.clientId }
|
|
1030
1062
|
);
|
|
@@ -1042,7 +1074,7 @@ var DaemonClient = class {
|
|
|
1042
1074
|
}
|
|
1043
1075
|
async getWorkspaceMemoryForgetTask(taskId, opts) {
|
|
1044
1076
|
return await this.jsonRequest(
|
|
1045
|
-
`${WORKSPACE_MEMORY_FORGET_PATH}/${
|
|
1077
|
+
`${WORKSPACE_MEMORY_FORGET_PATH}/${urlEncode(taskId)}`,
|
|
1046
1078
|
`GET ${WORKSPACE_MEMORY_FORGET_PATH}/:taskId`,
|
|
1047
1079
|
{ clientId: opts?.clientId }
|
|
1048
1080
|
);
|
|
@@ -1060,7 +1092,7 @@ var DaemonClient = class {
|
|
|
1060
1092
|
}
|
|
1061
1093
|
async getWorkspaceMemoryDreamTask(taskId, opts) {
|
|
1062
1094
|
return await this.jsonRequest(
|
|
1063
|
-
`${WORKSPACE_MEMORY_DREAM_PATH}/${
|
|
1095
|
+
`${WORKSPACE_MEMORY_DREAM_PATH}/${urlEncode(taskId)}`,
|
|
1064
1096
|
`GET ${WORKSPACE_MEMORY_DREAM_PATH}/:taskId`,
|
|
1065
1097
|
{ clientId: opts?.clientId }
|
|
1066
1098
|
);
|
|
@@ -1118,7 +1150,7 @@ var DaemonClient = class {
|
|
|
1118
1150
|
}
|
|
1119
1151
|
async getWorkspaceAgent(agentType) {
|
|
1120
1152
|
return await this.fetchWithTimeout(
|
|
1121
|
-
`${this.baseUrl}/workspace/agents/${
|
|
1153
|
+
`${this.baseUrl}/workspace/agents/${urlEncode(agentType)}`,
|
|
1122
1154
|
{ headers: this.headers() },
|
|
1123
1155
|
async (res) => {
|
|
1124
1156
|
if (!res.ok) {
|
|
@@ -1140,7 +1172,7 @@ var DaemonClient = class {
|
|
|
1140
1172
|
* default precedence (project > user) and updates the project entry.
|
|
1141
1173
|
*/
|
|
1142
1174
|
async updateWorkspaceAgent(agentType, req, opts = {}, clientId) {
|
|
1143
|
-
const url = opts.scope ? `${this.baseUrl}/workspace/agents/${
|
|
1175
|
+
const url = opts.scope ? `${this.baseUrl}/workspace/agents/${urlEncode(agentType)}?scope=${urlEncode(opts.scope)}` : `${this.baseUrl}/workspace/agents/${urlEncode(agentType)}`;
|
|
1144
1176
|
return await this.fetchWithTimeout(
|
|
1145
1177
|
url,
|
|
1146
1178
|
{
|
|
@@ -1166,7 +1198,7 @@ var DaemonClient = class {
|
|
|
1166
1198
|
* and 404 (already gone) resolve successfully.
|
|
1167
1199
|
*/
|
|
1168
1200
|
async deleteWorkspaceAgent(agentType, opts = {}, clientId) {
|
|
1169
|
-
const url = opts.scope ? `${this.baseUrl}/workspace/agents/${
|
|
1201
|
+
const url = opts.scope ? `${this.baseUrl}/workspace/agents/${urlEncode(agentType)}?scope=${urlEncode(opts.scope)}` : `${this.baseUrl}/workspace/agents/${urlEncode(agentType)}`;
|
|
1170
1202
|
return await this.fetchWithTimeout(
|
|
1171
1203
|
url,
|
|
1172
1204
|
{
|
|
@@ -1261,6 +1293,10 @@ var DaemonClient = class {
|
|
|
1261
1293
|
* UIs. Returns an empty list (not 404) when the workspace has no sessions.
|
|
1262
1294
|
*/
|
|
1263
1295
|
async listWorkspaceSessions(workspaceCwd, options) {
|
|
1296
|
+
const page = await this.listWorkspaceSessionsPage(workspaceCwd, options);
|
|
1297
|
+
return page.sessions;
|
|
1298
|
+
}
|
|
1299
|
+
async listWorkspaceSessionsPage(workspaceCwd, options) {
|
|
1264
1300
|
const requestedPageSize = options?.pageSize ?? DEFAULT_SESSION_LIST_PAGE_SIZE;
|
|
1265
1301
|
const pageSize = Math.max(
|
|
1266
1302
|
1,
|
|
@@ -1272,24 +1308,94 @@ var DaemonClient = class {
|
|
|
1272
1308
|
)
|
|
1273
1309
|
);
|
|
1274
1310
|
const query = new URLSearchParams({ size: String(pageSize) });
|
|
1311
|
+
if (options?.cursor !== void 0) {
|
|
1312
|
+
query.set("cursor", options.cursor);
|
|
1313
|
+
}
|
|
1275
1314
|
if (options?.archiveState !== void 0) {
|
|
1276
1315
|
query.set("archiveState", options.archiveState);
|
|
1277
1316
|
}
|
|
1278
|
-
|
|
1279
|
-
|
|
1317
|
+
if (options?.view !== void 0) {
|
|
1318
|
+
query.set("view", options.view);
|
|
1319
|
+
}
|
|
1320
|
+
if (options?.group !== void 0) {
|
|
1321
|
+
query.set("group", options.group);
|
|
1322
|
+
}
|
|
1323
|
+
return await this.jsonRequest(
|
|
1324
|
+
`/workspace/${urlEncode(workspaceCwd)}/sessions?${query.toString()}`,
|
|
1280
1325
|
"GET /workspace/sessions"
|
|
1281
1326
|
);
|
|
1282
|
-
|
|
1327
|
+
}
|
|
1328
|
+
async listSessionGroups(workspaceCwd) {
|
|
1329
|
+
return await this.jsonRequest(
|
|
1330
|
+
`/workspace/${urlEncode(workspaceCwd)}/session-groups`,
|
|
1331
|
+
"GET /workspace/session-groups"
|
|
1332
|
+
);
|
|
1333
|
+
}
|
|
1334
|
+
async createSessionGroup(workspaceCwd, input) {
|
|
1335
|
+
const body = await this.jsonRequest(
|
|
1336
|
+
`/workspace/${urlEncode(workspaceCwd)}/session-groups`,
|
|
1337
|
+
"POST /workspace/session-groups",
|
|
1338
|
+
{ method: "POST", body: input }
|
|
1339
|
+
);
|
|
1340
|
+
return body.group;
|
|
1341
|
+
}
|
|
1342
|
+
async updateSessionGroup(workspaceCwd, groupId, update) {
|
|
1343
|
+
const body = await this.jsonRequest(
|
|
1344
|
+
`/workspace/${urlEncode(workspaceCwd)}/session-groups/${urlEncode(groupId)}`,
|
|
1345
|
+
"PATCH /workspace/session-groups/:groupId",
|
|
1346
|
+
{ method: "PATCH", body: update }
|
|
1347
|
+
);
|
|
1348
|
+
return body.group;
|
|
1349
|
+
}
|
|
1350
|
+
async deleteSessionGroup(workspaceCwd, groupId) {
|
|
1351
|
+
return await this.jsonRequest(
|
|
1352
|
+
`/workspace/${urlEncode(workspaceCwd)}/session-groups/${urlEncode(groupId)}`,
|
|
1353
|
+
"DELETE /workspace/session-groups/:groupId",
|
|
1354
|
+
{ method: "DELETE" }
|
|
1355
|
+
);
|
|
1356
|
+
}
|
|
1357
|
+
async updateSessionOrganization(sessionId, update, clientId) {
|
|
1358
|
+
return await this.jsonRequest(
|
|
1359
|
+
`/session/${urlEncode(sessionId)}/organization`,
|
|
1360
|
+
"PATCH /session/:id/organization",
|
|
1361
|
+
{ method: "PATCH", body: update, clientId }
|
|
1362
|
+
);
|
|
1283
1363
|
}
|
|
1284
1364
|
async loadSession(sessionId, req = {}, clientId) {
|
|
1285
1365
|
return this.restoreSession("load", sessionId, req, clientId);
|
|
1286
1366
|
}
|
|
1367
|
+
async exportSession(sessionId, opts = {}) {
|
|
1368
|
+
const format = opts.format ?? "html";
|
|
1369
|
+
const query = opts.format ? `?format=${urlEncode(opts.format)}` : "";
|
|
1370
|
+
return await this.fetchWithTimeout(
|
|
1371
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/export${query}`,
|
|
1372
|
+
{ headers: this.headers({}, opts.clientId) },
|
|
1373
|
+
async (res) => {
|
|
1374
|
+
if (!res.ok) {
|
|
1375
|
+
throw await this.failOnError(res, "GET /session/:id/export");
|
|
1376
|
+
}
|
|
1377
|
+
const content = await res.text();
|
|
1378
|
+
const mimeType = res.headers.get("content-type") ?? "";
|
|
1379
|
+
const filename = /filename="([^"]+)"/i.exec(
|
|
1380
|
+
res.headers.get("content-disposition") ?? ""
|
|
1381
|
+
)?.[1] ?? `export.${format}`;
|
|
1382
|
+
return {
|
|
1383
|
+
content,
|
|
1384
|
+
filename,
|
|
1385
|
+
mimeType,
|
|
1386
|
+
format
|
|
1387
|
+
};
|
|
1388
|
+
},
|
|
1389
|
+
void 0,
|
|
1390
|
+
"rest"
|
|
1391
|
+
);
|
|
1392
|
+
}
|
|
1287
1393
|
async resumeSession(sessionId, req = {}, clientId) {
|
|
1288
1394
|
return this.restoreSession("resume", sessionId, req, clientId);
|
|
1289
1395
|
}
|
|
1290
1396
|
async branchSession(sessionId, req = {}, clientId) {
|
|
1291
1397
|
return await this.fetchWithTimeout(
|
|
1292
|
-
`${this.baseUrl}/session/${
|
|
1398
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/branch`,
|
|
1293
1399
|
{
|
|
1294
1400
|
method: "POST",
|
|
1295
1401
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -1305,7 +1411,7 @@ var DaemonClient = class {
|
|
|
1305
1411
|
}
|
|
1306
1412
|
async forkSession(sessionId, req, clientId) {
|
|
1307
1413
|
return await this.fetchWithTimeout(
|
|
1308
|
-
`${this.baseUrl}/session/${
|
|
1414
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/fork`,
|
|
1309
1415
|
{
|
|
1310
1416
|
method: "POST",
|
|
1311
1417
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -1321,7 +1427,7 @@ var DaemonClient = class {
|
|
|
1321
1427
|
}
|
|
1322
1428
|
async sessionContext(sessionId, clientId) {
|
|
1323
1429
|
return await this.fetchWithTimeout(
|
|
1324
|
-
`${this.baseUrl}/session/${
|
|
1430
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/context`,
|
|
1325
1431
|
{ headers: this.headers({}, clientId) },
|
|
1326
1432
|
async (res) => {
|
|
1327
1433
|
if (!res.ok) {
|
|
@@ -1336,7 +1442,7 @@ var DaemonClient = class {
|
|
|
1336
1442
|
if (opts.detail === true) params.set("detail", "true");
|
|
1337
1443
|
const query = params.toString();
|
|
1338
1444
|
return await this.fetchWithTimeout(
|
|
1339
|
-
`${this.baseUrl}/session/${
|
|
1445
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/context-usage${query ? `?${query}` : ""}`,
|
|
1340
1446
|
{ headers: this.headers({}, clientId) },
|
|
1341
1447
|
async (res) => {
|
|
1342
1448
|
if (!res.ok) {
|
|
@@ -1348,7 +1454,7 @@ var DaemonClient = class {
|
|
|
1348
1454
|
}
|
|
1349
1455
|
async sessionSupportedCommands(sessionId, clientId) {
|
|
1350
1456
|
return await this.fetchWithTimeout(
|
|
1351
|
-
`${this.baseUrl}/session/${
|
|
1457
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/supported-commands`,
|
|
1352
1458
|
{ headers: this.headers({}, clientId) },
|
|
1353
1459
|
async (res) => {
|
|
1354
1460
|
if (!res.ok) {
|
|
@@ -1363,7 +1469,7 @@ var DaemonClient = class {
|
|
|
1363
1469
|
}
|
|
1364
1470
|
async sessionTasks(sessionId, clientId) {
|
|
1365
1471
|
return await this.fetchWithTimeout(
|
|
1366
|
-
`${this.baseUrl}/session/${
|
|
1472
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/tasks`,
|
|
1367
1473
|
{ headers: this.headers({}, clientId) },
|
|
1368
1474
|
async (res) => {
|
|
1369
1475
|
if (!res.ok) {
|
|
@@ -1375,7 +1481,7 @@ var DaemonClient = class {
|
|
|
1375
1481
|
}
|
|
1376
1482
|
async sessionLspStatus(sessionId, clientId) {
|
|
1377
1483
|
return await this.fetchWithTimeout(
|
|
1378
|
-
`${this.baseUrl}/session/${
|
|
1484
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/lsp`,
|
|
1379
1485
|
{ headers: this.headers({}, clientId) },
|
|
1380
1486
|
async (res) => {
|
|
1381
1487
|
if (!res.ok) {
|
|
@@ -1387,7 +1493,7 @@ var DaemonClient = class {
|
|
|
1387
1493
|
}
|
|
1388
1494
|
async sessionTaskCancel(sessionId, taskId, kind, clientId) {
|
|
1389
1495
|
return await this.fetchWithTimeout(
|
|
1390
|
-
`${this.baseUrl}/session/${
|
|
1496
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/tasks/${urlEncode(taskId)}/cancel`,
|
|
1391
1497
|
{
|
|
1392
1498
|
method: "POST",
|
|
1393
1499
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -1406,7 +1512,7 @@ var DaemonClient = class {
|
|
|
1406
1512
|
}
|
|
1407
1513
|
async sessionGoalClear(sessionId, clientId) {
|
|
1408
1514
|
return await this.fetchWithTimeout(
|
|
1409
|
-
`${this.baseUrl}/session/${
|
|
1515
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/goal/clear`,
|
|
1410
1516
|
{
|
|
1411
1517
|
method: "POST",
|
|
1412
1518
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -1422,7 +1528,7 @@ var DaemonClient = class {
|
|
|
1422
1528
|
}
|
|
1423
1529
|
async sessionStats(sessionId, clientId) {
|
|
1424
1530
|
return await this.fetchWithTimeout(
|
|
1425
|
-
`${this.baseUrl}/session/${
|
|
1531
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/stats`,
|
|
1426
1532
|
{ headers: this.headers({}, clientId) },
|
|
1427
1533
|
async (res) => {
|
|
1428
1534
|
if (!res.ok) {
|
|
@@ -1441,7 +1547,7 @@ var DaemonClient = class {
|
|
|
1441
1547
|
*/
|
|
1442
1548
|
async restoreSession(action, sessionId, req, clientId) {
|
|
1443
1549
|
return await this.fetchWithTimeout(
|
|
1444
|
-
`${this.baseUrl}/session/${
|
|
1550
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/${action}`,
|
|
1445
1551
|
{
|
|
1446
1552
|
method: "POST",
|
|
1447
1553
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -1472,7 +1578,7 @@ var DaemonClient = class {
|
|
|
1472
1578
|
*/
|
|
1473
1579
|
async setSessionApprovalMode(sessionId, mode, opts) {
|
|
1474
1580
|
return await this.fetchWithTimeout(
|
|
1475
|
-
`${this.baseUrl}/session/${
|
|
1581
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/approval-mode`,
|
|
1476
1582
|
{
|
|
1477
1583
|
method: "POST",
|
|
1478
1584
|
headers: this.headers(
|
|
@@ -1494,7 +1600,7 @@ var DaemonClient = class {
|
|
|
1494
1600
|
}
|
|
1495
1601
|
async getRewindSnapshots(sessionId) {
|
|
1496
1602
|
return await this.fetchWithTimeout(
|
|
1497
|
-
`${this.baseUrl}/session/${
|
|
1603
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/rewind/snapshots`,
|
|
1498
1604
|
{ method: "GET", headers: this.headers() },
|
|
1499
1605
|
async (res) => {
|
|
1500
1606
|
if (!res.ok) {
|
|
@@ -1509,7 +1615,7 @@ var DaemonClient = class {
|
|
|
1509
1615
|
}
|
|
1510
1616
|
async rewindSession(sessionId, promptId, opts) {
|
|
1511
1617
|
return await this.fetchWithTimeout(
|
|
1512
|
-
`${this.baseUrl}/session/${
|
|
1618
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/rewind`,
|
|
1513
1619
|
{
|
|
1514
1620
|
method: "POST",
|
|
1515
1621
|
headers: this.headers(
|
|
@@ -1557,7 +1663,7 @@ var DaemonClient = class {
|
|
|
1557
1663
|
*/
|
|
1558
1664
|
async recapSession(sessionId, opts) {
|
|
1559
1665
|
const res = await this.transport.fetch(
|
|
1560
|
-
`${this.baseUrl}/session/${
|
|
1666
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/recap`,
|
|
1561
1667
|
{
|
|
1562
1668
|
method: "POST",
|
|
1563
1669
|
headers: this.headers(
|
|
@@ -1573,7 +1679,7 @@ var DaemonClient = class {
|
|
|
1573
1679
|
}
|
|
1574
1680
|
async btwSession(sessionId, question, opts) {
|
|
1575
1681
|
const res = await this.transport.fetch(
|
|
1576
|
-
`${this.baseUrl}/session/${
|
|
1682
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/btw`,
|
|
1577
1683
|
{
|
|
1578
1684
|
method: "POST",
|
|
1579
1685
|
headers: this.headers(
|
|
@@ -1595,7 +1701,7 @@ var DaemonClient = class {
|
|
|
1595
1701
|
*/
|
|
1596
1702
|
async enqueueMidTurnMessage(sessionId, message, opts) {
|
|
1597
1703
|
return await this.fetchWithTimeout(
|
|
1598
|
-
`${this.baseUrl}/session/${
|
|
1704
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/mid-turn-message`,
|
|
1599
1705
|
{
|
|
1600
1706
|
method: "POST",
|
|
1601
1707
|
headers: this.headers(
|
|
@@ -1624,7 +1730,7 @@ var DaemonClient = class {
|
|
|
1624
1730
|
*/
|
|
1625
1731
|
async getPendingPrompts(sessionId, opts) {
|
|
1626
1732
|
return await this.fetchWithTimeout(
|
|
1627
|
-
`${this.baseUrl}/session/${
|
|
1733
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/pending-prompts`,
|
|
1628
1734
|
{
|
|
1629
1735
|
method: "GET",
|
|
1630
1736
|
headers: this.headers({}, opts?.clientId)
|
|
@@ -1645,7 +1751,7 @@ var DaemonClient = class {
|
|
|
1645
1751
|
*/
|
|
1646
1752
|
async removePendingPrompt(sessionId, promptId, opts) {
|
|
1647
1753
|
return await this.fetchWithTimeout(
|
|
1648
|
-
`${this.baseUrl}/session/${
|
|
1754
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/pending-prompts/${urlEncode(promptId)}`,
|
|
1649
1755
|
{
|
|
1650
1756
|
method: "DELETE",
|
|
1651
1757
|
headers: this.headers({}, opts?.clientId)
|
|
@@ -1670,7 +1776,7 @@ var DaemonClient = class {
|
|
|
1670
1776
|
*/
|
|
1671
1777
|
async shellCommand(sessionId, command, opts) {
|
|
1672
1778
|
const res = await this.transport.fetch(
|
|
1673
|
-
`${this.baseUrl}/session/${
|
|
1779
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/shell`,
|
|
1674
1780
|
{
|
|
1675
1781
|
method: "POST",
|
|
1676
1782
|
headers: this.headers(
|
|
@@ -1701,7 +1807,7 @@ var DaemonClient = class {
|
|
|
1701
1807
|
*/
|
|
1702
1808
|
async setWorkspaceToolEnabled(toolName, enabled, opts) {
|
|
1703
1809
|
return await this.fetchWithTimeout(
|
|
1704
|
-
`${this.baseUrl}/workspace/tools/${
|
|
1810
|
+
`${this.baseUrl}/workspace/tools/${urlEncode(toolName)}/enable`,
|
|
1705
1811
|
{
|
|
1706
1812
|
method: "POST",
|
|
1707
1813
|
headers: this.headers(
|
|
@@ -1898,9 +2004,9 @@ var DaemonClient = class {
|
|
|
1898
2004
|
* Pre-flight `caps.features.workspace_mcp_restart` before calling.
|
|
1899
2005
|
*/
|
|
1900
2006
|
async restartMcpServer(serverName, opts) {
|
|
1901
|
-
const query = opts?.entryIndex === void 0 ? "" : `?entryIndex=${
|
|
2007
|
+
const query = opts?.entryIndex === void 0 ? "" : `?entryIndex=${urlEncode(String(opts.entryIndex))}`;
|
|
1902
2008
|
return await this.fetchWithTimeout(
|
|
1903
|
-
`${this.baseUrl}/workspace/mcp/${
|
|
2009
|
+
`${this.baseUrl}/workspace/mcp/${urlEncode(serverName)}/restart${query}`,
|
|
1904
2010
|
{
|
|
1905
2011
|
method: "POST",
|
|
1906
2012
|
headers: this.headers(
|
|
@@ -1943,7 +2049,7 @@ var DaemonClient = class {
|
|
|
1943
2049
|
}
|
|
1944
2050
|
async manageMcpServer(serverName, action, opts) {
|
|
1945
2051
|
return await this.fetchWithTimeout(
|
|
1946
|
-
`${this.baseUrl}/workspace/mcp/${
|
|
2052
|
+
`${this.baseUrl}/workspace/mcp/${urlEncode(serverName)}/${urlEncode(action)}`,
|
|
1947
2053
|
{
|
|
1948
2054
|
method: "POST",
|
|
1949
2055
|
headers: this.headers(
|
|
@@ -2002,7 +2108,7 @@ var DaemonClient = class {
|
|
|
2002
2108
|
*/
|
|
2003
2109
|
async removeRuntimeMcpServer(name, opts) {
|
|
2004
2110
|
return await this.fetchWithTimeout(
|
|
2005
|
-
`${this.baseUrl}/workspace/mcp/servers/${
|
|
2111
|
+
`${this.baseUrl}/workspace/mcp/servers/${urlEncode(name)}`,
|
|
2006
2112
|
{
|
|
2007
2113
|
method: "DELETE",
|
|
2008
2114
|
headers: this.headers({}, opts?.clientId)
|
|
@@ -2070,7 +2176,7 @@ var DaemonClient = class {
|
|
|
2070
2176
|
*/
|
|
2071
2177
|
async setSessionModel(sessionId, modelId, clientId) {
|
|
2072
2178
|
return await this.fetchWithTimeout(
|
|
2073
|
-
`${this.baseUrl}/session/${
|
|
2179
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/model`,
|
|
2074
2180
|
{
|
|
2075
2181
|
method: "POST",
|
|
2076
2182
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -2086,7 +2192,7 @@ var DaemonClient = class {
|
|
|
2086
2192
|
}
|
|
2087
2193
|
async setSessionLanguage(sessionId, language, opts) {
|
|
2088
2194
|
return await this.fetchWithTimeout(
|
|
2089
|
-
`${this.baseUrl}/session/${
|
|
2195
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/language`,
|
|
2090
2196
|
{
|
|
2091
2197
|
method: "POST",
|
|
2092
2198
|
headers: this.headers(
|
|
@@ -2123,7 +2229,7 @@ var DaemonClient = class {
|
|
|
2123
2229
|
let releaseOnExit = true;
|
|
2124
2230
|
try {
|
|
2125
2231
|
const res = await this.transport.fetch(
|
|
2126
|
-
`${this.baseUrl}/session/${
|
|
2232
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/prompt`,
|
|
2127
2233
|
{
|
|
2128
2234
|
method: "POST",
|
|
2129
2235
|
headers: this.headers(
|
|
@@ -2181,7 +2287,7 @@ var DaemonClient = class {
|
|
|
2181
2287
|
*/
|
|
2182
2288
|
async promptNonBlocking(sessionId, req, signal, clientId) {
|
|
2183
2289
|
const res = await this.transport.fetch(
|
|
2184
|
-
`${this.baseUrl}/session/${
|
|
2290
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/prompt`,
|
|
2185
2291
|
{
|
|
2186
2292
|
method: "POST",
|
|
2187
2293
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -2231,7 +2337,7 @@ var DaemonClient = class {
|
|
|
2231
2337
|
*/
|
|
2232
2338
|
async heartbeat(sessionId, clientId) {
|
|
2233
2339
|
return await this.fetchWithTimeout(
|
|
2234
|
-
`${this.baseUrl}/session/${
|
|
2340
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/heartbeat`,
|
|
2235
2341
|
{
|
|
2236
2342
|
method: "POST",
|
|
2237
2343
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -2247,7 +2353,7 @@ var DaemonClient = class {
|
|
|
2247
2353
|
}
|
|
2248
2354
|
async cancel(sessionId, clientId) {
|
|
2249
2355
|
await this.fetchWithTimeout(
|
|
2250
|
-
`${this.baseUrl}/session/${
|
|
2356
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/cancel`,
|
|
2251
2357
|
{
|
|
2252
2358
|
method: "POST",
|
|
2253
2359
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -2281,7 +2387,7 @@ var DaemonClient = class {
|
|
|
2281
2387
|
*/
|
|
2282
2388
|
async respondToPermission(requestId, response, clientId) {
|
|
2283
2389
|
return await this.fetchWithTimeout(
|
|
2284
|
-
`${this.baseUrl}/permission/${
|
|
2390
|
+
`${this.baseUrl}/permission/${urlEncode(requestId)}`,
|
|
2285
2391
|
{
|
|
2286
2392
|
method: "POST",
|
|
2287
2393
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -2314,7 +2420,7 @@ var DaemonClient = class {
|
|
|
2314
2420
|
*/
|
|
2315
2421
|
async respondToSessionPermission(sessionId, requestId, response, clientId) {
|
|
2316
2422
|
return await this.fetchWithTimeout(
|
|
2317
|
-
`${this.baseUrl}/session/${
|
|
2423
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/permission/${urlEncode(requestId)}`,
|
|
2318
2424
|
{
|
|
2319
2425
|
method: "POST",
|
|
2320
2426
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -2349,7 +2455,7 @@ var DaemonClient = class {
|
|
|
2349
2455
|
*/
|
|
2350
2456
|
async closeSession(sessionId, clientId) {
|
|
2351
2457
|
return await this.fetchWithTimeout(
|
|
2352
|
-
`${this.baseUrl}/session/${
|
|
2458
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}`,
|
|
2353
2459
|
{
|
|
2354
2460
|
method: "DELETE",
|
|
2355
2461
|
headers: this.headers({}, clientId)
|
|
@@ -2369,7 +2475,7 @@ var DaemonClient = class {
|
|
|
2369
2475
|
async detachSession(sessionId, clientId) {
|
|
2370
2476
|
if (!clientId) return;
|
|
2371
2477
|
return await this.fetchWithTimeout(
|
|
2372
|
-
`${this.baseUrl}/session/${
|
|
2478
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/detach`,
|
|
2373
2479
|
{
|
|
2374
2480
|
method: "POST",
|
|
2375
2481
|
headers: this.headers({}, clientId)
|
|
@@ -2466,7 +2572,7 @@ var DaemonClient = class {
|
|
|
2466
2572
|
}
|
|
2467
2573
|
async getDeviceFlow(deviceFlowId, opts = {}) {
|
|
2468
2574
|
return await this.fetchWithTimeout(
|
|
2469
|
-
`${this.baseUrl}/workspace/auth/device-flow/${
|
|
2575
|
+
`${this.baseUrl}/workspace/auth/device-flow/${urlEncode(deviceFlowId)}`,
|
|
2470
2576
|
{ headers: this.headers({}, opts.clientId), signal: opts.signal },
|
|
2471
2577
|
async (res) => {
|
|
2472
2578
|
if (!res.ok) {
|
|
@@ -2486,7 +2592,7 @@ var DaemonClient = class {
|
|
|
2486
2592
|
*/
|
|
2487
2593
|
async cancelDeviceFlow(deviceFlowId, opts = {}) {
|
|
2488
2594
|
return await this.fetchWithTimeout(
|
|
2489
|
-
`${this.baseUrl}/workspace/auth/device-flow/${
|
|
2595
|
+
`${this.baseUrl}/workspace/auth/device-flow/${urlEncode(deviceFlowId)}`,
|
|
2490
2596
|
{
|
|
2491
2597
|
method: "DELETE",
|
|
2492
2598
|
headers: this.headers({}, opts.clientId)
|
|
@@ -2559,14 +2665,14 @@ var DaemonClient = class {
|
|
|
2559
2665
|
// -- Session artifacts ---------------------------------------------------
|
|
2560
2666
|
async listSessionArtifacts(sessionId, clientId) {
|
|
2561
2667
|
return await this.jsonRequest(
|
|
2562
|
-
`/session/${
|
|
2668
|
+
`/session/${urlEncode(sessionId)}/artifacts`,
|
|
2563
2669
|
"GET /session/:id/artifacts",
|
|
2564
2670
|
{ clientId }
|
|
2565
2671
|
);
|
|
2566
2672
|
}
|
|
2567
2673
|
async addSessionArtifact(sessionId, artifact, clientId) {
|
|
2568
2674
|
return await this.jsonRequest(
|
|
2569
|
-
`/session/${
|
|
2675
|
+
`/session/${urlEncode(sessionId)}/artifacts`,
|
|
2570
2676
|
"POST /session/:id/artifacts",
|
|
2571
2677
|
{
|
|
2572
2678
|
method: "POST",
|
|
@@ -2577,7 +2683,7 @@ var DaemonClient = class {
|
|
|
2577
2683
|
}
|
|
2578
2684
|
async removeSessionArtifact(sessionId, artifactId, clientId) {
|
|
2579
2685
|
return await this.jsonRequest(
|
|
2580
|
-
`/session/${
|
|
2686
|
+
`/session/${urlEncode(sessionId)}/artifacts/${urlEncode(artifactId)}`,
|
|
2581
2687
|
"DELETE /session/:id/artifacts/:artifactId",
|
|
2582
2688
|
{
|
|
2583
2689
|
method: "DELETE",
|
|
@@ -2592,7 +2698,7 @@ var DaemonClient = class {
|
|
|
2592
2698
|
*/
|
|
2593
2699
|
async updateSessionMetadata(sessionId, metadata, clientId) {
|
|
2594
2700
|
return await this.fetchWithTimeout(
|
|
2595
|
-
`${this.baseUrl}/session/${
|
|
2701
|
+
`${this.baseUrl}/session/${urlEncode(sessionId)}/metadata`,
|
|
2596
2702
|
{
|
|
2597
2703
|
method: "PATCH",
|
|
2598
2704
|
headers: this.headers({ "Content-Type": "application/json" }, clientId),
|
|
@@ -4023,7 +4129,7 @@ function isPendingPromptCompletedData(value) {
|
|
|
4023
4129
|
}
|
|
4024
4130
|
__name(isPendingPromptCompletedData, "isPendingPromptCompletedData");
|
|
4025
4131
|
function isClientEvictedData(value) {
|
|
4026
|
-
return isRecord(value) && isNonEmptyString(value["reason"]) && isOptionalNumber(value["droppedAfter"]);
|
|
4132
|
+
return isRecord(value) && isNonEmptyString(value["reason"]) && isOptionalNumber(value["droppedAfter"]) && isOptionalNumber(value["queueSize"]) && isOptionalNumber(value["maxQueued"]) && isOptionalNumber(value["queuedBytes"]) && isOptionalNumber(value["maxQueuedBytes"]) && isOptionalNumber(value["eventBytes"]);
|
|
4027
4133
|
}
|
|
4028
4134
|
__name(isClientEvictedData, "isClientEvictedData");
|
|
4029
4135
|
function isStateResyncRequiredData(value) {
|
|
@@ -4031,7 +4137,9 @@ function isStateResyncRequiredData(value) {
|
|
|
4031
4137
|
}
|
|
4032
4138
|
__name(isStateResyncRequiredData, "isStateResyncRequiredData");
|
|
4033
4139
|
function isSlowClientWarningData(value) {
|
|
4034
|
-
|
|
4140
|
+
if (!isRecord(value)) return false;
|
|
4141
|
+
const threshold = value["threshold"];
|
|
4142
|
+
return isFiniteNumber(value["queueSize"]) && isFiniteNumber(value["maxQueued"]) && isFiniteNumber(value["lastEventId"]) && isOptionalNumber(value["queuedBytes"]) && isOptionalNumber(value["maxQueuedBytes"]) && (threshold === void 0 || threshold === "frames" || threshold === "bytes" || threshold === "frames_and_bytes");
|
|
4035
4143
|
}
|
|
4036
4144
|
__name(isSlowClientWarningData, "isSlowClientWarningData");
|
|
4037
4145
|
function isStreamErrorData(value) {
|
|
@@ -4349,7 +4457,9 @@ var DAEMON_ERROR_KINDS = [
|
|
|
4349
4457
|
"prompt_deadline_exceeded",
|
|
4350
4458
|
// An SSE writer's last successful flush was older than the daemon's
|
|
4351
4459
|
// writer-idle deadline.
|
|
4352
|
-
"writer_idle_timeout"
|
|
4460
|
+
"writer_idle_timeout",
|
|
4461
|
+
// The model response stream ended before a complete turn could be read.
|
|
4462
|
+
"model_stream_interrupted"
|
|
4353
4463
|
];
|
|
4354
4464
|
var DAEMON_CONTENT_HASH_RE = /^sha256:[0-9a-f]{64}$/;
|
|
4355
4465
|
function isDaemonContentHash(value) {
|
|
@@ -4653,6 +4763,7 @@ function normalizeDaemonEvent(event, opts = {}) {
|
|
|
4653
4763
|
}
|
|
4654
4764
|
case "turn_error": {
|
|
4655
4765
|
const code = getString2(event.data, "code");
|
|
4766
|
+
const errorKind = asDaemonErrorKind(getString2(event.data, "errorKind"));
|
|
4656
4767
|
const promptId = getString2(event.data, "promptId");
|
|
4657
4768
|
return [
|
|
4658
4769
|
{
|
|
@@ -4661,6 +4772,7 @@ function normalizeDaemonEvent(event, opts = {}) {
|
|
|
4661
4772
|
source: "turn_error",
|
|
4662
4773
|
recoverable: true,
|
|
4663
4774
|
...code ? { code } : {},
|
|
4775
|
+
...errorKind ? { errorKind } : {},
|
|
4664
4776
|
...promptId ? { promptId } : {},
|
|
4665
4777
|
text: getString2(event.data, "message") ?? "Prompt failed (no details available)"
|
|
4666
4778
|
}
|
|
@@ -4731,6 +4843,8 @@ function normalizeDaemonEvent(event, opts = {}) {
|
|
|
4731
4843
|
return normalizeToolToggled(event, base);
|
|
4732
4844
|
case "settings_changed":
|
|
4733
4845
|
return normalizeSettingsChanged(event, base);
|
|
4846
|
+
case "settings_reloaded":
|
|
4847
|
+
return normalizeSettingsReloaded(event, base);
|
|
4734
4848
|
case "trust_change_requested":
|
|
4735
4849
|
return normalizeTrustChangeRequested(event, base);
|
|
4736
4850
|
case "workspace_initialized":
|
|
@@ -4923,6 +5037,7 @@ function normalizeSessionUpdate(event, base, opts) {
|
|
|
4923
5037
|
if (opts.suppressOwnUserEcho && opts.clientId && event.originatorClientId === opts.clientId) {
|
|
4924
5038
|
return [];
|
|
4925
5039
|
}
|
|
5040
|
+
const meta = extractUpdateMeta(update);
|
|
4926
5041
|
const content = update["content"];
|
|
4927
5042
|
const part = extractContentPart(content);
|
|
4928
5043
|
if (part) {
|
|
@@ -4943,12 +5058,26 @@ function normalizeSessionUpdate(event, base, opts) {
|
|
|
4943
5058
|
return [];
|
|
4944
5059
|
}
|
|
4945
5060
|
if (part.kind === "text") {
|
|
4946
|
-
return part.text ? [
|
|
5061
|
+
return part.text ? [
|
|
5062
|
+
{
|
|
5063
|
+
...base,
|
|
5064
|
+
type: "user.text.delta",
|
|
5065
|
+
text: part.text,
|
|
5066
|
+
...meta ? { meta } : {}
|
|
5067
|
+
}
|
|
5068
|
+
] : [];
|
|
4947
5069
|
}
|
|
4948
5070
|
return [];
|
|
4949
5071
|
}
|
|
4950
5072
|
const text = getTextContent(content);
|
|
4951
|
-
return text ? [
|
|
5073
|
+
return text ? [
|
|
5074
|
+
{
|
|
5075
|
+
...base,
|
|
5076
|
+
type: "user.text.delta",
|
|
5077
|
+
text,
|
|
5078
|
+
...meta ? { meta } : {}
|
|
5079
|
+
}
|
|
5080
|
+
] : [];
|
|
4952
5081
|
}
|
|
4953
5082
|
case "agent_message_chunk": {
|
|
4954
5083
|
const text = getTextContent(update["content"]);
|
|
@@ -5423,6 +5552,21 @@ function normalizeSettingsChanged(event, base) {
|
|
|
5423
5552
|
];
|
|
5424
5553
|
}
|
|
5425
5554
|
__name(normalizeSettingsChanged, "normalizeSettingsChanged");
|
|
5555
|
+
function normalizeSettingsReloaded(event, base) {
|
|
5556
|
+
if (!isRecord2(event.data)) {
|
|
5557
|
+
return fallbackDebug(event, base, "malformed settings_reloaded payload");
|
|
5558
|
+
}
|
|
5559
|
+
return [
|
|
5560
|
+
{
|
|
5561
|
+
...base,
|
|
5562
|
+
type: "workspace.settings.changed",
|
|
5563
|
+
key: "settings_reloaded",
|
|
5564
|
+
scope: "workspace",
|
|
5565
|
+
value: event.data
|
|
5566
|
+
}
|
|
5567
|
+
];
|
|
5568
|
+
}
|
|
5569
|
+
__name(normalizeSettingsReloaded, "normalizeSettingsReloaded");
|
|
5426
5570
|
function normalizeWorkspaceInitialized(event, base) {
|
|
5427
5571
|
const path = getString2(event.data, "path");
|
|
5428
5572
|
const action = getString2(event.data, "action");
|
|
@@ -6772,6 +6916,7 @@ function appendStatusBlock(state, kind, text, event, opts = {}) {
|
|
|
6772
6916
|
...event?.serverTimestamp !== void 0 ? { serverTimestamp: event.serverTimestamp } : {},
|
|
6773
6917
|
...event?.type === "error" && event.code ? { code: event.code } : {},
|
|
6774
6918
|
...event?.type === "error" && event.promptId ? { promptId: event.promptId } : {},
|
|
6919
|
+
...event?.type === "error" && event.errorKind ? { errorKind: event.errorKind } : {},
|
|
6775
6920
|
...event?.type === "error" && event.source ? { source: event.source } : {},
|
|
6776
6921
|
...(event?.type === "status" || event?.type === "debug") && event.source ? { source: event.source } : {},
|
|
6777
6922
|
...(event?.type === "status" || event?.type === "debug") && event.data !== void 0 ? { data: event.data } : {},
|