@alpaca-editor/core 1.0.4183 → 1.0.4185

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 (43) hide show
  1. package/dist/agents-view/AgentCard.d.ts +12 -0
  2. package/dist/agents-view/AgentCard.js +30 -0
  3. package/dist/agents-view/AgentCard.js.map +1 -0
  4. package/dist/agents-view/AgentsView.d.ts +2 -2
  5. package/dist/agents-view/AgentsView.js +102 -85
  6. package/dist/agents-view/AgentsView.js.map +1 -1
  7. package/dist/agents-view/ProfileAgentsGroup.d.ts +17 -0
  8. package/dist/agents-view/ProfileAgentsGroup.js +13 -0
  9. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -0
  10. package/dist/editor/ai/AgentProfilesOverview.js +1 -1
  11. package/dist/editor/ai/AgentProfilesOverview.js.map +1 -1
  12. package/dist/editor/commands/componentCommands.js +19 -1
  13. package/dist/editor/commands/componentCommands.js.map +1 -1
  14. package/dist/editor/page-editor-chrome/FrameMenu.js +7 -3
  15. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  16. package/dist/editor/page-viewer/PageViewerFrame.js +7 -28
  17. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  18. package/dist/editor/reviews/Comment.js +56 -4
  19. package/dist/editor/reviews/Comment.js.map +1 -1
  20. package/dist/editor/services/agentService.d.ts +19 -0
  21. package/dist/editor/services/agentService.js +39 -0
  22. package/dist/editor/services/agentService.js.map +1 -1
  23. package/dist/editor/services/serviceHelper.d.ts +1 -0
  24. package/dist/editor/services/serviceHelper.js +58 -4
  25. package/dist/editor/services/serviceHelper.js.map +1 -1
  26. package/dist/revision.d.ts +2 -2
  27. package/dist/revision.js +2 -2
  28. package/dist/styles.css +4 -6
  29. package/dist/tour/default-tour.js +24 -9
  30. package/dist/tour/default-tour.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/agents-view/AgentCard.tsx +162 -0
  33. package/src/agents-view/AgentsView.tsx +218 -253
  34. package/src/agents-view/ProfileAgentsGroup.tsx +123 -0
  35. package/src/editor/ai/AgentProfilesOverview.tsx +1 -2
  36. package/src/editor/commands/componentCommands.tsx +19 -1
  37. package/src/editor/page-editor-chrome/FrameMenu.tsx +9 -3
  38. package/src/editor/page-viewer/PageViewerFrame.tsx +7 -36
  39. package/src/editor/reviews/Comment.tsx +85 -4
  40. package/src/editor/services/agentService.ts +77 -0
  41. package/src/editor/services/serviceHelper.ts +92 -28
  42. package/src/revision.ts +2 -2
  43. package/src/tour/default-tour.tsx +63 -48
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { Agent } from "../editor/services/agentService";
3
+ interface AgentCardProps {
4
+ agent: Agent;
5
+ onClick: (agent: Agent) => void;
6
+ onResume: (agent: Agent) => void;
7
+ onClose: (agentId: string, agentName: string) => void;
8
+ onDelete: (agentId: string, agentName: string, event: React.MouseEvent) => void;
9
+ formatDateTime: (dateString: string) => string;
10
+ }
11
+ export declare function AgentCard({ agent, onClick, onResume, onClose, onDelete, formatDateTime, }: AgentCardProps): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { getAgentStatusConfig } from "../editor/ai/AgentStatusBadge";
3
+ import { cn } from "../lib/utils";
4
+ import { Trash, X, Play, Users } from "lucide-react";
5
+ import { SimpleIconButton } from "../editor/ui/SimpleIconButton";
6
+ import { SecretAgentIcon } from "../editor/ui/Icons";
7
+ export function AgentCard({ agent, onClick, onResume, onClose, onDelete, formatDateTime, }) {
8
+ const statusConfig = getAgentStatusConfig(agent);
9
+ const isClosed = agent.status === "closed" || agent.status === 5;
10
+ const handleCardClick = () => {
11
+ if (isClosed) {
12
+ // If agent is closed, resume it directly
13
+ onResume(agent);
14
+ }
15
+ else {
16
+ // If agent is active, just select it
17
+ onClick(agent);
18
+ }
19
+ };
20
+ return (_jsx("div", { className: "cursor-pointer rounded-lg border border-gray-200 bg-white p-3 shadow-sm transition-shadow hover:shadow-md", onClick: handleCardClick, children: _jsxs("div", { className: "flex items-start justify-between", children: [_jsx("div", { className: "mr-3 flex-shrink-0", children: agent.profileSvgIcon ? (_jsx("div", { className: "flex h-6 w-6 items-center justify-center text-gray-400 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: {
21
+ __html: agent.profileSvgIcon,
22
+ } })) : (_jsx(SecretAgentIcon, { size: 24, strokeWidth: 1, className: "text-gray-400" })) }), _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 }), agent.isShared && (_jsxs("div", { className: "flex items-center gap-1 rounded bg-blue-50 px-2 py-0.5 text-xs text-blue-700", children: [_jsx(Users, { className: "size-3", strokeWidth: 1 }), _jsx("span", { children: "Shared" })] }))] }), agent.isShared && agent.ownerName && (_jsxs("p", { className: "mb-1 text-xs text-gray-500", children: ["Created by ", agent.ownerName] })), agent.description && (_jsx("p", { className: "mb-2 truncate text-xs text-gray-500", children: agent.description })), _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: "Updated:" }), _jsx("span", { children: formatDateTime(agent.updatedDate) })] }), agent.messageCount !== undefined && agent.messageCount > 0 && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium", children: "Messages:" }), _jsx("span", { children: agent.messageCount })] })), agent.totalCost !== undefined && 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)] }), agent.totalTokensUsed !== undefined && (_jsxs("span", { className: "text-gray-400", children: ["(", agent.totalTokensUsed.toLocaleString(), " tokens)"] }))] }))] })] }), _jsxs("div", { className: "ml-3 flex gap-1", children: [isClosed && (_jsx(SimpleIconButton, { onClick: (e) => {
23
+ e.stopPropagation();
24
+ onResume(agent);
25
+ }, icon: _jsx(Play, { className: "size-3", strokeWidth: 1.5 }), label: "Resume Agent", className: "text-blue-600 opacity-60 hover:text-blue-700 hover:opacity-100" })), !isClosed && (_jsx(SimpleIconButton, { onClick: (e) => {
26
+ e.stopPropagation();
27
+ onClose(agent.id, agent.name);
28
+ }, 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) => onDelete(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));
29
+ }
30
+ //# sourceMappingURL=AgentCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AgentCard.js","sourceRoot":"","sources":["../../src/agents-view/AgentCard.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Agents overview view that displays all agents for the current user
3
- * (including closed and shared agents) grouped by profile with interactive controls
2
+ * Agents overview view that displays active agents at the top
3
+ * and closed agents grouped by profile below with interactive controls
4
4
  */
5
5
  export declare function AgentsView(): import("react/jsx-runtime").JSX.Element;
@@ -1,33 +1,29 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect, useCallback, useRef } from "react";
3
- import { getActiveAgents, closeAgent, deleteAgent, } from "../editor/services/agentService";
4
- import { getAgentStatusConfig } from "../editor/ai/AgentStatusBadge";
2
+ import { useState, useEffect, useCallback } from "react";
3
+ import { getAgentsGrouped, getClosedAgentsByProfile, closeAgent, deleteAgent, } from "../editor/services/agentService";
5
4
  import { cn } from "../lib/utils";
6
- import { Trash, X, RefreshCw, Play, Search, Users, XCircle, } from "lucide-react";
5
+ import { RefreshCw, Search, XCircle } from "lucide-react";
7
6
  import { SimpleIconButton } from "../editor/ui/SimpleIconButton";
8
7
  import { useEditContext } from "../editor/client/editContext";
9
- import { SecretAgentIcon } from "../editor/ui/Icons";
8
+ import { AgentCard } from "./AgentCard";
9
+ import { ProfileAgentsGroup } from "./ProfileAgentsGroup";
10
10
  /**
11
- * Agents overview view that displays all agents for the current user
12
- * (including closed and shared agents) grouped by profile with interactive controls
11
+ * Agents overview view that displays active agents at the top
12
+ * and closed agents grouped by profile below with interactive controls
13
13
  */
14
14
  export function AgentsView() {
15
15
  const editContext = useEditContext();
16
- const [agents, setAgents] = useState([]);
17
- const [totalCount, setTotalCount] = useState(0);
18
- const [hasMore, setHasMore] = useState(false);
16
+ const [activeAgents, setActiveAgents] = useState([]);
17
+ const [profileGroups, setProfileGroups] = useState([]);
18
+ const [expandedProfiles, setExpandedProfiles] = useState(new Set());
19
+ const [loadingMoreForProfile, setLoadingMoreForProfile] = useState(null);
19
20
  const [loading, setLoading] = useState(true);
20
- const [loadingMore, setLoadingMore] = useState(false);
21
+ const [initialLoad, setInitialLoad] = useState(true);
21
22
  const [error, setError] = useState(null);
22
23
  const [refreshing, setRefreshing] = useState(false);
23
24
  const [searchTerm, setSearchTerm] = useState("");
24
25
  const [debouncedSearchTerm, setDebouncedSearchTerm] = useState("");
25
26
  const [showOnlyMyAgents, setShowOnlyMyAgents] = useState(false);
26
- const agentsRef = useRef([]);
27
- // Keep ref in sync with state
28
- useEffect(() => {
29
- agentsRef.current = agents;
30
- }, [agents]);
31
27
  // Debounce search term
32
28
  useEffect(() => {
33
29
  const timer = setTimeout(() => {
@@ -35,32 +31,14 @@ export function AgentsView() {
35
31
  }, 400);
36
32
  return () => clearTimeout(timer);
37
33
  }, [searchTerm]);
38
- const loadAgents = useCallback(async (reset = false) => {
34
+ const loadAgents = useCallback(async () => {
39
35
  try {
40
- if (reset) {
41
- setLoading(true);
42
- setError(null);
43
- }
44
- else {
45
- setLoadingMore(true);
46
- }
47
- const skip = reset ? 0 : agentsRef.current.length;
48
- const params = {
49
- skip,
50
- limit: 50,
51
- includeShared: !showOnlyMyAgents,
52
- includeOwned: true,
53
- searchTerm: debouncedSearchTerm || undefined,
54
- };
55
- const response = await getActiveAgents(params);
56
- if (reset) {
57
- setAgents(response.agents);
58
- }
59
- else {
60
- setAgents((prev) => [...prev, ...response.agents]);
61
- }
62
- setTotalCount(response.totalCount);
63
- setHasMore(response.hasMore);
36
+ setLoading(true);
37
+ setError(null);
38
+ const response = await getAgentsGrouped(debouncedSearchTerm || undefined, !showOnlyMyAgents, // includeShared
39
+ true);
40
+ setActiveAgents(response.activeAgents);
41
+ setProfileGroups(response.closedAgentsByProfile);
64
42
  }
65
43
  catch (err) {
66
44
  console.error("Failed to load agents:", err);
@@ -68,14 +46,14 @@ export function AgentsView() {
68
46
  }
69
47
  finally {
70
48
  setLoading(false);
71
- setLoadingMore(false);
72
49
  setRefreshing(false);
50
+ setInitialLoad(false);
73
51
  }
74
52
  }, [showOnlyMyAgents, debouncedSearchTerm]);
75
- // Initial load
53
+ // Initial load and reload when filters change
76
54
  useEffect(() => {
77
- loadAgents(true);
78
- }, [showOnlyMyAgents, debouncedSearchTerm]);
55
+ loadAgents();
56
+ }, [loadAgents]);
79
57
  // Subscribe to websocket messages for real-time agent updates
80
58
  useEffect(() => {
81
59
  if (!editContext?.addSocketMessageListener)
@@ -87,8 +65,8 @@ export function AgentsView() {
87
65
  console.warn("Invalid agent:run:start message payload:", message.payload);
88
66
  return;
89
67
  }
90
- setAgents((prevAgents) => {
91
- // Check if agent already exists
68
+ // Update or add agent in active agents list
69
+ setActiveAgents((prevAgents) => {
92
70
  const existingAgentIndex = prevAgents.findIndex((agent) => agent.id === agentId);
93
71
  if (existingAgentIndex !== -1) {
94
72
  // Update existing agent
@@ -103,7 +81,7 @@ export function AgentsView() {
103
81
  return updatedAgents;
104
82
  }
105
83
  else {
106
- // Add new agent - reload to get full details
84
+ // Agent not found - reload to get full details
107
85
  loadAgents();
108
86
  return prevAgents;
109
87
  }
@@ -113,8 +91,8 @@ export function AgentsView() {
113
91
  const { agentId, agentName, agentDescription } = message.payload || {};
114
92
  if (!agentId)
115
93
  return;
116
- // Update the agent name and/or description in the list
117
- setAgents((prevAgents) => {
94
+ // Update agent in active agents list
95
+ setActiveAgents((prevAgents) => {
118
96
  const existingIndex = prevAgents.findIndex((a) => a.id === agentId);
119
97
  if (existingIndex === -1)
120
98
  return prevAgents;
@@ -132,19 +110,58 @@ export function AgentsView() {
132
110
  });
133
111
  }
134
112
  else if (message.type === "agent:run:closed") {
135
- // Reload agents when one is closed - it should still appear in the list
136
- loadAgents(true);
113
+ // Reload agents when one is closed - it should move to closed section
114
+ loadAgents();
137
115
  }
138
116
  });
139
117
  return unsubscribe;
140
118
  }, [editContext?.addSocketMessageListener, loadAgents]);
141
119
  const handleRefresh = async () => {
142
120
  setRefreshing(true);
143
- await loadAgents(true);
121
+ await loadAgents();
122
+ };
123
+ const handleToggleProfile = (profileId) => {
124
+ const key = profileId || "null";
125
+ setExpandedProfiles((prev) => {
126
+ const newSet = new Set(prev);
127
+ if (newSet.has(key)) {
128
+ newSet.delete(key);
129
+ }
130
+ else {
131
+ newSet.add(key);
132
+ }
133
+ return newSet;
134
+ });
144
135
  };
145
- const handleLoadMore = () => {
146
- if (!loadingMore && hasMore) {
147
- loadAgents(false);
136
+ const handleLoadMoreForProfile = async (profileId) => {
137
+ if (!profileId || loadingMoreForProfile)
138
+ return;
139
+ try {
140
+ setLoadingMoreForProfile(profileId);
141
+ // Find the current profile group
142
+ const profileGroup = profileGroups.find((g) => g.profileId === profileId);
143
+ if (!profileGroup)
144
+ return;
145
+ const currentCount = profileGroup.agents.length;
146
+ // Load more agents for this profile
147
+ const response = await getClosedAgentsByProfile(profileId, currentCount, 10, debouncedSearchTerm || undefined);
148
+ // Update the profile group with new agents
149
+ setProfileGroups((prevGroups) => prevGroups.map((group) => {
150
+ if (group.profileId === profileId) {
151
+ return {
152
+ ...group,
153
+ agents: [...group.agents, ...response.agents],
154
+ };
155
+ }
156
+ return group;
157
+ }));
158
+ }
159
+ catch (err) {
160
+ console.error("Failed to load more agents:", err);
161
+ editContext?.showToast(`Failed to load more agents: ${err?.message || "Unknown error"}`);
162
+ }
163
+ finally {
164
+ setLoadingMoreForProfile(null);
148
165
  }
149
166
  };
150
167
  const handleResumeAgent = (agent) => {
@@ -165,7 +182,8 @@ export function AgentsView() {
165
182
  accept: async () => {
166
183
  try {
167
184
  await closeAgent(agentId);
168
- setAgents((prev) => prev.filter((a) => a.id !== agentId));
185
+ // Reload to move agent from active to closed section
186
+ loadAgents();
169
187
  }
170
188
  catch (err) {
171
189
  console.error("Failed to close agent:", err);
@@ -184,7 +202,13 @@ export function AgentsView() {
184
202
  accept: async () => {
185
203
  try {
186
204
  await deleteAgent(agentId);
187
- setAgents((prev) => prev.filter((a) => a.id !== agentId));
205
+ // Remove from both active and closed lists
206
+ setActiveAgents((prev) => prev.filter((a) => a.id !== agentId));
207
+ setProfileGroups((prevGroups) => prevGroups.map((group) => ({
208
+ ...group,
209
+ agents: group.agents.filter((a) => a.id !== agentId),
210
+ totalClosedCount: Math.max(0, group.totalClosedCount - 1),
211
+ })));
188
212
  }
189
213
  catch (err) {
190
214
  console.error("Failed to delete agent:", err);
@@ -194,6 +218,12 @@ export function AgentsView() {
194
218
  showCancel: true,
195
219
  });
196
220
  };
221
+ const handleAgentClick = (agent) => {
222
+ // Only select the agent in the agents panel; do not switch views
223
+ window.dispatchEvent(new CustomEvent("editor:selectAgent", {
224
+ detail: { agentId: agent.id },
225
+ }));
226
+ };
197
227
  const formatDateTime = (dateString) => {
198
228
  try {
199
229
  const date = new Date(dateString);
@@ -203,34 +233,21 @@ export function AgentsView() {
203
233
  return dateString;
204
234
  }
205
235
  };
206
- // No client-side filtering needed - backend handles it
207
- // Just display the agents as returned from the API
208
- if (loading) {
236
+ // Show full-screen loading only on initial load
237
+ if (initialLoad && loading) {
209
238
  return (_jsx("div", { className: "flex h-full items-center justify-center", children: _jsx("div", { className: "text-sm text-gray-500", children: "Loading agents..." }) }));
210
239
  }
211
- if (error) {
212
- 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" })] }) }));
213
- }
214
- 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: "Agents" }), _jsxs("p", { className: "text-xs text-gray-500", children: ["Showing ", agents.length, " of ", totalCount, " agent", totalCount !== 1 ? "s" : ""] })] }), _jsx("div", { className: "flex items-center gap-2", children: _jsx(SimpleIconButton, { onClick: handleRefresh, icon: _jsx(RefreshCw, { className: cn("size-4", refreshing && "animate-spin"), strokeWidth: 1 }), label: "Refresh", disabled: refreshing, className: "text-gray-600 hover:text-gray-800" }) })] }), _jsx("div", { className: "mb-3", children: _jsxs("label", { className: "flex cursor-pointer items-center gap-2 text-sm", children: [_jsx("input", { type: "checkbox", checked: showOnlyMyAgents, onChange: (e) => setShowOnlyMyAgents(e.target.checked), className: "h-4 w-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500" }), _jsx("span", { className: "text-gray-700", children: "Show only my agents" })] }) }), _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute top-1/2 left-3 size-4 -translate-y-1/2 text-gray-400", strokeWidth: 1 }), _jsx("input", { type: "text", placeholder: "Search by name or description...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), className: "w-full rounded border border-gray-200 py-2 pr-10 pl-10 text-sm focus:border-blue-500 focus:outline-none" }), searchTerm && (_jsx("button", { onClick: () => setSearchTerm(""), className: "absolute top-1/2 right-3 -translate-y-1/2 text-gray-400 hover:text-gray-600", children: _jsx(XCircle, { className: "size-4", strokeWidth: 1 }) }))] })] }), _jsx("div", { className: "flex-1 overflow-auto", children: agents.length === 0 ? (_jsx("div", { className: "flex h-full items-center justify-center text-sm text-gray-500", children: searchTerm.trim()
215
- ? "No agents match your search"
216
- : "No agents found" })) : (_jsxs("div", { className: "space-y-2 p-4", children: [agents.map((agent) => {
217
- const statusConfig = getAgentStatusConfig(agent);
218
- return (_jsx("div", { className: "cursor-pointer rounded-lg border border-gray-200 bg-white p-3 shadow-sm transition-shadow hover:shadow-md", onClick: () => {
219
- // Only select the agent in the agents panel; do not switch views
220
- window.dispatchEvent(new CustomEvent("editor:selectAgent", {
221
- detail: { agentId: agent.id },
222
- }));
223
- }, children: _jsxs("div", { className: "flex items-start justify-between", children: [_jsx("div", { className: "mr-3 flex-shrink-0", children: agent.profileSvgIcon ? (_jsx("div", { className: "flex h-6 w-6 items-center justify-center text-gray-400 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: {
224
- __html: agent.profileSvgIcon,
225
- } })) : (_jsx(SecretAgentIcon, { size: 24, strokeWidth: 1, className: "text-gray-400" })) }), _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 }), agent.isShared && (_jsxs("div", { className: "flex items-center gap-1 rounded bg-blue-50 px-2 py-0.5 text-xs text-blue-700", children: [_jsx(Users, { className: "size-3", strokeWidth: 1 }), _jsx("span", { children: "Shared" })] }))] }), agent.isShared && agent.ownerName && (_jsxs("p", { className: "mb-1 text-xs text-gray-500", children: ["Created by ", agent.ownerName] })), agent.description && (_jsx("p", { className: "mb-2 truncate text-xs text-gray-500", children: agent.description })), _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: "Updated:" }), _jsx("span", { children: formatDateTime(agent.updatedDate) })] }), agent.messageCount !== undefined &&
226
- agent.messageCount > 0 && (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx("span", { className: "font-medium", children: "Messages:" }), _jsx("span", { children: agent.messageCount })] })), agent.totalCost !== undefined &&
227
- 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)] }), agent.totalTokensUsed !== undefined && (_jsxs("span", { className: "text-gray-400", children: ["(", agent.totalTokensUsed.toLocaleString(), " ", "tokens)"] }))] }))] })] }), _jsxs("div", { className: "ml-3 flex gap-1", children: [_jsx(SimpleIconButton, { onClick: (e) => {
228
- e.stopPropagation();
229
- handleResumeAgent(agent);
230
- }, icon: _jsx(Play, { className: "size-3", strokeWidth: 1.5 }), label: "Resume Agent", className: "text-blue-600 opacity-60 hover:text-blue-700 hover:opacity-100" }), _jsx(SimpleIconButton, { onClick: (e) => {
231
- e.stopPropagation();
232
- handleCloseAgent(agent.id, agent.name);
233
- }, 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));
234
- }), hasMore && (_jsx("div", { className: "flex justify-center pt-4", children: _jsx("button", { onClick: handleLoadMore, disabled: loadingMore, className: "rounded-lg border border-gray-300 bg-white px-6 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:opacity-50", children: loadingMore ? "Loading..." : "Load More" }) }))] })) })] }));
240
+ const totalActiveCount = activeAgents.length;
241
+ const totalClosedCount = profileGroups.reduce((sum, group) => sum + group.totalClosedCount, 0);
242
+ const totalCount = totalActiveCount + totalClosedCount;
243
+ return (_jsxs("div", { className: "absolute inset-0 flex flex-col", children: [_jsxs("div", { className: "flex-shrink-0 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: "Agents" }), _jsxs("p", { className: "text-xs text-gray-500", children: [totalActiveCount, " active, ", totalClosedCount, " closed (", totalCount, " ", "total)"] })] }), _jsx("div", { className: "flex items-center gap-2", children: _jsx(SimpleIconButton, { onClick: handleRefresh, icon: _jsx(RefreshCw, { className: cn("size-4", refreshing && "animate-spin"), strokeWidth: 1 }), label: "Refresh", disabled: refreshing, className: "text-gray-600 hover:text-gray-800" }) })] }), _jsx("div", { className: "mb-3", children: _jsxs("label", { className: "flex cursor-pointer items-center gap-2 text-sm", children: [_jsx("input", { type: "checkbox", checked: showOnlyMyAgents, onChange: (e) => setShowOnlyMyAgents(e.target.checked), className: "h-4 w-4 rounded border-gray-300 text-blue-600 focus:ring-blue-500" }), _jsx("span", { className: "text-gray-700", children: "Show only my agents" })] }) }), _jsxs("div", { className: "relative", children: [_jsx(Search, { className: "absolute top-1/2 left-3 size-4 -translate-y-1/2 text-gray-400", strokeWidth: 1 }), _jsx("input", { type: "text", placeholder: "Search by name or description...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), className: "w-full rounded border border-gray-200 py-2 pr-10 pl-10 text-sm focus:border-blue-500 focus:outline-none" }), searchTerm && (_jsx("button", { onClick: () => setSearchTerm(""), className: "absolute top-1/2 right-3 -translate-y-1/2 text-gray-400 hover:text-gray-600", children: _jsx(XCircle, { className: "size-4", strokeWidth: 1 }) }))] })] }), _jsxs("div", { className: "relative flex-1 overflow-y-auto", children: [loading && !initialLoad && (_jsx("div", { className: "absolute top-2 left-1/2 z-10 -translate-x-1/2 rounded-md bg-white px-3 py-1.5 shadow-md", children: _jsxs("div", { className: "flex items-center gap-2 text-sm text-gray-600", children: [_jsx(RefreshCw, { className: "size-3 animate-spin", strokeWidth: 1 }), _jsx("span", { children: "Loading..." })] }) })), error ? (_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" })] }) })) : totalCount === 0 && !loading ? (_jsx("div", { className: "flex h-full items-center justify-center text-sm text-gray-500", children: searchTerm.trim()
244
+ ? "No agents match your search"
245
+ : "No agents found" })) : (_jsxs("div", { className: cn("space-y-4 p-4", loading && "opacity-60"), children: [activeAgents.length > 0 && (_jsxs("div", { className: "space-y-2", children: [_jsx("h3", { className: "text-sm font-semibold text-gray-700", children: "Active Agents" }), activeAgents.map((agent) => (_jsx(AgentCard, { agent: agent, onClick: handleAgentClick, onResume: handleResumeAgent, onClose: handleCloseAgent, onDelete: handleDeleteAgent, formatDateTime: formatDateTime }, agent.id)))] })), profileGroups.length > 0 && (_jsxs("div", { className: "space-y-2", children: [_jsx("h3", { className: "text-sm font-semibold text-gray-700", children: "Closed Agents by Profile" }), profileGroups.map((profileGroup) => {
246
+ const profileKey = profileGroup.profileId || "null";
247
+ const isExpanded = expandedProfiles.has(profileKey);
248
+ const isLoadingMore = loadingMoreForProfile === profileGroup.profileId;
249
+ const hasMore = profileGroup.agents.length < profileGroup.totalClosedCount;
250
+ return (_jsx(ProfileAgentsGroup, { profileGroup: profileGroup, isExpanded: isExpanded, isLoadingMore: isLoadingMore, hasMore: hasMore, onToggle: () => handleToggleProfile(profileGroup.profileId), onLoadMore: () => handleLoadMoreForProfile(profileGroup.profileId), onAgentClick: handleAgentClick, onResumeAgent: handleResumeAgent, onCloseAgent: handleCloseAgent, onDeleteAgent: handleDeleteAgent, formatDateTime: formatDateTime }, profileKey));
251
+ })] }))] }))] })] }));
235
252
  }
236
253
  //# sourceMappingURL=AgentsView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentsView.js","sourceRoot":"","sources":["../../src/agents-view/AgentsView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentsView.js","sourceRoot":"","sources":["../../src/agents-view/AgentsView.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import React from "react";
2
+ import { Agent, ProfileAgentsGroup as ProfileGroup } from "../editor/services/agentService";
3
+ interface ProfileAgentsGroupProps {
4
+ profileGroup: ProfileGroup;
5
+ isExpanded: boolean;
6
+ isLoadingMore: boolean;
7
+ hasMore: boolean;
8
+ onToggle: () => void;
9
+ onLoadMore: () => void;
10
+ onAgentClick: (agent: Agent) => void;
11
+ onResumeAgent: (agent: Agent) => void;
12
+ onCloseAgent: (agentId: string, agentName: string) => void;
13
+ onDeleteAgent: (agentId: string, agentName: string, event: React.MouseEvent) => void;
14
+ formatDateTime: (dateString: string) => string;
15
+ }
16
+ export declare function ProfileAgentsGroup({ profileGroup, isExpanded, isLoadingMore, hasMore, onToggle, onLoadMore, onAgentClick, onResumeAgent, onCloseAgent, onDeleteAgent, formatDateTime, }: ProfileAgentsGroupProps): import("react/jsx-runtime").JSX.Element;
17
+ export {};
@@ -0,0 +1,13 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ChevronDown, ChevronUp } from "lucide-react";
3
+ import { AgentCard } from "./AgentCard";
4
+ import { SecretAgentIcon } from "../editor/ui/Icons";
5
+ export function ProfileAgentsGroup({ profileGroup, isExpanded, isLoadingMore, hasMore, onToggle, onLoadMore, onAgentClick, onResumeAgent, onCloseAgent, onDeleteAgent, formatDateTime, }) {
6
+ return (_jsxs("div", { className: "rounded-lg border border-gray-200 bg-white shadow-sm", children: [_jsxs("button", { onClick: onToggle, className: "flex w-full items-center gap-3 bg-gray-50 p-3 text-left transition-colors hover:bg-gray-100", children: [_jsx("div", { className: "flex-shrink-0", children: profileGroup.profileSvgIcon ? (_jsx("div", { className: "flex h-6 w-6 items-center justify-center text-gray-500 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: {
7
+ __html: profileGroup.profileSvgIcon,
8
+ } })) : (_jsx(SecretAgentIcon, { size: 24, strokeWidth: 1, className: "text-gray-500" })) }), _jsx("div", { className: "min-w-0 flex-1", children: _jsx("h3", { className: "truncate font-medium text-gray-900", children: profileGroup.profileName }) }), _jsxs("div", { className: "flex-shrink-0 rounded-full bg-gray-200 px-3 py-1 text-xs font-medium text-gray-700", children: [profileGroup.totalClosedCount, " closed agent", profileGroup.totalClosedCount !== 1 ? "s" : ""] }), _jsx("div", { className: "flex-shrink-0 text-gray-500", children: isExpanded ? (_jsx(ChevronUp, { className: "size-5", strokeWidth: 1 })) : (_jsx(ChevronDown, { className: "size-5", strokeWidth: 1 })) })] }), isExpanded && (_jsxs("div", { className: "space-y-2 p-3", children: [profileGroup.agents.map((agent) => (_jsx(AgentCard, { agent: agent, onClick: onAgentClick, onResume: onResumeAgent, onClose: onCloseAgent, onDelete: onDeleteAgent, formatDateTime: formatDateTime }, agent.id))), hasMore && (_jsx("div", { className: "flex justify-center pt-2", children: _jsx("button", { onClick: (e) => {
9
+ e.stopPropagation();
10
+ onLoadMore();
11
+ }, disabled: isLoadingMore, className: "rounded-lg border border-gray-300 bg-white px-6 py-2 text-sm font-medium text-gray-700 hover:bg-gray-50 disabled:opacity-50", children: isLoadingMore ? "Loading..." : "Load More" }) }))] }))] }));
12
+ }
13
+ //# sourceMappingURL=ProfileAgentsGroup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProfileAgentsGroup.js","sourceRoot":"","sources":["../../src/agents-view/ProfileAgentsGroup.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAoBrD,MAAM,UAAU,kBAAkB,CAAC,EACjC,YAAY,EACZ,UAAU,EACV,aAAa,EACb,OAAO,EACP,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,aAAa,EACb,cAAc,GACU;IACxB,OAAO,CACL,eAAK,SAAS,EAAC,sDAAsD,aAEnE,kBACE,OAAO,EAAE,QAAQ,EACjB,SAAS,EAAC,6FAA6F,aAGvG,cAAK,SAAS,EAAC,eAAe,YAC3B,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC,CAC7B,cACE,SAAS,EAAC,sFAAsF,EAChG,uBAAuB,EAAE;gCACvB,MAAM,EAAE,YAAY,CAAC,cAAc;6BACpC,GACD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,eAAe,IACd,IAAI,EAAE,EAAE,EACR,WAAW,EAAE,CAAC,EACd,SAAS,EAAC,eAAe,GACzB,CACH,GACG,EAGN,cAAK,SAAS,EAAC,gBAAgB,YAC7B,aAAI,SAAS,EAAC,oCAAoC,YAC/C,YAAY,CAAC,WAAW,GACtB,GACD,EAGN,eAAK,SAAS,EAAC,oFAAoF,aAChG,YAAY,CAAC,gBAAgB,mBAC7B,YAAY,CAAC,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,IAC3C,EAGN,cAAK,SAAS,EAAC,6BAA6B,YACzC,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,SAAS,IAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,GAAI,CACjD,CAAC,CAAC,CAAC,CACF,KAAC,WAAW,IAAC,SAAS,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,GAAI,CACnD,GACG,IACC,EAGR,UAAU,IAAI,CACb,eAAK,SAAS,EAAC,eAAe,aAC3B,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAClC,KAAC,SAAS,IAER,KAAK,EAAE,KAAK,EACZ,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,YAAY,EACrB,QAAQ,EAAE,aAAa,EACvB,cAAc,EAAE,cAAc,IANzB,KAAK,CAAC,EAAE,CAOb,CACH,CAAC,EAGD,OAAO,IAAI,CACV,cAAK,SAAS,EAAC,0BAA0B,YACvC,iBACE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;gCACb,CAAC,CAAC,eAAe,EAAE,CAAC;gCACpB,UAAU,EAAE,CAAC;4BACf,CAAC,EACD,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAC,6HAA6H,YAEtI,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,GACpC,GACL,CACP,IACG,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -10,7 +10,7 @@ export const AgentProfilesOverview = ({ profiles, onSelectProfile, className, })
10
10
  return (_jsx("div", { className: cn("grid grid-cols-[repeat(auto-fit,minmax(min(200px,100%),1fr))] gap-3", className), children: visibleProfiles.map((profile) => {
11
11
  const displayTitle = profile.displayTitle || profile.name;
12
12
  const description = profile.description || "";
13
- return (_jsxs("button", { onClick: () => onSelectProfile(profile.id), className: "group flex flex-col gap-3 rounded-lg border border-gray-200 bg-white p-4 text-left transition-all hover:border-blue-300 hover:shadow-md focus:border-blue-500 focus:ring-2 focus:ring-blue-500 focus:ring-offset-1 focus:outline-none", "data-testid": "agent-profile-card", "data-profile-id": profile.id, children: [_jsx("div", { className: "flex items-center justify-center", children: profile.svgIcon ? (_jsx("div", { className: "flex h-12 w-12 items-center justify-center transition-transform group-hover:scale-110 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: { __html: profile.svgIcon } })) : (_jsx(Bot, { className: "h-12 w-12 text-gray-400 transition-transform group-hover:scale-110 group-hover:text-blue-500", strokeWidth: 1 })) }), _jsx("h3", { className: "text-sm font-semibold text-gray-900", children: displayTitle }), description && (_jsx("p", { className: "line-clamp-3 text-xs text-gray-500", children: description }))] }, profile.id));
13
+ return (_jsxs("button", { onClick: () => onSelectProfile(profile.id), className: "group flex flex-col gap-3 rounded-lg border border-gray-200 bg-white p-4 text-left transition-all hover:border-blue-300 hover:shadow-md", "data-testid": "agent-profile-card", "data-profile-id": profile.id, children: [_jsx("div", { className: "flex items-center justify-center", children: profile.svgIcon ? (_jsx("div", { className: "flex h-12 w-12 items-center justify-center transition-transform group-hover:scale-110 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: { __html: profile.svgIcon } })) : (_jsx(Bot, { className: "h-12 w-12 text-gray-400 transition-transform group-hover:scale-110 group-hover:text-blue-500", strokeWidth: 1 })) }), _jsx("h3", { className: "text-sm font-semibold text-gray-900", children: displayTitle }), description && (_jsx("p", { className: "line-clamp-3 text-xs text-gray-500", children: description }))] }, profile.id));
14
14
  }) }));
15
15
  };
16
16
  //# sourceMappingURL=AgentProfilesOverview.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentProfilesOverview.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentProfilesOverview.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAQnC,MAAM,CAAC,MAAM,qBAAqB,GAAyC,CAAC,EAC1E,QAAQ,EACR,eAAe,EACf,SAAS,GACV,EAAE,EAAE;IACH,6BAA6B;IAC7B,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CACrC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CACzC,CAAC;IAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,SAAS,CAAC,4CAE5D,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CACX,qEAAqE,EACrE,SAAS,CACV,YAEA,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;YAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;YAE9C,OAAO,CACL,kBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EAC1C,SAAS,EAAC,uOAAuO,iBACrO,oBAAoB,qBACf,OAAO,CAAC,EAAE,aAG3B,cAAK,SAAS,EAAC,kCAAkC,YAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CACjB,cACE,SAAS,EAAC,qHAAqH,EAC/H,uBAAuB,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,GACpD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,GAAG,IACF,SAAS,EAAC,8FAA8F,EACxG,WAAW,EAAE,CAAC,GACd,CACH,GACG,EAGN,aAAI,SAAS,EAAC,qCAAqC,YAChD,YAAY,GACV,EAGJ,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,oCAAoC,YAC9C,WAAW,GACV,CACL,KA/BI,OAAO,CAAC,EAAE,CAgCR,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"AgentProfilesOverview.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentProfilesOverview.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAQnC,MAAM,CAAC,MAAM,qBAAqB,GAAyC,CAAC,EAC1E,QAAQ,EACR,eAAe,EACf,SAAS,GACV,EAAE,EAAE;IACH,6BAA6B;IAC7B,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CACrC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,CACzC,CAAC;IAEF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO,CACL,cAAK,SAAS,EAAE,EAAE,CAAC,mCAAmC,EAAE,SAAS,CAAC,4CAE5D,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CACX,qEAAqE,EACrE,SAAS,CACV,YAEA,eAAe,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC/B,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;YAC1D,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,EAAE,CAAC;YAE9C,OAAO,CACL,kBAEE,OAAO,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,CAAC,EAC1C,SAAS,EAAC,yIAAyI,iBACvI,oBAAoB,qBACf,OAAO,CAAC,EAAE,aAG3B,cAAK,SAAS,EAAC,kCAAkC,YAC9C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CACjB,cACE,SAAS,EAAC,qHAAqH,EAC/H,uBAAuB,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,GACpD,CACH,CAAC,CAAC,CAAC,CACF,KAAC,GAAG,IACF,SAAS,EAAC,8FAA8F,EACxG,WAAW,EAAE,CAAC,GACd,CACH,GACG,EAGN,aAAI,SAAS,EAAC,qCAAqC,YAChD,YAAY,GACV,EAGJ,WAAW,IAAI,CACd,YAAG,SAAS,EAAC,oCAAoC,YAC9C,WAAW,GACV,CACL,KA/BI,OAAO,CAAC,EAAE,CAgCR,CACV,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC,CAAC"}
@@ -43,6 +43,9 @@ function getInsertCommand(components, editContext) {
43
43
  return null;
44
44
  if (editContext.mode === "suggestions")
45
45
  return null;
46
+ // Don't show insert for layout components when showLayoutComponents is disabled
47
+ if (item.layoutId && !editContext.showLayoutComponents)
48
+ return null;
46
49
  return {
47
50
  id: "insert",
48
51
  icon: _jsx(Plus, { size: defaultIconSize }),
@@ -59,6 +62,10 @@ function getDuplicateCommand(components, editContext) {
59
62
  return null;
60
63
  if (editContext.mode === "suggestions")
61
64
  return null;
65
+ const component = components[0];
66
+ // Don't show duplicate for layout components when showLayoutComponents is disabled
67
+ if (component.layoutId && !editContext.showLayoutComponents)
68
+ return null;
62
69
  return {
63
70
  id: "duplicate",
64
71
  icon: _jsx(Copy, { size: defaultIconSize }),
@@ -141,6 +148,9 @@ async function getDesignCommand(components, editContext) {
141
148
  const component = components[0];
142
149
  if (!component || !component.datasourceItem)
143
150
  return null;
151
+ // Don't show design for layout components when showLayoutComponents is disabled
152
+ if (component.layoutId && !editContext.showLayoutComponents)
153
+ return null;
144
154
  const item = await editContext.itemsRepository.getItem(component.datasourceItem);
145
155
  if (!item)
146
156
  return null;
@@ -174,6 +184,9 @@ async function getLinkToMasterCommand(components, editContext) {
174
184
  return null;
175
185
  if (editContext.page?.item?.masterLanguages?.length === 0)
176
186
  return null;
187
+ // Don't show for layout components when showLayoutComponents is disabled
188
+ if (components.some((c) => c.layoutId && !editContext.showLayoutComponents))
189
+ return null;
177
190
  return getCheckboxCommand(components, editContext, "componentLinkedToMasterLanguage", "Linked To Master Language");
178
191
  }
179
192
  async function getCheckboxCommand(components, editContext, fieldName, label) {
@@ -207,6 +220,9 @@ async function getInheritChildrenFromMasterCommand(components, editContext) {
207
220
  return null;
208
221
  if (components.find((x) => !x.placeholders || x.placeholders.length === 0))
209
222
  return null;
223
+ // Don't show for layout components when showLayoutComponents is disabled
224
+ if (components.some((c) => c.layoutId && !editContext.showLayoutComponents))
225
+ return null;
210
226
  return getCheckboxCommand(components, editContext, "inheritChildrenFromMasterLanguage", "Inherit Children From Master");
211
227
  }
212
228
  function isLocked(c, editContext) {
@@ -226,7 +242,9 @@ function getDeleteCommand(components, editContext) {
226
242
  const applicableComponents = components.filter((c) => ((!isPlaceholder(c) && !c.layoutId) ||
227
243
  c.layoutId === editContext.page?.item.id) &&
228
244
  !isLocked(c, editContext) &&
229
- editContext.page?.item.canWriteItem);
245
+ editContext.page?.item.canWriteItem &&
246
+ // When showLayoutComponents is disabled, layout components should not be editable
247
+ (editContext.showLayoutComponents || !c.layoutId));
230
248
  if (applicableComponents.length === 0)
231
249
  return null;
232
250
  return {