daedalus-cli 3.40.0 → 3.40.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/CHANGELOG.md +14 -0
- package/dist/agents/orchestrator.js +9 -9
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/commands/agents.js +3 -3
- package/dist/commands/agents.js.map +1 -1
- package/dist/commands/index.js +3 -3
- package/dist/commands/index.js.map +1 -1
- package/dist/extraction.js +2 -2
- package/dist/extraction.js.map +1 -1
- package/dist/formatting.js +30 -30
- package/dist/formatting.js.map +1 -1
- package/dist/index.js +17 -17
- package/dist/index.js.map +1 -1
- package/dist/model.d.ts.map +1 -1
- package/dist/model.js +51 -50
- package/dist/model.js.map +1 -1
- package/dist/repl.js +10 -10
- package/dist/repl.js.map +1 -1
- package/dist/session/manager.d.ts +1 -0
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +8 -1
- package/dist/session/manager.js.map +1 -1
- package/dist/session/sigma-mem.d.ts +1 -1
- package/dist/session/sigma-mem.d.ts.map +1 -1
- package/dist/session/sigma-mem.js +2 -2
- package/dist/session/sigma-mem.js.map +1 -1
- package/dist/session/sigma-mem.test.js +3 -3
- package/dist/session/sigma-mem.test.js.map +1 -1
- package/dist/session/sigma-single-agent.test.js +3 -3
- package/dist/session/sigma-single-agent.test.js.map +1 -1
- package/dist/session/sqlite.d.ts +2 -0
- package/dist/session/sqlite.d.ts.map +1 -1
- package/dist/session/sqlite.js +23 -13
- package/dist/session/sqlite.js.map +1 -1
- package/dist/ui/theme.d.ts +9 -0
- package/dist/ui/theme.d.ts.map +1 -1
- package/dist/ui/theme.js +46 -3
- package/dist/ui/theme.js.map +1 -1
- package/dist/ui/theme.test.d.ts +2 -0
- package/dist/ui/theme.test.d.ts.map +1 -0
- package/dist/ui/theme.test.js +62 -0
- package/dist/ui/theme.test.js.map +1 -0
- package/package.json +1 -1
package/dist/model.js
CHANGED
|
@@ -10,6 +10,7 @@ import { calculateSessionTokens, pruneMessages } from './session/tokens.js';
|
|
|
10
10
|
import { log } from './ui/log.js';
|
|
11
11
|
import { parseTextToolCalls, stripToolCallMarkup, openAssistantBlock, writeAssistantChunk, closeAssistantBlock, printContextWarning, printContextResult, printContextPrune, printToolStart, printToolResult, printToolContentPreview, turnGatePrompt } from './formatting.js';
|
|
12
12
|
import { messageText } from './types.js';
|
|
13
|
+
import { dim, info, ok, warn, err } from './ui/theme.js';
|
|
13
14
|
// Render the current session todo progress (completed/total + active task). Used
|
|
14
15
|
// after a successful `todo` tool result AND immediately on resume from a max-turn
|
|
15
16
|
// checkpoint pause, so the user gets an instant "where we are" signal instead of a
|
|
@@ -22,7 +23,7 @@ function printTodoProgress(sessionId) {
|
|
|
22
23
|
const done = todos.filter(t => t.status === 'completed').length;
|
|
23
24
|
const active = todos.find(t => t.status === 'in_progress');
|
|
24
25
|
const activeText = active ? ` | Active: ${active.content.slice(0, 50)}${active.content.length > 50 ? '...' : ''}` : '';
|
|
25
|
-
console.log(
|
|
26
|
+
console.log(info(`\n [TODO] Progress: ${done}/${todos.length} completed${activeText}`));
|
|
26
27
|
}
|
|
27
28
|
import { maskSecrets } from './security/secret-detector.js';
|
|
28
29
|
import { classifyTaskStart, stepRouting, floorForTask } from './router/complexity.js';
|
|
@@ -170,7 +171,7 @@ export function createModelFunctions(deps) {
|
|
|
170
171
|
// weak "standard" model (see complexity.ts KEEP_ON_INTELLIGENCE_KEYWORDS).
|
|
171
172
|
const complexityFloor = complexityEnabled ? floorForTask(userContent || '') : undefined;
|
|
172
173
|
if (taskComplexity && process.env.DAEDALUS_DEBUG === 'true') {
|
|
173
|
-
console.log(
|
|
174
|
+
console.log(dim(` [ROUTE] Task classified as ${taskComplexity}`));
|
|
174
175
|
}
|
|
175
176
|
const fileCtx = buildFileContext();
|
|
176
177
|
const tokens = calculateSessionTokens(messages, fileCtx);
|
|
@@ -263,13 +264,13 @@ export function createModelFunctions(deps) {
|
|
|
263
264
|
while (true) {
|
|
264
265
|
if (toolTurnsRemaining <= 0) {
|
|
265
266
|
closeAssistantBlock(lastContent.length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
266
|
-
console.log(`\n ${
|
|
267
|
+
console.log(`\n ${info('[INFO]')} ${dim(`Reached max tool turns (${MAX_TOOL_TURNS}). Pausing to checkpoint.`)}`);
|
|
267
268
|
const executedSummary = executedToolNames.size > 0 ? [...executedToolNames].join(', ') : 'none';
|
|
268
|
-
console.log(` ${
|
|
269
|
+
console.log(` ${dim(`[SUMMARY] ${totalToolCalls} tool call(s) executed: ${executedSummary}`)}`);
|
|
269
270
|
if (process.stdin.isTTY) {
|
|
270
271
|
const answer = await (toolContext.askLine || askLine)(` Continue working? [y]es / [n]o: `);
|
|
271
272
|
if (answer.trim().toLowerCase().startsWith('y')) {
|
|
272
|
-
console.log(
|
|
273
|
+
console.log(ok(' [OK] Continuing with a fresh turn budget.'));
|
|
273
274
|
// Surface immediate progress so the resume isn't a silent blank gap
|
|
274
275
|
// while the model thinks (especially on slow models). Shows exactly
|
|
275
276
|
// where the work resumes.
|
|
@@ -279,13 +280,13 @@ export function createModelFunctions(deps) {
|
|
|
279
280
|
continue;
|
|
280
281
|
}
|
|
281
282
|
}
|
|
282
|
-
console.log(
|
|
283
|
+
console.log(dim(' [INFO] Stopping. Type "continue" to resume.'));
|
|
283
284
|
messages.push({ role: 'assistant', content: lastContent });
|
|
284
285
|
return { content: lastContent, toolCalls: [] };
|
|
285
286
|
}
|
|
286
287
|
if (turnAborted) {
|
|
287
288
|
closeAssistantBlock(lastContent.length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
288
|
-
console.log(
|
|
289
|
+
console.log(dim('\n [STOP] Stopped'));
|
|
289
290
|
return { content: lastContent, toolCalls: [] };
|
|
290
291
|
}
|
|
291
292
|
turnUsageOut = undefined;
|
|
@@ -337,7 +338,7 @@ export function createModelFunctions(deps) {
|
|
|
337
338
|
writeAssistantChunk(delta.content);
|
|
338
339
|
}
|
|
339
340
|
if (detectRepetition(fullContent)) {
|
|
340
|
-
writeAssistantChunk(
|
|
341
|
+
writeAssistantChunk(err('\n\n[STOP] Repetition loop detected. Aborting stream.'));
|
|
341
342
|
repetitionAborted = true;
|
|
342
343
|
currentAbortController?.abort();
|
|
343
344
|
break;
|
|
@@ -376,7 +377,7 @@ export function createModelFunctions(deps) {
|
|
|
376
377
|
}
|
|
377
378
|
if (signal.aborted) {
|
|
378
379
|
closeAssistantBlock((lastContent || fullContent).length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
379
|
-
console.log(
|
|
380
|
+
console.log(dim('\n [STOP] Stopped'));
|
|
380
381
|
clearAbortController();
|
|
381
382
|
return { content: fullContent, toolCalls: [] };
|
|
382
383
|
}
|
|
@@ -385,14 +386,14 @@ export function createModelFunctions(deps) {
|
|
|
385
386
|
if (signal.aborted) {
|
|
386
387
|
spinner.stop();
|
|
387
388
|
closeAssistantBlock((lastContent || fullContent).length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
388
|
-
console.log(
|
|
389
|
+
console.log(dim('\n [STOP] Stopped'));
|
|
389
390
|
clearAbortController();
|
|
390
391
|
return { content: repetitionAborted ? fullContent : '', toolCalls: [] };
|
|
391
392
|
}
|
|
392
393
|
spinner.stop();
|
|
393
394
|
const firstLine = (error instanceof Error ? error.message : String(error)).split('\n')[0];
|
|
394
|
-
console.log(
|
|
395
|
-
console.log(
|
|
395
|
+
console.log(warn(`\n ${pc.bold('[WARN]')} Error calling model: ${firstLine}`));
|
|
396
|
+
console.log(dim(` (Tip: Run /doctor to diagnose connection or loading issues)`));
|
|
396
397
|
throw error;
|
|
397
398
|
}
|
|
398
399
|
clearAbortController();
|
|
@@ -416,10 +417,10 @@ export function createModelFunctions(deps) {
|
|
|
416
417
|
const repeats = divergence.consecutiveRepeats;
|
|
417
418
|
if (repeats >= 2) {
|
|
418
419
|
closeAssistantBlock(cleanContent.length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
419
|
-
console.log(
|
|
420
|
+
console.log(dim(`\n [STOP] Runaway loop: same output re-emitted ${repeats} times with no progress. Closing turn.`));
|
|
420
421
|
return { content: `${cleanContent}\n\n[SELF-CORRECT] I repeated the same output ${repeats} times without making progress. I am stopping this turn rather than looping.`, toolCalls: [] };
|
|
421
422
|
}
|
|
422
|
-
console.log(
|
|
423
|
+
console.log(dim(`\n [CHECK] Detected near-duplicate of prior output — not making progress.`));
|
|
423
424
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
424
425
|
messages.push({
|
|
425
426
|
role: 'user',
|
|
@@ -434,7 +435,7 @@ export function createModelFunctions(deps) {
|
|
|
434
435
|
if (toolCallArray.length === 0) {
|
|
435
436
|
const ungrounded = detectUngroundedClaim(cleanContent, claimLedger);
|
|
436
437
|
if (ungrounded) {
|
|
437
|
-
console.log(
|
|
438
|
+
console.log(dim(`\n [CHECK] Claim about ${ungrounded} is ungrounded (no inspection this session).`));
|
|
438
439
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
439
440
|
messages.push({
|
|
440
441
|
role: 'user',
|
|
@@ -451,7 +452,7 @@ export function createModelFunctions(deps) {
|
|
|
451
452
|
if (toolCallArray.length === 0) {
|
|
452
453
|
const projClaim = isUngroundedProjectClaim(cleanContent, claimLedger);
|
|
453
454
|
if (projClaim) {
|
|
454
|
-
console.log(
|
|
455
|
+
console.log(dim(`\n [CHECK] Project claim about "${projClaim}" is ungrounded (never observed this session).`));
|
|
455
456
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
456
457
|
messages.push({
|
|
457
458
|
role: 'user',
|
|
@@ -464,7 +465,7 @@ export function createModelFunctions(deps) {
|
|
|
464
465
|
// absence requires the same grounding as asserting presence.
|
|
465
466
|
const negClaim = isNegativeExistenceClaim(cleanContent, claimLedger);
|
|
466
467
|
if (negClaim) {
|
|
467
|
-
console.log(
|
|
468
|
+
console.log(dim(`\n [CHECK] Claim that "${negClaim}" is missing is ungrounded (no search/list run this session).`));
|
|
468
469
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
469
470
|
messages.push({
|
|
470
471
|
role: 'user',
|
|
@@ -481,7 +482,7 @@ export function createModelFunctions(deps) {
|
|
|
481
482
|
// is normal narration, and forcing a retry loops on a finished report.
|
|
482
483
|
const narratedToolCalls = parseTextToolCalls(fullContent);
|
|
483
484
|
if (narratedToolCalls.length >= 1) {
|
|
484
|
-
console.log(
|
|
485
|
+
console.log(dim(`\n [RETRY] Model planned tools but emitted no valid JSON. Re-issuing the request.`));
|
|
485
486
|
totalCompletionTokens += turnUsageOut ?? 0;
|
|
486
487
|
messages.push({
|
|
487
488
|
role: 'user',
|
|
@@ -491,7 +492,7 @@ export function createModelFunctions(deps) {
|
|
|
491
492
|
}
|
|
492
493
|
closeAssistantBlock(cleanContent.length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
493
494
|
if (currentComplexity && process.env.DAEDALUS_DEBUG === 'true') {
|
|
494
|
-
console.log(
|
|
495
|
+
console.log(dim(` [ROUTE] Task summary: start ${taskComplexity ?? 'n/a'} → end ${currentComplexity} | ${totalCompletionTokens + (turnUsageOut ?? 0)} output tokens | ${escalationCount} escalation(s)`));
|
|
495
496
|
}
|
|
496
497
|
// Hard guard: do not let the agent end the turn claiming whole-task
|
|
497
498
|
// completion while its todo list still has open items. A false "done"
|
|
@@ -499,7 +500,7 @@ export function createModelFunctions(deps) {
|
|
|
499
500
|
const closingTodos = getSessionTodos(toolContext.sessionId);
|
|
500
501
|
if (closingTodos.length > 0 && detectFalseCompletion(cleanContent, closingTodos)) {
|
|
501
502
|
const remaining = closingTodos.filter((t) => t.status !== 'completed').length;
|
|
502
|
-
console.log(
|
|
503
|
+
console.log(dim(`\n [CHECK] Verifying completion claim — ${remaining} todo(s) still open.`));
|
|
503
504
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
504
505
|
messages.push({
|
|
505
506
|
role: 'user',
|
|
@@ -513,7 +514,7 @@ export function createModelFunctions(deps) {
|
|
|
513
514
|
// reverted by the syntax guard and never actually landed on disk.
|
|
514
515
|
const falselyClaimed = detectFalseCompletionOnDisk(cleanContent, toolContext);
|
|
515
516
|
if (falselyClaimed) {
|
|
516
|
-
console.log(
|
|
517
|
+
console.log(dim(`\n [CHECK] Verifying completion claim — no successful patch to ${falselyClaimed} this session (only reverts).`));
|
|
517
518
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
518
519
|
messages.push({
|
|
519
520
|
role: 'user',
|
|
@@ -528,7 +529,7 @@ export function createModelFunctions(deps) {
|
|
|
528
529
|
const scopeTodos = getSessionTodos(toolContext.sessionId);
|
|
529
530
|
if (scopeTodos.length > 0 && isScopeOverstatedSummary(cleanContent, scopeTodos)) {
|
|
530
531
|
const remaining = scopeTodos.filter((t) => t.status !== 'completed').length;
|
|
531
|
-
console.log(
|
|
532
|
+
console.log(dim(`\n [CHECK] Verifying completion claim — summary enumerates tasks as done but ${remaining} todo(s) still open.`));
|
|
532
533
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
533
534
|
messages.push({
|
|
534
535
|
role: 'user',
|
|
@@ -544,7 +545,7 @@ export function createModelFunctions(deps) {
|
|
|
544
545
|
// agent to reconcile each claimed item with disk reality before concluding.
|
|
545
546
|
if (isUnsubstantiatedProgressReport(cleanContent)) {
|
|
546
547
|
const itemCount = countAchievementItems(cleanContent);
|
|
547
|
-
console.log(
|
|
548
|
+
console.log(dim(`\n [CHECK] Verifying completion claim — ${itemCount} deliverables enumerated as done without a reconciling task list or per-item verification.`));
|
|
548
549
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
549
550
|
messages.push({
|
|
550
551
|
role: 'user',
|
|
@@ -559,7 +560,7 @@ export function createModelFunctions(deps) {
|
|
|
559
560
|
// "fabricated review from a single passing typecheck" failure at the first deliverable.)
|
|
560
561
|
if (isReviewTask(userTask) && isReviewDeliverable(cleanContent) && claimLedger.totalObservations === 0) {
|
|
561
562
|
closeAssistantBlock(cleanContent.length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
562
|
-
console.log(
|
|
563
|
+
console.log(dim(`\n [STOP] Review produced with zero file inspections this session — halting.`));
|
|
563
564
|
return { content: `${cleanContent}\n\n[SELF-CORRECT] I described the project's architecture/features but have not inspected a single file this session. I am stopping rather than fabricating a review. I should read the code before reviewing.`, toolCalls: [] };
|
|
564
565
|
}
|
|
565
566
|
// Fix 1: Upgraded review gate — reading only walkthrough.md / README.md does NOT
|
|
@@ -567,7 +568,7 @@ export function createModelFunctions(deps) {
|
|
|
567
568
|
// files (.ts/.js/.py/etc.) before a multi-section review deliverable is allowed.
|
|
568
569
|
if (isReviewTask(userTask) && isReviewWithoutSourceInspection(cleanContent, claimLedger)) {
|
|
569
570
|
const srcCount = claimLedger.sourceFileObservations;
|
|
570
|
-
console.log(
|
|
571
|
+
console.log(dim(`\n [CHECK] Review deliverable produced after reading only ${srcCount} source file(s) — insufficient inspection.`));
|
|
571
572
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
572
573
|
messages.push({
|
|
573
574
|
role: 'user',
|
|
@@ -580,7 +581,7 @@ export function createModelFunctions(deps) {
|
|
|
580
581
|
// is undefined (no real test run was observed). Prevents walkthrough-sourced count invention.
|
|
581
582
|
const noRunClaimed = claimedTestCountWithoutRun(cleanContent, toolContext.lastVerifyPassCount);
|
|
582
583
|
if (noRunClaimed) {
|
|
583
|
-
console.log(
|
|
584
|
+
console.log(dim(`\n [CHECK] Test-count claim ("${noRunClaimed} passing") made with no real npm test run this session.`));
|
|
584
585
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
585
586
|
messages.push({
|
|
586
587
|
role: 'user',
|
|
@@ -594,7 +595,7 @@ export function createModelFunctions(deps) {
|
|
|
594
595
|
// functions — the graded run built an endpoint, reported "wired in" after tests passed,
|
|
595
596
|
// and it was actually broken until the user exercised it. Forces real verification.
|
|
596
597
|
if (detectUngroundedWorksClaim(cleanContent, claimLedger)) {
|
|
597
|
-
console.log(
|
|
598
|
+
console.log(dim(`\n [CHECK] "Works/verified" claim made with no live runtime probe (curl/HTTP/integration test) this session.`));
|
|
598
599
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
599
600
|
messages.push({
|
|
600
601
|
role: 'user',
|
|
@@ -607,7 +608,7 @@ export function createModelFunctions(deps) {
|
|
|
607
608
|
// blocker honestly instead of looping. Close the turn with a concise note.
|
|
608
609
|
if (readStall.stalled) {
|
|
609
610
|
closeAssistantBlock(cleanContent.length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
610
|
-
console.log(
|
|
611
|
+
console.log(dim(`\n [DONE] Idle re-read stall: same file read ${readStall.readCount} times consecutively with no edit. Closing turn.`));
|
|
611
612
|
toolContext.verifyBreakerTrippedLastTurn = verifyBreakerTrippedThisTurn || verifyBreakerTrippedLastTurn;
|
|
612
613
|
return { content: `${cleanContent}\n\n[SELF-CORRECT] I re-read the same file ${readStall.readCount} times without making changes — the change is likely already present on disk. Report the actual on-disk state to the user rather than continuing to read.`, toolCalls: [] };
|
|
613
614
|
}
|
|
@@ -615,7 +616,7 @@ export function createModelFunctions(deps) {
|
|
|
615
616
|
// command tripped the circuit breaker this turn (or last turn) and no fresh
|
|
616
617
|
// successful run cleared it — forces a real re-run or an honest blocker report.
|
|
617
618
|
if (isGreenBuildTestClaim(cleanContent) && (verifyBreakerTrippedThisTurn || verifyBreakerTrippedLastTurn)) {
|
|
618
|
-
console.log(
|
|
619
|
+
console.log(dim(`\n [CHECK] Verifying completion claim — build/test command tripped the circuit breaker; no fresh successful run observed.`));
|
|
619
620
|
toolContext.verifyBreakerTrippedLastTurn = true;
|
|
620
621
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
621
622
|
messages.push({
|
|
@@ -631,7 +632,7 @@ export function createModelFunctions(deps) {
|
|
|
631
632
|
// run actually reported 9.
|
|
632
633
|
const testCorrection = fabricatedTestCountCorrection(cleanContent, toolContext.lastVerifyPassCount);
|
|
633
634
|
if (testCorrection) {
|
|
634
|
-
console.log(
|
|
635
|
+
console.log(dim(`\n [CHECK] Verifying test-count claim — summary count disagrees with last real test run.`));
|
|
635
636
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
636
637
|
messages.push({
|
|
637
638
|
role: 'user',
|
|
@@ -645,7 +646,7 @@ export function createModelFunctions(deps) {
|
|
|
645
646
|
// agent asserts tests/build pass or a clean state while the most recent actual verify
|
|
646
647
|
// run this session FAILED, force a re-run or an honest report of what actually failed.
|
|
647
648
|
if (isGreenStateClaim(cleanContent) && toolContext.lastVerifyPassed === false) {
|
|
648
|
-
console.log(
|
|
649
|
+
console.log(dim(`\n [CHECK] Verifying green-state claim — last real verify run this session FAILED.`));
|
|
649
650
|
messages.push({ role: 'assistant', content: cleanContent });
|
|
650
651
|
messages.push({
|
|
651
652
|
role: 'user',
|
|
@@ -676,10 +677,10 @@ export function createModelFunctions(deps) {
|
|
|
676
677
|
if (consecutiveCount >= 2) {
|
|
677
678
|
if (consecutiveCount >= 3) {
|
|
678
679
|
closeAssistantBlock(lastContent.length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
679
|
-
console.log(`\n ${
|
|
680
|
+
console.log(`\n ${dim('[DONE]')} Concluding after 4 consecutive identical tool calls (repetitive loop).`);
|
|
680
681
|
return { content: lastContent, toolCalls: [] };
|
|
681
682
|
}
|
|
682
|
-
console.log(`\n ${
|
|
683
|
+
console.log(`\n ${dim('[SELF-CORRECT]')} Same tool called repeatedly with identical arguments. Adjusting approach.`);
|
|
683
684
|
messages.push({
|
|
684
685
|
role: 'user',
|
|
685
686
|
content: `[SYSTEM WARNING] You are stuck in a repetitive loop calling the same tools with the same arguments: "${toolCallArray.map(tc => tc.function.name).join(', ')}". Please STOP repeating yourself. If your previous tool calls did not give you the desired outcome, try a different approach (e.g., read a different file, search with a different query, run a build/test command, or summarize the blocker/findings to the user).`,
|
|
@@ -700,7 +701,7 @@ export function createModelFunctions(deps) {
|
|
|
700
701
|
if (dangerousTools.includes(tc.function.name) && !turnApproved) {
|
|
701
702
|
const args = tc.function.arguments;
|
|
702
703
|
const preview = args.length > 120 ? args.slice(0, 120) + '...' : args;
|
|
703
|
-
log.prompt(`\n ⮕ ${pc.bold(tc.function.name)} ${
|
|
704
|
+
log.prompt(`\n ⮕ ${pc.bold(tc.function.name)} ${dim(preview)}\n`);
|
|
704
705
|
const line = await (toolContext.askLine || askLine)(pc.blue(` Allow? [y]es / [n]o / [a]ll for this task: `));
|
|
705
706
|
const char = line.trim().toLowerCase().slice(0, 1);
|
|
706
707
|
if (char === 'a') {
|
|
@@ -708,7 +709,7 @@ export function createModelFunctions(deps) {
|
|
|
708
709
|
toolContext.autoApproveTools = true;
|
|
709
710
|
}
|
|
710
711
|
if (char === 'n') {
|
|
711
|
-
console.log(` ${
|
|
712
|
+
console.log(` ${err('[FAIL]')} ${tc.function.name} ${err(' — rejected')}`);
|
|
712
713
|
rejectedCalls.push(tc);
|
|
713
714
|
continue;
|
|
714
715
|
}
|
|
@@ -741,7 +742,7 @@ export function createModelFunctions(deps) {
|
|
|
741
742
|
if (result.success) {
|
|
742
743
|
failureCounts.set(sig, 0);
|
|
743
744
|
if (priorFailures > 0) {
|
|
744
|
-
console.log(
|
|
745
|
+
console.log(ok(`\n [RECOVERED] ${result.name} succeeded after ${priorFailures} prior failure(s).`));
|
|
745
746
|
}
|
|
746
747
|
}
|
|
747
748
|
else {
|
|
@@ -787,7 +788,7 @@ export function createModelFunctions(deps) {
|
|
|
787
788
|
role: 'user',
|
|
788
789
|
content: `[AUTO-READ after stale read] Current contents of ${stale.path} (re-read automatically because your edit targeted out-of-date bytes):\n\n${typeof fresh === 'string' ? fresh : JSON.stringify(fresh)}`,
|
|
789
790
|
});
|
|
790
|
-
console.log(
|
|
791
|
+
console.log(dim(`\n [SELF-CORRECT] Stale read detected on ${stale.path} — auto-re-read current content for the next attempt.`));
|
|
791
792
|
}
|
|
792
793
|
catch {
|
|
793
794
|
// If the auto-read itself fails, the warning above already tells the agent to read manually.
|
|
@@ -883,7 +884,7 @@ export function createModelFunctions(deps) {
|
|
|
883
884
|
{ type: 'image_url', image_url: { url: `data:${mime};base64,${parsed.base64}` } },
|
|
884
885
|
],
|
|
885
886
|
});
|
|
886
|
-
console.log(` ${
|
|
887
|
+
console.log(` ${info('[VISION]')} Image injected into context (${Math.round(parsed.base64.length * 0.75 / 1024)}KB)`);
|
|
887
888
|
}
|
|
888
889
|
}
|
|
889
890
|
catch { /* ignored */ }
|
|
@@ -921,11 +922,11 @@ export function createModelFunctions(deps) {
|
|
|
921
922
|
hadCommandExit = true;
|
|
922
923
|
if (isFileMissing) {
|
|
923
924
|
hadFileMissing = true;
|
|
924
|
-
console.log(
|
|
925
|
-
console.log(
|
|
925
|
+
console.log(warn(`\n [FILE-MISSING] ${snippet}`));
|
|
926
|
+
console.log(dim(' This path does not exist. Do not re-read it — create it, pick a different path, or report the blocker to the user.'));
|
|
926
927
|
}
|
|
927
928
|
else {
|
|
928
|
-
console.log(
|
|
929
|
+
console.log(dim(`\n [RETRY] ${r.name} didn't apply — ${snippet}`));
|
|
929
930
|
const tailLines = (r.content || '')
|
|
930
931
|
.replace(/\u001B\[\d+(;\d+)*m/g, '')
|
|
931
932
|
.split('\n')
|
|
@@ -934,7 +935,7 @@ export function createModelFunctions(deps) {
|
|
|
934
935
|
const shown = tailLines.length > 12
|
|
935
936
|
? [...tailLines.slice(0, 3), ` ... ${tailLines.length - 12} more lines`, ...tailLines.slice(-9)]
|
|
936
937
|
: tailLines;
|
|
937
|
-
console.log(
|
|
938
|
+
console.log(dim(shown.map(l => ` ${l}`).join('\n')));
|
|
938
939
|
}
|
|
939
940
|
}
|
|
940
941
|
}
|
|
@@ -948,10 +949,10 @@ export function createModelFunctions(deps) {
|
|
|
948
949
|
else if (hadCommandExit) {
|
|
949
950
|
// A command ran and failed (e.g. tests/build red). This is a real result to
|
|
950
951
|
// analyze, not a self-correction loop — don't imply we are retrying the approach.
|
|
951
|
-
console.log(
|
|
952
|
+
console.log(dim(`\n [RESULT] Command exited non-zero — output shown above. Analyze the failure; do not treat it as a transient tool error.`));
|
|
952
953
|
}
|
|
953
954
|
else {
|
|
954
|
-
console.log(
|
|
955
|
+
console.log(dim(`\n [SELF-CORRECT] Adjusting approach and retrying...`));
|
|
955
956
|
}
|
|
956
957
|
}
|
|
957
958
|
else {
|
|
@@ -996,7 +997,7 @@ export function createModelFunctions(deps) {
|
|
|
996
997
|
escalatedThisStreak = true;
|
|
997
998
|
escalationCount++;
|
|
998
999
|
pinnedModel = nextModel.name;
|
|
999
|
-
console.log(
|
|
1000
|
+
console.log(dim(`\n [ROUTE] Stepping up to a more capable model ${nextModel.name} after repeated tool failures on ${currentName}.`));
|
|
1000
1001
|
messages.push({
|
|
1001
1002
|
role: 'user',
|
|
1002
1003
|
content: '[SYSTEM NOTICE] A stronger model is now handling this task after repeated tool failures. Re-examine the recent errors and the exact current state of the files before retrying. Do not repeat the same failing calls.',
|
|
@@ -1005,7 +1006,7 @@ export function createModelFunctions(deps) {
|
|
|
1005
1006
|
}
|
|
1006
1007
|
if (consecutiveToolFailures >= 5 || worstRepeatedFailures >= 5) {
|
|
1007
1008
|
closeAssistantBlock(lastContent.length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
1008
|
-
console.log(
|
|
1009
|
+
console.log(dim('\n [DONE] Concluding after repeated tool failures — see summary above.'));
|
|
1009
1010
|
messages.push({ role: 'assistant', content: lastContent });
|
|
1010
1011
|
return { content: lastContent, toolCalls: [] };
|
|
1011
1012
|
}
|
|
@@ -1015,7 +1016,7 @@ export function createModelFunctions(deps) {
|
|
|
1015
1016
|
const norm = answer.trim().toLowerCase();
|
|
1016
1017
|
if (norm === 'n' || norm === 'no') {
|
|
1017
1018
|
closeAssistantBlock(lastContent.length, Date.now() - overallStart, totalToolCalls, router.lastRoutedModel, turnUsageOut, router.lastRoutedTier);
|
|
1018
|
-
console.log(
|
|
1019
|
+
console.log(warn('\n [INFO] Stopped agent turn loop.'));
|
|
1019
1020
|
messages.push({ role: 'assistant', content: lastContent });
|
|
1020
1021
|
return { content: lastContent, toolCalls: [] };
|
|
1021
1022
|
}
|
|
@@ -1026,7 +1027,7 @@ export function createModelFunctions(deps) {
|
|
|
1026
1027
|
role: 'user',
|
|
1027
1028
|
content: `[User Feedback] ${feedback.trim()}`,
|
|
1028
1029
|
});
|
|
1029
|
-
console.log(
|
|
1030
|
+
console.log(ok(` [OK] Feedback appended. Continuing.`));
|
|
1030
1031
|
}
|
|
1031
1032
|
}
|
|
1032
1033
|
}
|
|
@@ -1082,8 +1083,8 @@ export function createModelFunctions(deps) {
|
|
|
1082
1083
|
}
|
|
1083
1084
|
catch (error) {
|
|
1084
1085
|
const firstLine = ((error instanceof Error ? error.message : String(error)) || '').split('\n')[0];
|
|
1085
|
-
console.log(
|
|
1086
|
-
console.log(
|
|
1086
|
+
console.log(warn(`\n ${pc.bold('[WARN]')} Fallback error: ${firstLine}`));
|
|
1087
|
+
console.log(dim(` (Tip: Run /doctor to diagnose connection or loading issues)`));
|
|
1087
1088
|
throw error;
|
|
1088
1089
|
}
|
|
1089
1090
|
}
|
package/dist/model.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"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"}
|