@qwen-code/qwen-code 0.19.5 → 0.19.6-nightly.20260704.5dc2e1501
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/dataviz/SKILL.md +50 -0
- package/bundled/dataviz/references/anti-patterns.md +12 -0
- package/bundled/dataviz/references/choosing-a-form.md +16 -0
- package/bundled/dataviz/references/palette.md +57 -0
- package/bundled/dataviz/scripts/validate_palette.js +328 -0
- package/bundled/loop/SKILL.md +1 -1
- package/bundled/qc-helper/docs/configuration/settings.md +9 -8
- package/bundled/qc-helper/docs/features/headless.md +2 -2
- package/bundled/qc-helper/docs/features/scheduled-tasks.md +4 -2
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
- package/bundled/review/DESIGN.md +23 -0
- package/bundled/review/SKILL.md +65 -8
- package/chunks/{MaxSizedBox-5JV77KRA.js → MaxSizedBox-44K34KSF.js} +14 -14
- package/chunks/{StandaloneSessionPicker-MGUGB6PH.js → StandaloneSessionPicker-6WZYYTZE.js} +25 -25
- package/chunks/{acpAgent-4F36XM3X.js → acpAgent-2CMYPFHV.js} +346 -131
- package/chunks/{agent-IWBUZI6A.js → agent-UOEAYBCX.js} +11 -11
- package/chunks/{agent-headless-JUTICAYO.js → agent-headless-7SCVZZGJ.js} +11 -11
- package/chunks/{anthropicContentGenerator-WL3LJOUB.js → anthropicContentGenerator-H5ZOEENQ.js} +2 -2
- package/chunks/{artifact-tool-W76WC2JX.js → artifact-tool-SLYPWG3C.js} +15 -2
- package/chunks/{askUserQuestion-J3P6TH3V.js → askUserQuestion-OKPTECON.js} +1 -1
- package/chunks/{bridge-DHZHQ4UV.js → bridge-IGX2XPWV.js} +17 -16
- package/chunks/{channel-worker-supervisor-EVPAYNZ5.js → channel-worker-supervisor-JUYQ5Z4R.js} +5 -5
- package/chunks/{chunk-EROWZQN7.js → chunk-2HK52TS2.js} +6 -6
- package/chunks/chunk-3RW4AZJV.js +5063 -0
- package/chunks/chunk-3VJ7MT3N.js +111 -0
- package/chunks/{chunk-JJ6B3ZD3.js → chunk-3ZSJDRNO.js} +2 -2
- package/chunks/{chunk-SJVPSHXU.js → chunk-4OIKNWUQ.js} +4 -4
- package/chunks/{chunk-PPFWEV7G.js → chunk-4RQIB5UZ.js} +62 -62
- package/chunks/{chunk-MDBNFHIO.js → chunk-4YMVQKCZ.js} +3 -3
- package/chunks/{chunk-2YH27UNF.js → chunk-4YXBDLX7.js} +1 -1
- package/chunks/{chunk-6QVQZAW6.js → chunk-537ZUZEH.js} +1 -1
- package/chunks/{chunk-L7OJ3ZO3.js → chunk-5ES5YPED.js} +1 -1
- package/chunks/{chunk-UJT42DB6.js → chunk-5QC7Y5TJ.js} +5 -5
- package/chunks/{chunk-BC4R5C5R.js → chunk-5WYLPENX.js} +32 -6
- package/chunks/{chunk-7DMQRPC7.js → chunk-6BEOH4KK.js} +1 -1
- package/chunks/{chunk-CXBG27SF.js → chunk-6IAWPIQ6.js} +3 -2
- package/chunks/{chunk-RM3PGSGL.js → chunk-6SHO7WFF.js} +15 -2
- package/chunks/{chunk-CBJE2PLG.js → chunk-777PHAJF.js} +2 -2
- package/chunks/{chunk-NSSVORTQ.js → chunk-7UU2AGR4.js} +16 -12
- package/chunks/{chunk-RNGAT2Y2.js → chunk-AGLMKJH5.js} +1 -1
- package/chunks/{chunk-J3ERRYYI.js → chunk-AWSTZHHZ.js} +2 -2
- package/chunks/{chunk-6QTCOQX7.js → chunk-B5ZACOMA.js} +1967 -1399
- package/chunks/{chunk-R6RI2HIC.js → chunk-CLQPBI4H.js} +40 -13
- package/chunks/{chunk-SJBIFVD2.js → chunk-DMSNJDWG.js} +5 -1
- package/chunks/{chunk-KKQWC6WS.js → chunk-DNV4FSN5.js} +1 -1
- package/chunks/{chunk-Z7XNVNPM.js → chunk-EMSRFDBD.js} +1 -1
- package/chunks/{chunk-HISPEX42.js → chunk-G645A66S.js} +7 -7
- package/chunks/{chunk-WALEWZ44.js → chunk-H3GBYW5M.js} +1 -1
- package/chunks/{chunk-2Z43HUXT.js → chunk-HLKG6CZN.js} +3 -2
- package/chunks/{chunk-XKZXGIRM.js → chunk-HNGXPBWR.js} +2 -2
- package/chunks/{chunk-QHYITL6P.js → chunk-HXX7S2AE.js} +5 -11
- package/chunks/{chunk-XKSCTXPK.js → chunk-J6ABRKAB.js} +2 -1
- package/chunks/{chunk-DX3TKXNT.js → chunk-JA5KWZTJ.js} +1 -1
- package/chunks/{chunk-4MCC4XHH.js → chunk-KBKWNEPS.js} +38 -37
- package/chunks/{chunk-MNOXKSM2.js → chunk-KEKV2TOO.js} +1 -1
- package/chunks/{chunk-R3UWLLRQ.js → chunk-KP6O77UN.js} +1 -1
- package/chunks/{chunk-YTFBURQD.js → chunk-KYTQOCDE.js} +1 -1
- package/chunks/{chunk-TN6RT6EJ.js → chunk-LJUWNRJH.js} +16 -4
- package/chunks/{chunk-BPFJQGY7.js → chunk-LM3YCCZJ.js} +164 -5
- package/chunks/{chunk-G4M7FPNY.js → chunk-M6IUEDXM.js} +1 -1
- package/chunks/{chunk-MTNTVOJR.js → chunk-MJKMIQMK.js} +5 -2
- package/chunks/{chunk-2CAII5HD.js → chunk-MWGIMAYM.js} +1 -1
- package/chunks/{chunk-NDY7OENU.js → chunk-N3QDCSLP.js} +2 -2
- package/chunks/{chunk-IMAMNLY6.js → chunk-N6AGVKMC.js} +3 -3
- package/chunks/{chunk-WZ724G6K.js → chunk-NGCPNXJC.js} +5 -5
- package/chunks/{chunk-YXK4GPYO.js → chunk-NVFJSIAX.js} +29 -0
- package/chunks/{chunk-6KPZJJ6U.js → chunk-P2OIJOKP.js} +9 -9
- package/chunks/{chunk-RSBQS6M4.js → chunk-P2RRV2UB.js} +1 -1
- package/chunks/{chunk-NNEJEBCF.js → chunk-PGMCFUZS.js} +30 -21
- package/chunks/{chunk-CSPSJU5R.js → chunk-PNGENHT7.js} +16 -16
- package/chunks/{chunk-Y4UQT3PM.js → chunk-QQXG2BL6.js} +1 -1
- package/chunks/{chunk-M5ITDKSM.js → chunk-RUM2UEL3.js} +1 -1
- package/chunks/{chunk-DG573EOO.js → chunk-RZORUN6X.js} +1 -1
- package/chunks/{chunk-LHMZCIKL.js → chunk-SZFYG244.js} +3 -1
- package/chunks/{chunk-CHY5C5T4.js → chunk-TDMIHT6B.js} +171 -79
- package/chunks/{chunk-DRS2HTNT.js → chunk-TE6JTKY5.js} +5 -5
- package/chunks/chunk-U7UXWKGG.js +949 -0
- package/chunks/{chunk-JKGCBO3O.js → chunk-UPYORLKQ.js} +3 -3
- package/chunks/{chunk-UY2TCIZS.js → chunk-V5VTULL5.js} +2 -2
- package/chunks/{chunk-ZISMVA6U.js → chunk-WGCLCXAN.js} +1371 -24
- package/chunks/chunk-WSOGYJMT.js +5630 -0
- package/chunks/{chunk-SBMHB6N5.js → chunk-WWGZJJRG.js} +12 -12
- package/chunks/{chunk-DM4E337C.js → chunk-X3UQVEBR.js} +4 -4
- package/chunks/{chunk-K4I4STSL.js → chunk-XPOO5OMB.js} +2 -2
- package/chunks/{chunk-5B2WNM6V.js → chunk-ZI4MGBB5.js} +1 -1
- package/chunks/{chunk-OQHLUA2Y.js → chunk-ZLJKZ57K.js} +3 -3
- package/chunks/{chunk-YCU7QV7Q.js → chunk-ZZDAIAA6.js} +32 -0
- package/chunks/{computer-use-ON3JQUHW.js → computer-use-TQWGUBPQ.js} +11 -11
- package/chunks/{contextCommand-OGCG7W6N.js → contextCommand-XDK5RNWI.js} +13 -13
- package/chunks/{cron-create-6YTCOX6P.js → cron-create-7JYUDTUY.js} +20 -5
- package/chunks/{cron-delete-E3NIFSUK.js → cron-delete-YPULQQAK.js} +2 -2
- package/chunks/{cron-list-Q64MNQNE.js → cron-list-HJIW5MHP.js} +2 -2
- package/chunks/{daemon-EEB2RYOL.js → daemon-7XYW4BC3.js} +102 -0
- package/chunks/{daemon-status-provider-P72STMLB.js → daemon-status-provider-6UEN56WN.js} +20 -19
- package/chunks/{dist-AP5V4WYU.js → dist-AAO65DPC.js} +2 -2
- package/chunks/{dist-X4ZDE726.js → dist-ABQ7VWRR.js} +3 -3
- package/chunks/{dist-SNXOUPYS.js → dist-AW5ZYMUI.js} +2 -2
- package/chunks/{dist-Z57Q4YF5.js → dist-BV56HW3W.js} +276 -95
- package/chunks/{dist-IZP2VV4C.js → dist-JPSVN367.js} +2 -2
- package/chunks/{earlyInputCapture-DAFHSGVW.js → earlyInputCapture-7MNFMUJE.js} +11 -11
- package/chunks/{edit-3QFNCSZH.js → edit-HOC63PHG.js} +12 -12
- package/chunks/{en-M4EBUBNU.js → en-XR3S5VWY.js} +1 -0
- package/chunks/{enter-worktree-62EQQMLD.js → enter-worktree-THXLMUX2.js} +11 -11
- package/chunks/{enterPlanMode-VUQSE4EG.js → enterPlanMode-TW4WQVEI.js} +11 -11
- package/chunks/{errors-PW75PZXE.js → errors-NTNVSC6G.js} +13 -13
- package/chunks/{exit-worktree-VVNH7OVY.js → exit-worktree-CLL7RGAT.js} +11 -11
- package/chunks/{exitPlanMode-RUYRCYZW.js → exitPlanMode-BTZZ3QEL.js} +11 -11
- package/chunks/{fast-path-TFRJRTTR.js → fast-path-RYXBU6AS.js} +3 -3
- package/chunks/{fast-path-settings-UQLRFDQP.js → fast-path-settings-RCRXH2JG.js} +2 -2
- package/chunks/{gemini-XW7ZDUVR.js → gemini-36FE3OHS.js} +69 -64
- package/chunks/{geminiContentGenerator-MZDVHVZH.js → geminiContentGenerator-JEG2PANG.js} +1 -1
- package/chunks/{glob-WAY2PUWA.js → glob-EYVHOFCY.js} +11 -11
- package/chunks/{grep-W6CBKSYC.js → grep-TZY5TDGH.js} +11 -11
- package/chunks/{initializer-HK2XE6P2.js → initializer-HPF2RBSB.js} +16 -16
- package/chunks/{list-RVLIIKKL.js → list-THUTQ7B5.js} +18 -18
- package/chunks/{loadedSettingsAdapter-C63OUYZC.js → loadedSettingsAdapter-CUMWJNWJ.js} +16 -16
- package/chunks/{loop-wakeup-G2EHBRGR.js → loop-wakeup-34YK7T7O.js} +3 -3
- package/chunks/{ls-IDHUVSAG.js → ls-MPD5OJUX.js} +1 -1
- package/chunks/{lsp-FSRYXGFT.js → lsp-72PWTDW7.js} +1 -1
- package/chunks/{workspace-skills-status-ONEPXJV6.js → mcp-NQD5MT2T.js} +20 -16
- package/chunks/{monitor-FOG36ABM.js → monitor-PB7NVSG2.js} +11 -11
- package/chunks/{nonInteractiveCli-6BYQSJTB.js → nonInteractiveCli-F5FJXYQR.js} +46 -44
- package/chunks/{notebook-edit-GC6NXRCX.js → notebook-edit-LAK6OHS6.js} +12 -12
- package/chunks/{openaiContentGenerator-EXR3ZL3Z.js → openaiContentGenerator-GMMEY5PG.js} +6 -6
- package/chunks/{pidfile-FNZM2DDH.js → pidfile-NQ2YUNKI.js} +11 -11
- package/chunks/{qwenContentGenerator-A7B6J4U7.js → qwenContentGenerator-7XCBMQBM.js} +13 -13
- package/chunks/{read-file-6JL4ULMY.js → read-file-KUROJDUQ.js} +3 -3
- package/chunks/{read-mcp-resource-PIJF24RO.js → read-mcp-resource-OWOBJY72.js} +1 -1
- package/chunks/record-artifact-URK3YUDJ.js +343 -0
- package/chunks/{ripGrep-DIUGLJE5.js → ripGrep-USDWBX4L.js} +11 -11
- package/chunks/{run-qwen-serve-CME3AKM4.js → run-qwen-serve-WKCKS23N.js} +72 -28
- package/chunks/{scheduler-L7F6GDDT.js → scheduler-QR4F5TAH.js} +11 -11
- package/chunks/{send-message-33PYFMCT.js → send-message-L7OLQEKH.js} +2 -2
- package/chunks/{serve-SRCBOJGP.js → serve-2EIPX62G.js} +18 -18
- package/chunks/{server-QSQ45QFR.js → server-UJ7ZF5D7.js} +1184 -490
- package/chunks/{session-5DG6NXHZ.js → session-XB3CFJ6R.js} +48 -46
- package/chunks/{settings-3EEQI4MN.js → settings-DYVJFW5H.js} +15 -15
- package/chunks/{shell-B7FNYF5S.js → shell-IG7KGPLR.js} +11 -11
- package/chunks/{skill-AAOGHD5O.js → skill-RWX646DC.js} +4 -4
- package/chunks/{spawnChannel-3CBN3ZLK.js → spawnChannel-GWIJHDZ5.js} +15 -15
- package/chunks/{src-T5A7P7FS.js → src-IYODJOVK.js} +47 -21
- package/chunks/{startInteractiveUI-2FGEQ6AS.js → startInteractiveUI-PLEZAI44.js} +354 -152
- package/chunks/{syntheticOutput-YOSWIHDJ.js → syntheticOutput-J3MLCQAR.js} +2 -2
- package/chunks/{task-create-NHS2NGB3.js → task-create-ELEBZ7H2.js} +3 -3
- package/chunks/{task-list-5UIB564R.js → task-list-IEUZLF3Y.js} +1 -1
- package/chunks/{task-stop-HGXZ2VZ3.js → task-stop-QEZW3UDY.js} +1 -1
- package/chunks/{task-update-IYYWUILG.js → task-update-DW36J5P5.js} +3 -3
- package/chunks/{team-create-KDF6W6PV.js → team-create-RXRE7FCH.js} +11 -11
- package/chunks/{team-delete-FEKJCU4P.js → team-delete-SVITIMBO.js} +1 -1
- package/chunks/{team-plan-approval-PSFKQX7M.js → team-plan-approval-OJDMQXOK.js} +11 -11
- package/chunks/{theme-manager-5XOA2AO7.js → theme-manager-QBK6PZOQ.js} +11 -11
- package/chunks/{todoWrite-TKMVZ2HT.js → todoWrite-SFFQHZYY.js} +2 -2
- package/chunks/{tool-search-LFRILZXC.js → tool-search-EZQYPVFF.js} +4 -4
- package/chunks/{trustedFolders-7HQY6T6X.js → trustedFolders-GZDMSATB.js} +12 -12
- package/chunks/{validateNonInterActiveAuth-UC27B7BA.js → validateNonInterActiveAuth-AHXCFAV6.js} +43 -41
- package/chunks/version-KQ5CA4C5.js +10 -0
- package/chunks/{web-fetch-J4PIW36Q.js → web-fetch-SXAXJHIO.js} +2 -2
- package/chunks/{workflow-KUTESS6L.js → workflow-KUBRBYWH.js} +20 -13
- package/chunks/{workspace-providers-status-LJT5AQDS.js → workspace-providers-status-LRMZ4KYI.js} +18 -18
- package/chunks/{workspace-service-YOBYVDXH.js → workspace-service-5UYFHP42.js} +23 -23
- package/chunks/workspace-skills-status-TKLU5O2X.js +68 -0
- package/chunks/{write-file-FJYBZUHP.js → write-file-37LNLFQC.js} +12 -12
- package/chunks/yargs-B64EYTCF.js +10 -0
- package/chunks/{zh-SLZNSSZB.js → zh-FSVJTXA4.js} +1 -0
- package/chunks/{zh-TW-P53C2SL5.js → zh-TW-66MG4LWL.js} +1 -0
- package/cli-entry.js +81 -8
- package/cli.js +348 -55
- package/locales/en.js +1 -0
- package/locales/zh-TW.js +1 -0
- package/locales/zh.js +1 -0
- 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-D_rAuMDd.js → arc-CUpe0ibu.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-DUCzbHVo.js → architectureDiagram-3BPJPVTR-JvyrY_mK.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-BEEBt1LL.js → blockDiagram-GPEHLZMM-CK3Y_vom.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-5ZJ_DeFL.js → c4Diagram-AAUBKEIU-DprSnyrf.js} +1 -1
- package/web-shell/assets/channel-BAxQ2-aZ.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-Cfw7EiLn.js → chunk-2J33WTMH-DJtRJPmu.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-FGuZNCZY.js → chunk-4BX2VUAB-ON6Q2-BG.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-CaBwYPBF.js → chunk-55IACEB6-c60ou5HZ.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-BlR04OFz.js → chunk-727SXJPM-BamtPKxx.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-D3_mYJH5.js → chunk-AQP2D5EJ-CsVgpu-T.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-7D4q4SbB.js → chunk-FMBD7UC4-vZrpjAx4.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-BjX_Iwmr.js → chunk-ND2GUHAM-qxyNOd5t.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-C3Hz_ZQh.js → chunk-QZHKN3VN-BvTJSM_S.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-Cvd_xhZI.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-Cvd_xhZI.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-Ax4UycaT.js → cose-bilkent-S5V4N54A-1tXB4pju.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-C6hmPtGt.js → dagre-BM42HDAG-DglBzme8.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-tXZnxjmw.js → diagram-2AECGRRQ-DEJpqsWz.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-99dwIzQG.js → diagram-5GNKFQAL-CsQ1NrMG.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-Bqhn0-2s.js → diagram-KO2AKTUF-Z-3codAi.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-DzThVSvo.js → diagram-LMA3HP47-mBuPTA2i.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-DPE8vjln.js → diagram-OG6HWLK6-tcA3K3s9.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-KzUKgQCV.js → erDiagram-TEJ5UH35-D9bXFRyZ.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-DBN-DXw5.js → flowDiagram-I6XJVG4X-Ck0Py04s.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-DuBsP9u8.js → ganttDiagram-6RSMTGT7-rOevCekE.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-BjWHMyKR.js → gitGraphDiagram-PVQCEYII-CoPQaLj0.js} +1 -1
- package/web-shell/assets/index-Cr7MYW6T.css +5 -0
- package/web-shell/assets/index-DCHPAUp3.js +730 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-BVux0vP6.js → infoDiagram-5YYISTIA-a77CUKoI.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-2qzw7f--.js → ishikawaDiagram-YF4QCWOH-DlLgUAO-.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-Dnl65sxL.js → journeyDiagram-JHISSGLW-BXR5kVAZ.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-BElSQYtY.js → kanban-definition-UN3LZRKU-h5CoHZg7.js} +1 -1
- package/web-shell/assets/{linear-BjoycSSY.js → linear-BkaREbyD.js} +1 -1
- package/web-shell/assets/{mermaid.core-xe6bvMRz.js → mermaid.core-Bkagz0ng.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-D8DQgI4U.js → mindmap-definition-RKZ34NQL-D7EMKR_5.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-Dwh7Gp7c.js → pieDiagram-4H26LBE5-DAmPOjsL.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-BXKNBln2.js → quadrantDiagram-W4KKPZXB-e4WFQkQu.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-BzaC3cIA.js → requirementDiagram-4Y6WPE33-v1zo7OiV.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-DP2t7eZk.js → sankeyDiagram-5OEKKPKP-Bstm4aW_.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-XlFiWEYv.js → sequenceDiagram-3UESZ5HK-DzcZy6xN.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CupgUMJO.js → stateDiagram-AJRCARHV-BEJH6YbH.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-BopifCBI.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-DstuGywa.js → timeline-definition-PNZ67QCA-TI1wH-Pm.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-CnbNp6zu.js → vennDiagram-CIIHVFJN-YaH8VDMS.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-DnvoHq6R.js → wardley-L42UT6IY-B80co7OP.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-Cz0xHEWB.js → wardleyDiagram-YWT4CUSO-4fHNDEMl.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-p36gfo88.js → xychartDiagram-2RQKCTM6-DT3q4Z3J.js} +1 -1
- package/web-shell/index.html +2 -2
- package/bundled/loop/SKILL.test.ts +0 -119
- package/bundled/loop/autonomous-loop.test.ts +0 -59
- package/bundled/loop/loop-task-file.test.ts +0 -1064
- package/bundled/loop/loop-tick-resolver.test.ts +0 -906
- package/chunks/chunk-EJ7BN3EN.js +0 -11396
- package/web-shell/assets/channel-B5ynH0q8.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-CK3ibywp.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-CK3ibywp.js +0 -1
- package/web-shell/assets/index-9qfvU0_r.css +0 -5
- package/web-shell/assets/index-CWzDaQT5.js +0 -717
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-By3E4QwN.js +0 -1
- package/chunks/{chunk-UFC57OYT.js → chunk-VRDMOSQS.js} +54 -54
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
import {
|
|
4
4
|
classifyApiError,
|
|
5
5
|
prefixMidTurnUserMessageParts
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-P2OIJOKP.js";
|
|
7
7
|
import {
|
|
8
8
|
EXTENSION_CONTEXT_BUDGET,
|
|
9
9
|
buildExtensionMentionContext,
|
|
10
10
|
matchExtensionByRef,
|
|
11
11
|
parseExtensionRef
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-4OIKNWUQ.js";
|
|
13
13
|
import {
|
|
14
14
|
HistoryReplayer,
|
|
15
15
|
MessageEmitter,
|
|
@@ -20,91 +20,78 @@ import {
|
|
|
20
20
|
insertAfterFunctionResponses,
|
|
21
21
|
isSlashCommand,
|
|
22
22
|
normalizePartList
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-KBKWNEPS.js";
|
|
24
24
|
import {
|
|
25
25
|
appEvents,
|
|
26
26
|
buildDisabledSkillNamesProvider,
|
|
27
27
|
loadCliConfig,
|
|
28
28
|
normalizeDisabledToolList
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-WSOGYJMT.js";
|
|
30
|
+
import {
|
|
31
|
+
collectContextData,
|
|
32
|
+
formatContextUsageText
|
|
33
|
+
} from "./chunk-NGCPNXJC.js";
|
|
30
34
|
import {
|
|
31
35
|
getCommandSubcommandNames
|
|
32
|
-
} from "./chunk-
|
|
33
|
-
import "./chunk-
|
|
36
|
+
} from "./chunk-N6AGVKMC.js";
|
|
37
|
+
import "./chunk-N3QDCSLP.js";
|
|
34
38
|
import {
|
|
35
39
|
getEffectiveSupportedModes
|
|
36
|
-
} from "./chunk-
|
|
37
|
-
import "./chunk-JZSY4WP3.js";
|
|
38
|
-
import {
|
|
39
|
-
collectContextData,
|
|
40
|
-
formatContextUsageText
|
|
41
|
-
} from "./chunk-WZ724G6K.js";
|
|
40
|
+
} from "./chunk-5QC7Y5TJ.js";
|
|
42
41
|
import {
|
|
43
42
|
isTerminalGoalStatusKind
|
|
44
43
|
} from "./chunk-KSPVDFE4.js";
|
|
45
44
|
import "./chunk-MRO43B25.js";
|
|
46
|
-
import "./chunk-5B2WNM6V.js";
|
|
47
45
|
import "./chunk-VXGPYF7U.js";
|
|
48
|
-
import "./chunk-
|
|
46
|
+
import "./chunk-HNGXPBWR.js";
|
|
49
47
|
import "./chunk-KYMBIKIW.js";
|
|
50
48
|
import "./chunk-HTWHAN44.js";
|
|
49
|
+
import "./chunk-JZSY4WP3.js";
|
|
50
|
+
import "./chunk-TE6JTKY5.js";
|
|
51
|
+
import "./chunk-3GONHQOA.js";
|
|
52
|
+
import "./chunk-3ZSJDRNO.js";
|
|
53
|
+
import "./chunk-ZI4MGBB5.js";
|
|
51
54
|
import {
|
|
52
55
|
MAX_REMEMBER_CONTENT_BYTES,
|
|
53
56
|
extractRememberErrorCode,
|
|
57
|
+
formatWorkspaceMemoryForgetSummary,
|
|
54
58
|
isValidServerName
|
|
55
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-6SHO7WFF.js";
|
|
56
60
|
import "./chunk-L7QPM2YD.js";
|
|
57
61
|
import "./chunk-54YZOP7P.js";
|
|
58
|
-
import "./chunk-
|
|
62
|
+
import "./chunk-MWGIMAYM.js";
|
|
63
|
+
import "./chunk-UPYORLKQ.js";
|
|
64
|
+
import "./chunk-KHDZHZMH.js";
|
|
65
|
+
import {
|
|
66
|
+
formatAcpModelId,
|
|
67
|
+
parseAcpBaseModelId,
|
|
68
|
+
parseAcpModelOption,
|
|
69
|
+
sanitizeProviderBaseUrl
|
|
70
|
+
} from "./chunk-XPOO5OMB.js";
|
|
71
|
+
import {
|
|
72
|
+
mapSkillConfigToStatus
|
|
73
|
+
} from "./chunk-6IAWPIQ6.js";
|
|
59
74
|
import {
|
|
60
75
|
PERMISSION_RULE_TYPES,
|
|
61
76
|
PermissionRulesValidationError,
|
|
62
77
|
buildPermissionSettings,
|
|
63
78
|
normalizePermissionRules,
|
|
64
79
|
readPermissionRuleSet
|
|
65
|
-
} from "./chunk-
|
|
66
|
-
import "./chunk-
|
|
80
|
+
} from "./chunk-537ZUZEH.js";
|
|
81
|
+
import "./chunk-QQXG2BL6.js";
|
|
67
82
|
import "./chunk-NIOPRZNN.js";
|
|
68
83
|
import "./chunk-AHNXYU4O.js";
|
|
69
84
|
import "./chunk-RNBYOUGV.js";
|
|
70
|
-
import "./chunk-
|
|
85
|
+
import "./chunk-G645A66S.js";
|
|
71
86
|
import "./chunk-BJBWRCSK.js";
|
|
72
|
-
import "./chunk-
|
|
73
|
-
import "./chunk-
|
|
74
|
-
import "./chunk-
|
|
87
|
+
import "./chunk-U7UXWKGG.js";
|
|
88
|
+
import "./chunk-6BEOH4KK.js";
|
|
89
|
+
import "./chunk-S6RLAIUR.js";
|
|
90
|
+
import "./chunk-MX2YXRER.js";
|
|
75
91
|
import "./chunk-YHTNWGRR.js";
|
|
76
92
|
import {
|
|
77
93
|
createLoadedSettingsAdapter
|
|
78
|
-
} from "./chunk-
|
|
79
|
-
import "./chunk-JKGCBO3O.js";
|
|
80
|
-
import "./chunk-KHDZHZMH.js";
|
|
81
|
-
import "./chunk-RSBQS6M4.js";
|
|
82
|
-
import {
|
|
83
|
-
NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE
|
|
84
|
-
} from "./chunk-T22H4V4R.js";
|
|
85
|
-
import {
|
|
86
|
-
CLIENT_MCP_OVER_WS_CONFIG_FLAG,
|
|
87
|
-
MID_TURN_QUEUE_DRAIN_METHOD
|
|
88
|
-
} from "./chunk-EWALXUAD.js";
|
|
89
|
-
import "./chunk-SEZC2725.js";
|
|
90
|
-
import "./chunk-ALX6BUYW.js";
|
|
91
|
-
import {
|
|
92
|
-
formatAcpModelId,
|
|
93
|
-
parseAcpBaseModelId,
|
|
94
|
-
parseAcpModelOption,
|
|
95
|
-
sanitizeProviderBaseUrl
|
|
96
|
-
} from "./chunk-K4I4STSL.js";
|
|
97
|
-
import {
|
|
98
|
-
mapSkillConfigToStatus
|
|
99
|
-
} from "./chunk-CXBG27SF.js";
|
|
100
|
-
import {
|
|
101
|
-
ACP_PREFLIGHT_KINDS,
|
|
102
|
-
IDLE_HOOK_EVENTS,
|
|
103
|
-
SERVE_CONTROL_EXT_METHODS,
|
|
104
|
-
SERVE_STATUS_EXT_METHODS,
|
|
105
|
-
STATUS_SCHEMA_VERSION,
|
|
106
|
-
mapDomainErrorToErrorKind
|
|
107
|
-
} from "./chunk-LHMZCIKL.js";
|
|
94
|
+
} from "./chunk-KP6O77UN.js";
|
|
108
95
|
import {
|
|
109
96
|
OUTPUT_LANGUAGE_AUTO,
|
|
110
97
|
getOutputLanguageFilePath,
|
|
@@ -115,36 +102,55 @@ import {
|
|
|
115
102
|
resolveOutputLanguage,
|
|
116
103
|
updateOutputLanguageFile,
|
|
117
104
|
writeOutputLanguageAndRegisterPath
|
|
118
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-5WYLPENX.js";
|
|
119
106
|
import {
|
|
120
107
|
SUPPORTED_LANGUAGES,
|
|
121
108
|
getCurrentLanguage,
|
|
122
109
|
setLanguageAsync
|
|
123
|
-
} from "./chunk-
|
|
110
|
+
} from "./chunk-X3UQVEBR.js";
|
|
124
111
|
import "./chunk-TLRYABYP.js";
|
|
125
|
-
import "./chunk-
|
|
126
|
-
import
|
|
127
|
-
|
|
112
|
+
import "./chunk-4RQIB5UZ.js";
|
|
113
|
+
import {
|
|
114
|
+
NOT_CURRENTLY_GENERATING_CANCEL_MESSAGE
|
|
115
|
+
} from "./chunk-T22H4V4R.js";
|
|
116
|
+
import {
|
|
117
|
+
CLIENT_MCP_OVER_WS_CONFIG_FLAG,
|
|
118
|
+
MID_TURN_QUEUE_DRAIN_METHOD
|
|
119
|
+
} from "./chunk-EWALXUAD.js";
|
|
120
|
+
import "./chunk-SEZC2725.js";
|
|
121
|
+
import "./chunk-ALX6BUYW.js";
|
|
128
122
|
import {
|
|
129
123
|
AgentSideConnection,
|
|
130
124
|
PROTOCOL_VERSION,
|
|
131
|
-
RequestError
|
|
125
|
+
RequestError
|
|
126
|
+
} from "./chunk-VRDMOSQS.js";
|
|
127
|
+
import {
|
|
132
128
|
ndJsonStream
|
|
133
|
-
} from "./chunk-
|
|
134
|
-
import
|
|
129
|
+
} from "./chunk-3VJ7MT3N.js";
|
|
130
|
+
import {
|
|
131
|
+
ACP_PREFLIGHT_KINDS,
|
|
132
|
+
IDLE_HOOK_EVENTS,
|
|
133
|
+
SERVE_CONTROL_EXT_METHODS,
|
|
134
|
+
SERVE_STATUS_EXT_METHODS,
|
|
135
|
+
STATUS_SCHEMA_VERSION,
|
|
136
|
+
mapDomainErrorToErrorKind
|
|
137
|
+
} from "./chunk-SZFYG244.js";
|
|
138
|
+
import "./chunk-3RW4AZJV.js";
|
|
139
|
+
import "./chunk-P2RRV2UB.js";
|
|
135
140
|
import {
|
|
136
141
|
isFolderTrustEnabled,
|
|
137
142
|
isWorkspaceTrusted,
|
|
138
143
|
loadTrustedFolders
|
|
139
|
-
} from "./chunk-
|
|
140
|
-
import
|
|
144
|
+
} from "./chunk-EMSRFDBD.js";
|
|
145
|
+
import {
|
|
146
|
+
writeStderrLine
|
|
147
|
+
} from "./chunk-Y6Z2O3WR.js";
|
|
141
148
|
import "./chunk-QYUE6W3T.js";
|
|
142
149
|
import {
|
|
143
150
|
ALL_PROVIDERS,
|
|
144
151
|
APPROVAL_MODE_INFO,
|
|
145
152
|
BTW_MAX_INPUT_LENGTH,
|
|
146
153
|
ExtensionManager,
|
|
147
|
-
FORK_SUBAGENT_TYPE,
|
|
148
154
|
InvalidMcpConfigError,
|
|
149
155
|
LoopTickResolver,
|
|
150
156
|
MAX_TRANSCRIPT_MESSAGES,
|
|
@@ -224,6 +230,7 @@ import {
|
|
|
224
230
|
resolveBaseUrl,
|
|
225
231
|
restoreWorktreeContext,
|
|
226
232
|
runForkedAgent,
|
|
233
|
+
runManagedAutoMemoryDream,
|
|
227
234
|
runManagedRememberByAgent,
|
|
228
235
|
runVisionBridge,
|
|
229
236
|
sessionIdContext,
|
|
@@ -238,34 +245,35 @@ import {
|
|
|
238
245
|
subagentGenerator,
|
|
239
246
|
unregisterGoalHook,
|
|
240
247
|
updateSetting
|
|
241
|
-
} from "./chunk-
|
|
248
|
+
} from "./chunk-B5ZACOMA.js";
|
|
242
249
|
import "./chunk-5P5XGNYH.js";
|
|
250
|
+
import "./chunk-SKAZWEV5.js";
|
|
243
251
|
import {
|
|
244
252
|
external_exports
|
|
245
253
|
} from "./chunk-K5PGHDBN.js";
|
|
246
|
-
import "./chunk-
|
|
254
|
+
import "./chunk-CLQPBI4H.js";
|
|
247
255
|
import "./chunk-QOMAHFYI.js";
|
|
248
256
|
import "./chunk-G7OQ3RFJ.js";
|
|
249
257
|
import "./chunk-LKWAVAB5.js";
|
|
250
258
|
import {
|
|
251
259
|
runSideQuery
|
|
252
|
-
} from "./chunk-
|
|
253
|
-
import "./chunk-R6RI2HIC.js";
|
|
260
|
+
} from "./chunk-5ES5YPED.js";
|
|
254
261
|
import "./chunk-2MPVVENX.js";
|
|
255
262
|
import "./chunk-ZTQ26VBE.js";
|
|
256
|
-
import "./chunk-
|
|
263
|
+
import "./chunk-DMSNJDWG.js";
|
|
257
264
|
import "./chunk-MLZQVCF3.js";
|
|
258
265
|
import "./chunk-LQ7TMOCE.js";
|
|
259
266
|
import "./chunk-E5A7LHNN.js";
|
|
260
267
|
import {
|
|
261
|
-
APPROVAL_MODES
|
|
262
|
-
|
|
268
|
+
APPROVAL_MODES,
|
|
269
|
+
FORK_SUBAGENT_TYPE
|
|
270
|
+
} from "./chunk-LM3YCCZJ.js";
|
|
263
271
|
import "./chunk-GO6LNQXT.js";
|
|
264
272
|
import "./chunk-B236XPGF.js";
|
|
265
273
|
import {
|
|
266
274
|
HookEventName,
|
|
267
275
|
createHookOutput
|
|
268
|
-
} from "./chunk-
|
|
276
|
+
} from "./chunk-NVFJSIAX.js";
|
|
269
277
|
import "./chunk-TOAUDIS7.js";
|
|
270
278
|
import "./chunk-NPQWQYU6.js";
|
|
271
279
|
import {
|
|
@@ -285,12 +293,14 @@ import {
|
|
|
285
293
|
logPromptSuggestion,
|
|
286
294
|
logToolCall,
|
|
287
295
|
logUserPrompt,
|
|
296
|
+
registerAcpEventLoopLagGauge,
|
|
288
297
|
runInToolSpanContext,
|
|
298
|
+
startEventLoopLagMonitor,
|
|
289
299
|
startToolExecutionSpan,
|
|
290
300
|
startToolSpan,
|
|
291
301
|
uiTelemetryService,
|
|
292
302
|
withInteractionSpan
|
|
293
|
-
} from "./chunk-
|
|
303
|
+
} from "./chunk-TDMIHT6B.js";
|
|
294
304
|
import "./chunk-E6US47KI.js";
|
|
295
305
|
import "./chunk-UWCTAVOD.js";
|
|
296
306
|
import "./chunk-OFEVLU4C.js";
|
|
@@ -300,11 +310,11 @@ import {
|
|
|
300
310
|
getUserAutoMemoryRoot
|
|
301
311
|
} from "./chunk-MOUXUCXQ.js";
|
|
302
312
|
import "./chunk-BZHLWC6T.js";
|
|
303
|
-
import "./chunk-
|
|
313
|
+
import "./chunk-RZORUN6X.js";
|
|
304
314
|
import {
|
|
305
315
|
ToolConfirmationOutcome,
|
|
306
316
|
ToolNames
|
|
307
|
-
} from "./chunk-
|
|
317
|
+
} from "./chunk-MJKMIQMK.js";
|
|
308
318
|
import {
|
|
309
319
|
clearCachedCredentialFile,
|
|
310
320
|
qwenOAuth2Events
|
|
@@ -316,7 +326,7 @@ import "./chunk-SIUQ3YYX.js";
|
|
|
316
326
|
import {
|
|
317
327
|
DEFAULT_TOKEN_LIMIT,
|
|
318
328
|
tokenLimit
|
|
319
|
-
} from "./chunk-
|
|
329
|
+
} from "./chunk-KYTQOCDE.js";
|
|
320
330
|
import "./chunk-YPCPZSZB.js";
|
|
321
331
|
import "./chunk-IRJWHZWU.js";
|
|
322
332
|
import "./chunk-SYCJMSIJ.js";
|
|
@@ -332,10 +342,10 @@ import {
|
|
|
332
342
|
getErrorStatus,
|
|
333
343
|
isSubpath
|
|
334
344
|
} from "./chunk-AVQDCKNF.js";
|
|
335
|
-
import "./chunk-
|
|
345
|
+
import "./chunk-RUM2UEL3.js";
|
|
336
346
|
import {
|
|
337
347
|
runExitCleanup
|
|
338
|
-
} from "./chunk-
|
|
348
|
+
} from "./chunk-4YXBDLX7.js";
|
|
339
349
|
import "./chunk-ZERZSAZL.js";
|
|
340
350
|
import "./chunk-QN5NZ3UQ.js";
|
|
341
351
|
import "./chunk-BR4QREVK.js";
|
|
@@ -1592,33 +1602,42 @@ async function buildAvailableCommandsSnapshot(config, abortSignal = AbortSignal.
|
|
|
1592
1602
|
"acp",
|
|
1593
1603
|
settings
|
|
1594
1604
|
);
|
|
1595
|
-
const
|
|
1596
|
-
|
|
1597
|
-
return
|
|
1598
|
-
|
|
1599
|
-
description: cmd.description,
|
|
1600
|
-
input: acceptsInput ? { hint: cmd.argumentHint ?? "" } : null,
|
|
1601
|
-
_meta: {
|
|
1602
|
-
argumentHint: cmd.argumentHint,
|
|
1603
|
-
source: cmd.source,
|
|
1604
|
-
sourceLabel: cmd.sourceLabel,
|
|
1605
|
-
supportedModes: getEffectiveSupportedModes(cmd),
|
|
1606
|
-
subcommands: getCommandSubcommandNames(cmd),
|
|
1607
|
-
modelInvocable: cmd.modelInvocable === true,
|
|
1608
|
-
// Carry aliases so a channel consumer (which only sees the wire snapshot,
|
|
1609
|
-
// not the command registry) can recognize an aliased command and avoid
|
|
1610
|
-
// tagging it. _meta is ACP's extension point; omitted when there are none
|
|
1611
|
-
// so command entries without aliases stay byte-identical on the wire.
|
|
1612
|
-
...cmd.altNames && cmd.altNames.length > 0 ? { altNames: cmd.altNames } : {}
|
|
1613
|
-
}
|
|
1614
|
-
};
|
|
1605
|
+
const disabledSkillNames = config.getDisabledSkillNames();
|
|
1606
|
+
const visibleSlashCommands = slashCommands.filter((cmd) => {
|
|
1607
|
+
if (cmd.kind !== "skill" /* SKILL */ || !cmd.skillDetail) return true;
|
|
1608
|
+
return !disabledSkillNames.has(cmd.skillDetail.name.toLowerCase());
|
|
1615
1609
|
});
|
|
1610
|
+
const availableCommands = visibleSlashCommands.map(
|
|
1611
|
+
(cmd) => {
|
|
1612
|
+
const acceptsInput = cmd.acceptsInput ?? (cmd.kind !== "built-in" /* BUILT_IN */ || cmd.completion != null || cmd.argumentHint != null || cmd.subCommands != null && cmd.subCommands.length > 0);
|
|
1613
|
+
return {
|
|
1614
|
+
name: cmd.name,
|
|
1615
|
+
description: cmd.description,
|
|
1616
|
+
input: acceptsInput ? { hint: cmd.argumentHint ?? "" } : null,
|
|
1617
|
+
_meta: {
|
|
1618
|
+
argumentHint: cmd.argumentHint,
|
|
1619
|
+
source: cmd.source,
|
|
1620
|
+
sourceLabel: cmd.sourceLabel,
|
|
1621
|
+
supportedModes: getEffectiveSupportedModes(cmd),
|
|
1622
|
+
subcommands: getCommandSubcommandNames(cmd),
|
|
1623
|
+
modelInvocable: cmd.modelInvocable === true,
|
|
1624
|
+
// Carry aliases so a channel consumer (which only sees the wire snapshot,
|
|
1625
|
+
// not the command registry) can recognize an aliased command and avoid
|
|
1626
|
+
// tagging it. _meta is ACP's extension point; omitted when there are none
|
|
1627
|
+
// so command entries without aliases stay byte-identical on the wire.
|
|
1628
|
+
...cmd.altNames && cmd.altNames.length > 0 ? { altNames: cmd.altNames } : {}
|
|
1629
|
+
}
|
|
1630
|
+
};
|
|
1631
|
+
}
|
|
1632
|
+
);
|
|
1616
1633
|
let availableSkills;
|
|
1617
1634
|
const skillDetailsByName = /* @__PURE__ */ new Map();
|
|
1618
1635
|
try {
|
|
1619
1636
|
const skillManager = config.getSkillManager();
|
|
1620
1637
|
if (skillManager) {
|
|
1621
|
-
const skills = await skillManager.listSkills()
|
|
1638
|
+
const skills = (await skillManager.listSkills()).filter(
|
|
1639
|
+
(skill) => !disabledSkillNames.has(skill.name.toLowerCase())
|
|
1640
|
+
);
|
|
1622
1641
|
availableSkills = skills.map((skill) => skill.name);
|
|
1623
1642
|
for (const skill of skills) {
|
|
1624
1643
|
skillDetailsByName.set(skill.name, {
|
|
@@ -1634,7 +1653,7 @@ async function buildAvailableCommandsSnapshot(config, abortSignal = AbortSignal.
|
|
|
1634
1653
|
} catch (error) {
|
|
1635
1654
|
debugLogger5.error("Error loading available skills:", error);
|
|
1636
1655
|
}
|
|
1637
|
-
for (const command of
|
|
1656
|
+
for (const command of visibleSlashCommands) {
|
|
1638
1657
|
if (command.kind !== "skill" /* SKILL */ || !command.skillDetail) {
|
|
1639
1658
|
continue;
|
|
1640
1659
|
}
|
|
@@ -4635,6 +4654,7 @@ ${this.pendingWorktreeNotice}
|
|
|
4635
4654
|
const aborted = activeToolAbortSignal.aborted;
|
|
4636
4655
|
const status = aborted ? "cancelled" : toolResult.error ? "error" : "success";
|
|
4637
4656
|
const succeeded = status === "success";
|
|
4657
|
+
const responseError = toolResult.error ? new Error(toolResult.error.message) : aborted ? new Error("Tool execution was cancelled") : void 0;
|
|
4638
4658
|
if (hooksEnabledForTool && messageBusForTool && !toolResult.error && !aborted && !nestedPermissionCancelled) {
|
|
4639
4659
|
const toolResponse = {
|
|
4640
4660
|
llmContent: toolResult.llmContent,
|
|
@@ -4661,6 +4681,12 @@ ${this.pendingWorktreeNotice}
|
|
|
4661
4681
|
const contextPart = { text: postHookResult.additionalContext };
|
|
4662
4682
|
responseParts.push(contextPart);
|
|
4663
4683
|
}
|
|
4684
|
+
await this.emitHookArtifactsNotification({
|
|
4685
|
+
hookEventName: "PostToolUse",
|
|
4686
|
+
toolName,
|
|
4687
|
+
toolCallId: callId,
|
|
4688
|
+
artifacts: postHookResult.artifacts
|
|
4689
|
+
});
|
|
4664
4690
|
} else if (hooksEnabledForTool && messageBusForTool && (toolResult.error || aborted)) {
|
|
4665
4691
|
const isInterrupt = aborted;
|
|
4666
4692
|
const failureHookResult = await firePostToolUseFailureHook(
|
|
@@ -4679,6 +4705,12 @@ ${this.pendingWorktreeNotice}
|
|
|
4679
4705
|
`PostToolUseFailure hook additional context for ${toolName}: ${failureHookResult.additionalContext}`
|
|
4680
4706
|
);
|
|
4681
4707
|
}
|
|
4708
|
+
await this.emitHookArtifactsNotification({
|
|
4709
|
+
hookEventName: "PostToolUseFailure",
|
|
4710
|
+
toolName,
|
|
4711
|
+
toolCallId: callId,
|
|
4712
|
+
artifacts: failureHookResult.artifacts
|
|
4713
|
+
});
|
|
4682
4714
|
}
|
|
4683
4715
|
if (isTodoWriteTool) {
|
|
4684
4716
|
const todos = this.planEmitter.extractTodos(
|
|
@@ -4689,15 +4721,15 @@ ${this.pendingWorktreeNotice}
|
|
|
4689
4721
|
await this.planEmitter.emitPlan(todos ?? []);
|
|
4690
4722
|
}
|
|
4691
4723
|
} else {
|
|
4692
|
-
const error = toolResult.error ? new Error(toolResult.error.message) : aborted ? new Error("Tool execution was cancelled") : void 0;
|
|
4693
4724
|
await this.toolCallEmitter.emitResult({
|
|
4694
4725
|
callId,
|
|
4695
4726
|
toolName,
|
|
4696
4727
|
args,
|
|
4697
4728
|
message: responseParts,
|
|
4698
4729
|
resultDisplay: toolResult.returnDisplay,
|
|
4699
|
-
error,
|
|
4700
|
-
success: succeeded
|
|
4730
|
+
error: responseError,
|
|
4731
|
+
success: succeeded,
|
|
4732
|
+
artifacts: toolResult.artifacts
|
|
4701
4733
|
});
|
|
4702
4734
|
}
|
|
4703
4735
|
const durationMs = Date.now() - startTime;
|
|
@@ -4755,6 +4787,12 @@ ${this.pendingWorktreeNotice}
|
|
|
4755
4787
|
`PostToolUseFailure hook additional context for ${toolName}: ${failureHookResult.additionalContext}`
|
|
4756
4788
|
);
|
|
4757
4789
|
}
|
|
4790
|
+
await this.emitHookArtifactsNotification({
|
|
4791
|
+
hookEventName: "PostToolUseFailure",
|
|
4792
|
+
toolName,
|
|
4793
|
+
toolCallId: callId,
|
|
4794
|
+
artifacts: failureHookResult.artifacts
|
|
4795
|
+
});
|
|
4758
4796
|
}
|
|
4759
4797
|
await this.toolCallEmitter.emitError(callId, toolName, error);
|
|
4760
4798
|
const errorParts = [
|
|
@@ -4782,8 +4820,9 @@ ${this.pendingWorktreeNotice}
|
|
|
4782
4820
|
toolName,
|
|
4783
4821
|
error
|
|
4784
4822
|
);
|
|
4823
|
+
const responseParts = errorResponse(error);
|
|
4785
4824
|
return {
|
|
4786
|
-
parts:
|
|
4825
|
+
parts: responseParts,
|
|
4787
4826
|
stopAfterPermissionCancel: nestedPermissionCancelled,
|
|
4788
4827
|
loopDetected
|
|
4789
4828
|
};
|
|
@@ -5109,6 +5148,26 @@ ${contextPart.text}`
|
|
|
5109
5148
|
debugLogger5.warn(msg);
|
|
5110
5149
|
}
|
|
5111
5150
|
}
|
|
5151
|
+
async emitHookArtifactsNotification(args) {
|
|
5152
|
+
if (!args.artifacts || args.artifacts.length === 0) {
|
|
5153
|
+
return;
|
|
5154
|
+
}
|
|
5155
|
+
try {
|
|
5156
|
+
await this.client.extNotification("qwen/notify/session/artifact-event", {
|
|
5157
|
+
v: 1,
|
|
5158
|
+
sessionId: this.sessionId,
|
|
5159
|
+
source: "hook",
|
|
5160
|
+
hookEventName: args.hookEventName,
|
|
5161
|
+
toolName: args.toolName,
|
|
5162
|
+
toolCallId: args.toolCallId,
|
|
5163
|
+
artifacts: args.artifacts
|
|
5164
|
+
});
|
|
5165
|
+
} catch (error) {
|
|
5166
|
+
writeStderrLine(
|
|
5167
|
+
`Hook artifact notification dropped for ${args.toolName ?? args.hookEventName}: ${error instanceof Error ? error.message : String(error)}`
|
|
5168
|
+
);
|
|
5169
|
+
}
|
|
5170
|
+
}
|
|
5112
5171
|
/**
|
|
5113
5172
|
* Fire a notification hook and forward any terminalSequence to the ACP
|
|
5114
5173
|
* client as an extNotification. Fire-and-forget — errors are logged at
|
|
@@ -5156,6 +5215,11 @@ function serializeAgentTask(entry, now) {
|
|
|
5156
5215
|
...optionalField("endTime", entry.endTime),
|
|
5157
5216
|
...optionalField("subagentType", entry.subagentType),
|
|
5158
5217
|
isBackgrounded: entry.isBackgrounded,
|
|
5218
|
+
// Nested-agent lineage for client-side tree rendering. AgentTask uses
|
|
5219
|
+
// `null` parentAgentId for top-level launches — normalize to absent.
|
|
5220
|
+
...optionalField("parentAgentId", entry.parentAgentId ?? void 0),
|
|
5221
|
+
...optionalField("parentName", entry.parentName),
|
|
5222
|
+
...optionalField("depth", entry.depth),
|
|
5159
5223
|
...optionalField("error", entry.error),
|
|
5160
5224
|
...optionalField("resumeBlockedReason", entry.resumeBlockedReason),
|
|
5161
5225
|
...optionalField("stats", entry.stats),
|
|
@@ -5240,6 +5304,21 @@ __name(runWithAcpRuntimeOutputDir, "runWithAcpRuntimeOutputDir");
|
|
|
5240
5304
|
var debugLogger6 = createDebugLogger("ACP_AGENT");
|
|
5241
5305
|
var BTW_CHILD_TIMEOUT_MS = 55e3;
|
|
5242
5306
|
var WORKSPACE_MEMORY_REMEMBER_CHILD_TIMEOUT_MS = 295e3;
|
|
5307
|
+
function createHiddenWorkspaceMemoryConfig(config) {
|
|
5308
|
+
return new Proxy(config, {
|
|
5309
|
+
get(target, prop) {
|
|
5310
|
+
if (prop === "getChatRecordingService") {
|
|
5311
|
+
return () => void 0;
|
|
5312
|
+
}
|
|
5313
|
+
if (prop === "getTranscriptPath") {
|
|
5314
|
+
return () => "";
|
|
5315
|
+
}
|
|
5316
|
+
const value = Reflect.get(target, prop, target);
|
|
5317
|
+
return typeof value === "function" ? value.bind(target) : value;
|
|
5318
|
+
}
|
|
5319
|
+
});
|
|
5320
|
+
}
|
|
5321
|
+
__name(createHiddenWorkspaceMemoryConfig, "createHiddenWorkspaceMemoryConfig");
|
|
5243
5322
|
function collapseForkDirective(directive, maxLength) {
|
|
5244
5323
|
const oneLine = directive.replace(/\s+/g, " ").trim();
|
|
5245
5324
|
return oneLine.length > maxLength ? `${oneLine.slice(0, maxLength - 3)}\u2026` : oneLine;
|
|
@@ -6661,18 +6740,30 @@ async function runAcpAgent(config, settings, argv) {
|
|
|
6661
6740
|
// client-hosted MCP server (#5626) round-trips over the parent WS.
|
|
6662
6741
|
sendSdkMcpMessage: bootstrapClientMcpSender
|
|
6663
6742
|
});
|
|
6664
|
-
const
|
|
6665
|
-
|
|
6666
|
-
|
|
6667
|
-
|
|
6668
|
-
|
|
6669
|
-
const stream = ndJsonStream(stdout, stdin);
|
|
6743
|
+
const eventLoopMonitor = startEventLoopLagMonitor({
|
|
6744
|
+
onNewMaxStall: /* @__PURE__ */ __name((maxMs) => {
|
|
6745
|
+
console.error(`[perf] acp agent event loop stall: max=${maxMs}ms`);
|
|
6746
|
+
}, "onNewMaxStall")
|
|
6747
|
+
});
|
|
6670
6748
|
let agentInstance;
|
|
6671
|
-
|
|
6672
|
-
|
|
6673
|
-
|
|
6674
|
-
|
|
6675
|
-
|
|
6749
|
+
let connection;
|
|
6750
|
+
try {
|
|
6751
|
+
const stdout = Writable.toWeb(process.stdout);
|
|
6752
|
+
const stdin = Readable.toWeb(process.stdin);
|
|
6753
|
+
console.log = console.error;
|
|
6754
|
+
console.info = console.error;
|
|
6755
|
+
console.debug = console.error;
|
|
6756
|
+
const stream = ndJsonStream(stdout, stdin);
|
|
6757
|
+
connection = new AgentSideConnection((conn) => {
|
|
6758
|
+
acpConnection = conn;
|
|
6759
|
+
agentInstance = new QwenAgent(config, settings, argv, conn);
|
|
6760
|
+
return agentInstance;
|
|
6761
|
+
}, stream);
|
|
6762
|
+
} catch (err) {
|
|
6763
|
+
eventLoopMonitor.dispose();
|
|
6764
|
+
throw err;
|
|
6765
|
+
}
|
|
6766
|
+
registerAcpEventLoopLagGauge(() => eventLoopMonitor.snapshot());
|
|
6676
6767
|
const drainPoolBeforeExit = /* @__PURE__ */ __name(async (label) => {
|
|
6677
6768
|
if (!agentInstance) return;
|
|
6678
6769
|
try {
|
|
@@ -6715,17 +6806,23 @@ async function runAcpAgent(config, settings, argv) {
|
|
|
6715
6806
|
if (shuttingDown) return;
|
|
6716
6807
|
shuttingDown = true;
|
|
6717
6808
|
debugLogger6.debug("[ACP] Shutdown signal received, closing streams");
|
|
6718
|
-
await fireSessionEndOnce("other" /* Other */);
|
|
6719
|
-
agentInstance?.disposeSessions();
|
|
6720
6809
|
try {
|
|
6721
|
-
|
|
6722
|
-
|
|
6723
|
-
|
|
6724
|
-
|
|
6725
|
-
|
|
6726
|
-
|
|
6810
|
+
await fireSessionEndOnce("other" /* Other */);
|
|
6811
|
+
agentInstance?.disposeSessions();
|
|
6812
|
+
try {
|
|
6813
|
+
process.stdin.destroy();
|
|
6814
|
+
} catch {
|
|
6815
|
+
}
|
|
6816
|
+
try {
|
|
6817
|
+
process.stdout.destroy();
|
|
6818
|
+
} catch {
|
|
6819
|
+
}
|
|
6820
|
+
await drainPoolBeforeExit("signal");
|
|
6821
|
+
} catch (err) {
|
|
6822
|
+
debugLogger6.error("[ACP] Shutdown error:", err);
|
|
6823
|
+
} finally {
|
|
6824
|
+
eventLoopMonitor.dispose();
|
|
6727
6825
|
}
|
|
6728
|
-
await drainPoolBeforeExit("signal");
|
|
6729
6826
|
runExitCleanup().catch((err) => {
|
|
6730
6827
|
debugLogger6.error("[ACP] Cleanup error:", err);
|
|
6731
6828
|
}).finally(() => {
|
|
@@ -6734,12 +6831,16 @@ async function runAcpAgent(config, settings, argv) {
|
|
|
6734
6831
|
}, "shutdownHandler");
|
|
6735
6832
|
process.on("SIGTERM", shutdownHandler);
|
|
6736
6833
|
process.on("SIGINT", shutdownHandler);
|
|
6737
|
-
|
|
6738
|
-
|
|
6739
|
-
|
|
6740
|
-
|
|
6741
|
-
|
|
6742
|
-
|
|
6834
|
+
try {
|
|
6835
|
+
await connection.closed;
|
|
6836
|
+
await fireSessionEndOnce("prompt_input_exit" /* PromptInputExit */);
|
|
6837
|
+
await drainPoolBeforeExit("ide_close");
|
|
6838
|
+
agentInstance?.disposeSessions();
|
|
6839
|
+
} finally {
|
|
6840
|
+
process.off("SIGTERM", shutdownHandler);
|
|
6841
|
+
process.off("SIGINT", shutdownHandler);
|
|
6842
|
+
eventLoopMonitor.dispose();
|
|
6843
|
+
}
|
|
6743
6844
|
}
|
|
6744
6845
|
__name(runAcpAgent, "runAcpAgent");
|
|
6745
6846
|
function toStdioServer(server) {
|
|
@@ -7005,7 +7106,7 @@ var QwenAgent = class {
|
|
|
7005
7106
|
async initialize(args) {
|
|
7006
7107
|
this.clientCapabilities = args.clientCapabilities;
|
|
7007
7108
|
const authMethods = buildAuthMethods();
|
|
7008
|
-
const version = "0.19.
|
|
7109
|
+
const version = "0.19.6-nightly.20260704.5dc2e1501";
|
|
7009
7110
|
return {
|
|
7010
7111
|
protocolVersion: PROTOCOL_VERSION,
|
|
7011
7112
|
agentInfo: {
|
|
@@ -7878,12 +7979,13 @@ var QwenAgent = class {
|
|
|
7878
7979
|
};
|
|
7879
7980
|
}
|
|
7880
7981
|
try {
|
|
7982
|
+
const disabled = config.getDisabledSkillNames();
|
|
7881
7983
|
const skills = await skillManager.listSkills();
|
|
7882
7984
|
return {
|
|
7883
7985
|
v: STATUS_SCHEMA_VERSION,
|
|
7884
7986
|
workspaceCwd: this.workspaceCwd(config),
|
|
7885
7987
|
initialized: true,
|
|
7886
|
-
skills: skills.map(mapSkillConfigToStatus)
|
|
7988
|
+
skills: skills.map((skill) => mapSkillConfigToStatus(skill, disabled))
|
|
7887
7989
|
};
|
|
7888
7990
|
} catch (error) {
|
|
7889
7991
|
return {
|
|
@@ -9193,6 +9295,119 @@ var QwenAgent = class {
|
|
|
9193
9295
|
);
|
|
9194
9296
|
}
|
|
9195
9297
|
}
|
|
9298
|
+
case SERVE_CONTROL_EXT_METHODS.workspaceMemoryForget: {
|
|
9299
|
+
const query = params["query"];
|
|
9300
|
+
if (typeof query !== "string" || !query.trim()) {
|
|
9301
|
+
throw RequestError.invalidParams(
|
|
9302
|
+
void 0,
|
|
9303
|
+
"Invalid or missing query"
|
|
9304
|
+
);
|
|
9305
|
+
}
|
|
9306
|
+
const trimmedQuery = query.trim();
|
|
9307
|
+
if (Buffer.byteLength(trimmedQuery, "utf8") > MAX_REMEMBER_CONTENT_BYTES) {
|
|
9308
|
+
throw RequestError.invalidParams(
|
|
9309
|
+
void 0,
|
|
9310
|
+
"Query exceeds maximum size"
|
|
9311
|
+
);
|
|
9312
|
+
}
|
|
9313
|
+
if (!this.config.isManagedMemoryAvailable()) {
|
|
9314
|
+
throw new RequestError(
|
|
9315
|
+
-32009,
|
|
9316
|
+
"Managed memory is unavailable for this daemon workspace",
|
|
9317
|
+
{ errorKind: "managed_memory_unavailable" }
|
|
9318
|
+
);
|
|
9319
|
+
}
|
|
9320
|
+
const childSignal = AbortSignal.timeout(
|
|
9321
|
+
WORKSPACE_MEMORY_REMEMBER_CHILD_TIMEOUT_MS
|
|
9322
|
+
);
|
|
9323
|
+
try {
|
|
9324
|
+
const projectRoot = this.config.getProjectRoot();
|
|
9325
|
+
const hiddenConfig = createHiddenWorkspaceMemoryConfig(this.config);
|
|
9326
|
+
const result = await this.config.getMemoryManager().forget(projectRoot, trimmedQuery, {
|
|
9327
|
+
config: hiddenConfig,
|
|
9328
|
+
abortSignal: childSignal
|
|
9329
|
+
});
|
|
9330
|
+
return {
|
|
9331
|
+
summary: result.systemMessage ?? formatWorkspaceMemoryForgetSummary(result.removedEntries.length),
|
|
9332
|
+
removedEntries: result.removedEntries,
|
|
9333
|
+
touchedTopics: result.touchedTopics
|
|
9334
|
+
};
|
|
9335
|
+
} catch (err) {
|
|
9336
|
+
if (err instanceof RequestError) {
|
|
9337
|
+
throw err;
|
|
9338
|
+
}
|
|
9339
|
+
if (childSignal.aborted) {
|
|
9340
|
+
throw new RequestError(
|
|
9341
|
+
-32099,
|
|
9342
|
+
"Workspace memory forget timed out",
|
|
9343
|
+
{
|
|
9344
|
+
errorKind: "forget_timeout"
|
|
9345
|
+
}
|
|
9346
|
+
);
|
|
9347
|
+
}
|
|
9348
|
+
const code = extractRememberErrorCode(err, "forget_failed");
|
|
9349
|
+
if (code === "managed_memory_unavailable") {
|
|
9350
|
+
throw new RequestError(
|
|
9351
|
+
-32009,
|
|
9352
|
+
"Managed memory is unavailable for this daemon workspace",
|
|
9353
|
+
{ errorKind: "managed_memory_unavailable" }
|
|
9354
|
+
);
|
|
9355
|
+
}
|
|
9356
|
+
throw new RequestError(-32099, "Workspace memory forget failed", {
|
|
9357
|
+
errorKind: code
|
|
9358
|
+
});
|
|
9359
|
+
}
|
|
9360
|
+
}
|
|
9361
|
+
case SERVE_CONTROL_EXT_METHODS.workspaceMemoryDream: {
|
|
9362
|
+
if (!this.config.isManagedMemoryAvailable()) {
|
|
9363
|
+
throw new RequestError(
|
|
9364
|
+
-32009,
|
|
9365
|
+
"Managed memory is unavailable for this daemon workspace",
|
|
9366
|
+
{ errorKind: "managed_memory_unavailable" }
|
|
9367
|
+
);
|
|
9368
|
+
}
|
|
9369
|
+
const childSignal = AbortSignal.timeout(
|
|
9370
|
+
WORKSPACE_MEMORY_REMEMBER_CHILD_TIMEOUT_MS
|
|
9371
|
+
);
|
|
9372
|
+
try {
|
|
9373
|
+
const result = await runManagedAutoMemoryDream(
|
|
9374
|
+
this.config.getProjectRoot(),
|
|
9375
|
+
/* @__PURE__ */ new Date(),
|
|
9376
|
+
createHiddenWorkspaceMemoryConfig(this.config),
|
|
9377
|
+
childSignal,
|
|
9378
|
+
{
|
|
9379
|
+
trigger: "manual",
|
|
9380
|
+
recordMetadata: true,
|
|
9381
|
+
suppressChatRecording: true
|
|
9382
|
+
}
|
|
9383
|
+
);
|
|
9384
|
+
return {
|
|
9385
|
+
summary: result.systemMessage,
|
|
9386
|
+
touchedTopics: result.touchedTopics,
|
|
9387
|
+
dedupedEntries: result.dedupedEntries
|
|
9388
|
+
};
|
|
9389
|
+
} catch (err) {
|
|
9390
|
+
if (err instanceof RequestError) {
|
|
9391
|
+
throw err;
|
|
9392
|
+
}
|
|
9393
|
+
if (childSignal.aborted) {
|
|
9394
|
+
throw new RequestError(-32099, "Workspace memory dream timed out", {
|
|
9395
|
+
errorKind: "dream_timeout"
|
|
9396
|
+
});
|
|
9397
|
+
}
|
|
9398
|
+
const code = extractRememberErrorCode(err, "dream_failed");
|
|
9399
|
+
if (code === "managed_memory_unavailable") {
|
|
9400
|
+
throw new RequestError(
|
|
9401
|
+
-32009,
|
|
9402
|
+
"Managed memory is unavailable for this daemon workspace",
|
|
9403
|
+
{ errorKind: "managed_memory_unavailable" }
|
|
9404
|
+
);
|
|
9405
|
+
}
|
|
9406
|
+
throw new RequestError(-32099, "Workspace memory dream failed", {
|
|
9407
|
+
errorKind: code
|
|
9408
|
+
});
|
|
9409
|
+
}
|
|
9410
|
+
}
|
|
9196
9411
|
case SERVE_CONTROL_EXT_METHODS.workspaceMcpRestart: {
|
|
9197
9412
|
const serverName = params["serverName"];
|
|
9198
9413
|
if (typeof serverName !== "string" || serverName.length === 0) {
|