centaurus-cli 2.8.9 → 2.9.1
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/cli-adapter.d.ts +29 -2
- package/dist/cli-adapter.d.ts.map +1 -1
- package/dist/cli-adapter.js +526 -84
- package/dist/cli-adapter.js.map +1 -1
- package/dist/config/build-config.d.ts +1 -1
- package/dist/config/build-config.js +1 -1
- package/dist/config/models.d.ts +8 -0
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +29 -0
- package/dist/config/models.js.map +1 -1
- package/dist/config/slash-commands.d.ts +1 -0
- package/dist/config/slash-commands.d.ts.map +1 -1
- package/dist/config/slash-commands.js +14 -1
- package/dist/config/slash-commands.js.map +1 -1
- package/dist/hooks/useConnectivity.d.ts +2 -0
- package/dist/hooks/useConnectivity.d.ts.map +1 -0
- package/dist/hooks/useConnectivity.js +12 -0
- package/dist/hooks/useConnectivity.js.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/mcp/mcp-command-handler.d.ts.map +1 -1
- package/dist/mcp/mcp-command-handler.js +0 -3
- package/dist/mcp/mcp-command-handler.js.map +1 -1
- package/dist/mcp/mcp-tool-wrapper.d.ts.map +1 -1
- package/dist/mcp/mcp-tool-wrapper.js +8 -0
- package/dist/mcp/mcp-tool-wrapper.js.map +1 -1
- package/dist/services/ai-service-client.d.ts +7 -1
- package/dist/services/ai-service-client.d.ts.map +1 -1
- package/dist/services/ai-service-client.js +6 -6
- package/dist/services/ai-service-client.js.map +1 -1
- package/dist/services/api-client.d.ts +35 -38
- package/dist/services/api-client.d.ts.map +1 -1
- package/dist/services/api-client.js +38 -30
- package/dist/services/api-client.js.map +1 -1
- package/dist/services/connectivity-manager.d.ts +18 -0
- package/dist/services/connectivity-manager.d.ts.map +1 -0
- package/dist/services/connectivity-manager.js +72 -0
- package/dist/services/connectivity-manager.js.map +1 -0
- package/dist/services/local-chat-storage.d.ts +5 -0
- package/dist/services/local-chat-storage.d.ts.map +1 -1
- package/dist/services/local-chat-storage.js +33 -0
- package/dist/services/local-chat-storage.js.map +1 -1
- package/dist/services/session-quota-manager.d.ts +101 -0
- package/dist/services/session-quota-manager.d.ts.map +1 -0
- package/dist/services/session-quota-manager.js +242 -0
- package/dist/services/session-quota-manager.js.map +1 -0
- package/dist/tools/background-command.d.ts +11 -0
- package/dist/tools/background-command.d.ts.map +1 -0
- package/dist/tools/background-command.js +162 -0
- package/dist/tools/background-command.js.map +1 -0
- package/dist/tools/command.d.ts.map +1 -1
- package/dist/tools/command.js +20 -6
- package/dist/tools/command.js.map +1 -1
- package/dist/tools/create-image.d.ts +10 -0
- package/dist/tools/create-image.d.ts.map +1 -0
- package/dist/tools/create-image.js +189 -0
- package/dist/tools/create-image.js.map +1 -0
- package/dist/tools/get-diff.d.ts.map +1 -1
- package/dist/tools/get-diff.js +4 -1
- package/dist/tools/get-diff.js.map +1 -1
- package/dist/tools/task-complete.d.ts.map +1 -1
- package/dist/tools/task-complete.js +8 -14
- package/dist/tools/task-complete.js.map +1 -1
- package/dist/ui/components/App.d.ts +5 -2
- package/dist/ui/components/App.d.ts.map +1 -1
- package/dist/ui/components/App.js +165 -45
- package/dist/ui/components/App.js.map +1 -1
- package/dist/ui/components/ContextWindowIndicator.d.ts.map +1 -1
- package/dist/ui/components/ContextWindowIndicator.js +43 -22
- package/dist/ui/components/ContextWindowIndicator.js.map +1 -1
- package/dist/ui/components/InputBox.d.ts +2 -0
- package/dist/ui/components/InputBox.d.ts.map +1 -1
- package/dist/ui/components/InputBox.js +217 -200
- package/dist/ui/components/InputBox.js.map +1 -1
- package/dist/ui/components/MessageDisplay.d.ts.map +1 -1
- package/dist/ui/components/MessageDisplay.js +8 -15
- package/dist/ui/components/MessageDisplay.js.map +1 -1
- package/dist/ui/components/SlashCommandAutocomplete.d.ts +2 -0
- package/dist/ui/components/SlashCommandAutocomplete.d.ts.map +1 -1
- package/dist/ui/components/SlashCommandAutocomplete.js +19 -10
- package/dist/ui/components/SlashCommandAutocomplete.js.map +1 -1
- package/dist/ui/components/StatusBar.d.ts.map +1 -1
- package/dist/ui/components/StatusBar.js +4 -0
- package/dist/ui/components/StatusBar.js.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.js +198 -39
- package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
- package/dist/ui/components/ToolExecutionStatus.d.ts.map +1 -1
- package/dist/ui/components/ToolExecutionStatus.js +1 -0
- package/dist/ui/components/ToolExecutionStatus.js.map +1 -1
- package/dist/utils/chat-formatter.d.ts +12 -0
- package/dist/utils/chat-formatter.d.ts.map +1 -0
- package/dist/utils/chat-formatter.js +326 -0
- package/dist/utils/chat-formatter.js.map +1 -0
- package/dist/utils/editor-utils.d.ts +3 -3
- package/dist/utils/editor-utils.d.ts.map +1 -1
- package/dist/utils/editor-utils.js +15 -12
- package/dist/utils/editor-utils.js.map +1 -1
- package/dist/utils/input-classifier.d.ts.map +1 -1
- package/dist/utils/input-classifier.js +140 -20
- package/dist/utils/input-classifier.js.map +1 -1
- package/dist/utils/terminal-output.d.ts.map +1 -1
- package/dist/utils/terminal-output.js +198 -171
- package/dist/utils/terminal-output.js.map +1 -1
- package/dist/utils/text-clipboard.d.ts +12 -0
- package/dist/utils/text-clipboard.d.ts.map +1 -0
- package/dist/utils/text-clipboard.js +63 -0
- package/dist/utils/text-clipboard.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Background Command Tool
|
|
3
|
+
*
|
|
4
|
+
* Allows the AI to execute commands in the background (non-blocking),
|
|
5
|
+
* check their status, and kill/terminate them.
|
|
6
|
+
*
|
|
7
|
+
* Uses the existing BackgroundTaskManager singleton.
|
|
8
|
+
*/
|
|
9
|
+
import { BackgroundTaskManager } from '../services/background-task-manager.js';
|
|
10
|
+
export const backgroundCommandTool = {
|
|
11
|
+
schema: {
|
|
12
|
+
name: 'background_command',
|
|
13
|
+
description: `Execute shell commands in the background, check their status, or kill them. This tool is NON-BLOCKING - when you start a command, the tool returns immediately with a task ID while the command continues running in the background.
|
|
14
|
+
|
|
15
|
+
USE CASES:
|
|
16
|
+
- Running development servers (npm run dev, python -m http.server, etc.)
|
|
17
|
+
- Running long-running processes (builds, tests, watchers)
|
|
18
|
+
- Running multiple commands concurrently
|
|
19
|
+
|
|
20
|
+
ACTIONS:
|
|
21
|
+
1. "start" - Start a new background command. Returns a task_id immediately.
|
|
22
|
+
2. "status" - Check the status and output of a background task. Use this to monitor progress.
|
|
23
|
+
3. "kill" - Terminate a running background task.
|
|
24
|
+
|
|
25
|
+
IMPORTANT:
|
|
26
|
+
- After starting a task, you can continue with other work while it runs.
|
|
27
|
+
- Use "status" periodically to check on long-running tasks.
|
|
28
|
+
- Always clean up tasks with "kill" when they're no longer needed.
|
|
29
|
+
- The task_id returned from "start" must be saved to use with "status" or "kill".`,
|
|
30
|
+
parameters: {
|
|
31
|
+
type: 'object',
|
|
32
|
+
properties: {
|
|
33
|
+
reason_text: {
|
|
34
|
+
type: 'string',
|
|
35
|
+
description: 'REQUIRED: A brief explanation of what you are doing with this background command.',
|
|
36
|
+
},
|
|
37
|
+
action: {
|
|
38
|
+
type: 'string',
|
|
39
|
+
enum: ['start', 'status', 'kill'],
|
|
40
|
+
description: 'The action to perform: "start" to run a new command, "status" to check a task, "kill" to terminate a task.',
|
|
41
|
+
},
|
|
42
|
+
command: {
|
|
43
|
+
type: 'string',
|
|
44
|
+
description: 'The shell command to execute. REQUIRED when action is "start".',
|
|
45
|
+
},
|
|
46
|
+
cwd: {
|
|
47
|
+
type: 'string',
|
|
48
|
+
description: 'The working directory for the command. REQUIRED when action is "start".',
|
|
49
|
+
},
|
|
50
|
+
task_id: {
|
|
51
|
+
type: 'string',
|
|
52
|
+
description: 'The task ID to check or kill. REQUIRED when action is "status" or "kill".',
|
|
53
|
+
},
|
|
54
|
+
output_lines: {
|
|
55
|
+
type: 'integer',
|
|
56
|
+
description: 'Number of lines of output to return (from the end). Default: 50. Only used with "status" action.',
|
|
57
|
+
},
|
|
58
|
+
},
|
|
59
|
+
required: ['reason_text', 'action'],
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
async execute(args, context) {
|
|
63
|
+
const { action, command, cwd, task_id, output_lines = 50 } = args;
|
|
64
|
+
switch (action) {
|
|
65
|
+
case 'start': {
|
|
66
|
+
// Validate required parameters for start
|
|
67
|
+
if (!command) {
|
|
68
|
+
throw new Error('Missing required parameter "command" for action "start"');
|
|
69
|
+
}
|
|
70
|
+
if (!cwd) {
|
|
71
|
+
throw new Error('Missing required parameter "cwd" for action "start"');
|
|
72
|
+
}
|
|
73
|
+
// Start the background task (non-blocking)
|
|
74
|
+
const taskId = BackgroundTaskManager.startTask(command, cwd);
|
|
75
|
+
// Return immediately - the command is running in the background
|
|
76
|
+
return `Background task started successfully.
|
|
77
|
+
|
|
78
|
+
**Task ID:** ${taskId}
|
|
79
|
+
**Command:** ${command}
|
|
80
|
+
**Working Directory:** ${cwd}
|
|
81
|
+
|
|
82
|
+
The command is now running in the background. Use action="status" with task_id="${taskId}" to check progress, or action="kill" to terminate it.`;
|
|
83
|
+
}
|
|
84
|
+
case 'status': {
|
|
85
|
+
// Validate required parameters for status
|
|
86
|
+
if (!task_id) {
|
|
87
|
+
throw new Error('Missing required parameter "task_id" for action "status"');
|
|
88
|
+
}
|
|
89
|
+
const task = BackgroundTaskManager.getTask(task_id);
|
|
90
|
+
if (!task) {
|
|
91
|
+
// List all available tasks to help the AI
|
|
92
|
+
const allTasks = BackgroundTaskManager.getAllTasks();
|
|
93
|
+
if (allTasks.length === 0) {
|
|
94
|
+
throw new Error(`Task "${task_id}" not found. There are no background tasks currently tracked.`);
|
|
95
|
+
}
|
|
96
|
+
const taskList = allTasks.map(t => `- ${t.id} (${t.isRunning ? 'running' : 'completed'}): ${t.command}`).join('\n');
|
|
97
|
+
throw new Error(`Task "${task_id}" not found.\n\nAvailable tasks:\n${taskList}`);
|
|
98
|
+
}
|
|
99
|
+
// Get the output (last N lines)
|
|
100
|
+
const fullOutput = task.output;
|
|
101
|
+
const lines = fullOutput.split('\n');
|
|
102
|
+
const outputToShow = lines.slice(-output_lines).join('\n');
|
|
103
|
+
const truncated = lines.length > output_lines;
|
|
104
|
+
const durationMs = Date.now() - task.startTime.getTime();
|
|
105
|
+
const durationSec = Math.round(durationMs / 1000);
|
|
106
|
+
let statusText = '';
|
|
107
|
+
if (task.isRunning) {
|
|
108
|
+
statusText = `**Status:** 🔄 Running (${durationSec}s)`;
|
|
109
|
+
}
|
|
110
|
+
else if (task.exitCode === 0) {
|
|
111
|
+
statusText = `**Status:** ✅ Completed successfully (exit code: 0)`;
|
|
112
|
+
}
|
|
113
|
+
else if (task.exitCode !== undefined) {
|
|
114
|
+
statusText = `**Status:** ❌ Failed (exit code: ${task.exitCode})`;
|
|
115
|
+
}
|
|
116
|
+
else if (task.error) {
|
|
117
|
+
statusText = `**Status:** ❌ Error: ${task.error}`;
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
statusText = `**Status:** ⏹️ Stopped`;
|
|
121
|
+
}
|
|
122
|
+
return `Background Task Status
|
|
123
|
+
|
|
124
|
+
**Task ID:** ${task_id}
|
|
125
|
+
**Command:** ${task.command}
|
|
126
|
+
**Working Directory:** ${task.cwd}
|
|
127
|
+
${statusText}
|
|
128
|
+
|
|
129
|
+
**Output${truncated ? ` (last ${output_lines} lines)` : ''}:**
|
|
130
|
+
\`\`\`
|
|
131
|
+
${outputToShow || '(no output yet)'}
|
|
132
|
+
\`\`\``;
|
|
133
|
+
}
|
|
134
|
+
case 'kill': {
|
|
135
|
+
// Validate required parameters for kill
|
|
136
|
+
if (!task_id) {
|
|
137
|
+
throw new Error('Missing required parameter "task_id" for action "kill"');
|
|
138
|
+
}
|
|
139
|
+
const task = BackgroundTaskManager.getTask(task_id);
|
|
140
|
+
if (!task) {
|
|
141
|
+
throw new Error(`Task "${task_id}" not found.`);
|
|
142
|
+
}
|
|
143
|
+
if (!task.isRunning) {
|
|
144
|
+
return `Task "${task_id}" is not running (already completed or stopped). No action taken.`;
|
|
145
|
+
}
|
|
146
|
+
const success = BackgroundTaskManager.cancelTask(task_id);
|
|
147
|
+
if (success) {
|
|
148
|
+
return `Background task "${task_id}" has been terminated.
|
|
149
|
+
|
|
150
|
+
**Command:** ${task.command}
|
|
151
|
+
**Status:** ⏹️ Killed by request`;
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
throw new Error(`Failed to kill task "${task_id}". The task may have already completed.`);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
default:
|
|
158
|
+
throw new Error(`Unknown action "${action}". Valid actions are: "start", "status", "kill".`);
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
};
|
|
162
|
+
//# sourceMappingURL=background-command.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"background-command.js","sourceRoot":"","sources":["../../src/tools/background-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAOlC,eAAO,MAAM,cAAc,EAAE,
|
|
1
|
+
{"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAOlC,eAAO,MAAM,cAAc,EAAE,IAwX5B,CAAC"}
|
package/dist/tools/command.js
CHANGED
|
@@ -124,9 +124,12 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
124
124
|
const isLongRunning = longRunningPatterns.some((pattern) => pattern.test(command));
|
|
125
125
|
if (isLongRunning) {
|
|
126
126
|
throw new Error(`This command appears to be a long-running process (like a development server or file watcher). ` +
|
|
127
|
-
`Long-running commands cannot be executed through
|
|
128
|
-
`
|
|
129
|
-
|
|
127
|
+
`Long-running commands cannot be executed through execute_command as they would block execution.\n\n` +
|
|
128
|
+
`USE THE background_command TOOL INSTEAD:\n` +
|
|
129
|
+
`- action: "start" to run the command in the background\n` +
|
|
130
|
+
`- action: "status" to check the output while it runs\n` +
|
|
131
|
+
`- action: "kill" to terminate when done\n\n` +
|
|
132
|
+
`Command that needs background execution: ${command}`);
|
|
130
133
|
}
|
|
131
134
|
// Check for risky commands
|
|
132
135
|
const riskyPatterns = [/rm\s+-rf/, /del\s+\/s/, /format/, /dd\s+if=/];
|
|
@@ -182,6 +185,11 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
182
185
|
const distribution = currentContext.metadata?.distroName || 'Ubuntu';
|
|
183
186
|
return new Promise((resolve, reject) => {
|
|
184
187
|
let output = '';
|
|
188
|
+
// Calculate constrained terminal dimensions for proper escape sequence handling
|
|
189
|
+
// Reduce width to account for UI borders/padding (~4 chars for left+right borders/padding)
|
|
190
|
+
// Reduce height to account for available display area in InteractiveShell
|
|
191
|
+
const constrainedCols = Math.max(40, (process.stdout.columns || 80) - 4);
|
|
192
|
+
const constrainedRows = Math.min(process.stdout.rows || 24, 50);
|
|
185
193
|
const wslPty = runWSLCommand(distribution, command, remoteCwd, (data) => {
|
|
186
194
|
// Stream output to UI
|
|
187
195
|
output += data;
|
|
@@ -199,7 +207,7 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
199
207
|
else {
|
|
200
208
|
resolve(output || 'Command executed successfully');
|
|
201
209
|
}
|
|
202
|
-
});
|
|
210
|
+
}, constrainedCols, constrainedRows);
|
|
203
211
|
// Set up interactive process for stdin
|
|
204
212
|
if (context.cliAdapter) {
|
|
205
213
|
context.cliAdapter.setCurrentInteractiveProcess({
|
|
@@ -223,6 +231,9 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
223
231
|
const containerId = currentContext.metadata?.containerId || '';
|
|
224
232
|
return new Promise((resolve, reject) => {
|
|
225
233
|
let output = '';
|
|
234
|
+
// Calculate constrained terminal dimensions for proper escape sequence handling
|
|
235
|
+
const constrainedCols = Math.max(40, (process.stdout.columns || 80) - 4);
|
|
236
|
+
const constrainedRows = Math.min(process.stdout.rows || 24, 50);
|
|
226
237
|
const dockerPty = runDockerCommand(containerId, command, remoteCwd, (data) => {
|
|
227
238
|
// Stream output to UI
|
|
228
239
|
output += data;
|
|
@@ -240,7 +251,7 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
240
251
|
else {
|
|
241
252
|
resolve(output || 'Command executed successfully');
|
|
242
253
|
}
|
|
243
|
-
});
|
|
254
|
+
}, constrainedCols, constrainedRows);
|
|
244
255
|
// Set up interactive process for stdin
|
|
245
256
|
if (context.cliAdapter) {
|
|
246
257
|
context.cliAdapter.setCurrentInteractiveProcess({
|
|
@@ -267,6 +278,9 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
267
278
|
}
|
|
268
279
|
return new Promise((resolve, reject) => {
|
|
269
280
|
let output = '';
|
|
281
|
+
// Calculate constrained terminal dimensions for proper escape sequence handling
|
|
282
|
+
const constrainedCols = Math.max(40, (process.stdout.columns || 80) - 4);
|
|
283
|
+
const constrainedRows = Math.min(process.stdout.rows || 24, 50);
|
|
270
284
|
const sshPty = runSSHCommand(sshClient, command, remoteCwd, (data) => {
|
|
271
285
|
// Stream output to UI
|
|
272
286
|
output += data;
|
|
@@ -284,7 +298,7 @@ Commands will be run with PAGER=cat. You may want to limit the length of output
|
|
|
284
298
|
else {
|
|
285
299
|
resolve(output || 'Command executed successfully');
|
|
286
300
|
}
|
|
287
|
-
});
|
|
301
|
+
}, constrainedCols, constrainedRows);
|
|
288
302
|
// Set up interactive process for stdin
|
|
289
303
|
if (context.cliAdapter) {
|
|
290
304
|
context.cliAdapter.setCurrentInteractiveProcess({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/tools/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create Image Tool
|
|
3
|
+
*
|
|
4
|
+
* Generates images using Gemini 2.0 Flash image generation via backend API.
|
|
5
|
+
* The generated image is saved to the specified file path.
|
|
6
|
+
*/
|
|
7
|
+
import { Tool } from './types.js';
|
|
8
|
+
export declare const createImageTool: Tool;
|
|
9
|
+
export default createImageTool;
|
|
10
|
+
//# sourceMappingURL=create-image.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-image.d.ts","sourceRoot":"","sources":["../../src/tools/create-image.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAgFxD,eAAO,MAAM,eAAe,EAAE,IAsI7B,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create Image Tool
|
|
3
|
+
*
|
|
4
|
+
* Generates images using Gemini 2.0 Flash image generation via backend API.
|
|
5
|
+
* The generated image is saved to the specified file path.
|
|
6
|
+
*/
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
/**
|
|
10
|
+
* Generate an image via backend API
|
|
11
|
+
*/
|
|
12
|
+
async function generateImageViaBackend(prompt, aspectRatio = '1:1') {
|
|
13
|
+
// Import axios and apiClient dynamically to avoid circular dependencies
|
|
14
|
+
const axios = (await import('axios')).default;
|
|
15
|
+
const { apiClient } = await import('../services/api-client.js');
|
|
16
|
+
// Check if authenticated
|
|
17
|
+
if (!apiClient.isAuthenticated()) {
|
|
18
|
+
throw new Error('Authentication required. Please sign in to use image generation.\n' +
|
|
19
|
+
'Image generation is a backend feature that requires authentication.');
|
|
20
|
+
}
|
|
21
|
+
try {
|
|
22
|
+
// Import build config - values frozen at compile time for security
|
|
23
|
+
const { IS_DEV_BUILD, DEV_BACKEND_URL, PRODUCTION_BACKEND_URL } = await import('../config/build-config.js');
|
|
24
|
+
const baseURL = IS_DEV_BUILD ? DEV_BACKEND_URL : PRODUCTION_BACKEND_URL;
|
|
25
|
+
const response = await axios.post(`${baseURL}/image/generate`, {
|
|
26
|
+
prompt,
|
|
27
|
+
aspect_ratio: aspectRatio,
|
|
28
|
+
}, {
|
|
29
|
+
headers: {
|
|
30
|
+
'Content-Type': 'application/json',
|
|
31
|
+
'Authorization': `Bearer ${apiClient.sessionToken}`,
|
|
32
|
+
},
|
|
33
|
+
timeout: 120000, // 2 minute timeout for image generation
|
|
34
|
+
});
|
|
35
|
+
if (!response.data || !response.data.success) {
|
|
36
|
+
throw new Error(response.data?.error?.message || 'Image generation failed');
|
|
37
|
+
}
|
|
38
|
+
return response.data.data;
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
if (error.response?.status === 401) {
|
|
42
|
+
throw new Error('Authentication required. Please sign in to use image generation.\n' +
|
|
43
|
+
'Image generation is a backend feature that requires authentication.');
|
|
44
|
+
}
|
|
45
|
+
if (error.response?.status === 429) {
|
|
46
|
+
throw new Error('Image generation rate limit exceeded. Please try again later.');
|
|
47
|
+
}
|
|
48
|
+
throw new Error(error.response?.data?.error?.message ||
|
|
49
|
+
error.message ||
|
|
50
|
+
'Image generation request failed');
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get file extension from MIME type
|
|
55
|
+
*/
|
|
56
|
+
function getExtensionFromMimeType(mimeType) {
|
|
57
|
+
const mimeToExt = {
|
|
58
|
+
'image/png': '.png',
|
|
59
|
+
'image/jpeg': '.jpg',
|
|
60
|
+
'image/jpg': '.jpg',
|
|
61
|
+
'image/webp': '.webp',
|
|
62
|
+
'image/gif': '.gif',
|
|
63
|
+
};
|
|
64
|
+
return mimeToExt[mimeType] || '.png';
|
|
65
|
+
}
|
|
66
|
+
export const createImageTool = {
|
|
67
|
+
schema: {
|
|
68
|
+
name: 'create_image',
|
|
69
|
+
description: `Generate an AI image using Gemini 2.0 Flash and save it to a file.
|
|
70
|
+
|
|
71
|
+
Use this tool when you need to create visual content such as:
|
|
72
|
+
- UI mockups, wireframes, or app screenshots
|
|
73
|
+
- Icons, logos, or brand assets
|
|
74
|
+
- Diagrams, flowcharts, or illustrations
|
|
75
|
+
- Product images or concept art
|
|
76
|
+
- Backgrounds, textures, or patterns
|
|
77
|
+
|
|
78
|
+
IMPORTANT: Provide detailed, specific prompts for best results:
|
|
79
|
+
- Describe the subject clearly (what is in the image)
|
|
80
|
+
- Specify the style (photorealistic, cartoon, sketch, 3D render, watercolor, etc.)
|
|
81
|
+
- Include colors, lighting, and mood (bright, dark, warm, cool)
|
|
82
|
+
- Mention perspective and composition (close-up, wide shot, centered)
|
|
83
|
+
- Add context about the background and environment
|
|
84
|
+
|
|
85
|
+
Example prompts:
|
|
86
|
+
- "A modern minimalist app login screen with gradient purple background, centered white login form with email and password fields, clean sans-serif typography"
|
|
87
|
+
- "A friendly robot mascot character, cartoon style, blue and silver colors, smiling face, waving hand, white background"
|
|
88
|
+
- "An isometric 3D illustration of a smart home, pastel colors, showing connected devices like lights, thermostat, and speakers"
|
|
89
|
+
|
|
90
|
+
ASPECT RATIOS:
|
|
91
|
+
- 1:1 - Square (default, good for icons, avatars)
|
|
92
|
+
- 16:9 - Widescreen landscape (good for banners, headers)
|
|
93
|
+
- 9:16 - Portrait/vertical (good for mobile, stories)
|
|
94
|
+
- 4:3 - Standard landscape
|
|
95
|
+
- 3:4 - Standard portrait
|
|
96
|
+
|
|
97
|
+
Requires authentication to use.`,
|
|
98
|
+
parameters: {
|
|
99
|
+
type: 'object',
|
|
100
|
+
properties: {
|
|
101
|
+
reason_text: {
|
|
102
|
+
type: 'string',
|
|
103
|
+
description: 'REQUIRED: A brief explanation of why you are generating this image. This will be shown to the user. Example: "Creating a logo for the new dashboard feature"'
|
|
104
|
+
},
|
|
105
|
+
image_prompt: {
|
|
106
|
+
type: 'string',
|
|
107
|
+
description: 'Detailed description of the image to generate. Be specific about subject, style, colors, composition, and mood for best results.'
|
|
108
|
+
},
|
|
109
|
+
output_path: {
|
|
110
|
+
type: 'string',
|
|
111
|
+
description: 'Absolute file path where the image should be saved. The directory must exist. Example: /path/to/project/assets/logo.png'
|
|
112
|
+
},
|
|
113
|
+
aspect_ratio: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
enum: ['1:1', '16:9', '9:16', '4:3', '3:4'],
|
|
116
|
+
description: 'Aspect ratio for the generated image. Default: 1:1 (square)'
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
required: ['reason_text', 'image_prompt', 'output_path']
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
async execute(args, context) {
|
|
123
|
+
const { image_prompt, output_path, aspect_ratio } = args;
|
|
124
|
+
// Validate image_prompt
|
|
125
|
+
if (!image_prompt || typeof image_prompt !== 'string') {
|
|
126
|
+
throw new Error('image_prompt is required and must be a string');
|
|
127
|
+
}
|
|
128
|
+
if (image_prompt.length < 3) {
|
|
129
|
+
throw new Error('image_prompt must be at least 3 characters');
|
|
130
|
+
}
|
|
131
|
+
if (image_prompt.length > 5000) {
|
|
132
|
+
throw new Error('image_prompt must not exceed 5000 characters');
|
|
133
|
+
}
|
|
134
|
+
// Validate output_path
|
|
135
|
+
if (!output_path || typeof output_path !== 'string') {
|
|
136
|
+
throw new Error('output_path is required and must be a string');
|
|
137
|
+
}
|
|
138
|
+
// Resolve the path (handle relative paths)
|
|
139
|
+
const resolvedPath = path.isAbsolute(output_path)
|
|
140
|
+
? output_path
|
|
141
|
+
: path.resolve(context.cwd, output_path);
|
|
142
|
+
// Check if directory exists
|
|
143
|
+
const directory = path.dirname(resolvedPath);
|
|
144
|
+
if (!fs.existsSync(directory)) {
|
|
145
|
+
throw new Error(`Directory does not exist: ${directory}. Please create the directory first.`);
|
|
146
|
+
}
|
|
147
|
+
// Validate aspect ratio
|
|
148
|
+
const validAspectRatios = ['1:1', '16:9', '9:16', '4:3', '3:4'];
|
|
149
|
+
const selectedAspectRatio = aspect_ratio || '1:1';
|
|
150
|
+
if (!validAspectRatios.includes(selectedAspectRatio)) {
|
|
151
|
+
throw new Error(`Invalid aspect_ratio. Must be one of: ${validAspectRatios.join(', ')}`);
|
|
152
|
+
}
|
|
153
|
+
try {
|
|
154
|
+
// Generate the image via backend
|
|
155
|
+
const result = await generateImageViaBackend(image_prompt, selectedAspectRatio);
|
|
156
|
+
// Ensure the file has the correct extension based on MIME type
|
|
157
|
+
let finalPath = resolvedPath;
|
|
158
|
+
const expectedExt = getExtensionFromMimeType(result.mimeType);
|
|
159
|
+
const currentExt = path.extname(resolvedPath).toLowerCase();
|
|
160
|
+
if (!currentExt) {
|
|
161
|
+
// No extension provided, add one
|
|
162
|
+
finalPath = resolvedPath + expectedExt;
|
|
163
|
+
}
|
|
164
|
+
else if (currentExt !== expectedExt && currentExt !== '.png' && currentExt !== '.jpg' && currentExt !== '.jpeg') {
|
|
165
|
+
// Unusual extension, warn but proceed
|
|
166
|
+
// The file will be saved with the user-specified name
|
|
167
|
+
}
|
|
168
|
+
// Decode base64 and write to file
|
|
169
|
+
const imageBuffer = Buffer.from(result.imageData, 'base64');
|
|
170
|
+
fs.writeFileSync(finalPath, imageBuffer);
|
|
171
|
+
// Get file stats
|
|
172
|
+
const stats = fs.statSync(finalPath);
|
|
173
|
+
const fileSizeKB = Math.round(stats.size / 1024);
|
|
174
|
+
return `Image generated successfully!
|
|
175
|
+
|
|
176
|
+
**File:** ${finalPath}
|
|
177
|
+
**Size:** ${fileSizeKB} KB
|
|
178
|
+
**Format:** ${result.mimeType}
|
|
179
|
+
**Aspect Ratio:** ${selectedAspectRatio}
|
|
180
|
+
|
|
181
|
+
The image has been saved and is ready to use.`;
|
|
182
|
+
}
|
|
183
|
+
catch (error) {
|
|
184
|
+
throw new Error(`Image generation failed: ${error.message}`);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
};
|
|
188
|
+
export default createImageTool;
|
|
189
|
+
//# sourceMappingURL=create-image.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-image.js","sourceRoot":"","sources":["../../src/tools/create-image.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-diff.d.ts","sourceRoot":"","sources":["../../src/tools/get-diff.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAIxD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,WAAW;IACtB;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAwCzE;;OAEG;YACW,iBAAiB;IAW/B;;OAEG;YACW,kBAAkB;IAWhC;;OAEG;YACW,eAAe;IAqB7B;;OAEG;YACW,aAAa;IAoB3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,WAAW;CAUpB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"get-diff.d.ts","sourceRoot":"","sources":["../../src/tools/get-diff.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAwB,MAAM,YAAY,CAAC;AAIxD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,WAAW;IACtB;;OAEG;IACG,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAwCzE;;OAEG;YACW,iBAAiB;IAW/B;;OAEG;YACW,kBAAkB;IAWhC;;OAEG;YACW,eAAe;IAqB7B;;OAEG;YACW,aAAa;IAoB3B;;OAEG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAI1B;;OAEG;IACH,OAAO,CAAC,WAAW;CAUpB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,EAAE,IAmEzB,CAAC"}
|
package/dist/tools/get-diff.js
CHANGED
|
@@ -73,7 +73,7 @@ export class GetDiffTool {
|
|
|
73
73
|
const { stdout } = await execAsync(command, { cwd });
|
|
74
74
|
return stdout
|
|
75
75
|
.trim()
|
|
76
|
-
.split('
|
|
76
|
+
.split('\n')
|
|
77
77
|
.filter(line => line.length > 0);
|
|
78
78
|
}
|
|
79
79
|
catch (error) {
|
|
@@ -175,6 +175,9 @@ IMPORTANT: Always call task_complete after reviewing the diff if the changes loo
|
|
|
175
175
|
filePath: args.filePath,
|
|
176
176
|
staged: args.staged
|
|
177
177
|
};
|
|
178
|
+
// Note: Do NOT call notifyToolStatus here - cli-adapter.ts already handles
|
|
179
|
+
// tool status notifications automatically for all tools. Calling it here
|
|
180
|
+
// would cause duplicate UI elements.
|
|
178
181
|
try {
|
|
179
182
|
const result = await tool.execute(params, context.cwd);
|
|
180
183
|
if (!result.hasChanges) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-diff.js","sourceRoot":"","sources":["../../src/tools/get-diff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAclC,MAAM,OAAO,WAAW;IACtB;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAqB,EAAE,GAAW;QAC9C,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC;QAE5C,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAE/B,yCAAyC;YACzC,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAEnC,4BAA4B;YAC5B,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAEvE,8BAA8B;YAC9B,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,OAAO;oBACL,IAAI,EAAE,+CAA+C;oBACrD,YAAY,EAAE,EAAE;oBAChB,UAAU,EAAE,KAAK;oBACjB,SAAS,EAAE,KAAK;iBACjB,CAAC;YACJ,CAAC;YAED,sBAAsB;YACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;YAE7D,wBAAwB;YACxB,MAAM,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAEhE,OAAO;gBACL,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC;gBACnD,UAAU,EAAE,IAAI;gBAChB,SAAS,EAAE,YAAY;aACxB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,iBAAiB;QAC7B,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,eAAe,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,yBAAyB;gBACzB,kFAAkF,CACnF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,GAAW;QAC1C,IAAI,CAAC;YACH,MAAM,SAAS,CAAC,yBAAyB,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,wBAAwB;gBACxB,sHAAsH,CACvH,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe,CAC3B,GAAW,EACX,MAAe,EACf,QAAiB;QAEjB,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,MAAM,OAAO,GAAG,wBAAwB,UAAU,IAAI,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC;QAEvE,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC;YACrD,OAAO,MAAM;iBACV,IAAI,EAAE;iBACN,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"get-diff.js","sourceRoot":"","sources":["../../src/tools/get-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-complete.d.ts","sourceRoot":"","sources":["../../src/tools/task-complete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,eAAO,MAAM,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"task-complete.d.ts","sourceRoot":"","sources":["../../src/tools/task-complete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAElC,eAAO,MAAM,gBAAgB,EAAE,IAwC9B,CAAC"}
|
|
@@ -3,25 +3,21 @@ export const taskCompleteTool = {
|
|
|
3
3
|
name: 'task_complete',
|
|
4
4
|
description: `FINAL TOOL. Call this to end the conversation.
|
|
5
5
|
|
|
6
|
-
WHEN TO USE SUMMARY:
|
|
7
|
-
- ✅ Complex tasks (file edits, code changes, multi-step operations): Include comprehensive summary
|
|
8
|
-
- ❌ Simple messages (greetings, questions, clarifications): Call with NO summary
|
|
9
|
-
|
|
10
6
|
IMPORTANT - Response Flow:
|
|
11
7
|
1. For simple messages: Output your response text FIRST, then call task_complete() with no summary
|
|
12
|
-
2. For complex tasks: Call task_complete(summary: "...") - the summary will be displayed
|
|
8
|
+
2. For complex tasks: Call task_complete(summary: "...") - the summary will be displayed,
|
|
13
9
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
10
|
+
IMPORTANT
|
|
11
|
+
- Either call task_complete() with a summary or output your response text first and then call task_complete with no summary
|
|
12
|
+
- Do not output response text and then call task_complete with summary again, its either task_complete() with summary or output response text with no summary never both.
|
|
13
|
+
- In the same turn if you output both both response text and call task_complete() with summary again, then the response text with be ignored and only the summary will be displayed
|
|
14
|
+
- The response text is displayed only if the summary is empty or not provided.
|
|
17
15
|
|
|
18
16
|
EXAMPLES:
|
|
19
17
|
- User: "Hey" → Output: "Hello! How can I help?" → Then call: task_complete() [NO SUMMARY]
|
|
20
|
-
- User: "What is X?" → Output: "X is..." → Then call: task_complete() [NO SUMMARY]
|
|
21
|
-
- User: "Find console logs" → Output findings → Then call: task_complete() [NO SUMMARY]
|
|
22
18
|
- User: "Add auth" → Do work → Call: task_complete(summary: "Added authentication...") [WITH SUMMARY]
|
|
23
19
|
|
|
24
|
-
The summary parameter is OPTIONAL
|
|
20
|
+
The summary parameter is OPTIONAL`,
|
|
25
21
|
parameters: {
|
|
26
22
|
type: 'object',
|
|
27
23
|
properties: {
|
|
@@ -31,9 +27,7 @@ The summary parameter is OPTIONAL - only use it for tasks that modified files or
|
|
|
31
27
|
1. **Objective Met**: Clear statement that the task is done
|
|
32
28
|
2. **Files Created/Modified**: Bulleted list of all changed files
|
|
33
29
|
3. **Verification Steps**: Evidence that the code works
|
|
34
|
-
4. **Technical Notes**: Brief explanation of decisions
|
|
35
|
-
|
|
36
|
-
For simple responses (greetings, questions), you can omit this.`,
|
|
30
|
+
4. **Technical Notes**: Brief explanation of decisions`,
|
|
37
31
|
},
|
|
38
32
|
},
|
|
39
33
|
required: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-complete.js","sourceRoot":"","sources":["../../src/tools/task-complete.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,MAAM,EAAE;QACN,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE
|
|
1
|
+
{"version":3,"file":"task-complete.js","sourceRoot":"","sources":["../../src/tools/task-complete.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,gBAAgB,GAAS;IACpC,MAAM,EAAE;QACN,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE;;;;;;;;;;;;;;;;kCAgBiB;QAC9B,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,OAAO,EAAE;oBACP,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE;;;;uDAIgC;iBAC9C;aACF;YACD,QAAQ,EAAE,EAAE;SACb;KACF;IACD,KAAK,CAAC,OAAO,CAAC,IAAI;QAChB,oCAAoC;QACpC,0DAA0D;QAC1D,OAAO,IAAI,CAAC,OAAO,IAAI,iBAAiB,CAAC;IAC3C,CAAC;CACF,CAAC"}
|