@parhelia/core 0.1.12556 → 0.1.12560

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 (579) hide show
  1. package/dist/agents-view/AgentCard.d.ts +6 -4
  2. package/dist/agents-view/AgentCard.js +143 -24
  3. package/dist/agents-view/AgentCard.js.map +1 -1
  4. package/dist/agents-view/AgentsInbox.d.ts +1 -1
  5. package/dist/agents-view/AgentsInbox.js +7 -92
  6. package/dist/agents-view/AgentsInbox.js.map +1 -1
  7. package/dist/agents-view/AgentsTitlebar.js +3 -2
  8. package/dist/agents-view/AgentsTitlebar.js.map +1 -1
  9. package/dist/agents-view/AgentsView.d.ts +6 -7
  10. package/dist/agents-view/AgentsView.js +187 -98
  11. package/dist/agents-view/AgentsView.js.map +1 -1
  12. package/dist/agents-view/AgentsWorkspaceView.d.ts +2 -6
  13. package/dist/agents-view/AgentsWorkspaceView.js +266 -113
  14. package/dist/agents-view/AgentsWorkspaceView.js.map +1 -1
  15. package/dist/agents-view/ProfileAgentsGroup.d.ts +2 -1
  16. package/dist/agents-view/ProfileAgentsGroup.js +4 -3
  17. package/dist/agents-view/ProfileAgentsGroup.js.map +1 -1
  18. package/dist/components/ActionButton.d.ts +1 -1
  19. package/dist/components/ActionButton.js.map +1 -1
  20. package/dist/components/FilterInput.d.ts +1 -1
  21. package/dist/components/FilterInput.js +1 -1
  22. package/dist/components/FilterInput.js.map +1 -1
  23. package/dist/components/ui/LanguageSelector.js +2 -4
  24. package/dist/components/ui/LanguageSelector.js.map +1 -1
  25. package/dist/components/ui/PlaceholderInput.js +3 -3
  26. package/dist/components/ui/PlaceholderInput.js.map +1 -1
  27. package/dist/components/ui/PlaceholderInputTypes.js +1 -1
  28. package/dist/components/ui/PlaceholderInputTypes.js.map +1 -1
  29. package/dist/components/ui/alert-dialog.d.ts +1 -1
  30. package/dist/components/ui/alert-dialog.js +6 -10
  31. package/dist/components/ui/alert-dialog.js.map +1 -1
  32. package/dist/components/ui/button.d.ts +4 -4
  33. package/dist/components/ui/button.js +4 -1
  34. package/dist/components/ui/button.js.map +1 -1
  35. package/dist/components/ui/context-menu.d.ts +1 -1
  36. package/dist/components/ui/context-menu.js +12 -4
  37. package/dist/components/ui/context-menu.js.map +1 -1
  38. package/dist/components/ui/copy-button.d.ts +2 -1
  39. package/dist/components/ui/copy-button.js +2 -2
  40. package/dist/components/ui/copy-button.js.map +1 -1
  41. package/dist/components/ui/dialog.d.ts +1 -1
  42. package/dist/components/ui/dialog.js +21 -126
  43. package/dist/components/ui/dialog.js.map +1 -1
  44. package/dist/components/ui/input.d.ts +1 -1
  45. package/dist/components/ui/input.js +5 -3
  46. package/dist/components/ui/input.js.map +1 -1
  47. package/dist/components/ui/paste-button.d.ts +2 -1
  48. package/dist/components/ui/paste-button.js +2 -2
  49. package/dist/components/ui/paste-button.js.map +1 -1
  50. package/dist/components/ui/popover.js +1 -9
  51. package/dist/components/ui/popover.js.map +1 -1
  52. package/dist/components/ui/select.js +1 -1
  53. package/dist/components/ui/select.js.map +1 -1
  54. package/dist/components/ui/styled-dialog-title.js +1 -1
  55. package/dist/components/ui/styled-dialog-title.js.map +1 -1
  56. package/dist/components/ui/tabs.d.ts +1 -1
  57. package/dist/components/ui/tabs.js +4 -11
  58. package/dist/components/ui/tabs.js.map +1 -1
  59. package/dist/config/config.d.ts +4 -2
  60. package/dist/config/config.js +250 -70
  61. package/dist/config/config.js.map +1 -1
  62. package/dist/config/notificationRoutes.js +14 -0
  63. package/dist/config/notificationRoutes.js.map +1 -1
  64. package/dist/config/types/workspace.d.ts +6 -0
  65. package/dist/config/types.d.ts +63 -12
  66. package/dist/config/types.js.map +1 -1
  67. package/dist/editor/ConfirmationDialog.js +20 -4
  68. package/dist/editor/ConfirmationDialog.js.map +1 -1
  69. package/dist/editor/ContentTree.d.ts +2 -1
  70. package/dist/editor/ContentTree.js +93 -32
  71. package/dist/editor/ContentTree.js.map +1 -1
  72. package/dist/editor/Editor.js +87 -22
  73. package/dist/editor/Editor.js.map +1 -1
  74. package/dist/editor/FieldHistory.js +84 -36
  75. package/dist/editor/FieldHistory.js.map +1 -1
  76. package/dist/editor/FieldListField.js +21 -9
  77. package/dist/editor/FieldListField.js.map +1 -1
  78. package/dist/editor/FieldListFieldWithFallbacks.js +23 -2
  79. package/dist/editor/FieldListFieldWithFallbacks.js.map +1 -1
  80. package/dist/editor/GlobalMenuBar.js +29 -2
  81. package/dist/editor/GlobalMenuBar.js.map +1 -1
  82. package/dist/editor/ImageEditor.js +5 -2
  83. package/dist/editor/ImageEditor.js.map +1 -1
  84. package/dist/editor/ItemInfo.js +36 -1
  85. package/dist/editor/ItemInfo.js.map +1 -1
  86. package/dist/editor/LinkEditorDialog.js +3 -0
  87. package/dist/editor/LinkEditorDialog.js.map +1 -1
  88. package/dist/editor/MainLayout.d.ts +0 -2
  89. package/dist/editor/MainLayout.js +65 -8
  90. package/dist/editor/MainLayout.js.map +1 -1
  91. package/dist/editor/MigrationsView.js +29 -5
  92. package/dist/editor/MigrationsView.js.map +1 -1
  93. package/dist/editor/MobileLayout.js +37 -12
  94. package/dist/editor/MobileLayout.js.map +1 -1
  95. package/dist/editor/PictureCropper.js +54 -45
  96. package/dist/editor/PictureCropper.js.map +1 -1
  97. package/dist/editor/PictureEditor.js +17 -15
  98. package/dist/editor/PictureEditor.js.map +1 -1
  99. package/dist/editor/QuickItemSwitcher.js +21 -21
  100. package/dist/editor/QuickItemSwitcher.js.map +1 -1
  101. package/dist/editor/SetupWizard.js +52 -12
  102. package/dist/editor/SetupWizard.js.map +1 -1
  103. package/dist/editor/Titlebar.js +7 -2
  104. package/dist/editor/Titlebar.js.map +1 -1
  105. package/dist/editor/ai/AgentCostDisplay.d.ts +1 -0
  106. package/dist/editor/ai/AgentCostDisplay.js +1 -1
  107. package/dist/editor/ai/AgentCostDisplay.js.map +1 -1
  108. package/dist/editor/ai/AgentDocumentList.js +32 -14
  109. package/dist/editor/ai/AgentDocumentList.js.map +1 -1
  110. package/dist/editor/ai/AgentGreeting.js +3 -2
  111. package/dist/editor/ai/AgentGreeting.js.map +1 -1
  112. package/dist/editor/ai/AgentProfileSelector.js +2 -1
  113. package/dist/editor/ai/AgentProfileSelector.js.map +1 -1
  114. package/dist/editor/ai/AgentStatusBadge.d.ts +0 -5
  115. package/dist/editor/ai/AgentStatusBadge.js +67 -65
  116. package/dist/editor/ai/AgentStatusBadge.js.map +1 -1
  117. package/dist/editor/ai/AgentTerminal.d.ts +14 -2
  118. package/dist/editor/ai/AgentTerminal.js +2377 -483
  119. package/dist/editor/ai/AgentTerminal.js.map +1 -1
  120. package/dist/editor/ai/AgentTerminalStatusBar.d.ts +8 -3
  121. package/dist/editor/ai/AgentTerminalStatusBar.js +460 -56
  122. package/dist/editor/ai/AgentTerminalStatusBar.js.map +1 -1
  123. package/dist/editor/ai/Agents.js +150 -113
  124. package/dist/editor/ai/Agents.js.map +1 -1
  125. package/dist/editor/ai/AiResponseMessage.d.ts +10 -1
  126. package/dist/editor/ai/AiResponseMessage.js +238 -23
  127. package/dist/editor/ai/AiResponseMessage.js.map +1 -1
  128. package/dist/editor/ai/ContextInfoBar.d.ts +2 -3
  129. package/dist/editor/ai/ContextInfoBar.js +64 -7
  130. package/dist/editor/ai/ContextInfoBar.js.map +1 -1
  131. package/dist/editor/ai/GuidanceOverlay.js +17 -11
  132. package/dist/editor/ai/GuidanceOverlay.js.map +1 -1
  133. package/dist/editor/ai/InlineAiDialog.d.ts +1 -1
  134. package/dist/editor/ai/InlineAiDialog.js +514 -192
  135. package/dist/editor/ai/InlineAiDialog.js.map +1 -1
  136. package/dist/editor/ai/InlineAiTrigger.js +115 -12
  137. package/dist/editor/ai/InlineAiTrigger.js.map +1 -1
  138. package/dist/editor/ai/MediaImage.js +40 -8
  139. package/dist/editor/ai/MediaImage.js.map +1 -1
  140. package/dist/editor/ai/SpawnedAgentsPanel.js +10 -12
  141. package/dist/editor/ai/SpawnedAgentsPanel.js.map +1 -1
  142. package/dist/editor/ai/ToolCallDisplay.d.ts +22 -2
  143. package/dist/editor/ai/ToolCallDisplay.js +518 -147
  144. package/dist/editor/ai/ToolCallDisplay.js.map +1 -1
  145. package/dist/editor/ai/dialogs/AgentDialogHandler.d.ts +1 -8
  146. package/dist/editor/ai/dialogs/AgentDialogHandler.js +379 -42
  147. package/dist/editor/ai/dialogs/AgentDialogHandler.js.map +1 -1
  148. package/dist/editor/ai/dialogs/QuestionnaireInline.d.ts +5 -1
  149. package/dist/editor/ai/dialogs/QuestionnaireInline.js +628 -60
  150. package/dist/editor/ai/dialogs/QuestionnaireInline.js.map +1 -1
  151. package/dist/editor/ai/dialogs/agentDialogTypes.d.ts +115 -0
  152. package/dist/editor/ai/dialogs/agentDialogTypes.js +2 -0
  153. package/dist/editor/ai/dialogs/agentDialogTypes.js.map +1 -1
  154. package/dist/editor/ai/types.d.ts +3 -1
  155. package/dist/editor/ai/useAgentStatus.d.ts +2 -1
  156. package/dist/editor/ai/useAgentStatus.js +86 -99
  157. package/dist/editor/ai/useAgentStatus.js.map +1 -1
  158. package/dist/editor/ai/useInlineAiPosition.js +45 -5
  159. package/dist/editor/ai/useInlineAiPosition.js.map +1 -1
  160. package/dist/editor/client/AboutDialog.js +4 -2
  161. package/dist/editor/client/AboutDialog.js.map +1 -1
  162. package/dist/editor/client/EditorShell.d.ts +4 -1
  163. package/dist/editor/client/EditorShell.js +770 -237
  164. package/dist/editor/client/EditorShell.js.map +1 -1
  165. package/dist/editor/client/editContext.d.ts +33 -19
  166. package/dist/editor/client/editContext.js.map +1 -1
  167. package/dist/editor/client/helpers.js +6 -0
  168. package/dist/editor/client/helpers.js.map +1 -1
  169. package/dist/editor/client/hooks/useEditorUrlSync.js +1 -2
  170. package/dist/editor/client/hooks/useEditorUrlSync.js.map +1 -1
  171. package/dist/editor/client/hooks/useEditorWebSocket.d.ts +10 -0
  172. package/dist/editor/client/hooks/useEditorWebSocket.js +209 -14
  173. package/dist/editor/client/hooks/useEditorWebSocket.js.map +1 -1
  174. package/dist/editor/client/hooks/useQuota.d.ts +8 -0
  175. package/dist/editor/client/hooks/useQuota.js.map +1 -1
  176. package/dist/editor/client/hooks/useSocketMessageHandler.js +68 -7
  177. package/dist/editor/client/hooks/useSocketMessageHandler.js.map +1 -1
  178. package/dist/editor/client/itemsRepository.js +10 -6
  179. package/dist/editor/client/itemsRepository.js.map +1 -1
  180. package/dist/editor/client/navigation.js +35 -3
  181. package/dist/editor/client/navigation.js.map +1 -1
  182. package/dist/editor/client/operations.d.ts +6 -3
  183. package/dist/editor/client/operations.js +208 -30
  184. package/dist/editor/client/operations.js.map +1 -1
  185. package/dist/editor/client/pageModelBuilder.js +4 -31
  186. package/dist/editor/client/pageModelBuilder.js.map +1 -1
  187. package/dist/editor/client/ui/DevModeIndicator.js +2 -2
  188. package/dist/editor/client/ui/DevModeIndicator.js.map +1 -1
  189. package/dist/editor/client/ui/EditorChrome.d.ts +0 -6
  190. package/dist/editor/client/ui/EditorChrome.js +55 -72
  191. package/dist/editor/client/ui/EditorChrome.js.map +1 -1
  192. package/dist/editor/client/ui/FullscreenControls.js +5 -3
  193. package/dist/editor/client/ui/FullscreenControls.js.map +1 -1
  194. package/dist/editor/commands/commands.d.ts +11 -1
  195. package/dist/editor/commands/commands.js +12 -1
  196. package/dist/editor/commands/commands.js.map +1 -1
  197. package/dist/editor/commands/componentCommands.js +109 -55
  198. package/dist/editor/commands/componentCommands.js.map +1 -1
  199. package/dist/editor/commands/customCommandConverter.d.ts +8 -1
  200. package/dist/editor/commands/customCommandConverter.js +35 -5
  201. package/dist/editor/commands/customCommandConverter.js.map +1 -1
  202. package/dist/editor/commands/handlers/agentHandler.js +2 -1
  203. package/dist/editor/commands/handlers/agentHandler.js.map +1 -1
  204. package/dist/editor/commands/itemCommands.d.ts +3 -0
  205. package/dist/editor/commands/itemCommands.js +93 -10
  206. package/dist/editor/commands/itemCommands.js.map +1 -1
  207. package/dist/editor/commands/undo.d.ts +9 -15
  208. package/dist/editor/commands/undo.js +24 -0
  209. package/dist/editor/commands/undo.js.map +1 -1
  210. package/dist/editor/context-menu/InsertMenu.js +83 -39
  211. package/dist/editor/context-menu/InsertMenu.js.map +1 -1
  212. package/dist/editor/field-types/MultiLineText.js +1 -1
  213. package/dist/editor/field-types/MultiLineText.js.map +1 -1
  214. package/dist/editor/field-types/RawEditor.js +1 -1
  215. package/dist/editor/field-types/RichTextEditor.js +13 -5
  216. package/dist/editor/field-types/RichTextEditor.js.map +1 -1
  217. package/dist/editor/field-types/RichTextEditorComponent.js +37 -3
  218. package/dist/editor/field-types/RichTextEditorComponent.js.map +1 -1
  219. package/dist/editor/field-types/SingleLineText.js +1 -1
  220. package/dist/editor/field-types/TreeListEditor.js +3 -2
  221. package/dist/editor/field-types/TreeListEditor.js.map +1 -1
  222. package/dist/editor/field-types/richtext/components/ReactSlate.css +23 -5
  223. package/dist/editor/field-types/richtext/components/ReactSlate.d.ts +2 -0
  224. package/dist/editor/field-types/richtext/components/ReactSlate.js +28 -4
  225. package/dist/editor/field-types/richtext/components/ReactSlate.js.map +1 -1
  226. package/dist/editor/field-types/richtext/components/ToolbarButton.js +4 -2
  227. package/dist/editor/field-types/richtext/components/ToolbarButton.js.map +1 -1
  228. package/dist/editor/field-types/richtext/contextMenuFactory.d.ts +13 -0
  229. package/dist/editor/field-types/richtext/contextMenuFactory.js +181 -24
  230. package/dist/editor/field-types/richtext/contextMenuFactory.js.map +1 -1
  231. package/dist/editor/field-types/richtext/types.d.ts +2 -0
  232. package/dist/editor/field-types/richtext/types.js.map +1 -1
  233. package/dist/editor/field-types/richtext/utils/plugins.js +4 -0
  234. package/dist/editor/field-types/richtext/utils/plugins.js.map +1 -1
  235. package/dist/editor/field-types/textContextMenuFactory.js +3 -2
  236. package/dist/editor/field-types/textContextMenuFactory.js.map +1 -1
  237. package/dist/editor/media-selector/AiImageSearchPrompt.js +4 -2
  238. package/dist/editor/media-selector/AiImageSearchPrompt.js.map +1 -1
  239. package/dist/editor/media-selector/MediaFolderBrowser.js +1 -1
  240. package/dist/editor/media-selector/MediaFolderBrowser.js.map +1 -1
  241. package/dist/editor/media-selector/MediaSelector.js +7 -1
  242. package/dist/editor/media-selector/MediaSelector.js.map +1 -1
  243. package/dist/editor/media-selector/TreeSelector.js +40 -35
  244. package/dist/editor/media-selector/TreeSelector.js.map +1 -1
  245. package/dist/editor/menubar/ActiveUsers.js +1 -1
  246. package/dist/editor/menubar/ActiveUsers.js.map +1 -1
  247. package/dist/editor/menubar/GenericToolbar.js +4 -2
  248. package/dist/editor/menubar/GenericToolbar.js.map +1 -1
  249. package/dist/editor/menubar/ItemLanguageVersion.js +2 -2
  250. package/dist/editor/menubar/ItemLanguageVersion.js.map +1 -1
  251. package/dist/editor/menubar/PageSelector.js +26 -147
  252. package/dist/editor/menubar/PageSelector.js.map +1 -1
  253. package/dist/editor/menubar/Separator.js +1 -1
  254. package/dist/editor/menubar/VersionSelector.js +2 -4
  255. package/dist/editor/menubar/VersionSelector.js.map +1 -1
  256. package/dist/editor/menubar/WorkflowButton.js +39 -12
  257. package/dist/editor/menubar/WorkflowButton.js.map +1 -1
  258. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js +16 -38
  259. package/dist/editor/menubar/toolbar-sections/CustomCommandsToolbar.js.map +1 -1
  260. package/dist/editor/menubar/toolbar-sections/EditControls.js +3 -3
  261. package/dist/editor/menubar/toolbar-sections/EditControls.js.map +1 -1
  262. package/dist/editor/menubar/toolbar-sections/HelpButton.js +1 -0
  263. package/dist/editor/menubar/toolbar-sections/HelpButton.js.map +1 -1
  264. package/dist/editor/menubar/toolbar-sections/ManualBrowser.d.ts +6 -10
  265. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js +597 -220
  266. package/dist/editor/menubar/toolbar-sections/ManualBrowser.js.map +1 -1
  267. package/dist/editor/menubar/toolbar-sections/UtilityControls.js +13 -2
  268. package/dist/editor/menubar/toolbar-sections/UtilityControls.js.map +1 -1
  269. package/dist/editor/page-editor-chrome/CommentHighlighting.js +42 -1
  270. package/dist/editor/page-editor-chrome/CommentHighlighting.js.map +1 -1
  271. package/dist/editor/page-editor-chrome/FrameMenu.js +1 -1
  272. package/dist/editor/page-editor-chrome/FrameMenu.js.map +1 -1
  273. package/dist/editor/page-editor-chrome/InlineEditor.js +97 -48
  274. package/dist/editor/page-editor-chrome/InlineEditor.js.map +1 -1
  275. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js +38 -17
  276. package/dist/editor/page-editor-chrome/PlaceholderDropZone.js.map +1 -1
  277. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js +17 -11
  278. package/dist/editor/page-editor-chrome/PlaceholderDropZones.js.map +1 -1
  279. package/dist/editor/page-editor-chrome/useInlineAICompletion.js +301 -301
  280. package/dist/editor/page-editor-chrome/useInlineAICompletion.js.map +1 -1
  281. package/dist/editor/page-viewer/DeviceToolbar.js +1 -1
  282. package/dist/editor/page-viewer/DeviceToolbar.js.map +1 -1
  283. package/dist/editor/page-viewer/EditorForm.js +69 -11
  284. package/dist/editor/page-viewer/EditorForm.js.map +1 -1
  285. package/dist/editor/page-viewer/MiniMap.d.ts +2 -4
  286. package/dist/editor/page-viewer/MiniMap.js +91 -28
  287. package/dist/editor/page-viewer/MiniMap.js.map +1 -1
  288. package/dist/editor/page-viewer/PageViewer.d.ts +3 -1
  289. package/dist/editor/page-viewer/PageViewer.js +92 -19
  290. package/dist/editor/page-viewer/PageViewer.js.map +1 -1
  291. package/dist/editor/page-viewer/PageViewerFrame.d.ts +2 -1
  292. package/dist/editor/page-viewer/PageViewerFrame.js +348 -115
  293. package/dist/editor/page-viewer/PageViewerFrame.js.map +1 -1
  294. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js +114 -49
  295. package/dist/editor/page-viewer/pageModelSkeletonBuilder.js.map +1 -1
  296. package/dist/editor/page-viewer/pageViewContext.d.ts +1 -0
  297. package/dist/editor/page-viewer/pageViewContext.js +51 -14
  298. package/dist/editor/page-viewer/pageViewContext.js.map +1 -1
  299. package/dist/editor/pageModel.d.ts +14 -1
  300. package/dist/editor/reviews/Comment.js +26 -12
  301. package/dist/editor/reviews/Comment.js.map +1 -1
  302. package/dist/editor/reviews/CommentDisplayPopover.js +7 -5
  303. package/dist/editor/reviews/CommentDisplayPopover.js.map +1 -1
  304. package/dist/editor/reviews/CommentView.js +19 -4
  305. package/dist/editor/reviews/CommentView.js.map +1 -1
  306. package/dist/editor/reviews/Comments.js +89 -72
  307. package/dist/editor/reviews/Comments.js.map +1 -1
  308. package/dist/editor/reviews/CreateReviewDialog.js +281 -177
  309. package/dist/editor/reviews/CreateReviewDialog.js.map +1 -1
  310. package/dist/editor/reviews/DecisionsMatrix.js +96 -25
  311. package/dist/editor/reviews/DecisionsMatrix.js.map +1 -1
  312. package/dist/editor/reviews/DiffView.js +7 -14
  313. package/dist/editor/reviews/DiffView.js.map +1 -1
  314. package/dist/editor/reviews/EditReviewSettingsDialog.js +6 -4
  315. package/dist/editor/reviews/EditReviewSettingsDialog.js.map +1 -1
  316. package/dist/editor/reviews/MultiReviewManager.js +25 -3
  317. package/dist/editor/reviews/MultiReviewManager.js.map +1 -1
  318. package/dist/editor/reviews/PagesPanel.js +31 -15
  319. package/dist/editor/reviews/PagesPanel.js.map +1 -1
  320. package/dist/editor/reviews/PreviewInfo.js +1 -4
  321. package/dist/editor/reviews/PreviewInfo.js.map +1 -1
  322. package/dist/editor/reviews/ReviewCard.js +13 -7
  323. package/dist/editor/reviews/ReviewCard.js.map +1 -1
  324. package/dist/editor/reviews/ReviewDetail.js +3 -2
  325. package/dist/editor/reviews/ReviewDetail.js.map +1 -1
  326. package/dist/editor/reviews/ReviewsList.js +7 -3
  327. package/dist/editor/reviews/ReviewsList.js.map +1 -1
  328. package/dist/editor/reviews/SuggestedEdit.js +34 -3
  329. package/dist/editor/reviews/SuggestedEdit.js.map +1 -1
  330. package/dist/editor/reviews/SuggestionDisplayPopover.js +31 -5
  331. package/dist/editor/reviews/SuggestionDisplayPopover.js.map +1 -1
  332. package/dist/editor/reviews/commentAi.js +25 -6
  333. package/dist/editor/reviews/commentAi.js.map +1 -1
  334. package/dist/editor/reviews/reviewCommands.js +4 -1
  335. package/dist/editor/reviews/reviewCommands.js.map +1 -1
  336. package/dist/editor/reviews/useMultiReview.js +2 -2
  337. package/dist/editor/reviews/useMultiReview.js.map +1 -1
  338. package/dist/editor/reviews/useReviews.d.ts +2 -2
  339. package/dist/editor/reviews/useReviews.js +12 -30
  340. package/dist/editor/reviews/useReviews.js.map +1 -1
  341. package/dist/editor/services/agentService.d.ts +229 -5
  342. package/dist/editor/services/agentService.js +292 -39
  343. package/dist/editor/services/agentService.js.map +1 -1
  344. package/dist/editor/services/aiService.d.ts +57 -1
  345. package/dist/editor/services/aiService.js +79 -6
  346. package/dist/editor/services/aiService.js.map +1 -1
  347. package/dist/editor/services/contentService.d.ts +6 -3
  348. package/dist/editor/services/contentService.js +13 -12
  349. package/dist/editor/services/contentService.js.map +1 -1
  350. package/dist/editor/services/editService.d.ts +52 -1
  351. package/dist/editor/services/editService.js +94 -2
  352. package/dist/editor/services/editService.js.map +1 -1
  353. package/dist/editor/services/indexService.js +1 -1
  354. package/dist/editor/services/indexService.js.map +1 -1
  355. package/dist/editor/services/reviewsService.d.ts +3 -6
  356. package/dist/editor/services/reviewsService.js +2 -11
  357. package/dist/editor/services/reviewsService.js.map +1 -1
  358. package/dist/editor/services/serviceHelper.d.ts +2 -1
  359. package/dist/editor/services/serviceHelper.js +112 -20
  360. package/dist/editor/services/serviceHelper.js.map +1 -1
  361. package/dist/editor/services/systemService.d.ts +2 -1
  362. package/dist/editor/services/systemService.js +3 -0
  363. package/dist/editor/services/systemService.js.map +1 -1
  364. package/dist/editor/services-server/api.d.ts +1 -2
  365. package/dist/editor/services-server/api.js +11 -6
  366. package/dist/editor/services-server/api.js.map +1 -1
  367. package/dist/editor/settings/About.js +317 -3
  368. package/dist/editor/settings/About.js.map +1 -1
  369. package/dist/editor/settings/QuotaInfo.js +210 -4
  370. package/dist/editor/settings/QuotaInfo.js.map +1 -1
  371. package/dist/editor/settings/SettingsView.js +25 -23
  372. package/dist/editor/settings/SettingsView.js.map +1 -1
  373. package/dist/editor/settings/Status.js +7 -6
  374. package/dist/editor/settings/Status.js.map +1 -1
  375. package/dist/editor/settings/index/useIndexStatus.js +20 -22
  376. package/dist/editor/settings/index/useIndexStatus.js.map +1 -1
  377. package/dist/editor/settings/panels/AgentsPanel.d.ts +0 -4
  378. package/dist/editor/settings/panels/AgentsPanel.js +95 -121
  379. package/dist/editor/settings/panels/AgentsPanel.js.map +1 -1
  380. package/dist/editor/settings/panels/ModelsPanel.js +329 -108
  381. package/dist/editor/settings/panels/ModelsPanel.js.map +1 -1
  382. package/dist/editor/settings/panels/ProvidersPanel.d.ts +1 -1
  383. package/dist/editor/settings/panels/ProvidersPanel.js +86 -59
  384. package/dist/editor/settings/panels/ProvidersPanel.js.map +1 -1
  385. package/dist/editor/settings/panels/SearchConfigPanel.js +4 -4
  386. package/dist/editor/settings/panels/SearchConfigPanel.js.map +1 -1
  387. package/dist/editor/settings/panels/index.d.ts +3 -2
  388. package/dist/editor/settings/panels/index.js +3 -2
  389. package/dist/editor/settings/panels/index.js.map +1 -1
  390. package/dist/editor/settings/status/coreStatusChecks.js +124 -19
  391. package/dist/editor/settings/status/coreStatusChecks.js.map +1 -1
  392. package/dist/editor/settings/status/useStartupChecks.d.ts +3 -1
  393. package/dist/editor/settings/status/useStartupChecks.js +9 -5
  394. package/dist/editor/settings/status/useStartupChecks.js.map +1 -1
  395. package/dist/editor/setup-wizard/steps/CompleteStep.d.ts +2 -1
  396. package/dist/editor/setup-wizard/steps/CompleteStep.js +2 -1
  397. package/dist/editor/setup-wizard/steps/CompleteStep.js.map +1 -1
  398. package/dist/editor/sidebar/ComponentPalette.js +2 -1
  399. package/dist/editor/sidebar/ComponentPalette.js.map +1 -1
  400. package/dist/editor/sidebar/ComponentTree.d.ts +8 -1
  401. package/dist/editor/sidebar/ComponentTree.js +216 -69
  402. package/dist/editor/sidebar/ComponentTree.js.map +1 -1
  403. package/dist/editor/sidebar/EditHistory.js +22 -46
  404. package/dist/editor/sidebar/EditHistory.js.map +1 -1
  405. package/dist/editor/sidebar/Favorites.js +4 -8
  406. package/dist/editor/sidebar/Favorites.js.map +1 -1
  407. package/dist/editor/sidebar/MainContentTree.js +4 -3
  408. package/dist/editor/sidebar/MainContentTree.js.map +1 -1
  409. package/dist/editor/sidebar/OperationItem.js +21 -7
  410. package/dist/editor/sidebar/OperationItem.js.map +1 -1
  411. package/dist/editor/sidebar/SidebarPanel.d.ts +3 -1
  412. package/dist/editor/sidebar/SidebarPanel.js +44 -12
  413. package/dist/editor/sidebar/SidebarPanel.js.map +1 -1
  414. package/dist/editor/sidebar/SidebarStack.d.ts +2 -1
  415. package/dist/editor/sidebar/SidebarStack.js +4 -3
  416. package/dist/editor/sidebar/SidebarStack.js.map +1 -1
  417. package/dist/editor/sidebar/Validation.js +22 -12
  418. package/dist/editor/sidebar/Validation.js.map +1 -1
  419. package/dist/editor/sidebar/Workbox.js +53 -3
  420. package/dist/editor/sidebar/Workbox.js.map +1 -1
  421. package/dist/editor/sidebar/WorkspaceRail.d.ts +0 -1
  422. package/dist/editor/sidebar/WorkspaceRail.js +56 -167
  423. package/dist/editor/sidebar/WorkspaceRail.js.map +1 -1
  424. package/dist/editor/tree-indicators/GutterColumns.d.ts +3 -1
  425. package/dist/editor/tree-indicators/GutterColumns.js +26 -5
  426. package/dist/editor/tree-indicators/GutterColumns.js.map +1 -1
  427. package/dist/editor/tree-indicators/GutterContext.d.ts +4 -0
  428. package/dist/editor/tree-indicators/GutterContext.js +23 -0
  429. package/dist/editor/tree-indicators/GutterContext.js.map +1 -1
  430. package/dist/editor/tree-indicators/index.d.ts +0 -1
  431. package/dist/editor/tree-indicators/index.js +0 -1
  432. package/dist/editor/tree-indicators/index.js.map +1 -1
  433. package/dist/editor/tree-indicators/types.d.ts +12 -1
  434. package/dist/editor/ui/CopyMoveTargetSelectorDialog.js +1 -1
  435. package/dist/editor/ui/CopyMoveTargetSelectorDialog.js.map +1 -1
  436. package/dist/editor/ui/Icons.js +1 -1
  437. package/dist/editor/ui/Icons.js.map +1 -1
  438. package/dist/editor/ui/ItemNameDialogNew.d.ts +2 -0
  439. package/dist/editor/ui/ItemNameDialogNew.js +33 -17
  440. package/dist/editor/ui/ItemNameDialogNew.js.map +1 -1
  441. package/dist/editor/ui/ItemSearch.js +7 -11
  442. package/dist/editor/ui/ItemSearch.js.map +1 -1
  443. package/dist/editor/ui/SimpleIconButton.js +1 -1
  444. package/dist/editor/ui/SimpleIconButton.js.map +1 -1
  445. package/dist/editor/ui/SimpleTabs.d.ts +1 -0
  446. package/dist/editor/ui/SimpleTabs.js +45 -25
  447. package/dist/editor/ui/SimpleTabs.js.map +1 -1
  448. package/dist/editor/ui/Splitter.d.ts +1 -0
  449. package/dist/editor/ui/Splitter.js +102 -86
  450. package/dist/editor/ui/Splitter.js.map +1 -1
  451. package/dist/editor/ui/TemplateSelectorDialog.js +4 -4
  452. package/dist/editor/ui/TemplateSelectorDialog.js.map +1 -1
  453. package/dist/editor/ui/TreeListSelector.d.ts +6 -1
  454. package/dist/editor/ui/TreeListSelector.js +2 -2
  455. package/dist/editor/ui/TreeListSelector.js.map +1 -1
  456. package/dist/editor/utils/keyboardNavigation.d.ts +6 -20
  457. package/dist/editor/utils/keyboardNavigation.js +48 -140
  458. package/dist/editor/utils/keyboardNavigation.js.map +1 -1
  459. package/dist/editor/utils.js +19 -9
  460. package/dist/editor/utils.js.map +1 -1
  461. package/dist/editor/views/CompareView.d.ts +3 -1
  462. package/dist/editor/views/CompareView.js +7 -5
  463. package/dist/editor/views/CompareView.js.map +1 -1
  464. package/dist/editor/views/EditView.js +1 -1
  465. package/dist/editor/views/EditView.js.map +1 -1
  466. package/dist/editor/views/EditorSlot.js +27 -34
  467. package/dist/editor/views/EditorSlot.js.map +1 -1
  468. package/dist/editor/views/ItemEditor.js +7 -3
  469. package/dist/editor/views/ItemEditor.js.map +1 -1
  470. package/dist/editor/views/MediaFolderEditView.js +1 -1
  471. package/dist/editor/views/MediaFolderEditView.js.map +1 -1
  472. package/dist/editor/views/ParheliaView.js +5 -6
  473. package/dist/editor/views/ParheliaView.js.map +1 -1
  474. package/dist/editor/views/SingleEditView.d.ts +2 -1
  475. package/dist/editor/views/SingleEditView.js +10 -8
  476. package/dist/editor/views/SingleEditView.js.map +1 -1
  477. package/dist/editor/views/editorSlotContext.js +35 -6
  478. package/dist/editor/views/editorSlotContext.js.map +1 -1
  479. package/dist/index.d.ts +16 -2
  480. package/dist/index.js +11 -0
  481. package/dist/index.js.map +1 -1
  482. package/dist/revision.d.ts +2 -2
  483. package/dist/revision.js +2 -2
  484. package/dist/setup/services/setupWizardService.d.ts +40 -13
  485. package/dist/setup/services/setupWizardService.js +32 -17
  486. package/dist/setup/services/setupWizardService.js.map +1 -1
  487. package/dist/setup/wizard/steps/AddModelDialog.js +12 -3
  488. package/dist/setup/wizard/steps/AddModelDialog.js.map +1 -1
  489. package/dist/setup/wizard/steps/ImportModelDialog.js +39 -22
  490. package/dist/setup/wizard/steps/ImportModelDialog.js.map +1 -1
  491. package/dist/splash-screen/ModernSplashScreen.js +112 -32
  492. package/dist/splash-screen/ModernSplashScreen.js.map +1 -1
  493. package/dist/splash-screen/NewPage.js +33 -50
  494. package/dist/splash-screen/NewPage.js.map +1 -1
  495. package/dist/splash-screen/OpenPage.js +2 -6
  496. package/dist/splash-screen/OpenPage.js.map +1 -1
  497. package/dist/splash-screen/ParheliaAssistantChat.js +12 -29
  498. package/dist/splash-screen/ParheliaAssistantChat.js.map +1 -1
  499. package/dist/splash-screen/ParheliaLogo.js +87 -37
  500. package/dist/splash-screen/ParheliaLogo.js.map +1 -1
  501. package/dist/splash-screen/RecentPages.js +3 -3
  502. package/dist/splash-screen/RecentPages.js.map +1 -1
  503. package/dist/tour/Tour.d.ts +2 -1
  504. package/dist/tour/Tour.js +256 -75
  505. package/dist/tour/Tour.js.map +1 -1
  506. package/dist/tour/default-tour.js +222 -96
  507. package/dist/tour/default-tour.js.map +1 -1
  508. package/dist/types.d.ts +63 -29
  509. package/package.json +19 -15
  510. package/styles.css +14 -10
  511. package/dist/editor/ComponentInfo.d.ts +0 -4
  512. package/dist/editor/ComponentInfo.js +0 -41
  513. package/dist/editor/ComponentInfo.js.map +0 -1
  514. package/dist/editor/ai/HelpTerminal.d.ts +0 -5
  515. package/dist/editor/ai/HelpTerminal.js +0 -166
  516. package/dist/editor/ai/HelpTerminal.js.map +0 -1
  517. package/dist/editor/field-types/ReactQuill.d.ts +0 -125
  518. package/dist/editor/field-types/ReactQuill.js +0 -385
  519. package/dist/editor/field-types/ReactQuill.js.map +0 -1
  520. package/dist/editor/services-server/graphQL.d.ts +0 -29
  521. package/dist/editor/services-server/graphQL.js +0 -53
  522. package/dist/editor/services-server/graphQL.js.map +0 -1
  523. package/dist/editor/settings/AllAgentsPanel.d.ts +0 -5
  524. package/dist/editor/settings/AllAgentsPanel.js +0 -139
  525. package/dist/editor/settings/AllAgentsPanel.js.map +0 -1
  526. package/dist/editor/settings/LatestFeedback.d.ts +0 -1
  527. package/dist/editor/settings/LatestFeedback.js +0 -136
  528. package/dist/editor/settings/LatestFeedback.js.map +0 -1
  529. package/dist/editor/settings/Setup.d.ts +0 -1
  530. package/dist/editor/settings/Setup.js +0 -211
  531. package/dist/editor/settings/Setup.js.map +0 -1
  532. package/dist/editor/settings/panels/DatabasePanel.d.ts +0 -6
  533. package/dist/editor/settings/panels/DatabasePanel.js +0 -50
  534. package/dist/editor/settings/panels/DatabasePanel.js.map +0 -1
  535. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.d.ts +0 -2
  536. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.js +0 -195
  537. package/dist/editor/settings/setup-steps/AiSetupStep/EmbeddingsModelSection.js.map +0 -1
  538. package/dist/editor/settings/setup-steps/AiSetupStep/index.d.ts +0 -2
  539. package/dist/editor/settings/setup-steps/AiSetupStep/index.js +0 -21
  540. package/dist/editor/settings/setup-steps/AiSetupStep/index.js.map +0 -1
  541. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.d.ts +0 -1
  542. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.js +0 -233
  543. package/dist/editor/settings/setup-steps/AiSetupStep/provider/ProviderSection.js.map +0 -1
  544. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.d.ts +0 -15
  545. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.js +0 -14
  546. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersList.js.map +0 -1
  547. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.d.ts +0 -1
  548. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js +0 -94
  549. package/dist/editor/settings/setup-steps/AiSetupStep/required-containers/RequiredContainersSection.js.map +0 -1
  550. package/dist/editor/settings/setup-steps/AiSetupStep/types.d.ts +0 -1
  551. package/dist/editor/settings/setup-steps/AiSetupStep/types.js +0 -2
  552. package/dist/editor/settings/setup-steps/AiSetupStep/types.js.map +0 -1
  553. package/dist/editor/settings/setup-steps/AiSetupStep/utils.d.ts +0 -5
  554. package/dist/editor/settings/setup-steps/AiSetupStep/utils.js +0 -44
  555. package/dist/editor/settings/setup-steps/AiSetupStep/utils.js.map +0 -1
  556. package/dist/editor/settings/setup-steps/IndexSetupStep.d.ts +0 -2
  557. package/dist/editor/settings/setup-steps/IndexSetupStep.js +0 -36
  558. package/dist/editor/settings/setup-steps/IndexSetupStep.js.map +0 -1
  559. package/dist/editor/settings/setup-steps/SettingsSetupStep.d.ts +0 -2
  560. package/dist/editor/settings/setup-steps/SettingsSetupStep.js +0 -111
  561. package/dist/editor/settings/setup-steps/SettingsSetupStep.js.map +0 -1
  562. package/dist/editor/settings/setup-steps/SetupOverview.d.ts +0 -14
  563. package/dist/editor/settings/setup-steps/SetupOverview.js +0 -38
  564. package/dist/editor/settings/setup-steps/SetupOverview.js.map +0 -1
  565. package/dist/editor/sidebar/Debug.d.ts +0 -1
  566. package/dist/editor/sidebar/Debug.js +0 -70
  567. package/dist/editor/sidebar/Debug.js.map +0 -1
  568. package/dist/editor/sidebar/GraphQL.d.ts +0 -2
  569. package/dist/editor/sidebar/GraphQL.js +0 -234
  570. package/dist/editor/sidebar/GraphQL.js.map +0 -1
  571. package/dist/editor/sidebar/LeftToolbar.d.ts +0 -1
  572. package/dist/editor/sidebar/LeftToolbar.js +0 -12
  573. package/dist/editor/sidebar/LeftToolbar.js.map +0 -1
  574. package/dist/editor/sidebar/NavigationSidebar.d.ts +0 -4
  575. package/dist/editor/sidebar/NavigationSidebar.js +0 -254
  576. package/dist/editor/sidebar/NavigationSidebar.js.map +0 -1
  577. package/dist/editor/tree-indicators/GutterSelector.d.ts +0 -5
  578. package/dist/editor/tree-indicators/GutterSelector.js +0 -91
  579. package/dist/editor/tree-indicators/GutterSelector.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AgentTerminalStatusBar.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentTerminalStatusBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgentTerminalStatusBar.js","sourceRoot":"","sources":["../../../src/editor/ai/AgentTerminalStatusBar.tsx"],"names":[],"mappings":"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"}
@@ -3,9 +3,11 @@ import React, { useState, useRef, useEffect, useMemo } from "react";
3
3
  import { SimpleIconButton } from "../ui/SimpleIconButton";
4
4
  import { Plus, X, MoreVertical } from "lucide-react";
5
5
  import { cn } from "../../lib/utils";
6
+ import { sanitizeSvg } from "../../lib/sanitize";
6
7
  import { getAgentStatusConfig } from "./AgentStatusBadge";
7
8
  import { Popover, PopoverContent, PopoverTrigger, } from "../../components/ui/popover";
8
9
  import { getActiveAgents, closeAgent as closeAgentService, } from "../services/agentService";
10
+ import { isExecutingAgentStatus, isRunningAgentStatus, parseAgentStatus, } from "../services/agentStatus";
9
11
  import { AgentTerminal } from "./AgentTerminal";
10
12
  import { useEditContext } from "../client/editContext";
11
13
  import { Tooltip, TooltipContent, TooltipTrigger, } from "../../components/ui/tooltip";
@@ -17,6 +19,8 @@ import { AgentsView } from "../../agents-view/AgentsView";
17
19
  import { agentNeedsAttention } from "../../agents-view/AgentsInbox";
18
20
  import { SecretAgentIcon } from "../ui/Icons";
19
21
  import { Spinner } from "../ui/Spinner";
22
+ import { localStorageService } from "../services/localStorageService";
23
+ import { LicenseFeatures, useFeature } from "../../licensing";
20
24
  // function convertAgentMessagesToTerminalMessages(
21
25
  // agentMessages: AgentChatMessage[],
22
26
  // ): Message[] {
@@ -41,6 +45,20 @@ import { Spinner } from "../ui/Spinner";
41
45
  // }));
42
46
  // }
43
47
  const ACTIVE_AGENT_STORAGE_KEY = "editor.activeAgentId";
48
+ const TASKBOARD_PROJECT_QUERY_KEY = "tbProjectId";
49
+ const TASKBOARD_TASK_QUERY_KEY = "tbTaskId";
50
+ function readTaskboardLinkageFromUrl() {
51
+ if (typeof window === "undefined") {
52
+ return {};
53
+ }
54
+ const params = new URLSearchParams(window.location.search);
55
+ const projectId = params.get(TASKBOARD_PROJECT_QUERY_KEY)?.trim() || "";
56
+ const taskId = params.get(TASKBOARD_TASK_QUERY_KEY)?.trim() || "";
57
+ return {
58
+ projectId: projectId || undefined,
59
+ taskId: taskId || undefined,
60
+ };
61
+ }
44
62
  export const Agents = React.memo(function Agents({ closeButton, }) {
45
63
  const [agents, setAgents] = useState([]);
46
64
  const [activeAgentId, setActiveAgentId] = useState(""); // "" = show profile selector, null = show overview, string = agent ID
@@ -55,6 +73,7 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
55
73
  const [selectedProfileId, setSelectedProfileId] = useState("");
56
74
  const [loadingProfiles, setLoadingProfiles] = useState(false);
57
75
  const editContext = useEditContext();
76
+ const canUseAi = useFeature(LicenseFeatures.AI);
58
77
  // Group agents by profile for profile-based tabs
59
78
  const agentsGroupedByProfile = useMemo(() => {
60
79
  const profileMap = new Map();
@@ -133,14 +152,17 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
133
152
  setActiveAgentId(agentId);
134
153
  activeAgentIdRef.current = agentId;
135
154
  if (agentId) {
136
- localStorage.setItem(ACTIVE_AGENT_STORAGE_KEY, agentId);
155
+ localStorageService.setString(ACTIVE_AGENT_STORAGE_KEY, agentId);
137
156
  }
138
157
  else {
139
- localStorage.removeItem(ACTIVE_AGENT_STORAGE_KEY);
158
+ localStorageService.removeItem(ACTIVE_AGENT_STORAGE_KEY);
140
159
  }
141
160
  };
142
161
  // Open an agent from history (or switch to it if already open)
143
162
  const openAgentFromHistory = React.useCallback(async (agent) => {
163
+ if (!canUseAi) {
164
+ return;
165
+ }
144
166
  // Check if this agent is already open as a terminal
145
167
  // Use functional check pattern to get latest agents state
146
168
  let alreadyOpen = false;
@@ -195,11 +217,23 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
195
217
  };
196
218
  setAgents((prev) => [...prev, reopenedAgent]);
197
219
  setActiveAgentIdWithStorage(reopenedAgent.id);
198
- }, []);
220
+ }, [canUseAi]);
199
221
  // Load agents from backend on mount
200
222
  useEffect(() => {
223
+ if (!canUseAi) {
224
+ setAgents([]);
225
+ setInactiveAgents([]);
226
+ setAvailableProfiles([]);
227
+ setActiveAgentId(null);
228
+ activeAgentIdRef.current = null;
229
+ setSelectedProfileId("");
230
+ setLoadingAgents(false);
231
+ setLoadingProfiles(false);
232
+ localStorageService.removeItem(ACTIVE_AGENT_STORAGE_KEY);
233
+ return;
234
+ }
201
235
  loadAgentsFromBackend();
202
- }, []);
236
+ }, [canUseAi]);
203
237
  // When no agents are present (empty state) or when switching to the profile selector,
204
238
  // keep selection state consistent without triggering extra fetches.
205
239
  useEffect(() => {
@@ -214,6 +248,11 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
214
248
  }, [activeAgentId, agents.length]);
215
249
  // Function to reload profiles
216
250
  const reloadProfiles = React.useCallback(async () => {
251
+ if (!canUseAi) {
252
+ setAvailableProfiles([]);
253
+ setLoadingProfiles(false);
254
+ return;
255
+ }
217
256
  try {
218
257
  setLoadingProfiles(true);
219
258
  const profiles = await loadAiProfiles(editContext?.currentItemDescriptor);
@@ -225,10 +264,15 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
225
264
  finally {
226
265
  setLoadingProfiles(false);
227
266
  }
228
- }, [editContext?.currentItemDescriptor]);
267
+ }, [canUseAi, editContext?.currentItemDescriptor]);
229
268
  // Ensure profiles are loaded once for terminals (centralized load)
230
269
  // Only load on mount - profiles are cached and will be reloaded via websocket when changed
231
270
  useEffect(() => {
271
+ if (!canUseAi) {
272
+ setAvailableProfiles([]);
273
+ setLoadingProfiles(false);
274
+ return;
275
+ }
232
276
  let cancelled = false;
233
277
  (async () => {
234
278
  try {
@@ -250,10 +294,10 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
250
294
  cancelled = true;
251
295
  };
252
296
  // eslint-disable-next-line react-hooks/exhaustive-deps
253
- }, []); // Only run on mount - profiles reload via websocket when changed
297
+ }, [canUseAi]); // Only run on mount - profiles reload via websocket when changed
254
298
  // Listen for agent profile changes via websocket (when profiles are updated in Sitecore)
255
299
  useEffect(() => {
256
- if (!editContext?.addSocketMessageListener)
300
+ if (!canUseAi || !editContext?.addSocketMessageListener)
257
301
  return;
258
302
  const removeListener = editContext.addSocketMessageListener((message) => {
259
303
  if (message.type === "agent-profiles-changed") {
@@ -263,9 +307,11 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
263
307
  return () => {
264
308
  removeListener();
265
309
  };
266
- }, [editContext?.addSocketMessageListener, reloadProfiles]);
310
+ }, [canUseAi, editContext?.addSocketMessageListener, reloadProfiles]);
267
311
  // Listen for external requests to add a new agent (e.g., AI command)
268
312
  useEffect(() => {
313
+ if (!canUseAi)
314
+ return;
269
315
  const handleAddNewAgent = (ev) => {
270
316
  let initialMetadata = undefined;
271
317
  try {
@@ -284,9 +330,11 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
284
330
  };
285
331
  window.addEventListener("editor:addNewAgent", handleAddNewAgent);
286
332
  return () => window.removeEventListener("editor:addNewAgent", handleAddNewAgent);
287
- }, []);
333
+ }, [canUseAi]);
288
334
  // Listen for external requests to select an existing open agent without switching views
289
335
  useEffect(() => {
336
+ if (!canUseAi)
337
+ return;
290
338
  const handleSelectAgent = (ev) => {
291
339
  try {
292
340
  const ce = ev;
@@ -302,9 +350,11 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
302
350
  };
303
351
  window.addEventListener("editor:selectAgent", handleSelectAgent);
304
352
  return () => window.removeEventListener("editor:selectAgent", handleSelectAgent);
305
- }, [agents]);
353
+ }, [canUseAi, agents]);
306
354
  // Listen for external requests to open an existing agent
307
355
  useEffect(() => {
356
+ if (!canUseAi)
357
+ return;
308
358
  const handleOpenAgent = (ev) => {
309
359
  try {
310
360
  const ce = ev;
@@ -321,9 +371,11 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
321
371
  };
322
372
  window.addEventListener("editor:openAgent", handleOpenAgent);
323
373
  return () => window.removeEventListener("editor:openAgent", handleOpenAgent);
324
- }, [openAgentFromHistory]);
374
+ }, [canUseAi, openAgentFromHistory]);
325
375
  // Listen for external requests to create a new agent with a specific profile
326
376
  useEffect(() => {
377
+ if (!canUseAi)
378
+ return;
327
379
  const handleCreateAgentWithProfile = (ev) => {
328
380
  try {
329
381
  const ce = ev;
@@ -336,17 +388,16 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
336
388
  profileName: profile.name,
337
389
  };
338
390
  // Add preconfigured todos as todoList if the profile has them
339
- // Backend uses [PreserveNames] so check both camelCase and PascalCase
340
- const preconfiguredTodos = profile.preconfiguredTodos || profile.PreconfiguredTodos;
391
+ const preconfiguredTodos = profile.preconfiguredTodos;
341
392
  if (preconfiguredTodos && preconfiguredTodos.length > 0) {
342
393
  additionalData.todoList = {
343
394
  title: "Preconfigured Tasks",
344
395
  items: preconfiguredTodos.map((todo) => ({
345
- id: todo.id || todo.Id || crypto.randomUUID(),
346
- title: todo.title || todo.Title,
396
+ id: todo.id || crypto.randomUUID(),
397
+ title: todo.title,
347
398
  status: "pending",
348
- instructions: todo.instructions || todo.Instructions,
349
- agentProfileId: todo.agentProfileId || todo.AgentProfileId,
399
+ instructions: todo.instructions,
400
+ agentProfileId: todo.agentProfileId,
350
401
  })),
351
402
  };
352
403
  }
@@ -383,10 +434,10 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
383
434
  };
384
435
  window.addEventListener("editor:createAgentWithProfile", handleCreateAgentWithProfile);
385
436
  return () => window.removeEventListener("editor:createAgentWithProfile", handleCreateAgentWithProfile);
386
- }, []);
437
+ }, [canUseAi]);
387
438
  // Subscribe to websocket messages for agent events
388
439
  useEffect(() => {
389
- if (!editContext?.addSocketMessageListener)
440
+ if (!canUseAi || !editContext?.addSocketMessageListener)
390
441
  return;
391
442
  const unsubscribe = editContext.addSocketMessageListener((message) => {
392
443
  // In single-agent mode, ignore events that would add or remove agents,
@@ -399,11 +450,11 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
399
450
  }
400
451
  if (message.type === "agent:run:start") {
401
452
  const payload = message.payload || {};
402
- const agentId = payload.agentId || payload.AgentId;
403
- const agentName = payload.agentName || payload.AgentName;
404
- const autoSelect = payload.autoSelect || payload.AutoSelect;
405
- const profileId = payload.profileId || payload.ProfileId;
406
- const profileName = payload.profileName || payload.ProfileName;
453
+ const agentId = payload.agentId;
454
+ const agentName = payload.agentName;
455
+ const autoSelect = payload.autoSelect;
456
+ const profileId = payload.profileId;
457
+ const profileName = payload.profileName;
407
458
  if (!agentId || !agentName) {
408
459
  console.warn("Invalid agent:run:start message payload:", message.payload);
409
460
  return;
@@ -446,9 +497,9 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
446
497
  }
447
498
  else if (message.type === "agent:info:updated") {
448
499
  const payload = message.payload || {};
449
- const agentId = payload.agentId || payload.AgentId;
450
- const agentName = payload.agentName || payload.AgentName;
451
- const agentDescription = payload.agentDescription || payload.AgentDescription;
500
+ const agentId = payload.agentId;
501
+ const agentName = payload.agentName;
502
+ const agentDescription = payload.agentDescription;
452
503
  if (!agentId)
453
504
  return;
454
505
  // Update the agent name and/or description in the tabs list
@@ -472,56 +523,11 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
472
523
  else if (message.type === "agent:run:status") {
473
524
  // Unified status updates (state only)
474
525
  const payload = message.payload || {};
475
- const agentId = payload.agentId || payload.AgentId;
476
- const data = payload.data || payload.Data;
526
+ const agentId = payload.agentId;
527
+ const data = payload.data;
477
528
  if (!agentId)
478
529
  return;
479
- const rawState = data?.state || data?.State;
480
- const status = (() => {
481
- if (!rawState)
482
- return undefined;
483
- switch (rawState) {
484
- case "Running":
485
- return "running";
486
- case "WaitingForApproval":
487
- return "waitingForApproval";
488
- case "Completed":
489
- return "completed";
490
- case "Closed":
491
- return "closed";
492
- case "Error":
493
- return "error";
494
- case "Idle":
495
- return "idle";
496
- case "CostLimitReached":
497
- return "costLimitReached";
498
- // Transient notification states - not actual agent statuses
499
- case "toolApprovalGranted":
500
- case "toolApprovalRejected":
501
- case "toolApprovalsRequired":
502
- case "executingToolCalls":
503
- case "tokenUsage":
504
- case "streamOpen":
505
- case "contextChanged":
506
- case "queued":
507
- return undefined; // ignore transient states
508
- default:
509
- // allow already-lowercased strings that are valid statuses
510
- if ([
511
- "new",
512
- "running",
513
- "waitingForApproval",
514
- "completed",
515
- "closed",
516
- "error",
517
- "idle",
518
- "costLimitReached",
519
- ].includes(rawState)) {
520
- return rawState;
521
- }
522
- return undefined; // ignore unknown states
523
- }
524
- })();
530
+ const status = parseAgentStatus(data?.state);
525
531
  if (!status)
526
532
  return;
527
533
  setAgents((prevAgents) => {
@@ -575,7 +581,7 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
575
581
  // No agents left, show profile selector
576
582
  setActiveAgentId("");
577
583
  activeAgentIdRef.current = "";
578
- localStorage.removeItem(ACTIVE_AGENT_STORAGE_KEY);
584
+ localStorageService.removeItem(ACTIVE_AGENT_STORAGE_KEY);
579
585
  }
580
586
  }
581
587
  // If no agents remain, reset profile selection to placeholder
@@ -588,9 +594,9 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
588
594
  else if (message.type === "agent:profile:switched") {
589
595
  // Handle profile switch initiated by the agent (via switch-profile function)
590
596
  const payload = message.payload || {};
591
- const agentId = payload.agentId || payload.AgentId;
592
- const newProfileId = payload.newProfileId || payload.NewProfileId;
593
- const newProfileName = payload.newProfileName || payload.NewProfileName;
597
+ const agentId = payload.agentId;
598
+ const newProfileId = payload.newProfileId;
599
+ const newProfileName = payload.newProfileName;
594
600
  if (!agentId || !newProfileId)
595
601
  return;
596
602
  // Find the profile's icon from available profiles
@@ -613,9 +619,15 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
613
619
  }
614
620
  });
615
621
  return unsubscribe;
616
- }, [editContext?.addSocketMessageListener, availableProfiles]);
622
+ }, [canUseAi, editContext?.addSocketMessageListener, availableProfiles]);
617
623
  const loadAgentsFromBackend = async () => {
618
624
  try {
625
+ if (!canUseAi) {
626
+ setAgents([]);
627
+ setInactiveAgents([]);
628
+ setLoadingAgents(false);
629
+ return;
630
+ }
619
631
  // In single-agent mode, skip loading any pre-existing/open agents or history
620
632
  if (singleAgentModeRef.current) {
621
633
  setAgents([]);
@@ -636,11 +648,18 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
636
648
  excludeClosed: true, // Exclude closed and cancelled agents
637
649
  });
638
650
  const activeAgentsResult = activeAgentsResponse.agents;
639
- setAgents(activeAgentsResult);
651
+ // Merge the backend agents with any locally added "new" agents that haven't been saved yet
652
+ setAgents((prev) => {
653
+ const newAgents = prev.filter((a) => a.status === "new");
654
+ // Avoid duplicates if any new agents were already saved and returned in activeAgentsResult
655
+ const backendIds = new Set(activeAgentsResult.map((a) => a.id));
656
+ const filteredNewAgents = newAgents.filter((a) => !backendIds.has(a.id));
657
+ return [...activeAgentsResult, ...filteredNewAgents];
658
+ });
640
659
  // Try to restore the previously active agent from localStorage if one exists
641
660
  let selectedAgentId = null;
642
661
  if (activeAgentsResult.length > 0) {
643
- const storedAgentId = localStorage.getItem(ACTIVE_AGENT_STORAGE_KEY);
662
+ const storedAgentId = localStorageService.getString(ACTIVE_AGENT_STORAGE_KEY);
644
663
  const storedAgent = activeAgentsResult.find((agent) => agent.id === storedAgentId);
645
664
  if (storedAgent) {
646
665
  selectedAgentId = storedAgent.id;
@@ -653,13 +672,28 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
653
672
  }
654
673
  // If there are no active agents after load, set to empty string to show profile selector
655
674
  if (activeAgentsResult.length === 0) {
656
- setActiveAgentId("");
657
- activeAgentIdRef.current = "";
658
- localStorage.removeItem(ACTIVE_AGENT_STORAGE_KEY);
659
- setSelectedProfileId("");
675
+ // Only if no new agent was added in the meantime
676
+ setAgents((prev) => {
677
+ if (prev.length === 0) {
678
+ setActiveAgentId("");
679
+ activeAgentIdRef.current = "";
680
+ localStorage.removeItem(ACTIVE_AGENT_STORAGE_KEY);
681
+ setSelectedProfileId("");
682
+ }
683
+ return prev;
684
+ });
660
685
  }
661
686
  else {
662
- setActiveAgentIdWithStorage(selectedAgentId);
687
+ // Only restore from backend/storage if no new agent is currently active
688
+ // This prevents overwriting a newly created agent from a comment (especially on mobile)
689
+ const currentActiveId = activeAgentIdRef.current;
690
+ setAgents((prev) => {
691
+ const isNewAgentActive = prev.some((a) => a.id === currentActiveId && a.status === "new");
692
+ if (!isNewAgentActive) {
693
+ setActiveAgentIdWithStorage(selectedAgentId);
694
+ }
695
+ return prev;
696
+ });
663
697
  }
664
698
  // Load closed agents for history
665
699
  const response = await getActiveAgents({
@@ -668,7 +702,7 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
668
702
  includeOwned: true,
669
703
  });
670
704
  // Filter to only closed agents on the client side
671
- const closedAgents = response.agents.filter((agent) => agent.status === "closed" || agent.status === 5);
705
+ const closedAgents = response.agents.filter((agent) => agent.status === "closed");
672
706
  // Deduplicate agents by ID in case the backend returns duplicates
673
707
  const uniqueClosedAgents = closedAgents.filter((agent, index, self) => index === self.findIndex((a) => a.id === agent.id));
674
708
  setInactiveAgents(uniqueClosedAgents);
@@ -694,6 +728,9 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
694
728
  // return null;
695
729
  // };
696
730
  const addAgent = (metadata) => {
731
+ if (!canUseAi) {
732
+ return;
733
+ }
697
734
  const newAgent = {
698
735
  status: "new",
699
736
  id: crypto.randomUUID(),
@@ -719,24 +756,29 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
719
756
  };
720
757
  const createAgentWithSelectedProfile = (profileId) => {
721
758
  const selected = availableProfiles.find((p) => p.id === profileId);
759
+ const taskboardLinkage = readTaskboardLinkageFromUrl();
722
760
  // Build additionalData with preconfigured todos if available
723
761
  // Backend uses [PreserveNames] so check both camelCase and PascalCase
724
762
  const additionalData = selected
725
763
  ? {
726
764
  profileId: selected.id,
727
765
  profileName: selected.name,
766
+ ...(taskboardLinkage.projectId
767
+ ? { projectId: taskboardLinkage.projectId }
768
+ : {}),
769
+ ...(taskboardLinkage.taskId ? { taskId: taskboardLinkage.taskId } : {}),
728
770
  }
729
771
  : {};
730
- const preconfiguredTodos = selected?.preconfiguredTodos || selected?.PreconfiguredTodos;
772
+ const preconfiguredTodos = selected?.preconfiguredTodos;
731
773
  if (preconfiguredTodos && preconfiguredTodos.length > 0) {
732
774
  additionalData.todoList = {
733
775
  title: "Preconfigured Tasks",
734
776
  items: preconfiguredTodos.map((todo) => ({
735
- id: todo.id || todo.Id || crypto.randomUUID(),
736
- title: todo.title || todo.Title,
777
+ id: todo.id || crypto.randomUUID(),
778
+ title: todo.title,
737
779
  status: "pending",
738
- instructions: todo.instructions || todo.Instructions,
739
- agentProfileId: todo.agentProfileId || todo.AgentProfileId,
780
+ instructions: todo.instructions,
781
+ agentProfileId: todo.agentProfileId,
740
782
  })),
741
783
  };
742
784
  }
@@ -748,6 +790,9 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
748
790
  : undefined;
749
791
  addAgent(metadata);
750
792
  };
793
+ const handleAgentUpdate = React.useCallback((agentId, updates) => {
794
+ setAgents((prev) => prev.map((agent) => agent.id === agentId ? { ...agent, ...updates } : agent));
795
+ }, []);
751
796
  const closeAgent = async (agentId) => {
752
797
  try {
753
798
  // Permanently close the agent in the backend
@@ -808,13 +853,8 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
808
853
  closeAgent(agentId);
809
854
  return;
810
855
  }
811
- // Check if agent is in an active state (running or waiting for approval)
812
- // Handle both string and numeric status values
813
- // Enum: New=0, Running=1, WaitingForApproval=2, Completed=3, Error=4, Closed=5
814
856
  const isActivelyRunning = agent.status === "running" ||
815
- agent.status === "waitingForApproval" ||
816
- agent.status === 1 ||
817
- agent.status === 2;
857
+ agent.status === "waitingForApproval";
818
858
  // If agent is actively running, show confirmation dialog
819
859
  if (isActivelyRunning) {
820
860
  if (editContext?.confirm) {
@@ -837,15 +877,12 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
837
877
  const handleCloseProfileAgents = async (profileAgents, profileName, e) => {
838
878
  e.stopPropagation();
839
879
  const agentCount = profileAgents.length;
840
- const hasActiveAgents = profileAgents.some((agent) => agent.status === "running" ||
841
- agent.status === "waitingForApproval" ||
842
- agent.status === 1 ||
843
- agent.status === 2);
880
+ const hasActiveAgents = profileAgents.some((agent) => isExecutingAgentStatus(agent.status));
844
881
  if (editContext?.confirm) {
845
882
  editContext.confirm({
846
883
  header: `Close ${agentCount} Agent${agentCount > 1 ? "s" : ""}`,
847
884
  message: hasActiveAgents
848
- ? `This will close all ${agentCount} ${profileName} agent${agentCount > 1 ? "s" : ""}, including ${profileAgents.filter((a) => a.status === "running" || a.status === 1).length} running agent(s). Are you sure?`
885
+ ? `This will close all ${agentCount} ${profileName} agent${agentCount > 1 ? "s" : ""}, including ${profileAgents.filter((a) => isRunningAgentStatus(a.status)).length} running agent(s). Are you sure?`
849
886
  : `Are you sure you want to close all ${agentCount} ${profileName} agent${agentCount > 1 ? "s" : ""}?`,
850
887
  acceptLabel: `Close ${agentCount > 1 ? "All" : "Agent"}`,
851
888
  accept: async () => {
@@ -879,7 +916,7 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
879
916
  // No agents left, show profile selector
880
917
  setActiveAgentId("");
881
918
  activeAgentIdRef.current = "";
882
- localStorage.removeItem(ACTIVE_AGENT_STORAGE_KEY);
919
+ localStorageService.removeItem(ACTIVE_AGENT_STORAGE_KEY);
883
920
  }
884
921
  }
885
922
  // Reset profile selection if no agents remain
@@ -939,6 +976,9 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
939
976
  },
940
977
  ];
941
978
  };
979
+ if (!canUseAi) {
980
+ return (_jsx("div", { className: "flex h-full items-center justify-center p-4 text-center text-sm text-gray-500", children: "AI features are unavailable with the current license." }));
981
+ }
942
982
  if (loadingAgents) {
943
983
  return (_jsxs("div", { className: "flex h-full items-center justify-center gap-2", children: [_jsx(Spinner, { size: "sm" }), _jsx("div", { className: "text-xs text-gray-500", children: "Loading agents..." })] }));
944
984
  }
@@ -951,7 +991,7 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
951
991
  console.log("[Agents Empty State] Overview tab clicked, toggling back to profile selector", e);
952
992
  setActiveAgentId("");
953
993
  activeAgentIdRef.current = "";
954
- localStorage.removeItem(ACTIVE_AGENT_STORAGE_KEY);
994
+ localStorageService.removeItem(ACTIVE_AGENT_STORAGE_KEY);
955
995
  }, className: cn("flex h-8 min-w-0 cursor-pointer items-center gap-2 border-r border-gray-200 px-2 text-xs", "border-b-white bg-white hover:bg-gray-50"), children: [_jsxs("div", { className: "relative", children: [_jsx(List, { className: "size-4 flex-shrink-0 text-gray-600", strokeWidth: 1 }), inboxCount > 0 && (_jsx("span", { className: "absolute -top-1.5 -right-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-amber-500 px-1 text-[9px] font-bold text-white", children: inboxCount > 9 ? "9+" : inboxCount }))] }), _jsx("span", { className: "truncate font-medium", children: "Overview" })] }) })) : (
956
996
  /* Show Overview as a button when displaying profile selector */
957
997
  _jsx("div", { className: "flex items-center px-1", children: _jsx(SimpleIconButton, { onClick: (e) => {
@@ -1008,10 +1048,8 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
1008
1048
  }
1009
1049
  // Multiple agents: popover will open via PopoverTrigger
1010
1050
  }, children: [_jsxs("div", { className: "flex min-w-0 flex-1 items-center gap-2 overflow-hidden", children: [_jsx("div", { className: "flex-shrink-0", children: displayIcon ? (_jsx("div", { className: "flex h-[18px] w-[18px] items-center justify-center text-gray-500 [&>svg]:h-full [&>svg]:w-full", dangerouslySetInnerHTML: {
1011
- __html: displayIcon,
1012
- } })) : (_jsx(SecretAgentIcon, { size: 18, strokeWidth: 1, className: "text-gray-500" })) }), _jsx("span", { className: "min-w-0 flex-1 truncate font-medium", children: displayName }), agentCount > 1 && (_jsx("div", { className: "flex-shrink-0 rounded-full bg-gray-200 px-1.5 py-0.5 text-[10px] leading-none font-medium text-gray-700", children: agentCount })), _jsxs(Tooltip, { delayDuration: 1000, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("div", { className: cn("h-1.5 w-1.5 flex-shrink-0 rounded-full", statusConfig.color, statusConfig.shouldPulse && "animate-pulse"), title: statusConfig.label }) }), _jsx(TooltipContent, { children: _jsxs("div", { children: [_jsx("div", { children: statusConfig.label }), singleAgent?.status === "error" ||
1013
- singleAgent?.status === 4 ? (singleAgent?.statusMessage ? (_jsx("div", { className: "mt-1 text-xs text-red-600", children: singleAgent.statusMessage })) : null) : activeAgent?.status === "error" ||
1014
- activeAgent?.status === 4 ? (activeAgent?.statusMessage ? (_jsx("div", { className: "mt-1 text-xs text-red-600", children: activeAgent.statusMessage })) : null) : null] }) })] }), agentCount > 1 && (_jsx(ChevronDown, { className: "size-3 flex-shrink-0 text-gray-500", strokeWidth: 1 }))] }), _jsx(SimpleIconButton, { onClick: (e) => singleAgent
1051
+ __html: sanitizeSvg(displayIcon),
1052
+ } })) : (_jsx(SecretAgentIcon, { size: 18, strokeWidth: 1, className: "text-gray-500" })) }), _jsx("span", { className: "min-w-0 flex-1 truncate font-medium", children: displayName }), agentCount > 1 && (_jsx("div", { className: "flex-shrink-0 rounded-full bg-gray-200 px-1.5 py-0.5 text-[10px] leading-none font-medium text-gray-700", children: agentCount })), _jsxs(Tooltip, { delayDuration: 1000, children: [_jsx(TooltipTrigger, { asChild: true, children: _jsx("div", { className: cn("h-1.5 w-1.5 flex-shrink-0 rounded-full", statusConfig.color, statusConfig.shouldPulse && "animate-pulse"), title: statusConfig.label }) }), _jsx(TooltipContent, { children: _jsxs("div", { children: [_jsx("div", { children: statusConfig.label }), singleAgent?.status === "error" ? (singleAgent?.statusMessage ? (_jsx("div", { className: "mt-1 text-xs text-red-600", children: singleAgent.statusMessage })) : null) : activeAgent?.status === "error" ? (activeAgent?.statusMessage ? (_jsx("div", { className: "mt-1 text-xs text-red-600", children: activeAgent.statusMessage })) : null) : null] }) })] }), agentCount > 1 && (_jsx(ChevronDown, { className: "size-3 flex-shrink-0 text-gray-500", strokeWidth: 1 }))] }), _jsx(SimpleIconButton, { onClick: (e) => singleAgent
1015
1053
  ? handleCloseAgent(singleAgent.id, e)
1016
1054
  : handleCloseProfileAgents(profileGroup.agents, profileGroup.profileName, e), icon: _jsx(X, { className: "size-3", strokeWidth: 1 }), label: agentCount > 1
1017
1055
  ? `Close all ${agentCount} agents`
@@ -1021,8 +1059,7 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
1021
1059
  setActiveAgentIdWithStorage(agent.id);
1022
1060
  setProfileTabDropdownOpen(null);
1023
1061
  }, children: _jsxs("div", { className: "flex items-center gap-2", children: [_jsx("div", { className: cn("h-2 w-2 flex-shrink-0 rounded-full", agentStatusConfig.color, agentStatusConfig.shouldPulse &&
1024
- "animate-pulse"), title: agentStatusConfig.label }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-xs font-medium text-gray-900", children: agent.name }), _jsx("div", { className: "text-[9px] font-mono text-gray-400", children: agent.id }), agent.status === "error" ||
1025
- agent.status === 4 ? (agent.statusMessage ? (_jsx("div", { className: "truncate text-[11px] leading-tight text-red-600", children: agent.statusMessage })) : (agent.description && (_jsx("div", { className: "truncate text-[11px] leading-tight text-gray-400", children: agent.description })))) : (agent.description && (_jsx("div", { className: "truncate text-[11px] leading-tight text-gray-400", children: agent.description })))] }), _jsx(SimpleIconButton, { onClick: (e) => handleCloseAgent(agent.id, e), icon: _jsx(X, { className: "size-3", strokeWidth: 1 }), label: "Close", className: "opacity-60 hover:opacity-100" })] }) }, agent.id));
1062
+ "animate-pulse"), title: agentStatusConfig.label }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsx("div", { className: "truncate text-xs font-medium text-gray-900", children: agent.name }), _jsx("div", { className: "text-[9px] font-mono text-gray-400", children: agent.id }), agent.status === "error" ? (agent.statusMessage ? (_jsx("div", { className: "truncate text-[11px] leading-tight text-red-600", children: agent.statusMessage })) : (agent.description && (_jsx("div", { className: "truncate text-[11px] leading-tight text-gray-400", children: agent.description })))) : (agent.description && (_jsx("div", { className: "truncate text-[11px] leading-tight text-gray-400", children: agent.description })))] }), _jsx(SimpleIconButton, { onClick: (e) => handleCloseAgent(agent.id, e), icon: _jsx(X, { className: "size-3", strokeWidth: 1 }), label: "Close", className: "opacity-60 hover:opacity-100" })] }) }, agent.id));
1026
1063
  }) })] }))] }) }, profileKey));
1027
1064
  })] }), activeAgentId !== null && (_jsx("div", { className: "flex items-center px-1", children: _jsx(SimpleIconButton, { onClick: () => setActiveAgentIdWithStorage(null), icon: _jsxs("div", { className: "relative", children: [_jsx(List, { className: "size-4", strokeWidth: 1 }), inboxCount > 0 && (_jsx("span", { className: "absolute -top-1.5 -right-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-amber-500 px-1 text-[9px] font-bold text-white", children: inboxCount > 9 ? "9+" : inboxCount }))] }), label: `Agent Overview${inboxCount > 0 ? ` (${inboxCount} need attention)` : ""}`, className: "text-gray-600 hover:text-gray-800" }) })), activeAgentId === null && (_jsx("div", { className: "flex items-center px-1", children: _jsxs("div", { className: cn("flex min-w-0 cursor-default items-center gap-2 border-r border-gray-200 p-2 text-xs", "border-b-white bg-white"), children: [_jsxs("div", { className: "relative", children: [_jsx(List, { className: "size-4 flex-shrink-0 text-gray-600", strokeWidth: 1 }), inboxCount > 0 && (_jsx("span", { className: "absolute -top-1.5 -right-1.5 flex h-3.5 min-w-3.5 items-center justify-center rounded-full bg-amber-500 px-1 text-[9px] font-bold text-white", children: inboxCount > 9 ? "9+" : inboxCount }))] }), _jsx("span", { className: "truncate font-medium", children: "Overview" })] }) })), agents.length > 0 && (_jsx("div", { className: "flex items-center px-1", children: _jsxs(Popover, { open: menuPopoverOpen, onOpenChange: (open) => {
1028
1065
  setMenuPopoverOpen(open);
@@ -1052,7 +1089,7 @@ export const Agents = React.memo(function Agents({ closeButton, }) {
1052
1089
  const activeAgent = agents.find((a) => a.id === activeAgentId);
1053
1090
  if (!activeAgent)
1054
1091
  return null;
1055
- return (_jsx("div", { className: "absolute inset-0", children: _jsx(AgentTerminal, { agentStub: activeAgent, initialMetadata: initialMetadataMap[activeAgent.id], profiles: availableProfiles, isActive: true }) }, activeAgent.id));
1092
+ return (_jsx("div", { className: "absolute inset-0", children: _jsx(AgentTerminal, { agentStub: activeAgent, initialMetadata: initialMetadataMap[activeAgent.id], profiles: availableProfiles, isActive: true, onAgentUpdate: (updates) => handleAgentUpdate(activeAgent.id, updates) }) }, activeAgent.id));
1056
1093
  })()) })] }));
1057
1094
  });
1058
1095
  //# sourceMappingURL=Agents.js.map