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
package/dist/logger.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ export declare function writeStatus(msg: string): void;
|
|
|
4
4
|
export declare function initSessionLog(sessionId: string): void;
|
|
5
5
|
export declare function getLogPath(): string;
|
|
6
6
|
export declare function closeSessionLog(): void;
|
|
7
|
-
export declare function log(level:
|
|
7
|
+
export declare function log(level: "INFO" | "WARN" | "ERROR" | "DEBUG", tag: string, message: string): void;
|
|
8
8
|
export declare function logInfo(tag: string, message: string): void;
|
|
9
9
|
export declare function logWarn(tag: string, message: string): void;
|
|
10
10
|
export declare function logError(tag: string, message: string): void;
|
|
@@ -12,6 +12,13 @@ export declare function logDebug(tag: string, message: string): void;
|
|
|
12
12
|
export declare function logLLMRequest(model: string, messagesCount: number, promptPreview: string, caller?: string): void;
|
|
13
13
|
export declare function logLLMResponse(model: string, responseLength: number, genTimeMs: number, error?: string, caller?: string): void;
|
|
14
14
|
export declare function logToolCall(tool: string, preview: string, result?: string): void;
|
|
15
|
-
|
|
16
|
-
export declare function
|
|
15
|
+
/** Запись полного вывода тула в лог (уровень DEBUG) */
|
|
16
|
+
export declare function logToolOutput(tool: string, output: string, exitCode: number): void;
|
|
17
|
+
export declare function logREPL(tag: "user" | "assistant" | "system", content: string): void;
|
|
18
|
+
/**
|
|
19
|
+
* Очистка старых логов.
|
|
20
|
+
* - Удаляет файлы старше maxDays
|
|
21
|
+
* - Оставляет не более maxFiles самых свежих .log файлов
|
|
22
|
+
*/
|
|
23
|
+
export declare function cleanupOldLogs(maxDays?: number, maxFiles?: number): void;
|
|
17
24
|
//# sourceMappingURL=logger.d.ts.map
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAuBA,wBAAgB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAE5E;AAED,wBAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAuBA,wBAAgB,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAE5E;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,GACvE,IAAI,CAEN;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE7C;AAMD,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAItD;AAED,wBAAgB,UAAU,IAAI,MAAM,CAMnC;AAED,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAiBD,wBAAgB,GAAG,CACjB,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,EAC1C,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,IAAI,CAON;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;AACD,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D;AACD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3D;AACD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3D;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAMN;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,EACjB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAUN;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAUN;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,IAAI,CAON;AAED,wBAAgB,OAAO,CACrB,GAAG,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,EACpC,OAAO,EAAE,MAAM,GACd,IAAI,CAIN;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,OAAO,SAAmB,EAC1B,QAAQ,SAAgB,GACvB,IAAI,CAyCN"}
|
package/dist/logger.js
CHANGED
|
@@ -1,19 +1,11 @@
|
|
|
1
|
-
import { appendFileSync, mkdirSync, existsSync } from
|
|
2
|
-
import { join } from
|
|
3
|
-
import { homedir } from
|
|
4
|
-
|
|
5
|
-
*
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* - Дневные логи: YYYY-MM-DD.log
|
|
10
|
-
*
|
|
11
|
-
* Уровни: INFO, WARN, ERROR, DEBUG.
|
|
12
|
-
* Специальные логи: LLM request/response, tool calls.
|
|
13
|
-
*
|
|
14
|
-
* @module logger
|
|
15
|
-
*/
|
|
16
|
-
const LOGS_DIR = join(homedir(), '.mma', 'logs');
|
|
1
|
+
import { appendFileSync, mkdirSync, existsSync, readdirSync, statSync, unlinkSync, renameSync, } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
const LOGS_DIR = join(homedir(), ".mma", "logs");
|
|
5
|
+
const MAX_LOG_SIZE = 5 * 1024 * 1024; // 5 MB на файл
|
|
6
|
+
const MAX_LOG_FILES = 30; // макс. количество файлов в директории
|
|
7
|
+
const DEFAULT_MAX_DAYS = 30; // макс. возраст файла в днях
|
|
8
|
+
const TOOL_OUTPUT_LIMIT = 2000; // макс. символов вывода тула в логе
|
|
17
9
|
let _sessionLogPath = null;
|
|
18
10
|
let _statusWriter = null;
|
|
19
11
|
let _logRenderer = null;
|
|
@@ -33,6 +25,7 @@ function ensureDir() {
|
|
|
33
25
|
export function initSessionLog(sessionId) {
|
|
34
26
|
ensureDir();
|
|
35
27
|
_sessionLogPath = join(LOGS_DIR, `${sessionId}.log`);
|
|
28
|
+
cleanupOldLogs();
|
|
36
29
|
}
|
|
37
30
|
export function getLogPath() {
|
|
38
31
|
if (_sessionLogPath)
|
|
@@ -48,22 +41,44 @@ export function closeSessionLog() {
|
|
|
48
41
|
function timestamp() {
|
|
49
42
|
return new Date().toISOString();
|
|
50
43
|
}
|
|
44
|
+
/** Ротировать файл если превышен лимит размера */
|
|
45
|
+
function rotateIfNeeded(filePath) {
|
|
46
|
+
if (!existsSync(filePath))
|
|
47
|
+
return;
|
|
48
|
+
const size = statSync(filePath).size;
|
|
49
|
+
if (size < MAX_LOG_SIZE)
|
|
50
|
+
return;
|
|
51
|
+
let idx = 1;
|
|
52
|
+
while (existsSync(`${filePath}.${idx}`))
|
|
53
|
+
idx++;
|
|
54
|
+
renameSync(filePath, `${filePath}.${idx}`);
|
|
55
|
+
}
|
|
51
56
|
export function log(level, tag, message) {
|
|
52
57
|
ensureDir();
|
|
58
|
+
const fp = getLogPath();
|
|
59
|
+
rotateIfNeeded(fp);
|
|
53
60
|
const line = `[${timestamp()}] [${level}] [${tag}] ${message}\n`;
|
|
54
|
-
appendFileSync(
|
|
61
|
+
appendFileSync(fp, line, "utf-8");
|
|
55
62
|
_logRenderer?.(level, tag, message);
|
|
56
63
|
}
|
|
57
|
-
export function logInfo(tag, message) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
export function
|
|
64
|
+
export function logInfo(tag, message) {
|
|
65
|
+
log("INFO", tag, message);
|
|
66
|
+
}
|
|
67
|
+
export function logWarn(tag, message) {
|
|
68
|
+
log("WARN", tag, message);
|
|
69
|
+
}
|
|
70
|
+
export function logError(tag, message) {
|
|
71
|
+
log("ERROR", tag, message);
|
|
72
|
+
}
|
|
73
|
+
export function logDebug(tag, message) {
|
|
74
|
+
log("DEBUG", tag, message);
|
|
75
|
+
}
|
|
61
76
|
export function logLLMRequest(model, messagesCount, promptPreview, caller) {
|
|
62
|
-
const tag = caller ? `LLM/${caller}` :
|
|
77
|
+
const tag = caller ? `LLM/${caller}` : "LLM";
|
|
63
78
|
logInfo(tag, `→ ${model} | ${messagesCount} messages | "${promptPreview.slice(0, 100)}"`);
|
|
64
79
|
}
|
|
65
80
|
export function logLLMResponse(model, responseLength, genTimeMs, error, caller) {
|
|
66
|
-
const tag = caller ? `LLM/${caller}` :
|
|
81
|
+
const tag = caller ? `LLM/${caller}` : "LLM";
|
|
67
82
|
if (error) {
|
|
68
83
|
logError(tag, `← ${model} | ${responseLength} chars | ${genTimeMs}ms | ERROR: ${error}`);
|
|
69
84
|
}
|
|
@@ -72,33 +87,69 @@ export function logLLMResponse(model, responseLength, genTimeMs, error, caller)
|
|
|
72
87
|
}
|
|
73
88
|
}
|
|
74
89
|
export function logToolCall(tool, preview, result) {
|
|
75
|
-
const previewTrimmed = preview.length >
|
|
90
|
+
const previewTrimmed = preview.length > 200 ? preview.slice(0, 200) + "..." : preview;
|
|
76
91
|
if (result !== undefined) {
|
|
77
|
-
const resultTrimmed = result.length >
|
|
78
|
-
logInfo(
|
|
92
|
+
const resultTrimmed = result.length > 200 ? result.slice(0, 200) + "..." : result;
|
|
93
|
+
logInfo("TOOL", `${tool} | ${previewTrimmed} → ${resultTrimmed}`);
|
|
79
94
|
}
|
|
80
95
|
else {
|
|
81
|
-
logInfo(
|
|
96
|
+
logInfo("TOOL", `${tool} | ${previewTrimmed}`);
|
|
82
97
|
}
|
|
83
98
|
}
|
|
99
|
+
/** Запись полного вывода тула в лог (уровень DEBUG) */
|
|
100
|
+
export function logToolOutput(tool, output, exitCode) {
|
|
101
|
+
const trimmed = output.length > TOOL_OUTPUT_LIMIT
|
|
102
|
+
? output.slice(0, TOOL_OUTPUT_LIMIT) +
|
|
103
|
+
`\n... (truncated ${output.length - TOOL_OUTPUT_LIMIT} chars)`
|
|
104
|
+
: output;
|
|
105
|
+
logDebug("TOOL_OUTPUT", `${tool} exit:${exitCode}\n${trimmed}`);
|
|
106
|
+
}
|
|
84
107
|
export function logREPL(tag, content) {
|
|
85
|
-
const trimmed = content.length >
|
|
108
|
+
const trimmed = content.length > 400 ? content.slice(0, 400) + "..." : content;
|
|
86
109
|
logInfo(`REPL/${tag}`, trimmed);
|
|
87
110
|
}
|
|
88
|
-
|
|
111
|
+
/**
|
|
112
|
+
* Очистка старых логов.
|
|
113
|
+
* - Удаляет файлы старше maxDays
|
|
114
|
+
* - Оставляет не более maxFiles самых свежих .log файлов
|
|
115
|
+
*/
|
|
116
|
+
export function cleanupOldLogs(maxDays = DEFAULT_MAX_DAYS, maxFiles = MAX_LOG_FILES) {
|
|
89
117
|
ensureDir();
|
|
90
|
-
const { readdirSync, unlinkSync } = require('node:fs');
|
|
91
118
|
const now = Date.now();
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
119
|
+
// 1. Удалить по возрасту
|
|
120
|
+
const files = readdirSync(LOGS_DIR)
|
|
121
|
+
.filter((f) => f.endsWith(".log") || /\.log\.\d+$/.test(f))
|
|
122
|
+
.map((f) => ({
|
|
123
|
+
name: f,
|
|
124
|
+
path: join(LOGS_DIR, f),
|
|
125
|
+
mtime: statSync(join(LOGS_DIR, f)).mtimeMs,
|
|
126
|
+
}))
|
|
127
|
+
.sort((a, b) => b.mtime - a.mtime); // newest first
|
|
128
|
+
for (const f of files) {
|
|
129
|
+
if (now - f.mtime > maxDays * 24 * 60 * 60 * 1000) {
|
|
98
130
|
try {
|
|
99
|
-
unlinkSync(
|
|
131
|
+
unlinkSync(f.path);
|
|
132
|
+
}
|
|
133
|
+
catch {
|
|
134
|
+
/* ignore */
|
|
100
135
|
}
|
|
101
|
-
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
// 2. Удалить лишние (свежие, но больше maxFiles штук)
|
|
139
|
+
const remaining = readdirSync(LOGS_DIR)
|
|
140
|
+
.filter((f) => f.endsWith(".log") || /\.log\.\d+$/.test(f))
|
|
141
|
+
.map((f) => ({
|
|
142
|
+
name: f,
|
|
143
|
+
path: join(LOGS_DIR, f),
|
|
144
|
+
mtime: statSync(join(LOGS_DIR, f)).mtimeMs,
|
|
145
|
+
}))
|
|
146
|
+
.sort((a, b) => b.mtime - a.mtime);
|
|
147
|
+
for (let i = maxFiles; i < remaining.length; i++) {
|
|
148
|
+
try {
|
|
149
|
+
unlinkSync(remaining[i].path);
|
|
150
|
+
}
|
|
151
|
+
catch {
|
|
152
|
+
/* ignore */
|
|
102
153
|
}
|
|
103
154
|
}
|
|
104
155
|
}
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
|
package/dist/repl/commands.d.ts
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
import type { LLMProvider } from
|
|
2
|
-
import type { ToolRegistry } from
|
|
3
|
-
import type { OutputRenderer } from
|
|
1
|
+
import type { LLMProvider } from "../llm/provider.js";
|
|
2
|
+
import type { ToolRegistry } from "../tools/registry.js";
|
|
3
|
+
import type { OutputRenderer } from "../ui/renderer.js";
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Слэш-команды REPL.
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
7
|
+
* Все команды, доступные пользователю через префикс /:
|
|
8
|
+
* - Навигация: exit, quit, help, clear, new, stop
|
|
9
|
+
* - Файлы: read, write, edit, find, search
|
|
10
10
|
* - Git: git
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
11
|
+
* - Агент: memory, skill, tools, sessions, resume, save
|
|
12
|
+
* - Проект: init, index
|
|
13
13
|
* - UI: theme, profile, mode
|
|
14
|
-
* -
|
|
14
|
+
* - РРєСЃРїРѕСЂС‚: export
|
|
15
15
|
*
|
|
16
16
|
* @module repl/commands
|
|
17
17
|
*/
|
|
18
18
|
type SlashHandler = (args: string, context: CommandContext) => Promise<void> | void;
|
|
19
|
-
/**
|
|
19
|
+
/** Контекст для выполнения слэш-команд */
|
|
20
20
|
export interface CommandContext {
|
|
21
21
|
renderer: OutputRenderer;
|
|
22
22
|
provider: LLMProvider;
|
|
23
23
|
registry: ToolRegistry;
|
|
24
24
|
history: {
|
|
25
|
-
role:
|
|
25
|
+
role: "user" | "assistant";
|
|
26
26
|
content: string;
|
|
27
27
|
}[];
|
|
28
28
|
conversationHistory: {
|
|
29
|
-
role:
|
|
29
|
+
role: "user" | "assistant";
|
|
30
30
|
content: string;
|
|
31
31
|
}[];
|
|
32
32
|
modelLabel: string;
|
|
33
33
|
currentMode?: string;
|
|
34
34
|
sessionId?: string;
|
|
35
35
|
}
|
|
36
|
-
/**
|
|
36
|
+
/** Определение слэш-команды */
|
|
37
37
|
export interface SlashCommand {
|
|
38
38
|
name: string;
|
|
39
39
|
description: string;
|
|
40
40
|
handler: SlashHandler;
|
|
41
41
|
}
|
|
42
|
-
/**
|
|
42
|
+
/** Возвращает список всех доступных слэш-команд */
|
|
43
43
|
export declare function getSlashCommands(): SlashCommand[];
|
|
44
|
-
/**
|
|
44
|
+
/** Парсит строку ввода на слэш-команду и аргументы */
|
|
45
45
|
export declare function parseSlashCommand(line: string): {
|
|
46
46
|
cmd: string;
|
|
47
47
|
args: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/repl/commands.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/repl/commands.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAuCzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAExD;;;;;;;;;;;;;GAaG;AAEH,KAAK,YAAY,GAAG,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAE1B,yEAAyE;AACzE,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,WAAW,CAAC;IACtB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3D,mBAAmB,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACvE,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,YAAY,CAAC;CACvB;AAED,0FAA0F;AAC1F,wBAAgB,gBAAgB,IAAI,YAAY,EAAE,CA2DjD;AAED,8FAA8F;AAC9F,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,GACX;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMtC;AAiJD,wBAAgB,aAAa;;;EAE5B;AACD,wBAAgB,eAAe,SAG9B;AACD,wBAAgB,WAAW,YAE1B;AAaD,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,CAc5E;AAgcD,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAUzD;AAED,wBAAgB,UAAU,IAAI;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,GAAG,IAAI,CAqBP"}
|