@burdenoff/microfe-vibecontrols 2026.511.1 → 2026.512.1

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 (1025) hide show
  1. package/dist/_virtual/_rolldown/runtime.js +2 -5
  2. package/dist/components/agent-manager/AgentManagerAdminBar.js +69 -61
  3. package/dist/components/agent-manager/AgentManagerAdminBar.js.map +1 -1
  4. package/dist/components/agent-manager/AgentManagerCenter.js +56 -50
  5. package/dist/components/agent-manager/AgentManagerCenter.js.map +1 -1
  6. package/dist/components/agent-manager/AgentManagerChatPane.js +87 -74
  7. package/dist/components/agent-manager/AgentManagerChatPane.js.map +1 -1
  8. package/dist/components/agent-manager/AgentManagerDetailPanel.js +5 -5
  9. package/dist/components/agent-manager/AgentManagerDetailPanel.js.map +1 -1
  10. package/dist/components/agent-manager/AgentManagerInputArea.js +159 -157
  11. package/dist/components/agent-manager/AgentManagerInputArea.js.map +1 -1
  12. package/dist/components/agent-manager/AgentManagerMessageItem.js +32 -28
  13. package/dist/components/agent-manager/AgentManagerMessageItem.js.map +1 -1
  14. package/dist/components/agent-manager/AgentManagerSessionItem.js +24 -24
  15. package/dist/components/agent-manager/AgentManagerSessionItem.js.map +1 -1
  16. package/dist/components/agent-manager/AgentManagerSessionList.js +32 -24
  17. package/dist/components/agent-manager/AgentManagerSessionList.js.map +1 -1
  18. package/dist/components/agent-manager/AgentManagerSidebar.js +3 -3
  19. package/dist/components/agent-manager/AgentManagerSidebar.js.map +1 -1
  20. package/dist/components/agent-manager/AgentManagerTabBar.js +2 -2
  21. package/dist/components/agent-manager/AgentManagerTabBar.js.map +1 -1
  22. package/dist/components/agent-manager/BridleConfigPanel.js +1 -1
  23. package/dist/components/agent-manager/BridleConfigPanel.js.map +1 -1
  24. package/dist/components/agent-manager/ProfilesPanel.js +260 -0
  25. package/dist/components/agent-manager/ProfilesPanel.js.map +1 -0
  26. package/dist/components/agent-manager/controls/ModelSelector.js +75 -58
  27. package/dist/components/agent-manager/controls/ModelSelector.js.map +1 -1
  28. package/dist/components/agent-manager/controls/SdkSelector.js +85 -61
  29. package/dist/components/agent-manager/controls/SdkSelector.js.map +1 -1
  30. package/dist/components/agent-manager/detail/SessionConfigPanel.js +2 -2
  31. package/dist/components/agent-manager/detail/SessionConfigPanel.js.map +1 -1
  32. package/dist/components/agent-manager/detail/SessionLogsPanel.js +1 -1
  33. package/dist/components/agent-manager/detail/SessionLogsPanel.js.map +1 -1
  34. package/dist/components/agent-manager/detail/SessionStatsPanel.js +1 -1
  35. package/dist/components/agent-manager/detail/SessionStatsPanel.js.map +1 -1
  36. package/dist/components/agent-manager/detail/SessionToolsPanel.js +1 -1
  37. package/dist/components/agent-manager/detail/SessionToolsPanel.js.map +1 -1
  38. package/dist/components/agent-manager/dialogs/ExportSessionDialog.js +1 -1
  39. package/dist/components/agent-manager/dialogs/ExportSessionDialog.js.map +1 -1
  40. package/dist/components/agent-manager/dialogs/NewSessionDialog.js +129 -108
  41. package/dist/components/agent-manager/dialogs/NewSessionDialog.js.map +1 -1
  42. package/dist/components/agent-manager/dialogs/SessionSearchDialog.js +1 -1
  43. package/dist/components/agent-manager/dialogs/SessionSearchDialog.js.map +1 -1
  44. package/dist/components/agent-manager/index.js +16 -0
  45. package/dist/components/agent-manager/modelDefaults.js +10 -0
  46. package/dist/components/agent-manager/modelDefaults.js.map +1 -0
  47. package/dist/components/agents/AgentCard.js +33 -30
  48. package/dist/components/agents/AgentCard.js.map +1 -1
  49. package/dist/components/agents/AgentForm.js +277 -239
  50. package/dist/components/agents/AgentForm.js.map +1 -1
  51. package/dist/components/agents/AgentStatusBadge.js +19 -8
  52. package/dist/components/agents/AgentStatusBadge.js.map +1 -1
  53. package/dist/components/agents/OpenInBrowserEditorButton.js +67 -65
  54. package/dist/components/agents/OpenInBrowserEditorButton.js.map +1 -1
  55. package/dist/components/agents/backup/AgentBackupTab.js +186 -185
  56. package/dist/components/agents/backup/AgentBackupTab.js.map +1 -1
  57. package/dist/components/ai/AIContextsTab.js +1 -1
  58. package/dist/components/ai/AIContextsTab.js.map +1 -1
  59. package/dist/components/ai/AIOverviewTab.js +2 -2
  60. package/dist/components/ai/AIOverviewTab.js.map +1 -1
  61. package/dist/components/ai/AIPlaygroundTab.js +97 -97
  62. package/dist/components/ai/AIPlaygroundTab.js.map +1 -1
  63. package/dist/components/ai/AIPromptsTab.js +4 -4
  64. package/dist/components/ai/AIPromptsTab.js.map +1 -1
  65. package/dist/components/ai/AIProviderCredentialsCard.js +234 -0
  66. package/dist/components/ai/AIProviderCredentialsCard.js.map +1 -0
  67. package/dist/components/ai/AISessionsTab.js +17 -1
  68. package/dist/components/ai/AISessionsTab.js.map +1 -1
  69. package/dist/components/ai/AIStatsTab.js +1 -1
  70. package/dist/components/ai/AIStatsTab.js.map +1 -1
  71. package/dist/components/ai/ClaudeCredentialsCard.js +1 -1
  72. package/dist/components/ai/ClaudeCredentialsCard.js.map +1 -1
  73. package/dist/components/ai/PluginHarnessPicker.js +84 -53
  74. package/dist/components/ai/PluginHarnessPicker.js.map +1 -1
  75. package/dist/components/aliases/AliasManager.js +386 -0
  76. package/dist/components/aliases/AliasManager.js.map +1 -0
  77. package/dist/components/aliases/aliasReservedNames.js +32 -0
  78. package/dist/components/aliases/aliasReservedNames.js.map +1 -0
  79. package/dist/components/gitops/CIDurationChart.js +11 -11
  80. package/dist/components/gitops/VibeGitOpsTab.js +128 -100
  81. package/dist/components/gitops/VibeGitOpsTab.js.map +1 -1
  82. package/dist/components/graph/AgentGraphView.js +61 -62
  83. package/dist/components/graph/AgentGraphView.js.map +1 -1
  84. package/dist/components/graph/AgentNode.js +17 -18
  85. package/dist/components/graph/AgentNode.js.map +1 -1
  86. package/dist/components/graph/TargetNode.js +31 -32
  87. package/dist/components/graph/TargetNode.js.map +1 -1
  88. package/dist/components/logs/LogViewer.js +121 -119
  89. package/dist/components/logs/LogViewer.js.map +1 -1
  90. package/dist/components/sessions/TerminalPanel.js +449 -458
  91. package/dist/components/sessions/TerminalPanel.js.map +1 -1
  92. package/dist/components/shared/AgentSelector.js +87 -67
  93. package/dist/components/shared/AgentSelector.js.map +1 -1
  94. package/dist/components/shared/AgentSetupBanner.js +64 -61
  95. package/dist/components/shared/AgentSetupBanner.js.map +1 -1
  96. package/dist/components/vibecalendar/expandOccurrences.js.map +1 -1
  97. package/dist/constants/pluginCatalog.js +29 -1
  98. package/dist/constants/pluginCatalog.js.map +1 -1
  99. package/dist/generated/wspace-operations.js +126 -103
  100. package/dist/generated/wspace-operations.js.map +1 -1
  101. package/dist/generated/wspace-types.js.map +1 -1
  102. package/dist/hooks/useActiveAgentProfile.js +51 -0
  103. package/dist/hooks/useActiveAgentProfile.js.map +1 -0
  104. package/dist/hooks/useAgentEvents.js +1 -0
  105. package/dist/hooks/useAgentEvents.js.map +1 -1
  106. package/dist/hooks/useAgentManagerStreaming.js +1 -1
  107. package/dist/hooks/useAgentManagerStreaming.js.map +1 -1
  108. package/dist/hooks/useCachedInitialData.js +4 -2
  109. package/dist/hooks/useCachedInitialData.js.map +1 -1
  110. package/dist/hooks/usePluginAvailability.js +93 -61
  111. package/dist/hooks/usePluginAvailability.js.map +1 -1
  112. package/dist/index.js +10 -10
  113. package/dist/microfe-vibecontrols.css +1 -1
  114. package/dist/node_modules/d3-scale/src/continuous.js +20 -20
  115. package/dist/node_modules/d3-scale/src/diverging.js +30 -30
  116. package/dist/node_modules/d3-scale/src/sequential.js +25 -25
  117. package/dist/pages/AgentDetailsPage.js +801 -736
  118. package/dist/pages/AgentDetailsPage.js.map +1 -1
  119. package/dist/pages/AgentsLandingPage.js +4 -4
  120. package/dist/pages/AgentsLandingPage.js.map +1 -1
  121. package/dist/pages/AgentsPage.js +351 -295
  122. package/dist/pages/AgentsPage.js.map +1 -1
  123. package/dist/pages/SessionsPage.js +618 -615
  124. package/dist/pages/SessionsPage.js.map +1 -1
  125. package/dist/pages/TargetsPage.js +5 -2
  126. package/dist/pages/TargetsPage.js.map +1 -1
  127. package/dist/pages/VibeDetailsPage.js +582 -555
  128. package/dist/pages/VibeDetailsPage.js.map +1 -1
  129. package/dist/pages/ai/AIPage.js +107 -103
  130. package/dist/pages/ai/AIPage.js.map +1 -1
  131. package/dist/pages/ai/AISessionDetailPage.js +167 -163
  132. package/dist/pages/ai/AISessionDetailPage.js.map +1 -1
  133. package/dist/pages/ai/AgentManagerPage.js +94 -90
  134. package/dist/pages/ai/AgentManagerPage.js.map +1 -1
  135. package/dist/pages/tunnels/TunnelDetailsPage.js.map +1 -1
  136. package/dist/services/aiApi.js +119 -112
  137. package/dist/services/aiApi.js.map +1 -1
  138. package/dist/services/iframeToken.js +29 -0
  139. package/dist/services/iframeToken.js.map +1 -0
  140. package/dist/services/schedulerApi.js +14 -13
  141. package/dist/services/schedulerApi.js.map +1 -1
  142. package/dist/store/agentManagerStore.js +61 -14
  143. package/dist/store/agentManagerStore.js.map +1 -1
  144. package/dist/store/vibeControlsStore.js +21 -1
  145. package/dist/store/vibeControlsStore.js.map +1 -1
  146. package/dist/translations/en.js.map +1 -1
  147. package/dist/utils/agentApiPath.js +9 -0
  148. package/dist/utils/agentApiPath.js.map +1 -0
  149. package/package.json +3 -3
  150. package/dist/VibeControlsRoot.d.ts +0 -36
  151. package/dist/VibeControlsRoot.d.ts.map +0 -1
  152. package/dist/VibeControlsRoutes.d.ts +0 -2
  153. package/dist/VibeControlsRoutes.d.ts.map +0 -1
  154. package/dist/components/actions/ActionCard.d.ts +0 -32
  155. package/dist/components/actions/ActionCard.d.ts.map +0 -1
  156. package/dist/components/actions/ActionForm.d.ts +0 -39
  157. package/dist/components/actions/ActionForm.d.ts.map +0 -1
  158. package/dist/components/actions/ActionTypeBadge.d.ts +0 -9
  159. package/dist/components/actions/ActionTypeBadge.d.ts.map +0 -1
  160. package/dist/components/actions/ExecutionHistory.d.ts +0 -23
  161. package/dist/components/actions/ExecutionHistory.d.ts.map +0 -1
  162. package/dist/components/actions/index.d.ts +0 -6
  163. package/dist/components/actions/index.d.ts.map +0 -1
  164. package/dist/components/agent-manager/AgentManagerAdminBar.d.ts +0 -13
  165. package/dist/components/agent-manager/AgentManagerAdminBar.d.ts.map +0 -1
  166. package/dist/components/agent-manager/AgentManagerBulkActions.d.ts +0 -13
  167. package/dist/components/agent-manager/AgentManagerBulkActions.d.ts.map +0 -1
  168. package/dist/components/agent-manager/AgentManagerCenter.d.ts +0 -8
  169. package/dist/components/agent-manager/AgentManagerCenter.d.ts.map +0 -1
  170. package/dist/components/agent-manager/AgentManagerChatPane.d.ts +0 -9
  171. package/dist/components/agent-manager/AgentManagerChatPane.d.ts.map +0 -1
  172. package/dist/components/agent-manager/AgentManagerDetailPanel.d.ts +0 -13
  173. package/dist/components/agent-manager/AgentManagerDetailPanel.d.ts.map +0 -1
  174. package/dist/components/agent-manager/AgentManagerInputArea.d.ts +0 -14
  175. package/dist/components/agent-manager/AgentManagerInputArea.d.ts.map +0 -1
  176. package/dist/components/agent-manager/AgentManagerLayout.d.ts +0 -10
  177. package/dist/components/agent-manager/AgentManagerLayout.d.ts.map +0 -1
  178. package/dist/components/agent-manager/AgentManagerMessageItem.d.ts +0 -10
  179. package/dist/components/agent-manager/AgentManagerMessageItem.d.ts.map +0 -1
  180. package/dist/components/agent-manager/AgentManagerMessageList.d.ts +0 -12
  181. package/dist/components/agent-manager/AgentManagerMessageList.d.ts.map +0 -1
  182. package/dist/components/agent-manager/AgentManagerSessionItem.d.ts +0 -12
  183. package/dist/components/agent-manager/AgentManagerSessionItem.d.ts.map +0 -1
  184. package/dist/components/agent-manager/AgentManagerSessionList.d.ts +0 -16
  185. package/dist/components/agent-manager/AgentManagerSessionList.d.ts.map +0 -1
  186. package/dist/components/agent-manager/AgentManagerSidebar.d.ts +0 -14
  187. package/dist/components/agent-manager/AgentManagerSidebar.d.ts.map +0 -1
  188. package/dist/components/agent-manager/AgentManagerStreamingIndicator.d.ts +0 -8
  189. package/dist/components/agent-manager/AgentManagerStreamingIndicator.d.ts.map +0 -1
  190. package/dist/components/agent-manager/AgentManagerTab.d.ts +0 -15
  191. package/dist/components/agent-manager/AgentManagerTab.d.ts.map +0 -1
  192. package/dist/components/agent-manager/AgentManagerTabBar.d.ts +0 -10
  193. package/dist/components/agent-manager/AgentManagerTabBar.d.ts.map +0 -1
  194. package/dist/components/agent-manager/BridleConfigPanel.d.ts +0 -13
  195. package/dist/components/agent-manager/BridleConfigPanel.d.ts.map +0 -1
  196. package/dist/components/agent-manager/PluginInstallModal.d.ts +0 -9
  197. package/dist/components/agent-manager/PluginInstallModal.d.ts.map +0 -1
  198. package/dist/components/agent-manager/controls/ContextLevelToggle.d.ts +0 -23
  199. package/dist/components/agent-manager/controls/ContextLevelToggle.d.ts.map +0 -1
  200. package/dist/components/agent-manager/controls/FileAttachButton.d.ts +0 -13
  201. package/dist/components/agent-manager/controls/FileAttachButton.d.ts.map +0 -1
  202. package/dist/components/agent-manager/controls/McpServerSelector.d.ts +0 -10
  203. package/dist/components/agent-manager/controls/McpServerSelector.d.ts.map +0 -1
  204. package/dist/components/agent-manager/controls/ModelSelector.d.ts +0 -10
  205. package/dist/components/agent-manager/controls/ModelSelector.d.ts.map +0 -1
  206. package/dist/components/agent-manager/controls/SdkSelector.d.ts +0 -13
  207. package/dist/components/agent-manager/controls/SdkSelector.d.ts.map +0 -1
  208. package/dist/components/agent-manager/controls/VoiceToggle.d.ts +0 -13
  209. package/dist/components/agent-manager/controls/VoiceToggle.d.ts.map +0 -1
  210. package/dist/components/agent-manager/detail/SessionConfigPanel.d.ts +0 -14
  211. package/dist/components/agent-manager/detail/SessionConfigPanel.d.ts.map +0 -1
  212. package/dist/components/agent-manager/detail/SessionLogsPanel.d.ts +0 -13
  213. package/dist/components/agent-manager/detail/SessionLogsPanel.d.ts.map +0 -1
  214. package/dist/components/agent-manager/detail/SessionStatsPanel.d.ts +0 -12
  215. package/dist/components/agent-manager/detail/SessionStatsPanel.d.ts.map +0 -1
  216. package/dist/components/agent-manager/detail/SessionToolsPanel.d.ts +0 -12
  217. package/dist/components/agent-manager/detail/SessionToolsPanel.d.ts.map +0 -1
  218. package/dist/components/agent-manager/dialogs/ExportSessionDialog.d.ts +0 -15
  219. package/dist/components/agent-manager/dialogs/ExportSessionDialog.d.ts.map +0 -1
  220. package/dist/components/agent-manager/dialogs/NewSessionDialog.d.ts +0 -14
  221. package/dist/components/agent-manager/dialogs/NewSessionDialog.d.ts.map +0 -1
  222. package/dist/components/agent-manager/dialogs/RenameSessionDialog.d.ts +0 -15
  223. package/dist/components/agent-manager/dialogs/RenameSessionDialog.d.ts.map +0 -1
  224. package/dist/components/agent-manager/dialogs/SessionSearchDialog.d.ts +0 -15
  225. package/dist/components/agent-manager/dialogs/SessionSearchDialog.d.ts.map +0 -1
  226. package/dist/components/agent-manager/index.d.ts +0 -16
  227. package/dist/components/agent-manager/index.d.ts.map +0 -1
  228. package/dist/components/agents/AgentCard.d.ts +0 -30
  229. package/dist/components/agents/AgentCard.d.ts.map +0 -1
  230. package/dist/components/agents/AgentForm.d.ts +0 -29
  231. package/dist/components/agents/AgentForm.d.ts.map +0 -1
  232. package/dist/components/agents/AgentList.d.ts +0 -19
  233. package/dist/components/agents/AgentList.d.ts.map +0 -1
  234. package/dist/components/agents/AgentStatusBadge.d.ts +0 -12
  235. package/dist/components/agents/AgentStatusBadge.d.ts.map +0 -1
  236. package/dist/components/agents/OpenInBrowserEditorButton.d.ts +0 -16
  237. package/dist/components/agents/OpenInBrowserEditorButton.d.ts.map +0 -1
  238. package/dist/components/agents/PluginUIPanel.d.ts +0 -38
  239. package/dist/components/agents/PluginUIPanel.d.ts.map +0 -1
  240. package/dist/components/agents/backup/AgentBackupTab.d.ts +0 -11
  241. package/dist/components/agents/backup/AgentBackupTab.d.ts.map +0 -1
  242. package/dist/components/agents/index.d.ts +0 -8
  243. package/dist/components/agents/index.d.ts.map +0 -1
  244. package/dist/components/agents/types.d.ts +0 -72
  245. package/dist/components/agents/types.d.ts.map +0 -1
  246. package/dist/components/ai/AIAssistantPanel.d.ts +0 -8
  247. package/dist/components/ai/AIAssistantPanel.d.ts.map +0 -1
  248. package/dist/components/ai/AIContextsTab.d.ts +0 -6
  249. package/dist/components/ai/AIContextsTab.d.ts.map +0 -1
  250. package/dist/components/ai/AIOverviewTab.d.ts +0 -7
  251. package/dist/components/ai/AIOverviewTab.d.ts.map +0 -1
  252. package/dist/components/ai/AIPlaygroundTab.d.ts +0 -6
  253. package/dist/components/ai/AIPlaygroundTab.d.ts.map +0 -1
  254. package/dist/components/ai/AIPromptsTab.d.ts +0 -6
  255. package/dist/components/ai/AIPromptsTab.d.ts.map +0 -1
  256. package/dist/components/ai/AISessionsTab.d.ts +0 -7
  257. package/dist/components/ai/AISessionsTab.d.ts.map +0 -1
  258. package/dist/components/ai/AIStatsTab.d.ts +0 -6
  259. package/dist/components/ai/AIStatsTab.d.ts.map +0 -1
  260. package/dist/components/ai/AITasksTab.d.ts +0 -5
  261. package/dist/components/ai/AITasksTab.d.ts.map +0 -1
  262. package/dist/components/ai/AITemplatesTab.d.ts +0 -6
  263. package/dist/components/ai/AITemplatesTab.d.ts.map +0 -1
  264. package/dist/components/ai/ClaudeCredentialsCard.d.ts +0 -6
  265. package/dist/components/ai/ClaudeCredentialsCard.d.ts.map +0 -1
  266. package/dist/components/ai/PluginHarnessPicker.d.ts +0 -31
  267. package/dist/components/ai/PluginHarnessPicker.d.ts.map +0 -1
  268. package/dist/components/analytics/AnalyticsBreakdownChart.d.ts +0 -12
  269. package/dist/components/analytics/AnalyticsBreakdownChart.d.ts.map +0 -1
  270. package/dist/components/analytics/AnalyticsBreakdownTable.d.ts +0 -13
  271. package/dist/components/analytics/AnalyticsBreakdownTable.d.ts.map +0 -1
  272. package/dist/components/analytics/AnalyticsEntityTabs.d.ts +0 -9
  273. package/dist/components/analytics/AnalyticsEntityTabs.d.ts.map +0 -1
  274. package/dist/components/analytics/AnalyticsFilterBar.d.ts +0 -15
  275. package/dist/components/analytics/AnalyticsFilterBar.d.ts.map +0 -1
  276. package/dist/components/analytics/AnalyticsKpiGrid.d.ts +0 -10
  277. package/dist/components/analytics/AnalyticsKpiGrid.d.ts.map +0 -1
  278. package/dist/components/analytics/AnalyticsTimeSeriesChart.d.ts +0 -16
  279. package/dist/components/analytics/AnalyticsTimeSeriesChart.d.ts.map +0 -1
  280. package/dist/components/analytics/SandboxAnalyticsSection.d.ts +0 -9
  281. package/dist/components/analytics/SandboxAnalyticsSection.d.ts.map +0 -1
  282. package/dist/components/analytics/index.d.ts +0 -9
  283. package/dist/components/analytics/index.d.ts.map +0 -1
  284. package/dist/components/analytics/types.d.ts +0 -28
  285. package/dist/components/analytics/types.d.ts.map +0 -1
  286. package/dist/components/assistant/AIAssistantPanel.d.ts +0 -5
  287. package/dist/components/assistant/AIAssistantPanel.d.ts.map +0 -1
  288. package/dist/components/assistant/AssistantChatArea.d.ts +0 -4
  289. package/dist/components/assistant/AssistantChatArea.d.ts.map +0 -1
  290. package/dist/components/assistant/AssistantChatInput.d.ts +0 -10
  291. package/dist/components/assistant/AssistantChatInput.d.ts.map +0 -1
  292. package/dist/components/assistant/AssistantConversationList.d.ts +0 -4
  293. package/dist/components/assistant/AssistantConversationList.d.ts.map +0 -1
  294. package/dist/components/assistant/AssistantExportMenu.d.ts +0 -4
  295. package/dist/components/assistant/AssistantExportMenu.d.ts.map +0 -1
  296. package/dist/components/assistant/AssistantMarkdownRenderer.d.ts +0 -8
  297. package/dist/components/assistant/AssistantMarkdownRenderer.d.ts.map +0 -1
  298. package/dist/components/assistant/AssistantMessageItem.d.ts +0 -10
  299. package/dist/components/assistant/AssistantMessageItem.d.ts.map +0 -1
  300. package/dist/components/assistant/AssistantMessageList.d.ts +0 -10
  301. package/dist/components/assistant/AssistantMessageList.d.ts.map +0 -1
  302. package/dist/components/assistant/AssistantModeSelector.d.ts +0 -10
  303. package/dist/components/assistant/AssistantModeSelector.d.ts.map +0 -1
  304. package/dist/components/assistant/AssistantWelcome.d.ts +0 -10
  305. package/dist/components/assistant/AssistantWelcome.d.ts.map +0 -1
  306. package/dist/components/assistant/index.d.ts +0 -11
  307. package/dist/components/assistant/index.d.ts.map +0 -1
  308. package/dist/components/audit/AuditDeleteDialog.d.ts +0 -12
  309. package/dist/components/audit/AuditDeleteDialog.d.ts.map +0 -1
  310. package/dist/components/audit/AuditExportButton.d.ts +0 -8
  311. package/dist/components/audit/AuditExportButton.d.ts.map +0 -1
  312. package/dist/components/audit/AuditLogDetail.d.ts +0 -9
  313. package/dist/components/audit/AuditLogDetail.d.ts.map +0 -1
  314. package/dist/components/audit/AuditLogFilters.d.ts +0 -15
  315. package/dist/components/audit/AuditLogFilters.d.ts.map +0 -1
  316. package/dist/components/audit/AuditLogStats.d.ts +0 -9
  317. package/dist/components/audit/AuditLogStats.d.ts.map +0 -1
  318. package/dist/components/audit/AuditLogTable.d.ts +0 -21
  319. package/dist/components/audit/AuditLogTable.d.ts.map +0 -1
  320. package/dist/components/audit/index.d.ts +0 -7
  321. package/dist/components/audit/index.d.ts.map +0 -1
  322. package/dist/components/catalog/CatalogCard.d.ts +0 -22
  323. package/dist/components/catalog/CatalogCard.d.ts.map +0 -1
  324. package/dist/components/catalog/CatalogForm.d.ts +0 -18
  325. package/dist/components/catalog/CatalogForm.d.ts.map +0 -1
  326. package/dist/components/catalog/index.d.ts +0 -5
  327. package/dist/components/catalog/index.d.ts.map +0 -1
  328. package/dist/components/docs/DocsCompileStatus.d.ts +0 -9
  329. package/dist/components/docs/DocsCompileStatus.d.ts.map +0 -1
  330. package/dist/components/docs/DocsEditPanel.d.ts +0 -26
  331. package/dist/components/docs/DocsEditPanel.d.ts.map +0 -1
  332. package/dist/components/docs/DocsEmptyState.d.ts +0 -7
  333. package/dist/components/docs/DocsEmptyState.d.ts.map +0 -1
  334. package/dist/components/docs/DocsPageEditor.d.ts +0 -13
  335. package/dist/components/docs/DocsPageEditor.d.ts.map +0 -1
  336. package/dist/components/docs/DocsPageTree.d.ts +0 -12
  337. package/dist/components/docs/DocsPageTree.d.ts.map +0 -1
  338. package/dist/components/docs/DocsPreviewPanel.d.ts +0 -17
  339. package/dist/components/docs/DocsPreviewPanel.d.ts.map +0 -1
  340. package/dist/components/docs/DocsSettingsPanel.d.ts +0 -15
  341. package/dist/components/docs/DocsSettingsPanel.d.ts.map +0 -1
  342. package/dist/components/docs/DocsTabPanel.d.ts +0 -8
  343. package/dist/components/docs/DocsTabPanel.d.ts.map +0 -1
  344. package/dist/components/docs/index.d.ts +0 -10
  345. package/dist/components/docs/index.d.ts.map +0 -1
  346. package/dist/components/docs/previewHtml.d.ts +0 -2
  347. package/dist/components/docs/previewHtml.d.ts.map +0 -1
  348. package/dist/components/docs/types.d.ts +0 -59
  349. package/dist/components/docs/types.d.ts.map +0 -1
  350. package/dist/components/gitops/CIDurationChart.d.ts +0 -12
  351. package/dist/components/gitops/CIDurationChart.d.ts.map +0 -1
  352. package/dist/components/gitops/CIFailedRuns.d.ts +0 -13
  353. package/dist/components/gitops/CIFailedRuns.d.ts.map +0 -1
  354. package/dist/components/gitops/CIPipelineRunsTable.d.ts +0 -13
  355. package/dist/components/gitops/CIPipelineRunsTable.d.ts.map +0 -1
  356. package/dist/components/gitops/CISuccessRateChart.d.ts +0 -13
  357. package/dist/components/gitops/CISuccessRateChart.d.ts.map +0 -1
  358. package/dist/components/gitops/CITab.d.ts +0 -15
  359. package/dist/components/gitops/CITab.d.ts.map +0 -1
  360. package/dist/components/gitops/CIWorkflowList.d.ts +0 -13
  361. package/dist/components/gitops/CIWorkflowList.d.ts.map +0 -1
  362. package/dist/components/gitops/GitOpsProviderCard.d.ts +0 -14
  363. package/dist/components/gitops/GitOpsProviderCard.d.ts.map +0 -1
  364. package/dist/components/gitops/GitOpsSetup.d.ts +0 -16
  365. package/dist/components/gitops/GitOpsSetup.d.ts.map +0 -1
  366. package/dist/components/gitops/GitOpsSkeleton.d.ts +0 -12
  367. package/dist/components/gitops/GitOpsSkeleton.d.ts.map +0 -1
  368. package/dist/components/gitops/GitOpsStatusBadge.d.ts +0 -14
  369. package/dist/components/gitops/GitOpsStatusBadge.d.ts.map +0 -1
  370. package/dist/components/gitops/ProviderIcon.d.ts +0 -14
  371. package/dist/components/gitops/ProviderIcon.d.ts.map +0 -1
  372. package/dist/components/gitops/RepoActivityCard.d.ts +0 -12
  373. package/dist/components/gitops/RepoActivityCard.d.ts.map +0 -1
  374. package/dist/components/gitops/RepoIssuesCard.d.ts +0 -12
  375. package/dist/components/gitops/RepoIssuesCard.d.ts.map +0 -1
  376. package/dist/components/gitops/RepoLanguagesCard.d.ts +0 -13
  377. package/dist/components/gitops/RepoLanguagesCard.d.ts.map +0 -1
  378. package/dist/components/gitops/RepoOverviewCard.d.ts +0 -13
  379. package/dist/components/gitops/RepoOverviewCard.d.ts.map +0 -1
  380. package/dist/components/gitops/RepoPullRequestsCard.d.ts +0 -12
  381. package/dist/components/gitops/RepoPullRequestsCard.d.ts.map +0 -1
  382. package/dist/components/gitops/RepoSecurityCard.d.ts +0 -12
  383. package/dist/components/gitops/RepoSecurityCard.d.ts.map +0 -1
  384. package/dist/components/gitops/RepoStatsTab.d.ts +0 -15
  385. package/dist/components/gitops/RepoStatsTab.d.ts.map +0 -1
  386. package/dist/components/gitops/VibeGitOpsTab.d.ts +0 -12
  387. package/dist/components/gitops/VibeGitOpsTab.d.ts.map +0 -1
  388. package/dist/components/gitops/index.d.ts +0 -21
  389. package/dist/components/gitops/index.d.ts.map +0 -1
  390. package/dist/components/gitops/types.d.ts +0 -90
  391. package/dist/components/gitops/types.d.ts.map +0 -1
  392. package/dist/components/graph/AgentGraphView.d.ts +0 -44
  393. package/dist/components/graph/AgentGraphView.d.ts.map +0 -1
  394. package/dist/components/graph/AgentNode.d.ts +0 -6
  395. package/dist/components/graph/AgentNode.d.ts.map +0 -1
  396. package/dist/components/graph/ConnectionPermissionsDialog.d.ts +0 -26
  397. package/dist/components/graph/ConnectionPermissionsDialog.d.ts.map +0 -1
  398. package/dist/components/graph/TargetNode.d.ts +0 -6
  399. package/dist/components/graph/TargetNode.d.ts.map +0 -1
  400. package/dist/components/health/AgentHealthCard.d.ts +0 -9
  401. package/dist/components/health/AgentHealthCard.d.ts.map +0 -1
  402. package/dist/components/health/HealthDashboard.d.ts +0 -10
  403. package/dist/components/health/HealthDashboard.d.ts.map +0 -1
  404. package/dist/components/health/SystemStatus.d.ts +0 -11
  405. package/dist/components/health/SystemStatus.d.ts.map +0 -1
  406. package/dist/components/health/index.d.ts +0 -5
  407. package/dist/components/health/index.d.ts.map +0 -1
  408. package/dist/components/health/types.d.ts +0 -50
  409. package/dist/components/health/types.d.ts.map +0 -1
  410. package/dist/components/idp-components/ComponentCard.d.ts +0 -24
  411. package/dist/components/idp-components/ComponentCard.d.ts.map +0 -1
  412. package/dist/components/idp-components/ComponentForm.d.ts +0 -22
  413. package/dist/components/idp-components/ComponentForm.d.ts.map +0 -1
  414. package/dist/components/idp-components/index.d.ts +0 -5
  415. package/dist/components/idp-components/index.d.ts.map +0 -1
  416. package/dist/components/logs/LogViewer.d.ts +0 -13
  417. package/dist/components/logs/LogViewer.d.ts.map +0 -1
  418. package/dist/components/notes/NoteCard.d.ts +0 -13
  419. package/dist/components/notes/NoteCard.d.ts.map +0 -1
  420. package/dist/components/notes/NoteEditor.d.ts +0 -31
  421. package/dist/components/notes/NoteEditor.d.ts.map +0 -1
  422. package/dist/components/notes/NoteList.d.ts +0 -15
  423. package/dist/components/notes/NoteList.d.ts.map +0 -1
  424. package/dist/components/notes/NotesTabPanel.d.ts +0 -18
  425. package/dist/components/notes/NotesTabPanel.d.ts.map +0 -1
  426. package/dist/components/notes/index.d.ts +0 -7
  427. package/dist/components/notes/index.d.ts.map +0 -1
  428. package/dist/components/notes/types.d.ts +0 -58
  429. package/dist/components/notes/types.d.ts.map +0 -1
  430. package/dist/components/scorecard/ScorecardPanel.d.ts +0 -9
  431. package/dist/components/scorecard/ScorecardPanel.d.ts.map +0 -1
  432. package/dist/components/scorecard/index.d.ts +0 -3
  433. package/dist/components/scorecard/index.d.ts.map +0 -1
  434. package/dist/components/sessions/CollaboratorsList.d.ts +0 -18
  435. package/dist/components/sessions/CollaboratorsList.d.ts.map +0 -1
  436. package/dist/components/sessions/ControlStatusBar.d.ts +0 -31
  437. package/dist/components/sessions/ControlStatusBar.d.ts.map +0 -1
  438. package/dist/components/sessions/SessionCard.d.ts +0 -24
  439. package/dist/components/sessions/SessionCard.d.ts.map +0 -1
  440. package/dist/components/sessions/SessionForm.d.ts +0 -20
  441. package/dist/components/sessions/SessionForm.d.ts.map +0 -1
  442. package/dist/components/sessions/SessionList.d.ts +0 -25
  443. package/dist/components/sessions/SessionList.d.ts.map +0 -1
  444. package/dist/components/sessions/SessionShareDialog.d.ts +0 -15
  445. package/dist/components/sessions/SessionShareDialog.d.ts.map +0 -1
  446. package/dist/components/sessions/SessionStatusBadge.d.ts +0 -9
  447. package/dist/components/sessions/SessionStatusBadge.d.ts.map +0 -1
  448. package/dist/components/sessions/SharedTerminalPanel.d.ts +0 -72
  449. package/dist/components/sessions/SharedTerminalPanel.d.ts.map +0 -1
  450. package/dist/components/sessions/TerminalPanel.d.ts +0 -69
  451. package/dist/components/sessions/TerminalPanel.d.ts.map +0 -1
  452. package/dist/components/sessions/index.d.ts +0 -11
  453. package/dist/components/sessions/index.d.ts.map +0 -1
  454. package/dist/components/sessions/types.d.ts +0 -67
  455. package/dist/components/sessions/types.d.ts.map +0 -1
  456. package/dist/components/settings/AdvancedSection.d.ts +0 -22
  457. package/dist/components/settings/AdvancedSection.d.ts.map +0 -1
  458. package/dist/components/settings/ConfigEditor.d.ts +0 -14
  459. package/dist/components/settings/ConfigEditor.d.ts.map +0 -1
  460. package/dist/components/settings/ConfigSection.d.ts +0 -12
  461. package/dist/components/settings/ConfigSection.d.ts.map +0 -1
  462. package/dist/components/settings/NotificationsSection.d.ts +0 -14
  463. package/dist/components/settings/NotificationsSection.d.ts.map +0 -1
  464. package/dist/components/settings/PreferencesSection.d.ts +0 -14
  465. package/dist/components/settings/PreferencesSection.d.ts.map +0 -1
  466. package/dist/components/settings/ProfileSection.d.ts +0 -14
  467. package/dist/components/settings/ProfileSection.d.ts.map +0 -1
  468. package/dist/components/settings/SecuritySection.d.ts +0 -11
  469. package/dist/components/settings/SecuritySection.d.ts.map +0 -1
  470. package/dist/components/settings/SettingsForm.d.ts +0 -58
  471. package/dist/components/settings/SettingsForm.d.ts.map +0 -1
  472. package/dist/components/settings/WorkspaceDefaultsSection.d.ts +0 -27
  473. package/dist/components/settings/WorkspaceDefaultsSection.d.ts.map +0 -1
  474. package/dist/components/settings/index.d.ts +0 -4
  475. package/dist/components/settings/index.d.ts.map +0 -1
  476. package/dist/components/settings/types.d.ts +0 -55
  477. package/dist/components/settings/types.d.ts.map +0 -1
  478. package/dist/components/shared/AgentEventsConnector.d.ts +0 -6
  479. package/dist/components/shared/AgentEventsConnector.d.ts.map +0 -1
  480. package/dist/components/shared/AgentSelector.d.ts +0 -25
  481. package/dist/components/shared/AgentSelector.d.ts.map +0 -1
  482. package/dist/components/shared/AgentSetupBanner.d.ts +0 -21
  483. package/dist/components/shared/AgentSetupBanner.d.ts.map +0 -1
  484. package/dist/components/shared/Card.d.ts +0 -29
  485. package/dist/components/shared/Card.d.ts.map +0 -1
  486. package/dist/components/shared/ConfirmDialog.d.ts +0 -14
  487. package/dist/components/shared/ConfirmDialog.d.ts.map +0 -1
  488. package/dist/components/shared/EmptyState.d.ts +0 -11
  489. package/dist/components/shared/EmptyState.d.ts.map +0 -1
  490. package/dist/components/shared/EntityTagPicker.d.ts +0 -8
  491. package/dist/components/shared/EntityTagPicker.d.ts.map +0 -1
  492. package/dist/components/shared/ErrorState.d.ts +0 -11
  493. package/dist/components/shared/ErrorState.d.ts.map +0 -1
  494. package/dist/components/shared/FilterDropdown.d.ts +0 -20
  495. package/dist/components/shared/FilterDropdown.d.ts.map +0 -1
  496. package/dist/components/shared/GetHelpButton.d.ts +0 -27
  497. package/dist/components/shared/GetHelpButton.d.ts.map +0 -1
  498. package/dist/components/shared/InstallTabs.d.ts +0 -18
  499. package/dist/components/shared/InstallTabs.d.ts.map +0 -1
  500. package/dist/components/shared/LoadingState.d.ts +0 -7
  501. package/dist/components/shared/LoadingState.d.ts.map +0 -1
  502. package/dist/components/shared/NotificationToast.d.ts +0 -40
  503. package/dist/components/shared/NotificationToast.d.ts.map +0 -1
  504. package/dist/components/shared/PageHeader.d.ts +0 -14
  505. package/dist/components/shared/PageHeader.d.ts.map +0 -1
  506. package/dist/components/shared/PluginGate.d.ts +0 -35
  507. package/dist/components/shared/PluginGate.d.ts.map +0 -1
  508. package/dist/components/shared/QuotaExhaustedDialog.d.ts +0 -12
  509. package/dist/components/shared/QuotaExhaustedDialog.d.ts.map +0 -1
  510. package/dist/components/shared/RequireAgentReachable.d.ts +0 -14
  511. package/dist/components/shared/RequireAgentReachable.d.ts.map +0 -1
  512. package/dist/components/shared/SearchInput.d.ts +0 -9
  513. package/dist/components/shared/SearchInput.d.ts.map +0 -1
  514. package/dist/components/shared/SearchableSelect.d.ts +0 -48
  515. package/dist/components/shared/SearchableSelect.d.ts.map +0 -1
  516. package/dist/components/shared/SelectionCheckbox.d.ts +0 -11
  517. package/dist/components/shared/SelectionCheckbox.d.ts.map +0 -1
  518. package/dist/components/shared/SessionNotificationBanner.d.ts +0 -47
  519. package/dist/components/shared/SessionNotificationBanner.d.ts.map +0 -1
  520. package/dist/components/shared/StatCard.d.ts +0 -17
  521. package/dist/components/shared/StatCard.d.ts.map +0 -1
  522. package/dist/components/shared/StatusBadge.d.ts +0 -11
  523. package/dist/components/shared/StatusBadge.d.ts.map +0 -1
  524. package/dist/components/shared/TagFilter.d.ts +0 -11
  525. package/dist/components/shared/TagFilter.d.ts.map +0 -1
  526. package/dist/components/shared/index.d.ts +0 -32
  527. package/dist/components/shared/index.d.ts.map +0 -1
  528. package/dist/components/targets/TargetCard.d.ts +0 -45
  529. package/dist/components/targets/TargetCard.d.ts.map +0 -1
  530. package/dist/components/targets/index.d.ts +0 -3
  531. package/dist/components/targets/index.d.ts.map +0 -1
  532. package/dist/components/templates/TemplateCard.d.ts +0 -19
  533. package/dist/components/templates/TemplateCard.d.ts.map +0 -1
  534. package/dist/components/templates/index.d.ts +0 -3
  535. package/dist/components/templates/index.d.ts.map +0 -1
  536. package/dist/components/tunnels/DomainVerificationBadge.d.ts +0 -6
  537. package/dist/components/tunnels/DomainVerificationBadge.d.ts.map +0 -1
  538. package/dist/components/tunnels/ProviderBadge.d.ts +0 -6
  539. package/dist/components/tunnels/ProviderBadge.d.ts.map +0 -1
  540. package/dist/components/tunnels/TunnelCard.d.ts +0 -13
  541. package/dist/components/tunnels/TunnelCard.d.ts.map +0 -1
  542. package/dist/components/tunnels/TunnelCreateWizard.d.ts +0 -2
  543. package/dist/components/tunnels/TunnelCreateWizard.d.ts.map +0 -1
  544. package/dist/components/tunnels/TunnelStatusBadge.d.ts +0 -6
  545. package/dist/components/tunnels/TunnelStatusBadge.d.ts.map +0 -1
  546. package/dist/components/vibe/VibeAgentEmptyState.d.ts +0 -8
  547. package/dist/components/vibe/VibeAgentEmptyState.d.ts.map +0 -1
  548. package/dist/components/vibecalendar/LogsDrawer.d.ts +0 -12
  549. package/dist/components/vibecalendar/LogsDrawer.d.ts.map +0 -1
  550. package/dist/components/vibecalendar/ScheduleTaskModal.d.ts +0 -33
  551. package/dist/components/vibecalendar/ScheduleTaskModal.d.ts.map +0 -1
  552. package/dist/components/vibecalendar/VibeCalAgendaView.d.ts +0 -11
  553. package/dist/components/vibecalendar/VibeCalAgendaView.d.ts.map +0 -1
  554. package/dist/components/vibecalendar/VibeCalDayView.d.ts +0 -12
  555. package/dist/components/vibecalendar/VibeCalDayView.d.ts.map +0 -1
  556. package/dist/components/vibecalendar/VibeCalMonthView.d.ts +0 -12
  557. package/dist/components/vibecalendar/VibeCalMonthView.d.ts.map +0 -1
  558. package/dist/components/vibecalendar/VibeCalWeekView.d.ts +0 -12
  559. package/dist/components/vibecalendar/VibeCalWeekView.d.ts.map +0 -1
  560. package/dist/components/vibecalendar/VibeCalendarHeader.d.ts +0 -12
  561. package/dist/components/vibecalendar/VibeCalendarHeader.d.ts.map +0 -1
  562. package/dist/components/vibecalendar/VibeTaskBlock.d.ts +0 -12
  563. package/dist/components/vibecalendar/VibeTaskBlock.d.ts.map +0 -1
  564. package/dist/components/vibecalendar/expandOccurrences.d.ts +0 -37
  565. package/dist/components/vibecalendar/expandOccurrences.d.ts.map +0 -1
  566. package/dist/components/vibecalendar/index.d.ts +0 -11
  567. package/dist/components/vibecalendar/index.d.ts.map +0 -1
  568. package/dist/components/vibecalendar/types.d.ts +0 -53
  569. package/dist/components/vibecalendar/types.d.ts.map +0 -1
  570. package/dist/components/vibedeck/VibeDeckButtonForm.d.ts +0 -54
  571. package/dist/components/vibedeck/VibeDeckButtonForm.d.ts.map +0 -1
  572. package/dist/components/vibedeck/VibeDeckButtonTile.d.ts +0 -48
  573. package/dist/components/vibedeck/VibeDeckButtonTile.d.ts.map +0 -1
  574. package/dist/components/vibedeck/VibeDeckExecutionLog.d.ts +0 -25
  575. package/dist/components/vibedeck/VibeDeckExecutionLog.d.ts.map +0 -1
  576. package/dist/components/vibedeck/VibeDeckForm.d.ts +0 -21
  577. package/dist/components/vibedeck/VibeDeckForm.d.ts.map +0 -1
  578. package/dist/components/vibedeck/VibeDeckGrid.d.ts +0 -51
  579. package/dist/components/vibedeck/VibeDeckGrid.d.ts.map +0 -1
  580. package/dist/components/vibedeck/VibeDeckShareDialog.d.ts +0 -10
  581. package/dist/components/vibedeck/VibeDeckShareDialog.d.ts.map +0 -1
  582. package/dist/components/vibedeck/VibeDeckSwitcher.d.ts +0 -28
  583. package/dist/components/vibedeck/VibeDeckSwitcher.d.ts.map +0 -1
  584. package/dist/components/vibedeck/index.d.ts +0 -9
  585. package/dist/components/vibedeck/index.d.ts.map +0 -1
  586. package/dist/components/vibes/VibeCard.d.ts +0 -19
  587. package/dist/components/vibes/VibeCard.d.ts.map +0 -1
  588. package/dist/components/vibes/VibeForm.d.ts +0 -15
  589. package/dist/components/vibes/VibeForm.d.ts.map +0 -1
  590. package/dist/components/vibes/VibeList.d.ts +0 -20
  591. package/dist/components/vibes/VibeList.d.ts.map +0 -1
  592. package/dist/components/vibes/icons.d.ts +0 -6
  593. package/dist/components/vibes/icons.d.ts.map +0 -1
  594. package/dist/components/vibes/index.d.ts +0 -5
  595. package/dist/components/vibes/index.d.ts.map +0 -1
  596. package/dist/components/vibes/types.d.ts +0 -71
  597. package/dist/components/vibes/types.d.ts.map +0 -1
  598. package/dist/components/webhooks/WebhookCard.d.ts +0 -12
  599. package/dist/components/webhooks/WebhookCard.d.ts.map +0 -1
  600. package/dist/components/webhooks/WebhookForm.d.ts +0 -11
  601. package/dist/components/webhooks/WebhookForm.d.ts.map +0 -1
  602. package/dist/components/webhooks/WebhookList.d.ts +0 -14
  603. package/dist/components/webhooks/WebhookList.d.ts.map +0 -1
  604. package/dist/components/webhooks/index.d.ts +0 -5
  605. package/dist/components/webhooks/index.d.ts.map +0 -1
  606. package/dist/components/webhooks/types.d.ts +0 -58
  607. package/dist/components/webhooks/types.d.ts.map +0 -1
  608. package/dist/config/assistantUsecases.d.ts +0 -18
  609. package/dist/config/assistantUsecases.d.ts.map +0 -1
  610. package/dist/config/index.d.ts +0 -24
  611. package/dist/config/index.d.ts.map +0 -1
  612. package/dist/constants/permissions.d.ts +0 -112
  613. package/dist/constants/permissions.d.ts.map +0 -1
  614. package/dist/constants/pluginCatalog.d.ts +0 -36
  615. package/dist/constants/pluginCatalog.d.ts.map +0 -1
  616. package/dist/dev/main.d.ts +0 -2
  617. package/dist/dev/main.d.ts.map +0 -1
  618. package/dist/generated/global-operations.d.ts +0 -2
  619. package/dist/generated/global-operations.d.ts.map +0 -1
  620. package/dist/generated/global-types.d.ts +0 -21253
  621. package/dist/generated/global-types.d.ts.map +0 -1
  622. package/dist/generated/wspace-operations.d.ts +0 -15218
  623. package/dist/generated/wspace-operations.d.ts.map +0 -1
  624. package/dist/generated/wspace-types.d.ts +0 -55252
  625. package/dist/generated/wspace-types.d.ts.map +0 -1
  626. package/dist/hooks/index.d.ts +0 -7
  627. package/dist/hooks/index.d.ts.map +0 -1
  628. package/dist/hooks/useAgentConnectivity.d.ts +0 -47
  629. package/dist/hooks/useAgentConnectivity.d.ts.map +0 -1
  630. package/dist/hooks/useAgentEvents.d.ts +0 -36
  631. package/dist/hooks/useAgentEvents.d.ts.map +0 -1
  632. package/dist/hooks/useAgentManagerKeyboard.d.ts +0 -17
  633. package/dist/hooks/useAgentManagerKeyboard.d.ts.map +0 -1
  634. package/dist/hooks/useAgentManagerStreaming.d.ts +0 -19
  635. package/dist/hooks/useAgentManagerStreaming.d.ts.map +0 -1
  636. package/dist/hooks/useAssistantHeartbeat.d.ts +0 -4
  637. package/dist/hooks/useAssistantHeartbeat.d.ts.map +0 -1
  638. package/dist/hooks/useAssistantKeyboardShortcuts.d.ts +0 -18
  639. package/dist/hooks/useAssistantKeyboardShortcuts.d.ts.map +0 -1
  640. package/dist/hooks/useCachedInitialData.d.ts +0 -120
  641. package/dist/hooks/useCachedInitialData.d.ts.map +0 -1
  642. package/dist/hooks/useEntityTags.d.ts +0 -24
  643. package/dist/hooks/useEntityTags.d.ts.map +0 -1
  644. package/dist/hooks/useFileUpload.d.ts +0 -15
  645. package/dist/hooks/useFileUpload.d.ts.map +0 -1
  646. package/dist/hooks/useInitialDataLoader.d.ts +0 -48
  647. package/dist/hooks/useInitialDataLoader.d.ts.map +0 -1
  648. package/dist/hooks/useMcpServers.d.ts +0 -14
  649. package/dist/hooks/useMcpServers.d.ts.map +0 -1
  650. package/dist/hooks/useOpenAssistantHelp.d.ts +0 -2
  651. package/dist/hooks/useOpenAssistantHelp.d.ts.map +0 -1
  652. package/dist/hooks/usePluginAvailability.d.ts +0 -35
  653. package/dist/hooks/usePluginAvailability.d.ts.map +0 -1
  654. package/dist/hooks/useQueryBackedTab.d.ts +0 -2
  655. package/dist/hooks/useQueryBackedTab.d.ts.map +0 -1
  656. package/dist/hooks/useSessionSearch.d.ts +0 -24
  657. package/dist/hooks/useSessionSearch.d.ts.map +0 -1
  658. package/dist/hooks/useVoiceMode.d.ts +0 -17
  659. package/dist/hooks/useVoiceMode.d.ts.map +0 -1
  660. package/dist/index.d.ts +0 -17
  661. package/dist/index.d.ts.map +0 -1
  662. package/dist/lib/vibeFeatures.d.ts +0 -29
  663. package/dist/lib/vibeFeatures.d.ts.map +0 -1
  664. package/dist/node_modules/@xyflow/react/dist/esm/index.js +0 -3281
  665. package/dist/node_modules/@xyflow/react/dist/esm/index.js.map +0 -1
  666. package/dist/node_modules/@xyflow/system/dist/esm/index.js +0 -1845
  667. package/dist/node_modules/@xyflow/system/dist/esm/index.js.map +0 -1
  668. package/dist/node_modules/classcat/index.js +0 -12
  669. package/dist/node_modules/classcat/index.js.map +0 -1
  670. package/dist/node_modules/d3-dispatch/src/dispatch.js +0 -67
  671. package/dist/node_modules/d3-dispatch/src/dispatch.js.map +0 -1
  672. package/dist/node_modules/d3-drag/src/constant.js +0 -6
  673. package/dist/node_modules/d3-drag/src/constant.js.map +0 -1
  674. package/dist/node_modules/d3-drag/src/drag.js +0 -116
  675. package/dist/node_modules/d3-drag/src/drag.js.map +0 -1
  676. package/dist/node_modules/d3-drag/src/event.js +0 -64
  677. package/dist/node_modules/d3-drag/src/event.js.map +0 -1
  678. package/dist/node_modules/d3-drag/src/nodrag.js +0 -17
  679. package/dist/node_modules/d3-drag/src/nodrag.js.map +0 -1
  680. package/dist/node_modules/d3-drag/src/noevent.js +0 -15
  681. package/dist/node_modules/d3-drag/src/noevent.js.map +0 -1
  682. package/dist/node_modules/d3-ease/src/cubic.js +0 -8
  683. package/dist/node_modules/d3-ease/src/cubic.js.map +0 -1
  684. package/dist/node_modules/d3-interpolate/src/transform/decompose.js +0 -24
  685. package/dist/node_modules/d3-interpolate/src/transform/decompose.js.map +0 -1
  686. package/dist/node_modules/d3-interpolate/src/transform/index.js +0 -56
  687. package/dist/node_modules/d3-interpolate/src/transform/index.js.map +0 -1
  688. package/dist/node_modules/d3-interpolate/src/transform/parse.js +0 -14
  689. package/dist/node_modules/d3-interpolate/src/transform/parse.js.map +0 -1
  690. package/dist/node_modules/d3-interpolate/src/zoom.js +0 -43
  691. package/dist/node_modules/d3-interpolate/src/zoom.js.map +0 -1
  692. package/dist/node_modules/d3-selection/src/array.js +0 -8
  693. package/dist/node_modules/d3-selection/src/array.js.map +0 -1
  694. package/dist/node_modules/d3-selection/src/constant.js +0 -10
  695. package/dist/node_modules/d3-selection/src/constant.js.map +0 -1
  696. package/dist/node_modules/d3-selection/src/creator.js +0 -22
  697. package/dist/node_modules/d3-selection/src/creator.js.map +0 -1
  698. package/dist/node_modules/d3-selection/src/matcher.js +0 -15
  699. package/dist/node_modules/d3-selection/src/matcher.js.map +0 -1
  700. package/dist/node_modules/d3-selection/src/namespace.js +0 -13
  701. package/dist/node_modules/d3-selection/src/namespace.js.map +0 -1
  702. package/dist/node_modules/d3-selection/src/namespaces.js +0 -12
  703. package/dist/node_modules/d3-selection/src/namespaces.js.map +0 -1
  704. package/dist/node_modules/d3-selection/src/pointer.js +0 -20
  705. package/dist/node_modules/d3-selection/src/pointer.js.map +0 -1
  706. package/dist/node_modules/d3-selection/src/select.js +0 -9
  707. package/dist/node_modules/d3-selection/src/select.js.map +0 -1
  708. package/dist/node_modules/d3-selection/src/selection/append.js +0 -12
  709. package/dist/node_modules/d3-selection/src/selection/append.js.map +0 -1
  710. package/dist/node_modules/d3-selection/src/selection/attr.js +0 -46
  711. package/dist/node_modules/d3-selection/src/selection/attr.js.map +0 -1
  712. package/dist/node_modules/d3-selection/src/selection/call.js +0 -9
  713. package/dist/node_modules/d3-selection/src/selection/call.js.map +0 -1
  714. package/dist/node_modules/d3-selection/src/selection/classed.js +0 -55
  715. package/dist/node_modules/d3-selection/src/selection/classed.js.map +0 -1
  716. package/dist/node_modules/d3-selection/src/selection/clone.js +0 -16
  717. package/dist/node_modules/d3-selection/src/selection/clone.js.map +0 -1
  718. package/dist/node_modules/d3-selection/src/selection/data.js +0 -38
  719. package/dist/node_modules/d3-selection/src/selection/data.js.map +0 -1
  720. package/dist/node_modules/d3-selection/src/selection/datum.js +0 -8
  721. package/dist/node_modules/d3-selection/src/selection/datum.js.map +0 -1
  722. package/dist/node_modules/d3-selection/src/selection/dispatch.js +0 -23
  723. package/dist/node_modules/d3-selection/src/selection/dispatch.js.map +0 -1
  724. package/dist/node_modules/d3-selection/src/selection/each.js +0 -9
  725. package/dist/node_modules/d3-selection/src/selection/each.js.map +0 -1
  726. package/dist/node_modules/d3-selection/src/selection/empty.js +0 -8
  727. package/dist/node_modules/d3-selection/src/selection/empty.js.map +0 -1
  728. package/dist/node_modules/d3-selection/src/selection/enter.js +0 -28
  729. package/dist/node_modules/d3-selection/src/selection/enter.js.map +0 -1
  730. package/dist/node_modules/d3-selection/src/selection/exit.js +0 -10
  731. package/dist/node_modules/d3-selection/src/selection/exit.js.map +0 -1
  732. package/dist/node_modules/d3-selection/src/selection/filter.js +0 -12
  733. package/dist/node_modules/d3-selection/src/selection/filter.js.map +0 -1
  734. package/dist/node_modules/d3-selection/src/selection/html.js +0 -21
  735. package/dist/node_modules/d3-selection/src/selection/html.js.map +0 -1
  736. package/dist/node_modules/d3-selection/src/selection/index.js +0 -87
  737. package/dist/node_modules/d3-selection/src/selection/index.js.map +0 -1
  738. package/dist/node_modules/d3-selection/src/selection/insert.js +0 -16
  739. package/dist/node_modules/d3-selection/src/selection/insert.js.map +0 -1
  740. package/dist/node_modules/d3-selection/src/selection/iterator.js +0 -8
  741. package/dist/node_modules/d3-selection/src/selection/iterator.js.map +0 -1
  742. package/dist/node_modules/d3-selection/src/selection/join.js +0 -9
  743. package/dist/node_modules/d3-selection/src/selection/join.js.map +0 -1
  744. package/dist/node_modules/d3-selection/src/selection/lower.js +0 -11
  745. package/dist/node_modules/d3-selection/src/selection/lower.js.map +0 -1
  746. package/dist/node_modules/d3-selection/src/selection/merge.js +0 -11
  747. package/dist/node_modules/d3-selection/src/selection/merge.js.map +0 -1
  748. package/dist/node_modules/d3-selection/src/selection/node.js +0 -12
  749. package/dist/node_modules/d3-selection/src/selection/node.js.map +0 -1
  750. package/dist/node_modules/d3-selection/src/selection/nodes.js +0 -8
  751. package/dist/node_modules/d3-selection/src/selection/nodes.js.map +0 -1
  752. package/dist/node_modules/d3-selection/src/selection/on.js +0 -58
  753. package/dist/node_modules/d3-selection/src/selection/on.js.map +0 -1
  754. package/dist/node_modules/d3-selection/src/selection/order.js +0 -9
  755. package/dist/node_modules/d3-selection/src/selection/order.js.map +0 -1
  756. package/dist/node_modules/d3-selection/src/selection/property.js +0 -24
  757. package/dist/node_modules/d3-selection/src/selection/property.js.map +0 -1
  758. package/dist/node_modules/d3-selection/src/selection/raise.js +0 -11
  759. package/dist/node_modules/d3-selection/src/selection/raise.js.map +0 -1
  760. package/dist/node_modules/d3-selection/src/selection/remove.js +0 -12
  761. package/dist/node_modules/d3-selection/src/selection/remove.js.map +0 -1
  762. package/dist/node_modules/d3-selection/src/selection/select.js +0 -12
  763. package/dist/node_modules/d3-selection/src/selection/select.js.map +0 -1
  764. package/dist/node_modules/d3-selection/src/selection/selectAll.js +0 -18
  765. package/dist/node_modules/d3-selection/src/selection/selectAll.js.map +0 -1
  766. package/dist/node_modules/d3-selection/src/selection/selectChild.js +0 -18
  767. package/dist/node_modules/d3-selection/src/selection/selectChild.js.map +0 -1
  768. package/dist/node_modules/d3-selection/src/selection/selectChildren.js +0 -18
  769. package/dist/node_modules/d3-selection/src/selection/selectChildren.js.map +0 -1
  770. package/dist/node_modules/d3-selection/src/selection/size.js +0 -10
  771. package/dist/node_modules/d3-selection/src/selection/size.js.map +0 -1
  772. package/dist/node_modules/d3-selection/src/selection/sort.js +0 -20
  773. package/dist/node_modules/d3-selection/src/selection/sort.js.map +0 -1
  774. package/dist/node_modules/d3-selection/src/selection/sparse.js +0 -8
  775. package/dist/node_modules/d3-selection/src/selection/sparse.js.map +0 -1
  776. package/dist/node_modules/d3-selection/src/selection/style.js +0 -28
  777. package/dist/node_modules/d3-selection/src/selection/style.js.map +0 -1
  778. package/dist/node_modules/d3-selection/src/selection/text.js +0 -21
  779. package/dist/node_modules/d3-selection/src/selection/text.js.map +0 -1
  780. package/dist/node_modules/d3-selection/src/selector.js +0 -11
  781. package/dist/node_modules/d3-selection/src/selector.js.map +0 -1
  782. package/dist/node_modules/d3-selection/src/selectorAll.js +0 -13
  783. package/dist/node_modules/d3-selection/src/selectorAll.js.map +0 -1
  784. package/dist/node_modules/d3-selection/src/sourceEvent.js +0 -10
  785. package/dist/node_modules/d3-selection/src/sourceEvent.js.map +0 -1
  786. package/dist/node_modules/d3-selection/src/window.js +0 -8
  787. package/dist/node_modules/d3-selection/src/window.js.map +0 -1
  788. package/dist/node_modules/d3-timer/src/timeout.js +0 -12
  789. package/dist/node_modules/d3-timer/src/timeout.js.map +0 -1
  790. package/dist/node_modules/d3-timer/src/timer.js +0 -55
  791. package/dist/node_modules/d3-timer/src/timer.js.map +0 -1
  792. package/dist/node_modules/d3-transition/src/index.js +0 -3
  793. package/dist/node_modules/d3-transition/src/interrupt.js +0 -18
  794. package/dist/node_modules/d3-transition/src/interrupt.js.map +0 -1
  795. package/dist/node_modules/d3-transition/src/selection/index.js +0 -7
  796. package/dist/node_modules/d3-transition/src/selection/index.js.map +0 -1
  797. package/dist/node_modules/d3-transition/src/selection/interrupt.js +0 -11
  798. package/dist/node_modules/d3-transition/src/selection/interrupt.js.map +0 -1
  799. package/dist/node_modules/d3-transition/src/selection/transition.js +0 -25
  800. package/dist/node_modules/d3-transition/src/selection/transition.js.map +0 -1
  801. package/dist/node_modules/d3-transition/src/transition/attr.js +0 -51
  802. package/dist/node_modules/d3-transition/src/transition/attr.js.map +0 -1
  803. package/dist/node_modules/d3-transition/src/transition/attrTween.js +0 -40
  804. package/dist/node_modules/d3-transition/src/transition/attrTween.js.map +0 -1
  805. package/dist/node_modules/d3-transition/src/transition/delay.js +0 -20
  806. package/dist/node_modules/d3-transition/src/transition/delay.js.map +0 -1
  807. package/dist/node_modules/d3-transition/src/transition/duration.js +0 -20
  808. package/dist/node_modules/d3-transition/src/transition/duration.js.map +0 -1
  809. package/dist/node_modules/d3-transition/src/transition/ease.js +0 -16
  810. package/dist/node_modules/d3-transition/src/transition/ease.js.map +0 -1
  811. package/dist/node_modules/d3-transition/src/transition/easeVarying.js +0 -17
  812. package/dist/node_modules/d3-transition/src/transition/easeVarying.js.map +0 -1
  813. package/dist/node_modules/d3-transition/src/transition/end.js +0 -18
  814. package/dist/node_modules/d3-transition/src/transition/end.js.map +0 -1
  815. package/dist/node_modules/d3-transition/src/transition/filter.js +0 -12
  816. package/dist/node_modules/d3-transition/src/transition/filter.js.map +0 -1
  817. package/dist/node_modules/d3-transition/src/transition/index.js +0 -69
  818. package/dist/node_modules/d3-transition/src/transition/index.js.map +0 -1
  819. package/dist/node_modules/d3-transition/src/transition/interpolate.js +0 -13
  820. package/dist/node_modules/d3-transition/src/transition/interpolate.js.map +0 -1
  821. package/dist/node_modules/d3-transition/src/transition/merge.js +0 -12
  822. package/dist/node_modules/d3-transition/src/transition/merge.js.map +0 -1
  823. package/dist/node_modules/d3-transition/src/transition/on.js +0 -23
  824. package/dist/node_modules/d3-transition/src/transition/on.js.map +0 -1
  825. package/dist/node_modules/d3-transition/src/transition/remove.js +0 -15
  826. package/dist/node_modules/d3-transition/src/transition/remove.js.map +0 -1
  827. package/dist/node_modules/d3-transition/src/transition/schedule.js +0 -71
  828. package/dist/node_modules/d3-transition/src/transition/schedule.js.map +0 -1
  829. package/dist/node_modules/d3-transition/src/transition/select.js +0 -14
  830. package/dist/node_modules/d3-transition/src/transition/select.js.map +0 -1
  831. package/dist/node_modules/d3-transition/src/transition/selectAll.js +0 -17
  832. package/dist/node_modules/d3-transition/src/transition/selectAll.js.map +0 -1
  833. package/dist/node_modules/d3-transition/src/transition/selection.js +0 -10
  834. package/dist/node_modules/d3-transition/src/transition/selection.js.map +0 -1
  835. package/dist/node_modules/d3-transition/src/transition/style.js +0 -47
  836. package/dist/node_modules/d3-transition/src/transition/style.js.map +0 -1
  837. package/dist/node_modules/d3-transition/src/transition/styleTween.js +0 -25
  838. package/dist/node_modules/d3-transition/src/transition/styleTween.js.map +0 -1
  839. package/dist/node_modules/d3-transition/src/transition/text.js +0 -19
  840. package/dist/node_modules/d3-transition/src/transition/text.js.map +0 -1
  841. package/dist/node_modules/d3-transition/src/transition/textTween.js +0 -25
  842. package/dist/node_modules/d3-transition/src/transition/textTween.js.map +0 -1
  843. package/dist/node_modules/d3-transition/src/transition/transition.js +0 -19
  844. package/dist/node_modules/d3-transition/src/transition/transition.js.map +0 -1
  845. package/dist/node_modules/d3-transition/src/transition/tween.js +0 -56
  846. package/dist/node_modules/d3-transition/src/transition/tween.js.map +0 -1
  847. package/dist/node_modules/d3-zoom/src/constant.js +0 -6
  848. package/dist/node_modules/d3-zoom/src/constant.js.map +0 -1
  849. package/dist/node_modules/d3-zoom/src/event.js +0 -30
  850. package/dist/node_modules/d3-zoom/src/event.js.map +0 -1
  851. package/dist/node_modules/d3-zoom/src/index.js +0 -2
  852. package/dist/node_modules/d3-zoom/src/noevent.js +0 -11
  853. package/dist/node_modules/d3-zoom/src/noevent.js.map +0 -1
  854. package/dist/node_modules/d3-zoom/src/transform.js +0 -50
  855. package/dist/node_modules/d3-zoom/src/transform.js.map +0 -1
  856. package/dist/node_modules/d3-zoom/src/zoom.js +0 -219
  857. package/dist/node_modules/d3-zoom/src/zoom.js.map +0 -1
  858. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +0 -56
  859. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +0 -1
  860. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +0 -54
  861. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js.map +0 -1
  862. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +0 -54
  863. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +0 -1
  864. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +0 -46
  865. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +0 -1
  866. package/dist/node_modules/use-sync-external-store/shim/index.js +0 -12
  867. package/dist/node_modules/use-sync-external-store/shim/index.js.map +0 -1
  868. package/dist/node_modules/use-sync-external-store/shim/with-selector.js +0 -12
  869. package/dist/node_modules/use-sync-external-store/shim/with-selector.js.map +0 -1
  870. package/dist/node_modules/zustand/esm/traditional.js +0 -17
  871. package/dist/node_modules/zustand/esm/traditional.js.map +0 -1
  872. package/dist/node_modules/zustand/esm/vanilla/shallow.js +0 -21
  873. package/dist/node_modules/zustand/esm/vanilla/shallow.js.map +0 -1
  874. package/dist/node_modules/zustand/esm/vanilla.js +0 -20
  875. package/dist/node_modules/zustand/esm/vanilla.js.map +0 -1
  876. package/dist/pages/ActionsPage.d.ts +0 -2
  877. package/dist/pages/ActionsPage.d.ts.map +0 -1
  878. package/dist/pages/AgentDetailsPage.d.ts +0 -5
  879. package/dist/pages/AgentDetailsPage.d.ts.map +0 -1
  880. package/dist/pages/AgentGraphPage.d.ts +0 -9
  881. package/dist/pages/AgentGraphPage.d.ts.map +0 -1
  882. package/dist/pages/AgentsLandingPage.d.ts +0 -12
  883. package/dist/pages/AgentsLandingPage.d.ts.map +0 -1
  884. package/dist/pages/AgentsPage.d.ts +0 -5
  885. package/dist/pages/AgentsPage.d.ts.map +0 -1
  886. package/dist/pages/AnalyticsPage.d.ts +0 -2
  887. package/dist/pages/AnalyticsPage.d.ts.map +0 -1
  888. package/dist/pages/CatalogDetailPage.d.ts +0 -2
  889. package/dist/pages/CatalogDetailPage.d.ts.map +0 -1
  890. package/dist/pages/CatalogDocsPage.d.ts +0 -2
  891. package/dist/pages/CatalogDocsPage.d.ts.map +0 -1
  892. package/dist/pages/CatalogPage.d.ts +0 -2
  893. package/dist/pages/CatalogPage.d.ts.map +0 -1
  894. package/dist/pages/ComponentDetailPage.d.ts +0 -2
  895. package/dist/pages/ComponentDetailPage.d.ts.map +0 -1
  896. package/dist/pages/ComponentDocsPage.d.ts +0 -2
  897. package/dist/pages/ComponentDocsPage.d.ts.map +0 -1
  898. package/dist/pages/ComponentsPage.d.ts +0 -2
  899. package/dist/pages/ComponentsPage.d.ts.map +0 -1
  900. package/dist/pages/GettingStartedPage.d.ts +0 -16
  901. package/dist/pages/GettingStartedPage.d.ts.map +0 -1
  902. package/dist/pages/HealthPage.d.ts +0 -2
  903. package/dist/pages/HealthPage.d.ts.map +0 -1
  904. package/dist/pages/LogsPage.d.ts +0 -2
  905. package/dist/pages/LogsPage.d.ts.map +0 -1
  906. package/dist/pages/NoteDetailsPage.d.ts +0 -2
  907. package/dist/pages/NoteDetailsPage.d.ts.map +0 -1
  908. package/dist/pages/OverviewPage.d.ts +0 -9
  909. package/dist/pages/OverviewPage.d.ts.map +0 -1
  910. package/dist/pages/SessionDetailsPage.d.ts +0 -6
  911. package/dist/pages/SessionDetailsPage.d.ts.map +0 -1
  912. package/dist/pages/SessionsPage.d.ts +0 -6
  913. package/dist/pages/SessionsPage.d.ts.map +0 -1
  914. package/dist/pages/SettingsPage.d.ts +0 -2
  915. package/dist/pages/SettingsPage.d.ts.map +0 -1
  916. package/dist/pages/SharedSessionPage.d.ts +0 -13
  917. package/dist/pages/SharedSessionPage.d.ts.map +0 -1
  918. package/dist/pages/SharedVibeDeckPage.d.ts +0 -8
  919. package/dist/pages/SharedVibeDeckPage.d.ts.map +0 -1
  920. package/dist/pages/TargetDetailsPage.d.ts +0 -13
  921. package/dist/pages/TargetDetailsPage.d.ts.map +0 -1
  922. package/dist/pages/TargetsPage.d.ts +0 -8
  923. package/dist/pages/TargetsPage.d.ts.map +0 -1
  924. package/dist/pages/TemplateDetailPage.d.ts +0 -2
  925. package/dist/pages/TemplateDetailPage.d.ts.map +0 -1
  926. package/dist/pages/TemplatesPage.d.ts +0 -2
  927. package/dist/pages/TemplatesPage.d.ts.map +0 -1
  928. package/dist/pages/TunnelsLandingPage.d.ts +0 -8
  929. package/dist/pages/TunnelsLandingPage.d.ts.map +0 -1
  930. package/dist/pages/VibeAuditPage.d.ts +0 -2
  931. package/dist/pages/VibeAuditPage.d.ts.map +0 -1
  932. package/dist/pages/VibeCalendarPage.d.ts +0 -9
  933. package/dist/pages/VibeCalendarPage.d.ts.map +0 -1
  934. package/dist/pages/VibeDeckPage.d.ts +0 -2
  935. package/dist/pages/VibeDeckPage.d.ts.map +0 -1
  936. package/dist/pages/VibeDetailsPage.d.ts +0 -5
  937. package/dist/pages/VibeDetailsPage.d.ts.map +0 -1
  938. package/dist/pages/VibeDocsPage.d.ts +0 -2
  939. package/dist/pages/VibeDocsPage.d.ts.map +0 -1
  940. package/dist/pages/VibeTaskDetailPage.d.ts +0 -9
  941. package/dist/pages/VibeTaskDetailPage.d.ts.map +0 -1
  942. package/dist/pages/VibesPage.d.ts +0 -5
  943. package/dist/pages/VibesPage.d.ts.map +0 -1
  944. package/dist/pages/WebhooksPage.d.ts +0 -5
  945. package/dist/pages/WebhooksPage.d.ts.map +0 -1
  946. package/dist/pages/ai/AIPage.d.ts +0 -6
  947. package/dist/pages/ai/AIPage.d.ts.map +0 -1
  948. package/dist/pages/ai/AISessionDetailPage.d.ts +0 -5
  949. package/dist/pages/ai/AISessionDetailPage.d.ts.map +0 -1
  950. package/dist/pages/ai/AgentManagerPage.d.ts +0 -9
  951. package/dist/pages/ai/AgentManagerPage.d.ts.map +0 -1
  952. package/dist/pages/index.d.ts +0 -17
  953. package/dist/pages/index.d.ts.map +0 -1
  954. package/dist/pages/tunnels/AuditTab.d.ts +0 -8
  955. package/dist/pages/tunnels/AuditTab.d.ts.map +0 -1
  956. package/dist/pages/tunnels/DomainsTab.d.ts +0 -2
  957. package/dist/pages/tunnels/DomainsTab.d.ts.map +0 -1
  958. package/dist/pages/tunnels/ProvidersTab.d.ts +0 -2
  959. package/dist/pages/tunnels/ProvidersTab.d.ts.map +0 -1
  960. package/dist/pages/tunnels/SessionsTab.d.ts +0 -8
  961. package/dist/pages/tunnels/SessionsTab.d.ts.map +0 -1
  962. package/dist/pages/tunnels/TunnelDetailsPage.d.ts +0 -2
  963. package/dist/pages/tunnels/TunnelDetailsPage.d.ts.map +0 -1
  964. package/dist/pages/tunnels/TunnelsTab.d.ts +0 -2
  965. package/dist/pages/tunnels/TunnelsTab.d.ts.map +0 -1
  966. package/dist/pages/tunnels/UsageTab.d.ts +0 -8
  967. package/dist/pages/tunnels/UsageTab.d.ts.map +0 -1
  968. package/dist/pages/tunnels/tabs/TunnelAuditTab.d.ts +0 -4
  969. package/dist/pages/tunnels/tabs/TunnelAuditTab.d.ts.map +0 -1
  970. package/dist/pages/tunnels/tabs/TunnelCliTab.d.ts +0 -8
  971. package/dist/pages/tunnels/tabs/TunnelCliTab.d.ts.map +0 -1
  972. package/dist/pages/tunnels/tabs/TunnelDomainsTab.d.ts +0 -8
  973. package/dist/pages/tunnels/tabs/TunnelDomainsTab.d.ts.map +0 -1
  974. package/dist/pages/tunnels/tabs/TunnelEndpointsTab.d.ts +0 -8
  975. package/dist/pages/tunnels/tabs/TunnelEndpointsTab.d.ts.map +0 -1
  976. package/dist/pages/tunnels/tabs/TunnelOverviewTab.d.ts +0 -8
  977. package/dist/pages/tunnels/tabs/TunnelOverviewTab.d.ts.map +0 -1
  978. package/dist/pages/tunnels/tabs/TunnelSessionsTab.d.ts +0 -4
  979. package/dist/pages/tunnels/tabs/TunnelSessionsTab.d.ts.map +0 -1
  980. package/dist/pages/tunnels/tabs/TunnelSettingsTab.d.ts +0 -9
  981. package/dist/pages/tunnels/tabs/TunnelSettingsTab.d.ts.map +0 -1
  982. package/dist/pages/tunnels/tabs/TunnelUsageTab.d.ts +0 -4
  983. package/dist/pages/tunnels/tabs/TunnelUsageTab.d.ts.map +0 -1
  984. package/dist/plugin.d.ts +0 -4
  985. package/dist/plugin.d.ts.map +0 -1
  986. package/dist/providers/AgentEventsProvider.d.ts +0 -79
  987. package/dist/providers/AgentEventsProvider.d.ts.map +0 -1
  988. package/dist/providers/VibeControlsProvider.d.ts +0 -29
  989. package/dist/providers/VibeControlsProvider.d.ts.map +0 -1
  990. package/dist/services/aiApi.d.ts +0 -310
  991. package/dist/services/aiApi.d.ts.map +0 -1
  992. package/dist/services/assistantApi.d.ts +0 -71
  993. package/dist/services/assistantApi.d.ts.map +0 -1
  994. package/dist/services/assistantExportService.d.ts +0 -9
  995. package/dist/services/assistantExportService.d.ts.map +0 -1
  996. package/dist/services/schedulerApi.d.ts +0 -18
  997. package/dist/services/schedulerApi.d.ts.map +0 -1
  998. package/dist/shared/hooks/useTr.d.ts +0 -17
  999. package/dist/shared/hooks/useTr.d.ts.map +0 -1
  1000. package/dist/store/agentManagerStore.d.ts +0 -65
  1001. package/dist/store/agentManagerStore.d.ts.map +0 -1
  1002. package/dist/store/assistantStore.d.ts +0 -56
  1003. package/dist/store/assistantStore.d.ts.map +0 -1
  1004. package/dist/store/vibeControlsStore.d.ts +0 -68
  1005. package/dist/store/vibeControlsStore.d.ts.map +0 -1
  1006. package/dist/translations/en.d.ts +0 -2174
  1007. package/dist/translations/en.d.ts.map +0 -1
  1008. package/dist/types/agentManager.d.ts +0 -72
  1009. package/dist/types/agentManager.d.ts.map +0 -1
  1010. package/dist/types/assistant.d.ts +0 -58
  1011. package/dist/types/assistant.d.ts.map +0 -1
  1012. package/dist/types/index.d.ts +0 -134
  1013. package/dist/types/index.d.ts.map +0 -1
  1014. package/dist/utils/agentStatus.d.ts +0 -42
  1015. package/dist/utils/agentStatus.d.ts.map +0 -1
  1016. package/dist/utils/aiSessionNotFound.d.ts +0 -2
  1017. package/dist/utils/aiSessionNotFound.d.ts.map +0 -1
  1018. package/dist/utils/nativeBridge.d.ts +0 -3
  1019. package/dist/utils/nativeBridge.d.ts.map +0 -1
  1020. package/dist/utils/pageContext.d.ts +0 -23
  1021. package/dist/utils/pageContext.d.ts.map +0 -1
  1022. package/dist/utils/quotaUtils.d.ts +0 -8
  1023. package/dist/utils/quotaUtils.d.ts.map +0 -1
  1024. package/dist/utils/relativeTime.d.ts +0 -3
  1025. package/dist/utils/relativeTime.d.ts.map +0 -1
@@ -1,17 +1,16 @@
1
1
  import { useTr as e } from "../../shared/hooks/useTr.js";
2
- import { MarkerType as t } from "../../node_modules/@xyflow/system/dist/esm/index.js";
3
- import { Background as n, BackgroundVariant as r, Controls as i, MiniMap as a, index as o, useEdgesState as s, useNodesState as c } from "../../node_modules/@xyflow/react/dist/esm/index.js";
4
- /* empty css */
5
- import { TargetNode as l } from "./TargetNode.js";
6
- import { AgentNode as u } from "./AgentNode.js";
7
- import { ConnectionPermissionsDialog as d } from "./ConnectionPermissionsDialog.js";
8
- import { useCallback as f, useEffect as p, useLayoutEffect as m, useMemo as h, useRef as g, useState as _ } from "react";
9
- import { CheckCircle as v } from "lucide-react";
10
- import { Fragment as y, jsx as b, jsxs as x } from "react/jsx-runtime";
2
+ import { TargetNode as t } from "./TargetNode.js";
3
+ import { AgentNode as n } from "./AgentNode.js";
4
+ import { ConnectionPermissionsDialog as r } from "./ConnectionPermissionsDialog.js";
5
+ import { useCallback as i, useEffect as a, useLayoutEffect as o, useMemo as s, useRef as c, useState as l } from "react";
6
+ import { CheckCircle as u } from "lucide-react";
7
+ import { Fragment as d, jsx as f, jsxs as p } from "react/jsx-runtime";
8
+ import { Background as m, BackgroundVariant as h, Controls as g, MarkerType as _, MiniMap as v, ReactFlow as y, useEdgesState as b, useNodesState as x } from "@xyflow/react";
9
+ import "@xyflow/react/dist/style.css";
11
10
  //#region src/components/graph/AgentGraphView.tsx
12
11
  var S = {
13
- targetNode: l,
14
- agentNode: u
12
+ targetNode: t,
13
+ agentNode: n
15
14
  }, C = 280, w = 100, T = 48, E = 8, D = 16, O = 16, k = 100, A = 40;
16
15
  function j(e) {
17
16
  return e >= C * 4 + k * 3 ? 4 : e >= C * 3 + k * 2 ? 3 : e >= C * 2 + k ? 2 : 1;
@@ -19,15 +18,15 @@ function j(e) {
19
18
  function M(e) {
20
19
  return w + Math.max(e.agents.length, 1) * (T + E) + O;
21
20
  }
22
- function N(e, n, r, i) {
23
- let a = [], o = [], s = Math.ceil(e.length / r), c = Array.from({ length: s }, (t, n) => e.slice(n * r, (n + 1) * r).reduce((e, t) => Math.max(e, M(t)), 0)), l = c.reduce((e, t, n) => (e.push(n === 0 ? 0 : e[n - 1] + c[n - 1] + A), e), []);
21
+ function N(e, t, n, r) {
22
+ let i = [], a = [], o = Math.ceil(e.length / n), s = Array.from({ length: o }, (t, r) => e.slice(r * n, (r + 1) * n).reduce((e, t) => Math.max(e, M(t)), 0)), c = s.reduce((e, t, n) => (e.push(n === 0 ? 0 : e[n - 1] + s[n - 1] + A), e), []);
24
23
  return e.forEach((e, t) => {
25
- let n = t % r, o = Math.floor(t / r), s = M(e), c = n * (C + k), u = l[o];
26
- a.push({
24
+ let a = t % n, o = Math.floor(t / n), s = M(e), l = a * (C + k), u = c[o];
25
+ i.push({
27
26
  id: `target-${e.id}`,
28
27
  type: "targetNode",
29
28
  position: {
30
- x: c,
29
+ x: l,
31
30
  y: u
32
31
  },
33
32
  data: {
@@ -38,15 +37,15 @@ function N(e, n, r, i) {
38
37
  status: e.status,
39
38
  host: e.host,
40
39
  agentCount: e.agents.length,
41
- onActivate: i ? () => i("target", e.id) : void 0
40
+ onActivate: r ? () => r("target", e.id) : void 0
42
41
  },
43
- className: i ? "cursor-pointer" : void 0,
42
+ className: r ? "cursor-pointer" : void 0,
44
43
  style: {
45
44
  width: C,
46
45
  height: s
47
46
  }
48
47
  }), e.agents.forEach((t, n) => {
49
- a.push({
48
+ i.push({
50
49
  id: `agent-${t.id}`,
51
50
  type: "agentNode",
52
51
  position: {
@@ -61,12 +60,12 @@ function N(e, n, r, i) {
61
60
  nodeType: "agent",
62
61
  version: t.version,
63
62
  isActive: t.isActive,
64
- onActivate: i ? () => i("agent", t.id) : void 0
63
+ onActivate: r ? () => r("agent", t.id) : void 0
65
64
  },
66
- className: i ? "cursor-pointer" : void 0,
65
+ className: r ? "cursor-pointer" : void 0,
67
66
  style: { width: C - D * 2 }
68
67
  });
69
- }), e.agents.length === 0 && a.push({
68
+ }), e.agents.length === 0 && i.push({
70
69
  id: `empty-${e.id}`,
71
70
  type: "agentNode",
72
71
  position: {
@@ -83,21 +82,21 @@ function N(e, n, r, i) {
83
82
  },
84
83
  style: { width: C - D * 2 }
85
84
  });
86
- }), n.forEach((e) => {
87
- let n = `agent-${e.sourceAgent.id}`, r = `target-${e.target.id}`;
88
- if (!a.some((e) => e.id === n) || !a.some((e) => e.id === r)) return;
89
- let i = e.status === "connected";
90
- o.push({
85
+ }), t.forEach((e) => {
86
+ let t = `agent-${e.sourceAgent.id}`, n = `target-${e.target.id}`;
87
+ if (!i.some((e) => e.id === t) || !i.some((e) => e.id === n)) return;
88
+ let r = e.status === "connected";
89
+ a.push({
91
90
  id: `edge-${e.id}`,
92
- source: n,
93
- target: r,
91
+ source: t,
92
+ target: n,
94
93
  label: e.protocol,
95
94
  data: e,
96
95
  type: "default",
97
- animated: i,
98
- markerEnd: { type: t.ArrowClosed },
96
+ animated: r,
97
+ markerEnd: { type: _.ArrowClosed },
99
98
  style: {
100
- stroke: i ? "var(--color-status-success-border)" : "var(--color-border-strong)",
99
+ stroke: r ? "var(--color-status-success-border)" : "var(--color-border-strong)",
101
100
  strokeWidth: 2
102
101
  },
103
102
  labelStyle: {
@@ -108,13 +107,13 @@ function N(e, n, r, i) {
108
107
  labelBgPadding: [4, 2]
109
108
  });
110
109
  }), {
111
- nodes: a,
112
- edges: o
110
+ nodes: i,
111
+ edges: a
113
112
  };
114
113
  }
115
- function P({ targets: t, connections: l, onUpdatePermissions: u, availablePermissions: C, availableScopes: w, onNodeClick: T, fullHeight: E }) {
116
- let D = e(), O = g(null), [k, A] = _(() => typeof window > "u" ? 3 : j(window.innerWidth));
117
- m(() => {
114
+ function P({ targets: t, connections: n, onUpdatePermissions: _, availablePermissions: C, availableScopes: w, onNodeClick: T, fullHeight: E }) {
115
+ let D = e(), O = c(null), [k, A] = l(() => typeof window > "u" ? 3 : j(window.innerWidth));
116
+ o(() => {
118
117
  let e = (e) => {
119
118
  A((t) => {
120
119
  let n = j(e);
@@ -133,39 +132,39 @@ function P({ targets: t, connections: l, onUpdatePermissions: u, availablePermis
133
132
  n || window.removeEventListener("resize", t), n?.disconnect();
134
133
  };
135
134
  }, []);
136
- let { nodes: M, edges: P } = h(() => N(t, l, k, T), [
135
+ let { nodes: M, edges: P } = s(() => N(t, n, k, T), [
137
136
  t,
138
- l,
137
+ n,
139
138
  k,
140
139
  T
141
- ]), [F, I, L] = c(M), [R, z, B] = s(P), [V, H] = _(null), [U, W] = _(!1);
142
- p(() => {
143
- let { nodes: e, edges: n } = N(t, l, k, T);
144
- I(e), z(n);
140
+ ]), [F, I, L] = x(M), [R, z, B] = b(P), [V, H] = l(null), [U, W] = l(!1);
141
+ a(() => {
142
+ let { nodes: e, edges: r } = N(t, n, k, T);
143
+ I(e), z(r);
145
144
  }, [
146
145
  t,
147
- l,
146
+ n,
148
147
  k,
149
148
  T,
150
149
  I,
151
150
  z
152
151
  ]);
153
- let G = f((e, t) => {
152
+ let G = i((e, t) => {
154
153
  if (!T) return;
155
154
  let { entityId: n, nodeType: r } = t.data ?? {};
156
155
  !n || !r || T(r, n);
157
- }, [T]), K = f((e, t) => {
158
- let n = l.find((e) => `edge-${e.id}` === t.id);
159
- n && H(n);
160
- }, [l]), q = f((e, t) => {
161
- V && u && u(V.id, e, t), H(null), W(!0), setTimeout(() => W(!1), 3e3);
162
- }, [V, u]);
163
- return /* @__PURE__ */ x(y, { children: [
164
- /* @__PURE__ */ b("div", {
156
+ }, [T]), K = i((e, t) => {
157
+ let r = n.find((e) => `edge-${e.id}` === t.id);
158
+ r && H(r);
159
+ }, [n]), q = i((e, t) => {
160
+ V && _ && _(V.id, e, t), H(null), W(!0), setTimeout(() => W(!1), 3e3);
161
+ }, [V, _]);
162
+ return /* @__PURE__ */ p(d, { children: [
163
+ /* @__PURE__ */ f("div", {
165
164
  ref: O,
166
165
  className: "w-full rounded-lg border border-border-default overflow-hidden bg-bg-secondary",
167
166
  style: { height: E ? "100%" : "500px" },
168
- children: /* @__PURE__ */ x(o, {
167
+ children: /* @__PURE__ */ p(y, {
169
168
  nodes: F,
170
169
  edges: R,
171
170
  nodesDraggable: !1,
@@ -181,13 +180,13 @@ function P({ targets: t, connections: l, onUpdatePermissions: u, availablePermis
181
180
  panOnDrag: !0,
182
181
  proOptions: { hideAttribution: !0 },
183
182
  children: [
184
- /* @__PURE__ */ b(n, {
185
- variant: r.Dots,
183
+ /* @__PURE__ */ f(m, {
184
+ variant: h.Dots,
186
185
  gap: 20,
187
186
  size: 1,
188
187
  className: "!fill-text-tertiary/10"
189
188
  }),
190
- /* @__PURE__ */ b(i, {
189
+ /* @__PURE__ */ f(g, {
191
190
  showInteractive: !1,
192
191
  style: {
193
192
  background: "var(--color-bg-primary)",
@@ -197,7 +196,7 @@ function P({ targets: t, connections: l, onUpdatePermissions: u, availablePermis
197
196
  },
198
197
  className: "[&_button]:!bg-[var(--color-bg-primary)] [&_button]:!border-[var(--color-border-default)] [&_button]:!fill-[var(--color-text-secondary)] [&_button:hover]:!bg-[var(--color-bg-sunken)]"
199
198
  }),
200
- /* @__PURE__ */ b(a, {
199
+ /* @__PURE__ */ f(v, {
201
200
  zoomable: !0,
202
201
  pannable: !0,
203
202
  style: {
@@ -212,20 +211,20 @@ function P({ targets: t, connections: l, onUpdatePermissions: u, availablePermis
212
211
  ]
213
212
  })
214
213
  }),
215
- V && /* @__PURE__ */ b(d, {
214
+ V && /* @__PURE__ */ f(r, {
216
215
  connection: V,
217
216
  availablePermissions: C,
218
217
  availableScopes: w,
219
218
  onSave: q,
220
219
  onClose: () => H(null)
221
220
  }),
222
- U && /* @__PURE__ */ x("div", {
221
+ U && /* @__PURE__ */ p("div", {
223
222
  "data-testid": "save-toast",
224
223
  className: "fixed bottom-4 right-4 z-[200] flex items-center gap-2 bg-bg-elevated border border-border-default rounded-lg shadow-lg px-4 py-2.5 text-sm",
225
- children: [/* @__PURE__ */ b(v, {
224
+ children: [/* @__PURE__ */ f(u, {
226
225
  size: 16,
227
226
  className: "text-green-500 flex-shrink-0"
228
- }), /* @__PURE__ */ b("span", {
227
+ }), /* @__PURE__ */ f("span", {
229
228
  className: "text-text-primary",
230
229
  children: D("vibecontrols.graph.permissionsSaved", "Permissions saved")
231
230
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"AgentGraphView.js","names":[],"sources":["../../../src/components/graph/AgentGraphView.tsx"],"sourcesContent":["/**\n * Agent Graph — React Flow visualization of targets and agent connections.\n *\n * Targets render as group nodes (sub-flows). Agents render as child nodes\n * inside their target. Connections render as directed edges.\n * Click edge → edit RBAC permissions/scopes.\n */\n\nimport { useCallback, useMemo, useState, useEffect, useLayoutEffect, useRef } from 'react';\nimport { CheckCircle } from 'lucide-react';\nimport { useTr } from '../../shared/hooks/useTr';\nimport {\n ReactFlow,\n Background,\n Controls,\n MiniMap,\n useNodesState,\n useEdgesState,\n type Node,\n type Edge,\n type NodeTypes,\n MarkerType,\n BackgroundVariant,\n} from '@xyflow/react';\nimport '@xyflow/react/dist/style.css';\nimport { TargetNode } from './TargetNode';\nimport { AgentNode } from './AgentNode';\nimport { ConnectionPermissionsDialog } from './ConnectionPermissionsDialog';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ninterface GraphTarget {\n id: string;\n name: string;\n type: string;\n status: string;\n host?: string | null;\n agents: Array<{\n id: string;\n name: string;\n version: string;\n isActive: boolean;\n }>;\n}\n\ninterface GraphConnection {\n id: string;\n protocol: string;\n status: string;\n permissions?: string[];\n scopes?: string[];\n label?: string | null;\n description?: string | null;\n sourceAgent: { id: string; name: string };\n target: { id: string; name: string; type: string };\n}\n\ninterface AgentGraphViewProps {\n targets: GraphTarget[];\n connections: GraphConnection[];\n onUpdatePermissions?: (connectionId: string, permissions: string[], scopes: string[]) => void;\n availablePermissions?: string[];\n availableScopes?: string[];\n onNodeClick?: (nodeType: 'target' | 'agent', id: string) => void;\n fullHeight?: boolean;\n}\n\ninterface InteractiveNodeData {\n nodeType?: 'target' | 'agent';\n entityId?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Custom node types\n// ---------------------------------------------------------------------------\n\nconst nodeTypes: NodeTypes = {\n targetNode: TargetNode,\n agentNode: AgentNode,\n};\n\n// ---------------------------------------------------------------------------\n// Layout — bounding boxes expand to fit agents\n// ---------------------------------------------------------------------------\n\nconst TARGET_WIDTH = 280;\nconst TARGET_HEADER_HEIGHT = 100; // Must clear: p-3(12) + badge(22) + mb(4) + name(20) + host(16) + count(18) + gap(8)\nconst AGENT_NODE_HEIGHT = 48;\nconst AGENT_GAP = 8;\nconst AGENT_MARGIN_X = 16;\nconst TARGET_PADDING_BOTTOM = 16;\nconst TARGET_GAP_X = 100;\nconst TARGET_GAP_Y = 40;\n\nfunction getTargetsPerRow(width: number): number {\n // These thresholds are container-width based and derived from the graph's\n // actual target-card geometry so each layout bucket fits without overflow.\n if (width >= TARGET_WIDTH * 4 + TARGET_GAP_X * 3) return 4;\n if (width >= TARGET_WIDTH * 3 + TARGET_GAP_X * 2) return 3;\n if (width >= TARGET_WIDTH * 2 + TARGET_GAP_X) return 2;\n return 1;\n}\n\nfunction computeTargetHeight(target: GraphTarget): number {\n const agentSlots = Math.max(target.agents.length, 1);\n return (\n TARGET_HEADER_HEIGHT + agentSlots * (AGENT_NODE_HEIGHT + AGENT_GAP) + TARGET_PADDING_BOTTOM\n );\n}\n\nfunction buildGraphElements(\n targets: GraphTarget[],\n connections: GraphConnection[],\n targetsPerRow: number,\n onNodeClick?: (nodeType: 'target' | 'agent', id: string) => void\n): { nodes: Node[]; edges: Edge[] } {\n const nodes: Node[] = [];\n const edges: Edge[] = [];\n\n // Pre-compute per-row max heights for accurate vertical positioning\n const rowCount = Math.ceil(targets.length / targetsPerRow);\n const rowMaxHeights = Array.from({ length: rowCount }, (_, rowIdx) =>\n targets\n .slice(rowIdx * targetsPerRow, (rowIdx + 1) * targetsPerRow)\n .reduce((max, t) => Math.max(max, computeTargetHeight(t)), 0)\n );\n const rowYOffsets = rowMaxHeights.reduce<number[]>((acc, h, i) => {\n acc.push(i === 0 ? 0 : acc[i - 1] + rowMaxHeights[i - 1] + TARGET_GAP_Y);\n return acc;\n }, []);\n\n targets.forEach((target, idx) => {\n const col = idx % targetsPerRow;\n const row = Math.floor(idx / targetsPerRow);\n\n // Calculate target height based on actual number of agents\n const targetHeight = computeTargetHeight(target);\n\n const x = col * (TARGET_WIDTH + TARGET_GAP_X);\n const y = rowYOffsets[row];\n\n // Target group node\n nodes.push({\n id: `target-${target.id}`,\n type: 'targetNode',\n position: { x, y },\n data: {\n entityId: target.id,\n name: target.name,\n nodeType: 'target',\n type: target.type,\n status: target.status,\n host: target.host,\n agentCount: target.agents.length,\n onActivate: onNodeClick ? () => onNodeClick('target', target.id) : undefined,\n },\n className: onNodeClick ? 'cursor-pointer' : undefined,\n style: {\n width: TARGET_WIDTH,\n height: targetHeight,\n },\n });\n\n // Agent child nodes\n target.agents.forEach((agent, agentIdx) => {\n nodes.push({\n id: `agent-${agent.id}`,\n type: 'agentNode',\n position: {\n x: AGENT_MARGIN_X,\n y: TARGET_HEADER_HEIGHT + agentIdx * (AGENT_NODE_HEIGHT + AGENT_GAP),\n },\n parentId: `target-${target.id}`,\n extent: 'parent' as const,\n data: {\n entityId: agent.id,\n name: agent.name,\n nodeType: 'agent',\n version: agent.version,\n isActive: agent.isActive,\n onActivate: onNodeClick ? () => onNodeClick('agent', agent.id) : undefined,\n },\n className: onNodeClick ? 'cursor-pointer' : undefined,\n style: { width: TARGET_WIDTH - AGENT_MARGIN_X * 2 },\n });\n });\n\n // Empty placeholder if no agents\n if (target.agents.length === 0) {\n nodes.push({\n id: `empty-${target.id}`,\n type: 'agentNode',\n position: {\n x: AGENT_MARGIN_X,\n y: TARGET_HEADER_HEIGHT,\n },\n parentId: `target-${target.id}`,\n extent: 'parent' as const,\n data: { name: 'No agent installed', version: '', isActive: false, isEmpty: true },\n style: { width: TARGET_WIDTH - AGENT_MARGIN_X * 2 },\n });\n }\n });\n\n // Edges\n connections.forEach((conn) => {\n const sourceNodeId = `agent-${conn.sourceAgent.id}`;\n const targetNodeId = `target-${conn.target.id}`;\n if (!nodes.some((n) => n.id === sourceNodeId) || !nodes.some((n) => n.id === targetNodeId))\n return;\n\n const isConnected = conn.status === 'connected';\n edges.push({\n id: `edge-${conn.id}`,\n source: sourceNodeId,\n target: targetNodeId,\n label: conn.protocol,\n data: conn as unknown as Record<string, unknown>,\n type: 'default',\n animated: isConnected,\n markerEnd: { type: MarkerType.ArrowClosed },\n style: {\n stroke: isConnected ? 'var(--color-status-success-border)' : 'var(--color-border-strong)',\n strokeWidth: 2,\n },\n labelStyle: { fontSize: 10, fontWeight: 600 },\n labelBgStyle: { fill: 'transparent' },\n labelBgPadding: [4, 2] as [number, number],\n });\n });\n\n return { nodes, edges };\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport function AgentGraphView({\n targets,\n connections,\n onUpdatePermissions,\n availablePermissions,\n availableScopes,\n onNodeClick,\n fullHeight,\n}: AgentGraphViewProps) {\n const tr = useTr();\n const containerRef = useRef<HTMLDivElement>(null);\n const [targetsPerRow, setTargetsPerRow] = useState(() =>\n typeof window === 'undefined' ? 3 : getTargetsPerRow(window.innerWidth)\n );\n\n useLayoutEffect(() => {\n const updateTargetsPerRow = (width: number) => {\n setTargetsPerRow((current) => {\n const next = getTargetsPerRow(width);\n return current === next ? current : next;\n });\n };\n\n const updateFromContainer = () => {\n const width = containerRef.current?.clientWidth;\n if (typeof width === 'number' && width > 0) {\n updateTargetsPerRow(width);\n }\n };\n\n updateFromContainer();\n\n const resizeObserver =\n typeof ResizeObserver !== 'undefined'\n ? new ResizeObserver((entries) => {\n const entry = entries[0];\n if (entry) updateTargetsPerRow(entry.contentRect.width);\n })\n : null;\n\n if (resizeObserver && containerRef.current) {\n resizeObserver.observe(containerRef.current);\n } else {\n window.addEventListener('resize', updateFromContainer);\n }\n\n return () => {\n if (!resizeObserver) {\n window.removeEventListener('resize', updateFromContainer);\n }\n resizeObserver?.disconnect();\n };\n }, []);\n\n const { nodes: initialNodes, edges: initialEdges } = useMemo(\n () => buildGraphElements(targets, connections, targetsPerRow, onNodeClick),\n [targets, connections, targetsPerRow, onNodeClick]\n );\n\n const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes);\n const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);\n const [selectedConnection, setSelectedConnection] = useState<GraphConnection | null>(null);\n const [permSaved, setPermSaved] = useState(false);\n\n // Re-sync nodes/edges when targets/connections change (e.g. root agent filter)\n useEffect(() => {\n const { nodes: newNodes, edges: newEdges } = buildGraphElements(\n targets,\n connections,\n targetsPerRow,\n onNodeClick\n );\n setNodes(newNodes);\n setEdges(newEdges);\n }, [targets, connections, targetsPerRow, onNodeClick, setNodes, setEdges]);\n\n const handleNodeClick = useCallback(\n (_event: React.MouseEvent, node: Node) => {\n if (!onNodeClick) return;\n\n const { entityId, nodeType } = (node.data ?? {}) as InteractiveNodeData;\n if (!entityId || !nodeType) return;\n\n onNodeClick(nodeType, entityId);\n },\n [onNodeClick]\n );\n\n const handleEdgeClick = useCallback(\n (_event: React.MouseEvent, edge: Edge) => {\n const conn = connections.find((c) => `edge-${c.id}` === edge.id);\n if (conn) setSelectedConnection(conn);\n },\n [connections]\n );\n\n const handleSavePermissions = useCallback(\n (permissions: string[], scopes: string[]) => {\n if (selectedConnection && onUpdatePermissions) {\n onUpdatePermissions(selectedConnection.id, permissions, scopes);\n }\n setSelectedConnection(null);\n setPermSaved(true);\n setTimeout(() => setPermSaved(false), 3000);\n },\n [selectedConnection, onUpdatePermissions]\n );\n\n const height = fullHeight ? '100%' : '500px';\n\n return (\n <>\n <div\n ref={containerRef}\n className=\"w-full rounded-lg border border-border-default overflow-hidden bg-bg-secondary\"\n style={{ height }}\n >\n <ReactFlow\n nodes={nodes}\n edges={edges}\n nodesDraggable={false}\n onNodesChange={onNodesChange}\n onEdgesChange={onEdgesChange}\n onNodeClick={handleNodeClick}\n onEdgeClick={handleEdgeClick}\n nodeTypes={nodeTypes}\n fitView\n fitViewOptions={{ padding: 0.2 }}\n minZoom={0.2}\n maxZoom={2}\n panOnDrag={true}\n proOptions={{ hideAttribution: true }}\n >\n <Background\n variant={BackgroundVariant.Dots}\n gap={20}\n size={1}\n className=\"!fill-text-tertiary/10\"\n />\n <Controls\n showInteractive={false}\n style={{\n background: 'var(--color-bg-primary)',\n border: '1px solid var(--color-border-default)',\n borderRadius: 8,\n boxShadow: '0 1px 4px var(--color-border-default)',\n }}\n className=\"[&_button]:!bg-[var(--color-bg-primary)] [&_button]:!border-[var(--color-border-default)] [&_button]:!fill-[var(--color-text-secondary)] [&_button:hover]:!bg-[var(--color-bg-sunken)]\"\n />\n <MiniMap\n zoomable\n pannable\n style={{\n height: 80,\n width: 120,\n background: 'var(--color-bg-primary)',\n border: '1px solid var(--color-border-default)',\n borderRadius: 8,\n }}\n maskColor=\"var(--color-bg-default)\"\n />\n </ReactFlow>\n </div>\n\n {selectedConnection && (\n <ConnectionPermissionsDialog\n connection={selectedConnection}\n availablePermissions={availablePermissions}\n availableScopes={availableScopes}\n onSave={handleSavePermissions}\n onClose={() => setSelectedConnection(null)}\n />\n )}\n\n {permSaved && (\n <div\n data-testid=\"save-toast\"\n className=\"fixed bottom-4 right-4 z-[200] flex items-center gap-2 bg-bg-elevated border border-border-default rounded-lg shadow-lg px-4 py-2.5 text-sm\"\n >\n <CheckCircle size={16} className=\"text-green-500 flex-shrink-0\" />\n <span className=\"text-text-primary\">\n {tr('vibecontrols.graph.permissionsSaved', 'Permissions saved')}\n </span>\n </div>\n )}\n </>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AgentGraphView.js","names":[],"sources":["../../../src/components/graph/AgentGraphView.tsx"],"sourcesContent":["/**\n * Agent Graph — React Flow visualization of targets and agent connections.\n *\n * Targets render as group nodes (sub-flows). Agents render as child nodes\n * inside their target. Connections render as directed edges.\n * Click edge → edit RBAC permissions/scopes.\n */\n\nimport { useCallback, useMemo, useState, useEffect, useLayoutEffect, useRef } from 'react';\nimport { CheckCircle } from 'lucide-react';\nimport { useTr } from '../../shared/hooks/useTr';\nimport {\n ReactFlow,\n Background,\n Controls,\n MiniMap,\n useNodesState,\n useEdgesState,\n type Node,\n type Edge,\n type NodeTypes,\n MarkerType,\n BackgroundVariant,\n} from '@xyflow/react';\nimport '@xyflow/react/dist/style.css';\nimport { TargetNode } from './TargetNode';\nimport { AgentNode } from './AgentNode';\nimport { ConnectionPermissionsDialog } from './ConnectionPermissionsDialog';\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ninterface GraphTarget {\n id: string;\n name: string;\n type: string;\n status: string;\n host?: string | null;\n agents: Array<{\n id: string;\n name: string;\n version: string;\n isActive: boolean;\n }>;\n}\n\ninterface GraphConnection {\n id: string;\n protocol: string;\n status: string;\n permissions?: string[];\n scopes?: string[];\n label?: string | null;\n description?: string | null;\n sourceAgent: { id: string; name: string };\n target: { id: string; name: string; type: string };\n}\n\ninterface AgentGraphViewProps {\n targets: GraphTarget[];\n connections: GraphConnection[];\n onUpdatePermissions?: (connectionId: string, permissions: string[], scopes: string[]) => void;\n availablePermissions?: string[];\n availableScopes?: string[];\n onNodeClick?: (nodeType: 'target' | 'agent', id: string) => void;\n fullHeight?: boolean;\n}\n\ninterface InteractiveNodeData {\n nodeType?: 'target' | 'agent';\n entityId?: string;\n}\n\n// ---------------------------------------------------------------------------\n// Custom node types\n// ---------------------------------------------------------------------------\n\nconst nodeTypes: NodeTypes = {\n targetNode: TargetNode,\n agentNode: AgentNode,\n};\n\n// ---------------------------------------------------------------------------\n// Layout — bounding boxes expand to fit agents\n// ---------------------------------------------------------------------------\n\nconst TARGET_WIDTH = 280;\nconst TARGET_HEADER_HEIGHT = 100; // Must clear: p-3(12) + badge(22) + mb(4) + name(20) + host(16) + count(18) + gap(8)\nconst AGENT_NODE_HEIGHT = 48;\nconst AGENT_GAP = 8;\nconst AGENT_MARGIN_X = 16;\nconst TARGET_PADDING_BOTTOM = 16;\nconst TARGET_GAP_X = 100;\nconst TARGET_GAP_Y = 40;\n\nfunction getTargetsPerRow(width: number): number {\n // These thresholds are container-width based and derived from the graph's\n // actual target-card geometry so each layout bucket fits without overflow.\n if (width >= TARGET_WIDTH * 4 + TARGET_GAP_X * 3) return 4;\n if (width >= TARGET_WIDTH * 3 + TARGET_GAP_X * 2) return 3;\n if (width >= TARGET_WIDTH * 2 + TARGET_GAP_X) return 2;\n return 1;\n}\n\nfunction computeTargetHeight(target: GraphTarget): number {\n const agentSlots = Math.max(target.agents.length, 1);\n return (\n TARGET_HEADER_HEIGHT + agentSlots * (AGENT_NODE_HEIGHT + AGENT_GAP) + TARGET_PADDING_BOTTOM\n );\n}\n\nfunction buildGraphElements(\n targets: GraphTarget[],\n connections: GraphConnection[],\n targetsPerRow: number,\n onNodeClick?: (nodeType: 'target' | 'agent', id: string) => void\n): { nodes: Node[]; edges: Edge[] } {\n const nodes: Node[] = [];\n const edges: Edge[] = [];\n\n // Pre-compute per-row max heights for accurate vertical positioning\n const rowCount = Math.ceil(targets.length / targetsPerRow);\n const rowMaxHeights = Array.from({ length: rowCount }, (_, rowIdx) =>\n targets\n .slice(rowIdx * targetsPerRow, (rowIdx + 1) * targetsPerRow)\n .reduce((max, t) => Math.max(max, computeTargetHeight(t)), 0)\n );\n const rowYOffsets = rowMaxHeights.reduce<number[]>((acc, h, i) => {\n acc.push(i === 0 ? 0 : acc[i - 1] + rowMaxHeights[i - 1] + TARGET_GAP_Y);\n return acc;\n }, []);\n\n targets.forEach((target, idx) => {\n const col = idx % targetsPerRow;\n const row = Math.floor(idx / targetsPerRow);\n\n // Calculate target height based on actual number of agents\n const targetHeight = computeTargetHeight(target);\n\n const x = col * (TARGET_WIDTH + TARGET_GAP_X);\n const y = rowYOffsets[row];\n\n // Target group node\n nodes.push({\n id: `target-${target.id}`,\n type: 'targetNode',\n position: { x, y },\n data: {\n entityId: target.id,\n name: target.name,\n nodeType: 'target',\n type: target.type,\n status: target.status,\n host: target.host,\n agentCount: target.agents.length,\n onActivate: onNodeClick ? () => onNodeClick('target', target.id) : undefined,\n },\n className: onNodeClick ? 'cursor-pointer' : undefined,\n style: {\n width: TARGET_WIDTH,\n height: targetHeight,\n },\n });\n\n // Agent child nodes\n target.agents.forEach((agent, agentIdx) => {\n nodes.push({\n id: `agent-${agent.id}`,\n type: 'agentNode',\n position: {\n x: AGENT_MARGIN_X,\n y: TARGET_HEADER_HEIGHT + agentIdx * (AGENT_NODE_HEIGHT + AGENT_GAP),\n },\n parentId: `target-${target.id}`,\n extent: 'parent' as const,\n data: {\n entityId: agent.id,\n name: agent.name,\n nodeType: 'agent',\n version: agent.version,\n isActive: agent.isActive,\n onActivate: onNodeClick ? () => onNodeClick('agent', agent.id) : undefined,\n },\n className: onNodeClick ? 'cursor-pointer' : undefined,\n style: { width: TARGET_WIDTH - AGENT_MARGIN_X * 2 },\n });\n });\n\n // Empty placeholder if no agents\n if (target.agents.length === 0) {\n nodes.push({\n id: `empty-${target.id}`,\n type: 'agentNode',\n position: {\n x: AGENT_MARGIN_X,\n y: TARGET_HEADER_HEIGHT,\n },\n parentId: `target-${target.id}`,\n extent: 'parent' as const,\n data: { name: 'No agent installed', version: '', isActive: false, isEmpty: true },\n style: { width: TARGET_WIDTH - AGENT_MARGIN_X * 2 },\n });\n }\n });\n\n // Edges\n connections.forEach((conn) => {\n const sourceNodeId = `agent-${conn.sourceAgent.id}`;\n const targetNodeId = `target-${conn.target.id}`;\n if (!nodes.some((n) => n.id === sourceNodeId) || !nodes.some((n) => n.id === targetNodeId))\n return;\n\n const isConnected = conn.status === 'connected';\n edges.push({\n id: `edge-${conn.id}`,\n source: sourceNodeId,\n target: targetNodeId,\n label: conn.protocol,\n data: conn as unknown as Record<string, unknown>,\n type: 'default',\n animated: isConnected,\n markerEnd: { type: MarkerType.ArrowClosed },\n style: {\n stroke: isConnected ? 'var(--color-status-success-border)' : 'var(--color-border-strong)',\n strokeWidth: 2,\n },\n labelStyle: { fontSize: 10, fontWeight: 600 },\n labelBgStyle: { fill: 'transparent' },\n labelBgPadding: [4, 2] as [number, number],\n });\n });\n\n return { nodes, edges };\n}\n\n// ---------------------------------------------------------------------------\n// Component\n// ---------------------------------------------------------------------------\n\nexport function AgentGraphView({\n targets,\n connections,\n onUpdatePermissions,\n availablePermissions,\n availableScopes,\n onNodeClick,\n fullHeight,\n}: AgentGraphViewProps) {\n const tr = useTr();\n const containerRef = useRef<HTMLDivElement>(null);\n const [targetsPerRow, setTargetsPerRow] = useState(() =>\n typeof window === 'undefined' ? 3 : getTargetsPerRow(window.innerWidth)\n );\n\n useLayoutEffect(() => {\n const updateTargetsPerRow = (width: number) => {\n setTargetsPerRow((current) => {\n const next = getTargetsPerRow(width);\n return current === next ? current : next;\n });\n };\n\n const updateFromContainer = () => {\n const width = containerRef.current?.clientWidth;\n if (typeof width === 'number' && width > 0) {\n updateTargetsPerRow(width);\n }\n };\n\n updateFromContainer();\n\n const resizeObserver =\n typeof ResizeObserver !== 'undefined'\n ? new ResizeObserver((entries) => {\n const entry = entries[0];\n if (entry) updateTargetsPerRow(entry.contentRect.width);\n })\n : null;\n\n if (resizeObserver && containerRef.current) {\n resizeObserver.observe(containerRef.current);\n } else {\n window.addEventListener('resize', updateFromContainer);\n }\n\n return () => {\n if (!resizeObserver) {\n window.removeEventListener('resize', updateFromContainer);\n }\n resizeObserver?.disconnect();\n };\n }, []);\n\n const { nodes: initialNodes, edges: initialEdges } = useMemo(\n () => buildGraphElements(targets, connections, targetsPerRow, onNodeClick),\n [targets, connections, targetsPerRow, onNodeClick]\n );\n\n const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes);\n const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges);\n const [selectedConnection, setSelectedConnection] = useState<GraphConnection | null>(null);\n const [permSaved, setPermSaved] = useState(false);\n\n // Re-sync nodes/edges when targets/connections change (e.g. root agent filter)\n useEffect(() => {\n const { nodes: newNodes, edges: newEdges } = buildGraphElements(\n targets,\n connections,\n targetsPerRow,\n onNodeClick\n );\n setNodes(newNodes);\n setEdges(newEdges);\n }, [targets, connections, targetsPerRow, onNodeClick, setNodes, setEdges]);\n\n const handleNodeClick = useCallback(\n (_event: React.MouseEvent, node: Node) => {\n if (!onNodeClick) return;\n\n const { entityId, nodeType } = (node.data ?? {}) as InteractiveNodeData;\n if (!entityId || !nodeType) return;\n\n onNodeClick(nodeType, entityId);\n },\n [onNodeClick]\n );\n\n const handleEdgeClick = useCallback(\n (_event: React.MouseEvent, edge: Edge) => {\n const conn = connections.find((c) => `edge-${c.id}` === edge.id);\n if (conn) setSelectedConnection(conn);\n },\n [connections]\n );\n\n const handleSavePermissions = useCallback(\n (permissions: string[], scopes: string[]) => {\n if (selectedConnection && onUpdatePermissions) {\n onUpdatePermissions(selectedConnection.id, permissions, scopes);\n }\n setSelectedConnection(null);\n setPermSaved(true);\n setTimeout(() => setPermSaved(false), 3000);\n },\n [selectedConnection, onUpdatePermissions]\n );\n\n const height = fullHeight ? '100%' : '500px';\n\n return (\n <>\n <div\n ref={containerRef}\n className=\"w-full rounded-lg border border-border-default overflow-hidden bg-bg-secondary\"\n style={{ height }}\n >\n <ReactFlow\n nodes={nodes}\n edges={edges}\n nodesDraggable={false}\n onNodesChange={onNodesChange}\n onEdgesChange={onEdgesChange}\n onNodeClick={handleNodeClick}\n onEdgeClick={handleEdgeClick}\n nodeTypes={nodeTypes}\n fitView\n fitViewOptions={{ padding: 0.2 }}\n minZoom={0.2}\n maxZoom={2}\n panOnDrag={true}\n proOptions={{ hideAttribution: true }}\n >\n <Background\n variant={BackgroundVariant.Dots}\n gap={20}\n size={1}\n className=\"!fill-text-tertiary/10\"\n />\n <Controls\n showInteractive={false}\n style={{\n background: 'var(--color-bg-primary)',\n border: '1px solid var(--color-border-default)',\n borderRadius: 8,\n boxShadow: '0 1px 4px var(--color-border-default)',\n }}\n className=\"[&_button]:!bg-[var(--color-bg-primary)] [&_button]:!border-[var(--color-border-default)] [&_button]:!fill-[var(--color-text-secondary)] [&_button:hover]:!bg-[var(--color-bg-sunken)]\"\n />\n <MiniMap\n zoomable\n pannable\n style={{\n height: 80,\n width: 120,\n background: 'var(--color-bg-primary)',\n border: '1px solid var(--color-border-default)',\n borderRadius: 8,\n }}\n maskColor=\"var(--color-bg-default)\"\n />\n </ReactFlow>\n </div>\n\n {selectedConnection && (\n <ConnectionPermissionsDialog\n connection={selectedConnection}\n availablePermissions={availablePermissions}\n availableScopes={availableScopes}\n onSave={handleSavePermissions}\n onClose={() => setSelectedConnection(null)}\n />\n )}\n\n {permSaved && (\n <div\n data-testid=\"save-toast\"\n className=\"fixed bottom-4 right-4 z-[200] flex items-center gap-2 bg-bg-elevated border border-border-default rounded-lg shadow-lg px-4 py-2.5 text-sm\"\n >\n <CheckCircle size={16} className=\"text-green-500 flex-shrink-0\" />\n <span className=\"text-text-primary\">\n {tr('vibecontrols.graph.permissionsSaved', 'Permissions saved')}\n </span>\n </div>\n )}\n </>\n );\n}\n"],"mappings":"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"}
@@ -1,19 +1,18 @@
1
1
  import { useTr as e } from "../../shared/hooks/useTr.js";
2
- import { Position as t } from "../../node_modules/@xyflow/system/dist/esm/index.js";
3
- import { Handle as n } from "../../node_modules/@xyflow/react/dist/esm/index.js";
4
- import { memo as r } from "react";
5
- import { Bot as i } from "lucide-react";
6
- import { jsx as a, jsxs as o } from "react/jsx-runtime";
2
+ import { memo as t } from "react";
3
+ import { Bot as n } from "lucide-react";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ import { Handle as a, Position as o } from "@xyflow/react";
7
6
  //#region src/components/graph/AgentNode.tsx
8
- function s({ data: r }) {
9
- let s = e(), c = r;
10
- return c.isEmpty ? /* @__PURE__ */ a("div", {
7
+ function s({ data: t }) {
8
+ let s = e(), c = t;
9
+ return c.isEmpty ? /* @__PURE__ */ r("div", {
11
10
  className: "rounded-lg border border-dashed border-border-default p-2 text-center",
12
- children: /* @__PURE__ */ a("span", {
11
+ children: /* @__PURE__ */ r("span", {
13
12
  className: "text-[10px] italic text-text-tertiary",
14
13
  children: s("vibecontrols.graph.noAgentInstalled", "No agent installed")
15
14
  })
16
- }) : /* @__PURE__ */ o("div", {
15
+ }) : /* @__PURE__ */ i("div", {
17
16
  className: "rounded-lg border border-border-default bg-bg-surface shadow-sm p-2 flex items-center gap-2 hover:shadow-md transition-shadow",
18
17
  role: c.onActivate ? "button" : void 0,
19
18
  tabIndex: c.onActivate ? 0 : void 0,
@@ -22,33 +21,33 @@ function s({ data: r }) {
22
21
  c.onActivate && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), c.onActivate());
23
22
  },
24
23
  children: [
25
- /* @__PURE__ */ a(n, {
24
+ /* @__PURE__ */ r(a, {
26
25
  type: "source",
27
- position: t.Right,
26
+ position: o.Right,
28
27
  className: "!bg-action-primary-bg !w-2 !h-2 !border-0"
29
28
  }),
30
- /* @__PURE__ */ a(i, {
29
+ /* @__PURE__ */ r(n, {
31
30
  size: 14,
32
31
  className: "text-action-primary-bg shrink-0"
33
32
  }),
34
- /* @__PURE__ */ o("div", {
33
+ /* @__PURE__ */ i("div", {
35
34
  className: "min-w-0 flex-1",
36
- children: [/* @__PURE__ */ a("div", {
35
+ children: [/* @__PURE__ */ r("div", {
37
36
  className: "text-xs font-medium text-text-primary truncate",
38
37
  children: c.name
39
- }), c.version && /* @__PURE__ */ o("div", {
38
+ }), c.version && /* @__PURE__ */ i("div", {
40
39
  className: "text-[10px] text-text-tertiary",
41
40
  children: ["v", c.version]
42
41
  })]
43
42
  }),
44
- /* @__PURE__ */ a("span", {
43
+ /* @__PURE__ */ r("span", {
45
44
  className: `w-2 h-2 rounded-full shrink-0 ${c.isActive ? "bg-status-success-bg" : "bg-bg-disabled"}`,
46
45
  title: c.isActive ? "Active" : "Offline"
47
46
  })
48
47
  ]
49
48
  });
50
49
  }
51
- var c = r(s);
50
+ var c = t(s);
52
51
  //#endregion
53
52
  export { c as AgentNode };
54
53
 
@@ -1 +1 @@
1
- {"version":3,"file":"AgentNode.js","names":[],"sources":["../../../src/components/graph/AgentNode.tsx"],"sourcesContent":["/**\n * AgentNode — React Flow custom node for an Agent (child inside a Target group).\n * Uses design tokens for seamless light/dark mode.\n */\n\nimport { memo } from 'react';\nimport { Handle, Position, type NodeProps } from '@xyflow/react';\nimport { Bot } from 'lucide-react';\nimport { useTr } from '../../shared/hooks/useTr';\n\nfunction AgentNodeComponent({ data }: NodeProps) {\n const tr = useTr();\n const d = data as {\n name: string;\n version: string;\n isActive: boolean;\n isEmpty?: boolean;\n onActivate?: () => void;\n };\n\n if (d.isEmpty) {\n return (\n <div className=\"rounded-lg border border-dashed border-border-default p-2 text-center\">\n <span className=\"text-[10px] italic text-text-tertiary\">\n {tr('vibecontrols.graph.noAgentInstalled', 'No agent installed')}\n </span>\n </div>\n );\n }\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!d.onActivate) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n d.onActivate();\n }\n };\n\n return (\n <div\n className=\"rounded-lg border border-border-default bg-bg-surface shadow-sm p-2 flex items-center gap-2 hover:shadow-md transition-shadow\"\n role={d.onActivate ? 'button' : undefined}\n tabIndex={d.onActivate ? 0 : undefined}\n aria-label={d.onActivate ? `Navigate to agent ${d.name}` : undefined}\n onKeyDown={handleKeyDown}\n >\n <Handle\n type=\"source\"\n position={Position.Right}\n className=\"!bg-action-primary-bg !w-2 !h-2 !border-0\"\n />\n\n <Bot size={14} className=\"text-action-primary-bg shrink-0\" />\n <div className=\"min-w-0 flex-1\">\n <div className=\"text-xs font-medium text-text-primary truncate\">{d.name}</div>\n {d.version && <div className=\"text-[10px] text-text-tertiary\">v{d.version}</div>}\n </div>\n <span\n className={`w-2 h-2 rounded-full shrink-0 ${d.isActive ? 'bg-status-success-bg' : 'bg-bg-disabled'}`}\n title={d.isActive ? 'Active' : 'Offline'}\n />\n </div>\n );\n}\n\nexport const AgentNode = memo(AgentNodeComponent);\n"],"mappings":";;;;;;;AAUA,SAAS,EAAmB,EAAE,WAAmB;CAC/C,IAAM,IAAK,GAAO,EACZ,IAAI;AA0BV,QAlBI,EAAE,UAEF,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,QAAD;GAAM,WAAU;aACb,EAAG,uCAAuC,qBAAqB;GAC3D,CAAA;EACH,CAAA,GAaR,kBAAC,OAAD;EACE,WAAU;EACV,MAAM,EAAE,aAAa,WAAW,KAAA;EAChC,UAAU,EAAE,aAAa,IAAI,KAAA;EAC7B,cAAY,EAAE,aAAa,qBAAqB,EAAE,SAAS,KAAA;EAC3D,YAdmB,MAA+C;AAC/D,KAAE,eACH,EAAM,QAAQ,WAAW,EAAM,QAAQ,SACzC,EAAM,gBAAgB,EACtB,EAAE,YAAY;;YAKhB;GAOE,kBAAC,GAAD;IACE,MAAK;IACL,UAAU,EAAS;IACnB,WAAU;IACV,CAAA;GAEF,kBAAC,GAAD;IAAK,MAAM;IAAI,WAAU;IAAoC,CAAA;GAC7D,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAkD,EAAE;KAAW,CAAA,EAC7E,EAAE,WAAW,kBAAC,OAAD;KAAK,WAAU;eAAf,CAAgD,KAAE,EAAE,QAAc;OAC5E;;GACN,kBAAC,QAAD;IACE,WAAW,iCAAiC,EAAE,WAAW,yBAAyB;IAClF,OAAO,EAAE,WAAW,WAAW;IAC/B,CAAA;GACE;;;AAIV,IAAa,IAAY,EAAK,EAAmB"}
1
+ {"version":3,"file":"AgentNode.js","names":[],"sources":["../../../src/components/graph/AgentNode.tsx"],"sourcesContent":["/**\n * AgentNode — React Flow custom node for an Agent (child inside a Target group).\n * Uses design tokens for seamless light/dark mode.\n */\n\nimport { memo } from 'react';\nimport { Handle, Position, type NodeProps } from '@xyflow/react';\nimport { Bot } from 'lucide-react';\nimport { useTr } from '../../shared/hooks/useTr';\n\nfunction AgentNodeComponent({ data }: NodeProps) {\n const tr = useTr();\n const d = data as {\n name: string;\n version: string;\n isActive: boolean;\n isEmpty?: boolean;\n onActivate?: () => void;\n };\n\n if (d.isEmpty) {\n return (\n <div className=\"rounded-lg border border-dashed border-border-default p-2 text-center\">\n <span className=\"text-[10px] italic text-text-tertiary\">\n {tr('vibecontrols.graph.noAgentInstalled', 'No agent installed')}\n </span>\n </div>\n );\n }\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!d.onActivate) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n d.onActivate();\n }\n };\n\n return (\n <div\n className=\"rounded-lg border border-border-default bg-bg-surface shadow-sm p-2 flex items-center gap-2 hover:shadow-md transition-shadow\"\n role={d.onActivate ? 'button' : undefined}\n tabIndex={d.onActivate ? 0 : undefined}\n aria-label={d.onActivate ? `Navigate to agent ${d.name}` : undefined}\n onKeyDown={handleKeyDown}\n >\n <Handle\n type=\"source\"\n position={Position.Right}\n className=\"!bg-action-primary-bg !w-2 !h-2 !border-0\"\n />\n\n <Bot size={14} className=\"text-action-primary-bg shrink-0\" />\n <div className=\"min-w-0 flex-1\">\n <div className=\"text-xs font-medium text-text-primary truncate\">{d.name}</div>\n {d.version && <div className=\"text-[10px] text-text-tertiary\">v{d.version}</div>}\n </div>\n <span\n className={`w-2 h-2 rounded-full shrink-0 ${d.isActive ? 'bg-status-success-bg' : 'bg-bg-disabled'}`}\n title={d.isActive ? 'Active' : 'Offline'}\n />\n </div>\n );\n}\n\nexport const AgentNode = memo(AgentNodeComponent);\n"],"mappings":";;;;;;AAUA,SAAS,EAAmB,EAAE,WAAmB;CAC/C,IAAM,IAAK,GAAO,EACZ,IAAI;AA0BV,QAlBI,EAAE,UAEF,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,QAAD;GAAM,WAAU;aACb,EAAG,uCAAuC,qBAAqB;GAC3D,CAAA;EACH,CAAA,GAaR,kBAAC,OAAD;EACE,WAAU;EACV,MAAM,EAAE,aAAa,WAAW,KAAA;EAChC,UAAU,EAAE,aAAa,IAAI,KAAA;EAC7B,cAAY,EAAE,aAAa,qBAAqB,EAAE,SAAS,KAAA;EAC3D,YAdmB,MAA+C;AAC/D,KAAE,eACH,EAAM,QAAQ,WAAW,EAAM,QAAQ,SACzC,EAAM,gBAAgB,EACtB,EAAE,YAAY;;YAKhB;GAOE,kBAAC,GAAD;IACE,MAAK;IACL,UAAU,EAAS;IACnB,WAAU;IACV,CAAA;GAEF,kBAAC,GAAD;IAAK,MAAM;IAAI,WAAU;IAAoC,CAAA;GAC7D,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAkD,EAAE;KAAW,CAAA,EAC7E,EAAE,WAAW,kBAAC,OAAD;KAAK,WAAU;eAAf,CAAgD,KAAE,EAAE,QAAc;OAC5E;;GACN,kBAAC,QAAD;IACE,WAAW,iCAAiC,EAAE,WAAW,yBAAyB;IAClF,OAAO,EAAE,WAAW,WAAW;IAC/B,CAAA;GACE;;;AAIV,IAAa,IAAY,EAAK,EAAmB"}
@@ -1,76 +1,75 @@
1
1
  import { useTr as e } from "../../shared/hooks/useTr.js";
2
- import { Position as t } from "../../node_modules/@xyflow/system/dist/esm/index.js";
3
- import { Handle as n } from "../../node_modules/@xyflow/react/dist/esm/index.js";
4
- import { memo as r } from "react";
5
- import { Laptop as i, Monitor as a, ScreenShare as o, Server as s } from "lucide-react";
6
- import { jsx as c, jsxs as l } from "react/jsx-runtime";
2
+ import { memo as t } from "react";
3
+ import { Laptop as n, Monitor as r, ScreenShare as i, Server as a } from "lucide-react";
4
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
+ import { Handle as c, Position as l } from "@xyflow/react";
7
6
  //#region src/components/graph/TargetNode.tsx
8
7
  var u = {
9
8
  DIRECT: {
10
- icon: i,
9
+ icon: n,
11
10
  badge: "bg-accent-blue-subtle text-accent-blue",
12
11
  border: "border-accent-blue/20 bg-accent-blue-subtle/50"
13
12
  },
14
13
  SSH: {
15
- icon: s,
14
+ icon: a,
16
15
  badge: "bg-status-success-bg-subtle text-status-success-text",
17
16
  border: "border-status-success-border/20 bg-status-success-bg-subtle/50"
18
17
  },
19
18
  RDP: {
20
- icon: a,
19
+ icon: r,
21
20
  badge: "bg-status-warning-bg-subtle text-status-warning-text",
22
21
  border: "border-status-warning-border/20 bg-status-warning-bg-subtle/50"
23
22
  },
24
23
  VNC: {
25
- icon: o,
24
+ icon: i,
26
25
  badge: "bg-accent-purple-subtle text-accent-purple",
27
26
  border: "border-accent-purple/20 bg-accent-purple-subtle/50"
28
27
  }
29
28
  };
30
- function d({ data: r }) {
29
+ function d({ data: t }) {
31
30
  e();
32
- let i = r, a = u[i.type] || u.DIRECT, o = a.icon, s = i.status === "connected";
33
- return /* @__PURE__ */ l("div", {
34
- className: `rounded-xl border-2 p-3 ${a.border} h-full w-full`,
35
- role: i.onActivate ? "button" : void 0,
36
- tabIndex: i.onActivate ? 0 : void 0,
37
- "aria-label": i.onActivate ? `Navigate to target ${i.name}` : void 0,
31
+ let n = t, r = u[n.type] || u.DIRECT, i = r.icon, a = n.status === "connected";
32
+ return /* @__PURE__ */ s("div", {
33
+ className: `rounded-xl border-2 p-3 ${r.border} h-full w-full`,
34
+ role: n.onActivate ? "button" : void 0,
35
+ tabIndex: n.onActivate ? 0 : void 0,
36
+ "aria-label": n.onActivate ? `Navigate to target ${n.name}` : void 0,
38
37
  onKeyDown: (e) => {
39
- i.onActivate && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), i.onActivate());
38
+ n.onActivate && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), n.onActivate());
40
39
  },
41
40
  children: [
42
- /* @__PURE__ */ c(n, {
41
+ /* @__PURE__ */ o(c, {
43
42
  type: "target",
44
- position: t.Left,
43
+ position: l.Left,
45
44
  className: "!bg-text-tertiary !w-2 !h-2 !border-0"
46
45
  }),
47
- /* @__PURE__ */ l("div", {
46
+ /* @__PURE__ */ s("div", {
48
47
  className: "flex items-center gap-2 mb-1",
49
- children: [/* @__PURE__ */ l("span", {
50
- className: `inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider rounded ${a.badge}`,
51
- children: [/* @__PURE__ */ c(o, { size: 10 }), i.type]
52
- }), /* @__PURE__ */ c("span", { className: `ml-auto w-2 h-2 rounded-full ${s ? "bg-status-success-bg" : "bg-bg-disabled"}` })]
48
+ children: [/* @__PURE__ */ s("span", {
49
+ className: `inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider rounded ${r.badge}`,
50
+ children: [/* @__PURE__ */ o(i, { size: 10 }), n.type]
51
+ }), /* @__PURE__ */ o("span", { className: `ml-auto w-2 h-2 rounded-full ${a ? "bg-status-success-bg" : "bg-bg-disabled"}` })]
53
52
  }),
54
- /* @__PURE__ */ c("div", {
53
+ /* @__PURE__ */ o("div", {
55
54
  className: "font-semibold text-sm text-text-primary truncate",
56
- children: i.name
55
+ children: n.name
57
56
  }),
58
- i.host && /* @__PURE__ */ c("div", {
57
+ n.host && /* @__PURE__ */ o("div", {
59
58
  className: "text-xs text-text-tertiary truncate",
60
- children: i.host
59
+ children: n.host
61
60
  }),
62
- /* @__PURE__ */ l("div", {
61
+ /* @__PURE__ */ s("div", {
63
62
  className: "text-[10px] text-text-tertiary mt-1",
64
63
  children: [
65
- i.agentCount,
64
+ n.agentCount,
66
65
  " agent",
67
- i.agentCount === 1 ? "" : "s"
66
+ n.agentCount === 1 ? "" : "s"
68
67
  ]
69
68
  })
70
69
  ]
71
70
  });
72
71
  }
73
- var f = r(d);
72
+ var f = t(d);
74
73
  //#endregion
75
74
  export { f as TargetNode };
76
75
 
@@ -1 +1 @@
1
- {"version":3,"file":"TargetNode.js","names":[],"sources":["../../../src/components/graph/TargetNode.tsx"],"sourcesContent":["/**\n * TargetNode — React Flow custom node for a Target (group/sub-flow container).\n * Uses design tokens for seamless light/dark mode.\n */\n\nimport { memo } from 'react';\nimport { Handle, Position, type NodeProps } from '@xyflow/react';\nimport { Server, Monitor, ScreenShare, Laptop } from 'lucide-react';\nimport { useTr } from '../../shared/hooks/useTr';\n\nconst typeConfig: Record<string, { icon: typeof Server; badge: string; border: string }> = {\n DIRECT: {\n icon: Laptop,\n badge: 'bg-accent-blue-subtle text-accent-blue',\n border: 'border-accent-blue/20 bg-accent-blue-subtle/50',\n },\n SSH: {\n icon: Server,\n badge: 'bg-status-success-bg-subtle text-status-success-text',\n border: 'border-status-success-border/20 bg-status-success-bg-subtle/50',\n },\n RDP: {\n icon: Monitor,\n badge: 'bg-status-warning-bg-subtle text-status-warning-text',\n border: 'border-status-warning-border/20 bg-status-warning-bg-subtle/50',\n },\n VNC: {\n icon: ScreenShare,\n badge: 'bg-accent-purple-subtle text-accent-purple',\n border: 'border-accent-purple/20 bg-accent-purple-subtle/50',\n },\n};\n\nfunction TargetNodeComponent({ data }: NodeProps) {\n const tr = useTr();\n const d = data as {\n name: string;\n type: string;\n status: string;\n host?: string;\n agentCount: number;\n onActivate?: () => void;\n };\n const config = typeConfig[d.type] || typeConfig.DIRECT;\n const Icon = config.icon;\n const isConnected = d.status === 'connected';\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!d.onActivate) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n d.onActivate();\n }\n };\n\n return (\n <div\n className={`rounded-xl border-2 p-3 ${config.border} h-full w-full`}\n role={d.onActivate ? 'button' : undefined}\n tabIndex={d.onActivate ? 0 : undefined}\n aria-label={d.onActivate ? `Navigate to target ${d.name}` : undefined}\n onKeyDown={handleKeyDown}\n >\n <Handle\n type=\"target\"\n position={Position.Left}\n className=\"!bg-text-tertiary !w-2 !h-2 !border-0\"\n />\n\n <div className=\"flex items-center gap-2 mb-1\">\n <span\n className={`inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider rounded ${config.badge}`}\n >\n <Icon size={10} />\n {d.type}\n </span>\n <span\n className={`ml-auto w-2 h-2 rounded-full ${isConnected ? 'bg-status-success-bg' : 'bg-bg-disabled'}`}\n />\n </div>\n <div className=\"font-semibold text-sm text-text-primary truncate\">{d.name}</div>\n {d.host && <div className=\"text-xs text-text-tertiary truncate\">{d.host}</div>}\n <div className=\"text-[10px] text-text-tertiary mt-1\">\n {d.agentCount} agent{d.agentCount !== 1 ? 's' : ''}\n </div>\n </div>\n );\n}\n\nexport const TargetNode = memo(TargetNodeComponent);\n"],"mappings":";;;;;;;AAUA,IAAM,IAAqF;CACzF,QAAQ;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACT;CACD,KAAK;EACH,MAAM;EACN,OAAO;EACP,QAAQ;EACT;CACD,KAAK;EACH,MAAM;EACN,OAAO;EACP,QAAQ;EACT;CACD,KAAK;EACH,MAAM;EACN,OAAO;EACP,QAAQ;EACT;CACF;AAED,SAAS,EAAoB,EAAE,WAAmB;AACrC,IAAO;CAClB,IAAM,IAAI,GAQJ,IAAS,EAAW,EAAE,SAAS,EAAW,QAC1C,IAAO,EAAO,MACd,IAAc,EAAE,WAAW;AAUjC,QACE,kBAAC,OAAD;EACE,WAAW,2BAA2B,EAAO,OAAO;EACpD,MAAM,EAAE,aAAa,WAAW,KAAA;EAChC,UAAU,EAAE,aAAa,IAAI,KAAA;EAC7B,cAAY,EAAE,aAAa,sBAAsB,EAAE,SAAS,KAAA;EAC5D,YAdmB,MAA+C;AAC/D,KAAE,eACH,EAAM,QAAQ,WAAW,EAAM,QAAQ,SACzC,EAAM,gBAAgB,EACtB,EAAE,YAAY;;YAKhB;GAOE,kBAAC,GAAD;IACE,MAAK;IACL,UAAU,EAAS;IACnB,WAAU;IACV,CAAA;GAEF,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD;KACE,WAAW,uGAAuG,EAAO;eAD3H,CAGE,kBAAC,GAAD,EAAM,MAAM,IAAM,CAAA,EACjB,EAAE,KACE;QACP,kBAAC,QAAD,EACE,WAAW,gCAAgC,IAAc,yBAAyB,oBAClF,CAAA,CACE;;GACN,kBAAC,OAAD;IAAK,WAAU;cAAoD,EAAE;IAAW,CAAA;GAC/E,EAAE,QAAQ,kBAAC,OAAD;IAAK,WAAU;cAAuC,EAAE;IAAW,CAAA;GAC9E,kBAAC,OAAD;IAAK,WAAU;cAAf;KACG,EAAE;KAAW;KAAO,EAAE,eAAe,IAAU,KAAN;KACtC;;GACF;;;AAIV,IAAa,IAAa,EAAK,EAAoB"}
1
+ {"version":3,"file":"TargetNode.js","names":[],"sources":["../../../src/components/graph/TargetNode.tsx"],"sourcesContent":["/**\n * TargetNode — React Flow custom node for a Target (group/sub-flow container).\n * Uses design tokens for seamless light/dark mode.\n */\n\nimport { memo } from 'react';\nimport { Handle, Position, type NodeProps } from '@xyflow/react';\nimport { Server, Monitor, ScreenShare, Laptop } from 'lucide-react';\nimport { useTr } from '../../shared/hooks/useTr';\n\nconst typeConfig: Record<string, { icon: typeof Server; badge: string; border: string }> = {\n DIRECT: {\n icon: Laptop,\n badge: 'bg-accent-blue-subtle text-accent-blue',\n border: 'border-accent-blue/20 bg-accent-blue-subtle/50',\n },\n SSH: {\n icon: Server,\n badge: 'bg-status-success-bg-subtle text-status-success-text',\n border: 'border-status-success-border/20 bg-status-success-bg-subtle/50',\n },\n RDP: {\n icon: Monitor,\n badge: 'bg-status-warning-bg-subtle text-status-warning-text',\n border: 'border-status-warning-border/20 bg-status-warning-bg-subtle/50',\n },\n VNC: {\n icon: ScreenShare,\n badge: 'bg-accent-purple-subtle text-accent-purple',\n border: 'border-accent-purple/20 bg-accent-purple-subtle/50',\n },\n};\n\nfunction TargetNodeComponent({ data }: NodeProps) {\n const tr = useTr();\n const d = data as {\n name: string;\n type: string;\n status: string;\n host?: string;\n agentCount: number;\n onActivate?: () => void;\n };\n const config = typeConfig[d.type] || typeConfig.DIRECT;\n const Icon = config.icon;\n const isConnected = d.status === 'connected';\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (!d.onActivate) return;\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n d.onActivate();\n }\n };\n\n return (\n <div\n className={`rounded-xl border-2 p-3 ${config.border} h-full w-full`}\n role={d.onActivate ? 'button' : undefined}\n tabIndex={d.onActivate ? 0 : undefined}\n aria-label={d.onActivate ? `Navigate to target ${d.name}` : undefined}\n onKeyDown={handleKeyDown}\n >\n <Handle\n type=\"target\"\n position={Position.Left}\n className=\"!bg-text-tertiary !w-2 !h-2 !border-0\"\n />\n\n <div className=\"flex items-center gap-2 mb-1\">\n <span\n className={`inline-flex items-center gap-1 px-1.5 py-0.5 text-[10px] font-bold uppercase tracking-wider rounded ${config.badge}`}\n >\n <Icon size={10} />\n {d.type}\n </span>\n <span\n className={`ml-auto w-2 h-2 rounded-full ${isConnected ? 'bg-status-success-bg' : 'bg-bg-disabled'}`}\n />\n </div>\n <div className=\"font-semibold text-sm text-text-primary truncate\">{d.name}</div>\n {d.host && <div className=\"text-xs text-text-tertiary truncate\">{d.host}</div>}\n <div className=\"text-[10px] text-text-tertiary mt-1\">\n {d.agentCount} agent{d.agentCount !== 1 ? 's' : ''}\n </div>\n </div>\n );\n}\n\nexport const TargetNode = memo(TargetNodeComponent);\n"],"mappings":";;;;;;AAUA,IAAM,IAAqF;CACzF,QAAQ;EACN,MAAM;EACN,OAAO;EACP,QAAQ;EACT;CACD,KAAK;EACH,MAAM;EACN,OAAO;EACP,QAAQ;EACT;CACD,KAAK;EACH,MAAM;EACN,OAAO;EACP,QAAQ;EACT;CACD,KAAK;EACH,MAAM;EACN,OAAO;EACP,QAAQ;EACT;CACF;AAED,SAAS,EAAoB,EAAE,WAAmB;AACrC,IAAO;CAClB,IAAM,IAAI,GAQJ,IAAS,EAAW,EAAE,SAAS,EAAW,QAC1C,IAAO,EAAO,MACd,IAAc,EAAE,WAAW;AAUjC,QACE,kBAAC,OAAD;EACE,WAAW,2BAA2B,EAAO,OAAO;EACpD,MAAM,EAAE,aAAa,WAAW,KAAA;EAChC,UAAU,EAAE,aAAa,IAAI,KAAA;EAC7B,cAAY,EAAE,aAAa,sBAAsB,EAAE,SAAS,KAAA;EAC5D,YAdmB,MAA+C;AAC/D,KAAE,eACH,EAAM,QAAQ,WAAW,EAAM,QAAQ,SACzC,EAAM,gBAAgB,EACtB,EAAE,YAAY;;YAKhB;GAOE,kBAAC,GAAD;IACE,MAAK;IACL,UAAU,EAAS;IACnB,WAAU;IACV,CAAA;GAEF,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,QAAD;KACE,WAAW,uGAAuG,EAAO;eAD3H,CAGE,kBAAC,GAAD,EAAM,MAAM,IAAM,CAAA,EACjB,EAAE,KACE;QACP,kBAAC,QAAD,EACE,WAAW,gCAAgC,IAAc,yBAAyB,oBAClF,CAAA,CACE;;GACN,kBAAC,OAAD;IAAK,WAAU;cAAoD,EAAE;IAAW,CAAA;GAC/E,EAAE,QAAQ,kBAAC,OAAD;IAAK,WAAU;cAAuC,EAAE;IAAW,CAAA;GAC9E,kBAAC,OAAD;IAAK,WAAU;cAAf;KACG,EAAE;KAAW;KAAO,EAAE,eAAe,IAAU,KAAN;KACtC;;GACF;;;AAIV,IAAa,IAAa,EAAK,EAAoB"}