@zds-ai/cli 0.1.2 → 0.1.4
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/README.md +94 -42
- package/dist/agent/grok-agent.d.ts +19 -5
- package/dist/agent/grok-agent.js +256 -207
- package/dist/agent/grok-agent.js.map +1 -1
- package/dist/bin/generate_image_sd.sh +252 -0
- package/dist/bin/read_xlsx.py +308 -0
- package/dist/grok/client.d.ts +7 -0
- package/dist/grok/client.js +88 -7
- package/dist/grok/client.js.map +1 -1
- package/dist/grok/tools.js +12 -0
- package/dist/grok/tools.js.map +1 -1
- package/dist/hooks/use-input-handler.d.ts +2 -0
- package/dist/hooks/use-input-handler.js +76 -48
- package/dist/hooks/use-input-handler.js.map +1 -1
- package/dist/index.js +144 -21
- package/dist/index.js.map +1 -1
- package/dist/mcp/client.js +3 -4
- package/dist/mcp/client.js.map +1 -1
- package/dist/tools/file-conversion-tool.js +2 -2
- package/dist/tools/file-conversion-tool.js.map +1 -1
- package/dist/tools/image-tool.d.ts +8 -2
- package/dist/tools/image-tool.js +65 -6
- package/dist/tools/image-tool.js.map +1 -1
- package/dist/tools/search.d.ts +1 -1
- package/dist/tools/search.js +41 -53
- package/dist/tools/search.js.map +1 -1
- package/dist/ui/components/chat-history.js +25 -12
- package/dist/ui/components/chat-history.js.map +1 -1
- package/dist/ui/components/chat-interface.js +16 -9
- package/dist/ui/components/chat-interface.js.map +1 -1
- package/dist/ui/components/rephrase-menu.d.ts +8 -0
- package/dist/ui/components/rephrase-menu.js +25 -0
- package/dist/ui/components/rephrase-menu.js.map +1 -0
- package/dist/utils/chat-history-manager.js +16 -6
- package/dist/utils/chat-history-manager.js.map +1 -1
- package/dist/utils/content-utils.d.ts +5 -0
- package/dist/utils/content-utils.js +15 -0
- package/dist/utils/content-utils.js.map +1 -0
- package/dist/utils/image-encoder.d.ts +35 -0
- package/dist/utils/image-encoder.js +133 -0
- package/dist/utils/image-encoder.js.map +1 -0
- package/dist/utils/rephrase-handler.d.ts +15 -0
- package/dist/utils/rephrase-handler.js +106 -0
- package/dist/utils/rephrase-handler.js.map +1 -0
- package/dist/utils/slash-commands.js +1 -23
- package/dist/utils/slash-commands.js.map +1 -1
- package/dist/utils/token-counter.js +17 -2
- package/dist/utils/token-counter.js.map +1 -1
- package/package.json +9 -6
package/dist/tools/image-tool.js
CHANGED
|
@@ -2,6 +2,7 @@ import { exec } from "child_process";
|
|
|
2
2
|
import { promisify } from "util";
|
|
3
3
|
import { getHandledToolNames } from "./tool-discovery.js";
|
|
4
4
|
const execAsync = promisify(exec);
|
|
5
|
+
const DEFAULT_NEGATIVE_PROMPT = "score_6, score_5, score_4, (worst quality:1.2), (low quality:1.2), (normal quality:1.2), lowres, bad anatomy, bad hands, signature, watermarks, ugly, imperfect eyes, skewed eyes, unnatural face, unnatural body, error, extra limb, missing limbs";
|
|
5
6
|
export class ImageTool {
|
|
6
7
|
agent; // Reference to the GrokAgent
|
|
7
8
|
setAgent(agent) {
|
|
@@ -12,7 +13,7 @@ export class ImageTool {
|
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* Generate an image using AI image generation.
|
|
15
|
-
* Uses
|
|
16
|
+
* Uses generate_image_sd.sh script with Stable Diffusion.
|
|
16
17
|
*/
|
|
17
18
|
async generateImage(prompt, negativePrompt, width, height, model, sampler, configScale, numSteps, nsfw, name, move, seed) {
|
|
18
19
|
try {
|
|
@@ -52,7 +53,7 @@ export class ImageTool {
|
|
|
52
53
|
};
|
|
53
54
|
}
|
|
54
55
|
// Set defaults
|
|
55
|
-
const defaultNegativePrompt =
|
|
56
|
+
const defaultNegativePrompt = DEFAULT_NEGATIVE_PROMPT;
|
|
56
57
|
const finalModel = model || "cyberrealisticPony_v130";
|
|
57
58
|
const finalWidth = Math.floor(width || 480);
|
|
58
59
|
const finalHeight = Math.floor(height || 720);
|
|
@@ -87,8 +88,8 @@ export class ImageTool {
|
|
|
87
88
|
// Escape prompts for shell
|
|
88
89
|
const escapedPrompt = finalPrompt.replace(/'/g, "'\\''");
|
|
89
90
|
const escapedNegativePrompt = finalNegativePromptWithNsfw.replace(/'/g, "'\\''");
|
|
90
|
-
// Build command using
|
|
91
|
-
let command = `
|
|
91
|
+
// Build command using generate_image_sd.sh
|
|
92
|
+
let command = `generate_image_sd.sh '${escapedPrompt}' '${escapedNegativePrompt}'`;
|
|
92
93
|
if (finalMove) {
|
|
93
94
|
command += ' --move';
|
|
94
95
|
}
|
|
@@ -163,8 +164,15 @@ export class ImageTool {
|
|
|
163
164
|
}
|
|
164
165
|
// Build command using joycaption
|
|
165
166
|
let command = `joycaption '${filename.replace(/'/g, "'\\''")}'`;
|
|
167
|
+
let sanitizationWarning;
|
|
166
168
|
if (prompt) {
|
|
167
|
-
|
|
169
|
+
// Sanitize prompt: allow only alphanumeric, spaces, periods, commas, dashes, and asterisks
|
|
170
|
+
const sanitized = prompt.replace(/[^a-zA-Z0-9 .,\-*]/g, '');
|
|
171
|
+
if (sanitized !== prompt) {
|
|
172
|
+
sanitizationWarning = `Prompt was sanitized from "${prompt}" to "${sanitized}"`;
|
|
173
|
+
console.warn(`Warning: Prompt contained invalid characters and was sanitized. Original: "${prompt}", Sanitized: "${sanitized}"`);
|
|
174
|
+
}
|
|
175
|
+
command += ` --prompt "${sanitized}"`;
|
|
168
176
|
}
|
|
169
177
|
try {
|
|
170
178
|
const { stdout, stderr } = await execAsync(command, {
|
|
@@ -183,7 +191,8 @@ export class ImageTool {
|
|
|
183
191
|
return {
|
|
184
192
|
success: true,
|
|
185
193
|
output: caption,
|
|
186
|
-
displayOutput: `Caption: ${caption}
|
|
194
|
+
displayOutput: `Caption: ${caption}`,
|
|
195
|
+
...(sanitizationWarning && { warning: sanitizationWarning })
|
|
187
196
|
};
|
|
188
197
|
}
|
|
189
198
|
catch (error) {
|
|
@@ -264,5 +273,55 @@ export class ImageTool {
|
|
|
264
273
|
};
|
|
265
274
|
}
|
|
266
275
|
}
|
|
276
|
+
/**
|
|
277
|
+
* List available Stable Diffusion models installed on the server.
|
|
278
|
+
* Uses generate_image_sd.sh --list-models.
|
|
279
|
+
*/
|
|
280
|
+
async listImageModels() {
|
|
281
|
+
try {
|
|
282
|
+
const command = `generate_image_sd.sh --list-models`;
|
|
283
|
+
try {
|
|
284
|
+
const { stdout, stderr } = await execAsync(command, {
|
|
285
|
+
timeout: 30000 // 30 second timeout
|
|
286
|
+
});
|
|
287
|
+
if (stderr && !stdout) {
|
|
288
|
+
return {
|
|
289
|
+
success: false,
|
|
290
|
+
error: `Failed to list image models: ${stderr}`,
|
|
291
|
+
output: stderr
|
|
292
|
+
};
|
|
293
|
+
}
|
|
294
|
+
const modelList = stdout.trim();
|
|
295
|
+
if (!modelList) {
|
|
296
|
+
return {
|
|
297
|
+
success: false,
|
|
298
|
+
error: "No models found",
|
|
299
|
+
output: "No models found"
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
return {
|
|
303
|
+
success: true,
|
|
304
|
+
output: modelList,
|
|
305
|
+
displayOutput: "Available Stable Diffusion models listed"
|
|
306
|
+
};
|
|
307
|
+
}
|
|
308
|
+
catch (error) {
|
|
309
|
+
const errorMessage = error.message || "Unknown error";
|
|
310
|
+
const stderr = error.stderr || "";
|
|
311
|
+
return {
|
|
312
|
+
success: false,
|
|
313
|
+
error: `Failed to list image models: ${errorMessage}${stderr ? '\n' + stderr : ''}`,
|
|
314
|
+
output: `Failed to list image models: ${errorMessage}${stderr ? '\n' + stderr : ''}`
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
catch (error) {
|
|
319
|
+
return {
|
|
320
|
+
success: false,
|
|
321
|
+
error: error instanceof Error ? error.message : "Unknown error listing image models",
|
|
322
|
+
output: error instanceof Error ? error.message : "Unknown error listing image models"
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
}
|
|
267
326
|
}
|
|
268
327
|
//# sourceMappingURL=image-tool.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-tool.js","sourceRoot":"","sources":["../../src/tools/image-tool.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAiB,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"image-tool.js","sourceRoot":"","sources":["../../src/tools/image-tool.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/search.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare class SearchTool implements ToolDiscovery {
|
|
|
40
40
|
includeHidden?: boolean;
|
|
41
41
|
}): Promise<ToolResult>;
|
|
42
42
|
/**
|
|
43
|
-
* Execute ripgrep command with specified options
|
|
43
|
+
* Execute ripgrep command with specified options using ripgrep-node
|
|
44
44
|
*/
|
|
45
45
|
private _executeRipgrep;
|
|
46
46
|
/**
|
package/dist/tools/search.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { spawn } from "child_process";
|
|
2
1
|
import { ConfirmationService } from "../utils/confirmation-service.js";
|
|
3
2
|
import fs from "fs-extra";
|
|
4
3
|
import * as path from "path";
|
|
5
4
|
import { getHandledToolNames } from "./tool-discovery.js";
|
|
5
|
+
import { RipGrep } from "ripgrep-node";
|
|
6
6
|
export class SearchTool {
|
|
7
7
|
confirmationService = ConfirmationService.getInstance();
|
|
8
8
|
currentDirectory = process.cwd();
|
|
@@ -70,89 +70,77 @@ export class SearchTool {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
|
-
* Execute ripgrep command with specified options
|
|
73
|
+
* Execute ripgrep command with specified options using ripgrep-node
|
|
74
74
|
*/
|
|
75
75
|
async _executeRipgrep(query, options) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
76
|
+
try {
|
|
77
|
+
// Create RipGrep instance with pattern and search directory
|
|
78
|
+
let rg = new RipGrep(query, this.currentDirectory);
|
|
79
|
+
// Configure ripgrep with chained method calls
|
|
80
|
+
rg = rg
|
|
81
|
+
.json()
|
|
82
|
+
.withFilename()
|
|
83
|
+
.lineNumber()
|
|
84
|
+
.column()
|
|
85
|
+
.noHeading()
|
|
86
|
+
.color("never");
|
|
85
87
|
// Add case sensitivity
|
|
86
88
|
if (!options.caseSensitive) {
|
|
87
|
-
|
|
89
|
+
rg = rg.ignoreCase();
|
|
88
90
|
}
|
|
89
91
|
// Add whole word matching
|
|
90
92
|
if (options.wholeWord) {
|
|
91
|
-
|
|
93
|
+
rg = rg.wordRegexp();
|
|
92
94
|
}
|
|
93
95
|
// Add regex mode
|
|
94
96
|
if (!options.regex) {
|
|
95
|
-
|
|
97
|
+
rg = rg.fixedStrings();
|
|
96
98
|
}
|
|
97
99
|
// Add max results limit
|
|
98
100
|
if (options.maxResults) {
|
|
99
|
-
|
|
101
|
+
rg = rg.maxCount(options.maxResults);
|
|
100
102
|
}
|
|
101
103
|
// Add file type filters
|
|
102
104
|
if (options.fileTypes) {
|
|
103
105
|
options.fileTypes.forEach((type) => {
|
|
104
|
-
|
|
106
|
+
rg = rg.type(type);
|
|
105
107
|
});
|
|
106
108
|
}
|
|
107
109
|
// Add include pattern
|
|
108
110
|
if (options.includePattern) {
|
|
109
|
-
|
|
111
|
+
rg = rg.glob(options.includePattern);
|
|
110
112
|
}
|
|
111
113
|
// Add exclude pattern
|
|
112
114
|
if (options.excludePattern) {
|
|
113
|
-
|
|
115
|
+
rg = rg.glob(`!${options.excludePattern}`);
|
|
114
116
|
}
|
|
115
117
|
// Add exclude files
|
|
116
118
|
if (options.excludeFiles) {
|
|
117
119
|
options.excludeFiles.forEach((file) => {
|
|
118
|
-
|
|
120
|
+
rg = rg.glob(`!${file}`);
|
|
119
121
|
});
|
|
120
122
|
}
|
|
121
123
|
// Respect gitignore and common ignore patterns
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
else if (code === 2) {
|
|
143
|
-
// Code 2 means an error occurred (e.g., file path issues)
|
|
144
|
-
// Return partial results if we have them, otherwise fail silently
|
|
145
|
-
const results = this.parseRipgrepOutput(output);
|
|
146
|
-
resolve(results);
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
reject(new Error(`Ripgrep failed with code ${code}: ${errorOutput}`));
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
rg.on("error", (error) => {
|
|
153
|
-
reject(error);
|
|
154
|
-
});
|
|
155
|
-
});
|
|
124
|
+
rg = rg
|
|
125
|
+
.follow()
|
|
126
|
+
.glob("!.git/**")
|
|
127
|
+
.glob("!node_modules/**")
|
|
128
|
+
.glob("!.DS_Store")
|
|
129
|
+
.glob("!*.log");
|
|
130
|
+
// Execute search and get JSON output
|
|
131
|
+
const output = rg.run().asString();
|
|
132
|
+
// Parse the output
|
|
133
|
+
const results = this.parseRipgrepOutput(output);
|
|
134
|
+
return results;
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
// ripgrep-node throws an error when no results found
|
|
138
|
+
// Return empty array instead of throwing
|
|
139
|
+
if (error.message && error.message.includes("No matches found")) {
|
|
140
|
+
return [];
|
|
141
|
+
}
|
|
142
|
+
throw error;
|
|
143
|
+
}
|
|
156
144
|
}
|
|
157
145
|
/**
|
|
158
146
|
* Parse ripgrep JSON output into SearchResult objects
|
package/dist/tools/search.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"search.js","sourceRoot":"","sources":["../../src/tools/search.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,18 @@ import { Box, Text } from "ink";
|
|
|
3
3
|
import { DiffRenderer } from "./diff-renderer.js";
|
|
4
4
|
import { MarkdownRenderer } from "../utils/markdown-renderer.js";
|
|
5
5
|
const TRUNCATE_LINES = 3;
|
|
6
|
+
// Helper function to extract text content from ChatEntry (handles both string and array content)
|
|
7
|
+
function getTextContent(content) {
|
|
8
|
+
if (!content)
|
|
9
|
+
return "";
|
|
10
|
+
if (typeof content === "string")
|
|
11
|
+
return content;
|
|
12
|
+
// For content arrays, extract and concatenate text parts
|
|
13
|
+
return content
|
|
14
|
+
.filter(item => item.type === "text")
|
|
15
|
+
.map(item => "text" in item ? item.text : "")
|
|
16
|
+
.join(" ");
|
|
17
|
+
}
|
|
6
18
|
// Helper function to truncate content to first N lines
|
|
7
19
|
function truncateContent(content, maxLines = TRUNCATE_LINES) {
|
|
8
20
|
const lines = content.split("\n");
|
|
@@ -45,7 +57,7 @@ const MemoizedChatEntry = React.memo(({ entry, index }) => {
|
|
|
45
57
|
React.createElement(Text, { color: "gray" },
|
|
46
58
|
">",
|
|
47
59
|
" ",
|
|
48
|
-
entry.content
|
|
60
|
+
getTextContent(entry.content)))));
|
|
49
61
|
case "assistant":
|
|
50
62
|
return (React.createElement(Box, { key: index, flexDirection: "column", marginTop: 1 },
|
|
51
63
|
React.createElement(Box, { flexDirection: "row", alignItems: "flex-start" },
|
|
@@ -54,14 +66,14 @@ const MemoizedChatEntry = React.memo(({ entry, index }) => {
|
|
|
54
66
|
entry.preserveFormatting ? (
|
|
55
67
|
// Preserve formatting: split lines and render each line as-is
|
|
56
68
|
(() => {
|
|
57
|
-
const content = (entry.content
|
|
69
|
+
const content = (getTextContent(entry.content)).trim();
|
|
58
70
|
const lines = content.split('\n');
|
|
59
71
|
return (React.createElement(Box, { flexDirection: "column" }, lines.map((line, lineIdx) => (React.createElement(Text, { key: lineIdx, color: "white" }, line)))));
|
|
60
72
|
})()) : entry.tool_calls ? (
|
|
61
73
|
// If there are tool calls, just show plain text
|
|
62
|
-
React.createElement(Text, { color: "white" }, (entry.content
|
|
74
|
+
React.createElement(Text, { color: "white" }, (getTextContent(entry.content)).trim())) : (
|
|
63
75
|
// Normal chat: use MarkdownRenderer with reflowText
|
|
64
|
-
React.createElement(MarkdownRenderer, { content: (entry.content
|
|
76
|
+
React.createElement(MarkdownRenderer, { content: (getTextContent(entry.content)).trim() })),
|
|
65
77
|
entry.isStreaming && React.createElement(Text, { color: "cyan" }, "\u2588")))));
|
|
66
78
|
case "tool_call":
|
|
67
79
|
case "tool_result":
|
|
@@ -126,11 +138,12 @@ const MemoizedChatEntry = React.memo(({ entry, index }) => {
|
|
|
126
138
|
}
|
|
127
139
|
return content;
|
|
128
140
|
};
|
|
141
|
+
const contentText = getTextContent(entry.content);
|
|
129
142
|
const shouldShowDiff = entry.toolCall?.function?.name === "str_replace_editor" &&
|
|
130
143
|
entry.toolResult?.success &&
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
144
|
+
contentText.includes("Updated") &&
|
|
145
|
+
contentText.includes("---") &&
|
|
146
|
+
contentText.includes("+++");
|
|
134
147
|
const shouldShowFileContent = (entry.toolCall?.function?.name === "view_file" ||
|
|
135
148
|
entry.toolCall?.function?.name === "create_file") &&
|
|
136
149
|
entry.toolResult?.success &&
|
|
@@ -142,7 +155,7 @@ const MemoizedChatEntry = React.memo(({ entry, index }) => {
|
|
|
142
155
|
" ",
|
|
143
156
|
filePath ? `${actionName}(${filePath})` : actionName)),
|
|
144
157
|
React.createElement(Box, { marginLeft: 2, flexDirection: "column" }, isExecuting ? (React.createElement(Text, { color: "cyan" }, "\u23BF Executing...")) : (() => {
|
|
145
|
-
const content = entry.content
|
|
158
|
+
const content = getTextContent(entry.content);
|
|
146
159
|
const displayOutput = entry.toolResult?.displayOutput;
|
|
147
160
|
// Only show displayOutput if it exists and provides additional value
|
|
148
161
|
const showDisplayOutput = displayOutput && displayOutput.trim() !== content.trim();
|
|
@@ -157,15 +170,15 @@ const MemoizedChatEntry = React.memo(({ entry, index }) => {
|
|
|
157
170
|
hiddenLines,
|
|
158
171
|
" lines (ctrl+o to expand)"))));
|
|
159
172
|
})()),
|
|
160
|
-
shouldShowDiff && !isExecuting && (React.createElement(Box, { marginLeft: 4, flexDirection: "column" }, renderDiff(entry.content
|
|
173
|
+
shouldShowDiff && !isExecuting && (React.createElement(Box, { marginLeft: 4, flexDirection: "column" }, renderDiff(getTextContent(entry.content), filePath)))));
|
|
161
174
|
case "system":
|
|
162
175
|
return (React.createElement(Box, { key: index, flexDirection: "column", marginTop: 1 },
|
|
163
176
|
React.createElement(Box, null,
|
|
164
177
|
React.createElement(Text, { color: "blue" }, "\uD83D\uDD27 System: "),
|
|
165
178
|
React.createElement(Box, { flexDirection: "column", marginLeft: 2 },
|
|
166
179
|
React.createElement(Text, { color: "blue", dimColor: true },
|
|
167
|
-
(entry.content
|
|
168
|
-
(entry.content
|
|
180
|
+
(getTextContent(entry.content)).split('\n').slice(0, 3).join('\n'),
|
|
181
|
+
(getTextContent(entry.content)).split('\n').length > 3 ? '\n...' : '')))));
|
|
169
182
|
default:
|
|
170
183
|
return null;
|
|
171
184
|
}
|
|
@@ -174,7 +187,7 @@ MemoizedChatEntry.displayName = "MemoizedChatEntry";
|
|
|
174
187
|
export function ChatHistory({ entries, isConfirmationActive = false, }) {
|
|
175
188
|
// Filter out tool_call entries with "Executing..." when confirmation is active
|
|
176
189
|
const filteredEntries = isConfirmationActive
|
|
177
|
-
? entries.filter((entry) => !(entry.type === "tool_call" && entry.content === "Executing..."))
|
|
190
|
+
? entries.filter((entry) => !(entry.type === "tool_call" && getTextContent(entry.content) === "Executing..."))
|
|
178
191
|
: entries;
|
|
179
192
|
return (React.createElement(Box, { flexDirection: "column" }, filteredEntries.slice(-20).map((entry, index) => {
|
|
180
193
|
// Ensure timestamp is a Date object (defensive check)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../src/ui/components/chat-history.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-history.js","sourceRoot":"","sources":["../../../src/ui/components/chat-history.tsx"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { useInputHandler } from "../../hooks/use-input-handler.js";
|
|
|
5
5
|
import { LoadingSpinner } from "./loading-spinner.js";
|
|
6
6
|
import { CommandSuggestions } from "./command-suggestions.js";
|
|
7
7
|
import { ModelSelection } from "./model-selection.js";
|
|
8
|
+
import { RephraseMenu } from "./rephrase-menu.js";
|
|
8
9
|
import { ChatHistory } from "./chat-history.js";
|
|
9
10
|
import { ChatInput } from "./chat-input.js";
|
|
10
11
|
import { MCPStatus } from "./mcp-status.js";
|
|
@@ -30,7 +31,7 @@ function ChatInterfaceWithAgent({ agent, initialMessage, fresh, }) {
|
|
|
30
31
|
const scrollRef = useRef();
|
|
31
32
|
const processingStartTime = useRef(0);
|
|
32
33
|
const confirmationService = ConfirmationService.getInstance();
|
|
33
|
-
const { input, cursorPosition, showCommandSuggestions, selectedCommandIndex, showModelSelection, selectedModelIndex, commandSuggestions, availableModels, autoEditEnabled, } = useInputHandler({
|
|
34
|
+
const { input, cursorPosition, showCommandSuggestions, selectedCommandIndex, showModelSelection, selectedModelIndex, showRephraseMenu, selectedRephraseIndex, commandSuggestions, availableModels, autoEditEnabled, } = useInputHandler({
|
|
34
35
|
agent,
|
|
35
36
|
chatHistory,
|
|
36
37
|
setChatHistory,
|
|
@@ -129,8 +130,9 @@ function ChatInterfaceWithAgent({ agent, initialMessage, fresh, }) {
|
|
|
129
130
|
if (chunk.userEntry && !userMessageAdded) {
|
|
130
131
|
setChatHistory((prev) => {
|
|
131
132
|
// Check if this exact message is already in history
|
|
133
|
+
// For content comparison, stringify to handle both string and array content
|
|
132
134
|
const alreadyExists = prev.some(entry => entry.type === "user" &&
|
|
133
|
-
entry.content === chunk.userEntry.content);
|
|
135
|
+
JSON.stringify(entry.content) === JSON.stringify(chunk.userEntry.content));
|
|
134
136
|
if (!alreadyExists) {
|
|
135
137
|
userMessageAdded = true;
|
|
136
138
|
return [...prev, chunk.userEntry];
|
|
@@ -152,9 +154,14 @@ function ChatInterfaceWithAgent({ agent, initialMessage, fresh, }) {
|
|
|
152
154
|
streamingEntry = newStreamingEntry;
|
|
153
155
|
}
|
|
154
156
|
else {
|
|
155
|
-
setChatHistory((prev) => prev.map((entry, idx) =>
|
|
156
|
-
|
|
157
|
-
|
|
157
|
+
setChatHistory((prev) => prev.map((entry, idx) => {
|
|
158
|
+
if (idx === prev.length - 1 && entry.isStreaming) {
|
|
159
|
+
// Streaming responses are always text
|
|
160
|
+
const existingContent = typeof entry.content === 'string' ? entry.content : '';
|
|
161
|
+
return { ...entry, content: existingContent + chunk.content };
|
|
162
|
+
}
|
|
163
|
+
return entry;
|
|
164
|
+
}));
|
|
158
165
|
}
|
|
159
166
|
}
|
|
160
167
|
break;
|
|
@@ -345,9 +352,8 @@ function ChatInterfaceWithAgent({ agent, initialMessage, fresh, }) {
|
|
|
345
352
|
React.createElement(Box, { marginTop: 1, flexDirection: "column" },
|
|
346
353
|
React.createElement(Text, { color: "gray" }, "1. Ask questions, edit files, or run commands."),
|
|
347
354
|
React.createElement(Text, { color: "gray" }, "2. Be specific for the best results."),
|
|
348
|
-
React.createElement(Text, { color: "gray" }, "3.
|
|
349
|
-
React.createElement(Text, { color: "gray" }, "4.
|
|
350
|
-
React.createElement(Text, { color: "gray" }, "5. /help for more information.")))),
|
|
355
|
+
React.createElement(Text, { color: "gray" }, "3. Press Shift+Tab to toggle auto-edit mode."),
|
|
356
|
+
React.createElement(Text, { color: "gray" }, "4. /help for more information.")))),
|
|
351
357
|
React.createElement(Box, { flexDirection: "column", marginBottom: 1 },
|
|
352
358
|
React.createElement(Text, { color: "gray" }, "Type your request in natural language. Ctrl+C to clear, 'exit' to quit.")),
|
|
353
359
|
React.createElement(Box, { flexDirection: "column", ref: scrollRef },
|
|
@@ -373,7 +379,8 @@ function ChatInterfaceWithAgent({ agent, initialMessage, fresh, }) {
|
|
|
373
379
|
React.createElement(MoodStatus, { agent: agent }),
|
|
374
380
|
React.createElement(ActiveTaskStatus, { agent: agent })),
|
|
375
381
|
React.createElement(CommandSuggestions, { suggestions: commandSuggestions, input: input, selectedIndex: selectedCommandIndex, isVisible: showCommandSuggestions }),
|
|
376
|
-
React.createElement(ModelSelection, { models: availableModels, selectedIndex: selectedModelIndex, isVisible: showModelSelection, currentModel: agent.getCurrentModel() })
|
|
382
|
+
React.createElement(ModelSelection, { models: availableModels, selectedIndex: selectedModelIndex, isVisible: showModelSelection, currentModel: agent.getCurrentModel() }),
|
|
383
|
+
React.createElement(RephraseMenu, { messageType: agent.getRephraseState()?.messageType || "user", selectedIndex: selectedRephraseIndex, isVisible: showRephraseMenu })))));
|
|
377
384
|
}
|
|
378
385
|
// Main component that handles API key input or chat interface
|
|
379
386
|
export default function ChatInterface({ agent, initialMessage, fresh, }) {
|