openhorse 0.2.9 → 0.2.11
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 +7 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +50 -2
- package/dist/commands/index.js.map +1 -1
- package/dist/framework/prompt.d.ts.map +1 -1
- package/dist/framework/prompt.js +15 -2
- package/dist/framework/prompt.js.map +1 -1
- package/dist/framework/query.d.ts +2 -0
- package/dist/framework/query.d.ts.map +1 -1
- package/dist/framework/query.js +82 -10
- package/dist/framework/query.js.map +1 -1
- package/dist/framework/tool-scheduler.d.ts +3 -0
- package/dist/framework/tool-scheduler.d.ts.map +1 -1
- package/dist/framework/tool-scheduler.js +9 -0
- package/dist/framework/tool-scheduler.js.map +1 -1
- package/dist/harness/intent.d.ts.map +1 -1
- package/dist/harness/intent.js +6 -0
- package/dist/harness/intent.js.map +1 -1
- package/dist/ink-ui/components/RunningHorseIndicator.d.ts.map +1 -1
- package/dist/ink-ui/components/RunningHorseIndicator.js +2 -1
- package/dist/ink-ui/components/RunningHorseIndicator.js.map +1 -1
- package/dist/runtime/agent-runtime-controller.d.ts +1 -0
- package/dist/runtime/agent-runtime-controller.d.ts.map +1 -1
- package/dist/runtime/agent-runtime-controller.js +22 -1
- package/dist/runtime/agent-runtime-controller.js.map +1 -1
- package/dist/runtime/agent-status.d.ts +4 -0
- package/dist/runtime/agent-status.d.ts.map +1 -0
- package/dist/runtime/agent-status.js +15 -0
- package/dist/runtime/agent-status.js.map +1 -0
- package/dist/runtime/chat-controller.d.ts.map +1 -1
- package/dist/runtime/chat-controller.js +40 -8
- package/dist/runtime/chat-controller.js.map +1 -1
- package/dist/services/compact/auto-compact.d.ts +19 -0
- package/dist/services/compact/auto-compact.d.ts.map +1 -1
- package/dist/services/compact/auto-compact.js +55 -7
- package/dist/services/compact/auto-compact.js.map +1 -1
- package/dist/services/config-dir.d.ts +2 -0
- package/dist/services/config-dir.d.ts.map +1 -1
- package/dist/services/config-dir.js +5 -0
- package/dist/services/config-dir.js.map +1 -1
- package/dist/services/config.d.ts +4 -2
- package/dist/services/config.d.ts.map +1 -1
- package/dist/services/config.js +43 -4
- package/dist/services/config.js.map +1 -1
- package/dist/services/doctor.d.ts.map +1 -1
- package/dist/services/doctor.js +33 -0
- package/dist/services/doctor.js.map +1 -1
- package/dist/services/global-config.d.ts +14 -6
- package/dist/services/global-config.d.ts.map +1 -1
- package/dist/services/global-config.js +5 -20
- package/dist/services/global-config.js.map +1 -1
- package/dist/services/llm.d.ts +2 -0
- package/dist/services/llm.d.ts.map +1 -1
- package/dist/services/llm.js +95 -20
- package/dist/services/llm.js.map +1 -1
- package/dist/services/model-context.d.ts +10 -1
- package/dist/services/model-context.d.ts.map +1 -1
- package/dist/services/model-context.js +53 -14
- package/dist/services/model-context.js.map +1 -1
- package/dist/services/usage-state.d.ts +20 -0
- package/dist/services/usage-state.d.ts.map +1 -0
- package/dist/services/usage-state.js +128 -0
- package/dist/services/usage-state.js.map +1 -0
- package/dist/skills/loader.d.ts +2 -1
- package/dist/skills/loader.d.ts.map +1 -1
- package/dist/skills/loader.js +135 -13
- package/dist/skills/loader.js.map +1 -1
- package/dist/skills/types.d.ts +2 -2
- package/dist/skills/types.d.ts.map +1 -1
- package/dist/terminal-ui/completion.d.ts +7 -0
- package/dist/terminal-ui/completion.d.ts.map +1 -1
- package/dist/terminal-ui/completion.js +22 -10
- package/dist/terminal-ui/completion.js.map +1 -1
- package/dist/terminal-ui/launch.d.ts +20 -0
- package/dist/terminal-ui/launch.d.ts.map +1 -1
- package/dist/terminal-ui/launch.js +190 -32
- package/dist/terminal-ui/launch.js.map +1 -1
- package/dist/terminal-ui/raw-editor.d.ts +3 -0
- package/dist/terminal-ui/raw-editor.d.ts.map +1 -1
- package/dist/terminal-ui/raw-editor.js +42 -2
- package/dist/terminal-ui/raw-editor.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +288 -48
- package/dist/tools/index.js.map +1 -1
- package/dist/tui-core/input-parser.d.ts +4 -0
- package/dist/tui-core/input-parser.d.ts.map +1 -1
- package/dist/tui-core/input-parser.js +30 -0
- package/dist/tui-core/input-parser.js.map +1 -1
- package/dist/tui-ui/runner.d.ts.map +1 -1
- package/dist/tui-ui/runner.js +6 -0
- package/dist/tui-ui/runner.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"raw-editor.js","sourceRoot":"","sources":["../../src/terminal-ui/raw-editor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"raw-editor.js","sourceRoot":"","sources":["../../src/terminal-ui/raw-editor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAAa,KAAK,aAAa,EAAmB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAAa,KAAK,aAAa,EAAmB,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAiErG,eAAO,MAAM,KAAK,EAAE,aAAa,EA2uBhC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,aAAa,EAAE,CAEjD;AAgWD,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,OAAO,CAAC;CACvB;AA0nBD;;;GAGG;AACH,wBAAsB,WAAW,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,WAAW,CAAC,EAAE,WAAW,EACzB,WAAW,CAAC,EAAE,WAAW,GACxB,OAAO,CAAC,MAAM,CAAC,CAmDjB;AAUD;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAGD,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,gCAAgC,EAChC,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,qBAAqB,EACrB,cAAc,EACd,KAAK,cAAc,EACnB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -32,6 +32,30 @@ const plan_1 = require("./plan");
|
|
|
32
32
|
const git_1 = require("./git");
|
|
33
33
|
const lsp_1 = require("./lsp");
|
|
34
34
|
const bash_security_1 = require("./bash_security");
|
|
35
|
+
const BATCH_READ_ALLOWED_TOOLS = new Set(['git_status', 'list_files', 'glob', 'grep', 'read_file']);
|
|
36
|
+
const BATCH_READ_MAX_STEPS = 8;
|
|
37
|
+
const BATCH_READ_STEP_OUTPUT_MAX_BYTES = 1600;
|
|
38
|
+
function compactOneLine(text, maxLength) {
|
|
39
|
+
const compact = text.replace(/\s+/g, ' ').trim();
|
|
40
|
+
if (compact.length <= maxLength)
|
|
41
|
+
return compact;
|
|
42
|
+
if (maxLength <= 3)
|
|
43
|
+
return compact.slice(0, maxLength);
|
|
44
|
+
const headLength = Math.ceil((maxLength - 3) * 0.55);
|
|
45
|
+
const tailLength = Math.floor((maxLength - 3) * 0.45);
|
|
46
|
+
return `${compact.slice(0, headLength)}...${compact.slice(-tailLength)}`;
|
|
47
|
+
}
|
|
48
|
+
function summarizeFailedToolResult(result) {
|
|
49
|
+
const details = [];
|
|
50
|
+
if (result.error) {
|
|
51
|
+
details.push(compactOneLine(result.error, 80));
|
|
52
|
+
}
|
|
53
|
+
const output = result.output ? compactOneLine(result.output, 120) : '';
|
|
54
|
+
if (output && output !== result.error) {
|
|
55
|
+
details.push(`output: ${output}`);
|
|
56
|
+
}
|
|
57
|
+
return details.join('; ');
|
|
58
|
+
}
|
|
35
59
|
// ============================================================================
|
|
36
60
|
// 工具集
|
|
37
61
|
// ============================================================================
|
|
@@ -72,9 +96,10 @@ exports.TOOLS = [
|
|
|
72
96
|
if (!path || typeof path !== 'string') {
|
|
73
97
|
return { success: false, output: '', error: 'read_file requires a path parameter' };
|
|
74
98
|
}
|
|
75
|
-
return readFileSync_(path, args.maxLines);
|
|
99
|
+
return readFileSync_(path, args.maxLines, context.cwd);
|
|
76
100
|
},
|
|
77
101
|
isReadOnly: () => true,
|
|
102
|
+
isConcurrencySafe: () => true,
|
|
78
103
|
userFacingName: (args) => `Read ${args.path}`,
|
|
79
104
|
getSummary: (args, result) => {
|
|
80
105
|
const path = args.path;
|
|
@@ -112,7 +137,7 @@ exports.TOOLS = [
|
|
|
112
137
|
if (typeof content !== 'string') {
|
|
113
138
|
return { success: false, output: '', error: 'write_file requires a content parameter' };
|
|
114
139
|
}
|
|
115
|
-
return writeFileSync_(path, content);
|
|
140
|
+
return writeFileSync_(path, content, context.cwd);
|
|
116
141
|
},
|
|
117
142
|
isDestructive: () => true,
|
|
118
143
|
checkPermissions: (args, context) => {
|
|
@@ -145,13 +170,13 @@ exports.TOOLS = [
|
|
|
145
170
|
},
|
|
146
171
|
required: ['path'],
|
|
147
172
|
},
|
|
148
|
-
execute: async (args) => {
|
|
173
|
+
execute: async (args, context) => {
|
|
149
174
|
// Ensure path is a valid string
|
|
150
175
|
const path = args.path;
|
|
151
176
|
if (!path || typeof path !== 'string') {
|
|
152
177
|
return { success: false, output: '', error: 'list_files requires a path parameter' };
|
|
153
178
|
}
|
|
154
|
-
return listFiles_(path, args.maxDepth);
|
|
179
|
+
return listFiles_(path, args.maxDepth, context.cwd);
|
|
155
180
|
},
|
|
156
181
|
isReadOnly: () => true,
|
|
157
182
|
isConcurrencySafe: () => true,
|
|
@@ -196,7 +221,7 @@ exports.TOOLS = [
|
|
|
196
221
|
return { success: false, output: '', error: 'exec_command requires a command parameter' };
|
|
197
222
|
}
|
|
198
223
|
// Issue #32 #3.2: 传递 abortSignal
|
|
199
|
-
return execCommand_(command, args.cwd, args.timeout, args.maxOutput, context.abortSignal);
|
|
224
|
+
return execCommand_(command, args.cwd, args.timeout, args.maxOutput, context.abortSignal, context.cwd);
|
|
200
225
|
},
|
|
201
226
|
isDestructive: (args) => {
|
|
202
227
|
const cmd = args.command || '';
|
|
@@ -222,13 +247,20 @@ exports.TOOLS = [
|
|
|
222
247
|
const cmd = args.command || '';
|
|
223
248
|
return (0, bash_security_1.isReadOnlyCommand)(cmd);
|
|
224
249
|
},
|
|
225
|
-
|
|
250
|
+
isConcurrencySafe: (args) => {
|
|
251
|
+
const cmd = args.command || '';
|
|
252
|
+
return (0, bash_security_1.isReadOnlyCommand)(cmd);
|
|
253
|
+
},
|
|
254
|
+
userFacingName: (args) => `Exec ${compactOneLine(args.command || '', 80)}`,
|
|
226
255
|
getSummary: (args, result) => {
|
|
227
|
-
const
|
|
228
|
-
|
|
229
|
-
|
|
256
|
+
const command = args.command || '';
|
|
257
|
+
const commandSummary = command ? `\n $ ${compactOneLine(command, 160)}` : '';
|
|
258
|
+
if (!result.success) {
|
|
259
|
+
const detail = summarizeFailedToolResult(result);
|
|
260
|
+
return `🔧 exec → error${detail ? ` (${detail})` : ''}${commandSummary}`;
|
|
261
|
+
}
|
|
230
262
|
const bytes = Buffer.byteLength(result.output, 'utf8');
|
|
231
|
-
return `🔧 exec
|
|
263
|
+
return `🔧 exec (${bytes}B output)${commandSummary}`;
|
|
232
264
|
},
|
|
233
265
|
}),
|
|
234
266
|
(0, tool_1.buildTool)({
|
|
@@ -289,7 +321,7 @@ exports.TOOLS = [
|
|
|
289
321
|
lastEditFileArgs.turnId = context.turnId;
|
|
290
322
|
lastEditFileArgs.updatedAt = Date.now();
|
|
291
323
|
(0, tool_state_1.setToolState)({ lastEditFileArgs });
|
|
292
|
-
return editFile_(path, old_string, new_string, args.replace_all, args.fuzzy_match, args.preview);
|
|
324
|
+
return editFile_(path, old_string, new_string, args.replace_all, args.fuzzy_match, args.preview, context.cwd);
|
|
293
325
|
},
|
|
294
326
|
isDestructive: () => true,
|
|
295
327
|
checkPermissions: (args, context) => {
|
|
@@ -321,13 +353,13 @@ exports.TOOLS = [
|
|
|
321
353
|
},
|
|
322
354
|
required: ['pattern'],
|
|
323
355
|
},
|
|
324
|
-
execute: async (args) => {
|
|
356
|
+
execute: async (args, context) => {
|
|
325
357
|
// Ensure pattern is a valid string
|
|
326
358
|
const pattern = args.pattern;
|
|
327
359
|
if (!pattern || typeof pattern !== 'string') {
|
|
328
360
|
return { success: false, output: '', error: 'glob requires a pattern parameter' };
|
|
329
361
|
}
|
|
330
|
-
return glob_(pattern, args.path);
|
|
362
|
+
return glob_(pattern, args.path, context.cwd);
|
|
331
363
|
},
|
|
332
364
|
isReadOnly: () => true,
|
|
333
365
|
isConcurrencySafe: () => true,
|
|
@@ -365,13 +397,13 @@ exports.TOOLS = [
|
|
|
365
397
|
},
|
|
366
398
|
required: ['pattern'],
|
|
367
399
|
},
|
|
368
|
-
execute: async (args) => {
|
|
400
|
+
execute: async (args, context) => {
|
|
369
401
|
// Ensure pattern is a valid string
|
|
370
402
|
const pattern = args.pattern;
|
|
371
403
|
if (!pattern || typeof pattern !== 'string') {
|
|
372
404
|
return { success: false, output: '', error: 'grep requires a pattern parameter' };
|
|
373
405
|
}
|
|
374
|
-
return grep_(pattern, args.path, args.glob, args.context);
|
|
406
|
+
return grep_(pattern, args.path, args.glob, args.context, context.cwd);
|
|
375
407
|
},
|
|
376
408
|
isReadOnly: () => true,
|
|
377
409
|
isConcurrencySafe: () => true,
|
|
@@ -384,6 +416,46 @@ exports.TOOLS = [
|
|
|
384
416
|
return `🔎 grep /${pattern}/ → ${count} matches`;
|
|
385
417
|
},
|
|
386
418
|
}),
|
|
419
|
+
(0, tool_1.buildTool)({
|
|
420
|
+
name: 'batch_read',
|
|
421
|
+
description: 'Run up to 8 read-only exploration tool calls in one ordered batch. Allowed tools: git_status, list_files, glob, grep, read_file.',
|
|
422
|
+
parameters: {
|
|
423
|
+
type: 'object',
|
|
424
|
+
properties: {
|
|
425
|
+
steps: {
|
|
426
|
+
type: 'array',
|
|
427
|
+
description: 'Array of steps: [{ "tool": "read_file", "args": { "path": "package.json" } }]. Max 8 steps.',
|
|
428
|
+
items: {
|
|
429
|
+
type: 'object',
|
|
430
|
+
properties: {
|
|
431
|
+
tool: { type: 'string', description: 'Allowed read-only tool name' },
|
|
432
|
+
args: { type: 'object', description: 'Arguments for the tool' },
|
|
433
|
+
},
|
|
434
|
+
required: ['tool', 'args'],
|
|
435
|
+
},
|
|
436
|
+
maxItems: BATCH_READ_MAX_STEPS,
|
|
437
|
+
},
|
|
438
|
+
reason: {
|
|
439
|
+
type: 'string',
|
|
440
|
+
description: 'Optional reason for this read-only batch.',
|
|
441
|
+
},
|
|
442
|
+
},
|
|
443
|
+
required: ['steps'],
|
|
444
|
+
},
|
|
445
|
+
execute: async (args, context) => executeBatchRead(args, context),
|
|
446
|
+
isReadOnly: () => true,
|
|
447
|
+
isConcurrencySafe: () => true,
|
|
448
|
+
userFacingName: (args) => {
|
|
449
|
+
const count = Array.isArray(args.steps) ? args.steps.length : 0;
|
|
450
|
+
return `Batch read ${count} steps`;
|
|
451
|
+
},
|
|
452
|
+
getSummary: (args, result) => {
|
|
453
|
+
if (!result.success)
|
|
454
|
+
return '📚 batch_read → error';
|
|
455
|
+
const count = Array.isArray(args.steps) ? args.steps.length : 0;
|
|
456
|
+
return `📚 batch_read → ${count} steps`;
|
|
457
|
+
},
|
|
458
|
+
}),
|
|
387
459
|
// Memory tools
|
|
388
460
|
(0, tool_1.buildTool)({
|
|
389
461
|
name: 'memory_save',
|
|
@@ -710,23 +782,55 @@ function getRuntimeTools() {
|
|
|
710
782
|
// ============================================================================
|
|
711
783
|
// 工具实现
|
|
712
784
|
// ============================================================================
|
|
713
|
-
/**
|
|
714
|
-
function
|
|
715
|
-
|
|
716
|
-
const
|
|
717
|
-
if (
|
|
718
|
-
|
|
785
|
+
/** Normalize model/tool path strings before resolving them on disk. */
|
|
786
|
+
function normalizeToolPath(input) {
|
|
787
|
+
let value = input.trim();
|
|
788
|
+
const markdownLink = value.match(/^!?\[[^\]]*\]\(([\s\S]+)\)$/u);
|
|
789
|
+
if (markdownLink) {
|
|
790
|
+
value = markdownLink[1].trim();
|
|
791
|
+
if (value.startsWith('<')) {
|
|
792
|
+
const end = value.indexOf('>');
|
|
793
|
+
if (end >= 0) {
|
|
794
|
+
value = value.slice(1, end);
|
|
795
|
+
}
|
|
796
|
+
}
|
|
797
|
+
else {
|
|
798
|
+
value = value.replace(/\s+["'][\s\S]*["']$/u, '');
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
if ((value.startsWith('`') && value.endsWith('`')) ||
|
|
802
|
+
(value.startsWith('"') && value.endsWith('"')) ||
|
|
803
|
+
(value.startsWith("'") && value.endsWith("'"))) {
|
|
804
|
+
value = value.slice(1, -1);
|
|
805
|
+
}
|
|
806
|
+
if (value.startsWith('file://')) {
|
|
807
|
+
try {
|
|
808
|
+
return decodeURIComponent(new URL(value).pathname);
|
|
809
|
+
}
|
|
810
|
+
catch {
|
|
811
|
+
value = value.replace(/^file:\/\//u, '');
|
|
812
|
+
}
|
|
813
|
+
}
|
|
814
|
+
try {
|
|
815
|
+
return decodeURIComponent(value);
|
|
816
|
+
}
|
|
817
|
+
catch {
|
|
818
|
+
return value;
|
|
719
819
|
}
|
|
720
|
-
return resolved;
|
|
721
820
|
}
|
|
722
|
-
|
|
821
|
+
/** Resolve tool path parameters relative to the current tool cwd. */
|
|
822
|
+
function safePath(input, cwd = process.cwd()) {
|
|
823
|
+
return (0, path_1.resolve)(cwd, normalizeToolPath(input));
|
|
824
|
+
}
|
|
825
|
+
async function readFileSync_(path, maxLines, cwd) {
|
|
723
826
|
try {
|
|
724
|
-
const
|
|
827
|
+
const normalizedPath = normalizeToolPath(path);
|
|
828
|
+
const resolved = safePath(path, cwd);
|
|
725
829
|
if (!(0, fs_1.existsSync)(resolved)) {
|
|
726
|
-
return { success: false, output: '', error: `File not found: ${
|
|
830
|
+
return { success: false, output: '', error: `File not found: ${normalizedPath}` };
|
|
727
831
|
}
|
|
728
832
|
if ((0, fs_1.statSync)(resolved).isDirectory()) {
|
|
729
|
-
return { success: false, output: '', error: `Path is a directory, not a file: ${
|
|
833
|
+
return { success: false, output: '', error: `Path is a directory, not a file: ${normalizedPath}` };
|
|
730
834
|
}
|
|
731
835
|
const content = (0, fs_1.readFileSync)(resolved, 'utf-8');
|
|
732
836
|
const lines = content.split('\n');
|
|
@@ -755,23 +859,25 @@ async function readFileSync_(path, maxLines) {
|
|
|
755
859
|
return { success: false, output: '', error: String(err.message) };
|
|
756
860
|
}
|
|
757
861
|
}
|
|
758
|
-
async function writeFileSync_(path, content) {
|
|
862
|
+
async function writeFileSync_(path, content, cwd) {
|
|
759
863
|
try {
|
|
760
|
-
const
|
|
864
|
+
const normalizedPath = normalizeToolPath(path);
|
|
865
|
+
const resolved = safePath(path, cwd);
|
|
761
866
|
(0, fs_1.writeFileSync)(resolved, content, 'utf-8');
|
|
762
|
-
return { success: true, output: `Wrote ${content.split('\n').length} lines to ${
|
|
867
|
+
return { success: true, output: `Wrote ${content.split('\n').length} lines to ${normalizedPath}` };
|
|
763
868
|
}
|
|
764
869
|
catch (err) {
|
|
765
870
|
return { success: false, output: '', error: String(err.message) };
|
|
766
871
|
}
|
|
767
872
|
}
|
|
768
|
-
async function listFiles_(path, maxDepth) {
|
|
769
|
-
const
|
|
873
|
+
async function listFiles_(path, maxDepth, cwd) {
|
|
874
|
+
const normalizedPath = normalizeToolPath(path);
|
|
875
|
+
const resolved = safePath(path, cwd);
|
|
770
876
|
if (!(0, fs_1.existsSync)(resolved)) {
|
|
771
|
-
return { success: false, output: '', error: `Path not found: ${
|
|
877
|
+
return { success: false, output: '', error: `Path not found: ${normalizedPath}` };
|
|
772
878
|
}
|
|
773
879
|
if (!(0, fs_1.statSync)(resolved).isDirectory()) {
|
|
774
|
-
return { success: true, output:
|
|
880
|
+
return { success: true, output: normalizedPath };
|
|
775
881
|
}
|
|
776
882
|
const depth = maxDepth ?? 2;
|
|
777
883
|
const results = [];
|
|
@@ -807,9 +913,9 @@ async function listFiles_(path, maxDepth) {
|
|
|
807
913
|
return { success: true, output };
|
|
808
914
|
}
|
|
809
915
|
// Issue #32 #3.2: execCommand_ 支持 abortSignal
|
|
810
|
-
async function execCommand_(command, cwd, timeout, maxOutput, abortSignal) {
|
|
916
|
+
async function execCommand_(command, cwd, timeout, maxOutput, abortSignal, baseCwd) {
|
|
811
917
|
return new Promise((resolve) => {
|
|
812
|
-
const workdir = cwd ? safePath(cwd) : process.cwd();
|
|
918
|
+
const workdir = cwd ? safePath(cwd, baseCwd) : baseCwd ?? process.cwd();
|
|
813
919
|
const timeoutMs = timeout ?? 30000;
|
|
814
920
|
const maxBytes = maxOutput ?? 51200; // Default 50KB, Issue #28 fix
|
|
815
921
|
// Use spawn for streaming output with truncation support
|
|
@@ -1072,14 +1178,15 @@ function fuzzyMatch(content, oldString) {
|
|
|
1072
1178
|
}
|
|
1073
1179
|
return null;
|
|
1074
1180
|
}
|
|
1075
|
-
async function editFile_(path, old_string, new_string, replace_all, fuzzy_match, preview) {
|
|
1181
|
+
async function editFile_(path, old_string, new_string, replace_all, fuzzy_match, preview, cwd) {
|
|
1076
1182
|
try {
|
|
1077
|
-
const
|
|
1183
|
+
const normalizedPath = normalizeToolPath(path);
|
|
1184
|
+
const resolved = safePath(path, cwd);
|
|
1078
1185
|
if (!(0, fs_1.existsSync)(resolved)) {
|
|
1079
|
-
return { success: false, output: '', error: `File not found: ${
|
|
1186
|
+
return { success: false, output: '', error: `File not found: ${normalizedPath}` };
|
|
1080
1187
|
}
|
|
1081
1188
|
if ((0, fs_1.statSync)(resolved).isDirectory()) {
|
|
1082
|
-
return { success: false, output: '', error: `Path is a directory, not a file: ${
|
|
1189
|
+
return { success: false, output: '', error: `Path is a directory, not a file: ${normalizedPath}` };
|
|
1083
1190
|
}
|
|
1084
1191
|
const content = (0, fs_1.readFileSync)(resolved, 'utf-8');
|
|
1085
1192
|
// Check if old_string exists exactly
|
|
@@ -1154,7 +1261,7 @@ async function editFile_(path, old_string, new_string, replace_all, fuzzy_match,
|
|
|
1154
1261
|
(0, fs_1.writeFileSync)(resolved, newContent, 'utf-8');
|
|
1155
1262
|
return {
|
|
1156
1263
|
success: true,
|
|
1157
|
-
output: `Fuzzy edited ${
|
|
1264
|
+
output: `Fuzzy edited ${normalizedPath} (matched by ${fuzzyResult.strategy}, "${match.slice(0, 50)}...")`,
|
|
1158
1265
|
};
|
|
1159
1266
|
}
|
|
1160
1267
|
// If not replace_all, require unique match
|
|
@@ -1178,7 +1285,7 @@ async function editFile_(path, old_string, new_string, replace_all, fuzzy_match,
|
|
|
1178
1285
|
(0, fs_1.writeFileSync)(resolved, newContent, 'utf-8');
|
|
1179
1286
|
return {
|
|
1180
1287
|
success: true,
|
|
1181
|
-
output: `Replaced ${count} occurrence(s) of old_string with new_string in ${
|
|
1288
|
+
output: `Replaced ${count} occurrence(s) of old_string with new_string in ${normalizedPath}`,
|
|
1182
1289
|
};
|
|
1183
1290
|
}
|
|
1184
1291
|
catch (err) {
|
|
@@ -1196,14 +1303,15 @@ function escapeRegExp(str) {
|
|
|
1196
1303
|
* Glob 模式匹配 - 简化版实现
|
|
1197
1304
|
* 支持: **(递归目录)、*(任意字符)、?(单个字符)
|
|
1198
1305
|
*/
|
|
1199
|
-
async function glob_(pattern, basePath) {
|
|
1306
|
+
async function glob_(pattern, basePath, cwd) {
|
|
1200
1307
|
try {
|
|
1201
|
-
const
|
|
1308
|
+
const normalizedBasePath = basePath ? normalizeToolPath(basePath) : cwd ?? process.cwd();
|
|
1309
|
+
const base = basePath ? safePath(basePath, cwd) : cwd ?? process.cwd();
|
|
1202
1310
|
if (!(0, fs_1.existsSync)(base)) {
|
|
1203
|
-
return { success: false, output: '', error: `Path not found: ${
|
|
1311
|
+
return { success: false, output: '', error: `Path not found: ${normalizedBasePath}` };
|
|
1204
1312
|
}
|
|
1205
1313
|
if (!(0, fs_1.statSync)(base).isDirectory()) {
|
|
1206
|
-
return { success: false, output: '', error: `Path is not a directory: ${
|
|
1314
|
+
return { success: false, output: '', error: `Path is not a directory: ${normalizedBasePath}` };
|
|
1207
1315
|
}
|
|
1208
1316
|
const results = [];
|
|
1209
1317
|
// Convert glob pattern to regex
|
|
@@ -1270,11 +1378,12 @@ async function glob_(pattern, basePath) {
|
|
|
1270
1378
|
/**
|
|
1271
1379
|
* Grep 搜索 - 在文件中搜索正则表达式
|
|
1272
1380
|
*/
|
|
1273
|
-
async function grep_(pattern, basePath, globPattern, contextLines) {
|
|
1381
|
+
async function grep_(pattern, basePath, globPattern, contextLines, cwd) {
|
|
1274
1382
|
try {
|
|
1275
|
-
const
|
|
1383
|
+
const normalizedBasePath = basePath ? normalizeToolPath(basePath) : cwd ?? process.cwd();
|
|
1384
|
+
const base = basePath ? safePath(basePath, cwd) : cwd ?? process.cwd();
|
|
1276
1385
|
if (!(0, fs_1.existsSync)(base)) {
|
|
1277
|
-
return { success: false, output: '', error: `Path not found: ${
|
|
1386
|
+
return { success: false, output: '', error: `Path not found: ${normalizedBasePath}` };
|
|
1278
1387
|
}
|
|
1279
1388
|
const regex = new RegExp(pattern);
|
|
1280
1389
|
const context = contextLines ?? 0;
|
|
@@ -1368,6 +1477,137 @@ async function grep_(pattern, basePath, globPattern, contextLines) {
|
|
|
1368
1477
|
return { success: false, output: '', error: String(err.message) };
|
|
1369
1478
|
}
|
|
1370
1479
|
}
|
|
1480
|
+
function isRecord(value) {
|
|
1481
|
+
return typeof value === 'object' && value !== null && !Array.isArray(value);
|
|
1482
|
+
}
|
|
1483
|
+
function parseBatchReadSteps(rawSteps) {
|
|
1484
|
+
let value = rawSteps;
|
|
1485
|
+
if (typeof value === 'string') {
|
|
1486
|
+
try {
|
|
1487
|
+
value = JSON.parse(value);
|
|
1488
|
+
}
|
|
1489
|
+
catch {
|
|
1490
|
+
return { error: 'batch_read steps must be an array or a valid JSON array string' };
|
|
1491
|
+
}
|
|
1492
|
+
}
|
|
1493
|
+
if (!Array.isArray(value)) {
|
|
1494
|
+
return { error: 'batch_read requires steps to be an array' };
|
|
1495
|
+
}
|
|
1496
|
+
if (value.length === 0) {
|
|
1497
|
+
return { error: 'batch_read requires at least one step' };
|
|
1498
|
+
}
|
|
1499
|
+
if (value.length > BATCH_READ_MAX_STEPS) {
|
|
1500
|
+
return { error: `batch_read supports at most ${BATCH_READ_MAX_STEPS} steps` };
|
|
1501
|
+
}
|
|
1502
|
+
const steps = [];
|
|
1503
|
+
for (let i = 0; i < value.length; i++) {
|
|
1504
|
+
const step = value[i];
|
|
1505
|
+
if (!isRecord(step)) {
|
|
1506
|
+
return { error: `batch_read step ${i + 1} must be an object` };
|
|
1507
|
+
}
|
|
1508
|
+
if (typeof step.tool !== 'string' || !step.tool) {
|
|
1509
|
+
return { error: `batch_read step ${i + 1} requires a tool string` };
|
|
1510
|
+
}
|
|
1511
|
+
let stepArgs = step.args;
|
|
1512
|
+
if (typeof stepArgs === 'string') {
|
|
1513
|
+
try {
|
|
1514
|
+
stepArgs = JSON.parse(stepArgs);
|
|
1515
|
+
}
|
|
1516
|
+
catch {
|
|
1517
|
+
return { error: `batch_read step ${i + 1} args must be an object or valid JSON object string` };
|
|
1518
|
+
}
|
|
1519
|
+
}
|
|
1520
|
+
if (!isRecord(stepArgs)) {
|
|
1521
|
+
return { error: `batch_read step ${i + 1} requires args to be an object` };
|
|
1522
|
+
}
|
|
1523
|
+
steps.push({ tool: step.tool, args: stepArgs });
|
|
1524
|
+
}
|
|
1525
|
+
return { steps };
|
|
1526
|
+
}
|
|
1527
|
+
function buildBatchReadPayload(success, summary, steps, error) {
|
|
1528
|
+
const payload = {
|
|
1529
|
+
success,
|
|
1530
|
+
output: steps.map(step => `${step.index}. ${step.tool}: ${step.summary || (step.success ? 'ok' : step.error || 'error')}`).join('\n'),
|
|
1531
|
+
summary,
|
|
1532
|
+
steps,
|
|
1533
|
+
};
|
|
1534
|
+
if (error) {
|
|
1535
|
+
payload.error = error;
|
|
1536
|
+
}
|
|
1537
|
+
return {
|
|
1538
|
+
success,
|
|
1539
|
+
output: JSON.stringify(payload, null, 2),
|
|
1540
|
+
summary,
|
|
1541
|
+
error,
|
|
1542
|
+
};
|
|
1543
|
+
}
|
|
1544
|
+
async function executeBatchRead(args, context) {
|
|
1545
|
+
const parsed = parseBatchReadSteps(args.steps);
|
|
1546
|
+
if (parsed.error || !parsed.steps) {
|
|
1547
|
+
return buildBatchReadPayload(false, parsed.error || 'Invalid batch_read request', [], parsed.error);
|
|
1548
|
+
}
|
|
1549
|
+
const runtimeTools = getRuntimeTools();
|
|
1550
|
+
for (let i = 0; i < parsed.steps.length; i++) {
|
|
1551
|
+
const step = parsed.steps[i];
|
|
1552
|
+
const tool = runtimeTools.find(t => t.name === step.tool);
|
|
1553
|
+
if (!BATCH_READ_ALLOWED_TOOLS.has(step.tool)) {
|
|
1554
|
+
const error = `Tool ${step.tool} is not allowed in batch_read`;
|
|
1555
|
+
return buildBatchReadPayload(false, error, [{
|
|
1556
|
+
index: i + 1,
|
|
1557
|
+
tool: step.tool,
|
|
1558
|
+
args: step.args,
|
|
1559
|
+
success: false,
|
|
1560
|
+
error,
|
|
1561
|
+
output: '',
|
|
1562
|
+
}], error);
|
|
1563
|
+
}
|
|
1564
|
+
if (!tool || tool.isReadOnly?.(step.args) !== true) {
|
|
1565
|
+
const error = `Tool ${step.tool} is unavailable or not read-only`;
|
|
1566
|
+
return buildBatchReadPayload(false, error, [{
|
|
1567
|
+
index: i + 1,
|
|
1568
|
+
tool: step.tool,
|
|
1569
|
+
args: step.args,
|
|
1570
|
+
success: false,
|
|
1571
|
+
error,
|
|
1572
|
+
output: '',
|
|
1573
|
+
}], error);
|
|
1574
|
+
}
|
|
1575
|
+
}
|
|
1576
|
+
const stepResults = [];
|
|
1577
|
+
for (let i = 0; i < parsed.steps.length; i++) {
|
|
1578
|
+
const step = parsed.steps[i];
|
|
1579
|
+
try {
|
|
1580
|
+
const rawResult = await executeTool(step.tool, step.args, context.abortSignal, context);
|
|
1581
|
+
const envelope = JSON.parse(rawResult);
|
|
1582
|
+
const output = typeof envelope.output === 'string'
|
|
1583
|
+
? envelope.output
|
|
1584
|
+
: JSON.stringify(envelope.output ?? '');
|
|
1585
|
+
stepResults.push({
|
|
1586
|
+
index: i + 1,
|
|
1587
|
+
tool: step.tool,
|
|
1588
|
+
args: step.args,
|
|
1589
|
+
success: envelope.success === true,
|
|
1590
|
+
summary: typeof envelope.summary === 'string' ? envelope.summary : undefined,
|
|
1591
|
+
error: typeof envelope.error === 'string' ? envelope.error : undefined,
|
|
1592
|
+
output: (0, tool_artifacts_1.truncateForContext)(output, BATCH_READ_STEP_OUTPUT_MAX_BYTES),
|
|
1593
|
+
});
|
|
1594
|
+
}
|
|
1595
|
+
catch (err) {
|
|
1596
|
+
stepResults.push({
|
|
1597
|
+
index: i + 1,
|
|
1598
|
+
tool: step.tool,
|
|
1599
|
+
args: step.args,
|
|
1600
|
+
success: false,
|
|
1601
|
+
error: err?.message || String(err),
|
|
1602
|
+
output: '',
|
|
1603
|
+
});
|
|
1604
|
+
}
|
|
1605
|
+
}
|
|
1606
|
+
const okCount = stepResults.filter(step => step.success).length;
|
|
1607
|
+
const success = okCount === stepResults.length;
|
|
1608
|
+
const summary = `batch_read completed ${okCount}/${stepResults.length} steps`;
|
|
1609
|
+
return buildBatchReadPayload(success, summary, stepResults, success ? undefined : summary);
|
|
1610
|
+
}
|
|
1371
1611
|
// ============================================================================
|
|
1372
1612
|
// 统一执行入口
|
|
1373
1613
|
// ============================================================================
|