daedalus-cli 1.15.0 → 1.17.0

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.
@@ -1,156 +1,212 @@
1
1
  import pc from 'picocolors';
2
2
  export const termW = Math.max(50, (process.stdout.columns ?? 80) - 5);
3
- export function wrapLine(line, maxW) {
4
- if (line.length <= maxW)
3
+ function stripAnsi(str) {
4
+ return str.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');
5
+ }
6
+ // ── Line wrapping ──────────────────────────────────────────────
7
+ function wrapLine(line, maxW) {
8
+ if (stripAnsi(line).length <= maxW)
5
9
  return [line];
6
10
  const words = line.split(' ');
7
11
  const result = [];
8
12
  let cur = '';
9
13
  for (const word of words) {
10
- if (cur && cur.length + 1 + word.length <= maxW) {
14
+ const curVis = stripAnsi(cur).length;
15
+ const wordVis = stripAnsi(word).length;
16
+ if (cur && curVis + 1 + wordVis <= maxW) {
11
17
  cur += ' ' + word;
12
18
  }
13
19
  else {
14
20
  if (cur)
15
21
  result.push(cur);
16
22
  cur = word;
17
- while (cur.length > maxW) {
18
- result.push(cur.slice(0, maxW));
19
- cur = cur.slice(maxW);
20
- }
21
23
  }
22
24
  }
23
25
  if (cur)
24
26
  result.push(cur);
25
27
  return result;
26
28
  }
29
+ // ── User message ───────────────────────────────────────────────
27
30
  export function printUserTurn(userMessage) {
28
- const bdr = (s) => pc.dim(pc.yellow(s));
29
31
  const lines = userMessage.split('\n');
30
- let maxLineLen = 0;
31
- const allWrappedLines = [];
32
- for (const line of lines) {
33
- const wrapped = wrapLine(line, termW);
34
- allWrappedLines.push(...wrapped);
35
- for (const part of wrapped) {
36
- if (part.length > maxLineLen)
37
- maxLineLen = part.length;
38
- }
39
- }
40
- const w = Math.max(15, maxLineLen);
41
- console.log(`\n ${bdr('╭─')} ${pc.yellow(pc.bold('⬡ You'))} ${bdr('─'.repeat(Math.max(0, w - 7)))}${bdr('╮')}`);
42
- for (const part of allWrappedLines) {
43
- console.log(` ${bdr('│')} ${pc.white(part)}${' '.repeat(Math.max(0, w - part.length))}${bdr('│')}`);
32
+ const wrapped = [];
33
+ for (const line of lines)
34
+ wrapped.push(...wrapLine(line, termW));
35
+ const contentW = wrapped.reduce((m, l) => Math.max(m, stripAnsi(l).length), 0);
36
+ const boxW = Math.max(20, contentW) + 2;
37
+ const boxColor = (s) => pc.dim(pc.yellow(s));
38
+ const sep = ` ${boxColor('╭─')} ${pc.yellow(pc.bold('You'))} ${boxColor('─'.repeat(Math.max(0, boxW - 6)))}${boxColor('╮')}`;
39
+ console.log(`\n${sep}`);
40
+ for (const part of wrapped) {
41
+ const pad = ' '.repeat(Math.max(0, boxW - stripAnsi(part).length));
42
+ console.log(` ${boxColor('│')} ${pc.white(part)}${pad}${boxColor('│')}`);
44
43
  }
45
- console.log(` ${bdr('╰')}${bdr('─'.repeat(w + 1))}${bdr('╯')}`);
46
- console.log();
44
+ console.log(` ${boxColor('╰')}${boxColor('─'.repeat(boxW + 1))}${boxColor('╯')}`);
47
45
  }
48
- let _assistantLineBuf = '';
49
- let _inCodeBlock = false;
50
- export function stripAnsi(str) {
51
- return str.replace(/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g, '');
46
+ // ── Assistant message ──────────────────────────────────────────
47
+ let _buf = '';
48
+ let _inCode = false;
49
+ let _codeLang = '';
50
+ let _codeLines = [];
51
+ export function openAssistantBlock() {
52
+ console.log(`\n ${pc.cyan(pc.bold('Daedalus'))}`);
52
53
  }
53
- export function wrapAnsiLine(line, maxW) {
54
- if (stripAnsi(line).length <= maxW)
55
- return [line];
56
- const words = line.split(' ');
57
- const result = [];
58
- let cur = '';
59
- for (const word of words) {
60
- const curVisible = stripAnsi(cur).length;
61
- const wordVisible = stripAnsi(word).length;
62
- if (cur && curVisible + 1 + wordVisible <= maxW) {
63
- cur += ' ' + word;
54
+ function emitCodeBlock() {
55
+ if (_codeLines.length === 0)
56
+ return;
57
+ const lineDigits = String(_codeLines.length).length;
58
+ for (let i = 0; i < _codeLines.length; i++) {
59
+ const lineNo = String(i + 1).padStart(lineDigits);
60
+ const gutter = pc.dim(` ${lineNo} │`);
61
+ const content = _codeLines[i];
62
+ for (const part of wrapLine(content, termW - lineDigits - 3)) {
63
+ console.log(` ${gutter} ${part}`);
64
64
  }
65
- else {
66
- if (cur)
67
- result.push(cur);
68
- cur = word;
69
- while (stripAnsi(cur).length > maxW) {
70
- result.push(cur);
71
- cur = '';
72
- }
73
- }
74
- }
75
- if (cur)
76
- result.push(cur);
77
- return result;
78
- }
79
- export function formatMarkdownLine(line) {
80
- if (line.startsWith('# '))
81
- return pc.bold(pc.cyan(line.substring(2)));
82
- if (line.startsWith('## '))
83
- return pc.bold(pc.cyan(line.substring(3)));
84
- if (line.startsWith('### '))
85
- return pc.bold(pc.cyan(line.substring(4)));
86
- if (line.startsWith('> '))
87
- return `${pc.gray('│')} ${pc.italic(line.substring(2))}`;
88
- let prefix = '';
89
- let content = line;
90
- const listMatch = line.match(/^(\s*)([\*\-\+•])\s+(.*)$/);
91
- if (listMatch) {
92
- prefix = `${listMatch[1]}${pc.gray('•')} `;
93
- content = listMatch[3];
94
65
  }
95
- content = content.replace(/\`(.*?)\`/g, (_, p1) => pc.yellow(p1));
96
- content = content.replace(/\*\*(.*?)\*\*/g, (_, p1) => pc.bold(p1));
97
- content = content.replace(/\*(.*?)\*/g, (_, p1) => pc.italic(p1));
98
- content = content.replace(/_(.*?)_/g, (_, p1) => pc.italic(p1));
99
- return prefix + content;
100
- }
101
- export function openAssistantBlock() {
102
- console.log(`\n ${pc.cyan(pc.bold('◇ Daedalus'))}`);
66
+ _codeLines = [];
103
67
  }
104
68
  export function writeAssistantChunk(chunk) {
105
- _assistantLineBuf += chunk;
106
- const lines = _assistantLineBuf.split('\n');
107
- _assistantLineBuf = lines.pop() || '';
108
- for (const line of lines) {
109
- const isCodeBlockDelimiter = line.trim().startsWith('```');
110
- if (isCodeBlockDelimiter)
111
- _inCodeBlock = !_inCodeBlock;
112
- if (_inCodeBlock || isCodeBlockDelimiter) {
113
- for (const part of wrapLine(line, termW)) {
114
- console.log(` ${pc.gray(part)}`);
69
+ _buf += chunk;
70
+ const completeLines = _buf.split('\n');
71
+ _buf = completeLines.pop() || '';
72
+ for (const raw of completeLines) {
73
+ const line = raw.trimEnd();
74
+ // Code block fences
75
+ if (line.startsWith('```')) {
76
+ if (_inCode) {
77
+ emitCodeBlock();
78
+ _inCode = false;
79
+ _codeLang = '';
115
80
  }
116
- }
117
- else {
118
- const formatted = formatMarkdownLine(line);
119
- for (const part of wrapAnsiLine(formatted, termW)) {
120
- console.log(` ${part}`);
81
+ else {
82
+ _inCode = true;
83
+ _codeLang = line.slice(3).trim();
121
84
  }
85
+ continue;
86
+ }
87
+ if (_inCode) {
88
+ _codeLines.push(line);
89
+ continue;
90
+ }
91
+ // Inline markdown rendering
92
+ const formatted = formatMarkdownLine(line);
93
+ for (const part of wrapLine(formatted, termW)) {
94
+ console.log(` ${part}`);
122
95
  }
123
96
  }
124
97
  }
125
98
  export function closeAssistantBlock(tokens, elapsedMs, toolCount, modelName) {
126
- if (_assistantLineBuf) {
127
- const isCodeBlockDelimiter = _assistantLineBuf.trim().startsWith('```');
128
- if (isCodeBlockDelimiter)
129
- _inCodeBlock = !_inCodeBlock;
130
- if (_inCodeBlock || isCodeBlockDelimiter) {
131
- for (const part of wrapLine(_assistantLineBuf, termW)) {
132
- console.log(` ${pc.gray(part)}`);
133
- }
99
+ // Flush remaining buffer
100
+ if (_buf) {
101
+ const line = _buf.trimEnd();
102
+ if (_inCode) {
103
+ _codeLines.push(line);
134
104
  }
135
105
  else {
136
- const formatted = formatMarkdownLine(_assistantLineBuf);
137
- for (const part of wrapAnsiLine(formatted, termW)) {
138
- console.log(` ${part}`);
106
+ if (line.startsWith('```')) {
107
+ emitCodeBlock();
108
+ }
109
+ else {
110
+ const formatted = formatMarkdownLine(line);
111
+ for (const part of wrapLine(formatted, termW)) {
112
+ console.log(` ${part}`);
113
+ }
139
114
  }
140
115
  }
141
116
  }
142
- _assistantLineBuf = '';
143
- _inCodeBlock = false;
144
- const modelStr = modelName ? `${modelName} · ` : '';
145
- const meta = toolCount !== undefined
146
- ? `${modelStr}${toolCount} tool(s) · ~${Math.round(tokens / 4)}t out · ${elapsedMs}ms`
147
- : `${modelStr}~${Math.round(tokens / 4)}t out · ${elapsedMs}ms`;
148
- console.log(` ${pc.dim(meta)}\n`);
117
+ emitCodeBlock();
118
+ _inCode = false;
119
+ _codeLang = '';
120
+ _buf = '';
121
+ // Compact metadata line single dim line, no wrapping
122
+ const parts = [];
123
+ if (modelName)
124
+ parts.push(pc.dim(modelName));
125
+ if (toolCount !== undefined)
126
+ parts.push(pc.dim(`${toolCount} tool(s)`));
127
+ const tokenStr = tokens >= 4000 ? `${(tokens / 4 / 1000).toFixed(1)}k out` : `${Math.round(tokens / 4)} out`;
128
+ parts.push(pc.dim(tokenStr));
129
+ const elapsed = elapsedMs >= 1000 ? `${(elapsedMs / 1000).toFixed(1)}s` : `${elapsedMs}ms`;
130
+ parts.push(pc.dim(elapsed));
131
+ console.log(` ${parts.join(' · ')}\n`);
149
132
  }
133
+ // ── Inline markdown ────────────────────────────────────────────
134
+ export function formatMarkdownLine(line) {
135
+ // Headings
136
+ if (line.startsWith('### '))
137
+ return pc.bold(pc.cyan(line.slice(4)));
138
+ if (line.startsWith('## '))
139
+ return pc.bold(pc.cyan(line.slice(3)));
140
+ if (line.startsWith('# '))
141
+ return pc.bold(pc.cyan(line.slice(2)));
142
+ // Blockquotes
143
+ if (line.startsWith('> '))
144
+ return `${pc.gray('│')} ${pc.italic(line.slice(2))}`;
145
+ let indent = '';
146
+ let body = line;
147
+ const list = line.match(/^(\s*)([-*•])\s+(.*)/);
148
+ if (list) {
149
+ indent = list[1];
150
+ body = list[3];
151
+ }
152
+ // Horizontal rules
153
+ if (/^[-*_]{3,}$/.test(body.trim()))
154
+ return pc.dim('─'.repeat(termW));
155
+ body = body
156
+ .replace(/`([^`]+)`/g, (_, p) => pc.yellow(p))
157
+ .replace(/\*\*([^*]+)\*\*/g, (_, p) => pc.bold(p))
158
+ .replace(/\*([^*]+)\*/g, (_, p) => pc.italic(p))
159
+ .replace(/_([^_]+)_/g, (_, p) => pc.italic(p));
160
+ return indent + (list ? `${pc.dim('•')} ${body}` : body);
161
+ }
162
+ // ── Separator ──────────────────────────────────────────────────
150
163
  export function turnSeparator() {
151
164
  const ts = new Date().toLocaleTimeString('en-US', { hour12: false, hour: '2-digit', minute: '2-digit' });
152
- console.log(` ${pc.dim('─'.repeat(58))} ${pc.dim(ts)}`);
165
+ console.log(` ${pc.dim('─'.repeat(50))} ${pc.dim(ts)}`);
166
+ }
167
+ // ── Context warning ────────────────────────────────────────────
168
+ export function printContextWarning(pct) {
169
+ console.log(` ${pc.dim('Context')} ${pc.yellow(pct.toString().padStart(3))}% ${pc.dim('— summarizing older turns')}`);
170
+ }
171
+ export function printContextResult(summarized, savedKt) {
172
+ console.log(` ${pc.green('✔')} ${pc.dim(`Summarized ${summarized} older turns, saved ~${savedKt}kt`)}`);
173
+ }
174
+ export function printContextPrune(pruned, truncated, savedKt) {
175
+ const parts = [];
176
+ if (pruned > 0)
177
+ parts.push(`removed ${pruned} cycles`);
178
+ if (truncated > 0)
179
+ parts.push(`truncated ${truncated} tool outputs`);
180
+ parts.push(`saved ~${savedKt}kt`);
181
+ console.log(` ${pc.dim('┃')} ${pc.dim(`Hard pruning: ${parts.join(', ')}`)}`);
182
+ }
183
+ // ── Tool execution ─────────────────────────────────────────────
184
+ export function printToolStart(count, names, spinnerDim) {
185
+ const label = count === 1 ? names[0] : `${names.join(', ')}`;
186
+ const msg = ` ${pc.dim('▸')} ${pc.dim(label)}`;
187
+ return msg;
188
+ }
189
+ export function printToolResult(name, success, error) {
190
+ if (success) {
191
+ console.log(` ${pc.green('✔')} ${pc.dim(name)}`);
192
+ }
193
+ else {
194
+ console.log(` ${pc.red('✗')} ${pc.dim(name)}${error ? ` ${pc.red(error)}` : ''}`);
195
+ }
196
+ }
197
+ export function printToolContentPreview(content) {
198
+ if (!content)
199
+ return;
200
+ const lines = content.split('\n').filter(l => l.trim());
201
+ const preview = lines.slice(0, 1).map(l => l.length > 100 ? l.slice(0, 100) + '…' : l).join('\n');
202
+ if (preview)
203
+ console.log(` ${pc.dim(' ')}${pc.gray(preview)}`);
204
+ }
205
+ // ── Turn gate prompt ───────────────────────────────────────────
206
+ export function turnGatePrompt() {
207
+ return `\n ${pc.dim('?')} Next turn? ${pc.dim('[y/n/e]')} `;
153
208
  }
209
+ // ── Parsed tool calls ──────────────────────────────────────────
154
210
  export function parseTextToolCalls(text) {
155
211
  const toolCalls = [];
156
212
  const regex = /<(longcat_)?tool_call>([\s\S]*?)<\/(longcat_)?tool_call>/g;
@@ -1 +1 @@
1
- {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -274,26 +274,31 @@ async function main() {
274
274
  printBanner(APP_VERSION);
275
275
  const enabledCount = config.router.chain.filter(m => m.enabled).length;
276
276
  printConfigInfo(enabledCount, config.router.strategy, configDir + '/config.json');
277
- try {
278
- await router.startHealthChecks();
279
- console.log(pc.green('\n[OK] Router started. Health checks running every 30s.'));
280
- }
281
- catch (err) {
282
- console.error(pc.yellow(`\n[WARN] Router health checks failed: ${err.message}`));
283
- }
284
- // Initialize MCP registry
285
- try {
286
- await mcpRegistry.connectAll();
287
- const servers = mcpRegistry.getConnectedServers();
288
- if (servers.length > 0) {
289
- const mcpToolCount = mcpRegistry.getToolDefinitions().length;
290
- console.log(pc.green(`\n[OK] MCP connected: ${servers.join(', ')}`));
291
- console.log(pc.dim(` ${mcpToolCount} MCP tool(s) registered — I'll ask before using them on your behalf.`));
277
+ // Start health checks and MCP in background — REPL starts immediately
278
+ const postStartPromises = [];
279
+ postStartPromises.push((async () => {
280
+ try {
281
+ await router.startHealthChecks();
282
+ console.log(pc.green('\n[OK] Router started. Health checks running every 30s.'));
292
283
  }
293
- }
294
- catch (err) {
295
- console.error(pc.yellow(`\n[WARN] MCP initialization failed: ${err.message}`));
296
- }
284
+ catch (err) {
285
+ console.error(pc.yellow(`\n[WARN] Router health checks failed: ${err.message}`));
286
+ }
287
+ })());
288
+ postStartPromises.push((async () => {
289
+ try {
290
+ await mcpRegistry.connectAll();
291
+ const servers = mcpRegistry.getConnectedServers();
292
+ if (servers.length > 0) {
293
+ const mcpToolCount = mcpRegistry.getToolDefinitions().length;
294
+ console.log(pc.green(`\n[OK] MCP connected: ${servers.join(', ')}`));
295
+ console.log(pc.dim(` ${mcpToolCount} MCP tool(s) registered — I'll ask before using them on your behalf.`));
296
+ }
297
+ }
298
+ catch (err) {
299
+ console.error(pc.yellow(`\n[WARN] MCP initialization failed: ${err.message}`));
300
+ }
301
+ })());
297
302
  // Check for updates — non-blocking
298
303
  if (config.updateCheck !== false) {
299
304
  const updateCachePath = path.join(cliTempDir, 'version-check.json');
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAOnE,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,eAAO,IAAI,sBAAsB,EAAE,eAAe,GAAG,IAAW,CAAC;AAGjE,wBAAgB,SAAS,IAAI,IAAI,CAKhC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AASD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C;AAiBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS;sCAInC,MAAM,gBACL,MAAM,KACnB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;yCAiSJ,MAAM,gBAAgB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;EAsCjG"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAOnE,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,eAAO,IAAI,sBAAsB,EAAE,eAAe,GAAG,IAAW,CAAC;AAGjE,wBAAgB,SAAS,IAAI,IAAI,CAKhC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAGvC;AAED,wBAAgB,aAAa,IAAI,OAAO,CAEvC;AASD,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,GAAG,CAAC;IACZ,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,gBAAgB,EAAE,MAAM,MAAM,CAAC;IAC/B,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC9C;AAiBD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,SAAS;sCAInC,MAAM,gBACL,MAAM,KACnB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,QAAQ,EAAE,CAAA;KAAE,CAAC;yCAkSJ,MAAM,gBAAgB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;EAsCjG"}
package/dist/model.js CHANGED
@@ -4,7 +4,7 @@ import { executeToolCalls } from './tools/executor.js';
4
4
  import { mcpRegistry } from './tools/mcp/registry.js';
5
5
  import { DaedalusSpinner } from './tools/daedalus-spinner.js';
6
6
  import { calculateSessionTokens, pruneMessages } from './session/tokens.js';
7
- import { parseTextToolCalls, openAssistantBlock, writeAssistantChunk, closeAssistantBlock } from './formatting.js';
7
+ import { parseTextToolCalls, openAssistantBlock, writeAssistantChunk, closeAssistantBlock, printContextWarning, printContextResult, printContextPrune, printToolStart, printToolResult, printToolContentPreview, turnGatePrompt } from './formatting.js';
8
8
  const TOOL_RESULT_MAX_CHARS = 32_000;
9
9
  const MAX_TOOL_TURNS = 40;
10
10
  let _turnStartTime = 0;
@@ -71,11 +71,38 @@ export function createModelFunctions(deps) {
71
71
  const fileCtx = buildFileContext();
72
72
  const tokens = calculateSessionTokens(messages, fileCtx);
73
73
  if (tokens.total > threshold) {
74
- console.log(pc.yellow(`\n ${pc.bold('[WARN]')} Context budget threshold exceeded (${Math.round(summarizeAt * 100)}%). Auto-pruning older turns...`));
74
+ printContextWarning(Math.round(summarizeAt * 100));
75
75
  const target = Math.floor(maxT * 0.6);
76
- const pruneResult = pruneMessages(messages, fileCtx, target);
77
- if (pruneResult.prunedTurns > 0 || pruneResult.truncatedTools > 0) {
78
- console.log(` ${pc.green('✔')} Pruned ${pruneResult.prunedTurns} older cycles and truncated ${pruneResult.truncatedTools} tool outputs (saved ~${Math.round(pruneResult.savedTokens / 1000)}kt).`);
76
+ // Step 1: Try LLM-based summarization before hard pruning
77
+ const { summarizeMessages } = await import('./session/summarize.js');
78
+ const summarizeFn = async (sysPrompt, userContent) => {
79
+ try {
80
+ const resp = await router.chat.completions.create({
81
+ model: 'auto',
82
+ messages: [
83
+ { role: 'system', content: sysPrompt },
84
+ { role: 'user', content: userContent },
85
+ ],
86
+ temperature: 0.3,
87
+ max_tokens: 600,
88
+ });
89
+ return resp.choices[0]?.message?.content || '';
90
+ }
91
+ catch {
92
+ return '';
93
+ }
94
+ };
95
+ const summaryResult = await summarizeMessages(messages, target, summarizeFn);
96
+ if (summaryResult.summarizedTurns > 0) {
97
+ printContextResult(summaryResult.summarizedTurns, Math.round(summaryResult.savedTokens / 1000));
98
+ }
99
+ // Step 2: If still over budget, hard prune the rest
100
+ const tokensAfterSummary = calculateSessionTokens(messages, fileCtx);
101
+ if (tokensAfterSummary.total > target) {
102
+ const pruneResult = pruneMessages(messages, fileCtx, target);
103
+ if (pruneResult.prunedTurns > 0 || pruneResult.truncatedTools > 0) {
104
+ printContextPrune(pruneResult.prunedTurns, pruneResult.truncatedTools, Math.round(pruneResult.savedTokens / 1000));
105
+ }
79
106
  }
80
107
  }
81
108
  const allTools = [...BUILTIN_TOOLS, ...POWER_TOOLS, ...mcpRegistry.getToolDefinitions()];
@@ -212,30 +239,18 @@ export function createModelFunctions(deps) {
212
239
  approvedCallIndices.add(i);
213
240
  }
214
241
  const approvedCalls = toolCallArray.filter((_, i) => approvedCallIndices.has(i));
215
- console.log(`\n ${pc.dim('[TOOL]')} ${pc.dim(`Executing ${approvedCalls.length} tool call(s)...`)}`);
216
242
  const toolNames = approvedCalls.map(c => c.function.name);
217
- const spinnerLabel = approvedCalls.length === 1
218
- ? `Executing ${toolNames[0]}`
219
- : `Executing ${approvedCalls.length} tool calls (${toolNames.join(', ')})`;
220
- const toolSpinner = new DaedalusSpinner({
221
- text: spinnerLabel,
222
- color: (s) => pc.dim(s)
223
- });
224
- toolSpinner.start();
225
- toolContext.pauseSpinner = () => {
226
- toolSpinner.stop();
227
- };
228
- toolContext.resumeSpinner = () => {
229
- toolSpinner.start();
230
- };
243
+ printToolStart(approvedCalls.length, toolNames, (s) => pc.dim(s));
231
244
  let results;
232
245
  try {
233
246
  results = await executeToolCalls(approvedCalls, toolContext);
234
247
  }
235
- finally {
236
- toolSpinner.stop();
248
+ catch (err) {
237
249
  toolContext.pauseSpinner = () => { };
238
250
  toolContext.resumeSpinner = () => { };
251
+ results = approvedCalls.map(tc => ({
252
+ toolCallId: tc.id, name: tc.function.name, success: false, content: '', error: err.message,
253
+ }));
239
254
  }
240
255
  for (const result of results) {
241
256
  messages.push({
@@ -243,23 +258,9 @@ export function createModelFunctions(deps) {
243
258
  content: truncateToolResult(result.content),
244
259
  tool_call_id: result.toolCallId,
245
260
  });
246
- const status = result.success ? pc.green('✔') : pc.red('✗');
247
- console.log(` ${status} ${result.name}`);
248
- if (!result.success && result.error) {
249
- console.log(pc.red(` Error: ${result.error}`));
250
- }
261
+ printToolResult(result.name, result.success, result.error);
251
262
  if (result.success && result.content) {
252
- const contentStr = result.content;
253
- const lines = contentStr.split('\n');
254
- const previewLines = lines.slice(0, 3);
255
- for (const line of previewLines) {
256
- const truncated = line.length > 120 ? line.slice(0, 120) + '…' : line;
257
- if (truncated.trim())
258
- console.log(` ${pc.dim('┃')} ${pc.gray(truncated)}`);
259
- }
260
- if (lines.length > 3) {
261
- console.log(` ${pc.dim('┃')} ${pc.dim(`… ${lines.length - 3} more line${lines.length - 3 > 1 ? 's' : ''}`)}`);
262
- }
263
+ printToolContentPreview(result.content);
263
264
  }
264
265
  if (result.success && result.name === 'screenshot_page') {
265
266
  try {
@@ -288,7 +289,7 @@ export function createModelFunctions(deps) {
288
289
  // Single-agent turn checkpoint gate
289
290
  if (turn < MAX_TOOL_TURNS - 1 && process.env.DAEDALUS_AUTO_APPROVE !== 'true') {
290
291
  const ask = toolContext.askLine || askLine;
291
- const answer = await ask(`\n ${pc.yellow('?')} Proceed to next agent turn? [y]es / [n]o / [e]dit feedback: `);
292
+ const answer = await ask(turnGatePrompt());
292
293
  const norm = answer.trim().toLowerCase();
293
294
  if (norm === 'n' || norm === 'no') {
294
295
  console.log(pc.yellow('\n [INFO] Stopped agent turn loop.'));