@alpaca-editor/core 1.0.4134 → 1.0.4140

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.
Files changed (126) hide show
  1. package/dist/config/config.js +7 -0
  2. package/dist/config/config.js.map +1 -1
  3. package/dist/editor/FieldListField.js +3 -4
  4. package/dist/editor/FieldListField.js.map +1 -1
  5. package/dist/editor/Terminal.js +1 -1
  6. package/dist/editor/Terminal.js.map +1 -1
  7. package/dist/editor/Titlebar.js +0 -1
  8. package/dist/editor/Titlebar.js.map +1 -1
  9. package/dist/editor/ai/AgentCostDisplay.d.ts +3 -1
  10. package/dist/editor/ai/AgentCostDisplay.js +26 -2
  11. package/dist/editor/ai/AgentCostDisplay.js.map +1 -1
  12. package/dist/editor/ai/AgentStatusBadge.d.ts +26 -0
  13. package/dist/editor/ai/AgentStatusBadge.js +110 -0
  14. package/dist/editor/ai/AgentStatusBadge.js.map +1 -0
  15. package/dist/editor/ai/AgentTerminal.js +289 -198
  16. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  17. package/dist/editor/ai/Agents.d.ts +2 -2
  18. package/dist/editor/ai/Agents.js +115 -19
  19. package/dist/editor/ai/Agents.js.map +1 -1
  20. package/dist/editor/ai/AiResponseMessage.js +259 -45
  21. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  22. package/dist/editor/ai/ContextInfoBar.js +124 -113
  23. package/dist/editor/ai/ContextInfoBar.js.map +1 -1
  24. package/dist/editor/ai/ToolCallDisplay.d.ts +1 -0
  25. package/dist/editor/ai/ToolCallDisplay.js +70 -58
  26. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  27. package/dist/editor/ai/useAgentStatus.d.ts +13 -0
  28. package/dist/editor/ai/useAgentStatus.js +101 -0
  29. package/dist/editor/ai/useAgentStatus.js.map +1 -0
  30. package/dist/editor/client/EditorShell.js +23 -8
  31. package/dist/editor/client/EditorShell.js.map +1 -1
  32. package/dist/editor/client/itemsRepository.js.map +1 -1
  33. package/dist/editor/commands/localizeItem/LocalizeItemDialog.js +5 -5
  34. package/dist/editor/commands/localizeItem/LocalizeItemDialog.js.map +1 -1
  35. package/dist/editor/control-center/About.js +1 -1
  36. package/dist/editor/control-center/About.js.map +1 -1
  37. package/dist/editor/control-center/AllAgentsPanel.d.ts +5 -0
  38. package/dist/editor/control-center/AllAgentsPanel.js +126 -0
  39. package/dist/editor/control-center/AllAgentsPanel.js.map +1 -0
  40. package/dist/editor/control-center/WebSocketMessages.js +1 -0
  41. package/dist/editor/control-center/WebSocketMessages.js.map +1 -1
  42. package/dist/editor/control-center/setup-steps/AiSetupStep/tools/GenerateToolsSection.js +42 -7
  43. package/dist/editor/control-center/setup-steps/AiSetupStep/tools/GenerateToolsSection.js.map +1 -1
  44. package/dist/editor/media-selector/AiImageSearch.d.ts +1 -1
  45. package/dist/editor/media-selector/AiImageSearch.js +162 -103
  46. package/dist/editor/media-selector/AiImageSearch.js.map +1 -1
  47. package/dist/editor/media-selector/TreeSelector.js +20 -4
  48. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  49. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +5 -2
  50. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  51. package/dist/editor/page-editor-chrome/PlaceholderDropZone.d.ts +1 -1
  52. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +7 -5
  53. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  54. package/dist/editor/page-viewer/DeviceToolbar.js +2 -2
  55. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  56. package/dist/editor/page-viewer/PageViewerFrame.js +18 -11
  57. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  58. package/dist/editor/services/agentService.d.ts +53 -48
  59. package/dist/editor/services/agentService.js +137 -79
  60. package/dist/editor/services/agentService.js.map +1 -1
  61. package/dist/editor/services/aiService.d.ts +1 -1
  62. package/dist/editor/services/editService.js +1 -0
  63. package/dist/editor/services/editService.js.map +1 -1
  64. package/dist/editor/sidebar/GraphQL.js +20 -7
  65. package/dist/editor/sidebar/GraphQL.js.map +1 -1
  66. package/dist/editor/sidebar/SEOInfo.js +1 -2
  67. package/dist/editor/sidebar/SEOInfo.js.map +1 -1
  68. package/dist/editor/sidebar/Translations.js +10 -7
  69. package/dist/editor/sidebar/Translations.js.map +1 -1
  70. package/dist/editor/ui/ItemNameDialogNew.js +1 -1
  71. package/dist/editor/ui/ItemSearch.js +10 -4
  72. package/dist/editor/ui/ItemSearch.js.map +1 -1
  73. package/dist/page-wizard/steps/CollectStep.js +2 -2
  74. package/dist/page-wizard/steps/CollectStep.js.map +1 -1
  75. package/dist/page-wizard/steps/FieldEditor.js +2 -2
  76. package/dist/page-wizard/steps/FieldEditor.js.map +1 -1
  77. package/dist/revision.d.ts +2 -2
  78. package/dist/revision.js +2 -2
  79. package/dist/splash-screen/NewPage.js +2 -2
  80. package/dist/splash-screen/NewPage.js.map +1 -1
  81. package/dist/splash-screen/RecentPages.js +1 -1
  82. package/dist/splash-screen/RecentPages.js.map +1 -1
  83. package/dist/styles.css +167 -22
  84. package/dist/tour/Tour.js +15 -11
  85. package/dist/tour/Tour.js.map +1 -1
  86. package/package.json +1 -1
  87. package/src/config/config.tsx +7 -0
  88. package/src/editor/FieldListField.tsx +13 -13
  89. package/src/editor/Terminal.tsx +1 -1
  90. package/src/editor/Titlebar.tsx +0 -1
  91. package/src/editor/ai/AgentCostDisplay.tsx +57 -1
  92. package/src/editor/ai/AgentStatusBadge.tsx +144 -0
  93. package/src/editor/ai/AgentTerminal.tsx +345 -219
  94. package/src/editor/ai/Agents.tsx +179 -30
  95. package/src/editor/ai/AiResponseMessage.tsx +411 -114
  96. package/src/editor/ai/ContextInfoBar.tsx +134 -131
  97. package/src/editor/ai/ToolCallDisplay.tsx +217 -176
  98. package/src/editor/ai/useAgentStatus.ts +123 -0
  99. package/src/editor/client/EditorShell.tsx +34 -8
  100. package/src/editor/client/itemsRepository.ts +1 -2
  101. package/src/editor/commands/localizeItem/LocalizeItemDialog.tsx +5 -5
  102. package/src/editor/control-center/About.tsx +0 -14
  103. package/src/editor/control-center/AllAgentsPanel.tsx +300 -0
  104. package/src/editor/control-center/WebSocketMessages.tsx +1 -0
  105. package/src/editor/control-center/setup-steps/AiSetupStep/tools/GenerateToolsSection.tsx +49 -8
  106. package/src/editor/media-selector/AiImageSearch.tsx +162 -172
  107. package/src/editor/media-selector/TreeSelector.tsx +137 -116
  108. package/src/editor/menubar/toolbar-sections/UtilityControls.tsx +9 -1
  109. package/src/editor/page-editor-chrome/PlaceholderDropZone.tsx +7 -4
  110. package/src/editor/page-viewer/DeviceToolbar.tsx +15 -11
  111. package/src/editor/page-viewer/PageViewerFrame.tsx +20 -14
  112. package/src/editor/services/agentService.ts +217 -129
  113. package/src/editor/services/aiService.ts +2 -2
  114. package/src/editor/services/editService.ts +1 -0
  115. package/src/editor/sidebar/GraphQL.tsx +143 -117
  116. package/src/editor/sidebar/SEOInfo.tsx +1 -2
  117. package/src/editor/sidebar/Translations.tsx +14 -12
  118. package/src/editor/ui/ItemNameDialogNew.tsx +1 -1
  119. package/src/editor/ui/ItemSearch.tsx +11 -4
  120. package/src/editor/ui/SimpleTabs.tsx +1 -1
  121. package/src/page-wizard/steps/CollectStep.tsx +2 -2
  122. package/src/page-wizard/steps/FieldEditor.tsx +13 -15
  123. package/src/revision.ts +2 -2
  124. package/src/splash-screen/NewPage.tsx +2 -2
  125. package/src/splash-screen/RecentPages.tsx +1 -1
  126. package/src/tour/Tour.tsx +61 -48
@@ -0,0 +1,126 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useEffect } from "react";
3
+ import { getAllAgents, closeAgent, deleteAgent, } from "../services/agentService";
4
+ import { getAgentStatusConfig } from "../ai/AgentStatusBadge";
5
+ import { cn } from "../../lib/utils";
6
+ import { Trash, X, RefreshCw } from "lucide-react";
7
+ import { SimpleIconButton } from "../ui/SimpleIconButton";
8
+ /**
9
+ * Control Center panel that displays all non-closed agents across all users
10
+ * Admin-only feature for monitoring and managing agents
11
+ */
12
+ export function AllAgentsPanel() {
13
+ const [agents, setAgents] = useState([]);
14
+ const [loading, setLoading] = useState(true);
15
+ const [error, setError] = useState(null);
16
+ const [refreshing, setRefreshing] = useState(false);
17
+ const [searchTerm, setSearchTerm] = useState("");
18
+ const loadAgents = async () => {
19
+ try {
20
+ setError(null);
21
+ const result = await getAllAgents(1000);
22
+ setAgents(result);
23
+ }
24
+ catch (err) {
25
+ console.error("Failed to load agents:", err);
26
+ setError(err?.message ||
27
+ "Failed to load agents. Check if you have admin permissions.");
28
+ }
29
+ finally {
30
+ setLoading(false);
31
+ setRefreshing(false);
32
+ }
33
+ };
34
+ useEffect(() => {
35
+ loadAgents();
36
+ }, []);
37
+ const handleRefresh = async () => {
38
+ setRefreshing(true);
39
+ await loadAgents();
40
+ };
41
+ const handleCloseAgent = async (agentId, agentName) => {
42
+ if (!confirm(`Are you sure you want to close agent "${agentName}"? This will stop its execution if running.`)) {
43
+ return;
44
+ }
45
+ try {
46
+ await closeAgent(agentId);
47
+ // Remove from list or reload
48
+ setAgents((prev) => prev.filter((a) => a.id !== agentId));
49
+ }
50
+ catch (err) {
51
+ console.error("Failed to close agent:", err);
52
+ alert(`Failed to close agent: ${err?.message || "Unknown error"}`);
53
+ }
54
+ };
55
+ const handleDeleteAgent = async (agentId, agentName, event) => {
56
+ event.stopPropagation();
57
+ if (!confirm(`Are you sure you want to permanently delete agent "${agentName}"? This action cannot be undone.`)) {
58
+ return;
59
+ }
60
+ try {
61
+ await deleteAgent(agentId);
62
+ setAgents((prev) => prev.filter((a) => a.id !== agentId));
63
+ }
64
+ catch (err) {
65
+ console.error("Failed to delete agent:", err);
66
+ alert(`Failed to delete agent: ${err?.message || "Unknown error"}`);
67
+ }
68
+ };
69
+ const formatDateTime = (dateString) => {
70
+ try {
71
+ const date = new Date(dateString);
72
+ return date.toLocaleString();
73
+ }
74
+ catch {
75
+ return dateString;
76
+ }
77
+ };
78
+ const filteredAgents = agents.filter((agent) => {
79
+ if (!searchTerm.trim())
80
+ return true;
81
+ const search = searchTerm.toLowerCase();
82
+ return (agent.name.toLowerCase().includes(search) ||
83
+ agent.userId?.toLowerCase().includes(search) ||
84
+ agent.id.toLowerCase().includes(search));
85
+ });
86
+ // Group agents by status
87
+ const groupedAgents = filteredAgents.reduce((acc, agent) => {
88
+ const statusConfig = getAgentStatusConfig(agent);
89
+ const statusLabel = statusConfig.label.replace("Status: ", "");
90
+ if (!acc[statusLabel]) {
91
+ acc[statusLabel] = [];
92
+ }
93
+ acc[statusLabel].push(agent);
94
+ return acc;
95
+ }, {});
96
+ // Sort groups by priority
97
+ const statusOrder = [
98
+ "Waiting for Approval",
99
+ "Running",
100
+ "Error",
101
+ "New",
102
+ "Completed",
103
+ ];
104
+ const sortedGroups = Object.entries(groupedAgents).sort(([a], [b]) => {
105
+ const indexA = statusOrder.indexOf(a);
106
+ const indexB = statusOrder.indexOf(b);
107
+ if (indexA === -1)
108
+ return 1;
109
+ if (indexB === -1)
110
+ return -1;
111
+ return indexA - indexB;
112
+ });
113
+ if (loading) {
114
+ return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("div", { className: "text-sm text-gray-500", children: "Loading agents..." }) }));
115
+ }
116
+ if (error) {
117
+ return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsxs("div", { className: "max-w-md text-center", children: [_jsx("div", { className: "mb-4 text-sm text-red-600", children: error }), _jsx("button", { onClick: handleRefresh, className: "rounded bg-blue-500 px-4 py-2 text-xs text-white hover:bg-blue-600", children: "Retry" })] }) }));
118
+ }
119
+ return (_jsxs("div", { className: "flex h-full flex-col", children: [_jsxs("div", { className: "border-b border-gray-200 bg-white p-4", children: [_jsxs("div", { className: "mb-3 flex items-center justify-between", children: [_jsxs("div", { children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900", children: "All Agents" }), _jsxs("p", { className: "text-xs text-gray-500", children: ["Showing ", filteredAgents.length, " non-closed agent", filteredAgents.length !== 1 ? "s" : "", " across all users"] })] }), _jsx(SimpleIconButton, { onClick: handleRefresh, icon: _jsx(RefreshCw, { className: cn("size-4", refreshing && "animate-spin"), strokeWidth: 1.5 }), label: "Refresh", disabled: refreshing, className: "text-gray-600 hover:text-gray-800" })] }), _jsx("input", { type: "text", placeholder: "Search by name, user, or agent ID...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), className: "w-full rounded border border-gray-200 px-3 py-2 text-sm focus:border-blue-500 focus:outline-none" })] }), _jsx("div", { className: "flex-1 overflow-auto", children: filteredAgents.length === 0 ? (_jsx("div", { className: "flex h-full items-center justify-center text-sm text-gray-500", children: searchTerm.trim()
120
+ ? "No agents match your search"
121
+ : "No non-closed agents found" })) : (_jsx("div", { className: "space-y-6 p-4", children: sortedGroups.map(([statusLabel, groupAgents]) => (_jsxs("div", { children: [_jsxs("h3", { className: "mb-2 text-xs font-semibold tracking-wide text-gray-500 uppercase", children: [statusLabel, " (", groupAgents.length, ")"] }), _jsx("div", { className: "space-y-2", children: groupAgents.map((agent) => {
122
+ const statusConfig = getAgentStatusConfig(agent);
123
+ return (_jsx("div", { className: "rounded-lg border border-gray-200 bg-white p-3 shadow-sm transition-shadow hover:shadow-md", children: _jsxs("div", { className: "flex items-start justify-between", children: [_jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("div", { className: "mb-1 flex items-center gap-2", children: [_jsx("div", { className: cn("h-2 w-2 flex-shrink-0 rounded-full", statusConfig.color, statusConfig.shouldPulse && "animate-pulse"), title: statusConfig.label }), _jsx("h4", { className: "truncate font-medium text-gray-900", children: agent.name })] }), _jsxs("div", { className: "space-y-1 text-xs text-gray-600", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium", children: "User:" }), _jsx("span", { children: agent.userId || "Unknown" })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium", children: "ID:" }), _jsx("span", { className: "font-mono text-xs", children: agent.id })] }), _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium", children: "Updated:" }), _jsx("span", { children: formatDateTime(agent.updatedDate) })] }), agent.totalCost > 0 && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium", children: "Cost:" }), _jsxs("span", { children: ["$", agent.totalCost.toFixed(4)] })] }))] })] }), _jsxs("div", { className: "ml-3 flex gap-1", children: [_jsx(SimpleIconButton, { onClick: () => handleCloseAgent(agent.id, agent.name), icon: _jsx(X, { className: "size-3", strokeWidth: 1.5 }), label: "Close Agent", className: "text-gray-600 opacity-60 hover:text-gray-800 hover:opacity-100" }), _jsx(SimpleIconButton, { onClick: (e) => handleDeleteAgent(agent.id, agent.name, e), icon: _jsx(Trash, { className: "size-3", strokeWidth: 1.5 }), label: "Delete Agent", className: "text-red-600 opacity-60 hover:text-red-700 hover:opacity-100" })] })] }) }, agent.id));
124
+ }) })] }, statusLabel))) })) })] }));
125
+ }
126
+ //# sourceMappingURL=AllAgentsPanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AllAgentsPanel.js","sourceRoot":"","sources":["../../../src/editor/control-center/AllAgentsPanel.tsx"],"names":[],"mappings":"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"}
@@ -47,6 +47,7 @@ export function WebSocketMessages() {
47
47
  "suggested-edit-updated": "bg-indigo-100 text-indigo-800",
48
48
  "suggested-edit-deleted": "bg-red-100 text-red-800",
49
49
  "update-quota": "bg-gray-100 text-gray-800",
50
+ "agent-status-changed": "bg-violet-100 text-violet-800",
50
51
  };
51
52
  return colors[type] || "bg-gray-100 text-gray-800";
52
53
  };
@@ -1 +1 @@
1
- {"version":3,"file":"WebSocketMessages.js","sourceRoot":"","sources":["../../../src/editor/control-center/WebSocketMessages.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebSocketMessages.js","sourceRoot":"","sources":["../../../src/editor/control-center/WebSocketMessages.tsx"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { findByName, resolvePathUnderContent } from "../utils";
8
8
  // IDs for tool templates/fields
9
9
  const AI_TOOLS_TEMPLATE_ID = "7e3f9d9d-8e84-4e57-b12e-6e9c99d4fd11"; // container
10
10
  const AI_TOOL_TEMPLATE_ID = "a2e8a0d9-7b1f-4d1a-a2d8-8f3ea6d6f0b1"; // item template
11
+ const AGENT_SPAWN_TOOL_TEMPLATE_ID = "b1c2d3e4-5f6a-7b8c-9d0e-1f2a3b4c5d6e"; // spawn agent tool template
11
12
  const FIELD_FUNCTION_NAME_ID = "3d9f2b1a-9d44-4d26-8a1b-92f0fb4d3a2c";
12
13
  const FIELD_LABEL_ID = "5a19f5a5-1d21-4b6a-9f83-6f3fc0b34b2e";
13
14
  const FIELD_DESCRIPTION_ID = "6b2e4b8e-8a9f-4d8f-9f6e-1a2b3c4d5e6f";
@@ -203,6 +204,37 @@ export function GenerateToolsSection() {
203
204
  },
204
205
  ],
205
206
  },
207
+ {
208
+ group: "Agents",
209
+ tools: [
210
+ {
211
+ functionName: "spawn-agent",
212
+ label: "Spawn Agent",
213
+ description: "Spawns a new AI agent with a specific profile and task",
214
+ templateId: AGENT_SPAWN_TOOL_TEMPLATE_ID,
215
+ },
216
+ {
217
+ functionName: "query-agent-status",
218
+ label: "Query Agent Status",
219
+ description: "Gets the status and progress of a spawned agent",
220
+ },
221
+ {
222
+ functionName: "stop-agent",
223
+ label: "Stop Agent",
224
+ description: "Stops a running child agent",
225
+ },
226
+ {
227
+ functionName: "report-to-parent",
228
+ label: "Report to Parent",
229
+ description: "Sends a message from child agent to parent agent",
230
+ },
231
+ {
232
+ functionName: "send-prompt-to-agent",
233
+ label: "Send Prompt to Agent",
234
+ description: "Sends a new prompt to a running agent's queue",
235
+ },
236
+ ],
237
+ },
206
238
  ];
207
239
  // Ensure groups exist, then create or move tools under them
208
240
  for (const groupDef of toolsByGroup) {
@@ -236,11 +268,11 @@ export function GenerateToolsSection() {
236
268
  // Load current group children (tools already inside this group)
237
269
  const groupChildren = (await getChildren(groupNode.id, editContext.sessionId, [], false, userLang, "path"));
238
270
  for (const t of groupDef.tools) {
239
- // Try to find tool inside the group first
240
- let toolNode = findChildByName(groupChildren, t.label);
271
+ // Try to find tool inside the group by function name (which is now the item name)
272
+ let toolNode = findChildByName(groupChildren, t.functionName);
241
273
  if (!toolNode) {
242
274
  // See if tool exists at root and move it into the group
243
- const existingAtRoot = findChildByName(rootChildren, t.label);
275
+ const existingAtRoot = findChildByName(rootChildren, t.functionName);
244
276
  if (existingAtRoot) {
245
277
  await editContext.operations.moveItems([
246
278
  {
@@ -257,17 +289,20 @@ export function GenerateToolsSection() {
257
289
  }
258
290
  else {
259
291
  // Create new tool item under the group
292
+ // Use custom template if specified, otherwise use default AI Tool template
293
+ const templateId = t.templateId || AI_TOOL_TEMPLATE_ID;
294
+ // Use function name as the item name - this becomes the tool name that the AI calls
260
295
  const createdTool = await editContext.operations.createItem({
261
296
  id: groupNode.id,
262
297
  language: userLang,
263
298
  version: 0,
264
- }, AI_TOOL_TEMPLATE_ID, t.label);
299
+ }, templateId, t.functionName);
265
300
  if (!createdTool)
266
- throw new Error(`Failed to create tool '${t.label}'`);
301
+ throw new Error(`Failed to create tool '${t.functionName}'`);
267
302
  toolNode = {
268
303
  id: createdTool.id,
269
- name: t.label,
270
- displayName: t.label,
304
+ name: t.functionName,
305
+ displayName: t.functionName,
271
306
  thumbUrl: "",
272
307
  previewUrl: "",
273
308
  templateId: "",
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateToolsSection.js","sourceRoot":"","sources":["../../../../../../src/editor/control-center/setup-steps/AiSetupStep/tools/GenerateToolsSection.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GenerateToolsSection.js","sourceRoot":"","sources":["../../../../../../src/editor/control-center/setup-steps/AiSetupStep/tools/GenerateToolsSection.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  export declare function AiImageSearch({ onMediaSelected, onHide, }: {
2
2
  onMediaSelected: (mediaId: string) => void;
3
3
  onHide: () => void;
4
- }): import("react/jsx-runtime").JSX.Element;
4
+ }): void;
@@ -1,106 +1,165 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, useState, useRef } from "react";
3
- import { useDebouncedCallback } from "use-debounce";
4
- import { createEditorAiContext } from "../ai/editorAiContext";
5
- import { executePrompt } from "../services/aiService";
6
- import { executeSearch } from "../services/searchService";
7
- import { useEditContext } from "../client/editContext";
8
- import { Loader2 } from "lucide-react";
9
- import { Input } from "../../components/ui/input";
10
- import { Thumbnails } from "./Thumbnails";
11
- import { Splitter, SplitterPanel } from "primereact/splitter";
12
- import { Preview } from "./Preview";
13
- import DialogButtons from "../ui/DialogButtons";
14
- import { Button } from "../../components/ui/button";
15
- import { Sparkles } from "lucide-react";
16
- import { toast } from "sonner";
1
+ // import { useEffect, useState, useRef } from "react";
2
+ // import { useDebouncedCallback } from "use-debounce";
3
+ // import { createEditorAiContext } from "../ai/editorAiContext";
4
+ // import { executePrompt } from "../services/aiService";
5
+ // import { executeSearch } from "../services/searchService";
6
+ // import { useEditContext } from "../client/editContext";
7
+ // import { Loader2 } from "lucide-react";
8
+ // import { Input } from "../../components/ui/input";
9
+ // import { Thumbnail } from "../services/contentService";
10
+ // import { Thumbnails } from "./Thumbnails";
11
+ // import { Splitter, SplitterPanel } from "primereact/splitter";
12
+ // import { Preview } from "./Preview";
13
+ // import DialogButtons from "../ui/DialogButtons";
14
+ // import { Button } from "../../components/ui/button";
15
+ // import { Sparkles } from "lucide-react";
16
+ // import { toast } from "sonner";
17
17
  export function AiImageSearch({ onMediaSelected, onHide, }) {
18
- const [prompt, setPrompt] = useState("");
19
- const [loadingPrompt, setLoadingPrompt] = useState(false);
20
- const [loadingThumbnails, setLoadingThumbnails] = useState(false);
21
- const [images, setImages] = useState([]);
22
- const [selectedImage, setSelectedImage] = useState();
23
- const editContext = useEditContext();
24
- const currentSuggestionRequest = useRef(null);
25
- const inputRef = useRef(null);
26
- useEffect(() => {
27
- suggestPrompt();
28
- if (inputRef.current) {
29
- inputRef.current.focus();
30
- }
31
- }, []);
32
- const suggestPrompt = async () => {
33
- if (editContext) {
34
- setPrompt("");
35
- setLoadingPrompt(true);
36
- if (currentSuggestionRequest.current) {
37
- currentSuggestionRequest.current.abort();
38
- }
39
- const abortController = new AbortController();
40
- currentSuggestionRequest.current = abortController;
41
- try {
42
- const result = await executePrompt([
43
- {
44
- content: "Please extract search terms from the field context that can be used to find a matching image. " +
45
- "I will use the search terms to find an image and populate the image field. If the component does not provide enough context, " +
46
- "also get content from the parent component using the get-content function. " +
47
- "Do not consider current image field contents. " +
48
- "Reply with search terms only!",
49
- name: "user",
50
- role: "user",
51
- id: crypto.randomUUID(), // Use proper UUID instead of Date.now()
52
- },
53
- ], { editContext, createAiContext: createEditorAiContext }, { allowedFunctions: ["get-content"], addContextContent: true }, { signal: abortController.signal });
54
- setLoadingPrompt(false);
55
- const lastMessage = result?.messages?.[result.messages.length - 1];
56
- const newPrompt = lastMessage?.content?.replaceAll("\n", "") || "";
57
- setPrompt(newPrompt);
58
- }
59
- catch (error) {
60
- if (error instanceof Error && error.name !== "AbortError") {
61
- console.error("Failed to fetch prompt:", error);
62
- }
63
- setLoadingPrompt(false);
64
- }
65
- finally {
66
- currentSuggestionRequest.current = null;
67
- }
68
- }
69
- };
70
- const handleSearch = useDebouncedCallback(async (searchPrompt) => {
71
- if (!editContext)
72
- return;
73
- setLoadingThumbnails(true);
74
- const result = await executeSearch({
75
- query: searchPrompt,
76
- editContext,
77
- maxResults: 50,
78
- index: "media",
79
- skipValidation: true,
80
- });
81
- if (result.type == "success") {
82
- setImages(result.data);
83
- }
84
- else {
85
- toast.error(result.response.statusText || "Error searching");
86
- }
87
- setLoadingThumbnails(false);
88
- }, 300);
89
- const onPromptChange = (e) => {
90
- const newPrompt = e.target.value;
91
- setPrompt(newPrompt);
92
- if (currentSuggestionRequest.current) {
93
- currentSuggestionRequest.current.abort();
94
- }
95
- };
96
- useEffect(() => {
97
- if (prompt) {
98
- handleSearch(prompt);
99
- }
100
- }, [prompt]);
101
- return (_jsxs(_Fragment, { children: [_jsxs(Splitter, { className: "flex-1 border-0", children: [_jsx(SplitterPanel, { size: 50, className: "flex flex-col pt-4", children: _jsxs("div", { className: "flex flex-1 flex-col gap-2 px-2 pt-2 text-sm", children: [_jsxs("div", { children: ["Search prompt", _jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Input, { ref: inputRef, value: prompt, onChange: onPromptChange, className: "flex-1" }), loadingPrompt && (_jsx("div", { className: "flex h-10 items-center", children: _jsx(Loader2, { className: "h-6 w-6 animate-spin" }) })), !loadingPrompt && (_jsxs(Button, { onClick: () => suggestPrompt(), size: "sm", children: [_jsx(Sparkles, { className: "mr-2 h-4 w-4" }), "Suggest"] }))] })] }), _jsxs("div", { className: "relative flex-1", children: [loadingThumbnails && (_jsx("div", { className: "flex h-full items-center", children: _jsx(Loader2, { className: "h-6 w-6 animate-spin" }) })), _jsx(Thumbnails, { images: images, selectedImage: selectedImage, setSelectedImage: setSelectedImage, onMediaSelected: onMediaSelected, onHide: onHide })] })] }) }), _jsx(SplitterPanel, { size: 50, className: "relative", children: _jsx(Preview, { selectedImage: selectedImage }) })] }), _jsxs(DialogButtons, { children: [_jsx(Button, { disabled: !selectedImage, onClick: () => {
102
- onMediaSelected(selectedImage.id);
103
- onHide();
104
- }, children: "Select" }), _jsx(Button, { onClick: () => onHide(), children: "Cancel" })] })] }));
18
+ // const [prompt, setPrompt] = useState("");
19
+ // const [loadingPrompt, setLoadingPrompt] = useState(false);
20
+ // const [loadingThumbnails, setLoadingThumbnails] = useState(false);
21
+ // const [images, setImages] = useState<Thumbnail[]>([]);
22
+ // const [selectedImage, setSelectedImage] = useState<Thumbnail>();
23
+ // const editContext = useEditContext();
24
+ // const currentSuggestionRequest = useRef<AbortController | null>(null);
25
+ // const inputRef = useRef<HTMLInputElement>(null);
26
+ // useEffect(() => {
27
+ // suggestPrompt();
28
+ // if (inputRef.current) {
29
+ // inputRef.current.focus();
30
+ // }
31
+ // }, []);
32
+ // const suggestPrompt = async () => {
33
+ // if (editContext) {
34
+ // setPrompt("");
35
+ // setLoadingPrompt(true);
36
+ // if (currentSuggestionRequest.current) {
37
+ // currentSuggestionRequest.current.abort();
38
+ // }
39
+ // const abortController = new AbortController();
40
+ // currentSuggestionRequest.current = abortController;
41
+ // try {
42
+ // const result = await executePrompt(
43
+ // [
44
+ // {
45
+ // content:
46
+ // "Please extract search terms from the field context that can be used to find a matching image. " +
47
+ // "I will use the search terms to find an image and populate the image field. If the component does not provide enough context, " +
48
+ // "also get content from the parent component using the get-content function. " +
49
+ // "Do not consider current image field contents. " +
50
+ // "Reply with search terms only!",
51
+ // name: "user",
52
+ // role: "user",
53
+ // id: crypto.randomUUID(), // Use proper UUID instead of Date.now()
54
+ // },
55
+ // ],
56
+ // { editContext, createAiContext: createEditorAiContext },
57
+ // { allowedFunctions: ["get-content"], addContextContent: true },
58
+ // { signal: abortController.signal },
59
+ // );
60
+ // setLoadingPrompt(false);
61
+ // const lastMessage = result?.messages?.[result.messages.length - 1];
62
+ // const newPrompt = lastMessage?.content?.replaceAll("\n", "") || "";
63
+ // setPrompt(newPrompt);
64
+ // } catch (error) {
65
+ // if (error instanceof Error && error.name !== "AbortError") {
66
+ // console.error("Failed to fetch prompt:", error);
67
+ // }
68
+ // setLoadingPrompt(false);
69
+ // } finally {
70
+ // currentSuggestionRequest.current = null;
71
+ // }
72
+ // }
73
+ // };
74
+ // const handleSearch = useDebouncedCallback(async (searchPrompt: string) => {
75
+ // if (!editContext) return;
76
+ // setLoadingThumbnails(true);
77
+ // const result = await executeSearch({
78
+ // query: searchPrompt,
79
+ // editContext,
80
+ // maxResults: 50,
81
+ // index: "media",
82
+ // skipValidation: true,
83
+ // });
84
+ // if (result.type == "success") {
85
+ // setImages(result.data as Thumbnail[]);
86
+ // } else {
87
+ // toast.error(result.response.statusText || "Error searching");
88
+ // }
89
+ // setLoadingThumbnails(false);
90
+ // }, 300);
91
+ // const onPromptChange = (e: React.ChangeEvent<HTMLInputElement>) => {
92
+ // const newPrompt = e.target.value;
93
+ // setPrompt(newPrompt);
94
+ // if (currentSuggestionRequest.current) {
95
+ // currentSuggestionRequest.current.abort();
96
+ // }
97
+ // };
98
+ // useEffect(() => {
99
+ // if (prompt) {
100
+ // handleSearch(prompt);
101
+ // }
102
+ // }, [prompt]);
103
+ // return (
104
+ // <>
105
+ // <Splitter className="flex-1 border-0">
106
+ // <SplitterPanel size={50} className="flex flex-col pt-4">
107
+ // <div className="flex flex-1 flex-col gap-2 px-2 pt-2 text-sm">
108
+ // <div>
109
+ // Search prompt
110
+ // <div className="flex items-center gap-2">
111
+ // <Input
112
+ // ref={inputRef} // Add ref to InputText
113
+ // value={prompt}
114
+ // onChange={onPromptChange}
115
+ // className="flex-1"
116
+ // />
117
+ // {loadingPrompt && (
118
+ // <div className="flex h-10 items-center">
119
+ // <Loader2 className="h-6 w-6 animate-spin" />
120
+ // </div>
121
+ // )}
122
+ // {!loadingPrompt && (
123
+ // <Button onClick={() => suggestPrompt()} size="sm">
124
+ // <Sparkles className="mr-2 h-4 w-4" />
125
+ // Suggest
126
+ // </Button>
127
+ // )}
128
+ // </div>
129
+ // </div>
130
+ // <div className="relative flex-1">
131
+ // {loadingThumbnails && (
132
+ // <div className="flex h-full items-center">
133
+ // <Loader2 className="h-6 w-6 animate-spin" />
134
+ // </div>
135
+ // )}
136
+ // <Thumbnails
137
+ // images={images}
138
+ // selectedImage={selectedImage}
139
+ // setSelectedImage={setSelectedImage}
140
+ // onMediaSelected={onMediaSelected}
141
+ // onHide={onHide}
142
+ // />
143
+ // </div>
144
+ // </div>
145
+ // </SplitterPanel>
146
+ // <SplitterPanel size={50} className="relative">
147
+ // <Preview selectedImage={selectedImage} />
148
+ // </SplitterPanel>
149
+ // </Splitter>
150
+ // <DialogButtons>
151
+ // <Button
152
+ // disabled={!selectedImage}
153
+ // onClick={() => {
154
+ // onMediaSelected(selectedImage!.id);
155
+ // onHide();
156
+ // }}
157
+ // >
158
+ // Select
159
+ // </Button>
160
+ // <Button onClick={() => onHide()}>Cancel</Button>
161
+ // </DialogButtons>
162
+ // </>
163
+ // );
105
164
  }
106
165
  //# sourceMappingURL=AiImageSearch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AiImageSearch.js","sourceRoot":"","sources":["../../../src/editor/media-selector/AiImageSearch.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AiImageSearch.js","sourceRoot":"","sources":["../../../src/editor/media-selector/AiImageSearch.tsx"],"names":[],"mappings":"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"}