@burdenoff/microfe-vibecontrols 2026.511.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 (2254) hide show
  1. package/README.md +91 -0
  2. package/dist/VibeControlsRoot.d.ts +36 -0
  3. package/dist/VibeControlsRoot.d.ts.map +1 -0
  4. package/dist/VibeControlsRoot.js +195 -0
  5. package/dist/VibeControlsRoot.js.map +1 -0
  6. package/dist/VibeControlsRoutes.d.ts +2 -0
  7. package/dist/VibeControlsRoutes.d.ts.map +1 -0
  8. package/dist/VibeControlsRoutes.js +285 -0
  9. package/dist/VibeControlsRoutes.js.map +1 -0
  10. package/dist/_virtual/_rolldown/runtime.js +23 -0
  11. package/dist/components/actions/ActionCard.d.ts +32 -0
  12. package/dist/components/actions/ActionCard.d.ts.map +1 -0
  13. package/dist/components/actions/ActionCard.js +140 -0
  14. package/dist/components/actions/ActionCard.js.map +1 -0
  15. package/dist/components/actions/ActionForm.d.ts +39 -0
  16. package/dist/components/actions/ActionForm.d.ts.map +1 -0
  17. package/dist/components/actions/ActionForm.js +488 -0
  18. package/dist/components/actions/ActionForm.js.map +1 -0
  19. package/dist/components/actions/ActionTypeBadge.d.ts +9 -0
  20. package/dist/components/actions/ActionTypeBadge.d.ts.map +1 -0
  21. package/dist/components/actions/ActionTypeBadge.js +77 -0
  22. package/dist/components/actions/ActionTypeBadge.js.map +1 -0
  23. package/dist/components/actions/ExecutionHistory.d.ts +23 -0
  24. package/dist/components/actions/ExecutionHistory.d.ts.map +1 -0
  25. package/dist/components/actions/ExecutionHistory.js +103 -0
  26. package/dist/components/actions/ExecutionHistory.js.map +1 -0
  27. package/dist/components/actions/index.d.ts +6 -0
  28. package/dist/components/actions/index.d.ts.map +1 -0
  29. package/dist/components/actions/index.js +4 -0
  30. package/dist/components/agent-manager/AgentManagerAdminBar.d.ts +13 -0
  31. package/dist/components/agent-manager/AgentManagerAdminBar.d.ts.map +1 -0
  32. package/dist/components/agent-manager/AgentManagerAdminBar.js +146 -0
  33. package/dist/components/agent-manager/AgentManagerAdminBar.js.map +1 -0
  34. package/dist/components/agent-manager/AgentManagerBulkActions.d.ts +13 -0
  35. package/dist/components/agent-manager/AgentManagerBulkActions.d.ts.map +1 -0
  36. package/dist/components/agent-manager/AgentManagerBulkActions.js +74 -0
  37. package/dist/components/agent-manager/AgentManagerBulkActions.js.map +1 -0
  38. package/dist/components/agent-manager/AgentManagerCenter.d.ts +8 -0
  39. package/dist/components/agent-manager/AgentManagerCenter.d.ts.map +1 -0
  40. package/dist/components/agent-manager/AgentManagerCenter.js +129 -0
  41. package/dist/components/agent-manager/AgentManagerCenter.js.map +1 -0
  42. package/dist/components/agent-manager/AgentManagerChatPane.d.ts +9 -0
  43. package/dist/components/agent-manager/AgentManagerChatPane.d.ts.map +1 -0
  44. package/dist/components/agent-manager/AgentManagerChatPane.js +121 -0
  45. package/dist/components/agent-manager/AgentManagerChatPane.js.map +1 -0
  46. package/dist/components/agent-manager/AgentManagerDetailPanel.d.ts +13 -0
  47. package/dist/components/agent-manager/AgentManagerDetailPanel.d.ts.map +1 -0
  48. package/dist/components/agent-manager/AgentManagerDetailPanel.js +73 -0
  49. package/dist/components/agent-manager/AgentManagerDetailPanel.js.map +1 -0
  50. package/dist/components/agent-manager/AgentManagerInputArea.d.ts +14 -0
  51. package/dist/components/agent-manager/AgentManagerInputArea.d.ts.map +1 -0
  52. package/dist/components/agent-manager/AgentManagerInputArea.js +397 -0
  53. package/dist/components/agent-manager/AgentManagerInputArea.js.map +1 -0
  54. package/dist/components/agent-manager/AgentManagerLayout.d.ts +10 -0
  55. package/dist/components/agent-manager/AgentManagerLayout.d.ts.map +1 -0
  56. package/dist/components/agent-manager/AgentManagerLayout.js +137 -0
  57. package/dist/components/agent-manager/AgentManagerLayout.js.map +1 -0
  58. package/dist/components/agent-manager/AgentManagerMessageItem.d.ts +10 -0
  59. package/dist/components/agent-manager/AgentManagerMessageItem.d.ts.map +1 -0
  60. package/dist/components/agent-manager/AgentManagerMessageItem.js +65 -0
  61. package/dist/components/agent-manager/AgentManagerMessageItem.js.map +1 -0
  62. package/dist/components/agent-manager/AgentManagerMessageList.d.ts +12 -0
  63. package/dist/components/agent-manager/AgentManagerMessageList.d.ts.map +1 -0
  64. package/dist/components/agent-manager/AgentManagerMessageList.js +58 -0
  65. package/dist/components/agent-manager/AgentManagerMessageList.js.map +1 -0
  66. package/dist/components/agent-manager/AgentManagerSessionItem.d.ts +12 -0
  67. package/dist/components/agent-manager/AgentManagerSessionItem.d.ts.map +1 -0
  68. package/dist/components/agent-manager/AgentManagerSessionItem.js +141 -0
  69. package/dist/components/agent-manager/AgentManagerSessionItem.js.map +1 -0
  70. package/dist/components/agent-manager/AgentManagerSessionList.d.ts +16 -0
  71. package/dist/components/agent-manager/AgentManagerSessionList.d.ts.map +1 -0
  72. package/dist/components/agent-manager/AgentManagerSessionList.js +180 -0
  73. package/dist/components/agent-manager/AgentManagerSessionList.js.map +1 -0
  74. package/dist/components/agent-manager/AgentManagerSidebar.d.ts +14 -0
  75. package/dist/components/agent-manager/AgentManagerSidebar.d.ts.map +1 -0
  76. package/dist/components/agent-manager/AgentManagerSidebar.js +204 -0
  77. package/dist/components/agent-manager/AgentManagerSidebar.js.map +1 -0
  78. package/dist/components/agent-manager/AgentManagerStreamingIndicator.d.ts +8 -0
  79. package/dist/components/agent-manager/AgentManagerStreamingIndicator.d.ts.map +1 -0
  80. package/dist/components/agent-manager/AgentManagerStreamingIndicator.js +53 -0
  81. package/dist/components/agent-manager/AgentManagerStreamingIndicator.js.map +1 -0
  82. package/dist/components/agent-manager/AgentManagerTab.d.ts +15 -0
  83. package/dist/components/agent-manager/AgentManagerTab.d.ts.map +1 -0
  84. package/dist/components/agent-manager/AgentManagerTab.js +49 -0
  85. package/dist/components/agent-manager/AgentManagerTab.js.map +1 -0
  86. package/dist/components/agent-manager/AgentManagerTabBar.d.ts +10 -0
  87. package/dist/components/agent-manager/AgentManagerTabBar.d.ts.map +1 -0
  88. package/dist/components/agent-manager/AgentManagerTabBar.js +152 -0
  89. package/dist/components/agent-manager/AgentManagerTabBar.js.map +1 -0
  90. package/dist/components/agent-manager/BridleConfigPanel.d.ts +13 -0
  91. package/dist/components/agent-manager/BridleConfigPanel.d.ts.map +1 -0
  92. package/dist/components/agent-manager/BridleConfigPanel.js +356 -0
  93. package/dist/components/agent-manager/BridleConfigPanel.js.map +1 -0
  94. package/dist/components/agent-manager/PluginInstallModal.d.ts +9 -0
  95. package/dist/components/agent-manager/PluginInstallModal.d.ts.map +1 -0
  96. package/dist/components/agent-manager/PluginInstallModal.js +98 -0
  97. package/dist/components/agent-manager/PluginInstallModal.js.map +1 -0
  98. package/dist/components/agent-manager/controls/ContextLevelToggle.d.ts +23 -0
  99. package/dist/components/agent-manager/controls/ContextLevelToggle.d.ts.map +1 -0
  100. package/dist/components/agent-manager/controls/ContextLevelToggle.js +101 -0
  101. package/dist/components/agent-manager/controls/ContextLevelToggle.js.map +1 -0
  102. package/dist/components/agent-manager/controls/FileAttachButton.d.ts +13 -0
  103. package/dist/components/agent-manager/controls/FileAttachButton.d.ts.map +1 -0
  104. package/dist/components/agent-manager/controls/FileAttachButton.js +44 -0
  105. package/dist/components/agent-manager/controls/FileAttachButton.js.map +1 -0
  106. package/dist/components/agent-manager/controls/McpServerSelector.d.ts +10 -0
  107. package/dist/components/agent-manager/controls/McpServerSelector.d.ts.map +1 -0
  108. package/dist/components/agent-manager/controls/McpServerSelector.js +98 -0
  109. package/dist/components/agent-manager/controls/McpServerSelector.js.map +1 -0
  110. package/dist/components/agent-manager/controls/ModelSelector.d.ts +10 -0
  111. package/dist/components/agent-manager/controls/ModelSelector.d.ts.map +1 -0
  112. package/dist/components/agent-manager/controls/ModelSelector.js +158 -0
  113. package/dist/components/agent-manager/controls/ModelSelector.js.map +1 -0
  114. package/dist/components/agent-manager/controls/SdkSelector.d.ts +13 -0
  115. package/dist/components/agent-manager/controls/SdkSelector.d.ts.map +1 -0
  116. package/dist/components/agent-manager/controls/SdkSelector.js +210 -0
  117. package/dist/components/agent-manager/controls/SdkSelector.js.map +1 -0
  118. package/dist/components/agent-manager/controls/VoiceToggle.d.ts +13 -0
  119. package/dist/components/agent-manager/controls/VoiceToggle.d.ts.map +1 -0
  120. package/dist/components/agent-manager/controls/VoiceToggle.js +18 -0
  121. package/dist/components/agent-manager/controls/VoiceToggle.js.map +1 -0
  122. package/dist/components/agent-manager/detail/SessionConfigPanel.d.ts +14 -0
  123. package/dist/components/agent-manager/detail/SessionConfigPanel.d.ts.map +1 -0
  124. package/dist/components/agent-manager/detail/SessionConfigPanel.js +250 -0
  125. package/dist/components/agent-manager/detail/SessionConfigPanel.js.map +1 -0
  126. package/dist/components/agent-manager/detail/SessionLogsPanel.d.ts +13 -0
  127. package/dist/components/agent-manager/detail/SessionLogsPanel.d.ts.map +1 -0
  128. package/dist/components/agent-manager/detail/SessionLogsPanel.js +107 -0
  129. package/dist/components/agent-manager/detail/SessionLogsPanel.js.map +1 -0
  130. package/dist/components/agent-manager/detail/SessionStatsPanel.d.ts +12 -0
  131. package/dist/components/agent-manager/detail/SessionStatsPanel.d.ts.map +1 -0
  132. package/dist/components/agent-manager/detail/SessionStatsPanel.js +68 -0
  133. package/dist/components/agent-manager/detail/SessionStatsPanel.js.map +1 -0
  134. package/dist/components/agent-manager/detail/SessionToolsPanel.d.ts +12 -0
  135. package/dist/components/agent-manager/detail/SessionToolsPanel.d.ts.map +1 -0
  136. package/dist/components/agent-manager/detail/SessionToolsPanel.js +64 -0
  137. package/dist/components/agent-manager/detail/SessionToolsPanel.js.map +1 -0
  138. package/dist/components/agent-manager/dialogs/ExportSessionDialog.d.ts +15 -0
  139. package/dist/components/agent-manager/dialogs/ExportSessionDialog.d.ts.map +1 -0
  140. package/dist/components/agent-manager/dialogs/ExportSessionDialog.js +141 -0
  141. package/dist/components/agent-manager/dialogs/ExportSessionDialog.js.map +1 -0
  142. package/dist/components/agent-manager/dialogs/NewSessionDialog.d.ts +14 -0
  143. package/dist/components/agent-manager/dialogs/NewSessionDialog.d.ts.map +1 -0
  144. package/dist/components/agent-manager/dialogs/NewSessionDialog.js +209 -0
  145. package/dist/components/agent-manager/dialogs/NewSessionDialog.js.map +1 -0
  146. package/dist/components/agent-manager/dialogs/RenameSessionDialog.d.ts +15 -0
  147. package/dist/components/agent-manager/dialogs/RenameSessionDialog.d.ts.map +1 -0
  148. package/dist/components/agent-manager/dialogs/RenameSessionDialog.js +105 -0
  149. package/dist/components/agent-manager/dialogs/RenameSessionDialog.js.map +1 -0
  150. package/dist/components/agent-manager/dialogs/SessionSearchDialog.d.ts +15 -0
  151. package/dist/components/agent-manager/dialogs/SessionSearchDialog.d.ts.map +1 -0
  152. package/dist/components/agent-manager/dialogs/SessionSearchDialog.js +162 -0
  153. package/dist/components/agent-manager/dialogs/SessionSearchDialog.js.map +1 -0
  154. package/dist/components/agent-manager/index.d.ts +16 -0
  155. package/dist/components/agent-manager/index.d.ts.map +1 -0
  156. package/dist/components/agents/AgentCard.d.ts +30 -0
  157. package/dist/components/agents/AgentCard.d.ts.map +1 -0
  158. package/dist/components/agents/AgentCard.js +209 -0
  159. package/dist/components/agents/AgentCard.js.map +1 -0
  160. package/dist/components/agents/AgentForm.d.ts +29 -0
  161. package/dist/components/agents/AgentForm.d.ts.map +1 -0
  162. package/dist/components/agents/AgentForm.js +593 -0
  163. package/dist/components/agents/AgentForm.js.map +1 -0
  164. package/dist/components/agents/AgentList.d.ts +19 -0
  165. package/dist/components/agents/AgentList.d.ts.map +1 -0
  166. package/dist/components/agents/AgentList.js +333 -0
  167. package/dist/components/agents/AgentList.js.map +1 -0
  168. package/dist/components/agents/AgentStatusBadge.d.ts +12 -0
  169. package/dist/components/agents/AgentStatusBadge.d.ts.map +1 -0
  170. package/dist/components/agents/AgentStatusBadge.js +43 -0
  171. package/dist/components/agents/AgentStatusBadge.js.map +1 -0
  172. package/dist/components/agents/OpenInBrowserEditorButton.d.ts +16 -0
  173. package/dist/components/agents/OpenInBrowserEditorButton.d.ts.map +1 -0
  174. package/dist/components/agents/OpenInBrowserEditorButton.js +115 -0
  175. package/dist/components/agents/OpenInBrowserEditorButton.js.map +1 -0
  176. package/dist/components/agents/PluginUIPanel.d.ts +38 -0
  177. package/dist/components/agents/PluginUIPanel.d.ts.map +1 -0
  178. package/dist/components/agents/PluginUIPanel.js +308 -0
  179. package/dist/components/agents/PluginUIPanel.js.map +1 -0
  180. package/dist/components/agents/backup/AgentBackupTab.d.ts +11 -0
  181. package/dist/components/agents/backup/AgentBackupTab.d.ts.map +1 -0
  182. package/dist/components/agents/backup/AgentBackupTab.js +407 -0
  183. package/dist/components/agents/backup/AgentBackupTab.js.map +1 -0
  184. package/dist/components/agents/index.d.ts +8 -0
  185. package/dist/components/agents/index.d.ts.map +1 -0
  186. package/dist/components/agents/index.js +6 -0
  187. package/dist/components/agents/types.d.ts +72 -0
  188. package/dist/components/agents/types.d.ts.map +1 -0
  189. package/dist/components/ai/AIAssistantPanel.d.ts +8 -0
  190. package/dist/components/ai/AIAssistantPanel.d.ts.map +1 -0
  191. package/dist/components/ai/AIContextsTab.d.ts +6 -0
  192. package/dist/components/ai/AIContextsTab.d.ts.map +1 -0
  193. package/dist/components/ai/AIContextsTab.js +378 -0
  194. package/dist/components/ai/AIContextsTab.js.map +1 -0
  195. package/dist/components/ai/AIOverviewTab.d.ts +7 -0
  196. package/dist/components/ai/AIOverviewTab.d.ts.map +1 -0
  197. package/dist/components/ai/AIOverviewTab.js +143 -0
  198. package/dist/components/ai/AIOverviewTab.js.map +1 -0
  199. package/dist/components/ai/AIPlaygroundTab.d.ts +6 -0
  200. package/dist/components/ai/AIPlaygroundTab.d.ts.map +1 -0
  201. package/dist/components/ai/AIPlaygroundTab.js +222 -0
  202. package/dist/components/ai/AIPlaygroundTab.js.map +1 -0
  203. package/dist/components/ai/AIPromptsTab.d.ts +6 -0
  204. package/dist/components/ai/AIPromptsTab.d.ts.map +1 -0
  205. package/dist/components/ai/AIPromptsTab.js +251 -0
  206. package/dist/components/ai/AIPromptsTab.js.map +1 -0
  207. package/dist/components/ai/AISessionsTab.d.ts +7 -0
  208. package/dist/components/ai/AISessionsTab.d.ts.map +1 -0
  209. package/dist/components/ai/AISessionsTab.js +245 -0
  210. package/dist/components/ai/AISessionsTab.js.map +1 -0
  211. package/dist/components/ai/AIStatsTab.d.ts +6 -0
  212. package/dist/components/ai/AIStatsTab.d.ts.map +1 -0
  213. package/dist/components/ai/AIStatsTab.js +182 -0
  214. package/dist/components/ai/AIStatsTab.js.map +1 -0
  215. package/dist/components/ai/AITasksTab.d.ts +5 -0
  216. package/dist/components/ai/AITasksTab.d.ts.map +1 -0
  217. package/dist/components/ai/AITasksTab.js +549 -0
  218. package/dist/components/ai/AITasksTab.js.map +1 -0
  219. package/dist/components/ai/AITemplatesTab.d.ts +6 -0
  220. package/dist/components/ai/AITemplatesTab.d.ts.map +1 -0
  221. package/dist/components/ai/AITemplatesTab.js +472 -0
  222. package/dist/components/ai/AITemplatesTab.js.map +1 -0
  223. package/dist/components/ai/ClaudeCredentialsCard.d.ts +6 -0
  224. package/dist/components/ai/ClaudeCredentialsCard.d.ts.map +1 -0
  225. package/dist/components/ai/ClaudeCredentialsCard.js +133 -0
  226. package/dist/components/ai/ClaudeCredentialsCard.js.map +1 -0
  227. package/dist/components/ai/PluginHarnessPicker.d.ts +31 -0
  228. package/dist/components/ai/PluginHarnessPicker.d.ts.map +1 -0
  229. package/dist/components/ai/PluginHarnessPicker.js +136 -0
  230. package/dist/components/ai/PluginHarnessPicker.js.map +1 -0
  231. package/dist/components/analytics/AnalyticsBreakdownChart.d.ts +12 -0
  232. package/dist/components/analytics/AnalyticsBreakdownChart.d.ts.map +1 -0
  233. package/dist/components/analytics/AnalyticsBreakdownChart.js +73 -0
  234. package/dist/components/analytics/AnalyticsBreakdownChart.js.map +1 -0
  235. package/dist/components/analytics/AnalyticsBreakdownTable.d.ts +13 -0
  236. package/dist/components/analytics/AnalyticsBreakdownTable.d.ts.map +1 -0
  237. package/dist/components/analytics/AnalyticsBreakdownTable.js +100 -0
  238. package/dist/components/analytics/AnalyticsBreakdownTable.js.map +1 -0
  239. package/dist/components/analytics/AnalyticsEntityTabs.d.ts +9 -0
  240. package/dist/components/analytics/AnalyticsEntityTabs.d.ts.map +1 -0
  241. package/dist/components/analytics/AnalyticsEntityTabs.js +52 -0
  242. package/dist/components/analytics/AnalyticsEntityTabs.js.map +1 -0
  243. package/dist/components/analytics/AnalyticsFilterBar.d.ts +15 -0
  244. package/dist/components/analytics/AnalyticsFilterBar.d.ts.map +1 -0
  245. package/dist/components/analytics/AnalyticsFilterBar.js +51 -0
  246. package/dist/components/analytics/AnalyticsFilterBar.js.map +1 -0
  247. package/dist/components/analytics/AnalyticsKpiGrid.d.ts +10 -0
  248. package/dist/components/analytics/AnalyticsKpiGrid.d.ts.map +1 -0
  249. package/dist/components/analytics/AnalyticsKpiGrid.js +112 -0
  250. package/dist/components/analytics/AnalyticsKpiGrid.js.map +1 -0
  251. package/dist/components/analytics/AnalyticsTimeSeriesChart.d.ts +16 -0
  252. package/dist/components/analytics/AnalyticsTimeSeriesChart.d.ts.map +1 -0
  253. package/dist/components/analytics/AnalyticsTimeSeriesChart.js +115 -0
  254. package/dist/components/analytics/AnalyticsTimeSeriesChart.js.map +1 -0
  255. package/dist/components/analytics/SandboxAnalyticsSection.d.ts +9 -0
  256. package/dist/components/analytics/SandboxAnalyticsSection.d.ts.map +1 -0
  257. package/dist/components/analytics/SandboxAnalyticsSection.js +185 -0
  258. package/dist/components/analytics/SandboxAnalyticsSection.js.map +1 -0
  259. package/dist/components/analytics/index.d.ts +9 -0
  260. package/dist/components/analytics/index.d.ts.map +1 -0
  261. package/dist/components/analytics/index.js +8 -0
  262. package/dist/components/analytics/types.d.ts +28 -0
  263. package/dist/components/analytics/types.d.ts.map +1 -0
  264. package/dist/components/analytics/types.js +140 -0
  265. package/dist/components/analytics/types.js.map +1 -0
  266. package/dist/components/assistant/AIAssistantPanel.d.ts +5 -0
  267. package/dist/components/assistant/AIAssistantPanel.d.ts.map +1 -0
  268. package/dist/components/assistant/AIAssistantPanel.js +68 -0
  269. package/dist/components/assistant/AIAssistantPanel.js.map +1 -0
  270. package/dist/components/assistant/AssistantChatArea.d.ts +4 -0
  271. package/dist/components/assistant/AssistantChatArea.d.ts.map +1 -0
  272. package/dist/components/assistant/AssistantChatArea.js +346 -0
  273. package/dist/components/assistant/AssistantChatArea.js.map +1 -0
  274. package/dist/components/assistant/AssistantChatInput.d.ts +10 -0
  275. package/dist/components/assistant/AssistantChatInput.d.ts.map +1 -0
  276. package/dist/components/assistant/AssistantChatInput.js +43 -0
  277. package/dist/components/assistant/AssistantChatInput.js.map +1 -0
  278. package/dist/components/assistant/AssistantConversationList.d.ts +4 -0
  279. package/dist/components/assistant/AssistantConversationList.d.ts.map +1 -0
  280. package/dist/components/assistant/AssistantConversationList.js +144 -0
  281. package/dist/components/assistant/AssistantConversationList.js.map +1 -0
  282. package/dist/components/assistant/AssistantExportMenu.d.ts +4 -0
  283. package/dist/components/assistant/AssistantExportMenu.d.ts.map +1 -0
  284. package/dist/components/assistant/AssistantExportMenu.js +49 -0
  285. package/dist/components/assistant/AssistantExportMenu.js.map +1 -0
  286. package/dist/components/assistant/AssistantMarkdownRenderer.d.ts +8 -0
  287. package/dist/components/assistant/AssistantMarkdownRenderer.d.ts.map +1 -0
  288. package/dist/components/assistant/AssistantMarkdownRenderer.js +204 -0
  289. package/dist/components/assistant/AssistantMarkdownRenderer.js.map +1 -0
  290. package/dist/components/assistant/AssistantMessageItem.d.ts +10 -0
  291. package/dist/components/assistant/AssistantMessageItem.d.ts.map +1 -0
  292. package/dist/components/assistant/AssistantMessageItem.js +91 -0
  293. package/dist/components/assistant/AssistantMessageItem.js.map +1 -0
  294. package/dist/components/assistant/AssistantMessageList.d.ts +10 -0
  295. package/dist/components/assistant/AssistantMessageList.d.ts.map +1 -0
  296. package/dist/components/assistant/AssistantMessageList.js +28 -0
  297. package/dist/components/assistant/AssistantMessageList.js.map +1 -0
  298. package/dist/components/assistant/AssistantModeSelector.d.ts +10 -0
  299. package/dist/components/assistant/AssistantModeSelector.d.ts.map +1 -0
  300. package/dist/components/assistant/AssistantModeSelector.js +57 -0
  301. package/dist/components/assistant/AssistantModeSelector.js.map +1 -0
  302. package/dist/components/assistant/AssistantWelcome.d.ts +10 -0
  303. package/dist/components/assistant/AssistantWelcome.d.ts.map +1 -0
  304. package/dist/components/assistant/AssistantWelcome.js +41 -0
  305. package/dist/components/assistant/AssistantWelcome.js.map +1 -0
  306. package/dist/components/assistant/index.d.ts +11 -0
  307. package/dist/components/assistant/index.d.ts.map +1 -0
  308. package/dist/components/assistant/index.js +10 -0
  309. package/dist/components/audit/AuditDeleteDialog.d.ts +12 -0
  310. package/dist/components/audit/AuditDeleteDialog.d.ts.map +1 -0
  311. package/dist/components/audit/AuditDeleteDialog.js +74 -0
  312. package/dist/components/audit/AuditDeleteDialog.js.map +1 -0
  313. package/dist/components/audit/AuditExportButton.d.ts +8 -0
  314. package/dist/components/audit/AuditExportButton.d.ts.map +1 -0
  315. package/dist/components/audit/AuditExportButton.js +70 -0
  316. package/dist/components/audit/AuditExportButton.js.map +1 -0
  317. package/dist/components/audit/AuditLogDetail.d.ts +9 -0
  318. package/dist/components/audit/AuditLogDetail.d.ts.map +1 -0
  319. package/dist/components/audit/AuditLogDetail.js +266 -0
  320. package/dist/components/audit/AuditLogDetail.js.map +1 -0
  321. package/dist/components/audit/AuditLogFilters.d.ts +15 -0
  322. package/dist/components/audit/AuditLogFilters.d.ts.map +1 -0
  323. package/dist/components/audit/AuditLogFilters.js +185 -0
  324. package/dist/components/audit/AuditLogFilters.js.map +1 -0
  325. package/dist/components/audit/AuditLogStats.d.ts +9 -0
  326. package/dist/components/audit/AuditLogStats.d.ts.map +1 -0
  327. package/dist/components/audit/AuditLogStats.js +54 -0
  328. package/dist/components/audit/AuditLogStats.js.map +1 -0
  329. package/dist/components/audit/AuditLogTable.d.ts +21 -0
  330. package/dist/components/audit/AuditLogTable.d.ts.map +1 -0
  331. package/dist/components/audit/AuditLogTable.js +270 -0
  332. package/dist/components/audit/AuditLogTable.js.map +1 -0
  333. package/dist/components/audit/index.d.ts +7 -0
  334. package/dist/components/audit/index.d.ts.map +1 -0
  335. package/dist/components/audit/index.js +6 -0
  336. package/dist/components/catalog/CatalogCard.d.ts +22 -0
  337. package/dist/components/catalog/CatalogCard.d.ts.map +1 -0
  338. package/dist/components/catalog/CatalogCard.js +149 -0
  339. package/dist/components/catalog/CatalogCard.js.map +1 -0
  340. package/dist/components/catalog/CatalogForm.d.ts +18 -0
  341. package/dist/components/catalog/CatalogForm.d.ts.map +1 -0
  342. package/dist/components/catalog/CatalogForm.js +152 -0
  343. package/dist/components/catalog/CatalogForm.js.map +1 -0
  344. package/dist/components/catalog/index.d.ts +5 -0
  345. package/dist/components/catalog/index.d.ts.map +1 -0
  346. package/dist/components/catalog/index.js +2 -0
  347. package/dist/components/docs/DocsCompileStatus.d.ts +9 -0
  348. package/dist/components/docs/DocsCompileStatus.d.ts.map +1 -0
  349. package/dist/components/docs/DocsCompileStatus.js +106 -0
  350. package/dist/components/docs/DocsCompileStatus.js.map +1 -0
  351. package/dist/components/docs/DocsEditPanel.d.ts +26 -0
  352. package/dist/components/docs/DocsEditPanel.d.ts.map +1 -0
  353. package/dist/components/docs/DocsEditPanel.js +97 -0
  354. package/dist/components/docs/DocsEditPanel.js.map +1 -0
  355. package/dist/components/docs/DocsEmptyState.d.ts +7 -0
  356. package/dist/components/docs/DocsEmptyState.d.ts.map +1 -0
  357. package/dist/components/docs/DocsEmptyState.js +24 -0
  358. package/dist/components/docs/DocsEmptyState.js.map +1 -0
  359. package/dist/components/docs/DocsPageEditor.d.ts +13 -0
  360. package/dist/components/docs/DocsPageEditor.d.ts.map +1 -0
  361. package/dist/components/docs/DocsPageEditor.js +83 -0
  362. package/dist/components/docs/DocsPageEditor.js.map +1 -0
  363. package/dist/components/docs/DocsPageTree.d.ts +12 -0
  364. package/dist/components/docs/DocsPageTree.d.ts.map +1 -0
  365. package/dist/components/docs/DocsPageTree.js +103 -0
  366. package/dist/components/docs/DocsPageTree.js.map +1 -0
  367. package/dist/components/docs/DocsPreviewPanel.d.ts +17 -0
  368. package/dist/components/docs/DocsPreviewPanel.d.ts.map +1 -0
  369. package/dist/components/docs/DocsPreviewPanel.js +106 -0
  370. package/dist/components/docs/DocsPreviewPanel.js.map +1 -0
  371. package/dist/components/docs/DocsSettingsPanel.d.ts +15 -0
  372. package/dist/components/docs/DocsSettingsPanel.d.ts.map +1 -0
  373. package/dist/components/docs/DocsSettingsPanel.js +411 -0
  374. package/dist/components/docs/DocsSettingsPanel.js.map +1 -0
  375. package/dist/components/docs/DocsTabPanel.d.ts +8 -0
  376. package/dist/components/docs/DocsTabPanel.d.ts.map +1 -0
  377. package/dist/components/docs/DocsTabPanel.js +155 -0
  378. package/dist/components/docs/DocsTabPanel.js.map +1 -0
  379. package/dist/components/docs/index.d.ts +10 -0
  380. package/dist/components/docs/index.d.ts.map +1 -0
  381. package/dist/components/docs/index.js +8 -0
  382. package/dist/components/docs/previewHtml.d.ts +2 -0
  383. package/dist/components/docs/previewHtml.d.ts.map +1 -0
  384. package/dist/components/docs/previewHtml.js +17 -0
  385. package/dist/components/docs/previewHtml.js.map +1 -0
  386. package/dist/components/docs/types.d.ts +59 -0
  387. package/dist/components/docs/types.d.ts.map +1 -0
  388. package/dist/components/gitops/CIDurationChart.d.ts +12 -0
  389. package/dist/components/gitops/CIDurationChart.d.ts.map +1 -0
  390. package/dist/components/gitops/CIDurationChart.js +102 -0
  391. package/dist/components/gitops/CIDurationChart.js.map +1 -0
  392. package/dist/components/gitops/CIFailedRuns.d.ts +13 -0
  393. package/dist/components/gitops/CIFailedRuns.d.ts.map +1 -0
  394. package/dist/components/gitops/CIFailedRuns.js +153 -0
  395. package/dist/components/gitops/CIFailedRuns.js.map +1 -0
  396. package/dist/components/gitops/CIPipelineRunsTable.d.ts +13 -0
  397. package/dist/components/gitops/CIPipelineRunsTable.d.ts.map +1 -0
  398. package/dist/components/gitops/CIPipelineRunsTable.js +144 -0
  399. package/dist/components/gitops/CIPipelineRunsTable.js.map +1 -0
  400. package/dist/components/gitops/CISuccessRateChart.d.ts +13 -0
  401. package/dist/components/gitops/CISuccessRateChart.d.ts.map +1 -0
  402. package/dist/components/gitops/CISuccessRateChart.js +101 -0
  403. package/dist/components/gitops/CISuccessRateChart.js.map +1 -0
  404. package/dist/components/gitops/CITab.d.ts +15 -0
  405. package/dist/components/gitops/CITab.d.ts.map +1 -0
  406. package/dist/components/gitops/CITab.js +55 -0
  407. package/dist/components/gitops/CITab.js.map +1 -0
  408. package/dist/components/gitops/CIWorkflowList.d.ts +13 -0
  409. package/dist/components/gitops/CIWorkflowList.d.ts.map +1 -0
  410. package/dist/components/gitops/CIWorkflowList.js +24 -0
  411. package/dist/components/gitops/CIWorkflowList.js.map +1 -0
  412. package/dist/components/gitops/GitOpsProviderCard.d.ts +14 -0
  413. package/dist/components/gitops/GitOpsProviderCard.d.ts.map +1 -0
  414. package/dist/components/gitops/GitOpsSetup.d.ts +16 -0
  415. package/dist/components/gitops/GitOpsSetup.d.ts.map +1 -0
  416. package/dist/components/gitops/GitOpsSetup.js +155 -0
  417. package/dist/components/gitops/GitOpsSetup.js.map +1 -0
  418. package/dist/components/gitops/GitOpsSkeleton.d.ts +12 -0
  419. package/dist/components/gitops/GitOpsSkeleton.d.ts.map +1 -0
  420. package/dist/components/gitops/GitOpsSkeleton.js +26 -0
  421. package/dist/components/gitops/GitOpsSkeleton.js.map +1 -0
  422. package/dist/components/gitops/GitOpsStatusBadge.d.ts +14 -0
  423. package/dist/components/gitops/GitOpsStatusBadge.d.ts.map +1 -0
  424. package/dist/components/gitops/GitOpsStatusBadge.js +28 -0
  425. package/dist/components/gitops/GitOpsStatusBadge.js.map +1 -0
  426. package/dist/components/gitops/ProviderIcon.d.ts +14 -0
  427. package/dist/components/gitops/ProviderIcon.d.ts.map +1 -0
  428. package/dist/components/gitops/ProviderIcon.js +35 -0
  429. package/dist/components/gitops/ProviderIcon.js.map +1 -0
  430. package/dist/components/gitops/RepoActivityCard.d.ts +12 -0
  431. package/dist/components/gitops/RepoActivityCard.d.ts.map +1 -0
  432. package/dist/components/gitops/RepoActivityCard.js +64 -0
  433. package/dist/components/gitops/RepoActivityCard.js.map +1 -0
  434. package/dist/components/gitops/RepoIssuesCard.d.ts +12 -0
  435. package/dist/components/gitops/RepoIssuesCard.d.ts.map +1 -0
  436. package/dist/components/gitops/RepoIssuesCard.js +38 -0
  437. package/dist/components/gitops/RepoIssuesCard.js.map +1 -0
  438. package/dist/components/gitops/RepoLanguagesCard.d.ts +13 -0
  439. package/dist/components/gitops/RepoLanguagesCard.d.ts.map +1 -0
  440. package/dist/components/gitops/RepoLanguagesCard.js +86 -0
  441. package/dist/components/gitops/RepoLanguagesCard.js.map +1 -0
  442. package/dist/components/gitops/RepoOverviewCard.d.ts +13 -0
  443. package/dist/components/gitops/RepoOverviewCard.d.ts.map +1 -0
  444. package/dist/components/gitops/RepoOverviewCard.js +117 -0
  445. package/dist/components/gitops/RepoOverviewCard.js.map +1 -0
  446. package/dist/components/gitops/RepoPullRequestsCard.d.ts +12 -0
  447. package/dist/components/gitops/RepoPullRequestsCard.d.ts.map +1 -0
  448. package/dist/components/gitops/RepoPullRequestsCard.js +80 -0
  449. package/dist/components/gitops/RepoPullRequestsCard.js.map +1 -0
  450. package/dist/components/gitops/RepoSecurityCard.d.ts +12 -0
  451. package/dist/components/gitops/RepoSecurityCard.d.ts.map +1 -0
  452. package/dist/components/gitops/RepoSecurityCard.js +38 -0
  453. package/dist/components/gitops/RepoSecurityCard.js.map +1 -0
  454. package/dist/components/gitops/RepoStatsTab.d.ts +15 -0
  455. package/dist/components/gitops/RepoStatsTab.d.ts.map +1 -0
  456. package/dist/components/gitops/RepoStatsTab.js +43 -0
  457. package/dist/components/gitops/RepoStatsTab.js.map +1 -0
  458. package/dist/components/gitops/VibeGitOpsTab.d.ts +12 -0
  459. package/dist/components/gitops/VibeGitOpsTab.d.ts.map +1 -0
  460. package/dist/components/gitops/VibeGitOpsTab.js +253 -0
  461. package/dist/components/gitops/VibeGitOpsTab.js.map +1 -0
  462. package/dist/components/gitops/index.d.ts +21 -0
  463. package/dist/components/gitops/index.d.ts.map +1 -0
  464. package/dist/components/gitops/types.d.ts +90 -0
  465. package/dist/components/gitops/types.d.ts.map +1 -0
  466. package/dist/components/graph/AgentGraphView.d.ts +44 -0
  467. package/dist/components/graph/AgentGraphView.d.ts.map +1 -0
  468. package/dist/components/graph/AgentGraphView.js +238 -0
  469. package/dist/components/graph/AgentGraphView.js.map +1 -0
  470. package/dist/components/graph/AgentNode.d.ts +6 -0
  471. package/dist/components/graph/AgentNode.d.ts.map +1 -0
  472. package/dist/components/graph/AgentNode.js +55 -0
  473. package/dist/components/graph/AgentNode.js.map +1 -0
  474. package/dist/components/graph/ConnectionPermissionsDialog.d.ts +26 -0
  475. package/dist/components/graph/ConnectionPermissionsDialog.d.ts.map +1 -0
  476. package/dist/components/graph/ConnectionPermissionsDialog.js +111 -0
  477. package/dist/components/graph/ConnectionPermissionsDialog.js.map +1 -0
  478. package/dist/components/graph/TargetNode.d.ts +6 -0
  479. package/dist/components/graph/TargetNode.d.ts.map +1 -0
  480. package/dist/components/graph/TargetNode.js +77 -0
  481. package/dist/components/graph/TargetNode.js.map +1 -0
  482. package/dist/components/health/AgentHealthCard.d.ts +9 -0
  483. package/dist/components/health/AgentHealthCard.d.ts.map +1 -0
  484. package/dist/components/health/HealthDashboard.d.ts +10 -0
  485. package/dist/components/health/HealthDashboard.d.ts.map +1 -0
  486. package/dist/components/health/SystemStatus.d.ts +11 -0
  487. package/dist/components/health/SystemStatus.d.ts.map +1 -0
  488. package/dist/components/health/index.d.ts +5 -0
  489. package/dist/components/health/index.d.ts.map +1 -0
  490. package/dist/components/health/types.d.ts +50 -0
  491. package/dist/components/health/types.d.ts.map +1 -0
  492. package/dist/components/idp-components/ComponentCard.d.ts +24 -0
  493. package/dist/components/idp-components/ComponentCard.d.ts.map +1 -0
  494. package/dist/components/idp-components/ComponentCard.js +143 -0
  495. package/dist/components/idp-components/ComponentCard.js.map +1 -0
  496. package/dist/components/idp-components/ComponentForm.d.ts +22 -0
  497. package/dist/components/idp-components/ComponentForm.d.ts.map +1 -0
  498. package/dist/components/idp-components/ComponentForm.js +234 -0
  499. package/dist/components/idp-components/ComponentForm.js.map +1 -0
  500. package/dist/components/idp-components/index.d.ts +5 -0
  501. package/dist/components/idp-components/index.d.ts.map +1 -0
  502. package/dist/components/idp-components/index.js +2 -0
  503. package/dist/components/logs/LogViewer.d.ts +13 -0
  504. package/dist/components/logs/LogViewer.d.ts.map +1 -0
  505. package/dist/components/logs/LogViewer.js +265 -0
  506. package/dist/components/logs/LogViewer.js.map +1 -0
  507. package/dist/components/notes/NoteCard.d.ts +13 -0
  508. package/dist/components/notes/NoteCard.d.ts.map +1 -0
  509. package/dist/components/notes/NoteCard.js +146 -0
  510. package/dist/components/notes/NoteCard.js.map +1 -0
  511. package/dist/components/notes/NoteEditor.d.ts +31 -0
  512. package/dist/components/notes/NoteEditor.d.ts.map +1 -0
  513. package/dist/components/notes/NoteEditor.js +433 -0
  514. package/dist/components/notes/NoteEditor.js.map +1 -0
  515. package/dist/components/notes/NoteList.d.ts +15 -0
  516. package/dist/components/notes/NoteList.d.ts.map +1 -0
  517. package/dist/components/notes/NoteList.js +188 -0
  518. package/dist/components/notes/NoteList.js.map +1 -0
  519. package/dist/components/notes/NotesTabPanel.d.ts +18 -0
  520. package/dist/components/notes/NotesTabPanel.d.ts.map +1 -0
  521. package/dist/components/notes/NotesTabPanel.js +356 -0
  522. package/dist/components/notes/NotesTabPanel.js.map +1 -0
  523. package/dist/components/notes/index.d.ts +7 -0
  524. package/dist/components/notes/index.d.ts.map +1 -0
  525. package/dist/components/notes/index.js +4 -0
  526. package/dist/components/notes/types.d.ts +58 -0
  527. package/dist/components/notes/types.d.ts.map +1 -0
  528. package/dist/components/scorecard/ScorecardPanel.d.ts +9 -0
  529. package/dist/components/scorecard/ScorecardPanel.d.ts.map +1 -0
  530. package/dist/components/scorecard/ScorecardPanel.js +490 -0
  531. package/dist/components/scorecard/ScorecardPanel.js.map +1 -0
  532. package/dist/components/scorecard/index.d.ts +3 -0
  533. package/dist/components/scorecard/index.d.ts.map +1 -0
  534. package/dist/components/scorecard/index.js +1 -0
  535. package/dist/components/sessions/CollaboratorsList.d.ts +18 -0
  536. package/dist/components/sessions/CollaboratorsList.d.ts.map +1 -0
  537. package/dist/components/sessions/CollaboratorsList.js +162 -0
  538. package/dist/components/sessions/CollaboratorsList.js.map +1 -0
  539. package/dist/components/sessions/ControlStatusBar.d.ts +31 -0
  540. package/dist/components/sessions/ControlStatusBar.d.ts.map +1 -0
  541. package/dist/components/sessions/ControlStatusBar.js +79 -0
  542. package/dist/components/sessions/ControlStatusBar.js.map +1 -0
  543. package/dist/components/sessions/SessionCard.d.ts +24 -0
  544. package/dist/components/sessions/SessionCard.d.ts.map +1 -0
  545. package/dist/components/sessions/SessionCard.js +196 -0
  546. package/dist/components/sessions/SessionCard.js.map +1 -0
  547. package/dist/components/sessions/SessionForm.d.ts +20 -0
  548. package/dist/components/sessions/SessionForm.d.ts.map +1 -0
  549. package/dist/components/sessions/SessionForm.js +4 -0
  550. package/dist/components/sessions/SessionList.d.ts +25 -0
  551. package/dist/components/sessions/SessionList.d.ts.map +1 -0
  552. package/dist/components/sessions/SessionList.js +241 -0
  553. package/dist/components/sessions/SessionList.js.map +1 -0
  554. package/dist/components/sessions/SessionShareDialog.d.ts +15 -0
  555. package/dist/components/sessions/SessionShareDialog.d.ts.map +1 -0
  556. package/dist/components/sessions/SessionShareDialog.js +457 -0
  557. package/dist/components/sessions/SessionShareDialog.js.map +1 -0
  558. package/dist/components/sessions/SessionStatusBadge.d.ts +9 -0
  559. package/dist/components/sessions/SessionStatusBadge.d.ts.map +1 -0
  560. package/dist/components/sessions/SessionStatusBadge.js +43 -0
  561. package/dist/components/sessions/SessionStatusBadge.js.map +1 -0
  562. package/dist/components/sessions/SharedTerminalPanel.d.ts +72 -0
  563. package/dist/components/sessions/SharedTerminalPanel.d.ts.map +1 -0
  564. package/dist/components/sessions/SharedTerminalPanel.js +94 -0
  565. package/dist/components/sessions/SharedTerminalPanel.js.map +1 -0
  566. package/dist/components/sessions/TerminalPanel.d.ts +69 -0
  567. package/dist/components/sessions/TerminalPanel.d.ts.map +1 -0
  568. package/dist/components/sessions/TerminalPanel.js +1008 -0
  569. package/dist/components/sessions/TerminalPanel.js.map +1 -0
  570. package/dist/components/sessions/index.d.ts +11 -0
  571. package/dist/components/sessions/index.d.ts.map +1 -0
  572. package/dist/components/sessions/index.js +9 -0
  573. package/dist/components/sessions/types.d.ts +67 -0
  574. package/dist/components/sessions/types.d.ts.map +1 -0
  575. package/dist/components/settings/AdvancedSection.d.ts +22 -0
  576. package/dist/components/settings/AdvancedSection.d.ts.map +1 -0
  577. package/dist/components/settings/AdvancedSection.js +177 -0
  578. package/dist/components/settings/AdvancedSection.js.map +1 -0
  579. package/dist/components/settings/ConfigEditor.d.ts +14 -0
  580. package/dist/components/settings/ConfigEditor.d.ts.map +1 -0
  581. package/dist/components/settings/ConfigSection.d.ts +12 -0
  582. package/dist/components/settings/ConfigSection.d.ts.map +1 -0
  583. package/dist/components/settings/NotificationsSection.d.ts +14 -0
  584. package/dist/components/settings/NotificationsSection.d.ts.map +1 -0
  585. package/dist/components/settings/NotificationsSection.js +83 -0
  586. package/dist/components/settings/NotificationsSection.js.map +1 -0
  587. package/dist/components/settings/PreferencesSection.d.ts +14 -0
  588. package/dist/components/settings/PreferencesSection.d.ts.map +1 -0
  589. package/dist/components/settings/ProfileSection.d.ts +14 -0
  590. package/dist/components/settings/ProfileSection.d.ts.map +1 -0
  591. package/dist/components/settings/SecuritySection.d.ts +11 -0
  592. package/dist/components/settings/SecuritySection.d.ts.map +1 -0
  593. package/dist/components/settings/SettingsForm.d.ts +58 -0
  594. package/dist/components/settings/SettingsForm.d.ts.map +1 -0
  595. package/dist/components/settings/SettingsForm.js +101 -0
  596. package/dist/components/settings/SettingsForm.js.map +1 -0
  597. package/dist/components/settings/WorkspaceDefaultsSection.d.ts +27 -0
  598. package/dist/components/settings/WorkspaceDefaultsSection.d.ts.map +1 -0
  599. package/dist/components/settings/WorkspaceDefaultsSection.js +177 -0
  600. package/dist/components/settings/WorkspaceDefaultsSection.js.map +1 -0
  601. package/dist/components/settings/index.d.ts +4 -0
  602. package/dist/components/settings/index.d.ts.map +1 -0
  603. package/dist/components/settings/types.d.ts +55 -0
  604. package/dist/components/settings/types.d.ts.map +1 -0
  605. package/dist/components/shared/AgentEventsConnector.d.ts +6 -0
  606. package/dist/components/shared/AgentEventsConnector.d.ts.map +1 -0
  607. package/dist/components/shared/AgentEventsConnector.js +26 -0
  608. package/dist/components/shared/AgentEventsConnector.js.map +1 -0
  609. package/dist/components/shared/AgentSelector.d.ts +25 -0
  610. package/dist/components/shared/AgentSelector.d.ts.map +1 -0
  611. package/dist/components/shared/AgentSelector.js +98 -0
  612. package/dist/components/shared/AgentSelector.js.map +1 -0
  613. package/dist/components/shared/AgentSetupBanner.d.ts +21 -0
  614. package/dist/components/shared/AgentSetupBanner.d.ts.map +1 -0
  615. package/dist/components/shared/AgentSetupBanner.js +158 -0
  616. package/dist/components/shared/AgentSetupBanner.js.map +1 -0
  617. package/dist/components/shared/Card.d.ts +29 -0
  618. package/dist/components/shared/Card.d.ts.map +1 -0
  619. package/dist/components/shared/Card.js +30 -0
  620. package/dist/components/shared/Card.js.map +1 -0
  621. package/dist/components/shared/ConfirmDialog.d.ts +14 -0
  622. package/dist/components/shared/ConfirmDialog.d.ts.map +1 -0
  623. package/dist/components/shared/ConfirmDialog.js +117 -0
  624. package/dist/components/shared/ConfirmDialog.js.map +1 -0
  625. package/dist/components/shared/EmptyState.d.ts +11 -0
  626. package/dist/components/shared/EmptyState.d.ts.map +1 -0
  627. package/dist/components/shared/EmptyState.js +108 -0
  628. package/dist/components/shared/EmptyState.js.map +1 -0
  629. package/dist/components/shared/EntityTagPicker.d.ts +8 -0
  630. package/dist/components/shared/EntityTagPicker.d.ts.map +1 -0
  631. package/dist/components/shared/EntityTagPicker.js +195 -0
  632. package/dist/components/shared/EntityTagPicker.js.map +1 -0
  633. package/dist/components/shared/ErrorState.d.ts +11 -0
  634. package/dist/components/shared/ErrorState.d.ts.map +1 -0
  635. package/dist/components/shared/ErrorState.js +116 -0
  636. package/dist/components/shared/ErrorState.js.map +1 -0
  637. package/dist/components/shared/FilterDropdown.d.ts +20 -0
  638. package/dist/components/shared/FilterDropdown.d.ts.map +1 -0
  639. package/dist/components/shared/FilterDropdown.js +81 -0
  640. package/dist/components/shared/FilterDropdown.js.map +1 -0
  641. package/dist/components/shared/GetHelpButton.d.ts +27 -0
  642. package/dist/components/shared/GetHelpButton.d.ts.map +1 -0
  643. package/dist/components/shared/GetHelpButton.js +19 -0
  644. package/dist/components/shared/GetHelpButton.js.map +1 -0
  645. package/dist/components/shared/InstallTabs.d.ts +18 -0
  646. package/dist/components/shared/InstallTabs.d.ts.map +1 -0
  647. package/dist/components/shared/InstallTabs.js +110 -0
  648. package/dist/components/shared/InstallTabs.js.map +1 -0
  649. package/dist/components/shared/LoadingState.d.ts +7 -0
  650. package/dist/components/shared/LoadingState.d.ts.map +1 -0
  651. package/dist/components/shared/LoadingState.js +54 -0
  652. package/dist/components/shared/LoadingState.js.map +1 -0
  653. package/dist/components/shared/NotificationToast.d.ts +40 -0
  654. package/dist/components/shared/NotificationToast.d.ts.map +1 -0
  655. package/dist/components/shared/NotificationToast.js +152 -0
  656. package/dist/components/shared/NotificationToast.js.map +1 -0
  657. package/dist/components/shared/PageHeader.d.ts +14 -0
  658. package/dist/components/shared/PageHeader.d.ts.map +1 -0
  659. package/dist/components/shared/PageHeader.js +55 -0
  660. package/dist/components/shared/PageHeader.js.map +1 -0
  661. package/dist/components/shared/PluginGate.d.ts +35 -0
  662. package/dist/components/shared/PluginGate.d.ts.map +1 -0
  663. package/dist/components/shared/PluginGate.js +182 -0
  664. package/dist/components/shared/PluginGate.js.map +1 -0
  665. package/dist/components/shared/QuotaExhaustedDialog.d.ts +12 -0
  666. package/dist/components/shared/QuotaExhaustedDialog.d.ts.map +1 -0
  667. package/dist/components/shared/QuotaExhaustedDialog.js +21 -0
  668. package/dist/components/shared/QuotaExhaustedDialog.js.map +1 -0
  669. package/dist/components/shared/RequireAgentReachable.d.ts +14 -0
  670. package/dist/components/shared/RequireAgentReachable.d.ts.map +1 -0
  671. package/dist/components/shared/RequireAgentReachable.js +69 -0
  672. package/dist/components/shared/RequireAgentReachable.js.map +1 -0
  673. package/dist/components/shared/SearchInput.d.ts +9 -0
  674. package/dist/components/shared/SearchInput.d.ts.map +1 -0
  675. package/dist/components/shared/SearchInput.js +47 -0
  676. package/dist/components/shared/SearchInput.js.map +1 -0
  677. package/dist/components/shared/SearchableSelect.d.ts +48 -0
  678. package/dist/components/shared/SearchableSelect.d.ts.map +1 -0
  679. package/dist/components/shared/SearchableSelect.js +214 -0
  680. package/dist/components/shared/SearchableSelect.js.map +1 -0
  681. package/dist/components/shared/SelectionCheckbox.d.ts +11 -0
  682. package/dist/components/shared/SelectionCheckbox.d.ts.map +1 -0
  683. package/dist/components/shared/SelectionCheckbox.js +25 -0
  684. package/dist/components/shared/SelectionCheckbox.js.map +1 -0
  685. package/dist/components/shared/SessionNotificationBanner.d.ts +47 -0
  686. package/dist/components/shared/SessionNotificationBanner.d.ts.map +1 -0
  687. package/dist/components/shared/SessionNotificationBanner.js +231 -0
  688. package/dist/components/shared/SessionNotificationBanner.js.map +1 -0
  689. package/dist/components/shared/StatCard.d.ts +17 -0
  690. package/dist/components/shared/StatCard.d.ts.map +1 -0
  691. package/dist/components/shared/StatCard.js +65 -0
  692. package/dist/components/shared/StatCard.js.map +1 -0
  693. package/dist/components/shared/StatusBadge.d.ts +11 -0
  694. package/dist/components/shared/StatusBadge.d.ts.map +1 -0
  695. package/dist/components/shared/StatusBadge.js +63 -0
  696. package/dist/components/shared/StatusBadge.js.map +1 -0
  697. package/dist/components/shared/TagFilter.d.ts +11 -0
  698. package/dist/components/shared/TagFilter.d.ts.map +1 -0
  699. package/dist/components/shared/TagFilter.js +28 -0
  700. package/dist/components/shared/TagFilter.js.map +1 -0
  701. package/dist/components/shared/index.d.ts +32 -0
  702. package/dist/components/shared/index.d.ts.map +1 -0
  703. package/dist/components/shared/index.js +24 -0
  704. package/dist/components/targets/TargetCard.d.ts +45 -0
  705. package/dist/components/targets/TargetCard.d.ts.map +1 -0
  706. package/dist/components/targets/TargetCard.js +211 -0
  707. package/dist/components/targets/TargetCard.js.map +1 -0
  708. package/dist/components/targets/index.d.ts +3 -0
  709. package/dist/components/targets/index.d.ts.map +1 -0
  710. package/dist/components/targets/index.js +1 -0
  711. package/dist/components/templates/TemplateCard.d.ts +19 -0
  712. package/dist/components/templates/TemplateCard.d.ts.map +1 -0
  713. package/dist/components/templates/TemplateCard.js +81 -0
  714. package/dist/components/templates/TemplateCard.js.map +1 -0
  715. package/dist/components/templates/index.d.ts +3 -0
  716. package/dist/components/templates/index.d.ts.map +1 -0
  717. package/dist/components/templates/index.js +1 -0
  718. package/dist/components/tunnels/DomainVerificationBadge.d.ts +6 -0
  719. package/dist/components/tunnels/DomainVerificationBadge.d.ts.map +1 -0
  720. package/dist/components/tunnels/DomainVerificationBadge.js +19 -0
  721. package/dist/components/tunnels/DomainVerificationBadge.js.map +1 -0
  722. package/dist/components/tunnels/ProviderBadge.d.ts +6 -0
  723. package/dist/components/tunnels/ProviderBadge.d.ts.map +1 -0
  724. package/dist/components/tunnels/ProviderBadge.js +16 -0
  725. package/dist/components/tunnels/ProviderBadge.js.map +1 -0
  726. package/dist/components/tunnels/TunnelCard.d.ts +13 -0
  727. package/dist/components/tunnels/TunnelCard.d.ts.map +1 -0
  728. package/dist/components/tunnels/TunnelCard.js +98 -0
  729. package/dist/components/tunnels/TunnelCard.js.map +1 -0
  730. package/dist/components/tunnels/TunnelCreateWizard.d.ts +2 -0
  731. package/dist/components/tunnels/TunnelCreateWizard.d.ts.map +1 -0
  732. package/dist/components/tunnels/TunnelCreateWizard.js +512 -0
  733. package/dist/components/tunnels/TunnelCreateWizard.js.map +1 -0
  734. package/dist/components/tunnels/TunnelStatusBadge.d.ts +6 -0
  735. package/dist/components/tunnels/TunnelStatusBadge.d.ts.map +1 -0
  736. package/dist/components/tunnels/TunnelStatusBadge.js +21 -0
  737. package/dist/components/tunnels/TunnelStatusBadge.js.map +1 -0
  738. package/dist/components/vibe/VibeAgentEmptyState.d.ts +8 -0
  739. package/dist/components/vibe/VibeAgentEmptyState.d.ts.map +1 -0
  740. package/dist/components/vibe/VibeAgentEmptyState.js +29 -0
  741. package/dist/components/vibe/VibeAgentEmptyState.js.map +1 -0
  742. package/dist/components/vibecalendar/LogsDrawer.d.ts +12 -0
  743. package/dist/components/vibecalendar/LogsDrawer.d.ts.map +1 -0
  744. package/dist/components/vibecalendar/LogsDrawer.js +97 -0
  745. package/dist/components/vibecalendar/LogsDrawer.js.map +1 -0
  746. package/dist/components/vibecalendar/ScheduleTaskModal.d.ts +33 -0
  747. package/dist/components/vibecalendar/ScheduleTaskModal.d.ts.map +1 -0
  748. package/dist/components/vibecalendar/ScheduleTaskModal.js +311 -0
  749. package/dist/components/vibecalendar/ScheduleTaskModal.js.map +1 -0
  750. package/dist/components/vibecalendar/VibeCalAgendaView.d.ts +11 -0
  751. package/dist/components/vibecalendar/VibeCalAgendaView.d.ts.map +1 -0
  752. package/dist/components/vibecalendar/VibeCalAgendaView.js +96 -0
  753. package/dist/components/vibecalendar/VibeCalAgendaView.js.map +1 -0
  754. package/dist/components/vibecalendar/VibeCalDayView.d.ts +12 -0
  755. package/dist/components/vibecalendar/VibeCalDayView.d.ts.map +1 -0
  756. package/dist/components/vibecalendar/VibeCalDayView.js +131 -0
  757. package/dist/components/vibecalendar/VibeCalDayView.js.map +1 -0
  758. package/dist/components/vibecalendar/VibeCalMonthView.d.ts +12 -0
  759. package/dist/components/vibecalendar/VibeCalMonthView.d.ts.map +1 -0
  760. package/dist/components/vibecalendar/VibeCalMonthView.js +66 -0
  761. package/dist/components/vibecalendar/VibeCalMonthView.js.map +1 -0
  762. package/dist/components/vibecalendar/VibeCalWeekView.d.ts +12 -0
  763. package/dist/components/vibecalendar/VibeCalWeekView.d.ts.map +1 -0
  764. package/dist/components/vibecalendar/VibeCalWeekView.js +100 -0
  765. package/dist/components/vibecalendar/VibeCalWeekView.js.map +1 -0
  766. package/dist/components/vibecalendar/VibeCalendarHeader.d.ts +12 -0
  767. package/dist/components/vibecalendar/VibeCalendarHeader.d.ts.map +1 -0
  768. package/dist/components/vibecalendar/VibeCalendarHeader.js +129 -0
  769. package/dist/components/vibecalendar/VibeCalendarHeader.js.map +1 -0
  770. package/dist/components/vibecalendar/VibeTaskBlock.d.ts +12 -0
  771. package/dist/components/vibecalendar/VibeTaskBlock.d.ts.map +1 -0
  772. package/dist/components/vibecalendar/VibeTaskBlock.js +59 -0
  773. package/dist/components/vibecalendar/VibeTaskBlock.js.map +1 -0
  774. package/dist/components/vibecalendar/expandOccurrences.d.ts +37 -0
  775. package/dist/components/vibecalendar/expandOccurrences.d.ts.map +1 -0
  776. package/dist/components/vibecalendar/expandOccurrences.js +103 -0
  777. package/dist/components/vibecalendar/expandOccurrences.js.map +1 -0
  778. package/dist/components/vibecalendar/index.d.ts +11 -0
  779. package/dist/components/vibecalendar/index.d.ts.map +1 -0
  780. package/dist/components/vibecalendar/index.js +8 -0
  781. package/dist/components/vibecalendar/types.d.ts +53 -0
  782. package/dist/components/vibecalendar/types.d.ts.map +1 -0
  783. package/dist/components/vibecalendar/types.js +17 -0
  784. package/dist/components/vibecalendar/types.js.map +1 -0
  785. package/dist/components/vibedeck/VibeDeckButtonForm.d.ts +54 -0
  786. package/dist/components/vibedeck/VibeDeckButtonForm.d.ts.map +1 -0
  787. package/dist/components/vibedeck/VibeDeckButtonForm.js +400 -0
  788. package/dist/components/vibedeck/VibeDeckButtonForm.js.map +1 -0
  789. package/dist/components/vibedeck/VibeDeckButtonTile.d.ts +48 -0
  790. package/dist/components/vibedeck/VibeDeckButtonTile.d.ts.map +1 -0
  791. package/dist/components/vibedeck/VibeDeckButtonTile.js +196 -0
  792. package/dist/components/vibedeck/VibeDeckButtonTile.js.map +1 -0
  793. package/dist/components/vibedeck/VibeDeckExecutionLog.d.ts +25 -0
  794. package/dist/components/vibedeck/VibeDeckExecutionLog.d.ts.map +1 -0
  795. package/dist/components/vibedeck/VibeDeckExecutionLog.js +212 -0
  796. package/dist/components/vibedeck/VibeDeckExecutionLog.js.map +1 -0
  797. package/dist/components/vibedeck/VibeDeckForm.d.ts +21 -0
  798. package/dist/components/vibedeck/VibeDeckForm.d.ts.map +1 -0
  799. package/dist/components/vibedeck/VibeDeckForm.js +233 -0
  800. package/dist/components/vibedeck/VibeDeckForm.js.map +1 -0
  801. package/dist/components/vibedeck/VibeDeckGrid.d.ts +51 -0
  802. package/dist/components/vibedeck/VibeDeckGrid.d.ts.map +1 -0
  803. package/dist/components/vibedeck/VibeDeckGrid.js +127 -0
  804. package/dist/components/vibedeck/VibeDeckGrid.js.map +1 -0
  805. package/dist/components/vibedeck/VibeDeckShareDialog.d.ts +10 -0
  806. package/dist/components/vibedeck/VibeDeckShareDialog.d.ts.map +1 -0
  807. package/dist/components/vibedeck/VibeDeckShareDialog.js +312 -0
  808. package/dist/components/vibedeck/VibeDeckShareDialog.js.map +1 -0
  809. package/dist/components/vibedeck/VibeDeckSwitcher.d.ts +28 -0
  810. package/dist/components/vibedeck/VibeDeckSwitcher.d.ts.map +1 -0
  811. package/dist/components/vibedeck/VibeDeckSwitcher.js +118 -0
  812. package/dist/components/vibedeck/VibeDeckSwitcher.js.map +1 -0
  813. package/dist/components/vibedeck/index.d.ts +9 -0
  814. package/dist/components/vibedeck/index.d.ts.map +1 -0
  815. package/dist/components/vibedeck/index.js +7 -0
  816. package/dist/components/vibes/VibeCard.d.ts +19 -0
  817. package/dist/components/vibes/VibeCard.d.ts.map +1 -0
  818. package/dist/components/vibes/VibeCard.js +162 -0
  819. package/dist/components/vibes/VibeCard.js.map +1 -0
  820. package/dist/components/vibes/VibeForm.d.ts +15 -0
  821. package/dist/components/vibes/VibeForm.d.ts.map +1 -0
  822. package/dist/components/vibes/VibeForm.js +4 -0
  823. package/dist/components/vibes/VibeList.d.ts +20 -0
  824. package/dist/components/vibes/VibeList.d.ts.map +1 -0
  825. package/dist/components/vibes/VibeList.js +321 -0
  826. package/dist/components/vibes/VibeList.js.map +1 -0
  827. package/dist/components/vibes/icons.d.ts +6 -0
  828. package/dist/components/vibes/icons.d.ts.map +1 -0
  829. package/dist/components/vibes/icons.js +14 -0
  830. package/dist/components/vibes/icons.js.map +1 -0
  831. package/dist/components/vibes/index.d.ts +5 -0
  832. package/dist/components/vibes/index.d.ts.map +1 -0
  833. package/dist/components/vibes/index.js +3 -0
  834. package/dist/components/vibes/types.d.ts +71 -0
  835. package/dist/components/vibes/types.d.ts.map +1 -0
  836. package/dist/components/webhooks/WebhookCard.d.ts +12 -0
  837. package/dist/components/webhooks/WebhookCard.d.ts.map +1 -0
  838. package/dist/components/webhooks/WebhookForm.d.ts +11 -0
  839. package/dist/components/webhooks/WebhookForm.d.ts.map +1 -0
  840. package/dist/components/webhooks/WebhookList.d.ts +14 -0
  841. package/dist/components/webhooks/WebhookList.d.ts.map +1 -0
  842. package/dist/components/webhooks/index.d.ts +5 -0
  843. package/dist/components/webhooks/index.d.ts.map +1 -0
  844. package/dist/components/webhooks/types.d.ts +58 -0
  845. package/dist/components/webhooks/types.d.ts.map +1 -0
  846. package/dist/config/assistantUsecases.d.ts +18 -0
  847. package/dist/config/assistantUsecases.d.ts.map +1 -0
  848. package/dist/config/assistantUsecases.js +40 -0
  849. package/dist/config/assistantUsecases.js.map +1 -0
  850. package/dist/config/index.d.ts +24 -0
  851. package/dist/config/index.d.ts.map +1 -0
  852. package/dist/config/index.js +27 -0
  853. package/dist/config/index.js.map +1 -0
  854. package/dist/constants/permissions.d.ts +112 -0
  855. package/dist/constants/permissions.d.ts.map +1 -0
  856. package/dist/constants/permissions.js +92 -0
  857. package/dist/constants/permissions.js.map +1 -0
  858. package/dist/constants/pluginCatalog.d.ts +36 -0
  859. package/dist/constants/pluginCatalog.d.ts.map +1 -0
  860. package/dist/constants/pluginCatalog.js +140 -0
  861. package/dist/constants/pluginCatalog.js.map +1 -0
  862. package/dist/dev/main.d.ts +2 -0
  863. package/dist/dev/main.d.ts.map +1 -0
  864. package/dist/generated/global-operations.d.ts +2 -0
  865. package/dist/generated/global-operations.d.ts.map +1 -0
  866. package/dist/generated/global-types.d.ts +21253 -0
  867. package/dist/generated/global-types.d.ts.map +1 -0
  868. package/dist/generated/wspace-operations.d.ts +15218 -0
  869. package/dist/generated/wspace-operations.d.ts.map +1 -0
  870. package/dist/generated/wspace-operations.js +7326 -0
  871. package/dist/generated/wspace-operations.js.map +1 -0
  872. package/dist/generated/wspace-types.d.ts +55252 -0
  873. package/dist/generated/wspace-types.d.ts.map +1 -0
  874. package/dist/generated/wspace-types.js +30 -0
  875. package/dist/generated/wspace-types.js.map +1 -0
  876. package/dist/hooks/index.d.ts +7 -0
  877. package/dist/hooks/index.d.ts.map +1 -0
  878. package/dist/hooks/useAgentConnectivity.d.ts +47 -0
  879. package/dist/hooks/useAgentConnectivity.d.ts.map +1 -0
  880. package/dist/hooks/useAgentConnectivity.js +56 -0
  881. package/dist/hooks/useAgentConnectivity.js.map +1 -0
  882. package/dist/hooks/useAgentEvents.d.ts +36 -0
  883. package/dist/hooks/useAgentEvents.d.ts.map +1 -0
  884. package/dist/hooks/useAgentEvents.js +101 -0
  885. package/dist/hooks/useAgentEvents.js.map +1 -0
  886. package/dist/hooks/useAgentManagerKeyboard.d.ts +17 -0
  887. package/dist/hooks/useAgentManagerKeyboard.d.ts.map +1 -0
  888. package/dist/hooks/useAgentManagerKeyboard.js +49 -0
  889. package/dist/hooks/useAgentManagerKeyboard.js.map +1 -0
  890. package/dist/hooks/useAgentManagerStreaming.d.ts +19 -0
  891. package/dist/hooks/useAgentManagerStreaming.d.ts.map +1 -0
  892. package/dist/hooks/useAgentManagerStreaming.js +86 -0
  893. package/dist/hooks/useAgentManagerStreaming.js.map +1 -0
  894. package/dist/hooks/useAssistantHeartbeat.d.ts +4 -0
  895. package/dist/hooks/useAssistantHeartbeat.d.ts.map +1 -0
  896. package/dist/hooks/useAssistantHeartbeat.js +40 -0
  897. package/dist/hooks/useAssistantHeartbeat.js.map +1 -0
  898. package/dist/hooks/useAssistantKeyboardShortcuts.d.ts +18 -0
  899. package/dist/hooks/useAssistantKeyboardShortcuts.d.ts.map +1 -0
  900. package/dist/hooks/useAssistantKeyboardShortcuts.js +37 -0
  901. package/dist/hooks/useAssistantKeyboardShortcuts.js.map +1 -0
  902. package/dist/hooks/useCachedInitialData.d.ts +120 -0
  903. package/dist/hooks/useCachedInitialData.d.ts.map +1 -0
  904. package/dist/hooks/useCachedInitialData.js +107 -0
  905. package/dist/hooks/useCachedInitialData.js.map +1 -0
  906. package/dist/hooks/useEntityTags.d.ts +24 -0
  907. package/dist/hooks/useEntityTags.d.ts.map +1 -0
  908. package/dist/hooks/useEntityTags.js +31 -0
  909. package/dist/hooks/useEntityTags.js.map +1 -0
  910. package/dist/hooks/useFileUpload.d.ts +15 -0
  911. package/dist/hooks/useFileUpload.d.ts.map +1 -0
  912. package/dist/hooks/useInitialDataLoader.d.ts +48 -0
  913. package/dist/hooks/useInitialDataLoader.d.ts.map +1 -0
  914. package/dist/hooks/useInitialDataLoader.js +25 -0
  915. package/dist/hooks/useInitialDataLoader.js.map +1 -0
  916. package/dist/hooks/useMcpServers.d.ts +14 -0
  917. package/dist/hooks/useMcpServers.d.ts.map +1 -0
  918. package/dist/hooks/useOpenAssistantHelp.d.ts +2 -0
  919. package/dist/hooks/useOpenAssistantHelp.d.ts.map +1 -0
  920. package/dist/hooks/useOpenAssistantHelp.js +14 -0
  921. package/dist/hooks/useOpenAssistantHelp.js.map +1 -0
  922. package/dist/hooks/usePluginAvailability.d.ts +35 -0
  923. package/dist/hooks/usePluginAvailability.d.ts.map +1 -0
  924. package/dist/hooks/usePluginAvailability.js +112 -0
  925. package/dist/hooks/usePluginAvailability.js.map +1 -0
  926. package/dist/hooks/useQueryBackedTab.d.ts +2 -0
  927. package/dist/hooks/useQueryBackedTab.d.ts.map +1 -0
  928. package/dist/hooks/useQueryBackedTab.js +19 -0
  929. package/dist/hooks/useQueryBackedTab.js.map +1 -0
  930. package/dist/hooks/useSessionSearch.d.ts +24 -0
  931. package/dist/hooks/useSessionSearch.d.ts.map +1 -0
  932. package/dist/hooks/useVoiceMode.d.ts +17 -0
  933. package/dist/hooks/useVoiceMode.d.ts.map +1 -0
  934. package/dist/hooks/useVoiceMode.js +46 -0
  935. package/dist/hooks/useVoiceMode.js.map +1 -0
  936. package/dist/index.d.ts +17 -0
  937. package/dist/index.d.ts.map +1 -0
  938. package/dist/index.js +11 -0
  939. package/dist/lib/vibeFeatures.d.ts +29 -0
  940. package/dist/lib/vibeFeatures.d.ts.map +1 -0
  941. package/dist/lib/vibeFeatures.js +80 -0
  942. package/dist/lib/vibeFeatures.js.map +1 -0
  943. package/dist/microfe-vibecontrols.css +2 -0
  944. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js +24 -0
  945. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +1 -0
  946. package/dist/node_modules/@apollo/client/errors/utils.js +16 -0
  947. package/dist/node_modules/@apollo/client/errors/utils.js.map +1 -0
  948. package/dist/node_modules/@xyflow/react/dist/esm/index.js +3281 -0
  949. package/dist/node_modules/@xyflow/react/dist/esm/index.js.map +1 -0
  950. package/dist/node_modules/@xyflow/system/dist/esm/index.js +1845 -0
  951. package/dist/node_modules/@xyflow/system/dist/esm/index.js.map +1 -0
  952. package/dist/node_modules/classcat/index.js +12 -0
  953. package/dist/node_modules/classcat/index.js.map +1 -0
  954. package/dist/node_modules/clsx/dist/clsx.js +18 -0
  955. package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
  956. package/dist/node_modules/d3-array/src/ascending.js +8 -0
  957. package/dist/node_modules/d3-array/src/ascending.js.map +1 -0
  958. package/dist/node_modules/d3-array/src/bisect.js +10 -0
  959. package/dist/node_modules/d3-array/src/bisect.js.map +1 -0
  960. package/dist/node_modules/d3-array/src/bisector.js +43 -0
  961. package/dist/node_modules/d3-array/src/bisector.js.map +1 -0
  962. package/dist/node_modules/d3-array/src/descending.js +8 -0
  963. package/dist/node_modules/d3-array/src/descending.js.map +1 -0
  964. package/dist/node_modules/d3-array/src/max.js +14 -0
  965. package/dist/node_modules/d3-array/src/max.js.map +1 -0
  966. package/dist/node_modules/d3-array/src/min.js +14 -0
  967. package/dist/node_modules/d3-array/src/min.js.map +1 -0
  968. package/dist/node_modules/d3-array/src/number.js +15 -0
  969. package/dist/node_modules/d3-array/src/number.js.map +1 -0
  970. package/dist/node_modules/d3-array/src/quantile.js +25 -0
  971. package/dist/node_modules/d3-array/src/quantile.js.map +1 -0
  972. package/dist/node_modules/d3-array/src/quickselect.js +26 -0
  973. package/dist/node_modules/d3-array/src/quickselect.js.map +1 -0
  974. package/dist/node_modules/d3-array/src/range.js +10 -0
  975. package/dist/node_modules/d3-array/src/range.js.map +1 -0
  976. package/dist/node_modules/d3-array/src/sort.js +17 -0
  977. package/dist/node_modules/d3-array/src/sort.js.map +1 -0
  978. package/dist/node_modules/d3-array/src/ticks.js +34 -0
  979. package/dist/node_modules/d3-array/src/ticks.js.map +1 -0
  980. package/dist/node_modules/d3-color/src/color.js +291 -0
  981. package/dist/node_modules/d3-color/src/color.js.map +1 -0
  982. package/dist/node_modules/d3-color/src/define.js +13 -0
  983. package/dist/node_modules/d3-color/src/define.js.map +1 -0
  984. package/dist/node_modules/d3-dispatch/src/dispatch.js +67 -0
  985. package/dist/node_modules/d3-dispatch/src/dispatch.js.map +1 -0
  986. package/dist/node_modules/d3-drag/src/constant.js +6 -0
  987. package/dist/node_modules/d3-drag/src/constant.js.map +1 -0
  988. package/dist/node_modules/d3-drag/src/drag.js +116 -0
  989. package/dist/node_modules/d3-drag/src/drag.js.map +1 -0
  990. package/dist/node_modules/d3-drag/src/event.js +64 -0
  991. package/dist/node_modules/d3-drag/src/event.js.map +1 -0
  992. package/dist/node_modules/d3-drag/src/nodrag.js +17 -0
  993. package/dist/node_modules/d3-drag/src/nodrag.js.map +1 -0
  994. package/dist/node_modules/d3-drag/src/noevent.js +15 -0
  995. package/dist/node_modules/d3-drag/src/noevent.js.map +1 -0
  996. package/dist/node_modules/d3-ease/src/cubic.js +8 -0
  997. package/dist/node_modules/d3-ease/src/cubic.js.map +1 -0
  998. package/dist/node_modules/d3-format/src/defaultLocale.js +15 -0
  999. package/dist/node_modules/d3-format/src/defaultLocale.js.map +1 -0
  1000. package/dist/node_modules/d3-format/src/exponent.js +9 -0
  1001. package/dist/node_modules/d3-format/src/exponent.js.map +1 -0
  1002. package/dist/node_modules/d3-format/src/formatDecimal.js +13 -0
  1003. package/dist/node_modules/d3-format/src/formatDecimal.js.map +1 -0
  1004. package/dist/node_modules/d3-format/src/formatGroup.js +11 -0
  1005. package/dist/node_modules/d3-format/src/formatGroup.js.map +1 -0
  1006. package/dist/node_modules/d3-format/src/formatNumerals.js +12 -0
  1007. package/dist/node_modules/d3-format/src/formatNumerals.js.map +1 -0
  1008. package/dist/node_modules/d3-format/src/formatPrefixAuto.js +13 -0
  1009. package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +1 -0
  1010. package/dist/node_modules/d3-format/src/formatRounded.js +12 -0
  1011. package/dist/node_modules/d3-format/src/formatRounded.js.map +1 -0
  1012. package/dist/node_modules/d3-format/src/formatSpecifier.js +29 -0
  1013. package/dist/node_modules/d3-format/src/formatSpecifier.js.map +1 -0
  1014. package/dist/node_modules/d3-format/src/formatTrim.js +20 -0
  1015. package/dist/node_modules/d3-format/src/formatTrim.js.map +1 -0
  1016. package/dist/node_modules/d3-format/src/formatTypes.js +23 -0
  1017. package/dist/node_modules/d3-format/src/formatTypes.js.map +1 -0
  1018. package/dist/node_modules/d3-format/src/identity.js +8 -0
  1019. package/dist/node_modules/d3-format/src/identity.js.map +1 -0
  1020. package/dist/node_modules/d3-format/src/locale.js +86 -0
  1021. package/dist/node_modules/d3-format/src/locale.js.map +1 -0
  1022. package/dist/node_modules/d3-format/src/precisionFixed.js +9 -0
  1023. package/dist/node_modules/d3-format/src/precisionFixed.js.map +1 -0
  1024. package/dist/node_modules/d3-format/src/precisionPrefix.js +9 -0
  1025. package/dist/node_modules/d3-format/src/precisionPrefix.js.map +1 -0
  1026. package/dist/node_modules/d3-format/src/precisionRound.js +9 -0
  1027. package/dist/node_modules/d3-format/src/precisionRound.js.map +1 -0
  1028. package/dist/node_modules/d3-interpolate/src/array.js +15 -0
  1029. package/dist/node_modules/d3-interpolate/src/array.js.map +1 -0
  1030. package/dist/node_modules/d3-interpolate/src/basis.js +16 -0
  1031. package/dist/node_modules/d3-interpolate/src/basis.js.map +1 -0
  1032. package/dist/node_modules/d3-interpolate/src/basisClosed.js +13 -0
  1033. package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +1 -0
  1034. package/dist/node_modules/d3-interpolate/src/color.js +25 -0
  1035. package/dist/node_modules/d3-interpolate/src/color.js.map +1 -0
  1036. package/dist/node_modules/d3-interpolate/src/constant.js +6 -0
  1037. package/dist/node_modules/d3-interpolate/src/constant.js.map +1 -0
  1038. package/dist/node_modules/d3-interpolate/src/date.js +11 -0
  1039. package/dist/node_modules/d3-interpolate/src/date.js.map +1 -0
  1040. package/dist/node_modules/d3-interpolate/src/number.js +10 -0
  1041. package/dist/node_modules/d3-interpolate/src/number.js.map +1 -0
  1042. package/dist/node_modules/d3-interpolate/src/numberArray.js +16 -0
  1043. package/dist/node_modules/d3-interpolate/src/numberArray.js.map +1 -0
  1044. package/dist/node_modules/d3-interpolate/src/object.js +14 -0
  1045. package/dist/node_modules/d3-interpolate/src/object.js.map +1 -0
  1046. package/dist/node_modules/d3-interpolate/src/piecewise.js +14 -0
  1047. package/dist/node_modules/d3-interpolate/src/piecewise.js.map +1 -0
  1048. package/dist/node_modules/d3-interpolate/src/rgb.js +19 -0
  1049. package/dist/node_modules/d3-interpolate/src/rgb.js.map +1 -0
  1050. package/dist/node_modules/d3-interpolate/src/round.js +10 -0
  1051. package/dist/node_modules/d3-interpolate/src/round.js.map +1 -0
  1052. package/dist/node_modules/d3-interpolate/src/string.js +28 -0
  1053. package/dist/node_modules/d3-interpolate/src/string.js.map +1 -0
  1054. package/dist/node_modules/d3-interpolate/src/transform/decompose.js +24 -0
  1055. package/dist/node_modules/d3-interpolate/src/transform/decompose.js.map +1 -0
  1056. package/dist/node_modules/d3-interpolate/src/transform/index.js +56 -0
  1057. package/dist/node_modules/d3-interpolate/src/transform/index.js.map +1 -0
  1058. package/dist/node_modules/d3-interpolate/src/transform/parse.js +14 -0
  1059. package/dist/node_modules/d3-interpolate/src/transform/parse.js.map +1 -0
  1060. package/dist/node_modules/d3-interpolate/src/value.js +18 -0
  1061. package/dist/node_modules/d3-interpolate/src/value.js.map +1 -0
  1062. package/dist/node_modules/d3-interpolate/src/zoom.js +43 -0
  1063. package/dist/node_modules/d3-interpolate/src/zoom.js.map +1 -0
  1064. package/dist/node_modules/d3-path/src/path.js +65 -0
  1065. package/dist/node_modules/d3-path/src/path.js.map +1 -0
  1066. package/dist/node_modules/d3-scale/src/band.js +52 -0
  1067. package/dist/node_modules/d3-scale/src/band.js.map +1 -0
  1068. package/dist/node_modules/d3-scale/src/constant.js +10 -0
  1069. package/dist/node_modules/d3-scale/src/constant.js.map +1 -0
  1070. package/dist/node_modules/d3-scale/src/continuous.js +73 -0
  1071. package/dist/node_modules/d3-scale/src/continuous.js.map +1 -0
  1072. package/dist/node_modules/d3-scale/src/diverging.js +82 -0
  1073. package/dist/node_modules/d3-scale/src/diverging.js.map +1 -0
  1074. package/dist/node_modules/d3-scale/src/identity.js +20 -0
  1075. package/dist/node_modules/d3-scale/src/identity.js.map +1 -0
  1076. package/dist/node_modules/d3-scale/src/init.js +29 -0
  1077. package/dist/node_modules/d3-scale/src/init.js.map +1 -0
  1078. package/dist/node_modules/d3-scale/src/linear.js +36 -0
  1079. package/dist/node_modules/d3-scale/src/linear.js.map +1 -0
  1080. package/dist/node_modules/d3-scale/src/log.js +77 -0
  1081. package/dist/node_modules/d3-scale/src/log.js.map +1 -0
  1082. package/dist/node_modules/d3-scale/src/nice.js +10 -0
  1083. package/dist/node_modules/d3-scale/src/nice.js.map +1 -0
  1084. package/dist/node_modules/d3-scale/src/number.js +8 -0
  1085. package/dist/node_modules/d3-scale/src/number.js.map +1 -0
  1086. package/dist/node_modules/d3-scale/src/ordinal.js +31 -0
  1087. package/dist/node_modules/d3-scale/src/ordinal.js.map +1 -0
  1088. package/dist/node_modules/d3-scale/src/pow.js +37 -0
  1089. package/dist/node_modules/d3-scale/src/pow.js.map +1 -0
  1090. package/dist/node_modules/d3-scale/src/quantile.js +37 -0
  1091. package/dist/node_modules/d3-scale/src/quantile.js.map +1 -0
  1092. package/dist/node_modules/d3-scale/src/quantize.js +33 -0
  1093. package/dist/node_modules/d3-scale/src/quantize.js.map +1 -0
  1094. package/dist/node_modules/d3-scale/src/radial.js +39 -0
  1095. package/dist/node_modules/d3-scale/src/radial.js.map +1 -0
  1096. package/dist/node_modules/d3-scale/src/sequential.js +67 -0
  1097. package/dist/node_modules/d3-scale/src/sequential.js.map +1 -0
  1098. package/dist/node_modules/d3-scale/src/sequentialQuantile.js +30 -0
  1099. package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +1 -0
  1100. package/dist/node_modules/d3-scale/src/symlog.js +30 -0
  1101. package/dist/node_modules/d3-scale/src/symlog.js.map +1 -0
  1102. package/dist/node_modules/d3-scale/src/threshold.js +25 -0
  1103. package/dist/node_modules/d3-scale/src/threshold.js.map +1 -0
  1104. package/dist/node_modules/d3-scale/src/tickFormat.js +31 -0
  1105. package/dist/node_modules/d3-scale/src/tickFormat.js.map +1 -0
  1106. package/dist/node_modules/d3-scale/src/time.js +47 -0
  1107. package/dist/node_modules/d3-scale/src/time.js.map +1 -0
  1108. package/dist/node_modules/d3-scale/src/utcTime.js +19 -0
  1109. package/dist/node_modules/d3-scale/src/utcTime.js.map +1 -0
  1110. package/dist/node_modules/d3-selection/src/array.js +8 -0
  1111. package/dist/node_modules/d3-selection/src/array.js.map +1 -0
  1112. package/dist/node_modules/d3-selection/src/constant.js +10 -0
  1113. package/dist/node_modules/d3-selection/src/constant.js.map +1 -0
  1114. package/dist/node_modules/d3-selection/src/creator.js +22 -0
  1115. package/dist/node_modules/d3-selection/src/creator.js.map +1 -0
  1116. package/dist/node_modules/d3-selection/src/matcher.js +15 -0
  1117. package/dist/node_modules/d3-selection/src/matcher.js.map +1 -0
  1118. package/dist/node_modules/d3-selection/src/namespace.js +13 -0
  1119. package/dist/node_modules/d3-selection/src/namespace.js.map +1 -0
  1120. package/dist/node_modules/d3-selection/src/namespaces.js +12 -0
  1121. package/dist/node_modules/d3-selection/src/namespaces.js.map +1 -0
  1122. package/dist/node_modules/d3-selection/src/pointer.js +20 -0
  1123. package/dist/node_modules/d3-selection/src/pointer.js.map +1 -0
  1124. package/dist/node_modules/d3-selection/src/select.js +9 -0
  1125. package/dist/node_modules/d3-selection/src/select.js.map +1 -0
  1126. package/dist/node_modules/d3-selection/src/selection/append.js +12 -0
  1127. package/dist/node_modules/d3-selection/src/selection/append.js.map +1 -0
  1128. package/dist/node_modules/d3-selection/src/selection/attr.js +46 -0
  1129. package/dist/node_modules/d3-selection/src/selection/attr.js.map +1 -0
  1130. package/dist/node_modules/d3-selection/src/selection/call.js +9 -0
  1131. package/dist/node_modules/d3-selection/src/selection/call.js.map +1 -0
  1132. package/dist/node_modules/d3-selection/src/selection/classed.js +55 -0
  1133. package/dist/node_modules/d3-selection/src/selection/classed.js.map +1 -0
  1134. package/dist/node_modules/d3-selection/src/selection/clone.js +16 -0
  1135. package/dist/node_modules/d3-selection/src/selection/clone.js.map +1 -0
  1136. package/dist/node_modules/d3-selection/src/selection/data.js +38 -0
  1137. package/dist/node_modules/d3-selection/src/selection/data.js.map +1 -0
  1138. package/dist/node_modules/d3-selection/src/selection/datum.js +8 -0
  1139. package/dist/node_modules/d3-selection/src/selection/datum.js.map +1 -0
  1140. package/dist/node_modules/d3-selection/src/selection/dispatch.js +23 -0
  1141. package/dist/node_modules/d3-selection/src/selection/dispatch.js.map +1 -0
  1142. package/dist/node_modules/d3-selection/src/selection/each.js +9 -0
  1143. package/dist/node_modules/d3-selection/src/selection/each.js.map +1 -0
  1144. package/dist/node_modules/d3-selection/src/selection/empty.js +8 -0
  1145. package/dist/node_modules/d3-selection/src/selection/empty.js.map +1 -0
  1146. package/dist/node_modules/d3-selection/src/selection/enter.js +28 -0
  1147. package/dist/node_modules/d3-selection/src/selection/enter.js.map +1 -0
  1148. package/dist/node_modules/d3-selection/src/selection/exit.js +10 -0
  1149. package/dist/node_modules/d3-selection/src/selection/exit.js.map +1 -0
  1150. package/dist/node_modules/d3-selection/src/selection/filter.js +12 -0
  1151. package/dist/node_modules/d3-selection/src/selection/filter.js.map +1 -0
  1152. package/dist/node_modules/d3-selection/src/selection/html.js +21 -0
  1153. package/dist/node_modules/d3-selection/src/selection/html.js.map +1 -0
  1154. package/dist/node_modules/d3-selection/src/selection/index.js +87 -0
  1155. package/dist/node_modules/d3-selection/src/selection/index.js.map +1 -0
  1156. package/dist/node_modules/d3-selection/src/selection/insert.js +16 -0
  1157. package/dist/node_modules/d3-selection/src/selection/insert.js.map +1 -0
  1158. package/dist/node_modules/d3-selection/src/selection/iterator.js +8 -0
  1159. package/dist/node_modules/d3-selection/src/selection/iterator.js.map +1 -0
  1160. package/dist/node_modules/d3-selection/src/selection/join.js +9 -0
  1161. package/dist/node_modules/d3-selection/src/selection/join.js.map +1 -0
  1162. package/dist/node_modules/d3-selection/src/selection/lower.js +11 -0
  1163. package/dist/node_modules/d3-selection/src/selection/lower.js.map +1 -0
  1164. package/dist/node_modules/d3-selection/src/selection/merge.js +11 -0
  1165. package/dist/node_modules/d3-selection/src/selection/merge.js.map +1 -0
  1166. package/dist/node_modules/d3-selection/src/selection/node.js +12 -0
  1167. package/dist/node_modules/d3-selection/src/selection/node.js.map +1 -0
  1168. package/dist/node_modules/d3-selection/src/selection/nodes.js +8 -0
  1169. package/dist/node_modules/d3-selection/src/selection/nodes.js.map +1 -0
  1170. package/dist/node_modules/d3-selection/src/selection/on.js +58 -0
  1171. package/dist/node_modules/d3-selection/src/selection/on.js.map +1 -0
  1172. package/dist/node_modules/d3-selection/src/selection/order.js +9 -0
  1173. package/dist/node_modules/d3-selection/src/selection/order.js.map +1 -0
  1174. package/dist/node_modules/d3-selection/src/selection/property.js +24 -0
  1175. package/dist/node_modules/d3-selection/src/selection/property.js.map +1 -0
  1176. package/dist/node_modules/d3-selection/src/selection/raise.js +11 -0
  1177. package/dist/node_modules/d3-selection/src/selection/raise.js.map +1 -0
  1178. package/dist/node_modules/d3-selection/src/selection/remove.js +12 -0
  1179. package/dist/node_modules/d3-selection/src/selection/remove.js.map +1 -0
  1180. package/dist/node_modules/d3-selection/src/selection/select.js +12 -0
  1181. package/dist/node_modules/d3-selection/src/selection/select.js.map +1 -0
  1182. package/dist/node_modules/d3-selection/src/selection/selectAll.js +18 -0
  1183. package/dist/node_modules/d3-selection/src/selection/selectAll.js.map +1 -0
  1184. package/dist/node_modules/d3-selection/src/selection/selectChild.js +18 -0
  1185. package/dist/node_modules/d3-selection/src/selection/selectChild.js.map +1 -0
  1186. package/dist/node_modules/d3-selection/src/selection/selectChildren.js +18 -0
  1187. package/dist/node_modules/d3-selection/src/selection/selectChildren.js.map +1 -0
  1188. package/dist/node_modules/d3-selection/src/selection/size.js +10 -0
  1189. package/dist/node_modules/d3-selection/src/selection/size.js.map +1 -0
  1190. package/dist/node_modules/d3-selection/src/selection/sort.js +20 -0
  1191. package/dist/node_modules/d3-selection/src/selection/sort.js.map +1 -0
  1192. package/dist/node_modules/d3-selection/src/selection/sparse.js +8 -0
  1193. package/dist/node_modules/d3-selection/src/selection/sparse.js.map +1 -0
  1194. package/dist/node_modules/d3-selection/src/selection/style.js +28 -0
  1195. package/dist/node_modules/d3-selection/src/selection/style.js.map +1 -0
  1196. package/dist/node_modules/d3-selection/src/selection/text.js +21 -0
  1197. package/dist/node_modules/d3-selection/src/selection/text.js.map +1 -0
  1198. package/dist/node_modules/d3-selection/src/selector.js +11 -0
  1199. package/dist/node_modules/d3-selection/src/selector.js.map +1 -0
  1200. package/dist/node_modules/d3-selection/src/selectorAll.js +13 -0
  1201. package/dist/node_modules/d3-selection/src/selectorAll.js.map +1 -0
  1202. package/dist/node_modules/d3-selection/src/sourceEvent.js +10 -0
  1203. package/dist/node_modules/d3-selection/src/sourceEvent.js.map +1 -0
  1204. package/dist/node_modules/d3-selection/src/window.js +8 -0
  1205. package/dist/node_modules/d3-selection/src/window.js.map +1 -0
  1206. package/dist/node_modules/d3-shape/src/area.js +55 -0
  1207. package/dist/node_modules/d3-shape/src/area.js.map +1 -0
  1208. package/dist/node_modules/d3-shape/src/array.js +8 -0
  1209. package/dist/node_modules/d3-shape/src/array.js.map +1 -0
  1210. package/dist/node_modules/d3-shape/src/constant.js +10 -0
  1211. package/dist/node_modules/d3-shape/src/constant.js.map +1 -0
  1212. package/dist/node_modules/d3-shape/src/curve/basis.js +49 -0
  1213. package/dist/node_modules/d3-shape/src/curve/basis.js.map +1 -0
  1214. package/dist/node_modules/d3-shape/src/curve/basisClosed.js +50 -0
  1215. package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +1 -0
  1216. package/dist/node_modules/d3-shape/src/curve/basisOpen.js +46 -0
  1217. package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +1 -0
  1218. package/dist/node_modules/d3-shape/src/curve/bump.js +40 -0
  1219. package/dist/node_modules/d3-shape/src/curve/bump.js.map +1 -0
  1220. package/dist/node_modules/d3-shape/src/curve/linear.js +36 -0
  1221. package/dist/node_modules/d3-shape/src/curve/linear.js.map +1 -0
  1222. package/dist/node_modules/d3-shape/src/curve/linearClosed.js +25 -0
  1223. package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +1 -0
  1224. package/dist/node_modules/d3-shape/src/curve/monotone.js +94 -0
  1225. package/dist/node_modules/d3-shape/src/curve/monotone.js.map +1 -0
  1226. package/dist/node_modules/d3-shape/src/curve/natural.js +39 -0
  1227. package/dist/node_modules/d3-shape/src/curve/natural.js.map +1 -0
  1228. package/dist/node_modules/d3-shape/src/curve/step.js +47 -0
  1229. package/dist/node_modules/d3-shape/src/curve/step.js.map +1 -0
  1230. package/dist/node_modules/d3-shape/src/line.js +30 -0
  1231. package/dist/node_modules/d3-shape/src/line.js.map +1 -0
  1232. package/dist/node_modules/d3-shape/src/math.js +8 -0
  1233. package/dist/node_modules/d3-shape/src/math.js.map +1 -0
  1234. package/dist/node_modules/d3-shape/src/noop.js +6 -0
  1235. package/dist/node_modules/d3-shape/src/noop.js.map +1 -0
  1236. package/dist/node_modules/d3-shape/src/offset/expand.js +15 -0
  1237. package/dist/node_modules/d3-shape/src/offset/expand.js.map +1 -0
  1238. package/dist/node_modules/d3-shape/src/offset/none.js +8 -0
  1239. package/dist/node_modules/d3-shape/src/offset/none.js.map +1 -0
  1240. package/dist/node_modules/d3-shape/src/offset/silhouette.js +15 -0
  1241. package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +1 -0
  1242. package/dist/node_modules/d3-shape/src/offset/wiggle.js +21 -0
  1243. package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +1 -0
  1244. package/dist/node_modules/d3-shape/src/order/none.js +9 -0
  1245. package/dist/node_modules/d3-shape/src/order/none.js.map +1 -0
  1246. package/dist/node_modules/d3-shape/src/path.js +19 -0
  1247. package/dist/node_modules/d3-shape/src/path.js.map +1 -0
  1248. package/dist/node_modules/d3-shape/src/point.js +11 -0
  1249. package/dist/node_modules/d3-shape/src/point.js.map +1 -0
  1250. package/dist/node_modules/d3-shape/src/stack.js +34 -0
  1251. package/dist/node_modules/d3-shape/src/stack.js.map +1 -0
  1252. package/dist/node_modules/d3-shape/src/symbol/circle.js +10 -0
  1253. package/dist/node_modules/d3-shape/src/symbol/circle.js.map +1 -0
  1254. package/dist/node_modules/d3-shape/src/symbol/cross.js +10 -0
  1255. package/dist/node_modules/d3-shape/src/symbol/cross.js.map +1 -0
  1256. package/dist/node_modules/d3-shape/src/symbol/diamond.js +10 -0
  1257. package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +1 -0
  1258. package/dist/node_modules/d3-shape/src/symbol/square.js +10 -0
  1259. package/dist/node_modules/d3-shape/src/symbol/square.js.map +1 -0
  1260. package/dist/node_modules/d3-shape/src/symbol/star.js +15 -0
  1261. package/dist/node_modules/d3-shape/src/symbol/star.js.map +1 -0
  1262. package/dist/node_modules/d3-shape/src/symbol/triangle.js +10 -0
  1263. package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +1 -0
  1264. package/dist/node_modules/d3-shape/src/symbol/wye.js +10 -0
  1265. package/dist/node_modules/d3-shape/src/symbol/wye.js.map +1 -0
  1266. package/dist/node_modules/d3-shape/src/symbol.js +23 -0
  1267. package/dist/node_modules/d3-shape/src/symbol.js.map +1 -0
  1268. package/dist/node_modules/d3-time/src/day.js +21 -0
  1269. package/dist/node_modules/d3-time/src/day.js.map +1 -0
  1270. package/dist/node_modules/d3-time/src/duration.js +6 -0
  1271. package/dist/node_modules/d3-time/src/duration.js.map +1 -0
  1272. package/dist/node_modules/d3-time/src/hour.js +19 -0
  1273. package/dist/node_modules/d3-time/src/hour.js.map +1 -0
  1274. package/dist/node_modules/d3-time/src/interval.js +28 -0
  1275. package/dist/node_modules/d3-time/src/interval.js.map +1 -0
  1276. package/dist/node_modules/d3-time/src/millisecond.js +14 -0
  1277. package/dist/node_modules/d3-time/src/millisecond.js.map +1 -0
  1278. package/dist/node_modules/d3-time/src/minute.js +19 -0
  1279. package/dist/node_modules/d3-time/src/minute.js.map +1 -0
  1280. package/dist/node_modules/d3-time/src/month.js +18 -0
  1281. package/dist/node_modules/d3-time/src/month.js.map +1 -0
  1282. package/dist/node_modules/d3-time/src/second.js +13 -0
  1283. package/dist/node_modules/d3-time/src/second.js.map +1 -0
  1284. package/dist/node_modules/d3-time/src/ticks.js +125 -0
  1285. package/dist/node_modules/d3-time/src/ticks.js.map +1 -0
  1286. package/dist/node_modules/d3-time/src/week.js +25 -0
  1287. package/dist/node_modules/d3-time/src/week.js.map +1 -0
  1288. package/dist/node_modules/d3-time/src/year.js +26 -0
  1289. package/dist/node_modules/d3-time/src/year.js.map +1 -0
  1290. package/dist/node_modules/d3-time-format/src/defaultLocale.js +62 -0
  1291. package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +1 -0
  1292. package/dist/node_modules/d3-time-format/src/locale.js +490 -0
  1293. package/dist/node_modules/d3-time-format/src/locale.js.map +1 -0
  1294. package/dist/node_modules/d3-timer/src/timeout.js +12 -0
  1295. package/dist/node_modules/d3-timer/src/timeout.js.map +1 -0
  1296. package/dist/node_modules/d3-timer/src/timer.js +55 -0
  1297. package/dist/node_modules/d3-timer/src/timer.js.map +1 -0
  1298. package/dist/node_modules/d3-transition/src/index.js +3 -0
  1299. package/dist/node_modules/d3-transition/src/interrupt.js +18 -0
  1300. package/dist/node_modules/d3-transition/src/interrupt.js.map +1 -0
  1301. package/dist/node_modules/d3-transition/src/selection/index.js +7 -0
  1302. package/dist/node_modules/d3-transition/src/selection/index.js.map +1 -0
  1303. package/dist/node_modules/d3-transition/src/selection/interrupt.js +11 -0
  1304. package/dist/node_modules/d3-transition/src/selection/interrupt.js.map +1 -0
  1305. package/dist/node_modules/d3-transition/src/selection/transition.js +25 -0
  1306. package/dist/node_modules/d3-transition/src/selection/transition.js.map +1 -0
  1307. package/dist/node_modules/d3-transition/src/transition/attr.js +51 -0
  1308. package/dist/node_modules/d3-transition/src/transition/attr.js.map +1 -0
  1309. package/dist/node_modules/d3-transition/src/transition/attrTween.js +40 -0
  1310. package/dist/node_modules/d3-transition/src/transition/attrTween.js.map +1 -0
  1311. package/dist/node_modules/d3-transition/src/transition/delay.js +20 -0
  1312. package/dist/node_modules/d3-transition/src/transition/delay.js.map +1 -0
  1313. package/dist/node_modules/d3-transition/src/transition/duration.js +20 -0
  1314. package/dist/node_modules/d3-transition/src/transition/duration.js.map +1 -0
  1315. package/dist/node_modules/d3-transition/src/transition/ease.js +16 -0
  1316. package/dist/node_modules/d3-transition/src/transition/ease.js.map +1 -0
  1317. package/dist/node_modules/d3-transition/src/transition/easeVarying.js +17 -0
  1318. package/dist/node_modules/d3-transition/src/transition/easeVarying.js.map +1 -0
  1319. package/dist/node_modules/d3-transition/src/transition/end.js +18 -0
  1320. package/dist/node_modules/d3-transition/src/transition/end.js.map +1 -0
  1321. package/dist/node_modules/d3-transition/src/transition/filter.js +12 -0
  1322. package/dist/node_modules/d3-transition/src/transition/filter.js.map +1 -0
  1323. package/dist/node_modules/d3-transition/src/transition/index.js +69 -0
  1324. package/dist/node_modules/d3-transition/src/transition/index.js.map +1 -0
  1325. package/dist/node_modules/d3-transition/src/transition/interpolate.js +13 -0
  1326. package/dist/node_modules/d3-transition/src/transition/interpolate.js.map +1 -0
  1327. package/dist/node_modules/d3-transition/src/transition/merge.js +12 -0
  1328. package/dist/node_modules/d3-transition/src/transition/merge.js.map +1 -0
  1329. package/dist/node_modules/d3-transition/src/transition/on.js +23 -0
  1330. package/dist/node_modules/d3-transition/src/transition/on.js.map +1 -0
  1331. package/dist/node_modules/d3-transition/src/transition/remove.js +15 -0
  1332. package/dist/node_modules/d3-transition/src/transition/remove.js.map +1 -0
  1333. package/dist/node_modules/d3-transition/src/transition/schedule.js +71 -0
  1334. package/dist/node_modules/d3-transition/src/transition/schedule.js.map +1 -0
  1335. package/dist/node_modules/d3-transition/src/transition/select.js +14 -0
  1336. package/dist/node_modules/d3-transition/src/transition/select.js.map +1 -0
  1337. package/dist/node_modules/d3-transition/src/transition/selectAll.js +17 -0
  1338. package/dist/node_modules/d3-transition/src/transition/selectAll.js.map +1 -0
  1339. package/dist/node_modules/d3-transition/src/transition/selection.js +10 -0
  1340. package/dist/node_modules/d3-transition/src/transition/selection.js.map +1 -0
  1341. package/dist/node_modules/d3-transition/src/transition/style.js +47 -0
  1342. package/dist/node_modules/d3-transition/src/transition/style.js.map +1 -0
  1343. package/dist/node_modules/d3-transition/src/transition/styleTween.js +25 -0
  1344. package/dist/node_modules/d3-transition/src/transition/styleTween.js.map +1 -0
  1345. package/dist/node_modules/d3-transition/src/transition/text.js +19 -0
  1346. package/dist/node_modules/d3-transition/src/transition/text.js.map +1 -0
  1347. package/dist/node_modules/d3-transition/src/transition/textTween.js +25 -0
  1348. package/dist/node_modules/d3-transition/src/transition/textTween.js.map +1 -0
  1349. package/dist/node_modules/d3-transition/src/transition/transition.js +19 -0
  1350. package/dist/node_modules/d3-transition/src/transition/transition.js.map +1 -0
  1351. package/dist/node_modules/d3-transition/src/transition/tween.js +56 -0
  1352. package/dist/node_modules/d3-transition/src/transition/tween.js.map +1 -0
  1353. package/dist/node_modules/d3-zoom/src/constant.js +6 -0
  1354. package/dist/node_modules/d3-zoom/src/constant.js.map +1 -0
  1355. package/dist/node_modules/d3-zoom/src/event.js +30 -0
  1356. package/dist/node_modules/d3-zoom/src/event.js.map +1 -0
  1357. package/dist/node_modules/d3-zoom/src/index.js +2 -0
  1358. package/dist/node_modules/d3-zoom/src/noevent.js +11 -0
  1359. package/dist/node_modules/d3-zoom/src/noevent.js.map +1 -0
  1360. package/dist/node_modules/d3-zoom/src/transform.js +50 -0
  1361. package/dist/node_modules/d3-zoom/src/transform.js.map +1 -0
  1362. package/dist/node_modules/d3-zoom/src/zoom.js +219 -0
  1363. package/dist/node_modules/d3-zoom/src/zoom.js.map +1 -0
  1364. package/dist/node_modules/decimal.js-light/decimal.js +378 -0
  1365. package/dist/node_modules/decimal.js-light/decimal.js.map +1 -0
  1366. package/dist/node_modules/eventemitter3/index.js +95 -0
  1367. package/dist/node_modules/eventemitter3/index.js.map +1 -0
  1368. package/dist/node_modules/fast-equals/dist/es/index.js +267 -0
  1369. package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -0
  1370. package/dist/node_modules/internmap/src/index.js +40 -0
  1371. package/dist/node_modules/internmap/src/index.js.map +1 -0
  1372. package/dist/node_modules/lodash/_DataView.js +12 -0
  1373. package/dist/node_modules/lodash/_DataView.js.map +1 -0
  1374. package/dist/node_modules/lodash/_Hash.js +23 -0
  1375. package/dist/node_modules/lodash/_Hash.js.map +1 -0
  1376. package/dist/node_modules/lodash/_ListCache.js +23 -0
  1377. package/dist/node_modules/lodash/_ListCache.js.map +1 -0
  1378. package/dist/node_modules/lodash/_Map.js +12 -0
  1379. package/dist/node_modules/lodash/_Map.js.map +1 -0
  1380. package/dist/node_modules/lodash/_MapCache.js +23 -0
  1381. package/dist/node_modules/lodash/_MapCache.js.map +1 -0
  1382. package/dist/node_modules/lodash/_Promise.js +12 -0
  1383. package/dist/node_modules/lodash/_Promise.js.map +1 -0
  1384. package/dist/node_modules/lodash/_Set.js +12 -0
  1385. package/dist/node_modules/lodash/_Set.js.map +1 -0
  1386. package/dist/node_modules/lodash/_SetCache.js +18 -0
  1387. package/dist/node_modules/lodash/_SetCache.js.map +1 -0
  1388. package/dist/node_modules/lodash/_Stack.js +20 -0
  1389. package/dist/node_modules/lodash/_Stack.js.map +1 -0
  1390. package/dist/node_modules/lodash/_Symbol.js +11 -0
  1391. package/dist/node_modules/lodash/_Symbol.js.map +1 -0
  1392. package/dist/node_modules/lodash/_Uint8Array.js +11 -0
  1393. package/dist/node_modules/lodash/_Uint8Array.js.map +1 -0
  1394. package/dist/node_modules/lodash/_WeakMap.js +12 -0
  1395. package/dist/node_modules/lodash/_WeakMap.js.map +1 -0
  1396. package/dist/node_modules/lodash/_apply.js +19 -0
  1397. package/dist/node_modules/lodash/_apply.js.map +1 -0
  1398. package/dist/node_modules/lodash/_arrayEvery.js +14 -0
  1399. package/dist/node_modules/lodash/_arrayEvery.js.map +1 -0
  1400. package/dist/node_modules/lodash/_arrayFilter.js +17 -0
  1401. package/dist/node_modules/lodash/_arrayFilter.js.map +1 -0
  1402. package/dist/node_modules/lodash/_arrayIncludes.js +15 -0
  1403. package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -0
  1404. package/dist/node_modules/lodash/_arrayIncludesWith.js +14 -0
  1405. package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -0
  1406. package/dist/node_modules/lodash/_arrayLikeKeys.js +22 -0
  1407. package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -0
  1408. package/dist/node_modules/lodash/_arrayMap.js +14 -0
  1409. package/dist/node_modules/lodash/_arrayMap.js.map +1 -0
  1410. package/dist/node_modules/lodash/_arrayPush.js +14 -0
  1411. package/dist/node_modules/lodash/_arrayPush.js.map +1 -0
  1412. package/dist/node_modules/lodash/_arraySome.js +14 -0
  1413. package/dist/node_modules/lodash/_arraySome.js.map +1 -0
  1414. package/dist/node_modules/lodash/_asciiToArray.js +13 -0
  1415. package/dist/node_modules/lodash/_asciiToArray.js.map +1 -0
  1416. package/dist/node_modules/lodash/_assocIndexOf.js +16 -0
  1417. package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -0
  1418. package/dist/node_modules/lodash/_baseAssignValue.js +20 -0
  1419. package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -0
  1420. package/dist/node_modules/lodash/_baseEach.js +13 -0
  1421. package/dist/node_modules/lodash/_baseEach.js.map +1 -0
  1422. package/dist/node_modules/lodash/_baseEvery.js +18 -0
  1423. package/dist/node_modules/lodash/_baseEvery.js.map +1 -0
  1424. package/dist/node_modules/lodash/_baseExtremum.js +19 -0
  1425. package/dist/node_modules/lodash/_baseExtremum.js.map +1 -0
  1426. package/dist/node_modules/lodash/_baseFindIndex.js +14 -0
  1427. package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -0
  1428. package/dist/node_modules/lodash/_baseFlatten.js +21 -0
  1429. package/dist/node_modules/lodash/_baseFlatten.js.map +1 -0
  1430. package/dist/node_modules/lodash/_baseFor.js +11 -0
  1431. package/dist/node_modules/lodash/_baseFor.js.map +1 -0
  1432. package/dist/node_modules/lodash/_baseForOwn.js +16 -0
  1433. package/dist/node_modules/lodash/_baseForOwn.js.map +1 -0
  1434. package/dist/node_modules/lodash/_baseGet.js +18 -0
  1435. package/dist/node_modules/lodash/_baseGet.js.map +1 -0
  1436. package/dist/node_modules/lodash/_baseGetAllKeys.js +17 -0
  1437. package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -0
  1438. package/dist/node_modules/lodash/_baseGetTag.js +17 -0
  1439. package/dist/node_modules/lodash/_baseGetTag.js.map +1 -0
  1440. package/dist/node_modules/lodash/_baseGt.js +13 -0
  1441. package/dist/node_modules/lodash/_baseGt.js.map +1 -0
  1442. package/dist/node_modules/lodash/_baseHasIn.js +13 -0
  1443. package/dist/node_modules/lodash/_baseHasIn.js.map +1 -0
  1444. package/dist/node_modules/lodash/_baseIndexOf.js +17 -0
  1445. package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -0
  1446. package/dist/node_modules/lodash/_baseIsArguments.js +16 -0
  1447. package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -0
  1448. package/dist/node_modules/lodash/_baseIsEqual.js +16 -0
  1449. package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -0
  1450. package/dist/node_modules/lodash/_baseIsEqualDeep.js +37 -0
  1451. package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -0
  1452. package/dist/node_modules/lodash/_baseIsMatch.js +33 -0
  1453. package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -0
  1454. package/dist/node_modules/lodash/_baseIsNaN.js +13 -0
  1455. package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -0
  1456. package/dist/node_modules/lodash/_baseIsNative.js +18 -0
  1457. package/dist/node_modules/lodash/_baseIsNative.js.map +1 -0
  1458. package/dist/node_modules/lodash/_baseIsTypedArray.js +18 -0
  1459. package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -0
  1460. package/dist/node_modules/lodash/_baseIteratee.js +19 -0
  1461. package/dist/node_modules/lodash/_baseIteratee.js.map +1 -0
  1462. package/dist/node_modules/lodash/_baseKeys.js +19 -0
  1463. package/dist/node_modules/lodash/_baseKeys.js.map +1 -0
  1464. package/dist/node_modules/lodash/_baseLt.js +13 -0
  1465. package/dist/node_modules/lodash/_baseLt.js.map +1 -0
  1466. package/dist/node_modules/lodash/_baseMap.js +19 -0
  1467. package/dist/node_modules/lodash/_baseMap.js.map +1 -0
  1468. package/dist/node_modules/lodash/_baseMatches.js +20 -0
  1469. package/dist/node_modules/lodash/_baseMatches.js.map +1 -0
  1470. package/dist/node_modules/lodash/_baseMatchesProperty.js +24 -0
  1471. package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -0
  1472. package/dist/node_modules/lodash/_baseOrderBy.js +39 -0
  1473. package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -0
  1474. package/dist/node_modules/lodash/_baseProperty.js +15 -0
  1475. package/dist/node_modules/lodash/_baseProperty.js.map +1 -0
  1476. package/dist/node_modules/lodash/_basePropertyDeep.js +17 -0
  1477. package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -0
  1478. package/dist/node_modules/lodash/_baseRange.js +15 -0
  1479. package/dist/node_modules/lodash/_baseRange.js.map +1 -0
  1480. package/dist/node_modules/lodash/_baseRest.js +17 -0
  1481. package/dist/node_modules/lodash/_baseRest.js.map +1 -0
  1482. package/dist/node_modules/lodash/_baseSetToString.js +21 -0
  1483. package/dist/node_modules/lodash/_baseSetToString.js.map +1 -0
  1484. package/dist/node_modules/lodash/_baseSlice.js +16 -0
  1485. package/dist/node_modules/lodash/_baseSlice.js.map +1 -0
  1486. package/dist/node_modules/lodash/_baseSome.js +18 -0
  1487. package/dist/node_modules/lodash/_baseSome.js.map +1 -0
  1488. package/dist/node_modules/lodash/_baseSortBy.js +15 -0
  1489. package/dist/node_modules/lodash/_baseSortBy.js.map +1 -0
  1490. package/dist/node_modules/lodash/_baseTimes.js +14 -0
  1491. package/dist/node_modules/lodash/_baseTimes.js.map +1 -0
  1492. package/dist/node_modules/lodash/_baseToString.js +22 -0
  1493. package/dist/node_modules/lodash/_baseToString.js.map +1 -0
  1494. package/dist/node_modules/lodash/_baseTrim.js +15 -0
  1495. package/dist/node_modules/lodash/_baseTrim.js.map +1 -0
  1496. package/dist/node_modules/lodash/_baseUnary.js +15 -0
  1497. package/dist/node_modules/lodash/_baseUnary.js.map +1 -0
  1498. package/dist/node_modules/lodash/_baseUniq.js +34 -0
  1499. package/dist/node_modules/lodash/_baseUniq.js.map +1 -0
  1500. package/dist/node_modules/lodash/_cacheHas.js +13 -0
  1501. package/dist/node_modules/lodash/_cacheHas.js.map +1 -0
  1502. package/dist/node_modules/lodash/_castPath.js +18 -0
  1503. package/dist/node_modules/lodash/_castPath.js.map +1 -0
  1504. package/dist/node_modules/lodash/_castSlice.js +16 -0
  1505. package/dist/node_modules/lodash/_castSlice.js.map +1 -0
  1506. package/dist/node_modules/lodash/_compareAscending.js +20 -0
  1507. package/dist/node_modules/lodash/_compareAscending.js.map +1 -0
  1508. package/dist/node_modules/lodash/_compareMultiple.js +19 -0
  1509. package/dist/node_modules/lodash/_compareMultiple.js.map +1 -0
  1510. package/dist/node_modules/lodash/_coreJsData.js +11 -0
  1511. package/dist/node_modules/lodash/_coreJsData.js.map +1 -0
  1512. package/dist/node_modules/lodash/_createBaseEach.js +20 -0
  1513. package/dist/node_modules/lodash/_createBaseEach.js.map +1 -0
  1514. package/dist/node_modules/lodash/_createBaseFor.js +19 -0
  1515. package/dist/node_modules/lodash/_createBaseFor.js.map +1 -0
  1516. package/dist/node_modules/lodash/_createCaseFirst.js +22 -0
  1517. package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -0
  1518. package/dist/node_modules/lodash/_createFind.js +27 -0
  1519. package/dist/node_modules/lodash/_createFind.js.map +1 -0
  1520. package/dist/node_modules/lodash/_createRange.js +19 -0
  1521. package/dist/node_modules/lodash/_createRange.js.map +1 -0
  1522. package/dist/node_modules/lodash/_createSet.js +16 -0
  1523. package/dist/node_modules/lodash/_createSet.js.map +1 -0
  1524. package/dist/node_modules/lodash/_defineProperty.js +17 -0
  1525. package/dist/node_modules/lodash/_defineProperty.js.map +1 -0
  1526. package/dist/node_modules/lodash/_equalArrays.js +42 -0
  1527. package/dist/node_modules/lodash/_equalArrays.js.map +1 -0
  1528. package/dist/node_modules/lodash/_equalByTag.js +42 -0
  1529. package/dist/node_modules/lodash/_equalByTag.js.map +1 -0
  1530. package/dist/node_modules/lodash/_equalObjects.js +39 -0
  1531. package/dist/node_modules/lodash/_equalObjects.js.map +1 -0
  1532. package/dist/node_modules/lodash/_freeGlobal.js +10 -0
  1533. package/dist/node_modules/lodash/_freeGlobal.js.map +1 -0
  1534. package/dist/node_modules/lodash/_getAllKeys.js +17 -0
  1535. package/dist/node_modules/lodash/_getAllKeys.js.map +1 -0
  1536. package/dist/node_modules/lodash/_getMapData.js +16 -0
  1537. package/dist/node_modules/lodash/_getMapData.js.map +1 -0
  1538. package/dist/node_modules/lodash/_getMatchData.js +24 -0
  1539. package/dist/node_modules/lodash/_getMatchData.js.map +1 -0
  1540. package/dist/node_modules/lodash/_getNative.js +17 -0
  1541. package/dist/node_modules/lodash/_getNative.js.map +1 -0
  1542. package/dist/node_modules/lodash/_getPrototype.js +11 -0
  1543. package/dist/node_modules/lodash/_getPrototype.js.map +1 -0
  1544. package/dist/node_modules/lodash/_getRawTag.js +21 -0
  1545. package/dist/node_modules/lodash/_getRawTag.js.map +1 -0
  1546. package/dist/node_modules/lodash/_getSymbols.js +17 -0
  1547. package/dist/node_modules/lodash/_getSymbols.js.map +1 -0
  1548. package/dist/node_modules/lodash/_getTag.js +28 -0
  1549. package/dist/node_modules/lodash/_getTag.js.map +1 -0
  1550. package/dist/node_modules/lodash/_getValue.js +13 -0
  1551. package/dist/node_modules/lodash/_getValue.js.map +1 -0
  1552. package/dist/node_modules/lodash/_hasPath.js +26 -0
  1553. package/dist/node_modules/lodash/_hasPath.js.map +1 -0
  1554. package/dist/node_modules/lodash/_hasUnicode.js +14 -0
  1555. package/dist/node_modules/lodash/_hasUnicode.js.map +1 -0
  1556. package/dist/node_modules/lodash/_hashClear.js +15 -0
  1557. package/dist/node_modules/lodash/_hashClear.js.map +1 -0
  1558. package/dist/node_modules/lodash/_hashDelete.js +14 -0
  1559. package/dist/node_modules/lodash/_hashDelete.js.map +1 -0
  1560. package/dist/node_modules/lodash/_hashGet.js +20 -0
  1561. package/dist/node_modules/lodash/_hashGet.js.map +1 -0
  1562. package/dist/node_modules/lodash/_hashHas.js +16 -0
  1563. package/dist/node_modules/lodash/_hashHas.js.map +1 -0
  1564. package/dist/node_modules/lodash/_hashSet.js +16 -0
  1565. package/dist/node_modules/lodash/_hashSet.js.map +1 -0
  1566. package/dist/node_modules/lodash/_isFlattenable.js +17 -0
  1567. package/dist/node_modules/lodash/_isFlattenable.js.map +1 -0
  1568. package/dist/node_modules/lodash/_isIndex.js +15 -0
  1569. package/dist/node_modules/lodash/_isIndex.js.map +1 -0
  1570. package/dist/node_modules/lodash/_isIterateeCall.js +20 -0
  1571. package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -0
  1572. package/dist/node_modules/lodash/_isKey.js +18 -0
  1573. package/dist/node_modules/lodash/_isKey.js.map +1 -0
  1574. package/dist/node_modules/lodash/_isKeyable.js +14 -0
  1575. package/dist/node_modules/lodash/_isKeyable.js.map +1 -0
  1576. package/dist/node_modules/lodash/_isMasked.js +18 -0
  1577. package/dist/node_modules/lodash/_isMasked.js.map +1 -0
  1578. package/dist/node_modules/lodash/_isPrototype.js +15 -0
  1579. package/dist/node_modules/lodash/_isPrototype.js.map +1 -0
  1580. package/dist/node_modules/lodash/_isStrictComparable.js +15 -0
  1581. package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -0
  1582. package/dist/node_modules/lodash/_listCacheClear.js +13 -0
  1583. package/dist/node_modules/lodash/_listCacheClear.js.map +1 -0
  1584. package/dist/node_modules/lodash/_listCacheDelete.js +16 -0
  1585. package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -0
  1586. package/dist/node_modules/lodash/_listCacheGet.js +16 -0
  1587. package/dist/node_modules/lodash/_listCacheGet.js.map +1 -0
  1588. package/dist/node_modules/lodash/_listCacheHas.js +15 -0
  1589. package/dist/node_modules/lodash/_listCacheHas.js.map +1 -0
  1590. package/dist/node_modules/lodash/_listCacheSet.js +16 -0
  1591. package/dist/node_modules/lodash/_listCacheSet.js.map +1 -0
  1592. package/dist/node_modules/lodash/_mapCacheClear.js +21 -0
  1593. package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -0
  1594. package/dist/node_modules/lodash/_mapCacheDelete.js +16 -0
  1595. package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -0
  1596. package/dist/node_modules/lodash/_mapCacheGet.js +15 -0
  1597. package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -0
  1598. package/dist/node_modules/lodash/_mapCacheHas.js +15 -0
  1599. package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -0
  1600. package/dist/node_modules/lodash/_mapCacheSet.js +16 -0
  1601. package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -0
  1602. package/dist/node_modules/lodash/_mapToArray.js +16 -0
  1603. package/dist/node_modules/lodash/_mapToArray.js.map +1 -0
  1604. package/dist/node_modules/lodash/_matchesStrictComparable.js +15 -0
  1605. package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -0
  1606. package/dist/node_modules/lodash/_memoizeCapped.js +18 -0
  1607. package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -0
  1608. package/dist/node_modules/lodash/_nativeCreate.js +11 -0
  1609. package/dist/node_modules/lodash/_nativeCreate.js.map +1 -0
  1610. package/dist/node_modules/lodash/_nativeKeys.js +11 -0
  1611. package/dist/node_modules/lodash/_nativeKeys.js.map +1 -0
  1612. package/dist/node_modules/lodash/_nodeUtil.js +16 -0
  1613. package/dist/node_modules/lodash/_nodeUtil.js.map +1 -0
  1614. package/dist/node_modules/lodash/_objectToString.js +14 -0
  1615. package/dist/node_modules/lodash/_objectToString.js.map +1 -0
  1616. package/dist/node_modules/lodash/_overArg.js +15 -0
  1617. package/dist/node_modules/lodash/_overArg.js.map +1 -0
  1618. package/dist/node_modules/lodash/_overRest.js +20 -0
  1619. package/dist/node_modules/lodash/_overRest.js.map +1 -0
  1620. package/dist/node_modules/lodash/_root.js +12 -0
  1621. package/dist/node_modules/lodash/_root.js.map +1 -0
  1622. package/dist/node_modules/lodash/_setCacheAdd.js +14 -0
  1623. package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -0
  1624. package/dist/node_modules/lodash/_setCacheHas.js +13 -0
  1625. package/dist/node_modules/lodash/_setCacheHas.js.map +1 -0
  1626. package/dist/node_modules/lodash/_setToArray.js +16 -0
  1627. package/dist/node_modules/lodash/_setToArray.js.map +1 -0
  1628. package/dist/node_modules/lodash/_setToString.js +13 -0
  1629. package/dist/node_modules/lodash/_setToString.js.map +1 -0
  1630. package/dist/node_modules/lodash/_shortOut.js +21 -0
  1631. package/dist/node_modules/lodash/_shortOut.js.map +1 -0
  1632. package/dist/node_modules/lodash/_stackClear.js +15 -0
  1633. package/dist/node_modules/lodash/_stackClear.js.map +1 -0
  1634. package/dist/node_modules/lodash/_stackDelete.js +14 -0
  1635. package/dist/node_modules/lodash/_stackDelete.js.map +1 -0
  1636. package/dist/node_modules/lodash/_stackGet.js +13 -0
  1637. package/dist/node_modules/lodash/_stackGet.js.map +1 -0
  1638. package/dist/node_modules/lodash/_stackHas.js +13 -0
  1639. package/dist/node_modules/lodash/_stackHas.js.map +1 -0
  1640. package/dist/node_modules/lodash/_stackSet.js +23 -0
  1641. package/dist/node_modules/lodash/_stackSet.js.map +1 -0
  1642. package/dist/node_modules/lodash/_strictIndexOf.js +14 -0
  1643. package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -0
  1644. package/dist/node_modules/lodash/_stringToArray.js +17 -0
  1645. package/dist/node_modules/lodash/_stringToArray.js.map +1 -0
  1646. package/dist/node_modules/lodash/_stringToPath.js +17 -0
  1647. package/dist/node_modules/lodash/_stringToPath.js.map +1 -0
  1648. package/dist/node_modules/lodash/_toKey.js +17 -0
  1649. package/dist/node_modules/lodash/_toKey.js.map +1 -0
  1650. package/dist/node_modules/lodash/_toSource.js +22 -0
  1651. package/dist/node_modules/lodash/_toSource.js.map +1 -0
  1652. package/dist/node_modules/lodash/_trimmedEndIndex.js +15 -0
  1653. package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
  1654. package/dist/node_modules/lodash/_unicodeToArray.js +24 -0
  1655. package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -0
  1656. package/dist/node_modules/lodash/constant.js +15 -0
  1657. package/dist/node_modules/lodash/constant.js.map +1 -0
  1658. package/dist/node_modules/lodash/debounce.js +57 -0
  1659. package/dist/node_modules/lodash/debounce.js.map +1 -0
  1660. package/dist/node_modules/lodash/eq.js +13 -0
  1661. package/dist/node_modules/lodash/eq.js.map +1 -0
  1662. package/dist/node_modules/lodash/every.js +20 -0
  1663. package/dist/node_modules/lodash/every.js.map +1 -0
  1664. package/dist/node_modules/lodash/find.js +12 -0
  1665. package/dist/node_modules/lodash/find.js.map +1 -0
  1666. package/dist/node_modules/lodash/findIndex.js +20 -0
  1667. package/dist/node_modules/lodash/findIndex.js.map +1 -0
  1668. package/dist/node_modules/lodash/flatMap.js +16 -0
  1669. package/dist/node_modules/lodash/flatMap.js.map +1 -0
  1670. package/dist/node_modules/lodash/get.js +16 -0
  1671. package/dist/node_modules/lodash/get.js.map +1 -0
  1672. package/dist/node_modules/lodash/hasIn.js +16 -0
  1673. package/dist/node_modules/lodash/hasIn.js.map +1 -0
  1674. package/dist/node_modules/lodash/identity.js +13 -0
  1675. package/dist/node_modules/lodash/identity.js.map +1 -0
  1676. package/dist/node_modules/lodash/isArguments.js +17 -0
  1677. package/dist/node_modules/lodash/isArguments.js.map +1 -0
  1678. package/dist/node_modules/lodash/isArray.js +10 -0
  1679. package/dist/node_modules/lodash/isArray.js.map +1 -0
  1680. package/dist/node_modules/lodash/isArrayLike.js +16 -0
  1681. package/dist/node_modules/lodash/isArrayLike.js.map +1 -0
  1682. package/dist/node_modules/lodash/isBoolean.js +16 -0
  1683. package/dist/node_modules/lodash/isBoolean.js.map +1 -0
  1684. package/dist/node_modules/lodash/isBuffer.js +13 -0
  1685. package/dist/node_modules/lodash/isBuffer.js.map +1 -0
  1686. package/dist/node_modules/lodash/isEqual.js +15 -0
  1687. package/dist/node_modules/lodash/isEqual.js.map +1 -0
  1688. package/dist/node_modules/lodash/isFunction.js +18 -0
  1689. package/dist/node_modules/lodash/isFunction.js.map +1 -0
  1690. package/dist/node_modules/lodash/isLength.js +14 -0
  1691. package/dist/node_modules/lodash/isLength.js.map +1 -0
  1692. package/dist/node_modules/lodash/isNaN.js +15 -0
  1693. package/dist/node_modules/lodash/isNaN.js.map +1 -0
  1694. package/dist/node_modules/lodash/isNil.js +13 -0
  1695. package/dist/node_modules/lodash/isNil.js.map +1 -0
  1696. package/dist/node_modules/lodash/isNumber.js +16 -0
  1697. package/dist/node_modules/lodash/isNumber.js.map +1 -0
  1698. package/dist/node_modules/lodash/isObject.js +14 -0
  1699. package/dist/node_modules/lodash/isObject.js.map +1 -0
  1700. package/dist/node_modules/lodash/isObjectLike.js +13 -0
  1701. package/dist/node_modules/lodash/isObjectLike.js.map +1 -0
  1702. package/dist/node_modules/lodash/isPlainObject.js +21 -0
  1703. package/dist/node_modules/lodash/isPlainObject.js.map +1 -0
  1704. package/dist/node_modules/lodash/isString.js +17 -0
  1705. package/dist/node_modules/lodash/isString.js.map +1 -0
  1706. package/dist/node_modules/lodash/isSymbol.js +16 -0
  1707. package/dist/node_modules/lodash/isSymbol.js.map +1 -0
  1708. package/dist/node_modules/lodash/isTypedArray.js +14 -0
  1709. package/dist/node_modules/lodash/isTypedArray.js.map +1 -0
  1710. package/dist/node_modules/lodash/keys.js +17 -0
  1711. package/dist/node_modules/lodash/keys.js.map +1 -0
  1712. package/dist/node_modules/lodash/last.js +14 -0
  1713. package/dist/node_modules/lodash/last.js.map +1 -0
  1714. package/dist/node_modules/lodash/map.js +18 -0
  1715. package/dist/node_modules/lodash/map.js.map +1 -0
  1716. package/dist/node_modules/lodash/mapValues.js +20 -0
  1717. package/dist/node_modules/lodash/mapValues.js.map +1 -0
  1718. package/dist/node_modules/lodash/max.js +17 -0
  1719. package/dist/node_modules/lodash/max.js.map +1 -0
  1720. package/dist/node_modules/lodash/maxBy.js +17 -0
  1721. package/dist/node_modules/lodash/maxBy.js.map +1 -0
  1722. package/dist/node_modules/lodash/memoize.js +22 -0
  1723. package/dist/node_modules/lodash/memoize.js.map +1 -0
  1724. package/dist/node_modules/lodash/min.js +17 -0
  1725. package/dist/node_modules/lodash/min.js.map +1 -0
  1726. package/dist/node_modules/lodash/minBy.js +17 -0
  1727. package/dist/node_modules/lodash/minBy.js.map +1 -0
  1728. package/dist/node_modules/lodash/noop.js +11 -0
  1729. package/dist/node_modules/lodash/noop.js.map +1 -0
  1730. package/dist/node_modules/lodash/now.js +14 -0
  1731. package/dist/node_modules/lodash/now.js.map +1 -0
  1732. package/dist/node_modules/lodash/property.js +18 -0
  1733. package/dist/node_modules/lodash/property.js.map +1 -0
  1734. package/dist/node_modules/lodash/range.js +11 -0
  1735. package/dist/node_modules/lodash/range.js.map +1 -0
  1736. package/dist/node_modules/lodash/some.js +20 -0
  1737. package/dist/node_modules/lodash/some.js.map +1 -0
  1738. package/dist/node_modules/lodash/sortBy.js +19 -0
  1739. package/dist/node_modules/lodash/sortBy.js.map +1 -0
  1740. package/dist/node_modules/lodash/stubArray.js +13 -0
  1741. package/dist/node_modules/lodash/stubArray.js.map +1 -0
  1742. package/dist/node_modules/lodash/stubFalse.js +13 -0
  1743. package/dist/node_modules/lodash/stubFalse.js.map +1 -0
  1744. package/dist/node_modules/lodash/throttle.js +22 -0
  1745. package/dist/node_modules/lodash/throttle.js.map +1 -0
  1746. package/dist/node_modules/lodash/toFinite.js +15 -0
  1747. package/dist/node_modules/lodash/toFinite.js.map +1 -0
  1748. package/dist/node_modules/lodash/toInteger.js +16 -0
  1749. package/dist/node_modules/lodash/toInteger.js.map +1 -0
  1750. package/dist/node_modules/lodash/toNumber.js +26 -0
  1751. package/dist/node_modules/lodash/toNumber.js.map +1 -0
  1752. package/dist/node_modules/lodash/toString.js +15 -0
  1753. package/dist/node_modules/lodash/toString.js.map +1 -0
  1754. package/dist/node_modules/lodash/uniqBy.js +16 -0
  1755. package/dist/node_modules/lodash/uniqBy.js.map +1 -0
  1756. package/dist/node_modules/lodash/upperFirst.js +11 -0
  1757. package/dist/node_modules/lodash/upperFirst.js.map +1 -0
  1758. package/dist/node_modules/object-assign/index.js +41 -0
  1759. package/dist/node_modules/object-assign/index.js.map +1 -0
  1760. package/dist/node_modules/prop-types/checkPropTypes.js +46 -0
  1761. package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -0
  1762. package/dist/node_modules/prop-types/factoryWithThrowingShims.js +49 -0
  1763. package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
  1764. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +272 -0
  1765. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
  1766. package/dist/node_modules/prop-types/index.js +16 -0
  1767. package/dist/node_modules/prop-types/index.js.map +1 -0
  1768. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
  1769. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
  1770. package/dist/node_modules/prop-types/lib/has.js +10 -0
  1771. package/dist/node_modules/prop-types/lib/has.js.map +1 -0
  1772. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +84 -0
  1773. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  1774. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +64 -0
  1775. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  1776. package/dist/node_modules/prop-types/node_modules/react-is/index.js +12 -0
  1777. package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
  1778. package/dist/node_modules/react-is/cjs/react-is.development.js +87 -0
  1779. package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -0
  1780. package/dist/node_modules/react-is/cjs/react-is.production.min.js +65 -0
  1781. package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
  1782. package/dist/node_modules/react-is/index.js +12 -0
  1783. package/dist/node_modules/react-is/index.js.map +1 -0
  1784. package/dist/node_modules/react-smooth/es6/Animate.js +374 -0
  1785. package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -0
  1786. package/dist/node_modules/react-smooth/es6/AnimateManager.js +73 -0
  1787. package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -0
  1788. package/dist/node_modules/react-smooth/es6/configUpdate.js +173 -0
  1789. package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -0
  1790. package/dist/node_modules/react-smooth/es6/easing.js +152 -0
  1791. package/dist/node_modules/react-smooth/es6/easing.js.map +1 -0
  1792. package/dist/node_modules/react-smooth/es6/index.js +9 -0
  1793. package/dist/node_modules/react-smooth/es6/index.js.map +1 -0
  1794. package/dist/node_modules/react-smooth/es6/setRafTimeout.js +14 -0
  1795. package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -0
  1796. package/dist/node_modules/react-smooth/es6/util.js +92 -0
  1797. package/dist/node_modules/react-smooth/es6/util.js.map +1 -0
  1798. package/dist/node_modules/recharts/es6/cartesian/Area.js +435 -0
  1799. package/dist/node_modules/recharts/es6/cartesian/Area.js.map +1 -0
  1800. package/dist/node_modules/recharts/es6/cartesian/Bar.js +387 -0
  1801. package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -0
  1802. package/dist/node_modules/recharts/es6/cartesian/Brush.js +499 -0
  1803. package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -0
  1804. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +338 -0
  1805. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -0
  1806. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +305 -0
  1807. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js.map +1 -0
  1808. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +243 -0
  1809. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -0
  1810. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +173 -0
  1811. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -0
  1812. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +178 -0
  1813. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -0
  1814. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +254 -0
  1815. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -0
  1816. package/dist/node_modules/recharts/es6/cartesian/XAxis.js +144 -0
  1817. package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -0
  1818. package/dist/node_modules/recharts/es6/cartesian/YAxis.js +143 -0
  1819. package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -0
  1820. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +18 -0
  1821. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -0
  1822. package/dist/node_modules/recharts/es6/cartesian/getTicks.js +121 -0
  1823. package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -0
  1824. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +101 -0
  1825. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -0
  1826. package/dist/node_modules/recharts/es6/chart/AreaChart.js +22 -0
  1827. package/dist/node_modules/recharts/es6/chart/AreaChart.js.map +1 -0
  1828. package/dist/node_modules/recharts/es6/chart/PieChart.js +34 -0
  1829. package/dist/node_modules/recharts/es6/chart/PieChart.js.map +1 -0
  1830. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +1245 -0
  1831. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -0
  1832. package/dist/node_modules/recharts/es6/component/Cell.js +9 -0
  1833. package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -0
  1834. package/dist/node_modules/recharts/es6/component/Cursor.js +93 -0
  1835. package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -0
  1836. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +237 -0
  1837. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -0
  1838. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +171 -0
  1839. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -0
  1840. package/dist/node_modules/recharts/es6/component/Label.js +353 -0
  1841. package/dist/node_modules/recharts/es6/component/Label.js.map +1 -0
  1842. package/dist/node_modules/recharts/es6/component/LabelList.js +166 -0
  1843. package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -0
  1844. package/dist/node_modules/recharts/es6/component/Legend.js +234 -0
  1845. package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -0
  1846. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +187 -0
  1847. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -0
  1848. package/dist/node_modules/recharts/es6/component/Text.js +225 -0
  1849. package/dist/node_modules/recharts/es6/component/Text.js.map +1 -0
  1850. package/dist/node_modules/recharts/es6/component/Tooltip.js +182 -0
  1851. package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -0
  1852. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +198 -0
  1853. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -0
  1854. package/dist/node_modules/recharts/es6/container/Layer.js +40 -0
  1855. package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -0
  1856. package/dist/node_modules/recharts/es6/container/Surface.js +60 -0
  1857. package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -0
  1858. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +57 -0
  1859. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -0
  1860. package/dist/node_modules/recharts/es6/polar/Pie.js +435 -0
  1861. package/dist/node_modules/recharts/es6/polar/Pie.js.map +1 -0
  1862. package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js +215 -0
  1863. package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js.map +1 -0
  1864. package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js +268 -0
  1865. package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js.map +1 -0
  1866. package/dist/node_modules/recharts/es6/shape/Cross.js +112 -0
  1867. package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -0
  1868. package/dist/node_modules/recharts/es6/shape/Curve.js +136 -0
  1869. package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -0
  1870. package/dist/node_modules/recharts/es6/shape/Dot.js +27 -0
  1871. package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -0
  1872. package/dist/node_modules/recharts/es6/shape/Polygon.js +112 -0
  1873. package/dist/node_modules/recharts/es6/shape/Polygon.js.map +1 -0
  1874. package/dist/node_modules/recharts/es6/shape/Rectangle.js +205 -0
  1875. package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -0
  1876. package/dist/node_modules/recharts/es6/shape/Sector.js +192 -0
  1877. package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -0
  1878. package/dist/node_modules/recharts/es6/shape/Symbols.js +143 -0
  1879. package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -0
  1880. package/dist/node_modules/recharts/es6/shape/Trapezoid.js +175 -0
  1881. package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -0
  1882. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +181 -0
  1883. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -0
  1884. package/dist/node_modules/recharts/es6/util/BarUtils.js +112 -0
  1885. package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -0
  1886. package/dist/node_modules/recharts/es6/util/CartesianUtils.js +234 -0
  1887. package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -0
  1888. package/dist/node_modules/recharts/es6/util/ChartUtils.js +562 -0
  1889. package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -0
  1890. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +70 -0
  1891. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -0
  1892. package/dist/node_modules/recharts/es6/util/DOMUtils.js +108 -0
  1893. package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -0
  1894. package/dist/node_modules/recharts/es6/util/DataUtils.js +57 -0
  1895. package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -0
  1896. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +58 -0
  1897. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -0
  1898. package/dist/node_modules/recharts/es6/util/Events.js +7 -0
  1899. package/dist/node_modules/recharts/es6/util/Events.js.map +1 -0
  1900. package/dist/node_modules/recharts/es6/util/Global.js +21 -0
  1901. package/dist/node_modules/recharts/es6/util/Global.js.map +1 -0
  1902. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +9 -0
  1903. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -0
  1904. package/dist/node_modules/recharts/es6/util/LogUtils.js +15 -0
  1905. package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -0
  1906. package/dist/node_modules/recharts/es6/util/PolarUtils.js +198 -0
  1907. package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -0
  1908. package/dist/node_modules/recharts/es6/util/ReactUtils.js +137 -0
  1909. package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -0
  1910. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +181 -0
  1911. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -0
  1912. package/dist/node_modules/recharts/es6/util/ShallowEqual.js +10 -0
  1913. package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -0
  1914. package/dist/node_modules/recharts/es6/util/TickUtils.js +31 -0
  1915. package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -0
  1916. package/dist/node_modules/recharts/es6/util/calculateViewBox.js +25 -0
  1917. package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -0
  1918. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +23 -0
  1919. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -0
  1920. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +16 -0
  1921. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -0
  1922. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +17 -0
  1923. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -0
  1924. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +12 -0
  1925. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -0
  1926. package/dist/node_modules/recharts/es6/util/getLegendProps.js +88 -0
  1927. package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -0
  1928. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +13 -0
  1929. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -0
  1930. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +12 -0
  1931. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -0
  1932. package/dist/node_modules/recharts/es6/util/tooltip/translate.js +87 -0
  1933. package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -0
  1934. package/dist/node_modules/recharts/es6/util/types.js +43 -0
  1935. package/dist/node_modules/recharts/es6/util/types.js.map +1 -0
  1936. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +132 -0
  1937. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -0
  1938. package/dist/node_modules/recharts-scale/es6/index.js +1 -0
  1939. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +32 -0
  1940. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -0
  1941. package/dist/node_modules/recharts-scale/es6/util/utils.js +79 -0
  1942. package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -0
  1943. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +13 -0
  1944. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -0
  1945. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +56 -0
  1946. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -0
  1947. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +54 -0
  1948. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js.map +1 -0
  1949. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +54 -0
  1950. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
  1951. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +46 -0
  1952. package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
  1953. package/dist/node_modules/use-sync-external-store/shim/index.js +12 -0
  1954. package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
  1955. package/dist/node_modules/use-sync-external-store/shim/with-selector.js +12 -0
  1956. package/dist/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -0
  1957. package/dist/node_modules/victory-vendor/es/d3-scale.js +53 -0
  1958. package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -0
  1959. package/dist/node_modules/zustand/esm/traditional.js +17 -0
  1960. package/dist/node_modules/zustand/esm/traditional.js.map +1 -0
  1961. package/dist/node_modules/zustand/esm/vanilla/shallow.js +21 -0
  1962. package/dist/node_modules/zustand/esm/vanilla/shallow.js.map +1 -0
  1963. package/dist/node_modules/zustand/esm/vanilla.js +20 -0
  1964. package/dist/node_modules/zustand/esm/vanilla.js.map +1 -0
  1965. package/dist/pages/ActionsPage.d.ts +2 -0
  1966. package/dist/pages/ActionsPage.d.ts.map +1 -0
  1967. package/dist/pages/ActionsPage.js +594 -0
  1968. package/dist/pages/ActionsPage.js.map +1 -0
  1969. package/dist/pages/AgentDetailsPage.d.ts +5 -0
  1970. package/dist/pages/AgentDetailsPage.d.ts.map +1 -0
  1971. package/dist/pages/AgentDetailsPage.js +1714 -0
  1972. package/dist/pages/AgentDetailsPage.js.map +1 -0
  1973. package/dist/pages/AgentGraphPage.d.ts +9 -0
  1974. package/dist/pages/AgentGraphPage.d.ts.map +1 -0
  1975. package/dist/pages/AgentGraphPage.js +179 -0
  1976. package/dist/pages/AgentGraphPage.js.map +1 -0
  1977. package/dist/pages/AgentsLandingPage.d.ts +12 -0
  1978. package/dist/pages/AgentsLandingPage.d.ts.map +1 -0
  1979. package/dist/pages/AgentsLandingPage.js +84 -0
  1980. package/dist/pages/AgentsLandingPage.js.map +1 -0
  1981. package/dist/pages/AgentsPage.d.ts +5 -0
  1982. package/dist/pages/AgentsPage.d.ts.map +1 -0
  1983. package/dist/pages/AgentsPage.js +701 -0
  1984. package/dist/pages/AgentsPage.js.map +1 -0
  1985. package/dist/pages/AnalyticsPage.d.ts +2 -0
  1986. package/dist/pages/AnalyticsPage.d.ts.map +1 -0
  1987. package/dist/pages/AnalyticsPage.js +507 -0
  1988. package/dist/pages/AnalyticsPage.js.map +1 -0
  1989. package/dist/pages/CatalogDetailPage.d.ts +2 -0
  1990. package/dist/pages/CatalogDetailPage.d.ts.map +1 -0
  1991. package/dist/pages/CatalogDetailPage.js +842 -0
  1992. package/dist/pages/CatalogDetailPage.js.map +1 -0
  1993. package/dist/pages/CatalogDocsPage.d.ts +2 -0
  1994. package/dist/pages/CatalogDocsPage.d.ts.map +1 -0
  1995. package/dist/pages/CatalogDocsPage.js +154 -0
  1996. package/dist/pages/CatalogDocsPage.js.map +1 -0
  1997. package/dist/pages/CatalogPage.d.ts +2 -0
  1998. package/dist/pages/CatalogPage.d.ts.map +1 -0
  1999. package/dist/pages/CatalogPage.js +189 -0
  2000. package/dist/pages/CatalogPage.js.map +1 -0
  2001. package/dist/pages/ComponentDetailPage.d.ts +2 -0
  2002. package/dist/pages/ComponentDetailPage.d.ts.map +1 -0
  2003. package/dist/pages/ComponentDetailPage.js +557 -0
  2004. package/dist/pages/ComponentDetailPage.js.map +1 -0
  2005. package/dist/pages/ComponentDocsPage.d.ts +2 -0
  2006. package/dist/pages/ComponentDocsPage.d.ts.map +1 -0
  2007. package/dist/pages/ComponentDocsPage.js +154 -0
  2008. package/dist/pages/ComponentDocsPage.js.map +1 -0
  2009. package/dist/pages/ComponentsPage.d.ts +2 -0
  2010. package/dist/pages/ComponentsPage.d.ts.map +1 -0
  2011. package/dist/pages/ComponentsPage.js +250 -0
  2012. package/dist/pages/ComponentsPage.js.map +1 -0
  2013. package/dist/pages/GettingStartedPage.d.ts +16 -0
  2014. package/dist/pages/GettingStartedPage.d.ts.map +1 -0
  2015. package/dist/pages/GettingStartedPage.js +261 -0
  2016. package/dist/pages/GettingStartedPage.js.map +1 -0
  2017. package/dist/pages/HealthPage.d.ts +2 -0
  2018. package/dist/pages/HealthPage.d.ts.map +1 -0
  2019. package/dist/pages/HealthPage.js +383 -0
  2020. package/dist/pages/HealthPage.js.map +1 -0
  2021. package/dist/pages/LogsPage.d.ts +2 -0
  2022. package/dist/pages/LogsPage.d.ts.map +1 -0
  2023. package/dist/pages/NoteDetailsPage.d.ts +2 -0
  2024. package/dist/pages/NoteDetailsPage.d.ts.map +1 -0
  2025. package/dist/pages/NoteDetailsPage.js +163 -0
  2026. package/dist/pages/NoteDetailsPage.js.map +1 -0
  2027. package/dist/pages/OverviewPage.d.ts +9 -0
  2028. package/dist/pages/OverviewPage.d.ts.map +1 -0
  2029. package/dist/pages/OverviewPage.js +419 -0
  2030. package/dist/pages/OverviewPage.js.map +1 -0
  2031. package/dist/pages/SessionDetailsPage.d.ts +6 -0
  2032. package/dist/pages/SessionDetailsPage.d.ts.map +1 -0
  2033. package/dist/pages/SessionDetailsPage.js +707 -0
  2034. package/dist/pages/SessionDetailsPage.js.map +1 -0
  2035. package/dist/pages/SessionsPage.d.ts +6 -0
  2036. package/dist/pages/SessionsPage.d.ts.map +1 -0
  2037. package/dist/pages/SessionsPage.js +1382 -0
  2038. package/dist/pages/SessionsPage.js.map +1 -0
  2039. package/dist/pages/SettingsPage.d.ts +2 -0
  2040. package/dist/pages/SettingsPage.d.ts.map +1 -0
  2041. package/dist/pages/SettingsPage.js +238 -0
  2042. package/dist/pages/SettingsPage.js.map +1 -0
  2043. package/dist/pages/SharedSessionPage.d.ts +13 -0
  2044. package/dist/pages/SharedSessionPage.d.ts.map +1 -0
  2045. package/dist/pages/SharedSessionPage.js +471 -0
  2046. package/dist/pages/SharedSessionPage.js.map +1 -0
  2047. package/dist/pages/SharedVibeDeckPage.d.ts +8 -0
  2048. package/dist/pages/SharedVibeDeckPage.d.ts.map +1 -0
  2049. package/dist/pages/SharedVibeDeckPage.js +262 -0
  2050. package/dist/pages/SharedVibeDeckPage.js.map +1 -0
  2051. package/dist/pages/TargetDetailsPage.d.ts +13 -0
  2052. package/dist/pages/TargetDetailsPage.d.ts.map +1 -0
  2053. package/dist/pages/TargetDetailsPage.js +266 -0
  2054. package/dist/pages/TargetDetailsPage.js.map +1 -0
  2055. package/dist/pages/TargetsPage.d.ts +8 -0
  2056. package/dist/pages/TargetsPage.d.ts.map +1 -0
  2057. package/dist/pages/TargetsPage.js +1113 -0
  2058. package/dist/pages/TargetsPage.js.map +1 -0
  2059. package/dist/pages/TemplateDetailPage.d.ts +2 -0
  2060. package/dist/pages/TemplateDetailPage.d.ts.map +1 -0
  2061. package/dist/pages/TemplateDetailPage.js +302 -0
  2062. package/dist/pages/TemplateDetailPage.js.map +1 -0
  2063. package/dist/pages/TemplatesPage.d.ts +2 -0
  2064. package/dist/pages/TemplatesPage.d.ts.map +1 -0
  2065. package/dist/pages/TemplatesPage.js +173 -0
  2066. package/dist/pages/TemplatesPage.js.map +1 -0
  2067. package/dist/pages/TunnelsLandingPage.d.ts +8 -0
  2068. package/dist/pages/TunnelsLandingPage.d.ts.map +1 -0
  2069. package/dist/pages/TunnelsLandingPage.js +69 -0
  2070. package/dist/pages/TunnelsLandingPage.js.map +1 -0
  2071. package/dist/pages/VibeAuditPage.d.ts +2 -0
  2072. package/dist/pages/VibeAuditPage.d.ts.map +1 -0
  2073. package/dist/pages/VibeAuditPage.js +233 -0
  2074. package/dist/pages/VibeAuditPage.js.map +1 -0
  2075. package/dist/pages/VibeCalendarPage.d.ts +9 -0
  2076. package/dist/pages/VibeCalendarPage.d.ts.map +1 -0
  2077. package/dist/pages/VibeCalendarPage.js +221 -0
  2078. package/dist/pages/VibeCalendarPage.js.map +1 -0
  2079. package/dist/pages/VibeDeckPage.d.ts +2 -0
  2080. package/dist/pages/VibeDeckPage.d.ts.map +1 -0
  2081. package/dist/pages/VibeDeckPage.js +884 -0
  2082. package/dist/pages/VibeDeckPage.js.map +1 -0
  2083. package/dist/pages/VibeDetailsPage.d.ts +5 -0
  2084. package/dist/pages/VibeDetailsPage.d.ts.map +1 -0
  2085. package/dist/pages/VibeDetailsPage.js +1321 -0
  2086. package/dist/pages/VibeDetailsPage.js.map +1 -0
  2087. package/dist/pages/VibeDocsPage.d.ts +2 -0
  2088. package/dist/pages/VibeDocsPage.d.ts.map +1 -0
  2089. package/dist/pages/VibeDocsPage.js +154 -0
  2090. package/dist/pages/VibeDocsPage.js.map +1 -0
  2091. package/dist/pages/VibeTaskDetailPage.d.ts +9 -0
  2092. package/dist/pages/VibeTaskDetailPage.d.ts.map +1 -0
  2093. package/dist/pages/VibeTaskDetailPage.js +264 -0
  2094. package/dist/pages/VibeTaskDetailPage.js.map +1 -0
  2095. package/dist/pages/VibesPage.d.ts +5 -0
  2096. package/dist/pages/VibesPage.d.ts.map +1 -0
  2097. package/dist/pages/VibesPage.js +600 -0
  2098. package/dist/pages/VibesPage.js.map +1 -0
  2099. package/dist/pages/WebhooksPage.d.ts +5 -0
  2100. package/dist/pages/WebhooksPage.d.ts.map +1 -0
  2101. package/dist/pages/ai/AIPage.d.ts +6 -0
  2102. package/dist/pages/ai/AIPage.d.ts.map +1 -0
  2103. package/dist/pages/ai/AIPage.js +187 -0
  2104. package/dist/pages/ai/AIPage.js.map +1 -0
  2105. package/dist/pages/ai/AISessionDetailPage.d.ts +5 -0
  2106. package/dist/pages/ai/AISessionDetailPage.d.ts.map +1 -0
  2107. package/dist/pages/ai/AISessionDetailPage.js +441 -0
  2108. package/dist/pages/ai/AISessionDetailPage.js.map +1 -0
  2109. package/dist/pages/ai/AgentManagerPage.d.ts +9 -0
  2110. package/dist/pages/ai/AgentManagerPage.d.ts.map +1 -0
  2111. package/dist/pages/ai/AgentManagerPage.js +159 -0
  2112. package/dist/pages/ai/AgentManagerPage.js.map +1 -0
  2113. package/dist/pages/index.d.ts +17 -0
  2114. package/dist/pages/index.d.ts.map +1 -0
  2115. package/dist/pages/tunnels/AuditTab.d.ts +8 -0
  2116. package/dist/pages/tunnels/AuditTab.d.ts.map +1 -0
  2117. package/dist/pages/tunnels/AuditTab.js +22 -0
  2118. package/dist/pages/tunnels/AuditTab.js.map +1 -0
  2119. package/dist/pages/tunnels/DomainsTab.d.ts +2 -0
  2120. package/dist/pages/tunnels/DomainsTab.d.ts.map +1 -0
  2121. package/dist/pages/tunnels/DomainsTab.js +110 -0
  2122. package/dist/pages/tunnels/DomainsTab.js.map +1 -0
  2123. package/dist/pages/tunnels/ProvidersTab.d.ts +2 -0
  2124. package/dist/pages/tunnels/ProvidersTab.d.ts.map +1 -0
  2125. package/dist/pages/tunnels/ProvidersTab.js +111 -0
  2126. package/dist/pages/tunnels/ProvidersTab.js.map +1 -0
  2127. package/dist/pages/tunnels/SessionsTab.d.ts +8 -0
  2128. package/dist/pages/tunnels/SessionsTab.d.ts.map +1 -0
  2129. package/dist/pages/tunnels/SessionsTab.js +63 -0
  2130. package/dist/pages/tunnels/SessionsTab.js.map +1 -0
  2131. package/dist/pages/tunnels/TunnelDetailsPage.d.ts +2 -0
  2132. package/dist/pages/tunnels/TunnelDetailsPage.d.ts.map +1 -0
  2133. package/dist/pages/tunnels/TunnelDetailsPage.js +121 -0
  2134. package/dist/pages/tunnels/TunnelDetailsPage.js.map +1 -0
  2135. package/dist/pages/tunnels/TunnelsTab.d.ts +2 -0
  2136. package/dist/pages/tunnels/TunnelsTab.d.ts.map +1 -0
  2137. package/dist/pages/tunnels/TunnelsTab.js +174 -0
  2138. package/dist/pages/tunnels/TunnelsTab.js.map +1 -0
  2139. package/dist/pages/tunnels/UsageTab.d.ts +8 -0
  2140. package/dist/pages/tunnels/UsageTab.d.ts.map +1 -0
  2141. package/dist/pages/tunnels/UsageTab.js +22 -0
  2142. package/dist/pages/tunnels/UsageTab.js.map +1 -0
  2143. package/dist/pages/tunnels/tabs/TunnelAuditTab.d.ts +4 -0
  2144. package/dist/pages/tunnels/tabs/TunnelAuditTab.d.ts.map +1 -0
  2145. package/dist/pages/tunnels/tabs/TunnelAuditTab.js +68 -0
  2146. package/dist/pages/tunnels/tabs/TunnelAuditTab.js.map +1 -0
  2147. package/dist/pages/tunnels/tabs/TunnelCliTab.d.ts +8 -0
  2148. package/dist/pages/tunnels/tabs/TunnelCliTab.d.ts.map +1 -0
  2149. package/dist/pages/tunnels/tabs/TunnelCliTab.js +63 -0
  2150. package/dist/pages/tunnels/tabs/TunnelCliTab.js.map +1 -0
  2151. package/dist/pages/tunnels/tabs/TunnelDomainsTab.d.ts +8 -0
  2152. package/dist/pages/tunnels/tabs/TunnelDomainsTab.d.ts.map +1 -0
  2153. package/dist/pages/tunnels/tabs/TunnelDomainsTab.js +120 -0
  2154. package/dist/pages/tunnels/tabs/TunnelDomainsTab.js.map +1 -0
  2155. package/dist/pages/tunnels/tabs/TunnelEndpointsTab.d.ts +8 -0
  2156. package/dist/pages/tunnels/tabs/TunnelEndpointsTab.d.ts.map +1 -0
  2157. package/dist/pages/tunnels/tabs/TunnelEndpointsTab.js +56 -0
  2158. package/dist/pages/tunnels/tabs/TunnelEndpointsTab.js.map +1 -0
  2159. package/dist/pages/tunnels/tabs/TunnelOverviewTab.d.ts +8 -0
  2160. package/dist/pages/tunnels/tabs/TunnelOverviewTab.d.ts.map +1 -0
  2161. package/dist/pages/tunnels/tabs/TunnelOverviewTab.js +137 -0
  2162. package/dist/pages/tunnels/tabs/TunnelOverviewTab.js.map +1 -0
  2163. package/dist/pages/tunnels/tabs/TunnelSessionsTab.d.ts +4 -0
  2164. package/dist/pages/tunnels/tabs/TunnelSessionsTab.d.ts.map +1 -0
  2165. package/dist/pages/tunnels/tabs/TunnelSessionsTab.js +104 -0
  2166. package/dist/pages/tunnels/tabs/TunnelSessionsTab.js.map +1 -0
  2167. package/dist/pages/tunnels/tabs/TunnelSettingsTab.d.ts +9 -0
  2168. package/dist/pages/tunnels/tabs/TunnelSettingsTab.d.ts.map +1 -0
  2169. package/dist/pages/tunnels/tabs/TunnelSettingsTab.js +67 -0
  2170. package/dist/pages/tunnels/tabs/TunnelSettingsTab.js.map +1 -0
  2171. package/dist/pages/tunnels/tabs/TunnelUsageTab.d.ts +4 -0
  2172. package/dist/pages/tunnels/tabs/TunnelUsageTab.d.ts.map +1 -0
  2173. package/dist/pages/tunnels/tabs/TunnelUsageTab.js +127 -0
  2174. package/dist/pages/tunnels/tabs/TunnelUsageTab.js.map +1 -0
  2175. package/dist/plugin.d.ts +4 -0
  2176. package/dist/plugin.d.ts.map +1 -0
  2177. package/dist/plugin.js +84 -0
  2178. package/dist/plugin.js.map +1 -0
  2179. package/dist/providers/AgentEventsProvider.d.ts +79 -0
  2180. package/dist/providers/AgentEventsProvider.d.ts.map +1 -0
  2181. package/dist/providers/AgentEventsProvider.js +42 -0
  2182. package/dist/providers/AgentEventsProvider.js.map +1 -0
  2183. package/dist/providers/VibeControlsProvider.d.ts +29 -0
  2184. package/dist/providers/VibeControlsProvider.d.ts.map +1 -0
  2185. package/dist/providers/VibeControlsProvider.js +126 -0
  2186. package/dist/providers/VibeControlsProvider.js.map +1 -0
  2187. package/dist/services/aiApi.d.ts +310 -0
  2188. package/dist/services/aiApi.d.ts.map +1 -0
  2189. package/dist/services/aiApi.js +336 -0
  2190. package/dist/services/aiApi.js.map +1 -0
  2191. package/dist/services/assistantApi.d.ts +71 -0
  2192. package/dist/services/assistantApi.d.ts.map +1 -0
  2193. package/dist/services/assistantApi.js +235 -0
  2194. package/dist/services/assistantApi.js.map +1 -0
  2195. package/dist/services/assistantExportService.d.ts +9 -0
  2196. package/dist/services/assistantExportService.d.ts.map +1 -0
  2197. package/dist/services/assistantExportService.js +44 -0
  2198. package/dist/services/assistantExportService.js.map +1 -0
  2199. package/dist/services/schedulerApi.d.ts +18 -0
  2200. package/dist/services/schedulerApi.d.ts.map +1 -0
  2201. package/dist/services/schedulerApi.js +39 -0
  2202. package/dist/services/schedulerApi.js.map +1 -0
  2203. package/dist/shared/hooks/useTr.d.ts +17 -0
  2204. package/dist/shared/hooks/useTr.d.ts.map +1 -0
  2205. package/dist/shared/hooks/useTr.js +14 -0
  2206. package/dist/shared/hooks/useTr.js.map +1 -0
  2207. package/dist/store/agentManagerStore.d.ts +65 -0
  2208. package/dist/store/agentManagerStore.d.ts.map +1 -0
  2209. package/dist/store/agentManagerStore.js +244 -0
  2210. package/dist/store/agentManagerStore.js.map +1 -0
  2211. package/dist/store/assistantStore.d.ts +56 -0
  2212. package/dist/store/assistantStore.d.ts.map +1 -0
  2213. package/dist/store/assistantStore.js +165 -0
  2214. package/dist/store/assistantStore.js.map +1 -0
  2215. package/dist/store/vibeControlsStore.d.ts +68 -0
  2216. package/dist/store/vibeControlsStore.d.ts.map +1 -0
  2217. package/dist/store/vibeControlsStore.js +123 -0
  2218. package/dist/store/vibeControlsStore.js.map +1 -0
  2219. package/dist/translations/en.d.ts +2174 -0
  2220. package/dist/translations/en.d.ts.map +1 -0
  2221. package/dist/translations/en.js +2130 -0
  2222. package/dist/translations/en.js.map +1 -0
  2223. package/dist/types/agentManager.d.ts +72 -0
  2224. package/dist/types/agentManager.d.ts.map +1 -0
  2225. package/dist/types/assistant.d.ts +58 -0
  2226. package/dist/types/assistant.d.ts.map +1 -0
  2227. package/dist/types/assistant.js +7 -0
  2228. package/dist/types/assistant.js.map +1 -0
  2229. package/dist/types/index.d.ts +134 -0
  2230. package/dist/types/index.d.ts.map +1 -0
  2231. package/dist/utils/agentStatus.d.ts +42 -0
  2232. package/dist/utils/agentStatus.d.ts.map +1 -0
  2233. package/dist/utils/agentStatus.js +9 -0
  2234. package/dist/utils/agentStatus.js.map +1 -0
  2235. package/dist/utils/aiSessionNotFound.d.ts +2 -0
  2236. package/dist/utils/aiSessionNotFound.d.ts.map +1 -0
  2237. package/dist/utils/aiSessionNotFound.js +18 -0
  2238. package/dist/utils/aiSessionNotFound.js.map +1 -0
  2239. package/dist/utils/nativeBridge.d.ts +3 -0
  2240. package/dist/utils/nativeBridge.d.ts.map +1 -0
  2241. package/dist/utils/nativeBridge.js +2 -0
  2242. package/dist/utils/pageContext.d.ts +23 -0
  2243. package/dist/utils/pageContext.d.ts.map +1 -0
  2244. package/dist/utils/pageContext.js +16 -0
  2245. package/dist/utils/pageContext.js.map +1 -0
  2246. package/dist/utils/quotaUtils.d.ts +8 -0
  2247. package/dist/utils/quotaUtils.d.ts.map +1 -0
  2248. package/dist/utils/quotaUtils.js +88 -0
  2249. package/dist/utils/quotaUtils.js.map +1 -0
  2250. package/dist/utils/relativeTime.d.ts +3 -0
  2251. package/dist/utils/relativeTime.d.ts.map +1 -0
  2252. package/dist/utils/relativeTime.js +24 -0
  2253. package/dist/utils/relativeTime.js.map +1 -0
  2254. package/package.json +127 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SessionsPage.js","names":[],"sources":["../../src/pages/SessionsPage.tsx"],"sourcesContent":["import { useState, useMemo, useRef, useCallback, useEffect } from 'react';\nimport {\n Plus,\n Terminal,\n Grid,\n List,\n Play,\n Square,\n RefreshCw,\n Monitor,\n Trash2,\n RotateCcw,\n CheckSquare,\n XSquare,\n Activity,\n} from 'lucide-react';\nimport { MotionPage, MotionList, MotionItem } from '@burdenoff/fe-libs/shared/motion';\nimport { AnimatePresence } from 'framer-motion';\nimport { SessionCard, SessionList, TerminalPanel, SessionShareDialog } from '@/components/sessions';\nimport type { Session, TerminalTab } from '@/components/sessions';\nimport {\n PageHeader,\n SearchInput,\n FilterDropdown,\n EmptyState,\n LoadingState,\n ErrorState,\n AgentSetupBanner,\n SearchableSelect,\n SessionNotifications,\n GetHelpButton,\n ConfirmDialog,\n} from '@/components/shared';\nimport { useVibeControls, useVibeNavigate } from '@/providers/VibeControlsProvider';\nimport { useVibeControlsStore } from '@/store/vibeControlsStore';\nimport { useCachedInitialData } from '@/hooks/useCachedInitialData';\nimport {\n useListSessionsQuery,\n useVibecontrolsAgentHealthProbesQuery,\n useVibecontrolsAgentHealthProbeStreamSubscription,\n useStartSessionMutation,\n useStopSessionMutation,\n useRestartSessionMutation,\n useCreateSessionMutation,\n useStartSessionTerminalMutation,\n useStopSessionTerminalMutation,\n useRestartSessionTerminalMutation,\n useUpdateSessionMutation,\n useTerminateSessionMutation,\n useCheckSessionHealthMutation,\n useBulkStopSessionsMutation,\n useBulkRestartSessionsMutation,\n useBulkTerminateSessionsMutation,\n useAgentSessionOrphansLazyQuery,\n useAdoptAgentSessionMutation,\n} from '@/generated/wspace-operations';\nimport { PermissionButton, AccessDenied } from '@burdenoff/fe-libs/shared/components';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useSearchParams } from 'react-router-dom';\nimport { VIBE_PERMISSIONS } from '@/constants/permissions';\nimport { getQuotaDialogContent, isQuotaExhaustedError } from '@/utils/quotaUtils';\n\ntype ViewMode = 'terminal' | 'grid' | 'list';\n\n// Health check interval (30 seconds)\nconst HEALTH_CHECK_INTERVAL_MS = 30_000;\n\nfunction normalizeSessionTerminalUrl(\n terminalUrl: string | null | undefined,\n tunnelUrl: string | null | undefined\n): string | null {\n if (!terminalUrl) return null;\n\n try {\n const parsedTerminalUrl = new URL(terminalUrl);\n const blockedHosts = new Set(['localhost', '127.0.0.1', 'host.docker.internal']);\n\n if (tunnelUrl && blockedHosts.has(parsedTerminalUrl.hostname)) {\n const parsedTunnelUrl = new URL(tunnelUrl);\n parsedTunnelUrl.pathname = parsedTerminalUrl.pathname;\n parsedTunnelUrl.search = parsedTerminalUrl.search;\n parsedTunnelUrl.hash = parsedTerminalUrl.hash;\n return parsedTunnelUrl.toString();\n }\n\n return parsedTerminalUrl.toString();\n } catch {\n return terminalUrl;\n }\n}\n\nfunction deriveBrowserSessionStatus(\n status: Session['status'],\n rawTerminalUrl: string | null | undefined,\n normalizedTerminalUrl: string | null,\n agentIsActive?: boolean\n): Session['status'] {\n if (status !== 'RUNNING') return status;\n if (agentIsActive === false) return 'ERROR';\n if (!rawTerminalUrl) return status;\n if (!normalizedTerminalUrl) return 'ERROR';\n\n try {\n const pageProtocol = typeof window !== 'undefined' ? window.location.protocol : 'https:';\n const terminalProtocol = new URL(normalizedTerminalUrl).protocol;\n if (pageProtocol === 'https:' && terminalProtocol !== 'https:') {\n return 'ERROR';\n }\n } catch {\n return 'ERROR';\n }\n\n return status;\n}\n\n/**\n * Sessions management page with terminal-first UI.\n * Persists tab state, supports bulk operations, keyboard shortcuts, and health polling.\n */\nexport function SessionsPage() {\n const { t } = useI18n();\n const { onSessionStart } = useVibeControls();\n const navigate = useVibeNavigate();\n const { hasPermission, isLoading: permissionsLoading, permissions } = usePermissions();\n const [searchParams, setSearchParams] = useSearchParams();\n\n const tr = useCallback(\n (key: string, fallback: string, params?: Record<string, string | number>): string => {\n const translated = t(key, params);\n const template = translated === key ? fallback : translated;\n\n if (!params) return template;\n\n return Object.entries(params).reduce(\n (acc, [paramKey, paramValue]) => acc.replace(`{{${paramKey}}}`, String(paramValue)),\n template\n );\n },\n [t]\n );\n\n const statusOptions = useMemo(\n () => [\n { value: 'all', label: tr('sessions.statusAll', 'All Statuses') },\n { value: 'RUNNING', label: tr('sessions.running', 'Running') },\n { value: 'STOPPED', label: tr('sessions.stopped', 'Stopped') },\n { value: 'STARTING', label: tr('sessions.starting', 'Starting') },\n { value: 'ERROR', label: tr('common.error', 'Error') },\n ],\n [tr]\n );\n\n const typeOptions = useMemo(\n () => [\n { value: 'all', label: tr('sessions.typeAll', 'All Types') },\n { value: 'TMUX', label: tr('sessions.typeTmux', 'Tmux') },\n { value: 'TERMINAL', label: tr('sessions.typeTerminal', 'Terminal') },\n { value: 'SCRIPT', label: tr('sessions.typeScript', 'Script') },\n { value: 'CUSTOM', label: tr('sessions.typeCustom', 'Custom') },\n ],\n [tr]\n );\n\n // Check permissions\n const canListSessions = hasPermission(VIBE_PERMISSIONS.SESSION_LIST);\n const canCreateSession = hasPermission(VIBE_PERMISSIONS.SESSION_CREATE);\n\n const [searchQuery, setSearchQuery] = useState('');\n const [statusFilter, setStatusFilter] = useState('all');\n const [typeFilter, setTypeFilter] = useState('all');\n const [vibeFilter, setVibeFilter] = useState('all');\n const [agentFilter, setAgentFilter] = useState('all');\n const [viewMode, setViewMode] = useState<ViewMode>('terminal');\n const [showCreateForm, setShowCreateForm] = useState(false);\n const [showQuotaExhausted, setShowQuotaExhausted] = useState(false);\n const [createError, setCreateError] = useState<string | null>(null);\n const [createLoading, setCreateLoading] = useState(false);\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n\n // Bulk selection state\n const [selectedSessionIds, setSelectedSessionIds] = useState<Set<string>>(new Set());\n const [bulkLoading, setBulkLoading] = useState(false);\n\n // Form refs\n const sessionNameRef = useRef<HTMLInputElement>(null);\n const sessionCommandRef = useRef<HTMLInputElement>(null);\n const sessionAutoStartRef = useRef<HTMLInputElement>(null);\n // Advanced: provider-native session name to attach to (tmux/wezterm/zellij).\n // When set on submit, the agent reattaches to an existing daemon-side\n // session instead of spawning a fresh one. Empty = normal create.\n const sessionExternalNameRef = useRef<HTMLInputElement>(null);\n\n // Controlled form state for searchable selects\n const [formVibeId, setFormVibeId] = useState('');\n const [formAgentId, setFormAgentId] = useState('');\n const [formType, setFormType] = useState('TMUX');\n const [formShowAdvanced, setFormShowAdvanced] = useState(false);\n\n // Terminal panel state - use store for persistence across navigation\n const {\n terminalTabs: persistedTabs,\n activeTerminalTabId: persistedActiveTab,\n sessionsViewMode: persistedViewMode,\n setTerminalTabs: setPersistedTabs,\n setActiveTerminalTabId: setPersistedActiveTab,\n setSessionsViewMode: setPersistedViewMode,\n activeSessionId,\n } = useVibeControlsStore();\n\n // Local terminal tabs state (enriched with loading/error/url)\n const [terminalTabs, setTerminalTabs] = useState<TerminalTab[]>([]);\n const [activeTerminalTab, setActiveTerminalTab] = useState<string | null>(null);\n const [terminalCollapsed, setTerminalCollapsed] = useState(false);\n\n // Share dialog state\n const [shareSession, setShareSession] = useState<Session | null>(null);\n\n // Immersive fullscreen state (terminal takes over the entire screen)\n const [isImmersiveFullscreen, setIsImmersiveFullscreen] = useState(false);\n\n // UI state persistence flag — true once we've loaded from store\n const [uiStateLoaded, setUiStateLoaded] = useState(false);\n\n const queryViewMode = searchParams.get('view');\n const querySessionId = searchParams.get('session');\n\n // Mutations\n const [createSession] = useCreateSessionMutation({ refetchQueries: ['ListSessions'] });\n\n // Reconnect (orphan adoption) modal state. Independent from the\n // New Session form so the user can reconnect without prefilling the\n // create form. Opened via the \"Reconnect\" header button.\n const [showReconnectModal, setShowReconnectModal] = useState(false);\n const [reconnectAgentId, setReconnectAgentId] = useState<string>('');\n const [reconnectError, setReconnectError] = useState<string | null>(null);\n const [reconnectAdoptingName, setReconnectAdoptingName] = useState<string | null>(null);\n const [discoverOrphans, { data: orphansData, loading: orphansLoading }] =\n useAgentSessionOrphansLazyQuery({ fetchPolicy: 'network-only' });\n const [adoptAgentSession] = useAdoptAgentSessionMutation({\n refetchQueries: ['ListSessions'],\n });\n const [startSession] = useStartSessionMutation({ refetchQueries: ['ListSessions'] });\n const [stopSession] = useStopSessionMutation({ refetchQueries: ['ListSessions'] });\n const [restartSession] = useRestartSessionMutation({ refetchQueries: ['ListSessions'] });\n const [startSessionTerminal] = useStartSessionTerminalMutation({\n refetchQueries: ['ListSessions'],\n });\n const [stopSessionTerminal] = useStopSessionTerminalMutation({\n refetchQueries: ['ListSessions'],\n });\n const [restartSessionTerminal] = useRestartSessionTerminalMutation({\n refetchQueries: ['ListSessions'],\n });\n const [updateSession] = useUpdateSessionMutation({ refetchQueries: ['ListSessions'] });\n const [terminateSession] = useTerminateSessionMutation({ refetchQueries: ['ListSessions'] });\n const [checkSessionHealth] = useCheckSessionHealthMutation({ refetchQueries: ['ListSessions'] });\n const [bulkStopSessions] = useBulkStopSessionsMutation({ refetchQueries: ['ListSessions'] });\n const [bulkRestartSessions] = useBulkRestartSessionsMutation({\n refetchQueries: ['ListSessions'],\n });\n const [bulkTerminateSessions] = useBulkTerminateSessionsMutation({\n refetchQueries: ['ListSessions'],\n });\n\n // ── UI State Persistence (localStorage via Zustand store) ─────────────\n // Load persisted UI state from store on mount\n useEffect(() => {\n if (uiStateLoaded) return;\n\n // Query params take precedence over persisted UI state so session tabs are bookmarkable.\n if (queryViewMode === 'terminal' || queryViewMode === 'grid' || queryViewMode === 'list') {\n setViewMode(queryViewMode);\n } else if (persistedViewMode) {\n setViewMode(persistedViewMode);\n }\n\n if (querySessionId) {\n setActiveTerminalTab(querySessionId);\n } else if (persistedActiveTab) {\n setActiveTerminalTab(persistedActiveTab);\n }\n\n // Restore tabs from store — they'll need to re-fetch terminal URLs\n if (persistedTabs.length > 0) {\n const restoredTabs: TerminalTab[] = persistedTabs.map((t) => ({\n sessionId: t.sessionId,\n name: t.name,\n terminalUrl: null, // Will be populated when sessions load\n loading: false,\n error: null,\n }));\n setTerminalTabs(restoredTabs);\n }\n\n setUiStateLoaded(true);\n }, [\n persistedTabs,\n persistedActiveTab,\n persistedViewMode,\n querySessionId,\n queryViewMode,\n uiStateLoaded,\n ]);\n\n // Once sessions are loaded and we have restored tabs, populate terminal URLs\n const sessionsLoadedRef = useRef(false);\n\n // Sync local state changes to store for persistence\n useEffect(() => {\n if (!uiStateLoaded) return;\n // Sync terminal tabs to store (only sessionId and name for persistence)\n const tabsToStore = terminalTabs.map((t) => ({ sessionId: t.sessionId, name: t.name }));\n setPersistedTabs(tabsToStore);\n }, [terminalTabs, uiStateLoaded, setPersistedTabs]);\n\n useEffect(() => {\n if (!uiStateLoaded) return;\n setPersistedActiveTab(activeTerminalTab);\n }, [activeTerminalTab, uiStateLoaded, setPersistedActiveTab]);\n\n useEffect(() => {\n if (!uiStateLoaded) return;\n setPersistedViewMode(viewMode);\n }, [viewMode, uiStateLoaded, setPersistedViewMode]);\n\n useEffect(() => {\n if (!uiStateLoaded) return;\n\n const next = new URLSearchParams(searchParams);\n let changed = false;\n\n const nextView = viewMode === 'terminal' ? null : viewMode;\n if (nextView) {\n if (next.get('view') !== nextView) {\n next.set('view', nextView);\n changed = true;\n }\n } else if (next.has('view')) {\n next.delete('view');\n changed = true;\n }\n\n if (activeTerminalTab) {\n if (next.get('session') !== activeTerminalTab) {\n next.set('session', activeTerminalTab);\n changed = true;\n }\n } else if (next.has('session')) {\n next.delete('session');\n changed = true;\n }\n\n if (changed) {\n setSearchParams(next, { replace: true });\n }\n }, [activeTerminalTab, searchParams, setSearchParams, uiStateLoaded, viewMode]);\n\n // Track previous activeSessionId to detect changes from the context switcher\n const prevActiveSessionIdRef = useRef<string | null>(null);\n\n // ── Session Health Polling ───────────────────────────────────────────\n useEffect(() => {\n const interval = setInterval(() => {\n checkSessionHealth().catch(() => {\n // Silently ignore health check errors\n });\n }, HEALTH_CHECK_INTERVAL_MS);\n\n return () => clearInterval(interval);\n }, [checkSessionHealth]);\n\n // ── Keyboard Shortcuts for Terminal Tabs ────────────────────────────\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n // Don't intercept when typing in inputs/textareas\n const target = e.target as HTMLElement;\n if (\n target.tagName === 'INPUT' ||\n target.tagName === 'TEXTAREA' ||\n target.tagName === 'SELECT' ||\n target.isContentEditable\n ) {\n return;\n }\n\n const isMod = e.metaKey || e.ctrlKey;\n\n // Ctrl/Cmd+T — New terminal tab (open session picker)\n if (isMod && e.key === 't') {\n e.preventDefault();\n setShowCreateForm(true);\n return;\n }\n\n // Ctrl/Cmd+W — Close active terminal tab\n if (isMod && e.key === 'w' && activeTerminalTab) {\n e.preventDefault();\n const sessionIdToClose = activeTerminalTab;\n setTerminalTabs((prev) => prev.filter((t) => t.sessionId !== sessionIdToClose));\n setActiveTerminalTab(() => {\n const remaining = terminalTabs.filter((t) => t.sessionId !== sessionIdToClose);\n return remaining.length > 0 ? remaining[remaining.length - 1].sessionId : null;\n });\n return;\n }\n\n // Ctrl+Tab — Next terminal tab\n if (e.ctrlKey && e.key === 'Tab' && !e.shiftKey && terminalTabs.length > 1) {\n e.preventDefault();\n const currentIdx = terminalTabs.findIndex((t) => t.sessionId === activeTerminalTab);\n const nextIdx = (currentIdx + 1) % terminalTabs.length;\n setActiveTerminalTab(terminalTabs[nextIdx].sessionId);\n return;\n }\n\n // Ctrl+Shift+Tab — Previous terminal tab\n if (e.ctrlKey && e.key === 'Tab' && e.shiftKey && terminalTabs.length > 1) {\n e.preventDefault();\n const currentIdx = terminalTabs.findIndex((t) => t.sessionId === activeTerminalTab);\n const prevIdx = (currentIdx - 1 + terminalTabs.length) % terminalTabs.length;\n setActiveTerminalTab(terminalTabs[prevIdx].sessionId);\n return;\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [activeTerminalTab, terminalTabs]);\n\n // Fetch sessions from GraphQL API (with filters)\n // Use previousData to prevent flash of loading state during refetches\n const { data, previousData, loading, error, refetch } = useListSessionsQuery({\n variables: {\n filter: {\n status:\n statusFilter !== 'all'\n ? (statusFilter as 'RUNNING' | 'STOPPED' | 'STARTING' | 'ERROR')\n : undefined,\n type:\n typeFilter !== 'all'\n ? (typeFilter as 'TMUX' | 'TERMINAL' | 'SSH' | 'SCRIPT' | 'CUSTOM')\n : undefined,\n vibeId: vibeFilter !== 'all' && vibeFilter !== 'none' ? vibeFilter : undefined,\n agentId: agentFilter !== 'all' ? agentFilter : undefined,\n },\n pagination: { limit: 50 },\n },\n fetchPolicy: 'cache-first',\n });\n\n // Use current data or fall back to previous data during refetches\n // This prevents the \"Loading sessions...\" flash when refetching\n const effectiveData = data ?? previousData;\n\n // Use cached initial data for dropdowns (agents and vibes)\n // This reads from Apollo cache - no network request\n const { agents: cachedAgents, vibes: cachedVibes } = useCachedInitialData();\n\n // Live deep-health probe per agent (every 30s). Used to gate the\n // \"Create session\" button — without this, the button stays enabled\n // against an agent whose cloudflared tunnel has died, and clicking\n // it produces the user-visible \"Failed to start terminal\" error\n // long after the session row is already created in PENDING state.\n // Initial query primes the cache; the subscription below replaces\n // the prior 30s pollInterval so health flips reach this page in <1s.\n const agentHealthQuery = useVibecontrolsAgentHealthProbesQuery({\n fetchPolicy: 'cache-and-network',\n });\n const { data: agentHealthStreamData } = useVibecontrolsAgentHealthProbeStreamSubscription();\n const agentHealthByIdRef = useMemo(() => {\n const m = new Map<string, { healthy: boolean; error: string | null }>();\n const probes =\n agentHealthStreamData?.vibecontrolsAgentHealthProbeStream ??\n agentHealthQuery.data?.vibecontrolsAgentHealthProbes ??\n [];\n for (const p of probes) {\n m.set(p.agentId, { healthy: p.healthy, error: p.errorMessage ?? null });\n }\n return m;\n }, [agentHealthQuery.data, agentHealthStreamData]);\n\n // Build vibe options for filter using cached data\n const vibeOptions = useMemo(() => {\n return [\n { value: 'all', label: tr('sessions.filterVibeAll', 'All Vibes') },\n { value: 'none', label: tr('sessions.filterVibeNone', 'No Vibe') },\n ...cachedVibes.map((vibe) => ({\n value: vibe.id,\n label: vibe.name,\n })),\n ];\n }, [cachedVibes, tr]);\n\n // Build agent options for filter using cached data\n const agentOptions = useMemo(() => {\n return [\n { value: 'all', label: tr('sessions.filterAgentAll', 'All Agents') },\n ...cachedAgents.map((agent) => ({\n value: agent.id,\n label: `${agent.name} ${agent.isActive ? '' : `(${tr('sessions.offline', 'Offline')})`}`,\n })),\n ];\n }, [cachedAgents, tr]);\n\n // Build options for create form using cached data (no \"all\"/\"none\" entries)\n const createVibeOptions = useMemo(() => {\n return [\n { value: '', label: tr('sessions.noVibe', 'No vibe') },\n ...cachedVibes.map((vibe) => ({\n value: vibe.id,\n label: vibe.name,\n })),\n ];\n }, [cachedVibes, tr]);\n\n const createAgentOptions = useMemo(() => {\n return [\n { value: '', label: tr('sessions.selectAgent', 'Select an agent') },\n ...cachedAgents.map((agent) => ({\n value: agent.id,\n label: `${agent.name} ${agent.isActive ? `(${tr('sessions.active', 'Active')})` : `(${tr('sessions.offline', 'Offline')})`}`,\n })),\n ];\n }, [cachedAgents, tr]);\n\n const sessionTypeOptions = useMemo(\n () => [\n { value: 'TMUX', label: tr('sessions.typeTmuxLower', 'tmux') },\n { value: 'WEZTERM', label: tr('sessions.typeWezTerm', 'WezTerm') },\n { value: 'ZELLIJ', label: tr('sessions.typeZellij', 'Zellij') },\n { value: 'TERMINAL', label: tr('sessions.typeTerminal', 'Terminal') },\n { value: 'SSH', label: tr('sessions.typeSsh', 'SSH') },\n { value: 'SCRIPT', label: tr('sessions.typeScript', 'Script') },\n { value: 'CUSTOM', label: tr('sessions.typeCustom', 'Custom') },\n ],\n [tr]\n );\n\n // Map GraphQL response to Session type\n // Use effectiveData to prevent flash during refetches\n const sessions: Session[] = useMemo(() => {\n const rawSessions = effectiveData?.sessions?.items ?? [];\n return rawSessions.map((session: NonNullable<typeof rawSessions>[number]) => {\n const normalizedTtydUrl = normalizeSessionTerminalUrl(\n session.ttydUrl || null,\n session.agent?.tunnelUrl || null\n );\n\n return {\n id: session.id,\n workspaceId: session.workspaceId,\n vibeId: session.vibeId || null,\n agentId: session.agentId || null,\n name: session.name,\n type: session.type as Session['type'],\n status: deriveBrowserSessionStatus(\n session.status as Session['status'],\n session.ttydUrl || null,\n normalizedTtydUrl,\n session.agent?.isActive\n ),\n command: session.command || null,\n workingDirectory: session.workingDirectory || null,\n environmentVariables: (session.environmentVariables as Record<string, string>) || {},\n autoStart: session.autoStart,\n providerSessionName: session.providerSessionName || undefined,\n providerWindowName: session.providerWindowId || undefined,\n pid: session.pid || null,\n exitCode: session.exitCode || null,\n lastOutput: session.lastOutput || null,\n ttydUrl: normalizedTtydUrl,\n metadata: (session.metadata as Record<string, unknown>) || {},\n createdAt: session.createdAt,\n updatedAt: session.updatedAt,\n vibe: session.vibe ? { id: session.vibe.id, name: session.vibe.name } : undefined,\n agent: session.agent\n ? {\n id: session.agent.id,\n name: session.agent.name,\n tunnelUrl: session.agent.tunnelUrl || null,\n isActive: session.agent.isActive,\n }\n : undefined,\n };\n });\n }, [effectiveData?.sessions?.items]);\n\n // Populate terminal URLs for restored tabs once sessions load\n useEffect(() => {\n if (sessionsLoadedRef.current || sessions.length === 0 || terminalTabs.length === 0) return;\n sessionsLoadedRef.current = true;\n\n // Re-spawn ttyd for every restored tab. The persisted ttydUrl from\n // the session row is stale on remount: the agent's ttyd process\n // dies on agent restart / idle GC, and the cached URL surfaces as\n // \"Terminal not running for this session\" when the iframe loads.\n // startSessionTerminal is idempotent server-side (re-uses an\n // existing ttyd if it's still running, spawns a fresh one if not),\n // so this is safe to call unconditionally on tab restore. The\n // iframe url returned in the mutation response is the source of\n // truth — we no longer trust the persisted ttydUrl.\n void Promise.allSettled(\n terminalTabs.map(async (tab) => {\n const session = sessions.find((s) => s.id === tab.sessionId);\n if (!session) return;\n try {\n const result = await startSessionTerminal({ variables: { id: tab.sessionId } });\n const tunnelHint = session.agent?.tunnelUrl ?? null;\n const newUrl = normalizeSessionTerminalUrl(\n result.data?.startSessionTerminal?.ttydUrl ?? null,\n tunnelHint\n );\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === tab.sessionId\n ? { ...t, terminalUrl: newUrl, loading: false, error: null }\n : t\n )\n );\n } catch (err) {\n // Don't blow up the tab — leave it loading=false with the\n // cached ttydUrl as a best-effort, the user can hit\n // \"Restart terminal\" if the iframe still 404s.\n // eslint-disable-next-line no-console\n console.warn('[sessions] tab restore startSessionTerminal failed', err);\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === tab.sessionId && session.ttydUrl\n ? { ...t, terminalUrl: session.ttydUrl, loading: false }\n : t\n )\n );\n }\n })\n );\n }, [sessions, terminalTabs, startSessionTerminal]);\n\n // ── Session Switcher Integration ─────────────────────────────────────\n // When activeSessionId changes, open/switch to that terminal\n useEffect(() => {\n // Skip if not initialized or no session selected\n if (!uiStateLoaded || !activeSessionId) {\n prevActiveSessionIdRef.current = activeSessionId;\n return;\n }\n\n // Skip if this is the initial load (not a user-initiated change)\n if (prevActiveSessionIdRef.current === null && activeSessionId) {\n prevActiveSessionIdRef.current = activeSessionId;\n return;\n }\n\n // Skip if the session hasn't actually changed\n if (prevActiveSessionIdRef.current === activeSessionId) {\n return;\n }\n\n prevActiveSessionIdRef.current = activeSessionId;\n\n // Find the session in the sessions list\n const session = sessions.find((s) => s.id === activeSessionId);\n if (!session) return;\n\n // Check if this session already has an open tab\n const existingTab = terminalTabs.find((t) => t.sessionId === activeSessionId);\n\n if (existingTab) {\n // Tab already exists - just switch to it\n setActiveTerminalTab(activeSessionId);\n setTerminalCollapsed(false);\n } else {\n // Need to open a new tab for this session\n const url = session.ttydUrl || null;\n const newTab: TerminalTab = {\n sessionId: session.id,\n name: session.name,\n terminalUrl: url,\n loading: !url,\n error: null,\n };\n setTerminalTabs((prev) => [...prev, newTab]);\n setActiveTerminalTab(activeSessionId);\n setTerminalCollapsed(false);\n\n // If no URL available, start the terminal\n if (!url) {\n startSessionTerminal({ variables: { id: session.id } })\n .then((result) => {\n const newUrl = result.data?.startSessionTerminal?.ttydUrl || null;\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === session.id\n ? {\n ...t,\n terminalUrl: newUrl,\n loading: false,\n error: newUrl\n ? null\n : tr(\n 'sessions.terminalStartedNoUrl',\n 'Terminal started but no URL was returned. Try restarting.'\n ),\n }\n : t\n )\n );\n })\n .catch((err) => {\n const message =\n err instanceof Error\n ? err.message\n : tr('sessions.failedStartTerminal', 'Failed to start terminal');\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === session.id ? { ...t, loading: false, error: message } : t\n )\n );\n });\n }\n }\n }, [activeSessionId, sessions, terminalTabs, uiStateLoaded, startSessionTerminal]);\n\n // Filter sessions\n const filteredSessions = useMemo(() => {\n return sessions.filter((session) => {\n if (searchQuery) {\n const query = searchQuery.toLowerCase();\n const matchesSearch =\n session.name.toLowerCase().includes(query) ||\n session.command?.toLowerCase().includes(query) ||\n session.workingDirectory?.toLowerCase().includes(query);\n if (!matchesSearch) return false;\n }\n if (vibeFilter === 'none' && session.vibeId) return false;\n return true;\n });\n }, [sessions, searchQuery, vibeFilter]);\n\n // ── Bulk Selection ───────────────────────────────────────────────────\n const toggleSessionSelection = useCallback((sessionId: string) => {\n setSelectedSessionIds((prev) => {\n const next = new Set(prev);\n if (next.has(sessionId)) {\n next.delete(sessionId);\n } else {\n next.add(sessionId);\n }\n return next;\n });\n }, []);\n\n const selectAllSessions = useCallback(() => {\n setSelectedSessionIds(new Set(filteredSessions.map((s) => s.id)));\n }, [filteredSessions]);\n\n const deselectAllSessions = useCallback(() => {\n setSelectedSessionIds(new Set());\n }, []);\n\n const isAllSelected =\n filteredSessions.length > 0 && selectedSessionIds.size === filteredSessions.length;\n const hasSelection = selectedSessionIds.size > 0;\n\n // ── Bulk Actions ─────────────────────────────────────────────────────\n const handleBulkStop = useCallback(async () => {\n if (selectedSessionIds.size === 0) return;\n setBulkLoading(true);\n try {\n const result = await bulkStopSessions({ variables: { ids: Array.from(selectedSessionIds) } });\n const data = result.data?.bulkStopSessions;\n setSuccessMessage(\n `${tr('sessions.stopped', 'Stopped')} ${data?.succeeded ?? 0} ${tr('nav.sessions', 'sessions')}${\n data?.failed ? `, ${data.failed} ${tr('sessions.failed', 'failed')}` : ''\n }`\n );\n setSelectedSessionIds(new Set());\n setTimeout(() => setSuccessMessage(null), 3000);\n } catch (err) {\n setSuccessMessage(\n `${tr('sessions.errorPrefix', 'Error')}: ${\n err instanceof Error ? err.message : tr('sessions.failedStop', 'Failed to stop sessions')\n }`\n );\n setTimeout(() => setSuccessMessage(null), 5000);\n } finally {\n setBulkLoading(false);\n }\n }, [selectedSessionIds, bulkStopSessions, tr]);\n\n const handleBulkRestart = useCallback(async () => {\n if (selectedSessionIds.size === 0) return;\n setBulkLoading(true);\n try {\n const result = await bulkRestartSessions({\n variables: { ids: Array.from(selectedSessionIds) },\n });\n const data = result.data?.bulkRestartSessions;\n setSuccessMessage(\n `${tr('sessions.restarted', 'Restarted')} ${data?.succeeded ?? 0} ${tr('nav.sessions', 'sessions')}${\n data?.failed ? `, ${data.failed} ${tr('sessions.failed', 'failed')}` : ''\n }`\n );\n setSelectedSessionIds(new Set());\n setTimeout(() => setSuccessMessage(null), 3000);\n } catch (err) {\n setSuccessMessage(\n `${tr('sessions.errorPrefix', 'Error')}: ${\n err instanceof Error\n ? err.message\n : tr('sessions.failedRestart', 'Failed to restart sessions')\n }`\n );\n setTimeout(() => setSuccessMessage(null), 5000);\n } finally {\n setBulkLoading(false);\n }\n }, [selectedSessionIds, bulkRestartSessions, tr]);\n\n const handleBulkTerminate = useCallback(async () => {\n if (selectedSessionIds.size === 0) return;\n if (\n !confirm(\n `${tr('sessions.confirmRemovePrefix', 'Are you sure you want to remove')} ${selectedSessionIds.size} ${tr('nav.sessions', 'session(s)')}? ${tr('sessions.confirmRemoveSuffix', 'This cannot be undone.')}`\n )\n )\n return;\n setBulkLoading(true);\n try {\n const result = await bulkTerminateSessions({\n variables: { ids: Array.from(selectedSessionIds) },\n });\n const data = result.data?.bulkTerminateSessions;\n setSuccessMessage(\n `${tr('sessions.removed', 'Removed')} ${data?.succeeded ?? 0} ${tr('nav.sessions', 'sessions')}${\n data?.failed ? `, ${data.failed} ${tr('sessions.failed', 'failed')}` : ''\n }`\n );\n setSelectedSessionIds(new Set());\n setTimeout(() => setSuccessMessage(null), 3000);\n } catch (err) {\n setSuccessMessage(\n `${tr('sessions.errorPrefix', 'Error')}: ${\n err instanceof Error\n ? err.message\n : tr('sessions.failedRemove', 'Failed to remove sessions')\n }`\n );\n setTimeout(() => setSuccessMessage(null), 5000);\n } finally {\n setBulkLoading(false);\n }\n }, [selectedSessionIds, bulkTerminateSessions, tr]);\n\n // ── Single Session Actions ───────────────────────────────────────────\n const handleSessionSelect = (session: Session) => {\n navigate(`/sessions/${session.id}`);\n };\n\n const handleCreateSession = () => {\n setCreateError(null);\n setShowCreateForm(true);\n };\n\n const handleSubmitCreateSession = async () => {\n const name = sessionNameRef.current?.value?.trim();\n const vibeId = formVibeId;\n const selectedAgentId = formAgentId;\n const type = formType;\n const command = sessionCommandRef.current?.value?.trim();\n const autoStart = sessionAutoStartRef.current?.checked ?? false;\n\n if (!name) {\n setCreateError(tr('sessions.nameRequired', 'Name is required'));\n return;\n }\n\n const selectedVibe = cachedVibes.find((v) => v.id === vibeId);\n const agentId = selectedVibe?.agentId || selectedAgentId;\n if (!agentId) {\n setCreateError(tr('sessions.agentRequired', 'Please select an agent for this session.'));\n return;\n }\n\n // Block session create when the agent's live deep-health probe is\n // not green — without this gate, the create succeeds (PENDING row\n // gets written) but the subsequent terminal-start step fails with\n // \"Terminal started but no tunnel URL\". Surface the actual probe\n // error inline instead of letting the user pile up dead PENDING\n // sessions against an unreachable agent.\n const probeRow = agentHealthByIdRef.get(agentId);\n if (probeRow && !probeRow.healthy) {\n setCreateError(\n tr(\n 'sessions.agentNotHealthy',\n 'The selected agent isn\\u2019t fully reachable right now. Please wait for the agent badge to turn green and retry.'\n ) + (probeRow.error ? ` (${probeRow.error})` : '')\n );\n return;\n }\n\n setCreateLoading(true);\n setCreateError(null);\n try {\n const externalSessionName = sessionExternalNameRef.current?.value?.trim() || undefined;\n const result = await createSession({\n variables: {\n input: {\n name,\n type: (type || 'TMUX') as\n | 'TMUX'\n | 'WEZTERM'\n | 'ZELLIJ'\n | 'TERMINAL'\n | 'SSH'\n | 'SCRIPT'\n | 'CUSTOM',\n command: command || undefined,\n vibeId: vibeId || undefined,\n agentId,\n autoStart,\n externalSessionName,\n },\n },\n });\n setShowCreateForm(false);\n setSuccessMessage(tr('sessions.createdSuccess', 'Session created successfully'));\n setTimeout(() => setSuccessMessage(null), 3000);\n\n if (viewMode === 'terminal' && result.data?.createSession) {\n const newSession: Session = {\n id: result.data.createSession.id,\n workspaceId: result.data.createSession.workspaceId,\n vibeId: result.data.createSession.vibeId || null,\n agentId: result.data.createSession.agentId || null,\n name: result.data.createSession.name,\n type: result.data.createSession.type as Session['type'],\n status: result.data.createSession.status as Session['status'],\n command: result.data.createSession.command || null,\n workingDirectory: result.data.createSession.workingDirectory || null,\n environmentVariables:\n (result.data.createSession.environmentVariables as Record<string, string>) || {},\n autoStart: result.data.createSession.autoStart,\n providerSessionName: result.data.createSession.providerSessionName || undefined,\n providerWindowName: result.data.createSession.providerWindowId || undefined,\n pid: result.data.createSession.pid || null,\n exitCode: result.data.createSession.exitCode || null,\n lastOutput: result.data.createSession.lastOutput || null,\n ttydUrl: result.data.createSession.ttydUrl || null,\n metadata: (result.data.createSession.metadata as Record<string, unknown>) || {},\n createdAt: result.data.createSession.createdAt,\n updatedAt: result.data.createSession.updatedAt,\n };\n handleOpenTerminal(newSession);\n }\n } catch (err) {\n if (isQuotaExhaustedError(err)) {\n setShowCreateForm(false);\n setShowQuotaExhausted(true);\n return;\n }\n\n setCreateError(\n err instanceof Error ? err.message : tr('sessions.failedCreate', 'Failed to create session')\n );\n } finally {\n setCreateLoading(false);\n }\n };\n\n const handleStartSession = async (session: Session) => {\n try {\n await startSession({ variables: { id: session.id } });\n onSessionStart?.({\n id: session.id,\n name: session.name,\n type: session.type,\n status: 'RUNNING',\n });\n } catch (err) {\n if (isQuotaExhaustedError(err)) {\n setShowQuotaExhausted(true);\n return;\n }\n\n console.error('Failed to start session:', err);\n }\n };\n\n const handleStopSession = async (session: Session) => {\n try {\n await stopSession({ variables: { id: session.id } });\n } catch (err) {\n console.error('Failed to stop session:', err);\n }\n };\n\n const handleRestartSession = async (session: Session) => {\n try {\n await restartSession({ variables: { id: session.id } });\n } catch (err) {\n if (isQuotaExhaustedError(err)) {\n setShowQuotaExhausted(true);\n return;\n }\n\n console.error('Failed to restart session:', err);\n }\n };\n\n const handleTerminateSession = async (session: Session) => {\n try {\n await terminateSession({ variables: { id: session.id } });\n } catch (err) {\n console.error('Failed to terminate session:', err);\n }\n };\n\n const getTerminalUrl = useCallback((session: Session): string | null => {\n return session.ttydUrl || null;\n }, []);\n\n // Share session handler\n const handleShareSession = useCallback((session: Session) => {\n setShareSession(session);\n }, []);\n\n const handleOpenTerminal = useCallback(\n async (session: Session) => {\n const existingTab = terminalTabs.find((t) => t.sessionId === session.id);\n if (existingTab?.terminalUrl) {\n setActiveTerminalTab(session.id);\n setTerminalCollapsed(false);\n return;\n }\n\n const url = getTerminalUrl(session);\n\n if (url) {\n const newTab: TerminalTab = {\n sessionId: session.id,\n name: session.name,\n terminalUrl: url,\n loading: false,\n error: null,\n };\n setTerminalTabs((prev) => {\n const filtered = prev.filter((t) => t.sessionId !== session.id);\n return [...filtered, newTab];\n });\n setActiveTerminalTab(session.id);\n setTerminalCollapsed(false);\n return;\n }\n\n const loadingTab: TerminalTab = {\n sessionId: session.id,\n name: session.name,\n terminalUrl: null,\n loading: true,\n error: null,\n };\n setTerminalTabs((prev) => {\n const filtered = prev.filter((t) => t.sessionId !== session.id);\n return [...filtered, loadingTab];\n });\n setActiveTerminalTab(session.id);\n setTerminalCollapsed(false);\n\n try {\n const result = await startSessionTerminal({ variables: { id: session.id } });\n if (result.error && isQuotaExhaustedError(result.error)) {\n const remainingTabs = terminalTabs.filter((t) => t.sessionId !== session.id);\n setTerminalTabs(remainingTabs);\n if (activeTerminalTab === session.id) {\n setActiveTerminalTab(\n remainingTabs.length > 0 ? remainingTabs[remainingTabs.length - 1].sessionId : null\n );\n }\n setShowQuotaExhausted(true);\n return;\n }\n\n // Apply the same browser-host normalization we use for list rows\n // so a `host.docker.internal`/`localhost` URL falls back to the\n // agent's known tunnel host where possible. The mutation response\n // doesn't fetch the agent inline (SessionFields fragment is flat),\n // so we look up the tunnelUrl from the already-loaded session row.\n const rawUrl = result.data?.startSessionTerminal?.ttydUrl || null;\n const sessionRow = sessions.find((s) => s.id === session.id);\n const tunnelHint = sessionRow?.agent?.tunnelUrl ?? null;\n const newUrl = normalizeSessionTerminalUrl(rawUrl, tunnelHint);\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === session.id\n ? {\n ...t,\n terminalUrl: newUrl,\n loading: false,\n error: newUrl\n ? null\n : tr(\n 'sessions.terminalStartedNoTunnelUrl',\n 'Terminal started but no tunnel URL was returned. Try restarting.'\n ),\n }\n : t\n )\n );\n } catch (err) {\n if (isQuotaExhaustedError(err)) {\n const remainingTabs = terminalTabs.filter((t) => t.sessionId !== session.id);\n setTerminalTabs(remainingTabs);\n if (activeTerminalTab === session.id) {\n setActiveTerminalTab(\n remainingTabs.length > 0 ? remainingTabs[remainingTabs.length - 1].sessionId : null\n );\n }\n setShowQuotaExhausted(true);\n return;\n }\n\n const message =\n err instanceof Error\n ? err.message\n : tr('sessions.failedStartTerminal', 'Failed to start terminal');\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === session.id ? { ...t, loading: false, error: message } : t\n )\n );\n }\n },\n [activeTerminalTab, terminalTabs, getTerminalUrl, startSessionTerminal]\n );\n\n useEffect(() => {\n if (!uiStateLoaded || !activeTerminalTab) return;\n if (terminalTabs.some((tab) => tab.sessionId === activeTerminalTab)) return;\n\n const session = sessions.find((item) => item.id === activeTerminalTab);\n if (session) {\n void handleOpenTerminal(session);\n }\n }, [activeTerminalTab, handleOpenTerminal, sessions, terminalTabs, uiStateLoaded]);\n\n const handleCloseTerminalTab = useCallback(\n (sessionId: string) => {\n setTerminalTabs((prev) => prev.filter((t) => t.sessionId !== sessionId));\n if (activeTerminalTab === sessionId) {\n setActiveTerminalTab(() => {\n const remaining = terminalTabs.filter((t) => t.sessionId !== sessionId);\n return remaining.length > 0 ? remaining[remaining.length - 1].sessionId : null;\n });\n }\n },\n [activeTerminalTab, terminalTabs]\n );\n\n const handleOpenTerminalExternal = useCallback(\n (sessionId: string) => {\n const tab = terminalTabs.find((t) => t.sessionId === sessionId);\n if (tab?.terminalUrl) window.open(tab.terminalUrl, '_blank');\n },\n [terminalTabs]\n );\n\n const handleRenameSession = useCallback(\n async (sessionId: string, newName: string) => {\n try {\n await updateSession({ variables: { id: sessionId, input: { name: newName } } });\n setTerminalTabs((prev) =>\n prev.map((t) => (t.sessionId === sessionId ? { ...t, name: newName } : t))\n );\n } catch (err) {\n console.error('Failed to rename session:', err);\n }\n },\n [updateSession]\n );\n\n const handleStopTerminal = useCallback(\n async (sessionId: string) => {\n try {\n await stopSessionTerminal({ variables: { id: sessionId } });\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === sessionId\n ? {\n ...t,\n terminalUrl: null,\n error: tr('sessions.terminalStopped', 'Terminal stopped'),\n }\n : t\n )\n );\n } catch (err) {\n console.error('Failed to stop terminal:', err);\n }\n },\n [stopSessionTerminal]\n );\n\n const handleRestartTerminal = useCallback(\n async (sessionId: string) => {\n const previousTab = terminalTabs.find((t) => t.sessionId === sessionId) || null;\n\n try {\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === sessionId ? { ...t, loading: true, error: null, terminalUrl: null } : t\n )\n );\n const result = await restartSessionTerminal({ variables: { id: sessionId } });\n if (result.error && isQuotaExhaustedError(result.error)) {\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === sessionId\n ? {\n ...t,\n loading: false,\n error: null,\n terminalUrl: previousTab?.terminalUrl ?? t.terminalUrl,\n }\n : t\n )\n );\n setShowQuotaExhausted(true);\n return;\n }\n\n const newUrl = result.data?.restartSessionTerminal?.ttydUrl || null;\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === sessionId\n ? {\n ...t,\n terminalUrl: newUrl,\n loading: false,\n error: newUrl\n ? null\n : tr(\n 'sessions.terminalRestartedNoUrl',\n 'Terminal restarted but no URL returned.'\n ),\n }\n : t\n )\n );\n } catch (err) {\n if (isQuotaExhaustedError(err)) {\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === sessionId\n ? {\n ...t,\n loading: false,\n error: null,\n terminalUrl: previousTab?.terminalUrl ?? t.terminalUrl,\n }\n : t\n )\n );\n setShowQuotaExhausted(true);\n return;\n }\n\n const message =\n err instanceof Error\n ? err.message\n : tr('sessions.failedRestartTerminal', 'Failed to restart terminal');\n setTerminalTabs((prev) =>\n prev.map((t) =>\n t.sessionId === sessionId ? { ...t, loading: false, error: message } : t\n )\n );\n }\n },\n [restartSessionTerminal, terminalTabs]\n );\n\n // Toggle immersive fullscreen mode\n const handleToggleImmersiveFullscreen = useCallback(() => {\n setIsImmersiveFullscreen((prev) => !prev);\n }, []);\n\n // Stats\n const stats = {\n total: sessions.length,\n running: sessions.filter((s) => s.status === 'RUNNING').length,\n stopped: sessions.filter((s) => s.status === 'STOPPED').length,\n };\n\n // Guard states rendered inside MotionPage to prevent unmount/remount animation replay\n if (\n !permissionsLoading &&\n permissions &&\n permissions.permissionStrings?.length > 0 &&\n !canListSessions\n ) {\n return (\n <MotionPage className=\"space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen\">\n <AccessDenied\n title={tr('common.accessDeniedTitle', 'Access Denied')}\n description={tr(\n 'sessions.accessDeniedDescription',\n \"You don't have permission to view sessions.\"\n )}\n details={tr('sessions.requiredPermission', 'Required permission: session:list')}\n />\n </MotionPage>\n );\n }\n\n const isInitialLoad = loading && !previousData && sessions.length === 0;\n if (isInitialLoad) {\n return (\n <MotionPage className=\"space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen\">\n <LoadingState message={tr('sessions.loading', 'Loading sessions...')} />\n </MotionPage>\n );\n }\n\n if (error && sessions.length === 0) {\n return (\n <MotionPage className=\"space-y-6 p-4 sm:p-6 bg-bg-surface min-h-screen\">\n <ErrorState\n title={tr('sessions.failedLoad', 'Failed to load sessions')}\n message={error.message}\n onRetry={() => refetch()}\n />\n </MotionPage>\n );\n }\n\n // ── Bulk Action Bar ──────────────────────────────────────────────────\n const renderBulkActionBar = () => {\n if (!hasSelection || viewMode === 'terminal') return null;\n return (\n <div className=\"flex flex-col sm:flex-row items-start sm:items-center gap-3 px-4 py-2 bg-action-primary-bg/10 border border-action-primary-bg/20 rounded-lg\">\n <span className=\"text-sm font-medium text-text-primary\">\n {tr(\n selectedSessionIds.size === 1\n ? 'sessions.selectionCountSingle'\n : 'sessions.selectionCountPlural',\n selectedSessionIds.size === 1\n ? '{{count}} session selected'\n : '{{count}} sessions selected',\n { count: selectedSessionIds.size }\n )}\n </span>\n <div className=\"flex items-center gap-1.5 sm:ml-auto flex-wrap\">\n <button\n onClick={handleBulkStop}\n disabled={bulkLoading}\n className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-text-primary bg-bg-surface border border-border-default rounded-md hover:bg-bg-sunken transition-colors disabled:opacity-50\"\n >\n <Square className=\"w-3 h-3\" /> {tr('sessions.stop', 'Stop')}\n </button>\n <button\n onClick={handleBulkRestart}\n disabled={bulkLoading}\n className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-text-primary bg-bg-surface border border-border-default rounded-md hover:bg-bg-sunken transition-colors disabled:opacity-50\"\n >\n <RotateCcw className=\"w-3 h-3\" /> {tr('sessions.restart', 'Restart')}\n </button>\n <button\n onClick={handleBulkTerminate}\n disabled={bulkLoading}\n className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs font-medium text-status-error-text bg-status-error-bg border border-status-error-text/20 rounded-md hover:bg-status-error-bg/80 transition-colors disabled:opacity-50\"\n >\n <Trash2 className=\"w-3 h-3\" /> {tr('sessions.remove', 'Remove')}\n </button>\n <button\n onClick={deselectAllSessions}\n className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs text-text-secondary hover:text-text-primary transition-colors\"\n >\n <XSquare className=\"w-3 h-3\" /> {tr('sessions.deselect', 'Deselect')}\n </button>\n </div>\n </div>\n );\n };\n\n // Terminal-first view\n if (viewMode === 'terminal') {\n return (\n <MotionPage className=\"flex flex-col bg-bg-surface h-screen\">\n <div className=\"flex flex-col sm:flex-row items-start sm:items-center justify-between gap-2 px-4 py-2 border-b border-border-default bg-bg-sunken\">\n <div className=\"flex flex-wrap items-center gap-3\">\n <h1 className=\"text-sm font-semibold text-text-primary\">\n {tr('nav.sessions', 'Sessions')}\n </h1>\n <span className=\"text-xs text-text-muted\">\n {tr('sessions.runningSummary', '{{running}} running / {{total}} total', {\n running: stats.running,\n total: stats.total,\n })}\n </span>\n </div>\n <div className=\"flex w-full flex-wrap items-center gap-2 sm:w-auto sm:justify-end\">\n <button\n onClick={() => checkSessionHealth().then(() => refetch())}\n className=\"p-1.5 text-text-secondary hover:bg-bg-surface rounded transition-colors\"\n title={tr('sessions.checkHealth', 'Check session health')}\n >\n <Activity className=\"w-3.5 h-3.5\" />\n </button>\n <button\n onClick={() => refetch()}\n disabled={loading}\n className=\"p-1.5 text-text-secondary hover:bg-bg-surface rounded transition-colors disabled:opacity-50\"\n title={tr('common.refresh', 'Refresh')}\n >\n <RefreshCw className={`w-3.5 h-3.5 ${loading ? 'animate-spin' : ''}`} />\n </button>\n <div className=\"flex items-center gap-0.5 rounded bg-bg-surface p-0.5\">\n <button\n onClick={() => setViewMode('terminal')}\n className=\"p-1.5 rounded bg-bg-sunken shadow-sm\"\n title={tr('sessions.terminalViewTitle', 'Terminal view')}\n >\n <Monitor className=\"w-3.5 h-3.5 text-text-secondary\" />\n </button>\n <button\n onClick={() => setViewMode('grid')}\n className=\"p-1.5 rounded hover:bg-bg-sunken/50\"\n title={tr('sessions.gridViewTitle', 'Grid view')}\n >\n <Grid className=\"w-3.5 h-3.5 text-text-secondary\" />\n </button>\n <button\n onClick={() => setViewMode('list')}\n className=\"p-1.5 rounded hover:bg-bg-sunken/50\"\n title={tr('sessions.listViewTitle', 'List view')}\n >\n <List className=\"w-3.5 h-3.5 text-text-secondary\" />\n </button>\n </div>\n </div>\n </div>\n\n {/* Agent Notifications Banner */}\n <div className=\"px-4 pt-3\">\n <SessionNotifications showConnectionStatus={true} maxVisible={3} />\n </div>\n\n <TerminalPanel\n tabs={terminalTabs}\n activeTabId={activeTerminalTab}\n onTabSelect={setActiveTerminalTab}\n onTabClose={handleCloseTerminalTab}\n onOpenExternal={handleOpenTerminalExternal}\n collapsed={false}\n sessions={filteredSessions}\n onOpenTerminal={handleOpenTerminal}\n onRetryTerminal={handleOpenTerminal}\n onRenameSession={handleRenameSession}\n onStopTerminal={handleStopTerminal}\n onRestartTerminal={handleRestartTerminal}\n onCreateSession={handleCreateSession}\n fullScreen={true}\n isImmersiveFullscreen={isImmersiveFullscreen}\n onToggleImmersiveFullscreen={handleToggleImmersiveFullscreen}\n contextSwitcher={undefined}\n />\n\n {successMessage && (\n <div className=\"fixed bottom-4 right-4 z-50 px-4 py-3 bg-status-success-bg text-status-success-text rounded-md shadow-lg text-sm\">\n {successMessage}\n </div>\n )}\n {showCreateForm && renderCreateModal()}\n {renderReconnectModal()}\n </MotionPage>\n );\n }\n\n // Grid/List view\n return (\n <MotionPage className=\"flex flex-col bg-bg-surface min-h-screen\">\n <div className=\"flex-1 overflow-y-auto space-y-6 p-4 sm:p-6\">\n <PageHeader\n title={tr('nav.sessions', 'Sessions')}\n description={tr('sessions.pageDescription', '{{running}} of {{total}} sessions running', {\n running: stats.running,\n total: stats.total,\n })}\n actions={\n <div className=\"flex flex-col sm:flex-row items-stretch sm:items-center gap-2\">\n <button\n onClick={() => checkSessionHealth().then(() => refetch())}\n className=\"flex items-center gap-2 px-3 py-2 text-text-secondary hover:bg-bg-sunken rounded-md transition-colors\"\n title={tr('sessions.checkHealth', 'Check session health')}\n >\n <Activity className=\"w-4 h-4\" />\n </button>\n <button\n onClick={() => refetch()}\n disabled={loading}\n className=\"flex items-center gap-2 px-3 py-2 text-text-secondary hover:bg-bg-sunken rounded-md transition-colors disabled:opacity-50\"\n title={tr('sessions.refreshTitle', 'Refresh sessions')}\n >\n <RefreshCw className={`w-4 h-4 ${loading ? 'animate-spin' : ''}`} />\n </button>\n <PermissionButton permission={VIBE_PERMISSIONS.SESSION_CREATE}>\n <button\n onClick={() => setShowReconnectModal(true)}\n className=\"flex items-center gap-2 px-3 py-2 text-text-primary border border-border-default rounded-md hover:bg-bg-sunken transition-colors\"\n data-testid=\"sessions-reconnect-button\"\n title={tr(\n 'sessions.reconnectTooltip',\n 'Reconnect orphan tmux/wezterm/zellij sessions left over from a previous agent run'\n )}\n >\n <RefreshCw className=\"w-4 h-4\" />\n {tr('sessions.reconnect', 'Reconnect')}\n </button>\n </PermissionButton>\n <PermissionButton permission={VIBE_PERMISSIONS.SESSION_CREATE}>\n <button\n onClick={handleCreateSession}\n className=\"flex items-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\"\n >\n <Plus className=\"w-4 h-4\" />\n {tr('sessions.newSession', 'New Session')}\n </button>\n </PermissionButton>\n </div>\n }\n />\n\n {/* Agent Notifications Banner */}\n <SessionNotifications showConnectionStatus={true} maxVisible={3} />\n\n {/* Filters Bar */}\n <div data-tour=\"sessions-filters\" className=\"space-y-3\">\n {/* Row 1: Search + View Toggle */}\n <div className=\"flex flex-col sm:flex-row items-stretch sm:items-center gap-2\">\n <SearchInput\n value={searchQuery}\n onChange={setSearchQuery}\n placeholder={tr('sessions.searchPlaceholder', 'Search sessions...')}\n className=\"flex-1 sm:w-64 sm:flex-none\"\n />\n {/* View Toggle */}\n <div className=\"flex items-center gap-1 bg-bg-sunken rounded-md p-1 flex-shrink-0\">\n <button\n onClick={() => setViewMode('terminal')}\n className=\"p-1.5 sm:p-2 rounded hover:bg-bg-surface/50\"\n title={tr('sessions.terminalViewTitle', 'Terminal view')}\n >\n <Monitor className=\"w-4 h-4 text-text-secondary\" />\n </button>\n <button\n onClick={() => setViewMode('grid')}\n className={`p-1.5 sm:p-2 rounded ${(viewMode as ViewMode) === 'grid' ? 'bg-bg-surface shadow-sm' : 'hover:bg-bg-surface/50'}`}\n title={tr('sessions.gridViewTitle', 'Grid view')}\n >\n <Grid className=\"w-4 h-4 text-text-secondary\" />\n </button>\n <button\n onClick={() => setViewMode('list')}\n className={`p-1.5 sm:p-2 rounded ${(viewMode as ViewMode) === 'list' ? 'bg-bg-surface shadow-sm' : 'hover:bg-bg-surface/50'}`}\n title={tr('sessions.listViewTitle', 'List view')}\n >\n <List className=\"w-4 h-4 text-text-secondary\" />\n </button>\n </div>\n </div>\n\n {/* Row 2: Filters - wrap on all screens */}\n <div className=\"flex items-center gap-2 sm:gap-3 flex-wrap\">\n <FilterDropdown\n label={tr('sessions.filterStatus', 'Status')}\n value={statusFilter}\n options={statusOptions}\n onChange={setStatusFilter}\n />\n <FilterDropdown\n label={tr('sessions.filterType', 'Type')}\n value={typeFilter}\n options={typeOptions}\n onChange={setTypeFilter}\n />\n <FilterDropdown\n label={tr('sessions.filterVibe', 'Vibe')}\n value={vibeFilter}\n options={vibeOptions}\n onChange={setVibeFilter}\n />\n <FilterDropdown\n label={tr('sessions.filterAgent', 'Agent')}\n value={agentFilter}\n options={agentOptions}\n onChange={setAgentFilter}\n />\n </div>\n </div>\n\n {/* Quick Actions & Select All */}\n <div className=\"flex flex-col sm:flex-row items-start sm:items-center gap-2 flex-wrap\">\n <button\n onClick={() => setStatusFilter('RUNNING')}\n className={`flex items-center gap-2 px-3 py-1.5 text-sm rounded-full transition-colors ${\n statusFilter === 'RUNNING'\n ? 'bg-status-success-bg text-status-success-text'\n : 'bg-bg-sunken text-text-secondary hover:bg-bg-sunken/80'\n }`}\n >\n <Play className=\"w-3 h-3\" /> {tr('sessions.running', 'Running')} ({stats.running})\n </button>\n <button\n onClick={() => setStatusFilter('STOPPED')}\n className={`flex items-center gap-2 px-3 py-1.5 text-sm rounded-full transition-colors ${\n statusFilter === 'STOPPED'\n ? 'bg-bg-sunken text-text-secondary'\n : 'bg-bg-sunken text-text-secondary hover:bg-bg-sunken/80'\n }`}\n >\n <Square className=\"w-3 h-3\" /> {tr('sessions.stoppedState', 'Stopped')} ({stats.stopped}\n )\n </button>\n <div className=\"sm:ml-auto flex items-center gap-2\">\n {filteredSessions.length > 0 && (\n <button\n onClick={isAllSelected ? deselectAllSessions : selectAllSessions}\n className=\"flex items-center gap-1.5 px-3 py-1.5 text-xs text-text-secondary hover:text-text-primary transition-colors\"\n >\n <CheckSquare className=\"w-3.5 h-3.5\" />\n {isAllSelected\n ? tr('sessions.deselectAll', 'Deselect All')\n : tr('sessions.selectAll', 'Select All')}\n </button>\n )}\n </div>\n </div>\n\n {/* Bulk Action Bar */}\n {renderBulkActionBar()}\n\n {/* Results Count */}\n {searchQuery ||\n statusFilter !== 'all' ||\n typeFilter !== 'all' ||\n vibeFilter !== 'all' ||\n agentFilter !== 'all' ? (\n <p className=\"text-sm text-text-secondary\">\n {tr('sessions.showing', 'Showing')} {filteredSessions.length} {tr('sessions.of', 'of')}{' '}\n {sessions.length} {tr('nav.sessions', 'sessions')}\n {loading && (\n <span className=\"ml-2 text-text-muted\">\n ({tr('sessions.refreshing', 'refreshing...')})\n </span>\n )}\n </p>\n ) : null}\n\n {/* Sessions Display */}\n <AnimatePresence mode=\"wait\">\n {filteredSessions.length > 0 ? (\n viewMode === 'grid' ? (\n <MotionList\n key=\"grid-view\"\n stagger={0.04}\n className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\"\n >\n {filteredSessions.map((session) => (\n <MotionItem key={session.id}>\n <SessionCard\n session={session}\n onOpen={handleSessionSelect}\n onStart={handleStartSession}\n onStop={handleStopSession}\n onRestart={handleRestartSession}\n onOpenTerminal={handleOpenTerminal}\n onShare={handleShareSession}\n selected={selectedSessionIds.has(session.id)}\n onToggleSelect={() => toggleSessionSelection(session.id)}\n />\n </MotionItem>\n ))}\n </MotionList>\n ) : (\n <MotionItem key=\"list-view\">\n <SessionList\n sessions={filteredSessions}\n onOpen={handleSessionSelect}\n onStart={handleStartSession}\n onStop={handleStopSession}\n onRestart={handleRestartSession}\n onTerminate={handleTerminateSession}\n onOpenTerminal={handleOpenTerminal}\n onShare={handleShareSession}\n selectedIds={selectedSessionIds}\n onToggleSelect={toggleSessionSelection}\n onSelectAll={selectAllSessions}\n onDeselectAll={deselectAllSessions}\n />\n </MotionItem>\n )\n ) : (\n <div className=\"space-y-4\">\n <AgentSetupBanner variant=\"compact\" dismissKey=\"vibecontrols-sessions-setup-banner\" />\n <EmptyState\n icon={<Terminal className=\"w-8 h-8 text-text-secondary\" />}\n title={\n searchQuery ||\n statusFilter !== 'all' ||\n typeFilter !== 'all' ||\n vibeFilter !== 'all' ||\n agentFilter !== 'all'\n ? tr('sessions.emptyFound', 'No sessions found')\n : tr('sessions.emptyConfigured', 'No sessions configured')\n }\n description={\n searchQuery ||\n statusFilter !== 'all' ||\n typeFilter !== 'all' ||\n vibeFilter !== 'all' ||\n agentFilter !== 'all'\n ? tr('sessions.emptyAdjustSearch', 'Try adjusting your search or filters')\n : tr(\n 'sessions.emptyDescription',\n 'Sessions require an active agent. Install the CLI agent first, then start a session.'\n )\n }\n action={\n !searchQuery &&\n statusFilter === 'all' &&\n typeFilter === 'all' &&\n vibeFilter === 'all' &&\n agentFilter === 'all' ? (\n <div className=\"flex items-center gap-2\">\n {canCreateSession && (\n <button\n onClick={handleCreateSession}\n className=\"flex items-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\"\n >\n <Plus className=\"w-4 h-4\" /> {tr('sessions.newSession', 'New Session')}\n </button>\n )}\n <GetHelpButton prompt=\"What is a Session in VibeControls and how do I start one?\" />\n </div>\n ) : undefined\n }\n />\n </div>\n )}\n </AnimatePresence>\n\n {successMessage && (\n <div className=\"fixed bottom-4 right-4 z-50 px-4 py-3 bg-status-success-bg text-status-success-text rounded-md shadow-lg text-sm\">\n {successMessage}\n </div>\n )}\n </div>\n\n {/* Tabbed Terminal Panel - docked at bottom */}\n {terminalTabs.length > 0 && (\n <TerminalPanel\n tabs={terminalTabs}\n activeTabId={activeTerminalTab}\n onTabSelect={setActiveTerminalTab}\n onTabClose={handleCloseTerminalTab}\n onOpenExternal={handleOpenTerminalExternal}\n onToggleCollapse={() => setTerminalCollapsed((prev) => !prev)}\n collapsed={terminalCollapsed}\n sessions={filteredSessions}\n onOpenTerminal={handleOpenTerminal}\n onRetryTerminal={handleOpenTerminal}\n onRenameSession={handleRenameSession}\n onStopTerminal={handleStopTerminal}\n onRestartTerminal={handleRestartTerminal}\n heightClass=\"h-[280px] sm:h-[380px]\"\n isImmersiveFullscreen={isImmersiveFullscreen}\n onToggleImmersiveFullscreen={handleToggleImmersiveFullscreen}\n contextSwitcher={undefined}\n />\n )}\n\n {showCreateForm && renderCreateModal()}\n {renderReconnectModal()}\n\n {/* Share Session Dialog */}\n {shareSession && (\n <SessionShareDialog\n session={shareSession}\n isOpen={!!shareSession}\n onClose={() => setShareSession(null)}\n />\n )}\n\n <ConfirmDialog\n isOpen={showQuotaExhausted}\n onClose={() => setShowQuotaExhausted(false)}\n onConfirm={() => {\n setShowQuotaExhausted(false);\n navigate('/billing');\n }}\n title={getQuotaDialogContent('session').title}\n message={getQuotaDialogContent('session').message}\n confirmLabel=\"View Billing\"\n cancelLabel=\"Dismiss\"\n variant=\"warning\"\n />\n </MotionPage>\n );\n\n function renderReconnectModal() {\n if (!showReconnectModal) return null;\n const orphans = orphansData?.agentSessionOrphans ?? [];\n return (\n <div\n className=\"fixed inset-0 bg-bg-overlay flex items-center justify-center z-50 p-4\"\n data-testid=\"sessions-reconnect-modal\"\n >\n <div className=\"bg-bg-surface rounded-lg p-6 w-full max-w-2xl max-h-[80vh] overflow-y-auto\">\n <h2 className=\"text-lg font-semibold text-text-primary mb-1\">\n {tr('sessions.reconnectTitle', 'Reconnect orphan sessions')}\n </h2>\n <p className=\"text-sm text-text-secondary mb-4\">\n {tr(\n 'sessions.reconnectDesc',\n 'Pick an agent to scan its host for tmux / wezterm / zellij sessions named vibe-* that are not currently tracked. Adopt one to start a web terminal and bring it back into the UI.'\n )}\n </p>\n <div className=\"space-y-4\">\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {tr('sessions.agent', 'Agent')}\n </label>\n <SearchableSelect\n options={createAgentOptions}\n value={reconnectAgentId}\n onChange={(id) => {\n setReconnectAgentId(id);\n setReconnectError(null);\n if (id) void discoverOrphans({ variables: { agentId: id } });\n }}\n placeholder={tr('sessions.selectAgent', 'Select an agent')}\n searchPlaceholder={tr('sessions.searchAgents', 'Search agents...')}\n clearable\n />\n </div>\n {reconnectError && (\n <div\n className=\"p-3 bg-status-error-bg text-status-error-text text-sm rounded-md\"\n data-testid=\"sessions-reconnect-error\"\n >\n {reconnectError}\n </div>\n )}\n {reconnectAgentId && (\n <div data-testid=\"sessions-reconnect-list\" className=\"space-y-2\">\n {orphansLoading ? (\n <div className=\"text-sm text-text-secondary\">\n {tr('sessions.scanningHost', 'Scanning host...')}\n </div>\n ) : orphans.length === 0 ? (\n <div className=\"text-sm text-text-secondary\">\n {tr('sessions.noOrphans', 'No orphan vibe-* sessions found on this agent.')}\n </div>\n ) : (\n orphans.map(\n (o: {\n externalName: string;\n provider: string;\n windows: number;\n attached: boolean;\n createdAt?: string | null;\n }) => (\n <div\n key={o.externalName}\n className=\"flex items-center justify-between gap-3 p-3 border border-border-default rounded-md bg-bg-sunken/40\"\n data-testid=\"sessions-reconnect-row\"\n >\n <div className=\"min-w-0 flex-1\">\n <div className=\"font-mono text-sm text-text-primary break-all\">\n {o.externalName}\n </div>\n <div className=\"text-xs text-text-tertiary mt-0.5\">\n {o.provider} · {o.windows} window{o.windows !== 1 ? 's' : ''}\n {o.attached ? ' · attached' : ''}\n {o.createdAt ? ` · created ${o.createdAt}` : ''}\n </div>\n </div>\n <button\n type=\"button\"\n disabled={reconnectAdoptingName === o.externalName}\n onClick={async () => {\n setReconnectAdoptingName(o.externalName);\n setReconnectError(null);\n try {\n await adoptAgentSession({\n variables: {\n agentId: reconnectAgentId,\n externalName: o.externalName,\n name: o.externalName,\n },\n });\n // Refresh orphan list so the adopted one disappears.\n await discoverOrphans({\n variables: { agentId: reconnectAgentId },\n });\n } catch (e) {\n setReconnectError(e instanceof Error ? e.message : String(e));\n } finally {\n setReconnectAdoptingName(null);\n }\n }}\n className=\"shrink-0 px-3 py-1.5 text-xs bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors disabled:opacity-50\"\n data-testid={`sessions-reconnect-adopt-${o.externalName}`}\n >\n {reconnectAdoptingName === o.externalName\n ? tr('sessions.adopting', 'Adopting…')\n : tr('sessions.adopt', 'Adopt')}\n </button>\n </div>\n )\n )\n )}\n </div>\n )}\n </div>\n <div className=\"flex justify-end gap-3 mt-6\">\n <button\n onClick={() => {\n setShowReconnectModal(false);\n setReconnectError(null);\n }}\n className=\"px-4 py-2 text-text-primary hover:bg-bg-sunken rounded-md transition-colors\"\n >\n {tr('common.close', 'Close')}\n </button>\n </div>\n </div>\n </div>\n );\n }\n\n function renderCreateModal() {\n return (\n <div className=\"fixed inset-0 bg-bg-overlay flex items-center justify-center z-50 p-4\">\n <div className=\"bg-bg-surface rounded-lg p-6 w-full max-w-lg\">\n <h2 className=\"text-lg font-semibold text-text-primary mb-4\">\n {tr('sessions.newSession', 'New Session')}\n </h2>\n <div className=\"space-y-4\">\n {createError && (\n <div className=\"p-3 bg-status-error-bg text-status-error-text text-sm rounded-md\">\n {createError}\n </div>\n )}\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {tr('sessions.name', 'Name')}\n </label>\n <input\n ref={sessionNameRef}\n type=\"text\"\n placeholder={tr('sessions.namePlaceholder', 'dev-server')}\n className=\"w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary placeholder:text-text-placeholder\"\n />\n </div>\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {tr('sessions.filterVibe', 'Vibe')}\n </label>\n <SearchableSelect\n options={createVibeOptions}\n value={formVibeId}\n onChange={setFormVibeId}\n placeholder={tr('sessions.noVibe', 'No vibe')}\n searchPlaceholder={tr('sessions.searchVibes', 'Search vibes...')}\n clearable\n />\n </div>\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {tr('sessions.filterAgent', 'Agent')}\n </label>\n <SearchableSelect\n options={createAgentOptions}\n value={formAgentId}\n onChange={setFormAgentId}\n placeholder={tr('sessions.selectAgent', 'Select an agent')}\n searchPlaceholder={tr('sessions.searchAgents', 'Search agents...')}\n clearable\n />\n <p className=\"text-xs text-text-muted mt-1\">\n {tr(\n 'sessions.agentHint',\n \"Required when no vibe is selected. Overridden by the vibe's agent if a vibe is chosen.\"\n )}\n </p>\n </div>\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {tr('sessions.filterType', 'Type')}\n </label>\n <SearchableSelect\n options={sessionTypeOptions}\n value={formType}\n onChange={setFormType}\n placeholder={tr('sessions.selectType', 'Select type')}\n searchPlaceholder={tr('sessions.searchTypes', 'Search types...')}\n />\n </div>\n <div>\n <label className=\"block text-sm font-medium text-text-primary mb-1\">\n {tr('sessions.command', 'Command')}\n </label>\n <input\n ref={sessionCommandRef}\n type=\"text\"\n placeholder={tr('sessions.commandPlaceholder', 'bun run dev')}\n className=\"w-full px-3 py-2 bg-bg-sunken border border-border-default rounded-md text-text-primary placeholder:text-text-placeholder\"\n />\n </div>\n <div className=\"flex items-center gap-2\">\n <input\n ref={sessionAutoStartRef}\n type=\"checkbox\"\n id=\"autoStart\"\n className=\"w-4 h-4 rounded border-border-default\"\n />\n <label htmlFor=\"autoStart\" className=\"text-sm text-text-primary\">\n {tr('sessions.autoStartWithVibe', 'Auto-start with vibe')}\n </label>\n </div>\n {(formType === 'TMUX' || formType === 'WEZTERM' || formType === 'ZELLIJ') && (\n <div\n className=\"rounded-md border border-border-default bg-bg-sunken/40\"\n data-testid=\"sessions-create-advanced\"\n >\n <button\n type=\"button\"\n onClick={() => setFormShowAdvanced((v) => !v)}\n className=\"w-full flex items-center justify-between px-3 py-2 text-sm font-medium text-text-primary\"\n aria-expanded={formShowAdvanced}\n >\n <span>{tr('sessions.advanced', 'Advanced options')}</span>\n <span className=\"text-text-tertiary text-xs\">{formShowAdvanced ? '▾' : '▸'}</span>\n </button>\n {formShowAdvanced && (\n <div className=\"px-3 pb-3 space-y-2\">\n <label className=\"block text-xs font-medium text-text-secondary\">\n {tr('sessions.attachExistingLabel', 'Attach to existing session (optional)')}\n </label>\n <input\n ref={sessionExternalNameRef}\n type=\"text\"\n data-testid=\"sessions-create-external-name\"\n placeholder={\n formType === 'WEZTERM'\n ? 'e.g. vibe-051c9c62 (existing wezterm workspace)'\n : formType === 'ZELLIJ'\n ? 'e.g. vibe-051c9c62 (existing zellij session)'\n : 'e.g. vibe-051c9c62 (existing tmux session)'\n }\n className=\"w-full px-3 py-2 text-sm bg-bg-sunken border border-border-default rounded-md text-text-primary placeholder:text-text-placeholder font-mono\"\n />\n <p className=\"text-xs text-text-tertiary\">\n {tr(\n 'sessions.attachExistingHint',\n 'When set, the agent attaches to that existing session instead of creating a new one. Leave blank to spawn fresh.'\n )}\n </p>\n </div>\n )}\n </div>\n )}\n </div>\n <div className=\"flex justify-end gap-3 mt-6\">\n <button\n onClick={() => setShowCreateForm(false)}\n disabled={createLoading}\n className=\"px-4 py-2 text-text-primary hover:bg-bg-sunken rounded-md transition-colors disabled:opacity-50\"\n >\n {tr('common.cancel', 'Cancel')}\n </button>\n <button\n onClick={handleSubmitCreateSession}\n disabled={createLoading}\n className=\"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\"\n >\n {createLoading\n ? tr('sessions.creating', 'Creating...')\n : tr('sessions.createSession', 'Create Session')}\n </button>\n </div>\n </div>\n </div>\n );\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function SettingsPage(): import("react/jsx-runtime").JSX.Element;
2
+ //# sourceMappingURL=SettingsPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsPage.d.ts","sourceRoot":"","sources":["../../src/pages/SettingsPage.tsx"],"names":[],"mappings":"AAuBA,wBAAgB,YAAY,4CAgV3B"}
@@ -0,0 +1,238 @@
1
+ import { useMySettingsQuery as e, useResetSettingsMutation as t, useSettingsPageDataQuery as n, useUpdateNotificationPreferencesMutation as r, useUpdateWorkspaceDefaultsMutation as i } from "../generated/wspace-operations.js";
2
+ import { useVibeControls as ee } from "../providers/VibeControlsProvider.js";
3
+ import a from "../hooks/useCachedInitialData.js";
4
+ import { PageHeader as te } from "../components/shared/PageHeader.js";
5
+ import { Card as o } from "../components/shared/Card.js";
6
+ import "../components/shared/index.js";
7
+ import { VIBE_PERMISSIONS as s } from "../constants/permissions.js";
8
+ import { AdvancedSection as c } from "../components/settings/AdvancedSection.js";
9
+ import { NotificationsSection as l } from "../components/settings/NotificationsSection.js";
10
+ import { WorkspaceDefaultsSection as u } from "../components/settings/WorkspaceDefaultsSection.js";
11
+ import { useCallback as d, useEffect as f, useMemo as p, useState as m } from "react";
12
+ import { useI18n as h } from "@burdenoff/fe-libs/shared/providers/shell/I18nProvider";
13
+ import { ChevronRight as g, RefreshCw as _, RotateCcw as v, Save as y } from "lucide-react";
14
+ import { usePermissions as b } from "@burdenoff/fe-libs/shared/providers/shell";
15
+ import { Fragment as x, jsx as S, jsxs as C } from "react/jsx-runtime";
16
+ import { MotionItem as w, MotionList as T, MotionPage as E } from "@burdenoff/fe-libs/shared/motion";
17
+ import { PermissionButton as D } from "@burdenoff/fe-libs/shared/components";
18
+ //#region src/pages/SettingsPage.tsx
19
+ function O() {
20
+ let { hasPermission: O, isLoading: k } = b(), { workspaceId: ne } = ee(), { t: A } = h(), j = O(s.CONFIG_UPDATE), [M, N] = m("notifications"), [P, F] = m(!1), [I, L] = m(null), { agents: R } = a(), z = p(() => R.map((e) => ({
21
+ id: e.id,
22
+ name: e.name,
23
+ isActive: e.isActive
24
+ })), [R]), B = d((e, t) => {
25
+ let n = A(e);
26
+ return n === e ? t : n;
27
+ }, [A]), V = n({
28
+ skip: k || !j,
29
+ fetchPolicy: "cache-and-network",
30
+ notifyOnNetworkStatusChange: !0
31
+ }), H = e({
32
+ skip: k || j,
33
+ fetchPolicy: "cache-and-network",
34
+ notifyOnNetworkStatusChange: !0
35
+ }), U = V.data?.mySettings ?? H.data?.mySettings, W = V.loading || H.loading, G = p(() => (V.data?.listSettingsSecrets ?? []).map((e) => ({
36
+ id: e.id,
37
+ key: e.key,
38
+ value: e.value ?? null,
39
+ isSecret: e.isSecret
40
+ })), [V.data?.listSettingsSecrets]), K = d(async () => {
41
+ if (j) {
42
+ await V.refetch();
43
+ return;
44
+ }
45
+ await H.refetch();
46
+ }, [
47
+ j,
48
+ H,
49
+ V
50
+ ]), [q, J] = m({
51
+ agentOffline: !0,
52
+ sessionError: !0,
53
+ vibeStatusChange: !1,
54
+ emailDigest: !1,
55
+ digestFrequency: "none"
56
+ }), [Y, X] = m({
57
+ defaultAgent: null,
58
+ defaultSessionType: "TMUX",
59
+ autoStartSessions: !0,
60
+ defaultVibeType: "PROJECT",
61
+ autoGitSync: !1,
62
+ agentHeartbeatInterval: 30,
63
+ agentAutoReconnect: !0,
64
+ agentMaxSessions: 10,
65
+ logLevel: "info",
66
+ telemetryEnabled: !0,
67
+ autoUpdate: !0,
68
+ defaultEnvironmentVariables: null
69
+ });
70
+ f(() => {
71
+ U && (J(U.notifications), X(U.workspaceDefaults));
72
+ }, [U]);
73
+ let [Z] = r({ refetchQueries: ["MySettings", "SettingsPageData"] }), [Q] = i({ refetchQueries: ["MySettings", "SettingsPageData"] }), [$] = t({ refetchQueries: ["MySettings", "SettingsPageData"] }), re = d(async () => {
74
+ F(!0), L(null);
75
+ try {
76
+ M === "notifications" && await Z({ variables: { input: q } }), M === "workspace" && await Q({ variables: { input: Y } }), M === "advanced" && await Q({ variables: { input: {
77
+ logLevel: Y.logLevel,
78
+ telemetryEnabled: Y.telemetryEnabled,
79
+ autoUpdate: Y.autoUpdate
80
+ } } }), L({
81
+ tone: "success",
82
+ message: B("settings.saveSuccess", "Settings saved successfully.")
83
+ });
84
+ } catch (e) {
85
+ console.error("Failed to save settings:", e), L({
86
+ tone: "error",
87
+ message: e instanceof Error ? e.message : B("settings.saveFailed", "Failed to save settings.")
88
+ });
89
+ } finally {
90
+ F(!1);
91
+ }
92
+ }, [
93
+ M,
94
+ q,
95
+ B,
96
+ Z,
97
+ Q,
98
+ Y
99
+ ]), ie = d(async () => {
100
+ let e = {
101
+ notifications: "NOTIFICATIONS",
102
+ workspace: "WORKSPACE_DEFAULTS",
103
+ advanced: "ADVANCED"
104
+ };
105
+ try {
106
+ L(null), await $({ variables: { category: e[M] } }), await K(), L({
107
+ tone: "success",
108
+ message: B("settings.resetSuccess", "Settings reset to defaults.")
109
+ });
110
+ } catch (e) {
111
+ console.error("Failed to reset settings:", e), L({
112
+ tone: "error",
113
+ message: e instanceof Error ? e.message : B("settings.resetFailed", "Failed to reset settings.")
114
+ });
115
+ }
116
+ }, [
117
+ M,
118
+ K,
119
+ $,
120
+ B
121
+ ]), ae = [
122
+ {
123
+ id: "notifications",
124
+ label: B("settings.notifications", "Notifications"),
125
+ description: B("settings.notificationsDesc", "Alert preferences")
126
+ },
127
+ {
128
+ id: "workspace",
129
+ label: B("settings.workspace", "Workspace"),
130
+ description: B("settings.workspaceDesc", "Agent, session, vibe defaults")
131
+ },
132
+ {
133
+ id: "advanced",
134
+ label: B("settings.advanced", "Advanced"),
135
+ description: B("settings.advancedDesc", "Logging, telemetry, secrets")
136
+ }
137
+ ];
138
+ return /* @__PURE__ */ C(E, {
139
+ className: "min-h-screen space-y-6 bg-bg-surface p-4 sm:p-6",
140
+ children: [
141
+ /* @__PURE__ */ S(te, {
142
+ title: B("nav.settings", "Settings"),
143
+ description: B("settings.description", "Configure VibeControls preferences and workspace defaults"),
144
+ actions: /* @__PURE__ */ C("div", {
145
+ className: "flex items-center gap-2",
146
+ children: [/* @__PURE__ */ C("button", {
147
+ type: "button",
148
+ onClick: ie,
149
+ className: "flex items-center gap-2 rounded-md border border-border-default px-3 py-2 text-sm text-text-secondary transition-colors hover:bg-bg-sunken hover:text-text-primary",
150
+ title: B("settings.resetToDefaults", "Reset to defaults"),
151
+ children: [/* @__PURE__ */ S(v, { className: "h-4 w-4" }), B("settings.reset", "Reset")]
152
+ }), /* @__PURE__ */ S(D, {
153
+ permission: s.CONFIG_UPDATE,
154
+ children: /* @__PURE__ */ C("button", {
155
+ type: "button",
156
+ onClick: re,
157
+ disabled: P || W,
158
+ className: "flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-action-primary-text transition-colors hover:bg-action-primary-bg-hover disabled:opacity-50",
159
+ children: [P ? /* @__PURE__ */ S(_, { className: "h-4 w-4 animate-spin" }) : /* @__PURE__ */ S(y, { className: "h-4 w-4" }), B("common.save", "Save")]
160
+ })
161
+ })]
162
+ })
163
+ }),
164
+ I ? /* @__PURE__ */ S("div", {
165
+ role: I.tone === "error" ? "alert" : "status",
166
+ className: `rounded-lg border px-4 py-3 text-sm ${I.tone === "error" ? "border-status-error-border bg-status-error-bg/10 text-status-error-text" : "border-status-success-border bg-status-success-bg/10 text-status-success-text"}`,
167
+ children: I.message
168
+ }) : null,
169
+ /* @__PURE__ */ C("div", {
170
+ className: "flex flex-col gap-6 lg:flex-row",
171
+ children: [/* @__PURE__ */ S("nav", {
172
+ className: "w-full flex-shrink-0 lg:w-64",
173
+ "aria-label": B("settings.sections", "Settings sections"),
174
+ children: /* @__PURE__ */ S(o, {
175
+ className: "p-2",
176
+ children: /* @__PURE__ */ S(T, {
177
+ stagger: .04,
178
+ children: ae.map((e) => /* @__PURE__ */ S(w, { children: /* @__PURE__ */ C("button", {
179
+ type: "button",
180
+ onClick: () => N(e.id),
181
+ className: `flex w-full items-center justify-between rounded-md px-3 py-2 text-left transition-colors ${M === e.id ? "bg-action-primary-bg/10 font-medium text-action-primary-bg" : "text-text-secondary hover:bg-bg-sunken hover:text-text-primary"}`,
182
+ children: [/* @__PURE__ */ C("div", { children: [/* @__PURE__ */ S("div", {
183
+ className: "text-sm font-medium",
184
+ children: e.label
185
+ }), /* @__PURE__ */ S("div", {
186
+ className: "text-xs opacity-70",
187
+ children: e.description
188
+ })] }), /* @__PURE__ */ S(g, { className: "h-4 w-4" })]
189
+ }) }, e.id))
190
+ })
191
+ })
192
+ }), /* @__PURE__ */ S("div", {
193
+ className: "flex-1",
194
+ children: W && !U ? /* @__PURE__ */ C("div", {
195
+ className: "flex items-center justify-center py-12 text-text-secondary",
196
+ children: [/* @__PURE__ */ S(_, { className: "h-5 w-5 animate-spin" }), /* @__PURE__ */ S("span", {
197
+ className: "ml-2",
198
+ children: B("settings.loading", "Loading settings...")
199
+ })]
200
+ }) : /* @__PURE__ */ C(x, { children: [
201
+ M === "notifications" ? /* @__PURE__ */ S(l, {
202
+ data: q,
203
+ onChange: J
204
+ }) : null,
205
+ M === "workspace" ? /* @__PURE__ */ S(u, {
206
+ data: Y,
207
+ onChange: X,
208
+ agents: z
209
+ }) : null,
210
+ M === "advanced" ? /* @__PURE__ */ S(c, {
211
+ data: {
212
+ logLevel: Y.logLevel,
213
+ telemetryEnabled: Y.telemetryEnabled,
214
+ autoUpdate: Y.autoUpdate
215
+ },
216
+ onChange: (e) => X((t) => ({
217
+ ...t,
218
+ logLevel: e.logLevel,
219
+ telemetryEnabled: e.telemetryEnabled,
220
+ autoUpdate: e.autoUpdate
221
+ })),
222
+ secrets: G,
223
+ secretsLoading: V.loading && j,
224
+ onRefreshSecrets: async () => {
225
+ j && await V.refetch();
226
+ },
227
+ workspaceId: ne || ""
228
+ }) : null
229
+ ] })
230
+ })]
231
+ })
232
+ ]
233
+ });
234
+ }
235
+ //#endregion
236
+ export { O as SettingsPage };
237
+
238
+ //# sourceMappingURL=SettingsPage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SettingsPage.js","names":[],"sources":["../../src/pages/SettingsPage.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\nimport { ChevronRight, RefreshCw, RotateCcw, Save } from 'lucide-react';\nimport { MotionItem, MotionList, MotionPage } from '@burdenoff/fe-libs/shared/motion';\nimport { PermissionButton } from '@burdenoff/fe-libs/shared/components';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Card, PageHeader } from '@/components/shared';\nimport { AdvancedSection } from '@/components/settings/AdvancedSection';\nimport { NotificationsSection } from '@/components/settings/NotificationsSection';\nimport { WorkspaceDefaultsSection } from '@/components/settings/WorkspaceDefaultsSection';\nimport { VIBE_PERMISSIONS } from '@/constants/permissions';\nimport { useCachedInitialData } from '@/hooks/useCachedInitialData';\nimport {\n useMySettingsQuery,\n useResetSettingsMutation,\n useSettingsPageDataQuery,\n useUpdateNotificationPreferencesMutation,\n useUpdateWorkspaceDefaultsMutation,\n} from '@/generated/wspace-operations';\nimport { useVibeControls } from '@/providers/VibeControlsProvider';\n\ntype SettingsSection = 'notifications' | 'workspace' | 'advanced';\n\nexport function SettingsPage() {\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const { workspaceId } = useVibeControls();\n const { t } = useI18n();\n const canUpdateConfigs = hasPermission(VIBE_PERMISSIONS.CONFIG_UPDATE);\n\n const [activeSection, setActiveSection] = useState<SettingsSection>('notifications');\n const [isSaving, setIsSaving] = useState(false);\n const [feedback, setFeedback] = useState<{ tone: 'success' | 'error'; message: string } | null>(\n null\n );\n\n const { agents: cachedAgents } = useCachedInitialData();\n const agents = useMemo(\n () =>\n cachedAgents.map((agent) => ({ id: agent.id, name: agent.name, isActive: agent.isActive })),\n [cachedAgents]\n );\n\n const tr = useCallback(\n (key: string, fallback: string): string => {\n const value = t(key);\n return value === key ? fallback : value;\n },\n [t]\n );\n\n const settingsPageQuery = useSettingsPageDataQuery({\n skip: permissionsLoading || !canUpdateConfigs,\n fetchPolicy: 'cache-and-network',\n notifyOnNetworkStatusChange: true,\n });\n\n const mySettingsQuery = useMySettingsQuery({\n skip: permissionsLoading || canUpdateConfigs,\n fetchPolicy: 'cache-and-network',\n notifyOnNetworkStatusChange: true,\n });\n\n const settingsData = settingsPageQuery.data?.mySettings ?? mySettingsQuery.data?.mySettings;\n const settingsLoading = settingsPageQuery.loading || mySettingsQuery.loading;\n const secrets = useMemo(\n () =>\n (settingsPageQuery.data?.listSettingsSecrets ?? []).map(\n (secret: NonNullable<(typeof settingsPageQuery.data)['listSettingsSecrets']>[number]) => ({\n id: secret.id,\n key: secret.key,\n value: secret.value ?? null,\n isSecret: secret.isSecret,\n })\n ),\n [settingsPageQuery.data?.listSettingsSecrets]\n );\n\n const refetchSettings = useCallback(async () => {\n if (canUpdateConfigs) {\n await settingsPageQuery.refetch();\n return;\n }\n\n await mySettingsQuery.refetch();\n }, [canUpdateConfigs, mySettingsQuery, settingsPageQuery]);\n\n const [notifications, setNotifications] = useState({\n agentOffline: true,\n sessionError: true,\n vibeStatusChange: false,\n emailDigest: false,\n digestFrequency: 'none' as string | null,\n });\n\n const [workspaceDefaults, setWorkspaceDefaults] = useState({\n defaultAgent: null as string | null,\n defaultSessionType: 'TMUX',\n autoStartSessions: true,\n defaultVibeType: 'PROJECT',\n autoGitSync: false,\n agentHeartbeatInterval: 30,\n agentAutoReconnect: true,\n agentMaxSessions: 10,\n logLevel: 'info',\n telemetryEnabled: true,\n autoUpdate: true,\n defaultEnvironmentVariables: null as string | null,\n });\n\n useEffect(() => {\n if (!settingsData) {\n return;\n }\n\n setNotifications(settingsData.notifications);\n setWorkspaceDefaults(settingsData.workspaceDefaults);\n }, [settingsData]);\n\n const [updateNotificationsMutation] = useUpdateNotificationPreferencesMutation({\n refetchQueries: ['MySettings', 'SettingsPageData'],\n });\n const [updateWorkspaceDefaultsMutation] = useUpdateWorkspaceDefaultsMutation({\n refetchQueries: ['MySettings', 'SettingsPageData'],\n });\n const [resetSettingsMutation] = useResetSettingsMutation({\n refetchQueries: ['MySettings', 'SettingsPageData'],\n });\n\n const handleSave = useCallback(async () => {\n setIsSaving(true);\n setFeedback(null);\n\n try {\n if (activeSection === 'notifications') {\n await updateNotificationsMutation({ variables: { input: notifications } });\n }\n\n if (activeSection === 'workspace') {\n await updateWorkspaceDefaultsMutation({ variables: { input: workspaceDefaults } });\n }\n\n if (activeSection === 'advanced') {\n await updateWorkspaceDefaultsMutation({\n variables: {\n input: {\n logLevel: workspaceDefaults.logLevel,\n telemetryEnabled: workspaceDefaults.telemetryEnabled,\n autoUpdate: workspaceDefaults.autoUpdate,\n },\n },\n });\n }\n\n setFeedback({\n tone: 'success',\n message: tr('settings.saveSuccess', 'Settings saved successfully.'),\n });\n } catch (saveError) {\n console.error('Failed to save settings:', saveError);\n setFeedback({\n tone: 'error',\n message:\n saveError instanceof Error\n ? saveError.message\n : tr('settings.saveFailed', 'Failed to save settings.'),\n });\n } finally {\n setIsSaving(false);\n }\n }, [\n activeSection,\n notifications,\n tr,\n updateNotificationsMutation,\n updateWorkspaceDefaultsMutation,\n workspaceDefaults,\n ]);\n\n const handleReset = useCallback(async () => {\n const categoryMap: Record<\n SettingsSection,\n 'NOTIFICATIONS' | 'WORKSPACE_DEFAULTS' | 'ADVANCED'\n > = {\n notifications: 'NOTIFICATIONS',\n workspace: 'WORKSPACE_DEFAULTS',\n advanced: 'ADVANCED',\n };\n\n try {\n setFeedback(null);\n await resetSettingsMutation({ variables: { category: categoryMap[activeSection] as never } });\n await refetchSettings();\n setFeedback({\n tone: 'success',\n message: tr('settings.resetSuccess', 'Settings reset to defaults.'),\n });\n } catch (resetError) {\n console.error('Failed to reset settings:', resetError);\n setFeedback({\n tone: 'error',\n message:\n resetError instanceof Error\n ? resetError.message\n : tr('settings.resetFailed', 'Failed to reset settings.'),\n });\n }\n }, [activeSection, refetchSettings, resetSettingsMutation, tr]);\n\n const sections: Array<{ id: SettingsSection; label: string; description: string }> = [\n {\n id: 'notifications',\n label: tr('settings.notifications', 'Notifications'),\n description: tr('settings.notificationsDesc', 'Alert preferences'),\n },\n {\n id: 'workspace',\n label: tr('settings.workspace', 'Workspace'),\n description: tr('settings.workspaceDesc', 'Agent, session, vibe defaults'),\n },\n {\n id: 'advanced',\n label: tr('settings.advanced', 'Advanced'),\n description: tr('settings.advancedDesc', 'Logging, telemetry, secrets'),\n },\n ];\n\n return (\n <MotionPage className=\"min-h-screen space-y-6 bg-bg-surface p-4 sm:p-6\">\n <PageHeader\n title={tr('nav.settings', 'Settings')}\n description={tr(\n 'settings.description',\n 'Configure VibeControls preferences and workspace defaults'\n )}\n actions={\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n onClick={handleReset}\n className=\"flex items-center gap-2 rounded-md border border-border-default px-3 py-2 text-sm text-text-secondary transition-colors hover:bg-bg-sunken hover:text-text-primary\"\n title={tr('settings.resetToDefaults', 'Reset to defaults')}\n >\n <RotateCcw className=\"h-4 w-4\" />\n {tr('settings.reset', 'Reset')}\n </button>\n\n <PermissionButton permission={VIBE_PERMISSIONS.CONFIG_UPDATE}>\n <button\n type=\"button\"\n onClick={handleSave}\n disabled={isSaving || settingsLoading}\n className=\"flex items-center gap-2 rounded-md bg-action-primary-bg px-4 py-2 text-action-primary-text transition-colors hover:bg-action-primary-bg-hover disabled:opacity-50\"\n >\n {isSaving ? (\n <RefreshCw className=\"h-4 w-4 animate-spin\" />\n ) : (\n <Save className=\"h-4 w-4\" />\n )}\n {tr('common.save', 'Save')}\n </button>\n </PermissionButton>\n </div>\n }\n />\n\n {feedback ? (\n <div\n role={feedback.tone === 'error' ? 'alert' : 'status'}\n className={`rounded-lg border px-4 py-3 text-sm ${\n feedback.tone === 'error'\n ? 'border-status-error-border bg-status-error-bg/10 text-status-error-text'\n : 'border-status-success-border bg-status-success-bg/10 text-status-success-text'\n }`}\n >\n {feedback.message}\n </div>\n ) : null}\n\n <div className=\"flex flex-col gap-6 lg:flex-row\">\n <nav\n className=\"w-full flex-shrink-0 lg:w-64\"\n aria-label={tr('settings.sections', 'Settings sections')}\n >\n <Card className=\"p-2\">\n <MotionList stagger={0.04}>\n {sections.map((section) => (\n <MotionItem key={section.id}>\n <button\n type=\"button\"\n onClick={() => setActiveSection(section.id)}\n className={`flex w-full items-center justify-between rounded-md px-3 py-2 text-left transition-colors ${\n activeSection === section.id\n ? 'bg-action-primary-bg/10 font-medium text-action-primary-bg'\n : 'text-text-secondary hover:bg-bg-sunken hover:text-text-primary'\n }`}\n >\n <div>\n <div className=\"text-sm font-medium\">{section.label}</div>\n <div className=\"text-xs opacity-70\">{section.description}</div>\n </div>\n <ChevronRight className=\"h-4 w-4\" />\n </button>\n </MotionItem>\n ))}\n </MotionList>\n </Card>\n </nav>\n\n <div className=\"flex-1\">\n {settingsLoading && !settingsData ? (\n <div className=\"flex items-center justify-center py-12 text-text-secondary\">\n <RefreshCw className=\"h-5 w-5 animate-spin\" />\n <span className=\"ml-2\">{tr('settings.loading', 'Loading settings...')}</span>\n </div>\n ) : (\n <>\n {activeSection === 'notifications' ? (\n <NotificationsSection data={notifications} onChange={setNotifications} />\n ) : null}\n\n {activeSection === 'workspace' ? (\n <WorkspaceDefaultsSection\n data={workspaceDefaults}\n onChange={setWorkspaceDefaults}\n agents={agents}\n />\n ) : null}\n\n {activeSection === 'advanced' ? (\n <AdvancedSection\n data={{\n logLevel: workspaceDefaults.logLevel,\n telemetryEnabled: workspaceDefaults.telemetryEnabled,\n autoUpdate: workspaceDefaults.autoUpdate,\n }}\n onChange={(advanced) =>\n setWorkspaceDefaults((previous) => ({\n ...previous,\n logLevel: advanced.logLevel,\n telemetryEnabled: advanced.telemetryEnabled,\n autoUpdate: advanced.autoUpdate,\n }))\n }\n secrets={secrets}\n secretsLoading={settingsPageQuery.loading && canUpdateConfigs}\n onRefreshSecrets={async () => {\n if (canUpdateConfigs) {\n await settingsPageQuery.refetch();\n }\n }}\n workspaceId={workspaceId || ''}\n />\n ) : null}\n </>\n )}\n </div>\n </div>\n </MotionPage>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuBA,SAAgB,IAAe;CAC7B,IAAM,EAAE,kBAAe,WAAW,MAAuB,GAAgB,EACnE,EAAE,oBAAgB,IAAiB,EACnC,EAAE,SAAM,GAAS,EACjB,IAAmB,EAAc,EAAiB,cAAc,EAEhE,CAAC,GAAe,KAAoB,EAA0B,gBAAgB,EAC9E,CAAC,GAAU,KAAe,EAAS,GAAM,EACzC,CAAC,GAAU,KAAe,EAC9B,KACD,EAEK,EAAE,QAAQ,MAAiB,GAAsB,EACjD,IAAS,QAEX,EAAa,KAAK,OAAW;EAAE,IAAI,EAAM;EAAI,MAAM,EAAM;EAAM,UAAU,EAAM;EAAU,EAAE,EAC7F,CAAC,EAAa,CACf,EAEK,IAAK,GACR,GAAa,MAA6B;EACzC,IAAM,IAAQ,EAAE,EAAI;AACpB,SAAO,MAAU,IAAM,IAAW;IAEpC,CAAC,EAAE,CACJ,EAEK,IAAoB,EAAyB;EACjD,MAAM,KAAsB,CAAC;EAC7B,aAAa;EACb,6BAA6B;EAC9B,CAAC,EAEI,IAAkB,EAAmB;EACzC,MAAM,KAAsB;EAC5B,aAAa;EACb,6BAA6B;EAC9B,CAAC,EAEI,IAAe,EAAkB,MAAM,cAAc,EAAgB,MAAM,YAC3E,IAAkB,EAAkB,WAAW,EAAgB,SAC/D,IAAU,SAEX,EAAkB,MAAM,uBAAuB,EAAE,EAAE,KACjD,OAAyF;EACxF,IAAI,EAAO;EACX,KAAK,EAAO;EACZ,OAAO,EAAO,SAAS;EACvB,UAAU,EAAO;EAClB,EACF,EACH,CAAC,EAAkB,MAAM,oBAAoB,CAC9C,EAEK,IAAkB,EAAY,YAAY;AAC9C,MAAI,GAAkB;AACpB,SAAM,EAAkB,SAAS;AACjC;;AAGF,QAAM,EAAgB,SAAS;IAC9B;EAAC;EAAkB;EAAiB;EAAkB,CAAC,EAEpD,CAAC,GAAe,KAAoB,EAAS;EACjD,cAAc;EACd,cAAc;EACd,kBAAkB;EAClB,aAAa;EACb,iBAAiB;EAClB,CAAC,EAEI,CAAC,GAAmB,KAAwB,EAAS;EACzD,cAAc;EACd,oBAAoB;EACpB,mBAAmB;EACnB,iBAAiB;EACjB,aAAa;EACb,wBAAwB;EACxB,oBAAoB;EACpB,kBAAkB;EAClB,UAAU;EACV,kBAAkB;EAClB,YAAY;EACZ,6BAA6B;EAC9B,CAAC;AAEF,SAAgB;AACT,QAIL,EAAiB,EAAa,cAAc,EAC5C,EAAqB,EAAa,kBAAkB;IACnD,CAAC,EAAa,CAAC;CAElB,IAAM,CAAC,KAA+B,EAAyC,EAC7E,gBAAgB,CAAC,cAAc,mBAAmB,EACnD,CAAC,EACI,CAAC,KAAmC,EAAmC,EAC3E,gBAAgB,CAAC,cAAc,mBAAmB,EACnD,CAAC,EACI,CAAC,KAAyB,EAAyB,EACvD,gBAAgB,CAAC,cAAc,mBAAmB,EACnD,CAAC,EAEI,KAAa,EAAY,YAAY;AAEzC,EADA,EAAY,GAAK,EACjB,EAAY,KAAK;AAEjB,MAAI;AAqBF,GApBI,MAAkB,mBACpB,MAAM,EAA4B,EAAE,WAAW,EAAE,OAAO,GAAe,EAAE,CAAC,EAGxE,MAAkB,eACpB,MAAM,EAAgC,EAAE,WAAW,EAAE,OAAO,GAAmB,EAAE,CAAC,EAGhF,MAAkB,cACpB,MAAM,EAAgC,EACpC,WAAW,EACT,OAAO;IACL,UAAU,EAAkB;IAC5B,kBAAkB,EAAkB;IACpC,YAAY,EAAkB;IAC/B,EACF,EACF,CAAC,EAGJ,EAAY;IACV,MAAM;IACN,SAAS,EAAG,wBAAwB,+BAA+B;IACpE,CAAC;WACK,GAAW;AAElB,GADA,QAAQ,MAAM,4BAA4B,EAAU,EACpD,EAAY;IACV,MAAM;IACN,SACE,aAAqB,QACjB,EAAU,UACV,EAAG,uBAAuB,2BAA2B;IAC5D,CAAC;YACM;AACR,KAAY,GAAM;;IAEnB;EACD;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EAEI,KAAc,EAAY,YAAY;EAC1C,IAAM,IAGF;GACF,eAAe;GACf,WAAW;GACX,UAAU;GACX;AAED,MAAI;AAIF,GAHA,EAAY,KAAK,EACjB,MAAM,EAAsB,EAAE,WAAW,EAAE,UAAU,EAAY,IAAyB,EAAE,CAAC,EAC7F,MAAM,GAAiB,EACvB,EAAY;IACV,MAAM;IACN,SAAS,EAAG,yBAAyB,8BAA8B;IACpE,CAAC;WACK,GAAY;AAEnB,GADA,QAAQ,MAAM,6BAA6B,EAAW,EACtD,EAAY;IACV,MAAM;IACN,SACE,aAAsB,QAClB,EAAW,UACX,EAAG,wBAAwB,4BAA4B;IAC9D,CAAC;;IAEH;EAAC;EAAe;EAAiB;EAAuB;EAAG,CAAC,EAEzD,KAA+E;EACnF;GACE,IAAI;GACJ,OAAO,EAAG,0BAA0B,gBAAgB;GACpD,aAAa,EAAG,8BAA8B,oBAAoB;GACnE;EACD;GACE,IAAI;GACJ,OAAO,EAAG,sBAAsB,YAAY;GAC5C,aAAa,EAAG,0BAA0B,gCAAgC;GAC3E;EACD;GACE,IAAI;GACJ,OAAO,EAAG,qBAAqB,WAAW;GAC1C,aAAa,EAAG,yBAAyB,8BAA8B;GACxE;EACF;AAED,QACE,kBAAC,GAAD;EAAY,WAAU;YAAtB;GACE,kBAAC,IAAD;IACE,OAAO,EAAG,gBAAgB,WAAW;IACrC,aAAa,EACX,wBACA,4DACD;IACD,SACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,UAAD;MACE,MAAK;MACL,SAAS;MACT,WAAU;MACV,OAAO,EAAG,4BAA4B,oBAAoB;gBAJ5D,CAME,kBAAC,GAAD,EAAW,WAAU,WAAY,CAAA,EAChC,EAAG,kBAAkB,QAAQ,CACvB;SAET,kBAAC,GAAD;MAAkB,YAAY,EAAiB;gBAC7C,kBAAC,UAAD;OACE,MAAK;OACL,SAAS;OACT,UAAU,KAAY;OACtB,WAAU;iBAJZ,CAMG,IACC,kBAAC,GAAD,EAAW,WAAU,wBAAyB,CAAA,GAE9C,kBAAC,GAAD,EAAM,WAAU,WAAY,CAAA,EAE7B,EAAG,eAAe,OAAO,CACnB;;MACQ,CAAA,CACf;;IAER,CAAA;GAED,IACC,kBAAC,OAAD;IACE,MAAM,EAAS,SAAS,UAAU,UAAU;IAC5C,WAAW,uCACT,EAAS,SAAS,UACd,4EACA;cAGL,EAAS;IACN,CAAA,GACJ;GAEJ,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KACE,WAAU;KACV,cAAY,EAAG,qBAAqB,oBAAoB;eAExD,kBAAC,GAAD;MAAM,WAAU;gBACd,kBAAC,GAAD;OAAY,SAAS;iBAClB,GAAS,KAAK,MACb,kBAAC,GAAD,EAAA,UACE,kBAAC,UAAD;QACE,MAAK;QACL,eAAe,EAAiB,EAAQ,GAAG;QAC3C,WAAW,6FACT,MAAkB,EAAQ,KACtB,+DACA;kBANR,CASE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD;SAAK,WAAU;mBAAuB,EAAQ;SAAY,CAAA,EAC1D,kBAAC,OAAD;SAAK,WAAU;mBAAsB,EAAQ;SAAkB,CAAA,CAC3D,EAAA,CAAA,EACN,kBAAC,GAAD,EAAc,WAAU,WAAY,CAAA,CAC7B;WACE,EAhBI,EAAQ,GAgBZ,CACb;OACS,CAAA;MACR,CAAA;KACH,CAAA,EAEN,kBAAC,OAAD;KAAK,WAAU;eACZ,KAAmB,CAAC,IACnB,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,GAAD,EAAW,WAAU,wBAAyB,CAAA,EAC9C,kBAAC,QAAD;OAAM,WAAU;iBAAQ,EAAG,oBAAoB,sBAAsB;OAAQ,CAAA,CACzE;UAEN,kBAAA,GAAA,EAAA,UAAA;MACG,MAAkB,kBACjB,kBAAC,GAAD;OAAsB,MAAM;OAAe,UAAU;OAAoB,CAAA,GACvE;MAEH,MAAkB,cACjB,kBAAC,GAAD;OACE,MAAM;OACN,UAAU;OACF;OACR,CAAA,GACA;MAEH,MAAkB,aACjB,kBAAC,GAAD;OACE,MAAM;QACJ,UAAU,EAAkB;QAC5B,kBAAkB,EAAkB;QACpC,YAAY,EAAkB;QAC/B;OACD,WAAW,MACT,GAAsB,OAAc;QAClC,GAAG;QACH,UAAU,EAAS;QACnB,kBAAkB,EAAS;QAC3B,YAAY,EAAS;QACtB,EAAE;OAEI;OACT,gBAAgB,EAAkB,WAAW;OAC7C,kBAAkB,YAAY;AAC5B,QAAI,KACF,MAAM,EAAkB,SAAS;;OAGrC,aAAa,MAAe;OAC5B,CAAA,GACA;MACH,EAAA,CAAA;KAED,CAAA,CACF;;GACK"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * SharedSessionPage - Page for accessing shared terminal sessions via link
3
+ *
4
+ * URL: /share/:token
5
+ *
6
+ * Flow:
7
+ * 1. Validate the share link token
8
+ * 2. If password required, show password form
9
+ * 3. Join the shared session
10
+ * 4. Display terminal with collaboration UI
11
+ */
12
+ export declare function SharedSessionPage(): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=SharedSessionPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharedSessionPage.d.ts","sourceRoot":"","sources":["../../src/pages/SharedSessionPage.tsx"],"names":[],"mappings":"AAkGA;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,4CA2jBhC"}