@visorcraft/idlehands 2.2.8 → 2.2.10
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/compaction-scoring.js +113 -0
- package/dist/agent/compaction-scoring.js.map +1 -0
- package/dist/agent/tools-schema.js +97 -0
- package/dist/agent/tools-schema.js.map +1 -1
- package/dist/agent.js +86 -4
- package/dist/agent.js.map +1 -1
- package/dist/bot/command-logic.js +1 -0
- package/dist/bot/command-logic.js.map +1 -1
- package/dist/bot/commands.js +12 -1
- package/dist/bot/commands.js.map +1 -1
- package/dist/bot/discord-commands.js +5 -1
- package/dist/bot/discord-commands.js.map +1 -1
- package/dist/bot/mcp-discover-command.js +35 -0
- package/dist/bot/mcp-discover-command.js.map +1 -0
- package/dist/bot/telegram.js +2 -1
- package/dist/bot/telegram.js.map +1 -1
- package/dist/mcp-discovery.js +104 -0
- package/dist/mcp-discovery.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Information density scoring for smart compaction.
|
|
3
|
+
*
|
|
4
|
+
* Scores messages by how valuable they are to keep in context,
|
|
5
|
+
* so compaction can prioritize dropping low-value messages first.
|
|
6
|
+
*
|
|
7
|
+
* Higher score = more valuable = keep longer.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Score a conversation message for compaction priority.
|
|
11
|
+
* Returns 0-100 where higher = more important to keep.
|
|
12
|
+
*/
|
|
13
|
+
export function scoreMessage(msg, index, totalMessages, opts) {
|
|
14
|
+
let score = 50; // baseline
|
|
15
|
+
const reasons = [];
|
|
16
|
+
const content = typeof msg.content === 'string' ? msg.content : JSON.stringify(msg.content ?? '');
|
|
17
|
+
const contentLen = content.length;
|
|
18
|
+
// ── Role-based scoring ──
|
|
19
|
+
if (msg.role === 'system') {
|
|
20
|
+
return { index, score: 100, reason: 'system prompt (never drop)' };
|
|
21
|
+
}
|
|
22
|
+
if (msg.role === 'user') {
|
|
23
|
+
score += 15; // User messages are important context
|
|
24
|
+
reasons.push('user');
|
|
25
|
+
// Last user message is critical
|
|
26
|
+
if (index >= totalMessages - 3) {
|
|
27
|
+
score += 30;
|
|
28
|
+
reasons.push('recent');
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
if (msg.role === 'assistant') {
|
|
32
|
+
// Assistant messages with code are high-value
|
|
33
|
+
if (content.includes('```')) {
|
|
34
|
+
score += 20;
|
|
35
|
+
reasons.push('has_code');
|
|
36
|
+
}
|
|
37
|
+
// Assistant messages with substantive text (not just tool calls)
|
|
38
|
+
if (contentLen > 200 && !msg.tool_calls?.length) {
|
|
39
|
+
score += 10;
|
|
40
|
+
reasons.push('substantive');
|
|
41
|
+
}
|
|
42
|
+
// Planning/thinking text is lower value once executed
|
|
43
|
+
if (msg.tool_calls?.length && contentLen < 100) {
|
|
44
|
+
score -= 15;
|
|
45
|
+
reasons.push('thin_planning');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
if (msg.role === 'tool') {
|
|
49
|
+
// Tool results for read operations are generally low-value (can be re-read)
|
|
50
|
+
if (content.includes('[read_file]') || content.includes('[list_dir]')) {
|
|
51
|
+
score -= 20;
|
|
52
|
+
reasons.push('read_result');
|
|
53
|
+
}
|
|
54
|
+
// Error messages are important (prevent re-attempting)
|
|
55
|
+
if (content.includes('ERROR') || content.includes('error:') || content.includes('failed')) {
|
|
56
|
+
score += 15;
|
|
57
|
+
reasons.push('has_error');
|
|
58
|
+
}
|
|
59
|
+
// Very long tool results are candidates for dropping (bulky)
|
|
60
|
+
if (contentLen > 3000) {
|
|
61
|
+
score -= 10;
|
|
62
|
+
reasons.push('bulky');
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
// ── Recency bonus ──
|
|
66
|
+
// Messages near the end of the conversation are more valuable
|
|
67
|
+
const recencyRatio = index / totalMessages;
|
|
68
|
+
if (recencyRatio > 0.8) {
|
|
69
|
+
score += 25;
|
|
70
|
+
reasons.push('very_recent');
|
|
71
|
+
}
|
|
72
|
+
else if (recencyRatio > 0.5) {
|
|
73
|
+
score += 10;
|
|
74
|
+
reasons.push('recent_half');
|
|
75
|
+
}
|
|
76
|
+
// ── Active file relevance ──
|
|
77
|
+
if (opts?.activeFiles?.size) {
|
|
78
|
+
for (const file of opts.activeFiles) {
|
|
79
|
+
const basename = file.split('/').pop() ?? '';
|
|
80
|
+
if (content.includes(basename)) {
|
|
81
|
+
score += 15;
|
|
82
|
+
reasons.push('active_file');
|
|
83
|
+
break;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
// ── Instruction relevance ──
|
|
88
|
+
if (opts?.lastInstruction) {
|
|
89
|
+
const keywords = opts.lastInstruction.toLowerCase().split(/\s+/).filter(w => w.length > 3);
|
|
90
|
+
const contentLower = content.toLowerCase();
|
|
91
|
+
const hits = keywords.filter(k => contentLower.includes(k)).length;
|
|
92
|
+
if (hits > 2) {
|
|
93
|
+
score += 10;
|
|
94
|
+
reasons.push('relevant');
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
return {
|
|
98
|
+
index,
|
|
99
|
+
score: Math.max(0, Math.min(100, score)),
|
|
100
|
+
reason: reasons.join(', ') || 'baseline',
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Given scored messages, return indices to drop (sorted lowest score first)
|
|
105
|
+
* until the token budget target is met.
|
|
106
|
+
*/
|
|
107
|
+
export function selectDropCandidates(scored, opts) {
|
|
108
|
+
const candidates = scored
|
|
109
|
+
.filter(s => s.index >= opts.minIndex && s.index <= opts.maxIndex && s.score < 100)
|
|
110
|
+
.sort((a, b) => a.score - b.score); // lowest score first
|
|
111
|
+
return candidates.slice(0, opts.targetDrop).map(c => c.index);
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=compaction-scoring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compaction-scoring.js","sourceRoot":"","sources":["../../src/agent/compaction-scoring.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { SYS_CONTEXT_SCHEMA } from '../sys/context.js';
|
|
2
|
+
import { isLspTool, isMutationTool, isReadOnlyTool } from './tool-policy.js';
|
|
2
3
|
const obj = (properties, required = []) => ({
|
|
3
4
|
type: 'object',
|
|
4
5
|
additionalProperties: false,
|
|
@@ -291,4 +292,100 @@ export function buildToolsSchema(opts) {
|
|
|
291
292
|
}
|
|
292
293
|
return final;
|
|
293
294
|
}
|
|
295
|
+
function dedupeKeepTail(values, max) {
|
|
296
|
+
const out = [];
|
|
297
|
+
const seen = new Set();
|
|
298
|
+
for (let i = values.length - 1; i >= 0; i--) {
|
|
299
|
+
const v = (values[i] ?? '').trim();
|
|
300
|
+
if (!v || seen.has(v))
|
|
301
|
+
continue;
|
|
302
|
+
seen.add(v);
|
|
303
|
+
out.push(v);
|
|
304
|
+
if (out.length >= max)
|
|
305
|
+
break;
|
|
306
|
+
}
|
|
307
|
+
return out.reverse();
|
|
308
|
+
}
|
|
309
|
+
function shortenPath(value) {
|
|
310
|
+
const v = value.trim();
|
|
311
|
+
if (!v)
|
|
312
|
+
return v;
|
|
313
|
+
if (v.length <= 38)
|
|
314
|
+
return v;
|
|
315
|
+
const tail = v.slice(-35);
|
|
316
|
+
return `…${tail}`;
|
|
317
|
+
}
|
|
318
|
+
function contextHints(name, ctx) {
|
|
319
|
+
const lastTool = ctx.lastTool;
|
|
320
|
+
const recentTools = dedupeKeepTail(ctx.recentTools ?? [], 8);
|
|
321
|
+
const rawRecentPaths = dedupeKeepTail(ctx.recentPaths ?? [], 4);
|
|
322
|
+
const recentPaths = rawRecentPaths.map(shortenPath);
|
|
323
|
+
const hints = [];
|
|
324
|
+
// Focus continuity: if we just read, encourage minimal edits next.
|
|
325
|
+
if (name === 'read_file' || name === 'read_files' || name === 'list_dir') {
|
|
326
|
+
if (isMutationTool(lastTool ?? '')) {
|
|
327
|
+
hints.push('You recently edited files; read the target file to refresh current content first.');
|
|
328
|
+
}
|
|
329
|
+
if (recentPaths.length > 0) {
|
|
330
|
+
hints.push(`Recent targets: ${recentPaths.join(', ')}`);
|
|
331
|
+
}
|
|
332
|
+
if (isMutationTool(name)) {
|
|
333
|
+
// no-op
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
else if (name === 'search_files') {
|
|
337
|
+
if (recentPaths.length > 0) {
|
|
338
|
+
hints.push(`Prefer ${recentPaths[0]} style scope before broad scans.`);
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
else if (isReadOnlyTool(name) && isLspTool(name)) {
|
|
342
|
+
hints.push('Use only where symbol/location context is needed after opening the target file.');
|
|
343
|
+
}
|
|
344
|
+
else if (isMutationTool(name)) {
|
|
345
|
+
const lastReadPath = recentTools.includes('read_file')
|
|
346
|
+
? (rawRecentPaths[0] ?? '')
|
|
347
|
+
: rawRecentPaths.at(-1) ?? '';
|
|
348
|
+
if (lastReadPath) {
|
|
349
|
+
hints.push(`Recent-file continuation likely: target ${shortenPath(lastReadPath)} first.`);
|
|
350
|
+
}
|
|
351
|
+
if (recentTools.includes('read_file') || recentTools.includes('read_files')) {
|
|
352
|
+
hints.push('Scope edits from recent reads; avoid broad rewrites.');
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
hints.push('Read the exact target file first, then apply the smallest edit needed.');
|
|
356
|
+
}
|
|
357
|
+
}
|
|
358
|
+
else if (name === 'exec') {
|
|
359
|
+
if (recentTools.includes('exec')) {
|
|
360
|
+
hints.push('Avoid re-running identical commands without new context from the previous result.');
|
|
361
|
+
}
|
|
362
|
+
if (isMutationTool(lastTool ?? '')) {
|
|
363
|
+
hints.push('After file edits, run targeted checks (test/lint) if possible.');
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
return hints.filter(Boolean).slice(0, 2);
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Return a tool schema array with extra context-specific description hints.
|
|
370
|
+
* This always deep-clones schemas to avoid mutating cached schema lists.
|
|
371
|
+
*/
|
|
372
|
+
export function applyContextAwareToolDescriptions(schemas, context) {
|
|
373
|
+
if (!context || (!context.lastTool && (!context.recentTools?.length || context.recentTools.length === 0) && (!context.recentPaths?.length || context.recentPaths.length === 0))) {
|
|
374
|
+
return schemas;
|
|
375
|
+
}
|
|
376
|
+
return schemas.map((schema) => {
|
|
377
|
+
const name = schema.function.name;
|
|
378
|
+
const hints = contextHints(name, context);
|
|
379
|
+
if (!hints.length)
|
|
380
|
+
return schema;
|
|
381
|
+
const desc = schema.function.description?.trim() ?? '';
|
|
382
|
+
return {
|
|
383
|
+
...schema,
|
|
384
|
+
function: {
|
|
385
|
+
...schema.function,
|
|
386
|
+
description: `${desc} Context: ${hints.join(' ')}`,
|
|
387
|
+
},
|
|
388
|
+
};
|
|
389
|
+
});
|
|
390
|
+
}
|
|
294
391
|
//# sourceMappingURL=tools-schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools-schema.js","sourceRoot":"","sources":["../../src/agent/tools-schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools-schema.js","sourceRoot":"","sources":["../../src/agent/tools-schema.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -20,7 +20,7 @@ import { CaptureManager } from './agent/capture.js';
|
|
|
20
20
|
import { ClientPool } from './agent/client-pool.js';
|
|
21
21
|
import { ConversationBranch } from './agent/conversation-branch.js';
|
|
22
22
|
import { isLspTool, isMutationTool, isReadOnlyTool, planModeSummary } from './agent/tool-policy.js';
|
|
23
|
-
import { buildToolsSchema } from './agent/tools-schema.js';
|
|
23
|
+
import { applyContextAwareToolDescriptions, buildToolsSchema } from './agent/tools-schema.js';
|
|
24
24
|
import { OpenAIClient } from './client.js';
|
|
25
25
|
import { loadProjectContext } from './context.js';
|
|
26
26
|
import { loadGitContext, isGitDirty, stashWorkingTree } from './git.js';
|
|
@@ -238,6 +238,80 @@ export async function createSession(opts) {
|
|
|
238
238
|
allowSpawnTask: spawnTaskEnabled,
|
|
239
239
|
slimFast,
|
|
240
240
|
});
|
|
241
|
+
const collectToolContext = () => {
|
|
242
|
+
const recentTools = recentToolUsage.map((row) => row.tool);
|
|
243
|
+
const recentPaths = recentToolUsage.flatMap((row) => row.paths);
|
|
244
|
+
const dedupeRecent = (items, max) => {
|
|
245
|
+
const seen = new Set();
|
|
246
|
+
const out = [];
|
|
247
|
+
for (let i = items.length - 1; i >= 0; i--) {
|
|
248
|
+
const item = items[i];
|
|
249
|
+
if (seen.has(item))
|
|
250
|
+
continue;
|
|
251
|
+
seen.add(item);
|
|
252
|
+
out.push(item);
|
|
253
|
+
if (out.length >= max)
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
return out.reverse();
|
|
257
|
+
};
|
|
258
|
+
return {
|
|
259
|
+
lastTool: recentTools[recentTools.length - 1],
|
|
260
|
+
recentTools: dedupeRecent(recentTools, 12),
|
|
261
|
+
recentPaths: dedupeRecent(recentPaths, 8),
|
|
262
|
+
};
|
|
263
|
+
};
|
|
264
|
+
const extractToolPaths = (toolName, args) => {
|
|
265
|
+
const out = [];
|
|
266
|
+
const add = (value) => {
|
|
267
|
+
if (typeof value !== 'string')
|
|
268
|
+
return;
|
|
269
|
+
const v = value.trim();
|
|
270
|
+
if (!v)
|
|
271
|
+
return;
|
|
272
|
+
out.push(v);
|
|
273
|
+
};
|
|
274
|
+
if (!args || typeof args !== 'object')
|
|
275
|
+
return out;
|
|
276
|
+
if (toolName === 'read_files') {
|
|
277
|
+
const reqs = args.requests;
|
|
278
|
+
if (Array.isArray(reqs)) {
|
|
279
|
+
for (const r of reqs) {
|
|
280
|
+
if (r && typeof r === 'object' && 'path' in r) {
|
|
281
|
+
add(r.path);
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
if (toolName === 'search_files' || toolName === 'list_dir' || toolName === 'read_file') {
|
|
287
|
+
add(args.path);
|
|
288
|
+
}
|
|
289
|
+
if (toolName === 'exec' && typeof args.cwd === 'string') {
|
|
290
|
+
add(args.cwd);
|
|
291
|
+
}
|
|
292
|
+
if ((toolName === 'edit_range' ||
|
|
293
|
+
toolName === 'write_file' ||
|
|
294
|
+
toolName === 'edit_file' ||
|
|
295
|
+
toolName === 'insert_file' ||
|
|
296
|
+
toolName === 'lsp_diagnostics' ||
|
|
297
|
+
toolName === 'lsp_symbols' ||
|
|
298
|
+
toolName === 'lsp_hover' ||
|
|
299
|
+
toolName === 'lsp_definition' ||
|
|
300
|
+
toolName === 'lsp_references') &&
|
|
301
|
+
typeof args.path === 'string') {
|
|
302
|
+
add(args.path);
|
|
303
|
+
}
|
|
304
|
+
return out;
|
|
305
|
+
};
|
|
306
|
+
const recordToolUsageForHints = (toolName, args) => {
|
|
307
|
+
const paths = extractToolPaths(toolName, args);
|
|
308
|
+
recentToolUsage.push({
|
|
309
|
+
tool: toolName,
|
|
310
|
+
paths,
|
|
311
|
+
});
|
|
312
|
+
if (recentToolUsage.length > 60)
|
|
313
|
+
recentToolUsage.shift();
|
|
314
|
+
};
|
|
241
315
|
const vault = vaultEnabled
|
|
242
316
|
? (opts.runtime?.vault ??
|
|
243
317
|
new VaultStore({
|
|
@@ -461,6 +535,7 @@ export async function createSession(opts) {
|
|
|
461
535
|
messages = [{ role: 'system', content: effective }];
|
|
462
536
|
sessionMetaPending = sessionMeta;
|
|
463
537
|
lastEditedPath = undefined;
|
|
538
|
+
recentToolUsage.length = 0;
|
|
464
539
|
initialConnectionProbeDone = false;
|
|
465
540
|
mcpToolsLoaded = !mcpLazySchemaMode;
|
|
466
541
|
routeHysteresis.reset();
|
|
@@ -491,6 +566,8 @@ export async function createSession(opts) {
|
|
|
491
566
|
let initialConnectionProbeDone = false;
|
|
492
567
|
let lastEditedPath;
|
|
493
568
|
let lastTurnTransaction;
|
|
569
|
+
// Context for adaptive tool schema hints (recent tool actions and paths).
|
|
570
|
+
const recentToolUsage = [];
|
|
494
571
|
// Plan mode state (Phase 8)
|
|
495
572
|
let planSteps = [];
|
|
496
573
|
// Sub-agent queue state (Phase 18): enforce sequential execution on single-GPU setups.
|
|
@@ -2207,9 +2284,10 @@ export async function createSession(opts) {
|
|
|
2207
2284
|
const forceToollessByRouting = fastLaneToolless && turns === 1;
|
|
2208
2285
|
// On fast-lane subsequent turns, slim the schema to read-only tools.
|
|
2209
2286
|
const useSlimFast = !forceToollessByRouting && fastLaneSlimTools && turns > 1;
|
|
2287
|
+
const schemaContext = collectToolContext();
|
|
2210
2288
|
const toolsForTurn = cfg.no_tools || forceToollessRecoveryTurn || forceToollessByRouting
|
|
2211
2289
|
? []
|
|
2212
|
-
: getToolsSchema(useSlimFast).filter((t) => !suppressedTools.has(t.function.name));
|
|
2290
|
+
: applyContextAwareToolDescriptions(getToolsSchema(useSlimFast).filter((t) => !suppressedTools.has(t.function.name)), schemaContext);
|
|
2213
2291
|
const toolChoiceForTurn = cfg.no_tools || forceToollessRecoveryTurn || forceToollessByRouting ? 'none' : 'auto';
|
|
2214
2292
|
const promptBytesEstimate = Buffer.byteLength(JSON.stringify(messages), 'utf8');
|
|
2215
2293
|
const toolSchemaBytesEstimate = toolsForTurn.length
|
|
@@ -2969,8 +3047,12 @@ export async function createSession(opts) {
|
|
|
2969
3047
|
if (!builtInFn && !lspToolCall && !hasMcpTool && !isSpawnTask)
|
|
2970
3048
|
throw new Error(`unknown tool: ${name}`);
|
|
2971
3049
|
// Keep parsed args by call-id so we can digest/archive tool outputs with context.
|
|
2972
|
-
|
|
2973
|
-
|
|
3050
|
+
const parsedArgs = args && typeof args === 'object' && !Array.isArray(args)
|
|
3051
|
+
? args
|
|
3052
|
+
: {};
|
|
3053
|
+
toolLoopGuard.registerCall(name, parsedArgs, callId);
|
|
3054
|
+
toolArgsByCallId.set(callId, parsedArgs);
|
|
3055
|
+
recordToolUsageForHints(name, parsedArgs);
|
|
2974
3056
|
// Pre-dispatch argument validation.
|
|
2975
3057
|
// - Required params
|
|
2976
3058
|
// - Type/range/enums
|