micro-models-agent 0.4.0 → 0.6.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/dist/agent/context.d.ts +3 -6
- package/dist/agent/context.d.ts.map +1 -1
- package/dist/agent/context.js +8 -41
- package/dist/agent/context.js.map +1 -1
- package/dist/agent/error-escalation.d.ts +6 -6
- package/dist/agent/error-escalation.d.ts.map +1 -1
- package/dist/agent/error-escalation.js +67 -34
- package/dist/agent/error-escalation.js.map +1 -1
- package/dist/agent/loop.d.ts.map +1 -1
- package/dist/agent/loop.js +14 -79
- package/dist/agent/loop.js.map +1 -1
- package/dist/agent/memory.d.ts +0 -29
- package/dist/agent/memory.d.ts.map +1 -1
- package/dist/agent/memory.js +1 -78
- package/dist/agent/memory.js.map +1 -1
- package/dist/agent/modes/registry.d.ts +1 -1
- package/dist/agent/modes/registry.d.ts.map +1 -1
- package/dist/agent/modes/registry.js +26 -27
- package/dist/agent/modes/registry.js.map +1 -1
- package/dist/agent/modes/types.d.ts +0 -5
- package/dist/agent/modes/types.d.ts.map +1 -1
- package/dist/agent/system-prompt.d.ts +1 -1
- package/dist/agent/system-prompt.d.ts.map +1 -1
- package/dist/agent/system-prompt.js +95 -147
- package/dist/agent/system-prompt.js.map +1 -1
- package/dist/agent/tool-executor.d.ts +2 -6
- package/dist/agent/tool-executor.d.ts.map +1 -1
- package/dist/agent/tool-executor.js +79 -65
- package/dist/agent/tool-executor.js.map +1 -1
- package/dist/agent/user-profile.d.ts +1 -21
- package/dist/agent/user-profile.d.ts.map +1 -1
- package/dist/agent/user-profile.js +41 -174
- package/dist/agent/user-profile.js.map +1 -1
- package/dist/agent/write-enforcer.d.ts +3 -7
- package/dist/agent/write-enforcer.d.ts.map +1 -1
- package/dist/agent/write-enforcer.js +7 -71
- package/dist/agent/write-enforcer.js.map +1 -1
- package/dist/cli/config.d.ts.map +1 -1
- package/dist/cli/config.js +2 -25
- package/dist/cli/config.js.map +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +102 -139
- package/dist/cli.js.map +1 -1
- package/dist/config/config.d.ts +15 -0
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +4 -38
- package/dist/config/config.js.map +1 -1
- package/dist/config/types.d.ts +0 -2
- package/dist/config/types.d.ts.map +1 -1
- package/dist/logger.d.ts +10 -3
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +89 -38
- package/dist/logger.js.map +1 -1
- package/dist/repl/commands.d.ts +16 -16
- package/dist/repl/commands.d.ts.map +1 -1
- package/dist/repl/commands.js +474 -321
- package/dist/repl/commands.js.map +1 -1
- package/dist/repl/index.d.ts +4 -4
- package/dist/repl/index.d.ts.map +1 -1
- package/dist/repl/index.js +60 -56
- package/dist/repl/index.js.map +1 -1
- package/dist/session/store.d.ts +4 -7
- package/dist/session/store.d.ts.map +1 -1
- package/dist/session/store.js +35 -71
- package/dist/session/store.js.map +1 -1
- package/dist/setup-wizard.d.ts.map +1 -1
- package/dist/setup-wizard.js +5 -23
- package/dist/setup-wizard.js.map +1 -1
- package/dist/styling/engine.d.ts +7 -12
- package/dist/styling/engine.d.ts.map +1 -1
- package/dist/styling/engine.js +85 -134
- package/dist/styling/engine.js.map +1 -1
- package/dist/styling/index.d.ts +2 -2
- package/dist/styling/index.d.ts.map +1 -1
- package/dist/styling/index.js +0 -1
- package/dist/styling/index.js.map +1 -1
- package/dist/styling/loader.d.ts +2 -2
- package/dist/styling/loader.d.ts.map +1 -1
- package/dist/styling/loader.js +99 -47
- package/dist/styling/loader.js.map +1 -1
- package/dist/subagent/chat.d.ts +19 -0
- package/dist/subagent/chat.d.ts.map +1 -0
- package/dist/subagent/chat.js +279 -0
- package/dist/subagent/chat.js.map +1 -0
- package/dist/subagent/context.d.ts +9 -0
- package/dist/subagent/context.d.ts.map +1 -0
- package/dist/subagent/context.js +75 -0
- package/dist/subagent/context.js.map +1 -0
- package/dist/subagent/definition.d.ts +7 -0
- package/dist/subagent/definition.d.ts.map +1 -0
- package/dist/subagent/definition.js +26 -0
- package/dist/subagent/definition.js.map +1 -0
- package/dist/subagent/errors.d.ts +24 -0
- package/dist/subagent/errors.d.ts.map +1 -0
- package/dist/subagent/errors.js +85 -0
- package/dist/subagent/errors.js.map +1 -0
- package/dist/subagent/validation.d.ts +17 -0
- package/dist/subagent/validation.d.ts.map +1 -0
- package/dist/subagent/validation.js +83 -0
- package/dist/subagent/validation.js.map +1 -0
- package/dist/tools/hooks.d.ts +2 -0
- package/dist/tools/hooks.d.ts.map +1 -1
- package/dist/tools/hooks.js +118 -16
- package/dist/tools/hooks.js.map +1 -1
- package/dist/tools/parse-tool-call.d.ts.map +1 -1
- package/dist/tools/parse-tool-call.js +16 -14
- package/dist/tools/parse-tool-call.js.map +1 -1
- package/dist/tools/registry.d.ts +5 -3
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +47 -28
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/subagent.d.ts +4 -57
- package/dist/tools/subagent.d.ts.map +1 -1
- package/dist/tools/subagent.js +112 -556
- package/dist/tools/subagent.js.map +1 -1
- package/dist/tools/types.d.ts +2 -10
- package/dist/tools/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,8 @@ import { loadAllMemoryDetailed } from "./memory.js";
|
|
|
5
5
|
import { loadProfileSummary } from "./user-profile.js";
|
|
6
6
|
import { getOrBuildProjectMap } from "../indexer/cache.js";
|
|
7
7
|
import { loadAgentsMd, listSkillsWithDescriptions, formatSkillsBlock, invalidateSkillCaches, } from "../skills/loader.js";
|
|
8
|
-
import { logInfo,
|
|
8
|
+
import { logInfo, logDebug } from "../logger.js";
|
|
9
|
+
import { ALL_DEFINITIONS } from "../tools/registry.js";
|
|
9
10
|
/**
|
|
10
11
|
* Build system prompt for the LLM agent.
|
|
11
12
|
*
|
|
@@ -25,113 +26,96 @@ import { logInfo, logWarn, logDebug } from "../logger.js";
|
|
|
25
26
|
*/
|
|
26
27
|
// ─── Tool format ──────────────────────────────────────
|
|
27
28
|
// System prompt block describing the tool calling format
|
|
28
|
-
const TOOL_FORMAT =
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
- action="list" — show all files in the project
|
|
119
|
-
- action="find" — search files by glob pattern
|
|
120
|
-
- action="info" — get details about specific file (path, exports, lines)
|
|
121
|
-
|
|
122
|
-
## Scaffold (create complete project structure programmatically):
|
|
123
|
-
{"name":"scaffold","arguments":{"template":"vite-react-ts","dir":"my-app"}}
|
|
124
|
-
{"name":"scaffold","arguments":{"template":"vite-vanilla-ts","dir":"my-app"}}
|
|
125
|
-
{"name":"scaffold","arguments":{"template":"node-express-ts","dir":"api-server"}}
|
|
126
|
-
|
|
127
|
-
Templates: vite-react-ts (React+TypeScript), vite-vanilla-ts (vanilla TS), node-express-ts (Express+TS)
|
|
128
|
-
Use scaffold INSTEAD of creating project files manually. It creates all config files correctly.
|
|
129
|
-
|
|
130
|
-
## Bash (for non-file operations — npm, git, etc):
|
|
131
|
-
{"name":"bash","arguments":{"cmd":"npm test"}}
|
|
132
|
-
{"name":"bash","arguments":{"cmd":"git status"}}
|
|
133
|
-
|
|
134
|
-
NEVER output tool calls in any other format. ALWAYS use <tool_call> tags.`;
|
|
29
|
+
const TOOL_FORMAT = generateToolFormatString(ALL_DEFINITIONS);
|
|
30
|
+
function generateToolFormatString(defs) {
|
|
31
|
+
const lines = [
|
|
32
|
+
"CRITICAL: Use filesystem tools for file operations — they are more reliable than bash.",
|
|
33
|
+
"",
|
|
34
|
+
"To call a tool, output EXACTLY this format (on its own line):",
|
|
35
|
+
"",
|
|
36
|
+
'<tool_call>{"name":"tool_name","arguments":{...}}</tool_call>',
|
|
37
|
+
"",
|
|
38
|
+
];
|
|
39
|
+
const toolExamples = {
|
|
40
|
+
subagent: [
|
|
41
|
+
'{"name":"subagent","arguments":{"task":"Create src/db.ts: sqlite connection","existingFiles":"package.json"}}',
|
|
42
|
+
'{"name":"subagent","arguments":{"task":"Run tsc --noEmit to check types"}}',
|
|
43
|
+
],
|
|
44
|
+
bash: [
|
|
45
|
+
'{"name":"bash","arguments":{"cmd":"npm test"}}',
|
|
46
|
+
'{"name":"bash","arguments":{"cmd":"git status"}}',
|
|
47
|
+
],
|
|
48
|
+
read_file: [
|
|
49
|
+
'{"name":"read_file","arguments":{"path":"src/index.ts"}}',
|
|
50
|
+
'{"name":"read_file","arguments":{"path":"src/index.ts","offset":50,"limit":100}}',
|
|
51
|
+
],
|
|
52
|
+
write_file: [
|
|
53
|
+
'{"name":"write_file","arguments":{"path":"src/utils.ts","content":"export function foo() { return 1; }"}}',
|
|
54
|
+
],
|
|
55
|
+
edit_file: [
|
|
56
|
+
'{"name":"edit_file","arguments":{"path":"src/index.ts","old_string":"old text","new_string":"new text"}}',
|
|
57
|
+
],
|
|
58
|
+
list_dir: [
|
|
59
|
+
'{"name":"list_dir","arguments":{}}',
|
|
60
|
+
'{"name":"list_dir","arguments":{"path":"src"}}',
|
|
61
|
+
],
|
|
62
|
+
web_search: [
|
|
63
|
+
'{"name":"web_search","arguments":{"query":"weather in Minsk","maxResults":5}}',
|
|
64
|
+
],
|
|
65
|
+
web_fetch: [
|
|
66
|
+
'{"name":"web_fetch","arguments":{"url":"https://example.com"}}',
|
|
67
|
+
],
|
|
68
|
+
web_browse: [
|
|
69
|
+
'{"name":"web_browse","arguments":{"action":"navigate","url":"https://example.com"}}',
|
|
70
|
+
'{"name":"web_browse","arguments":{"action":"scrape","url":"https://example.com/catalog"}}',
|
|
71
|
+
'{"name":"web_browse","arguments":{"action":"click","selector":"button.submit"}}',
|
|
72
|
+
'{"name":"web_browse","arguments":{"action":"screenshot"}}',
|
|
73
|
+
],
|
|
74
|
+
plan: [
|
|
75
|
+
'{"name":"plan","arguments":{"action":"create","name":"Todo App","steps":["Step 1","Step 2"]}}',
|
|
76
|
+
'{"name":"plan","arguments":{"action":"done","step":1}}',
|
|
77
|
+
],
|
|
78
|
+
todo: [
|
|
79
|
+
'{"name":"todo","arguments":{"action":"add","text":"Implement feature X"}}',
|
|
80
|
+
],
|
|
81
|
+
question: [
|
|
82
|
+
'{"name":"question","arguments":{"question":"What color?","choices":["Red","Blue"]}}',
|
|
83
|
+
],
|
|
84
|
+
approve: ['{"name":"approve","arguments":{"action":"Delete file foo.ts"}}'],
|
|
85
|
+
user_profile: ['{"name":"user_profile","arguments":{"action":"show"}}'],
|
|
86
|
+
theme: [
|
|
87
|
+
'{"name":"theme","arguments":{"action":"list"}}',
|
|
88
|
+
'{"name":"theme","arguments":{"action":"switch","name":"dark"}}',
|
|
89
|
+
],
|
|
90
|
+
project_map: [
|
|
91
|
+
'{"name":"project_map","arguments":{"action":"list"}}',
|
|
92
|
+
'{"name":"project_map","arguments":{"action":"info","path":"src/App.tsx"}}',
|
|
93
|
+
],
|
|
94
|
+
scaffold: [
|
|
95
|
+
'{"name":"scaffold","arguments":{"template":"vite-react-ts","dir":"my-app"}}',
|
|
96
|
+
],
|
|
97
|
+
create_dir: [],
|
|
98
|
+
delete_file: [],
|
|
99
|
+
copy_file: [],
|
|
100
|
+
move_file: [],
|
|
101
|
+
file_info: [],
|
|
102
|
+
glob_search: [],
|
|
103
|
+
grep_search: [],
|
|
104
|
+
tree: [],
|
|
105
|
+
};
|
|
106
|
+
for (const def of defs) {
|
|
107
|
+
const name = def.function.name;
|
|
108
|
+
const desc = def.function.description;
|
|
109
|
+
const examples = toolExamples[name] || [];
|
|
110
|
+
lines.push(`## ${name} — ${desc}`);
|
|
111
|
+
for (const ex of examples) {
|
|
112
|
+
lines.push(` ${ex}`);
|
|
113
|
+
}
|
|
114
|
+
lines.push("");
|
|
115
|
+
}
|
|
116
|
+
lines.push("NEVER output tool calls in any other format. ALWAYS use <tool_call> tags.");
|
|
117
|
+
return lines.join("\n");
|
|
118
|
+
}
|
|
135
119
|
// ─── Conversation flow ──────────────────────────────────
|
|
136
120
|
// System prompt block explaining how the dialog cycle works
|
|
137
121
|
const CONVERSATION_FLOW = `## How This Works (IMPORTANT — read this carefully)
|
|
@@ -288,21 +272,6 @@ const RULES_FAST = composeRules([
|
|
|
288
272
|
"subagent_context_fast",
|
|
289
273
|
"web_tools",
|
|
290
274
|
]);
|
|
291
|
-
const GROUNDING_RULE = `## Grounding Rule (CRITICAL — prevents hallucinations)
|
|
292
|
-
Before EVERY <tool_call> to a filesystem tool (read_file, write_file, edit_file, etc.),
|
|
293
|
-
you MUST output a grounding marker on its own line:
|
|
294
|
-
@grounding[файл: <target-path>]
|
|
295
|
-
where <target-path> is the file path from the tool call arguments.
|
|
296
|
-
This proves you know which file you are operating on and prevents path hallucinations.
|
|
297
|
-
|
|
298
|
-
Examples:
|
|
299
|
-
@grounding[файл: src/index.ts]
|
|
300
|
-
<tool_call>{"name":"read_file","arguments":{"path":"src/index.ts"}}</tool_call>
|
|
301
|
-
|
|
302
|
-
@grounding[файл: src/utils.ts]
|
|
303
|
-
<tool_call>{"name":"write_file","arguments":{"path":"src/utils.ts","content":"..."}}</tool_call>
|
|
304
|
-
|
|
305
|
-
If you cannot determine the exact file path — do NOT call the tool. Ask the user for clarification first.`;
|
|
306
275
|
const POWERSHELL_EXAMPLES = `Examples (PowerShell):
|
|
307
276
|
<tool_call>{"name":"bash","arguments":{"cmd":"dir"}}</tool_call>
|
|
308
277
|
<tool_call>{"name":"bash","arguments":{"cmd":"Get-Content src\\\\index.ts"}}</tool_call>
|
|
@@ -367,13 +336,13 @@ export function invalidateSystemPromptCache() {
|
|
|
367
336
|
* @param mode - working mode (fast/pro/base)
|
|
368
337
|
* @returns Assembled system prompt string
|
|
369
338
|
*/
|
|
370
|
-
export function buildSystemPrompt(extraSkills, mode,
|
|
339
|
+
export function buildSystemPrompt(extraSkills, mode, flags) {
|
|
371
340
|
const start = performance.now();
|
|
372
341
|
// Cache key: current directory + mode + skill names (sorted)
|
|
373
342
|
const key = `${process.cwd()}:${mode || "base"}:${extraSkills
|
|
374
343
|
?.map((s) => s.name)
|
|
375
344
|
.sort()
|
|
376
|
-
.join(",") || ""}
|
|
345
|
+
.join(",") || ""}`;
|
|
377
346
|
const cached = systemPromptCache.get(key);
|
|
378
347
|
if (cached) {
|
|
379
348
|
logDebug("SYSTEM", "buildSystemPrompt: cache hit");
|
|
@@ -417,19 +386,11 @@ export function buildSystemPrompt(extraSkills, mode, pluginSections, flags) {
|
|
|
417
386
|
? [
|
|
418
387
|
TOOL_FORMAT,
|
|
419
388
|
CONVERSATION_FLOW,
|
|
420
|
-
GROUNDING_RULE,
|
|
421
389
|
POWERSHELL_EXAMPLES,
|
|
422
390
|
rules,
|
|
423
391
|
POWERSHELL_RULES,
|
|
424
392
|
].join("\n\n")
|
|
425
|
-
: [
|
|
426
|
-
TOOL_FORMAT,
|
|
427
|
-
CONVERSATION_FLOW,
|
|
428
|
-
GROUNDING_RULE,
|
|
429
|
-
UNIX_EXAMPLES,
|
|
430
|
-
rules,
|
|
431
|
-
UNIX_RULES,
|
|
432
|
-
].join("\n\n");
|
|
393
|
+
: [TOOL_FORMAT, CONVERSATION_FLOW, UNIX_EXAMPLES, rules, UNIX_RULES].join("\n\n");
|
|
433
394
|
const header = `You are Micro Models Agent (MMA), an AI coding assistant.
|
|
434
395
|
You help with software engineering tasks in the project directory.`;
|
|
435
396
|
const sysInfo = [
|
|
@@ -508,19 +469,6 @@ You help with software engineering tasks in the project directory.`;
|
|
|
508
469
|
const result = base +
|
|
509
470
|
(extraSkills && extraSkills.length > 0 && mode !== "fast"
|
|
510
471
|
? "\n\n" + formatSkillsBlock(extraSkills)
|
|
511
|
-
: "") +
|
|
512
|
-
(pluginSections?.length
|
|
513
|
-
? "\n\n## Plugin Context (facts only)\n\n" +
|
|
514
|
-
pluginSections
|
|
515
|
-
.map((s) => {
|
|
516
|
-
// Лимит: 200 токенов ≈ 800 символов на секцию плагина
|
|
517
|
-
if (s.length > 800) {
|
|
518
|
-
logWarn("SYSTEM", `plugin section too long (${s.length} chars), truncating to 800`);
|
|
519
|
-
return s.slice(0, 800) + "\n[truncated]";
|
|
520
|
-
}
|
|
521
|
-
return s;
|
|
522
|
-
})
|
|
523
|
-
.join("\n\n")
|
|
524
472
|
: "");
|
|
525
473
|
const elapsed = (performance.now() - start).toFixed(0);
|
|
526
474
|
logInfo("SYSTEM", `buildSystemPrompt: ${result.length} chars in ${elapsed}ms`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EACL,YAAY,EACZ,0BAA0B,EAC1B,iBAAiB,EACjB,qBAAqB,GAEtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/agent/system-prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { ToolHandler, ToolResult, ToolContext, ParsedToolCall } from
|
|
2
|
-
import type { PluginManager } from '../plugins/manager.js';
|
|
1
|
+
import type { ToolHandler, ToolResult, ToolContext, ParsedToolCall } from "../tools/types.js";
|
|
3
2
|
/** Обрезка вывода инструмента для экономии токенов */
|
|
4
3
|
export declare function truncateOutput(toolName: string, output: string, exitCode: number): string;
|
|
5
4
|
/** Результат выполнения ToolExecutor */
|
|
@@ -10,11 +9,8 @@ export interface ExecutorResult {
|
|
|
10
9
|
}
|
|
11
10
|
export declare class ToolExecutor {
|
|
12
11
|
private handlers;
|
|
13
|
-
private pluginManager?;
|
|
14
12
|
/** Повторяющиеся ошибки: hash → { count, lastStderr } */
|
|
15
13
|
private recentErrors;
|
|
16
|
-
/** Установка менеджера плагинов */
|
|
17
|
-
setPluginManager(pm: PluginManager): void;
|
|
18
14
|
/** Регистрация обработчика инструмента */
|
|
19
15
|
register(handler: ToolHandler): void;
|
|
20
16
|
/** Регистрация нескольких обработчиков */
|
|
@@ -24,7 +20,7 @@ export declare class ToolExecutor {
|
|
|
24
20
|
/** Получение обработчика по имени */
|
|
25
21
|
get(name: string): ToolHandler | undefined;
|
|
26
22
|
/** Получение определений всех инструментов для LLM */
|
|
27
|
-
getDefinitions(): import("../tools/
|
|
23
|
+
getDefinitions(): import("../tools/registry.js").ToolDefinition[];
|
|
28
24
|
/** Pre-flight проверка существования пути для FS-тулов */
|
|
29
25
|
private preFlightCheck;
|
|
30
26
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/agent/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../src/agent/tool-executor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,WAAW,EACX,UAAU,EACV,WAAW,EACX,cAAc,EACf,MAAM,mBAAmB,CAAC;AAmH3B,sDAAsD;AACtD,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,MAAM,CASR;AAED,wCAAwC;AACxC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,kCAAkC;IAClC,OAAO,EAAE,MAAM,CAAC;CACjB;AA2BD,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAuC;IACvD,yDAAyD;IACzD,OAAO,CAAC,YAAY,CACR;IAEZ,0CAA0C;IAC1C,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,IAAI;IAIpC,0CAA0C;IAC1C,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI;IAM1C,yCAAyC;IACzC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,qCAAqC;IACrC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IAI1C,sDAAsD;IACtD,cAAc;IAId,0DAA0D;IAC1D,OAAO,CAAC,cAAc;IA8CtB;;;;;;;OAOG;IACG,OAAO,CACX,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,WAAW,EACpB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,CAAC;CA8K3B"}
|