@parhelia/core 0.1.11873 → 0.1.11955

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 (247) hide show
  1. package/dist/agents-view/AgentsInbox.d.ts +1 -1
  2. package/dist/agents-view/AgentsInbox.js +15 -2
  3. package/dist/agents-view/AgentsInbox.js.map +1 -1
  4. package/dist/agents-view/AgentsSidebar.d.ts +20 -0
  5. package/dist/agents-view/AgentsSidebar.js +21 -0
  6. package/dist/agents-view/AgentsSidebar.js.map +1 -0
  7. package/dist/agents-view/AgentsView.d.ts +6 -7
  8. package/dist/agents-view/AgentsView.js +63 -25
  9. package/dist/agents-view/AgentsView.js.map +1 -1
  10. package/dist/agents-view/AgentsWorkspaceView.d.ts +2 -6
  11. package/dist/agents-view/AgentsWorkspaceView.js +242 -112
  12. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  13. package/dist/components/ui/context-menu.js +24 -9
  14. package/dist/components/ui/context-menu.js.map +1 -1
  15. package/dist/components/ui/select.js +1 -1
  16. package/dist/components/ui/select.js.map +1 -1
  17. package/dist/config/config.js +15 -11
  18. package/dist/config/config.js.map +1 -1
  19. package/dist/editor/ContentTree.js +2 -2
  20. package/dist/editor/ContentTree.js.map +1 -1
  21. package/dist/editor/ContextMenu.js +11 -5
  22. package/dist/editor/ContextMenu.js.map +1 -1
  23. package/dist/editor/FieldListField.js +1 -1
  24. package/dist/editor/FieldListField.js.map +1 -1
  25. package/dist/editor/MainLayout.js.map +1 -1
  26. package/dist/editor/MobileLayout.js +19 -9
  27. package/dist/editor/MobileLayout.js.map +1 -1
  28. package/dist/editor/ai/AgentStatusBadge.d.ts +1 -1
  29. package/dist/editor/ai/AgentStatusBadge.js +18 -2
  30. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  31. package/dist/editor/ai/AgentTerminal.js +342 -55
  32. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  33. package/dist/editor/ai/AiResponseMessage.js +46 -4
  34. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  35. package/dist/editor/ai/ContextInfoBar.js +151 -5
  36. package/dist/editor/ai/ContextInfoBar.js.map +1 -1
  37. package/dist/editor/ai/EditOperationsPanel.d.ts +2 -1
  38. package/dist/editor/ai/EditOperationsPanel.js +6 -1
  39. package/dist/editor/ai/EditOperationsPanel.js.map +1 -1
  40. package/dist/editor/ai/dialogs/AgentDialogHandler.js +64 -15
  41. package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
  42. package/dist/editor/ai/dialogs/QuestionnaireInline.js +111 -20
  43. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  44. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +24 -0
  45. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  46. package/dist/editor/ai/useAgentStatus.d.ts +1 -0
  47. package/dist/editor/ai/useAgentStatus.js +74 -29
  48. package/dist/editor/ai/useAgentStatus.js.map +1 -1
  49. package/dist/editor/client/EditorShell.js +72 -8
  50. package/dist/editor/client/EditorShell.js.map +1 -1
  51. package/dist/editor/client/hooks/useQuota.d.ts +7 -0
  52. package/dist/editor/client/hooks/useQuota.js.map +1 -1
  53. package/dist/editor/client/hooks/useSocketMessageHandler.js +10 -1
  54. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  55. package/dist/editor/client/pageModelBuilder.js +3 -30
  56. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  57. package/dist/editor/client/ui/EditorChrome.js +31 -1
  58. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  59. package/dist/editor/commands/componentCommands.js +106 -6
  60. package/dist/editor/commands/componentCommands.js.map +1 -1
  61. package/dist/editor/commands/itemCommands.d.ts +1 -0
  62. package/dist/editor/commands/itemCommands.js +28 -1
  63. package/dist/editor/commands/itemCommands.js.map +1 -1
  64. package/dist/editor/componentTreeHelper.js +22 -2
  65. package/dist/editor/componentTreeHelper.js.map +1 -1
  66. package/dist/editor/insertMenuItems.d.ts +4 -0
  67. package/dist/editor/insertMenuItems.js +66 -0
  68. package/dist/editor/insertMenuItems.js.map +1 -0
  69. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +1 -1
  70. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  71. package/dist/editor/page-editor-chrome/FrameMenus.js +8 -1
  72. package/dist/editor/page-editor-chrome/FrameMenus.js.map +1 -1
  73. package/dist/editor/page-editor-chrome/InlineEditor.js +25 -11
  74. package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
  75. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +32 -17
  76. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  77. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +17 -11
  78. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  79. package/dist/editor/page-viewer/EditorForm.js +6 -5
  80. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  81. package/dist/editor/page-viewer/PageViewerFrame.js +49 -1
  82. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  83. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +5 -0
  84. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
  85. package/dist/editor/pageModel.d.ts +2 -0
  86. package/dist/editor/reviews/CreateReviewConfirmStep.d.ts +16 -0
  87. package/dist/editor/reviews/CreateReviewConfirmStep.js +37 -0
  88. package/dist/editor/reviews/CreateReviewConfirmStep.js.map +1 -0
  89. package/dist/editor/reviews/CreateReviewDetailsStep.d.ts +51 -0
  90. package/dist/editor/reviews/CreateReviewDetailsStep.js +121 -0
  91. package/dist/editor/reviews/CreateReviewDetailsStep.js.map +1 -0
  92. package/dist/editor/reviews/CreateReviewDialog.js +260 -173
  93. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  94. package/dist/editor/reviews/CreateReviewSuccessStep.d.ts +6 -0
  95. package/dist/editor/reviews/CreateReviewSuccessStep.js +8 -0
  96. package/dist/editor/reviews/CreateReviewSuccessStep.js.map +1 -0
  97. package/dist/editor/reviews/DecisionsMatrix.js +96 -25
  98. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  99. package/dist/editor/reviews/MultiReviewManager.js +25 -3
  100. package/dist/editor/reviews/MultiReviewManager.js.map +1 -1
  101. package/dist/editor/reviews/PagesPanel.js +31 -15
  102. package/dist/editor/reviews/PagesPanel.js.map +1 -1
  103. package/dist/editor/reviews/ReviewCard.js +13 -7
  104. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  105. package/dist/editor/reviews/ReviewDetail.js +2 -2
  106. package/dist/editor/reviews/ReviewDetail.js.map +1 -1
  107. package/dist/editor/reviews/ReviewsList.js +7 -3
  108. package/dist/editor/reviews/ReviewsList.js.map +1 -1
  109. package/dist/editor/services/agentService.d.ts +14 -1
  110. package/dist/editor/services/agentService.js +27 -1
  111. package/dist/editor/services/agentService.js.map +1 -1
  112. package/dist/editor/services/aiService.d.ts +39 -1
  113. package/dist/editor/services/aiService.js +12 -2
  114. package/dist/editor/services/aiService.js.map +1 -1
  115. package/dist/editor/services/serviceHelper.d.ts +1 -1
  116. package/dist/editor/services/serviceHelper.js +2 -1
  117. package/dist/editor/services/serviceHelper.js.map +1 -1
  118. package/dist/editor/settings/About.js +1 -1
  119. package/dist/editor/settings/About.js.map +1 -1
  120. package/dist/editor/settings/QuotaInfo.js +202 -4
  121. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  122. package/dist/editor/settings/panels/SearchConfigPanel.js +11 -13
  123. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  124. package/dist/editor/settings/status/useStartupChecks.js +2 -1
  125. package/dist/editor/settings/status/useStartupChecks.js.map +1 -1
  126. package/dist/editor/sidebar/ComponentTree.js +26 -20
  127. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  128. package/dist/editor/sidebar/MobileWorkspacePopover.d.ts +16 -0
  129. package/dist/editor/sidebar/MobileWorkspacePopover.js +35 -0
  130. package/dist/editor/sidebar/MobileWorkspacePopover.js.map +1 -0
  131. package/dist/editor/sidebar/NavigationSidebar.js +30 -14
  132. package/dist/editor/sidebar/NavigationSidebar.js.map +1 -1
  133. package/dist/editor/ui/ItemNameDialogNew.js +8 -8
  134. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  135. package/dist/editor/ui/SharedFolderSelectorDialog.d.ts +11 -0
  136. package/dist/editor/ui/SharedFolderSelectorDialog.js +79 -0
  137. package/dist/editor/ui/SharedFolderSelectorDialog.js.map +1 -0
  138. package/dist/editor/ui/SimpleTabs.js +1 -1
  139. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  140. package/dist/editor/ui/Splitter.js +4 -2
  141. package/dist/editor/ui/Splitter.js.map +1 -1
  142. package/dist/editor/ui/TreeListSelector.d.ts +2 -1
  143. package/dist/editor/ui/TreeListSelector.js +2 -2
  144. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  145. package/dist/editor/utils.js +42 -0
  146. package/dist/editor/utils.js.map +1 -1
  147. package/dist/editor/views/EditorSlot.js +7 -8
  148. package/dist/editor/views/EditorSlot.js.map +1 -1
  149. package/dist/index.d.ts +1 -0
  150. package/dist/index.js +1 -0
  151. package/dist/index.js.map +1 -1
  152. package/dist/revision.d.ts +2 -2
  153. package/dist/revision.js +2 -2
  154. package/dist/setup/wizard/steps/ImportModelDialog.js +24 -22
  155. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  156. package/dist/splash-screen/NewPage.js +2 -2
  157. package/dist/splash-screen/NewPage.js.map +1 -1
  158. package/dist/splash-screen/RecentPages.js +1 -1
  159. package/dist/splash-screen/RecentPages.js.map +1 -1
  160. package/dist/task-board/TaskBoardWorkspace.d.ts +1 -0
  161. package/dist/task-board/TaskBoardWorkspace.js +1094 -0
  162. package/dist/task-board/TaskBoardWorkspace.js.map +1 -0
  163. package/dist/task-board/components/AddDependencyDialog.d.ts +8 -0
  164. package/dist/task-board/components/AddDependencyDialog.js +53 -0
  165. package/dist/task-board/components/AddDependencyDialog.js.map +1 -0
  166. package/dist/task-board/components/AssignAgentDialog.d.ts +7 -0
  167. package/dist/task-board/components/AssignAgentDialog.js +96 -0
  168. package/dist/task-board/components/AssignAgentDialog.js.map +1 -0
  169. package/dist/task-board/components/CommentsList.d.ts +3 -0
  170. package/dist/task-board/components/CommentsList.js +36 -0
  171. package/dist/task-board/components/CommentsList.js.map +1 -0
  172. package/dist/task-board/components/CreateProjectDialog.d.ts +7 -0
  173. package/dist/task-board/components/CreateProjectDialog.js +175 -0
  174. package/dist/task-board/components/CreateProjectDialog.js.map +1 -0
  175. package/dist/task-board/components/CreateTaskDialog.d.ts +7 -0
  176. package/dist/task-board/components/CreateTaskDialog.js +76 -0
  177. package/dist/task-board/components/CreateTaskDialog.js.map +1 -0
  178. package/dist/task-board/components/ProjectAgentsPanel.d.ts +4 -0
  179. package/dist/task-board/components/ProjectAgentsPanel.js +159 -0
  180. package/dist/task-board/components/ProjectAgentsPanel.js.map +1 -0
  181. package/dist/task-board/components/ProjectDashboard.d.ts +25 -0
  182. package/dist/task-board/components/ProjectDashboard.js +91 -0
  183. package/dist/task-board/components/ProjectDashboard.js.map +1 -0
  184. package/dist/task-board/components/ProjectList.d.ts +7 -0
  185. package/dist/task-board/components/ProjectList.js +74 -0
  186. package/dist/task-board/components/ProjectList.js.map +1 -0
  187. package/dist/task-board/components/ProjectSettingsDialog.d.ts +8 -0
  188. package/dist/task-board/components/ProjectSettingsDialog.js +146 -0
  189. package/dist/task-board/components/ProjectSettingsDialog.js.map +1 -0
  190. package/dist/task-board/components/TaskAgentPanel.d.ts +10 -0
  191. package/dist/task-board/components/TaskAgentPanel.js +42 -0
  192. package/dist/task-board/components/TaskAgentPanel.js.map +1 -0
  193. package/dist/task-board/components/TaskAssigneePicker.d.ts +12 -0
  194. package/dist/task-board/components/TaskAssigneePicker.js +115 -0
  195. package/dist/task-board/components/TaskAssigneePicker.js.map +1 -0
  196. package/dist/task-board/components/TaskBoardTitlebar.d.ts +1 -0
  197. package/dist/task-board/components/TaskBoardTitlebar.js +60 -0
  198. package/dist/task-board/components/TaskBoardTitlebar.js.map +1 -0
  199. package/dist/task-board/components/TaskCard.d.ts +9 -0
  200. package/dist/task-board/components/TaskCard.js +24 -0
  201. package/dist/task-board/components/TaskCard.js.map +1 -0
  202. package/dist/task-board/components/TaskDetailDialog.d.ts +11 -0
  203. package/dist/task-board/components/TaskDetailDialog.js +8 -0
  204. package/dist/task-board/components/TaskDetailDialog.js.map +1 -0
  205. package/dist/task-board/components/TaskDetailPanel.d.ts +13 -0
  206. package/dist/task-board/components/TaskDetailPanel.js +322 -0
  207. package/dist/task-board/components/TaskDetailPanel.js.map +1 -0
  208. package/dist/task-board/components/TaskRow.d.ts +9 -0
  209. package/dist/task-board/components/TaskRow.js +25 -0
  210. package/dist/task-board/components/TaskRow.js.map +1 -0
  211. package/dist/task-board/index.d.ts +15 -0
  212. package/dist/task-board/index.js +18 -0
  213. package/dist/task-board/index.js.map +1 -0
  214. package/dist/task-board/services/taskService.d.ts +52 -0
  215. package/dist/task-board/services/taskService.js +74 -0
  216. package/dist/task-board/services/taskService.js.map +1 -0
  217. package/dist/task-board/taskAgentConfig.d.ts +7 -0
  218. package/dist/task-board/taskAgentConfig.js +43 -0
  219. package/dist/task-board/taskAgentConfig.js.map +1 -0
  220. package/dist/task-board/taskAgentLink.d.ts +2 -0
  221. package/dist/task-board/taskAgentLink.js +35 -0
  222. package/dist/task-board/taskAgentLink.js.map +1 -0
  223. package/dist/task-board/taskBoardNavStore.d.ts +35 -0
  224. package/dist/task-board/taskBoardNavStore.js +42 -0
  225. package/dist/task-board/taskBoardNavStore.js.map +1 -0
  226. package/dist/task-board/taskExecutionStatus.d.ts +12 -0
  227. package/dist/task-board/taskExecutionStatus.js +96 -0
  228. package/dist/task-board/taskExecutionStatus.js.map +1 -0
  229. package/dist/task-board/taskStatus.d.ts +2 -0
  230. package/dist/task-board/taskStatus.js +26 -0
  231. package/dist/task-board/taskStatus.js.map +1 -0
  232. package/dist/task-board/types.d.ts +169 -0
  233. package/dist/task-board/types.js +2 -0
  234. package/dist/task-board/types.js.map +1 -0
  235. package/dist/task-board/utils/projectHierarchy.d.ts +13 -0
  236. package/dist/task-board/utils/projectHierarchy.js +34 -0
  237. package/dist/task-board/utils/projectHierarchy.js.map +1 -0
  238. package/dist/task-board/views/KanbanView.d.ts +14 -0
  239. package/dist/task-board/views/KanbanView.js +136 -0
  240. package/dist/task-board/views/KanbanView.js.map +1 -0
  241. package/dist/task-board/views/ListView.d.ts +13 -0
  242. package/dist/task-board/views/ListView.js +74 -0
  243. package/dist/task-board/views/ListView.js.map +1 -0
  244. package/dist/task-board/views/PlanningView.d.ts +7 -0
  245. package/dist/task-board/views/PlanningView.js +112 -0
  246. package/dist/task-board/views/PlanningView.js.map +1 -0
  247. package/package.json +1 -1
@@ -1,44 +1,78 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect, useCallback, useMemo, useRef, } from "react";
3
- import { Splitter } from "../editor/ui/Splitter";
2
+ import { useState, useEffect, useMemo, useRef, useCallback } from "react";
4
3
  import { AgentsView } from "./AgentsView";
4
+ import { AgentsSidebar, ACTIVE_AGENT_PREFIX } from "./AgentsSidebar";
5
5
  import { AgentTerminal } from "../editor/ai/AgentTerminal";
6
6
  import { SingleEditView } from "../editor/views/SingleEditView";
7
7
  import { EditorSlotContextProvider } from "../editor/views/editorSlotContext";
8
8
  import { useEditContext } from "../editor/client/editContext";
9
- import { getAgent, } from "../editor/services/agentService";
9
+ import { getAgent, getAgentsGrouped, } from "../editor/services/agentService";
10
10
  import { loadAiProfiles } from "../editor/services/aiService";
11
11
  import { SecretAgentIcon } from "../editor/ui/Icons";
12
12
  import { Spinner } from "../editor/ui/Spinner";
13
+ import { PageHeader } from "../components/PageHeader";
14
+ import { SimpleTabs } from "../editor/ui/SimpleTabs";
15
+ import { Splitter } from "../editor/ui/Splitter";
16
+ import { Menu } from "lucide-react";
17
+ import { cn } from "../lib/utils";
13
18
  /**
14
- * AgentsWorkspaceView - Three-panel layout for following agents as they work.
15
- *
16
- * Layout:
17
- * - Left panel: AgentsView (full agent management - inbox, all agents, create new)
18
- * - Middle panel: AgentTerminal (conversation view for selected agent)
19
- * - Right panel: SingleEditView (live preview of page/item being edited)
19
+ * AgentsWorkspaceView - Desktop: Splitter (AgentsView | AgentTerminal | SingleEditView).
20
+ * Mobile: Sidebar + content (Agents group with Inbox/All/Create + active agents; content switches by selection).
20
21
  */
21
22
  export function AgentsWorkspaceView() {
22
23
  const editContext = useEditContext();
23
- const [selectedAgent, setSelectedAgent] = useState(null);
24
+ const [activeAgents, setActiveAgents] = useState([]);
25
+ const [selectedAgentId, setSelectedAgentId] = useState(null);
24
26
  const [profiles, setProfiles] = useState([]);
25
- const [loadingProfiles, setLoadingProfiles] = useState(true);
26
27
  const [loadingAgent, setLoadingAgent] = useState(false);
28
+ const [activeSidebarKey, setActiveSidebarKey] = useState("inbox");
29
+ const [activeAgentTab, setActiveAgentTab] = useState("chat");
30
+ const [inboxCount, setInboxCount] = useState(0);
27
31
  const isInitialUrlLoad = useRef(true);
28
32
  const skipNextUrlUpdate = useRef(false);
29
- // Handle agent selection from AgentsView (defined first so effects can use it)
33
+ const selectedAgentIdRef = useRef(null);
34
+ useEffect(() => {
35
+ selectedAgentIdRef.current = selectedAgentId;
36
+ }, [selectedAgentId]);
37
+ const selectedAgent = selectedAgentId != null
38
+ ? (activeAgents.find((agent) => agent.id === selectedAgentId) ?? null)
39
+ : null;
40
+ const getIsDesktop = () => typeof window !== "undefined" &&
41
+ window.matchMedia("(min-width: 768px)").matches;
42
+ const [isDesktop, setIsDesktop] = useState(() => getIsDesktop());
43
+ const [mobileSidebarOpen, setMobileSidebarOpen] = useState(false);
44
+ useEffect(() => {
45
+ if (typeof window === "undefined")
46
+ return;
47
+ const mq = window.matchMedia("(min-width: 768px)");
48
+ const update = () => setIsDesktop(mq.matches);
49
+ update();
50
+ mq.addEventListener("change", update);
51
+ return () => mq.removeEventListener("change", update);
52
+ }, []);
53
+ const addOrUpdateActiveAgent = useCallback((agent) => {
54
+ setActiveAgents((prev) => {
55
+ const idx = prev.findIndex((a) => a.id === agent.id);
56
+ if (idx >= 0) {
57
+ const next = [...prev];
58
+ next[idx] = agent;
59
+ return next;
60
+ }
61
+ return [agent, ...prev];
62
+ });
63
+ setSelectedAgentId(agent.id);
64
+ setActiveSidebarKey(`${ACTIVE_AGENT_PREFIX}${agent.id}`);
65
+ setActiveAgentTab("chat");
66
+ }, []);
30
67
  const handleSelectAgent = useCallback(async (agent) => {
31
- // For new agents (not yet persisted), use the stub directly
32
- if (agent.status === "new") {
33
- setSelectedAgent(agent);
68
+ addOrUpdateActiveAgent(agent);
69
+ if (agent.status === "new")
34
70
  return;
35
- }
36
- // If agent data is incomplete, fetch full details
37
71
  if (!agent.userId) {
72
+ setLoadingAgent(true);
38
73
  try {
39
- setLoadingAgent(true);
40
74
  const agentDetails = await getAgent(agent.id);
41
- setSelectedAgent({
75
+ const fullAgent = {
42
76
  id: agentDetails.id,
43
77
  name: agentDetails.name,
44
78
  description: agentDetails.description,
@@ -56,21 +90,44 @@ export function AgentsWorkspaceView() {
56
90
  statusMessage: agentDetails.statusMessage,
57
91
  lastMessageDate: agentDetails.lastMessageDate,
58
92
  parentAgentId: agentDetails.parentAgentId,
59
- });
93
+ };
94
+ addOrUpdateActiveAgent(fullAgent);
60
95
  }
61
96
  catch (error) {
62
97
  console.error("Failed to fetch agent details:", error);
63
- setSelectedAgent(agent);
64
98
  }
65
99
  finally {
66
100
  setLoadingAgent(false);
67
101
  }
68
102
  }
69
- else {
70
- setSelectedAgent(agent);
71
- }
103
+ }, [addOrUpdateActiveAgent]);
104
+ const getAgentsListContent = useCallback((compact, section) => (_jsx(AgentsView, { onSelectAgent: handleSelectAgent, selectedAgentId: selectedAgentId ?? undefined, compact: compact, activeSection: section, onInboxCountChange: setInboxCount })), [handleSelectAgent, selectedAgentId]);
105
+ useEffect(() => {
106
+ let cancelled = false;
107
+ (async () => {
108
+ try {
109
+ const response = await getAgentsGrouped(undefined, true, true);
110
+ if (cancelled)
111
+ return;
112
+ const fromApi = response.activeAgents ?? [];
113
+ setActiveAgents((prev) => {
114
+ const sid = selectedAgentIdRef.current;
115
+ if (!sid || fromApi.some((a) => a.id === sid))
116
+ return fromApi;
117
+ const existing = prev.find((a) => a.id === sid);
118
+ if (existing)
119
+ return [existing, ...fromApi];
120
+ return fromApi;
121
+ });
122
+ }
123
+ catch (error) {
124
+ console.error("Failed to load active agents for sidebar:", error);
125
+ }
126
+ })();
127
+ return () => {
128
+ cancelled = true;
129
+ };
72
130
  }, []);
73
- // Load agent from URL on initial mount
74
131
  useEffect(() => {
75
132
  if (!isInitialUrlLoad.current)
76
133
  return;
@@ -79,7 +136,7 @@ export function AgentsWorkspaceView() {
79
136
  const params = new URLSearchParams(window.location.search);
80
137
  const agentIdFromUrl = params.get("agentId");
81
138
  if (agentIdFromUrl) {
82
- skipNextUrlUpdate.current = true; // Don't update URL when loading from URL
139
+ skipNextUrlUpdate.current = true;
83
140
  handleSelectAgent({ id: agentIdFromUrl });
84
141
  }
85
142
  }
@@ -87,7 +144,6 @@ export function AgentsWorkspaceView() {
87
144
  console.error("Error reading agentId from URL:", error);
88
145
  }
89
146
  }, [handleSelectAgent]);
90
- // Update URL when selected agent changes
91
147
  useEffect(() => {
92
148
  if (skipNextUrlUpdate.current) {
93
149
  skipNextUrlUpdate.current = false;
@@ -95,32 +151,31 @@ export function AgentsWorkspaceView() {
95
151
  }
96
152
  try {
97
153
  const url = new URL(window.location.href);
98
- if (selectedAgent?.id) {
99
- url.searchParams.set("agentId", selectedAgent.id);
154
+ if (selectedAgentId) {
155
+ url.searchParams.set("agentId", selectedAgentId);
100
156
  }
101
157
  else {
102
158
  url.searchParams.delete("agentId");
103
159
  }
104
- // Use replaceState to avoid polluting history for every selection
105
160
  window.history.replaceState({}, "", url.toString());
106
161
  }
107
162
  catch (error) {
108
163
  console.error("Error updating URL with agentId:", error);
109
164
  }
110
- }, [selectedAgent?.id]);
111
- // Listen for browser back/forward navigation
165
+ }, [selectedAgentId]);
112
166
  useEffect(() => {
113
167
  const handlePopState = () => {
114
168
  try {
115
169
  const params = new URLSearchParams(window.location.search);
116
170
  const agentIdFromUrl = params.get("agentId");
117
- if (agentIdFromUrl && agentIdFromUrl !== selectedAgent?.id) {
171
+ if (agentIdFromUrl && agentIdFromUrl !== selectedAgentId) {
118
172
  skipNextUrlUpdate.current = true;
119
173
  handleSelectAgent({ id: agentIdFromUrl });
120
174
  }
121
- else if (!agentIdFromUrl && selectedAgent) {
175
+ else if (!agentIdFromUrl && selectedAgentId) {
122
176
  skipNextUrlUpdate.current = true;
123
- setSelectedAgent(null);
177
+ setSelectedAgentId(null);
178
+ setActiveSidebarKey("inbox");
124
179
  }
125
180
  }
126
181
  catch (error) {
@@ -129,13 +184,12 @@ export function AgentsWorkspaceView() {
129
184
  };
130
185
  window.addEventListener("popstate", handlePopState);
131
186
  return () => window.removeEventListener("popstate", handlePopState);
132
- }, [handleSelectAgent, selectedAgent?.id]);
133
- // Load AI profiles on mount
187
+ }, [handleSelectAgent, selectedAgentId]);
188
+ // Load AI profiles on mount (like master) so AgentTerminal has profiles from the start
134
189
  useEffect(() => {
135
190
  let cancelled = false;
136
191
  (async () => {
137
192
  try {
138
- setLoadingProfiles(true);
139
193
  const loadedProfiles = await loadAiProfiles(editContext?.currentItemDescriptor);
140
194
  if (!cancelled) {
141
195
  setProfiles(loadedProfiles || []);
@@ -144,16 +198,11 @@ export function AgentsWorkspaceView() {
144
198
  catch (e) {
145
199
  console.error("Failed to load AI profiles", e);
146
200
  }
147
- finally {
148
- if (!cancelled)
149
- setLoadingProfiles(false);
150
- }
151
201
  })();
152
202
  return () => {
153
203
  cancelled = true;
154
204
  };
155
- }, [editContext?.currentItemDescriptor?.id]);
156
- // Listen for agent profile changes via websocket
205
+ }, [editContext?.currentItemDescriptor]);
157
206
  useEffect(() => {
158
207
  if (!editContext?.addSocketMessageListener)
159
208
  return;
@@ -162,14 +211,11 @@ export function AgentsWorkspaceView() {
162
211
  loadAiProfiles(editContext?.currentItemDescriptor).then((p) => setProfiles(p || []));
163
212
  }
164
213
  });
165
- return () => {
166
- removeListener();
167
- };
214
+ return () => removeListener();
168
215
  }, [
169
216
  editContext?.addSocketMessageListener,
170
217
  editContext?.currentItemDescriptor,
171
218
  ]);
172
- // Listen for external events to select an agent
173
219
  useEffect(() => {
174
220
  const handleOpenAgent = (ev) => {
175
221
  try {
@@ -177,7 +223,6 @@ export function AgentsWorkspaceView() {
177
223
  const agentId = ce.detail?.agentId;
178
224
  if (!agentId)
179
225
  return;
180
- // Load the agent
181
226
  handleSelectAgent({ id: agentId });
182
227
  }
183
228
  catch (error) {
@@ -190,7 +235,6 @@ export function AgentsWorkspaceView() {
190
235
  const agentId = ce.detail?.agentId;
191
236
  if (!agentId)
192
237
  return;
193
- // Load the agent
194
238
  handleSelectAgent({ id: agentId });
195
239
  }
196
240
  catch (error) {
@@ -204,94 +248,180 @@ export function AgentsWorkspaceView() {
204
248
  window.removeEventListener("editor:selectAgent", handleSelectAgentEvent);
205
249
  };
206
250
  }, [handleSelectAgent]);
207
- // Listen for agent status updates via websocket
208
251
  useEffect(() => {
209
- if (!editContext?.addSocketMessageListener || !selectedAgent)
252
+ if (!editContext?.addSocketMessageListener)
210
253
  return;
211
254
  const unsubscribe = editContext.addSocketMessageListener((message) => {
212
- if (message.type === "agent:run:status") {
213
- const payload = message.payload || {};
214
- const agentId = payload.agentId || payload.AgentId;
215
- const data = payload.data || payload.Data;
216
- if (agentId === selectedAgent.id && data?.state) {
217
- // Map state to status
218
- const rawState = data.state;
219
- const statusMap = {
220
- Running: "running",
221
- WaitingForApproval: "waitingForApproval",
222
- Completed: "completed",
223
- Closed: "closed",
224
- Error: "error",
225
- Idle: "idle",
226
- CostLimitReached: "costLimitReached",
227
- };
228
- const newStatus = statusMap[rawState] || rawState;
229
- if (newStatus) {
230
- setSelectedAgent((prev) => prev ? { ...prev, status: newStatus } : prev);
231
- }
255
+ const payload = message.payload || {};
256
+ const agentId = payload.agentId || payload.AgentId;
257
+ if (message.type === "agent:run:status" &&
258
+ agentId &&
259
+ payload.data?.state) {
260
+ const rawState = payload.data.state;
261
+ const statusMap = {
262
+ Running: "running",
263
+ WaitingForApproval: "waitingForApproval",
264
+ Completed: "completed",
265
+ Closed: "closed",
266
+ Error: "error",
267
+ Idle: "idle",
268
+ CostLimitReached: "costLimitReached",
269
+ };
270
+ const newStatus = statusMap[rawState] || rawState;
271
+ if (newStatus) {
272
+ setActiveAgents((prev) => prev.map((a) => a.id === agentId
273
+ ? { ...a, status: newStatus }
274
+ : a));
232
275
  }
233
276
  }
234
- else if (message.type === "agent:info:updated") {
235
- const payload = message.payload || {};
236
- const agentId = payload.agentId || payload.AgentId;
237
- if (agentId === selectedAgent.id) {
238
- const agentName = payload.agentName || payload.AgentName;
239
- const agentDescription = payload.agentDescription || payload.AgentDescription;
240
- setSelectedAgent((prev) => prev
241
- ? {
242
- ...prev,
243
- ...(agentName !== undefined && { name: agentName }),
244
- ...(agentDescription !== undefined && {
245
- description: agentDescription,
246
- }),
247
- }
248
- : prev);
249
- }
277
+ else if (message.type === "agent:info:updated" && agentId) {
278
+ const agentName = payload.agentName || payload.AgentName;
279
+ const agentDescription = payload.agentDescription || payload.AgentDescription;
280
+ setActiveAgents((prev) => prev.map((a) => a.id === agentId
281
+ ? {
282
+ ...a,
283
+ ...(agentName !== undefined && { name: agentName }),
284
+ ...(agentDescription !== undefined && {
285
+ description: agentDescription,
286
+ }),
287
+ }
288
+ : a));
250
289
  }
251
- else if (message.type === "agent:run:closed") {
252
- const { agentId } = message.payload || {};
253
- if (agentId === selectedAgent.id) {
254
- setSelectedAgent(null);
255
- }
290
+ else if (message.type === "agent:run:closed" && agentId) {
291
+ setActiveAgents((prev) => prev.filter((a) => a.id !== agentId));
292
+ setSelectedAgentId((prev) => (prev === agentId ? null : prev));
293
+ setActiveSidebarKey((prev) => prev === `${ACTIVE_AGENT_PREFIX}${agentId}` ? "inbox" : prev);
256
294
  }
257
295
  });
258
296
  return unsubscribe;
259
- }, [editContext?.addSocketMessageListener, selectedAgent?.id]);
260
- // Get editor panel visibility from editContext
297
+ }, [editContext?.addSocketMessageListener]);
298
+ // When selected agent was removed from activeAgents, switch to first remaining or inbox
299
+ useEffect(() => {
300
+ if (selectedAgentId == null)
301
+ return;
302
+ const stillActive = activeAgents.some((a) => a.id === selectedAgentId);
303
+ if (!stillActive && activeAgents.length > 0) {
304
+ const first = activeAgents[0];
305
+ if (first) {
306
+ setSelectedAgentId(first.id);
307
+ setActiveSidebarKey(`${ACTIVE_AGENT_PREFIX}${first.id}`);
308
+ }
309
+ }
310
+ else if (!stillActive) {
311
+ setSelectedAgentId(null);
312
+ setActiveSidebarKey("inbox");
313
+ }
314
+ }, [activeAgents, selectedAgentId]);
261
315
  const showEditorPanel = editContext?.showAgentsWorkspaceEditor ?? true;
262
- // Build the panels (conditionally include editor preview based on toggle)
263
- const panels = useMemo(() => {
264
- const basePanels = [
316
+ const mainNavItems = useMemo(() => [
317
+ {
318
+ id: "inbox",
319
+ label: inboxCount > 0 ? `Inbox (${inboxCount})` : "Inbox",
320
+ },
321
+ { id: "all", label: "All Agents" },
322
+ { id: "create", label: "Create New" },
323
+ ], [inboxCount]);
324
+ const handleCloseActiveAgent = (agentId, e) => {
325
+ e.stopPropagation();
326
+ setActiveAgents((prev) => prev.filter((a) => a.id !== agentId));
327
+ if (selectedAgentId === agentId) {
328
+ setSelectedAgentId(null);
329
+ setActiveSidebarKey("inbox");
330
+ }
331
+ };
332
+ const handleSidebarNavClick = (id) => {
333
+ if (id.startsWith(ACTIVE_AGENT_PREFIX)) {
334
+ setSelectedAgentId(id.slice(ACTIVE_AGENT_PREFIX.length));
335
+ }
336
+ else {
337
+ setSelectedAgentId(null);
338
+ }
339
+ setActiveSidebarKey(id);
340
+ if (!getIsDesktop()) {
341
+ setMobileSidebarOpen(false);
342
+ }
343
+ };
344
+ const sectionFromSidebarKey = (key) => {
345
+ if (key === "inbox" || key === "all" || key === "create")
346
+ return key;
347
+ return undefined;
348
+ };
349
+ const activeSection = sectionFromSidebarKey(activeSidebarKey);
350
+ const isActiveAgentView = activeSidebarKey.startsWith(ACTIVE_AGENT_PREFIX);
351
+ const pageHeaderDescription = useMemo(() => {
352
+ if (activeSidebarKey.startsWith(ACTIVE_AGENT_PREFIX)) {
353
+ const agentId = activeSidebarKey.slice(ACTIVE_AGENT_PREFIX.length);
354
+ const agent = activeAgents.find((a) => a.id === agentId);
355
+ return agent?.name ?? undefined;
356
+ }
357
+ const item = mainNavItems.find((i) => i.id === activeSidebarKey);
358
+ return item?.label ?? undefined;
359
+ }, [activeSidebarKey, activeAgents, mainNavItems]);
360
+ const slotContext = editContext?.getActiveSlotContext();
361
+ const agentTerminalContent = useMemo(() => {
362
+ if (loadingAgent) {
363
+ return (_jsxs("div", { className: "flex h-full items-center justify-center gap-2", children: [_jsx(Spinner, { size: "sm" }), _jsx("span", { className: "text-sm text-gray-500", children: "Loading agent..." })] }));
364
+ }
365
+ if (selectedAgent) {
366
+ return (_jsx(AgentTerminal, { agentStub: selectedAgent, profiles: profiles, isActive: true, compact: false, hideContext: false, hideBottomControls: false, hideGreeting: false }, selectedAgent.id));
367
+ }
368
+ return (_jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-4 p-8 text-center", children: [_jsx(SecretAgentIcon, { size: 64, strokeWidth: 0.5, className: "text-gray-300" }), _jsxs("div", { children: [_jsx("h3", { className: "text-lg font-medium text-gray-700", children: "No Agent Selected" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Select an agent from the list to view its conversation" })] })] }));
369
+ }, [loadingAgent, selectedAgent, profiles]);
370
+ const itemPreviewContent = useMemo(() => {
371
+ if (!slotContext) {
372
+ return (_jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-4 p-8 text-center", children: [_jsx("div", { className: "text-6xl text-gray-200", children: "\uD83D\uDCC4" }), _jsxs("div", { children: [_jsx("h3", { className: "text-lg font-medium text-gray-700", children: "No Item Selected" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "The agent's edits will appear here when working on an item" })] })] }));
373
+ }
374
+ return (_jsx(EditorSlotContextProvider, { value: slotContext, children: _jsx(SingleEditView, { compareView: false, name: "agents-workspace-preview", view: "primary" }) }));
375
+ }, [slotContext]);
376
+ const desktopPanels = useMemo(() => {
377
+ const panels = [
265
378
  {
266
379
  name: "agents-list",
267
380
  defaultSize: 350,
268
- content: (_jsx("div", { className: "h-full overflow-hidden border-r border-gray-200", children: _jsx(AgentsView, { onSelectAgent: handleSelectAgent, selectedAgentId: selectedAgent?.id }) })),
381
+ content: (_jsx("div", { className: "h-full overflow-hidden border-r border-gray-200", children: getAgentsListContent(false) })),
269
382
  },
270
383
  {
271
384
  name: "agent-terminal",
272
385
  defaultSize: "auto",
273
- content: (_jsx("div", { className: "relative h-full w-full overflow-hidden bg-white", children: loadingAgent ? (_jsxs("div", { className: "flex h-full items-center justify-center gap-2", children: [_jsx(Spinner, { size: "sm" }), _jsx("span", { className: "text-sm text-gray-500", children: "Loading agent..." })] })) : selectedAgent ? (_jsx("div", { className: "absolute inset-0", children: _jsx(AgentTerminal, { agentStub: selectedAgent, profiles: profiles, isActive: true, compact: false, hideContext: false, hideBottomControls: false, hideGreeting: false }, selectedAgent.id) })) : (_jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-4 p-8 text-center", children: [_jsx(SecretAgentIcon, { size: 64, strokeWidth: 0.5, className: "text-gray-300" }), _jsxs("div", { children: [_jsx("h3", { className: "text-lg font-medium text-gray-700", children: "No Agent Selected" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "Select an agent from the list to view its conversation" })] })] })) })),
386
+ content: (_jsx("div", { className: "relative h-full w-full overflow-hidden bg-white", children: _jsx("div", { className: "absolute inset-0", children: agentTerminalContent }) })),
274
387
  },
275
388
  ];
276
- // Only add editor preview panel when toggle is enabled
277
389
  if (showEditorPanel) {
278
- const slotContext = editContext?.getActiveSlotContext();
279
- basePanels.push({
390
+ panels.push({
280
391
  name: "editor-preview",
281
392
  defaultSize: 500,
282
- content: (_jsx("div", { className: "h-full overflow-hidden border-l border-gray-200 bg-gray-50", children: slotContext ? (_jsx(EditorSlotContextProvider, { value: slotContext, children: _jsx(SingleEditView, { compareView: false, name: "agents-workspace-preview", view: "primary" }) })) : (_jsxs("div", { className: "flex h-full flex-col items-center justify-center gap-4 p-8 text-center", children: [_jsx("div", { className: "text-6xl text-gray-200", children: "\uD83D\uDCC4" }), _jsxs("div", { children: [_jsx("h3", { className: "text-lg font-medium text-gray-700", children: "No Item Selected" }), _jsx("p", { className: "mt-1 text-sm text-gray-500", children: "The agent's edits will appear here when working on an item" })] })] })) })),
393
+ content: (_jsx("div", { className: "h-full overflow-hidden border-l border-gray-200 bg-gray-50", children: itemPreviewContent })),
283
394
  });
284
395
  }
285
- return basePanels;
396
+ return panels;
286
397
  }, [
287
- handleSelectAgent,
288
- selectedAgent,
289
- loadingAgent,
290
- profiles,
398
+ getAgentsListContent,
399
+ agentTerminalContent,
400
+ itemPreviewContent,
291
401
  showEditorPanel,
292
- editContext?.activeSlotId,
293
- editContext?.slotContexts,
294
402
  ]);
295
- return (_jsx("div", { className: "h-full w-full", children: _jsx(Splitter, { panels: panels, localStorageKey: "agents-workspace.panelSizes", direction: "horizontal" }) }));
403
+ if (isDesktop) {
404
+ return (_jsx("div", { className: "h-full w-full", children: _jsx(Splitter, { panels: desktopPanels, localStorageKey: "agents-workspace.panelSizes", direction: "horizontal" }) }));
405
+ }
406
+ return (_jsxs("div", { className: "flex h-full min-h-0 w-full flex-col", children: [_jsxs("div", { className: "relative shrink-0 border-b border-gray-200", children: [_jsx(PageHeader, { icon: _jsx(SecretAgentIcon, { size: 28, strokeWidth: 1.5 }), title: "AI Agents", description: pageHeaderDescription, variant: "compact", className: "pr-16" }), _jsx("button", { type: "button", onClick: () => setMobileSidebarOpen((v) => !v), className: "absolute top-1/2 right-4 z-30 inline-flex h-9 w-9 -translate-y-1/2 items-center justify-center rounded-md border border-gray-300 bg-white text-gray-700 shadow-sm transition-colors hover:bg-gray-50", "aria-label": mobileSidebarOpen
407
+ ? "Close agents navigation"
408
+ : "Open agents navigation", title: mobileSidebarOpen
409
+ ? "Close agents navigation"
410
+ : "Open agents navigation", children: _jsxs("span", { className: "relative inline-flex", children: [_jsx(Menu, { className: "h-4 w-4", strokeWidth: 1.75 }), inboxCount > 0 && (_jsx("span", { className: "absolute -top-3 -right-3 flex h-4 min-w-4 items-center justify-center rounded-full bg-emerald-500 px-1 text-[10px] font-semibold text-white ring-2 ring-white", "aria-label": `${inboxCount} items in inbox`, children: inboxCount > 99 ? "99+" : inboxCount }))] }) })] }), _jsxs("div", { className: "relative flex min-h-0 flex-1 overflow-hidden", children: [mobileSidebarOpen && (_jsx("button", { type: "button", className: "absolute inset-0 z-10 bg-black/20", "aria-label": "Close agents navigation", onClick: () => setMobileSidebarOpen(false) })), _jsx("div", { className: cn("z-20 flex min-h-0 flex-col border-r border-gray-200 bg-gray-50", "transition-[width,transform,box-shadow] duration-300 ease-out", mobileSidebarOpen
411
+ ? "absolute inset-y-0 left-0 w-64 shadow-xl"
412
+ : "absolute inset-y-0 left-0 w-0 -translate-x-full overflow-hidden border-r-0"), children: _jsx(AgentsSidebar, { mainNavItems: mainNavItems, activeAgents: activeAgents, activeSidebarKey: activeSidebarKey, onNavClick: handleSidebarNavClick, onCloseAgent: handleCloseActiveAgent }) }), _jsxs("div", { className: "relative flex min-h-0 flex-1 flex-col overflow-hidden bg-white", children: [activeSection !== undefined && (_jsx("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden", children: getAgentsListContent(true, activeSection) })), isActiveAgentView && (_jsxs("div", { className: "flex min-h-0 flex-1 flex-col overflow-hidden", children: [_jsx("div", { className: "shrink-0 border-b border-gray-100 bg-white px-4 shadow-[0_1px_2px_rgba(0,0,0,0.03)]", children: _jsx(SimpleTabs, { tabs: [
413
+ {
414
+ id: "chat",
415
+ label: "Chat",
416
+ content: null,
417
+ testId: "active-agent-tab-chat",
418
+ },
419
+ {
420
+ id: "preview",
421
+ label: "Item Preview",
422
+ content: null,
423
+ testId: "active-agent-tab-preview",
424
+ },
425
+ ], activeTab: activeAgentTab === "chat" ? 0 : 1, setActiveTab: (index) => setActiveAgentTab(index === 0 ? "chat" : "preview"), hideContent: true, variant: "elegant", className: "gap-6" }) }), _jsxs("div", { className: "relative min-h-0 flex-1 overflow-hidden", children: [_jsx("div", { className: cn("absolute inset-0", activeAgentTab !== "chat" && "hidden"), children: agentTerminalContent }), showEditorPanel && (_jsx("div", { className: cn("absolute inset-0 overflow-hidden border-l border-gray-200 bg-gray-50", activeAgentTab !== "preview" && "hidden"), children: itemPreviewContent }))] })] }))] })] })] }));
296
426
  }
297
427
  //# sourceMappingURL=AgentsWorkspaceView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AgentsWorkspaceView.js","sourceRoot":"","sources":["../../src/agents-view/AgentsWorkspaceView.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentsWorkspaceView.js","sourceRoot":"","sources":["../../src/agents-view/AgentsWorkspaceView.tsx"],"names":[],"mappings":"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"}