@visorcraft/idlehands 1.2.0 → 1.2.2
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/formatting.js +38 -1
- package/dist/agent/formatting.js.map +1 -1
- package/dist/agent/tool-loop-guard.js +16 -0
- package/dist/agent/tool-loop-guard.js.map +1 -1
- package/dist/agent.js +35 -5
- package/dist/agent.js.map +1 -1
- package/dist/bot/commands.js +2 -2
- package/dist/bot/commands.js.map +1 -1
- package/dist/bot/discord.js +2 -2
- package/dist/bot/discord.js.map +1 -1
- package/dist/cli/commands/model.js +5 -3
- package/dist/cli/commands/model.js.map +1 -1
- package/package.json +1 -1
package/dist/agent/formatting.js
CHANGED
|
@@ -243,7 +243,44 @@ export function looksLikePlanningNarration(text, finishReason) {
|
|
|
243
243
|
if (/(^|\n)\s*(done|completed|finished|final answer|summary:)\b/.test(s))
|
|
244
244
|
return false;
|
|
245
245
|
// Typical "thinking out loud"/plan chatter that should continue with tools.
|
|
246
|
-
|
|
246
|
+
if (/\b(let me|i(?:'|’)ll|i will|i'm going to|i am going to|next i(?:'|’)ll|first i(?:'|’)ll|i need to|i should|checking|reviewing|exploring|starting by)\b/.test(s)) {
|
|
247
|
+
return true;
|
|
248
|
+
}
|
|
249
|
+
// Handle entire response wrapped in a single markdown block
|
|
250
|
+
let contentToInspect = s;
|
|
251
|
+
if (contentToInspect.startsWith('```') && contentToInspect.endsWith('```')) {
|
|
252
|
+
const codeLines = contentToInspect.split('\n');
|
|
253
|
+
if (codeLines.length >= 3) {
|
|
254
|
+
contentToInspect = codeLines.slice(1, -1).join('\n').trim();
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
// Hallucinated naked shell commands (common when models forget the exec tool envelope).
|
|
258
|
+
// E.g. "grep -rn foo" or "npm install" on a single line with no context.
|
|
259
|
+
const lines = contentToInspect.split('\n').filter((l) => l.trim().length > 0);
|
|
260
|
+
if (lines.length > 0 && lines.length <= 5) {
|
|
261
|
+
const firstLine = lines[0].trim();
|
|
262
|
+
const firstWord = firstLine.split(/\s+/)[0];
|
|
263
|
+
const nakedCommands = new Set([
|
|
264
|
+
'grep', 'ls', 'cat', 'npm', 'yarn', 'pnpm', 'git', 'node', 'python',
|
|
265
|
+
'cargo', 'go', 'find', 'awk', 'sed', 'rg', 'cd', 'mkdir', 'touch',
|
|
266
|
+
'rm', 'mv', 'cp', 'curl', 'wget', 'docker', 'pytest', 'tsc', 'npx'
|
|
267
|
+
]);
|
|
268
|
+
if (nakedCommands.has(firstWord)) {
|
|
269
|
+
// If it has flags or paths, treat as a broken tool call
|
|
270
|
+
if (firstLine.includes(' -') ||
|
|
271
|
+
firstLine.includes(' --') ||
|
|
272
|
+
firstLine.includes('/') ||
|
|
273
|
+
firstLine.includes('./') ||
|
|
274
|
+
firstLine === firstWord) {
|
|
275
|
+
return true;
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
// Also catch bare hallucinated file paths
|
|
279
|
+
if (firstLine.startsWith('/') || firstLine.startsWith('./') || firstLine.startsWith('src/')) {
|
|
280
|
+
return true;
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
return false;
|
|
247
284
|
}
|
|
248
285
|
export function approxTokenCharCap(maxTokens) {
|
|
249
286
|
const safe = Math.max(64, Math.floor(maxTokens));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/agent/formatting.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"formatting.js","sourceRoot":"","sources":["../../src/agent/formatting.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export class ToolLoopGuard {
|
|
|
14
14
|
warnings: 0,
|
|
15
15
|
criticals: 0,
|
|
16
16
|
recoveryRecommended: 0,
|
|
17
|
+
readFileFailures: 0,
|
|
17
18
|
};
|
|
18
19
|
constructor(config) {
|
|
19
20
|
this.config = {
|
|
@@ -101,6 +102,15 @@ export class ToolLoopGuard {
|
|
|
101
102
|
if (outcome.toolCallId) {
|
|
102
103
|
this.recordByCallId.delete(outcome.toolCallId);
|
|
103
104
|
}
|
|
105
|
+
// Track consecutive read_file/read_files failures
|
|
106
|
+
const isReadFileTool = toolName === 'read_file' || toolName === 'read_files';
|
|
107
|
+
if (isReadFileTool && outcome.error !== undefined) {
|
|
108
|
+
this.telemetry.readFileFailures += 1;
|
|
109
|
+
}
|
|
110
|
+
else if (isReadFileTool && outcome.error === undefined) {
|
|
111
|
+
// Reset on success
|
|
112
|
+
this.telemetry.readFileFailures = 0;
|
|
113
|
+
}
|
|
104
114
|
}
|
|
105
115
|
getStats() {
|
|
106
116
|
const base = getToolCallStats(this.loopState);
|
|
@@ -125,6 +135,12 @@ export class ToolLoopGuard {
|
|
|
125
135
|
this.telemetry.recoveryRecommended += 1;
|
|
126
136
|
return should;
|
|
127
137
|
}
|
|
138
|
+
getReadFileFailureCount() {
|
|
139
|
+
return this.telemetry.readFileFailures;
|
|
140
|
+
}
|
|
141
|
+
resetReadFileFailureCount() {
|
|
142
|
+
this.telemetry.readFileFailures = 0;
|
|
143
|
+
}
|
|
128
144
|
async getReadCacheReplay(toolName, args, cwd) {
|
|
129
145
|
if (!isReadCacheableTool(toolName))
|
|
130
146
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-loop-guard.js","sourceRoot":"","sources":["../../src/agent/tool-loop-guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACZ,cAAc,EACd,qBAAqB,EACrB,eAAe,GAIhB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"tool-loop-guard.js","sourceRoot":"","sources":["../../src/agent/tool-loop-guard.ts"],"names":[],"mappings":"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"}
|
package/dist/agent.js
CHANGED
|
@@ -167,6 +167,9 @@ Rules:
|
|
|
167
167
|
- Use read_file with search=... to jump to relevant code; avoid reading whole files.
|
|
168
168
|
- Never call read_file/read_files/list_dir twice in a row with identical arguments (same path/options). Reuse the previous result instead.
|
|
169
169
|
- Prefer apply_patch or edit_range for code edits (token-efficient). Use edit_file only when exact old_text replacement is necessary.
|
|
170
|
+
- Tool-call arguments MUST be strict JSON (double-quoted keys/strings, no comments, no trailing commas).
|
|
171
|
+
- edit_range example: {"path":"src/foo.ts","start_line":10,"end_line":14,"replacement":"line A\nline B"}
|
|
172
|
+
- apply_patch example: {"patch":"--- a/src/foo.ts\n+++ b/src/foo.ts\n@@ -10,2 +10,2 @@\n-old\n+new","files":["src/foo.ts"]}
|
|
170
173
|
- write_file is for new files or explicit full rewrites only. Existing non-empty files require overwrite=true/force=true.
|
|
171
174
|
- Use insert_file for insertions (prepend/append/line).
|
|
172
175
|
- Use exec to run commands, tests, builds; check results before reporting success.
|
|
@@ -348,7 +351,7 @@ function buildToolsSchema(opts) {
|
|
|
348
351
|
type: 'function',
|
|
349
352
|
function: {
|
|
350
353
|
name: 'apply_patch',
|
|
351
|
-
description: 'Apply unified diff patch (multi-file).',
|
|
354
|
+
description: 'Apply unified diff patch (multi-file).\n\nUSAGE EXAMPLE:\n apply_patch({\n patch: "--- a/src/file.ts\\n+++ b/src/file.ts\\n@@ -1,5 +1,5 @@\\n-old text\\n+new text\\n",\n files: ["src/file.ts"]\n })\n\nThe patch must be valid unified diff text. Tool-call arguments must be valid JSON. Use strip=1 if paths include directory prefixes.\nFiles listed must match the paths in the diff.',
|
|
352
355
|
parameters: obj({
|
|
353
356
|
patch: str(),
|
|
354
357
|
files: { type: 'array', items: str() },
|
|
@@ -360,7 +363,7 @@ function buildToolsSchema(opts) {
|
|
|
360
363
|
type: 'function',
|
|
361
364
|
function: {
|
|
362
365
|
name: 'edit_range',
|
|
363
|
-
description: 'Replace a line range in a file.',
|
|
366
|
+
description: 'Replace a line range in a file.\n\nUSAGE EXAMPLE:\n edit_range({\n path: "src/file.ts",\n start_line: 10,\n end_line: 15,\n replacement: "new content\\nmore content"\n })\n\n- start_line and end_line are 1-indexed (first line is 1, not 0)\n- To delete lines, set replacement to empty string ""\n- To insert at a position, set start_line and end_line to the same value\n- Tool-call arguments must be valid JSON (double quotes, no trailing commas/comments)\n- The replacement text replaces the entire range inclusive',
|
|
364
367
|
parameters: obj({
|
|
365
368
|
path: str(),
|
|
366
369
|
start_line: int(1),
|
|
@@ -1405,6 +1408,8 @@ export async function createSession(opts) {
|
|
|
1405
1408
|
}
|
|
1406
1409
|
}
|
|
1407
1410
|
messages = compacted;
|
|
1411
|
+
// Update current context token count after compaction
|
|
1412
|
+
currentContextTokens = estimateTokensFromMessages(compacted);
|
|
1408
1413
|
if (dropped.length) {
|
|
1409
1414
|
messages.push({ role: 'system', content: buildCompactionSystemNote('manual', dropped.length) });
|
|
1410
1415
|
await injectVaultContext().catch(() => { });
|
|
@@ -1424,13 +1429,17 @@ export async function createSession(opts) {
|
|
|
1424
1429
|
});
|
|
1425
1430
|
};
|
|
1426
1431
|
const cumulativeUsage = { prompt: 0, completion: 0 };
|
|
1432
|
+
// Track actual current context token count (can go up/down with compaction)
|
|
1433
|
+
// This is separate from cumulativeUsage which only increases.
|
|
1434
|
+
let currentContextTokens = 0;
|
|
1427
1435
|
const turnDurationsMs = [];
|
|
1428
1436
|
const ttftSamplesMs = [];
|
|
1429
1437
|
const ppSamples = [];
|
|
1430
1438
|
const tgSamples = [];
|
|
1431
1439
|
let lastTurnMetrics;
|
|
1432
1440
|
let lastServerHealth;
|
|
1433
|
-
let lastToolLoopStats = {
|
|
1441
|
+
let lastToolLoopStats = {
|
|
1442
|
+
totalHistory: 0, signatures: [], outcomes: [], telemetry: {
|
|
1434
1443
|
callsRegistered: 0,
|
|
1435
1444
|
dedupedReplays: 0,
|
|
1436
1445
|
readCacheLookups: 0,
|
|
@@ -1440,7 +1449,8 @@ export async function createSession(opts) {
|
|
|
1440
1449
|
recoveryRecommended: 0,
|
|
1441
1450
|
readCacheHitRate: 0,
|
|
1442
1451
|
dedupeRate: 0,
|
|
1443
|
-
}
|
|
1452
|
+
}
|
|
1453
|
+
};
|
|
1444
1454
|
let lastModelsProbeMs = 0;
|
|
1445
1455
|
const capturesDir = path.join(stateDir(), 'captures');
|
|
1446
1456
|
let captureEnabled = false;
|
|
@@ -2127,6 +2137,8 @@ export async function createSession(opts) {
|
|
|
2127
2137
|
}
|
|
2128
2138
|
}
|
|
2129
2139
|
messages = compacted;
|
|
2140
|
+
// Update current context token count after auto compaction
|
|
2141
|
+
currentContextTokens = estimateTokensFromMessages(compacted);
|
|
2130
2142
|
if (dropped.length) {
|
|
2131
2143
|
messages.push({ role: 'system', content: buildCompactionSystemNote('auto', dropped.length) });
|
|
2132
2144
|
await injectVaultContext().catch(() => { });
|
|
@@ -2217,6 +2229,9 @@ export async function createSession(opts) {
|
|
|
2217
2229
|
if (resp.usage) {
|
|
2218
2230
|
cumulativeUsage.prompt += promptTokensTurn;
|
|
2219
2231
|
cumulativeUsage.completion += completionTokensTurn;
|
|
2232
|
+
// Update current context estimate: prompt + completion approximates total context
|
|
2233
|
+
// This is more accurate than cumulative which never decreases
|
|
2234
|
+
currentContextTokens = promptTokensTurn + completionTokensTurn;
|
|
2220
2235
|
}
|
|
2221
2236
|
const ppTps = ttftMs && ttftMs > 0 && promptTokensTurn > 0
|
|
2222
2237
|
? promptTokensTurn / (ttftMs / 1000)
|
|
@@ -3067,7 +3082,19 @@ export async function createSession(opts) {
|
|
|
3067
3082
|
toolCallId: callId,
|
|
3068
3083
|
error: msg,
|
|
3069
3084
|
});
|
|
3070
|
-
|
|
3085
|
+
// Inject fallback guidance after 2 consecutive read_file/read_files failures.
|
|
3086
|
+
let resultContent = toolErrorContent;
|
|
3087
|
+
if (tc.function.name === 'read_file' || tc.function.name === 'read_files') {
|
|
3088
|
+
const failureCount = toolLoopGuard.getReadFileFailureCount();
|
|
3089
|
+
if (failureCount >= 2) {
|
|
3090
|
+
resultContent +=
|
|
3091
|
+
`\n\n[WARNING: ${tc.function.name} has failed ${failureCount} times consecutively. ` +
|
|
3092
|
+
'Try using `sed` and the `edit_range` tool; if those do not work, create a temporary file with the full contents and save it. ' +
|
|
3093
|
+
'Then remove the existing file and rename the temporary file to bypass edit_file failing.]';
|
|
3094
|
+
toolLoopGuard.resetReadFileFailureCount();
|
|
3095
|
+
}
|
|
3096
|
+
}
|
|
3097
|
+
return { id: callId, content: resultContent };
|
|
3071
3098
|
};
|
|
3072
3099
|
// ── Anti-scan guardrails (§ read budget, dir scan, same-search) ──
|
|
3073
3100
|
const readOnlyInTurn = toolCallsArr.filter((tc) => isReadOnlyToolDynamic(tc.function.name));
|
|
@@ -3359,6 +3386,9 @@ export async function createSession(opts) {
|
|
|
3359
3386
|
get usage() {
|
|
3360
3387
|
return { ...cumulativeUsage };
|
|
3361
3388
|
},
|
|
3389
|
+
get currentContextTokens() {
|
|
3390
|
+
return currentContextTokens > 0 ? currentContextTokens : estimateTokensFromMessages(messages);
|
|
3391
|
+
},
|
|
3362
3392
|
ask,
|
|
3363
3393
|
setModel,
|
|
3364
3394
|
setEndpoint,
|