@burdenoff/microfe-vibecontrols 2026.511.1 → 2026.513.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 +60 -47
  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
@@ -4,74 +4,74 @@ import { ErrorState as n } from "../shared/ErrorState.js";
4
4
  import { EmptyState as r } from "../shared/EmptyState.js";
5
5
  import { Card as i } from "../shared/Card.js";
6
6
  import "../shared/index.js";
7
- import { fetchApiDescriptor as a } from "../../services/aiApi.js";
8
- import { useCallback as o, useEffect as s, useState as c } from "react";
9
- import { Check as l, Copy as u, Play as d, Terminal as f } from "lucide-react";
10
- import { getStoredAuthToken as p, getStoredWorkspaceToken as m } from "@burdenoff/fe-libs/shared/graphql";
11
- import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
7
+ import { agentApiPath as a, fetchApiDescriptor as o } from "../../services/aiApi.js";
8
+ import { useCallback as s, useEffect as c, useState as l } from "react";
9
+ import { Check as u, Copy as d, Play as f, Terminal as p } from "lucide-react";
10
+ import { getStoredAuthToken as m, getStoredWorkspaceToken as h } from "@burdenoff/fe-libs/shared/graphql";
11
+ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
12
12
  //#region src/components/ai/AIPlaygroundTab.tsx
13
- function v({ agentId: v }) {
14
- let y = e(), [b, x] = c([]), [S, C] = c(!0), [w, T] = c(null), [E, D] = c(null), [O, k] = c({}), [A, j] = c(!1), [M, N] = c(null), [P, F] = c(null), [I, L] = c(!1), R = o(async () => {
15
- C(!0), T(null);
13
+ function y({ agent: y }) {
14
+ let b = e(), [x, S] = l([]), [C, w] = l(!0), [T, E] = l(null), [D, O] = l(null), [k, A] = l({}), [j, M] = l(!1), [N, P] = l(null), [F, I] = l(null), [L, R] = l(!1), z = s(async () => {
15
+ w(!0), E(null);
16
16
  try {
17
- let e = await a(v);
18
- x(e), e.length > 0 && z(e[0]);
17
+ let e = await o(y);
18
+ S(e), e.length > 0 && B(e[0]);
19
19
  } catch (e) {
20
- T(e instanceof Error ? e.message : "Failed to load API descriptor");
20
+ E(e instanceof Error ? e.message : "Failed to load API descriptor");
21
21
  } finally {
22
- C(!1);
22
+ w(!1);
23
23
  }
24
- }, [v]);
25
- s(() => {
26
- R();
27
- }, [R]);
28
- let z = (e) => {
29
- D(e);
24
+ }, [y]);
25
+ c(() => {
26
+ z();
27
+ }, [z]);
28
+ let B = (e) => {
29
+ O(e);
30
30
  let t = {};
31
31
  e.parameters?.forEach((e) => {
32
32
  t[e.name] = "";
33
- }), k(t), N(null), F(null);
34
- }, B = async () => {
35
- if (E) {
36
- j(!0), N(null), F(null);
33
+ }), A(t), P(null), I(null);
34
+ }, V = async () => {
35
+ if (D) {
36
+ M(!0), P(null), I(null);
37
37
  try {
38
- let e = E.path, t = {};
39
- for (let [n, r] of Object.entries(O)) e.includes(`:${n}`) ? e = e.replace(`:${n}`, encodeURIComponent(r)) : r && (t[n] = r);
40
- let n = E.method.toUpperCase(), r = n === "POST" || n === "PATCH" || n === "PUT", i = p(), a = m(), o = new URLSearchParams(window.location.search).get("workspace") || "", s = await (await fetch("/workspaces/graphql", {
38
+ let e = D.path, t = {};
39
+ for (let [n, r] of Object.entries(k)) e.includes(`:${n}`) ? e = e.replace(`:${n}`, encodeURIComponent(r)) : r && (t[n] = r);
40
+ let n = D.method.toUpperCase(), r = n === "POST" || n === "PATCH" || n === "PUT", i = m(), o = h(), s = new URLSearchParams(window.location.search).get("workspace") || "", c = await (await fetch("/workspaces/graphql", {
41
41
  method: "POST",
42
42
  headers: {
43
43
  "Content-Type": "application/json",
44
44
  ...i ? { Authorization: `Bearer ${i}` } : {},
45
- ...a ? { "X-Workspace-Authorization": `Bearer ${a}` } : {},
46
- ...o ? { "x-workspace-id": o } : {}
45
+ ...o ? { "X-Workspace-Authorization": `Bearer ${o}` } : {},
46
+ ...s ? { "x-workspace-id": s } : {}
47
47
  },
48
48
  body: JSON.stringify({
49
49
  query: "mutation AgentAiMutate($agentId: ID!, $path: String!, $method: String!, $body: JSON) {\n agentAiMutate(agentId: $agentId, path: $path, method: $method, body: $body) {\n ok\n status\n data\n text\n error\n }\n }",
50
50
  variables: {
51
- agentId: v,
52
- path: e,
51
+ agentId: y.id,
52
+ path: a(y.profile, e),
53
53
  method: n,
54
54
  body: r && Object.keys(t).length > 0 ? t : null
55
55
  }
56
56
  })
57
- })).json(), c = s.data?.agentAiMutate;
58
- if (!c) throw Error(s.errors?.[0]?.message || "Request failed");
59
- F(c.status), N(JSON.stringify(c.data ?? (c.text ? { text: c.text } : { error: c.error }), null, 2));
57
+ })).json(), l = c.data?.agentAiMutate;
58
+ if (!l) throw Error(c.errors?.[0]?.message || "Request failed");
59
+ I(l.status), P(JSON.stringify(l.data ?? (l.text ? { text: l.text } : { error: l.error }), null, 2));
60
60
  } catch (e) {
61
- N(`Error: ${e instanceof Error ? e.message : "Request failed"}`), F(0);
61
+ P(`Error: ${e instanceof Error ? e.message : "Request failed"}`), I(0);
62
62
  } finally {
63
- j(!1);
63
+ M(!1);
64
64
  }
65
65
  }
66
- }, V = () => {
67
- if (!E) return "";
68
- let e = E.path, t = {};
69
- for (let [n, r] of Object.entries(O)) e.includes(`:${n}`) ? e = e.replace(`:${n}`, encodeURIComponent(r || `{${n}}`)) : r && (t[n] = r);
70
- let n = E.method.toUpperCase();
66
+ }, H = () => {
67
+ if (!D) return "";
68
+ let e = D.path, t = {};
69
+ for (let [n, r] of Object.entries(k)) e.includes(`:${n}`) ? e = e.replace(`:${n}`, encodeURIComponent(r || `{${n}}`)) : r && (t[n] = r);
70
+ let n = D.method.toUpperCase(), r = a(y.profile, e);
71
71
  return `mutation AgentAiMutate {
72
72
  agentAiMutate(
73
- agentId: "${v}"
74
- path: "${e}"
73
+ agentId: "${y.id}"
74
+ path: "${r}"
75
75
  method: "${n}"
76
76
  body: ${Object.keys(t).length > 0 ? JSON.stringify(t) : "null"}
77
77
  ) {
@@ -82,34 +82,34 @@ function v({ agentId: v }) {
82
82
  }
83
83
  }`;
84
84
  };
85
- return S ? /* @__PURE__ */ g(t, { message: y("vibecontrols.ai.playground.loading", "Loading API descriptor...") }) : w ? /* @__PURE__ */ g(n, {
86
- title: y("vibecontrols.ai.playground.loadFailed", "Failed to load API"),
87
- message: w,
88
- onRetry: R
89
- }) : b.length === 0 ? /* @__PURE__ */ g(r, {
90
- icon: /* @__PURE__ */ g(f, { className: "w-8 h-8 text-text-secondary" }),
91
- title: y("vibecontrols.ai.playground.noEndpoints", "No API endpoints"),
92
- description: y("vibecontrols.ai.playground.noEndpointsDesc", "The agent does not expose any AI API endpoints")
93
- }) : /* @__PURE__ */ _("div", {
85
+ return C ? /* @__PURE__ */ _(t, { message: b("vibecontrols.ai.playground.loading", "Loading API descriptor...") }) : T ? /* @__PURE__ */ _(n, {
86
+ title: b("vibecontrols.ai.playground.loadFailed", "Failed to load API"),
87
+ message: T,
88
+ onRetry: z
89
+ }) : x.length === 0 ? /* @__PURE__ */ _(r, {
90
+ icon: /* @__PURE__ */ _(p, { className: "w-8 h-8 text-text-secondary" }),
91
+ title: b("vibecontrols.ai.playground.noEndpoints", "No API endpoints"),
92
+ description: b("vibecontrols.ai.playground.noEndpointsDesc", "The agent does not expose any AI API endpoints")
93
+ }) : /* @__PURE__ */ v("div", {
94
94
  className: "grid grid-cols-1 lg:grid-cols-2 gap-6",
95
- children: [/* @__PURE__ */ _("div", {
95
+ children: [/* @__PURE__ */ v("div", {
96
96
  className: "space-y-4",
97
97
  children: [
98
- /* @__PURE__ */ _(i, {
98
+ /* @__PURE__ */ v(i, {
99
99
  className: "p-4",
100
100
  children: [
101
- /* @__PURE__ */ g("h3", {
101
+ /* @__PURE__ */ _("h3", {
102
102
  className: "font-semibold text-text-primary mb-3",
103
- children: y("vibecontrols.ai.playground.endpoint", "Endpoint")
103
+ children: b("vibecontrols.ai.playground.endpoint", "Endpoint")
104
104
  }),
105
- /* @__PURE__ */ g("select", {
106
- value: E?.id ?? "",
105
+ /* @__PURE__ */ _("select", {
106
+ value: D?.id ?? "",
107
107
  onChange: (e) => {
108
- let t = b.find((t) => t.id === e.target.value);
109
- t && z(t);
108
+ let t = x.find((t) => t.id === e.target.value);
109
+ t && B(t);
110
110
  },
111
111
  className: "w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary text-sm",
112
- children: b.map((e) => /* @__PURE__ */ _("option", {
112
+ children: x.map((e) => /* @__PURE__ */ v("option", {
113
113
  value: e.id,
114
114
  children: [
115
115
  e.method.toUpperCase(),
@@ -120,29 +120,29 @@ function v({ agentId: v }) {
120
120
  ]
121
121
  }, e.id))
122
122
  }),
123
- E?.description && /* @__PURE__ */ g("p", {
123
+ D?.description && /* @__PURE__ */ _("p", {
124
124
  className: "mt-2 text-xs text-text-secondary",
125
- children: E.description
125
+ children: D.description
126
126
  })
127
127
  ]
128
128
  }),
129
- E?.parameters && E.parameters.length > 0 && /* @__PURE__ */ _(i, {
129
+ D?.parameters && D.parameters.length > 0 && /* @__PURE__ */ v(i, {
130
130
  className: "p-4",
131
- children: [/* @__PURE__ */ g("h3", {
131
+ children: [/* @__PURE__ */ _("h3", {
132
132
  className: "font-semibold text-text-primary mb-3",
133
- children: y("vibecontrols.ai.playground.parameters", "Parameters")
134
- }), /* @__PURE__ */ g("div", {
133
+ children: b("vibecontrols.ai.playground.parameters", "Parameters")
134
+ }), /* @__PURE__ */ _("div", {
135
135
  className: "space-y-3",
136
- children: E.parameters.map((e) => /* @__PURE__ */ _("div", { children: [
137
- /* @__PURE__ */ _("label", {
136
+ children: D.parameters.map((e) => /* @__PURE__ */ v("div", { children: [
137
+ /* @__PURE__ */ v("label", {
138
138
  className: "flex items-center gap-1.5 text-sm font-medium text-text-primary mb-1",
139
139
  children: [
140
140
  e.name,
141
- e.required && /* @__PURE__ */ g("span", {
141
+ e.required && /* @__PURE__ */ _("span", {
142
142
  className: "text-status-error-text text-xs",
143
143
  children: "*"
144
144
  }),
145
- /* @__PURE__ */ _("span", {
145
+ /* @__PURE__ */ v("span", {
146
146
  className: "text-xs text-text-muted font-normal",
147
147
  children: [
148
148
  "(",
@@ -152,14 +152,14 @@ function v({ agentId: v }) {
152
152
  })
153
153
  ]
154
154
  }),
155
- e.description && /* @__PURE__ */ g("p", {
155
+ e.description && /* @__PURE__ */ _("p", {
156
156
  className: "text-xs text-text-secondary mb-1",
157
157
  children: e.description
158
158
  }),
159
- /* @__PURE__ */ g("input", {
159
+ /* @__PURE__ */ _("input", {
160
160
  type: "text",
161
- value: O[e.name] ?? "",
162
- onChange: (t) => k((n) => ({
161
+ value: k[e.name] ?? "",
162
+ onChange: (t) => A((n) => ({
163
163
  ...n,
164
164
  [e.name]: t.target.value
165
165
  })),
@@ -169,54 +169,54 @@ function v({ agentId: v }) {
169
169
  ] }, e.name))
170
170
  })]
171
171
  }),
172
- /* @__PURE__ */ _("button", {
173
- onClick: B,
174
- disabled: A,
172
+ /* @__PURE__ */ v("button", {
173
+ onClick: V,
174
+ disabled: j,
175
175
  className: "w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50 text-sm font-medium",
176
- children: [/* @__PURE__ */ g(d, { className: "w-4 h-4" }), A ? y("vibecontrols.ai.playground.executing", "Executing...") : y("vibecontrols.ai.playground.execute", "Execute")]
176
+ children: [/* @__PURE__ */ _(f, { className: "w-4 h-4" }), j ? b("vibecontrols.ai.playground.executing", "Executing...") : b("vibecontrols.ai.playground.execute", "Execute")]
177
177
  }),
178
- /* @__PURE__ */ _(i, {
178
+ /* @__PURE__ */ v(i, {
179
179
  className: "p-4",
180
- children: [/* @__PURE__ */ _("div", {
180
+ children: [/* @__PURE__ */ v("div", {
181
181
  className: "mb-2 flex flex-wrap items-center justify-between gap-2",
182
- children: [/* @__PURE__ */ g("h3", {
182
+ children: [/* @__PURE__ */ _("h3", {
183
183
  className: "text-xs font-semibold text-text-secondary uppercase tracking-wide",
184
184
  children: "cURL"
185
- }), /* @__PURE__ */ g("button", {
185
+ }), /* @__PURE__ */ _("button", {
186
186
  onClick: () => {
187
- navigator.clipboard.writeText(V()), L(!0), setTimeout(() => L(!1), 2e3);
187
+ navigator.clipboard.writeText(H()), R(!0), setTimeout(() => R(!1), 2e3);
188
188
  },
189
189
  className: "flex items-center gap-1 px-2 py-1 text-xs text-text-secondary hover:bg-bg-sunken rounded transition-colors",
190
- children: I ? /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(l, { className: "w-3 h-3 text-status-success-text" }), " Copied"] }) : /* @__PURE__ */ _(h, { children: [/* @__PURE__ */ g(u, { className: "w-3 h-3" }), " Copy"] })
190
+ children: L ? /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(u, { className: "w-3 h-3 text-status-success-text" }), " Copied"] }) : /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _(d, { className: "w-3 h-3" }), " Copy"] })
191
191
  })]
192
- }), /* @__PURE__ */ g("pre", {
192
+ }), /* @__PURE__ */ _("pre", {
193
193
  className: "text-xs text-text-primary bg-bg-sunken rounded p-3 overflow-x-auto whitespace-pre-wrap font-mono",
194
- children: V()
194
+ children: H()
195
195
  })]
196
196
  })
197
197
  ]
198
- }), /* @__PURE__ */ g("div", { children: /* @__PURE__ */ _(i, {
198
+ }), /* @__PURE__ */ _("div", { children: /* @__PURE__ */ v(i, {
199
199
  className: "p-4 h-full",
200
- children: [/* @__PURE__ */ _("div", {
200
+ children: [/* @__PURE__ */ v("div", {
201
201
  className: "mb-3 flex flex-wrap items-center justify-between gap-2",
202
- children: [/* @__PURE__ */ g("h3", {
202
+ children: [/* @__PURE__ */ _("h3", {
203
203
  className: "font-semibold text-text-primary",
204
- children: y("vibecontrols.ai.playground.response", "Response")
205
- }), P !== null && /* @__PURE__ */ g("span", {
206
- className: `px-2 py-0.5 text-xs rounded font-mono ${P >= 200 && P < 300 ? "bg-status-success-bg text-status-success-text" : P >= 400 ? "bg-status-error-bg text-status-error-text" : "bg-status-warning-bg text-status-warning-text"}`,
207
- children: P
204
+ children: b("vibecontrols.ai.playground.response", "Response")
205
+ }), F !== null && /* @__PURE__ */ _("span", {
206
+ className: `px-2 py-0.5 text-xs rounded font-mono ${F >= 200 && F < 300 ? "bg-status-success-bg text-status-success-text" : F >= 400 ? "bg-status-error-bg text-status-error-text" : "bg-status-warning-bg text-status-warning-text"}`,
207
+ children: F
208
208
  })]
209
- }), M === null ? /* @__PURE__ */ g("div", {
209
+ }), N === null ? /* @__PURE__ */ _("div", {
210
210
  className: "flex items-center justify-center h-48 text-sm text-text-secondary",
211
- children: y("vibecontrols.ai.playground.executeToSee", "Execute a request to see the response")
212
- }) : /* @__PURE__ */ g("pre", {
211
+ children: b("vibecontrols.ai.playground.executeToSee", "Execute a request to see the response")
212
+ }) : /* @__PURE__ */ _("pre", {
213
213
  className: "text-xs text-text-primary bg-bg-sunken rounded p-3 overflow-auto max-h-[60vh] whitespace-pre-wrap font-mono",
214
- children: M
214
+ children: N
215
215
  })]
216
216
  }) })]
217
217
  });
218
218
  }
219
219
  //#endregion
220
- export { v as AIPlaygroundTab };
220
+ export { y as AIPlaygroundTab };
221
221
 
222
222
  //# sourceMappingURL=AIPlaygroundTab.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AIPlaygroundTab.js","names":[],"sources":["../../../src/components/ai/AIPlaygroundTab.tsx"],"sourcesContent":["import { useState, useEffect, useCallback } from 'react';\nimport { Play, Copy, Check, Terminal } from 'lucide-react';\nimport { Card, LoadingState, ErrorState, EmptyState } from '@/components/shared';\nimport type { AIApiEndpoint } from '@/services/aiApi';\nimport { fetchApiDescriptor } from '@/services/aiApi';\nimport { getStoredAuthToken, getStoredWorkspaceToken } from '@burdenoff/fe-libs/shared/graphql';\nimport { useTr } from '../../shared/hooks/useTr';\n\ninterface AIPlaygroundTabProps {\n agentId: string;\n}\n\nexport function AIPlaygroundTab({ agentId }: AIPlaygroundTabProps) {\n const tr = useTr();\n const [endpoints, setEndpoints] = useState<AIApiEndpoint[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n const [selectedEndpoint, setSelectedEndpoint] = useState<AIApiEndpoint | null>(null);\n const [params, setParams] = useState<Record<string, string>>({});\n const [executing, setExecuting] = useState(false);\n const [response, setResponse] = useState<string | null>(null);\n const [responseStatus, setResponseStatus] = useState<number | null>(null);\n const [copied, setCopied] = useState(false);\n\n const loadEndpoints = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const result = await fetchApiDescriptor(agentId);\n setEndpoints(result);\n if (result.length > 0) {\n selectEndpoint(result[0]);\n }\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load API descriptor');\n } finally {\n setLoading(false);\n }\n }, [agentId]);\n\n useEffect(() => {\n loadEndpoints();\n }, [loadEndpoints]);\n\n const selectEndpoint = (ep: AIApiEndpoint) => {\n setSelectedEndpoint(ep);\n const newParams: Record<string, string> = {};\n ep.parameters?.forEach((p) => {\n newParams[p.name] = '';\n });\n setParams(newParams);\n setResponse(null);\n setResponseStatus(null);\n };\n\n const handleExecute = async () => {\n if (!selectedEndpoint) return;\n setExecuting(true);\n setResponse(null);\n setResponseStatus(null);\n try {\n // Build path with path params replaced\n let path = selectedEndpoint.path;\n const bodyParams: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(params)) {\n if (path.includes(`:${key}`)) {\n path = path.replace(`:${key}`, encodeURIComponent(value));\n } else if (value) {\n bodyParams[key] = value;\n }\n }\n\n const method = selectedEndpoint.method.toUpperCase();\n const hasBody = method === 'POST' || method === 'PATCH' || method === 'PUT';\n\n const authToken = getStoredAuthToken();\n const workspaceToken = getStoredWorkspaceToken();\n const workspaceId = new URLSearchParams(window.location.search).get('workspace') || '';\n const graphRes = await fetch('/workspaces/graphql', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...(authToken ? { Authorization: `Bearer ${authToken}` } : {}),\n ...(workspaceToken ? { 'X-Workspace-Authorization': `Bearer ${workspaceToken}` } : {}),\n ...(workspaceId ? { 'x-workspace-id': workspaceId } : {}),\n },\n body: JSON.stringify({\n query: `mutation AgentAiMutate($agentId: ID!, $path: String!, $method: String!, $body: JSON) {\n agentAiMutate(agentId: $agentId, path: $path, method: $method, body: $body) {\n ok\n status\n data\n text\n error\n }\n }`,\n variables: {\n agentId,\n path,\n method,\n body: hasBody && Object.keys(bodyParams).length > 0 ? bodyParams : null,\n },\n }),\n });\n\n const graphJson = await graphRes.json();\n const proxy = graphJson.data?.agentAiMutate;\n if (!proxy) throw new Error(graphJson.errors?.[0]?.message || 'Request failed');\n\n setResponseStatus(proxy.status);\n setResponse(\n JSON.stringify(\n proxy.data ?? (proxy.text ? { text: proxy.text } : { error: proxy.error }),\n null,\n 2\n )\n );\n } catch (err) {\n setResponse(`Error: ${err instanceof Error ? err.message : 'Request failed'}`);\n setResponseStatus(0);\n } finally {\n setExecuting(false);\n }\n };\n\n const getCurlCommand = (): string => {\n if (!selectedEndpoint) return '';\n let path = selectedEndpoint.path;\n const bodyParams: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(params)) {\n if (path.includes(`:${key}`)) {\n path = path.replace(`:${key}`, encodeURIComponent(value || `{${key}}`));\n } else if (value) {\n bodyParams[key] = value;\n }\n }\n\n const method = selectedEndpoint.method.toUpperCase();\n return `mutation AgentAiMutate {\n agentAiMutate(\n agentId: \"${agentId}\"\n path: \"${path}\"\n method: \"${method}\"\n body: ${Object.keys(bodyParams).length > 0 ? JSON.stringify(bodyParams) : 'null'}\n ) {\n ok\n status\n data\n error\n }\n}`;\n };\n\n const handleCopy = () => {\n navigator.clipboard.writeText(getCurlCommand());\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n\n if (loading)\n return (\n <LoadingState\n message={tr('vibecontrols.ai.playground.loading', 'Loading API descriptor...')}\n />\n );\n if (error)\n return (\n <ErrorState\n title={tr('vibecontrols.ai.playground.loadFailed', 'Failed to load API')}\n message={error}\n onRetry={loadEndpoints}\n />\n );\n if (endpoints.length === 0) {\n return (\n <EmptyState\n icon={<Terminal className=\"w-8 h-8 text-text-secondary\" />}\n title={tr('vibecontrols.ai.playground.noEndpoints', 'No API endpoints')}\n description={tr(\n 'vibecontrols.ai.playground.noEndpointsDesc',\n 'The agent does not expose any AI API endpoints'\n )}\n />\n );\n }\n\n return (\n <div className=\"grid grid-cols-1 lg:grid-cols-2 gap-6\">\n {/* Left: Endpoint selection and params */}\n <div className=\"space-y-4\">\n <Card className=\"p-4\">\n <h3 className=\"font-semibold text-text-primary mb-3\">\n {tr('vibecontrols.ai.playground.endpoint', 'Endpoint')}\n </h3>\n <select\n value={selectedEndpoint?.id ?? ''}\n onChange={(e) => {\n const ep = endpoints.find((ep) => ep.id === e.target.value);\n if (ep) selectEndpoint(ep);\n }}\n className=\"w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary text-sm\"\n >\n {endpoints.map((ep) => (\n <option key={ep.id} value={ep.id}>\n {ep.method.toUpperCase()} {ep.path} - {ep.description}\n </option>\n ))}\n </select>\n\n {selectedEndpoint?.description && (\n <p className=\"mt-2 text-xs text-text-secondary\">{selectedEndpoint.description}</p>\n )}\n </Card>\n\n {/* Parameters */}\n {selectedEndpoint?.parameters && selectedEndpoint.parameters.length > 0 && (\n <Card className=\"p-4\">\n <h3 className=\"font-semibold text-text-primary mb-3\">\n {tr('vibecontrols.ai.playground.parameters', 'Parameters')}\n </h3>\n <div className=\"space-y-3\">\n {selectedEndpoint.parameters.map((p) => (\n <div key={p.name}>\n <label className=\"flex items-center gap-1.5 text-sm font-medium text-text-primary mb-1\">\n {p.name}\n {p.required && <span className=\"text-status-error-text text-xs\">*</span>}\n <span className=\"text-xs text-text-muted font-normal\">({p.type})</span>\n </label>\n {p.description && (\n <p className=\"text-xs text-text-secondary mb-1\">{p.description}</p>\n )}\n <input\n type=\"text\"\n value={params[p.name] ?? ''}\n onChange={(e) => setParams((prev) => ({ ...prev, [p.name]: e.target.value }))}\n className=\"w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary text-sm font-mono focus:outline-none focus:border-border-strong\"\n placeholder={p.required ? 'Required' : 'Optional'}\n />\n </div>\n ))}\n </div>\n </Card>\n )}\n\n <button\n onClick={handleExecute}\n disabled={executing}\n className=\"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50 text-sm font-medium\"\n >\n <Play className=\"w-4 h-4\" />\n {executing\n ? tr('vibecontrols.ai.playground.executing', 'Executing...')\n : tr('vibecontrols.ai.playground.execute', 'Execute')}\n </button>\n\n {/* Curl Command */}\n <Card className=\"p-4\">\n <div className=\"mb-2 flex flex-wrap items-center justify-between gap-2\">\n <h3 className=\"text-xs font-semibold text-text-secondary uppercase tracking-wide\">\n cURL\n </h3>\n <button\n onClick={handleCopy}\n className=\"flex items-center gap-1 px-2 py-1 text-xs text-text-secondary hover:bg-bg-sunken rounded transition-colors\"\n >\n {copied ? (\n <>\n <Check className=\"w-3 h-3 text-status-success-text\" /> Copied\n </>\n ) : (\n <>\n <Copy className=\"w-3 h-3\" /> Copy\n </>\n )}\n </button>\n </div>\n <pre className=\"text-xs text-text-primary bg-bg-sunken rounded p-3 overflow-x-auto whitespace-pre-wrap font-mono\">\n {getCurlCommand()}\n </pre>\n </Card>\n </div>\n\n {/* Right: Response */}\n <div>\n <Card className=\"p-4 h-full\">\n <div className=\"mb-3 flex flex-wrap items-center justify-between gap-2\">\n <h3 className=\"font-semibold text-text-primary\">\n {tr('vibecontrols.ai.playground.response', 'Response')}\n </h3>\n {responseStatus !== null && (\n <span\n className={`px-2 py-0.5 text-xs rounded font-mono ${\n responseStatus >= 200 && responseStatus < 300\n ? 'bg-status-success-bg text-status-success-text'\n : responseStatus >= 400\n ? 'bg-status-error-bg text-status-error-text'\n : 'bg-status-warning-bg text-status-warning-text'\n }`}\n >\n {responseStatus}\n </span>\n )}\n </div>\n {response === null ? (\n <div className=\"flex items-center justify-center h-48 text-sm text-text-secondary\">\n {tr(\n 'vibecontrols.ai.playground.executeToSee',\n 'Execute a request to see the response'\n )}\n </div>\n ) : (\n <pre className=\"text-xs text-text-primary bg-bg-sunken rounded p-3 overflow-auto max-h-[60vh] whitespace-pre-wrap font-mono\">\n {response}\n </pre>\n )}\n </Card>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AIPlaygroundTab.js","names":[],"sources":["../../../src/components/ai/AIPlaygroundTab.tsx"],"sourcesContent":["import { useState, useEffect, useCallback } from 'react';\nimport { Play, Copy, Check, Terminal } from 'lucide-react';\nimport { Card, LoadingState, ErrorState, EmptyState } from '@/components/shared';\nimport type { AIApiEndpoint, AgentRef } from '@/services/aiApi';\nimport { fetchApiDescriptor, agentApiPath } from '@/services/aiApi';\nimport { getStoredAuthToken, getStoredWorkspaceToken } from '@burdenoff/fe-libs/shared/graphql';\nimport { useTr } from '../../shared/hooks/useTr';\n\ninterface AIPlaygroundTabProps {\n agent: AgentRef;\n}\n\nexport function AIPlaygroundTab({ agent }: AIPlaygroundTabProps) {\n const tr = useTr();\n const [endpoints, setEndpoints] = useState<AIApiEndpoint[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n const [selectedEndpoint, setSelectedEndpoint] = useState<AIApiEndpoint | null>(null);\n const [params, setParams] = useState<Record<string, string>>({});\n const [executing, setExecuting] = useState(false);\n const [response, setResponse] = useState<string | null>(null);\n const [responseStatus, setResponseStatus] = useState<number | null>(null);\n const [copied, setCopied] = useState(false);\n\n const loadEndpoints = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const result = await fetchApiDescriptor(agent);\n setEndpoints(result);\n if (result.length > 0) {\n selectEndpoint(result[0]);\n }\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load API descriptor');\n } finally {\n setLoading(false);\n }\n }, [agent]);\n\n useEffect(() => {\n loadEndpoints();\n }, [loadEndpoints]);\n\n const selectEndpoint = (ep: AIApiEndpoint) => {\n setSelectedEndpoint(ep);\n const newParams: Record<string, string> = {};\n ep.parameters?.forEach((p) => {\n newParams[p.name] = '';\n });\n setParams(newParams);\n setResponse(null);\n setResponseStatus(null);\n };\n\n const handleExecute = async () => {\n if (!selectedEndpoint) return;\n setExecuting(true);\n setResponse(null);\n setResponseStatus(null);\n try {\n // Build path with path params replaced\n let path = selectedEndpoint.path;\n const bodyParams: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(params)) {\n if (path.includes(`:${key}`)) {\n path = path.replace(`:${key}`, encodeURIComponent(value));\n } else if (value) {\n bodyParams[key] = value;\n }\n }\n\n const method = selectedEndpoint.method.toUpperCase();\n const hasBody = method === 'POST' || method === 'PATCH' || method === 'PUT';\n\n const authToken = getStoredAuthToken();\n const workspaceToken = getStoredWorkspaceToken();\n const workspaceId = new URLSearchParams(window.location.search).get('workspace') || '';\n const graphRes = await fetch('/workspaces/graphql', {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n ...(authToken ? { Authorization: `Bearer ${authToken}` } : {}),\n ...(workspaceToken ? { 'X-Workspace-Authorization': `Bearer ${workspaceToken}` } : {}),\n ...(workspaceId ? { 'x-workspace-id': workspaceId } : {}),\n },\n body: JSON.stringify({\n query: `mutation AgentAiMutate($agentId: ID!, $path: String!, $method: String!, $body: JSON) {\n agentAiMutate(agentId: $agentId, path: $path, method: $method, body: $body) {\n ok\n status\n data\n text\n error\n }\n }`,\n variables: {\n agentId: agent.id,\n path: agentApiPath(agent.profile, path),\n method,\n body: hasBody && Object.keys(bodyParams).length > 0 ? bodyParams : null,\n },\n }),\n });\n\n const graphJson = await graphRes.json();\n const proxy = graphJson.data?.agentAiMutate;\n if (!proxy) throw new Error(graphJson.errors?.[0]?.message || 'Request failed');\n\n setResponseStatus(proxy.status);\n setResponse(\n JSON.stringify(\n proxy.data ?? (proxy.text ? { text: proxy.text } : { error: proxy.error }),\n null,\n 2\n )\n );\n } catch (err) {\n setResponse(`Error: ${err instanceof Error ? err.message : 'Request failed'}`);\n setResponseStatus(0);\n } finally {\n setExecuting(false);\n }\n };\n\n const getCurlCommand = (): string => {\n if (!selectedEndpoint) return '';\n let path = selectedEndpoint.path;\n const bodyParams: Record<string, string> = {};\n\n for (const [key, value] of Object.entries(params)) {\n if (path.includes(`:${key}`)) {\n path = path.replace(`:${key}`, encodeURIComponent(value || `{${key}}`));\n } else if (value) {\n bodyParams[key] = value;\n }\n }\n\n const method = selectedEndpoint.method.toUpperCase();\n const canonicalPath = agentApiPath(agent.profile, path);\n return `mutation AgentAiMutate {\n agentAiMutate(\n agentId: \"${agent.id}\"\n path: \"${canonicalPath}\"\n method: \"${method}\"\n body: ${Object.keys(bodyParams).length > 0 ? JSON.stringify(bodyParams) : 'null'}\n ) {\n ok\n status\n data\n error\n }\n}`;\n };\n\n const handleCopy = () => {\n navigator.clipboard.writeText(getCurlCommand());\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n };\n\n if (loading)\n return (\n <LoadingState\n message={tr('vibecontrols.ai.playground.loading', 'Loading API descriptor...')}\n />\n );\n if (error)\n return (\n <ErrorState\n title={tr('vibecontrols.ai.playground.loadFailed', 'Failed to load API')}\n message={error}\n onRetry={loadEndpoints}\n />\n );\n if (endpoints.length === 0) {\n return (\n <EmptyState\n icon={<Terminal className=\"w-8 h-8 text-text-secondary\" />}\n title={tr('vibecontrols.ai.playground.noEndpoints', 'No API endpoints')}\n description={tr(\n 'vibecontrols.ai.playground.noEndpointsDesc',\n 'The agent does not expose any AI API endpoints'\n )}\n />\n );\n }\n\n return (\n <div className=\"grid grid-cols-1 lg:grid-cols-2 gap-6\">\n {/* Left: Endpoint selection and params */}\n <div className=\"space-y-4\">\n <Card className=\"p-4\">\n <h3 className=\"font-semibold text-text-primary mb-3\">\n {tr('vibecontrols.ai.playground.endpoint', 'Endpoint')}\n </h3>\n <select\n value={selectedEndpoint?.id ?? ''}\n onChange={(e) => {\n const ep = endpoints.find((ep) => ep.id === e.target.value);\n if (ep) selectEndpoint(ep);\n }}\n className=\"w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary text-sm\"\n >\n {endpoints.map((ep) => (\n <option key={ep.id} value={ep.id}>\n {ep.method.toUpperCase()} {ep.path} - {ep.description}\n </option>\n ))}\n </select>\n\n {selectedEndpoint?.description && (\n <p className=\"mt-2 text-xs text-text-secondary\">{selectedEndpoint.description}</p>\n )}\n </Card>\n\n {/* Parameters */}\n {selectedEndpoint?.parameters && selectedEndpoint.parameters.length > 0 && (\n <Card className=\"p-4\">\n <h3 className=\"font-semibold text-text-primary mb-3\">\n {tr('vibecontrols.ai.playground.parameters', 'Parameters')}\n </h3>\n <div className=\"space-y-3\">\n {selectedEndpoint.parameters.map((p) => (\n <div key={p.name}>\n <label className=\"flex items-center gap-1.5 text-sm font-medium text-text-primary mb-1\">\n {p.name}\n {p.required && <span className=\"text-status-error-text text-xs\">*</span>}\n <span className=\"text-xs text-text-muted font-normal\">({p.type})</span>\n </label>\n {p.description && (\n <p className=\"text-xs text-text-secondary mb-1\">{p.description}</p>\n )}\n <input\n type=\"text\"\n value={params[p.name] ?? ''}\n onChange={(e) => setParams((prev) => ({ ...prev, [p.name]: e.target.value }))}\n className=\"w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary text-sm font-mono focus:outline-none focus:border-border-strong\"\n placeholder={p.required ? 'Required' : 'Optional'}\n />\n </div>\n ))}\n </div>\n </Card>\n )}\n\n <button\n onClick={handleExecute}\n disabled={executing}\n className=\"w-full flex items-center justify-center gap-2 px-4 py-2.5 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50 text-sm font-medium\"\n >\n <Play className=\"w-4 h-4\" />\n {executing\n ? tr('vibecontrols.ai.playground.executing', 'Executing...')\n : tr('vibecontrols.ai.playground.execute', 'Execute')}\n </button>\n\n {/* Curl Command */}\n <Card className=\"p-4\">\n <div className=\"mb-2 flex flex-wrap items-center justify-between gap-2\">\n <h3 className=\"text-xs font-semibold text-text-secondary uppercase tracking-wide\">\n cURL\n </h3>\n <button\n onClick={handleCopy}\n className=\"flex items-center gap-1 px-2 py-1 text-xs text-text-secondary hover:bg-bg-sunken rounded transition-colors\"\n >\n {copied ? (\n <>\n <Check className=\"w-3 h-3 text-status-success-text\" /> Copied\n </>\n ) : (\n <>\n <Copy className=\"w-3 h-3\" /> Copy\n </>\n )}\n </button>\n </div>\n <pre className=\"text-xs text-text-primary bg-bg-sunken rounded p-3 overflow-x-auto whitespace-pre-wrap font-mono\">\n {getCurlCommand()}\n </pre>\n </Card>\n </div>\n\n {/* Right: Response */}\n <div>\n <Card className=\"p-4 h-full\">\n <div className=\"mb-3 flex flex-wrap items-center justify-between gap-2\">\n <h3 className=\"font-semibold text-text-primary\">\n {tr('vibecontrols.ai.playground.response', 'Response')}\n </h3>\n {responseStatus !== null && (\n <span\n className={`px-2 py-0.5 text-xs rounded font-mono ${\n responseStatus >= 200 && responseStatus < 300\n ? 'bg-status-success-bg text-status-success-text'\n : responseStatus >= 400\n ? 'bg-status-error-bg text-status-error-text'\n : 'bg-status-warning-bg text-status-warning-text'\n }`}\n >\n {responseStatus}\n </span>\n )}\n </div>\n {response === null ? (\n <div className=\"flex items-center justify-center h-48 text-sm text-text-secondary\">\n {tr(\n 'vibecontrols.ai.playground.executeToSee',\n 'Execute a request to see the response'\n )}\n </div>\n ) : (\n <pre className=\"text-xs text-text-primary bg-bg-sunken rounded p-3 overflow-auto max-h-[60vh] whitespace-pre-wrap font-mono\">\n {response}\n </pre>\n )}\n </Card>\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -9,12 +9,12 @@ import { useCallback as d, useEffect as f, useState as p } from "react";
9
9
  import { Clock as te, FileText as m, Send as h, Wand2 as g } from "lucide-react";
10
10
  import { jsx as _, jsxs as v } from "react/jsx-runtime";
11
11
  //#region src/components/ai/AIPromptsTab.tsx
12
- function y({ agentId: y }) {
12
+ function y({ agent: y }) {
13
13
  let b = e(), [x, S] = p(""), [C, w] = p([]), [T, E] = p(""), [D, O] = p(!1), [k, A] = p(null), [j, M] = p(!1), [N, P] = p(""), [F, I] = p(null), [L, R] = p({}), [z, B] = p(!1), [V, H] = p([]), [U, W] = p([]), [G, K] = p([]), [q, J] = p([]), [Y, X] = p(!0), [Z, Q] = p(null), $ = d(async () => {
14
14
  X(!0), Q(null);
15
15
  try {
16
16
  let [e, t, n, r] = await Promise.all([
17
- s(y),
17
+ s(y.id),
18
18
  ee(y),
19
19
  o(y),
20
20
  a(y, { limit: 20 })
@@ -41,7 +41,7 @@ function y({ agentId: y }) {
41
41
  if (N) {
42
42
  B(!0);
43
43
  try {
44
- S((await l(y, N, L)).rendered), I(N), M(!1);
44
+ S((await l(y.id, N, L)).rendered), I(N), M(!1);
45
45
  } catch (e) {
46
46
  console.error("Failed to render template:", e);
47
47
  } finally {
@@ -160,7 +160,7 @@ function y({ agentId: y }) {
160
160
  prompt: x,
161
161
  sessionId: T,
162
162
  contextIds: C.length > 0 ? C : void 0
163
- }), F && await c(y, F), A("Prompt dispatched successfully"), S(""), I(null), w([]), setTimeout(() => A(null), 3e3), J(await a(y, { limit: 20 }));
163
+ }), F && await c(y.id, F), A("Prompt dispatched successfully"), S(""), I(null), w([]), setTimeout(() => A(null), 3e3), J(await a(y, { limit: 20 }));
164
164
  } catch (e) {
165
165
  console.error("Failed to dispatch prompt:", e);
166
166
  } finally {
@@ -1 +1 @@
1
- {"version":3,"file":"AIPromptsTab.js","names":[],"sources":["../../../src/components/ai/AIPromptsTab.tsx"],"sourcesContent":["import { useState, useEffect, useCallback } from 'react';\nimport { Send, FileText, Wand2, Clock } from 'lucide-react';\nimport { Card, LoadingState, ErrorState, EmptyState } from '@/components/shared';\nimport type { AITemplate, AIContext, AISession, AIDispatch } from '@/services/aiApi';\nimport {\n fetchTemplates,\n fetchContexts,\n fetchSessions,\n fetchDispatchHistory,\n renderTemplate,\n recordTemplateUsage,\n sendDispatch,\n} from '@/services/aiApi';\nimport { useTr } from '../../shared/hooks/useTr';\n\ninterface AIPromptsTabProps {\n agentId: string;\n}\n\nexport function AIPromptsTab({ agentId }: AIPromptsTabProps) {\n const tr = useTr();\n const [promptContent, setPromptContent] = useState('');\n const [selectedContextIds, setSelectedContextIds] = useState<string[]>([]);\n const [targetSessionId, setTargetSessionId] = useState('');\n const [sending, setSending] = useState(false);\n const [successMsg, setSuccessMsg] = useState<string | null>(null);\n\n // Generate from template state\n const [showTemplateGen, setShowTemplateGen] = useState(false);\n const [selectedTemplateId, setSelectedTemplateId] = useState('');\n const [sourceTemplateId, setSourceTemplateId] = useState<string | null>(null);\n const [templateVars, setTemplateVars] = useState<Record<string, string>>({});\n const [rendering, setRendering] = useState(false);\n\n // Data\n const [templates, setTemplates] = useState<AITemplate[]>([]);\n const [contexts, setContexts] = useState<AIContext[]>([]);\n const [sessions, setSessions] = useState<AISession[]>([]);\n const [history, setHistory] = useState<AIDispatch[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n\n const loadData = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const [t, c, s, h] = await Promise.all([\n fetchTemplates(agentId),\n fetchContexts(agentId),\n fetchSessions(agentId),\n fetchDispatchHistory(agentId, { limit: 20 }),\n ]);\n setTemplates(t);\n setContexts(c);\n setSessions(s);\n setHistory(h);\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load data');\n } finally {\n setLoading(false);\n }\n }, [agentId]);\n\n useEffect(() => {\n loadData();\n }, [loadData]);\n\n const handleTemplateSelect = (templateId: string) => {\n setSelectedTemplateId(templateId);\n const template = templates.find((t) => t.id === templateId);\n if (template?.variables) {\n const vars: Record<string, string> = {};\n for (const key of Object.keys(template.variables)) {\n vars[key] = String(template.variables[key] ?? '');\n }\n setTemplateVars(vars);\n } else {\n setTemplateVars({});\n }\n };\n\n const handleGenerateFromTemplate = async () => {\n if (!selectedTemplateId) return;\n setRendering(true);\n try {\n const result = await renderTemplate(agentId, selectedTemplateId, templateVars);\n setPromptContent(result.rendered);\n setSourceTemplateId(selectedTemplateId);\n setShowTemplateGen(false);\n } catch (err) {\n console.error('Failed to render template:', err);\n } finally {\n setRendering(false);\n }\n };\n\n const toggleContext = (contextId: string) => {\n setSelectedContextIds((prev) =>\n prev.includes(contextId) ? prev.filter((id) => id !== contextId) : [...prev, contextId]\n );\n };\n\n const handleSendToSession = async () => {\n if (!promptContent.trim() || !targetSessionId) return;\n setSending(true);\n setSuccessMsg(null);\n try {\n await sendDispatch(agentId, {\n prompt: promptContent,\n sessionId: targetSessionId,\n contextIds: selectedContextIds.length > 0 ? selectedContextIds : undefined,\n });\n if (sourceTemplateId) {\n await recordTemplateUsage(agentId, sourceTemplateId);\n }\n setSuccessMsg('Prompt dispatched successfully');\n setPromptContent('');\n setSourceTemplateId(null);\n setSelectedContextIds([]);\n setTimeout(() => setSuccessMsg(null), 3000);\n // Refresh history\n const h = await fetchDispatchHistory(agentId, { limit: 20 });\n setHistory(h);\n } catch (err) {\n console.error('Failed to dispatch prompt:', err);\n } finally {\n setSending(false);\n }\n };\n\n if (loading)\n return <LoadingState message={tr('vibecontrols.ai.prompts.loading', 'Loading prompts...')} />;\n if (error)\n return (\n <ErrorState\n title={tr('vibecontrols.ai.prompts.loadFailed', 'Failed to load data')}\n message={error}\n onRetry={loadData}\n />\n );\n\n return (\n <div className=\"space-y-6\">\n {successMsg && (\n <div className=\"bg-status-success-bg text-status-success-text px-4 py-2 rounded-md text-sm\">\n {successMsg}\n </div>\n )}\n\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n {/* Prompt Editor */}\n <div className=\"lg:col-span-2 space-y-4\">\n <Card className=\"p-4\">\n <div className=\"flex items-center justify-between mb-3\">\n <h3 className=\"font-semibold text-text-primary\">\n {tr('vibecontrols.ai.prompts.composePrompt', 'Compose Prompt')}\n </h3>\n <button\n onClick={() => setShowTemplateGen(!showTemplateGen)}\n className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-action-primary-bg bg-action-primary-bg/10 rounded-md hover:bg-action-primary-bg/20 transition-colors\"\n >\n <Wand2 className=\"w-3.5 h-3.5\" />\n {tr('vibecontrols.ai.prompts.generateFromTemplate', 'Generate from Template')}\n </button>\n </div>\n\n {/* Template Generator */}\n {showTemplateGen && (\n <div className=\"mb-4 p-3 bg-bg-sunken rounded-md space-y-3\">\n <select\n value={selectedTemplateId}\n onChange={(e) => handleTemplateSelect(e.target.value)}\n className=\"w-full px-3 py-2 bg-bg-surface border border-border-default rounded-md text-text-primary text-sm\"\n >\n <option value=\"\">\n {tr('vibecontrols.ai.prompts.selectTemplate', 'Select a template...')}\n </option>\n {templates.map((t) => (\n <option key={t.id} value={t.id}>\n {t.name}\n </option>\n ))}\n </select>\n {Object.keys(templateVars).length > 0 && (\n <div className=\"space-y-2\">\n {Object.entries(templateVars).map(([key, val]) => (\n <div key={key}>\n <label className=\"block text-xs font-medium text-text-secondary mb-0.5\">\n {key}\n </label>\n <input\n type=\"text\"\n value={val}\n onChange={(e) =>\n setTemplateVars((prev) => ({ ...prev, [key]: e.target.value }))\n }\n className=\"w-full px-2 py-1.5 bg-bg-surface border border-border-default rounded text-sm text-text-primary focus:outline-none focus:border-border-strong\"\n />\n </div>\n ))}\n </div>\n )}\n <button\n onClick={handleGenerateFromTemplate}\n disabled={rendering || !selectedTemplateId}\n className=\"w-full px-3 py-2 text-sm bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50\"\n >\n {rendering\n ? tr('vibecontrols.ai.prompts.generating', 'Generating...')\n : tr('vibecontrols.ai.prompts.generate', 'Generate')}\n </button>\n </div>\n )}\n\n <textarea\n value={promptContent}\n onChange={(e) => {\n setPromptContent(e.target.value);\n setSourceTemplateId(null);\n }}\n rows={8}\n className=\"w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary text-sm font-mono focus:outline-none focus:border-border-strong\"\n placeholder={tr(\n 'vibecontrols.ai.prompts.promptPlaceholder',\n 'Write your prompt here... (Markdown supported)'\n )}\n />\n\n {/* Session Target & Send */}\n <div className=\"flex flex-col sm:flex-row items-stretch sm:items-end gap-3 mt-3\">\n <div className=\"flex-1\">\n <label className=\"block text-xs font-medium text-text-secondary mb-1\">\n {tr('vibecontrols.ai.prompts.targetSession', 'Target Session')}\n </label>\n <select\n value={targetSessionId}\n onChange={(e) => setTargetSessionId(e.target.value)}\n className=\"w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary text-sm\"\n >\n <option value=\"\">\n {tr('vibecontrols.ai.prompts.selectSession', 'Select session...')}\n </option>\n {sessions\n .filter((s) => s.status !== 'terminated')\n .map((s) => (\n <option key={s.id} value={s.id}>\n {s.name} ({s.status})\n </option>\n ))}\n </select>\n </div>\n <button\n onClick={handleSendToSession}\n disabled={sending || !promptContent.trim() || !targetSessionId}\n className=\"flex items-center justify-center gap-2 px-4 py-2 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50 text-sm\"\n >\n <Send className=\"w-4 h-4\" />\n {sending\n ? tr('vibecontrols.ai.prompts.sending', 'Sending...')\n : tr('vibecontrols.ai.prompts.sendToSession', 'Send to Session')}\n </button>\n </div>\n </Card>\n </div>\n\n {/* Context Picker */}\n <div className=\"space-y-4\">\n <Card className=\"p-4\">\n <h3 className=\"font-semibold text-text-primary mb-3\">\n {tr('vibecontrols.ai.prompts.attachContexts', 'Attach Contexts')}\n </h3>\n {contexts.length === 0 ? (\n <p className=\"text-sm text-text-secondary\">\n {tr('vibecontrols.ai.prompts.noContexts', 'No contexts available')}\n </p>\n ) : (\n <div className=\"space-y-2 max-h-64 overflow-y-auto\">\n {contexts.map((ctx) => (\n <label\n key={ctx.id}\n className=\"flex items-start gap-2 p-2 rounded hover:bg-bg-sunken cursor-pointer\"\n >\n <input\n type=\"checkbox\"\n checked={selectedContextIds.includes(ctx.id)}\n onChange={() => toggleContext(ctx.id)}\n className=\"mt-0.5 rounded border-border-default\"\n />\n <div className=\"min-w-0 flex-1\">\n <div className=\"text-sm font-medium text-text-primary truncate\">\n {ctx.name}\n </div>\n <div className=\"text-xs text-text-secondary\">{ctx.type}</div>\n </div>\n </label>\n ))}\n </div>\n )}\n </Card>\n </div>\n </div>\n\n {/* Dispatch History */}\n <Card className=\"p-0\">\n <div className=\"px-4 py-3 border-b border-border-default flex items-center gap-2\">\n <Clock className=\"w-4 h-4 text-text-secondary\" />\n <h3 className=\"font-semibold text-text-primary\">\n {tr('vibecontrols.ai.prompts.dispatchHistory', 'Dispatch History')}\n </h3>\n </div>\n <div className=\"divide-y divide-border-default\">\n {history.length === 0 ? (\n <EmptyState\n icon={<FileText className=\"w-6 h-6 text-text-secondary\" />}\n title={tr('vibecontrols.ai.prompts.noDispatched', 'No dispatched prompts')}\n description={tr(\n 'vibecontrols.ai.prompts.noDispatchedDesc',\n 'Send a prompt to a session to see history here'\n )}\n />\n ) : (\n history.map((d) => (\n <div key={d.id} className=\"px-4 py-3\">\n <div className=\"text-sm text-text-primary line-clamp-2\">{d.prompt}</div>\n <div className=\"mt-1 flex items-center gap-3 text-xs text-text-secondary\">\n <span className=\"font-medium\">{d.status}</span>\n <span>Session: {d.sessionId ? `${d.sessionId.substring(0, 8)}...` : '—'}</span>\n {d.createdAt && <span>{new Date(d.createdAt).toLocaleString()}</span>}\n </div>\n </div>\n ))\n )}\n </div>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"AIPromptsTab.js","names":[],"sources":["../../../src/components/ai/AIPromptsTab.tsx"],"sourcesContent":["import { useState, useEffect, useCallback } from 'react';\nimport { Send, FileText, Wand2, Clock } from 'lucide-react';\nimport { Card, LoadingState, ErrorState, EmptyState } from '@/components/shared';\nimport type { AITemplate, AIContext, AISession, AIDispatch, AgentRef } from '@/services/aiApi';\nimport {\n fetchTemplates,\n fetchContexts,\n fetchSessions,\n fetchDispatchHistory,\n renderTemplate,\n recordTemplateUsage,\n sendDispatch,\n} from '@/services/aiApi';\nimport { useTr } from '../../shared/hooks/useTr';\n\ninterface AIPromptsTabProps {\n agent: AgentRef;\n}\n\nexport function AIPromptsTab({ agent }: AIPromptsTabProps) {\n const tr = useTr();\n const [promptContent, setPromptContent] = useState('');\n const [selectedContextIds, setSelectedContextIds] = useState<string[]>([]);\n const [targetSessionId, setTargetSessionId] = useState('');\n const [sending, setSending] = useState(false);\n const [successMsg, setSuccessMsg] = useState<string | null>(null);\n\n // Generate from template state\n const [showTemplateGen, setShowTemplateGen] = useState(false);\n const [selectedTemplateId, setSelectedTemplateId] = useState('');\n const [sourceTemplateId, setSourceTemplateId] = useState<string | null>(null);\n const [templateVars, setTemplateVars] = useState<Record<string, string>>({});\n const [rendering, setRendering] = useState(false);\n\n // Data\n const [templates, setTemplates] = useState<AITemplate[]>([]);\n const [contexts, setContexts] = useState<AIContext[]>([]);\n const [sessions, setSessions] = useState<AISession[]>([]);\n const [history, setHistory] = useState<AIDispatch[]>([]);\n const [loading, setLoading] = useState(true);\n const [error, setError] = useState<string | null>(null);\n\n const loadData = useCallback(async () => {\n setLoading(true);\n setError(null);\n try {\n const [t, c, s, h] = await Promise.all([\n fetchTemplates(agent.id),\n fetchContexts(agent),\n fetchSessions(agent),\n fetchDispatchHistory(agent, { limit: 20 }),\n ]);\n setTemplates(t);\n setContexts(c);\n setSessions(s);\n setHistory(h);\n } catch (err) {\n setError(err instanceof Error ? err.message : 'Failed to load data');\n } finally {\n setLoading(false);\n }\n }, [agent]);\n\n useEffect(() => {\n loadData();\n }, [loadData]);\n\n const handleTemplateSelect = (templateId: string) => {\n setSelectedTemplateId(templateId);\n const template = templates.find((t) => t.id === templateId);\n if (template?.variables) {\n const vars: Record<string, string> = {};\n for (const key of Object.keys(template.variables)) {\n vars[key] = String(template.variables[key] ?? '');\n }\n setTemplateVars(vars);\n } else {\n setTemplateVars({});\n }\n };\n\n const handleGenerateFromTemplate = async () => {\n if (!selectedTemplateId) return;\n setRendering(true);\n try {\n const result = await renderTemplate(agent.id, selectedTemplateId, templateVars);\n setPromptContent(result.rendered);\n setSourceTemplateId(selectedTemplateId);\n setShowTemplateGen(false);\n } catch (err) {\n console.error('Failed to render template:', err);\n } finally {\n setRendering(false);\n }\n };\n\n const toggleContext = (contextId: string) => {\n setSelectedContextIds((prev) =>\n prev.includes(contextId) ? prev.filter((id) => id !== contextId) : [...prev, contextId]\n );\n };\n\n const handleSendToSession = async () => {\n if (!promptContent.trim() || !targetSessionId) return;\n setSending(true);\n setSuccessMsg(null);\n try {\n await sendDispatch(agent, {\n prompt: promptContent,\n sessionId: targetSessionId,\n contextIds: selectedContextIds.length > 0 ? selectedContextIds : undefined,\n });\n if (sourceTemplateId) {\n await recordTemplateUsage(agent.id, sourceTemplateId);\n }\n setSuccessMsg('Prompt dispatched successfully');\n setPromptContent('');\n setSourceTemplateId(null);\n setSelectedContextIds([]);\n setTimeout(() => setSuccessMsg(null), 3000);\n // Refresh history\n const h = await fetchDispatchHistory(agent, { limit: 20 });\n setHistory(h);\n } catch (err) {\n console.error('Failed to dispatch prompt:', err);\n } finally {\n setSending(false);\n }\n };\n\n if (loading)\n return <LoadingState message={tr('vibecontrols.ai.prompts.loading', 'Loading prompts...')} />;\n if (error)\n return (\n <ErrorState\n title={tr('vibecontrols.ai.prompts.loadFailed', 'Failed to load data')}\n message={error}\n onRetry={loadData}\n />\n );\n\n return (\n <div className=\"space-y-6\">\n {successMsg && (\n <div className=\"bg-status-success-bg text-status-success-text px-4 py-2 rounded-md text-sm\">\n {successMsg}\n </div>\n )}\n\n <div className=\"grid grid-cols-1 lg:grid-cols-3 gap-6\">\n {/* Prompt Editor */}\n <div className=\"lg:col-span-2 space-y-4\">\n <Card className=\"p-4\">\n <div className=\"flex items-center justify-between mb-3\">\n <h3 className=\"font-semibold text-text-primary\">\n {tr('vibecontrols.ai.prompts.composePrompt', 'Compose Prompt')}\n </h3>\n <button\n onClick={() => setShowTemplateGen(!showTemplateGen)}\n className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-action-primary-bg bg-action-primary-bg/10 rounded-md hover:bg-action-primary-bg/20 transition-colors\"\n >\n <Wand2 className=\"w-3.5 h-3.5\" />\n {tr('vibecontrols.ai.prompts.generateFromTemplate', 'Generate from Template')}\n </button>\n </div>\n\n {/* Template Generator */}\n {showTemplateGen && (\n <div className=\"mb-4 p-3 bg-bg-sunken rounded-md space-y-3\">\n <select\n value={selectedTemplateId}\n onChange={(e) => handleTemplateSelect(e.target.value)}\n className=\"w-full px-3 py-2 bg-bg-surface border border-border-default rounded-md text-text-primary text-sm\"\n >\n <option value=\"\">\n {tr('vibecontrols.ai.prompts.selectTemplate', 'Select a template...')}\n </option>\n {templates.map((t) => (\n <option key={t.id} value={t.id}>\n {t.name}\n </option>\n ))}\n </select>\n {Object.keys(templateVars).length > 0 && (\n <div className=\"space-y-2\">\n {Object.entries(templateVars).map(([key, val]) => (\n <div key={key}>\n <label className=\"block text-xs font-medium text-text-secondary mb-0.5\">\n {key}\n </label>\n <input\n type=\"text\"\n value={val}\n onChange={(e) =>\n setTemplateVars((prev) => ({ ...prev, [key]: e.target.value }))\n }\n className=\"w-full px-2 py-1.5 bg-bg-surface border border-border-default rounded text-sm text-text-primary focus:outline-none focus:border-border-strong\"\n />\n </div>\n ))}\n </div>\n )}\n <button\n onClick={handleGenerateFromTemplate}\n disabled={rendering || !selectedTemplateId}\n className=\"w-full px-3 py-2 text-sm bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50\"\n >\n {rendering\n ? tr('vibecontrols.ai.prompts.generating', 'Generating...')\n : tr('vibecontrols.ai.prompts.generate', 'Generate')}\n </button>\n </div>\n )}\n\n <textarea\n value={promptContent}\n onChange={(e) => {\n setPromptContent(e.target.value);\n setSourceTemplateId(null);\n }}\n rows={8}\n className=\"w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary text-sm font-mono focus:outline-none focus:border-border-strong\"\n placeholder={tr(\n 'vibecontrols.ai.prompts.promptPlaceholder',\n 'Write your prompt here... (Markdown supported)'\n )}\n />\n\n {/* Session Target & Send */}\n <div className=\"flex flex-col sm:flex-row items-stretch sm:items-end gap-3 mt-3\">\n <div className=\"flex-1\">\n <label className=\"block text-xs font-medium text-text-secondary mb-1\">\n {tr('vibecontrols.ai.prompts.targetSession', 'Target Session')}\n </label>\n <select\n value={targetSessionId}\n onChange={(e) => setTargetSessionId(e.target.value)}\n className=\"w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary text-sm\"\n >\n <option value=\"\">\n {tr('vibecontrols.ai.prompts.selectSession', 'Select session...')}\n </option>\n {sessions\n .filter((s) => s.status !== 'terminated')\n .map((s) => (\n <option key={s.id} value={s.id}>\n {s.name} ({s.status})\n </option>\n ))}\n </select>\n </div>\n <button\n onClick={handleSendToSession}\n disabled={sending || !promptContent.trim() || !targetSessionId}\n className=\"flex items-center justify-center gap-2 px-4 py-2 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50 text-sm\"\n >\n <Send className=\"w-4 h-4\" />\n {sending\n ? tr('vibecontrols.ai.prompts.sending', 'Sending...')\n : tr('vibecontrols.ai.prompts.sendToSession', 'Send to Session')}\n </button>\n </div>\n </Card>\n </div>\n\n {/* Context Picker */}\n <div className=\"space-y-4\">\n <Card className=\"p-4\">\n <h3 className=\"font-semibold text-text-primary mb-3\">\n {tr('vibecontrols.ai.prompts.attachContexts', 'Attach Contexts')}\n </h3>\n {contexts.length === 0 ? (\n <p className=\"text-sm text-text-secondary\">\n {tr('vibecontrols.ai.prompts.noContexts', 'No contexts available')}\n </p>\n ) : (\n <div className=\"space-y-2 max-h-64 overflow-y-auto\">\n {contexts.map((ctx) => (\n <label\n key={ctx.id}\n className=\"flex items-start gap-2 p-2 rounded hover:bg-bg-sunken cursor-pointer\"\n >\n <input\n type=\"checkbox\"\n checked={selectedContextIds.includes(ctx.id)}\n onChange={() => toggleContext(ctx.id)}\n className=\"mt-0.5 rounded border-border-default\"\n />\n <div className=\"min-w-0 flex-1\">\n <div className=\"text-sm font-medium text-text-primary truncate\">\n {ctx.name}\n </div>\n <div className=\"text-xs text-text-secondary\">{ctx.type}</div>\n </div>\n </label>\n ))}\n </div>\n )}\n </Card>\n </div>\n </div>\n\n {/* Dispatch History */}\n <Card className=\"p-0\">\n <div className=\"px-4 py-3 border-b border-border-default flex items-center gap-2\">\n <Clock className=\"w-4 h-4 text-text-secondary\" />\n <h3 className=\"font-semibold text-text-primary\">\n {tr('vibecontrols.ai.prompts.dispatchHistory', 'Dispatch History')}\n </h3>\n </div>\n <div className=\"divide-y divide-border-default\">\n {history.length === 0 ? (\n <EmptyState\n icon={<FileText className=\"w-6 h-6 text-text-secondary\" />}\n title={tr('vibecontrols.ai.prompts.noDispatched', 'No dispatched prompts')}\n description={tr(\n 'vibecontrols.ai.prompts.noDispatchedDesc',\n 'Send a prompt to a session to see history here'\n )}\n />\n ) : (\n history.map((d) => (\n <div key={d.id} className=\"px-4 py-3\">\n <div className=\"text-sm text-text-primary line-clamp-2\">{d.prompt}</div>\n <div className=\"mt-1 flex items-center gap-3 text-xs text-text-secondary\">\n <span className=\"font-medium\">{d.status}</span>\n <span>Session: {d.sessionId ? `${d.sessionId.substring(0, 8)}...` : '—'}</span>\n {d.createdAt && <span>{new Date(d.createdAt).toLocaleString()}</span>}\n </div>\n </div>\n ))\n )}\n </div>\n </Card>\n </div>\n );\n}\n"],"mappings":"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"}