@defai.digital/ax-cli 3.1.3 → 3.1.5
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/.ax-cli/memory.json +4 -4
- package/config/models.yaml +1 -1
- package/dist/agent/context-manager.js +19 -8
- package/dist/agent/context-manager.js.map +1 -1
- package/dist/agent/llm-agent.d.ts +8 -0
- package/dist/agent/llm-agent.js +88 -54
- package/dist/agent/llm-agent.js.map +1 -1
- package/dist/agent/subagent-orchestrator.js +12 -0
- package/dist/agent/subagent-orchestrator.js.map +1 -1
- package/dist/agent/subagent.js +26 -1
- package/dist/agent/subagent.js.map +1 -1
- package/dist/commands/memory.js +5 -1
- package/dist/commands/memory.js.map +1 -1
- package/dist/constants.d.ts +12 -2
- package/dist/constants.js +15 -2
- package/dist/constants.js.map +1 -1
- package/dist/llm/types.js +5 -2
- package/dist/llm/types.js.map +1 -1
- package/dist/memory/context-injector.d.ts +15 -1
- package/dist/memory/context-injector.js +18 -1
- package/dist/memory/context-injector.js.map +1 -1
- package/dist/memory/context-store.d.ts +27 -0
- package/dist/memory/context-store.js +60 -6
- package/dist/memory/context-store.js.map +1 -1
- package/dist/schemas/tool-schemas.d.ts +2 -2
- package/dist/tools/search.js +39 -16
- package/dist/tools/search.js.map +1 -1
- package/dist/ui/components/chat-history.js +54 -21
- package/dist/ui/components/chat-history.js.map +1 -1
- package/dist/ui/components/chat-input.js +12 -5
- package/dist/ui/components/chat-input.js.map +1 -1
- package/dist/ui/components/command-suggestions.d.ts +12 -0
- package/dist/ui/components/command-suggestions.js +68 -3
- package/dist/ui/components/command-suggestions.js.map +1 -1
- package/dist/ui/components/confirmation-dialog.js +8 -2
- package/dist/ui/components/confirmation-dialog.js.map +1 -1
- package/dist/ui/components/loading-spinner.js +12 -3
- package/dist/ui/components/loading-spinner.js.map +1 -1
- package/dist/ui/components/reasoning-display.d.ts +8 -1
- package/dist/ui/components/reasoning-display.js +14 -8
- package/dist/ui/components/reasoning-display.js.map +1 -1
- package/dist/ui/components/status-bar.d.ts +4 -1
- package/dist/ui/components/status-bar.js +65 -4
- package/dist/ui/components/status-bar.js.map +1 -1
- package/dist/ui/components/subagent-monitor.d.ts +8 -0
- package/dist/ui/components/subagent-monitor.js +36 -50
- package/dist/ui/components/subagent-monitor.js.map +1 -1
- package/dist/ui/components/virtualized-chat-history.js +10 -10
- package/dist/ui/components/virtualized-chat-history.js.map +1 -1
- package/dist/ui/components/welcome-panel.d.ts +1 -1
- package/dist/ui/components/welcome-panel.js +2 -4
- package/dist/ui/components/welcome-panel.js.map +1 -1
- package/dist/utils/error-handler.d.ts +8 -1
- package/dist/utils/error-handler.js +61 -1
- package/dist/utils/error-handler.js.map +1 -1
- package/dist/utils/token-counter.d.ts +6 -0
- package/dist/utils/token-counter.js +24 -1
- package/dist/utils/token-counter.js.map +1 -1
- package/package.json +1 -1
|
@@ -30,11 +30,12 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
30
30
|
switch (entry.type) {
|
|
31
31
|
case "user":
|
|
32
32
|
return (React.createElement(Box, { key: index, flexDirection: "column", marginTop: 1 },
|
|
33
|
+
index > 0 && (React.createElement(Box, { borderStyle: "single", borderColor: "gray", borderTop: false, borderLeft: false, borderRight: false, marginBottom: 1 })),
|
|
33
34
|
React.createElement(Box, null,
|
|
34
35
|
React.createElement(Text, { color: "gray" },
|
|
35
36
|
">",
|
|
36
37
|
" ",
|
|
37
|
-
entry.content))));
|
|
38
|
+
entry.content ?? ""))));
|
|
38
39
|
case "assistant":
|
|
39
40
|
return (React.createElement(Box, { key: index, flexDirection: "column", marginTop: 1 },
|
|
40
41
|
entry.reasoningContent && (React.createElement(ReasoningDisplay, { content: entry.reasoningContent, visible: true, isStreaming: entry.isReasoningStreaming })),
|
|
@@ -43,11 +44,11 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
43
44
|
React.createElement(Box, { flexDirection: "column", flexGrow: 1 },
|
|
44
45
|
entry.toolCalls ? (
|
|
45
46
|
// If there are tool calls, just show plain text
|
|
46
|
-
React.createElement(Text, { color: "white" }, entry.content
|
|
47
|
+
React.createElement(Text, { color: "white" }, entry.content?.trim() ?? "")) : (
|
|
47
48
|
// If no tool calls, render as markdown
|
|
48
|
-
React.createElement(MarkdownRenderer, { content: entry.content
|
|
49
|
+
React.createElement(MarkdownRenderer, { content: entry.content?.trim() ?? "" })),
|
|
49
50
|
entry.isStreaming && React.createElement(Text, { color: "cyan" }, "\u2588"),
|
|
50
|
-
!entry.isStreaming && entry.durationMs && (React.createElement(Text, { color: "gray"
|
|
51
|
+
!entry.isStreaming && entry.durationMs && (React.createElement(Text, { color: "gray" },
|
|
51
52
|
"\u23F1 ",
|
|
52
53
|
entry.durationMs >= 1000
|
|
53
54
|
? `${(entry.durationMs / 1000).toFixed(1)}s`
|
|
@@ -116,6 +117,7 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
116
117
|
return "";
|
|
117
118
|
};
|
|
118
119
|
// Get a brief summary of the result for concise mode
|
|
120
|
+
// Phase 3: Enhanced with more contextual feedback
|
|
119
121
|
const getBriefSummary = (content, toolName) => {
|
|
120
122
|
if (!content)
|
|
121
123
|
return "";
|
|
@@ -123,7 +125,14 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
123
125
|
const lineCount = content.split("\n").length;
|
|
124
126
|
switch (toolName) {
|
|
125
127
|
case "view_file":
|
|
126
|
-
|
|
128
|
+
// More descriptive for files
|
|
129
|
+
if (lineCount === 1)
|
|
130
|
+
return "1 line read";
|
|
131
|
+
if (lineCount < 10)
|
|
132
|
+
return `${lineCount} lines read`;
|
|
133
|
+
if (lineCount < 100)
|
|
134
|
+
return `${lineCount} lines read`;
|
|
135
|
+
return `${lineCount} lines (large file)`;
|
|
127
136
|
case "create_file":
|
|
128
137
|
return `${lineCount} lines written`;
|
|
129
138
|
case "str_replace_editor":
|
|
@@ -132,10 +141,27 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
132
141
|
if (firstLine.includes("Updated")) {
|
|
133
142
|
return firstLine.replace(/^Updated\s+/, "").trim();
|
|
134
143
|
}
|
|
144
|
+
// Count replacements for better feedback
|
|
145
|
+
const replacements = (content.match(/replaced/gi) || []).length;
|
|
146
|
+
if (replacements > 0)
|
|
147
|
+
return `${replacements} change${replacements > 1 ? 's' : ''}`;
|
|
135
148
|
return "updated";
|
|
136
149
|
case "bash":
|
|
137
150
|
if (content.includes("Background task started")) {
|
|
138
|
-
return "→ background";
|
|
151
|
+
return "→ background task started";
|
|
152
|
+
}
|
|
153
|
+
// Detect common command patterns for better feedback
|
|
154
|
+
if (content.includes("npm install") || content.includes("npm i ")) {
|
|
155
|
+
return "packages installed";
|
|
156
|
+
}
|
|
157
|
+
if (content.includes("git commit")) {
|
|
158
|
+
return "committed";
|
|
159
|
+
}
|
|
160
|
+
if (content.includes("git push")) {
|
|
161
|
+
return "pushed";
|
|
162
|
+
}
|
|
163
|
+
if (content.includes("Test passed") || content.includes("✓")) {
|
|
164
|
+
return "tests passed";
|
|
139
165
|
}
|
|
140
166
|
if (lineCount <= 1) {
|
|
141
167
|
// Short output, show it
|
|
@@ -143,11 +169,18 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
143
169
|
}
|
|
144
170
|
return `${lineCount} lines output`;
|
|
145
171
|
case "search":
|
|
146
|
-
// Try to count matches
|
|
147
|
-
const matches = content.match(/Found \d+ match/);
|
|
148
|
-
if (matches)
|
|
149
|
-
|
|
150
|
-
|
|
172
|
+
// Try to count matches with better formatting
|
|
173
|
+
const matches = content.match(/Found (\d+) match/);
|
|
174
|
+
if (matches) {
|
|
175
|
+
const count = parseInt(matches[1]);
|
|
176
|
+
return `${count} match${count !== 1 ? 'es' : ''} found`;
|
|
177
|
+
}
|
|
178
|
+
return `${lineCount} result${lineCount !== 1 ? 's' : ''}`;
|
|
179
|
+
case "create_todo_list":
|
|
180
|
+
case "update_todo_list":
|
|
181
|
+
// Count todos for better feedback
|
|
182
|
+
const todos = (content.match(/\[.*?\]/g) || []).length;
|
|
183
|
+
return `${todos} task${todos !== 1 ? 's' : ''}`;
|
|
151
184
|
default:
|
|
152
185
|
if (lineCount <= 1 && content.length < 60) {
|
|
153
186
|
return content.trim();
|
|
@@ -159,15 +192,15 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
159
192
|
const toolArgs = getToolArguments(entry.toolCall);
|
|
160
193
|
const isExecuting = entry.type === "tool_call" || !entry.toolResult;
|
|
161
194
|
const isSuccess = entry.toolResult?.success ?? true;
|
|
162
|
-
const briefSummary = !isExecuting ? getBriefSummary(entry.content, toolName) : "";
|
|
195
|
+
const briefSummary = !isExecuting ? getBriefSummary(entry.content ?? "", toolName) : "";
|
|
163
196
|
// Auto-verbose for errors: always show full details when a tool fails
|
|
164
197
|
// This helps users debug without needing to toggle verbose mode
|
|
165
198
|
const effectiveVerbose = verboseMode || (!isExecuting && !isSuccess);
|
|
166
199
|
const shouldShowDiff = effectiveVerbose &&
|
|
167
200
|
entry.toolCall?.function?.name === "str_replace_editor" &&
|
|
168
201
|
entry.toolResult?.success &&
|
|
169
|
-
entry.content
|
|
170
|
-
entry.content
|
|
202
|
+
entry.content?.includes("---") &&
|
|
203
|
+
entry.content?.includes("+++");
|
|
171
204
|
const shouldShowFileContent = effectiveVerbose &&
|
|
172
205
|
(entry.toolCall?.function?.name === "view_file" ||
|
|
173
206
|
entry.toolCall?.function?.name === "create_file") &&
|
|
@@ -216,7 +249,7 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
216
249
|
!isExecuting && entry.executionDurationMs !== undefined && (React.createElement(Text, { color: "yellow" },
|
|
217
250
|
" ",
|
|
218
251
|
formatDuration(entry.executionDurationMs))),
|
|
219
|
-
entry.toolCall?.id && (React.createElement(Text, { color: "gray"
|
|
252
|
+
entry.toolCall?.id && (React.createElement(Text, { color: "gray" },
|
|
220
253
|
" [",
|
|
221
254
|
entry.toolCall.id.slice(0, 8),
|
|
222
255
|
"]")),
|
|
@@ -224,21 +257,21 @@ const MemoizedChatEntry = React.memo(({ entry, index, verboseMode = false }) =>
|
|
|
224
257
|
" ",
|
|
225
258
|
isSuccess ? "✓" : "✗"))),
|
|
226
259
|
toolArgs && (React.createElement(Box, { marginLeft: 2, flexDirection: "column" },
|
|
227
|
-
React.createElement(Text, { color: "blue"
|
|
260
|
+
React.createElement(Text, { color: "blue" },
|
|
228
261
|
"Args: ",
|
|
229
262
|
toolArgs.length > 100 ? toolArgs.slice(0, 100) + "..." : toolArgs))),
|
|
230
263
|
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, isExecuting ? (React.createElement(Text, { color: "cyan" }, "\u23BF Executing...")) : shouldShowFileContent ? (React.createElement(Box, { flexDirection: "column" },
|
|
231
264
|
React.createElement(Text, { color: "gray" },
|
|
232
265
|
"\u23BF File contents (",
|
|
233
|
-
entry.content.split("\n").length,
|
|
266
|
+
(entry.content ?? "").split("\n").length,
|
|
234
267
|
" lines):"),
|
|
235
|
-
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, renderFileContent(entry.content)))) : shouldShowDiff ? (React.createElement(Box, { flexDirection: "column" },
|
|
268
|
+
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, renderFileContent(entry.content ?? "")))) : shouldShowDiff ? (React.createElement(Box, { flexDirection: "column" },
|
|
236
269
|
React.createElement(Text, { color: "gray" },
|
|
237
270
|
"\u23BF ",
|
|
238
|
-
entry.content.split("\n")[0]),
|
|
239
|
-
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, renderDiff(entry.content, filePath)))) : shouldShowFullOutput ? (React.createElement(Text, { color: "gray" },
|
|
271
|
+
(entry.content ?? "").split("\n")[0]),
|
|
272
|
+
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, renderDiff(entry.content ?? "", filePath)))) : shouldShowFullOutput ? (React.createElement(Text, { color: "gray" },
|
|
240
273
|
"\u23BF ",
|
|
241
|
-
entry.content)) : null)));
|
|
274
|
+
entry.content ?? "")) : null)));
|
|
242
275
|
default:
|
|
243
276
|
return null;
|
|
244
277
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../src/ui/components/chat-history.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../src/ui/components/chat-history.tsx"],"names":[],"mappings":"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"}
|
|
@@ -53,8 +53,15 @@ export function ChatInput({ input, cursorPosition, isProcessing, isStreaming, })
|
|
|
53
53
|
// Single line input box
|
|
54
54
|
const cursorChar = input.slice(cursorPosition, cursorPosition + 1) || " ";
|
|
55
55
|
const afterCursorText = input.slice(cursorPosition + 1);
|
|
56
|
-
//
|
|
57
|
-
const
|
|
56
|
+
// Always show character count with color coding for length warnings
|
|
57
|
+
const charCount = input.length;
|
|
58
|
+
const getCharCountColor = () => {
|
|
59
|
+
if (charCount >= 2000)
|
|
60
|
+
return "red"; // Over limit
|
|
61
|
+
if (charCount >= 1000)
|
|
62
|
+
return "yellow"; // Warning
|
|
63
|
+
return "gray"; // Normal
|
|
64
|
+
};
|
|
58
65
|
return (React.createElement(Box, { borderStyle: "round", borderColor: borderColor, paddingX: 1, paddingY: 0, marginTop: 1, justifyContent: "space-between" },
|
|
59
66
|
React.createElement(Box, { flexGrow: 1 },
|
|
60
67
|
React.createElement(Text, { color: promptColor }, "\u276F "),
|
|
@@ -65,10 +72,10 @@ export function ChatInput({ input, cursorPosition, isProcessing, isStreaming, })
|
|
|
65
72
|
showCursor && (React.createElement(Text, { backgroundColor: "white", color: "black" }, cursorChar)),
|
|
66
73
|
!showCursor && cursorChar !== " " && cursorChar,
|
|
67
74
|
afterCursorText))),
|
|
68
|
-
|
|
69
|
-
React.createElement(Text, { color:
|
|
75
|
+
charCount > 0 && !isProcessing && !isStreaming && (React.createElement(Box, { marginLeft: 1 },
|
|
76
|
+
React.createElement(Text, { color: getCharCountColor() },
|
|
70
77
|
"[",
|
|
71
|
-
|
|
78
|
+
charCount,
|
|
72
79
|
"]")))));
|
|
73
80
|
}
|
|
74
81
|
//# sourceMappingURL=chat-input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-input.js","sourceRoot":"","sources":["../../../src/ui/components/chat-input.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"chat-input.js","sourceRoot":"","sources":["../../../src/ui/components/chat-input.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,18 @@ interface CommandSuggestion {
|
|
|
3
3
|
command: string;
|
|
4
4
|
description: string;
|
|
5
5
|
}
|
|
6
|
+
/**
|
|
7
|
+
* Track command usage for ranking
|
|
8
|
+
*/
|
|
9
|
+
export declare function trackCommandUsage(command: string): void;
|
|
10
|
+
/**
|
|
11
|
+
* Get usage count for a command (for testing)
|
|
12
|
+
*/
|
|
13
|
+
export declare function getCommandUsageCount(command: string): number;
|
|
14
|
+
/**
|
|
15
|
+
* Reset usage tracking (for testing)
|
|
16
|
+
*/
|
|
17
|
+
export declare function resetCommandUsageTracking(): void;
|
|
6
18
|
interface CommandSuggestionsProps {
|
|
7
19
|
suggestions: CommandSuggestion[];
|
|
8
20
|
input: string;
|
|
@@ -1,11 +1,76 @@
|
|
|
1
1
|
import React, { useMemo } from "react";
|
|
2
2
|
import { Box, Text } from "ink";
|
|
3
|
-
|
|
3
|
+
// Simple in-memory command usage tracking (session-based)
|
|
4
|
+
const commandUsageCount = new Map();
|
|
5
|
+
/**
|
|
6
|
+
* Track command usage for ranking
|
|
7
|
+
*/
|
|
8
|
+
export function trackCommandUsage(command) {
|
|
9
|
+
const currentCount = commandUsageCount.get(command) || 0;
|
|
10
|
+
commandUsageCount.set(command, currentCount + 1);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Get usage count for a command (for testing)
|
|
14
|
+
*/
|
|
15
|
+
export function getCommandUsageCount(command) {
|
|
16
|
+
return commandUsageCount.get(command) || 0;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Reset usage tracking (for testing)
|
|
20
|
+
*/
|
|
21
|
+
export function resetCommandUsageTracking() {
|
|
22
|
+
commandUsageCount.clear();
|
|
23
|
+
}
|
|
4
24
|
export const MAX_SUGGESTIONS = 8;
|
|
25
|
+
/**
|
|
26
|
+
* Fuzzy match scoring algorithm with usage-based ranking
|
|
27
|
+
* Returns score (higher is better) and whether it matches
|
|
28
|
+
*/
|
|
29
|
+
function fuzzyMatch(str, pattern) {
|
|
30
|
+
const strLower = str.toLowerCase();
|
|
31
|
+
const patternLower = pattern.toLowerCase();
|
|
32
|
+
// Get usage bonus (frequently used commands get boosted)
|
|
33
|
+
const usageCount = commandUsageCount.get(str) || 0;
|
|
34
|
+
const usageBonus = usageCount * 50; // 50 points per use
|
|
35
|
+
// Exact prefix match gets highest score
|
|
36
|
+
if (strLower.startsWith(patternLower)) {
|
|
37
|
+
return { score: 1000 + (100 - pattern.length) + usageBonus, matches: true };
|
|
38
|
+
}
|
|
39
|
+
// Fuzzy matching: check if all pattern chars appear in order
|
|
40
|
+
let patternIdx = 0;
|
|
41
|
+
let score = 0;
|
|
42
|
+
let consecutiveMatches = 0;
|
|
43
|
+
for (let i = 0; i < strLower.length && patternIdx < patternLower.length; i++) {
|
|
44
|
+
if (strLower[i] === patternLower[patternIdx]) {
|
|
45
|
+
// Bonus for consecutive matches
|
|
46
|
+
consecutiveMatches++;
|
|
47
|
+
score += 10 + consecutiveMatches * 2;
|
|
48
|
+
patternIdx++;
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
consecutiveMatches = 0;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// All pattern characters must be found
|
|
55
|
+
if (patternIdx === patternLower.length) {
|
|
56
|
+
return { score: score + usageBonus, matches: true };
|
|
57
|
+
}
|
|
58
|
+
return { score: 0, matches: false };
|
|
59
|
+
}
|
|
5
60
|
export function filterCommandSuggestions(suggestions, input) {
|
|
6
|
-
|
|
7
|
-
.
|
|
61
|
+
if (!input) {
|
|
62
|
+
return suggestions.slice(0, MAX_SUGGESTIONS);
|
|
63
|
+
}
|
|
64
|
+
// Score and filter all suggestions
|
|
65
|
+
const scored = suggestions
|
|
66
|
+
.map(s => {
|
|
67
|
+
const result = fuzzyMatch(s.command, input);
|
|
68
|
+
return { suggestion: s, score: result.score, matches: result.matches };
|
|
69
|
+
})
|
|
70
|
+
.filter(item => item.matches)
|
|
71
|
+
.sort((a, b) => b.score - a.score) // Highest score first
|
|
8
72
|
.slice(0, MAX_SUGGESTIONS);
|
|
73
|
+
return scored.map(item => item.suggestion);
|
|
9
74
|
}
|
|
10
75
|
export function CommandSuggestions({ suggestions, input, selectedIndex, isVisible, }) {
|
|
11
76
|
// useMemo must be called unconditionally (React hooks rule)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command-suggestions.js","sourceRoot":"","sources":["../../../src/ui/components/command-suggestions.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"command-suggestions.js","sourceRoot":"","sources":["../../../src/ui/components/command-suggestions.tsx"],"names":[],"mappings":"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"}
|
|
@@ -78,8 +78,14 @@ export default function ConfirmationDialog({ operation, filename, onConfirm, onR
|
|
|
78
78
|
React.createElement(Text, { color: "gray" },
|
|
79
79
|
"\u23BF ",
|
|
80
80
|
content.split('\n')[0]),
|
|
81
|
-
React.createElement(Box, { marginLeft: 4, flexDirection: "column" },
|
|
82
|
-
|
|
81
|
+
React.createElement(Box, { marginLeft: 4, flexDirection: "column" }, (() => {
|
|
82
|
+
const lines = content.split('\n');
|
|
83
|
+
const MAX_PREVIEW_LINES = 10;
|
|
84
|
+
const limitedContent = lines.length > MAX_PREVIEW_LINES
|
|
85
|
+
? lines.slice(0, MAX_PREVIEW_LINES).join('\n') + `\n... (${lines.length - MAX_PREVIEW_LINES} more lines)`
|
|
86
|
+
: content;
|
|
87
|
+
return (React.createElement(DiffRenderer, { diffContent: limitedContent, filename: filename, terminalWidth: 80 }));
|
|
88
|
+
})())))),
|
|
83
89
|
React.createElement(Box, { flexDirection: "column", marginTop: 1 },
|
|
84
90
|
React.createElement(Box, { marginBottom: 1 },
|
|
85
91
|
React.createElement(Text, null, "Do you want to proceed with this operation?")),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmation-dialog.js","sourceRoot":"","sources":["../../../src/ui/components/confirmation-dialog.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"confirmation-dialog.js","sourceRoot":"","sources":["../../../src/ui/components/confirmation-dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -51,6 +51,9 @@ export function LoadingSpinner({ isActive, processingTime, tokenCount, currentAc
|
|
|
51
51
|
const [loadingTextIndex, setLoadingTextIndex] = useState(0);
|
|
52
52
|
// Get the appropriate loading texts for current action
|
|
53
53
|
const loadingTexts = loadingTextsByAction[currentAction] || defaultLoadingTexts;
|
|
54
|
+
// Phase 3: Determine if this is a long-running operation
|
|
55
|
+
const isLongRunning = processingTime > 10; // More than 10 seconds
|
|
56
|
+
const isVeryLong = processingTime > 30; // More than 30 seconds
|
|
54
57
|
useEffect(() => {
|
|
55
58
|
if (!isActive)
|
|
56
59
|
return;
|
|
@@ -92,9 +95,10 @@ export function LoadingSpinner({ isActive, processingTime, tokenCount, currentAc
|
|
|
92
95
|
React.createElement(Text, { color: "cyan" },
|
|
93
96
|
" ",
|
|
94
97
|
loadingTexts[loadingTextIndex % loadingTexts.length] || loadingTexts[0],
|
|
95
|
-
" ")
|
|
98
|
+
" "),
|
|
99
|
+
isVeryLong && (React.createElement(Text, { color: "yellow", bold: true }, " (taking longer than usual)"))),
|
|
96
100
|
React.createElement(Box, { marginLeft: 2 },
|
|
97
|
-
React.createElement(Text, { color: "gray", dimColor:
|
|
101
|
+
React.createElement(Text, { color: isLongRunning ? "yellow" : "gray", dimColor: !isLongRunning },
|
|
98
102
|
formatTime(processingTime),
|
|
99
103
|
" elapsed"),
|
|
100
104
|
tokenCount > 0 && (React.createElement(Text, { color: "gray", dimColor: true },
|
|
@@ -106,6 +110,11 @@ export function LoadingSpinner({ isActive, processingTime, tokenCount, currentAc
|
|
|
106
110
|
" ",
|
|
107
111
|
"\u2022 ",
|
|
108
112
|
React.createElement(Text, { color: "yellow" }, "esc"),
|
|
109
|
-
" to interrupt"))
|
|
113
|
+
" to interrupt")),
|
|
114
|
+
isVeryLong && (React.createElement(Box, { marginLeft: 2, marginTop: 1 },
|
|
115
|
+
React.createElement(Text, { color: "yellow" },
|
|
116
|
+
"\uD83D\uDCA1 Complex task - this may take a while. You can press ",
|
|
117
|
+
React.createElement(Text, { bold: true }, "esc"),
|
|
118
|
+
" to interrupt.")))));
|
|
110
119
|
}
|
|
111
120
|
//# sourceMappingURL=loading-spinner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loading-spinner.js","sourceRoot":"","sources":["../../../src/ui/components/loading-spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAShE,sDAAsD;AACtD,MAAM,oBAAoB,GAAG;IAC3B,QAAQ,EAAE;QACR,aAAa;QACb,cAAc;QACd,cAAc;QACd,gBAAgB;QAChB,eAAe;KAChB;IACD,SAAS,EAAE;QACT,uBAAuB;QACvB,mBAAmB;QACnB,oBAAoB;QACpB,yBAAyB;KAC1B;IACD,OAAO,EAAE;QACP,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB;QAClB,mBAAmB;KACpB;IACD,SAAS,EAAE;QACT,oBAAoB;QACpB,cAAc;QACd,uBAAuB;QACvB,YAAY;KACb;IACD,OAAO,EAAE;QACP,iBAAiB;QACjB,oBAAoB;QACpB,kBAAkB;KACnB;IACD,OAAO,EAAE;QACP,iBAAiB;QACjB,mBAAmB;QACnB,kBAAkB;KACnB;CACF,CAAC;AAEF,2CAA2C;AAC3C,MAAM,mBAAmB,GAAG;IAC1B,aAAa;IACb,eAAe;IACf,cAAc;IACd,YAAY;CACb,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAC7B,QAAQ,EACR,cAAc,EACd,UAAU,EACV,aAAa,GAAG,UAAU,GACN;IACpB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE5D,uDAAuD;IACvD,MAAM,YAAY,GAAG,oBAAoB,CAAC,aAAa,CAAC,IAAI,mBAAmB,CAAC;IAEhF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACzE,qCAAqC;QACrC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAC/D,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,QAAQ;YAAE,OAAO;QAEtB,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;QAErE,kCAAkC;QAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAChC,mBAAmB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAClE,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IAEpC,+CAA+C;IAC/C,SAAS,CAAC,GAAG,EAAE;QACb,mBAAmB,CAAC,CAAC,CAAC,CAAC;IACzB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC;IAEpB,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE3B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAEzE,sBAAsB;IACtB,MAAM,UAAU,GAAG,CAAC,OAAe,EAAE,EAAE;QACrC,IAAI,OAAO,GAAG,EAAE;YAAE,OAAO,GAAG,OAAO,GAAG,CAAC;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,OAAO,GAAG,EAAE,CAAC;QAC1B,OAAO,GAAG,IAAI,KAAK,IAAI,GAAG,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,GAAG,IAAC,SAAS,EAAE,CAAC,EAAE,aAAa,EAAC,QAAQ;QACvC,oBAAC,GAAG;YACF,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,UACpB,aAAa,CAAC,YAAY,CAAC,CACvB;YACP,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;;gBAAG,YAAY,CAAC,gBAAgB,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC;oBAAS,
|
|
1
|
+
{"version":3,"file":"loading-spinner.js","sourceRoot":"","sources":["../../../src/ui/components/loading-spinner.tsx"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,11 @@ export interface ReasoningDisplayProps {
|
|
|
14
14
|
* @default false
|
|
15
15
|
*/
|
|
16
16
|
isStreaming?: boolean;
|
|
17
|
+
/**
|
|
18
|
+
* Whether to start collapsed
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
21
|
+
defaultCollapsed?: boolean;
|
|
17
22
|
}
|
|
18
23
|
/**
|
|
19
24
|
* ReasoningDisplay Component
|
|
@@ -22,8 +27,10 @@ export interface ReasoningDisplayProps {
|
|
|
22
27
|
* separation from the final answer.
|
|
23
28
|
*
|
|
24
29
|
* Features:
|
|
30
|
+
* - Collapsible to reduce clutter
|
|
25
31
|
* - Visual distinction with dimmed styling
|
|
26
32
|
* - Streaming support with indicator
|
|
33
|
+
* - Word count estimate
|
|
27
34
|
* - Clear separation from final answer
|
|
28
35
|
*/
|
|
29
|
-
export declare function ReasoningDisplay({ content, visible, isStreaming, }: ReasoningDisplayProps): React.JSX.Element | null;
|
|
36
|
+
export declare function ReasoningDisplay({ content, visible, isStreaming, defaultCollapsed, }: ReasoningDisplayProps): React.JSX.Element | null;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { useState } from "react";
|
|
2
2
|
import { Box, Text } from "ink";
|
|
3
3
|
/**
|
|
4
4
|
* ReasoningDisplay Component
|
|
@@ -7,21 +7,27 @@ import { Box, Text } from "ink";
|
|
|
7
7
|
* separation from the final answer.
|
|
8
8
|
*
|
|
9
9
|
* Features:
|
|
10
|
+
* - Collapsible to reduce clutter
|
|
10
11
|
* - Visual distinction with dimmed styling
|
|
11
12
|
* - Streaming support with indicator
|
|
13
|
+
* - Word count estimate
|
|
12
14
|
* - Clear separation from final answer
|
|
13
15
|
*/
|
|
14
|
-
export function ReasoningDisplay({ content, visible = true, isStreaming = false, }) {
|
|
16
|
+
export function ReasoningDisplay({ content, visible = true, isStreaming = false, defaultCollapsed = false, }) {
|
|
17
|
+
const [collapsed] = useState(defaultCollapsed);
|
|
15
18
|
// Don't render if not visible or no content
|
|
16
19
|
if (!visible || !content || content.trim().length === 0) {
|
|
17
20
|
return null;
|
|
18
21
|
}
|
|
22
|
+
// Estimate word count
|
|
23
|
+
const wordCount = content.trim().split(/\s+/).length;
|
|
19
24
|
return (React.createElement(Box, { flexDirection: "column", marginBottom: 1, paddingLeft: 2, borderStyle: "single", borderColor: "gray" },
|
|
20
|
-
React.createElement(Box, { flexDirection: "row", marginBottom: 0 },
|
|
21
|
-
React.createElement(Text, { color: "cyan"
|
|
22
|
-
"\uD83D\uDCAD Thinking",
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
React.createElement(Box, { flexDirection: "row", marginBottom: collapsed ? 0 : 0 },
|
|
26
|
+
React.createElement(Text, { color: "cyan" },
|
|
27
|
+
"\uD83D\uDCAD Thinking ",
|
|
28
|
+
collapsed ? "▸" : "▾",
|
|
29
|
+
isStreaming ? "..." : ` (${wordCount} words)`)),
|
|
30
|
+
!collapsed && (React.createElement(Box, { flexDirection: "column", paddingLeft: 1 },
|
|
31
|
+
React.createElement(Text, { color: "white", dimColor: true, italic: true }, content)))));
|
|
26
32
|
}
|
|
27
33
|
//# sourceMappingURL=reasoning-display.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoning-display.js","sourceRoot":"","sources":["../../../src/ui/components/reasoning-display.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"reasoning-display.js","sourceRoot":"","sources":["../../../src/ui/components/reasoning-display.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAwBhC;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAC/B,OAAO,EACP,OAAO,GAAG,IAAI,EACd,WAAW,GAAG,KAAK,EACnB,gBAAgB,GAAG,KAAK,GACF;IACtB,MAAM,CAAC,SAAS,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAE/C,4CAA4C;IAC5C,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sBAAsB;IACtB,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;IAErD,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAC,MAAM;QAClG,oBAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtD,oBAAC,IAAI,IAAC,KAAK,EAAC,MAAM;;gBACH,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;gBACjC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,SAAS,CACzC,CACH;QACL,CAAC,SAAS,IAAI,CACb,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC;YACxC,oBAAC,IAAI,IAAC,KAAK,EAAC,OAAO,EAAC,QAAQ,QAAC,MAAM,UAChC,OAAO,CACH,CACH,CACP,CACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -17,9 +17,12 @@ interface StatusBarProps {
|
|
|
17
17
|
isProcessing?: boolean;
|
|
18
18
|
processingTime?: number;
|
|
19
19
|
tokenCount?: number;
|
|
20
|
+
terminalWidth?: number;
|
|
21
|
+
currentTokens?: number;
|
|
22
|
+
maxTokens?: number;
|
|
20
23
|
flashAutoEdit?: boolean;
|
|
21
24
|
flashVerbose?: boolean;
|
|
22
25
|
flashBackground?: boolean;
|
|
23
26
|
}
|
|
24
|
-
export declare function StatusBar(
|
|
27
|
+
export declare function StatusBar(props: StatusBarProps): React.JSX.Element;
|
|
25
28
|
export default StatusBar;
|