@qwen-code/qwen-code 0.19.7 → 0.19.8-nightly.20260710.205430235
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/SKILL.md +1 -0
- package/bundled/qc-helper/docs/configuration/auth.md +40 -55
- package/bundled/qc-helper/docs/configuration/model-providers.md +224 -218
- package/bundled/qc-helper/docs/configuration/settings.md +43 -36
- package/bundled/qc-helper/docs/features/_meta.ts +1 -0
- package/bundled/qc-helper/docs/features/channels/overview.md +20 -12
- package/bundled/qc-helper/docs/features/channels/plugins.md +1 -0
- package/bundled/qc-helper/docs/features/code-review.md +2 -1
- package/bundled/qc-helper/docs/features/commands.md +39 -38
- package/bundled/qc-helper/docs/features/computer-use.md +77 -0
- package/bundled/qc-helper/docs/features/hooks.md +36 -34
- package/bundled/qc-helper/docs/features/memory.md +1 -1
- package/bundled/qc-helper/docs/features/tool-use-summaries.md +19 -23
- package/bundled/qc-helper/docs/qwen-serve.md +22 -12
- package/bundled/qc-helper/docs/reference/keyboard-shortcuts.md +1 -1
- package/bundled/review/DESIGN.md +14 -13
- package/bundled/review/SKILL.md +38 -61
- package/chunks/{MaxSizedBox-XY5LIO5O.js → MaxSizedBox-LOFYQFYJ.js} +13 -14
- package/chunks/{StandaloneSessionPicker-APISIRJZ.js → StandaloneSessionPicker-U5OQBGEB.js} +31 -29
- package/chunks/{acpAgent-MMOSC2YA.js → acpAgent-SDIFRIED.js} +637 -131
- package/chunks/{agent-TKIBLLQT.js → agent-JIBBVHNQ.js} +10 -10
- package/chunks/{agent-headless-VLX4C7KX.js → agent-headless-6LGZYJYU.js} +10 -10
- package/chunks/{anthropicContentGenerator-AKYPSZIV.js → anthropicContentGenerator-55REPTTF.js} +30 -3
- package/chunks/{artifact-tool-D233YJFH.js → artifact-tool-EIN46DPM.js} +1 -1
- package/chunks/{askUserQuestion-MKL5ZTMC.js → askUserQuestion-6YX6ZRX7.js} +1 -1
- package/chunks/{bridge-BCU73DZO.js → bridge-HVPFYNM4.js} +17 -16
- package/chunks/{ca-HCMB2I54.js → ca-MULEGDVS.js} +89 -5
- package/chunks/{channel-worker-supervisor-CRCVYQIE.js → channel-worker-supervisor-OPXXT4JK.js} +20 -3
- package/chunks/{chunk-DGHJTO2K.js → chunk-2AF26HVM.js} +31 -2
- package/chunks/{chunk-3B26UVCX.js → chunk-2GUVUHJY.js} +6 -4
- package/chunks/{chunk-FV7425LN.js → chunk-2SZOMGOR.js} +4 -1
- package/chunks/{chunk-CNSF3WO5.js → chunk-32KS5XSX.js} +3 -3
- package/chunks/{chunk-4UCTWSTP.js → chunk-34UUM3IN.js} +1 -1
- package/chunks/{chunk-G7ZG7CA6.js → chunk-3UP777ZS.js} +8 -7
- package/chunks/{chunk-MIG5SQNL.js → chunk-4CSVIZLT.js} +4 -4
- package/chunks/{chunk-GD236YPV.js → chunk-4ONWIT5C.js} +1 -1
- package/chunks/{chunk-4ZJIPVPB.js → chunk-4XK7TNBP.js} +8 -8
- package/chunks/{chunk-I4A4K72C.js → chunk-5F2H3PXG.js} +446 -232
- package/chunks/chunk-5HOF2K5U.js +19 -0
- package/chunks/{chunk-GMOWQOQQ.js → chunk-5ZVIYNLN.js} +228 -36
- package/chunks/chunk-6O6Z2I5Q.js +292 -0
- package/chunks/{chunk-RYFZCUJO.js → chunk-6QKT5VNZ.js} +14 -6
- package/chunks/{chunk-SD4N3QJ2.js → chunk-6ZPSVWLF.js} +61 -17
- package/chunks/{chunk-X265R5C6.js → chunk-7YGSDQ5J.js} +2 -2
- package/chunks/{chunk-PRDFOIZF.js → chunk-A6KEUFJO.js} +32 -5
- package/chunks/{chunk-OWVIH4HY.js → chunk-B5OAMPJ5.js} +389 -87
- package/chunks/{chunk-ME3YSROJ.js → chunk-CV2AT2WJ.js} +22 -10
- package/chunks/{chunk-U4FRHCLA.js → chunk-DDKUYKHA.js} +1912 -201
- package/chunks/{chunk-YDSYD7UI.js → chunk-E3SA2LY4.js} +2 -2
- package/chunks/{chunk-6IAWPIQ6.js → chunk-EDM5O3SX.js} +2 -2
- package/chunks/{chunk-CISB3IQF.js → chunk-FONJQQWI.js} +65 -6
- package/chunks/{chunk-FRFFNYUY.js → chunk-G3WIMNL4.js} +3 -3
- package/chunks/{chunk-B34OV7K2.js → chunk-GGQQA4JW.js} +13 -0
- package/chunks/chunk-GLE2YUPU.js +34 -0
- package/chunks/{chunk-MJI36HER.js → chunk-GOTMC3BX.js} +1 -1
- package/chunks/{chunk-RFIL6REB.js → chunk-GRB4QSBD.js} +168 -31
- package/chunks/chunk-GVVY7GSP.js +38 -0
- package/chunks/{chunk-7JGISHHZ.js → chunk-HDEUQRAR.js} +14 -156
- package/chunks/{chunk-NZEGNV4V.js → chunk-HPRI22FZ.js} +6 -6
- package/chunks/{chunk-STAZRKOT.js → chunk-I34IHZFJ.js} +117 -459
- package/chunks/{chunk-JF7DFPQ5.js → chunk-I3MBKL6Z.js} +12 -2
- package/chunks/{chunk-DNV4FSN5.js → chunk-I5XN6KDI.js} +21 -4
- package/chunks/{chunk-VZ7HY3YU.js → chunk-IAMRWMFU.js} +1 -1
- package/chunks/{chunk-44NROQYV.js → chunk-JOQMY62N.js} +1 -1
- package/chunks/{chunk-VQWAZSXN.js → chunk-JW4IKIZ2.js} +57 -35
- package/chunks/{chunk-SAIILPQ3.js → chunk-KJMYXFUR.js} +3 -1
- package/chunks/{chunk-AFOLR6YL.js → chunk-KQ6MKCFE.js} +102 -16
- package/chunks/{chunk-X3YGAX7V.js → chunk-KS2FRTYI.js} +2 -0
- package/chunks/{chunk-IUE7YWC3.js → chunk-LE7EF36E.js} +7 -7
- package/chunks/{chunk-B4U2M63D.js → chunk-LRY7HD3Q.js} +2101 -11
- package/chunks/{chunk-PUQLHSQ2.js → chunk-ME7E6WZB.js} +6 -8
- package/chunks/{chunk-LEIJKM7Q.js → chunk-MEK7ZRJ3.js} +1 -1
- package/chunks/{chunk-AJBEAUIS.js → chunk-MG2TNCRX.js} +4 -3
- package/chunks/{chunk-GL5TV7B5.js → chunk-MSMQURDV.js} +21 -5
- package/chunks/{chunk-6BN7NZ5Z.js → chunk-NXDJLKKX.js} +4 -6
- package/chunks/{chunk-FEJ2FZ3U.js → chunk-NY2ZOFMM.js} +1 -1
- package/chunks/{chunk-QZF5U5KA.js → chunk-NY5BE643.js} +8 -8
- package/chunks/{chunk-4RQIB5UZ.js → chunk-O2YT7VB4.js} +0 -34
- package/chunks/{chunk-4KJ2BPIT.js → chunk-OACJLMLD.js} +2 -38
- package/chunks/chunk-PCWSPWXZ.js +168 -0
- package/chunks/{chunk-XPJH4PKR.js → chunk-PJ74K3DH.js} +1 -1
- package/chunks/{chunk-FTFXDZYI.js → chunk-PW7VWRLX.js} +45 -29
- package/chunks/chunk-R3SLDK6Y.js +468 -0
- package/chunks/{chunk-4O344UEE.js → chunk-SDJOZOYY.js} +38 -18
- package/chunks/{chunk-ALZ75L2X.js → chunk-SMYIBRAA.js} +412 -376
- package/chunks/{chunk-CCGOFQV3.js → chunk-SS5P6JM6.js} +6 -5
- package/chunks/{chunk-AIY5UTFI.js → chunk-T3XHYGMG.js} +925 -2872
- package/chunks/{chunk-Q6OEPOOC.js → chunk-TB6GWNV4.js} +1 -1
- package/chunks/{chunk-24XYI5EI.js → chunk-TERKDCOZ.js} +3 -3
- package/chunks/chunk-TVO5C767.js +159 -0
- package/chunks/{chunk-TBAZMRW3.js → chunk-TVW53EK7.js} +1 -1
- package/chunks/chunk-TX5QZYK6.js +296 -0
- package/chunks/{chunk-JD33UY7E.js → chunk-TZRVTPJ6.js} +15 -9
- package/chunks/{chunk-65CFHNSE.js → chunk-UAFB2DNB.js} +59 -59
- package/chunks/{chunk-QAKFYMJI.js → chunk-UOXLB2LY.js} +152 -17
- package/chunks/chunk-V35MD7KN.js +13 -0
- package/chunks/{chunk-XSAFNANZ.js → chunk-VWDJHVXM.js} +12 -12
- package/chunks/{chunk-XISQIIT7.js → chunk-W77ZLCSX.js} +1 -1
- package/chunks/{chunk-BWVQN2HV.js → chunk-WTEIUA2V.js} +4 -4
- package/chunks/{chunk-TDGF35EN.js → chunk-XOHNA2S6.js} +1 -1
- package/chunks/{chunk-HJ3GX3Y3.js → chunk-XZVUZSDG.js} +25 -11
- package/chunks/{chunk-ADZG46HR.js → chunk-YHGCTQG3.js} +1 -1
- package/chunks/{chunk-2NPS2UDH.js → chunk-YUNPEB3Q.js} +478 -43
- package/chunks/chunk-Z3I3QJK3.js +47 -0
- package/chunks/{chunk-P7I3D7FM.js → chunk-Z466FBSA.js} +1 -1
- package/chunks/{chunk-YEGT55NW.js → chunk-ZDAZSR2O.js} +3009 -1220
- package/chunks/{chunk-VEB3NYSO.js → chunk-ZJQBTFJ6.js} +6 -1
- package/chunks/chunk-ZL5HN75Q.js +61 -0
- package/chunks/{computer-use-X4KUU3NM.js → computer-use-IW5XBECT.js} +10 -10
- package/chunks/{contextCommand-LAYJZF7H.js → contextCommand-4QPLK2SH.js} +14 -14
- package/chunks/create-sub-session-7JK3EYWA.js +212 -0
- package/chunks/create-sub-session-EVYZYAE3.js +364 -0
- package/chunks/{cron-create-JSXEIPVS.js → cron-create-2CCO2PW6.js} +2 -2
- package/chunks/{cron-delete-OIFVEPGU.js → cron-delete-ETVTP5IV.js} +2 -2
- package/chunks/{cron-list-D4ZX4IOE.js → cron-list-FS3KWOY5.js} +2 -2
- package/chunks/{daemon-F3I2RXP6.js → daemon-NNUYIBWA.js} +461 -0
- package/chunks/{daemon-status-provider-XSAFKVDS.js → daemon-status-provider-3EPG6BXX.js} +21 -19
- package/chunks/{de-PLLFDERI.js → de-QRG6J2CM.js} +89 -5
- package/chunks/{dist-YTRKAVUB.js → dist-3EIIFOJV.js} +1 -1
- package/chunks/{dist-PKFTNUHO.js → dist-7F5GWZDZ.js} +2 -1
- package/chunks/{dist-FQ5WRJPL.js → dist-CBJ7OJ5R.js} +2 -2
- package/chunks/{dist-OT7G2WNM.js → dist-LIFJ2YAI.js} +1 -1
- package/chunks/{dist-573HNSVO.js → dist-OKXOQ63L.js} +2 -1
- package/chunks/{dist-IMFFBMAT.js → dist-SU5LY5R4.js} +3 -1
- package/chunks/{earlyInputCapture-AERYYGXE.js → earlyInputCapture-HP5XAS7A.js} +10 -10
- package/chunks/{edit-WZTZDGCI.js → edit-MDICC6KH.js} +11 -11
- package/chunks/{en-GA2RMXY5.js → en-HF3KFWZG.js} +91 -5
- package/chunks/{enter-worktree-DEPXBJEL.js → enter-worktree-JWTRNEN4.js} +10 -10
- package/chunks/{enterPlanMode-JFGXZHHJ.js → enterPlanMode-GMRZMTBQ.js} +10 -10
- package/chunks/environment-2CJAFOFN.js +88 -0
- package/chunks/{errors-GMZL4QV7.js → errors-UZOVFD2U.js} +13 -13
- package/chunks/{exit-worktree-Y7XBK3VV.js → exit-worktree-QQGEG343.js} +10 -10
- package/chunks/{exitPlanMode-WQQER65F.js → exitPlanMode-YK2JVAAB.js} +10 -10
- package/chunks/{fast-path-W2U6XDNO.js → fast-path-6SD4JNQW.js} +12 -3
- package/chunks/{fast-path-settings-RCRXH2JG.js → fast-path-settings-RAQGCIT7.js} +3 -2
- package/chunks/{fr-GWNQG4XH.js → fr-RSCO6HHD.js} +89 -5
- package/chunks/{gemini-T4WX6SRW.js → gemini-TFQXPUZB.js} +436 -140
- package/chunks/{geminiContentGenerator-MKQACXEJ.js → geminiContentGenerator-LJ2BNXHX.js} +1 -1
- package/chunks/{glob-4KKSHZDF.js → glob-3IJ6JR5W.js} +10 -10
- package/chunks/{grep-GHRYXSLZ.js → grep-UFZ2RFQZ.js} +10 -10
- package/chunks/{handleAutoUpdate-HN7ZOSXY.js → handleAutoUpdate-TEZC5ZIR.js} +17 -13
- package/chunks/i18n-5QEODTJV.js +84 -0
- package/chunks/{initializer-SRN3IM42.js → initializer-222MPCLQ.js} +18 -16
- package/chunks/installationInfo-OZ62OHZ2.js +65 -0
- package/chunks/{ja-2HOTA47X.js → ja-RRFGG2DC.js} +89 -5
- package/chunks/{list-INTVXUPA.js → list-BN5VBIIE.js} +20 -18
- package/chunks/{loadedSettingsAdapter-QVHHQPGM.js → loadedSettingsAdapter-EHTUJRFB.js} +18 -16
- package/chunks/{loop-wakeup-OHWEMFP5.js → loop-wakeup-SR2KWT4B.js} +3 -3
- package/chunks/{ls-L654WOAT.js → ls-RUBQK5Q2.js} +2 -2
- package/chunks/{lsp-M35KE54Y.js → lsp-DUTVY2ZA.js} +3 -5
- package/chunks/{mcp-7V4T46RG.js → mcp-OPGHD26Y.js} +18 -16
- package/chunks/{monitor-464OY2UE.js → monitor-WXBDVYYV.js} +10 -10
- package/chunks/{nonInteractiveCli-LJEEODU2.js → nonInteractiveCli-CWIBGJ4U.js} +54 -49
- package/chunks/{notebook-edit-BLJYCNDO.js → notebook-edit-T7P7M73F.js} +11 -11
- package/chunks/{openaiContentGenerator-PFF6HYB2.js → openaiContentGenerator-OES264C3.js} +7 -7
- package/chunks/{pidfile-LIBUENIV.js → pidfile-LJ3NLS2P.js} +10 -10
- package/chunks/{pt-2THT3YHA.js → pt-D4CG46JM.js} +89 -5
- package/chunks/{qwenContentGenerator-SUUHZ6CR.js → qwenContentGenerator-QJ67LAJ5.js} +12 -12
- package/chunks/{read-file-L7TBQVX7.js → read-file-KZD7TLU7.js} +5 -5
- package/chunks/{read-mcp-resource-CNQHBSJM.js → read-mcp-resource-Q56IMYOH.js} +1 -1
- package/chunks/{record-artifact-PP3LKHTS.js → record-artifact-GZ5D5HZX.js} +4 -4
- package/chunks/{ripGrep-CKKX3GRB.js → ripGrep-KUJLX75U.js} +10 -10
- package/chunks/{ru-Z67YJHBG.js → ru-O2QUEL22.js} +89 -5
- package/chunks/{run-qwen-serve-5OKADVLE.js → run-qwen-serve-M52KVRGI.js} +664 -153
- package/chunks/{scheduler-ZRW3AIDU.js → scheduler-FFATTAYZ.js} +10 -10
- package/chunks/{send-message-OA6MV4EU.js → send-message-HAGK3VTV.js} +2 -2
- package/chunks/{serve-36WS32W6.js → serve-B5S32524.js} +21 -18
- package/chunks/{server-M372UENX.js → server-6HK5FJMR.js} +3301 -665
- package/chunks/{session-F5KSNP2N.js → session-3WB76VTQ.js} +55 -50
- package/chunks/{settings-WFLNS3WT.js → settings-W3IX7NHK.js} +27 -23
- package/chunks/{shell-DEDSWN56.js → shell-HZIU2ZG7.js} +10 -10
- package/chunks/{skill-A2TL2NPC.js → skill-34OUFB65.js} +5 -5
- package/chunks/{spawnChannel-RQHUWTCL.js → spawnChannel-FTZJ3I5O.js} +12 -12
- package/chunks/{src-XKZMNHXS.js → src-NELBIIGI.js} +48 -10
- package/chunks/standalone-update-LICI2VSK.js +79 -0
- package/chunks/{startInteractiveUI-REKSTOHU.js → startInteractiveUI-LZEV5YI2.js} +2203 -1764
- package/chunks/stdioHelpers-CA7MG65Z.js +14 -0
- package/chunks/{syntheticOutput-F7LSDCAR.js → syntheticOutput-XFFJVCGV.js} +2 -2
- package/chunks/{task-create-RPFZNB4B.js → task-create-VINUSVBF.js} +3 -3
- package/chunks/{task-list-TGGJX7EA.js → task-list-YZ2AWQEG.js} +1 -1
- package/chunks/{task-stop-W7NGTMYQ.js → task-stop-PEXPKUW3.js} +1 -1
- package/chunks/{task-update-5WUG5MVQ.js → task-update-BHIX57YH.js} +3 -3
- package/chunks/{team-create-TBQVWAG7.js → team-create-2JS2OYSF.js} +10 -10
- package/chunks/{team-delete-UHQQ2QQX.js → team-delete-2OHXSBVS.js} +1 -1
- package/chunks/{team-plan-approval-FZPGUSHJ.js → team-plan-approval-PHLGYUY7.js} +10 -10
- package/chunks/{theme-manager-DQZVNSOC.js → theme-manager-UYXLX37P.js} +10 -10
- package/chunks/{todoWrite-C4ZAMSR3.js → todoWrite-7Q4ELT4F.js} +1 -1
- package/chunks/{tool-search-FDQ3SLNJ.js → tool-search-2MWA3GWE.js} +6 -6
- package/chunks/total-session-admission-PRZK35X4.js +72 -0
- package/chunks/{trustedFolders-Z475EIHL.js → trustedFolders-IT4JBNPG.js} +12 -12
- package/chunks/{updateCheck-E2ZX7RL7.js → updateCheck-X3ZWDO3Z.js} +17 -13
- package/chunks/updateEventEmitter-NXWTRHXY.js +10 -0
- package/chunks/{validateNonInterActiveAuth-O4ECBHQL.js → validateNonInterActiveAuth-IAOL7CM3.js} +51 -45
- package/chunks/{version-CEDD6ZZR.js → version-25QF6A5H.js} +1 -1
- package/chunks/{web-fetch-UYGMOHW4.js → web-fetch-I7FOWHGA.js} +2 -2
- package/chunks/{workflow-CQQ4J4I6.js → workflow-LZZ5U3IT.js} +11 -11
- package/chunks/{workspace-providers-status-MVYXMYDG.js → workspace-providers-status-7DTOAWEL.js} +21 -18
- package/chunks/workspace-registry-BBIPESIZ.js +76 -0
- package/chunks/{workspace-service-OMBR6ZLG.js → workspace-service-SY3P3FUY.js} +25 -23
- package/chunks/{workspace-skills-status-IMMQ7CAY.js → workspace-skills-status-GTT2A4WN.js} +20 -18
- package/chunks/{write-file-VWGY7AJP.js → write-file-M6IHNW3V.js} +11 -11
- package/chunks/{zh-7XVVRTDH.js → zh-K2EH6BDD.js} +91 -5
- package/chunks/{zh-TW-DPH554OG.js → zh-TW-4GPXJ7ZY.js} +91 -5
- package/cli.js +13 -12
- package/locales/ca.js +115 -7
- package/locales/de.js +114 -7
- package/locales/en.js +118 -7
- package/locales/fr.js +115 -7
- package/locales/ja.js +116 -6
- package/locales/pt.js +114 -7
- package/locales/ru.js +114 -7
- package/locales/zh-TW.js +114 -6
- package/locales/zh.js +114 -6
- package/package.json +3 -6
- package/web-shell/assets/{arc-C7hjaa7g.js → arc-G3HZaqaL.js} +1 -1
- package/web-shell/assets/{architectureDiagram-3BPJPVTR-pm9KtMZY.js → architectureDiagram-3BPJPVTR-DhBrwwch.js} +1 -1
- package/web-shell/assets/{blockDiagram-GPEHLZMM-CApElKsU.js → blockDiagram-GPEHLZMM-16JbbF0N.js} +1 -1
- package/web-shell/assets/{c4Diagram-AAUBKEIU-BeDe0-9N.js → c4Diagram-AAUBKEIU-DQ3-pKgc.js} +1 -1
- package/web-shell/assets/channel-CX7ZHuuL.js +1 -0
- package/web-shell/assets/{chunk-2J33WTMH-DJEkmLdl.js → chunk-2J33WTMH-ERCn30sp.js} +1 -1
- package/web-shell/assets/{chunk-4BX2VUAB-DXX8gdpe.js → chunk-4BX2VUAB-DTysfbFi.js} +1 -1
- package/web-shell/assets/{chunk-55IACEB6-DORmk1kQ.js → chunk-55IACEB6-BFGrbTBi.js} +1 -1
- package/web-shell/assets/{chunk-727SXJPM-DWmO4mCZ.js → chunk-727SXJPM-DCX4Oar-.js} +1 -1
- package/web-shell/assets/{chunk-AQP2D5EJ-C7LRaYw2.js → chunk-AQP2D5EJ-CgT6sBr3.js} +1 -1
- package/web-shell/assets/{chunk-FMBD7UC4-CCdXgyC5.js → chunk-FMBD7UC4-C1Uuk1KV.js} +1 -1
- package/web-shell/assets/{chunk-ND2GUHAM-SyL_xvWc.js → chunk-ND2GUHAM-DajgESiu.js} +1 -1
- package/web-shell/assets/{chunk-QZHKN3VN-BzOuCKxa.js → chunk-QZHKN3VN-DLJSvy9X.js} +1 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-B-oT3UI8.js +1 -0
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-B-oT3UI8.js +1 -0
- package/web-shell/assets/{cose-bilkent-S5V4N54A-BMPWyDKc.js → cose-bilkent-S5V4N54A-CH3w3qs7.js} +1 -1
- package/web-shell/assets/{dagre-BM42HDAG-B_GnPWik.js → dagre-BM42HDAG-BloXan9B.js} +1 -1
- package/web-shell/assets/{diagram-2AECGRRQ-fJqMc3S_.js → diagram-2AECGRRQ-BbZiGcmK.js} +1 -1
- package/web-shell/assets/{diagram-5GNKFQAL-ximV3O9D.js → diagram-5GNKFQAL-GQlYvLJv.js} +1 -1
- package/web-shell/assets/{diagram-KO2AKTUF-2vVyjzqw.js → diagram-KO2AKTUF-CtIBvVq3.js} +1 -1
- package/web-shell/assets/{diagram-LMA3HP47-Dckcx1sT.js → diagram-LMA3HP47-D5TBo9a2.js} +1 -1
- package/web-shell/assets/{diagram-OG6HWLK6-BAVv47ga.js → diagram-OG6HWLK6-N0gQhw6R.js} +1 -1
- package/web-shell/assets/{erDiagram-TEJ5UH35-Bn3nf5J0.js → erDiagram-TEJ5UH35-zab9vDj3.js} +1 -1
- package/web-shell/assets/{flowDiagram-I6XJVG4X-BIbGF9JT.js → flowDiagram-I6XJVG4X-BnnjtWJa.js} +1 -1
- package/web-shell/assets/{ganttDiagram-6RSMTGT7-CDbhb3AH.js → ganttDiagram-6RSMTGT7-2T0SQU4f.js} +1 -1
- package/web-shell/assets/{gitGraphDiagram-PVQCEYII-CbKG1a_w.js → gitGraphDiagram-PVQCEYII-DAD6_que.js} +1 -1
- package/web-shell/assets/index-XLkWfLja.css +5 -0
- package/web-shell/assets/index-srlTR1Jg.js +786 -0
- package/web-shell/assets/{infoDiagram-5YYISTIA-DUFxTy8m.js → infoDiagram-5YYISTIA-C-j8d0xO.js} +1 -1
- package/web-shell/assets/{ishikawaDiagram-YF4QCWOH-D69hrBG8.js → ishikawaDiagram-YF4QCWOH-D97bAKoT.js} +1 -1
- package/web-shell/assets/{journeyDiagram-JHISSGLW-DsvEw51Y.js → journeyDiagram-JHISSGLW-BJAHfJmm.js} +1 -1
- package/web-shell/assets/{kanban-definition-UN3LZRKU-lFFjZEYd.js → kanban-definition-UN3LZRKU-CZgR5aac.js} +1 -1
- package/web-shell/assets/{linear-Bo5bWzvo.js → linear-DOd4kYhA.js} +1 -1
- package/web-shell/assets/{mermaid.core-C_HKMJx5.js → mermaid.core-BBaplnXA.js} +5 -5
- package/web-shell/assets/{mindmap-definition-RKZ34NQL-DlV-NUTs.js → mindmap-definition-RKZ34NQL-IhBF_BR5.js} +1 -1
- package/web-shell/assets/{pieDiagram-4H26LBE5-B2e6FH2a.js → pieDiagram-4H26LBE5-B4R4sYyH.js} +1 -1
- package/web-shell/assets/{quadrantDiagram-W4KKPZXB-D75kSk-b.js → quadrantDiagram-W4KKPZXB-DKd1SJ61.js} +1 -1
- package/web-shell/assets/{requirementDiagram-4Y6WPE33-CQ6xakhM.js → requirementDiagram-4Y6WPE33-Cw96V0Xb.js} +1 -1
- package/web-shell/assets/{sankeyDiagram-5OEKKPKP-J_XTKrcY.js → sankeyDiagram-5OEKKPKP-C6ne_yWi.js} +1 -1
- package/web-shell/assets/{sequenceDiagram-3UESZ5HK-D7jTcBtf.js → sequenceDiagram-3UESZ5HK-CCyp4PDp.js} +1 -1
- package/web-shell/assets/{stateDiagram-AJRCARHV-CrlM_OT3.js → stateDiagram-AJRCARHV-DHvIqTmx.js} +1 -1
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-DvFhmpwA.js +1 -0
- package/web-shell/assets/{timeline-definition-PNZ67QCA-5oZi76Ef.js → timeline-definition-PNZ67QCA-amb3n9zH.js} +1 -1
- package/web-shell/assets/{vennDiagram-CIIHVFJN-DO5YptPK.js → vennDiagram-CIIHVFJN-Abf2qRFJ.js} +1 -1
- package/web-shell/assets/{wardley-L42UT6IY-4t1eJDvM.js → wardley-L42UT6IY-BBlOp1av.js} +1 -1
- package/web-shell/assets/{wardleyDiagram-YWT4CUSO-DKZc661S.js → wardleyDiagram-YWT4CUSO-gE_sZ0Ak.js} +1 -1
- package/web-shell/assets/{xychartDiagram-2RQKCTM6-su9hp08G.js → xychartDiagram-2RQKCTM6-BwOni53i.js} +1 -1
- package/web-shell/index.html +16 -4
- package/chunks/chunk-6SHO7WFF.js +0 -79
- package/chunks/chunk-IFEWJXFS.js +0 -37
- package/node_modules/@qwen-code/audio-capture/dist/index.d.ts +0 -35
- package/node_modules/@qwen-code/audio-capture/dist/index.js +0 -48
- package/node_modules/@qwen-code/audio-capture/dist/index.js.map +0 -1
- package/node_modules/@qwen-code/audio-capture/dist/platform.d.ts +0 -7
- package/node_modules/@qwen-code/audio-capture/dist/platform.js +0 -18
- package/node_modules/@qwen-code/audio-capture/dist/platform.js.map +0 -1
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/LICENSE +0 -21
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/README.md +0 -58
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/SECURITY.md +0 -5
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/bin.js +0 -84
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/build-test.js +0 -19
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/index.js +0 -6
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/node-gyp-build.js +0 -207
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/optional.js +0 -7
- package/node_modules/@qwen-code/audio-capture/node_modules/node-gyp-build/package.json +0 -43
- package/node_modules/@qwen-code/audio-capture/package.json +0 -30
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/darwin-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-arm64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/linux-x64/@qwen-code+audio-capture.node +0 -0
- package/node_modules/@qwen-code/audio-capture/prebuilds/win32-x64/@qwen-code+audio-capture.node +0 -0
- package/web-shell/assets/channel-BNf1dW-j.js +0 -1
- package/web-shell/assets/classDiagram-4FO5ZUOK-uOIGlzgi.js +0 -1
- package/web-shell/assets/classDiagram-v2-Q7XG4LA2-uOIGlzgi.js +0 -1
- package/web-shell/assets/index-CnE2ur2L.js +0 -779
- package/web-shell/assets/index-hSKXrlSE.css +0 -5
- package/web-shell/assets/stateDiagram-v2-BHNVJYJU-Bs4TK_84.js +0 -1
- /package/chunks/{chunk-Y6Z2O3WR.js → chunk-JM7BYJO5.js} +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
+
ExtensionRefreshState,
|
|
4
5
|
isValidSessionId,
|
|
5
6
|
validateAuthMethod
|
|
6
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-5F2H3PXG.js";
|
|
7
8
|
import {
|
|
8
9
|
VSCODE_SHIFT_ENTER_SEQUENCE,
|
|
9
10
|
calculateCost,
|
|
@@ -15,32 +16,34 @@ import {
|
|
|
15
16
|
levelLabel,
|
|
16
17
|
useKeypress,
|
|
17
18
|
writeOsc52
|
|
18
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-LRY7HD3Q.js";
|
|
19
20
|
import {
|
|
20
21
|
Text
|
|
21
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-2AF26HVM.js";
|
|
22
23
|
import {
|
|
23
24
|
isKittyProtocolEnabled
|
|
24
25
|
} from "./chunk-JZSY4WP3.js";
|
|
25
26
|
import {
|
|
26
27
|
contextCommand
|
|
27
|
-
} from "./chunk-
|
|
28
|
-
import {
|
|
29
|
-
getInstallationInfo,
|
|
30
|
-
rollbackStandaloneUpdate
|
|
31
|
-
} from "./chunk-ALZ75L2X.js";
|
|
28
|
+
} from "./chunk-WTEIUA2V.js";
|
|
32
29
|
import {
|
|
33
30
|
isTerminalGoalStatusKind
|
|
34
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-KJMYXFUR.js";
|
|
35
32
|
import {
|
|
36
33
|
require_react
|
|
37
34
|
} from "./chunk-KYMBIKIW.js";
|
|
35
|
+
import {
|
|
36
|
+
getInstallationInfo
|
|
37
|
+
} from "./chunk-TX5QZYK6.js";
|
|
38
|
+
import {
|
|
39
|
+
rollbackStandaloneUpdate
|
|
40
|
+
} from "./chunk-SMYIBRAA.js";
|
|
38
41
|
import {
|
|
39
42
|
themeManager
|
|
40
43
|
} from "./chunk-PC4ZXHU2.js";
|
|
41
44
|
import {
|
|
42
45
|
getErrorMessage as getErrorMessage2
|
|
43
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-G3WIMNL4.js";
|
|
44
47
|
import {
|
|
45
48
|
GITHUB_WORKFLOW_PATHS,
|
|
46
49
|
INSIGHT_CSS,
|
|
@@ -53,16 +56,24 @@ import {
|
|
|
53
56
|
toJson,
|
|
54
57
|
toJsonl,
|
|
55
58
|
toMarkdown
|
|
56
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-A6KEUFJO.js";
|
|
57
60
|
import {
|
|
58
61
|
stripUnsafeCharacters,
|
|
59
62
|
toCodePoints
|
|
60
|
-
} from "./chunk-
|
|
63
|
+
} from "./chunk-MSMQURDV.js";
|
|
64
|
+
import {
|
|
65
|
+
formatUnsupportedVoiceModelMessage,
|
|
66
|
+
getVoiceSettingsScope,
|
|
67
|
+
isSelectableVoiceModel,
|
|
68
|
+
isVoiceEnabled,
|
|
69
|
+
readVoiceMode,
|
|
70
|
+
readVoiceModel
|
|
71
|
+
} from "./chunk-YHGCTQG3.js";
|
|
61
72
|
import {
|
|
62
73
|
getExtendedSystemInfo,
|
|
63
74
|
getGitVersion,
|
|
64
75
|
getNpmVersion
|
|
65
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-TERKDCOZ.js";
|
|
66
77
|
import {
|
|
67
78
|
formatDuration,
|
|
68
79
|
formatMemoryUsage,
|
|
@@ -71,15 +82,7 @@ import {
|
|
|
71
82
|
import {
|
|
72
83
|
isInlineModelOverrideAllowed,
|
|
73
84
|
parseAcpModelOption
|
|
74
|
-
} from "./chunk-
|
|
75
|
-
import {
|
|
76
|
-
formatUnsupportedVoiceModelMessage,
|
|
77
|
-
getVoiceSettingsScope,
|
|
78
|
-
isSelectableVoiceModel,
|
|
79
|
-
isVoiceEnabled,
|
|
80
|
-
readVoiceMode,
|
|
81
|
-
readVoiceModel
|
|
82
|
-
} from "./chunk-ADZG46HR.js";
|
|
85
|
+
} from "./chunk-4XK7TNBP.js";
|
|
83
86
|
import {
|
|
84
87
|
OUTPUT_LANGUAGE_AUTO,
|
|
85
88
|
getAllSettingKeys,
|
|
@@ -91,7 +94,7 @@ import {
|
|
|
91
94
|
resolveOutputLanguage,
|
|
92
95
|
validateSettingValue,
|
|
93
96
|
writeOutputLanguageAndRegisterPath
|
|
94
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-I34IHZFJ.js";
|
|
95
98
|
import {
|
|
96
99
|
SUPPORTED_LANGUAGES,
|
|
97
100
|
getCurrentLanguage,
|
|
@@ -99,11 +102,11 @@ import {
|
|
|
99
102
|
resolveSupportedLanguage,
|
|
100
103
|
setLanguageAsync,
|
|
101
104
|
t
|
|
102
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-UOXLB2LY.js";
|
|
103
106
|
import {
|
|
104
107
|
isFolderTrustEnabled,
|
|
105
108
|
loadTrustedFolders
|
|
106
|
-
} from "./chunk-
|
|
109
|
+
} from "./chunk-4CSVIZLT.js";
|
|
107
110
|
import {
|
|
108
111
|
require_strip_json_comments
|
|
109
112
|
} from "./chunk-QYUE6W3T.js";
|
|
@@ -175,17 +178,17 @@ import {
|
|
|
175
178
|
stripStartupContext,
|
|
176
179
|
tryGenerateSessionTitle,
|
|
177
180
|
unregisterGoalHook
|
|
178
|
-
} from "./chunk-
|
|
181
|
+
} from "./chunk-ZDAZSR2O.js";
|
|
179
182
|
import {
|
|
180
183
|
external_exports
|
|
181
184
|
} from "./chunk-K5PGHDBN.js";
|
|
182
185
|
import {
|
|
183
186
|
runSideQuery
|
|
184
|
-
} from "./chunk-
|
|
187
|
+
} from "./chunk-IAMRWMFU.js";
|
|
185
188
|
import {
|
|
186
189
|
APPROVAL_MODES,
|
|
187
190
|
FORK_SUBAGENT_TYPE
|
|
188
|
-
} from "./chunk-
|
|
191
|
+
} from "./chunk-ZJQBTFJ6.js";
|
|
189
192
|
import {
|
|
190
193
|
applySkillAllowedTools,
|
|
191
194
|
buildSkillLlmContent
|
|
@@ -206,13 +209,13 @@ import {
|
|
|
206
209
|
recordSkillInvocation,
|
|
207
210
|
resolveOpenAILogDir,
|
|
208
211
|
uiTelemetryService
|
|
209
|
-
} from "./chunk-
|
|
212
|
+
} from "./chunk-5ZVIYNLN.js";
|
|
210
213
|
import {
|
|
211
214
|
getAutoMemoryRoot
|
|
212
|
-
} from "./chunk-
|
|
215
|
+
} from "./chunk-OACJLMLD.js";
|
|
213
216
|
import {
|
|
214
217
|
ToolNames
|
|
215
|
-
} from "./chunk-
|
|
218
|
+
} from "./chunk-KS2FRTYI.js";
|
|
216
219
|
import {
|
|
217
220
|
openBrowserSecurely
|
|
218
221
|
} from "./chunk-22IFUCVR.js";
|
|
@@ -233,7 +236,7 @@ import {
|
|
|
233
236
|
isCpuProfileRecording,
|
|
234
237
|
startCpuProfile,
|
|
235
238
|
stopCpuProfile
|
|
236
|
-
} from "./chunk-
|
|
239
|
+
} from "./chunk-GOTMC3BX.js";
|
|
237
240
|
import {
|
|
238
241
|
init_esbuild_shims
|
|
239
242
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -2696,11 +2699,19 @@ init_esbuild_shims();
|
|
|
2696
2699
|
// packages/cli/src/ui/utils/backgroundWorkUtils.ts
|
|
2697
2700
|
init_esbuild_shims();
|
|
2698
2701
|
function hasBlockingBackgroundWork(config) {
|
|
2699
|
-
return
|
|
2700
|
-
|
|
2701
|
-
|
|
2702
|
-
|
|
2703
|
-
|
|
2702
|
+
return (
|
|
2703
|
+
// hasRunningTasks, not hasUnfinalizedTasks: a cancelled task whose
|
|
2704
|
+
// finalize callback hasn't fired yet must not block /clear or
|
|
2705
|
+
// session resume — both abort-and-reset the registry right after
|
|
2706
|
+
// this gate, suppressing the pending notification anyway. Gating on
|
|
2707
|
+
// the unfinalized set made /new silently no-op when typed in the
|
|
2708
|
+
// window between cancel and finalize (issue #5949).
|
|
2709
|
+
config.getBackgroundTaskRegistry().hasRunningTasks() || config.getMonitorRegistry().getRunning().length > 0 || config.getBackgroundShellRegistry().hasRunningEntries() || // R7 (wenshao): the WorkflowRunRegistry is a 4th sibling that the
|
|
2710
|
+
// earlier P4b commit forgot to wire here. Without this OR clause,
|
|
2711
|
+
// /clear and session-resume happily ran while a workflow was
|
|
2712
|
+
// mid-run, orphaning the dispatch loop.
|
|
2713
|
+
config.getWorkflowRunRegistry().hasRunningEntries()
|
|
2714
|
+
);
|
|
2704
2715
|
}
|
|
2705
2716
|
__name(hasBlockingBackgroundWork, "hasBlockingBackgroundWork");
|
|
2706
2717
|
function resetBackgroundStateForSessionSwitch(config) {
|
|
@@ -2734,14 +2745,11 @@ var clearCommand = {
|
|
|
2734
2745
|
if (hasBlockingBackgroundWork(config)) {
|
|
2735
2746
|
const content = "Stop the current session's running background tasks before starting a new session.";
|
|
2736
2747
|
context.ui.setDebugMessage(content);
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
|
|
2741
|
-
|
|
2742
|
-
};
|
|
2743
|
-
}
|
|
2744
|
-
return;
|
|
2748
|
+
return {
|
|
2749
|
+
type: "message",
|
|
2750
|
+
messageType: "error",
|
|
2751
|
+
content
|
|
2752
|
+
};
|
|
2745
2753
|
}
|
|
2746
2754
|
config.getHookSystem()?.fireSessionEndEvent("clear" /* Clear */).catch((err) => {
|
|
2747
2755
|
config.getDebugLogger().warn(`SessionEnd hook failed: ${err}`);
|
|
@@ -2888,11 +2896,13 @@ function coerceValue(def, rawValue) {
|
|
|
2888
2896
|
})
|
|
2889
2897
|
};
|
|
2890
2898
|
}
|
|
2891
|
-
case "number":
|
|
2899
|
+
case "number":
|
|
2900
|
+
case "integer": {
|
|
2892
2901
|
if (!rawValue || rawValue.trim() === "") {
|
|
2893
2902
|
return {
|
|
2894
2903
|
value: void 0,
|
|
2895
|
-
error: t('Invalid
|
|
2904
|
+
error: t('Invalid {{type}} value: "{{value}}".', {
|
|
2905
|
+
type: def.type,
|
|
2896
2906
|
value: String(rawValue)
|
|
2897
2907
|
})
|
|
2898
2908
|
};
|
|
@@ -2901,7 +2911,8 @@ function coerceValue(def, rawValue) {
|
|
|
2901
2911
|
if (Number.isNaN(parsed) || !Number.isFinite(parsed)) {
|
|
2902
2912
|
return {
|
|
2903
2913
|
value: void 0,
|
|
2904
|
-
error: t('Invalid
|
|
2914
|
+
error: t('Invalid {{type}} value: "{{value}}".', {
|
|
2915
|
+
type: def.type,
|
|
2905
2916
|
value: String(rawValue)
|
|
2906
2917
|
})
|
|
2907
2918
|
};
|
|
@@ -8267,7 +8278,6 @@ var memoryCommand = {
|
|
|
8267
8278
|
get description() {
|
|
8268
8279
|
return t("Open the memory manager.");
|
|
8269
8280
|
},
|
|
8270
|
-
argumentHint: "show|add|refresh",
|
|
8271
8281
|
kind: "built-in" /* BUILT_IN */,
|
|
8272
8282
|
supportedModes: ["interactive"],
|
|
8273
8283
|
action: /* @__PURE__ */ __name(async () => ({
|
|
@@ -9114,6 +9124,178 @@ var recapCommand = {
|
|
|
9114
9124
|
}, "action")
|
|
9115
9125
|
};
|
|
9116
9126
|
|
|
9127
|
+
// packages/cli/src/ui/commands/reload-plugins-command.ts
|
|
9128
|
+
init_esbuild_shims();
|
|
9129
|
+
|
|
9130
|
+
// packages/cli/src/config/extension-runtime-reload.ts
|
|
9131
|
+
init_esbuild_shims();
|
|
9132
|
+
var debugLogger10 = createDebugLogger("EXTENSION_RUNTIME_RELOAD");
|
|
9133
|
+
async function reloadPluginsRuntime(options) {
|
|
9134
|
+
if (options.config.isSafeMode()) {
|
|
9135
|
+
throw new Error("Extension reload is disabled in safe mode.");
|
|
9136
|
+
}
|
|
9137
|
+
const manager = options.config.getExtensionManager();
|
|
9138
|
+
await manager.refreshCache();
|
|
9139
|
+
await manager.refreshTools();
|
|
9140
|
+
await options.reloadCommands?.();
|
|
9141
|
+
return summarizeExtensions(options.config.getActiveExtensions());
|
|
9142
|
+
}
|
|
9143
|
+
__name(reloadPluginsRuntime, "reloadPluginsRuntime");
|
|
9144
|
+
async function refreshExtensionContentRuntime(options) {
|
|
9145
|
+
if (options.config.isSafeMode()) return;
|
|
9146
|
+
const manager = options.config.getExtensionManager();
|
|
9147
|
+
const errors = [];
|
|
9148
|
+
try {
|
|
9149
|
+
await manager.refreshCache();
|
|
9150
|
+
} catch (error) {
|
|
9151
|
+
errors.push(error);
|
|
9152
|
+
debugLogger10.warn(
|
|
9153
|
+
"refreshExtensionContentRuntime: refreshCache failed:",
|
|
9154
|
+
error
|
|
9155
|
+
);
|
|
9156
|
+
}
|
|
9157
|
+
const settled = await Promise.allSettled([
|
|
9158
|
+
options.config.getSkillManager()?.refreshCache(),
|
|
9159
|
+
options.config.getSubagentManager()?.refreshCache(),
|
|
9160
|
+
options.reloadCommands?.()
|
|
9161
|
+
]);
|
|
9162
|
+
for (const result of settled) {
|
|
9163
|
+
if (result.status === "rejected") {
|
|
9164
|
+
errors.push(result.reason);
|
|
9165
|
+
debugLogger10.warn(
|
|
9166
|
+
"refreshExtensionContentRuntime: a refresh leg failed:",
|
|
9167
|
+
result.reason
|
|
9168
|
+
);
|
|
9169
|
+
}
|
|
9170
|
+
}
|
|
9171
|
+
if (errors.length > 0) {
|
|
9172
|
+
throw new Error(
|
|
9173
|
+
errors.map(
|
|
9174
|
+
(error) => error instanceof Error ? error.message : String(error)
|
|
9175
|
+
).join("; ")
|
|
9176
|
+
);
|
|
9177
|
+
}
|
|
9178
|
+
}
|
|
9179
|
+
__name(refreshExtensionContentRuntime, "refreshExtensionContentRuntime");
|
|
9180
|
+
function summarizeExtensions(extensions) {
|
|
9181
|
+
return extensions.reduce(
|
|
9182
|
+
(summary, extension) => {
|
|
9183
|
+
summary.extensionCount++;
|
|
9184
|
+
summary.commandCount += extension.commands?.length ?? 0;
|
|
9185
|
+
summary.skillCount += extension.skills?.length ?? 0;
|
|
9186
|
+
summary.agentCount += extension.agents?.length ?? 0;
|
|
9187
|
+
summary.hookCount += countHooks(extension);
|
|
9188
|
+
summary.mcpServerCount += Object.keys(extension.mcpServers ?? {}).length;
|
|
9189
|
+
summary.lspServerCount += countLspServers(extension);
|
|
9190
|
+
return summary;
|
|
9191
|
+
},
|
|
9192
|
+
{
|
|
9193
|
+
extensionCount: 0,
|
|
9194
|
+
commandCount: 0,
|
|
9195
|
+
skillCount: 0,
|
|
9196
|
+
agentCount: 0,
|
|
9197
|
+
hookCount: 0,
|
|
9198
|
+
mcpServerCount: 0,
|
|
9199
|
+
lspServerCount: 0
|
|
9200
|
+
}
|
|
9201
|
+
);
|
|
9202
|
+
}
|
|
9203
|
+
__name(summarizeExtensions, "summarizeExtensions");
|
|
9204
|
+
function countHooks(extension) {
|
|
9205
|
+
return Object.values(extension.hooks ?? {}).reduce(
|
|
9206
|
+
(sum, definitions) => sum + (definitions ?? []).reduce(
|
|
9207
|
+
(innerSum, definition) => innerSum + (definition.hooks?.length ?? 0),
|
|
9208
|
+
0
|
|
9209
|
+
),
|
|
9210
|
+
0
|
|
9211
|
+
);
|
|
9212
|
+
}
|
|
9213
|
+
__name(countHooks, "countHooks");
|
|
9214
|
+
function countLspServers(extension) {
|
|
9215
|
+
const lspServers = extension.config.lspServers;
|
|
9216
|
+
if (!lspServers) return 0;
|
|
9217
|
+
if (typeof lspServers === "string") return 1;
|
|
9218
|
+
return Object.keys(lspServers).length;
|
|
9219
|
+
}
|
|
9220
|
+
__name(countLspServers, "countLspServers");
|
|
9221
|
+
|
|
9222
|
+
// packages/cli/src/ui/commands/reload-plugins-command.ts
|
|
9223
|
+
function summaryCountTerm(count, singularKey, pluralKey) {
|
|
9224
|
+
return t(count === 1 ? singularKey : pluralKey, {
|
|
9225
|
+
count: String(count)
|
|
9226
|
+
});
|
|
9227
|
+
}
|
|
9228
|
+
__name(summaryCountTerm, "summaryCountTerm");
|
|
9229
|
+
function formatReloadPluginsSummary(summary) {
|
|
9230
|
+
return [
|
|
9231
|
+
summaryCountTerm(
|
|
9232
|
+
summary.extensionCount,
|
|
9233
|
+
"{{count}} extension",
|
|
9234
|
+
"{{count}} extensions"
|
|
9235
|
+
),
|
|
9236
|
+
summaryCountTerm(
|
|
9237
|
+
summary.commandCount,
|
|
9238
|
+
"{{count}} command",
|
|
9239
|
+
"{{count}} commands"
|
|
9240
|
+
),
|
|
9241
|
+
summaryCountTerm(summary.skillCount, "{{count}} skill", "{{count}} skills"),
|
|
9242
|
+
summaryCountTerm(summary.agentCount, "{{count}} agent", "{{count}} agents"),
|
|
9243
|
+
summaryCountTerm(summary.hookCount, "{{count}} hook", "{{count}} hooks"),
|
|
9244
|
+
summaryCountTerm(
|
|
9245
|
+
summary.mcpServerCount,
|
|
9246
|
+
"{{count}} extension MCP server",
|
|
9247
|
+
"{{count}} extension MCP servers"
|
|
9248
|
+
),
|
|
9249
|
+
summaryCountTerm(
|
|
9250
|
+
summary.lspServerCount,
|
|
9251
|
+
"{{count}} extension LSP server",
|
|
9252
|
+
"{{count}} extension LSP servers"
|
|
9253
|
+
)
|
|
9254
|
+
].join(" \xB7 ");
|
|
9255
|
+
}
|
|
9256
|
+
__name(formatReloadPluginsSummary, "formatReloadPluginsSummary");
|
|
9257
|
+
var reloadPluginsCommand = {
|
|
9258
|
+
name: "reload-plugins",
|
|
9259
|
+
get description() {
|
|
9260
|
+
return t("Reload extension changes from disk");
|
|
9261
|
+
},
|
|
9262
|
+
kind: "built-in" /* BUILT_IN */,
|
|
9263
|
+
supportedModes: ["interactive"],
|
|
9264
|
+
action: /* @__PURE__ */ __name(async (context) => {
|
|
9265
|
+
const config = context.services.config;
|
|
9266
|
+
if (!config) {
|
|
9267
|
+
return {
|
|
9268
|
+
type: "message",
|
|
9269
|
+
messageType: "error",
|
|
9270
|
+
content: t("Config not loaded.")
|
|
9271
|
+
};
|
|
9272
|
+
}
|
|
9273
|
+
const extensionRefreshState = context.services.extensionRefreshState ?? new ExtensionRefreshState();
|
|
9274
|
+
try {
|
|
9275
|
+
extensionRefreshState.notifyExtensionsReloadStarted();
|
|
9276
|
+
const summary = await reloadPluginsRuntime({
|
|
9277
|
+
config,
|
|
9278
|
+
reloadCommands: context.ui.reloadCommands
|
|
9279
|
+
});
|
|
9280
|
+
extensionRefreshState.clearExtensionsChanged();
|
|
9281
|
+
return {
|
|
9282
|
+
type: "message",
|
|
9283
|
+
messageType: "info",
|
|
9284
|
+
content: t("Reloaded extensions: {{summary}}", {
|
|
9285
|
+
summary: formatReloadPluginsSummary(summary)
|
|
9286
|
+
})
|
|
9287
|
+
};
|
|
9288
|
+
} catch (error) {
|
|
9289
|
+
extensionRefreshState.markExtensionsReloadFailed();
|
|
9290
|
+
return {
|
|
9291
|
+
type: "message",
|
|
9292
|
+
messageType: "error",
|
|
9293
|
+
content: error instanceof Error ? t("Reload failed: {{message}}", { message: error.message }) : t("Reload failed.")
|
|
9294
|
+
};
|
|
9295
|
+
}
|
|
9296
|
+
}, "action")
|
|
9297
|
+
};
|
|
9298
|
+
|
|
9117
9299
|
// packages/cli/src/ui/commands/renameCommand.ts
|
|
9118
9300
|
init_esbuild_shims();
|
|
9119
9301
|
var MAX_TITLE_LENGTH = SESSION_TITLE_MAX_LENGTH;
|
|
@@ -10611,7 +10793,7 @@ import * as os4 from "node:os";
|
|
|
10611
10793
|
import * as path13 from "node:path";
|
|
10612
10794
|
import { exec } from "node:child_process";
|
|
10613
10795
|
import { promisify } from "node:util";
|
|
10614
|
-
var
|
|
10796
|
+
var debugLogger11 = createDebugLogger("TERMINAL_SETUP");
|
|
10615
10797
|
var execAsync = promisify(exec);
|
|
10616
10798
|
function stripJsonComments2(content) {
|
|
10617
10799
|
return content.replace(/^\s*\/\/.*$/gm, "");
|
|
@@ -10644,7 +10826,7 @@ async function detectTerminal() {
|
|
|
10644
10826
|
if (parentName.includes("trae") || parentName.includes("Trae"))
|
|
10645
10827
|
return "trae";
|
|
10646
10828
|
} catch (error) {
|
|
10647
|
-
|
|
10829
|
+
debugLogger11.debug("Parent process detection failed:", error);
|
|
10648
10830
|
}
|
|
10649
10831
|
}
|
|
10650
10832
|
return null;
|
|
@@ -10656,7 +10838,7 @@ async function backupFile(filePath) {
|
|
|
10656
10838
|
const backupPath = `${filePath}.backup.${timestamp}`;
|
|
10657
10839
|
await fs10.copyFile(filePath, backupPath);
|
|
10658
10840
|
} catch (error) {
|
|
10659
|
-
|
|
10841
|
+
debugLogger11.warn(`Failed to create backup of ${filePath}:`, error);
|
|
10660
10842
|
}
|
|
10661
10843
|
}
|
|
10662
10844
|
__name(backupFile, "backupFile");
|
|
@@ -12821,6 +13003,117 @@ var lspCommand = {
|
|
|
12821
13003
|
}, "action")
|
|
12822
13004
|
};
|
|
12823
13005
|
|
|
13006
|
+
// packages/cli/src/ui/commands/update-command.ts
|
|
13007
|
+
init_esbuild_shims();
|
|
13008
|
+
var updateCommand = {
|
|
13009
|
+
name: "update",
|
|
13010
|
+
get description() {
|
|
13011
|
+
return t("Check for Qwen Code updates and install if available");
|
|
13012
|
+
},
|
|
13013
|
+
kind: "built-in" /* BUILT_IN */,
|
|
13014
|
+
supportedModes: ["interactive", "non_interactive", "acp"],
|
|
13015
|
+
action: /* @__PURE__ */ __name(async (context) => {
|
|
13016
|
+
const [
|
|
13017
|
+
{ checkForUpdatesDetailed },
|
|
13018
|
+
{ handleAutoUpdate },
|
|
13019
|
+
{ performStandaloneUpdate },
|
|
13020
|
+
installationInfo
|
|
13021
|
+
] = await Promise.all([
|
|
13022
|
+
import("./updateCheck-X3ZWDO3Z.js"),
|
|
13023
|
+
import("./handleAutoUpdate-TEZC5ZIR.js"),
|
|
13024
|
+
import("./standalone-update-LICI2VSK.js"),
|
|
13025
|
+
import("./installationInfo-OZ62OHZ2.js")
|
|
13026
|
+
]);
|
|
13027
|
+
const { formatUpdateInstructions, getInstallationInfo: getInstallationInfo2 } = installationInfo;
|
|
13028
|
+
const settings = context.services.settings;
|
|
13029
|
+
const projectRoot = context.services.config?.getProjectRoot();
|
|
13030
|
+
const updateCheck = await checkForUpdatesDetailed();
|
|
13031
|
+
if (updateCheck.status === "up-to-date") {
|
|
13032
|
+
const msg = t("Qwen Code {{version}} is up to date!", {
|
|
13033
|
+
version: updateCheck.currentVersion
|
|
13034
|
+
});
|
|
13035
|
+
return {
|
|
13036
|
+
type: "message",
|
|
13037
|
+
messageType: "info",
|
|
13038
|
+
content: msg
|
|
13039
|
+
};
|
|
13040
|
+
}
|
|
13041
|
+
if (updateCheck.status === "error") {
|
|
13042
|
+
return {
|
|
13043
|
+
type: "message",
|
|
13044
|
+
messageType: "error",
|
|
13045
|
+
content: t(
|
|
13046
|
+
"Failed to check for updates. Please check your network or registry configuration."
|
|
13047
|
+
)
|
|
13048
|
+
};
|
|
13049
|
+
}
|
|
13050
|
+
if (updateCheck.status === "skipped") {
|
|
13051
|
+
return {
|
|
13052
|
+
type: "message",
|
|
13053
|
+
messageType: "error",
|
|
13054
|
+
content: t("Unable to check for updates: {{reason}}", {
|
|
13055
|
+
reason: updateCheck.reason
|
|
13056
|
+
})
|
|
13057
|
+
};
|
|
13058
|
+
}
|
|
13059
|
+
const info = updateCheck.info;
|
|
13060
|
+
const installInfo = getInstallationInfo2(projectRoot || process.cwd(), true);
|
|
13061
|
+
const manualInstructions = /* @__PURE__ */ __name(() => {
|
|
13062
|
+
const lines = [
|
|
13063
|
+
info.message,
|
|
13064
|
+
...formatUpdateInstructions(installInfo, info.update.latest).map(
|
|
13065
|
+
(line) => t(line)
|
|
13066
|
+
)
|
|
13067
|
+
];
|
|
13068
|
+
return {
|
|
13069
|
+
type: "message",
|
|
13070
|
+
messageType: "info",
|
|
13071
|
+
content: lines.join("\n")
|
|
13072
|
+
};
|
|
13073
|
+
}, "manualInstructions");
|
|
13074
|
+
if (context.executionMode === "interactive" && projectRoot) {
|
|
13075
|
+
const isAutoUpdateEnabled = settings.merged.general?.enableAutoUpdate !== false;
|
|
13076
|
+
const canAutoUpdate = installInfo.updateCommand || installInfo.isStandalone && installInfo.standaloneDir;
|
|
13077
|
+
if (isAutoUpdateEnabled && canAutoUpdate) {
|
|
13078
|
+
handleAutoUpdate(info, settings, projectRoot);
|
|
13079
|
+
return;
|
|
13080
|
+
}
|
|
13081
|
+
return manualInstructions();
|
|
13082
|
+
}
|
|
13083
|
+
if (installInfo.isStandalone && installInfo.standaloneDir) {
|
|
13084
|
+
try {
|
|
13085
|
+
const result = await performStandaloneUpdate(
|
|
13086
|
+
installInfo.standaloneDir,
|
|
13087
|
+
info.update.latest
|
|
13088
|
+
);
|
|
13089
|
+
const message = result === "done" ? t(
|
|
13090
|
+
"Update successful! The new version will be used on your next run."
|
|
13091
|
+
) : t(
|
|
13092
|
+
"Update downloaded. It will be applied after you exit this session."
|
|
13093
|
+
);
|
|
13094
|
+
return {
|
|
13095
|
+
type: "message",
|
|
13096
|
+
messageType: "info",
|
|
13097
|
+
content: `${info.message}
|
|
13098
|
+
${t("Downloading update...")}
|
|
13099
|
+
${message}`
|
|
13100
|
+
};
|
|
13101
|
+
} catch (err) {
|
|
13102
|
+
const message = t("Update failed: {{error}}", {
|
|
13103
|
+
error: err instanceof Error ? err.message : String(err)
|
|
13104
|
+
});
|
|
13105
|
+
return {
|
|
13106
|
+
type: "message",
|
|
13107
|
+
messageType: "error",
|
|
13108
|
+
content: `${info.message}
|
|
13109
|
+
${message}`
|
|
13110
|
+
};
|
|
13111
|
+
}
|
|
13112
|
+
}
|
|
13113
|
+
return manualInstructions();
|
|
13114
|
+
}, "action")
|
|
13115
|
+
};
|
|
13116
|
+
|
|
12824
13117
|
// packages/cli/src/services/BuiltinCommandLoader.ts
|
|
12825
13118
|
var builtinDebugLogger = createDebugLogger("BUILTIN_COMMAND_LOADER");
|
|
12826
13119
|
var BuiltinCommandLoader = class {
|
|
@@ -12898,6 +13191,7 @@ var BuiltinCommandLoader = class {
|
|
|
12898
13191
|
...this.config?.getFolderTrust() ? [trustCommand] : [],
|
|
12899
13192
|
quitCommand,
|
|
12900
13193
|
recapCommand,
|
|
13194
|
+
reloadPluginsCommand,
|
|
12901
13195
|
renameCommand,
|
|
12902
13196
|
restoreCommand(this.config),
|
|
12903
13197
|
resumeCommand,
|
|
@@ -12909,6 +13203,7 @@ var BuiltinCommandLoader = class {
|
|
|
12909
13203
|
toolsCommand,
|
|
12910
13204
|
settingsCommand,
|
|
12911
13205
|
vimCommand,
|
|
13206
|
+
updateCommand,
|
|
12912
13207
|
voiceCommand,
|
|
12913
13208
|
setupGithubCommand,
|
|
12914
13209
|
terminalSetupCommand,
|
|
@@ -12929,7 +13224,7 @@ var BuiltinCommandLoader = class {
|
|
|
12929
13224
|
// packages/cli/src/services/BundledSkillLoader.ts
|
|
12930
13225
|
init_esbuild_shims();
|
|
12931
13226
|
import { dirname as dirname2 } from "node:path";
|
|
12932
|
-
var
|
|
13227
|
+
var debugLogger12 = createDebugLogger("BUNDLED_SKILL_LOADER");
|
|
12933
13228
|
var BundledSkillLoader = class {
|
|
12934
13229
|
constructor(config) {
|
|
12935
13230
|
this.config = config;
|
|
@@ -12939,12 +13234,12 @@ var BundledSkillLoader = class {
|
|
|
12939
13234
|
}
|
|
12940
13235
|
async loadCommands(_signal) {
|
|
12941
13236
|
if (this.config?.getBareMode?.()) {
|
|
12942
|
-
|
|
13237
|
+
debugLogger12.debug("Bare mode enabled, skipping bundled skills");
|
|
12943
13238
|
return [];
|
|
12944
13239
|
}
|
|
12945
13240
|
const skillManager = this.config?.getSkillManager();
|
|
12946
13241
|
if (!skillManager) {
|
|
12947
|
-
|
|
13242
|
+
debugLogger12.debug("SkillManager not available, skipping bundled skills");
|
|
12948
13243
|
return [];
|
|
12949
13244
|
}
|
|
12950
13245
|
try {
|
|
@@ -12952,7 +13247,7 @@ var BundledSkillLoader = class {
|
|
|
12952
13247
|
const cronEnabled = this.config?.isCronEnabled() ?? false;
|
|
12953
13248
|
const cronVisible = allSkills.filter((skill) => {
|
|
12954
13249
|
if (!cronEnabled && skill.allowedTools?.some((t2) => t2.startsWith("cron_"))) {
|
|
12955
|
-
|
|
13250
|
+
debugLogger12.debug(
|
|
12956
13251
|
`Hiding skill "${skill.name}" because cron is not enabled`
|
|
12957
13252
|
);
|
|
12958
13253
|
return false;
|
|
@@ -12963,7 +13258,7 @@ var BundledSkillLoader = class {
|
|
|
12963
13258
|
const skills = cronVisible.filter(
|
|
12964
13259
|
(skill) => !disabled.has(skill.name.toLowerCase())
|
|
12965
13260
|
);
|
|
12966
|
-
|
|
13261
|
+
debugLogger12.debug(
|
|
12967
13262
|
`Loaded ${skills.length} bundled skill(s) as slash commands; ${cronVisible.length - skills.length} hidden by skills.disabled`
|
|
12968
13263
|
);
|
|
12969
13264
|
return skills.map((skill) => ({
|
|
@@ -13014,7 +13309,7 @@ ${body}`;
|
|
|
13014
13309
|
}, "action")
|
|
13015
13310
|
}));
|
|
13016
13311
|
} catch (error) {
|
|
13017
|
-
|
|
13312
|
+
debugLogger12.error("Failed to load bundled skills:", error);
|
|
13018
13313
|
return [];
|
|
13019
13314
|
}
|
|
13020
13315
|
}
|
|
@@ -13294,7 +13589,7 @@ var ShellProcessor = class {
|
|
|
13294
13589
|
|
|
13295
13590
|
// packages/cli/src/services/prompt-processors/atFileProcessor.ts
|
|
13296
13591
|
init_esbuild_shims();
|
|
13297
|
-
var
|
|
13592
|
+
var debugLogger13 = createDebugLogger("AT_FILE_PROCESSOR");
|
|
13298
13593
|
var AtFileProcessor = class {
|
|
13299
13594
|
constructor(commandName) {
|
|
13300
13595
|
this.commandName = commandName;
|
|
@@ -13340,7 +13635,7 @@ var AtFileProcessor = class {
|
|
|
13340
13635
|
} catch (error) {
|
|
13341
13636
|
const message = error instanceof Error ? error.message : String(error);
|
|
13342
13637
|
const uiMessage = `Failed to inject content for '@{${pathStr}}': ${message}`;
|
|
13343
|
-
|
|
13638
|
+
debugLogger13.error(
|
|
13344
13639
|
`[AtFileProcessor] ${uiMessage}. Leaving placeholder in prompt.`
|
|
13345
13640
|
);
|
|
13346
13641
|
context.ui.addItem(
|
|
@@ -13365,7 +13660,7 @@ var AtFileProcessor = class {
|
|
|
13365
13660
|
};
|
|
13366
13661
|
|
|
13367
13662
|
// packages/cli/src/services/command-factory.ts
|
|
13368
|
-
var
|
|
13663
|
+
var debugLogger14 = createDebugLogger("COMMAND_FACTORY");
|
|
13369
13664
|
function createSlashCommandFromDefinition(filePath, baseDir, definition, extensionName, fileExtension) {
|
|
13370
13665
|
const relativePathWithExt = path16.relative(baseDir, filePath);
|
|
13371
13666
|
const relativePath = relativePathWithExt.substring(
|
|
@@ -13409,7 +13704,7 @@ function createSlashCommandFromDefinition(filePath, baseDir, definition, extensi
|
|
|
13409
13704
|
whenToUse: definition.whenToUse,
|
|
13410
13705
|
action: /* @__PURE__ */ __name(async (context, _args) => {
|
|
13411
13706
|
if (!context.invocation) {
|
|
13412
|
-
|
|
13707
|
+
debugLogger14.error(
|
|
13413
13708
|
`[FileCommandLoader] Critical error: Command '${baseCommandName}' was executed without invocation context.`
|
|
13414
13709
|
);
|
|
13415
13710
|
return {
|
|
@@ -13447,7 +13742,7 @@ function createSlashCommandFromDefinition(filePath, baseDir, definition, extensi
|
|
|
13447
13742
|
__name(createSlashCommandFromDefinition, "createSlashCommandFromDefinition");
|
|
13448
13743
|
|
|
13449
13744
|
// packages/cli/src/services/FileCommandLoader.ts
|
|
13450
|
-
var
|
|
13745
|
+
var debugLogger15 = createDebugLogger("FILE_COMMAND_LOADER");
|
|
13451
13746
|
var TomlCommandDefSchema = external_exports.object({
|
|
13452
13747
|
prompt: external_exports.string({
|
|
13453
13748
|
required_error: "The 'prompt' field is required.",
|
|
@@ -13481,7 +13776,7 @@ var FileCommandLoader = class {
|
|
|
13481
13776
|
*/
|
|
13482
13777
|
async loadCommands(signal) {
|
|
13483
13778
|
if (this.config?.getBareMode?.()) {
|
|
13484
|
-
|
|
13779
|
+
debugLogger15.debug("Bare mode enabled, skipping auto-discovered commands");
|
|
13485
13780
|
return [];
|
|
13486
13781
|
}
|
|
13487
13782
|
const allCommands = [];
|
|
@@ -13525,7 +13820,7 @@ var FileCommandLoader = class {
|
|
|
13525
13820
|
const isEnoent = error.code === "ENOENT";
|
|
13526
13821
|
const isAbortError = error instanceof Error && error.name === "AbortError";
|
|
13527
13822
|
if (!isEnoent && !isAbortError) {
|
|
13528
|
-
|
|
13823
|
+
debugLogger15.error(
|
|
13529
13824
|
`[FileCommandLoader] Error loading commands from ${dirInfo.path}:`,
|
|
13530
13825
|
error
|
|
13531
13826
|
);
|
|
@@ -13582,7 +13877,7 @@ var FileCommandLoader = class {
|
|
|
13582
13877
|
}
|
|
13583
13878
|
}
|
|
13584
13879
|
} catch (error) {
|
|
13585
|
-
|
|
13880
|
+
debugLogger15.warn(
|
|
13586
13881
|
`Failed to read extension config for ${ext.name}:`,
|
|
13587
13882
|
error
|
|
13588
13883
|
);
|
|
@@ -13608,7 +13903,7 @@ var FileCommandLoader = class {
|
|
|
13608
13903
|
try {
|
|
13609
13904
|
fileContent = await fs13.readFile(filePath, "utf-8");
|
|
13610
13905
|
} catch (error) {
|
|
13611
|
-
|
|
13906
|
+
debugLogger15.error(
|
|
13612
13907
|
`[FileCommandLoader] Failed to read file ${filePath}:`,
|
|
13613
13908
|
error instanceof Error ? error.message : String(error)
|
|
13614
13909
|
);
|
|
@@ -13618,7 +13913,7 @@ var FileCommandLoader = class {
|
|
|
13618
13913
|
try {
|
|
13619
13914
|
parsed = import_toml.default.parse(fileContent);
|
|
13620
13915
|
} catch (error) {
|
|
13621
|
-
|
|
13916
|
+
debugLogger15.error(
|
|
13622
13917
|
`[FileCommandLoader] Failed to parse TOML file ${filePath}:`,
|
|
13623
13918
|
error instanceof Error ? error.message : String(error)
|
|
13624
13919
|
);
|
|
@@ -13626,7 +13921,7 @@ var FileCommandLoader = class {
|
|
|
13626
13921
|
}
|
|
13627
13922
|
const validationResult = TomlCommandDefSchema.safeParse(parsed);
|
|
13628
13923
|
if (!validationResult.success) {
|
|
13629
|
-
|
|
13924
|
+
debugLogger15.error(
|
|
13630
13925
|
`[FileCommandLoader] Skipping invalid command file: ${filePath}. Validation errors:`,
|
|
13631
13926
|
validationResult.error.flatten()
|
|
13632
13927
|
);
|
|
@@ -13653,7 +13948,7 @@ var FileCommandLoader = class {
|
|
|
13653
13948
|
try {
|
|
13654
13949
|
fileContent = await fs13.readFile(filePath, "utf-8");
|
|
13655
13950
|
} catch (error) {
|
|
13656
|
-
|
|
13951
|
+
debugLogger15.error(
|
|
13657
13952
|
`[FileCommandLoader] Failed to read file ${filePath}:`,
|
|
13658
13953
|
error instanceof Error ? error.message : String(error)
|
|
13659
13954
|
);
|
|
@@ -13663,7 +13958,7 @@ var FileCommandLoader = class {
|
|
|
13663
13958
|
try {
|
|
13664
13959
|
parsed = parseMarkdownCommand(fileContent);
|
|
13665
13960
|
} catch (error) {
|
|
13666
|
-
|
|
13961
|
+
debugLogger15.error(
|
|
13667
13962
|
`[FileCommandLoader] Failed to parse Markdown file ${filePath}:`,
|
|
13668
13963
|
error instanceof Error ? error.message : String(error)
|
|
13669
13964
|
);
|
|
@@ -13671,7 +13966,7 @@ var FileCommandLoader = class {
|
|
|
13671
13966
|
}
|
|
13672
13967
|
const validationResult = MarkdownCommandDefSchema.safeParse(parsed);
|
|
13673
13968
|
if (!validationResult.success) {
|
|
13674
|
-
|
|
13969
|
+
debugLogger15.error(
|
|
13675
13970
|
`[FileCommandLoader] Skipping invalid command file: ${filePath}. Validation errors:`,
|
|
13676
13971
|
validationResult.error.flatten()
|
|
13677
13972
|
);
|
|
@@ -13697,7 +13992,7 @@ var FileCommandLoader = class {
|
|
|
13697
13992
|
|
|
13698
13993
|
// packages/cli/src/services/saved-workflow-loader.ts
|
|
13699
13994
|
init_esbuild_shims();
|
|
13700
|
-
var
|
|
13995
|
+
var debugLogger16 = createDebugLogger("SavedWorkflowLoader");
|
|
13701
13996
|
var SavedWorkflowLoader = class {
|
|
13702
13997
|
constructor(config) {
|
|
13703
13998
|
this.config = config;
|
|
@@ -13716,7 +14011,7 @@ var SavedWorkflowLoader = class {
|
|
|
13716
14011
|
try {
|
|
13717
14012
|
entries = await listSavedWorkflows(this.config);
|
|
13718
14013
|
} catch (e) {
|
|
13719
|
-
|
|
14014
|
+
debugLogger16.debug(`listSavedWorkflows failed: ${e}`);
|
|
13720
14015
|
return [];
|
|
13721
14016
|
}
|
|
13722
14017
|
if (signal.aborted) return [];
|
|
@@ -13813,7 +14108,7 @@ var McpPromptLoader = class {
|
|
|
13813
14108
|
return {
|
|
13814
14109
|
type: "message",
|
|
13815
14110
|
messageType: "info",
|
|
13816
|
-
content: `Prompt "${prompt.name}" has no arguments.`
|
|
14111
|
+
content: `Prompt "${prompt.name}" has no declared arguments. Any text you provide will be forwarded as-is (e.g., /${prompt.name} some text sends { input: "some text" }).`
|
|
13817
14112
|
};
|
|
13818
14113
|
}
|
|
13819
14114
|
let helpMessage = `Arguments for "${prompt.name}":
|
|
@@ -13980,7 +14275,12 @@ var McpPromptLoader = class {
|
|
|
13980
14275
|
while ((match = positionalArgRegex.exec(positionalArgsString)) !== null) {
|
|
13981
14276
|
positionalArgs.push((match[1] ?? match[2]).replace(/\\(.)/g, "$1"));
|
|
13982
14277
|
}
|
|
13983
|
-
if (!promptArgs) {
|
|
14278
|
+
if (!promptArgs || promptArgs.length === 0) {
|
|
14279
|
+
Object.assign(promptInputs, argValues);
|
|
14280
|
+
const positionalInput = positionalArgs.join(" ");
|
|
14281
|
+
if (positionalInput && !Object.hasOwn(argValues, "input")) {
|
|
14282
|
+
promptInputs["input"] = positionalInput;
|
|
14283
|
+
}
|
|
13984
14284
|
return promptInputs;
|
|
13985
14285
|
}
|
|
13986
14286
|
for (const arg of promptArgs) {
|
|
@@ -14014,7 +14314,7 @@ var McpPromptLoader = class {
|
|
|
14014
14314
|
// packages/cli/src/services/SkillCommandLoader.ts
|
|
14015
14315
|
init_esbuild_shims();
|
|
14016
14316
|
import { dirname as dirname3 } from "node:path";
|
|
14017
|
-
var
|
|
14317
|
+
var debugLogger17 = createDebugLogger("SKILL_COMMAND_LOADER");
|
|
14018
14318
|
var SkillCommandLoader = class {
|
|
14019
14319
|
constructor(config) {
|
|
14020
14320
|
this.config = config;
|
|
@@ -14024,12 +14324,12 @@ var SkillCommandLoader = class {
|
|
|
14024
14324
|
}
|
|
14025
14325
|
async loadCommands(_signal) {
|
|
14026
14326
|
if (this.config?.getBareMode?.()) {
|
|
14027
|
-
|
|
14327
|
+
debugLogger17.debug("Bare mode enabled, skipping skill commands");
|
|
14028
14328
|
return [];
|
|
14029
14329
|
}
|
|
14030
14330
|
const skillManager = this.config?.getSkillManager();
|
|
14031
14331
|
if (!skillManager) {
|
|
14032
|
-
|
|
14332
|
+
debugLogger17.debug("SkillManager not available, skipping skill commands");
|
|
14033
14333
|
return [];
|
|
14034
14334
|
}
|
|
14035
14335
|
try {
|
|
@@ -14046,7 +14346,7 @@ var SkillCommandLoader = class {
|
|
|
14046
14346
|
const nonUserInvocableCount = visibleSkills.filter(
|
|
14047
14347
|
(skill) => skill.userInvocable === false
|
|
14048
14348
|
).length;
|
|
14049
|
-
|
|
14349
|
+
debugLogger17.debug(
|
|
14050
14350
|
`Loaded ${userSkills.length} user + ${projectSkills.length} project + ${extensionSkills.length} extension skill(s) as slash commands; ${allSkills.length - visibleSkills.length} hidden by skills.disabled; ${nonUserInvocableCount} marked non-user-invocable`
|
|
14051
14351
|
);
|
|
14052
14352
|
return visibleSkills.map((skill) => {
|
|
@@ -14069,7 +14369,8 @@ var SkillCommandLoader = class {
|
|
|
14069
14369
|
name: skill.name,
|
|
14070
14370
|
description: skill.description,
|
|
14071
14371
|
body: skill.body,
|
|
14072
|
-
level: skill.level
|
|
14372
|
+
level: skill.level,
|
|
14373
|
+
...isExtension && skill.extensionName ? { extensionName: skill.extensionName } : {}
|
|
14073
14374
|
},
|
|
14074
14375
|
action: /* @__PURE__ */ __name(async (context, _args) => {
|
|
14075
14376
|
applySkillAllowedTools(
|
|
@@ -14089,7 +14390,7 @@ var SkillCommandLoader = class {
|
|
|
14089
14390
|
};
|
|
14090
14391
|
});
|
|
14091
14392
|
} catch (error) {
|
|
14092
|
-
|
|
14393
|
+
debugLogger17.error("Failed to load skill commands:", error);
|
|
14093
14394
|
return [];
|
|
14094
14395
|
}
|
|
14095
14396
|
}
|
|
@@ -14164,7 +14465,7 @@ function formatUserPromptExpansionBlockedMessage(reason) {
|
|
|
14164
14465
|
__name(formatUserPromptExpansionBlockedMessage, "formatUserPromptExpansionBlockedMessage");
|
|
14165
14466
|
|
|
14166
14467
|
// packages/cli/src/nonInteractiveCliCommands.ts
|
|
14167
|
-
var
|
|
14468
|
+
var debugLogger18 = createDebugLogger("NON_INTERACTIVE_COMMANDS");
|
|
14168
14469
|
function getSkillCommandName(command) {
|
|
14169
14470
|
return command.skillDetail?.name ?? command.name;
|
|
14170
14471
|
}
|
|
@@ -14567,14 +14868,14 @@ var getAvailableCommands = /* @__PURE__ */ __name(async (config, abortSignal, mo
|
|
|
14567
14868
|
);
|
|
14568
14869
|
return commandService.getCommandsForMode(mode);
|
|
14569
14870
|
} catch (error) {
|
|
14570
|
-
|
|
14871
|
+
debugLogger18.error("Error loading available commands:", error);
|
|
14571
14872
|
return [];
|
|
14572
14873
|
}
|
|
14573
14874
|
}, "getAvailableCommands");
|
|
14574
14875
|
|
|
14575
14876
|
// packages/cli/src/utils/nonInteractiveHelpers.ts
|
|
14576
14877
|
init_esbuild_shims();
|
|
14577
|
-
var
|
|
14878
|
+
var debugLogger19 = createDebugLogger("NON_INTERACTIVE");
|
|
14578
14879
|
function normalizePartList(parts) {
|
|
14579
14880
|
if (!parts) {
|
|
14580
14881
|
return [];
|
|
@@ -14672,7 +14973,7 @@ async function loadSlashCommandNames(config) {
|
|
|
14672
14973
|
);
|
|
14673
14974
|
return commands.map((cmd) => cmd.name).sort();
|
|
14674
14975
|
} catch (error) {
|
|
14675
|
-
|
|
14976
|
+
debugLogger19.error(
|
|
14676
14977
|
"[buildSystemMessage] Failed to load slash commands:",
|
|
14677
14978
|
error
|
|
14678
14979
|
);
|
|
@@ -14697,7 +14998,7 @@ async function buildSystemMessage(config, sessionId, permissionMode) {
|
|
|
14697
14998
|
const subagents = await subagentManager.listSubagents();
|
|
14698
14999
|
agentNames = subagents.map((subagent) => subagent.name);
|
|
14699
15000
|
} catch (error) {
|
|
14700
|
-
|
|
15001
|
+
debugLogger19.error("[buildSystemMessage] Failed to load subagents:", error);
|
|
14701
15002
|
}
|
|
14702
15003
|
const systemMessage = {
|
|
14703
15004
|
type: "system",
|
|
@@ -14883,6 +15184,7 @@ export {
|
|
|
14883
15184
|
createEmptyHookEventInfo,
|
|
14884
15185
|
addConfigToMatcherGroup,
|
|
14885
15186
|
getAllConfigs,
|
|
15187
|
+
refreshExtensionContentRuntime,
|
|
14886
15188
|
BuiltinCommandLoader,
|
|
14887
15189
|
BundledSkillLoader,
|
|
14888
15190
|
FileCommandLoader,
|