@alpaca-editor/core 1.0.4037 → 1.0.4039
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/components/ui/textarea.d.ts +3 -0
- package/dist/components/ui/textarea.js +7 -0
- package/dist/components/ui/textarea.js.map +1 -0
- package/dist/editor/Terminal.js +20 -0
- package/dist/editor/Terminal.js.map +1 -1
- package/dist/editor/ai/Agents.js +14 -0
- package/dist/editor/ai/Agents.js.map +1 -1
- package/dist/editor/ai/AiPromptPopover.js +26 -26
- package/dist/editor/ai/AiPromptPopover.js.map +1 -1
- package/dist/editor/ai/AiResponseMessage.js +8 -6
- package/dist/editor/ai/AiResponseMessage.js.map +1 -1
- package/dist/editor/ai/AiTerminal.d.ts +2 -0
- package/dist/editor/ai/AiTerminal.js +179 -38
- package/dist/editor/ai/AiTerminal.js.map +1 -1
- package/dist/editor/field-types/SingleLineText.js +5 -2
- package/dist/editor/field-types/SingleLineText.js.map +1 -1
- package/dist/editor/services/agentService.js +54 -9
- package/dist/editor/services/agentService.js.map +1 -1
- package/dist/revision.d.ts +2 -2
- package/dist/revision.js +2 -2
- package/dist/styles.css +9 -5
- package/package.json +1 -1
- package/src/components/ui/textarea.tsx +18 -0
- package/src/editor/Terminal.tsx +21 -0
- package/src/editor/ai/Agents.tsx +20 -0
- package/src/editor/ai/AiPromptPopover.tsx +29 -32
- package/src/editor/ai/AiResponseMessage.tsx +22 -6
- package/src/editor/ai/AiTerminal.tsx +250 -50
- package/src/editor/field-types/SingleLineText.tsx +18 -1
- package/src/editor/services/agentService.ts +86 -11
- package/src/revision.ts +2 -2
|
@@ -29,15 +29,18 @@ export async function startAgent(request, context) {
|
|
|
29
29
|
* Connects to an agent's real-time stream using Server-Sent Events
|
|
30
30
|
*/
|
|
31
31
|
export async function connectToAgentStream(agentId, context, onMessage, signal) {
|
|
32
|
+
console.log("RECONNECT: Starting connectToAgentStream for agent:", agentId);
|
|
32
33
|
// Add cache-busting timestamp to prevent browser connection reuse
|
|
33
34
|
const timestamp = Date.now();
|
|
34
35
|
const streamUrl = AGENT_BASE_URL + "/stream?agentId=" + agentId + "&t=" + timestamp;
|
|
36
|
+
console.log("RECONNECT: Stream URL:", streamUrl);
|
|
35
37
|
// Retry logic to handle potential race conditions
|
|
36
38
|
let retryCount = 0;
|
|
37
39
|
const maxRetries = 3;
|
|
38
40
|
const retryDelay = 500; // 500ms
|
|
39
41
|
while (retryCount <= maxRetries) {
|
|
40
42
|
try {
|
|
43
|
+
console.log(`RECONNECT: Attempting connection ${retryCount + 1}/${maxRetries + 1} to agent ${agentId}`);
|
|
41
44
|
const response = await fetch(streamUrl, {
|
|
42
45
|
headers: {
|
|
43
46
|
Accept: "text/event-stream",
|
|
@@ -47,30 +50,43 @@ export async function connectToAgentStream(agentId, context, onMessage, signal)
|
|
|
47
50
|
cache: "no-store",
|
|
48
51
|
signal,
|
|
49
52
|
});
|
|
53
|
+
console.log(`RECONNECT: Fetch response for agent ${agentId}:`, {
|
|
54
|
+
status: response.status,
|
|
55
|
+
statusText: response.statusText,
|
|
56
|
+
ok: response.ok,
|
|
57
|
+
headers: Object.fromEntries(response.headers.entries()),
|
|
58
|
+
});
|
|
50
59
|
if (response.ok) {
|
|
51
60
|
// Success - proceed with stream processing
|
|
61
|
+
console.log(`RECONNECT: Successfully connected to stream for agent ${agentId}, starting to process events`);
|
|
52
62
|
await processEventStream(response, onMessage);
|
|
63
|
+
console.log(`RECONNECT: Event stream processing completed for agent ${agentId}`);
|
|
53
64
|
return;
|
|
54
65
|
}
|
|
55
66
|
// If 404 and we haven't maxed out retries, wait and retry
|
|
56
67
|
if (response.status === 404 && retryCount < maxRetries) {
|
|
57
68
|
retryCount++;
|
|
58
|
-
console.warn(`Agent stream not ready (404), retrying in ${retryDelay}ms... (${retryCount}/${maxRetries})`);
|
|
69
|
+
console.warn(`RECONNECT: Agent stream not ready (404), retrying in ${retryDelay}ms... (${retryCount}/${maxRetries}) for agent ${agentId}`);
|
|
59
70
|
await new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
60
71
|
continue;
|
|
61
72
|
}
|
|
62
73
|
// For other errors or max retries reached, throw
|
|
63
|
-
|
|
74
|
+
const errorMessage = `Failed to connect to agent stream: ${response.status} ${response.statusText}`;
|
|
75
|
+
console.error(`RECONNECT: ${errorMessage} for agent ${agentId}`);
|
|
76
|
+
throw new Error(errorMessage);
|
|
64
77
|
}
|
|
65
78
|
catch (error) {
|
|
79
|
+
console.log(`RECONNECT: Caught error for agent ${agentId}:`, error);
|
|
66
80
|
if (signal?.aborted) {
|
|
81
|
+
console.log(`RECONNECT: Request aborted for agent ${agentId}`);
|
|
67
82
|
throw error; // Don't retry if cancelled
|
|
68
83
|
}
|
|
69
84
|
if (retryCount >= maxRetries) {
|
|
85
|
+
console.error(`RECONNECT: Max retries reached for agent ${agentId}, giving up`);
|
|
70
86
|
throw error;
|
|
71
87
|
}
|
|
72
88
|
retryCount++;
|
|
73
|
-
console.warn(`Error connecting to agent stream, retrying... (${retryCount}/${maxRetries})`, error);
|
|
89
|
+
console.warn(`RECONNECT: Error connecting to agent stream, retrying... (${retryCount}/${maxRetries}) for agent ${agentId}`, error);
|
|
74
90
|
await new Promise((resolve) => setTimeout(resolve, retryDelay));
|
|
75
91
|
}
|
|
76
92
|
}
|
|
@@ -79,16 +95,21 @@ export async function connectToAgentStream(agentId, context, onMessage, signal)
|
|
|
79
95
|
* Processes the event stream response
|
|
80
96
|
*/
|
|
81
97
|
async function processEventStream(response, onMessage) {
|
|
98
|
+
console.log("RECONNECT: Starting to process event stream");
|
|
82
99
|
const reader = response.body?.getReader();
|
|
83
100
|
if (!reader) {
|
|
84
|
-
|
|
101
|
+
const error = "Failed to get stream reader";
|
|
102
|
+
console.error("RECONNECT:", error);
|
|
103
|
+
throw new Error(error);
|
|
85
104
|
}
|
|
86
105
|
const decoder = new TextDecoder();
|
|
87
106
|
let buffer = "";
|
|
107
|
+
let messageCount = 0;
|
|
88
108
|
try {
|
|
89
109
|
while (true) {
|
|
90
110
|
const { done, value } = await reader.read();
|
|
91
111
|
if (done) {
|
|
112
|
+
console.log(`RECONNECT: Stream reader finished. Total messages processed: ${messageCount}`);
|
|
92
113
|
break;
|
|
93
114
|
}
|
|
94
115
|
buffer += decoder.decode(value, { stream: true });
|
|
@@ -109,9 +130,16 @@ async function processEventStream(response, onMessage) {
|
|
|
109
130
|
try {
|
|
110
131
|
const data = line.slice(6); // Remove 'data: ' prefix
|
|
111
132
|
if (data.trim()) {
|
|
133
|
+
messageCount++;
|
|
112
134
|
const message = JSON.parse(data);
|
|
135
|
+
console.log(`RECONNECT: Processing SSE message #${messageCount}:`, {
|
|
136
|
+
type: message.type,
|
|
137
|
+
hasData: !!message.data,
|
|
138
|
+
error: message.error,
|
|
139
|
+
});
|
|
113
140
|
// Normalize message type (handle both numeric and string enum values)
|
|
114
141
|
if (typeof message.type === "number") {
|
|
142
|
+
const originalType = message.type;
|
|
115
143
|
switch (message.type) {
|
|
116
144
|
case 0:
|
|
117
145
|
message.type = AgentStreamMessageType.StatusUpdate;
|
|
@@ -137,18 +165,19 @@ async function processEventStream(response, onMessage) {
|
|
|
137
165
|
default:
|
|
138
166
|
message.type = `Unknown_${message.type}`;
|
|
139
167
|
}
|
|
168
|
+
console.log(`RECONNECT: Normalized message type from ${originalType} to ${message.type}`);
|
|
140
169
|
}
|
|
141
170
|
onMessage(message);
|
|
142
171
|
// Break on completion or error
|
|
143
172
|
if (message.type === AgentStreamMessageType.Completed ||
|
|
144
173
|
message.type === AgentStreamMessageType.Error) {
|
|
145
|
-
|
|
174
|
+
console.log(`RECONNECT: Stream ending due to message type: ${message.type}. Total messages: ${messageCount}`);
|
|
146
175
|
return;
|
|
147
176
|
}
|
|
148
177
|
}
|
|
149
178
|
}
|
|
150
179
|
catch (error) {
|
|
151
|
-
console.error("Failed to parse SSE message:", error, line);
|
|
180
|
+
console.error("RECONNECT: Failed to parse SSE message:", error, line);
|
|
152
181
|
// Send error message to the client to notify user
|
|
153
182
|
onMessage({
|
|
154
183
|
type: AgentStreamMessageType.Error,
|
|
@@ -158,11 +187,15 @@ async function processEventStream(response, onMessage) {
|
|
|
158
187
|
});
|
|
159
188
|
}
|
|
160
189
|
}
|
|
190
|
+
else if (line.trim() && !line.startsWith(":")) {
|
|
191
|
+
// Log non-data, non-comment lines for debugging
|
|
192
|
+
console.log("RECONNECT: Unexpected SSE line format:", line);
|
|
193
|
+
}
|
|
161
194
|
}
|
|
162
195
|
}
|
|
163
196
|
}
|
|
164
197
|
finally {
|
|
165
|
-
|
|
198
|
+
console.log(`RECONNECT: Stream ended, releasing reader lock. Final message count: ${messageCount}`);
|
|
166
199
|
reader.releaseLock();
|
|
167
200
|
}
|
|
168
201
|
}
|
|
@@ -259,7 +292,7 @@ export async function getChatHistory(context, status, limit) {
|
|
|
259
292
|
* Cancels a running agent execution
|
|
260
293
|
*/
|
|
261
294
|
export async function cancelAgent(agentId, context) {
|
|
262
|
-
const response = await fetch(AGENT_BASE_URL + "/
|
|
295
|
+
const response = await fetch(AGENT_BASE_URL + "/cancel", {
|
|
263
296
|
method: "POST",
|
|
264
297
|
headers: {
|
|
265
298
|
"Content-Type": "application/json",
|
|
@@ -307,15 +340,25 @@ export async function closeAgent(agentId, context) {
|
|
|
307
340
|
* Checks if an agent exists and returns its current state with messages
|
|
308
341
|
*/
|
|
309
342
|
export async function checkAgentState(agentId, context) {
|
|
343
|
+
console.log("RECONNECT: Checking agent state for:", agentId);
|
|
310
344
|
try {
|
|
311
345
|
const agent = await getAgent(agentId, context);
|
|
346
|
+
console.log("RECONNECT: Agent found:", {
|
|
347
|
+
id: agent.id,
|
|
348
|
+
status: agent.status,
|
|
349
|
+
messageCount: agent.messages?.length || 0,
|
|
350
|
+
lastMessageDate: agent.lastMessageDate,
|
|
351
|
+
});
|
|
352
|
+
const isRunning = agent.status === 0;
|
|
353
|
+
console.log("RECONNECT: Agent running status:", isRunning);
|
|
312
354
|
return {
|
|
313
355
|
exists: true,
|
|
314
356
|
agent,
|
|
315
|
-
isRunning
|
|
357
|
+
isRunning,
|
|
316
358
|
};
|
|
317
359
|
}
|
|
318
360
|
catch (error) {
|
|
361
|
+
console.log("RECONNECT: Agent not found or error fetching:", error);
|
|
319
362
|
// If agent doesn't exist, return false
|
|
320
363
|
return {
|
|
321
364
|
exists: false,
|
|
@@ -346,6 +389,8 @@ export function convertAgentMessagesToTerminalFormat(agentMessages) {
|
|
|
346
389
|
function: {
|
|
347
390
|
name: tc.functionName,
|
|
348
391
|
arguments: tc.functionArguments,
|
|
392
|
+
result: tc.functionResult,
|
|
393
|
+
error: tc.functionError,
|
|
349
394
|
},
|
|
350
395
|
}));
|
|
351
396
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agentService.js","sourceRoot":"","sources":["../../../src/editor/services/agentService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agentService.js","sourceRoot":"","sources":["../../../src/editor/services/agentService.ts"],"names":[],"mappings":"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"}
|
package/dist/revision.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "1.0.
|
|
2
|
-
export declare const buildDate = "2025-08-
|
|
1
|
+
export declare const version = "1.0.4039";
|
|
2
|
+
export declare const buildDate = "2025-08-11 14:38:58";
|
package/dist/revision.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export const version = "1.0.
|
|
2
|
-
export const buildDate = "2025-08-
|
|
1
|
+
export const version = "1.0.4039";
|
|
2
|
+
export const buildDate = "2025-08-11 14:38:58";
|
|
3
3
|
//# sourceMappingURL=revision.js.map
|
package/dist/styles.css
CHANGED
|
@@ -539,6 +539,9 @@
|
|
|
539
539
|
.table {
|
|
540
540
|
display: table;
|
|
541
541
|
}
|
|
542
|
+
.field-sizing-content {
|
|
543
|
+
field-sizing: content;
|
|
544
|
+
}
|
|
542
545
|
.aspect-\[1\.75\] {
|
|
543
546
|
aspect-ratio: 1.75;
|
|
544
547
|
}
|
|
@@ -760,6 +763,9 @@
|
|
|
760
763
|
.min-h-8 {
|
|
761
764
|
min-height: calc(var(--spacing) * 8);
|
|
762
765
|
}
|
|
766
|
+
.min-h-16 {
|
|
767
|
+
min-height: calc(var(--spacing) * 16);
|
|
768
|
+
}
|
|
763
769
|
.min-h-\[70px\] {
|
|
764
770
|
min-height: 70px;
|
|
765
771
|
}
|
|
@@ -2034,6 +2040,9 @@
|
|
|
2034
2040
|
.pr-6 {
|
|
2035
2041
|
padding-right: calc(var(--spacing) * 6);
|
|
2036
2042
|
}
|
|
2043
|
+
.pr-7 {
|
|
2044
|
+
padding-right: calc(var(--spacing) * 7);
|
|
2045
|
+
}
|
|
2037
2046
|
.pb-0 {
|
|
2038
2047
|
padding-bottom: calc(var(--spacing) * 0);
|
|
2039
2048
|
}
|
|
@@ -3102,11 +3111,6 @@
|
|
|
3102
3111
|
border-color: var(--color-blue-500);
|
|
3103
3112
|
}
|
|
3104
3113
|
}
|
|
3105
|
-
.focus\:border-transparent {
|
|
3106
|
-
&:focus {
|
|
3107
|
-
border-color: transparent;
|
|
3108
|
-
}
|
|
3109
|
-
}
|
|
3110
3114
|
.focus\:bg-accent {
|
|
3111
3115
|
&:focus {
|
|
3112
3116
|
background-color: var(--accent);
|
package/package.json
CHANGED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
|
|
3
|
+
import { cn } from "../../lib/utils";
|
|
4
|
+
|
|
5
|
+
function Textarea({ className, ...props }: React.ComponentProps<"textarea">) {
|
|
6
|
+
return (
|
|
7
|
+
<textarea
|
|
8
|
+
data-slot="textarea"
|
|
9
|
+
className={cn(
|
|
10
|
+
"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
11
|
+
className,
|
|
12
|
+
)}
|
|
13
|
+
{...props}
|
|
14
|
+
/>
|
|
15
|
+
);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export { Textarea };
|
package/src/editor/Terminal.tsx
CHANGED
|
@@ -10,6 +10,7 @@ import { InputTextarea } from "primereact/inputtextarea";
|
|
|
10
10
|
import { classNames } from "primereact/utils";
|
|
11
11
|
import { SimpleIconButton } from "./ui/SimpleIconButton";
|
|
12
12
|
import { Trash2, Send } from "lucide-react";
|
|
13
|
+
import { TerminalService } from "primereact/terminalservice";
|
|
13
14
|
|
|
14
15
|
type Message = {
|
|
15
16
|
text: React.ReactNode;
|
|
@@ -83,6 +84,26 @@ export const Terminal = forwardRef<
|
|
|
83
84
|
messageRef.current = messages;
|
|
84
85
|
}, [messages]);
|
|
85
86
|
|
|
87
|
+
// Allow external responses via TerminalService (e.g., reconnection streaming)
|
|
88
|
+
useEffect(() => {
|
|
89
|
+
const responseHandler = (payload: any) => {
|
|
90
|
+
const { text, finished } = payload || {};
|
|
91
|
+
const isFinished =
|
|
92
|
+
typeof finished === "boolean" ? finished : payload?.type === "response";
|
|
93
|
+
if (!isFinished) setResponse(text);
|
|
94
|
+
else {
|
|
95
|
+
setResponse(undefined);
|
|
96
|
+
setMessages([...messageRef.current, { type: "response", text }]);
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
// @ts-ignore primereact TerminalService event bus
|
|
100
|
+
TerminalService.on("response", responseHandler);
|
|
101
|
+
return () => {
|
|
102
|
+
// @ts-ignore
|
|
103
|
+
TerminalService.off("response", responseHandler);
|
|
104
|
+
};
|
|
105
|
+
}, []);
|
|
106
|
+
|
|
86
107
|
// Set initial messages if provided
|
|
87
108
|
useEffect(() => {
|
|
88
109
|
if (
|
package/src/editor/ai/Agents.tsx
CHANGED
|
@@ -52,6 +52,7 @@ function convertAgentMessagesToTerminalMessages(
|
|
|
52
52
|
name: toolCall.functionName,
|
|
53
53
|
arguments: toolCall.functionArguments || "",
|
|
54
54
|
result: toolCall.functionResult,
|
|
55
|
+
error: toolCall.functionError,
|
|
55
56
|
},
|
|
56
57
|
})) || [],
|
|
57
58
|
tool_call_id: msg.toolCallId,
|
|
@@ -101,6 +102,25 @@ export function Agents({
|
|
|
101
102
|
loadAgentsFromBackend();
|
|
102
103
|
}, []);
|
|
103
104
|
|
|
105
|
+
// Listen for WebSocket messages about agent changes
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
if (!editContext) return;
|
|
108
|
+
|
|
109
|
+
const removeSocketListener = editContext.addSocketMessageListener(
|
|
110
|
+
(message) => {
|
|
111
|
+
if (
|
|
112
|
+
message.type === "agent-started" ||
|
|
113
|
+
message.type === "agent-updated"
|
|
114
|
+
) {
|
|
115
|
+
// Refresh agents list when new agents are started or updated
|
|
116
|
+
loadAgentsFromBackend();
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
return removeSocketListener;
|
|
122
|
+
}, [editContext]);
|
|
123
|
+
|
|
104
124
|
const loadAgentsFromBackend = async () => {
|
|
105
125
|
try {
|
|
106
126
|
setLoadingAgents(true);
|
|
@@ -8,9 +8,11 @@ import {
|
|
|
8
8
|
PopoverTrigger,
|
|
9
9
|
} from "../../components/ui/popover";
|
|
10
10
|
import { Button } from "../../components/ui/button";
|
|
11
|
+
import { Textarea } from "../../components/ui/textarea";
|
|
11
12
|
import { useEditContext } from "../client/editContext";
|
|
12
|
-
import { AiTerminalOptions } from "./AiTerminal";
|
|
13
13
|
import { Component } from "../pageModel";
|
|
14
|
+
import { startAgent, StartAgentRequest } from "../services/agentService";
|
|
15
|
+
import { createEditorAiContext } from "./editorAiContext";
|
|
14
16
|
|
|
15
17
|
interface AiPromptPopoverProps {
|
|
16
18
|
children: React.ReactNode;
|
|
@@ -66,35 +68,30 @@ User request: ${prompt.trim()}`;
|
|
|
66
68
|
hiddenSystemPrompt = `Working with components: ${JSON.stringify(componentDetails, null, 2)}`;
|
|
67
69
|
}
|
|
68
70
|
|
|
69
|
-
// Switch to agents view first
|
|
70
|
-
editContext?.switchView("agents");
|
|
71
|
-
|
|
72
71
|
try {
|
|
73
|
-
|
|
74
|
-
|
|
72
|
+
await startAgentExecution(finalPrompt, hiddenSystemPrompt);
|
|
73
|
+
// Switch to agents view after agent has been created so it appears on initial load
|
|
74
|
+
editContext?.switchView("agents");
|
|
75
75
|
} catch (error) {
|
|
76
|
-
console.error("Failed to
|
|
77
|
-
// Fallback to the old method if the new one fails
|
|
78
|
-
const aiOptions: AiTerminalOptions = {
|
|
79
|
-
initialPrompt: finalPrompt,
|
|
80
|
-
hiddenSystemPrompt,
|
|
81
|
-
};
|
|
76
|
+
console.error("Failed to start agent:", error);
|
|
82
77
|
}
|
|
83
78
|
|
|
84
79
|
// Reset the prompt
|
|
85
80
|
setPrompt("");
|
|
86
81
|
};
|
|
87
82
|
|
|
88
|
-
const
|
|
83
|
+
const startAgentExecution = async (
|
|
89
84
|
initialPrompt: string,
|
|
90
85
|
hiddenSystemPrompt?: string,
|
|
91
86
|
) => {
|
|
92
87
|
if (!editContext) return;
|
|
88
|
+
if (!editContext.currentItemDescriptor?.id) {
|
|
89
|
+
console.error("Cannot start agent: no current item selected");
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
93
92
|
|
|
94
|
-
// Generate a new agent ID
|
|
95
93
|
const newAgentId = crypto.randomUUID();
|
|
96
94
|
|
|
97
|
-
// Create the user message
|
|
98
95
|
const userMessage = {
|
|
99
96
|
id: crypto.randomUUID(),
|
|
100
97
|
content: initialPrompt,
|
|
@@ -102,7 +99,6 @@ User request: ${prompt.trim()}`;
|
|
|
102
99
|
name: "user",
|
|
103
100
|
};
|
|
104
101
|
|
|
105
|
-
// Create messages array with optional hidden system prompt
|
|
106
102
|
const messages = [
|
|
107
103
|
...(hiddenSystemPrompt
|
|
108
104
|
? [
|
|
@@ -117,22 +113,23 @@ User request: ${prompt.trim()}`;
|
|
|
117
113
|
userMessage,
|
|
118
114
|
];
|
|
119
115
|
|
|
120
|
-
// Import the required functions
|
|
121
|
-
const { executePrompt } = await import("../services/aiService");
|
|
122
|
-
const { createEditorAiContext } = await import("./editorAiContext");
|
|
123
|
-
|
|
124
|
-
// Create AI context
|
|
125
116
|
const aiContext = createEditorAiContext({ editContext });
|
|
126
117
|
|
|
127
|
-
|
|
128
|
-
await executePrompt(messages, aiContext, {
|
|
129
|
-
sessionId: editContext.sessionId,
|
|
118
|
+
const startRequest: StartAgentRequest = {
|
|
130
119
|
agentId: newAgentId,
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
120
|
+
messages,
|
|
121
|
+
sessionId: editContext.sessionId,
|
|
122
|
+
profileId: "Editor",
|
|
123
|
+
itemid: editContext.currentItemDescriptor.id,
|
|
124
|
+
language: editContext.currentItemDescriptor?.language || "en",
|
|
125
|
+
version: editContext.currentItemDescriptor?.version || 1,
|
|
126
|
+
selection: components?.map((c) => c.id),
|
|
127
|
+
addSelectedComponents: components?.length > 0,
|
|
128
|
+
profile: "Editor",
|
|
129
|
+
};
|
|
134
130
|
|
|
135
|
-
|
|
131
|
+
await startAgent(startRequest, aiContext);
|
|
132
|
+
// Agents view will reflect the new agent via its own refresh mechanisms
|
|
136
133
|
};
|
|
137
134
|
|
|
138
135
|
const handleKeyDown = (e: React.KeyboardEvent) => {
|
|
@@ -158,7 +155,7 @@ User request: ${prompt.trim()}`;
|
|
|
158
155
|
>
|
|
159
156
|
<div className="space-y-3">
|
|
160
157
|
<div className="flex items-center gap-2">
|
|
161
|
-
<Sparkles size={16} className="text-blue-500" />
|
|
158
|
+
<Sparkles size={16} strokeWidth={1} className="text-blue-500" />
|
|
162
159
|
<h3 className="font-medium">AI Assistant</h3>
|
|
163
160
|
</div>
|
|
164
161
|
|
|
@@ -172,13 +169,13 @@ User request: ${prompt.trim()}`;
|
|
|
172
169
|
</span>
|
|
173
170
|
)}
|
|
174
171
|
</label>
|
|
175
|
-
<
|
|
172
|
+
<Textarea
|
|
176
173
|
id="ai-prompt"
|
|
177
174
|
value={prompt}
|
|
178
175
|
onChange={(e) => setPrompt(e.target.value)}
|
|
179
176
|
onKeyDown={handleKeyDown}
|
|
180
177
|
placeholder="Enter your prompt here..."
|
|
181
|
-
className="
|
|
178
|
+
className="mt-2 resize-none"
|
|
182
179
|
rows={3}
|
|
183
180
|
autoFocus
|
|
184
181
|
/>
|
|
@@ -198,7 +195,7 @@ User request: ${prompt.trim()}`;
|
|
|
198
195
|
disabled={!prompt.trim()}
|
|
199
196
|
className="flex items-center gap-1"
|
|
200
197
|
>
|
|
201
|
-
<Send size={14} />
|
|
198
|
+
<Send size={14} strokeWidth={1} />
|
|
202
199
|
Start Agent
|
|
203
200
|
</Button>
|
|
204
201
|
</div>
|
|
@@ -217,13 +217,22 @@ export function AiResponseMessage({
|
|
|
217
217
|
},
|
|
218
218
|
];
|
|
219
219
|
|
|
220
|
-
if
|
|
220
|
+
// Add output tab if there's a result or error
|
|
221
|
+
if (result || toolCall.function.error) {
|
|
222
|
+
const hasError = toolCall.function.error;
|
|
221
223
|
tabs.push({
|
|
222
224
|
id: `output-${toolCall.id}`,
|
|
223
|
-
label: "Output",
|
|
225
|
+
label: hasError ? "Error" : "Output",
|
|
224
226
|
content: (
|
|
225
227
|
<div className="h-[250px] w-full overflow-auto p-2">
|
|
226
|
-
|
|
228
|
+
{hasError ? (
|
|
229
|
+
<div className="rounded border-l-4 border-red-500 bg-red-50 p-3 text-xs text-red-600">
|
|
230
|
+
<div className="mb-1 font-medium">Tool Error:</div>
|
|
231
|
+
<div>{toolCall.function.error}</div>
|
|
232
|
+
</div>
|
|
233
|
+
) : (
|
|
234
|
+
<div className="text-xs">{renderJsonOrText(result || "")}</div>
|
|
235
|
+
)}
|
|
227
236
|
</div>
|
|
228
237
|
),
|
|
229
238
|
});
|
|
@@ -329,8 +338,10 @@ export function AiResponseMessage({
|
|
|
329
338
|
>
|
|
330
339
|
<PopoverTrigger asChild>
|
|
331
340
|
<div className="inline-flex cursor-pointer items-center gap-1 text-xs text-gray-500 hover:text-gray-700">
|
|
332
|
-
{toolResult ? (
|
|
333
|
-
<div
|
|
341
|
+
{toolResult || toolCall.function?.error ? (
|
|
342
|
+
<div
|
|
343
|
+
className={`flex items-center ${toolCall.function?.error ? "text-red-500" : ""}`}
|
|
344
|
+
>
|
|
334
345
|
{getToolIcon(toolCall?.function?.name || "")}
|
|
335
346
|
</div>
|
|
336
347
|
) : finished ? (
|
|
@@ -340,10 +351,15 @@ export function AiResponseMessage({
|
|
|
340
351
|
) : (
|
|
341
352
|
<Spinner size="xs" />
|
|
342
353
|
)}
|
|
343
|
-
<span
|
|
354
|
+
<span
|
|
355
|
+
className={
|
|
356
|
+
toolCall.function?.error ? "text-red-500" : ""
|
|
357
|
+
}
|
|
358
|
+
>
|
|
344
359
|
{toolCall?.displayName ||
|
|
345
360
|
toolCall?.function?.name ||
|
|
346
361
|
"tool call"}
|
|
362
|
+
{toolCall.function?.error && " (error)"}
|
|
347
363
|
</span>
|
|
348
364
|
</div>
|
|
349
365
|
</PopoverTrigger>
|