cmdr-agent 2.4.0 → 2.5.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.
- package/dist/package.json +1 -1
- package/dist/src/cli/progress.d.ts +58 -0
- package/dist/src/cli/progress.d.ts.map +1 -0
- package/dist/src/cli/progress.js +179 -0
- package/dist/src/cli/progress.js.map +1 -0
- package/dist/src/cli/spinner.d.ts +2 -0
- package/dist/src/cli/spinner.d.ts.map +1 -1
- package/dist/src/cli/spinner.js +18 -0
- package/dist/src/cli/spinner.js.map +1 -1
- package/dist/src/core/agent-runner.d.ts +12 -0
- package/dist/src/core/agent-runner.d.ts.map +1 -1
- package/dist/src/core/agent-runner.js +176 -5
- package/dist/src/core/agent-runner.js.map +1 -1
- package/dist/src/core/event-bus.d.ts +12 -0
- package/dist/src/core/event-bus.d.ts.map +1 -1
- package/dist/src/core/event-bus.js.map +1 -1
- package/dist/src/core/types.d.ts +17 -0
- package/dist/src/core/types.d.ts.map +1 -1
- package/dist/src/core/types.js +8 -1
- package/dist/src/core/types.js.map +1 -1
- package/dist/src/llm/anthropic.d.ts +1 -0
- package/dist/src/llm/anthropic.d.ts.map +1 -1
- package/dist/src/llm/anthropic.js +20 -1
- package/dist/src/llm/anthropic.js.map +1 -1
- package/dist/src/llm/ollama.d.ts +2 -12
- package/dist/src/llm/ollama.d.ts.map +1 -1
- package/dist/src/llm/ollama.js +46 -250
- package/dist/src/llm/ollama.js.map +1 -1
- package/dist/src/llm/openai.d.ts +1 -0
- package/dist/src/llm/openai.d.ts.map +1 -1
- package/dist/src/llm/openai.js +21 -7
- package/dist/src/llm/openai.js.map +1 -1
- package/dist/src/llm/repair/retry-policy.d.ts +48 -0
- package/dist/src/llm/repair/retry-policy.d.ts.map +1 -0
- package/dist/src/llm/repair/retry-policy.js +85 -0
- package/dist/src/llm/repair/retry-policy.js.map +1 -0
- package/dist/src/llm/repair/tool-repair.d.ts +39 -0
- package/dist/src/llm/repair/tool-repair.d.ts.map +1 -0
- package/dist/src/llm/repair/tool-repair.js +313 -0
- package/dist/src/llm/repair/tool-repair.js.map +1 -0
- package/dist/src/llm/shared/text-cleanup.d.ts +16 -0
- package/dist/src/llm/shared/text-cleanup.d.ts.map +1 -0
- package/dist/src/llm/shared/text-cleanup.js +120 -0
- package/dist/src/llm/shared/text-cleanup.js.map +1 -0
- package/dist/src/llm/shared/tool-parsing.d.ts +70 -0
- package/dist/src/llm/shared/tool-parsing.d.ts.map +1 -0
- package/dist/src/llm/shared/tool-parsing.js +355 -0
- package/dist/src/llm/shared/tool-parsing.js.map +1 -0
- package/dist/src/llm/validation/tool-call-schema.d.ts +83 -0
- package/dist/src/llm/validation/tool-call-schema.d.ts.map +1 -0
- package/dist/src/llm/validation/tool-call-schema.js +145 -0
- package/dist/src/llm/validation/tool-call-schema.js.map +1 -0
- package/dist/src/tools/built-in/bash.d.ts +5 -1
- package/dist/src/tools/built-in/bash.d.ts.map +1 -1
- package/dist/src/tools/built-in/bash.js +34 -46
- package/dist/src/tools/built-in/bash.js.map +1 -1
- package/dist/src/tools/executor.d.ts +7 -1
- package/dist/src/tools/executor.d.ts.map +1 -1
- package/dist/src/tools/executor.js +20 -5
- package/dist/src/tools/executor.js.map +1 -1
- package/dist/src/tools/shell/shell-executor.d.ts +71 -0
- package/dist/src/tools/shell/shell-executor.d.ts.map +1 -0
- package/dist/src/tools/shell/shell-executor.js +238 -0
- package/dist/src/tools/shell/shell-executor.js.map +1 -0
- package/package.json +1 -1
package/dist/package.json
CHANGED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Progress tracker — structured phase display for agent execution.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors Claude Code's sectioned rendering:
|
|
5
|
+
* - THINKING phase (reasoning/planning)
|
|
6
|
+
* - TOOL EXECUTION phase (with structured blocks per tool)
|
|
7
|
+
* - GENERATING phase (text output)
|
|
8
|
+
*
|
|
9
|
+
* Integrates with the spinner for animated state transitions.
|
|
10
|
+
*/
|
|
11
|
+
export type AgentPhase = 'idle' | 'thinking' | 'tool_exec' | 'generating' | 'done' | 'error';
|
|
12
|
+
export interface ToolExecInfo {
|
|
13
|
+
readonly name: string;
|
|
14
|
+
readonly startTime: number;
|
|
15
|
+
endTime?: number;
|
|
16
|
+
result?: 'success' | 'error' | 'denied';
|
|
17
|
+
}
|
|
18
|
+
export interface PhaseState {
|
|
19
|
+
phase: AgentPhase;
|
|
20
|
+
turn: number;
|
|
21
|
+
totalTokens: {
|
|
22
|
+
input: number;
|
|
23
|
+
output: number;
|
|
24
|
+
};
|
|
25
|
+
toolsExecuted: ToolExecInfo[];
|
|
26
|
+
startTime: number;
|
|
27
|
+
thinkingStartTime?: number;
|
|
28
|
+
currentToolName?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare function resetProgress(): void;
|
|
31
|
+
export declare function getPhaseState(): Readonly<PhaseState>;
|
|
32
|
+
export declare function setPhase(phase: AgentPhase): void;
|
|
33
|
+
export declare function setTurn(turn: number): void;
|
|
34
|
+
export declare function addTokens(input: number, output: number): void;
|
|
35
|
+
export declare function startToolExecution(toolName: string): void;
|
|
36
|
+
export declare function endToolExecution(toolName: string, result: 'success' | 'error' | 'denied'): void;
|
|
37
|
+
/**
|
|
38
|
+
* Format a tool execution block with visual borders.
|
|
39
|
+
* Matches Claude Code's structured tool output style.
|
|
40
|
+
*/
|
|
41
|
+
export declare function formatToolBlock(toolName: string, input: Record<string, unknown>, result: string, isError: boolean, durationMs: number): string;
|
|
42
|
+
/**
|
|
43
|
+
* Format the "thinking" section header.
|
|
44
|
+
*/
|
|
45
|
+
export declare function formatThinkingHeader(): string;
|
|
46
|
+
/**
|
|
47
|
+
* Format the "generating" section header.
|
|
48
|
+
*/
|
|
49
|
+
export declare function formatGeneratingHeader(): string;
|
|
50
|
+
/**
|
|
51
|
+
* Format a turn separator.
|
|
52
|
+
*/
|
|
53
|
+
export declare function formatTurnSeparator(turn: number): string;
|
|
54
|
+
/**
|
|
55
|
+
* Format the session summary shown at the end of a run.
|
|
56
|
+
*/
|
|
57
|
+
export declare function formatSessionSummary(): string;
|
|
58
|
+
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/cli/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAoBH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,CAAA;AAE5F,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;CACxC;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,UAAU,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9C,aAAa,EAAE,YAAY,EAAE,CAAA;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAcD,wBAAgB,aAAa,IAAI,IAAI,CAQpC;AAED,wBAAgB,aAAa,IAAI,QAAQ,CAAC,UAAU,CAAC,CAEpD;AAMD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAKhD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAG7D;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAOzD;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GACrC,IAAI,CAON;AAiBD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,MAAM,CA+BR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAE/C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAkB7C"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Progress tracker — structured phase display for agent execution.
|
|
3
|
+
*
|
|
4
|
+
* Mirrors Claude Code's sectioned rendering:
|
|
5
|
+
* - THINKING phase (reasoning/planning)
|
|
6
|
+
* - TOOL EXECUTION phase (with structured blocks per tool)
|
|
7
|
+
* - GENERATING phase (text output)
|
|
8
|
+
*
|
|
9
|
+
* Integrates with the spinner for animated state transitions.
|
|
10
|
+
*/
|
|
11
|
+
import chalk from 'chalk';
|
|
12
|
+
// ---------------------------------------------------------------------------
|
|
13
|
+
// Colors — match cmdr theme
|
|
14
|
+
// ---------------------------------------------------------------------------
|
|
15
|
+
const PURPLE = chalk.hex('#BF40FF');
|
|
16
|
+
const GREEN = chalk.hex('#00FF41');
|
|
17
|
+
const CYAN = chalk.hex('#00FFFF');
|
|
18
|
+
const DIM = chalk.hex('#555555');
|
|
19
|
+
const WHITE = chalk.hex('#E0E0E0');
|
|
20
|
+
const YELLOW = chalk.hex('#FFD700');
|
|
21
|
+
const RED = chalk.hex('#FF4444');
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// Singleton progress tracker
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
let state = {
|
|
26
|
+
phase: 'idle',
|
|
27
|
+
turn: 0,
|
|
28
|
+
totalTokens: { input: 0, output: 0 },
|
|
29
|
+
toolsExecuted: [],
|
|
30
|
+
startTime: Date.now(),
|
|
31
|
+
};
|
|
32
|
+
export function resetProgress() {
|
|
33
|
+
state = {
|
|
34
|
+
phase: 'idle',
|
|
35
|
+
turn: 0,
|
|
36
|
+
totalTokens: { input: 0, output: 0 },
|
|
37
|
+
toolsExecuted: [],
|
|
38
|
+
startTime: Date.now(),
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function getPhaseState() {
|
|
42
|
+
return state;
|
|
43
|
+
}
|
|
44
|
+
// ---------------------------------------------------------------------------
|
|
45
|
+
// Phase transitions
|
|
46
|
+
// ---------------------------------------------------------------------------
|
|
47
|
+
export function setPhase(phase) {
|
|
48
|
+
state.phase = phase;
|
|
49
|
+
if (phase === 'thinking') {
|
|
50
|
+
state.thinkingStartTime = Date.now();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export function setTurn(turn) {
|
|
54
|
+
state.turn = turn;
|
|
55
|
+
}
|
|
56
|
+
export function addTokens(input, output) {
|
|
57
|
+
state.totalTokens.input += input;
|
|
58
|
+
state.totalTokens.output += output;
|
|
59
|
+
}
|
|
60
|
+
export function startToolExecution(toolName) {
|
|
61
|
+
state.phase = 'tool_exec';
|
|
62
|
+
state.currentToolName = toolName;
|
|
63
|
+
state.toolsExecuted.push({
|
|
64
|
+
name: toolName,
|
|
65
|
+
startTime: Date.now(),
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
export function endToolExecution(toolName, result) {
|
|
69
|
+
const tool = [...state.toolsExecuted].reverse().find(t => t.name === toolName && !t.endTime);
|
|
70
|
+
if (tool) {
|
|
71
|
+
tool.endTime = Date.now();
|
|
72
|
+
tool.result = result;
|
|
73
|
+
}
|
|
74
|
+
state.currentToolName = undefined;
|
|
75
|
+
}
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
// Formatting — structured output blocks
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
const BOX_CHARS = {
|
|
80
|
+
topLeft: '┌',
|
|
81
|
+
topRight: '┐',
|
|
82
|
+
bottomLeft: '└',
|
|
83
|
+
bottomRight: '┘',
|
|
84
|
+
horizontal: '─',
|
|
85
|
+
vertical: '│',
|
|
86
|
+
teeLeft: '├',
|
|
87
|
+
teeRight: '┤',
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Format a tool execution block with visual borders.
|
|
91
|
+
* Matches Claude Code's structured tool output style.
|
|
92
|
+
*/
|
|
93
|
+
export function formatToolBlock(toolName, input, result, isError, durationMs) {
|
|
94
|
+
const width = Math.min(process.stdout.columns || 80, 80);
|
|
95
|
+
const innerWidth = width - 4;
|
|
96
|
+
const headerLine = `${BOX_CHARS.topLeft}${BOX_CHARS.horizontal.repeat(2)} ${CYAN(toolName)} ${DIM(`(${durationMs}ms)`)} ${BOX_CHARS.horizontal.repeat(Math.max(0, innerWidth - toolName.length - String(durationMs).length - 8))}${BOX_CHARS.topRight}`;
|
|
97
|
+
const lines = [headerLine];
|
|
98
|
+
// Input summary (compact)
|
|
99
|
+
const inputStr = formatInputCompact(input);
|
|
100
|
+
if (inputStr) {
|
|
101
|
+
lines.push(`${BOX_CHARS.vertical} ${DIM('input:')} ${WHITE(truncateLine(inputStr, innerWidth - 8))} ${' '.repeat(Math.max(0, innerWidth - inputStr.length - 8))}${BOX_CHARS.vertical}`);
|
|
102
|
+
}
|
|
103
|
+
// Separator
|
|
104
|
+
lines.push(`${BOX_CHARS.teeLeft}${BOX_CHARS.horizontal.repeat(width - 2)}${BOX_CHARS.teeRight}`);
|
|
105
|
+
// Result (truncated to a few lines)
|
|
106
|
+
const resultLines = result.split('\n').slice(0, 5);
|
|
107
|
+
for (const line of resultLines) {
|
|
108
|
+
const color = isError ? RED : GREEN;
|
|
109
|
+
const truncated = truncateLine(line, innerWidth - 2);
|
|
110
|
+
lines.push(`${BOX_CHARS.vertical} ${color(truncated)}${' '.repeat(Math.max(0, innerWidth - truncated.length))}${BOX_CHARS.vertical}`);
|
|
111
|
+
}
|
|
112
|
+
if (result.split('\n').length > 5) {
|
|
113
|
+
lines.push(`${BOX_CHARS.vertical} ${DIM(`... ${result.split('\n').length - 5} more lines`)}${' '.repeat(Math.max(0, innerWidth - 20))}${BOX_CHARS.vertical}`);
|
|
114
|
+
}
|
|
115
|
+
// Bottom border
|
|
116
|
+
lines.push(`${BOX_CHARS.bottomLeft}${BOX_CHARS.horizontal.repeat(width - 2)}${BOX_CHARS.bottomRight}`);
|
|
117
|
+
return lines.join('\n');
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Format the "thinking" section header.
|
|
121
|
+
*/
|
|
122
|
+
export function formatThinkingHeader() {
|
|
123
|
+
return `\n${PURPLE('◆')} ${PURPLE.bold('THINKING')} ${DIM('─'.repeat(60))}\n`;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Format the "generating" section header.
|
|
127
|
+
*/
|
|
128
|
+
export function formatGeneratingHeader() {
|
|
129
|
+
return `\n${GREEN('◆')} ${GREEN.bold('RESPONSE')} ${DIM('─'.repeat(60))}\n`;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Format a turn separator.
|
|
133
|
+
*/
|
|
134
|
+
export function formatTurnSeparator(turn) {
|
|
135
|
+
return `\n${DIM('─'.repeat(20))} ${PURPLE(`Turn ${turn}`)} ${DIM('─'.repeat(20))}\n`;
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Format the session summary shown at the end of a run.
|
|
139
|
+
*/
|
|
140
|
+
export function formatSessionSummary() {
|
|
141
|
+
const elapsed = Math.round((Date.now() - state.startTime) / 1000);
|
|
142
|
+
const toolCount = state.toolsExecuted.length;
|
|
143
|
+
const successTools = state.toolsExecuted.filter(t => t.result === 'success').length;
|
|
144
|
+
const errorTools = state.toolsExecuted.filter(t => t.result === 'error').length;
|
|
145
|
+
const lines = [
|
|
146
|
+
'',
|
|
147
|
+
DIM('═'.repeat(60)),
|
|
148
|
+
`${PURPLE.bold('Session Summary')}`,
|
|
149
|
+
` ${DIM('Turns:')} ${WHITE(String(state.turn))} ${DIM('Duration:')} ${WHITE(`${elapsed}s`)}`,
|
|
150
|
+
` ${DIM('Tools:')} ${WHITE(String(toolCount))} total, ${GREEN(String(successTools))} succeeded${errorTools > 0 ? `, ${RED(String(errorTools))} failed` : ''}`,
|
|
151
|
+
` ${DIM('Tokens:')} ${WHITE(String(state.totalTokens.input))} in / ${WHITE(String(state.totalTokens.output))} out`,
|
|
152
|
+
DIM('═'.repeat(60)),
|
|
153
|
+
'',
|
|
154
|
+
];
|
|
155
|
+
return lines.join('\n');
|
|
156
|
+
}
|
|
157
|
+
// ---------------------------------------------------------------------------
|
|
158
|
+
// Helpers
|
|
159
|
+
// ---------------------------------------------------------------------------
|
|
160
|
+
function truncateLine(text, maxLen) {
|
|
161
|
+
if (text.length <= maxLen)
|
|
162
|
+
return text;
|
|
163
|
+
return text.slice(0, maxLen - 3) + '...';
|
|
164
|
+
}
|
|
165
|
+
function formatInputCompact(input) {
|
|
166
|
+
const entries = Object.entries(input);
|
|
167
|
+
if (entries.length === 0)
|
|
168
|
+
return '';
|
|
169
|
+
if (entries.length === 1) {
|
|
170
|
+
const [key, value] = entries[0];
|
|
171
|
+
const valStr = typeof value === 'string' ? value : JSON.stringify(value);
|
|
172
|
+
return `${key}=${truncateLine(valStr, 60)}`;
|
|
173
|
+
}
|
|
174
|
+
return entries.map(([k, v]) => {
|
|
175
|
+
const valStr = typeof v === 'string' ? v : JSON.stringify(v);
|
|
176
|
+
return `${k}=${truncateLine(valStr, 30)}`;
|
|
177
|
+
}).join(', ');
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../src/cli/progress.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,8EAA8E;AAC9E,4BAA4B;AAC5B,8EAA8E;AAE9E,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AACnC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAClC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AACjC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAChC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAClC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AACnC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAyBhC,8EAA8E;AAC9E,6BAA6B;AAC7B,8EAA8E;AAE9E,IAAI,KAAK,GAAe;IACtB,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,CAAC;IACP,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;IACpC,aAAa,EAAE,EAAE;IACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;CACtB,CAAA;AAED,MAAM,UAAU,aAAa;IAC3B,KAAK,GAAG;QACN,KAAK,EAAE,MAAM;QACb,IAAI,EAAE,CAAC;QACP,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE;QACpC,aAAa,EAAE,EAAE;QACjB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,OAAO,KAAK,CAAA;AACd,CAAC;AAED,8EAA8E;AAC9E,oBAAoB;AACpB,8EAA8E;AAE9E,MAAM,UAAU,QAAQ,CAAC,KAAiB;IACxC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAA;IACnB,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;QACzB,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IACtC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAA;AACnB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa,EAAE,MAAc;IACrD,KAAK,CAAC,WAAW,CAAC,KAAK,IAAI,KAAK,CAAA;IAChC,KAAK,CAAC,WAAW,CAAC,MAAM,IAAI,MAAM,CAAA;AACpC,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAAgB;IACjD,KAAK,CAAC,KAAK,GAAG,WAAW,CAAA;IACzB,KAAK,CAAC,eAAe,GAAG,QAAQ,CAAA;IAChC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC;QACvB,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACtB,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAgB,EAChB,MAAsC;IAEtC,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;IAC5F,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IACD,KAAK,CAAC,eAAe,GAAG,SAAS,CAAA;AACnC,CAAC;AAED,8EAA8E;AAC9E,wCAAwC;AACxC,8EAA8E;AAE9E,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;IACb,UAAU,EAAE,GAAG;IACf,WAAW,EAAE,GAAG;IAChB,UAAU,EAAE,GAAG;IACf,QAAQ,EAAE,GAAG;IACb,OAAO,EAAE,GAAG;IACZ,QAAQ,EAAE,GAAG;CACd,CAAA;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAgB,EAChB,KAA8B,EAC9B,MAAc,EACd,OAAgB,EAChB,UAAkB;IAElB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACxD,MAAM,UAAU,GAAG,KAAK,GAAG,CAAC,CAAA;IAC5B,MAAM,UAAU,GAAG,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,UAAU,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAA;IAEvP,MAAM,KAAK,GAAa,CAAC,UAAU,CAAC,CAAA;IAEpC,0BAA0B;IAC1B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAA;IAC1C,IAAI,QAAQ,EAAE,CAAC;QACb,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IACzL,CAAC;IAED,YAAY;IACZ,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAEhG,oCAAoC;IACpC,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAClD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAA;QACnC,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,GAAG,CAAC,CAAC,CAAA;QACpD,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IACvI,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,QAAQ,IAAI,GAAG,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAA;IAC/J,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC,CAAA;IAEtG,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,KAAK,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;AAC/E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB;IACpC,OAAO,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAA;AACtF,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAA;IACjE,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAA;IAC5C,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,MAAM,CAAA;IACnF,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,CAAA;IAE/E,MAAM,KAAK,GAAa;QACtB,EAAE;QACF,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnB,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE;QACnC,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE;QAC9F,KAAK,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,aAAa,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE;QAC9J,KAAK,GAAG,CAAC,SAAS,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,MAAM;QACnH,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACnB,EAAE;KACH,CAAA;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACzB,CAAC;AAED,8EAA8E;AAC9E,UAAU;AACV,8EAA8E;AAE9E,SAAS,YAAY,CAAC,IAAY,EAAE,MAAc;IAChD,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM;QAAE,OAAO,IAAI,CAAA;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,GAAG,KAAK,CAAA;AAC1C,CAAC;AAED,SAAS,kBAAkB,CAAC,KAA8B;IACxD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAA;IACnC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;QACxE,OAAO,GAAG,GAAG,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAA;IAC7C,CAAC;IACD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC5D,OAAO,GAAG,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAA;IAC3C,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACf,CAAC"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Spinner — loading/thinking indicators for the terminal.
|
|
3
3
|
*
|
|
4
4
|
* Picks a random whimsical verb, rotates every 2–3 s, shows elapsed time.
|
|
5
|
+
* Integrates with the progress tracker for structured phase transitions.
|
|
5
6
|
*/
|
|
6
7
|
export declare function startThinking(_message?: string): void;
|
|
7
8
|
export declare function startToolExec(toolName: string): void;
|
|
@@ -13,4 +14,5 @@ export declare function updateSpinner(text: string): void;
|
|
|
13
14
|
export declare function getElapsedSeconds(): number;
|
|
14
15
|
/** Returns "Percolated for 12s" style summary using the last verb in past tense. */
|
|
15
16
|
export declare function getCompletionSummary(): string;
|
|
17
|
+
export { setPhase, setTurn, addTokens, resetProgress, getPhaseState, formatSessionSummary, type AgentPhase, } from './progress.js';
|
|
16
18
|
//# sourceMappingURL=spinner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../src/cli/spinner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"spinner.d.ts","sourceRoot":"","sources":["../../../src/cli/spinner.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoLH,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAkBrD;AAED,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAapD;AAED,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAUrD;AAED,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAUlD;AAED,wBAAgB,WAAW,IAAI,IAAI,CAMlC;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAIhD;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED,oFAAoF;AACpF,wBAAgB,oBAAoB,IAAI,MAAM,CAG7C;AAWD,OAAO,EACL,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,aAAa,EAC3C,aAAa,EAAE,oBAAoB,EACnC,KAAK,UAAU,GAChB,MAAM,eAAe,CAAA"}
|
package/dist/src/cli/spinner.js
CHANGED
|
@@ -2,12 +2,14 @@
|
|
|
2
2
|
* Spinner — loading/thinking indicators for the terminal.
|
|
3
3
|
*
|
|
4
4
|
* Picks a random whimsical verb, rotates every 2–3 s, shows elapsed time.
|
|
5
|
+
* Integrates with the progress tracker for structured phase transitions.
|
|
5
6
|
*/
|
|
6
7
|
import ora from 'ora';
|
|
7
8
|
import * as fs from 'fs';
|
|
8
9
|
import * as path from 'path';
|
|
9
10
|
import { parse as parseToml } from 'smol-toml';
|
|
10
11
|
import { PURPLE, GREEN, CYAN, DIM } from './theme.js';
|
|
12
|
+
import { setPhase, startToolExecution, endToolExecution, } from './progress.js';
|
|
11
13
|
// ---------------------------------------------------------------------------
|
|
12
14
|
// Default verb pool (150+)
|
|
13
15
|
// ---------------------------------------------------------------------------
|
|
@@ -140,6 +142,7 @@ let rotateTimer = null;
|
|
|
140
142
|
let startTime = 0;
|
|
141
143
|
let currentVerb = 'Thinking';
|
|
142
144
|
let elapsedTimer = null;
|
|
145
|
+
let lastToolName = '';
|
|
143
146
|
function pickVerb() {
|
|
144
147
|
loadVerbConfig();
|
|
145
148
|
return verbPool[Math.floor(Math.random() * verbPool.length)];
|
|
@@ -159,6 +162,7 @@ function rotateVerb() {
|
|
|
159
162
|
// ---------------------------------------------------------------------------
|
|
160
163
|
export function startThinking(_message) {
|
|
161
164
|
stopSpinner();
|
|
165
|
+
setPhase('thinking');
|
|
162
166
|
startTime = Date.now();
|
|
163
167
|
currentVerb = pickVerb();
|
|
164
168
|
activeSpinner = ora({
|
|
@@ -175,6 +179,8 @@ export function startThinking(_message) {
|
|
|
175
179
|
}
|
|
176
180
|
export function startToolExec(toolName) {
|
|
177
181
|
stopSpinner();
|
|
182
|
+
startToolExecution(toolName);
|
|
183
|
+
lastToolName = toolName;
|
|
178
184
|
activeSpinner = ora({
|
|
179
185
|
text: `${CYAN(toolName)} ${DIM('executing...')}`,
|
|
180
186
|
spinner: {
|
|
@@ -190,6 +196,10 @@ export function spinnerSuccess(message) {
|
|
|
190
196
|
activeSpinner.succeed(message ? GREEN(message) : undefined);
|
|
191
197
|
activeSpinner = null;
|
|
192
198
|
}
|
|
199
|
+
if (lastToolName) {
|
|
200
|
+
endToolExecution(lastToolName, 'success');
|
|
201
|
+
lastToolName = '';
|
|
202
|
+
}
|
|
193
203
|
clearTimers();
|
|
194
204
|
}
|
|
195
205
|
export function spinnerFail(message) {
|
|
@@ -197,6 +207,10 @@ export function spinnerFail(message) {
|
|
|
197
207
|
activeSpinner.fail(message);
|
|
198
208
|
activeSpinner = null;
|
|
199
209
|
}
|
|
210
|
+
if (lastToolName) {
|
|
211
|
+
endToolExecution(lastToolName, 'error');
|
|
212
|
+
lastToolName = '';
|
|
213
|
+
}
|
|
200
214
|
clearTimers();
|
|
201
215
|
}
|
|
202
216
|
export function stopSpinner() {
|
|
@@ -230,4 +244,8 @@ function clearTimers() {
|
|
|
230
244
|
elapsedTimer = null;
|
|
231
245
|
}
|
|
232
246
|
}
|
|
247
|
+
// ---------------------------------------------------------------------------
|
|
248
|
+
// Re-export progress tracker functions for convenience
|
|
249
|
+
// ---------------------------------------------------------------------------
|
|
250
|
+
export { setPhase, setTurn, addTokens, resetProgress, getPhaseState, formatSessionSummary, } from './progress.js';
|
|
233
251
|
//# sourceMappingURL=spinner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/cli/spinner.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"spinner.js","sourceRoot":"","sources":["../../../src/cli/spinner.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,5 +56,17 @@ export declare class AgentRunner {
|
|
|
56
56
|
/** Run the conversation and yield StreamEvents incrementally.
|
|
57
57
|
* Uses the adapter's stream() for real-time token-by-token output. */
|
|
58
58
|
stream(initialMessages: LLMMessage[], callbacks?: RunCallbacks): AsyncGenerator<StreamEvent>;
|
|
59
|
+
private retryAttempts;
|
|
60
|
+
private getProfile;
|
|
61
|
+
private buildRetryPolicy;
|
|
62
|
+
/**
|
|
63
|
+
* Validate pending tool calls and attempt repair on failures.
|
|
64
|
+
*
|
|
65
|
+
* Returns:
|
|
66
|
+
* - 'proceed': all calls are valid, use pendingToolUse as-is
|
|
67
|
+
* - 'retry': correction messages injected, caller should `continue` the loop
|
|
68
|
+
* - ToolUseBlock[]: repaired set of tool calls to execute
|
|
69
|
+
*/
|
|
70
|
+
private validateAndRepairToolCalls;
|
|
59
71
|
}
|
|
60
72
|
//# sourceMappingURL=agent-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../../src/core/agent-runner.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EACnD,UAAU,EAA+B,gBAAgB,
|
|
1
|
+
{"version":3,"file":"agent-runner.d.ts","sourceRoot":"","sources":["../../../src/core/agent-runner.ts"],"names":[],"mappings":"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"}
|