@qwen-code/qwen-code 0.17.1 → 0.18.0-preview.0
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/README.md +4 -6
- package/bundled/qc-helper/SKILL.md +30 -24
- package/bundled/qc-helper/docs/features/auto-mode.md +54 -9
- package/bundled/qc-helper/docs/features/commands.md +11 -11
- package/bundled/qc-helper/docs/features/markdown-rendering.md +21 -1
- package/bundled/qc-helper/docs/overview.md +4 -4
- package/bundled/qc-helper/docs/quickstart.md +4 -4
- package/bundled/qc-helper/docs/support/Uninstall.md +19 -1
- package/bundled/qc-helper/docs/support/troubleshooting.md +2 -1
- package/chunks/{agent-ZJHHICAC.js → agent-6J2FFD7S.js} +18 -22
- package/chunks/{anthropicContentGenerator-M45RXZVS.js → anthropicContentGenerator-4QBVSFSJ.js} +5 -5
- package/chunks/{askUserQuestion-TGRD7FNQ.js → askUserQuestion-NOOLRWCJ.js} +5 -7
- package/chunks/{ca-6RSCDYUS.js → ca-WRHFBIDH.js} +38 -3
- package/chunks/{chunk-C5CUHYSM.js → chunk-3H7ENG2Q.js} +821 -461
- package/chunks/{chunk-SOGUPKP6.js → chunk-5RNZ2QKF.js} +3 -5
- package/chunks/{chunk-GVWPJCXU.js → chunk-6VFG3EUJ.js} +1 -1
- package/chunks/{chunk-NQ3E7YLD.js → chunk-AVLOK27J.js} +42 -8
- package/chunks/{chunk-JBSYXHJF.js → chunk-BBTV54KB.js} +2 -2
- package/chunks/{chunk-X2474BTT.js → chunk-BPZQVC2P.js} +142 -9
- package/chunks/{chunk-2KEXT6RB.js → chunk-BUOJN3MM.js} +91245 -78527
- package/chunks/{chunk-3BJBCG2K.js → chunk-C6WMLUNB.js} +1 -1
- package/chunks/{chunk-TDZCEIK6.js → chunk-D46KOV3C.js} +1 -1
- package/chunks/{chunk-HX3JRTWL.js → chunk-F5ORN4YO.js} +1 -1
- package/chunks/{chunk-JKUAX6UT.js → chunk-G763GDO6.js} +125 -12
- package/chunks/{chunk-OIL7KDWV.js → chunk-GBEPNWYB.js} +1 -1
- package/chunks/{chunk-5JBZM7FZ.js → chunk-IKOMHTCC.js} +6 -6
- package/chunks/{chunk-G4K6P5KN.js → chunk-JMLIPZUU.js} +3 -3
- package/chunks/{chunk-OJFMTECH.js → chunk-JSYEZAYV.js} +2 -2
- package/chunks/{chunk-AKBFRR6J.js → chunk-K5PGHDBN.js} +132 -112
- package/chunks/{chunk-QVJ33ZBG.js → chunk-MVX64PNU.js} +1 -1
- package/chunks/{chunk-EY6BDW7Y.js → chunk-PLYZAP4W.js} +45 -9
- package/chunks/{chunk-ACBGEKB7.js → chunk-R5PDRHEF.js} +2 -1
- package/chunks/{chunk-6O244QKR.js → chunk-SCHRFI7O.js} +1 -1
- package/chunks/{chunk-GJHMAWS7.js → chunk-SHUT5MQY.js} +1 -1
- package/chunks/{chunk-RQW7WUJR.js → chunk-UABFCMPA.js} +34 -6
- package/chunks/{chunk-33RDTIU6.js → chunk-UFC57OYT.js} +3 -5
- package/chunks/{chunk-PLYRQYKC.js → chunk-UQZQP5PA.js} +11 -11
- package/chunks/{chunk-NP3ICQCN.js → chunk-USE2VQ5P.js} +1 -1
- package/chunks/{chunk-NJJER6E2.js → chunk-UXBKX55L.js} +10 -6
- package/chunks/{chunk-QWSRH265.js → chunk-WFVXF3OM.js} +776 -776
- package/chunks/{computer-use-NAHQPV2L.js → computer-use-6LZXL3UW.js} +51 -18
- package/chunks/contextCommand-ZV5QQ2LA.js +46 -0
- package/chunks/{cron-create-V3UK2SJN.js → cron-create-PIPMXQN4.js} +5 -7
- package/chunks/{cron-delete-MANALPCP.js → cron-delete-6Y5XIDMS.js} +5 -7
- package/chunks/{cron-list-UDIYK3B3.js → cron-list-A4WNRUWZ.js} +5 -7
- package/chunks/{de-APURNJ3I.js → de-M5RPB2NB.js} +38 -3
- package/chunks/{dist-XTTPOFAH.js → dist-BXDUQ2QY.js} +3 -4
- package/chunks/{dist-AHZNZWRI.js → dist-R2SXPG74.js} +4 -5
- package/chunks/{dist-ATAKC63R.js → dist-TE5QKMGR.js} +3 -4
- package/chunks/{dist-6RUZ2JD6.js → dist-ZMQ4TXD5.js} +3 -4
- package/chunks/{edit-JWXCQ4KK.js → edit-J7D6VMPQ.js} +22 -27
- package/chunks/{en-FYO57HJW.js → en-UMYKQAZE.js} +46 -3
- package/chunks/{enter-worktree-G4CJXPT4.js → enter-worktree-NDJTVGYJ.js} +20 -25
- package/chunks/{exit-worktree-MYZ2FGU2.js → exit-worktree-UB6XYYAX.js} +20 -25
- package/chunks/{exitPlanMode-ELJ6FSMU.js → exitPlanMode-V6X2KL4X.js} +20 -25
- package/chunks/{fr-32YHQZIS.js → fr-MPYXXXPW.js} +38 -3
- package/chunks/{geminiContentGenerator-3LR7MKCQ.js → geminiContentGenerator-3AKHMB3P.js} +5 -5
- package/chunks/{getMachineId-bsd-GS3V2GK7.js → getMachineId-bsd-F7GNPTER.js} +1 -1
- package/chunks/{getMachineId-darwin-ZQB4Q7EW.js → getMachineId-darwin-T73DJL27.js} +1 -1
- package/chunks/{getMachineId-linux-JQ4NN4DN.js → getMachineId-linux-MKQTFPQM.js} +1 -1
- package/chunks/{getMachineId-unsupported-U7H4V4HJ.js → getMachineId-unsupported-MUR5KOQE.js} +1 -1
- package/chunks/{getMachineId-win-VHUZGBQ3.js → getMachineId-win-CDYFC6ZM.js} +1 -1
- package/chunks/{glob-CANUAUTC.js → glob-PBG5DRG4.js} +20 -25
- package/chunks/{grep-WZWNJRDX.js → grep-VQ56EWQ7.js} +20 -25
- package/chunks/{ja-PEUXN4XT.js → ja-NFZ32AB3.js} +38 -3
- package/chunks/{keychain-token-storage-3552ENXE.js → keychain-token-storage-UHGOCDD6.js} +3 -3
- package/chunks/{ls-T4SVZWR6.js → ls-34DLNYCD.js} +6 -8
- package/chunks/{lsp-U4ZQLNIS.js → lsp-NCDEHH3V.js} +5 -7
- package/chunks/{monitor-CCKNOUFG.js → monitor-J3YCSOEH.js} +20 -25
- package/chunks/{notebook-edit-XDUY5Q4I.js → notebook-edit-AL3CBYJ6.js} +21 -26
- package/chunks/{openaiContentGenerator-N3O3MYIT.js → openaiContentGenerator-3U6UARHS.js} +12 -14
- package/chunks/{pt-2INS7YVC.js → pt-BR43FRBA.js} +38 -3
- package/chunks/{qwenContentGenerator-DEOIWKVH.js → qwenContentGenerator-JRFHJRH6.js} +20 -24
- package/chunks/{qwenOAuth2-LKXG7XVO.js → qwenOAuth2-KRJT35QH.js} +5 -5
- package/chunks/{read-file-BRNXGILN.js → read-file-ZF6EIVE3.js} +9 -11
- package/chunks/ripGrep-N2ZT7M6Z.js +42 -0
- package/chunks/{ru-6CQ5HNHB.js → ru-DQCW2KHD.js} +38 -3
- package/chunks/{scheduler-SSFABMN5.js → scheduler-OS37FUFT.js} +18 -22
- package/chunks/{send-message-GFYV7WLL.js → send-message-YYF56TS7.js} +5 -7
- package/chunks/{serve-B5O72CRN.js → serve-ABOLLDNN.js} +21 -25
- package/chunks/{shell-SGYNBVMK.js → shell-XGN7IDUS.js} +18 -22
- package/chunks/{skill-V7Y6DOFB.js → skill-YQQ6CR4U.js} +88 -25
- package/chunks/{src-OKFFQGXB.js → src-LORPPHWB.js} +86 -33
- package/chunks/{syntheticOutput-DM43O6TY.js → syntheticOutput-T5SWX3YF.js} +4 -5
- package/chunks/{task-stop-WKP5OB3V.js → task-stop-3VHAQMYM.js} +5 -7
- package/chunks/{todoWrite-GHL6DCLP.js → todoWrite-EAGJGKO5.js} +7 -9
- package/chunks/{tool-search-7MHT3HGM.js → tool-search-PDOJPXJJ.js} +27 -15
- package/chunks/{web-fetch-SZIV74ZX.js → web-fetch-SS6IKK6N.js} +7 -9
- package/chunks/{write-file-ARS2Z6BJ.js → write-file-VWWCN7LI.js} +23 -28
- package/chunks/{zh-ZHZCMIRG.js → zh-6VFXOAR5.js} +49 -3
- package/chunks/{zh-TW-SSL3ATVZ.js → zh-TW-IQZ4AD5M.js} +45 -3
- package/cli.js +8143 -4150
- package/examples/agent/agents/diary.md +86 -0
- package/examples/agent/qwen-extension.json +4 -0
- package/examples/commands/commands/fs/grep-code.md +3 -0
- package/examples/commands/qwen-extension.json +4 -0
- package/examples/context/QWEN.md +8 -0
- package/examples/context/qwen-extension.json +4 -0
- package/examples/mcp-server/example.ts +60 -0
- package/examples/mcp-server/package.json +18 -0
- package/examples/mcp-server/qwen-extension.json +11 -0
- package/examples/mcp-server/tsconfig.json +13 -0
- package/examples/skills/qwen-extension.json +4 -0
- package/examples/skills/skills/synonyms/SKILL.md +48 -0
- package/locales/ca.js +64 -4
- package/locales/de.js +63 -4
- package/locales/en.js +75 -4
- package/locales/fr.js +65 -4
- package/locales/ja.js +61 -4
- package/locales/pt.js +64 -4
- package/locales/ru.js +62 -4
- package/locales/zh-TW.js +70 -4
- package/locales/zh.js +74 -4
- package/package.json +3 -2
- package/chunks/chunk-24YKA2DA.js +0 -233
- package/chunks/chunk-6RQTH7UQ.js +0 -115
- package/chunks/chunk-7TQVELRB.js +0 -10412
- package/chunks/chunk-W57YDFU5.js +0 -41
- package/chunks/contextCommand-7KJT3UJS.js +0 -50
- package/chunks/ripGrep-ZRY5PKUZ.js +0 -46
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
// Force strict mode and setup for ESM
|
|
2
|
+
"use strict";
|
|
3
|
+
import {
|
|
4
|
+
RipGrepTool,
|
|
5
|
+
_resetRipGrepCachesForTest
|
|
6
|
+
} from "./chunk-BUOJN3MM.js";
|
|
7
|
+
import "./chunk-K5PGHDBN.js";
|
|
8
|
+
import "./chunk-O4PICXES.js";
|
|
9
|
+
import "./chunk-TW522KN6.js";
|
|
10
|
+
import "./chunk-MLZQVCF3.js";
|
|
11
|
+
import "./chunk-SCHRFI7O.js";
|
|
12
|
+
import "./chunk-PLYZAP4W.js";
|
|
13
|
+
import "./chunk-UABFCMPA.js";
|
|
14
|
+
import "./chunk-77WXWU44.js";
|
|
15
|
+
import "./chunk-6VFG3EUJ.js";
|
|
16
|
+
import "./chunk-3H7ENG2Q.js";
|
|
17
|
+
import "./chunk-3PJXIDKI.js";
|
|
18
|
+
import "./chunk-UWCTAVOD.js";
|
|
19
|
+
import "./chunk-OFEVLU4C.js";
|
|
20
|
+
import "./chunk-AVLOK27J.js";
|
|
21
|
+
import "./chunk-JSYEZAYV.js";
|
|
22
|
+
import "./chunk-5RNZ2QKF.js";
|
|
23
|
+
import "./chunk-G763GDO6.js";
|
|
24
|
+
import "./chunk-JMLIPZUU.js";
|
|
25
|
+
import "./chunk-GBEPNWYB.js";
|
|
26
|
+
import "./chunk-F5ORN4YO.js";
|
|
27
|
+
import "./chunk-MVX64PNU.js";
|
|
28
|
+
import "./chunk-D46KOV3C.js";
|
|
29
|
+
import "./chunk-BNESGOSJ.js";
|
|
30
|
+
import "./chunk-SZOEIL6S.js";
|
|
31
|
+
import "./chunk-5IFG2VC4.js";
|
|
32
|
+
import "./chunk-R5PDRHEF.js";
|
|
33
|
+
import "./chunk-ZERZSAZL.js";
|
|
34
|
+
import "./chunk-QN5NZ3UQ.js";
|
|
35
|
+
import "./chunk-BR4QREVK.js";
|
|
36
|
+
import "./chunk-WFVXF3OM.js";
|
|
37
|
+
import "./chunk-A4BMJM77.js";
|
|
38
|
+
import "./chunk-J2S4EL5Y.js";
|
|
39
|
+
export {
|
|
40
|
+
RipGrepTool,
|
|
41
|
+
_resetRipGrepCachesForTest
|
|
42
|
+
};
|
|
@@ -96,7 +96,30 @@ var ru_default = {
|
|
|
96
96
|
// ============================================================================
|
|
97
97
|
"Analyzes the project and creates a tailored QWEN.md file.": "\u0410\u043D\u0430\u043B\u0438\u0437 \u043F\u0440\u043E\u0435\u043A\u0442\u0430 \u0438 \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u0435 \u0430\u0434\u0430\u043F\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043D\u043E\u0433\u043E \u0444\u0430\u0439\u043B\u0430 QWEN.md",
|
|
98
98
|
"List available Qwen Code tools. Usage: /tools [desc]": "\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432 Qwen Code. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: /tools [desc]",
|
|
99
|
-
"
|
|
99
|
+
"Open the skills panel (browse, search, toggle, pick).": "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043F\u0430\u043D\u0435\u043B\u044C \u043D\u0430\u0432\u044B\u043A\u043E\u0432 (\u043E\u0431\u0437\u043E\u0440, \u043F\u043E\u0438\u0441\u043A, \u0432\u043A\u043B/\u0432\u044B\u043A\u043B, \u0432\u044B\u0431\u043E\u0440).",
|
|
100
|
+
"Manage Skills": "\u0423\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0438\u0435 \u043D\u0430\u0432\u044B\u043A\u0430\u043C\u0438",
|
|
101
|
+
"Skills configuration saved.": "\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043D\u0430\u0432\u044B\u043A\u043E\u0432 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0430.",
|
|
102
|
+
"Skills configuration saved, but refresh failed: {{error}}. Restart to ensure the new state is applied.": "\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043D\u0430\u0432\u044B\u043A\u043E\u0432 \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0430, \u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u0438\u0435 \u043D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C: {{error}}. \u041F\u0435\u0440\u0435\u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u0435, \u0447\u0442\u043E\u0431\u044B \u043F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043D\u043E\u0432\u043E\u0435 \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u0435.",
|
|
103
|
+
"Workspace is untrusted; workspace settings are ignored by the merged config. Run /trust first to persist skills changes here, or edit ~/.qwen/settings.json directly to manage skills at user scope.": "\u0420\u0430\u0431\u043E\u0447\u0430\u044F \u043E\u0431\u043B\u0430\u0441\u0442\u044C \u043D\u0435 \u044F\u0432\u043B\u044F\u0435\u0442\u0441\u044F \u0434\u043E\u0432\u0435\u0440\u0435\u043D\u043D\u043E\u0439; \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438 \u0440\u0430\u0431\u043E\u0447\u0435\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438 \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u0443\u044E\u0442\u0441\u044F \u043E\u0431\u044A\u0435\u0434\u0438\u043D\u0451\u043D\u043D\u043E\u0439 \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439. \u0421\u043D\u0430\u0447\u0430\u043B\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u0438\u0442\u0435 /trust \u0438\u043B\u0438 \u043E\u0442\u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0443\u0439\u0442\u0435 ~/.qwen/settings.json \u043D\u0430\u043F\u0440\u044F\u043C\u0443\u044E, \u0447\u0442\u043E\u0431\u044B \u0443\u043F\u0440\u0430\u0432\u043B\u044F\u0442\u044C \u043D\u0430\u0432\u044B\u043A\u0430\u043C\u0438 \u043D\u0430 \u0443\u0440\u043E\u0432\u043D\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F.",
|
|
104
|
+
"SkillManager not available.": "SkillManager \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D.",
|
|
105
|
+
"Loading skills\u2026": "\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u043D\u0430\u0432\u044B\u043A\u043E\u0432\u2026",
|
|
106
|
+
"Failed to load skills: {{error}}": "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u043D\u0430\u0432\u044B\u043A\u0438: {{error}}",
|
|
107
|
+
"Failed to save skills configuration: {{error}}": "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u043A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044E \u043D\u0430\u0432\u044B\u043A\u043E\u0432: {{error}}",
|
|
108
|
+
"All available skills are disabled. Edit ~/.qwen/settings.json or .qwen/settings.json (skills.disabled) to re-enable.": "\u0412\u0441\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u043D\u0430\u0432\u044B\u043A\u0438 \u043E\u0442\u043A\u043B\u044E\u0447\u0435\u043D\u044B. \u041E\u0442\u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0443\u0439\u0442\u0435 ~/.qwen/settings.json \u0438\u043B\u0438 .qwen/settings.json (skills.disabled), \u0447\u0442\u043E\u0431\u044B \u0441\u043D\u043E\u0432\u0430 \u0438\u0445 \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C.",
|
|
109
|
+
"Press esc to close.": "\u041D\u0430\u0436\u043C\u0438\u0442\u0435 Esc, \u0447\u0442\u043E\u0431\u044B \u0437\u0430\u043A\u0440\u044B\u0442\u044C.",
|
|
110
|
+
"{{count}} skills \xB7 ": "{{count}} \u043D\u0430\u0432\u044B\u043A\u043E\u0432 \xB7 ",
|
|
111
|
+
"{{matched}} / {{total}} skills \xB7 ": "{{matched}} / {{total}} \u043D\u0430\u0432\u044B\u043A\u043E\u0432 \xB7 ",
|
|
112
|
+
"Space toggle \xB7 Enter pick (fill input) \xB7 Esc save & exit \xB7 workspace scope": "\u041F\u0440\u043E\u0431\u0435\u043B \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \xB7 Enter \u0432\u044B\u0431\u0440\u0430\u0442\u044C (\u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432 \u0432\u0432\u043E\u0434) \xB7 Esc \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0438 \u0432\u044B\u0439\u0442\u0438 \xB7 \u043E\u0431\u043B\u0430\u0441\u0442\u044C \u0440\u0430\u0431\u043E\u0447\u0435\u0439 \u043E\u0431\u043B\u0430\u0441\u0442\u0438",
|
|
113
|
+
"Search:": "\u041F\u043E\u0438\u0441\u043A:",
|
|
114
|
+
"type to filter\u2026": "\u0432\u0432\u0435\u0434\u0438\u0442\u0435 \u0434\u043B\u044F \u0444\u0438\u043B\u044C\u0442\u0440\u0430\u0446\u0438\u0438\u2026",
|
|
115
|
+
"No skills are currently available.": "\u0421\u0435\u0439\u0447\u0430\u0441 \u043D\u0430\u0432\u044B\u043A\u043E\u0432 \u043D\u0435\u0442.",
|
|
116
|
+
"All available skills are locked at a higher scope (see below).": "\u0412\u0441\u0435 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u043D\u0430\u0432\u044B\u043A\u0438 \u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u043D\u0430 \u0431\u043E\u043B\u0435\u0435 \u0432\u044B\u0441\u043E\u043A\u043E\u043C \u0443\u0440\u043E\u0432\u043D\u0435 (\u0441\u043C. \u043D\u0438\u0436\u0435).",
|
|
117
|
+
"No skills match the search.": "\u041D\u0435\u0442 \u043D\u0430\u0432\u044B\u043A\u043E\u0432, \u0441\u043E\u043E\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0445 \u043F\u043E\u0438\u0441\u043A\u0443.",
|
|
118
|
+
"Locked by higher-scope settings (cannot toggle here):": "\u0417\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u044B \u043D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0430\u043C\u0438 \u0431\u043E\u043B\u0435\u0435 \u0432\u044B\u0441\u043E\u043A\u043E\u0433\u043E \u0443\u0440\u043E\u0432\u043D\u044F (\u0437\u0434\u0435\u0441\u044C \u043F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043D\u0435\u043B\u044C\u0437\u044F):",
|
|
119
|
+
"higher scope": "\u0431\u043E\u043B\u0435\u0435 \u0432\u044B\u0441\u043E\u043A\u0438\u0439 \u0443\u0440\u043E\u0432\u0435\u043D\u044C",
|
|
120
|
+
" {{name}} {{description}} [locked: {{scope}}]": " {{name}} {{description}} [\u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u043D\u043E: {{scope}}]",
|
|
121
|
+
"\u2191/\u2193 navigate \xB7 backspace edits search": "\u2191/\u2193 \u043D\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044F \xB7 Backspace \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u0443\u0435\u0442 \u043F\u043E\u0438\u0441\u043A",
|
|
122
|
+
Bundled: "\u0412\u0441\u0442\u0440\u043E\u0435\u043D\u043D\u044B\u0439",
|
|
100
123
|
"Available Qwen Code CLI tools:": "\u0414\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B Qwen Code CLI:",
|
|
101
124
|
"No tools available": "\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",
|
|
102
125
|
"View or change the approval mode for tool usage": "\u041F\u0440\u043E\u0441\u043C\u043E\u0442\u0440 \u0438\u043B\u0438 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u0440\u0435\u0436\u0438\u043C\u0430 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0434\u043B\u044F \u0438\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u044F \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",
|
|
@@ -149,7 +172,7 @@ var ru_default = {
|
|
|
149
172
|
"open full Qwen Code documentation in your browser": "\u041E\u0442\u043A\u0440\u044B\u0442\u0438\u0435 \u043F\u043E\u043B\u043D\u043E\u0439 \u0434\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u0430\u0446\u0438\u0438 Qwen Code \u0432 \u0431\u0440\u0430\u0443\u0437\u0435\u0440\u0435",
|
|
150
173
|
"Configuration not available.": "\u041A\u043E\u043D\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044F \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u043D\u0430.",
|
|
151
174
|
"Connect an LLM provider": "\u041F\u043E\u0434\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u043F\u0440\u043E\u0432\u0430\u0439\u0434\u0435\u0440\u0430 LLM",
|
|
152
|
-
"Copy the last
|
|
175
|
+
"Copy the last AI response to clipboard (/copy N for Nth-latest)": "\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043F\u043E\u0441\u043B\u0435\u0434\u043D\u0438\u0439 \u043E\u0442\u0432\u0435\u0442 \u0418\u0418 \u0432 \u0431\u0443\u0444\u0435\u0440 \u043E\u0431\u043C\u0435\u043D\u0430 (/copy N \u0434\u043B\u044F N-\u0433\u043E \u0441 \u043A\u043E\u043D\u0446\u0430)",
|
|
153
176
|
// ============================================================================
|
|
154
177
|
// Команды - Агенты
|
|
155
178
|
// ============================================================================
|
|
@@ -514,6 +537,7 @@ var ru_default = {
|
|
|
514
537
|
"After tool execution fails": "\u041F\u0440\u0438 \u043D\u0435\u0443\u0434\u0430\u0447\u043D\u043E\u043C \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u0438 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430",
|
|
515
538
|
"When notifications are sent": "\u041F\u0440\u0438 \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0435 \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u0439",
|
|
516
539
|
"When the user submits a prompt": "\u041A\u043E\u0433\u0434\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u043B\u044F\u0435\u0442 \u043F\u0440\u043E\u043C\u043F\u0442",
|
|
540
|
+
"When a slash command expands into a prompt": "\u041A\u043E\u0433\u0434\u0430 slash-\u043A\u043E\u043C\u0430\u043D\u0434\u0430 \u0440\u0430\u0437\u0432\u043E\u0440\u0430\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044F \u0432 \u043F\u0440\u043E\u043C\u043F\u0442",
|
|
517
541
|
"When a new session is started": "\u041F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435 \u043D\u043E\u0432\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438",
|
|
518
542
|
"Right before Qwen Code concludes its response": "\u041D\u0435\u043F\u043E\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043D\u043D\u043E \u043F\u0435\u0440\u0435\u0434 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u0435\u043C \u043E\u0442\u0432\u0435\u0442\u0430 Qwen Code",
|
|
519
543
|
"When a subagent (Agent tool call) is started": "\u041F\u0440\u0438 \u0437\u0430\u043F\u0443\u0441\u043A\u0435 \u0441\u0443\u0431\u0430\u0433\u0435\u043D\u0442\u0430 (\u0432\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430 Agent)",
|
|
@@ -529,6 +553,7 @@ var ru_default = {
|
|
|
529
553
|
"Input to command is JSON with tool_name, tool_input, tool_use_id, error, error_type, is_interrupt, and is_timeout.": "\u0412\u0432\u043E\u0434 \u0432 \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u2014 \u044D\u0442\u043E JSON \u0441 tool_name, tool_input, tool_use_id, error, error_type, is_interrupt \u0438 is_timeout.",
|
|
530
554
|
"Input to command is JSON with notification message and type.": "\u0412\u0432\u043E\u0434 \u0432 \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u2014 \u044D\u0442\u043E JSON \u0441 \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435\u043C \u0443\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F \u0438 \u0442\u0438\u043F\u043E\u043C.",
|
|
531
555
|
"Input to command is JSON with original user prompt text.": "\u0412\u0432\u043E\u0434 \u0432 \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u2014 \u044D\u0442\u043E JSON \u0441 \u0438\u0441\u0445\u043E\u0434\u043D\u044B\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C \u043F\u0440\u043E\u043C\u043F\u0442\u0430 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F.",
|
|
556
|
+
"Input to command is JSON with command_name, command_args, and expanded prompt text.": "\u0412\u0432\u043E\u0434 \u0432 \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u2014 \u044D\u0442\u043E JSON \u0441 command_name, command_args \u0438 \u0440\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u044B\u043C \u0442\u0435\u043A\u0441\u0442\u043E\u043C \u043F\u0440\u043E\u043C\u043F\u0442\u0430.",
|
|
532
557
|
"Input to command is JSON with session start source.": "\u0412\u0432\u043E\u0434 \u0432 \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u2014 \u044D\u0442\u043E JSON \u0441 \u0438\u0441\u0442\u043E\u0447\u043D\u0438\u043A\u043E\u043C \u0437\u0430\u043F\u0443\u0441\u043A\u0430 \u0441\u0435\u0441\u0441\u0438\u0438.",
|
|
533
558
|
"Input to command is JSON with session end reason.": "\u0412\u0432\u043E\u0434 \u0432 \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u2014 \u044D\u0442\u043E JSON \u0441 \u043F\u0440\u0438\u0447\u0438\u043D\u043E\u0439 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0441\u0435\u0441\u0441\u0438\u0438.",
|
|
534
559
|
"Input to command is JSON with agent_id and agent_type.": "\u0412\u0432\u043E\u0434 \u0432 \u043A\u043E\u043C\u0430\u043D\u0434\u0443 \u2014 \u044D\u0442\u043E JSON \u0441 agent_id \u0438 agent_type.",
|
|
@@ -545,6 +570,7 @@ var ru_default = {
|
|
|
545
570
|
"show stderr to model immediately": "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C stderr \u043C\u043E\u0434\u0435\u043B\u0438 \u043D\u0435\u043C\u0435\u0434\u043B\u0435\u043D\u043D\u043E",
|
|
546
571
|
"show stderr to user only but continue with tool call": "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C stderr \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044E, \u043D\u043E \u043F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u0432\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430",
|
|
547
572
|
"block processing, erase original prompt, and show stderr to user only": "\u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u043A\u0443, \u0441\u0442\u0435\u0440\u0435\u0442\u044C \u0438\u0441\u0445\u043E\u0434\u043D\u044B\u0439 \u043F\u0440\u043E\u043C\u043F\u0442 \u0438 \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C stderr \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044E",
|
|
573
|
+
"block expanded prompt submission and show stderr to user only": "\u0437\u0430\u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u0430\u0442\u044C \u043E\u0442\u043F\u0440\u0430\u0432\u043A\u0443 \u0440\u0430\u0437\u0432\u0435\u0440\u043D\u0443\u0442\u043E\u0433\u043E \u043F\u0440\u043E\u043C\u043F\u0442\u0430 \u0438 \u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C stderr \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044E",
|
|
548
574
|
"stdout shown to Qwen": "stdout \u043F\u043E\u043A\u0430\u0437\u0430\u043D Qwen",
|
|
549
575
|
"show stderr to user only (blocking errors ignored)": "\u043F\u043E\u043A\u0430\u0437\u0430\u0442\u044C stderr \u0442\u043E\u043B\u044C\u043A\u043E \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044E (\u0431\u043B\u043E\u043A\u0438\u0440\u0443\u044E\u0449\u0438\u0435 \u043E\u0448\u0438\u0431\u043A\u0438 \u0438\u0433\u043D\u043E\u0440\u0438\u0440\u0443\u044E\u0442\u0441\u044F)",
|
|
550
576
|
"command completes successfully": "\u043A\u043E\u043C\u0430\u043D\u0434\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0430",
|
|
@@ -578,6 +604,15 @@ var ru_default = {
|
|
|
578
604
|
// ============================================================================
|
|
579
605
|
"Resume a previous session": "\u041F\u0440\u043E\u0434\u043E\u043B\u0436\u0438\u0442\u044C \u043F\u0440\u0435\u0434\u044B\u0434\u0443\u0449\u0443\u044E \u0441\u0435\u0441\u0441\u0438\u044E",
|
|
580
606
|
"Fork the current conversation into a new session": "\u0421\u043E\u0437\u0434\u0430\u0442\u044C \u0432\u0435\u0442\u043A\u0443 \u0442\u0435\u043A\u0443\u0449\u0435\u0433\u043E \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u0430 \u0432 \u043D\u043E\u0432\u043E\u0439 \u0441\u0435\u0441\u0441\u0438\u0438",
|
|
607
|
+
"Spawn a background agent that inherits the full conversation": "\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C \u0444\u043E\u043D\u043E\u0432\u043E\u0433\u043E \u0430\u0433\u0435\u043D\u0442\u0430, \u043A\u043E\u0442\u043E\u0440\u044B\u0439 \u043D\u0430\u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u0432\u0435\u0441\u044C \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440",
|
|
608
|
+
"Please provide a directive. Usage: /fork <directive>": "\u0423\u043A\u0430\u0436\u0438\u0442\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u044E. \u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u043D\u0438\u0435: /fork <\u0438\u043D\u0441\u0442\u0440\u0443\u043A\u0446\u0438\u044F>",
|
|
609
|
+
"Cannot fork while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.": "\u041D\u0435\u043B\u044C\u0437\u044F \u0441\u043E\u0437\u0434\u0430\u0442\u044C fork, \u043F\u043E\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043E\u0442\u0432\u0435\u0442 \u0438\u043B\u0438 \u0432\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430. \u0414\u043E\u0436\u0434\u0438\u0442\u0435\u0441\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u0439\u0442\u0435 \u043E\u0436\u0438\u0434\u0430\u044E\u0449\u0438\u0439 \u0432\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430.",
|
|
610
|
+
"Cannot fork before the first conversation turn.": "\u041D\u0435\u043B\u044C\u0437\u044F \u0441\u043E\u0437\u0434\u0430\u0442\u044C fork \u0434\u043E \u043F\u0435\u0440\u0432\u043E\u0433\u043E \u0441\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u044F \u0432 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u0435.",
|
|
611
|
+
"The /fork command requires the fork feature gate. Set QWEN_CODE_ENABLE_FORK_SUBAGENT=1 to enable it.": "\u041A\u043E\u043C\u0430\u043D\u0434\u0435 /fork \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F feature gate fork. \u0423\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u0435 QWEN_CODE_ENABLE_FORK_SUBAGENT=1, \u0447\u0442\u043E\u0431\u044B \u0432\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0435\u0433\u043E.",
|
|
612
|
+
"The agent tool is unavailable; cannot fork.": "\u0418\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442 \u0430\u0433\u0435\u043D\u0442\u0430 \u043D\u0435\u0434\u043E\u0441\u0442\u0443\u043F\u0435\u043D; fork \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u043D\u0435\u043B\u044C\u0437\u044F.",
|
|
613
|
+
"Failed to launch fork: {{error}}": "\u041D\u0435 \u0443\u0434\u0430\u043B\u043E\u0441\u044C \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C fork: {{error}}",
|
|
614
|
+
"User launched a background fork via /fork: {{directive}}": "\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044C \u0437\u0430\u043F\u0443\u0441\u0442\u0438\u043B \u0444\u043E\u043D\u043E\u0432\u044B\u0439 fork \u0447\u0435\u0440\u0435\u0437 /fork: {{directive}}",
|
|
615
|
+
"Forked into a background agent. It inherits this conversation and runs without blocking \u2014 track it in the background tasks panel; it reports back when done.": "\u0421\u043E\u0437\u0434\u0430\u043D fork \u0432 \u0444\u043E\u043D\u043E\u0432\u043E\u043C \u0430\u0433\u0435\u043D\u0442\u0435. \u041E\u043D \u043D\u0430\u0441\u043B\u0435\u0434\u0443\u0435\u0442 \u044D\u0442\u043E\u0442 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440 \u0438 \u0440\u0430\u0431\u043E\u0442\u0430\u0435\u0442 \u0431\u0435\u0437 \u0431\u043B\u043E\u043A\u0438\u0440\u043E\u0432\u043A\u0438 \u2014 \u043E\u0442\u0441\u043B\u0435\u0436\u0438\u0432\u0430\u0439\u0442\u0435 \u0435\u0433\u043E \u043D\u0430 \u043F\u0430\u043D\u0435\u043B\u0438 \u0444\u043E\u043D\u043E\u0432\u044B\u0445 \u0437\u0430\u0434\u0430\u0447; \u043E\u043D \u0441\u043E\u043E\u0431\u0449\u0438\u0442 \u0440\u0435\u0437\u0443\u043B\u044C\u0442\u0430\u0442 \u043F\u043E\u0441\u043B\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F.",
|
|
581
616
|
"Cannot branch while a response or tool call is in progress. Wait for it to finish or resolve the pending tool call.": "\u041D\u0435\u043B\u044C\u0437\u044F \u0441\u043E\u0437\u0434\u0430\u0442\u044C \u0432\u0435\u0442\u043A\u0443, \u043F\u043E\u043A\u0430 \u0432\u044B\u043F\u043E\u043B\u043D\u044F\u0435\u0442\u0441\u044F \u043E\u0442\u0432\u0435\u0442 \u0438\u043B\u0438 \u0432\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430. \u0414\u043E\u0436\u0434\u0438\u0442\u0435\u0441\u044C \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u0438\u044F \u0438\u043B\u0438 \u043E\u0431\u0440\u0430\u0431\u043E\u0442\u0430\u0439\u0442\u0435 \u043E\u0436\u0438\u0434\u0430\u044E\u0449\u0438\u0439 \u0432\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430.",
|
|
582
617
|
"No conversation to branch.": "\u041D\u0435\u0442 \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u0430 \u0434\u043B\u044F \u0441\u043E\u0437\u0434\u0430\u043D\u0438\u044F \u0432\u0435\u0442\u043A\u0438.",
|
|
583
618
|
"Restore a tool call. This will reset the conversation and file history to the state it was in when the tool call was suggested": "\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C \u0432\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430. \u042D\u0442\u043E \u0432\u0435\u0440\u043D\u0435\u0442 \u0438\u0441\u0442\u043E\u0440\u0438\u044E \u0440\u0430\u0437\u0433\u043E\u0432\u043E\u0440\u0430 \u0438 \u0444\u0430\u0439\u043B\u043E\u0432 \u043A \u0441\u043E\u0441\u0442\u043E\u044F\u043D\u0438\u044E \u043D\u0430 \u043C\u043E\u043C\u0435\u043D\u0442, \u043A\u043E\u0433\u0434\u0430 \u0431\u044B\u043B \u043F\u0440\u0435\u0434\u043B\u043E\u0436\u0435\u043D \u044D\u0442\u043E\u0442 \u0432\u044B\u0437\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u0430",
|
|
@@ -610,10 +645,10 @@ var ru_default = {
|
|
|
610
645
|
// Команды - Режим подтверждения
|
|
611
646
|
// ============================================================================
|
|
612
647
|
"Tool Approval Mode": "\u0420\u0435\u0436\u0438\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",
|
|
613
|
-
"{{mode}} mode": "\u0420\u0435\u0436\u0438\u043C {{mode}}",
|
|
614
648
|
"Analyze only, do not modify files or execute commands": "\u0422\u043E\u043B\u044C\u043A\u043E \u0430\u043D\u0430\u043B\u0438\u0437, \u0431\u0435\u0437 \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0444\u0430\u0439\u043B\u043E\u0432 \u0438\u043B\u0438 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0438\u044F \u043A\u043E\u043C\u0430\u043D\u0434",
|
|
615
649
|
"Require approval for file edits or shell commands": "\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044F \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u0435 \u0434\u043B\u044F \u0440\u0435\u0434\u0430\u043A\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u0438\u044F \u0444\u0430\u0439\u043B\u043E\u0432 \u0438\u043B\u0438 \u043A\u043E\u043C\u0430\u043D\u0434 \u0442\u0435\u0440\u043C\u0438\u043D\u0430\u043B\u0430",
|
|
616
650
|
"Automatically approve file edits": "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044C \u0438\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u044F \u0444\u0430\u0439\u043B\u043E\u0432",
|
|
651
|
+
"Use classifier to automatically approve safe tool calls": "\u0418\u0441\u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u044C \u043A\u043B\u0430\u0441\u0441\u0438\u0444\u0438\u043A\u0430\u0442\u043E\u0440 \u0434\u043B\u044F \u0430\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0431\u0435\u0437\u043E\u043F\u0430\u0441\u043D\u044B\u0445 \u0432\u044B\u0437\u043E\u0432\u043E\u0432 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u043E\u0432",
|
|
617
652
|
"Automatically approve all tools": "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0438 \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0430\u0442\u044C \u0432\u0441\u0435 \u0438\u043D\u0441\u0442\u0440\u0443\u043C\u0435\u043D\u0442\u044B",
|
|
618
653
|
"Workspace approval mode exists and takes priority. User-level change will have no effect.": "\u0420\u0435\u0436\u0438\u043C \u043F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u0438\u044F \u0440\u0430\u0431\u043E\u0447\u0435\u0433\u043E \u043F\u0440\u043E\u0441\u0442\u0440\u0430\u043D\u0441\u0442\u0432\u0430 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0438 \u0438\u043C\u0435\u0435\u0442 \u043F\u0440\u0438\u043E\u0440\u0438\u0442\u0435\u0442. \u0418\u0437\u043C\u0435\u043D\u0435\u043D\u0438\u0435 \u043D\u0430 \u0443\u0440\u043E\u0432\u043D\u0435 \u043F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u044F \u043D\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u043C\u0435\u0442\u044C \u044D\u0444\u0444\u0435\u043A\u0442\u0430.",
|
|
619
654
|
"Apply To": "\u041F\u0440\u0438\u043C\u0435\u043D\u0438\u0442\u044C \u043A",
|
|
@@ -5,44 +5,40 @@ import {
|
|
|
5
5
|
} from "./chunk-MRO43B25.js";
|
|
6
6
|
import {
|
|
7
7
|
FILE_HISTORY_DIR
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-BUOJN3MM.js";
|
|
9
|
+
import "./chunk-K5PGHDBN.js";
|
|
10
10
|
import "./chunk-O4PICXES.js";
|
|
11
11
|
import "./chunk-TW522KN6.js";
|
|
12
|
-
import "./chunk-7TQVELRB.js";
|
|
13
|
-
import "./chunk-AKBFRR6J.js";
|
|
14
12
|
import "./chunk-MLZQVCF3.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
17
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-SCHRFI7O.js";
|
|
14
|
+
import "./chunk-PLYZAP4W.js";
|
|
15
|
+
import "./chunk-UABFCMPA.js";
|
|
18
16
|
import "./chunk-77WXWU44.js";
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-6VFG3EUJ.js";
|
|
18
|
+
import "./chunk-3H7ENG2Q.js";
|
|
21
19
|
import "./chunk-3PJXIDKI.js";
|
|
22
20
|
import "./chunk-UWCTAVOD.js";
|
|
23
|
-
import "./chunk-W57YDFU5.js";
|
|
24
21
|
import "./chunk-OFEVLU4C.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-TDZCEIK6.js";
|
|
22
|
+
import "./chunk-AVLOK27J.js";
|
|
23
|
+
import "./chunk-JSYEZAYV.js";
|
|
24
|
+
import "./chunk-5RNZ2QKF.js";
|
|
25
|
+
import "./chunk-G763GDO6.js";
|
|
26
|
+
import "./chunk-JMLIPZUU.js";
|
|
27
|
+
import "./chunk-GBEPNWYB.js";
|
|
28
|
+
import "./chunk-F5ORN4YO.js";
|
|
29
|
+
import "./chunk-MVX64PNU.js";
|
|
30
|
+
import "./chunk-D46KOV3C.js";
|
|
35
31
|
import "./chunk-BNESGOSJ.js";
|
|
36
32
|
import "./chunk-SZOEIL6S.js";
|
|
37
33
|
import "./chunk-5IFG2VC4.js";
|
|
38
34
|
import {
|
|
39
35
|
Storage,
|
|
40
36
|
createDebugLogger
|
|
41
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-R5PDRHEF.js";
|
|
42
38
|
import "./chunk-ZERZSAZL.js";
|
|
43
39
|
import "./chunk-QN5NZ3UQ.js";
|
|
44
40
|
import "./chunk-BR4QREVK.js";
|
|
45
|
-
import "./chunk-
|
|
41
|
+
import "./chunk-WFVXF3OM.js";
|
|
46
42
|
import {
|
|
47
43
|
init_esbuild_shims
|
|
48
44
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -1,15 +1,13 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
+
BaseDeclarativeTool,
|
|
5
|
+
BaseToolInvocation,
|
|
4
6
|
ToolDisplayNames,
|
|
5
7
|
ToolNames
|
|
6
|
-
} from "./chunk-
|
|
7
|
-
import
|
|
8
|
-
|
|
9
|
-
BaseToolInvocation
|
|
10
|
-
} from "./chunk-JKUAX6UT.js";
|
|
11
|
-
import "./chunk-ACBGEKB7.js";
|
|
12
|
-
import "./chunk-QWSRH265.js";
|
|
8
|
+
} from "./chunk-G763GDO6.js";
|
|
9
|
+
import "./chunk-R5PDRHEF.js";
|
|
10
|
+
import "./chunk-WFVXF3OM.js";
|
|
13
11
|
import {
|
|
14
12
|
init_esbuild_shims
|
|
15
13
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -29,16 +29,16 @@ import {
|
|
|
29
29
|
getNpmVersion,
|
|
30
30
|
loadSettings,
|
|
31
31
|
mapDomainErrorToErrorKind
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-BPZQVC2P.js";
|
|
33
33
|
import {
|
|
34
34
|
ClientSideConnection,
|
|
35
35
|
PROTOCOL_VERSION,
|
|
36
36
|
ndJsonStream
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-UFC57OYT.js";
|
|
38
38
|
import {
|
|
39
39
|
writeStderrLine,
|
|
40
40
|
writeStdoutLine
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-UQZQP5PA.js";
|
|
42
42
|
import {
|
|
43
43
|
APPROVAL_MODES,
|
|
44
44
|
BuiltinAgentRegistry,
|
|
@@ -56,18 +56,16 @@ import {
|
|
|
56
56
|
loadIgnoreRules,
|
|
57
57
|
require_once,
|
|
58
58
|
writeWorkspaceContextFile
|
|
59
|
-
} from "./chunk-
|
|
60
|
-
import "./chunk-
|
|
59
|
+
} from "./chunk-BUOJN3MM.js";
|
|
60
|
+
import "./chunk-K5PGHDBN.js";
|
|
61
61
|
import "./chunk-O4PICXES.js";
|
|
62
62
|
import "./chunk-TW522KN6.js";
|
|
63
|
-
import "./chunk-7TQVELRB.js";
|
|
64
|
-
import "./chunk-AKBFRR6J.js";
|
|
65
63
|
import "./chunk-MLZQVCF3.js";
|
|
66
|
-
import "./chunk-
|
|
67
|
-
import "./chunk-
|
|
68
|
-
import "./chunk-
|
|
64
|
+
import "./chunk-SCHRFI7O.js";
|
|
65
|
+
import "./chunk-PLYZAP4W.js";
|
|
66
|
+
import "./chunk-UABFCMPA.js";
|
|
69
67
|
import "./chunk-77WXWU44.js";
|
|
70
|
-
import "./chunk-
|
|
68
|
+
import "./chunk-6VFG3EUJ.js";
|
|
71
69
|
import {
|
|
72
70
|
decodeBufferWithEncodingInfo,
|
|
73
71
|
getAllGeminiMdFilenames,
|
|
@@ -75,16 +73,14 @@ import {
|
|
|
75
73
|
isBinaryFile,
|
|
76
74
|
isWithinRoot,
|
|
77
75
|
require_safer
|
|
78
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-3H7ENG2Q.js";
|
|
79
77
|
import "./chunk-3PJXIDKI.js";
|
|
80
78
|
import "./chunk-UWCTAVOD.js";
|
|
81
|
-
import "./chunk-W57YDFU5.js";
|
|
82
79
|
import "./chunk-OFEVLU4C.js";
|
|
83
|
-
import "./chunk-
|
|
84
|
-
import "./chunk-
|
|
85
|
-
import "./chunk-
|
|
86
|
-
import "./chunk-
|
|
87
|
-
import "./chunk-JKUAX6UT.js";
|
|
80
|
+
import "./chunk-AVLOK27J.js";
|
|
81
|
+
import "./chunk-JSYEZAYV.js";
|
|
82
|
+
import "./chunk-5RNZ2QKF.js";
|
|
83
|
+
import "./chunk-G763GDO6.js";
|
|
88
84
|
import {
|
|
89
85
|
QwenOAuth2Client,
|
|
90
86
|
QwenOAuthPollError,
|
|
@@ -93,20 +89,20 @@ import {
|
|
|
93
89
|
isDeviceAuthorizationSuccess,
|
|
94
90
|
isDeviceTokenPending,
|
|
95
91
|
isDeviceTokenSuccess
|
|
96
|
-
} from "./chunk-
|
|
97
|
-
import "./chunk-
|
|
98
|
-
import "./chunk-
|
|
92
|
+
} from "./chunk-JMLIPZUU.js";
|
|
93
|
+
import "./chunk-GBEPNWYB.js";
|
|
94
|
+
import "./chunk-F5ORN4YO.js";
|
|
99
95
|
import {
|
|
100
96
|
detectRuntime,
|
|
101
97
|
redactProxyCredentials
|
|
102
|
-
} from "./chunk-
|
|
103
|
-
import "./chunk-
|
|
98
|
+
} from "./chunk-MVX64PNU.js";
|
|
99
|
+
import "./chunk-D46KOV3C.js";
|
|
104
100
|
import "./chunk-BNESGOSJ.js";
|
|
105
101
|
import "./chunk-SZOEIL6S.js";
|
|
106
102
|
import "./chunk-5IFG2VC4.js";
|
|
107
103
|
import {
|
|
108
104
|
Storage
|
|
109
|
-
} from "./chunk-
|
|
105
|
+
} from "./chunk-R5PDRHEF.js";
|
|
110
106
|
import "./chunk-ZERZSAZL.js";
|
|
111
107
|
import {
|
|
112
108
|
require_src
|
|
@@ -114,7 +110,7 @@ import {
|
|
|
114
110
|
import {
|
|
115
111
|
require_ms
|
|
116
112
|
} from "./chunk-BR4QREVK.js";
|
|
117
|
-
import "./chunk-
|
|
113
|
+
import "./chunk-WFVXF3OM.js";
|
|
118
114
|
import {
|
|
119
115
|
init_esbuild_shims
|
|
120
116
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -7,41 +7,37 @@ import {
|
|
|
7
7
|
buildLongRunningForegroundHint,
|
|
8
8
|
detectBlockedSleepPattern,
|
|
9
9
|
parseNumstat
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import "./chunk-
|
|
10
|
+
} from "./chunk-BUOJN3MM.js";
|
|
11
|
+
import "./chunk-K5PGHDBN.js";
|
|
12
12
|
import "./chunk-O4PICXES.js";
|
|
13
13
|
import "./chunk-TW522KN6.js";
|
|
14
|
-
import "./chunk-7TQVELRB.js";
|
|
15
|
-
import "./chunk-AKBFRR6J.js";
|
|
16
14
|
import "./chunk-MLZQVCF3.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-SCHRFI7O.js";
|
|
16
|
+
import "./chunk-PLYZAP4W.js";
|
|
17
|
+
import "./chunk-UABFCMPA.js";
|
|
20
18
|
import "./chunk-77WXWU44.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
19
|
+
import "./chunk-6VFG3EUJ.js";
|
|
20
|
+
import "./chunk-3H7ENG2Q.js";
|
|
23
21
|
import "./chunk-3PJXIDKI.js";
|
|
24
22
|
import "./chunk-UWCTAVOD.js";
|
|
25
|
-
import "./chunk-W57YDFU5.js";
|
|
26
23
|
import "./chunk-OFEVLU4C.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
33
|
-
import "./chunk-
|
|
34
|
-
import "./chunk-
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-TDZCEIK6.js";
|
|
24
|
+
import "./chunk-AVLOK27J.js";
|
|
25
|
+
import "./chunk-JSYEZAYV.js";
|
|
26
|
+
import "./chunk-5RNZ2QKF.js";
|
|
27
|
+
import "./chunk-G763GDO6.js";
|
|
28
|
+
import "./chunk-JMLIPZUU.js";
|
|
29
|
+
import "./chunk-GBEPNWYB.js";
|
|
30
|
+
import "./chunk-F5ORN4YO.js";
|
|
31
|
+
import "./chunk-MVX64PNU.js";
|
|
32
|
+
import "./chunk-D46KOV3C.js";
|
|
37
33
|
import "./chunk-BNESGOSJ.js";
|
|
38
34
|
import "./chunk-SZOEIL6S.js";
|
|
39
35
|
import "./chunk-5IFG2VC4.js";
|
|
40
|
-
import "./chunk-
|
|
36
|
+
import "./chunk-R5PDRHEF.js";
|
|
41
37
|
import "./chunk-ZERZSAZL.js";
|
|
42
38
|
import "./chunk-QN5NZ3UQ.js";
|
|
43
39
|
import "./chunk-BR4QREVK.js";
|
|
44
|
-
import "./chunk-
|
|
40
|
+
import "./chunk-WFVXF3OM.js";
|
|
45
41
|
import "./chunk-A4BMJM77.js";
|
|
46
42
|
import "./chunk-J2S4EL5Y.js";
|
|
47
43
|
export {
|
|
@@ -1,42 +1,40 @@
|
|
|
1
1
|
// Force strict mode and setup for ESM
|
|
2
2
|
"use strict";
|
|
3
3
|
import {
|
|
4
|
+
applySkillAllowedTools,
|
|
4
5
|
buildSkillLlmContent,
|
|
5
6
|
escapeXml,
|
|
6
7
|
registerSkillHooks
|
|
7
|
-
} from "./chunk-
|
|
8
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-PLYZAP4W.js";
|
|
9
|
+
import "./chunk-UABFCMPA.js";
|
|
9
10
|
import {
|
|
10
11
|
SkillLaunchEvent,
|
|
11
12
|
logSkillLaunch
|
|
12
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-3H7ENG2Q.js";
|
|
13
14
|
import "./chunk-3PJXIDKI.js";
|
|
14
15
|
import "./chunk-UWCTAVOD.js";
|
|
15
|
-
import "./chunk-W57YDFU5.js";
|
|
16
16
|
import "./chunk-OFEVLU4C.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-AVLOK27J.js";
|
|
18
|
+
import "./chunk-JSYEZAYV.js";
|
|
19
|
+
import "./chunk-5RNZ2QKF.js";
|
|
20
20
|
import {
|
|
21
|
+
BaseDeclarativeTool,
|
|
22
|
+
BaseToolInvocation,
|
|
21
23
|
ToolDisplayNames,
|
|
22
24
|
ToolNames
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import
|
|
25
|
-
|
|
26
|
-
BaseToolInvocation
|
|
27
|
-
} from "./chunk-JKUAX6UT.js";
|
|
28
|
-
import "./chunk-HX3JRTWL.js";
|
|
29
|
-
import "./chunk-TDZCEIK6.js";
|
|
25
|
+
} from "./chunk-G763GDO6.js";
|
|
26
|
+
import "./chunk-F5ORN4YO.js";
|
|
27
|
+
import "./chunk-D46KOV3C.js";
|
|
30
28
|
import "./chunk-BNESGOSJ.js";
|
|
31
29
|
import "./chunk-SZOEIL6S.js";
|
|
32
30
|
import "./chunk-5IFG2VC4.js";
|
|
33
31
|
import {
|
|
34
32
|
createDebugLogger
|
|
35
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-R5PDRHEF.js";
|
|
36
34
|
import "./chunk-ZERZSAZL.js";
|
|
37
35
|
import "./chunk-QN5NZ3UQ.js";
|
|
38
36
|
import "./chunk-BR4QREVK.js";
|
|
39
|
-
import "./chunk-
|
|
37
|
+
import "./chunk-WFVXF3OM.js";
|
|
40
38
|
import {
|
|
41
39
|
init_esbuild_shims
|
|
42
40
|
} from "./chunk-A4BMJM77.js";
|
|
@@ -55,7 +53,11 @@ var SkillTool = class _SkillTool extends BaseDeclarativeTool {
|
|
|
55
53
|
properties: {
|
|
56
54
|
skill: {
|
|
57
55
|
type: "string",
|
|
58
|
-
description: 'The skill
|
|
56
|
+
description: 'The skill or command name. E.g., "pdf" or "xlsx"'
|
|
57
|
+
},
|
|
58
|
+
args: {
|
|
59
|
+
type: "string",
|
|
60
|
+
description: "Optional arguments for model-invocable slash commands."
|
|
59
61
|
}
|
|
60
62
|
},
|
|
61
63
|
required: ["skill"],
|
|
@@ -113,18 +115,20 @@ var SkillTool = class _SkillTool extends BaseDeclarativeTool {
|
|
|
113
115
|
async refreshSkills() {
|
|
114
116
|
try {
|
|
115
117
|
const allSkills = await this.skillManager.listSkills();
|
|
118
|
+
const disabledNames = this.config.getDisabledSkillNames();
|
|
119
|
+
const isDisabled = /* @__PURE__ */ __name((name) => disabledNames.has(name.toLowerCase()), "isDisabled");
|
|
116
120
|
this.availableSkills = allSkills.filter(
|
|
117
|
-
(s) => !s.disableModelInvocation && this.skillManager.isSkillActive(s)
|
|
121
|
+
(s) => !s.disableModelInvocation && this.skillManager.isSkillActive(s) && !isDisabled(s.name)
|
|
118
122
|
);
|
|
119
123
|
this.pendingConditionalSkillNames = new Set(
|
|
120
124
|
allSkills.filter(
|
|
121
|
-
(s) => !s.disableModelInvocation && s.paths && s.paths.length > 0 && !this.skillManager.isSkillActive(s)
|
|
125
|
+
(s) => !s.disableModelInvocation && s.paths && s.paths.length > 0 && !this.skillManager.isSkillActive(s) && !isDisabled(s.name)
|
|
122
126
|
).map((s) => s.name)
|
|
123
127
|
);
|
|
124
128
|
const provider = this.config.getModelInvocableCommandsProvider();
|
|
125
129
|
const allCommands = provider ? provider() : [];
|
|
126
130
|
const fileBasedSkillNames = new Set(
|
|
127
|
-
allSkills.filter((s) => !s.disableModelInvocation).map((s) => s.name)
|
|
131
|
+
allSkills.filter((s) => !s.disableModelInvocation && !isDisabled(s.name)).map((s) => s.name)
|
|
128
132
|
);
|
|
129
133
|
this.modelInvocableCommands = allCommands.filter(
|
|
130
134
|
(cmd) => !fileBasedSkillNames.has(cmd.name)
|
|
@@ -190,6 +194,7 @@ How to invoke:
|
|
|
190
194
|
- \`skill: "pdf"\` - invoke the pdf skill
|
|
191
195
|
- \`skill: "xlsx"\` - invoke the xlsx skill
|
|
192
196
|
- \`skill: "ms-office-suite:pdf"\` - invoke using fully qualified name
|
|
197
|
+
- \`skill: "mcp-prompt", args: "topic"\` - invoke a model-invocable command with arguments
|
|
193
198
|
|
|
194
199
|
Important:
|
|
195
200
|
- When a skill is relevant, you must invoke this tool IMMEDIATELY as your first action
|
|
@@ -213,6 +218,9 @@ ${skillDescriptions}
|
|
|
213
218
|
if (!params.skill || typeof params.skill !== "string" || params.skill.trim() === "") {
|
|
214
219
|
return 'Parameter "skill" must be a non-empty string.';
|
|
215
220
|
}
|
|
221
|
+
if (params.args !== void 0 && typeof params.args !== "string") {
|
|
222
|
+
return 'Parameter "args" must be a string when provided.';
|
|
223
|
+
}
|
|
216
224
|
const skillExists = this.availableSkills.some(
|
|
217
225
|
(skill) => skill.name === params.skill
|
|
218
226
|
);
|
|
@@ -221,6 +229,9 @@ ${skillDescriptions}
|
|
|
221
229
|
(cmd) => cmd.name === params.skill
|
|
222
230
|
);
|
|
223
231
|
if (commandExists) return null;
|
|
232
|
+
if (this.config.getDisabledSkillNames().has(params.skill.toLowerCase())) {
|
|
233
|
+
return `Skill "${params.skill}" is disabled. Re-enable it via /skills or remove it from skills.disabled.`;
|
|
234
|
+
}
|
|
224
235
|
if (this.pendingConditionalSkillNames.has(params.skill)) {
|
|
225
236
|
return `Skill "${params.skill}" is gated by path-based activation (paths: frontmatter) and is not yet available. Access a file matching its paths patterns first to activate it.`;
|
|
226
237
|
}
|
|
@@ -243,7 +254,7 @@ ${skillDescriptions}
|
|
|
243
254
|
);
|
|
244
255
|
}
|
|
245
256
|
toAutoClassifierInput(params) {
|
|
246
|
-
return { skill: params.skill };
|
|
257
|
+
return params.args === void 0 ? { skill: params.skill } : { skill: params.skill, args: params.args };
|
|
247
258
|
}
|
|
248
259
|
getAvailableSkillNames() {
|
|
249
260
|
return this.availableSkills.map((skill) => skill.name);
|
|
@@ -295,7 +306,7 @@ var SkillToolInvocation = class extends BaseToolInvocation {
|
|
|
295
306
|
this.promptId = promptId;
|
|
296
307
|
}
|
|
297
308
|
getDescription() {
|
|
298
|
-
return `Use skill: "${this.params.skill}"`;
|
|
309
|
+
return this.params.args === void 0 ? `Use skill: "${this.params.skill}"` : `Use skill: "${this.params.skill}" with args: "${formatArgsForDescription(this.params.args)}"`;
|
|
299
310
|
}
|
|
300
311
|
/**
|
|
301
312
|
* Skills load user-defined code that runs with the agent's tool
|
|
@@ -309,21 +320,64 @@ var SkillToolInvocation = class extends BaseToolInvocation {
|
|
|
309
320
|
return "ask";
|
|
310
321
|
}
|
|
311
322
|
async execute(_signal, _updateOutput) {
|
|
323
|
+
const disabled = this.config.getDisabledSkillNames().has(this.params.skill.toLowerCase());
|
|
324
|
+
if (disabled) {
|
|
325
|
+
if (this.commandExecutor) {
|
|
326
|
+
try {
|
|
327
|
+
const content = await this.commandExecutor(
|
|
328
|
+
this.params.skill,
|
|
329
|
+
this.params.args ?? ""
|
|
330
|
+
);
|
|
331
|
+
if (content && typeof content === "object" && "error" in content) {
|
|
332
|
+
return {
|
|
333
|
+
llmContent: content.error,
|
|
334
|
+
returnDisplay: content.error
|
|
335
|
+
};
|
|
336
|
+
}
|
|
337
|
+
if (typeof content === "string") {
|
|
338
|
+
return {
|
|
339
|
+
llmContent: [{ text: content }],
|
|
340
|
+
returnDisplay: `Delegated to command: ${this.params.skill}`
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
} catch {
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
logSkillLaunch(
|
|
347
|
+
this.config,
|
|
348
|
+
new SkillLaunchEvent(this.params.skill, false, this.promptId)
|
|
349
|
+
);
|
|
350
|
+
const msg = `Skill "${this.params.skill}" is disabled. Re-enable it via /skills or remove it from skills.disabled.`;
|
|
351
|
+
return { llmContent: msg, returnDisplay: msg };
|
|
352
|
+
}
|
|
312
353
|
try {
|
|
313
354
|
const skill = await this.skillManager.loadSkillForRuntime(
|
|
314
355
|
this.params.skill
|
|
315
356
|
);
|
|
316
357
|
if (!skill) {
|
|
317
358
|
if (this.commandExecutor) {
|
|
318
|
-
const
|
|
319
|
-
|
|
359
|
+
const commandResult = await this.commandExecutor(
|
|
360
|
+
this.params.skill,
|
|
361
|
+
this.params.args ?? ""
|
|
362
|
+
);
|
|
363
|
+
if (commandResult && typeof commandResult === "object" && "error" in commandResult) {
|
|
364
|
+
logSkillLaunch(
|
|
365
|
+
this.config,
|
|
366
|
+
new SkillLaunchEvent(this.params.skill, false, this.promptId)
|
|
367
|
+
);
|
|
368
|
+
return {
|
|
369
|
+
llmContent: commandResult.error,
|
|
370
|
+
returnDisplay: commandResult.error
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
if (typeof commandResult === "string") {
|
|
320
374
|
logSkillLaunch(
|
|
321
375
|
this.config,
|
|
322
376
|
new SkillLaunchEvent(this.params.skill, true, this.promptId)
|
|
323
377
|
);
|
|
324
378
|
this.onSkillLoaded(this.params.skill);
|
|
325
379
|
return {
|
|
326
|
-
llmContent: [{ text:
|
|
380
|
+
llmContent: [{ text: commandResult }],
|
|
327
381
|
returnDisplay: `Executed command: ${this.params.skill}`
|
|
328
382
|
};
|
|
329
383
|
}
|
|
@@ -352,6 +406,10 @@ ${errorMessages.join("\n")}` : "";
|
|
|
352
406
|
new SkillLaunchEvent(this.params.skill, true, this.promptId)
|
|
353
407
|
);
|
|
354
408
|
this.onSkillLoaded(this.params.skill);
|
|
409
|
+
applySkillAllowedTools(
|
|
410
|
+
this.config.getPermissionManager(),
|
|
411
|
+
skill.allowedTools
|
|
412
|
+
);
|
|
355
413
|
debugLogger.debug("Skill hooks check:", {
|
|
356
414
|
hasHooks: !!skill.hooks,
|
|
357
415
|
hooksKeys: skill.hooks ? Object.keys(skill.hooks) : [],
|
|
@@ -407,6 +465,11 @@ ${errorMessages.join("\n")}` : "";
|
|
|
407
465
|
}
|
|
408
466
|
}
|
|
409
467
|
};
|
|
468
|
+
function formatArgsForDescription(args) {
|
|
469
|
+
const escapeMarkdown = /* @__PURE__ */ __name((value) => value.replace(/([\\`*_{}[\]()#+\-.!|>])/g, "\\$1"), "escapeMarkdown");
|
|
470
|
+
return args.length > 120 ? `${escapeMarkdown(args.slice(0, 117))}...` : escapeMarkdown(args);
|
|
471
|
+
}
|
|
472
|
+
__name(formatArgsForDescription, "formatArgsForDescription");
|
|
410
473
|
export {
|
|
411
474
|
SkillTool,
|
|
412
475
|
buildSkillLlmContent
|