@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.
- package/README.md +91 -0
- package/dist/VibeControlsRoot.d.ts +36 -0
- package/dist/VibeControlsRoot.d.ts.map +1 -0
- package/dist/VibeControlsRoot.js +195 -0
- package/dist/VibeControlsRoot.js.map +1 -0
- package/dist/VibeControlsRoutes.d.ts +2 -0
- package/dist/VibeControlsRoutes.d.ts.map +1 -0
- package/dist/VibeControlsRoutes.js +285 -0
- package/dist/VibeControlsRoutes.js.map +1 -0
- package/dist/_virtual/_rolldown/runtime.js +23 -0
- package/dist/components/actions/ActionCard.d.ts +32 -0
- package/dist/components/actions/ActionCard.d.ts.map +1 -0
- package/dist/components/actions/ActionCard.js +140 -0
- package/dist/components/actions/ActionCard.js.map +1 -0
- package/dist/components/actions/ActionForm.d.ts +39 -0
- package/dist/components/actions/ActionForm.d.ts.map +1 -0
- package/dist/components/actions/ActionForm.js +488 -0
- package/dist/components/actions/ActionForm.js.map +1 -0
- package/dist/components/actions/ActionTypeBadge.d.ts +9 -0
- package/dist/components/actions/ActionTypeBadge.d.ts.map +1 -0
- package/dist/components/actions/ActionTypeBadge.js +77 -0
- package/dist/components/actions/ActionTypeBadge.js.map +1 -0
- package/dist/components/actions/ExecutionHistory.d.ts +23 -0
- package/dist/components/actions/ExecutionHistory.d.ts.map +1 -0
- package/dist/components/actions/ExecutionHistory.js +103 -0
- package/dist/components/actions/ExecutionHistory.js.map +1 -0
- package/dist/components/actions/index.d.ts +6 -0
- package/dist/components/actions/index.d.ts.map +1 -0
- package/dist/components/actions/index.js +4 -0
- package/dist/components/agent-manager/AgentManagerAdminBar.d.ts +13 -0
- package/dist/components/agent-manager/AgentManagerAdminBar.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerAdminBar.js +146 -0
- package/dist/components/agent-manager/AgentManagerAdminBar.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerBulkActions.d.ts +13 -0
- package/dist/components/agent-manager/AgentManagerBulkActions.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerBulkActions.js +74 -0
- package/dist/components/agent-manager/AgentManagerBulkActions.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerCenter.d.ts +8 -0
- package/dist/components/agent-manager/AgentManagerCenter.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerCenter.js +129 -0
- package/dist/components/agent-manager/AgentManagerCenter.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerChatPane.d.ts +9 -0
- package/dist/components/agent-manager/AgentManagerChatPane.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerChatPane.js +121 -0
- package/dist/components/agent-manager/AgentManagerChatPane.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerDetailPanel.d.ts +13 -0
- package/dist/components/agent-manager/AgentManagerDetailPanel.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerDetailPanel.js +73 -0
- package/dist/components/agent-manager/AgentManagerDetailPanel.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerInputArea.d.ts +14 -0
- package/dist/components/agent-manager/AgentManagerInputArea.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerInputArea.js +397 -0
- package/dist/components/agent-manager/AgentManagerInputArea.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerLayout.d.ts +10 -0
- package/dist/components/agent-manager/AgentManagerLayout.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerLayout.js +137 -0
- package/dist/components/agent-manager/AgentManagerLayout.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerMessageItem.d.ts +10 -0
- package/dist/components/agent-manager/AgentManagerMessageItem.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerMessageItem.js +65 -0
- package/dist/components/agent-manager/AgentManagerMessageItem.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerMessageList.d.ts +12 -0
- package/dist/components/agent-manager/AgentManagerMessageList.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerMessageList.js +58 -0
- package/dist/components/agent-manager/AgentManagerMessageList.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerSessionItem.d.ts +12 -0
- package/dist/components/agent-manager/AgentManagerSessionItem.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerSessionItem.js +141 -0
- package/dist/components/agent-manager/AgentManagerSessionItem.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerSessionList.d.ts +16 -0
- package/dist/components/agent-manager/AgentManagerSessionList.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerSessionList.js +180 -0
- package/dist/components/agent-manager/AgentManagerSessionList.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerSidebar.d.ts +14 -0
- package/dist/components/agent-manager/AgentManagerSidebar.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerSidebar.js +204 -0
- package/dist/components/agent-manager/AgentManagerSidebar.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerStreamingIndicator.d.ts +8 -0
- package/dist/components/agent-manager/AgentManagerStreamingIndicator.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerStreamingIndicator.js +53 -0
- package/dist/components/agent-manager/AgentManagerStreamingIndicator.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerTab.d.ts +15 -0
- package/dist/components/agent-manager/AgentManagerTab.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerTab.js +49 -0
- package/dist/components/agent-manager/AgentManagerTab.js.map +1 -0
- package/dist/components/agent-manager/AgentManagerTabBar.d.ts +10 -0
- package/dist/components/agent-manager/AgentManagerTabBar.d.ts.map +1 -0
- package/dist/components/agent-manager/AgentManagerTabBar.js +152 -0
- package/dist/components/agent-manager/AgentManagerTabBar.js.map +1 -0
- package/dist/components/agent-manager/BridleConfigPanel.d.ts +13 -0
- package/dist/components/agent-manager/BridleConfigPanel.d.ts.map +1 -0
- package/dist/components/agent-manager/BridleConfigPanel.js +356 -0
- package/dist/components/agent-manager/BridleConfigPanel.js.map +1 -0
- package/dist/components/agent-manager/PluginInstallModal.d.ts +9 -0
- package/dist/components/agent-manager/PluginInstallModal.d.ts.map +1 -0
- package/dist/components/agent-manager/PluginInstallModal.js +98 -0
- package/dist/components/agent-manager/PluginInstallModal.js.map +1 -0
- package/dist/components/agent-manager/controls/ContextLevelToggle.d.ts +23 -0
- package/dist/components/agent-manager/controls/ContextLevelToggle.d.ts.map +1 -0
- package/dist/components/agent-manager/controls/ContextLevelToggle.js +101 -0
- package/dist/components/agent-manager/controls/ContextLevelToggle.js.map +1 -0
- package/dist/components/agent-manager/controls/FileAttachButton.d.ts +13 -0
- package/dist/components/agent-manager/controls/FileAttachButton.d.ts.map +1 -0
- package/dist/components/agent-manager/controls/FileAttachButton.js +44 -0
- package/dist/components/agent-manager/controls/FileAttachButton.js.map +1 -0
- package/dist/components/agent-manager/controls/McpServerSelector.d.ts +10 -0
- package/dist/components/agent-manager/controls/McpServerSelector.d.ts.map +1 -0
- package/dist/components/agent-manager/controls/McpServerSelector.js +98 -0
- package/dist/components/agent-manager/controls/McpServerSelector.js.map +1 -0
- package/dist/components/agent-manager/controls/ModelSelector.d.ts +10 -0
- package/dist/components/agent-manager/controls/ModelSelector.d.ts.map +1 -0
- package/dist/components/agent-manager/controls/ModelSelector.js +158 -0
- package/dist/components/agent-manager/controls/ModelSelector.js.map +1 -0
- package/dist/components/agent-manager/controls/SdkSelector.d.ts +13 -0
- package/dist/components/agent-manager/controls/SdkSelector.d.ts.map +1 -0
- package/dist/components/agent-manager/controls/SdkSelector.js +210 -0
- package/dist/components/agent-manager/controls/SdkSelector.js.map +1 -0
- package/dist/components/agent-manager/controls/VoiceToggle.d.ts +13 -0
- package/dist/components/agent-manager/controls/VoiceToggle.d.ts.map +1 -0
- package/dist/components/agent-manager/controls/VoiceToggle.js +18 -0
- package/dist/components/agent-manager/controls/VoiceToggle.js.map +1 -0
- package/dist/components/agent-manager/detail/SessionConfigPanel.d.ts +14 -0
- package/dist/components/agent-manager/detail/SessionConfigPanel.d.ts.map +1 -0
- package/dist/components/agent-manager/detail/SessionConfigPanel.js +250 -0
- package/dist/components/agent-manager/detail/SessionConfigPanel.js.map +1 -0
- package/dist/components/agent-manager/detail/SessionLogsPanel.d.ts +13 -0
- package/dist/components/agent-manager/detail/SessionLogsPanel.d.ts.map +1 -0
- package/dist/components/agent-manager/detail/SessionLogsPanel.js +107 -0
- package/dist/components/agent-manager/detail/SessionLogsPanel.js.map +1 -0
- package/dist/components/agent-manager/detail/SessionStatsPanel.d.ts +12 -0
- package/dist/components/agent-manager/detail/SessionStatsPanel.d.ts.map +1 -0
- package/dist/components/agent-manager/detail/SessionStatsPanel.js +68 -0
- package/dist/components/agent-manager/detail/SessionStatsPanel.js.map +1 -0
- package/dist/components/agent-manager/detail/SessionToolsPanel.d.ts +12 -0
- package/dist/components/agent-manager/detail/SessionToolsPanel.d.ts.map +1 -0
- package/dist/components/agent-manager/detail/SessionToolsPanel.js +64 -0
- package/dist/components/agent-manager/detail/SessionToolsPanel.js.map +1 -0
- package/dist/components/agent-manager/dialogs/ExportSessionDialog.d.ts +15 -0
- package/dist/components/agent-manager/dialogs/ExportSessionDialog.d.ts.map +1 -0
- package/dist/components/agent-manager/dialogs/ExportSessionDialog.js +141 -0
- package/dist/components/agent-manager/dialogs/ExportSessionDialog.js.map +1 -0
- package/dist/components/agent-manager/dialogs/NewSessionDialog.d.ts +14 -0
- package/dist/components/agent-manager/dialogs/NewSessionDialog.d.ts.map +1 -0
- package/dist/components/agent-manager/dialogs/NewSessionDialog.js +209 -0
- package/dist/components/agent-manager/dialogs/NewSessionDialog.js.map +1 -0
- package/dist/components/agent-manager/dialogs/RenameSessionDialog.d.ts +15 -0
- package/dist/components/agent-manager/dialogs/RenameSessionDialog.d.ts.map +1 -0
- package/dist/components/agent-manager/dialogs/RenameSessionDialog.js +105 -0
- package/dist/components/agent-manager/dialogs/RenameSessionDialog.js.map +1 -0
- package/dist/components/agent-manager/dialogs/SessionSearchDialog.d.ts +15 -0
- package/dist/components/agent-manager/dialogs/SessionSearchDialog.d.ts.map +1 -0
- package/dist/components/agent-manager/dialogs/SessionSearchDialog.js +162 -0
- package/dist/components/agent-manager/dialogs/SessionSearchDialog.js.map +1 -0
- package/dist/components/agent-manager/index.d.ts +16 -0
- package/dist/components/agent-manager/index.d.ts.map +1 -0
- package/dist/components/agents/AgentCard.d.ts +30 -0
- package/dist/components/agents/AgentCard.d.ts.map +1 -0
- package/dist/components/agents/AgentCard.js +209 -0
- package/dist/components/agents/AgentCard.js.map +1 -0
- package/dist/components/agents/AgentForm.d.ts +29 -0
- package/dist/components/agents/AgentForm.d.ts.map +1 -0
- package/dist/components/agents/AgentForm.js +593 -0
- package/dist/components/agents/AgentForm.js.map +1 -0
- package/dist/components/agents/AgentList.d.ts +19 -0
- package/dist/components/agents/AgentList.d.ts.map +1 -0
- package/dist/components/agents/AgentList.js +333 -0
- package/dist/components/agents/AgentList.js.map +1 -0
- package/dist/components/agents/AgentStatusBadge.d.ts +12 -0
- package/dist/components/agents/AgentStatusBadge.d.ts.map +1 -0
- package/dist/components/agents/AgentStatusBadge.js +43 -0
- package/dist/components/agents/AgentStatusBadge.js.map +1 -0
- package/dist/components/agents/OpenInBrowserEditorButton.d.ts +16 -0
- package/dist/components/agents/OpenInBrowserEditorButton.d.ts.map +1 -0
- package/dist/components/agents/OpenInBrowserEditorButton.js +115 -0
- package/dist/components/agents/OpenInBrowserEditorButton.js.map +1 -0
- package/dist/components/agents/PluginUIPanel.d.ts +38 -0
- package/dist/components/agents/PluginUIPanel.d.ts.map +1 -0
- package/dist/components/agents/PluginUIPanel.js +308 -0
- package/dist/components/agents/PluginUIPanel.js.map +1 -0
- package/dist/components/agents/backup/AgentBackupTab.d.ts +11 -0
- package/dist/components/agents/backup/AgentBackupTab.d.ts.map +1 -0
- package/dist/components/agents/backup/AgentBackupTab.js +407 -0
- package/dist/components/agents/backup/AgentBackupTab.js.map +1 -0
- package/dist/components/agents/index.d.ts +8 -0
- package/dist/components/agents/index.d.ts.map +1 -0
- package/dist/components/agents/index.js +6 -0
- package/dist/components/agents/types.d.ts +72 -0
- package/dist/components/agents/types.d.ts.map +1 -0
- package/dist/components/ai/AIAssistantPanel.d.ts +8 -0
- package/dist/components/ai/AIAssistantPanel.d.ts.map +1 -0
- package/dist/components/ai/AIContextsTab.d.ts +6 -0
- package/dist/components/ai/AIContextsTab.d.ts.map +1 -0
- package/dist/components/ai/AIContextsTab.js +378 -0
- package/dist/components/ai/AIContextsTab.js.map +1 -0
- package/dist/components/ai/AIOverviewTab.d.ts +7 -0
- package/dist/components/ai/AIOverviewTab.d.ts.map +1 -0
- package/dist/components/ai/AIOverviewTab.js +143 -0
- package/dist/components/ai/AIOverviewTab.js.map +1 -0
- package/dist/components/ai/AIPlaygroundTab.d.ts +6 -0
- package/dist/components/ai/AIPlaygroundTab.d.ts.map +1 -0
- package/dist/components/ai/AIPlaygroundTab.js +222 -0
- package/dist/components/ai/AIPlaygroundTab.js.map +1 -0
- package/dist/components/ai/AIPromptsTab.d.ts +6 -0
- package/dist/components/ai/AIPromptsTab.d.ts.map +1 -0
- package/dist/components/ai/AIPromptsTab.js +251 -0
- package/dist/components/ai/AIPromptsTab.js.map +1 -0
- package/dist/components/ai/AISessionsTab.d.ts +7 -0
- package/dist/components/ai/AISessionsTab.d.ts.map +1 -0
- package/dist/components/ai/AISessionsTab.js +245 -0
- package/dist/components/ai/AISessionsTab.js.map +1 -0
- package/dist/components/ai/AIStatsTab.d.ts +6 -0
- package/dist/components/ai/AIStatsTab.d.ts.map +1 -0
- package/dist/components/ai/AIStatsTab.js +182 -0
- package/dist/components/ai/AIStatsTab.js.map +1 -0
- package/dist/components/ai/AITasksTab.d.ts +5 -0
- package/dist/components/ai/AITasksTab.d.ts.map +1 -0
- package/dist/components/ai/AITasksTab.js +549 -0
- package/dist/components/ai/AITasksTab.js.map +1 -0
- package/dist/components/ai/AITemplatesTab.d.ts +6 -0
- package/dist/components/ai/AITemplatesTab.d.ts.map +1 -0
- package/dist/components/ai/AITemplatesTab.js +472 -0
- package/dist/components/ai/AITemplatesTab.js.map +1 -0
- package/dist/components/ai/ClaudeCredentialsCard.d.ts +6 -0
- package/dist/components/ai/ClaudeCredentialsCard.d.ts.map +1 -0
- package/dist/components/ai/ClaudeCredentialsCard.js +133 -0
- package/dist/components/ai/ClaudeCredentialsCard.js.map +1 -0
- package/dist/components/ai/PluginHarnessPicker.d.ts +31 -0
- package/dist/components/ai/PluginHarnessPicker.d.ts.map +1 -0
- package/dist/components/ai/PluginHarnessPicker.js +136 -0
- package/dist/components/ai/PluginHarnessPicker.js.map +1 -0
- package/dist/components/analytics/AnalyticsBreakdownChart.d.ts +12 -0
- package/dist/components/analytics/AnalyticsBreakdownChart.d.ts.map +1 -0
- package/dist/components/analytics/AnalyticsBreakdownChart.js +73 -0
- package/dist/components/analytics/AnalyticsBreakdownChart.js.map +1 -0
- package/dist/components/analytics/AnalyticsBreakdownTable.d.ts +13 -0
- package/dist/components/analytics/AnalyticsBreakdownTable.d.ts.map +1 -0
- package/dist/components/analytics/AnalyticsBreakdownTable.js +100 -0
- package/dist/components/analytics/AnalyticsBreakdownTable.js.map +1 -0
- package/dist/components/analytics/AnalyticsEntityTabs.d.ts +9 -0
- package/dist/components/analytics/AnalyticsEntityTabs.d.ts.map +1 -0
- package/dist/components/analytics/AnalyticsEntityTabs.js +52 -0
- package/dist/components/analytics/AnalyticsEntityTabs.js.map +1 -0
- package/dist/components/analytics/AnalyticsFilterBar.d.ts +15 -0
- package/dist/components/analytics/AnalyticsFilterBar.d.ts.map +1 -0
- package/dist/components/analytics/AnalyticsFilterBar.js +51 -0
- package/dist/components/analytics/AnalyticsFilterBar.js.map +1 -0
- package/dist/components/analytics/AnalyticsKpiGrid.d.ts +10 -0
- package/dist/components/analytics/AnalyticsKpiGrid.d.ts.map +1 -0
- package/dist/components/analytics/AnalyticsKpiGrid.js +112 -0
- package/dist/components/analytics/AnalyticsKpiGrid.js.map +1 -0
- package/dist/components/analytics/AnalyticsTimeSeriesChart.d.ts +16 -0
- package/dist/components/analytics/AnalyticsTimeSeriesChart.d.ts.map +1 -0
- package/dist/components/analytics/AnalyticsTimeSeriesChart.js +115 -0
- package/dist/components/analytics/AnalyticsTimeSeriesChart.js.map +1 -0
- package/dist/components/analytics/SandboxAnalyticsSection.d.ts +9 -0
- package/dist/components/analytics/SandboxAnalyticsSection.d.ts.map +1 -0
- package/dist/components/analytics/SandboxAnalyticsSection.js +185 -0
- package/dist/components/analytics/SandboxAnalyticsSection.js.map +1 -0
- package/dist/components/analytics/index.d.ts +9 -0
- package/dist/components/analytics/index.d.ts.map +1 -0
- package/dist/components/analytics/index.js +8 -0
- package/dist/components/analytics/types.d.ts +28 -0
- package/dist/components/analytics/types.d.ts.map +1 -0
- package/dist/components/analytics/types.js +140 -0
- package/dist/components/analytics/types.js.map +1 -0
- package/dist/components/assistant/AIAssistantPanel.d.ts +5 -0
- package/dist/components/assistant/AIAssistantPanel.d.ts.map +1 -0
- package/dist/components/assistant/AIAssistantPanel.js +68 -0
- package/dist/components/assistant/AIAssistantPanel.js.map +1 -0
- package/dist/components/assistant/AssistantChatArea.d.ts +4 -0
- package/dist/components/assistant/AssistantChatArea.d.ts.map +1 -0
- package/dist/components/assistant/AssistantChatArea.js +346 -0
- package/dist/components/assistant/AssistantChatArea.js.map +1 -0
- package/dist/components/assistant/AssistantChatInput.d.ts +10 -0
- package/dist/components/assistant/AssistantChatInput.d.ts.map +1 -0
- package/dist/components/assistant/AssistantChatInput.js +43 -0
- package/dist/components/assistant/AssistantChatInput.js.map +1 -0
- package/dist/components/assistant/AssistantConversationList.d.ts +4 -0
- package/dist/components/assistant/AssistantConversationList.d.ts.map +1 -0
- package/dist/components/assistant/AssistantConversationList.js +144 -0
- package/dist/components/assistant/AssistantConversationList.js.map +1 -0
- package/dist/components/assistant/AssistantExportMenu.d.ts +4 -0
- package/dist/components/assistant/AssistantExportMenu.d.ts.map +1 -0
- package/dist/components/assistant/AssistantExportMenu.js +49 -0
- package/dist/components/assistant/AssistantExportMenu.js.map +1 -0
- package/dist/components/assistant/AssistantMarkdownRenderer.d.ts +8 -0
- package/dist/components/assistant/AssistantMarkdownRenderer.d.ts.map +1 -0
- package/dist/components/assistant/AssistantMarkdownRenderer.js +204 -0
- package/dist/components/assistant/AssistantMarkdownRenderer.js.map +1 -0
- package/dist/components/assistant/AssistantMessageItem.d.ts +10 -0
- package/dist/components/assistant/AssistantMessageItem.d.ts.map +1 -0
- package/dist/components/assistant/AssistantMessageItem.js +91 -0
- package/dist/components/assistant/AssistantMessageItem.js.map +1 -0
- package/dist/components/assistant/AssistantMessageList.d.ts +10 -0
- package/dist/components/assistant/AssistantMessageList.d.ts.map +1 -0
- package/dist/components/assistant/AssistantMessageList.js +28 -0
- package/dist/components/assistant/AssistantMessageList.js.map +1 -0
- package/dist/components/assistant/AssistantModeSelector.d.ts +10 -0
- package/dist/components/assistant/AssistantModeSelector.d.ts.map +1 -0
- package/dist/components/assistant/AssistantModeSelector.js +57 -0
- package/dist/components/assistant/AssistantModeSelector.js.map +1 -0
- package/dist/components/assistant/AssistantWelcome.d.ts +10 -0
- package/dist/components/assistant/AssistantWelcome.d.ts.map +1 -0
- package/dist/components/assistant/AssistantWelcome.js +41 -0
- package/dist/components/assistant/AssistantWelcome.js.map +1 -0
- package/dist/components/assistant/index.d.ts +11 -0
- package/dist/components/assistant/index.d.ts.map +1 -0
- package/dist/components/assistant/index.js +10 -0
- package/dist/components/audit/AuditDeleteDialog.d.ts +12 -0
- package/dist/components/audit/AuditDeleteDialog.d.ts.map +1 -0
- package/dist/components/audit/AuditDeleteDialog.js +74 -0
- package/dist/components/audit/AuditDeleteDialog.js.map +1 -0
- package/dist/components/audit/AuditExportButton.d.ts +8 -0
- package/dist/components/audit/AuditExportButton.d.ts.map +1 -0
- package/dist/components/audit/AuditExportButton.js +70 -0
- package/dist/components/audit/AuditExportButton.js.map +1 -0
- package/dist/components/audit/AuditLogDetail.d.ts +9 -0
- package/dist/components/audit/AuditLogDetail.d.ts.map +1 -0
- package/dist/components/audit/AuditLogDetail.js +266 -0
- package/dist/components/audit/AuditLogDetail.js.map +1 -0
- package/dist/components/audit/AuditLogFilters.d.ts +15 -0
- package/dist/components/audit/AuditLogFilters.d.ts.map +1 -0
- package/dist/components/audit/AuditLogFilters.js +185 -0
- package/dist/components/audit/AuditLogFilters.js.map +1 -0
- package/dist/components/audit/AuditLogStats.d.ts +9 -0
- package/dist/components/audit/AuditLogStats.d.ts.map +1 -0
- package/dist/components/audit/AuditLogStats.js +54 -0
- package/dist/components/audit/AuditLogStats.js.map +1 -0
- package/dist/components/audit/AuditLogTable.d.ts +21 -0
- package/dist/components/audit/AuditLogTable.d.ts.map +1 -0
- package/dist/components/audit/AuditLogTable.js +270 -0
- package/dist/components/audit/AuditLogTable.js.map +1 -0
- package/dist/components/audit/index.d.ts +7 -0
- package/dist/components/audit/index.d.ts.map +1 -0
- package/dist/components/audit/index.js +6 -0
- package/dist/components/catalog/CatalogCard.d.ts +22 -0
- package/dist/components/catalog/CatalogCard.d.ts.map +1 -0
- package/dist/components/catalog/CatalogCard.js +149 -0
- package/dist/components/catalog/CatalogCard.js.map +1 -0
- package/dist/components/catalog/CatalogForm.d.ts +18 -0
- package/dist/components/catalog/CatalogForm.d.ts.map +1 -0
- package/dist/components/catalog/CatalogForm.js +152 -0
- package/dist/components/catalog/CatalogForm.js.map +1 -0
- package/dist/components/catalog/index.d.ts +5 -0
- package/dist/components/catalog/index.d.ts.map +1 -0
- package/dist/components/catalog/index.js +2 -0
- package/dist/components/docs/DocsCompileStatus.d.ts +9 -0
- package/dist/components/docs/DocsCompileStatus.d.ts.map +1 -0
- package/dist/components/docs/DocsCompileStatus.js +106 -0
- package/dist/components/docs/DocsCompileStatus.js.map +1 -0
- package/dist/components/docs/DocsEditPanel.d.ts +26 -0
- package/dist/components/docs/DocsEditPanel.d.ts.map +1 -0
- package/dist/components/docs/DocsEditPanel.js +97 -0
- package/dist/components/docs/DocsEditPanel.js.map +1 -0
- package/dist/components/docs/DocsEmptyState.d.ts +7 -0
- package/dist/components/docs/DocsEmptyState.d.ts.map +1 -0
- package/dist/components/docs/DocsEmptyState.js +24 -0
- package/dist/components/docs/DocsEmptyState.js.map +1 -0
- package/dist/components/docs/DocsPageEditor.d.ts +13 -0
- package/dist/components/docs/DocsPageEditor.d.ts.map +1 -0
- package/dist/components/docs/DocsPageEditor.js +83 -0
- package/dist/components/docs/DocsPageEditor.js.map +1 -0
- package/dist/components/docs/DocsPageTree.d.ts +12 -0
- package/dist/components/docs/DocsPageTree.d.ts.map +1 -0
- package/dist/components/docs/DocsPageTree.js +103 -0
- package/dist/components/docs/DocsPageTree.js.map +1 -0
- package/dist/components/docs/DocsPreviewPanel.d.ts +17 -0
- package/dist/components/docs/DocsPreviewPanel.d.ts.map +1 -0
- package/dist/components/docs/DocsPreviewPanel.js +106 -0
- package/dist/components/docs/DocsPreviewPanel.js.map +1 -0
- package/dist/components/docs/DocsSettingsPanel.d.ts +15 -0
- package/dist/components/docs/DocsSettingsPanel.d.ts.map +1 -0
- package/dist/components/docs/DocsSettingsPanel.js +411 -0
- package/dist/components/docs/DocsSettingsPanel.js.map +1 -0
- package/dist/components/docs/DocsTabPanel.d.ts +8 -0
- package/dist/components/docs/DocsTabPanel.d.ts.map +1 -0
- package/dist/components/docs/DocsTabPanel.js +155 -0
- package/dist/components/docs/DocsTabPanel.js.map +1 -0
- package/dist/components/docs/index.d.ts +10 -0
- package/dist/components/docs/index.d.ts.map +1 -0
- package/dist/components/docs/index.js +8 -0
- package/dist/components/docs/previewHtml.d.ts +2 -0
- package/dist/components/docs/previewHtml.d.ts.map +1 -0
- package/dist/components/docs/previewHtml.js +17 -0
- package/dist/components/docs/previewHtml.js.map +1 -0
- package/dist/components/docs/types.d.ts +59 -0
- package/dist/components/docs/types.d.ts.map +1 -0
- package/dist/components/gitops/CIDurationChart.d.ts +12 -0
- package/dist/components/gitops/CIDurationChart.d.ts.map +1 -0
- package/dist/components/gitops/CIDurationChart.js +102 -0
- package/dist/components/gitops/CIDurationChart.js.map +1 -0
- package/dist/components/gitops/CIFailedRuns.d.ts +13 -0
- package/dist/components/gitops/CIFailedRuns.d.ts.map +1 -0
- package/dist/components/gitops/CIFailedRuns.js +153 -0
- package/dist/components/gitops/CIFailedRuns.js.map +1 -0
- package/dist/components/gitops/CIPipelineRunsTable.d.ts +13 -0
- package/dist/components/gitops/CIPipelineRunsTable.d.ts.map +1 -0
- package/dist/components/gitops/CIPipelineRunsTable.js +144 -0
- package/dist/components/gitops/CIPipelineRunsTable.js.map +1 -0
- package/dist/components/gitops/CISuccessRateChart.d.ts +13 -0
- package/dist/components/gitops/CISuccessRateChart.d.ts.map +1 -0
- package/dist/components/gitops/CISuccessRateChart.js +101 -0
- package/dist/components/gitops/CISuccessRateChart.js.map +1 -0
- package/dist/components/gitops/CITab.d.ts +15 -0
- package/dist/components/gitops/CITab.d.ts.map +1 -0
- package/dist/components/gitops/CITab.js +55 -0
- package/dist/components/gitops/CITab.js.map +1 -0
- package/dist/components/gitops/CIWorkflowList.d.ts +13 -0
- package/dist/components/gitops/CIWorkflowList.d.ts.map +1 -0
- package/dist/components/gitops/CIWorkflowList.js +24 -0
- package/dist/components/gitops/CIWorkflowList.js.map +1 -0
- package/dist/components/gitops/GitOpsProviderCard.d.ts +14 -0
- package/dist/components/gitops/GitOpsProviderCard.d.ts.map +1 -0
- package/dist/components/gitops/GitOpsSetup.d.ts +16 -0
- package/dist/components/gitops/GitOpsSetup.d.ts.map +1 -0
- package/dist/components/gitops/GitOpsSetup.js +155 -0
- package/dist/components/gitops/GitOpsSetup.js.map +1 -0
- package/dist/components/gitops/GitOpsSkeleton.d.ts +12 -0
- package/dist/components/gitops/GitOpsSkeleton.d.ts.map +1 -0
- package/dist/components/gitops/GitOpsSkeleton.js +26 -0
- package/dist/components/gitops/GitOpsSkeleton.js.map +1 -0
- package/dist/components/gitops/GitOpsStatusBadge.d.ts +14 -0
- package/dist/components/gitops/GitOpsStatusBadge.d.ts.map +1 -0
- package/dist/components/gitops/GitOpsStatusBadge.js +28 -0
- package/dist/components/gitops/GitOpsStatusBadge.js.map +1 -0
- package/dist/components/gitops/ProviderIcon.d.ts +14 -0
- package/dist/components/gitops/ProviderIcon.d.ts.map +1 -0
- package/dist/components/gitops/ProviderIcon.js +35 -0
- package/dist/components/gitops/ProviderIcon.js.map +1 -0
- package/dist/components/gitops/RepoActivityCard.d.ts +12 -0
- package/dist/components/gitops/RepoActivityCard.d.ts.map +1 -0
- package/dist/components/gitops/RepoActivityCard.js +64 -0
- package/dist/components/gitops/RepoActivityCard.js.map +1 -0
- package/dist/components/gitops/RepoIssuesCard.d.ts +12 -0
- package/dist/components/gitops/RepoIssuesCard.d.ts.map +1 -0
- package/dist/components/gitops/RepoIssuesCard.js +38 -0
- package/dist/components/gitops/RepoIssuesCard.js.map +1 -0
- package/dist/components/gitops/RepoLanguagesCard.d.ts +13 -0
- package/dist/components/gitops/RepoLanguagesCard.d.ts.map +1 -0
- package/dist/components/gitops/RepoLanguagesCard.js +86 -0
- package/dist/components/gitops/RepoLanguagesCard.js.map +1 -0
- package/dist/components/gitops/RepoOverviewCard.d.ts +13 -0
- package/dist/components/gitops/RepoOverviewCard.d.ts.map +1 -0
- package/dist/components/gitops/RepoOverviewCard.js +117 -0
- package/dist/components/gitops/RepoOverviewCard.js.map +1 -0
- package/dist/components/gitops/RepoPullRequestsCard.d.ts +12 -0
- package/dist/components/gitops/RepoPullRequestsCard.d.ts.map +1 -0
- package/dist/components/gitops/RepoPullRequestsCard.js +80 -0
- package/dist/components/gitops/RepoPullRequestsCard.js.map +1 -0
- package/dist/components/gitops/RepoSecurityCard.d.ts +12 -0
- package/dist/components/gitops/RepoSecurityCard.d.ts.map +1 -0
- package/dist/components/gitops/RepoSecurityCard.js +38 -0
- package/dist/components/gitops/RepoSecurityCard.js.map +1 -0
- package/dist/components/gitops/RepoStatsTab.d.ts +15 -0
- package/dist/components/gitops/RepoStatsTab.d.ts.map +1 -0
- package/dist/components/gitops/RepoStatsTab.js +43 -0
- package/dist/components/gitops/RepoStatsTab.js.map +1 -0
- package/dist/components/gitops/VibeGitOpsTab.d.ts +12 -0
- package/dist/components/gitops/VibeGitOpsTab.d.ts.map +1 -0
- package/dist/components/gitops/VibeGitOpsTab.js +253 -0
- package/dist/components/gitops/VibeGitOpsTab.js.map +1 -0
- package/dist/components/gitops/index.d.ts +21 -0
- package/dist/components/gitops/index.d.ts.map +1 -0
- package/dist/components/gitops/types.d.ts +90 -0
- package/dist/components/gitops/types.d.ts.map +1 -0
- package/dist/components/graph/AgentGraphView.d.ts +44 -0
- package/dist/components/graph/AgentGraphView.d.ts.map +1 -0
- package/dist/components/graph/AgentGraphView.js +238 -0
- package/dist/components/graph/AgentGraphView.js.map +1 -0
- package/dist/components/graph/AgentNode.d.ts +6 -0
- package/dist/components/graph/AgentNode.d.ts.map +1 -0
- package/dist/components/graph/AgentNode.js +55 -0
- package/dist/components/graph/AgentNode.js.map +1 -0
- package/dist/components/graph/ConnectionPermissionsDialog.d.ts +26 -0
- package/dist/components/graph/ConnectionPermissionsDialog.d.ts.map +1 -0
- package/dist/components/graph/ConnectionPermissionsDialog.js +111 -0
- package/dist/components/graph/ConnectionPermissionsDialog.js.map +1 -0
- package/dist/components/graph/TargetNode.d.ts +6 -0
- package/dist/components/graph/TargetNode.d.ts.map +1 -0
- package/dist/components/graph/TargetNode.js +77 -0
- package/dist/components/graph/TargetNode.js.map +1 -0
- package/dist/components/health/AgentHealthCard.d.ts +9 -0
- package/dist/components/health/AgentHealthCard.d.ts.map +1 -0
- package/dist/components/health/HealthDashboard.d.ts +10 -0
- package/dist/components/health/HealthDashboard.d.ts.map +1 -0
- package/dist/components/health/SystemStatus.d.ts +11 -0
- package/dist/components/health/SystemStatus.d.ts.map +1 -0
- package/dist/components/health/index.d.ts +5 -0
- package/dist/components/health/index.d.ts.map +1 -0
- package/dist/components/health/types.d.ts +50 -0
- package/dist/components/health/types.d.ts.map +1 -0
- package/dist/components/idp-components/ComponentCard.d.ts +24 -0
- package/dist/components/idp-components/ComponentCard.d.ts.map +1 -0
- package/dist/components/idp-components/ComponentCard.js +143 -0
- package/dist/components/idp-components/ComponentCard.js.map +1 -0
- package/dist/components/idp-components/ComponentForm.d.ts +22 -0
- package/dist/components/idp-components/ComponentForm.d.ts.map +1 -0
- package/dist/components/idp-components/ComponentForm.js +234 -0
- package/dist/components/idp-components/ComponentForm.js.map +1 -0
- package/dist/components/idp-components/index.d.ts +5 -0
- package/dist/components/idp-components/index.d.ts.map +1 -0
- package/dist/components/idp-components/index.js +2 -0
- package/dist/components/logs/LogViewer.d.ts +13 -0
- package/dist/components/logs/LogViewer.d.ts.map +1 -0
- package/dist/components/logs/LogViewer.js +265 -0
- package/dist/components/logs/LogViewer.js.map +1 -0
- package/dist/components/notes/NoteCard.d.ts +13 -0
- package/dist/components/notes/NoteCard.d.ts.map +1 -0
- package/dist/components/notes/NoteCard.js +146 -0
- package/dist/components/notes/NoteCard.js.map +1 -0
- package/dist/components/notes/NoteEditor.d.ts +31 -0
- package/dist/components/notes/NoteEditor.d.ts.map +1 -0
- package/dist/components/notes/NoteEditor.js +433 -0
- package/dist/components/notes/NoteEditor.js.map +1 -0
- package/dist/components/notes/NoteList.d.ts +15 -0
- package/dist/components/notes/NoteList.d.ts.map +1 -0
- package/dist/components/notes/NoteList.js +188 -0
- package/dist/components/notes/NoteList.js.map +1 -0
- package/dist/components/notes/NotesTabPanel.d.ts +18 -0
- package/dist/components/notes/NotesTabPanel.d.ts.map +1 -0
- package/dist/components/notes/NotesTabPanel.js +356 -0
- package/dist/components/notes/NotesTabPanel.js.map +1 -0
- package/dist/components/notes/index.d.ts +7 -0
- package/dist/components/notes/index.d.ts.map +1 -0
- package/dist/components/notes/index.js +4 -0
- package/dist/components/notes/types.d.ts +58 -0
- package/dist/components/notes/types.d.ts.map +1 -0
- package/dist/components/scorecard/ScorecardPanel.d.ts +9 -0
- package/dist/components/scorecard/ScorecardPanel.d.ts.map +1 -0
- package/dist/components/scorecard/ScorecardPanel.js +490 -0
- package/dist/components/scorecard/ScorecardPanel.js.map +1 -0
- package/dist/components/scorecard/index.d.ts +3 -0
- package/dist/components/scorecard/index.d.ts.map +1 -0
- package/dist/components/scorecard/index.js +1 -0
- package/dist/components/sessions/CollaboratorsList.d.ts +18 -0
- package/dist/components/sessions/CollaboratorsList.d.ts.map +1 -0
- package/dist/components/sessions/CollaboratorsList.js +162 -0
- package/dist/components/sessions/CollaboratorsList.js.map +1 -0
- package/dist/components/sessions/ControlStatusBar.d.ts +31 -0
- package/dist/components/sessions/ControlStatusBar.d.ts.map +1 -0
- package/dist/components/sessions/ControlStatusBar.js +79 -0
- package/dist/components/sessions/ControlStatusBar.js.map +1 -0
- package/dist/components/sessions/SessionCard.d.ts +24 -0
- package/dist/components/sessions/SessionCard.d.ts.map +1 -0
- package/dist/components/sessions/SessionCard.js +196 -0
- package/dist/components/sessions/SessionCard.js.map +1 -0
- package/dist/components/sessions/SessionForm.d.ts +20 -0
- package/dist/components/sessions/SessionForm.d.ts.map +1 -0
- package/dist/components/sessions/SessionForm.js +4 -0
- package/dist/components/sessions/SessionList.d.ts +25 -0
- package/dist/components/sessions/SessionList.d.ts.map +1 -0
- package/dist/components/sessions/SessionList.js +241 -0
- package/dist/components/sessions/SessionList.js.map +1 -0
- package/dist/components/sessions/SessionShareDialog.d.ts +15 -0
- package/dist/components/sessions/SessionShareDialog.d.ts.map +1 -0
- package/dist/components/sessions/SessionShareDialog.js +457 -0
- package/dist/components/sessions/SessionShareDialog.js.map +1 -0
- package/dist/components/sessions/SessionStatusBadge.d.ts +9 -0
- package/dist/components/sessions/SessionStatusBadge.d.ts.map +1 -0
- package/dist/components/sessions/SessionStatusBadge.js +43 -0
- package/dist/components/sessions/SessionStatusBadge.js.map +1 -0
- package/dist/components/sessions/SharedTerminalPanel.d.ts +72 -0
- package/dist/components/sessions/SharedTerminalPanel.d.ts.map +1 -0
- package/dist/components/sessions/SharedTerminalPanel.js +94 -0
- package/dist/components/sessions/SharedTerminalPanel.js.map +1 -0
- package/dist/components/sessions/TerminalPanel.d.ts +69 -0
- package/dist/components/sessions/TerminalPanel.d.ts.map +1 -0
- package/dist/components/sessions/TerminalPanel.js +1008 -0
- package/dist/components/sessions/TerminalPanel.js.map +1 -0
- package/dist/components/sessions/index.d.ts +11 -0
- package/dist/components/sessions/index.d.ts.map +1 -0
- package/dist/components/sessions/index.js +9 -0
- package/dist/components/sessions/types.d.ts +67 -0
- package/dist/components/sessions/types.d.ts.map +1 -0
- package/dist/components/settings/AdvancedSection.d.ts +22 -0
- package/dist/components/settings/AdvancedSection.d.ts.map +1 -0
- package/dist/components/settings/AdvancedSection.js +177 -0
- package/dist/components/settings/AdvancedSection.js.map +1 -0
- package/dist/components/settings/ConfigEditor.d.ts +14 -0
- package/dist/components/settings/ConfigEditor.d.ts.map +1 -0
- package/dist/components/settings/ConfigSection.d.ts +12 -0
- package/dist/components/settings/ConfigSection.d.ts.map +1 -0
- package/dist/components/settings/NotificationsSection.d.ts +14 -0
- package/dist/components/settings/NotificationsSection.d.ts.map +1 -0
- package/dist/components/settings/NotificationsSection.js +83 -0
- package/dist/components/settings/NotificationsSection.js.map +1 -0
- package/dist/components/settings/PreferencesSection.d.ts +14 -0
- package/dist/components/settings/PreferencesSection.d.ts.map +1 -0
- package/dist/components/settings/ProfileSection.d.ts +14 -0
- package/dist/components/settings/ProfileSection.d.ts.map +1 -0
- package/dist/components/settings/SecuritySection.d.ts +11 -0
- package/dist/components/settings/SecuritySection.d.ts.map +1 -0
- package/dist/components/settings/SettingsForm.d.ts +58 -0
- package/dist/components/settings/SettingsForm.d.ts.map +1 -0
- package/dist/components/settings/SettingsForm.js +101 -0
- package/dist/components/settings/SettingsForm.js.map +1 -0
- package/dist/components/settings/WorkspaceDefaultsSection.d.ts +27 -0
- package/dist/components/settings/WorkspaceDefaultsSection.d.ts.map +1 -0
- package/dist/components/settings/WorkspaceDefaultsSection.js +177 -0
- package/dist/components/settings/WorkspaceDefaultsSection.js.map +1 -0
- package/dist/components/settings/index.d.ts +4 -0
- package/dist/components/settings/index.d.ts.map +1 -0
- package/dist/components/settings/types.d.ts +55 -0
- package/dist/components/settings/types.d.ts.map +1 -0
- package/dist/components/shared/AgentEventsConnector.d.ts +6 -0
- package/dist/components/shared/AgentEventsConnector.d.ts.map +1 -0
- package/dist/components/shared/AgentEventsConnector.js +26 -0
- package/dist/components/shared/AgentEventsConnector.js.map +1 -0
- package/dist/components/shared/AgentSelector.d.ts +25 -0
- package/dist/components/shared/AgentSelector.d.ts.map +1 -0
- package/dist/components/shared/AgentSelector.js +98 -0
- package/dist/components/shared/AgentSelector.js.map +1 -0
- package/dist/components/shared/AgentSetupBanner.d.ts +21 -0
- package/dist/components/shared/AgentSetupBanner.d.ts.map +1 -0
- package/dist/components/shared/AgentSetupBanner.js +158 -0
- package/dist/components/shared/AgentSetupBanner.js.map +1 -0
- package/dist/components/shared/Card.d.ts +29 -0
- package/dist/components/shared/Card.d.ts.map +1 -0
- package/dist/components/shared/Card.js +30 -0
- package/dist/components/shared/Card.js.map +1 -0
- package/dist/components/shared/ConfirmDialog.d.ts +14 -0
- package/dist/components/shared/ConfirmDialog.d.ts.map +1 -0
- package/dist/components/shared/ConfirmDialog.js +117 -0
- package/dist/components/shared/ConfirmDialog.js.map +1 -0
- package/dist/components/shared/EmptyState.d.ts +11 -0
- package/dist/components/shared/EmptyState.d.ts.map +1 -0
- package/dist/components/shared/EmptyState.js +108 -0
- package/dist/components/shared/EmptyState.js.map +1 -0
- package/dist/components/shared/EntityTagPicker.d.ts +8 -0
- package/dist/components/shared/EntityTagPicker.d.ts.map +1 -0
- package/dist/components/shared/EntityTagPicker.js +195 -0
- package/dist/components/shared/EntityTagPicker.js.map +1 -0
- package/dist/components/shared/ErrorState.d.ts +11 -0
- package/dist/components/shared/ErrorState.d.ts.map +1 -0
- package/dist/components/shared/ErrorState.js +116 -0
- package/dist/components/shared/ErrorState.js.map +1 -0
- package/dist/components/shared/FilterDropdown.d.ts +20 -0
- package/dist/components/shared/FilterDropdown.d.ts.map +1 -0
- package/dist/components/shared/FilterDropdown.js +81 -0
- package/dist/components/shared/FilterDropdown.js.map +1 -0
- package/dist/components/shared/GetHelpButton.d.ts +27 -0
- package/dist/components/shared/GetHelpButton.d.ts.map +1 -0
- package/dist/components/shared/GetHelpButton.js +19 -0
- package/dist/components/shared/GetHelpButton.js.map +1 -0
- package/dist/components/shared/InstallTabs.d.ts +18 -0
- package/dist/components/shared/InstallTabs.d.ts.map +1 -0
- package/dist/components/shared/InstallTabs.js +110 -0
- package/dist/components/shared/InstallTabs.js.map +1 -0
- package/dist/components/shared/LoadingState.d.ts +7 -0
- package/dist/components/shared/LoadingState.d.ts.map +1 -0
- package/dist/components/shared/LoadingState.js +54 -0
- package/dist/components/shared/LoadingState.js.map +1 -0
- package/dist/components/shared/NotificationToast.d.ts +40 -0
- package/dist/components/shared/NotificationToast.d.ts.map +1 -0
- package/dist/components/shared/NotificationToast.js +152 -0
- package/dist/components/shared/NotificationToast.js.map +1 -0
- package/dist/components/shared/PageHeader.d.ts +14 -0
- package/dist/components/shared/PageHeader.d.ts.map +1 -0
- package/dist/components/shared/PageHeader.js +55 -0
- package/dist/components/shared/PageHeader.js.map +1 -0
- package/dist/components/shared/PluginGate.d.ts +35 -0
- package/dist/components/shared/PluginGate.d.ts.map +1 -0
- package/dist/components/shared/PluginGate.js +182 -0
- package/dist/components/shared/PluginGate.js.map +1 -0
- package/dist/components/shared/QuotaExhaustedDialog.d.ts +12 -0
- package/dist/components/shared/QuotaExhaustedDialog.d.ts.map +1 -0
- package/dist/components/shared/QuotaExhaustedDialog.js +21 -0
- package/dist/components/shared/QuotaExhaustedDialog.js.map +1 -0
- package/dist/components/shared/RequireAgentReachable.d.ts +14 -0
- package/dist/components/shared/RequireAgentReachable.d.ts.map +1 -0
- package/dist/components/shared/RequireAgentReachable.js +69 -0
- package/dist/components/shared/RequireAgentReachable.js.map +1 -0
- package/dist/components/shared/SearchInput.d.ts +9 -0
- package/dist/components/shared/SearchInput.d.ts.map +1 -0
- package/dist/components/shared/SearchInput.js +47 -0
- package/dist/components/shared/SearchInput.js.map +1 -0
- package/dist/components/shared/SearchableSelect.d.ts +48 -0
- package/dist/components/shared/SearchableSelect.d.ts.map +1 -0
- package/dist/components/shared/SearchableSelect.js +214 -0
- package/dist/components/shared/SearchableSelect.js.map +1 -0
- package/dist/components/shared/SelectionCheckbox.d.ts +11 -0
- package/dist/components/shared/SelectionCheckbox.d.ts.map +1 -0
- package/dist/components/shared/SelectionCheckbox.js +25 -0
- package/dist/components/shared/SelectionCheckbox.js.map +1 -0
- package/dist/components/shared/SessionNotificationBanner.d.ts +47 -0
- package/dist/components/shared/SessionNotificationBanner.d.ts.map +1 -0
- package/dist/components/shared/SessionNotificationBanner.js +231 -0
- package/dist/components/shared/SessionNotificationBanner.js.map +1 -0
- package/dist/components/shared/StatCard.d.ts +17 -0
- package/dist/components/shared/StatCard.d.ts.map +1 -0
- package/dist/components/shared/StatCard.js +65 -0
- package/dist/components/shared/StatCard.js.map +1 -0
- package/dist/components/shared/StatusBadge.d.ts +11 -0
- package/dist/components/shared/StatusBadge.d.ts.map +1 -0
- package/dist/components/shared/StatusBadge.js +63 -0
- package/dist/components/shared/StatusBadge.js.map +1 -0
- package/dist/components/shared/TagFilter.d.ts +11 -0
- package/dist/components/shared/TagFilter.d.ts.map +1 -0
- package/dist/components/shared/TagFilter.js +28 -0
- package/dist/components/shared/TagFilter.js.map +1 -0
- package/dist/components/shared/index.d.ts +32 -0
- package/dist/components/shared/index.d.ts.map +1 -0
- package/dist/components/shared/index.js +24 -0
- package/dist/components/targets/TargetCard.d.ts +45 -0
- package/dist/components/targets/TargetCard.d.ts.map +1 -0
- package/dist/components/targets/TargetCard.js +211 -0
- package/dist/components/targets/TargetCard.js.map +1 -0
- package/dist/components/targets/index.d.ts +3 -0
- package/dist/components/targets/index.d.ts.map +1 -0
- package/dist/components/targets/index.js +1 -0
- package/dist/components/templates/TemplateCard.d.ts +19 -0
- package/dist/components/templates/TemplateCard.d.ts.map +1 -0
- package/dist/components/templates/TemplateCard.js +81 -0
- package/dist/components/templates/TemplateCard.js.map +1 -0
- package/dist/components/templates/index.d.ts +3 -0
- package/dist/components/templates/index.d.ts.map +1 -0
- package/dist/components/templates/index.js +1 -0
- package/dist/components/tunnels/DomainVerificationBadge.d.ts +6 -0
- package/dist/components/tunnels/DomainVerificationBadge.d.ts.map +1 -0
- package/dist/components/tunnels/DomainVerificationBadge.js +19 -0
- package/dist/components/tunnels/DomainVerificationBadge.js.map +1 -0
- package/dist/components/tunnels/ProviderBadge.d.ts +6 -0
- package/dist/components/tunnels/ProviderBadge.d.ts.map +1 -0
- package/dist/components/tunnels/ProviderBadge.js +16 -0
- package/dist/components/tunnels/ProviderBadge.js.map +1 -0
- package/dist/components/tunnels/TunnelCard.d.ts +13 -0
- package/dist/components/tunnels/TunnelCard.d.ts.map +1 -0
- package/dist/components/tunnels/TunnelCard.js +98 -0
- package/dist/components/tunnels/TunnelCard.js.map +1 -0
- package/dist/components/tunnels/TunnelCreateWizard.d.ts +2 -0
- package/dist/components/tunnels/TunnelCreateWizard.d.ts.map +1 -0
- package/dist/components/tunnels/TunnelCreateWizard.js +512 -0
- package/dist/components/tunnels/TunnelCreateWizard.js.map +1 -0
- package/dist/components/tunnels/TunnelStatusBadge.d.ts +6 -0
- package/dist/components/tunnels/TunnelStatusBadge.d.ts.map +1 -0
- package/dist/components/tunnels/TunnelStatusBadge.js +21 -0
- package/dist/components/tunnels/TunnelStatusBadge.js.map +1 -0
- package/dist/components/vibe/VibeAgentEmptyState.d.ts +8 -0
- package/dist/components/vibe/VibeAgentEmptyState.d.ts.map +1 -0
- package/dist/components/vibe/VibeAgentEmptyState.js +29 -0
- package/dist/components/vibe/VibeAgentEmptyState.js.map +1 -0
- package/dist/components/vibecalendar/LogsDrawer.d.ts +12 -0
- package/dist/components/vibecalendar/LogsDrawer.d.ts.map +1 -0
- package/dist/components/vibecalendar/LogsDrawer.js +97 -0
- package/dist/components/vibecalendar/LogsDrawer.js.map +1 -0
- package/dist/components/vibecalendar/ScheduleTaskModal.d.ts +33 -0
- package/dist/components/vibecalendar/ScheduleTaskModal.d.ts.map +1 -0
- package/dist/components/vibecalendar/ScheduleTaskModal.js +311 -0
- package/dist/components/vibecalendar/ScheduleTaskModal.js.map +1 -0
- package/dist/components/vibecalendar/VibeCalAgendaView.d.ts +11 -0
- package/dist/components/vibecalendar/VibeCalAgendaView.d.ts.map +1 -0
- package/dist/components/vibecalendar/VibeCalAgendaView.js +96 -0
- package/dist/components/vibecalendar/VibeCalAgendaView.js.map +1 -0
- package/dist/components/vibecalendar/VibeCalDayView.d.ts +12 -0
- package/dist/components/vibecalendar/VibeCalDayView.d.ts.map +1 -0
- package/dist/components/vibecalendar/VibeCalDayView.js +131 -0
- package/dist/components/vibecalendar/VibeCalDayView.js.map +1 -0
- package/dist/components/vibecalendar/VibeCalMonthView.d.ts +12 -0
- package/dist/components/vibecalendar/VibeCalMonthView.d.ts.map +1 -0
- package/dist/components/vibecalendar/VibeCalMonthView.js +66 -0
- package/dist/components/vibecalendar/VibeCalMonthView.js.map +1 -0
- package/dist/components/vibecalendar/VibeCalWeekView.d.ts +12 -0
- package/dist/components/vibecalendar/VibeCalWeekView.d.ts.map +1 -0
- package/dist/components/vibecalendar/VibeCalWeekView.js +100 -0
- package/dist/components/vibecalendar/VibeCalWeekView.js.map +1 -0
- package/dist/components/vibecalendar/VibeCalendarHeader.d.ts +12 -0
- package/dist/components/vibecalendar/VibeCalendarHeader.d.ts.map +1 -0
- package/dist/components/vibecalendar/VibeCalendarHeader.js +129 -0
- package/dist/components/vibecalendar/VibeCalendarHeader.js.map +1 -0
- package/dist/components/vibecalendar/VibeTaskBlock.d.ts +12 -0
- package/dist/components/vibecalendar/VibeTaskBlock.d.ts.map +1 -0
- package/dist/components/vibecalendar/VibeTaskBlock.js +59 -0
- package/dist/components/vibecalendar/VibeTaskBlock.js.map +1 -0
- package/dist/components/vibecalendar/expandOccurrences.d.ts +37 -0
- package/dist/components/vibecalendar/expandOccurrences.d.ts.map +1 -0
- package/dist/components/vibecalendar/expandOccurrences.js +103 -0
- package/dist/components/vibecalendar/expandOccurrences.js.map +1 -0
- package/dist/components/vibecalendar/index.d.ts +11 -0
- package/dist/components/vibecalendar/index.d.ts.map +1 -0
- package/dist/components/vibecalendar/index.js +8 -0
- package/dist/components/vibecalendar/types.d.ts +53 -0
- package/dist/components/vibecalendar/types.d.ts.map +1 -0
- package/dist/components/vibecalendar/types.js +17 -0
- package/dist/components/vibecalendar/types.js.map +1 -0
- package/dist/components/vibedeck/VibeDeckButtonForm.d.ts +54 -0
- package/dist/components/vibedeck/VibeDeckButtonForm.d.ts.map +1 -0
- package/dist/components/vibedeck/VibeDeckButtonForm.js +400 -0
- package/dist/components/vibedeck/VibeDeckButtonForm.js.map +1 -0
- package/dist/components/vibedeck/VibeDeckButtonTile.d.ts +48 -0
- package/dist/components/vibedeck/VibeDeckButtonTile.d.ts.map +1 -0
- package/dist/components/vibedeck/VibeDeckButtonTile.js +196 -0
- package/dist/components/vibedeck/VibeDeckButtonTile.js.map +1 -0
- package/dist/components/vibedeck/VibeDeckExecutionLog.d.ts +25 -0
- package/dist/components/vibedeck/VibeDeckExecutionLog.d.ts.map +1 -0
- package/dist/components/vibedeck/VibeDeckExecutionLog.js +212 -0
- package/dist/components/vibedeck/VibeDeckExecutionLog.js.map +1 -0
- package/dist/components/vibedeck/VibeDeckForm.d.ts +21 -0
- package/dist/components/vibedeck/VibeDeckForm.d.ts.map +1 -0
- package/dist/components/vibedeck/VibeDeckForm.js +233 -0
- package/dist/components/vibedeck/VibeDeckForm.js.map +1 -0
- package/dist/components/vibedeck/VibeDeckGrid.d.ts +51 -0
- package/dist/components/vibedeck/VibeDeckGrid.d.ts.map +1 -0
- package/dist/components/vibedeck/VibeDeckGrid.js +127 -0
- package/dist/components/vibedeck/VibeDeckGrid.js.map +1 -0
- package/dist/components/vibedeck/VibeDeckShareDialog.d.ts +10 -0
- package/dist/components/vibedeck/VibeDeckShareDialog.d.ts.map +1 -0
- package/dist/components/vibedeck/VibeDeckShareDialog.js +312 -0
- package/dist/components/vibedeck/VibeDeckShareDialog.js.map +1 -0
- package/dist/components/vibedeck/VibeDeckSwitcher.d.ts +28 -0
- package/dist/components/vibedeck/VibeDeckSwitcher.d.ts.map +1 -0
- package/dist/components/vibedeck/VibeDeckSwitcher.js +118 -0
- package/dist/components/vibedeck/VibeDeckSwitcher.js.map +1 -0
- package/dist/components/vibedeck/index.d.ts +9 -0
- package/dist/components/vibedeck/index.d.ts.map +1 -0
- package/dist/components/vibedeck/index.js +7 -0
- package/dist/components/vibes/VibeCard.d.ts +19 -0
- package/dist/components/vibes/VibeCard.d.ts.map +1 -0
- package/dist/components/vibes/VibeCard.js +162 -0
- package/dist/components/vibes/VibeCard.js.map +1 -0
- package/dist/components/vibes/VibeForm.d.ts +15 -0
- package/dist/components/vibes/VibeForm.d.ts.map +1 -0
- package/dist/components/vibes/VibeForm.js +4 -0
- package/dist/components/vibes/VibeList.d.ts +20 -0
- package/dist/components/vibes/VibeList.d.ts.map +1 -0
- package/dist/components/vibes/VibeList.js +321 -0
- package/dist/components/vibes/VibeList.js.map +1 -0
- package/dist/components/vibes/icons.d.ts +6 -0
- package/dist/components/vibes/icons.d.ts.map +1 -0
- package/dist/components/vibes/icons.js +14 -0
- package/dist/components/vibes/icons.js.map +1 -0
- package/dist/components/vibes/index.d.ts +5 -0
- package/dist/components/vibes/index.d.ts.map +1 -0
- package/dist/components/vibes/index.js +3 -0
- package/dist/components/vibes/types.d.ts +71 -0
- package/dist/components/vibes/types.d.ts.map +1 -0
- package/dist/components/webhooks/WebhookCard.d.ts +12 -0
- package/dist/components/webhooks/WebhookCard.d.ts.map +1 -0
- package/dist/components/webhooks/WebhookForm.d.ts +11 -0
- package/dist/components/webhooks/WebhookForm.d.ts.map +1 -0
- package/dist/components/webhooks/WebhookList.d.ts +14 -0
- package/dist/components/webhooks/WebhookList.d.ts.map +1 -0
- package/dist/components/webhooks/index.d.ts +5 -0
- package/dist/components/webhooks/index.d.ts.map +1 -0
- package/dist/components/webhooks/types.d.ts +58 -0
- package/dist/components/webhooks/types.d.ts.map +1 -0
- package/dist/config/assistantUsecases.d.ts +18 -0
- package/dist/config/assistantUsecases.d.ts.map +1 -0
- package/dist/config/assistantUsecases.js +40 -0
- package/dist/config/assistantUsecases.js.map +1 -0
- package/dist/config/index.d.ts +24 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +27 -0
- package/dist/config/index.js.map +1 -0
- package/dist/constants/permissions.d.ts +112 -0
- package/dist/constants/permissions.d.ts.map +1 -0
- package/dist/constants/permissions.js +92 -0
- package/dist/constants/permissions.js.map +1 -0
- package/dist/constants/pluginCatalog.d.ts +36 -0
- package/dist/constants/pluginCatalog.d.ts.map +1 -0
- package/dist/constants/pluginCatalog.js +140 -0
- package/dist/constants/pluginCatalog.js.map +1 -0
- package/dist/dev/main.d.ts +2 -0
- package/dist/dev/main.d.ts.map +1 -0
- package/dist/generated/global-operations.d.ts +2 -0
- package/dist/generated/global-operations.d.ts.map +1 -0
- package/dist/generated/global-types.d.ts +21253 -0
- package/dist/generated/global-types.d.ts.map +1 -0
- package/dist/generated/wspace-operations.d.ts +15218 -0
- package/dist/generated/wspace-operations.d.ts.map +1 -0
- package/dist/generated/wspace-operations.js +7326 -0
- package/dist/generated/wspace-operations.js.map +1 -0
- package/dist/generated/wspace-types.d.ts +55252 -0
- package/dist/generated/wspace-types.d.ts.map +1 -0
- package/dist/generated/wspace-types.js +30 -0
- package/dist/generated/wspace-types.js.map +1 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/useAgentConnectivity.d.ts +47 -0
- package/dist/hooks/useAgentConnectivity.d.ts.map +1 -0
- package/dist/hooks/useAgentConnectivity.js +56 -0
- package/dist/hooks/useAgentConnectivity.js.map +1 -0
- package/dist/hooks/useAgentEvents.d.ts +36 -0
- package/dist/hooks/useAgentEvents.d.ts.map +1 -0
- package/dist/hooks/useAgentEvents.js +101 -0
- package/dist/hooks/useAgentEvents.js.map +1 -0
- package/dist/hooks/useAgentManagerKeyboard.d.ts +17 -0
- package/dist/hooks/useAgentManagerKeyboard.d.ts.map +1 -0
- package/dist/hooks/useAgentManagerKeyboard.js +49 -0
- package/dist/hooks/useAgentManagerKeyboard.js.map +1 -0
- package/dist/hooks/useAgentManagerStreaming.d.ts +19 -0
- package/dist/hooks/useAgentManagerStreaming.d.ts.map +1 -0
- package/dist/hooks/useAgentManagerStreaming.js +86 -0
- package/dist/hooks/useAgentManagerStreaming.js.map +1 -0
- package/dist/hooks/useAssistantHeartbeat.d.ts +4 -0
- package/dist/hooks/useAssistantHeartbeat.d.ts.map +1 -0
- package/dist/hooks/useAssistantHeartbeat.js +40 -0
- package/dist/hooks/useAssistantHeartbeat.js.map +1 -0
- package/dist/hooks/useAssistantKeyboardShortcuts.d.ts +18 -0
- package/dist/hooks/useAssistantKeyboardShortcuts.d.ts.map +1 -0
- package/dist/hooks/useAssistantKeyboardShortcuts.js +37 -0
- package/dist/hooks/useAssistantKeyboardShortcuts.js.map +1 -0
- package/dist/hooks/useCachedInitialData.d.ts +120 -0
- package/dist/hooks/useCachedInitialData.d.ts.map +1 -0
- package/dist/hooks/useCachedInitialData.js +107 -0
- package/dist/hooks/useCachedInitialData.js.map +1 -0
- package/dist/hooks/useEntityTags.d.ts +24 -0
- package/dist/hooks/useEntityTags.d.ts.map +1 -0
- package/dist/hooks/useEntityTags.js +31 -0
- package/dist/hooks/useEntityTags.js.map +1 -0
- package/dist/hooks/useFileUpload.d.ts +15 -0
- package/dist/hooks/useFileUpload.d.ts.map +1 -0
- package/dist/hooks/useInitialDataLoader.d.ts +48 -0
- package/dist/hooks/useInitialDataLoader.d.ts.map +1 -0
- package/dist/hooks/useInitialDataLoader.js +25 -0
- package/dist/hooks/useInitialDataLoader.js.map +1 -0
- package/dist/hooks/useMcpServers.d.ts +14 -0
- package/dist/hooks/useMcpServers.d.ts.map +1 -0
- package/dist/hooks/useOpenAssistantHelp.d.ts +2 -0
- package/dist/hooks/useOpenAssistantHelp.d.ts.map +1 -0
- package/dist/hooks/useOpenAssistantHelp.js +14 -0
- package/dist/hooks/useOpenAssistantHelp.js.map +1 -0
- package/dist/hooks/usePluginAvailability.d.ts +35 -0
- package/dist/hooks/usePluginAvailability.d.ts.map +1 -0
- package/dist/hooks/usePluginAvailability.js +112 -0
- package/dist/hooks/usePluginAvailability.js.map +1 -0
- package/dist/hooks/useQueryBackedTab.d.ts +2 -0
- package/dist/hooks/useQueryBackedTab.d.ts.map +1 -0
- package/dist/hooks/useQueryBackedTab.js +19 -0
- package/dist/hooks/useQueryBackedTab.js.map +1 -0
- package/dist/hooks/useSessionSearch.d.ts +24 -0
- package/dist/hooks/useSessionSearch.d.ts.map +1 -0
- package/dist/hooks/useVoiceMode.d.ts +17 -0
- package/dist/hooks/useVoiceMode.d.ts.map +1 -0
- package/dist/hooks/useVoiceMode.js +46 -0
- package/dist/hooks/useVoiceMode.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/lib/vibeFeatures.d.ts +29 -0
- package/dist/lib/vibeFeatures.d.ts.map +1 -0
- package/dist/lib/vibeFeatures.js +80 -0
- package/dist/lib/vibeFeatures.js.map +1 -0
- package/dist/microfe-vibecontrols.css +2 -0
- package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js +24 -0
- package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +1 -0
- package/dist/node_modules/@apollo/client/errors/utils.js +16 -0
- package/dist/node_modules/@apollo/client/errors/utils.js.map +1 -0
- package/dist/node_modules/@xyflow/react/dist/esm/index.js +3281 -0
- package/dist/node_modules/@xyflow/react/dist/esm/index.js.map +1 -0
- package/dist/node_modules/@xyflow/system/dist/esm/index.js +1845 -0
- package/dist/node_modules/@xyflow/system/dist/esm/index.js.map +1 -0
- package/dist/node_modules/classcat/index.js +12 -0
- package/dist/node_modules/classcat/index.js.map +1 -0
- package/dist/node_modules/clsx/dist/clsx.js +18 -0
- package/dist/node_modules/clsx/dist/clsx.js.map +1 -0
- package/dist/node_modules/d3-array/src/ascending.js +8 -0
- package/dist/node_modules/d3-array/src/ascending.js.map +1 -0
- package/dist/node_modules/d3-array/src/bisect.js +10 -0
- package/dist/node_modules/d3-array/src/bisect.js.map +1 -0
- package/dist/node_modules/d3-array/src/bisector.js +43 -0
- package/dist/node_modules/d3-array/src/bisector.js.map +1 -0
- package/dist/node_modules/d3-array/src/descending.js +8 -0
- package/dist/node_modules/d3-array/src/descending.js.map +1 -0
- package/dist/node_modules/d3-array/src/max.js +14 -0
- package/dist/node_modules/d3-array/src/max.js.map +1 -0
- package/dist/node_modules/d3-array/src/min.js +14 -0
- package/dist/node_modules/d3-array/src/min.js.map +1 -0
- package/dist/node_modules/d3-array/src/number.js +15 -0
- package/dist/node_modules/d3-array/src/number.js.map +1 -0
- package/dist/node_modules/d3-array/src/quantile.js +25 -0
- package/dist/node_modules/d3-array/src/quantile.js.map +1 -0
- package/dist/node_modules/d3-array/src/quickselect.js +26 -0
- package/dist/node_modules/d3-array/src/quickselect.js.map +1 -0
- package/dist/node_modules/d3-array/src/range.js +10 -0
- package/dist/node_modules/d3-array/src/range.js.map +1 -0
- package/dist/node_modules/d3-array/src/sort.js +17 -0
- package/dist/node_modules/d3-array/src/sort.js.map +1 -0
- package/dist/node_modules/d3-array/src/ticks.js +34 -0
- package/dist/node_modules/d3-array/src/ticks.js.map +1 -0
- package/dist/node_modules/d3-color/src/color.js +291 -0
- package/dist/node_modules/d3-color/src/color.js.map +1 -0
- package/dist/node_modules/d3-color/src/define.js +13 -0
- package/dist/node_modules/d3-color/src/define.js.map +1 -0
- package/dist/node_modules/d3-dispatch/src/dispatch.js +67 -0
- package/dist/node_modules/d3-dispatch/src/dispatch.js.map +1 -0
- package/dist/node_modules/d3-drag/src/constant.js +6 -0
- package/dist/node_modules/d3-drag/src/constant.js.map +1 -0
- package/dist/node_modules/d3-drag/src/drag.js +116 -0
- package/dist/node_modules/d3-drag/src/drag.js.map +1 -0
- package/dist/node_modules/d3-drag/src/event.js +64 -0
- package/dist/node_modules/d3-drag/src/event.js.map +1 -0
- package/dist/node_modules/d3-drag/src/nodrag.js +17 -0
- package/dist/node_modules/d3-drag/src/nodrag.js.map +1 -0
- package/dist/node_modules/d3-drag/src/noevent.js +15 -0
- package/dist/node_modules/d3-drag/src/noevent.js.map +1 -0
- package/dist/node_modules/d3-ease/src/cubic.js +8 -0
- package/dist/node_modules/d3-ease/src/cubic.js.map +1 -0
- package/dist/node_modules/d3-format/src/defaultLocale.js +15 -0
- package/dist/node_modules/d3-format/src/defaultLocale.js.map +1 -0
- package/dist/node_modules/d3-format/src/exponent.js +9 -0
- package/dist/node_modules/d3-format/src/exponent.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatDecimal.js +13 -0
- package/dist/node_modules/d3-format/src/formatDecimal.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatGroup.js +11 -0
- package/dist/node_modules/d3-format/src/formatGroup.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatNumerals.js +12 -0
- package/dist/node_modules/d3-format/src/formatNumerals.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatPrefixAuto.js +13 -0
- package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatRounded.js +12 -0
- package/dist/node_modules/d3-format/src/formatRounded.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatSpecifier.js +29 -0
- package/dist/node_modules/d3-format/src/formatSpecifier.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatTrim.js +20 -0
- package/dist/node_modules/d3-format/src/formatTrim.js.map +1 -0
- package/dist/node_modules/d3-format/src/formatTypes.js +23 -0
- package/dist/node_modules/d3-format/src/formatTypes.js.map +1 -0
- package/dist/node_modules/d3-format/src/identity.js +8 -0
- package/dist/node_modules/d3-format/src/identity.js.map +1 -0
- package/dist/node_modules/d3-format/src/locale.js +86 -0
- package/dist/node_modules/d3-format/src/locale.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionFixed.js +9 -0
- package/dist/node_modules/d3-format/src/precisionFixed.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionPrefix.js +9 -0
- package/dist/node_modules/d3-format/src/precisionPrefix.js.map +1 -0
- package/dist/node_modules/d3-format/src/precisionRound.js +9 -0
- package/dist/node_modules/d3-format/src/precisionRound.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/array.js +15 -0
- package/dist/node_modules/d3-interpolate/src/array.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/basis.js +16 -0
- package/dist/node_modules/d3-interpolate/src/basis.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/basisClosed.js +13 -0
- package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/color.js +25 -0
- package/dist/node_modules/d3-interpolate/src/color.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/constant.js +6 -0
- package/dist/node_modules/d3-interpolate/src/constant.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/date.js +11 -0
- package/dist/node_modules/d3-interpolate/src/date.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/number.js +10 -0
- package/dist/node_modules/d3-interpolate/src/number.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/numberArray.js +16 -0
- package/dist/node_modules/d3-interpolate/src/numberArray.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/object.js +14 -0
- package/dist/node_modules/d3-interpolate/src/object.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/piecewise.js +14 -0
- package/dist/node_modules/d3-interpolate/src/piecewise.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/rgb.js +19 -0
- package/dist/node_modules/d3-interpolate/src/rgb.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/round.js +10 -0
- package/dist/node_modules/d3-interpolate/src/round.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/string.js +28 -0
- package/dist/node_modules/d3-interpolate/src/string.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/transform/decompose.js +24 -0
- package/dist/node_modules/d3-interpolate/src/transform/decompose.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/transform/index.js +56 -0
- package/dist/node_modules/d3-interpolate/src/transform/index.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/transform/parse.js +14 -0
- package/dist/node_modules/d3-interpolate/src/transform/parse.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/value.js +18 -0
- package/dist/node_modules/d3-interpolate/src/value.js.map +1 -0
- package/dist/node_modules/d3-interpolate/src/zoom.js +43 -0
- package/dist/node_modules/d3-interpolate/src/zoom.js.map +1 -0
- package/dist/node_modules/d3-path/src/path.js +65 -0
- package/dist/node_modules/d3-path/src/path.js.map +1 -0
- package/dist/node_modules/d3-scale/src/band.js +52 -0
- package/dist/node_modules/d3-scale/src/band.js.map +1 -0
- package/dist/node_modules/d3-scale/src/constant.js +10 -0
- package/dist/node_modules/d3-scale/src/constant.js.map +1 -0
- package/dist/node_modules/d3-scale/src/continuous.js +73 -0
- package/dist/node_modules/d3-scale/src/continuous.js.map +1 -0
- package/dist/node_modules/d3-scale/src/diverging.js +82 -0
- package/dist/node_modules/d3-scale/src/diverging.js.map +1 -0
- package/dist/node_modules/d3-scale/src/identity.js +20 -0
- package/dist/node_modules/d3-scale/src/identity.js.map +1 -0
- package/dist/node_modules/d3-scale/src/init.js +29 -0
- package/dist/node_modules/d3-scale/src/init.js.map +1 -0
- package/dist/node_modules/d3-scale/src/linear.js +36 -0
- package/dist/node_modules/d3-scale/src/linear.js.map +1 -0
- package/dist/node_modules/d3-scale/src/log.js +77 -0
- package/dist/node_modules/d3-scale/src/log.js.map +1 -0
- package/dist/node_modules/d3-scale/src/nice.js +10 -0
- package/dist/node_modules/d3-scale/src/nice.js.map +1 -0
- package/dist/node_modules/d3-scale/src/number.js +8 -0
- package/dist/node_modules/d3-scale/src/number.js.map +1 -0
- package/dist/node_modules/d3-scale/src/ordinal.js +31 -0
- package/dist/node_modules/d3-scale/src/ordinal.js.map +1 -0
- package/dist/node_modules/d3-scale/src/pow.js +37 -0
- package/dist/node_modules/d3-scale/src/pow.js.map +1 -0
- package/dist/node_modules/d3-scale/src/quantile.js +37 -0
- package/dist/node_modules/d3-scale/src/quantile.js.map +1 -0
- package/dist/node_modules/d3-scale/src/quantize.js +33 -0
- package/dist/node_modules/d3-scale/src/quantize.js.map +1 -0
- package/dist/node_modules/d3-scale/src/radial.js +39 -0
- package/dist/node_modules/d3-scale/src/radial.js.map +1 -0
- package/dist/node_modules/d3-scale/src/sequential.js +67 -0
- package/dist/node_modules/d3-scale/src/sequential.js.map +1 -0
- package/dist/node_modules/d3-scale/src/sequentialQuantile.js +30 -0
- package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +1 -0
- package/dist/node_modules/d3-scale/src/symlog.js +30 -0
- package/dist/node_modules/d3-scale/src/symlog.js.map +1 -0
- package/dist/node_modules/d3-scale/src/threshold.js +25 -0
- package/dist/node_modules/d3-scale/src/threshold.js.map +1 -0
- package/dist/node_modules/d3-scale/src/tickFormat.js +31 -0
- package/dist/node_modules/d3-scale/src/tickFormat.js.map +1 -0
- package/dist/node_modules/d3-scale/src/time.js +47 -0
- package/dist/node_modules/d3-scale/src/time.js.map +1 -0
- package/dist/node_modules/d3-scale/src/utcTime.js +19 -0
- package/dist/node_modules/d3-scale/src/utcTime.js.map +1 -0
- package/dist/node_modules/d3-selection/src/array.js +8 -0
- package/dist/node_modules/d3-selection/src/array.js.map +1 -0
- package/dist/node_modules/d3-selection/src/constant.js +10 -0
- package/dist/node_modules/d3-selection/src/constant.js.map +1 -0
- package/dist/node_modules/d3-selection/src/creator.js +22 -0
- package/dist/node_modules/d3-selection/src/creator.js.map +1 -0
- package/dist/node_modules/d3-selection/src/matcher.js +15 -0
- package/dist/node_modules/d3-selection/src/matcher.js.map +1 -0
- package/dist/node_modules/d3-selection/src/namespace.js +13 -0
- package/dist/node_modules/d3-selection/src/namespace.js.map +1 -0
- package/dist/node_modules/d3-selection/src/namespaces.js +12 -0
- package/dist/node_modules/d3-selection/src/namespaces.js.map +1 -0
- package/dist/node_modules/d3-selection/src/pointer.js +20 -0
- package/dist/node_modules/d3-selection/src/pointer.js.map +1 -0
- package/dist/node_modules/d3-selection/src/select.js +9 -0
- package/dist/node_modules/d3-selection/src/select.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/append.js +12 -0
- package/dist/node_modules/d3-selection/src/selection/append.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/attr.js +46 -0
- package/dist/node_modules/d3-selection/src/selection/attr.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/call.js +9 -0
- package/dist/node_modules/d3-selection/src/selection/call.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/classed.js +55 -0
- package/dist/node_modules/d3-selection/src/selection/classed.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/clone.js +16 -0
- package/dist/node_modules/d3-selection/src/selection/clone.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/data.js +38 -0
- package/dist/node_modules/d3-selection/src/selection/data.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/datum.js +8 -0
- package/dist/node_modules/d3-selection/src/selection/datum.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/dispatch.js +23 -0
- package/dist/node_modules/d3-selection/src/selection/dispatch.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/each.js +9 -0
- package/dist/node_modules/d3-selection/src/selection/each.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/empty.js +8 -0
- package/dist/node_modules/d3-selection/src/selection/empty.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/enter.js +28 -0
- package/dist/node_modules/d3-selection/src/selection/enter.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/exit.js +10 -0
- package/dist/node_modules/d3-selection/src/selection/exit.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/filter.js +12 -0
- package/dist/node_modules/d3-selection/src/selection/filter.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/html.js +21 -0
- package/dist/node_modules/d3-selection/src/selection/html.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/index.js +87 -0
- package/dist/node_modules/d3-selection/src/selection/index.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/insert.js +16 -0
- package/dist/node_modules/d3-selection/src/selection/insert.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/iterator.js +8 -0
- package/dist/node_modules/d3-selection/src/selection/iterator.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/join.js +9 -0
- package/dist/node_modules/d3-selection/src/selection/join.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/lower.js +11 -0
- package/dist/node_modules/d3-selection/src/selection/lower.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/merge.js +11 -0
- package/dist/node_modules/d3-selection/src/selection/merge.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/node.js +12 -0
- package/dist/node_modules/d3-selection/src/selection/node.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/nodes.js +8 -0
- package/dist/node_modules/d3-selection/src/selection/nodes.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/on.js +58 -0
- package/dist/node_modules/d3-selection/src/selection/on.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/order.js +9 -0
- package/dist/node_modules/d3-selection/src/selection/order.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/property.js +24 -0
- package/dist/node_modules/d3-selection/src/selection/property.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/raise.js +11 -0
- package/dist/node_modules/d3-selection/src/selection/raise.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/remove.js +12 -0
- package/dist/node_modules/d3-selection/src/selection/remove.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/select.js +12 -0
- package/dist/node_modules/d3-selection/src/selection/select.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/selectAll.js +18 -0
- package/dist/node_modules/d3-selection/src/selection/selectAll.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/selectChild.js +18 -0
- package/dist/node_modules/d3-selection/src/selection/selectChild.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/selectChildren.js +18 -0
- package/dist/node_modules/d3-selection/src/selection/selectChildren.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/size.js +10 -0
- package/dist/node_modules/d3-selection/src/selection/size.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/sort.js +20 -0
- package/dist/node_modules/d3-selection/src/selection/sort.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/sparse.js +8 -0
- package/dist/node_modules/d3-selection/src/selection/sparse.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/style.js +28 -0
- package/dist/node_modules/d3-selection/src/selection/style.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selection/text.js +21 -0
- package/dist/node_modules/d3-selection/src/selection/text.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selector.js +11 -0
- package/dist/node_modules/d3-selection/src/selector.js.map +1 -0
- package/dist/node_modules/d3-selection/src/selectorAll.js +13 -0
- package/dist/node_modules/d3-selection/src/selectorAll.js.map +1 -0
- package/dist/node_modules/d3-selection/src/sourceEvent.js +10 -0
- package/dist/node_modules/d3-selection/src/sourceEvent.js.map +1 -0
- package/dist/node_modules/d3-selection/src/window.js +8 -0
- package/dist/node_modules/d3-selection/src/window.js.map +1 -0
- package/dist/node_modules/d3-shape/src/area.js +55 -0
- package/dist/node_modules/d3-shape/src/area.js.map +1 -0
- package/dist/node_modules/d3-shape/src/array.js +8 -0
- package/dist/node_modules/d3-shape/src/array.js.map +1 -0
- package/dist/node_modules/d3-shape/src/constant.js +10 -0
- package/dist/node_modules/d3-shape/src/constant.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basis.js +49 -0
- package/dist/node_modules/d3-shape/src/curve/basis.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basisClosed.js +50 -0
- package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/basisOpen.js +46 -0
- package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/bump.js +40 -0
- package/dist/node_modules/d3-shape/src/curve/bump.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/linear.js +36 -0
- package/dist/node_modules/d3-shape/src/curve/linear.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/linearClosed.js +25 -0
- package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/monotone.js +94 -0
- package/dist/node_modules/d3-shape/src/curve/monotone.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/natural.js +39 -0
- package/dist/node_modules/d3-shape/src/curve/natural.js.map +1 -0
- package/dist/node_modules/d3-shape/src/curve/step.js +47 -0
- package/dist/node_modules/d3-shape/src/curve/step.js.map +1 -0
- package/dist/node_modules/d3-shape/src/line.js +30 -0
- package/dist/node_modules/d3-shape/src/line.js.map +1 -0
- package/dist/node_modules/d3-shape/src/math.js +8 -0
- package/dist/node_modules/d3-shape/src/math.js.map +1 -0
- package/dist/node_modules/d3-shape/src/noop.js +6 -0
- package/dist/node_modules/d3-shape/src/noop.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/expand.js +15 -0
- package/dist/node_modules/d3-shape/src/offset/expand.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/none.js +8 -0
- package/dist/node_modules/d3-shape/src/offset/none.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/silhouette.js +15 -0
- package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +1 -0
- package/dist/node_modules/d3-shape/src/offset/wiggle.js +21 -0
- package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/order/none.js +9 -0
- package/dist/node_modules/d3-shape/src/order/none.js.map +1 -0
- package/dist/node_modules/d3-shape/src/path.js +19 -0
- package/dist/node_modules/d3-shape/src/path.js.map +1 -0
- package/dist/node_modules/d3-shape/src/point.js +11 -0
- package/dist/node_modules/d3-shape/src/point.js.map +1 -0
- package/dist/node_modules/d3-shape/src/stack.js +34 -0
- package/dist/node_modules/d3-shape/src/stack.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/circle.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/circle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/cross.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/cross.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/diamond.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/square.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/square.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/star.js +15 -0
- package/dist/node_modules/d3-shape/src/symbol/star.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/triangle.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol/wye.js +10 -0
- package/dist/node_modules/d3-shape/src/symbol/wye.js.map +1 -0
- package/dist/node_modules/d3-shape/src/symbol.js +23 -0
- package/dist/node_modules/d3-shape/src/symbol.js.map +1 -0
- package/dist/node_modules/d3-time/src/day.js +21 -0
- package/dist/node_modules/d3-time/src/day.js.map +1 -0
- package/dist/node_modules/d3-time/src/duration.js +6 -0
- package/dist/node_modules/d3-time/src/duration.js.map +1 -0
- package/dist/node_modules/d3-time/src/hour.js +19 -0
- package/dist/node_modules/d3-time/src/hour.js.map +1 -0
- package/dist/node_modules/d3-time/src/interval.js +28 -0
- package/dist/node_modules/d3-time/src/interval.js.map +1 -0
- package/dist/node_modules/d3-time/src/millisecond.js +14 -0
- package/dist/node_modules/d3-time/src/millisecond.js.map +1 -0
- package/dist/node_modules/d3-time/src/minute.js +19 -0
- package/dist/node_modules/d3-time/src/minute.js.map +1 -0
- package/dist/node_modules/d3-time/src/month.js +18 -0
- package/dist/node_modules/d3-time/src/month.js.map +1 -0
- package/dist/node_modules/d3-time/src/second.js +13 -0
- package/dist/node_modules/d3-time/src/second.js.map +1 -0
- package/dist/node_modules/d3-time/src/ticks.js +125 -0
- package/dist/node_modules/d3-time/src/ticks.js.map +1 -0
- package/dist/node_modules/d3-time/src/week.js +25 -0
- package/dist/node_modules/d3-time/src/week.js.map +1 -0
- package/dist/node_modules/d3-time/src/year.js +26 -0
- package/dist/node_modules/d3-time/src/year.js.map +1 -0
- package/dist/node_modules/d3-time-format/src/defaultLocale.js +62 -0
- package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +1 -0
- package/dist/node_modules/d3-time-format/src/locale.js +490 -0
- package/dist/node_modules/d3-time-format/src/locale.js.map +1 -0
- package/dist/node_modules/d3-timer/src/timeout.js +12 -0
- package/dist/node_modules/d3-timer/src/timeout.js.map +1 -0
- package/dist/node_modules/d3-timer/src/timer.js +55 -0
- package/dist/node_modules/d3-timer/src/timer.js.map +1 -0
- package/dist/node_modules/d3-transition/src/index.js +3 -0
- package/dist/node_modules/d3-transition/src/interrupt.js +18 -0
- package/dist/node_modules/d3-transition/src/interrupt.js.map +1 -0
- package/dist/node_modules/d3-transition/src/selection/index.js +7 -0
- package/dist/node_modules/d3-transition/src/selection/index.js.map +1 -0
- package/dist/node_modules/d3-transition/src/selection/interrupt.js +11 -0
- package/dist/node_modules/d3-transition/src/selection/interrupt.js.map +1 -0
- package/dist/node_modules/d3-transition/src/selection/transition.js +25 -0
- package/dist/node_modules/d3-transition/src/selection/transition.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/attr.js +51 -0
- package/dist/node_modules/d3-transition/src/transition/attr.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/attrTween.js +40 -0
- package/dist/node_modules/d3-transition/src/transition/attrTween.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/delay.js +20 -0
- package/dist/node_modules/d3-transition/src/transition/delay.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/duration.js +20 -0
- package/dist/node_modules/d3-transition/src/transition/duration.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/ease.js +16 -0
- package/dist/node_modules/d3-transition/src/transition/ease.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/easeVarying.js +17 -0
- package/dist/node_modules/d3-transition/src/transition/easeVarying.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/end.js +18 -0
- package/dist/node_modules/d3-transition/src/transition/end.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/filter.js +12 -0
- package/dist/node_modules/d3-transition/src/transition/filter.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/index.js +69 -0
- package/dist/node_modules/d3-transition/src/transition/index.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/interpolate.js +13 -0
- package/dist/node_modules/d3-transition/src/transition/interpolate.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/merge.js +12 -0
- package/dist/node_modules/d3-transition/src/transition/merge.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/on.js +23 -0
- package/dist/node_modules/d3-transition/src/transition/on.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/remove.js +15 -0
- package/dist/node_modules/d3-transition/src/transition/remove.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/schedule.js +71 -0
- package/dist/node_modules/d3-transition/src/transition/schedule.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/select.js +14 -0
- package/dist/node_modules/d3-transition/src/transition/select.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/selectAll.js +17 -0
- package/dist/node_modules/d3-transition/src/transition/selectAll.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/selection.js +10 -0
- package/dist/node_modules/d3-transition/src/transition/selection.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/style.js +47 -0
- package/dist/node_modules/d3-transition/src/transition/style.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/styleTween.js +25 -0
- package/dist/node_modules/d3-transition/src/transition/styleTween.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/text.js +19 -0
- package/dist/node_modules/d3-transition/src/transition/text.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/textTween.js +25 -0
- package/dist/node_modules/d3-transition/src/transition/textTween.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/transition.js +19 -0
- package/dist/node_modules/d3-transition/src/transition/transition.js.map +1 -0
- package/dist/node_modules/d3-transition/src/transition/tween.js +56 -0
- package/dist/node_modules/d3-transition/src/transition/tween.js.map +1 -0
- package/dist/node_modules/d3-zoom/src/constant.js +6 -0
- package/dist/node_modules/d3-zoom/src/constant.js.map +1 -0
- package/dist/node_modules/d3-zoom/src/event.js +30 -0
- package/dist/node_modules/d3-zoom/src/event.js.map +1 -0
- package/dist/node_modules/d3-zoom/src/index.js +2 -0
- package/dist/node_modules/d3-zoom/src/noevent.js +11 -0
- package/dist/node_modules/d3-zoom/src/noevent.js.map +1 -0
- package/dist/node_modules/d3-zoom/src/transform.js +50 -0
- package/dist/node_modules/d3-zoom/src/transform.js.map +1 -0
- package/dist/node_modules/d3-zoom/src/zoom.js +219 -0
- package/dist/node_modules/d3-zoom/src/zoom.js.map +1 -0
- package/dist/node_modules/decimal.js-light/decimal.js +378 -0
- package/dist/node_modules/decimal.js-light/decimal.js.map +1 -0
- package/dist/node_modules/eventemitter3/index.js +95 -0
- package/dist/node_modules/eventemitter3/index.js.map +1 -0
- package/dist/node_modules/fast-equals/dist/es/index.js +267 -0
- package/dist/node_modules/fast-equals/dist/es/index.js.map +1 -0
- package/dist/node_modules/internmap/src/index.js +40 -0
- package/dist/node_modules/internmap/src/index.js.map +1 -0
- package/dist/node_modules/lodash/_DataView.js +12 -0
- package/dist/node_modules/lodash/_DataView.js.map +1 -0
- package/dist/node_modules/lodash/_Hash.js +23 -0
- package/dist/node_modules/lodash/_Hash.js.map +1 -0
- package/dist/node_modules/lodash/_ListCache.js +23 -0
- package/dist/node_modules/lodash/_ListCache.js.map +1 -0
- package/dist/node_modules/lodash/_Map.js +12 -0
- package/dist/node_modules/lodash/_Map.js.map +1 -0
- package/dist/node_modules/lodash/_MapCache.js +23 -0
- package/dist/node_modules/lodash/_MapCache.js.map +1 -0
- package/dist/node_modules/lodash/_Promise.js +12 -0
- package/dist/node_modules/lodash/_Promise.js.map +1 -0
- package/dist/node_modules/lodash/_Set.js +12 -0
- package/dist/node_modules/lodash/_Set.js.map +1 -0
- package/dist/node_modules/lodash/_SetCache.js +18 -0
- package/dist/node_modules/lodash/_SetCache.js.map +1 -0
- package/dist/node_modules/lodash/_Stack.js +20 -0
- package/dist/node_modules/lodash/_Stack.js.map +1 -0
- package/dist/node_modules/lodash/_Symbol.js +11 -0
- package/dist/node_modules/lodash/_Symbol.js.map +1 -0
- package/dist/node_modules/lodash/_Uint8Array.js +11 -0
- package/dist/node_modules/lodash/_Uint8Array.js.map +1 -0
- package/dist/node_modules/lodash/_WeakMap.js +12 -0
- package/dist/node_modules/lodash/_WeakMap.js.map +1 -0
- package/dist/node_modules/lodash/_apply.js +19 -0
- package/dist/node_modules/lodash/_apply.js.map +1 -0
- package/dist/node_modules/lodash/_arrayEvery.js +14 -0
- package/dist/node_modules/lodash/_arrayEvery.js.map +1 -0
- package/dist/node_modules/lodash/_arrayFilter.js +17 -0
- package/dist/node_modules/lodash/_arrayFilter.js.map +1 -0
- package/dist/node_modules/lodash/_arrayIncludes.js +15 -0
- package/dist/node_modules/lodash/_arrayIncludes.js.map +1 -0
- package/dist/node_modules/lodash/_arrayIncludesWith.js +14 -0
- package/dist/node_modules/lodash/_arrayIncludesWith.js.map +1 -0
- package/dist/node_modules/lodash/_arrayLikeKeys.js +22 -0
- package/dist/node_modules/lodash/_arrayLikeKeys.js.map +1 -0
- package/dist/node_modules/lodash/_arrayMap.js +14 -0
- package/dist/node_modules/lodash/_arrayMap.js.map +1 -0
- package/dist/node_modules/lodash/_arrayPush.js +14 -0
- package/dist/node_modules/lodash/_arrayPush.js.map +1 -0
- package/dist/node_modules/lodash/_arraySome.js +14 -0
- package/dist/node_modules/lodash/_arraySome.js.map +1 -0
- package/dist/node_modules/lodash/_asciiToArray.js +13 -0
- package/dist/node_modules/lodash/_asciiToArray.js.map +1 -0
- package/dist/node_modules/lodash/_assocIndexOf.js +16 -0
- package/dist/node_modules/lodash/_assocIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_baseAssignValue.js +20 -0
- package/dist/node_modules/lodash/_baseAssignValue.js.map +1 -0
- package/dist/node_modules/lodash/_baseEach.js +13 -0
- package/dist/node_modules/lodash/_baseEach.js.map +1 -0
- package/dist/node_modules/lodash/_baseEvery.js +18 -0
- package/dist/node_modules/lodash/_baseEvery.js.map +1 -0
- package/dist/node_modules/lodash/_baseExtremum.js +19 -0
- package/dist/node_modules/lodash/_baseExtremum.js.map +1 -0
- package/dist/node_modules/lodash/_baseFindIndex.js +14 -0
- package/dist/node_modules/lodash/_baseFindIndex.js.map +1 -0
- package/dist/node_modules/lodash/_baseFlatten.js +21 -0
- package/dist/node_modules/lodash/_baseFlatten.js.map +1 -0
- package/dist/node_modules/lodash/_baseFor.js +11 -0
- package/dist/node_modules/lodash/_baseFor.js.map +1 -0
- package/dist/node_modules/lodash/_baseForOwn.js +16 -0
- package/dist/node_modules/lodash/_baseForOwn.js.map +1 -0
- package/dist/node_modules/lodash/_baseGet.js +18 -0
- package/dist/node_modules/lodash/_baseGet.js.map +1 -0
- package/dist/node_modules/lodash/_baseGetAllKeys.js +17 -0
- package/dist/node_modules/lodash/_baseGetAllKeys.js.map +1 -0
- package/dist/node_modules/lodash/_baseGetTag.js +17 -0
- package/dist/node_modules/lodash/_baseGetTag.js.map +1 -0
- package/dist/node_modules/lodash/_baseGt.js +13 -0
- package/dist/node_modules/lodash/_baseGt.js.map +1 -0
- package/dist/node_modules/lodash/_baseHasIn.js +13 -0
- package/dist/node_modules/lodash/_baseHasIn.js.map +1 -0
- package/dist/node_modules/lodash/_baseIndexOf.js +17 -0
- package/dist/node_modules/lodash/_baseIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsArguments.js +16 -0
- package/dist/node_modules/lodash/_baseIsArguments.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsEqual.js +16 -0
- package/dist/node_modules/lodash/_baseIsEqual.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsEqualDeep.js +37 -0
- package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsMatch.js +33 -0
- package/dist/node_modules/lodash/_baseIsMatch.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsNaN.js +13 -0
- package/dist/node_modules/lodash/_baseIsNaN.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsNative.js +18 -0
- package/dist/node_modules/lodash/_baseIsNative.js.map +1 -0
- package/dist/node_modules/lodash/_baseIsTypedArray.js +18 -0
- package/dist/node_modules/lodash/_baseIsTypedArray.js.map +1 -0
- package/dist/node_modules/lodash/_baseIteratee.js +19 -0
- package/dist/node_modules/lodash/_baseIteratee.js.map +1 -0
- package/dist/node_modules/lodash/_baseKeys.js +19 -0
- package/dist/node_modules/lodash/_baseKeys.js.map +1 -0
- package/dist/node_modules/lodash/_baseLt.js +13 -0
- package/dist/node_modules/lodash/_baseLt.js.map +1 -0
- package/dist/node_modules/lodash/_baseMap.js +19 -0
- package/dist/node_modules/lodash/_baseMap.js.map +1 -0
- package/dist/node_modules/lodash/_baseMatches.js +20 -0
- package/dist/node_modules/lodash/_baseMatches.js.map +1 -0
- package/dist/node_modules/lodash/_baseMatchesProperty.js +24 -0
- package/dist/node_modules/lodash/_baseMatchesProperty.js.map +1 -0
- package/dist/node_modules/lodash/_baseOrderBy.js +39 -0
- package/dist/node_modules/lodash/_baseOrderBy.js.map +1 -0
- package/dist/node_modules/lodash/_baseProperty.js +15 -0
- package/dist/node_modules/lodash/_baseProperty.js.map +1 -0
- package/dist/node_modules/lodash/_basePropertyDeep.js +17 -0
- package/dist/node_modules/lodash/_basePropertyDeep.js.map +1 -0
- package/dist/node_modules/lodash/_baseRange.js +15 -0
- package/dist/node_modules/lodash/_baseRange.js.map +1 -0
- package/dist/node_modules/lodash/_baseRest.js +17 -0
- package/dist/node_modules/lodash/_baseRest.js.map +1 -0
- package/dist/node_modules/lodash/_baseSetToString.js +21 -0
- package/dist/node_modules/lodash/_baseSetToString.js.map +1 -0
- package/dist/node_modules/lodash/_baseSlice.js +16 -0
- package/dist/node_modules/lodash/_baseSlice.js.map +1 -0
- package/dist/node_modules/lodash/_baseSome.js +18 -0
- package/dist/node_modules/lodash/_baseSome.js.map +1 -0
- package/dist/node_modules/lodash/_baseSortBy.js +15 -0
- package/dist/node_modules/lodash/_baseSortBy.js.map +1 -0
- package/dist/node_modules/lodash/_baseTimes.js +14 -0
- package/dist/node_modules/lodash/_baseTimes.js.map +1 -0
- package/dist/node_modules/lodash/_baseToString.js +22 -0
- package/dist/node_modules/lodash/_baseToString.js.map +1 -0
- package/dist/node_modules/lodash/_baseTrim.js +15 -0
- package/dist/node_modules/lodash/_baseTrim.js.map +1 -0
- package/dist/node_modules/lodash/_baseUnary.js +15 -0
- package/dist/node_modules/lodash/_baseUnary.js.map +1 -0
- package/dist/node_modules/lodash/_baseUniq.js +34 -0
- package/dist/node_modules/lodash/_baseUniq.js.map +1 -0
- package/dist/node_modules/lodash/_cacheHas.js +13 -0
- package/dist/node_modules/lodash/_cacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_castPath.js +18 -0
- package/dist/node_modules/lodash/_castPath.js.map +1 -0
- package/dist/node_modules/lodash/_castSlice.js +16 -0
- package/dist/node_modules/lodash/_castSlice.js.map +1 -0
- package/dist/node_modules/lodash/_compareAscending.js +20 -0
- package/dist/node_modules/lodash/_compareAscending.js.map +1 -0
- package/dist/node_modules/lodash/_compareMultiple.js +19 -0
- package/dist/node_modules/lodash/_compareMultiple.js.map +1 -0
- package/dist/node_modules/lodash/_coreJsData.js +11 -0
- package/dist/node_modules/lodash/_coreJsData.js.map +1 -0
- package/dist/node_modules/lodash/_createBaseEach.js +20 -0
- package/dist/node_modules/lodash/_createBaseEach.js.map +1 -0
- package/dist/node_modules/lodash/_createBaseFor.js +19 -0
- package/dist/node_modules/lodash/_createBaseFor.js.map +1 -0
- package/dist/node_modules/lodash/_createCaseFirst.js +22 -0
- package/dist/node_modules/lodash/_createCaseFirst.js.map +1 -0
- package/dist/node_modules/lodash/_createFind.js +27 -0
- package/dist/node_modules/lodash/_createFind.js.map +1 -0
- package/dist/node_modules/lodash/_createRange.js +19 -0
- package/dist/node_modules/lodash/_createRange.js.map +1 -0
- package/dist/node_modules/lodash/_createSet.js +16 -0
- package/dist/node_modules/lodash/_createSet.js.map +1 -0
- package/dist/node_modules/lodash/_defineProperty.js +17 -0
- package/dist/node_modules/lodash/_defineProperty.js.map +1 -0
- package/dist/node_modules/lodash/_equalArrays.js +42 -0
- package/dist/node_modules/lodash/_equalArrays.js.map +1 -0
- package/dist/node_modules/lodash/_equalByTag.js +42 -0
- package/dist/node_modules/lodash/_equalByTag.js.map +1 -0
- package/dist/node_modules/lodash/_equalObjects.js +39 -0
- package/dist/node_modules/lodash/_equalObjects.js.map +1 -0
- package/dist/node_modules/lodash/_freeGlobal.js +10 -0
- package/dist/node_modules/lodash/_freeGlobal.js.map +1 -0
- package/dist/node_modules/lodash/_getAllKeys.js +17 -0
- package/dist/node_modules/lodash/_getAllKeys.js.map +1 -0
- package/dist/node_modules/lodash/_getMapData.js +16 -0
- package/dist/node_modules/lodash/_getMapData.js.map +1 -0
- package/dist/node_modules/lodash/_getMatchData.js +24 -0
- package/dist/node_modules/lodash/_getMatchData.js.map +1 -0
- package/dist/node_modules/lodash/_getNative.js +17 -0
- package/dist/node_modules/lodash/_getNative.js.map +1 -0
- package/dist/node_modules/lodash/_getPrototype.js +11 -0
- package/dist/node_modules/lodash/_getPrototype.js.map +1 -0
- package/dist/node_modules/lodash/_getRawTag.js +21 -0
- package/dist/node_modules/lodash/_getRawTag.js.map +1 -0
- package/dist/node_modules/lodash/_getSymbols.js +17 -0
- package/dist/node_modules/lodash/_getSymbols.js.map +1 -0
- package/dist/node_modules/lodash/_getTag.js +28 -0
- package/dist/node_modules/lodash/_getTag.js.map +1 -0
- package/dist/node_modules/lodash/_getValue.js +13 -0
- package/dist/node_modules/lodash/_getValue.js.map +1 -0
- package/dist/node_modules/lodash/_hasPath.js +26 -0
- package/dist/node_modules/lodash/_hasPath.js.map +1 -0
- package/dist/node_modules/lodash/_hasUnicode.js +14 -0
- package/dist/node_modules/lodash/_hasUnicode.js.map +1 -0
- package/dist/node_modules/lodash/_hashClear.js +15 -0
- package/dist/node_modules/lodash/_hashClear.js.map +1 -0
- package/dist/node_modules/lodash/_hashDelete.js +14 -0
- package/dist/node_modules/lodash/_hashDelete.js.map +1 -0
- package/dist/node_modules/lodash/_hashGet.js +20 -0
- package/dist/node_modules/lodash/_hashGet.js.map +1 -0
- package/dist/node_modules/lodash/_hashHas.js +16 -0
- package/dist/node_modules/lodash/_hashHas.js.map +1 -0
- package/dist/node_modules/lodash/_hashSet.js +16 -0
- package/dist/node_modules/lodash/_hashSet.js.map +1 -0
- package/dist/node_modules/lodash/_isFlattenable.js +17 -0
- package/dist/node_modules/lodash/_isFlattenable.js.map +1 -0
- package/dist/node_modules/lodash/_isIndex.js +15 -0
- package/dist/node_modules/lodash/_isIndex.js.map +1 -0
- package/dist/node_modules/lodash/_isIterateeCall.js +20 -0
- package/dist/node_modules/lodash/_isIterateeCall.js.map +1 -0
- package/dist/node_modules/lodash/_isKey.js +18 -0
- package/dist/node_modules/lodash/_isKey.js.map +1 -0
- package/dist/node_modules/lodash/_isKeyable.js +14 -0
- package/dist/node_modules/lodash/_isKeyable.js.map +1 -0
- package/dist/node_modules/lodash/_isMasked.js +18 -0
- package/dist/node_modules/lodash/_isMasked.js.map +1 -0
- package/dist/node_modules/lodash/_isPrototype.js +15 -0
- package/dist/node_modules/lodash/_isPrototype.js.map +1 -0
- package/dist/node_modules/lodash/_isStrictComparable.js +15 -0
- package/dist/node_modules/lodash/_isStrictComparable.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheClear.js +13 -0
- package/dist/node_modules/lodash/_listCacheClear.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheDelete.js +16 -0
- package/dist/node_modules/lodash/_listCacheDelete.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheGet.js +16 -0
- package/dist/node_modules/lodash/_listCacheGet.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheHas.js +15 -0
- package/dist/node_modules/lodash/_listCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_listCacheSet.js +16 -0
- package/dist/node_modules/lodash/_listCacheSet.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheClear.js +21 -0
- package/dist/node_modules/lodash/_mapCacheClear.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheDelete.js +16 -0
- package/dist/node_modules/lodash/_mapCacheDelete.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheGet.js +15 -0
- package/dist/node_modules/lodash/_mapCacheGet.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheHas.js +15 -0
- package/dist/node_modules/lodash/_mapCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_mapCacheSet.js +16 -0
- package/dist/node_modules/lodash/_mapCacheSet.js.map +1 -0
- package/dist/node_modules/lodash/_mapToArray.js +16 -0
- package/dist/node_modules/lodash/_mapToArray.js.map +1 -0
- package/dist/node_modules/lodash/_matchesStrictComparable.js +15 -0
- package/dist/node_modules/lodash/_matchesStrictComparable.js.map +1 -0
- package/dist/node_modules/lodash/_memoizeCapped.js +18 -0
- package/dist/node_modules/lodash/_memoizeCapped.js.map +1 -0
- package/dist/node_modules/lodash/_nativeCreate.js +11 -0
- package/dist/node_modules/lodash/_nativeCreate.js.map +1 -0
- package/dist/node_modules/lodash/_nativeKeys.js +11 -0
- package/dist/node_modules/lodash/_nativeKeys.js.map +1 -0
- package/dist/node_modules/lodash/_nodeUtil.js +16 -0
- package/dist/node_modules/lodash/_nodeUtil.js.map +1 -0
- package/dist/node_modules/lodash/_objectToString.js +14 -0
- package/dist/node_modules/lodash/_objectToString.js.map +1 -0
- package/dist/node_modules/lodash/_overArg.js +15 -0
- package/dist/node_modules/lodash/_overArg.js.map +1 -0
- package/dist/node_modules/lodash/_overRest.js +20 -0
- package/dist/node_modules/lodash/_overRest.js.map +1 -0
- package/dist/node_modules/lodash/_root.js +12 -0
- package/dist/node_modules/lodash/_root.js.map +1 -0
- package/dist/node_modules/lodash/_setCacheAdd.js +14 -0
- package/dist/node_modules/lodash/_setCacheAdd.js.map +1 -0
- package/dist/node_modules/lodash/_setCacheHas.js +13 -0
- package/dist/node_modules/lodash/_setCacheHas.js.map +1 -0
- package/dist/node_modules/lodash/_setToArray.js +16 -0
- package/dist/node_modules/lodash/_setToArray.js.map +1 -0
- package/dist/node_modules/lodash/_setToString.js +13 -0
- package/dist/node_modules/lodash/_setToString.js.map +1 -0
- package/dist/node_modules/lodash/_shortOut.js +21 -0
- package/dist/node_modules/lodash/_shortOut.js.map +1 -0
- package/dist/node_modules/lodash/_stackClear.js +15 -0
- package/dist/node_modules/lodash/_stackClear.js.map +1 -0
- package/dist/node_modules/lodash/_stackDelete.js +14 -0
- package/dist/node_modules/lodash/_stackDelete.js.map +1 -0
- package/dist/node_modules/lodash/_stackGet.js +13 -0
- package/dist/node_modules/lodash/_stackGet.js.map +1 -0
- package/dist/node_modules/lodash/_stackHas.js +13 -0
- package/dist/node_modules/lodash/_stackHas.js.map +1 -0
- package/dist/node_modules/lodash/_stackSet.js +23 -0
- package/dist/node_modules/lodash/_stackSet.js.map +1 -0
- package/dist/node_modules/lodash/_strictIndexOf.js +14 -0
- package/dist/node_modules/lodash/_strictIndexOf.js.map +1 -0
- package/dist/node_modules/lodash/_stringToArray.js +17 -0
- package/dist/node_modules/lodash/_stringToArray.js.map +1 -0
- package/dist/node_modules/lodash/_stringToPath.js +17 -0
- package/dist/node_modules/lodash/_stringToPath.js.map +1 -0
- package/dist/node_modules/lodash/_toKey.js +17 -0
- package/dist/node_modules/lodash/_toKey.js.map +1 -0
- package/dist/node_modules/lodash/_toSource.js +22 -0
- package/dist/node_modules/lodash/_toSource.js.map +1 -0
- package/dist/node_modules/lodash/_trimmedEndIndex.js +15 -0
- package/dist/node_modules/lodash/_trimmedEndIndex.js.map +1 -0
- package/dist/node_modules/lodash/_unicodeToArray.js +24 -0
- package/dist/node_modules/lodash/_unicodeToArray.js.map +1 -0
- package/dist/node_modules/lodash/constant.js +15 -0
- package/dist/node_modules/lodash/constant.js.map +1 -0
- package/dist/node_modules/lodash/debounce.js +57 -0
- package/dist/node_modules/lodash/debounce.js.map +1 -0
- package/dist/node_modules/lodash/eq.js +13 -0
- package/dist/node_modules/lodash/eq.js.map +1 -0
- package/dist/node_modules/lodash/every.js +20 -0
- package/dist/node_modules/lodash/every.js.map +1 -0
- package/dist/node_modules/lodash/find.js +12 -0
- package/dist/node_modules/lodash/find.js.map +1 -0
- package/dist/node_modules/lodash/findIndex.js +20 -0
- package/dist/node_modules/lodash/findIndex.js.map +1 -0
- package/dist/node_modules/lodash/flatMap.js +16 -0
- package/dist/node_modules/lodash/flatMap.js.map +1 -0
- package/dist/node_modules/lodash/get.js +16 -0
- package/dist/node_modules/lodash/get.js.map +1 -0
- package/dist/node_modules/lodash/hasIn.js +16 -0
- package/dist/node_modules/lodash/hasIn.js.map +1 -0
- package/dist/node_modules/lodash/identity.js +13 -0
- package/dist/node_modules/lodash/identity.js.map +1 -0
- package/dist/node_modules/lodash/isArguments.js +17 -0
- package/dist/node_modules/lodash/isArguments.js.map +1 -0
- package/dist/node_modules/lodash/isArray.js +10 -0
- package/dist/node_modules/lodash/isArray.js.map +1 -0
- package/dist/node_modules/lodash/isArrayLike.js +16 -0
- package/dist/node_modules/lodash/isArrayLike.js.map +1 -0
- package/dist/node_modules/lodash/isBoolean.js +16 -0
- package/dist/node_modules/lodash/isBoolean.js.map +1 -0
- package/dist/node_modules/lodash/isBuffer.js +13 -0
- package/dist/node_modules/lodash/isBuffer.js.map +1 -0
- package/dist/node_modules/lodash/isEqual.js +15 -0
- package/dist/node_modules/lodash/isEqual.js.map +1 -0
- package/dist/node_modules/lodash/isFunction.js +18 -0
- package/dist/node_modules/lodash/isFunction.js.map +1 -0
- package/dist/node_modules/lodash/isLength.js +14 -0
- package/dist/node_modules/lodash/isLength.js.map +1 -0
- package/dist/node_modules/lodash/isNaN.js +15 -0
- package/dist/node_modules/lodash/isNaN.js.map +1 -0
- package/dist/node_modules/lodash/isNil.js +13 -0
- package/dist/node_modules/lodash/isNil.js.map +1 -0
- package/dist/node_modules/lodash/isNumber.js +16 -0
- package/dist/node_modules/lodash/isNumber.js.map +1 -0
- package/dist/node_modules/lodash/isObject.js +14 -0
- package/dist/node_modules/lodash/isObject.js.map +1 -0
- package/dist/node_modules/lodash/isObjectLike.js +13 -0
- package/dist/node_modules/lodash/isObjectLike.js.map +1 -0
- package/dist/node_modules/lodash/isPlainObject.js +21 -0
- package/dist/node_modules/lodash/isPlainObject.js.map +1 -0
- package/dist/node_modules/lodash/isString.js +17 -0
- package/dist/node_modules/lodash/isString.js.map +1 -0
- package/dist/node_modules/lodash/isSymbol.js +16 -0
- package/dist/node_modules/lodash/isSymbol.js.map +1 -0
- package/dist/node_modules/lodash/isTypedArray.js +14 -0
- package/dist/node_modules/lodash/isTypedArray.js.map +1 -0
- package/dist/node_modules/lodash/keys.js +17 -0
- package/dist/node_modules/lodash/keys.js.map +1 -0
- package/dist/node_modules/lodash/last.js +14 -0
- package/dist/node_modules/lodash/last.js.map +1 -0
- package/dist/node_modules/lodash/map.js +18 -0
- package/dist/node_modules/lodash/map.js.map +1 -0
- package/dist/node_modules/lodash/mapValues.js +20 -0
- package/dist/node_modules/lodash/mapValues.js.map +1 -0
- package/dist/node_modules/lodash/max.js +17 -0
- package/dist/node_modules/lodash/max.js.map +1 -0
- package/dist/node_modules/lodash/maxBy.js +17 -0
- package/dist/node_modules/lodash/maxBy.js.map +1 -0
- package/dist/node_modules/lodash/memoize.js +22 -0
- package/dist/node_modules/lodash/memoize.js.map +1 -0
- package/dist/node_modules/lodash/min.js +17 -0
- package/dist/node_modules/lodash/min.js.map +1 -0
- package/dist/node_modules/lodash/minBy.js +17 -0
- package/dist/node_modules/lodash/minBy.js.map +1 -0
- package/dist/node_modules/lodash/noop.js +11 -0
- package/dist/node_modules/lodash/noop.js.map +1 -0
- package/dist/node_modules/lodash/now.js +14 -0
- package/dist/node_modules/lodash/now.js.map +1 -0
- package/dist/node_modules/lodash/property.js +18 -0
- package/dist/node_modules/lodash/property.js.map +1 -0
- package/dist/node_modules/lodash/range.js +11 -0
- package/dist/node_modules/lodash/range.js.map +1 -0
- package/dist/node_modules/lodash/some.js +20 -0
- package/dist/node_modules/lodash/some.js.map +1 -0
- package/dist/node_modules/lodash/sortBy.js +19 -0
- package/dist/node_modules/lodash/sortBy.js.map +1 -0
- package/dist/node_modules/lodash/stubArray.js +13 -0
- package/dist/node_modules/lodash/stubArray.js.map +1 -0
- package/dist/node_modules/lodash/stubFalse.js +13 -0
- package/dist/node_modules/lodash/stubFalse.js.map +1 -0
- package/dist/node_modules/lodash/throttle.js +22 -0
- package/dist/node_modules/lodash/throttle.js.map +1 -0
- package/dist/node_modules/lodash/toFinite.js +15 -0
- package/dist/node_modules/lodash/toFinite.js.map +1 -0
- package/dist/node_modules/lodash/toInteger.js +16 -0
- package/dist/node_modules/lodash/toInteger.js.map +1 -0
- package/dist/node_modules/lodash/toNumber.js +26 -0
- package/dist/node_modules/lodash/toNumber.js.map +1 -0
- package/dist/node_modules/lodash/toString.js +15 -0
- package/dist/node_modules/lodash/toString.js.map +1 -0
- package/dist/node_modules/lodash/uniqBy.js +16 -0
- package/dist/node_modules/lodash/uniqBy.js.map +1 -0
- package/dist/node_modules/lodash/upperFirst.js +11 -0
- package/dist/node_modules/lodash/upperFirst.js.map +1 -0
- package/dist/node_modules/object-assign/index.js +41 -0
- package/dist/node_modules/object-assign/index.js.map +1 -0
- package/dist/node_modules/prop-types/checkPropTypes.js +46 -0
- package/dist/node_modules/prop-types/checkPropTypes.js.map +1 -0
- package/dist/node_modules/prop-types/factoryWithThrowingShims.js +49 -0
- package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +1 -0
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +272 -0
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -0
- package/dist/node_modules/prop-types/index.js +16 -0
- package/dist/node_modules/prop-types/index.js.map +1 -0
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +10 -0
- package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +1 -0
- package/dist/node_modules/prop-types/lib/has.js +10 -0
- package/dist/node_modules/prop-types/lib/has.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +84 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +64 -0
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
- package/dist/node_modules/prop-types/node_modules/react-is/index.js +12 -0
- package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +1 -0
- package/dist/node_modules/react-is/cjs/react-is.development.js +87 -0
- package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -0
- package/dist/node_modules/react-is/cjs/react-is.production.min.js +65 -0
- package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
- package/dist/node_modules/react-is/index.js +12 -0
- package/dist/node_modules/react-is/index.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/Animate.js +374 -0
- package/dist/node_modules/react-smooth/es6/Animate.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/AnimateManager.js +73 -0
- package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/configUpdate.js +173 -0
- package/dist/node_modules/react-smooth/es6/configUpdate.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/easing.js +152 -0
- package/dist/node_modules/react-smooth/es6/easing.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/index.js +9 -0
- package/dist/node_modules/react-smooth/es6/index.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/setRafTimeout.js +14 -0
- package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +1 -0
- package/dist/node_modules/react-smooth/es6/util.js +92 -0
- package/dist/node_modules/react-smooth/es6/util.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Area.js +435 -0
- package/dist/node_modules/recharts/es6/cartesian/Area.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Bar.js +387 -0
- package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/Brush.js +499 -0
- package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +338 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +305 -0
- package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +243 -0
- package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +173 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +178 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +254 -0
- package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js +144 -0
- package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js +143 -0
- package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +18 -0
- package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +1 -0
- package/dist/node_modules/recharts/es6/cartesian/getTicks.js +121 -0
- package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +101 -0
- package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/AreaChart.js +22 -0
- package/dist/node_modules/recharts/es6/chart/AreaChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/PieChart.js +34 -0
- package/dist/node_modules/recharts/es6/chart/PieChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +1245 -0
- package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Cell.js +9 -0
- package/dist/node_modules/recharts/es6/component/Cell.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Cursor.js +93 -0
- package/dist/node_modules/recharts/es6/component/Cursor.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +237 -0
- package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +171 -0
- package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Label.js +353 -0
- package/dist/node_modules/recharts/es6/component/Label.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/LabelList.js +166 -0
- package/dist/node_modules/recharts/es6/component/LabelList.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Legend.js +234 -0
- package/dist/node_modules/recharts/es6/component/Legend.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +187 -0
- package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Text.js +225 -0
- package/dist/node_modules/recharts/es6/component/Text.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/Tooltip.js +182 -0
- package/dist/node_modules/recharts/es6/component/Tooltip.js.map +1 -0
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +198 -0
- package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +1 -0
- package/dist/node_modules/recharts/es6/container/Layer.js +40 -0
- package/dist/node_modules/recharts/es6/container/Layer.js.map +1 -0
- package/dist/node_modules/recharts/es6/container/Surface.js +60 -0
- package/dist/node_modules/recharts/es6/container/Surface.js.map +1 -0
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +57 -0
- package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +1 -0
- package/dist/node_modules/recharts/es6/polar/Pie.js +435 -0
- package/dist/node_modules/recharts/es6/polar/Pie.js.map +1 -0
- package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js +215 -0
- package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js +268 -0
- package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Cross.js +112 -0
- package/dist/node_modules/recharts/es6/shape/Cross.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Curve.js +136 -0
- package/dist/node_modules/recharts/es6/shape/Curve.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Dot.js +27 -0
- package/dist/node_modules/recharts/es6/shape/Dot.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Polygon.js +112 -0
- package/dist/node_modules/recharts/es6/shape/Polygon.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Rectangle.js +205 -0
- package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Sector.js +192 -0
- package/dist/node_modules/recharts/es6/shape/Sector.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Symbols.js +143 -0
- package/dist/node_modules/recharts/es6/shape/Symbols.js.map +1 -0
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js +175 -0
- package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +181 -0
- package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/BarUtils.js +112 -0
- package/dist/node_modules/recharts/es6/util/BarUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js +234 -0
- package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ChartUtils.js +562 -0
- package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +70 -0
- package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DOMUtils.js +108 -0
- package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DataUtils.js +57 -0
- package/dist/node_modules/recharts/es6/util/DataUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +58 -0
- package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/Events.js +7 -0
- package/dist/node_modules/recharts/es6/util/Events.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/Global.js +21 -0
- package/dist/node_modules/recharts/es6/util/Global.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +9 -0
- package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/LogUtils.js +15 -0
- package/dist/node_modules/recharts/es6/util/LogUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/PolarUtils.js +198 -0
- package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ReactUtils.js +137 -0
- package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +181 -0
- package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/ShallowEqual.js +10 -0
- package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/TickUtils.js +31 -0
- package/dist/node_modules/recharts/es6/util/TickUtils.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/calculateViewBox.js +25 -0
- package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +23 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +16 -0
- package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +17 -0
- package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +12 -0
- package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/getLegendProps.js +88 -0
- package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +13 -0
- package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +12 -0
- package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/tooltip/translate.js +87 -0
- package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +1 -0
- package/dist/node_modules/recharts/es6/util/types.js +43 -0
- package/dist/node_modules/recharts/es6/util/types.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +132 -0
- package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/index.js +1 -0
- package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +32 -0
- package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +1 -0
- package/dist/node_modules/recharts-scale/es6/util/utils.js +79 -0
- package/dist/node_modules/recharts-scale/es6/util/utils.js.map +1 -0
- package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +13 -0
- package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +1 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js +56 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.development.js.map +1 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js +54 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.js.map +1 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js +54 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.development.js.map +1 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js +46 -0
- package/dist/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js.map +1 -0
- package/dist/node_modules/use-sync-external-store/shim/index.js +12 -0
- package/dist/node_modules/use-sync-external-store/shim/index.js.map +1 -0
- package/dist/node_modules/use-sync-external-store/shim/with-selector.js +12 -0
- package/dist/node_modules/use-sync-external-store/shim/with-selector.js.map +1 -0
- package/dist/node_modules/victory-vendor/es/d3-scale.js +53 -0
- package/dist/node_modules/victory-vendor/es/d3-scale.js.map +1 -0
- package/dist/node_modules/zustand/esm/traditional.js +17 -0
- package/dist/node_modules/zustand/esm/traditional.js.map +1 -0
- package/dist/node_modules/zustand/esm/vanilla/shallow.js +21 -0
- package/dist/node_modules/zustand/esm/vanilla/shallow.js.map +1 -0
- package/dist/node_modules/zustand/esm/vanilla.js +20 -0
- package/dist/node_modules/zustand/esm/vanilla.js.map +1 -0
- package/dist/pages/ActionsPage.d.ts +2 -0
- package/dist/pages/ActionsPage.d.ts.map +1 -0
- package/dist/pages/ActionsPage.js +594 -0
- package/dist/pages/ActionsPage.js.map +1 -0
- package/dist/pages/AgentDetailsPage.d.ts +5 -0
- package/dist/pages/AgentDetailsPage.d.ts.map +1 -0
- package/dist/pages/AgentDetailsPage.js +1714 -0
- package/dist/pages/AgentDetailsPage.js.map +1 -0
- package/dist/pages/AgentGraphPage.d.ts +9 -0
- package/dist/pages/AgentGraphPage.d.ts.map +1 -0
- package/dist/pages/AgentGraphPage.js +179 -0
- package/dist/pages/AgentGraphPage.js.map +1 -0
- package/dist/pages/AgentsLandingPage.d.ts +12 -0
- package/dist/pages/AgentsLandingPage.d.ts.map +1 -0
- package/dist/pages/AgentsLandingPage.js +84 -0
- package/dist/pages/AgentsLandingPage.js.map +1 -0
- package/dist/pages/AgentsPage.d.ts +5 -0
- package/dist/pages/AgentsPage.d.ts.map +1 -0
- package/dist/pages/AgentsPage.js +701 -0
- package/dist/pages/AgentsPage.js.map +1 -0
- package/dist/pages/AnalyticsPage.d.ts +2 -0
- package/dist/pages/AnalyticsPage.d.ts.map +1 -0
- package/dist/pages/AnalyticsPage.js +507 -0
- package/dist/pages/AnalyticsPage.js.map +1 -0
- package/dist/pages/CatalogDetailPage.d.ts +2 -0
- package/dist/pages/CatalogDetailPage.d.ts.map +1 -0
- package/dist/pages/CatalogDetailPage.js +842 -0
- package/dist/pages/CatalogDetailPage.js.map +1 -0
- package/dist/pages/CatalogDocsPage.d.ts +2 -0
- package/dist/pages/CatalogDocsPage.d.ts.map +1 -0
- package/dist/pages/CatalogDocsPage.js +154 -0
- package/dist/pages/CatalogDocsPage.js.map +1 -0
- package/dist/pages/CatalogPage.d.ts +2 -0
- package/dist/pages/CatalogPage.d.ts.map +1 -0
- package/dist/pages/CatalogPage.js +189 -0
- package/dist/pages/CatalogPage.js.map +1 -0
- package/dist/pages/ComponentDetailPage.d.ts +2 -0
- package/dist/pages/ComponentDetailPage.d.ts.map +1 -0
- package/dist/pages/ComponentDetailPage.js +557 -0
- package/dist/pages/ComponentDetailPage.js.map +1 -0
- package/dist/pages/ComponentDocsPage.d.ts +2 -0
- package/dist/pages/ComponentDocsPage.d.ts.map +1 -0
- package/dist/pages/ComponentDocsPage.js +154 -0
- package/dist/pages/ComponentDocsPage.js.map +1 -0
- package/dist/pages/ComponentsPage.d.ts +2 -0
- package/dist/pages/ComponentsPage.d.ts.map +1 -0
- package/dist/pages/ComponentsPage.js +250 -0
- package/dist/pages/ComponentsPage.js.map +1 -0
- package/dist/pages/GettingStartedPage.d.ts +16 -0
- package/dist/pages/GettingStartedPage.d.ts.map +1 -0
- package/dist/pages/GettingStartedPage.js +261 -0
- package/dist/pages/GettingStartedPage.js.map +1 -0
- package/dist/pages/HealthPage.d.ts +2 -0
- package/dist/pages/HealthPage.d.ts.map +1 -0
- package/dist/pages/HealthPage.js +383 -0
- package/dist/pages/HealthPage.js.map +1 -0
- package/dist/pages/LogsPage.d.ts +2 -0
- package/dist/pages/LogsPage.d.ts.map +1 -0
- package/dist/pages/NoteDetailsPage.d.ts +2 -0
- package/dist/pages/NoteDetailsPage.d.ts.map +1 -0
- package/dist/pages/NoteDetailsPage.js +163 -0
- package/dist/pages/NoteDetailsPage.js.map +1 -0
- package/dist/pages/OverviewPage.d.ts +9 -0
- package/dist/pages/OverviewPage.d.ts.map +1 -0
- package/dist/pages/OverviewPage.js +419 -0
- package/dist/pages/OverviewPage.js.map +1 -0
- package/dist/pages/SessionDetailsPage.d.ts +6 -0
- package/dist/pages/SessionDetailsPage.d.ts.map +1 -0
- package/dist/pages/SessionDetailsPage.js +707 -0
- package/dist/pages/SessionDetailsPage.js.map +1 -0
- package/dist/pages/SessionsPage.d.ts +6 -0
- package/dist/pages/SessionsPage.d.ts.map +1 -0
- package/dist/pages/SessionsPage.js +1382 -0
- package/dist/pages/SessionsPage.js.map +1 -0
- package/dist/pages/SettingsPage.d.ts +2 -0
- package/dist/pages/SettingsPage.d.ts.map +1 -0
- package/dist/pages/SettingsPage.js +238 -0
- package/dist/pages/SettingsPage.js.map +1 -0
- package/dist/pages/SharedSessionPage.d.ts +13 -0
- package/dist/pages/SharedSessionPage.d.ts.map +1 -0
- package/dist/pages/SharedSessionPage.js +471 -0
- package/dist/pages/SharedSessionPage.js.map +1 -0
- package/dist/pages/SharedVibeDeckPage.d.ts +8 -0
- package/dist/pages/SharedVibeDeckPage.d.ts.map +1 -0
- package/dist/pages/SharedVibeDeckPage.js +262 -0
- package/dist/pages/SharedVibeDeckPage.js.map +1 -0
- package/dist/pages/TargetDetailsPage.d.ts +13 -0
- package/dist/pages/TargetDetailsPage.d.ts.map +1 -0
- package/dist/pages/TargetDetailsPage.js +266 -0
- package/dist/pages/TargetDetailsPage.js.map +1 -0
- package/dist/pages/TargetsPage.d.ts +8 -0
- package/dist/pages/TargetsPage.d.ts.map +1 -0
- package/dist/pages/TargetsPage.js +1113 -0
- package/dist/pages/TargetsPage.js.map +1 -0
- package/dist/pages/TemplateDetailPage.d.ts +2 -0
- package/dist/pages/TemplateDetailPage.d.ts.map +1 -0
- package/dist/pages/TemplateDetailPage.js +302 -0
- package/dist/pages/TemplateDetailPage.js.map +1 -0
- package/dist/pages/TemplatesPage.d.ts +2 -0
- package/dist/pages/TemplatesPage.d.ts.map +1 -0
- package/dist/pages/TemplatesPage.js +173 -0
- package/dist/pages/TemplatesPage.js.map +1 -0
- package/dist/pages/TunnelsLandingPage.d.ts +8 -0
- package/dist/pages/TunnelsLandingPage.d.ts.map +1 -0
- package/dist/pages/TunnelsLandingPage.js +69 -0
- package/dist/pages/TunnelsLandingPage.js.map +1 -0
- package/dist/pages/VibeAuditPage.d.ts +2 -0
- package/dist/pages/VibeAuditPage.d.ts.map +1 -0
- package/dist/pages/VibeAuditPage.js +233 -0
- package/dist/pages/VibeAuditPage.js.map +1 -0
- package/dist/pages/VibeCalendarPage.d.ts +9 -0
- package/dist/pages/VibeCalendarPage.d.ts.map +1 -0
- package/dist/pages/VibeCalendarPage.js +221 -0
- package/dist/pages/VibeCalendarPage.js.map +1 -0
- package/dist/pages/VibeDeckPage.d.ts +2 -0
- package/dist/pages/VibeDeckPage.d.ts.map +1 -0
- package/dist/pages/VibeDeckPage.js +884 -0
- package/dist/pages/VibeDeckPage.js.map +1 -0
- package/dist/pages/VibeDetailsPage.d.ts +5 -0
- package/dist/pages/VibeDetailsPage.d.ts.map +1 -0
- package/dist/pages/VibeDetailsPage.js +1321 -0
- package/dist/pages/VibeDetailsPage.js.map +1 -0
- package/dist/pages/VibeDocsPage.d.ts +2 -0
- package/dist/pages/VibeDocsPage.d.ts.map +1 -0
- package/dist/pages/VibeDocsPage.js +154 -0
- package/dist/pages/VibeDocsPage.js.map +1 -0
- package/dist/pages/VibeTaskDetailPage.d.ts +9 -0
- package/dist/pages/VibeTaskDetailPage.d.ts.map +1 -0
- package/dist/pages/VibeTaskDetailPage.js +264 -0
- package/dist/pages/VibeTaskDetailPage.js.map +1 -0
- package/dist/pages/VibesPage.d.ts +5 -0
- package/dist/pages/VibesPage.d.ts.map +1 -0
- package/dist/pages/VibesPage.js +600 -0
- package/dist/pages/VibesPage.js.map +1 -0
- package/dist/pages/WebhooksPage.d.ts +5 -0
- package/dist/pages/WebhooksPage.d.ts.map +1 -0
- package/dist/pages/ai/AIPage.d.ts +6 -0
- package/dist/pages/ai/AIPage.d.ts.map +1 -0
- package/dist/pages/ai/AIPage.js +187 -0
- package/dist/pages/ai/AIPage.js.map +1 -0
- package/dist/pages/ai/AISessionDetailPage.d.ts +5 -0
- package/dist/pages/ai/AISessionDetailPage.d.ts.map +1 -0
- package/dist/pages/ai/AISessionDetailPage.js +441 -0
- package/dist/pages/ai/AISessionDetailPage.js.map +1 -0
- package/dist/pages/ai/AgentManagerPage.d.ts +9 -0
- package/dist/pages/ai/AgentManagerPage.d.ts.map +1 -0
- package/dist/pages/ai/AgentManagerPage.js +159 -0
- package/dist/pages/ai/AgentManagerPage.js.map +1 -0
- package/dist/pages/index.d.ts +17 -0
- package/dist/pages/index.d.ts.map +1 -0
- package/dist/pages/tunnels/AuditTab.d.ts +8 -0
- package/dist/pages/tunnels/AuditTab.d.ts.map +1 -0
- package/dist/pages/tunnels/AuditTab.js +22 -0
- package/dist/pages/tunnels/AuditTab.js.map +1 -0
- package/dist/pages/tunnels/DomainsTab.d.ts +2 -0
- package/dist/pages/tunnels/DomainsTab.d.ts.map +1 -0
- package/dist/pages/tunnels/DomainsTab.js +110 -0
- package/dist/pages/tunnels/DomainsTab.js.map +1 -0
- package/dist/pages/tunnels/ProvidersTab.d.ts +2 -0
- package/dist/pages/tunnels/ProvidersTab.d.ts.map +1 -0
- package/dist/pages/tunnels/ProvidersTab.js +111 -0
- package/dist/pages/tunnels/ProvidersTab.js.map +1 -0
- package/dist/pages/tunnels/SessionsTab.d.ts +8 -0
- package/dist/pages/tunnels/SessionsTab.d.ts.map +1 -0
- package/dist/pages/tunnels/SessionsTab.js +63 -0
- package/dist/pages/tunnels/SessionsTab.js.map +1 -0
- package/dist/pages/tunnels/TunnelDetailsPage.d.ts +2 -0
- package/dist/pages/tunnels/TunnelDetailsPage.d.ts.map +1 -0
- package/dist/pages/tunnels/TunnelDetailsPage.js +121 -0
- package/dist/pages/tunnels/TunnelDetailsPage.js.map +1 -0
- package/dist/pages/tunnels/TunnelsTab.d.ts +2 -0
- package/dist/pages/tunnels/TunnelsTab.d.ts.map +1 -0
- package/dist/pages/tunnels/TunnelsTab.js +174 -0
- package/dist/pages/tunnels/TunnelsTab.js.map +1 -0
- package/dist/pages/tunnels/UsageTab.d.ts +8 -0
- package/dist/pages/tunnels/UsageTab.d.ts.map +1 -0
- package/dist/pages/tunnels/UsageTab.js +22 -0
- package/dist/pages/tunnels/UsageTab.js.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelAuditTab.d.ts +4 -0
- package/dist/pages/tunnels/tabs/TunnelAuditTab.d.ts.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelAuditTab.js +68 -0
- package/dist/pages/tunnels/tabs/TunnelAuditTab.js.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelCliTab.d.ts +8 -0
- package/dist/pages/tunnels/tabs/TunnelCliTab.d.ts.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelCliTab.js +63 -0
- package/dist/pages/tunnels/tabs/TunnelCliTab.js.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelDomainsTab.d.ts +8 -0
- package/dist/pages/tunnels/tabs/TunnelDomainsTab.d.ts.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelDomainsTab.js +120 -0
- package/dist/pages/tunnels/tabs/TunnelDomainsTab.js.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelEndpointsTab.d.ts +8 -0
- package/dist/pages/tunnels/tabs/TunnelEndpointsTab.d.ts.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelEndpointsTab.js +56 -0
- package/dist/pages/tunnels/tabs/TunnelEndpointsTab.js.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelOverviewTab.d.ts +8 -0
- package/dist/pages/tunnels/tabs/TunnelOverviewTab.d.ts.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelOverviewTab.js +137 -0
- package/dist/pages/tunnels/tabs/TunnelOverviewTab.js.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelSessionsTab.d.ts +4 -0
- package/dist/pages/tunnels/tabs/TunnelSessionsTab.d.ts.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelSessionsTab.js +104 -0
- package/dist/pages/tunnels/tabs/TunnelSessionsTab.js.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelSettingsTab.d.ts +9 -0
- package/dist/pages/tunnels/tabs/TunnelSettingsTab.d.ts.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelSettingsTab.js +67 -0
- package/dist/pages/tunnels/tabs/TunnelSettingsTab.js.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelUsageTab.d.ts +4 -0
- package/dist/pages/tunnels/tabs/TunnelUsageTab.d.ts.map +1 -0
- package/dist/pages/tunnels/tabs/TunnelUsageTab.js +127 -0
- package/dist/pages/tunnels/tabs/TunnelUsageTab.js.map +1 -0
- package/dist/plugin.d.ts +4 -0
- package/dist/plugin.d.ts.map +1 -0
- package/dist/plugin.js +84 -0
- package/dist/plugin.js.map +1 -0
- package/dist/providers/AgentEventsProvider.d.ts +79 -0
- package/dist/providers/AgentEventsProvider.d.ts.map +1 -0
- package/dist/providers/AgentEventsProvider.js +42 -0
- package/dist/providers/AgentEventsProvider.js.map +1 -0
- package/dist/providers/VibeControlsProvider.d.ts +29 -0
- package/dist/providers/VibeControlsProvider.d.ts.map +1 -0
- package/dist/providers/VibeControlsProvider.js +126 -0
- package/dist/providers/VibeControlsProvider.js.map +1 -0
- package/dist/services/aiApi.d.ts +310 -0
- package/dist/services/aiApi.d.ts.map +1 -0
- package/dist/services/aiApi.js +336 -0
- package/dist/services/aiApi.js.map +1 -0
- package/dist/services/assistantApi.d.ts +71 -0
- package/dist/services/assistantApi.d.ts.map +1 -0
- package/dist/services/assistantApi.js +235 -0
- package/dist/services/assistantApi.js.map +1 -0
- package/dist/services/assistantExportService.d.ts +9 -0
- package/dist/services/assistantExportService.d.ts.map +1 -0
- package/dist/services/assistantExportService.js +44 -0
- package/dist/services/assistantExportService.js.map +1 -0
- package/dist/services/schedulerApi.d.ts +18 -0
- package/dist/services/schedulerApi.d.ts.map +1 -0
- package/dist/services/schedulerApi.js +39 -0
- package/dist/services/schedulerApi.js.map +1 -0
- package/dist/shared/hooks/useTr.d.ts +17 -0
- package/dist/shared/hooks/useTr.d.ts.map +1 -0
- package/dist/shared/hooks/useTr.js +14 -0
- package/dist/shared/hooks/useTr.js.map +1 -0
- package/dist/store/agentManagerStore.d.ts +65 -0
- package/dist/store/agentManagerStore.d.ts.map +1 -0
- package/dist/store/agentManagerStore.js +244 -0
- package/dist/store/agentManagerStore.js.map +1 -0
- package/dist/store/assistantStore.d.ts +56 -0
- package/dist/store/assistantStore.d.ts.map +1 -0
- package/dist/store/assistantStore.js +165 -0
- package/dist/store/assistantStore.js.map +1 -0
- package/dist/store/vibeControlsStore.d.ts +68 -0
- package/dist/store/vibeControlsStore.d.ts.map +1 -0
- package/dist/store/vibeControlsStore.js +123 -0
- package/dist/store/vibeControlsStore.js.map +1 -0
- package/dist/translations/en.d.ts +2174 -0
- package/dist/translations/en.d.ts.map +1 -0
- package/dist/translations/en.js +2130 -0
- package/dist/translations/en.js.map +1 -0
- package/dist/types/agentManager.d.ts +72 -0
- package/dist/types/agentManager.d.ts.map +1 -0
- package/dist/types/assistant.d.ts +58 -0
- package/dist/types/assistant.d.ts.map +1 -0
- package/dist/types/assistant.js +7 -0
- package/dist/types/assistant.js.map +1 -0
- package/dist/types/index.d.ts +134 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/utils/agentStatus.d.ts +42 -0
- package/dist/utils/agentStatus.d.ts.map +1 -0
- package/dist/utils/agentStatus.js +9 -0
- package/dist/utils/agentStatus.js.map +1 -0
- package/dist/utils/aiSessionNotFound.d.ts +2 -0
- package/dist/utils/aiSessionNotFound.d.ts.map +1 -0
- package/dist/utils/aiSessionNotFound.js +18 -0
- package/dist/utils/aiSessionNotFound.js.map +1 -0
- package/dist/utils/nativeBridge.d.ts +3 -0
- package/dist/utils/nativeBridge.d.ts.map +1 -0
- package/dist/utils/nativeBridge.js +2 -0
- package/dist/utils/pageContext.d.ts +23 -0
- package/dist/utils/pageContext.d.ts.map +1 -0
- package/dist/utils/pageContext.js +16 -0
- package/dist/utils/pageContext.js.map +1 -0
- package/dist/utils/quotaUtils.d.ts +8 -0
- package/dist/utils/quotaUtils.d.ts.map +1 -0
- package/dist/utils/quotaUtils.js +88 -0
- package/dist/utils/quotaUtils.js.map +1 -0
- package/dist/utils/relativeTime.d.ts +3 -0
- package/dist/utils/relativeTime.d.ts.map +1 -0
- package/dist/utils/relativeTime.js +24 -0
- package/dist/utils/relativeTime.js.map +1 -0
- 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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkEA,IAAM,KAA2B;AAEjC,SAAS,GACP,GACA,GACe;AACf,KAAI,CAAC,EAAa,QAAO;AAEzB,KAAI;EACF,IAAM,IAAoB,IAAI,IAAI,EAAY;AAG9C,MAAI,KAFiB,IAAI,IAAI;GAAC;GAAa;GAAa;GAAuB,CAAC,CAElD,IAAI,EAAkB,SAAS,EAAE;GAC7D,IAAM,IAAkB,IAAI,IAAI,EAAU;AAI1C,UAHA,EAAgB,WAAW,EAAkB,UAC7C,EAAgB,SAAS,EAAkB,QAC3C,EAAgB,OAAO,EAAkB,MAClC,EAAgB,UAAU;;AAGnC,SAAO,EAAkB,UAAU;SAC7B;AACN,SAAO;;;AAIX,SAAS,GACP,GACA,GACA,GACA,GACmB;AACnB,KAAI,MAAW,UAAW,QAAO;AACjC,KAAI,MAAkB,GAAO,QAAO;AACpC,KAAI,CAAC,EAAgB,QAAO;AAC5B,KAAI,CAAC,EAAuB,QAAO;AAEnC,KAAI;EACF,IAAM,IAAe,OAAO,SAAW,MAAc,OAAO,SAAS,WAAW,UAC1E,IAAmB,IAAI,IAAI,EAAsB,CAAC;AACxD,MAAI,MAAiB,YAAY,MAAqB,SACpD,QAAO;SAEH;AACN,SAAO;;AAGT,QAAO;;AAOT,SAAgB,KAAe;CAC7B,IAAM,EAAE,UAAM,IAAS,EACjB,EAAE,uBAAmB,IAAiB,EACtC,KAAW,IAAiB,EAC5B,EAAE,mBAAe,WAAW,IAAoB,oBAAgB,IAAgB,EAChF,CAAC,IAAc,MAAmB,IAAiB,EAEnD,IAAK,GACR,GAAa,GAAkB,MAAqD;EACnF,IAAM,IAAa,GAAE,GAAK,EAAO,EAC3B,IAAW,MAAe,IAAM,IAAW;AAIjD,SAFK,IAEE,OAAO,QAAQ,EAAO,CAAC,QAC3B,GAAK,CAAC,GAAU,OAAgB,EAAI,QAAQ,KAAK,EAAS,KAAK,OAAO,EAAW,CAAC,EACnF,EACD,GALmB;IAOtB,CAAC,GAAE,CACJ,EAEK,KAAgB,QACd;EACJ;GAAE,OAAO;GAAO,OAAO,EAAG,sBAAsB,eAAe;GAAE;EACjE;GAAE,OAAO;GAAW,OAAO,EAAG,oBAAoB,UAAU;GAAE;EAC9D;GAAE,OAAO;GAAW,OAAO,EAAG,oBAAoB,UAAU;GAAE;EAC9D;GAAE,OAAO;GAAY,OAAO,EAAG,qBAAqB,WAAW;GAAE;EACjE;GAAE,OAAO;GAAS,OAAO,EAAG,gBAAgB,QAAQ;GAAE;EACvD,EACD,CAAC,EAAG,CACL,EAEK,KAAc,QACZ;EACJ;GAAE,OAAO;GAAO,OAAO,EAAG,oBAAoB,YAAY;GAAE;EAC5D;GAAE,OAAO;GAAQ,OAAO,EAAG,qBAAqB,OAAO;GAAE;EACzD;GAAE,OAAO;GAAY,OAAO,EAAG,yBAAyB,WAAW;GAAE;EACrE;GAAE,OAAO;GAAU,OAAO,EAAG,uBAAuB,SAAS;GAAE;EAC/D;GAAE,OAAO;GAAU,OAAO,EAAG,uBAAuB,SAAS;GAAE;EAChE,EACD,CAAC,EAAG,CACL,EAGK,KAAkB,GAAc,GAAiB,aAAa,EAC9D,KAAmB,GAAc,GAAiB,eAAe,EAEjE,CAAC,GAAa,MAAkB,EAAS,GAAG,EAC5C,CAAC,GAAc,MAAmB,EAAS,MAAM,EACjD,CAAC,GAAY,MAAiB,EAAS,MAAM,EAC7C,CAAC,GAAY,MAAiB,EAAS,MAAM,EAC7C,CAAC,GAAa,MAAkB,EAAS,MAAM,EAC/C,CAAC,GAAU,KAAe,EAAmB,WAAW,EACxD,CAAC,IAAgB,KAAqB,EAAS,GAAM,EACrD,CAAC,IAAoB,KAAyB,EAAS,GAAM,EAC7D,CAAC,IAAa,KAAkB,EAAwB,KAAK,EAC7D,CAAC,IAAe,MAAoB,EAAS,GAAM,EACnD,CAAC,GAAgB,KAAqB,EAAwB,KAAK,EAGnE,CAAC,GAAoB,KAAyB,kBAAsB,IAAI,KAAK,CAAC,EAC9E,CAAC,IAAa,KAAkB,EAAS,GAAM,EAG/C,KAAiB,EAAyB,KAAK,EAC/C,KAAoB,EAAyB,KAAK,EAClD,KAAsB,EAAyB,KAAK,EAIpD,KAAyB,EAAyB,KAAK,EAGvD,CAAC,IAAY,MAAiB,EAAS,GAAG,EAC1C,CAAC,IAAa,MAAkB,EAAS,GAAG,EAC5C,CAAC,GAAU,MAAe,EAAS,OAAO,EAC1C,CAAC,IAAkB,MAAuB,EAAS,GAAM,EAGzD,EACJ,cAAc,IACd,qBAAqB,IACrB,kBAAkB,IAClB,iBAAiB,IACjB,wBAAwB,IACxB,qBAAqB,IACrB,uBACE,IAAsB,EAGpB,CAAC,GAAc,KAAmB,EAAwB,EAAE,CAAC,EAC7D,CAAC,GAAmB,KAAwB,EAAwB,KAAK,EACzE,CAAC,IAAmB,KAAwB,EAAS,GAAM,EAG3D,CAAC,IAAc,MAAmB,EAAyB,KAAK,EAGhE,CAAC,IAAuB,MAA4B,EAAS,GAAM,EAGnE,CAAC,GAAe,MAAoB,EAAS,GAAM,EAEnD,IAAgB,GAAa,IAAI,OAAO,EACxC,KAAiB,GAAa,IAAI,UAAU,EAG5C,CAAC,MAAiB,GAAyB,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAKhF,CAAC,IAAoB,MAAyB,EAAS,GAAM,EAC7D,CAAC,GAAkB,MAAuB,EAAiB,GAAG,EAC9D,CAAC,IAAgB,KAAqB,EAAwB,KAAK,EACnE,CAAC,IAAuB,MAA4B,EAAwB,KAAK,EACjF,CAAC,IAAiB,EAAE,MAAM,IAAa,SAAS,QACpD,EAAgC,EAAE,aAAa,gBAAgB,CAAC,EAC5D,CAAC,MAAqB,EAA6B,EACvD,gBAAgB,CAAC,eAAe,EACjC,CAAC,EACI,CAAC,MAAgB,GAAwB,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAC9E,CAAC,MAAe,GAAuB,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAC5E,CAAC,MAAkB,GAA0B,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAClF,CAAC,KAAwB,GAAgC,EAC7D,gBAAgB,CAAC,eAAe,EACjC,CAAC,EACI,CAAC,MAAuB,GAA+B,EAC3D,gBAAgB,CAAC,eAAe,EACjC,CAAC,EACI,CAAC,MAA0B,GAAkC,EACjE,gBAAgB,CAAC,eAAe,EACjC,CAAC,EACI,CAAC,MAAiB,GAAyB,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAChF,CAAC,MAAoB,GAA4B,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,EACtF,CAAC,MAAsB,GAA8B,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,EAC1F,CAAC,MAAoB,EAA4B,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,EACtF,CAAC,MAAuB,EAA+B,EAC3D,gBAAgB,CAAC,eAAe,EACjC,CAAC,EACI,CAAC,MAAyB,EAAiC,EAC/D,gBAAgB,CAAC,eAAe,EACjC,CAAC;AAIF,SAAgB;AACV,QAGA,MAAkB,cAAc,MAAkB,UAAU,MAAkB,SAChF,EAAY,EAAc,GACjB,MACT,EAAY,GAAkB,EAG5B,KACF,EAAqB,GAAe,GAC3B,MACT,EAAqB,GAAmB,EAItC,GAAc,SAAS,KAQzB,EAPoC,GAAc,KAAK,OAAO;GAC5D,WAAW,EAAE;GACb,MAAM,EAAE;GACR,aAAa;GACb,SAAS;GACT,OAAO;GACR,EAAE,CAC0B,EAG/B,GAAiB,GAAK;IACrB;EACD;EACA;EACA;EACA;EACA;EACA;EACD,CAAC;CAGF,IAAM,KAAoB,EAAO,GAAM;AAoBvC,CAjBA,QAAgB;AACT,OAGL,GADoB,EAAa,KAAK,OAAO;GAAE,WAAW,EAAE;GAAW,MAAM,EAAE;GAAM,EAAE,CAC1D;IAC5B;EAAC;EAAc;EAAe;EAAiB,CAAC,EAEnD,QAAgB;AACT,OACL,GAAsB,EAAkB;IACvC;EAAC;EAAmB;EAAe;EAAsB,CAAC,EAE7D,QAAgB;AACT,OACL,GAAqB,EAAS;IAC7B;EAAC;EAAU;EAAe;EAAqB,CAAC,EAEnD,QAAgB;AACd,MAAI,CAAC,EAAe;EAEpB,IAAM,IAAO,IAAI,gBAAgB,GAAa,EAC1C,IAAU,IAER,IAAW,MAAa,aAAa,OAAO;AAqBlD,EApBI,IACE,EAAK,IAAI,OAAO,KAAK,MACvB,EAAK,IAAI,QAAQ,EAAS,EAC1B,IAAU,MAEH,EAAK,IAAI,OAAO,KACzB,EAAK,OAAO,OAAO,EACnB,IAAU,KAGR,IACE,EAAK,IAAI,UAAU,KAAK,MAC1B,EAAK,IAAI,WAAW,EAAkB,EACtC,IAAU,MAEH,EAAK,IAAI,UAAU,KAC5B,EAAK,OAAO,UAAU,EACtB,IAAU,KAGR,KACF,GAAgB,GAAM,EAAE,SAAS,IAAM,CAAC;IAEzC;EAAC;EAAmB;EAAc;EAAiB;EAAe;EAAS,CAAC;CAG/E,IAAM,IAAyB,EAAsB,KAAK;AAc1D,CAXA,QAAgB;EACd,IAAM,IAAW,kBAAkB;AACjC,OAAoB,CAAC,YAAY,GAE/B;KACD,GAAyB;AAE5B,eAAa,cAAc,EAAS;IACnC,CAAC,GAAmB,CAAC,EAGxB,QAAgB;EACd,IAAM,KAAiB,MAAqB;GAE1C,IAAM,IAAS,EAAE;AACjB,OACE,EAAO,YAAY,WACnB,EAAO,YAAY,cACnB,EAAO,YAAY,YACnB,EAAO,kBAEP;GAGF,IAAM,IAAQ,EAAE,WAAW,EAAE;AAG7B,OAAI,KAAS,EAAE,QAAQ,KAAK;AAE1B,IADA,EAAE,gBAAgB,EAClB,EAAkB,GAAK;AACvB;;AAIF,OAAI,KAAS,EAAE,QAAQ,OAAO,GAAmB;AAC/C,MAAE,gBAAgB;IAClB,IAAM,IAAmB;AAEzB,IADA,GAAiB,MAAS,EAAK,QAAQ,MAAM,EAAE,cAAc,EAAiB,CAAC,EAC/E,QAA2B;KACzB,IAAM,IAAY,EAAa,QAAQ,MAAM,EAAE,cAAc,EAAiB;AAC9E,YAAO,EAAU,SAAS,IAAI,EAAU,EAAU,SAAS,GAAG,YAAY;MAC1E;AACF;;AAIF,OAAI,EAAE,WAAW,EAAE,QAAQ,SAAS,CAAC,EAAE,YAAY,EAAa,SAAS,GAAG;AAI1E,IAHA,EAAE,gBAAgB,EAGlB,EAAqB,GAFF,EAAa,WAAW,MAAM,EAAE,cAAc,EAAkB,GACrD,KAAK,EAAa,QACL,UAAU;AACrD;;AAIF,OAAI,EAAE,WAAW,EAAE,QAAQ,SAAS,EAAE,YAAY,EAAa,SAAS,GAAG;AAIzE,IAHA,EAAE,gBAAgB,EAGlB,EAAqB,GAFF,EAAa,WAAW,MAAM,EAAE,cAAc,EAAkB,GACrD,IAAI,EAAa,UAAU,EAAa,QAC3B,UAAU;AACrD;;;AAKJ,SADA,SAAS,iBAAiB,WAAW,EAAc,QACtC,SAAS,oBAAoB,WAAW,EAAc;IAClE,CAAC,GAAmB,EAAa,CAAC;CAIrC,IAAM,EAAE,UAAM,kBAAc,YAAS,WAAO,eAAY,EAAqB;EAC3E,WAAW;GACT,QAAQ;IACN,QACE,MAAiB,QAEb,KAAA,IADC;IAEP,MACE,MAAe,QAEX,KAAA,IADC;IAEP,QAAQ,MAAe,SAAS,MAAe,SAAS,IAAa,KAAA;IACrE,SAAS,MAAgB,QAAsB,KAAA,IAAd;IAClC;GACD,YAAY,EAAE,OAAO,IAAI;GAC1B;EACD,aAAa;EACd,CAAC,EAII,KAAgB,MAAQ,IAIxB,EAAE,QAAQ,GAAc,OAAO,MAAgB,IAAsB,EASrE,KAAmB,GAAsC,EAC7D,aAAa,qBACd,CAAC,EACI,EAAE,MAAM,OAA0B,IAAmD,EACrF,KAAqB,QAAc;EACvC,IAAM,oBAAI,IAAI,KAAyD,EACjE,IACJ,IAAuB,sCACvB,GAAiB,MAAM,iCACvB,EAAE;AACJ,OAAK,IAAM,KAAK,EACd,GAAE,IAAI,EAAE,SAAS;GAAE,SAAS,EAAE;GAAS,OAAO,EAAE,gBAAgB;GAAM,CAAC;AAEzE,SAAO;IACN,CAAC,GAAiB,MAAM,GAAsB,CAAC,EAG5C,KAAc,QACX;EACL;GAAE,OAAO;GAAO,OAAO,EAAG,0BAA0B,YAAY;GAAE;EAClE;GAAE,OAAO;GAAQ,OAAO,EAAG,2BAA2B,UAAU;GAAE;EAClE,GAAG,EAAY,KAAK,OAAU;GAC5B,OAAO,EAAK;GACZ,OAAO,EAAK;GACb,EAAE;EACJ,EACA,CAAC,GAAa,EAAG,CAAC,EAGf,KAAe,QACZ,CACL;EAAE,OAAO;EAAO,OAAO,EAAG,2BAA2B,aAAa;EAAE,EACpE,GAAG,EAAa,KAAK,OAAW;EAC9B,OAAO,EAAM;EACb,OAAO,GAAG,EAAM,KAAK,GAAG,EAAM,WAAW,KAAK,IAAI,EAAG,oBAAoB,UAAU,CAAC;EACrF,EAAE,CACJ,EACA,CAAC,GAAc,EAAG,CAAC,EAGhB,KAAoB,QACjB,CACL;EAAE,OAAO;EAAI,OAAO,EAAG,mBAAmB,UAAU;EAAE,EACtD,GAAG,EAAY,KAAK,OAAU;EAC5B,OAAO,EAAK;EACZ,OAAO,EAAK;EACb,EAAE,CACJ,EACA,CAAC,GAAa,EAAG,CAAC,EAEf,KAAqB,QAClB,CACL;EAAE,OAAO;EAAI,OAAO,EAAG,wBAAwB,kBAAkB;EAAE,EACnE,GAAG,EAAa,KAAK,OAAW;EAC9B,OAAO,EAAM;EACb,OAAO,GAAG,EAAM,KAAK,GAAG,EAAM,WAAW,IAAI,EAAG,mBAAmB,SAAS,CAAC,KAAK,IAAI,EAAG,oBAAoB,UAAU,CAAC;EACzH,EAAE,CACJ,EACA,CAAC,GAAc,EAAG,CAAC,EAEhB,KAAqB,QACnB;EACJ;GAAE,OAAO;GAAQ,OAAO,EAAG,0BAA0B,OAAO;GAAE;EAC9D;GAAE,OAAO;GAAW,OAAO,EAAG,wBAAwB,UAAU;GAAE;EAClE;GAAE,OAAO;GAAU,OAAO,EAAG,uBAAuB,SAAS;GAAE;EAC/D;GAAE,OAAO;GAAY,OAAO,EAAG,yBAAyB,WAAW;GAAE;EACrE;GAAE,OAAO;GAAO,OAAO,EAAG,oBAAoB,MAAM;GAAE;EACtD;GAAE,OAAO;GAAU,OAAO,EAAG,uBAAuB,SAAS;GAAE;EAC/D;GAAE,OAAO;GAAU,OAAO,EAAG,uBAAuB,SAAS;GAAE;EAChE,EACD,CAAC,EAAG,CACL,EAIK,IAAsB,SACN,IAAe,UAAU,SAAS,EAAE,EACrC,KAAK,MAAqD;EAC3E,IAAM,IAAoB,GACxB,EAAQ,WAAW,MACnB,EAAQ,OAAO,aAAa,KAC7B;AAED,SAAO;GACL,IAAI,EAAQ;GACZ,aAAa,EAAQ;GACrB,QAAQ,EAAQ,UAAU;GAC1B,SAAS,EAAQ,WAAW;GAC5B,MAAM,EAAQ;GACd,MAAM,EAAQ;GACd,QAAQ,GACN,EAAQ,QACR,EAAQ,WAAW,MACnB,GACA,EAAQ,OAAO,SAChB;GACD,SAAS,EAAQ,WAAW;GAC5B,kBAAkB,EAAQ,oBAAoB;GAC9C,sBAAuB,EAAQ,wBAAmD,EAAE;GACpF,WAAW,EAAQ;GACnB,qBAAqB,EAAQ,uBAAuB,KAAA;GACpD,oBAAoB,EAAQ,oBAAoB,KAAA;GAChD,KAAK,EAAQ,OAAO;GACpB,UAAU,EAAQ,YAAY;GAC9B,YAAY,EAAQ,cAAc;GAClC,SAAS;GACT,UAAW,EAAQ,YAAwC,EAAE;GAC7D,WAAW,EAAQ;GACnB,WAAW,EAAQ;GACnB,MAAM,EAAQ,OAAO;IAAE,IAAI,EAAQ,KAAK;IAAI,MAAM,EAAQ,KAAK;IAAM,GAAG,KAAA;GACxE,OAAO,EAAQ,QACX;IACE,IAAI,EAAQ,MAAM;IAClB,MAAM,EAAQ,MAAM;IACpB,WAAW,EAAQ,MAAM,aAAa;IACtC,UAAU,EAAQ,MAAM;IACzB,GACD,KAAA;GACL;GACD,EACD,CAAC,IAAe,UAAU,MAAM,CAAC;AAsDpC,CAnDA,QAAgB;AACV,KAAkB,WAAW,EAAS,WAAW,KAAK,EAAa,WAAW,MAClF,GAAkB,UAAU,IAWvB,QAAQ,WACX,EAAa,IAAI,OAAO,MAAQ;GAC9B,IAAM,IAAU,EAAS,MAAM,MAAM,EAAE,OAAO,EAAI,UAAU;AACvD,SACL,KAAI;IACF,IAAM,IAAS,MAAM,EAAqB,EAAE,WAAW,EAAE,IAAI,EAAI,WAAW,EAAE,CAAC,EACzE,IAAa,EAAQ,OAAO,aAAa,MACzC,IAAS,GACb,EAAO,MAAM,sBAAsB,WAAW,MAC9C,EACD;AACD,OAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,EAAI,YAChB;KAAE,GAAG;KAAG,aAAa;KAAQ,SAAS;KAAO,OAAO;KAAM,GAC1D,EACL,CACF;YACM,GAAK;AAMZ,IADA,QAAQ,KAAK,sDAAsD,EAAI,EACvE,GAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,EAAI,aAAa,EAAQ,UACrC;KAAE,GAAG;KAAG,aAAa,EAAQ;KAAS,SAAS;KAAO,GACtD,EACL,CACF;;IAEH,CACH;IACA;EAAC;EAAU;EAAc;EAAqB,CAAC,EAIlD,QAAgB;AAEd,MAAI,CAAC,KAAiB,CAAC,GAAiB;AACtC,KAAuB,UAAU;AACjC;;AAIF,MAAI,EAAuB,YAAY,QAAQ,GAAiB;AAC9D,KAAuB,UAAU;AACjC;;AAIF,MAAI,EAAuB,YAAY,EACrC;AAGF,IAAuB,UAAU;EAGjC,IAAM,IAAU,EAAS,MAAM,MAAM,EAAE,OAAO,EAAgB;AACzD,QAKL,KAFoB,EAAa,MAAM,MAAM,EAAE,cAAc,EAAgB,CAK3E,CADA,EAAqB,EAAgB,EACrC,EAAqB,GAAM;OACtB;GAEL,IAAM,IAAM,EAAQ,WAAW,MACzB,IAAsB;IAC1B,WAAW,EAAQ;IACnB,MAAM,EAAQ;IACd,aAAa;IACb,SAAS,CAAC;IACV,OAAO;IACR;AAMD,GALA,GAAiB,MAAS,CAAC,GAAG,GAAM,EAAO,CAAC,EAC5C,EAAqB,EAAgB,EACrC,EAAqB,GAAM,EAGtB,KACH,EAAqB,EAAE,WAAW,EAAE,IAAI,EAAQ,IAAI,EAAE,CAAC,CACpD,MAAM,MAAW;IAChB,IAAM,IAAS,EAAO,MAAM,sBAAsB,WAAW;AAC7D,OAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,EAAQ,KACpB;KACE,GAAG;KACH,aAAa;KACb,SAAS;KACT,OAAO,IACH,OACA,EACE,iCACA,4DACD;KACN,GACD,EACL,CACF;KACD,CACD,OAAO,MAAQ;IACd,IAAM,IACJ,aAAe,QACX,EAAI,UACJ,EAAG,gCAAgC,2BAA2B;AACpE,OAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,EAAQ,KAAK;KAAE,GAAG;KAAG,SAAS;KAAO,OAAO;KAAS,GAAG,EACzE,CACF;KACD;;IAGP;EAAC;EAAiB;EAAU;EAAc;EAAe;EAAqB,CAAC;CAGlF,IAAM,IAAmB,QAChB,EAAS,QAAQ,MAAY;AAClC,MAAI,GAAa;GACf,IAAM,IAAQ,EAAY,aAAa;AAKvC,OAAI,EAHF,EAAQ,KAAK,aAAa,CAAC,SAAS,EAAM,IAC1C,EAAQ,SAAS,aAAa,CAAC,SAAS,EAAM,IAC9C,EAAQ,kBAAkB,aAAa,CAAC,SAAS,EAAM,EACrC,QAAO;;AAG7B,SADA,EAAI,MAAe,UAAU,EAAQ;GAErC,EACD;EAAC;EAAU;EAAa;EAAW,CAAC,EAGjC,KAAyB,GAAa,MAAsB;AAChE,KAAuB,MAAS;GAC9B,IAAM,IAAO,IAAI,IAAI,EAAK;AAM1B,UALI,EAAK,IAAI,EAAU,GACrB,EAAK,OAAO,EAAU,GAEtB,EAAK,IAAI,EAAU,EAEd;IACP;IACD,EAAE,CAAC,EAEA,KAAoB,QAAkB;AAC1C,IAAsB,IAAI,IAAI,EAAiB,KAAK,MAAM,EAAE,GAAG,CAAC,CAAC;IAChE,CAAC,EAAiB,CAAC,EAEhB,KAAsB,QAAkB;AAC5C,oBAAsB,IAAI,KAAK,CAAC;IAC/B,EAAE,CAAC,EAEA,KACJ,EAAiB,SAAS,KAAK,EAAmB,SAAS,EAAiB,QACxE,KAAe,EAAmB,OAAO,GAGzC,KAAiB,EAAY,YAAY;AACzC,QAAmB,SAAS,GAChC;KAAe,GAAK;AACpB,OAAI;IAEF,IAAM,KADS,MAAM,GAAiB,EAAE,WAAW,EAAE,KAAK,MAAM,KAAK,EAAmB,EAAE,EAAE,CAAC,EACzE,MAAM;AAO1B,IANA,EACE,GAAG,EAAG,oBAAoB,UAAU,CAAC,GAAG,GAAM,aAAa,EAAE,GAAG,EAAG,gBAAgB,WAAW,GAC5F,GAAM,SAAS,KAAK,EAAK,OAAO,GAAG,EAAG,mBAAmB,SAAS,KAAK,KAE1E,EACD,kBAAsB,IAAI,KAAK,CAAC,EAChC,iBAAiB,EAAkB,KAAK,EAAE,IAAK;YACxC,GAAK;AAMZ,IALA,EACE,GAAG,EAAG,wBAAwB,QAAQ,CAAC,IACrC,aAAe,QAAQ,EAAI,UAAU,EAAG,uBAAuB,0BAA0B,GAE5F,EACD,iBAAiB,EAAkB,KAAK,EAAE,IAAK;aACvC;AACR,MAAe,GAAM;;;IAEtB;EAAC;EAAoB;EAAkB;EAAG,CAAC,EAExC,KAAoB,EAAY,YAAY;AAC5C,QAAmB,SAAS,GAChC;KAAe,GAAK;AACpB,OAAI;IAIF,IAAM,KAHS,MAAM,GAAoB,EACvC,WAAW,EAAE,KAAK,MAAM,KAAK,EAAmB,EAAE,EACnD,CAAC,EACkB,MAAM;AAO1B,IANA,EACE,GAAG,EAAG,sBAAsB,YAAY,CAAC,GAAG,GAAM,aAAa,EAAE,GAAG,EAAG,gBAAgB,WAAW,GAChG,GAAM,SAAS,KAAK,EAAK,OAAO,GAAG,EAAG,mBAAmB,SAAS,KAAK,KAE1E,EACD,kBAAsB,IAAI,KAAK,CAAC,EAChC,iBAAiB,EAAkB,KAAK,EAAE,IAAK;YACxC,GAAK;AAQZ,IAPA,EACE,GAAG,EAAG,wBAAwB,QAAQ,CAAC,IACrC,aAAe,QACX,EAAI,UACJ,EAAG,0BAA0B,6BAA6B,GAEjE,EACD,iBAAiB,EAAkB,KAAK,EAAE,IAAK;aACvC;AACR,MAAe,GAAM;;;IAEtB;EAAC;EAAoB;EAAqB;EAAG,CAAC,EAE3C,KAAsB,EAAY,YAAY;AAC9C,QAAmB,SAAS,KAE7B,QACC,GAAG,EAAG,gCAAgC,kCAAkC,CAAC,GAAG,EAAmB,KAAK,GAAG,EAAG,gBAAgB,aAAa,CAAC,IAAI,EAAG,gCAAgC,yBAAyB,GACzM,EAGH;KAAe,GAAK;AACpB,OAAI;IAIF,IAAM,KAHS,MAAM,GAAsB,EACzC,WAAW,EAAE,KAAK,MAAM,KAAK,EAAmB,EAAE,EACnD,CAAC,EACkB,MAAM;AAO1B,IANA,EACE,GAAG,EAAG,oBAAoB,UAAU,CAAC,GAAG,GAAM,aAAa,EAAE,GAAG,EAAG,gBAAgB,WAAW,GAC5F,GAAM,SAAS,KAAK,EAAK,OAAO,GAAG,EAAG,mBAAmB,SAAS,KAAK,KAE1E,EACD,kBAAsB,IAAI,KAAK,CAAC,EAChC,iBAAiB,EAAkB,KAAK,EAAE,IAAK;YACxC,GAAK;AAQZ,IAPA,EACE,GAAG,EAAG,wBAAwB,QAAQ,CAAC,IACrC,aAAe,QACX,EAAI,UACJ,EAAG,yBAAyB,4BAA4B,GAE/D,EACD,iBAAiB,EAAkB,KAAK,EAAE,IAAK;aACvC;AACR,MAAe,GAAM;;;IAEtB;EAAC;EAAoB;EAAuB;EAAG,CAAC,EAG7C,MAAuB,MAAqB;AAChD,KAAS,aAAa,EAAQ,KAAK;IAG/B,WAA4B;AAEhC,EADA,EAAe,KAAK,EACpB,EAAkB,GAAK;IAGnB,KAA4B,YAAY;EAC5C,IAAM,IAAO,GAAe,SAAS,OAAO,MAAM,EAC5C,IAAS,IACT,IAAkB,IAClB,IAAO,GACP,IAAU,GAAkB,SAAS,OAAO,MAAM,EAClD,KAAY,GAAoB,SAAS,WAAW;AAE1D,MAAI,CAAC,GAAM;AACT,KAAe,EAAG,yBAAyB,mBAAmB,CAAC;AAC/D;;EAIF,IAAM,KADe,EAAY,MAAM,MAAM,EAAE,OAAO,EAAO,EAC/B,WAAW;AACzC,MAAI,CAAC,IAAS;AACZ,KAAe,EAAG,0BAA0B,2CAA2C,CAAC;AACxF;;EASF,IAAM,IAAW,GAAmB,IAAI,GAAQ;AAChD,MAAI,KAAY,CAAC,EAAS,SAAS;AACjC,KACE,EACE,4BACA,+GACD,IAAI,EAAS,QAAQ,KAAK,EAAS,MAAM,KAAK,IAChD;AACD;;AAIF,EADA,GAAiB,GAAK,EACtB,EAAe,KAAK;AACpB,MAAI;GACF,IAAM,IAAsB,GAAuB,SAAS,OAAO,MAAM,IAAI,KAAA,GACvE,IAAS,MAAM,GAAc,EACjC,WAAW,EACT,OAAO;IACL;IACA,MAAO,KAAQ;IAQf,SAAS,KAAW,KAAA;IACpB,QAAQ,KAAU,KAAA;IAClB;IACA;IACA;IACD,EACF,EACF,CAAC;AAKF,GAJA,EAAkB,GAAM,EACxB,EAAkB,EAAG,2BAA2B,+BAA+B,CAAC,EAChF,iBAAiB,EAAkB,KAAK,EAAE,IAAK,EAE3C,MAAa,cAAc,EAAO,MAAM,iBAwB1C,EAvB4B;IAC1B,IAAI,EAAO,KAAK,cAAc;IAC9B,aAAa,EAAO,KAAK,cAAc;IACvC,QAAQ,EAAO,KAAK,cAAc,UAAU;IAC5C,SAAS,EAAO,KAAK,cAAc,WAAW;IAC9C,MAAM,EAAO,KAAK,cAAc;IAChC,MAAM,EAAO,KAAK,cAAc;IAChC,QAAQ,EAAO,KAAK,cAAc;IAClC,SAAS,EAAO,KAAK,cAAc,WAAW;IAC9C,kBAAkB,EAAO,KAAK,cAAc,oBAAoB;IAChE,sBACG,EAAO,KAAK,cAAc,wBAAmD,EAAE;IAClF,WAAW,EAAO,KAAK,cAAc;IACrC,qBAAqB,EAAO,KAAK,cAAc,uBAAuB,KAAA;IACtE,oBAAoB,EAAO,KAAK,cAAc,oBAAoB,KAAA;IAClE,KAAK,EAAO,KAAK,cAAc,OAAO;IACtC,UAAU,EAAO,KAAK,cAAc,YAAY;IAChD,YAAY,EAAO,KAAK,cAAc,cAAc;IACpD,SAAS,EAAO,KAAK,cAAc,WAAW;IAC9C,UAAW,EAAO,KAAK,cAAc,YAAwC,EAAE;IAC/E,WAAW,EAAO,KAAK,cAAc;IACrC,WAAW,EAAO,KAAK,cAAc;IACtC,CAC6B;WAEzB,GAAK;AACZ,OAAI,EAAsB,EAAI,EAAE;AAE9B,IADA,EAAkB,GAAM,EACxB,EAAsB,GAAK;AAC3B;;AAGF,KACE,aAAe,QAAQ,EAAI,UAAU,EAAG,yBAAyB,2BAA2B,CAC7F;YACO;AACR,MAAiB,GAAM;;IAIrB,KAAqB,OAAO,MAAqB;AACrD,MAAI;AAEF,GADA,MAAM,GAAa,EAAE,WAAW,EAAE,IAAI,EAAQ,IAAI,EAAE,CAAC,EACrD,KAAiB;IACf,IAAI,EAAQ;IACZ,MAAM,EAAQ;IACd,MAAM,EAAQ;IACd,QAAQ;IACT,CAAC;WACK,GAAK;AACZ,OAAI,EAAsB,EAAI,EAAE;AAC9B,MAAsB,GAAK;AAC3B;;AAGF,WAAQ,MAAM,4BAA4B,EAAI;;IAI5C,KAAoB,OAAO,MAAqB;AACpD,MAAI;AACF,SAAM,GAAY,EAAE,WAAW,EAAE,IAAI,EAAQ,IAAI,EAAE,CAAC;WAC7C,GAAK;AACZ,WAAQ,MAAM,2BAA2B,EAAI;;IAI3C,KAAuB,OAAO,MAAqB;AACvD,MAAI;AACF,SAAM,GAAe,EAAE,WAAW,EAAE,IAAI,EAAQ,IAAI,EAAE,CAAC;WAChD,GAAK;AACZ,OAAI,EAAsB,EAAI,EAAE;AAC9B,MAAsB,GAAK;AAC3B;;AAGF,WAAQ,MAAM,8BAA8B,EAAI;;IAI9C,KAAyB,OAAO,MAAqB;AACzD,MAAI;AACF,SAAM,GAAiB,EAAE,WAAW,EAAE,IAAI,EAAQ,IAAI,EAAE,CAAC;WAClD,GAAK;AACZ,WAAQ,MAAM,gCAAgC,EAAI;;IAIhD,KAAiB,GAAa,MAC3B,EAAQ,WAAW,MACzB,EAAE,CAAC,EAGA,KAAqB,GAAa,MAAqB;AAC3D,KAAgB,EAAQ;IACvB,EAAE,CAAC,EAEA,IAAqB,EACzB,OAAO,MAAqB;AAE1B,MADoB,EAAa,MAAM,MAAM,EAAE,cAAc,EAAQ,GAAG,EACvD,aAAa;AAE5B,GADA,EAAqB,EAAQ,GAAG,EAChC,EAAqB,GAAM;AAC3B;;EAGF,IAAM,IAAM,GAAe,EAAQ;AAEnC,MAAI,GAAK;GACP,IAAM,IAAsB;IAC1B,WAAW,EAAQ;IACnB,MAAM,EAAQ;IACd,aAAa;IACb,SAAS;IACT,OAAO;IACR;AAMD,GALA,GAAiB,MAER,CAAC,GADS,EAAK,QAAQ,MAAM,EAAE,cAAc,EAAQ,GAAG,EAC1C,EAAO,CAC5B,EACF,EAAqB,EAAQ,GAAG,EAChC,EAAqB,GAAM;AAC3B;;EAGF,IAAM,IAA0B;GAC9B,WAAW,EAAQ;GACnB,MAAM,EAAQ;GACd,aAAa;GACb,SAAS;GACT,OAAO;GACR;AAMD,EALA,GAAiB,MAER,CAAC,GADS,EAAK,QAAQ,MAAM,EAAE,cAAc,EAAQ,GAAG,EAC1C,EAAW,CAChC,EACF,EAAqB,EAAQ,GAAG,EAChC,EAAqB,GAAM;AAE3B,MAAI;GACF,IAAM,IAAS,MAAM,EAAqB,EAAE,WAAW,EAAE,IAAI,EAAQ,IAAI,EAAE,CAAC;AAC5E,OAAI,EAAO,SAAS,EAAsB,EAAO,MAAM,EAAE;IACvD,IAAM,IAAgB,EAAa,QAAQ,MAAM,EAAE,cAAc,EAAQ,GAAG;AAO5E,IANA,EAAgB,EAAc,EAC1B,MAAsB,EAAQ,MAChC,EACE,EAAc,SAAS,IAAI,EAAc,EAAc,SAAS,GAAG,YAAY,KAChF,EAEH,EAAsB,GAAK;AAC3B;;GAWF,IAAM,IAAS,GAHA,EAAO,MAAM,sBAAsB,WAAW,MAC1C,EAAS,MAAM,MAAM,EAAE,OAAO,EAAQ,GAAG,EAC7B,OAAO,aAAa,KACW;AAC9D,MAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,EAAQ,KACpB;IACE,GAAG;IACH,aAAa;IACb,SAAS;IACT,OAAO,IACH,OACA,EACE,uCACA,mEACD;IACN,GACD,EACL,CACF;WACM,GAAK;AACZ,OAAI,EAAsB,EAAI,EAAE;IAC9B,IAAM,IAAgB,EAAa,QAAQ,MAAM,EAAE,cAAc,EAAQ,GAAG;AAO5E,IANA,EAAgB,EAAc,EAC1B,MAAsB,EAAQ,MAChC,EACE,EAAc,SAAS,IAAI,EAAc,EAAc,SAAS,GAAG,YAAY,KAChF,EAEH,EAAsB,GAAK;AAC3B;;GAGF,IAAM,IACJ,aAAe,QACX,EAAI,UACJ,EAAG,gCAAgC,2BAA2B;AACpE,MAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,EAAQ,KAAK;IAAE,GAAG;IAAG,SAAS;IAAO,OAAO;IAAS,GAAG,EACzE,CACF;;IAGL;EAAC;EAAmB;EAAc;EAAgB;EAAqB,CACxE;AAED,SAAgB;AAEd,MADI,CAAC,KAAiB,CAAC,KACnB,EAAa,MAAM,MAAQ,EAAI,cAAc,EAAkB,CAAE;EAErE,IAAM,IAAU,EAAS,MAAM,MAAS,EAAK,OAAO,EAAkB;AACtE,EAAI,KACG,EAAmB,EAAQ;IAEjC;EAAC;EAAmB;EAAoB;EAAU;EAAc;EAAc,CAAC;CAElF,IAAM,KAAyB,GAC5B,MAAsB;AAErB,EADA,GAAiB,MAAS,EAAK,QAAQ,MAAM,EAAE,cAAc,EAAU,CAAC,EACpE,MAAsB,KACxB,QAA2B;GACzB,IAAM,IAAY,EAAa,QAAQ,MAAM,EAAE,cAAc,EAAU;AACvE,UAAO,EAAU,SAAS,IAAI,EAAU,EAAU,SAAS,GAAG,YAAY;IAC1E;IAGN,CAAC,GAAmB,EAAa,CAClC,EAEK,KAA6B,GAChC,MAAsB;EACrB,IAAM,IAAM,EAAa,MAAM,MAAM,EAAE,cAAc,EAAU;AAC/D,EAAI,GAAK,eAAa,OAAO,KAAK,EAAI,aAAa,SAAS;IAE9D,CAAC,EAAa,CACf,EAEK,KAAsB,EAC1B,OAAO,GAAmB,MAAoB;AAC5C,MAAI;AAEF,GADA,MAAM,GAAc,EAAE,WAAW;IAAE,IAAI;IAAW,OAAO,EAAE,MAAM,GAAS;IAAE,EAAE,CAAC,EAC/E,GAAiB,MACf,EAAK,KAAK,MAAO,EAAE,cAAc,IAAY;IAAE,GAAG;IAAG,MAAM;IAAS,GAAG,EAAG,CAC3E;WACM,GAAK;AACZ,WAAQ,MAAM,6BAA6B,EAAI;;IAGnD,CAAC,GAAc,CAChB,EAEK,KAAqB,EACzB,OAAO,MAAsB;AAC3B,MAAI;AAEF,GADA,MAAM,GAAoB,EAAE,WAAW,EAAE,IAAI,GAAW,EAAE,CAAC,EAC3D,GAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,IACZ;IACE,GAAG;IACH,aAAa;IACb,OAAO,EAAG,4BAA4B,mBAAmB;IAC1D,GACD,EACL,CACF;WACM,GAAK;AACZ,WAAQ,MAAM,4BAA4B,EAAI;;IAGlD,CAAC,GAAoB,CACtB,EAEK,KAAwB,EAC5B,OAAO,MAAsB;EAC3B,IAAM,IAAc,EAAa,MAAM,MAAM,EAAE,cAAc,EAAU,IAAI;AAE3E,MAAI;AACF,MAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,IAAY;IAAE,GAAG;IAAG,SAAS;IAAM,OAAO;IAAM,aAAa;IAAM,GAAG,EACvF,CACF;GACD,IAAM,IAAS,MAAM,GAAuB,EAAE,WAAW,EAAE,IAAI,GAAW,EAAE,CAAC;AAC7E,OAAI,EAAO,SAAS,EAAsB,EAAO,MAAM,EAAE;AAavD,IAZA,GAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,IACZ;KACE,GAAG;KACH,SAAS;KACT,OAAO;KACP,aAAa,GAAa,eAAe,EAAE;KAC5C,GACD,EACL,CACF,EACD,EAAsB,GAAK;AAC3B;;GAGF,IAAM,IAAS,EAAO,MAAM,wBAAwB,WAAW;AAC/D,MAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,IACZ;IACE,GAAG;IACH,aAAa;IACb,SAAS;IACT,OAAO,IACH,OACA,EACE,mCACA,0CACD;IACN,GACD,EACL,CACF;WACM,GAAK;AACZ,OAAI,EAAsB,EAAI,EAAE;AAa9B,IAZA,GAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,IACZ;KACE,GAAG;KACH,SAAS;KACT,OAAO;KACP,aAAa,GAAa,eAAe,EAAE;KAC5C,GACD,EACL,CACF,EACD,EAAsB,GAAK;AAC3B;;GAGF,IAAM,IACJ,aAAe,QACX,EAAI,UACJ,EAAG,kCAAkC,6BAA6B;AACxE,MAAiB,MACf,EAAK,KAAK,MACR,EAAE,cAAc,IAAY;IAAE,GAAG;IAAG,SAAS;IAAO,OAAO;IAAS,GAAG,EACxE,CACF;;IAGL,CAAC,IAAwB,EAAa,CACvC,EAGK,KAAkC,QAAkB;AACxD,MAA0B,MAAS,CAAC,EAAK;IACxC,EAAE,CAAC,EAGA,IAAQ;EACZ,OAAO,EAAS;EAChB,SAAS,EAAS,QAAQ,MAAM,EAAE,WAAW,UAAU,CAAC;EACxD,SAAS,EAAS,QAAQ,MAAM,EAAE,WAAW,UAAU,CAAC;EACzD;AAGD,KACE,CAAC,MACD,MACA,GAAY,mBAAmB,SAAS,KACxC,CAAC,GAED,QACE,kBAAC,GAAD;EAAY,WAAU;YACpB,kBAAC,IAAD;GACE,OAAO,EAAG,4BAA4B,gBAAgB;GACtD,aAAa,EACX,oCACA,8CACD;GACD,SAAS,EAAG,+BAA+B,oCAAoC;GAC/E,CAAA;EACS,CAAA;AAKjB,KADsB,KAAW,CAAC,MAAgB,EAAS,WAAW,EAEpE,QACE,kBAAC,GAAD;EAAY,WAAU;YACpB,kBAAC,IAAD,EAAc,SAAS,EAAG,oBAAoB,sBAAsB,EAAI,CAAA;EAC7D,CAAA;AAIjB,KAAI,MAAS,EAAS,WAAW,EAC/B,QACE,kBAAC,GAAD;EAAY,WAAU;YACpB,kBAAC,IAAD;GACE,OAAO,EAAG,uBAAuB,0BAA0B;GAC3D,SAAS,GAAM;GACf,eAAe,GAAS;GACxB,CAAA;EACS,CAAA;CAKjB,IAAM,WACA,CAAC,MAAgB,MAAa,aAAmB,OAEnD,kBAAC,OAAD;EAAK,WAAU;YAAf,CACE,kBAAC,QAAD;GAAM,WAAU;aACb,EACC,EAAmB,SAAS,IACxB,kCACA,iCACJ,EAAmB,SAAS,IACxB,+BACA,+BACJ,EAAE,OAAO,EAAmB,MAAM,CACnC;GACI,CAAA,EACP,kBAAC,OAAD;GAAK,WAAU;aAAf;IACE,kBAAC,UAAD;KACE,SAAS;KACT,UAAU;KACV,WAAU;eAHZ;MAKE,kBAAC,IAAD,EAAQ,WAAU,WAAY,CAAA;;MAAE,EAAG,iBAAiB,OAAO;MACpD;;IACT,kBAAC,UAAD;KACE,SAAS;KACT,UAAU;KACV,WAAU;eAHZ;MAKE,kBAAC,IAAD,EAAW,WAAU,WAAY,CAAA;;MAAE,EAAG,oBAAoB,UAAU;MAC7D;;IACT,kBAAC,UAAD;KACE,SAAS;KACT,UAAU;KACV,WAAU;eAHZ;MAKE,kBAAC,IAAD,EAAQ,WAAU,WAAY,CAAA;;MAAE,EAAG,mBAAmB,SAAS;MACxD;;IACT,kBAAC,UAAD;KACE,SAAS;KACT,WAAU;eAFZ;MAIE,kBAAC,IAAD,EAAS,WAAU,WAAY,CAAA;;MAAE,EAAG,qBAAqB,WAAW;MAC7D;;IACL;KACF;;AAKV,KAAI,MAAa,WACf,QACE,kBAAC,GAAD;EAAY,WAAU;YAAtB;GACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,MAAD;MAAI,WAAU;gBACX,EAAG,gBAAgB,WAAW;MAC5B,CAAA,EACL,kBAAC,QAAD;MAAM,WAAU;gBACb,EAAG,2BAA2B,yCAAyC;OACtE,SAAS,EAAM;OACf,OAAO,EAAM;OACd,CAAC;MACG,CAAA,CACH;QACN,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,UAAD;OACE,eAAe,IAAoB,CAAC,WAAW,GAAS,CAAC;OACzD,WAAU;OACV,OAAO,EAAG,wBAAwB,uBAAuB;iBAEzD,kBAAC,IAAD,EAAU,WAAU,eAAgB,CAAA;OAC7B,CAAA;MACT,kBAAC,UAAD;OACE,eAAe,GAAS;OACxB,UAAU;OACV,WAAU;OACV,OAAO,EAAG,kBAAkB,UAAU;iBAEtC,kBAAC,IAAD,EAAW,WAAW,eAAe,IAAU,iBAAiB,MAAQ,CAAA;OACjE,CAAA;MACT,kBAAC,OAAD;OAAK,WAAU;iBAAf;QACE,kBAAC,UAAD;SACE,eAAe,EAAY,WAAW;SACtC,WAAU;SACV,OAAO,EAAG,8BAA8B,gBAAgB;mBAExD,kBAAC,IAAD,EAAS,WAAU,mCAAoC,CAAA;SAChD,CAAA;QACT,kBAAC,UAAD;SACE,eAAe,EAAY,OAAO;SAClC,WAAU;SACV,OAAO,EAAG,0BAA0B,YAAY;mBAEhD,kBAAC,IAAD,EAAM,WAAU,mCAAoC,CAAA;SAC7C,CAAA;QACT,kBAAC,UAAD;SACE,eAAe,EAAY,OAAO;SAClC,WAAU;SACV,OAAO,EAAG,0BAA0B,YAAY;mBAEhD,kBAAC,IAAD,EAAM,WAAU,mCAAoC,CAAA;SAC7C,CAAA;QACL;;MACF;OACF;;GAGN,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,IAAD;KAAsB,sBAAsB;KAAM,YAAY;KAAK,CAAA;IAC/D,CAAA;GAEN,kBAAC,IAAD;IACE,MAAM;IACN,aAAa;IACb,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,YAAY;IACW;IACvB,6BAA6B;IAC7B,iBAAiB,KAAA;IACjB,CAAA;GAED,KACC,kBAAC,OAAD;IAAK,WAAU;cACZ;IACG,CAAA;GAEP,MAAkB,IAAmB;GACrC,IAAsB;GACZ;;AAKjB,QACE,kBAAC,GAAD;EAAY,WAAU;YAAtB;GACE,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,IAAD;MACE,OAAO,EAAG,gBAAgB,WAAW;MACrC,aAAa,EAAG,4BAA4B,6CAA6C;OACvF,SAAS,EAAM;OACf,OAAO,EAAM;OACd,CAAC;MACF,SACE,kBAAC,OAAD;OAAK,WAAU;iBAAf;QACE,kBAAC,UAAD;SACE,eAAe,IAAoB,CAAC,WAAW,GAAS,CAAC;SACzD,WAAU;SACV,OAAO,EAAG,wBAAwB,uBAAuB;mBAEzD,kBAAC,IAAD,EAAU,WAAU,WAAY,CAAA;SACzB,CAAA;QACT,kBAAC,UAAD;SACE,eAAe,GAAS;SACxB,UAAU;SACV,WAAU;SACV,OAAO,EAAG,yBAAyB,mBAAmB;mBAEtD,kBAAC,IAAD,EAAW,WAAW,WAAW,IAAU,iBAAiB,MAAQ,CAAA;SAC7D,CAAA;QACT,kBAAC,IAAD;SAAkB,YAAY,GAAiB;mBAC7C,kBAAC,UAAD;UACE,eAAe,GAAsB,GAAK;UAC1C,WAAU;UACV,eAAY;UACZ,OAAO,EACL,6BACA,oFACD;oBAPH,CASE,kBAAC,IAAD,EAAW,WAAU,WAAY,CAAA,EAChC,EAAG,sBAAsB,YAAY,CAC/B;;SACQ,CAAA;QACnB,kBAAC,IAAD;SAAkB,YAAY,GAAiB;mBAC7C,kBAAC,UAAD;UACE,SAAS;UACT,WAAU;oBAFZ,CAIE,kBAAC,IAAD,EAAM,WAAU,WAAY,CAAA,EAC3B,EAAG,uBAAuB,cAAc,CAClC;;SACQ,CAAA;QACf;;MAER,CAAA;KAGF,kBAAC,IAAD;MAAsB,sBAAsB;MAAM,YAAY;MAAK,CAAA;KAGnE,kBAAC,OAAD;MAAK,aAAU;MAAmB,WAAU;gBAA5C,CAEE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,IAAD;QACE,OAAO;QACP,UAAU;QACV,aAAa,EAAG,8BAA8B,qBAAqB;QACnE,WAAU;QACV,CAAA,EAEF,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,UAAD;UACE,eAAe,EAAY,WAAW;UACtC,WAAU;UACV,OAAO,EAAG,8BAA8B,gBAAgB;oBAExD,kBAAC,IAAD,EAAS,WAAU,+BAAgC,CAAA;UAC5C,CAAA;SACT,kBAAC,UAAD;UACE,eAAe,EAAY,OAAO;UAClC,WAAW,wBAAyB,MAA0B,SAAS,4BAA4B;UACnG,OAAO,EAAG,0BAA0B,YAAY;oBAEhD,kBAAC,IAAD,EAAM,WAAU,+BAAgC,CAAA;UACzC,CAAA;SACT,kBAAC,UAAD;UACE,eAAe,EAAY,OAAO;UAClC,WAAW,wBAAyB,MAA0B,SAAS,4BAA4B;UACnG,OAAO,EAAG,0BAA0B,YAAY;oBAEhD,kBAAC,IAAD,EAAM,WAAU,+BAAgC,CAAA;UACzC,CAAA;SACL;UACF;UAGN,kBAAC,OAAD;OAAK,WAAU;iBAAf;QACE,kBAAC,GAAD;SACE,OAAO,EAAG,yBAAyB,SAAS;SAC5C,OAAO;SACP,SAAS;SACT,UAAU;SACV,CAAA;QACF,kBAAC,GAAD;SACE,OAAO,EAAG,uBAAuB,OAAO;SACxC,OAAO;SACP,SAAS;SACT,UAAU;SACV,CAAA;QACF,kBAAC,GAAD;SACE,OAAO,EAAG,uBAAuB,OAAO;SACxC,OAAO;SACP,SAAS;SACT,UAAU;SACV,CAAA;QACF,kBAAC,GAAD;SACE,OAAO,EAAG,wBAAwB,QAAQ;SAC1C,OAAO;SACP,SAAS;SACT,UAAU;SACV,CAAA;QACE;SACF;;KAGN,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,UAAD;QACE,eAAe,GAAgB,UAAU;QACzC,WAAW,8EACT,MAAiB,YACb,kDACA;kBALR;SAQE,kBAAC,IAAD,EAAM,WAAU,WAAY,CAAA;;SAAE,EAAG,oBAAoB,UAAU;SAAC;SAAG,EAAM;SAAQ;SAC1E;;OACT,kBAAC,UAAD;QACE,eAAe,GAAgB,UAAU;QACzC,WAAW,8EACT,MAAiB,YACb,qCACA;kBALR;SAQE,kBAAC,IAAD,EAAQ,WAAU,WAAY,CAAA;;SAAE,EAAG,yBAAyB,UAAU;SAAC;SAAG,EAAM;SAAQ;SAEjF;;OACT,kBAAC,OAAD;QAAK,WAAU;kBACZ,EAAiB,SAAS,KACzB,kBAAC,UAAD;SACE,SAAS,KAAgB,KAAsB;SAC/C,WAAU;mBAFZ,CAIE,kBAAC,IAAD,EAAa,WAAU,eAAgB,CAAA,EACtC,KACG,EAAG,wBAAwB,eAAe,GAC1C,EAAG,sBAAsB,aAAa,CACnC;;QAEP,CAAA;OACF;;KAGL,IAAqB;KAGrB,KACD,MAAiB,SACjB,MAAe,SACf,MAAe,SACf,MAAgB,QACd,kBAAC,KAAD;MAAG,WAAU;gBAAb;OACG,EAAG,oBAAoB,UAAU;OAAC;OAAE,EAAiB;OAAO;OAAE,EAAG,eAAe,KAAK;OAAE;OACvF,EAAS;OAAO;OAAE,EAAG,gBAAgB,WAAW;OAChD,KACC,kBAAC,QAAD;QAAM,WAAU;kBAAhB;SAAuC;SACnC,EAAG,uBAAuB,gBAAgB;SAAC;SACxC;;OAEP;UACF;KAGJ,kBAAC,IAAD;MAAiB,MAAK;gBACnB,EAAiB,SAAS,IACzB,MAAa,SACX,kBAAC,IAAD;OAEE,SAAS;OACT,WAAU;iBAET,EAAiB,KAAK,MACrB,kBAAC,IAAD,EAAA,UACE,kBAAC,IAAD;QACW;QACT,QAAQ;QACR,SAAS;QACT,QAAQ;QACR,WAAW;QACX,gBAAgB;QAChB,SAAS;QACT,UAAU,EAAmB,IAAI,EAAQ,GAAG;QAC5C,sBAAsB,GAAuB,EAAQ,GAAG;QACxD,CAAA,EACS,EAZI,EAAQ,GAYZ,CACb;OACS,EAnBP,YAmBO,GAEb,kBAAC,IAAD,EAAA,UACE,kBAAC,IAAD;OACE,UAAU;OACV,QAAQ;OACR,SAAS;OACT,QAAQ;OACR,WAAW;OACX,aAAa;OACb,gBAAgB;OAChB,SAAS;OACT,aAAa;OACb,gBAAgB;OAChB,aAAa;OACb,eAAe;OACf,CAAA,EACS,EAfG,YAeH,GAGf,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,IAAD;QAAkB,SAAQ;QAAU,YAAW;QAAuC,CAAA,EACtF,kBAAC,IAAD;QACE,MAAM,kBAAC,IAAD,EAAU,WAAU,+BAAgC,CAAA;QAC1D,OACE,KACA,MAAiB,SACjB,MAAe,SACf,MAAe,SACf,MAAgB,QACZ,EAAG,uBAAuB,oBAAoB,GAC9C,EAAG,4BAA4B,yBAAyB;QAE9D,aACE,KACA,MAAiB,SACjB,MAAe,SACf,MAAe,SACf,MAAgB,QACZ,EAAG,8BAA8B,uCAAuC,GACxE,EACE,6BACA,uFACD;QAEP,QACE,CAAC,KACD,MAAiB,SACjB,MAAe,SACf,MAAe,SACf,MAAgB,QACd,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACG,MACC,kBAAC,UAAD;UACE,SAAS;UACT,WAAU;oBAFZ;WAIE,kBAAC,IAAD,EAAM,WAAU,WAAY,CAAA;;WAAE,EAAG,uBAAuB,cAAc;WAC/D;aAEX,kBAAC,IAAD,EAAe,QAAO,6DAA8D,CAAA,CAChF;aACJ,KAAA;QAEN,CAAA,CACE;;MAEQ,CAAA;KAEjB,KACC,kBAAC,OAAD;MAAK,WAAU;gBACZ;MACG,CAAA;KAEJ;;GAGL,EAAa,SAAS,KACrB,kBAAC,IAAD;IACE,MAAM;IACN,aAAa;IACb,aAAa;IACb,YAAY;IACZ,gBAAgB;IAChB,wBAAwB,GAAsB,MAAS,CAAC,EAAK;IAC7D,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,gBAAgB;IAChB,mBAAmB;IACnB,aAAY;IACW;IACvB,6BAA6B;IAC7B,iBAAiB,KAAA;IACjB,CAAA;GAGH,MAAkB,IAAmB;GACrC,IAAsB;GAGtB,MACC,kBAAC,IAAD;IACE,SAAS;IACT,QAAQ,CAAC,CAAC;IACV,eAAe,GAAgB,KAAK;IACpC,CAAA;GAGJ,kBAAC,IAAD;IACE,QAAQ;IACR,eAAe,EAAsB,GAAM;IAC3C,iBAAiB;AAEf,KADA,EAAsB,GAAM,EAC5B,GAAS,WAAW;;IAEtB,OAAO,GAAsB,UAAU,CAAC;IACxC,SAAS,GAAsB,UAAU,CAAC;IAC1C,cAAa;IACb,aAAY;IACZ,SAAQ;IACR,CAAA;GACS;;CAGf,SAAS,KAAuB;AAC9B,MAAI,CAAC,GAAoB,QAAO;EAChC,IAAM,IAAU,IAAa,uBAAuB,EAAE;AACtD,SACE,kBAAC,OAAD;GACE,WAAU;GACV,eAAY;aAEZ,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,MAAD;MAAI,WAAU;gBACX,EAAG,2BAA2B,4BAA4B;MACxD,CAAA;KACL,kBAAC,KAAD;MAAG,WAAU;gBACV,EACC,0BACA,oLACD;MACC,CAAA;KACJ,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;QAAO,WAAU;kBACd,EAAG,kBAAkB,QAAQ;QACxB,CAAA,EACR,kBAAC,GAAD;QACE,SAAS;QACT,OAAO;QACP,WAAW,MAAO;AAGhB,SAFA,GAAoB,EAAG,EACvB,EAAkB,KAAK,EACnB,KAAS,GAAgB,EAAE,WAAW,EAAE,SAAS,GAAI,EAAE,CAAC;;QAE9D,aAAa,EAAG,wBAAwB,kBAAkB;QAC1D,mBAAmB,EAAG,yBAAyB,mBAAmB;QAClE,WAAA;QACA,CAAA,CACE,EAAA,CAAA;OACL,MACC,kBAAC,OAAD;QACE,WAAU;QACV,eAAY;kBAEX;QACG,CAAA;OAEP,KACC,kBAAC,OAAD;QAAK,eAAY;QAA0B,WAAU;kBAClD,KACC,kBAAC,OAAD;SAAK,WAAU;mBACZ,EAAG,yBAAyB,mBAAmB;SAC5C,CAAA,GACJ,EAAQ,WAAW,IACrB,kBAAC,OAAD;SAAK,WAAU;mBACZ,EAAG,sBAAsB,iDAAiD;SACvE,CAAA,GAEN,EAAQ,KACL,MAOC,kBAAC,OAAD;SAEE,WAAU;SACV,eAAY;mBAHd,CAKE,kBAAC,OAAD;UAAK,WAAU;oBAAf,CACE,kBAAC,OAAD;WAAK,WAAU;qBACZ,EAAE;WACC,CAAA,EACN,kBAAC,OAAD;WAAK,WAAU;qBAAf;YACG,EAAE;YAAS;YAAI,EAAE;YAAQ;YAAQ,EAAE,YAAY,IAAU,KAAN;YACnD,EAAE,WAAW,gBAAgB;YAC7B,EAAE,YAAY,cAAc,EAAE,cAAc;YACzC;aACF;aACN,kBAAC,UAAD;UACE,MAAK;UACL,UAAU,OAA0B,EAAE;UACtC,SAAS,YAAY;AAEnB,WADA,GAAyB,EAAE,aAAa,EACxC,EAAkB,KAAK;AACvB,eAAI;AASF,YARA,MAAM,GAAkB,EACtB,WAAW;aACT,SAAS;aACT,cAAc,EAAE;aAChB,MAAM,EAAE;aACT,EACF,CAAC,EAEF,MAAM,GAAgB,EACpB,WAAW,EAAE,SAAS,GAAkB,EACzC,CAAC;oBACK,GAAG;AACV,cAAkB,aAAa,QAAQ,EAAE,UAAU,OAAO,EAAE,CAAC;qBACrD;AACR,eAAyB,KAAK;;;UAGlC,WAAU;UACV,eAAa,4BAA4B,EAAE;oBAE1C,OAA0B,EAAE,eACzB,EAAG,qBAAqB,YAAY,GACpC,EAAG,kBAAkB,QAAQ;UAC1B,CAAA,CACL;WA7CC,EAAE,aA6CH,CAET;QAEC,CAAA;OAEJ;;KACN,kBAAC,OAAD;MAAK,WAAU;gBACb,kBAAC,UAAD;OACE,eAAe;AAEb,QADA,GAAsB,GAAM,EAC5B,EAAkB,KAAK;;OAEzB,WAAU;iBAET,EAAG,gBAAgB,QAAQ;OACrB,CAAA;MACL,CAAA;KACF;;GACF,CAAA;;CAIV,SAAS,KAAoB;AAC3B,SACE,kBAAC,OAAD;GAAK,WAAU;aACb,kBAAC,OAAD;IAAK,WAAU;cAAf;KACE,kBAAC,MAAD;MAAI,WAAU;gBACX,EAAG,uBAAuB,cAAc;MACtC,CAAA;KACL,kBAAC,OAAD;MAAK,WAAU;gBAAf;OACG,MACC,kBAAC,OAAD;QAAK,WAAU;kBACZ;QACG,CAAA;OAER,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;QAAO,WAAU;kBACd,EAAG,iBAAiB,OAAO;QACtB,CAAA,EACR,kBAAC,SAAD;QACE,KAAK;QACL,MAAK;QACL,aAAa,EAAG,4BAA4B,aAAa;QACzD,WAAU;QACV,CAAA,CACE,EAAA,CAAA;OACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;QAAO,WAAU;kBACd,EAAG,uBAAuB,OAAO;QAC5B,CAAA,EACR,kBAAC,GAAD;QACE,SAAS;QACT,OAAO;QACP,UAAU;QACV,aAAa,EAAG,mBAAmB,UAAU;QAC7C,mBAAmB,EAAG,wBAAwB,kBAAkB;QAChE,WAAA;QACA,CAAA,CACE,EAAA,CAAA;OACN,kBAAC,OAAD,EAAA,UAAA;QACE,kBAAC,SAAD;SAAO,WAAU;mBACd,EAAG,wBAAwB,QAAQ;SAC9B,CAAA;QACR,kBAAC,GAAD;SACE,SAAS;SACT,OAAO;SACP,UAAU;SACV,aAAa,EAAG,wBAAwB,kBAAkB;SAC1D,mBAAmB,EAAG,yBAAyB,mBAAmB;SAClE,WAAA;SACA,CAAA;QACF,kBAAC,KAAD;SAAG,WAAU;mBACV,EACC,sBACA,yFACD;SACC,CAAA;QACA,EAAA,CAAA;OACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;QAAO,WAAU;kBACd,EAAG,uBAAuB,OAAO;QAC5B,CAAA,EACR,kBAAC,GAAD;QACE,SAAS;QACT,OAAO;QACP,UAAU;QACV,aAAa,EAAG,uBAAuB,cAAc;QACrD,mBAAmB,EAAG,wBAAwB,kBAAkB;QAChE,CAAA,CACE,EAAA,CAAA;OACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,SAAD;QAAO,WAAU;kBACd,EAAG,oBAAoB,UAAU;QAC5B,CAAA,EACR,kBAAC,SAAD;QACE,KAAK;QACL,MAAK;QACL,aAAa,EAAG,+BAA+B,cAAc;QAC7D,WAAU;QACV,CAAA,CACE,EAAA,CAAA;OACN,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,SAAD;SACE,KAAK;SACL,MAAK;SACL,IAAG;SACH,WAAU;SACV,CAAA,EACF,kBAAC,SAAD;SAAO,SAAQ;SAAY,WAAU;mBAClC,EAAG,8BAA8B,uBAAuB;SACnD,CAAA,CACJ;;QACJ,MAAa,UAAU,MAAa,aAAa,MAAa,aAC9D,kBAAC,OAAD;QACE,WAAU;QACV,eAAY;kBAFd,CAIE,kBAAC,UAAD;SACE,MAAK;SACL,eAAe,IAAqB,MAAM,CAAC,EAAE;SAC7C,WAAU;SACV,iBAAe;mBAJjB,CAME,kBAAC,QAAD,EAAA,UAAO,EAAG,qBAAqB,mBAAmB,EAAQ,CAAA,EAC1D,kBAAC,QAAD;UAAM,WAAU;oBAA8B,KAAmB,MAAM;UAAW,CAAA,CAC3E;YACR,MACC,kBAAC,OAAD;SAAK,WAAU;mBAAf;UACE,kBAAC,SAAD;WAAO,WAAU;qBACd,EAAG,gCAAgC,wCAAwC;WACtE,CAAA;UACR,kBAAC,SAAD;WACE,KAAK;WACL,MAAK;WACL,eAAY;WACZ,aACE,MAAa,YACT,oDACA,MAAa,WACX,iDACA;WAER,WAAU;WACV,CAAA;UACF,kBAAC,KAAD;WAAG,WAAU;qBACV,EACC,+BACA,mHACD;WACC,CAAA;UACA;WAEJ;;OAEJ;;KACN,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,UAAD;OACE,eAAe,EAAkB,GAAM;OACvC,UAAU;OACV,WAAU;iBAET,EAAG,iBAAiB,SAAS;OACvB,CAAA,EACT,kBAAC,UAAD;OACE,SAAS;OACT,UAAU;OACV,WAAU;iBAET,KACG,EAAG,qBAAqB,cAAc,GACtC,EAAG,0BAA0B,iBAAiB;OAC3C,CAAA,CACL;;KACF;;GACF,CAAA"}
|
|
@@ -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"}
|