openhorse 0.2.3 → 0.2.5
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/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +81 -21
- package/dist/commands/index.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 +7 -0
- package/dist/framework/query.js.map +1 -1
- package/dist/harness/context-harness.d.ts +14 -0
- package/dist/harness/context-harness.d.ts.map +1 -1
- package/dist/harness/context-harness.js +21 -0
- package/dist/harness/context-harness.js.map +1 -1
- package/dist/harness/evidence.d.ts.map +1 -1
- package/dist/harness/evidence.js +2 -1
- package/dist/harness/evidence.js.map +1 -1
- package/dist/harness/harness.d.ts +4 -42
- package/dist/harness/harness.d.ts.map +1 -1
- package/dist/harness/harness.js +7 -48
- package/dist/harness/harness.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/runtime/chat-controller.d.ts.map +1 -1
- package/dist/runtime/chat-controller.js +3 -2
- package/dist/runtime/chat-controller.js.map +1 -1
- package/dist/services/compact/auto-compact.d.ts +3 -0
- package/dist/services/compact/auto-compact.d.ts.map +1 -1
- package/dist/services/compact/auto-compact.js +8 -2
- package/dist/services/compact/auto-compact.js.map +1 -1
- package/dist/services/compact/compact.d.ts +3 -0
- package/dist/services/compact/compact.d.ts.map +1 -1
- package/dist/services/compact/compact.js +4 -1
- package/dist/services/compact/compact.js.map +1 -1
- package/dist/services/compact/summary-generator.d.ts +11 -0
- package/dist/services/compact/summary-generator.d.ts.map +1 -1
- package/dist/services/compact/summary-generator.js +57 -0
- package/dist/services/compact/summary-generator.js.map +1 -1
- package/dist/services/session-index.d.ts +45 -0
- package/dist/services/session-index.d.ts.map +1 -0
- package/dist/services/session-index.js +183 -0
- package/dist/services/session-index.js.map +1 -0
- package/dist/services/session-storage.d.ts.map +1 -1
- package/dist/services/session-storage.js +26 -4
- package/dist/services/session-storage.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +207 -9
- package/dist/tools/index.js.map +1 -1
- package/dist/utils/token-estimate.d.ts +42 -0
- package/dist/utils/token-estimate.d.ts.map +1 -0
- package/dist/utils/token-estimate.js +150 -0
- package/dist/utils/token-estimate.js.map +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-storage.d.ts","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"session-storage.d.ts","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ const child_process_1 = require("child_process");
|
|
|
39
39
|
const path_1 = require("path");
|
|
40
40
|
const config_dir_1 = require("./config-dir");
|
|
41
41
|
const atomic_write_1 = require("./atomic-write");
|
|
42
|
+
const session_index_1 = require("./session-index");
|
|
42
43
|
const harness_1 = require("../harness");
|
|
43
44
|
// ============================================================================
|
|
44
45
|
// Project helpers
|
|
@@ -133,12 +134,23 @@ function uniquePaths(paths) {
|
|
|
133
134
|
function parseSessionMetaFile(path) {
|
|
134
135
|
try {
|
|
135
136
|
const content = (0, fs_1.readFileSync)(path, 'utf-8');
|
|
136
|
-
|
|
137
|
+
const parsed = JSON.parse(content);
|
|
138
|
+
if (typeof parsed.id !== 'string' || !parsed.id)
|
|
139
|
+
return null;
|
|
140
|
+
if (typeof parsed.projectPath !== 'string' || !parsed.projectPath)
|
|
141
|
+
return null;
|
|
142
|
+
return parsed;
|
|
137
143
|
}
|
|
138
144
|
catch {
|
|
139
145
|
return null;
|
|
140
146
|
}
|
|
141
147
|
}
|
|
148
|
+
function isSessionMetaFile(file) {
|
|
149
|
+
return file.endsWith('.json')
|
|
150
|
+
&& !file.endsWith('.messages.json')
|
|
151
|
+
&& !file.endsWith('.harness.json')
|
|
152
|
+
&& !file.endsWith('.index.json');
|
|
153
|
+
}
|
|
142
154
|
function parseHarnessSidecarFile(path) {
|
|
143
155
|
try {
|
|
144
156
|
const content = (0, fs_1.readFileSync)(path, 'utf-8');
|
|
@@ -471,6 +483,10 @@ function appendSessionMessage(sessionId, message) {
|
|
|
471
483
|
for (const path of uniquePaths(paths)) {
|
|
472
484
|
(0, fs_1.appendFileSync)(path, line, { mode: 0o600 });
|
|
473
485
|
}
|
|
486
|
+
// Update session index for fast search
|
|
487
|
+
if (session) {
|
|
488
|
+
(0, session_index_1.updateSessionIndex)(sessionId, session.projectPath, message);
|
|
489
|
+
}
|
|
474
490
|
}
|
|
475
491
|
/**
|
|
476
492
|
* 追加多条会话消息
|
|
@@ -490,6 +506,11 @@ function appendSessionMessages(sessionId, messages) {
|
|
|
490
506
|
for (const path of uniquePaths(paths)) {
|
|
491
507
|
(0, fs_1.appendFileSync)(path, lines, { mode: 0o600 });
|
|
492
508
|
}
|
|
509
|
+
if (session) {
|
|
510
|
+
for (const message of messages) {
|
|
511
|
+
(0, session_index_1.updateSessionIndex)(sessionId, session.projectPath, message);
|
|
512
|
+
}
|
|
513
|
+
}
|
|
493
514
|
}
|
|
494
515
|
/**
|
|
495
516
|
* 读取会话消息
|
|
@@ -546,7 +567,7 @@ function listSessions(limit) {
|
|
|
546
567
|
const sessionsDir = (0, config_dir_1.getSessionsDir)();
|
|
547
568
|
const sessionsById = new Map();
|
|
548
569
|
if ((0, fs_1.existsSync)(sessionsDir)) {
|
|
549
|
-
const files = (0, fs_1.readdirSync)(sessionsDir).filter(
|
|
570
|
+
const files = (0, fs_1.readdirSync)(sessionsDir).filter(isSessionMetaFile);
|
|
550
571
|
for (const file of files) {
|
|
551
572
|
const rawSession = parseSessionMetaFile((0, path_1.join)(sessionsDir, file));
|
|
552
573
|
if (rawSession) {
|
|
@@ -560,7 +581,7 @@ function listSessions(limit) {
|
|
|
560
581
|
const projectSessionsDir = (0, path_1.join)(projectsDir, projectKey, 'sessions');
|
|
561
582
|
if (!(0, fs_1.existsSync)(projectSessionsDir))
|
|
562
583
|
continue;
|
|
563
|
-
const files = (0, fs_1.readdirSync)(projectSessionsDir).filter(
|
|
584
|
+
const files = (0, fs_1.readdirSync)(projectSessionsDir).filter(isSessionMetaFile);
|
|
564
585
|
for (const file of files) {
|
|
565
586
|
const rawSession = parseSessionMetaFile((0, path_1.join)(projectSessionsDir, file));
|
|
566
587
|
if (rawSession) {
|
|
@@ -580,7 +601,7 @@ function listProjectSessions(projectPath, limit) {
|
|
|
580
601
|
const sessionsById = new Map();
|
|
581
602
|
const projectSessionsDir = (0, config_dir_1.getProjectSessionsDir)(canonicalProjectPath);
|
|
582
603
|
if ((0, fs_1.existsSync)(projectSessionsDir)) {
|
|
583
|
-
const files = (0, fs_1.readdirSync)(projectSessionsDir).filter(
|
|
604
|
+
const files = (0, fs_1.readdirSync)(projectSessionsDir).filter(isSessionMetaFile);
|
|
584
605
|
for (const file of files) {
|
|
585
606
|
const rawSession = parseSessionMetaFile((0, path_1.join)(projectSessionsDir, file));
|
|
586
607
|
if (rawSession) {
|
|
@@ -654,6 +675,7 @@ function deleteSession(sessionId) {
|
|
|
654
675
|
];
|
|
655
676
|
if (session) {
|
|
656
677
|
paths.push((0, config_dir_1.getProjectSessionMetaPath)(session.projectPath, sessionId), (0, config_dir_1.getProjectSessionMessagesPath)(session.projectPath, sessionId), (0, config_dir_1.getProjectSessionHarnessPath)(session.projectPath, sessionId));
|
|
678
|
+
(0, session_index_1.deleteSessionIndex)(sessionId, session.projectPath);
|
|
657
679
|
}
|
|
658
680
|
let deleted = false;
|
|
659
681
|
for (const path of uniquePaths(paths)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../src/services/session-storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-storage.js","sourceRoot":"","sources":["../../src/services/session-storage.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,EAAqC,MAAM,mBAAmB,CAAC;AA+BrG,eAAO,MAAM,KAAK,EAAE,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAMH,OAAO,EAAa,KAAK,aAAa,EAAqC,MAAM,mBAAmB,CAAC;AA+BrG,eAAO,MAAM,KAAK,EAAE,aAAa,EAoqBhC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,eAAe,IAAI,aAAa,EAAE,CAEjD;AAsnBD;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAuCzH;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
|
@@ -74,6 +74,14 @@ exports.TOOLS = [
|
|
|
74
74
|
},
|
|
75
75
|
isReadOnly: () => true,
|
|
76
76
|
userFacingName: (args) => `Read ${args.path}`,
|
|
77
|
+
getSummary: (args, result) => {
|
|
78
|
+
const path = args.path;
|
|
79
|
+
if (!result.success)
|
|
80
|
+
return `📄 read ${path} → error`;
|
|
81
|
+
const lines = result.output.split('\n').length;
|
|
82
|
+
const bytes = Buffer.byteLength(result.output, 'utf8');
|
|
83
|
+
return `📄 read ${path} (${lines}L, ${bytes}B)`;
|
|
84
|
+
},
|
|
77
85
|
}),
|
|
78
86
|
(0, tool_1.buildTool)({
|
|
79
87
|
name: 'write_file',
|
|
@@ -110,6 +118,13 @@ exports.TOOLS = [
|
|
|
110
118
|
return { behavior: 'ask', reason: 'Write operation may modify existing files' };
|
|
111
119
|
},
|
|
112
120
|
userFacingName: (args) => `Write ${args.path}`,
|
|
121
|
+
getSummary: (args, result) => {
|
|
122
|
+
const path = args.path;
|
|
123
|
+
if (!result.success)
|
|
124
|
+
return `💾 write ${path} → error`;
|
|
125
|
+
const bytes = Buffer.byteLength(args.content || '', 'utf8');
|
|
126
|
+
return `💾 write ${path} (${bytes}B)`;
|
|
127
|
+
},
|
|
113
128
|
}),
|
|
114
129
|
(0, tool_1.buildTool)({
|
|
115
130
|
name: 'list_files',
|
|
@@ -139,6 +154,13 @@ exports.TOOLS = [
|
|
|
139
154
|
isReadOnly: () => true,
|
|
140
155
|
isConcurrencySafe: () => true,
|
|
141
156
|
userFacingName: (args) => `List ${args.path}`,
|
|
157
|
+
getSummary: (args, result) => {
|
|
158
|
+
const path = args.path;
|
|
159
|
+
if (!result.success)
|
|
160
|
+
return `📁 list ${path} → error`;
|
|
161
|
+
const count = result.output.split('\n').filter(Boolean).length;
|
|
162
|
+
return `📁 list ${path} (${count} entries)`;
|
|
163
|
+
},
|
|
142
164
|
}),
|
|
143
165
|
(0, tool_1.buildTool)({
|
|
144
166
|
name: 'exec_command',
|
|
@@ -199,10 +221,17 @@ exports.TOOLS = [
|
|
|
199
221
|
return (0, bash_security_1.isReadOnlyCommand)(cmd);
|
|
200
222
|
},
|
|
201
223
|
userFacingName: (args) => `Exec ${args.command?.slice(0, 60) || ''}`,
|
|
224
|
+
getSummary: (args, result) => {
|
|
225
|
+
const cmd = args.command?.slice(0, 40) || '';
|
|
226
|
+
if (!result.success)
|
|
227
|
+
return `🔧 exec: ${cmd} → error`;
|
|
228
|
+
const bytes = Buffer.byteLength(result.output, 'utf8');
|
|
229
|
+
return `🔧 exec: ${cmd} (${bytes}B output)`;
|
|
230
|
+
},
|
|
202
231
|
}),
|
|
203
232
|
(0, tool_1.buildTool)({
|
|
204
233
|
name: 'edit_file',
|
|
205
|
-
description: '对文件进行精确字符串替换。old_string 必须在文件中唯一匹配,否则拒绝执行。使用 replace_all
|
|
234
|
+
description: '对文件进行精确字符串替换。old_string 必须在文件中唯一匹配,否则拒绝执行。使用 replace_all 可替换所有精确匹配;只有显式 fuzzy_match=true 时才尝试宽松空白匹配。',
|
|
206
235
|
parameters: {
|
|
207
236
|
type: 'object',
|
|
208
237
|
properties: {
|
|
@@ -222,6 +251,10 @@ exports.TOOLS = [
|
|
|
222
251
|
type: 'boolean',
|
|
223
252
|
description: '是否替换所有匹配(可选,默认 false)',
|
|
224
253
|
},
|
|
254
|
+
fuzzy_match: {
|
|
255
|
+
type: 'boolean',
|
|
256
|
+
description: '精确匹配失败时是否允许宽松空白匹配(可选,默认 false;多候选时总是拒绝)',
|
|
257
|
+
},
|
|
225
258
|
},
|
|
226
259
|
required: ['path', 'old_string', 'new_string'],
|
|
227
260
|
},
|
|
@@ -239,13 +272,20 @@ exports.TOOLS = [
|
|
|
239
272
|
if (typeof new_string !== 'string') {
|
|
240
273
|
return { success: false, output: '', error: 'edit_file requires a new_string parameter' };
|
|
241
274
|
}
|
|
242
|
-
return editFile_(path, old_string, new_string, args.replace_all);
|
|
275
|
+
return editFile_(path, old_string, new_string, args.replace_all, args.fuzzy_match);
|
|
243
276
|
},
|
|
244
277
|
isDestructive: () => true,
|
|
245
278
|
checkPermissions: (args, context) => {
|
|
246
279
|
return { behavior: 'ask', reason: 'Edit operation modifies file contents' };
|
|
247
280
|
},
|
|
248
281
|
userFacingName: (args) => `Edit ${args.path}`,
|
|
282
|
+
getSummary: (args, result) => {
|
|
283
|
+
const path = args.path;
|
|
284
|
+
if (!result.success)
|
|
285
|
+
return `✏️ edit ${path} → error`;
|
|
286
|
+
const replaceAll = args.replace_all ? ' (all)' : '';
|
|
287
|
+
return `✏️ edit ${path}${replaceAll}`;
|
|
288
|
+
},
|
|
249
289
|
}),
|
|
250
290
|
(0, tool_1.buildTool)({
|
|
251
291
|
name: 'glob',
|
|
@@ -275,6 +315,13 @@ exports.TOOLS = [
|
|
|
275
315
|
isReadOnly: () => true,
|
|
276
316
|
isConcurrencySafe: () => true,
|
|
277
317
|
userFacingName: (args) => `Glob ${args.pattern}`,
|
|
318
|
+
getSummary: (args, result) => {
|
|
319
|
+
const pattern = args.pattern;
|
|
320
|
+
if (!result.success)
|
|
321
|
+
return `🔍 glob ${pattern} → error`;
|
|
322
|
+
const count = result.output.split('\n').filter(Boolean).length;
|
|
323
|
+
return `🔍 glob ${pattern} → ${count} matches`;
|
|
324
|
+
},
|
|
278
325
|
}),
|
|
279
326
|
(0, tool_1.buildTool)({
|
|
280
327
|
name: 'grep',
|
|
@@ -312,6 +359,13 @@ exports.TOOLS = [
|
|
|
312
359
|
isReadOnly: () => true,
|
|
313
360
|
isConcurrencySafe: () => true,
|
|
314
361
|
userFacingName: (args) => `Grep ${args.pattern}`,
|
|
362
|
+
getSummary: (args, result) => {
|
|
363
|
+
const pattern = args.pattern;
|
|
364
|
+
if (!result.success)
|
|
365
|
+
return `🔎 grep /${pattern}/ → error`;
|
|
366
|
+
const count = result.output.split('\n').filter(l => l && !l.startsWith('--')).length;
|
|
367
|
+
return `🔎 grep /${pattern}/ → ${count} matches`;
|
|
368
|
+
},
|
|
315
369
|
}),
|
|
316
370
|
// Memory tools
|
|
317
371
|
(0, tool_1.buildTool)({
|
|
@@ -379,6 +433,13 @@ exports.TOOLS = [
|
|
|
379
433
|
},
|
|
380
434
|
isReadOnly: () => false,
|
|
381
435
|
userFacingName: (args) => `Memory save ${args.name}`,
|
|
436
|
+
getSummary: (args, result) => {
|
|
437
|
+
const name = args.name;
|
|
438
|
+
const type = args.type;
|
|
439
|
+
if (!result.success)
|
|
440
|
+
return `🧠 save ${name} → error`;
|
|
441
|
+
return `🧠 save ${name} (${type})`;
|
|
442
|
+
},
|
|
382
443
|
}),
|
|
383
444
|
(0, tool_1.buildTool)({
|
|
384
445
|
name: 'memory_recall',
|
|
@@ -460,6 +521,15 @@ exports.TOOLS = [
|
|
|
460
521
|
},
|
|
461
522
|
isReadOnly: () => true,
|
|
462
523
|
userFacingName: (args) => `Memory recall ${args.query || 'all'}`,
|
|
524
|
+
getSummary: (args, result) => {
|
|
525
|
+
const query = args.query || 'all';
|
|
526
|
+
if (!result.success)
|
|
527
|
+
return `🧠 recall "${query}" → error`;
|
|
528
|
+
if (result.output === 'No memories found')
|
|
529
|
+
return `🧠 recall "${query}" → 0 found`;
|
|
530
|
+
const count = result.output.split(/^## /m).length - 1;
|
|
531
|
+
return `🧠 recall "${query}" → ${count} memories`;
|
|
532
|
+
},
|
|
463
533
|
}),
|
|
464
534
|
(0, tool_1.buildTool)({
|
|
465
535
|
name: 'memory_forget',
|
|
@@ -503,6 +573,12 @@ exports.TOOLS = [
|
|
|
503
573
|
},
|
|
504
574
|
isReadOnly: () => false,
|
|
505
575
|
userFacingName: (args) => `Memory forget ${args.name}`,
|
|
576
|
+
getSummary: (args, result) => {
|
|
577
|
+
const name = args.name;
|
|
578
|
+
if (!result.success)
|
|
579
|
+
return `🧠 forget ${name} → error`;
|
|
580
|
+
return `🧠 forget ${name}`;
|
|
581
|
+
},
|
|
506
582
|
}),
|
|
507
583
|
// History search tool
|
|
508
584
|
(0, tool_1.buildTool)({
|
|
@@ -592,6 +668,16 @@ exports.TOOLS = [
|
|
|
592
668
|
},
|
|
593
669
|
isReadOnly: () => true,
|
|
594
670
|
userFacingName: (args) => `History search ${args.query}`,
|
|
671
|
+
getSummary: (args, result) => {
|
|
672
|
+
const query = args.query;
|
|
673
|
+
if (!result.success)
|
|
674
|
+
return `📜 history "${query}" → error`;
|
|
675
|
+
if (result.output.startsWith('No matching'))
|
|
676
|
+
return `📜 history "${query}" → 0 found`;
|
|
677
|
+
const match = result.output.match(/Found (\d+) matching/);
|
|
678
|
+
const count = match ? match[1] : '?';
|
|
679
|
+
return `📜 history "${query}" → ${count} found`;
|
|
680
|
+
},
|
|
595
681
|
}),
|
|
596
682
|
];
|
|
597
683
|
/**
|
|
@@ -628,10 +714,22 @@ async function readFileSync_(path, maxLines) {
|
|
|
628
714
|
const content = (0, fs_1.readFileSync)(resolved, 'utf-8');
|
|
629
715
|
const lines = content.split('\n');
|
|
630
716
|
const limit = maxLines ?? 500;
|
|
717
|
+
const maxBytes = 51200; // 50KB byte limit
|
|
631
718
|
if (lines.length > limit) {
|
|
719
|
+
const truncated = lines.slice(0, limit).join('\n');
|
|
720
|
+
const byteLen = Buffer.byteLength(truncated, 'utf8');
|
|
721
|
+
const notice = `\n\n[... truncated, ${lines.length - limit} more lines]`;
|
|
722
|
+
return {
|
|
723
|
+
success: true,
|
|
724
|
+
output: byteLen > maxBytes ? truncated.slice(0, maxBytes) + `\n\n[... truncated at ${maxBytes}B]` : truncated + notice,
|
|
725
|
+
};
|
|
726
|
+
}
|
|
727
|
+
// Also apply byte limit to full content
|
|
728
|
+
const byteLen = Buffer.byteLength(content, 'utf8');
|
|
729
|
+
if (byteLen > maxBytes) {
|
|
632
730
|
return {
|
|
633
731
|
success: true,
|
|
634
|
-
output:
|
|
732
|
+
output: content.slice(0, maxBytes) + `\n\n[... truncated at ${maxBytes}B of ${byteLen}B]`,
|
|
635
733
|
};
|
|
636
734
|
}
|
|
637
735
|
return { success: true, output: content };
|
|
@@ -684,7 +782,12 @@ async function listFiles_(path, maxDepth) {
|
|
|
684
782
|
}
|
|
685
783
|
}
|
|
686
784
|
walk(resolved, 1, '');
|
|
687
|
-
|
|
785
|
+
// Limit output to 500 entries
|
|
786
|
+
const maxEntries = 500;
|
|
787
|
+
const output = results.length > maxEntries
|
|
788
|
+
? results.slice(0, maxEntries).join('\n') + `\n\n[... truncated, ${results.length - maxEntries} more entries]`
|
|
789
|
+
: results.join('\n');
|
|
790
|
+
return { success: true, output };
|
|
688
791
|
}
|
|
689
792
|
// Issue #32 #3.2: execCommand_ 支持 abortSignal
|
|
690
793
|
async function execCommand_(command, cwd, timeout, maxOutput, abortSignal) {
|
|
@@ -847,7 +950,55 @@ async function execCommand_(command, cwd, timeout, maxOutput, abortSignal) {
|
|
|
847
950
|
});
|
|
848
951
|
});
|
|
849
952
|
}
|
|
850
|
-
|
|
953
|
+
/**
|
|
954
|
+
* Attempt to find old_string in content using fuzzy matching strategies.
|
|
955
|
+
* Returns null if no match found, or the matched strings.
|
|
956
|
+
*/
|
|
957
|
+
function fuzzyMatch(content, oldString) {
|
|
958
|
+
// Strategy 1: Line-by-line matching (allow different indentation)
|
|
959
|
+
const oldLines = oldString.split('\n').map(l => l.trim()).filter(Boolean);
|
|
960
|
+
const contentLines = content.split('\n');
|
|
961
|
+
const lineMatches = [];
|
|
962
|
+
for (let i = 0; i <= contentLines.length - oldLines.length; i++) {
|
|
963
|
+
let allMatch = true;
|
|
964
|
+
for (let j = 0; j < oldLines.length; j++) {
|
|
965
|
+
if (contentLines[i + j].trim() !== oldLines[j]) {
|
|
966
|
+
allMatch = false;
|
|
967
|
+
break;
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
if (allMatch) {
|
|
971
|
+
const matchedStr = contentLines.slice(i, i + oldLines.length).join('\n');
|
|
972
|
+
lineMatches.push(matchedStr);
|
|
973
|
+
}
|
|
974
|
+
}
|
|
975
|
+
if (lineMatches.length > 0) {
|
|
976
|
+
return { matches: lineMatches, strategy: 'line' };
|
|
977
|
+
}
|
|
978
|
+
// Strategy 2: Whitespace-tolerant token match. This preserves the actual
|
|
979
|
+
// matched span without consuming unrelated leading/trailing blank lines.
|
|
980
|
+
const tokens = oldString.trim().split(/\s+/).filter(Boolean);
|
|
981
|
+
if (tokens.length === 0)
|
|
982
|
+
return null;
|
|
983
|
+
const pattern = tokens.map(escapeRegExp).join('\\s+');
|
|
984
|
+
const regex = new RegExp(pattern, 'g');
|
|
985
|
+
const wsMatches = [];
|
|
986
|
+
let match;
|
|
987
|
+
while ((match = regex.exec(content)) !== null) {
|
|
988
|
+
if (match[0]) {
|
|
989
|
+
wsMatches.push(match[0]);
|
|
990
|
+
}
|
|
991
|
+
if (wsMatches.length > 5)
|
|
992
|
+
break; // Safety limit
|
|
993
|
+
if (match.index === regex.lastIndex)
|
|
994
|
+
regex.lastIndex++;
|
|
995
|
+
}
|
|
996
|
+
if (wsMatches.length > 0) {
|
|
997
|
+
return { matches: wsMatches, strategy: 'whitespace' };
|
|
998
|
+
}
|
|
999
|
+
return null;
|
|
1000
|
+
}
|
|
1001
|
+
async function editFile_(path, old_string, new_string, replace_all, fuzzy_match) {
|
|
851
1002
|
try {
|
|
852
1003
|
const resolved = safePath(path);
|
|
853
1004
|
if (!(0, fs_1.existsSync)(resolved)) {
|
|
@@ -857,10 +1008,37 @@ async function editFile_(path, old_string, new_string, replace_all) {
|
|
|
857
1008
|
return { success: false, output: '', error: `Path is a directory, not a file: ${path}` };
|
|
858
1009
|
}
|
|
859
1010
|
const content = (0, fs_1.readFileSync)(resolved, 'utf-8');
|
|
860
|
-
// Check if old_string exists
|
|
1011
|
+
// Check if old_string exists exactly
|
|
861
1012
|
const count = (content.match(new RegExp(escapeRegExp(old_string), 'g')) || []).length;
|
|
862
1013
|
if (count === 0) {
|
|
863
|
-
|
|
1014
|
+
if (!fuzzy_match) {
|
|
1015
|
+
return {
|
|
1016
|
+
success: false,
|
|
1017
|
+
output: '',
|
|
1018
|
+
error: `old_string not found in file: ${old_string.slice(0, 100)}...`,
|
|
1019
|
+
};
|
|
1020
|
+
}
|
|
1021
|
+
// Try fuzzy match strategies
|
|
1022
|
+
const fuzzyResult = fuzzyMatch(content, old_string);
|
|
1023
|
+
if (fuzzyResult === null) {
|
|
1024
|
+
return { success: false, output: '', error: `old_string not found in file: ${old_string.slice(0, 100)}...` };
|
|
1025
|
+
}
|
|
1026
|
+
if (fuzzyResult.matches.length > 1) {
|
|
1027
|
+
return {
|
|
1028
|
+
success: false,
|
|
1029
|
+
output: '',
|
|
1030
|
+
error: `Fuzzy match found ${fuzzyResult.matches.length} candidates. Provide a more specific string. First 3 candidates:\n${fuzzyResult.matches.slice(0, 3).map((m, i) => ` ${i + 1}: "${m.slice(0, 80)}..."`).join('\n')}`,
|
|
1031
|
+
};
|
|
1032
|
+
}
|
|
1033
|
+
// Use the single fuzzy match only.
|
|
1034
|
+
const match = fuzzyResult.matches[0];
|
|
1035
|
+
const idx = content.indexOf(match);
|
|
1036
|
+
const newContent = content.slice(0, idx) + new_string + content.slice(idx + match.length);
|
|
1037
|
+
(0, fs_1.writeFileSync)(resolved, newContent, 'utf-8');
|
|
1038
|
+
return {
|
|
1039
|
+
success: true,
|
|
1040
|
+
output: `Fuzzy edited ${path} (matched by ${fuzzyResult.strategy}, "${match.slice(0, 50)}...")`,
|
|
1041
|
+
};
|
|
864
1042
|
}
|
|
865
1043
|
// If not replace_all, require unique match
|
|
866
1044
|
if (!replace_all && count > 1) {
|
|
@@ -960,7 +1138,13 @@ async function glob_(pattern, basePath) {
|
|
|
960
1138
|
if (results.length === 0) {
|
|
961
1139
|
return { success: true, output: 'No files found matching pattern' };
|
|
962
1140
|
}
|
|
963
|
-
|
|
1141
|
+
// Limit output to 200 matches
|
|
1142
|
+
const maxMatches = 200;
|
|
1143
|
+
const sorted = results.sort();
|
|
1144
|
+
const output = sorted.length > maxMatches
|
|
1145
|
+
? sorted.slice(0, maxMatches).join('\n') + `\n\n[... truncated, ${sorted.length - maxMatches} more matches]`
|
|
1146
|
+
: sorted.join('\n');
|
|
1147
|
+
return { success: true, output };
|
|
964
1148
|
}
|
|
965
1149
|
catch (err) {
|
|
966
1150
|
return { success: false, output: '', error: String(err.message) };
|
|
@@ -1087,23 +1271,37 @@ async function executeTool(name, args, abortSignal) {
|
|
|
1087
1271
|
cwd: process.cwd(),
|
|
1088
1272
|
config: {
|
|
1089
1273
|
name: 'openhorse',
|
|
1090
|
-
mode: 'development',
|
|
1274
|
+
mode: process.env.OPENHORSE_MODE || 'development',
|
|
1091
1275
|
},
|
|
1092
1276
|
abortSignal, // Issue #32 #3.2: 透传 abortSignal
|
|
1093
1277
|
};
|
|
1094
1278
|
const result = await tool.execute(args, context);
|
|
1279
|
+
const summary = summarizeToolResult(tool, args, result);
|
|
1280
|
+
const outputBytes = Buffer.byteLength(result.output || '', 'utf8');
|
|
1095
1281
|
if (!result.success) {
|
|
1096
1282
|
return JSON.stringify({
|
|
1097
1283
|
success: false,
|
|
1098
1284
|
error: result.error,
|
|
1099
1285
|
output: result.output,
|
|
1286
|
+
summary,
|
|
1287
|
+
outputBytes,
|
|
1100
1288
|
});
|
|
1101
1289
|
}
|
|
1102
1290
|
return JSON.stringify({
|
|
1103
1291
|
success: true,
|
|
1104
1292
|
output: result.output,
|
|
1293
|
+
summary,
|
|
1294
|
+
outputBytes,
|
|
1105
1295
|
});
|
|
1106
1296
|
}
|
|
1297
|
+
function summarizeToolResult(tool, args, result) {
|
|
1298
|
+
try {
|
|
1299
|
+
return tool.getSummary?.(args, result);
|
|
1300
|
+
}
|
|
1301
|
+
catch {
|
|
1302
|
+
return undefined;
|
|
1303
|
+
}
|
|
1304
|
+
}
|
|
1107
1305
|
/**
|
|
1108
1306
|
* 获取可用工具名称列表
|
|
1109
1307
|
*/
|