@burdenoff/microfe-vibecontrols 2026.1008.2 → 2026.1010.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1983) hide show
  1. package/dist/VibeControlsRoot.js +0 -2
  2. package/dist/VibeControlsRoutes.js +0 -2
  3. package/dist/components/actions/ActionCard.js +0 -2
  4. package/dist/components/actions/ActionForm.js +0 -2
  5. package/dist/components/actions/ActionSchedulesList.js +0 -2
  6. package/dist/components/actions/ActionTypeBadge.js +0 -2
  7. package/dist/components/actions/ActionWebhookEndpoint.js +0 -2
  8. package/dist/components/actions/ExecutionHistory.js +0 -2
  9. package/dist/components/actions/RemoteExecutionEnableNotice.js +0 -2
  10. package/dist/components/agent-manager/AgentManagerAdminBar.js +0 -2
  11. package/dist/components/agent-manager/AgentManagerBookmarksDrawer.js +0 -2
  12. package/dist/components/agent-manager/AgentManagerBulkActions.js +0 -2
  13. package/dist/components/agent-manager/AgentManagerCenter.js +0 -2
  14. package/dist/components/agent-manager/AgentManagerChatPane.js +0 -2
  15. package/dist/components/agent-manager/AgentManagerDetailPanel.js +0 -2
  16. package/dist/components/agent-manager/AgentManagerInputArea.js +0 -2
  17. package/dist/components/agent-manager/AgentManagerLayout.js +0 -2
  18. package/dist/components/agent-manager/AgentManagerMessageItem.js +0 -2
  19. package/dist/components/agent-manager/AgentManagerMessageList.js +0 -2
  20. package/dist/components/agent-manager/AgentManagerSessionItem.js +0 -2
  21. package/dist/components/agent-manager/AgentManagerSessionList.js +0 -2
  22. package/dist/components/agent-manager/AgentManagerSidebar.js +0 -2
  23. package/dist/components/agent-manager/AgentManagerStreamingIndicator.js +0 -2
  24. package/dist/components/agent-manager/AgentManagerTab.js +0 -2
  25. package/dist/components/agent-manager/AgentManagerTabBar.js +0 -2
  26. package/dist/components/agent-manager/BridleConfigPanel.js +0 -2
  27. package/dist/components/agent-manager/ChatInsertPicker.js +0 -2
  28. package/dist/components/agent-manager/FilePickerModal.js +0 -2
  29. package/dist/components/agent-manager/PluginInstallModal.js +0 -2
  30. package/dist/components/agent-manager/ProfilesPanel.js +0 -2
  31. package/dist/components/agent-manager/controls/AutonomySelector.js +0 -2
  32. package/dist/components/agent-manager/controls/ContextLevelToggle.js +0 -2
  33. package/dist/components/agent-manager/controls/FileAttachButton.js +0 -2
  34. package/dist/components/agent-manager/controls/McpServerSelector.js +0 -2
  35. package/dist/components/agent-manager/controls/ModelSelector.js +0 -2
  36. package/dist/components/agent-manager/controls/SdkSelector.js +0 -2
  37. package/dist/components/agent-manager/controls/VoiceToggle.js +0 -2
  38. package/dist/components/agent-manager/controls/createDropHandlers.js +0 -2
  39. package/dist/components/agent-manager/detail/SessionConfigPanel.js +0 -2
  40. package/dist/components/agent-manager/detail/SessionLogsPanel.js +0 -2
  41. package/dist/components/agent-manager/detail/SessionStatsPanel.js +0 -2
  42. package/dist/components/agent-manager/detail/SessionToolsPanel.js +0 -2
  43. package/dist/components/agent-manager/dialogs/ExportSessionDialog.js +0 -2
  44. package/dist/components/agent-manager/dialogs/NewSessionDialog.js +0 -2
  45. package/dist/components/agent-manager/dialogs/RenameSessionDialog.js +0 -2
  46. package/dist/components/agent-manager/dialogs/SessionSearchDialog.js +0 -2
  47. package/dist/components/agent-manager/modelDefaults.js +0 -2
  48. package/dist/components/agents/AgentCard.js +0 -2
  49. package/dist/components/agents/AgentConnectionRecovery.js +0 -2
  50. package/dist/components/agents/AgentForm.js +0 -2
  51. package/dist/components/agents/AgentList.js +0 -2
  52. package/dist/components/agents/AgentMaintenanceTab.js +0 -2
  53. package/dist/components/agents/AgentStatusBadge.js +0 -2
  54. package/dist/components/agents/AgentStorageConfig.js +0 -2
  55. package/dist/components/agents/AgentVisibilityCard.js +0 -2
  56. package/dist/components/agents/ConfigureAgentDialog.js +0 -2
  57. package/dist/components/agents/ConnectionLogPanel.js +0 -2
  58. package/dist/components/agents/CreateSessionDialog.js +0 -2
  59. package/dist/components/agents/GatewayAuthCard.js +0 -2
  60. package/dist/components/agents/OpenInBrowserEditorButton.js +0 -2
  61. package/dist/components/agents/OpenInEditorMenu.js +0 -2
  62. package/dist/components/agents/PluginUIPanel.js +0 -2
  63. package/dist/components/agents/RemoteTaskPermissionsCard.js +0 -2
  64. package/dist/components/agents/VibeOpenInEditorMenu.js +0 -2
  65. package/dist/components/agents/agentStatus.js +0 -2
  66. package/dist/components/agents/backup/AgentBackupTab.js +0 -2
  67. package/dist/components/agents/idePresets.js +0 -2
  68. package/dist/components/ai/AIContextsTab.js +0 -2
  69. package/dist/components/ai/AIKeysTab.js +0 -2
  70. package/dist/components/ai/AIModeToggle.js +0 -2
  71. package/dist/components/ai/AIOverviewTab.js +0 -2
  72. package/dist/components/ai/AIPlanPanel.js +0 -2
  73. package/dist/components/ai/AIPlaygroundTab.js +0 -2
  74. package/dist/components/ai/AIPromptsTab.js +0 -2
  75. package/dist/components/ai/AIProviderCredentialsCard.js +0 -2
  76. package/dist/components/ai/AIQueueTab.js +0 -2
  77. package/dist/components/ai/AISessionsTab.js +0 -2
  78. package/dist/components/ai/AIStatsTab.js +0 -2
  79. package/dist/components/ai/AITasksTab.js +0 -2
  80. package/dist/components/ai/AITemplatesTab.js +0 -2
  81. package/dist/components/ai/AiSectionTabs.js +0 -2
  82. package/dist/components/ai/BridleTab.js +0 -2
  83. package/dist/components/ai/ClaudeCredentialsCard.js +0 -2
  84. package/dist/components/ai/InstructionFilesManager.js +0 -2
  85. package/dist/components/ai/PluginHarnessPicker.js +0 -2
  86. package/dist/components/ai/aiProviderCredentials.js +0 -2
  87. package/dist/components/aliases/AliasManager.js +0 -2
  88. package/dist/components/aliases/aliasReservedNames.js +0 -2
  89. package/dist/components/analytics/AnalyticsBreakdownChart.js +0 -2
  90. package/dist/components/analytics/AnalyticsBreakdownTable.js +0 -2
  91. package/dist/components/analytics/AnalyticsEntityTabs.js +0 -2
  92. package/dist/components/analytics/AnalyticsFilterBar.js +0 -2
  93. package/dist/components/analytics/AnalyticsKpiGrid.js +0 -2
  94. package/dist/components/analytics/AnalyticsTimeSeriesChart.js +0 -2
  95. package/dist/components/analytics/SandboxAnalyticsSection.js +0 -2
  96. package/dist/components/analytics/types.js +0 -2
  97. package/dist/components/assistant/AIAssistantPanel.js +0 -2
  98. package/dist/components/assistant/AiCreditsMeter.js +0 -2
  99. package/dist/components/assistant/ProductMarkdown.js +0 -2
  100. package/dist/components/assistant/assistantProduct.js +0 -2
  101. package/dist/components/assistant/recordAdapters.js +0 -2
  102. package/dist/components/audit/AuditExportButton.js +0 -2
  103. package/dist/components/audit/AuditLogDetail.js +0 -2
  104. package/dist/components/audit/AuditLogFilters.js +0 -2
  105. package/dist/components/audit/AuditLogStats.js +0 -2
  106. package/dist/components/audit/AuditLogTable.js +0 -2
  107. package/dist/components/catalog/CatalogCard.js +0 -2
  108. package/dist/components/catalog/CatalogForm.js +0 -2
  109. package/dist/components/common/ActionAgentTargetNotice.js +0 -2
  110. package/dist/components/common/CommandEditor.js +0 -2
  111. package/dist/components/common/actionAgentTarget.js +0 -2
  112. package/dist/components/common/commandHighlight.js +0 -2
  113. package/dist/components/components/ComponentHealthCell.js +0 -2
  114. package/dist/components/components/ComponentTierBadge.js +0 -2
  115. package/dist/components/components/ComponentsTable.js +0 -2
  116. package/dist/components/docs/DocsCompileStatus.js +0 -2
  117. package/dist/components/docs/DocsEditPanel.js +0 -2
  118. package/dist/components/docs/DocsEmptyState.js +0 -2
  119. package/dist/components/docs/DocsFullScreenViewer.js +0 -2
  120. package/dist/components/docs/DocsPageEditor.js +0 -2
  121. package/dist/components/docs/DocsPageTree.js +0 -2
  122. package/dist/components/docs/DocsPreviewPanel.js +0 -2
  123. package/dist/components/docs/DocsRevisionHistory.js +0 -2
  124. package/dist/components/docs/DocsSettingsPanel.js +0 -2
  125. package/dist/components/docs/DocsTabPanel.js +0 -2
  126. package/dist/components/docs/previewHtml.js +0 -2
  127. package/dist/components/docs/types.js +0 -2
  128. package/dist/components/gitops/CIDurationChart.js +0 -2
  129. package/dist/components/gitops/CIFailedRuns.js +0 -2
  130. package/dist/components/gitops/CIPipelineRunsTable.js +0 -2
  131. package/dist/components/gitops/CISuccessRateChart.js +0 -2
  132. package/dist/components/gitops/CITab.js +0 -2
  133. package/dist/components/gitops/CIWorkflowList.js +0 -2
  134. package/dist/components/gitops/GitOpsProviderPicker.js +0 -2
  135. package/dist/components/gitops/GitOpsSetup.js +0 -2
  136. package/dist/components/gitops/GitOpsSkeleton.js +0 -2
  137. package/dist/components/gitops/GitOpsStatusBadge.js +0 -2
  138. package/dist/components/gitops/ProviderIcon.js +0 -2
  139. package/dist/components/gitops/RepoActivityCard.js +0 -2
  140. package/dist/components/gitops/RepoIssuesCard.js +0 -2
  141. package/dist/components/gitops/RepoLanguagesCard.js +0 -2
  142. package/dist/components/gitops/RepoOverviewCard.js +0 -2
  143. package/dist/components/gitops/RepoPullRequestsCard.js +0 -2
  144. package/dist/components/gitops/RepoSecurityCard.js +0 -2
  145. package/dist/components/gitops/RepoStatsTab.js +0 -2
  146. package/dist/components/gitops/VibeGitOpsTab.js +0 -2
  147. package/dist/components/gitops/types.js +0 -2
  148. package/dist/components/graph/ConnectionPermissionsDialog.js +0 -2
  149. package/dist/components/graph/MeshAgentNode.js +0 -2
  150. package/dist/components/graph/MeshDeployWizard.js +0 -2
  151. package/dist/components/graph/MeshGraphView.js +0 -2
  152. package/dist/components/graph/MeshNodeActions.js +0 -2
  153. package/dist/components/graph/MeshRequestPanel.js +0 -2
  154. package/dist/components/graph/meshTypes.js +0 -2
  155. package/dist/components/graph/nodeIcons.js +0 -2
  156. package/dist/components/idp-components/ComponentCard.js +0 -2
  157. package/dist/components/idp-components/ComponentForm.js +0 -2
  158. package/dist/components/idp-components/DependencyGraphTab.js +0 -2
  159. package/dist/components/logs/LogViewer.js +0 -2
  160. package/dist/components/notes/NoteCard.js +0 -2
  161. package/dist/components/notes/NoteEditor.js +0 -2
  162. package/dist/components/notes/NoteList.js +0 -2
  163. package/dist/components/notes/NotesTabPanel.js +0 -2
  164. package/dist/components/overview/FleetActivityAreaChart.js +0 -2
  165. package/dist/components/overview/FleetActivityChart.js +0 -2
  166. package/dist/components/overview/FleetHealthCard.js +0 -2
  167. package/dist/components/overview/QuickActionsCard.js +0 -2
  168. package/dist/components/overview/useFleetAnalytics.js +0 -2
  169. package/dist/components/plugins/AddTabDialog.js +0 -2
  170. package/dist/components/plugins/FleetRolloutDialog.js +0 -2
  171. package/dist/components/plugins/PluginIframeMount.js +0 -2
  172. package/dist/components/plugins/useFleetPluginMatrix.js +0 -2
  173. package/dist/components/scorecard/MetricTrend.js +0 -2
  174. package/dist/components/scorecard/ScorecardEmptyState.js +0 -2
  175. package/dist/components/scorecard/ScorecardPanel.js +0 -2
  176. package/dist/components/scorecard/ScorecardsOverviewPanel.js +0 -2
  177. package/dist/components/scorecard/scorecardConstants.js +0 -2
  178. package/dist/components/security/SecurityRunButton.js +0 -2
  179. package/dist/components/security/SecurityScanList.js +0 -2
  180. package/dist/components/security/SecurityTabPanel.js +0 -2
  181. package/dist/components/security/agentClient.js +0 -2
  182. package/dist/components/security/hooks.js +0 -2
  183. package/dist/components/security/types.js +0 -2
  184. package/dist/components/sessions/CollaboratorsList.js +0 -2
  185. package/dist/components/sessions/ControlStatusBar.js +0 -2
  186. package/dist/components/sessions/EntityInfoPopover.js +0 -2
  187. package/dist/components/sessions/SessionCard.js +0 -2
  188. package/dist/components/sessions/SessionGroup.js +0 -2
  189. package/dist/components/sessions/SessionInfoPanel.js +0 -2
  190. package/dist/components/sessions/SessionList.js +0 -2
  191. package/dist/components/sessions/SessionPublicLinkPanel.js +0 -2
  192. package/dist/components/sessions/SessionShareDialog.js +0 -2
  193. package/dist/components/sessions/SessionStatusBadge.js +0 -2
  194. package/dist/components/sessions/SessionWorkbenchDrawer.js +0 -2
  195. package/dist/components/sessions/SessionsCommandPalette.js +0 -2
  196. package/dist/components/sessions/SharedTerminalPanel.js +0 -2
  197. package/dist/components/sessions/ShortcutCheatsheet.js +0 -2
  198. package/dist/components/sessions/TerminalIframe.js +0 -2
  199. package/dist/components/sessions/TerminalPanel.js +0 -2
  200. package/dist/components/sessions/groupSessions.js +0 -2
  201. package/dist/components/sessions/sessionShortcuts.js +0 -2
  202. package/dist/components/settings/AdvancedSection.js +0 -2
  203. package/dist/components/settings/IdePreferencesSection.js +0 -2
  204. package/dist/components/settings/NotificationsSection.js +0 -2
  205. package/dist/components/settings/SettingsForm.js +0 -2
  206. package/dist/components/settings/WorkspaceDefaultsSection.js +0 -2
  207. package/dist/components/shared/ActionMenu.js +0 -2
  208. package/dist/components/shared/AgentEventsConnector.js +0 -2
  209. package/dist/components/shared/AgentSelector.js +0 -2
  210. package/dist/components/shared/AgentSetupBanner.js +0 -2
  211. package/dist/components/shared/Card.js +0 -2
  212. package/dist/components/shared/ConfirmDialog.js +0 -2
  213. package/dist/components/shared/EmptyState.js +0 -2
  214. package/dist/components/shared/EnableRemoteTaskDialog.js +0 -2
  215. package/dist/components/shared/EntityTagPicker.js +0 -2
  216. package/dist/components/shared/EntityVibeLinkControl.js +0 -2
  217. package/dist/components/shared/ErrorState.js +0 -2
  218. package/dist/components/shared/FilterDropdown.js +0 -2
  219. package/dist/components/shared/GetHelpButton.js +0 -2
  220. package/dist/components/shared/InstallTabs.js +0 -2
  221. package/dist/components/shared/LinkToVibePanel.js +0 -2
  222. package/dist/components/shared/LoadingState.js +0 -2
  223. package/dist/components/shared/MotionTabPanel.js +0 -2
  224. package/dist/components/shared/NotificationToast.js +0 -2
  225. package/dist/components/shared/PageHeader.js +0 -2
  226. package/dist/components/shared/PageSkeleton.js +0 -2
  227. package/dist/components/shared/PlatformIcon.js +0 -2
  228. package/dist/components/shared/PluginGate.js +0 -2
  229. package/dist/components/shared/PromptDialog.js +0 -2
  230. package/dist/components/shared/QuotaExhaustedDialog.js +0 -2
  231. package/dist/components/shared/RequireAgentReachable.js +0 -2
  232. package/dist/components/shared/SearchInput.js +0 -2
  233. package/dist/components/shared/SearchableSelect.js +0 -2
  234. package/dist/components/shared/SelectionCheckbox.js +0 -2
  235. package/dist/components/shared/SessionNotificationBanner.js +0 -2
  236. package/dist/components/shared/StatCard.js +0 -2
  237. package/dist/components/shared/StatusBadge.js +0 -2
  238. package/dist/components/shared/TagFilter.js +0 -2
  239. package/dist/components/shared/cardMotion.js +0 -2
  240. package/dist/components/shared/platformIconPaths.js +0 -2
  241. package/dist/components/sharing/EntityShareButton.js +0 -2
  242. package/dist/components/sharing/NoteShareDialog.js +0 -2
  243. package/dist/components/sharing/SharedWithMePanel.js +0 -2
  244. package/dist/components/sharing/VibeShareButton.js +0 -2
  245. package/dist/components/sharing/entityShareOps.js +0 -2
  246. package/dist/components/sharing/shareControllerTypes.js +0 -2
  247. package/dist/components/sharing/shareRegistry.js +0 -2
  248. package/dist/components/sharing/useEntityShareController.js +0 -2
  249. package/dist/components/sharing/useNoteShareController.js +0 -2
  250. package/dist/components/sharing/useVibeShareController.js +0 -2
  251. package/dist/components/targets/TargetCard.js +0 -2
  252. package/dist/components/templates/PublishTemplateForm.js +0 -2
  253. package/dist/components/templates/TemplateCard.js +0 -2
  254. package/dist/components/templates/TemplateVariableEditor.js +0 -2
  255. package/dist/components/templates/TemplateWizard.js +0 -2
  256. package/dist/components/tunnels/DomainVerificationBadge.js +0 -2
  257. package/dist/components/tunnels/ProviderBadge.js +0 -2
  258. package/dist/components/tunnels/TunnelCard.js +0 -2
  259. package/dist/components/tunnels/TunnelConnectionCard.js +0 -2
  260. package/dist/components/tunnels/TunnelCopyButton.js +0 -2
  261. package/dist/components/tunnels/TunnelCreateWizard.js +0 -2
  262. package/dist/components/tunnels/TunnelMetricTiles.js +0 -2
  263. package/dist/components/tunnels/TunnelPublicAccessPanel.js +0 -2
  264. package/dist/components/tunnels/TunnelSparkline.js +0 -2
  265. package/dist/components/tunnels/TunnelStatusBadge.js +0 -2
  266. package/dist/components/tunnels/tunnelEndpoints.js +0 -2
  267. package/dist/components/tunnels/tunnelMetrics.js +0 -2
  268. package/dist/components/vibe/VibeAgentEmptyState.js +0 -2
  269. package/dist/components/vibe/VibeAgentSwitcher.js +0 -2
  270. package/dist/components/vibe/VibeEnvVarsPanel.js +0 -2
  271. package/dist/components/vibe/VibeLinkedEntitiesPanel.js +0 -2
  272. package/dist/components/vibe/VibeLlmContextAdminPanel.js +0 -2
  273. package/dist/components/vibe/VibeLlmContextTabPanel.js +0 -2
  274. package/dist/components/vibecalendar/LogsDrawer.js +0 -2
  275. package/dist/components/vibecalendar/ScheduleTaskModal.js +0 -2
  276. package/dist/components/vibecalendar/VibeCalAgendaView.js +0 -2
  277. package/dist/components/vibecalendar/VibeCalDayView.js +0 -2
  278. package/dist/components/vibecalendar/VibeCalMonthView.js +0 -2
  279. package/dist/components/vibecalendar/VibeCalWeekView.js +0 -2
  280. package/dist/components/vibecalendar/VibeCalendarHeader.js +0 -2
  281. package/dist/components/vibecalendar/VibeTaskBlock.js +0 -2
  282. package/dist/components/vibecalendar/expandOccurrences.js +0 -2
  283. package/dist/components/vibecalendar/types.js +0 -2
  284. package/dist/components/vibedeck/VibeDeckButtonForm.js +0 -2
  285. package/dist/components/vibedeck/VibeDeckButtonTile.js +0 -2
  286. package/dist/components/vibedeck/VibeDeckExecutionLog.js +0 -2
  287. package/dist/components/vibedeck/VibeDeckForm.js +0 -2
  288. package/dist/components/vibedeck/VibeDeckGrid.js +0 -2
  289. package/dist/components/vibedeck/VibeDeckPublicLinkPanel.js +0 -2
  290. package/dist/components/vibedeck/VibeDeckShareDialog.js +0 -2
  291. package/dist/components/vibedeck/VibeDeckSwitcher.js +0 -2
  292. package/dist/components/vibes/DeleteVibeDialog.js +0 -2
  293. package/dist/components/vibes/VibeCard.js +0 -2
  294. package/dist/components/vibes/VibeList.js +0 -2
  295. package/dist/components/vibes/icons.js +0 -2
  296. package/dist/components/webhooks/types.js +0 -2
  297. package/dist/config/assistantUsecases.js +0 -2
  298. package/dist/config/index.js +0 -2
  299. package/dist/constants/aiTabs.js +0 -2
  300. package/dist/constants/permissions.js +0 -2
  301. package/dist/constants/pluginCatalog.js +0 -2
  302. package/dist/generated/wspace-operations.js +0 -2
  303. package/dist/generated/wspace-types.js +0 -2
  304. package/dist/hooks/useActiveAgentProfile.js +0 -2
  305. package/dist/hooks/useAgentConnectivity.js +0 -2
  306. package/dist/hooks/useAgentEvents.js +0 -2
  307. package/dist/hooks/useAgentManagerKeyboard.js +0 -2
  308. package/dist/hooks/useAgentManagerStreaming.js +0 -2
  309. package/dist/hooks/useAiCreditsQuota.js +0 -2
  310. package/dist/hooks/useCachedInitialData.js +0 -2
  311. package/dist/hooks/useDraftEntityTags.js +0 -2
  312. package/dist/hooks/useEntityTags.js +0 -2
  313. package/dist/hooks/useGitops.js +0 -2
  314. package/dist/hooks/useInitialDataLoader.js +0 -2
  315. package/dist/hooks/useOfferedAssistantMode.js +0 -2
  316. package/dist/hooks/useOpenAssistantHelp.js +0 -2
  317. package/dist/hooks/usePluginAvailability.js +0 -2
  318. package/dist/hooks/useQueryBackedTab.js +0 -2
  319. package/dist/hooks/useTenantContext.js +0 -2
  320. package/dist/hooks/useTerminalCapabilityUrl.js +0 -2
  321. package/dist/hooks/useToggleAgentBookmark.js +0 -2
  322. package/dist/hooks/useVoiceMode.js +0 -2
  323. package/dist/hooks/useWorkspaceWriteAccess.js +0 -2
  324. package/dist/lib/apolloCache.js +0 -2
  325. package/dist/lib/toast.js +0 -2
  326. package/dist/lib/vibeFeatures.js +0 -2
  327. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js +0 -2
  328. package/dist/node_modules/@apollo/client/errors/ServerError.js +0 -2
  329. package/dist/node_modules/@apollo/client/errors/ServerParseError.js +0 -2
  330. package/dist/node_modules/@apollo/client/errors/utils.js +0 -2
  331. package/dist/node_modules/@apollo/client/link/batch/batchLink.js +0 -2
  332. package/dist/node_modules/@apollo/client/link/batch/batching.js +0 -2
  333. package/dist/node_modules/@apollo/client/link/batch-http/BaseBatchHttpLink.js +0 -2
  334. package/dist/node_modules/@apollo/client/link/batch-http/batchHttpLink.js +0 -2
  335. package/dist/node_modules/@apollo/client/link/client-awareness/ClientAwarenessLink.js +0 -2
  336. package/dist/node_modules/@apollo/client/link/core/ApolloLink.js +0 -2
  337. package/dist/node_modules/@apollo/client/link/http/checkFetcher.js +0 -2
  338. package/dist/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js +0 -2
  339. package/dist/node_modules/@apollo/client/link/http/selectHttpOptionsAndBody.js +0 -2
  340. package/dist/node_modules/@apollo/client/link/http/selectURI.js +0 -2
  341. package/dist/node_modules/@apollo/client/link/utils/createOperation.js +0 -2
  342. package/dist/node_modules/@apollo/client/link/utils/filterOperationVariables.js +0 -2
  343. package/dist/node_modules/@apollo/client/utilities/caching/sizes.js +0 -2
  344. package/dist/node_modules/@apollo/client/utilities/graphql/print.js +0 -2
  345. package/dist/node_modules/@apollo/client/utilities/internal/caches.js +0 -2
  346. package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js +0 -2
  347. package/dist/node_modules/@apollo/client/utilities/internal/compact.js +0 -2
  348. package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js +0 -2
  349. package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js +0 -2
  350. package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js +0 -2
  351. package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js +0 -2
  352. package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js +0 -2
  353. package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js +0 -2
  354. package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js +0 -2
  355. package/dist/node_modules/@apollo/client/utilities/internal/memoize.js +0 -2
  356. package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js +0 -2
  357. package/dist/node_modules/@apollo/client/utilities/invariant/index.js +0 -2
  358. package/dist/node_modules/@apollo/client/version.js +0 -2
  359. package/dist/node_modules/@wry/caches/lib/weak.js +0 -2
  360. package/dist/node_modules/@wry/trie/lib/index.js +0 -2
  361. package/dist/node_modules/clsx/dist/clsx.js +0 -2
  362. package/dist/node_modules/d3-array/src/ascending.js +0 -2
  363. package/dist/node_modules/d3-array/src/bisect.js +0 -2
  364. package/dist/node_modules/d3-array/src/bisector.js +0 -2
  365. package/dist/node_modules/d3-array/src/descending.js +0 -2
  366. package/dist/node_modules/d3-array/src/max.js +0 -2
  367. package/dist/node_modules/d3-array/src/min.js +0 -2
  368. package/dist/node_modules/d3-array/src/number.js +0 -2
  369. package/dist/node_modules/d3-array/src/quantile.js +0 -2
  370. package/dist/node_modules/d3-array/src/quickselect.js +0 -2
  371. package/dist/node_modules/d3-array/src/range.js +0 -2
  372. package/dist/node_modules/d3-array/src/sort.js +0 -2
  373. package/dist/node_modules/d3-array/src/ticks.js +0 -2
  374. package/dist/node_modules/d3-color/src/color.js +0 -2
  375. package/dist/node_modules/d3-color/src/define.js +0 -2
  376. package/dist/node_modules/d3-format/src/defaultLocale.js +0 -2
  377. package/dist/node_modules/d3-format/src/exponent.js +0 -2
  378. package/dist/node_modules/d3-format/src/formatDecimal.js +0 -2
  379. package/dist/node_modules/d3-format/src/formatGroup.js +0 -2
  380. package/dist/node_modules/d3-format/src/formatNumerals.js +0 -2
  381. package/dist/node_modules/d3-format/src/formatPrefixAuto.js +0 -2
  382. package/dist/node_modules/d3-format/src/formatRounded.js +0 -2
  383. package/dist/node_modules/d3-format/src/formatSpecifier.js +0 -2
  384. package/dist/node_modules/d3-format/src/formatTrim.js +0 -2
  385. package/dist/node_modules/d3-format/src/formatTypes.js +0 -2
  386. package/dist/node_modules/d3-format/src/identity.js +0 -2
  387. package/dist/node_modules/d3-format/src/locale.js +0 -2
  388. package/dist/node_modules/d3-format/src/precisionFixed.js +0 -2
  389. package/dist/node_modules/d3-format/src/precisionPrefix.js +0 -2
  390. package/dist/node_modules/d3-format/src/precisionRound.js +0 -2
  391. package/dist/node_modules/d3-interpolate/src/array.js +0 -2
  392. package/dist/node_modules/d3-interpolate/src/basis.js +0 -2
  393. package/dist/node_modules/d3-interpolate/src/basisClosed.js +0 -2
  394. package/dist/node_modules/d3-interpolate/src/color.js +0 -2
  395. package/dist/node_modules/d3-interpolate/src/constant.js +0 -2
  396. package/dist/node_modules/d3-interpolate/src/date.js +0 -2
  397. package/dist/node_modules/d3-interpolate/src/number.js +0 -2
  398. package/dist/node_modules/d3-interpolate/src/numberArray.js +0 -2
  399. package/dist/node_modules/d3-interpolate/src/object.js +0 -2
  400. package/dist/node_modules/d3-interpolate/src/piecewise.js +0 -2
  401. package/dist/node_modules/d3-interpolate/src/rgb.js +0 -2
  402. package/dist/node_modules/d3-interpolate/src/round.js +0 -2
  403. package/dist/node_modules/d3-interpolate/src/string.js +0 -2
  404. package/dist/node_modules/d3-interpolate/src/value.js +0 -2
  405. package/dist/node_modules/d3-path/src/path.js +0 -2
  406. package/dist/node_modules/d3-scale/src/band.js +0 -2
  407. package/dist/node_modules/d3-scale/src/constant.js +0 -2
  408. package/dist/node_modules/d3-scale/src/continuous.js +0 -2
  409. package/dist/node_modules/d3-scale/src/diverging.js +0 -2
  410. package/dist/node_modules/d3-scale/src/identity.js +0 -2
  411. package/dist/node_modules/d3-scale/src/init.js +0 -2
  412. package/dist/node_modules/d3-scale/src/linear.js +0 -2
  413. package/dist/node_modules/d3-scale/src/log.js +0 -2
  414. package/dist/node_modules/d3-scale/src/nice.js +0 -2
  415. package/dist/node_modules/d3-scale/src/number.js +0 -2
  416. package/dist/node_modules/d3-scale/src/ordinal.js +0 -2
  417. package/dist/node_modules/d3-scale/src/pow.js +0 -2
  418. package/dist/node_modules/d3-scale/src/quantile.js +0 -2
  419. package/dist/node_modules/d3-scale/src/quantize.js +0 -2
  420. package/dist/node_modules/d3-scale/src/radial.js +0 -2
  421. package/dist/node_modules/d3-scale/src/sequential.js +0 -2
  422. package/dist/node_modules/d3-scale/src/sequentialQuantile.js +0 -2
  423. package/dist/node_modules/d3-scale/src/symlog.js +0 -2
  424. package/dist/node_modules/d3-scale/src/threshold.js +0 -2
  425. package/dist/node_modules/d3-scale/src/tickFormat.js +0 -2
  426. package/dist/node_modules/d3-scale/src/time.js +0 -2
  427. package/dist/node_modules/d3-scale/src/utcTime.js +0 -2
  428. package/dist/node_modules/d3-shape/src/area.js +0 -2
  429. package/dist/node_modules/d3-shape/src/array.js +0 -2
  430. package/dist/node_modules/d3-shape/src/constant.js +0 -2
  431. package/dist/node_modules/d3-shape/src/curve/basis.js +0 -2
  432. package/dist/node_modules/d3-shape/src/curve/basisClosed.js +0 -2
  433. package/dist/node_modules/d3-shape/src/curve/basisOpen.js +0 -2
  434. package/dist/node_modules/d3-shape/src/curve/bump.js +0 -2
  435. package/dist/node_modules/d3-shape/src/curve/linear.js +0 -2
  436. package/dist/node_modules/d3-shape/src/curve/linearClosed.js +0 -2
  437. package/dist/node_modules/d3-shape/src/curve/monotone.js +0 -2
  438. package/dist/node_modules/d3-shape/src/curve/natural.js +0 -2
  439. package/dist/node_modules/d3-shape/src/curve/step.js +0 -2
  440. package/dist/node_modules/d3-shape/src/line.js +0 -2
  441. package/dist/node_modules/d3-shape/src/math.js +0 -2
  442. package/dist/node_modules/d3-shape/src/noop.js +0 -2
  443. package/dist/node_modules/d3-shape/src/offset/expand.js +0 -2
  444. package/dist/node_modules/d3-shape/src/offset/none.js +0 -2
  445. package/dist/node_modules/d3-shape/src/offset/silhouette.js +0 -2
  446. package/dist/node_modules/d3-shape/src/offset/wiggle.js +0 -2
  447. package/dist/node_modules/d3-shape/src/order/none.js +0 -2
  448. package/dist/node_modules/d3-shape/src/path.js +0 -2
  449. package/dist/node_modules/d3-shape/src/point.js +0 -2
  450. package/dist/node_modules/d3-shape/src/stack.js +0 -2
  451. package/dist/node_modules/d3-shape/src/symbol/circle.js +0 -2
  452. package/dist/node_modules/d3-shape/src/symbol/cross.js +0 -2
  453. package/dist/node_modules/d3-shape/src/symbol/diamond.js +0 -2
  454. package/dist/node_modules/d3-shape/src/symbol/square.js +0 -2
  455. package/dist/node_modules/d3-shape/src/symbol/star.js +0 -2
  456. package/dist/node_modules/d3-shape/src/symbol/triangle.js +0 -2
  457. package/dist/node_modules/d3-shape/src/symbol/wye.js +0 -2
  458. package/dist/node_modules/d3-shape/src/symbol.js +0 -2
  459. package/dist/node_modules/d3-time/src/day.js +0 -2
  460. package/dist/node_modules/d3-time/src/duration.js +0 -2
  461. package/dist/node_modules/d3-time/src/hour.js +0 -2
  462. package/dist/node_modules/d3-time/src/interval.js +0 -2
  463. package/dist/node_modules/d3-time/src/millisecond.js +0 -2
  464. package/dist/node_modules/d3-time/src/minute.js +0 -2
  465. package/dist/node_modules/d3-time/src/month.js +0 -2
  466. package/dist/node_modules/d3-time/src/second.js +0 -2
  467. package/dist/node_modules/d3-time/src/ticks.js +0 -2
  468. package/dist/node_modules/d3-time/src/week.js +0 -2
  469. package/dist/node_modules/d3-time/src/year.js +0 -2
  470. package/dist/node_modules/d3-time-format/src/defaultLocale.js +0 -2
  471. package/dist/node_modules/d3-time-format/src/locale.js +0 -2
  472. package/dist/node_modules/dagre/index.js +0 -2
  473. package/dist/node_modules/dagre/lib/acyclic.js +0 -2
  474. package/dist/node_modules/dagre/lib/add-border-segments.js +0 -2
  475. package/dist/node_modules/dagre/lib/coordinate-system.js +0 -2
  476. package/dist/node_modules/dagre/lib/data/list.js +0 -2
  477. package/dist/node_modules/dagre/lib/debug.js +0 -2
  478. package/dist/node_modules/dagre/lib/graphlib.js +0 -2
  479. package/dist/node_modules/dagre/lib/greedy-fas.js +0 -2
  480. package/dist/node_modules/dagre/lib/layout.js +0 -2
  481. package/dist/node_modules/dagre/lib/lodash.js +0 -2
  482. package/dist/node_modules/dagre/lib/nesting-graph.js +0 -2
  483. package/dist/node_modules/dagre/lib/normalize.js +0 -2
  484. package/dist/node_modules/dagre/lib/order/add-subgraph-constraints.js +0 -2
  485. package/dist/node_modules/dagre/lib/order/barycenter.js +0 -2
  486. package/dist/node_modules/dagre/lib/order/build-layer-graph.js +0 -2
  487. package/dist/node_modules/dagre/lib/order/cross-count.js +0 -2
  488. package/dist/node_modules/dagre/lib/order/index.js +0 -2
  489. package/dist/node_modules/dagre/lib/order/init-order.js +0 -2
  490. package/dist/node_modules/dagre/lib/order/resolve-conflicts.js +0 -2
  491. package/dist/node_modules/dagre/lib/order/sort-subgraph.js +0 -2
  492. package/dist/node_modules/dagre/lib/order/sort.js +0 -2
  493. package/dist/node_modules/dagre/lib/parent-dummy-chains.js +0 -2
  494. package/dist/node_modules/dagre/lib/position/bk.js +0 -2
  495. package/dist/node_modules/dagre/lib/position/index.js +0 -2
  496. package/dist/node_modules/dagre/lib/rank/feasible-tree.js +0 -2
  497. package/dist/node_modules/dagre/lib/rank/index.js +0 -2
  498. package/dist/node_modules/dagre/lib/rank/network-simplex.js +0 -2
  499. package/dist/node_modules/dagre/lib/rank/util.js +0 -2
  500. package/dist/node_modules/dagre/lib/util.js +0 -2
  501. package/dist/node_modules/dagre/lib/version.js +0 -2
  502. package/dist/node_modules/decimal.js-light/decimal.js +0 -2
  503. package/dist/node_modules/eventemitter3/index.js +0 -2
  504. package/dist/node_modules/fast-equals/dist/es/index.js +0 -2
  505. package/dist/node_modules/graphlib/index.js +0 -2
  506. package/dist/node_modules/graphlib/lib/alg/components.js +0 -2
  507. package/dist/node_modules/graphlib/lib/alg/dfs.js +0 -2
  508. package/dist/node_modules/graphlib/lib/alg/dijkstra-all.js +0 -2
  509. package/dist/node_modules/graphlib/lib/alg/dijkstra.js +0 -2
  510. package/dist/node_modules/graphlib/lib/alg/find-cycles.js +0 -2
  511. package/dist/node_modules/graphlib/lib/alg/floyd-warshall.js +0 -2
  512. package/dist/node_modules/graphlib/lib/alg/index.js +0 -2
  513. package/dist/node_modules/graphlib/lib/alg/is-acyclic.js +0 -2
  514. package/dist/node_modules/graphlib/lib/alg/postorder.js +0 -2
  515. package/dist/node_modules/graphlib/lib/alg/preorder.js +0 -2
  516. package/dist/node_modules/graphlib/lib/alg/prim.js +0 -2
  517. package/dist/node_modules/graphlib/lib/alg/tarjan.js +0 -2
  518. package/dist/node_modules/graphlib/lib/alg/topsort.js +0 -2
  519. package/dist/node_modules/graphlib/lib/data/priority-queue.js +0 -2
  520. package/dist/node_modules/graphlib/lib/graph.js +0 -2
  521. package/dist/node_modules/graphlib/lib/index.js +0 -2
  522. package/dist/node_modules/graphlib/lib/json.js +0 -2
  523. package/dist/node_modules/graphlib/lib/lodash.js +0 -2
  524. package/dist/node_modules/graphlib/lib/version.js +0 -2
  525. package/dist/node_modules/internmap/src/index.js +0 -2
  526. package/dist/node_modules/lodash/_DataView.js +0 -2
  527. package/dist/node_modules/lodash/_Hash.js +0 -2
  528. package/dist/node_modules/lodash/_ListCache.js +0 -2
  529. package/dist/node_modules/lodash/_Map.js +0 -2
  530. package/dist/node_modules/lodash/_MapCache.js +0 -2
  531. package/dist/node_modules/lodash/_Promise.js +0 -2
  532. package/dist/node_modules/lodash/_Set.js +0 -2
  533. package/dist/node_modules/lodash/_SetCache.js +0 -2
  534. package/dist/node_modules/lodash/_Stack.js +0 -2
  535. package/dist/node_modules/lodash/_Symbol.js +0 -2
  536. package/dist/node_modules/lodash/_Uint8Array.js +0 -2
  537. package/dist/node_modules/lodash/_WeakMap.js +0 -2
  538. package/dist/node_modules/lodash/_apply.js +0 -2
  539. package/dist/node_modules/lodash/_arrayEach.js +0 -2
  540. package/dist/node_modules/lodash/_arrayEvery.js +0 -2
  541. package/dist/node_modules/lodash/_arrayFilter.js +0 -2
  542. package/dist/node_modules/lodash/_arrayIncludes.js +0 -2
  543. package/dist/node_modules/lodash/_arrayIncludesWith.js +0 -2
  544. package/dist/node_modules/lodash/_arrayLikeKeys.js +0 -2
  545. package/dist/node_modules/lodash/_arrayMap.js +0 -2
  546. package/dist/node_modules/lodash/_arrayPush.js +0 -2
  547. package/dist/node_modules/lodash/_arrayReduce.js +0 -2
  548. package/dist/node_modules/lodash/_arraySome.js +0 -2
  549. package/dist/node_modules/lodash/_asciiSize.js +0 -2
  550. package/dist/node_modules/lodash/_asciiToArray.js +0 -2
  551. package/dist/node_modules/lodash/_assignMergeValue.js +0 -2
  552. package/dist/node_modules/lodash/_assignValue.js +0 -2
  553. package/dist/node_modules/lodash/_assocIndexOf.js +0 -2
  554. package/dist/node_modules/lodash/_baseAssign.js +0 -2
  555. package/dist/node_modules/lodash/_baseAssignIn.js +0 -2
  556. package/dist/node_modules/lodash/_baseAssignValue.js +0 -2
  557. package/dist/node_modules/lodash/_baseClone.js +0 -2
  558. package/dist/node_modules/lodash/_baseCreate.js +0 -2
  559. package/dist/node_modules/lodash/_baseEach.js +0 -2
  560. package/dist/node_modules/lodash/_baseEvery.js +0 -2
  561. package/dist/node_modules/lodash/_baseExtremum.js +0 -2
  562. package/dist/node_modules/lodash/_baseFilter.js +0 -2
  563. package/dist/node_modules/lodash/_baseFindIndex.js +0 -2
  564. package/dist/node_modules/lodash/_baseFlatten.js +0 -2
  565. package/dist/node_modules/lodash/_baseFor.js +0 -2
  566. package/dist/node_modules/lodash/_baseForOwn.js +0 -2
  567. package/dist/node_modules/lodash/_baseGet.js +0 -2
  568. package/dist/node_modules/lodash/_baseGetAllKeys.js +0 -2
  569. package/dist/node_modules/lodash/_baseGetTag.js +0 -2
  570. package/dist/node_modules/lodash/_baseGt.js +0 -2
  571. package/dist/node_modules/lodash/_baseHas.js +0 -2
  572. package/dist/node_modules/lodash/_baseHasIn.js +0 -2
  573. package/dist/node_modules/lodash/_baseIndexOf.js +0 -2
  574. package/dist/node_modules/lodash/_baseIsArguments.js +0 -2
  575. package/dist/node_modules/lodash/_baseIsEqual.js +0 -2
  576. package/dist/node_modules/lodash/_baseIsEqualDeep.js +0 -2
  577. package/dist/node_modules/lodash/_baseIsMap.js +0 -2
  578. package/dist/node_modules/lodash/_baseIsMatch.js +0 -2
  579. package/dist/node_modules/lodash/_baseIsNaN.js +0 -2
  580. package/dist/node_modules/lodash/_baseIsNative.js +0 -2
  581. package/dist/node_modules/lodash/_baseIsSet.js +0 -2
  582. package/dist/node_modules/lodash/_baseIsTypedArray.js +0 -2
  583. package/dist/node_modules/lodash/_baseIteratee.js +0 -2
  584. package/dist/node_modules/lodash/_baseKeys.js +0 -2
  585. package/dist/node_modules/lodash/_baseKeysIn.js +0 -2
  586. package/dist/node_modules/lodash/_baseLt.js +0 -2
  587. package/dist/node_modules/lodash/_baseMap.js +0 -2
  588. package/dist/node_modules/lodash/_baseMatches.js +0 -2
  589. package/dist/node_modules/lodash/_baseMatchesProperty.js +0 -2
  590. package/dist/node_modules/lodash/_baseMerge.js +0 -2
  591. package/dist/node_modules/lodash/_baseMergeDeep.js +0 -2
  592. package/dist/node_modules/lodash/_baseOrderBy.js +0 -2
  593. package/dist/node_modules/lodash/_basePick.js +0 -2
  594. package/dist/node_modules/lodash/_basePickBy.js +0 -2
  595. package/dist/node_modules/lodash/_baseProperty.js +0 -2
  596. package/dist/node_modules/lodash/_basePropertyDeep.js +0 -2
  597. package/dist/node_modules/lodash/_baseRange.js +0 -2
  598. package/dist/node_modules/lodash/_baseReduce.js +0 -2
  599. package/dist/node_modules/lodash/_baseRest.js +0 -2
  600. package/dist/node_modules/lodash/_baseSet.js +0 -2
  601. package/dist/node_modules/lodash/_baseSetToString.js +0 -2
  602. package/dist/node_modules/lodash/_baseSlice.js +0 -2
  603. package/dist/node_modules/lodash/_baseSome.js +0 -2
  604. package/dist/node_modules/lodash/_baseSortBy.js +0 -2
  605. package/dist/node_modules/lodash/_baseTimes.js +0 -2
  606. package/dist/node_modules/lodash/_baseToString.js +0 -2
  607. package/dist/node_modules/lodash/_baseTrim.js +0 -2
  608. package/dist/node_modules/lodash/_baseUnary.js +0 -2
  609. package/dist/node_modules/lodash/_baseUniq.js +0 -2
  610. package/dist/node_modules/lodash/_baseValues.js +0 -2
  611. package/dist/node_modules/lodash/_baseZipObject.js +0 -2
  612. package/dist/node_modules/lodash/_cacheHas.js +0 -2
  613. package/dist/node_modules/lodash/_castFunction.js +0 -2
  614. package/dist/node_modules/lodash/_castPath.js +0 -2
  615. package/dist/node_modules/lodash/_castSlice.js +0 -2
  616. package/dist/node_modules/lodash/_cloneArrayBuffer.js +0 -2
  617. package/dist/node_modules/lodash/_cloneBuffer.js +0 -2
  618. package/dist/node_modules/lodash/_cloneDataView.js +0 -2
  619. package/dist/node_modules/lodash/_cloneRegExp.js +0 -2
  620. package/dist/node_modules/lodash/_cloneSymbol.js +0 -2
  621. package/dist/node_modules/lodash/_cloneTypedArray.js +0 -2
  622. package/dist/node_modules/lodash/_compareAscending.js +0 -2
  623. package/dist/node_modules/lodash/_compareMultiple.js +0 -2
  624. package/dist/node_modules/lodash/_copyArray.js +0 -2
  625. package/dist/node_modules/lodash/_copyObject.js +0 -2
  626. package/dist/node_modules/lodash/_copySymbols.js +0 -2
  627. package/dist/node_modules/lodash/_copySymbolsIn.js +0 -2
  628. package/dist/node_modules/lodash/_coreJsData.js +0 -2
  629. package/dist/node_modules/lodash/_createAssigner.js +0 -2
  630. package/dist/node_modules/lodash/_createBaseEach.js +0 -2
  631. package/dist/node_modules/lodash/_createBaseFor.js +0 -2
  632. package/dist/node_modules/lodash/_createCaseFirst.js +0 -2
  633. package/dist/node_modules/lodash/_createFind.js +0 -2
  634. package/dist/node_modules/lodash/_createRange.js +0 -2
  635. package/dist/node_modules/lodash/_createSet.js +0 -2
  636. package/dist/node_modules/lodash/_defineProperty.js +0 -2
  637. package/dist/node_modules/lodash/_equalArrays.js +0 -2
  638. package/dist/node_modules/lodash/_equalByTag.js +0 -2
  639. package/dist/node_modules/lodash/_equalObjects.js +0 -2
  640. package/dist/node_modules/lodash/_flatRest.js +0 -2
  641. package/dist/node_modules/lodash/_freeGlobal.js +0 -2
  642. package/dist/node_modules/lodash/_getAllKeys.js +0 -2
  643. package/dist/node_modules/lodash/_getAllKeysIn.js +0 -2
  644. package/dist/node_modules/lodash/_getMapData.js +0 -2
  645. package/dist/node_modules/lodash/_getMatchData.js +0 -2
  646. package/dist/node_modules/lodash/_getNative.js +0 -2
  647. package/dist/node_modules/lodash/_getPrototype.js +0 -2
  648. package/dist/node_modules/lodash/_getRawTag.js +0 -2
  649. package/dist/node_modules/lodash/_getSymbols.js +0 -2
  650. package/dist/node_modules/lodash/_getSymbolsIn.js +0 -2
  651. package/dist/node_modules/lodash/_getTag.js +0 -2
  652. package/dist/node_modules/lodash/_getValue.js +0 -2
  653. package/dist/node_modules/lodash/_hasPath.js +0 -2
  654. package/dist/node_modules/lodash/_hasUnicode.js +0 -2
  655. package/dist/node_modules/lodash/_hashClear.js +0 -2
  656. package/dist/node_modules/lodash/_hashDelete.js +0 -2
  657. package/dist/node_modules/lodash/_hashGet.js +0 -2
  658. package/dist/node_modules/lodash/_hashHas.js +0 -2
  659. package/dist/node_modules/lodash/_hashSet.js +0 -2
  660. package/dist/node_modules/lodash/_initCloneArray.js +0 -2
  661. package/dist/node_modules/lodash/_initCloneByTag.js +0 -2
  662. package/dist/node_modules/lodash/_initCloneObject.js +0 -2
  663. package/dist/node_modules/lodash/_isFlattenable.js +0 -2
  664. package/dist/node_modules/lodash/_isIndex.js +0 -2
  665. package/dist/node_modules/lodash/_isIterateeCall.js +0 -2
  666. package/dist/node_modules/lodash/_isKey.js +0 -2
  667. package/dist/node_modules/lodash/_isKeyable.js +0 -2
  668. package/dist/node_modules/lodash/_isMasked.js +0 -2
  669. package/dist/node_modules/lodash/_isPrototype.js +0 -2
  670. package/dist/node_modules/lodash/_isStrictComparable.js +0 -2
  671. package/dist/node_modules/lodash/_listCacheClear.js +0 -2
  672. package/dist/node_modules/lodash/_listCacheDelete.js +0 -2
  673. package/dist/node_modules/lodash/_listCacheGet.js +0 -2
  674. package/dist/node_modules/lodash/_listCacheHas.js +0 -2
  675. package/dist/node_modules/lodash/_listCacheSet.js +0 -2
  676. package/dist/node_modules/lodash/_mapCacheClear.js +0 -2
  677. package/dist/node_modules/lodash/_mapCacheDelete.js +0 -2
  678. package/dist/node_modules/lodash/_mapCacheGet.js +0 -2
  679. package/dist/node_modules/lodash/_mapCacheHas.js +0 -2
  680. package/dist/node_modules/lodash/_mapCacheSet.js +0 -2
  681. package/dist/node_modules/lodash/_mapToArray.js +0 -2
  682. package/dist/node_modules/lodash/_matchesStrictComparable.js +0 -2
  683. package/dist/node_modules/lodash/_memoizeCapped.js +0 -2
  684. package/dist/node_modules/lodash/_nativeCreate.js +0 -2
  685. package/dist/node_modules/lodash/_nativeKeys.js +0 -2
  686. package/dist/node_modules/lodash/_nativeKeysIn.js +0 -2
  687. package/dist/node_modules/lodash/_nodeUtil.js +0 -2
  688. package/dist/node_modules/lodash/_objectToString.js +0 -2
  689. package/dist/node_modules/lodash/_overArg.js +0 -2
  690. package/dist/node_modules/lodash/_overRest.js +0 -2
  691. package/dist/node_modules/lodash/_root.js +0 -2
  692. package/dist/node_modules/lodash/_safeGet.js +0 -2
  693. package/dist/node_modules/lodash/_setCacheAdd.js +0 -2
  694. package/dist/node_modules/lodash/_setCacheHas.js +0 -2
  695. package/dist/node_modules/lodash/_setToArray.js +0 -2
  696. package/dist/node_modules/lodash/_setToString.js +0 -2
  697. package/dist/node_modules/lodash/_shortOut.js +0 -2
  698. package/dist/node_modules/lodash/_stackClear.js +0 -2
  699. package/dist/node_modules/lodash/_stackDelete.js +0 -2
  700. package/dist/node_modules/lodash/_stackGet.js +0 -2
  701. package/dist/node_modules/lodash/_stackHas.js +0 -2
  702. package/dist/node_modules/lodash/_stackSet.js +0 -2
  703. package/dist/node_modules/lodash/_strictIndexOf.js +0 -2
  704. package/dist/node_modules/lodash/_stringSize.js +0 -2
  705. package/dist/node_modules/lodash/_stringToArray.js +0 -2
  706. package/dist/node_modules/lodash/_stringToPath.js +0 -2
  707. package/dist/node_modules/lodash/_toKey.js +0 -2
  708. package/dist/node_modules/lodash/_toSource.js +0 -2
  709. package/dist/node_modules/lodash/_trimmedEndIndex.js +0 -2
  710. package/dist/node_modules/lodash/_unicodeSize.js +0 -2
  711. package/dist/node_modules/lodash/_unicodeToArray.js +0 -2
  712. package/dist/node_modules/lodash/clone.js +0 -2
  713. package/dist/node_modules/lodash/cloneDeep.js +0 -2
  714. package/dist/node_modules/lodash/constant.js +0 -2
  715. package/dist/node_modules/lodash/debounce.js +0 -2
  716. package/dist/node_modules/lodash/defaults.js +0 -2
  717. package/dist/node_modules/lodash/each.js +0 -2
  718. package/dist/node_modules/lodash/eq.js +0 -2
  719. package/dist/node_modules/lodash/every.js +0 -2
  720. package/dist/node_modules/lodash/filter.js +0 -2
  721. package/dist/node_modules/lodash/find.js +0 -2
  722. package/dist/node_modules/lodash/findIndex.js +0 -2
  723. package/dist/node_modules/lodash/flatMap.js +0 -2
  724. package/dist/node_modules/lodash/flatten.js +0 -2
  725. package/dist/node_modules/lodash/forEach.js +0 -2
  726. package/dist/node_modules/lodash/forIn.js +0 -2
  727. package/dist/node_modules/lodash/get.js +0 -2
  728. package/dist/node_modules/lodash/has.js +0 -2
  729. package/dist/node_modules/lodash/hasIn.js +0 -2
  730. package/dist/node_modules/lodash/identity.js +0 -2
  731. package/dist/node_modules/lodash/isArguments.js +0 -2
  732. package/dist/node_modules/lodash/isArray.js +0 -2
  733. package/dist/node_modules/lodash/isArrayLike.js +0 -2
  734. package/dist/node_modules/lodash/isArrayLikeObject.js +0 -2
  735. package/dist/node_modules/lodash/isBoolean.js +0 -2
  736. package/dist/node_modules/lodash/isBuffer.js +0 -2
  737. package/dist/node_modules/lodash/isEmpty.js +0 -2
  738. package/dist/node_modules/lodash/isEqual.js +0 -2
  739. package/dist/node_modules/lodash/isFunction.js +0 -2
  740. package/dist/node_modules/lodash/isLength.js +0 -2
  741. package/dist/node_modules/lodash/isMap.js +0 -2
  742. package/dist/node_modules/lodash/isNaN.js +0 -2
  743. package/dist/node_modules/lodash/isNil.js +0 -2
  744. package/dist/node_modules/lodash/isNumber.js +0 -2
  745. package/dist/node_modules/lodash/isObject.js +0 -2
  746. package/dist/node_modules/lodash/isObjectLike.js +0 -2
  747. package/dist/node_modules/lodash/isPlainObject.js +0 -2
  748. package/dist/node_modules/lodash/isSet.js +0 -2
  749. package/dist/node_modules/lodash/isString.js +0 -2
  750. package/dist/node_modules/lodash/isSymbol.js +0 -2
  751. package/dist/node_modules/lodash/isTypedArray.js +0 -2
  752. package/dist/node_modules/lodash/isUndefined.js +0 -2
  753. package/dist/node_modules/lodash/keys.js +0 -2
  754. package/dist/node_modules/lodash/keysIn.js +0 -2
  755. package/dist/node_modules/lodash/last.js +0 -2
  756. package/dist/node_modules/lodash/map.js +0 -2
  757. package/dist/node_modules/lodash/mapValues.js +0 -2
  758. package/dist/node_modules/lodash/max.js +0 -2
  759. package/dist/node_modules/lodash/maxBy.js +0 -2
  760. package/dist/node_modules/lodash/memoize.js +0 -2
  761. package/dist/node_modules/lodash/merge.js +0 -2
  762. package/dist/node_modules/lodash/min.js +0 -2
  763. package/dist/node_modules/lodash/minBy.js +0 -2
  764. package/dist/node_modules/lodash/noop.js +0 -2
  765. package/dist/node_modules/lodash/now.js +0 -2
  766. package/dist/node_modules/lodash/pick.js +0 -2
  767. package/dist/node_modules/lodash/property.js +0 -2
  768. package/dist/node_modules/lodash/range.js +0 -2
  769. package/dist/node_modules/lodash/reduce.js +0 -2
  770. package/dist/node_modules/lodash/size.js +0 -2
  771. package/dist/node_modules/lodash/some.js +0 -2
  772. package/dist/node_modules/lodash/sortBy.js +0 -2
  773. package/dist/node_modules/lodash/stubArray.js +0 -2
  774. package/dist/node_modules/lodash/stubFalse.js +0 -2
  775. package/dist/node_modules/lodash/throttle.js +0 -2
  776. package/dist/node_modules/lodash/toFinite.js +0 -2
  777. package/dist/node_modules/lodash/toInteger.js +0 -2
  778. package/dist/node_modules/lodash/toNumber.js +0 -2
  779. package/dist/node_modules/lodash/toPlainObject.js +0 -2
  780. package/dist/node_modules/lodash/toString.js +0 -2
  781. package/dist/node_modules/lodash/transform.js +0 -2
  782. package/dist/node_modules/lodash/union.js +0 -2
  783. package/dist/node_modules/lodash/uniqBy.js +0 -2
  784. package/dist/node_modules/lodash/uniqueId.js +0 -2
  785. package/dist/node_modules/lodash/upperFirst.js +0 -2
  786. package/dist/node_modules/lodash/values.js +0 -2
  787. package/dist/node_modules/lodash/zipObject.js +0 -2
  788. package/dist/node_modules/object-assign/index.js +0 -2
  789. package/dist/node_modules/prop-types/checkPropTypes.js +0 -2
  790. package/dist/node_modules/prop-types/factoryWithThrowingShims.js +0 -2
  791. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +0 -2
  792. package/dist/node_modules/prop-types/index.js +0 -2
  793. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js +0 -2
  794. package/dist/node_modules/prop-types/lib/has.js +0 -2
  795. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +0 -2
  796. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +0 -2
  797. package/dist/node_modules/prop-types/node_modules/react-is/index.js +0 -2
  798. package/dist/node_modules/react-is/cjs/react-is.development.js +0 -2
  799. package/dist/node_modules/react-is/cjs/react-is.production.min.js +0 -2
  800. package/dist/node_modules/react-is/index.js +0 -2
  801. package/dist/node_modules/react-smooth/es6/Animate.js +0 -2
  802. package/dist/node_modules/react-smooth/es6/AnimateManager.js +0 -2
  803. package/dist/node_modules/react-smooth/es6/configUpdate.js +0 -2
  804. package/dist/node_modules/react-smooth/es6/easing.js +0 -2
  805. package/dist/node_modules/react-smooth/es6/index.js +0 -2
  806. package/dist/node_modules/react-smooth/es6/setRafTimeout.js +0 -2
  807. package/dist/node_modules/react-smooth/es6/util.js +0 -2
  808. package/dist/node_modules/recharts/es6/cartesian/Area.js +0 -2
  809. package/dist/node_modules/recharts/es6/cartesian/Bar.js +0 -2
  810. package/dist/node_modules/recharts/es6/cartesian/Brush.js +0 -2
  811. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js +0 -2
  812. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js +0 -2
  813. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js +0 -2
  814. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js +0 -2
  815. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js +0 -2
  816. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js +0 -2
  817. package/dist/node_modules/recharts/es6/cartesian/XAxis.js +0 -2
  818. package/dist/node_modules/recharts/es6/cartesian/YAxis.js +0 -2
  819. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js +0 -2
  820. package/dist/node_modules/recharts/es6/cartesian/getTicks.js +0 -2
  821. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js +0 -2
  822. package/dist/node_modules/recharts/es6/chart/AreaChart.js +0 -2
  823. package/dist/node_modules/recharts/es6/chart/PieChart.js +0 -2
  824. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js +0 -2
  825. package/dist/node_modules/recharts/es6/component/Cell.js +0 -2
  826. package/dist/node_modules/recharts/es6/component/Cursor.js +0 -2
  827. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js +0 -2
  828. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js +0 -2
  829. package/dist/node_modules/recharts/es6/component/Label.js +0 -2
  830. package/dist/node_modules/recharts/es6/component/LabelList.js +0 -2
  831. package/dist/node_modules/recharts/es6/component/Legend.js +0 -2
  832. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js +0 -2
  833. package/dist/node_modules/recharts/es6/component/Text.js +0 -2
  834. package/dist/node_modules/recharts/es6/component/Tooltip.js +0 -2
  835. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js +0 -2
  836. package/dist/node_modules/recharts/es6/container/Layer.js +0 -2
  837. package/dist/node_modules/recharts/es6/container/Surface.js +0 -2
  838. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js +0 -2
  839. package/dist/node_modules/recharts/es6/polar/Pie.js +0 -2
  840. package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js +0 -2
  841. package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js +0 -2
  842. package/dist/node_modules/recharts/es6/shape/Cross.js +0 -2
  843. package/dist/node_modules/recharts/es6/shape/Curve.js +0 -2
  844. package/dist/node_modules/recharts/es6/shape/Dot.js +0 -2
  845. package/dist/node_modules/recharts/es6/shape/Polygon.js +0 -2
  846. package/dist/node_modules/recharts/es6/shape/Rectangle.js +0 -2
  847. package/dist/node_modules/recharts/es6/shape/Sector.js +0 -2
  848. package/dist/node_modules/recharts/es6/shape/Symbols.js +0 -2
  849. package/dist/node_modules/recharts/es6/shape/Trapezoid.js +0 -2
  850. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js +0 -2
  851. package/dist/node_modules/recharts/es6/util/BarUtils.js +0 -2
  852. package/dist/node_modules/recharts/es6/util/CartesianUtils.js +0 -2
  853. package/dist/node_modules/recharts/es6/util/ChartUtils.js +0 -2
  854. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js +0 -2
  855. package/dist/node_modules/recharts/es6/util/DOMUtils.js +0 -2
  856. package/dist/node_modules/recharts/es6/util/DataUtils.js +0 -2
  857. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js +0 -2
  858. package/dist/node_modules/recharts/es6/util/Events.js +0 -2
  859. package/dist/node_modules/recharts/es6/util/Global.js +0 -2
  860. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js +0 -2
  861. package/dist/node_modules/recharts/es6/util/LogUtils.js +0 -2
  862. package/dist/node_modules/recharts/es6/util/PolarUtils.js +0 -2
  863. package/dist/node_modules/recharts/es6/util/ReactUtils.js +0 -2
  864. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js +0 -2
  865. package/dist/node_modules/recharts/es6/util/ShallowEqual.js +0 -2
  866. package/dist/node_modules/recharts/es6/util/TickUtils.js +0 -2
  867. package/dist/node_modules/recharts/es6/util/calculateViewBox.js +0 -2
  868. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js +0 -2
  869. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js +0 -2
  870. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js +0 -2
  871. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js +0 -2
  872. package/dist/node_modules/recharts/es6/util/getLegendProps.js +0 -2
  873. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js +0 -2
  874. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js +0 -2
  875. package/dist/node_modules/recharts/es6/util/tooltip/translate.js +0 -2
  876. package/dist/node_modules/recharts/es6/util/types.js +0 -2
  877. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js +0 -2
  878. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js +0 -2
  879. package/dist/node_modules/recharts-scale/es6/util/utils.js +0 -2
  880. package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js +0 -2
  881. package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js +0 -2
  882. package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js +0 -2
  883. package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js +0 -2
  884. package/dist/node_modules/rxjs/dist/esm5/internal/config.js +0 -2
  885. package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js +0 -2
  886. package/dist/node_modules/rxjs/dist/esm5/internal/observable/throwError.js +0 -2
  887. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js +0 -2
  888. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js +0 -2
  889. package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js +0 -2
  890. package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js +0 -2
  891. package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js +0 -2
  892. package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js +0 -2
  893. package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js +0 -2
  894. package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js +0 -2
  895. package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js +0 -2
  896. package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js +0 -2
  897. package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js +0 -2
  898. package/dist/node_modules/rxjs/node_modules/tslib/tslib.es6.js +0 -2
  899. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js +0 -2
  900. package/dist/node_modules/victory-vendor/es/d3-scale.js +0 -2
  901. package/dist/pages/ActionsPage.js +0 -2
  902. package/dist/pages/AgentDetailsPage.js +0 -2
  903. package/dist/pages/AgentGraphPage.js +0 -2
  904. package/dist/pages/AgentsLandingPage.js +0 -2
  905. package/dist/pages/AgentsPage.js +0 -2
  906. package/dist/pages/AnalyticsPage.js +0 -2
  907. package/dist/pages/CatalogDetailPage.js +0 -2
  908. package/dist/pages/CatalogDocsPage.js +0 -2
  909. package/dist/pages/CatalogPage.js +0 -2
  910. package/dist/pages/ComponentDetailPage.js +0 -2
  911. package/dist/pages/ComponentDocsPage.js +0 -2
  912. package/dist/pages/ComponentsPage.js +0 -2
  913. package/dist/pages/EnvTopologyPage.js +0 -2
  914. package/dist/pages/GettingStartedPage.js +0 -2
  915. package/dist/pages/HealthPage.js +0 -2
  916. package/dist/pages/LogsPage.js +0 -2
  917. package/dist/pages/NoteDetailsPage.js +0 -2
  918. package/dist/pages/OverviewPage.js +0 -2
  919. package/dist/pages/PluginDetailPage.js +0 -2
  920. package/dist/pages/PluginsCatalogPage.js +0 -2
  921. package/dist/pages/ScheduledJobDetailPage.js +0 -2
  922. package/dist/pages/SessionDetailsPage.js +0 -2
  923. package/dist/pages/SessionsPage.js +0 -2
  924. package/dist/pages/SettingsPage.js +0 -2
  925. package/dist/pages/SharedSessionPage.js +0 -2
  926. package/dist/pages/SharedVibeDeckPage.js +0 -2
  927. package/dist/pages/TargetDetailsPage.js +0 -2
  928. package/dist/pages/TargetsPage.js +0 -2
  929. package/dist/pages/TemplateDetailPage.js +0 -2
  930. package/dist/pages/TemplatesPage.js +0 -2
  931. package/dist/pages/TunnelsLandingPage.js +0 -2
  932. package/dist/pages/VibeAuditPage.js +0 -2
  933. package/dist/pages/VibeCalendarPage.js +0 -2
  934. package/dist/pages/VibeDeckPage.js +0 -2
  935. package/dist/pages/VibeDetailsPage.js +0 -2
  936. package/dist/pages/VibeDocsPage.js +0 -2
  937. package/dist/pages/VibeTaskDetailPage.js +0 -2
  938. package/dist/pages/VibesPage.js +0 -2
  939. package/dist/pages/WebhooksPage.js +0 -2
  940. package/dist/pages/ai/AIBookmarksPage.js +0 -2
  941. package/dist/pages/ai/AIBuilderPage.js +0 -2
  942. package/dist/pages/ai/AIPage.js +0 -2
  943. package/dist/pages/ai/AISessionDetailPage.js +0 -2
  944. package/dist/pages/ai/AgentManagerPage.js +0 -2
  945. package/dist/pages/tunnels/AuditTab.js +0 -2
  946. package/dist/pages/tunnels/DomainsTab.js +0 -2
  947. package/dist/pages/tunnels/ProvidersTab.js +0 -2
  948. package/dist/pages/tunnels/SessionsTab.js +0 -2
  949. package/dist/pages/tunnels/TunnelDetailsPage.js +0 -2
  950. package/dist/pages/tunnels/TunnelsTab.js +0 -2
  951. package/dist/pages/tunnels/UsageTab.js +0 -2
  952. package/dist/pages/tunnels/tabs/TunnelAuditTab.js +0 -2
  953. package/dist/pages/tunnels/tabs/TunnelCliTab.js +0 -2
  954. package/dist/pages/tunnels/tabs/TunnelDomainsTab.js +0 -2
  955. package/dist/pages/tunnels/tabs/TunnelEndpointsTab.js +0 -2
  956. package/dist/pages/tunnels/tabs/TunnelOverviewTab.js +0 -2
  957. package/dist/pages/tunnels/tabs/TunnelSessionsTab.js +0 -2
  958. package/dist/pages/tunnels/tabs/TunnelSettingsTab.js +0 -2
  959. package/dist/pages/tunnels/tabs/TunnelUsageTab.js +0 -2
  960. package/dist/plugin.js +0 -2
  961. package/dist/providers/AgentEventsProvider.js +0 -2
  962. package/dist/providers/QuotaExhaustedProvider.js +0 -2
  963. package/dist/providers/VibeControlsProvider.js +0 -2
  964. package/dist/services/agentRemoteTaskGates.js +0 -2
  965. package/dist/services/aiApi.js +0 -2
  966. package/dist/services/assistantApi.js +0 -2
  967. package/dist/services/createSandboxAssistantTransport.js +0 -2
  968. package/dist/services/gitopsApi.js +0 -2
  969. package/dist/services/iframeToken.js +0 -2
  970. package/dist/services/planApi.js +0 -2
  971. package/dist/services/schedulerApi.js +0 -2
  972. package/dist/shared/hooks/useField.js +0 -2
  973. package/dist/shared/hooks/useTr.js +0 -2
  974. package/dist/store/agentManagerStore.js +0 -2
  975. package/dist/store/vibeControlsStore.js +0 -2
  976. package/dist/translations/en.js +0 -2
  977. package/dist/types/assistant.js +0 -2
  978. package/dist/utils/agentApiPath.js +0 -2
  979. package/dist/utils/agentHealth.js +0 -2
  980. package/dist/utils/agentStatus.js +0 -2
  981. package/dist/utils/agentVisibility.js +0 -2
  982. package/dist/utils/aiCredits.js +0 -2
  983. package/dist/utils/aiCreditsLedger.js +0 -2
  984. package/dist/utils/aiSessionNotFound.js +0 -2
  985. package/dist/utils/assistantPrompt.js +0 -2
  986. package/dist/utils/onboardingUtils.js +0 -2
  987. package/dist/utils/pageContext.js +0 -2
  988. package/dist/utils/quotaUtils.js +0 -2
  989. package/dist/utils/randomSessionName.js +0 -2
  990. package/dist/utils/relativeTime.js +0 -2
  991. package/dist/utils/shareUrl.js +0 -2
  992. package/package.json +4 -3
  993. package/dist/VibeControlsRoot.js.map +0 -1
  994. package/dist/VibeControlsRoutes.js.map +0 -1
  995. package/dist/components/actions/ActionCard.js.map +0 -1
  996. package/dist/components/actions/ActionForm.js.map +0 -1
  997. package/dist/components/actions/ActionSchedulesList.js.map +0 -1
  998. package/dist/components/actions/ActionTypeBadge.js.map +0 -1
  999. package/dist/components/actions/ActionWebhookEndpoint.js.map +0 -1
  1000. package/dist/components/actions/ExecutionHistory.js.map +0 -1
  1001. package/dist/components/actions/RemoteExecutionEnableNotice.js.map +0 -1
  1002. package/dist/components/agent-manager/AgentManagerAdminBar.js.map +0 -1
  1003. package/dist/components/agent-manager/AgentManagerBookmarksDrawer.js.map +0 -1
  1004. package/dist/components/agent-manager/AgentManagerBulkActions.js.map +0 -1
  1005. package/dist/components/agent-manager/AgentManagerCenter.js.map +0 -1
  1006. package/dist/components/agent-manager/AgentManagerChatPane.js.map +0 -1
  1007. package/dist/components/agent-manager/AgentManagerDetailPanel.js.map +0 -1
  1008. package/dist/components/agent-manager/AgentManagerInputArea.js.map +0 -1
  1009. package/dist/components/agent-manager/AgentManagerLayout.js.map +0 -1
  1010. package/dist/components/agent-manager/AgentManagerMessageItem.js.map +0 -1
  1011. package/dist/components/agent-manager/AgentManagerMessageList.js.map +0 -1
  1012. package/dist/components/agent-manager/AgentManagerSessionItem.js.map +0 -1
  1013. package/dist/components/agent-manager/AgentManagerSessionList.js.map +0 -1
  1014. package/dist/components/agent-manager/AgentManagerSidebar.js.map +0 -1
  1015. package/dist/components/agent-manager/AgentManagerStreamingIndicator.js.map +0 -1
  1016. package/dist/components/agent-manager/AgentManagerTab.js.map +0 -1
  1017. package/dist/components/agent-manager/AgentManagerTabBar.js.map +0 -1
  1018. package/dist/components/agent-manager/BridleConfigPanel.js.map +0 -1
  1019. package/dist/components/agent-manager/ChatInsertPicker.js.map +0 -1
  1020. package/dist/components/agent-manager/FilePickerModal.js.map +0 -1
  1021. package/dist/components/agent-manager/PluginInstallModal.js.map +0 -1
  1022. package/dist/components/agent-manager/ProfilesPanel.js.map +0 -1
  1023. package/dist/components/agent-manager/controls/AutonomySelector.js.map +0 -1
  1024. package/dist/components/agent-manager/controls/ContextLevelToggle.js.map +0 -1
  1025. package/dist/components/agent-manager/controls/FileAttachButton.js.map +0 -1
  1026. package/dist/components/agent-manager/controls/McpServerSelector.js.map +0 -1
  1027. package/dist/components/agent-manager/controls/ModelSelector.js.map +0 -1
  1028. package/dist/components/agent-manager/controls/SdkSelector.js.map +0 -1
  1029. package/dist/components/agent-manager/controls/VoiceToggle.js.map +0 -1
  1030. package/dist/components/agent-manager/controls/createDropHandlers.js.map +0 -1
  1031. package/dist/components/agent-manager/detail/SessionConfigPanel.js.map +0 -1
  1032. package/dist/components/agent-manager/detail/SessionLogsPanel.js.map +0 -1
  1033. package/dist/components/agent-manager/detail/SessionStatsPanel.js.map +0 -1
  1034. package/dist/components/agent-manager/detail/SessionToolsPanel.js.map +0 -1
  1035. package/dist/components/agent-manager/dialogs/ExportSessionDialog.js.map +0 -1
  1036. package/dist/components/agent-manager/dialogs/NewSessionDialog.js.map +0 -1
  1037. package/dist/components/agent-manager/dialogs/RenameSessionDialog.js.map +0 -1
  1038. package/dist/components/agent-manager/dialogs/SessionSearchDialog.js.map +0 -1
  1039. package/dist/components/agent-manager/modelDefaults.js.map +0 -1
  1040. package/dist/components/agents/AgentCard.js.map +0 -1
  1041. package/dist/components/agents/AgentConnectionRecovery.js.map +0 -1
  1042. package/dist/components/agents/AgentForm.js.map +0 -1
  1043. package/dist/components/agents/AgentList.js.map +0 -1
  1044. package/dist/components/agents/AgentMaintenanceTab.js.map +0 -1
  1045. package/dist/components/agents/AgentStatusBadge.js.map +0 -1
  1046. package/dist/components/agents/AgentStorageConfig.js.map +0 -1
  1047. package/dist/components/agents/AgentVisibilityCard.js.map +0 -1
  1048. package/dist/components/agents/ConfigureAgentDialog.js.map +0 -1
  1049. package/dist/components/agents/ConnectionLogPanel.js.map +0 -1
  1050. package/dist/components/agents/CreateSessionDialog.js.map +0 -1
  1051. package/dist/components/agents/GatewayAuthCard.js.map +0 -1
  1052. package/dist/components/agents/OpenInBrowserEditorButton.js.map +0 -1
  1053. package/dist/components/agents/OpenInEditorMenu.js.map +0 -1
  1054. package/dist/components/agents/PluginUIPanel.js.map +0 -1
  1055. package/dist/components/agents/RemoteTaskPermissionsCard.js.map +0 -1
  1056. package/dist/components/agents/VibeOpenInEditorMenu.js.map +0 -1
  1057. package/dist/components/agents/agentStatus.js.map +0 -1
  1058. package/dist/components/agents/backup/AgentBackupTab.js.map +0 -1
  1059. package/dist/components/agents/idePresets.js.map +0 -1
  1060. package/dist/components/ai/AIContextsTab.js.map +0 -1
  1061. package/dist/components/ai/AIKeysTab.js.map +0 -1
  1062. package/dist/components/ai/AIModeToggle.js.map +0 -1
  1063. package/dist/components/ai/AIOverviewTab.js.map +0 -1
  1064. package/dist/components/ai/AIPlanPanel.js.map +0 -1
  1065. package/dist/components/ai/AIPlaygroundTab.js.map +0 -1
  1066. package/dist/components/ai/AIPromptsTab.js.map +0 -1
  1067. package/dist/components/ai/AIProviderCredentialsCard.js.map +0 -1
  1068. package/dist/components/ai/AIQueueTab.js.map +0 -1
  1069. package/dist/components/ai/AISessionsTab.js.map +0 -1
  1070. package/dist/components/ai/AIStatsTab.js.map +0 -1
  1071. package/dist/components/ai/AITasksTab.js.map +0 -1
  1072. package/dist/components/ai/AITemplatesTab.js.map +0 -1
  1073. package/dist/components/ai/AiSectionTabs.js.map +0 -1
  1074. package/dist/components/ai/BridleTab.js.map +0 -1
  1075. package/dist/components/ai/ClaudeCredentialsCard.js.map +0 -1
  1076. package/dist/components/ai/InstructionFilesManager.js.map +0 -1
  1077. package/dist/components/ai/PluginHarnessPicker.js.map +0 -1
  1078. package/dist/components/ai/aiProviderCredentials.js.map +0 -1
  1079. package/dist/components/aliases/AliasManager.js.map +0 -1
  1080. package/dist/components/aliases/aliasReservedNames.js.map +0 -1
  1081. package/dist/components/analytics/AnalyticsBreakdownChart.js.map +0 -1
  1082. package/dist/components/analytics/AnalyticsBreakdownTable.js.map +0 -1
  1083. package/dist/components/analytics/AnalyticsEntityTabs.js.map +0 -1
  1084. package/dist/components/analytics/AnalyticsFilterBar.js.map +0 -1
  1085. package/dist/components/analytics/AnalyticsKpiGrid.js.map +0 -1
  1086. package/dist/components/analytics/AnalyticsTimeSeriesChart.js.map +0 -1
  1087. package/dist/components/analytics/SandboxAnalyticsSection.js.map +0 -1
  1088. package/dist/components/analytics/types.js.map +0 -1
  1089. package/dist/components/assistant/AIAssistantPanel.js.map +0 -1
  1090. package/dist/components/assistant/AiCreditsMeter.js.map +0 -1
  1091. package/dist/components/assistant/ProductMarkdown.js.map +0 -1
  1092. package/dist/components/assistant/assistantProduct.js.map +0 -1
  1093. package/dist/components/assistant/recordAdapters.js.map +0 -1
  1094. package/dist/components/audit/AuditExportButton.js.map +0 -1
  1095. package/dist/components/audit/AuditLogDetail.js.map +0 -1
  1096. package/dist/components/audit/AuditLogFilters.js.map +0 -1
  1097. package/dist/components/audit/AuditLogStats.js.map +0 -1
  1098. package/dist/components/audit/AuditLogTable.js.map +0 -1
  1099. package/dist/components/catalog/CatalogCard.js.map +0 -1
  1100. package/dist/components/catalog/CatalogForm.js.map +0 -1
  1101. package/dist/components/common/ActionAgentTargetNotice.js.map +0 -1
  1102. package/dist/components/common/CommandEditor.js.map +0 -1
  1103. package/dist/components/common/actionAgentTarget.js.map +0 -1
  1104. package/dist/components/common/commandHighlight.js.map +0 -1
  1105. package/dist/components/components/ComponentHealthCell.js.map +0 -1
  1106. package/dist/components/components/ComponentTierBadge.js.map +0 -1
  1107. package/dist/components/components/ComponentsTable.js.map +0 -1
  1108. package/dist/components/docs/DocsCompileStatus.js.map +0 -1
  1109. package/dist/components/docs/DocsEditPanel.js.map +0 -1
  1110. package/dist/components/docs/DocsEmptyState.js.map +0 -1
  1111. package/dist/components/docs/DocsFullScreenViewer.js.map +0 -1
  1112. package/dist/components/docs/DocsPageEditor.js.map +0 -1
  1113. package/dist/components/docs/DocsPageTree.js.map +0 -1
  1114. package/dist/components/docs/DocsPreviewPanel.js.map +0 -1
  1115. package/dist/components/docs/DocsRevisionHistory.js.map +0 -1
  1116. package/dist/components/docs/DocsSettingsPanel.js.map +0 -1
  1117. package/dist/components/docs/DocsTabPanel.js.map +0 -1
  1118. package/dist/components/docs/previewHtml.js.map +0 -1
  1119. package/dist/components/docs/types.js.map +0 -1
  1120. package/dist/components/gitops/CIDurationChart.js.map +0 -1
  1121. package/dist/components/gitops/CIFailedRuns.js.map +0 -1
  1122. package/dist/components/gitops/CIPipelineRunsTable.js.map +0 -1
  1123. package/dist/components/gitops/CISuccessRateChart.js.map +0 -1
  1124. package/dist/components/gitops/CITab.js.map +0 -1
  1125. package/dist/components/gitops/CIWorkflowList.js.map +0 -1
  1126. package/dist/components/gitops/GitOpsProviderPicker.js.map +0 -1
  1127. package/dist/components/gitops/GitOpsSetup.js.map +0 -1
  1128. package/dist/components/gitops/GitOpsSkeleton.js.map +0 -1
  1129. package/dist/components/gitops/GitOpsStatusBadge.js.map +0 -1
  1130. package/dist/components/gitops/ProviderIcon.js.map +0 -1
  1131. package/dist/components/gitops/RepoActivityCard.js.map +0 -1
  1132. package/dist/components/gitops/RepoIssuesCard.js.map +0 -1
  1133. package/dist/components/gitops/RepoLanguagesCard.js.map +0 -1
  1134. package/dist/components/gitops/RepoOverviewCard.js.map +0 -1
  1135. package/dist/components/gitops/RepoPullRequestsCard.js.map +0 -1
  1136. package/dist/components/gitops/RepoSecurityCard.js.map +0 -1
  1137. package/dist/components/gitops/RepoStatsTab.js.map +0 -1
  1138. package/dist/components/gitops/VibeGitOpsTab.js.map +0 -1
  1139. package/dist/components/gitops/types.js.map +0 -1
  1140. package/dist/components/graph/ConnectionPermissionsDialog.js.map +0 -1
  1141. package/dist/components/graph/MeshAgentNode.js.map +0 -1
  1142. package/dist/components/graph/MeshDeployWizard.js.map +0 -1
  1143. package/dist/components/graph/MeshGraphView.js.map +0 -1
  1144. package/dist/components/graph/MeshNodeActions.js.map +0 -1
  1145. package/dist/components/graph/MeshRequestPanel.js.map +0 -1
  1146. package/dist/components/graph/meshTypes.js.map +0 -1
  1147. package/dist/components/graph/nodeIcons.js.map +0 -1
  1148. package/dist/components/idp-components/ComponentCard.js.map +0 -1
  1149. package/dist/components/idp-components/ComponentForm.js.map +0 -1
  1150. package/dist/components/idp-components/DependencyGraphTab.js.map +0 -1
  1151. package/dist/components/logs/LogViewer.js.map +0 -1
  1152. package/dist/components/notes/NoteCard.js.map +0 -1
  1153. package/dist/components/notes/NoteEditor.js.map +0 -1
  1154. package/dist/components/notes/NoteList.js.map +0 -1
  1155. package/dist/components/notes/NotesTabPanel.js.map +0 -1
  1156. package/dist/components/overview/FleetActivityAreaChart.js.map +0 -1
  1157. package/dist/components/overview/FleetActivityChart.js.map +0 -1
  1158. package/dist/components/overview/FleetHealthCard.js.map +0 -1
  1159. package/dist/components/overview/QuickActionsCard.js.map +0 -1
  1160. package/dist/components/overview/useFleetAnalytics.js.map +0 -1
  1161. package/dist/components/plugins/AddTabDialog.js.map +0 -1
  1162. package/dist/components/plugins/FleetRolloutDialog.js.map +0 -1
  1163. package/dist/components/plugins/PluginIframeMount.js.map +0 -1
  1164. package/dist/components/plugins/useFleetPluginMatrix.js.map +0 -1
  1165. package/dist/components/scorecard/MetricTrend.js.map +0 -1
  1166. package/dist/components/scorecard/ScorecardEmptyState.js.map +0 -1
  1167. package/dist/components/scorecard/ScorecardPanel.js.map +0 -1
  1168. package/dist/components/scorecard/ScorecardsOverviewPanel.js.map +0 -1
  1169. package/dist/components/scorecard/scorecardConstants.js.map +0 -1
  1170. package/dist/components/security/SecurityRunButton.js.map +0 -1
  1171. package/dist/components/security/SecurityScanList.js.map +0 -1
  1172. package/dist/components/security/SecurityTabPanel.js.map +0 -1
  1173. package/dist/components/security/agentClient.js.map +0 -1
  1174. package/dist/components/security/hooks.js.map +0 -1
  1175. package/dist/components/security/types.js.map +0 -1
  1176. package/dist/components/sessions/CollaboratorsList.js.map +0 -1
  1177. package/dist/components/sessions/ControlStatusBar.js.map +0 -1
  1178. package/dist/components/sessions/EntityInfoPopover.js.map +0 -1
  1179. package/dist/components/sessions/SessionCard.js.map +0 -1
  1180. package/dist/components/sessions/SessionGroup.js.map +0 -1
  1181. package/dist/components/sessions/SessionInfoPanel.js.map +0 -1
  1182. package/dist/components/sessions/SessionList.js.map +0 -1
  1183. package/dist/components/sessions/SessionPublicLinkPanel.js.map +0 -1
  1184. package/dist/components/sessions/SessionShareDialog.js.map +0 -1
  1185. package/dist/components/sessions/SessionStatusBadge.js.map +0 -1
  1186. package/dist/components/sessions/SessionWorkbenchDrawer.js.map +0 -1
  1187. package/dist/components/sessions/SessionsCommandPalette.js.map +0 -1
  1188. package/dist/components/sessions/SharedTerminalPanel.js.map +0 -1
  1189. package/dist/components/sessions/ShortcutCheatsheet.js.map +0 -1
  1190. package/dist/components/sessions/TerminalIframe.js.map +0 -1
  1191. package/dist/components/sessions/TerminalPanel.js.map +0 -1
  1192. package/dist/components/sessions/groupSessions.js.map +0 -1
  1193. package/dist/components/sessions/sessionShortcuts.js.map +0 -1
  1194. package/dist/components/settings/AdvancedSection.js.map +0 -1
  1195. package/dist/components/settings/IdePreferencesSection.js.map +0 -1
  1196. package/dist/components/settings/NotificationsSection.js.map +0 -1
  1197. package/dist/components/settings/SettingsForm.js.map +0 -1
  1198. package/dist/components/settings/WorkspaceDefaultsSection.js.map +0 -1
  1199. package/dist/components/shared/ActionMenu.js.map +0 -1
  1200. package/dist/components/shared/AgentEventsConnector.js.map +0 -1
  1201. package/dist/components/shared/AgentSelector.js.map +0 -1
  1202. package/dist/components/shared/AgentSetupBanner.js.map +0 -1
  1203. package/dist/components/shared/Card.js.map +0 -1
  1204. package/dist/components/shared/ConfirmDialog.js.map +0 -1
  1205. package/dist/components/shared/EmptyState.js.map +0 -1
  1206. package/dist/components/shared/EnableRemoteTaskDialog.js.map +0 -1
  1207. package/dist/components/shared/EntityTagPicker.js.map +0 -1
  1208. package/dist/components/shared/EntityVibeLinkControl.js.map +0 -1
  1209. package/dist/components/shared/ErrorState.js.map +0 -1
  1210. package/dist/components/shared/FilterDropdown.js.map +0 -1
  1211. package/dist/components/shared/GetHelpButton.js.map +0 -1
  1212. package/dist/components/shared/InstallTabs.js.map +0 -1
  1213. package/dist/components/shared/LinkToVibePanel.js.map +0 -1
  1214. package/dist/components/shared/LoadingState.js.map +0 -1
  1215. package/dist/components/shared/MotionTabPanel.js.map +0 -1
  1216. package/dist/components/shared/NotificationToast.js.map +0 -1
  1217. package/dist/components/shared/PageHeader.js.map +0 -1
  1218. package/dist/components/shared/PageSkeleton.js.map +0 -1
  1219. package/dist/components/shared/PlatformIcon.js.map +0 -1
  1220. package/dist/components/shared/PluginGate.js.map +0 -1
  1221. package/dist/components/shared/PromptDialog.js.map +0 -1
  1222. package/dist/components/shared/QuotaExhaustedDialog.js.map +0 -1
  1223. package/dist/components/shared/RequireAgentReachable.js.map +0 -1
  1224. package/dist/components/shared/SearchInput.js.map +0 -1
  1225. package/dist/components/shared/SearchableSelect.js.map +0 -1
  1226. package/dist/components/shared/SelectionCheckbox.js.map +0 -1
  1227. package/dist/components/shared/SessionNotificationBanner.js.map +0 -1
  1228. package/dist/components/shared/StatCard.js.map +0 -1
  1229. package/dist/components/shared/StatusBadge.js.map +0 -1
  1230. package/dist/components/shared/TagFilter.js.map +0 -1
  1231. package/dist/components/shared/cardMotion.js.map +0 -1
  1232. package/dist/components/shared/platformIconPaths.js.map +0 -1
  1233. package/dist/components/sharing/EntityShareButton.js.map +0 -1
  1234. package/dist/components/sharing/NoteShareDialog.js.map +0 -1
  1235. package/dist/components/sharing/SharedWithMePanel.js.map +0 -1
  1236. package/dist/components/sharing/VibeShareButton.js.map +0 -1
  1237. package/dist/components/sharing/entityShareOps.js.map +0 -1
  1238. package/dist/components/sharing/shareControllerTypes.js.map +0 -1
  1239. package/dist/components/sharing/shareRegistry.js.map +0 -1
  1240. package/dist/components/sharing/useEntityShareController.js.map +0 -1
  1241. package/dist/components/sharing/useNoteShareController.js.map +0 -1
  1242. package/dist/components/sharing/useVibeShareController.js.map +0 -1
  1243. package/dist/components/targets/TargetCard.js.map +0 -1
  1244. package/dist/components/templates/PublishTemplateForm.js.map +0 -1
  1245. package/dist/components/templates/TemplateCard.js.map +0 -1
  1246. package/dist/components/templates/TemplateVariableEditor.js.map +0 -1
  1247. package/dist/components/templates/TemplateWizard.js.map +0 -1
  1248. package/dist/components/tunnels/DomainVerificationBadge.js.map +0 -1
  1249. package/dist/components/tunnels/ProviderBadge.js.map +0 -1
  1250. package/dist/components/tunnels/TunnelCard.js.map +0 -1
  1251. package/dist/components/tunnels/TunnelConnectionCard.js.map +0 -1
  1252. package/dist/components/tunnels/TunnelCopyButton.js.map +0 -1
  1253. package/dist/components/tunnels/TunnelCreateWizard.js.map +0 -1
  1254. package/dist/components/tunnels/TunnelMetricTiles.js.map +0 -1
  1255. package/dist/components/tunnels/TunnelPublicAccessPanel.js.map +0 -1
  1256. package/dist/components/tunnels/TunnelSparkline.js.map +0 -1
  1257. package/dist/components/tunnels/TunnelStatusBadge.js.map +0 -1
  1258. package/dist/components/tunnels/tunnelEndpoints.js.map +0 -1
  1259. package/dist/components/tunnels/tunnelMetrics.js.map +0 -1
  1260. package/dist/components/vibe/VibeAgentEmptyState.js.map +0 -1
  1261. package/dist/components/vibe/VibeAgentSwitcher.js.map +0 -1
  1262. package/dist/components/vibe/VibeEnvVarsPanel.js.map +0 -1
  1263. package/dist/components/vibe/VibeLinkedEntitiesPanel.js.map +0 -1
  1264. package/dist/components/vibe/VibeLlmContextAdminPanel.js.map +0 -1
  1265. package/dist/components/vibe/VibeLlmContextTabPanel.js.map +0 -1
  1266. package/dist/components/vibecalendar/LogsDrawer.js.map +0 -1
  1267. package/dist/components/vibecalendar/ScheduleTaskModal.js.map +0 -1
  1268. package/dist/components/vibecalendar/VibeCalAgendaView.js.map +0 -1
  1269. package/dist/components/vibecalendar/VibeCalDayView.js.map +0 -1
  1270. package/dist/components/vibecalendar/VibeCalMonthView.js.map +0 -1
  1271. package/dist/components/vibecalendar/VibeCalWeekView.js.map +0 -1
  1272. package/dist/components/vibecalendar/VibeCalendarHeader.js.map +0 -1
  1273. package/dist/components/vibecalendar/VibeTaskBlock.js.map +0 -1
  1274. package/dist/components/vibecalendar/expandOccurrences.js.map +0 -1
  1275. package/dist/components/vibecalendar/types.js.map +0 -1
  1276. package/dist/components/vibedeck/VibeDeckButtonForm.js.map +0 -1
  1277. package/dist/components/vibedeck/VibeDeckButtonTile.js.map +0 -1
  1278. package/dist/components/vibedeck/VibeDeckExecutionLog.js.map +0 -1
  1279. package/dist/components/vibedeck/VibeDeckForm.js.map +0 -1
  1280. package/dist/components/vibedeck/VibeDeckGrid.js.map +0 -1
  1281. package/dist/components/vibedeck/VibeDeckPublicLinkPanel.js.map +0 -1
  1282. package/dist/components/vibedeck/VibeDeckShareDialog.js.map +0 -1
  1283. package/dist/components/vibedeck/VibeDeckSwitcher.js.map +0 -1
  1284. package/dist/components/vibes/DeleteVibeDialog.js.map +0 -1
  1285. package/dist/components/vibes/VibeCard.js.map +0 -1
  1286. package/dist/components/vibes/VibeList.js.map +0 -1
  1287. package/dist/components/vibes/icons.js.map +0 -1
  1288. package/dist/components/webhooks/types.js.map +0 -1
  1289. package/dist/config/assistantUsecases.js.map +0 -1
  1290. package/dist/config/index.js.map +0 -1
  1291. package/dist/constants/aiTabs.js.map +0 -1
  1292. package/dist/constants/permissions.js.map +0 -1
  1293. package/dist/constants/pluginCatalog.js.map +0 -1
  1294. package/dist/generated/wspace-operations.js.map +0 -1
  1295. package/dist/generated/wspace-types.js.map +0 -1
  1296. package/dist/hooks/useActiveAgentProfile.js.map +0 -1
  1297. package/dist/hooks/useAgentConnectivity.js.map +0 -1
  1298. package/dist/hooks/useAgentEvents.js.map +0 -1
  1299. package/dist/hooks/useAgentManagerKeyboard.js.map +0 -1
  1300. package/dist/hooks/useAgentManagerStreaming.js.map +0 -1
  1301. package/dist/hooks/useAiCreditsQuota.js.map +0 -1
  1302. package/dist/hooks/useCachedInitialData.js.map +0 -1
  1303. package/dist/hooks/useDraftEntityTags.js.map +0 -1
  1304. package/dist/hooks/useEntityTags.js.map +0 -1
  1305. package/dist/hooks/useGitops.js.map +0 -1
  1306. package/dist/hooks/useInitialDataLoader.js.map +0 -1
  1307. package/dist/hooks/useOfferedAssistantMode.js.map +0 -1
  1308. package/dist/hooks/useOpenAssistantHelp.js.map +0 -1
  1309. package/dist/hooks/usePluginAvailability.js.map +0 -1
  1310. package/dist/hooks/useQueryBackedTab.js.map +0 -1
  1311. package/dist/hooks/useTenantContext.js.map +0 -1
  1312. package/dist/hooks/useTerminalCapabilityUrl.js.map +0 -1
  1313. package/dist/hooks/useToggleAgentBookmark.js.map +0 -1
  1314. package/dist/hooks/useVoiceMode.js.map +0 -1
  1315. package/dist/hooks/useWorkspaceWriteAccess.js.map +0 -1
  1316. package/dist/lib/apolloCache.js.map +0 -1
  1317. package/dist/lib/toast.js.map +0 -1
  1318. package/dist/lib/vibeFeatures.js.map +0 -1
  1319. package/dist/node_modules/@apollo/client/errors/CombinedGraphQLErrors.js.map +0 -1
  1320. package/dist/node_modules/@apollo/client/errors/ServerError.js.map +0 -1
  1321. package/dist/node_modules/@apollo/client/errors/ServerParseError.js.map +0 -1
  1322. package/dist/node_modules/@apollo/client/errors/utils.js.map +0 -1
  1323. package/dist/node_modules/@apollo/client/link/batch/batchLink.js.map +0 -1
  1324. package/dist/node_modules/@apollo/client/link/batch/batching.js.map +0 -1
  1325. package/dist/node_modules/@apollo/client/link/batch-http/BaseBatchHttpLink.js.map +0 -1
  1326. package/dist/node_modules/@apollo/client/link/batch-http/batchHttpLink.js.map +0 -1
  1327. package/dist/node_modules/@apollo/client/link/client-awareness/ClientAwarenessLink.js.map +0 -1
  1328. package/dist/node_modules/@apollo/client/link/core/ApolloLink.js.map +0 -1
  1329. package/dist/node_modules/@apollo/client/link/http/checkFetcher.js.map +0 -1
  1330. package/dist/node_modules/@apollo/client/link/http/parseAndCheckHttpResponse.js.map +0 -1
  1331. package/dist/node_modules/@apollo/client/link/http/selectHttpOptionsAndBody.js.map +0 -1
  1332. package/dist/node_modules/@apollo/client/link/http/selectURI.js.map +0 -1
  1333. package/dist/node_modules/@apollo/client/link/utils/createOperation.js.map +0 -1
  1334. package/dist/node_modules/@apollo/client/link/utils/filterOperationVariables.js.map +0 -1
  1335. package/dist/node_modules/@apollo/client/utilities/caching/sizes.js.map +0 -1
  1336. package/dist/node_modules/@apollo/client/utilities/graphql/print.js.map +0 -1
  1337. package/dist/node_modules/@apollo/client/utilities/internal/caches.js.map +0 -1
  1338. package/dist/node_modules/@apollo/client/utilities/internal/checkDocument.js.map +0 -1
  1339. package/dist/node_modules/@apollo/client/utilities/internal/compact.js.map +0 -1
  1340. package/dist/node_modules/@apollo/client/utilities/internal/getMainDefinition.js.map +0 -1
  1341. package/dist/node_modules/@apollo/client/utilities/internal/getMemoryInternals.js.map +0 -1
  1342. package/dist/node_modules/@apollo/client/utilities/internal/getOperationDefinition.js.map +0 -1
  1343. package/dist/node_modules/@apollo/client/utilities/internal/getOperationName.js.map +0 -1
  1344. package/dist/node_modules/@apollo/client/utilities/internal/globals/global.js.map +0 -1
  1345. package/dist/node_modules/@apollo/client/utilities/internal/globals/maybe.js.map +0 -1
  1346. package/dist/node_modules/@apollo/client/utilities/internal/makeUniqueId.js.map +0 -1
  1347. package/dist/node_modules/@apollo/client/utilities/internal/memoize.js.map +0 -1
  1348. package/dist/node_modules/@apollo/client/utilities/internal/stringifyForDisplay.js.map +0 -1
  1349. package/dist/node_modules/@apollo/client/utilities/invariant/index.js.map +0 -1
  1350. package/dist/node_modules/@apollo/client/version.js.map +0 -1
  1351. package/dist/node_modules/@wry/caches/lib/weak.js.map +0 -1
  1352. package/dist/node_modules/@wry/trie/lib/index.js.map +0 -1
  1353. package/dist/node_modules/clsx/dist/clsx.js.map +0 -1
  1354. package/dist/node_modules/d3-array/src/ascending.js.map +0 -1
  1355. package/dist/node_modules/d3-array/src/bisect.js.map +0 -1
  1356. package/dist/node_modules/d3-array/src/bisector.js.map +0 -1
  1357. package/dist/node_modules/d3-array/src/descending.js.map +0 -1
  1358. package/dist/node_modules/d3-array/src/max.js.map +0 -1
  1359. package/dist/node_modules/d3-array/src/min.js.map +0 -1
  1360. package/dist/node_modules/d3-array/src/number.js.map +0 -1
  1361. package/dist/node_modules/d3-array/src/quantile.js.map +0 -1
  1362. package/dist/node_modules/d3-array/src/quickselect.js.map +0 -1
  1363. package/dist/node_modules/d3-array/src/range.js.map +0 -1
  1364. package/dist/node_modules/d3-array/src/sort.js.map +0 -1
  1365. package/dist/node_modules/d3-array/src/ticks.js.map +0 -1
  1366. package/dist/node_modules/d3-color/src/color.js.map +0 -1
  1367. package/dist/node_modules/d3-color/src/define.js.map +0 -1
  1368. package/dist/node_modules/d3-format/src/defaultLocale.js.map +0 -1
  1369. package/dist/node_modules/d3-format/src/exponent.js.map +0 -1
  1370. package/dist/node_modules/d3-format/src/formatDecimal.js.map +0 -1
  1371. package/dist/node_modules/d3-format/src/formatGroup.js.map +0 -1
  1372. package/dist/node_modules/d3-format/src/formatNumerals.js.map +0 -1
  1373. package/dist/node_modules/d3-format/src/formatPrefixAuto.js.map +0 -1
  1374. package/dist/node_modules/d3-format/src/formatRounded.js.map +0 -1
  1375. package/dist/node_modules/d3-format/src/formatSpecifier.js.map +0 -1
  1376. package/dist/node_modules/d3-format/src/formatTrim.js.map +0 -1
  1377. package/dist/node_modules/d3-format/src/formatTypes.js.map +0 -1
  1378. package/dist/node_modules/d3-format/src/identity.js.map +0 -1
  1379. package/dist/node_modules/d3-format/src/locale.js.map +0 -1
  1380. package/dist/node_modules/d3-format/src/precisionFixed.js.map +0 -1
  1381. package/dist/node_modules/d3-format/src/precisionPrefix.js.map +0 -1
  1382. package/dist/node_modules/d3-format/src/precisionRound.js.map +0 -1
  1383. package/dist/node_modules/d3-interpolate/src/array.js.map +0 -1
  1384. package/dist/node_modules/d3-interpolate/src/basis.js.map +0 -1
  1385. package/dist/node_modules/d3-interpolate/src/basisClosed.js.map +0 -1
  1386. package/dist/node_modules/d3-interpolate/src/color.js.map +0 -1
  1387. package/dist/node_modules/d3-interpolate/src/constant.js.map +0 -1
  1388. package/dist/node_modules/d3-interpolate/src/date.js.map +0 -1
  1389. package/dist/node_modules/d3-interpolate/src/number.js.map +0 -1
  1390. package/dist/node_modules/d3-interpolate/src/numberArray.js.map +0 -1
  1391. package/dist/node_modules/d3-interpolate/src/object.js.map +0 -1
  1392. package/dist/node_modules/d3-interpolate/src/piecewise.js.map +0 -1
  1393. package/dist/node_modules/d3-interpolate/src/rgb.js.map +0 -1
  1394. package/dist/node_modules/d3-interpolate/src/round.js.map +0 -1
  1395. package/dist/node_modules/d3-interpolate/src/string.js.map +0 -1
  1396. package/dist/node_modules/d3-interpolate/src/value.js.map +0 -1
  1397. package/dist/node_modules/d3-path/src/path.js.map +0 -1
  1398. package/dist/node_modules/d3-scale/src/band.js.map +0 -1
  1399. package/dist/node_modules/d3-scale/src/constant.js.map +0 -1
  1400. package/dist/node_modules/d3-scale/src/continuous.js.map +0 -1
  1401. package/dist/node_modules/d3-scale/src/diverging.js.map +0 -1
  1402. package/dist/node_modules/d3-scale/src/identity.js.map +0 -1
  1403. package/dist/node_modules/d3-scale/src/init.js.map +0 -1
  1404. package/dist/node_modules/d3-scale/src/linear.js.map +0 -1
  1405. package/dist/node_modules/d3-scale/src/log.js.map +0 -1
  1406. package/dist/node_modules/d3-scale/src/nice.js.map +0 -1
  1407. package/dist/node_modules/d3-scale/src/number.js.map +0 -1
  1408. package/dist/node_modules/d3-scale/src/ordinal.js.map +0 -1
  1409. package/dist/node_modules/d3-scale/src/pow.js.map +0 -1
  1410. package/dist/node_modules/d3-scale/src/quantile.js.map +0 -1
  1411. package/dist/node_modules/d3-scale/src/quantize.js.map +0 -1
  1412. package/dist/node_modules/d3-scale/src/radial.js.map +0 -1
  1413. package/dist/node_modules/d3-scale/src/sequential.js.map +0 -1
  1414. package/dist/node_modules/d3-scale/src/sequentialQuantile.js.map +0 -1
  1415. package/dist/node_modules/d3-scale/src/symlog.js.map +0 -1
  1416. package/dist/node_modules/d3-scale/src/threshold.js.map +0 -1
  1417. package/dist/node_modules/d3-scale/src/tickFormat.js.map +0 -1
  1418. package/dist/node_modules/d3-scale/src/time.js.map +0 -1
  1419. package/dist/node_modules/d3-scale/src/utcTime.js.map +0 -1
  1420. package/dist/node_modules/d3-shape/src/area.js.map +0 -1
  1421. package/dist/node_modules/d3-shape/src/array.js.map +0 -1
  1422. package/dist/node_modules/d3-shape/src/constant.js.map +0 -1
  1423. package/dist/node_modules/d3-shape/src/curve/basis.js.map +0 -1
  1424. package/dist/node_modules/d3-shape/src/curve/basisClosed.js.map +0 -1
  1425. package/dist/node_modules/d3-shape/src/curve/basisOpen.js.map +0 -1
  1426. package/dist/node_modules/d3-shape/src/curve/bump.js.map +0 -1
  1427. package/dist/node_modules/d3-shape/src/curve/linear.js.map +0 -1
  1428. package/dist/node_modules/d3-shape/src/curve/linearClosed.js.map +0 -1
  1429. package/dist/node_modules/d3-shape/src/curve/monotone.js.map +0 -1
  1430. package/dist/node_modules/d3-shape/src/curve/natural.js.map +0 -1
  1431. package/dist/node_modules/d3-shape/src/curve/step.js.map +0 -1
  1432. package/dist/node_modules/d3-shape/src/line.js.map +0 -1
  1433. package/dist/node_modules/d3-shape/src/math.js.map +0 -1
  1434. package/dist/node_modules/d3-shape/src/noop.js.map +0 -1
  1435. package/dist/node_modules/d3-shape/src/offset/expand.js.map +0 -1
  1436. package/dist/node_modules/d3-shape/src/offset/none.js.map +0 -1
  1437. package/dist/node_modules/d3-shape/src/offset/silhouette.js.map +0 -1
  1438. package/dist/node_modules/d3-shape/src/offset/wiggle.js.map +0 -1
  1439. package/dist/node_modules/d3-shape/src/order/none.js.map +0 -1
  1440. package/dist/node_modules/d3-shape/src/path.js.map +0 -1
  1441. package/dist/node_modules/d3-shape/src/point.js.map +0 -1
  1442. package/dist/node_modules/d3-shape/src/stack.js.map +0 -1
  1443. package/dist/node_modules/d3-shape/src/symbol/circle.js.map +0 -1
  1444. package/dist/node_modules/d3-shape/src/symbol/cross.js.map +0 -1
  1445. package/dist/node_modules/d3-shape/src/symbol/diamond.js.map +0 -1
  1446. package/dist/node_modules/d3-shape/src/symbol/square.js.map +0 -1
  1447. package/dist/node_modules/d3-shape/src/symbol/star.js.map +0 -1
  1448. package/dist/node_modules/d3-shape/src/symbol/triangle.js.map +0 -1
  1449. package/dist/node_modules/d3-shape/src/symbol/wye.js.map +0 -1
  1450. package/dist/node_modules/d3-shape/src/symbol.js.map +0 -1
  1451. package/dist/node_modules/d3-time/src/day.js.map +0 -1
  1452. package/dist/node_modules/d3-time/src/duration.js.map +0 -1
  1453. package/dist/node_modules/d3-time/src/hour.js.map +0 -1
  1454. package/dist/node_modules/d3-time/src/interval.js.map +0 -1
  1455. package/dist/node_modules/d3-time/src/millisecond.js.map +0 -1
  1456. package/dist/node_modules/d3-time/src/minute.js.map +0 -1
  1457. package/dist/node_modules/d3-time/src/month.js.map +0 -1
  1458. package/dist/node_modules/d3-time/src/second.js.map +0 -1
  1459. package/dist/node_modules/d3-time/src/ticks.js.map +0 -1
  1460. package/dist/node_modules/d3-time/src/week.js.map +0 -1
  1461. package/dist/node_modules/d3-time/src/year.js.map +0 -1
  1462. package/dist/node_modules/d3-time-format/src/defaultLocale.js.map +0 -1
  1463. package/dist/node_modules/d3-time-format/src/locale.js.map +0 -1
  1464. package/dist/node_modules/dagre/index.js.map +0 -1
  1465. package/dist/node_modules/dagre/lib/acyclic.js.map +0 -1
  1466. package/dist/node_modules/dagre/lib/add-border-segments.js.map +0 -1
  1467. package/dist/node_modules/dagre/lib/coordinate-system.js.map +0 -1
  1468. package/dist/node_modules/dagre/lib/data/list.js.map +0 -1
  1469. package/dist/node_modules/dagre/lib/debug.js.map +0 -1
  1470. package/dist/node_modules/dagre/lib/graphlib.js.map +0 -1
  1471. package/dist/node_modules/dagre/lib/greedy-fas.js.map +0 -1
  1472. package/dist/node_modules/dagre/lib/layout.js.map +0 -1
  1473. package/dist/node_modules/dagre/lib/lodash.js.map +0 -1
  1474. package/dist/node_modules/dagre/lib/nesting-graph.js.map +0 -1
  1475. package/dist/node_modules/dagre/lib/normalize.js.map +0 -1
  1476. package/dist/node_modules/dagre/lib/order/add-subgraph-constraints.js.map +0 -1
  1477. package/dist/node_modules/dagre/lib/order/barycenter.js.map +0 -1
  1478. package/dist/node_modules/dagre/lib/order/build-layer-graph.js.map +0 -1
  1479. package/dist/node_modules/dagre/lib/order/cross-count.js.map +0 -1
  1480. package/dist/node_modules/dagre/lib/order/index.js.map +0 -1
  1481. package/dist/node_modules/dagre/lib/order/init-order.js.map +0 -1
  1482. package/dist/node_modules/dagre/lib/order/resolve-conflicts.js.map +0 -1
  1483. package/dist/node_modules/dagre/lib/order/sort-subgraph.js.map +0 -1
  1484. package/dist/node_modules/dagre/lib/order/sort.js.map +0 -1
  1485. package/dist/node_modules/dagre/lib/parent-dummy-chains.js.map +0 -1
  1486. package/dist/node_modules/dagre/lib/position/bk.js.map +0 -1
  1487. package/dist/node_modules/dagre/lib/position/index.js.map +0 -1
  1488. package/dist/node_modules/dagre/lib/rank/feasible-tree.js.map +0 -1
  1489. package/dist/node_modules/dagre/lib/rank/index.js.map +0 -1
  1490. package/dist/node_modules/dagre/lib/rank/network-simplex.js.map +0 -1
  1491. package/dist/node_modules/dagre/lib/rank/util.js.map +0 -1
  1492. package/dist/node_modules/dagre/lib/util.js.map +0 -1
  1493. package/dist/node_modules/dagre/lib/version.js.map +0 -1
  1494. package/dist/node_modules/decimal.js-light/decimal.js.map +0 -1
  1495. package/dist/node_modules/eventemitter3/index.js.map +0 -1
  1496. package/dist/node_modules/fast-equals/dist/es/index.js.map +0 -1
  1497. package/dist/node_modules/graphlib/index.js.map +0 -1
  1498. package/dist/node_modules/graphlib/lib/alg/components.js.map +0 -1
  1499. package/dist/node_modules/graphlib/lib/alg/dfs.js.map +0 -1
  1500. package/dist/node_modules/graphlib/lib/alg/dijkstra-all.js.map +0 -1
  1501. package/dist/node_modules/graphlib/lib/alg/dijkstra.js.map +0 -1
  1502. package/dist/node_modules/graphlib/lib/alg/find-cycles.js.map +0 -1
  1503. package/dist/node_modules/graphlib/lib/alg/floyd-warshall.js.map +0 -1
  1504. package/dist/node_modules/graphlib/lib/alg/index.js.map +0 -1
  1505. package/dist/node_modules/graphlib/lib/alg/is-acyclic.js.map +0 -1
  1506. package/dist/node_modules/graphlib/lib/alg/postorder.js.map +0 -1
  1507. package/dist/node_modules/graphlib/lib/alg/preorder.js.map +0 -1
  1508. package/dist/node_modules/graphlib/lib/alg/prim.js.map +0 -1
  1509. package/dist/node_modules/graphlib/lib/alg/tarjan.js.map +0 -1
  1510. package/dist/node_modules/graphlib/lib/alg/topsort.js.map +0 -1
  1511. package/dist/node_modules/graphlib/lib/data/priority-queue.js.map +0 -1
  1512. package/dist/node_modules/graphlib/lib/graph.js.map +0 -1
  1513. package/dist/node_modules/graphlib/lib/index.js.map +0 -1
  1514. package/dist/node_modules/graphlib/lib/json.js.map +0 -1
  1515. package/dist/node_modules/graphlib/lib/lodash.js.map +0 -1
  1516. package/dist/node_modules/graphlib/lib/version.js.map +0 -1
  1517. package/dist/node_modules/internmap/src/index.js.map +0 -1
  1518. package/dist/node_modules/lodash/_DataView.js.map +0 -1
  1519. package/dist/node_modules/lodash/_Hash.js.map +0 -1
  1520. package/dist/node_modules/lodash/_ListCache.js.map +0 -1
  1521. package/dist/node_modules/lodash/_Map.js.map +0 -1
  1522. package/dist/node_modules/lodash/_MapCache.js.map +0 -1
  1523. package/dist/node_modules/lodash/_Promise.js.map +0 -1
  1524. package/dist/node_modules/lodash/_Set.js.map +0 -1
  1525. package/dist/node_modules/lodash/_SetCache.js.map +0 -1
  1526. package/dist/node_modules/lodash/_Stack.js.map +0 -1
  1527. package/dist/node_modules/lodash/_Symbol.js.map +0 -1
  1528. package/dist/node_modules/lodash/_Uint8Array.js.map +0 -1
  1529. package/dist/node_modules/lodash/_WeakMap.js.map +0 -1
  1530. package/dist/node_modules/lodash/_apply.js.map +0 -1
  1531. package/dist/node_modules/lodash/_arrayEach.js.map +0 -1
  1532. package/dist/node_modules/lodash/_arrayEvery.js.map +0 -1
  1533. package/dist/node_modules/lodash/_arrayFilter.js.map +0 -1
  1534. package/dist/node_modules/lodash/_arrayIncludes.js.map +0 -1
  1535. package/dist/node_modules/lodash/_arrayIncludesWith.js.map +0 -1
  1536. package/dist/node_modules/lodash/_arrayLikeKeys.js.map +0 -1
  1537. package/dist/node_modules/lodash/_arrayMap.js.map +0 -1
  1538. package/dist/node_modules/lodash/_arrayPush.js.map +0 -1
  1539. package/dist/node_modules/lodash/_arrayReduce.js.map +0 -1
  1540. package/dist/node_modules/lodash/_arraySome.js.map +0 -1
  1541. package/dist/node_modules/lodash/_asciiSize.js.map +0 -1
  1542. package/dist/node_modules/lodash/_asciiToArray.js.map +0 -1
  1543. package/dist/node_modules/lodash/_assignMergeValue.js.map +0 -1
  1544. package/dist/node_modules/lodash/_assignValue.js.map +0 -1
  1545. package/dist/node_modules/lodash/_assocIndexOf.js.map +0 -1
  1546. package/dist/node_modules/lodash/_baseAssign.js.map +0 -1
  1547. package/dist/node_modules/lodash/_baseAssignIn.js.map +0 -1
  1548. package/dist/node_modules/lodash/_baseAssignValue.js.map +0 -1
  1549. package/dist/node_modules/lodash/_baseClone.js.map +0 -1
  1550. package/dist/node_modules/lodash/_baseCreate.js.map +0 -1
  1551. package/dist/node_modules/lodash/_baseEach.js.map +0 -1
  1552. package/dist/node_modules/lodash/_baseEvery.js.map +0 -1
  1553. package/dist/node_modules/lodash/_baseExtremum.js.map +0 -1
  1554. package/dist/node_modules/lodash/_baseFilter.js.map +0 -1
  1555. package/dist/node_modules/lodash/_baseFindIndex.js.map +0 -1
  1556. package/dist/node_modules/lodash/_baseFlatten.js.map +0 -1
  1557. package/dist/node_modules/lodash/_baseFor.js.map +0 -1
  1558. package/dist/node_modules/lodash/_baseForOwn.js.map +0 -1
  1559. package/dist/node_modules/lodash/_baseGet.js.map +0 -1
  1560. package/dist/node_modules/lodash/_baseGetAllKeys.js.map +0 -1
  1561. package/dist/node_modules/lodash/_baseGetTag.js.map +0 -1
  1562. package/dist/node_modules/lodash/_baseGt.js.map +0 -1
  1563. package/dist/node_modules/lodash/_baseHas.js.map +0 -1
  1564. package/dist/node_modules/lodash/_baseHasIn.js.map +0 -1
  1565. package/dist/node_modules/lodash/_baseIndexOf.js.map +0 -1
  1566. package/dist/node_modules/lodash/_baseIsArguments.js.map +0 -1
  1567. package/dist/node_modules/lodash/_baseIsEqual.js.map +0 -1
  1568. package/dist/node_modules/lodash/_baseIsEqualDeep.js.map +0 -1
  1569. package/dist/node_modules/lodash/_baseIsMap.js.map +0 -1
  1570. package/dist/node_modules/lodash/_baseIsMatch.js.map +0 -1
  1571. package/dist/node_modules/lodash/_baseIsNaN.js.map +0 -1
  1572. package/dist/node_modules/lodash/_baseIsNative.js.map +0 -1
  1573. package/dist/node_modules/lodash/_baseIsSet.js.map +0 -1
  1574. package/dist/node_modules/lodash/_baseIsTypedArray.js.map +0 -1
  1575. package/dist/node_modules/lodash/_baseIteratee.js.map +0 -1
  1576. package/dist/node_modules/lodash/_baseKeys.js.map +0 -1
  1577. package/dist/node_modules/lodash/_baseKeysIn.js.map +0 -1
  1578. package/dist/node_modules/lodash/_baseLt.js.map +0 -1
  1579. package/dist/node_modules/lodash/_baseMap.js.map +0 -1
  1580. package/dist/node_modules/lodash/_baseMatches.js.map +0 -1
  1581. package/dist/node_modules/lodash/_baseMatchesProperty.js.map +0 -1
  1582. package/dist/node_modules/lodash/_baseMerge.js.map +0 -1
  1583. package/dist/node_modules/lodash/_baseMergeDeep.js.map +0 -1
  1584. package/dist/node_modules/lodash/_baseOrderBy.js.map +0 -1
  1585. package/dist/node_modules/lodash/_basePick.js.map +0 -1
  1586. package/dist/node_modules/lodash/_basePickBy.js.map +0 -1
  1587. package/dist/node_modules/lodash/_baseProperty.js.map +0 -1
  1588. package/dist/node_modules/lodash/_basePropertyDeep.js.map +0 -1
  1589. package/dist/node_modules/lodash/_baseRange.js.map +0 -1
  1590. package/dist/node_modules/lodash/_baseReduce.js.map +0 -1
  1591. package/dist/node_modules/lodash/_baseRest.js.map +0 -1
  1592. package/dist/node_modules/lodash/_baseSet.js.map +0 -1
  1593. package/dist/node_modules/lodash/_baseSetToString.js.map +0 -1
  1594. package/dist/node_modules/lodash/_baseSlice.js.map +0 -1
  1595. package/dist/node_modules/lodash/_baseSome.js.map +0 -1
  1596. package/dist/node_modules/lodash/_baseSortBy.js.map +0 -1
  1597. package/dist/node_modules/lodash/_baseTimes.js.map +0 -1
  1598. package/dist/node_modules/lodash/_baseToString.js.map +0 -1
  1599. package/dist/node_modules/lodash/_baseTrim.js.map +0 -1
  1600. package/dist/node_modules/lodash/_baseUnary.js.map +0 -1
  1601. package/dist/node_modules/lodash/_baseUniq.js.map +0 -1
  1602. package/dist/node_modules/lodash/_baseValues.js.map +0 -1
  1603. package/dist/node_modules/lodash/_baseZipObject.js.map +0 -1
  1604. package/dist/node_modules/lodash/_cacheHas.js.map +0 -1
  1605. package/dist/node_modules/lodash/_castFunction.js.map +0 -1
  1606. package/dist/node_modules/lodash/_castPath.js.map +0 -1
  1607. package/dist/node_modules/lodash/_castSlice.js.map +0 -1
  1608. package/dist/node_modules/lodash/_cloneArrayBuffer.js.map +0 -1
  1609. package/dist/node_modules/lodash/_cloneBuffer.js.map +0 -1
  1610. package/dist/node_modules/lodash/_cloneDataView.js.map +0 -1
  1611. package/dist/node_modules/lodash/_cloneRegExp.js.map +0 -1
  1612. package/dist/node_modules/lodash/_cloneSymbol.js.map +0 -1
  1613. package/dist/node_modules/lodash/_cloneTypedArray.js.map +0 -1
  1614. package/dist/node_modules/lodash/_compareAscending.js.map +0 -1
  1615. package/dist/node_modules/lodash/_compareMultiple.js.map +0 -1
  1616. package/dist/node_modules/lodash/_copyArray.js.map +0 -1
  1617. package/dist/node_modules/lodash/_copyObject.js.map +0 -1
  1618. package/dist/node_modules/lodash/_copySymbols.js.map +0 -1
  1619. package/dist/node_modules/lodash/_copySymbolsIn.js.map +0 -1
  1620. package/dist/node_modules/lodash/_coreJsData.js.map +0 -1
  1621. package/dist/node_modules/lodash/_createAssigner.js.map +0 -1
  1622. package/dist/node_modules/lodash/_createBaseEach.js.map +0 -1
  1623. package/dist/node_modules/lodash/_createBaseFor.js.map +0 -1
  1624. package/dist/node_modules/lodash/_createCaseFirst.js.map +0 -1
  1625. package/dist/node_modules/lodash/_createFind.js.map +0 -1
  1626. package/dist/node_modules/lodash/_createRange.js.map +0 -1
  1627. package/dist/node_modules/lodash/_createSet.js.map +0 -1
  1628. package/dist/node_modules/lodash/_defineProperty.js.map +0 -1
  1629. package/dist/node_modules/lodash/_equalArrays.js.map +0 -1
  1630. package/dist/node_modules/lodash/_equalByTag.js.map +0 -1
  1631. package/dist/node_modules/lodash/_equalObjects.js.map +0 -1
  1632. package/dist/node_modules/lodash/_flatRest.js.map +0 -1
  1633. package/dist/node_modules/lodash/_freeGlobal.js.map +0 -1
  1634. package/dist/node_modules/lodash/_getAllKeys.js.map +0 -1
  1635. package/dist/node_modules/lodash/_getAllKeysIn.js.map +0 -1
  1636. package/dist/node_modules/lodash/_getMapData.js.map +0 -1
  1637. package/dist/node_modules/lodash/_getMatchData.js.map +0 -1
  1638. package/dist/node_modules/lodash/_getNative.js.map +0 -1
  1639. package/dist/node_modules/lodash/_getPrototype.js.map +0 -1
  1640. package/dist/node_modules/lodash/_getRawTag.js.map +0 -1
  1641. package/dist/node_modules/lodash/_getSymbols.js.map +0 -1
  1642. package/dist/node_modules/lodash/_getSymbolsIn.js.map +0 -1
  1643. package/dist/node_modules/lodash/_getTag.js.map +0 -1
  1644. package/dist/node_modules/lodash/_getValue.js.map +0 -1
  1645. package/dist/node_modules/lodash/_hasPath.js.map +0 -1
  1646. package/dist/node_modules/lodash/_hasUnicode.js.map +0 -1
  1647. package/dist/node_modules/lodash/_hashClear.js.map +0 -1
  1648. package/dist/node_modules/lodash/_hashDelete.js.map +0 -1
  1649. package/dist/node_modules/lodash/_hashGet.js.map +0 -1
  1650. package/dist/node_modules/lodash/_hashHas.js.map +0 -1
  1651. package/dist/node_modules/lodash/_hashSet.js.map +0 -1
  1652. package/dist/node_modules/lodash/_initCloneArray.js.map +0 -1
  1653. package/dist/node_modules/lodash/_initCloneByTag.js.map +0 -1
  1654. package/dist/node_modules/lodash/_initCloneObject.js.map +0 -1
  1655. package/dist/node_modules/lodash/_isFlattenable.js.map +0 -1
  1656. package/dist/node_modules/lodash/_isIndex.js.map +0 -1
  1657. package/dist/node_modules/lodash/_isIterateeCall.js.map +0 -1
  1658. package/dist/node_modules/lodash/_isKey.js.map +0 -1
  1659. package/dist/node_modules/lodash/_isKeyable.js.map +0 -1
  1660. package/dist/node_modules/lodash/_isMasked.js.map +0 -1
  1661. package/dist/node_modules/lodash/_isPrototype.js.map +0 -1
  1662. package/dist/node_modules/lodash/_isStrictComparable.js.map +0 -1
  1663. package/dist/node_modules/lodash/_listCacheClear.js.map +0 -1
  1664. package/dist/node_modules/lodash/_listCacheDelete.js.map +0 -1
  1665. package/dist/node_modules/lodash/_listCacheGet.js.map +0 -1
  1666. package/dist/node_modules/lodash/_listCacheHas.js.map +0 -1
  1667. package/dist/node_modules/lodash/_listCacheSet.js.map +0 -1
  1668. package/dist/node_modules/lodash/_mapCacheClear.js.map +0 -1
  1669. package/dist/node_modules/lodash/_mapCacheDelete.js.map +0 -1
  1670. package/dist/node_modules/lodash/_mapCacheGet.js.map +0 -1
  1671. package/dist/node_modules/lodash/_mapCacheHas.js.map +0 -1
  1672. package/dist/node_modules/lodash/_mapCacheSet.js.map +0 -1
  1673. package/dist/node_modules/lodash/_mapToArray.js.map +0 -1
  1674. package/dist/node_modules/lodash/_matchesStrictComparable.js.map +0 -1
  1675. package/dist/node_modules/lodash/_memoizeCapped.js.map +0 -1
  1676. package/dist/node_modules/lodash/_nativeCreate.js.map +0 -1
  1677. package/dist/node_modules/lodash/_nativeKeys.js.map +0 -1
  1678. package/dist/node_modules/lodash/_nativeKeysIn.js.map +0 -1
  1679. package/dist/node_modules/lodash/_nodeUtil.js.map +0 -1
  1680. package/dist/node_modules/lodash/_objectToString.js.map +0 -1
  1681. package/dist/node_modules/lodash/_overArg.js.map +0 -1
  1682. package/dist/node_modules/lodash/_overRest.js.map +0 -1
  1683. package/dist/node_modules/lodash/_root.js.map +0 -1
  1684. package/dist/node_modules/lodash/_safeGet.js.map +0 -1
  1685. package/dist/node_modules/lodash/_setCacheAdd.js.map +0 -1
  1686. package/dist/node_modules/lodash/_setCacheHas.js.map +0 -1
  1687. package/dist/node_modules/lodash/_setToArray.js.map +0 -1
  1688. package/dist/node_modules/lodash/_setToString.js.map +0 -1
  1689. package/dist/node_modules/lodash/_shortOut.js.map +0 -1
  1690. package/dist/node_modules/lodash/_stackClear.js.map +0 -1
  1691. package/dist/node_modules/lodash/_stackDelete.js.map +0 -1
  1692. package/dist/node_modules/lodash/_stackGet.js.map +0 -1
  1693. package/dist/node_modules/lodash/_stackHas.js.map +0 -1
  1694. package/dist/node_modules/lodash/_stackSet.js.map +0 -1
  1695. package/dist/node_modules/lodash/_strictIndexOf.js.map +0 -1
  1696. package/dist/node_modules/lodash/_stringSize.js.map +0 -1
  1697. package/dist/node_modules/lodash/_stringToArray.js.map +0 -1
  1698. package/dist/node_modules/lodash/_stringToPath.js.map +0 -1
  1699. package/dist/node_modules/lodash/_toKey.js.map +0 -1
  1700. package/dist/node_modules/lodash/_toSource.js.map +0 -1
  1701. package/dist/node_modules/lodash/_trimmedEndIndex.js.map +0 -1
  1702. package/dist/node_modules/lodash/_unicodeSize.js.map +0 -1
  1703. package/dist/node_modules/lodash/_unicodeToArray.js.map +0 -1
  1704. package/dist/node_modules/lodash/clone.js.map +0 -1
  1705. package/dist/node_modules/lodash/cloneDeep.js.map +0 -1
  1706. package/dist/node_modules/lodash/constant.js.map +0 -1
  1707. package/dist/node_modules/lodash/debounce.js.map +0 -1
  1708. package/dist/node_modules/lodash/defaults.js.map +0 -1
  1709. package/dist/node_modules/lodash/each.js.map +0 -1
  1710. package/dist/node_modules/lodash/eq.js.map +0 -1
  1711. package/dist/node_modules/lodash/every.js.map +0 -1
  1712. package/dist/node_modules/lodash/filter.js.map +0 -1
  1713. package/dist/node_modules/lodash/find.js.map +0 -1
  1714. package/dist/node_modules/lodash/findIndex.js.map +0 -1
  1715. package/dist/node_modules/lodash/flatMap.js.map +0 -1
  1716. package/dist/node_modules/lodash/flatten.js.map +0 -1
  1717. package/dist/node_modules/lodash/forEach.js.map +0 -1
  1718. package/dist/node_modules/lodash/forIn.js.map +0 -1
  1719. package/dist/node_modules/lodash/get.js.map +0 -1
  1720. package/dist/node_modules/lodash/has.js.map +0 -1
  1721. package/dist/node_modules/lodash/hasIn.js.map +0 -1
  1722. package/dist/node_modules/lodash/identity.js.map +0 -1
  1723. package/dist/node_modules/lodash/isArguments.js.map +0 -1
  1724. package/dist/node_modules/lodash/isArray.js.map +0 -1
  1725. package/dist/node_modules/lodash/isArrayLike.js.map +0 -1
  1726. package/dist/node_modules/lodash/isArrayLikeObject.js.map +0 -1
  1727. package/dist/node_modules/lodash/isBoolean.js.map +0 -1
  1728. package/dist/node_modules/lodash/isBuffer.js.map +0 -1
  1729. package/dist/node_modules/lodash/isEmpty.js.map +0 -1
  1730. package/dist/node_modules/lodash/isEqual.js.map +0 -1
  1731. package/dist/node_modules/lodash/isFunction.js.map +0 -1
  1732. package/dist/node_modules/lodash/isLength.js.map +0 -1
  1733. package/dist/node_modules/lodash/isMap.js.map +0 -1
  1734. package/dist/node_modules/lodash/isNaN.js.map +0 -1
  1735. package/dist/node_modules/lodash/isNil.js.map +0 -1
  1736. package/dist/node_modules/lodash/isNumber.js.map +0 -1
  1737. package/dist/node_modules/lodash/isObject.js.map +0 -1
  1738. package/dist/node_modules/lodash/isObjectLike.js.map +0 -1
  1739. package/dist/node_modules/lodash/isPlainObject.js.map +0 -1
  1740. package/dist/node_modules/lodash/isSet.js.map +0 -1
  1741. package/dist/node_modules/lodash/isString.js.map +0 -1
  1742. package/dist/node_modules/lodash/isSymbol.js.map +0 -1
  1743. package/dist/node_modules/lodash/isTypedArray.js.map +0 -1
  1744. package/dist/node_modules/lodash/isUndefined.js.map +0 -1
  1745. package/dist/node_modules/lodash/keys.js.map +0 -1
  1746. package/dist/node_modules/lodash/keysIn.js.map +0 -1
  1747. package/dist/node_modules/lodash/last.js.map +0 -1
  1748. package/dist/node_modules/lodash/map.js.map +0 -1
  1749. package/dist/node_modules/lodash/mapValues.js.map +0 -1
  1750. package/dist/node_modules/lodash/max.js.map +0 -1
  1751. package/dist/node_modules/lodash/maxBy.js.map +0 -1
  1752. package/dist/node_modules/lodash/memoize.js.map +0 -1
  1753. package/dist/node_modules/lodash/merge.js.map +0 -1
  1754. package/dist/node_modules/lodash/min.js.map +0 -1
  1755. package/dist/node_modules/lodash/minBy.js.map +0 -1
  1756. package/dist/node_modules/lodash/noop.js.map +0 -1
  1757. package/dist/node_modules/lodash/now.js.map +0 -1
  1758. package/dist/node_modules/lodash/pick.js.map +0 -1
  1759. package/dist/node_modules/lodash/property.js.map +0 -1
  1760. package/dist/node_modules/lodash/range.js.map +0 -1
  1761. package/dist/node_modules/lodash/reduce.js.map +0 -1
  1762. package/dist/node_modules/lodash/size.js.map +0 -1
  1763. package/dist/node_modules/lodash/some.js.map +0 -1
  1764. package/dist/node_modules/lodash/sortBy.js.map +0 -1
  1765. package/dist/node_modules/lodash/stubArray.js.map +0 -1
  1766. package/dist/node_modules/lodash/stubFalse.js.map +0 -1
  1767. package/dist/node_modules/lodash/throttle.js.map +0 -1
  1768. package/dist/node_modules/lodash/toFinite.js.map +0 -1
  1769. package/dist/node_modules/lodash/toInteger.js.map +0 -1
  1770. package/dist/node_modules/lodash/toNumber.js.map +0 -1
  1771. package/dist/node_modules/lodash/toPlainObject.js.map +0 -1
  1772. package/dist/node_modules/lodash/toString.js.map +0 -1
  1773. package/dist/node_modules/lodash/transform.js.map +0 -1
  1774. package/dist/node_modules/lodash/union.js.map +0 -1
  1775. package/dist/node_modules/lodash/uniqBy.js.map +0 -1
  1776. package/dist/node_modules/lodash/uniqueId.js.map +0 -1
  1777. package/dist/node_modules/lodash/upperFirst.js.map +0 -1
  1778. package/dist/node_modules/lodash/values.js.map +0 -1
  1779. package/dist/node_modules/lodash/zipObject.js.map +0 -1
  1780. package/dist/node_modules/object-assign/index.js.map +0 -1
  1781. package/dist/node_modules/prop-types/checkPropTypes.js.map +0 -1
  1782. package/dist/node_modules/prop-types/factoryWithThrowingShims.js.map +0 -1
  1783. package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +0 -1
  1784. package/dist/node_modules/prop-types/index.js.map +0 -1
  1785. package/dist/node_modules/prop-types/lib/ReactPropTypesSecret.js.map +0 -1
  1786. package/dist/node_modules/prop-types/lib/has.js.map +0 -1
  1787. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +0 -1
  1788. package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +0 -1
  1789. package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +0 -1
  1790. package/dist/node_modules/react-is/cjs/react-is.development.js.map +0 -1
  1791. package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +0 -1
  1792. package/dist/node_modules/react-is/index.js.map +0 -1
  1793. package/dist/node_modules/react-smooth/es6/Animate.js.map +0 -1
  1794. package/dist/node_modules/react-smooth/es6/AnimateManager.js.map +0 -1
  1795. package/dist/node_modules/react-smooth/es6/configUpdate.js.map +0 -1
  1796. package/dist/node_modules/react-smooth/es6/easing.js.map +0 -1
  1797. package/dist/node_modules/react-smooth/es6/index.js.map +0 -1
  1798. package/dist/node_modules/react-smooth/es6/setRafTimeout.js.map +0 -1
  1799. package/dist/node_modules/react-smooth/es6/util.js.map +0 -1
  1800. package/dist/node_modules/recharts/es6/cartesian/Area.js.map +0 -1
  1801. package/dist/node_modules/recharts/es6/cartesian/Bar.js.map +0 -1
  1802. package/dist/node_modules/recharts/es6/cartesian/Brush.js.map +0 -1
  1803. package/dist/node_modules/recharts/es6/cartesian/CartesianAxis.js.map +0 -1
  1804. package/dist/node_modules/recharts/es6/cartesian/CartesianGrid.js.map +0 -1
  1805. package/dist/node_modules/recharts/es6/cartesian/ErrorBar.js.map +0 -1
  1806. package/dist/node_modules/recharts/es6/cartesian/ReferenceArea.js.map +0 -1
  1807. package/dist/node_modules/recharts/es6/cartesian/ReferenceDot.js.map +0 -1
  1808. package/dist/node_modules/recharts/es6/cartesian/ReferenceLine.js.map +0 -1
  1809. package/dist/node_modules/recharts/es6/cartesian/XAxis.js.map +0 -1
  1810. package/dist/node_modules/recharts/es6/cartesian/YAxis.js.map +0 -1
  1811. package/dist/node_modules/recharts/es6/cartesian/getEquidistantTicks.js.map +0 -1
  1812. package/dist/node_modules/recharts/es6/cartesian/getTicks.js.map +0 -1
  1813. package/dist/node_modules/recharts/es6/chart/AccessibilityManager.js.map +0 -1
  1814. package/dist/node_modules/recharts/es6/chart/AreaChart.js.map +0 -1
  1815. package/dist/node_modules/recharts/es6/chart/PieChart.js.map +0 -1
  1816. package/dist/node_modules/recharts/es6/chart/generateCategoricalChart.js.map +0 -1
  1817. package/dist/node_modules/recharts/es6/component/Cell.js.map +0 -1
  1818. package/dist/node_modules/recharts/es6/component/Cursor.js.map +0 -1
  1819. package/dist/node_modules/recharts/es6/component/DefaultLegendContent.js.map +0 -1
  1820. package/dist/node_modules/recharts/es6/component/DefaultTooltipContent.js.map +0 -1
  1821. package/dist/node_modules/recharts/es6/component/Label.js.map +0 -1
  1822. package/dist/node_modules/recharts/es6/component/LabelList.js.map +0 -1
  1823. package/dist/node_modules/recharts/es6/component/Legend.js.map +0 -1
  1824. package/dist/node_modules/recharts/es6/component/ResponsiveContainer.js.map +0 -1
  1825. package/dist/node_modules/recharts/es6/component/Text.js.map +0 -1
  1826. package/dist/node_modules/recharts/es6/component/Tooltip.js.map +0 -1
  1827. package/dist/node_modules/recharts/es6/component/TooltipBoundingBox.js.map +0 -1
  1828. package/dist/node_modules/recharts/es6/container/Layer.js.map +0 -1
  1829. package/dist/node_modules/recharts/es6/container/Surface.js.map +0 -1
  1830. package/dist/node_modules/recharts/es6/context/chartLayoutContext.js.map +0 -1
  1831. package/dist/node_modules/recharts/es6/polar/Pie.js.map +0 -1
  1832. package/dist/node_modules/recharts/es6/polar/PolarAngleAxis.js.map +0 -1
  1833. package/dist/node_modules/recharts/es6/polar/PolarRadiusAxis.js.map +0 -1
  1834. package/dist/node_modules/recharts/es6/shape/Cross.js.map +0 -1
  1835. package/dist/node_modules/recharts/es6/shape/Curve.js.map +0 -1
  1836. package/dist/node_modules/recharts/es6/shape/Dot.js.map +0 -1
  1837. package/dist/node_modules/recharts/es6/shape/Polygon.js.map +0 -1
  1838. package/dist/node_modules/recharts/es6/shape/Rectangle.js.map +0 -1
  1839. package/dist/node_modules/recharts/es6/shape/Sector.js.map +0 -1
  1840. package/dist/node_modules/recharts/es6/shape/Symbols.js.map +0 -1
  1841. package/dist/node_modules/recharts/es6/shape/Trapezoid.js.map +0 -1
  1842. package/dist/node_modules/recharts/es6/util/ActiveShapeUtils.js.map +0 -1
  1843. package/dist/node_modules/recharts/es6/util/BarUtils.js.map +0 -1
  1844. package/dist/node_modules/recharts/es6/util/CartesianUtils.js.map +0 -1
  1845. package/dist/node_modules/recharts/es6/util/ChartUtils.js.map +0 -1
  1846. package/dist/node_modules/recharts/es6/util/CssPrefixUtils.js.map +0 -1
  1847. package/dist/node_modules/recharts/es6/util/DOMUtils.js.map +0 -1
  1848. package/dist/node_modules/recharts/es6/util/DataUtils.js.map +0 -1
  1849. package/dist/node_modules/recharts/es6/util/DetectReferenceElementsDomain.js.map +0 -1
  1850. package/dist/node_modules/recharts/es6/util/Events.js.map +0 -1
  1851. package/dist/node_modules/recharts/es6/util/Global.js.map +0 -1
  1852. package/dist/node_modules/recharts/es6/util/IfOverflowMatches.js.map +0 -1
  1853. package/dist/node_modules/recharts/es6/util/LogUtils.js.map +0 -1
  1854. package/dist/node_modules/recharts/es6/util/PolarUtils.js.map +0 -1
  1855. package/dist/node_modules/recharts/es6/util/ReactUtils.js.map +0 -1
  1856. package/dist/node_modules/recharts/es6/util/ReduceCSSCalc.js.map +0 -1
  1857. package/dist/node_modules/recharts/es6/util/ShallowEqual.js.map +0 -1
  1858. package/dist/node_modules/recharts/es6/util/TickUtils.js.map +0 -1
  1859. package/dist/node_modules/recharts/es6/util/calculateViewBox.js.map +0 -1
  1860. package/dist/node_modules/recharts/es6/util/cursor/getCursorPoints.js.map +0 -1
  1861. package/dist/node_modules/recharts/es6/util/cursor/getCursorRectangle.js.map +0 -1
  1862. package/dist/node_modules/recharts/es6/util/cursor/getRadialCursorPoints.js.map +0 -1
  1863. package/dist/node_modules/recharts/es6/util/getEveryNthWithCondition.js.map +0 -1
  1864. package/dist/node_modules/recharts/es6/util/getLegendProps.js.map +0 -1
  1865. package/dist/node_modules/recharts/es6/util/isDomainSpecifiedByUser.js.map +0 -1
  1866. package/dist/node_modules/recharts/es6/util/payload/getUniqPayload.js.map +0 -1
  1867. package/dist/node_modules/recharts/es6/util/tooltip/translate.js.map +0 -1
  1868. package/dist/node_modules/recharts/es6/util/types.js.map +0 -1
  1869. package/dist/node_modules/recharts-scale/es6/getNiceTickValues.js.map +0 -1
  1870. package/dist/node_modules/recharts-scale/es6/util/arithmetic.js.map +0 -1
  1871. package/dist/node_modules/recharts-scale/es6/util/utils.js.map +0 -1
  1872. package/dist/node_modules/rxjs/dist/esm5/internal/NotificationFactories.js.map +0 -1
  1873. package/dist/node_modules/rxjs/dist/esm5/internal/Observable.js.map +0 -1
  1874. package/dist/node_modules/rxjs/dist/esm5/internal/Subscriber.js.map +0 -1
  1875. package/dist/node_modules/rxjs/dist/esm5/internal/Subscription.js.map +0 -1
  1876. package/dist/node_modules/rxjs/dist/esm5/internal/config.js.map +0 -1
  1877. package/dist/node_modules/rxjs/dist/esm5/internal/observable/empty.js.map +0 -1
  1878. package/dist/node_modules/rxjs/dist/esm5/internal/observable/throwError.js.map +0 -1
  1879. package/dist/node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js.map +0 -1
  1880. package/dist/node_modules/rxjs/dist/esm5/internal/symbol/observable.js.map +0 -1
  1881. package/dist/node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js.map +0 -1
  1882. package/dist/node_modules/rxjs/dist/esm5/internal/util/arrRemove.js.map +0 -1
  1883. package/dist/node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js.map +0 -1
  1884. package/dist/node_modules/rxjs/dist/esm5/internal/util/errorContext.js.map +0 -1
  1885. package/dist/node_modules/rxjs/dist/esm5/internal/util/identity.js.map +0 -1
  1886. package/dist/node_modules/rxjs/dist/esm5/internal/util/isFunction.js.map +0 -1
  1887. package/dist/node_modules/rxjs/dist/esm5/internal/util/noop.js.map +0 -1
  1888. package/dist/node_modules/rxjs/dist/esm5/internal/util/pipe.js.map +0 -1
  1889. package/dist/node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js.map +0 -1
  1890. package/dist/node_modules/rxjs/node_modules/tslib/tslib.es6.js.map +0 -1
  1891. package/dist/node_modules/tiny-invariant/dist/esm/tiny-invariant.js.map +0 -1
  1892. package/dist/node_modules/victory-vendor/es/d3-scale.js.map +0 -1
  1893. package/dist/pages/ActionsPage.js.map +0 -1
  1894. package/dist/pages/AgentDetailsPage.js.map +0 -1
  1895. package/dist/pages/AgentGraphPage.js.map +0 -1
  1896. package/dist/pages/AgentsLandingPage.js.map +0 -1
  1897. package/dist/pages/AgentsPage.js.map +0 -1
  1898. package/dist/pages/AnalyticsPage.js.map +0 -1
  1899. package/dist/pages/CatalogDetailPage.js.map +0 -1
  1900. package/dist/pages/CatalogDocsPage.js.map +0 -1
  1901. package/dist/pages/CatalogPage.js.map +0 -1
  1902. package/dist/pages/ComponentDetailPage.js.map +0 -1
  1903. package/dist/pages/ComponentDocsPage.js.map +0 -1
  1904. package/dist/pages/ComponentsPage.js.map +0 -1
  1905. package/dist/pages/EnvTopologyPage.js.map +0 -1
  1906. package/dist/pages/GettingStartedPage.js.map +0 -1
  1907. package/dist/pages/HealthPage.js.map +0 -1
  1908. package/dist/pages/LogsPage.js.map +0 -1
  1909. package/dist/pages/NoteDetailsPage.js.map +0 -1
  1910. package/dist/pages/OverviewPage.js.map +0 -1
  1911. package/dist/pages/PluginDetailPage.js.map +0 -1
  1912. package/dist/pages/PluginsCatalogPage.js.map +0 -1
  1913. package/dist/pages/ScheduledJobDetailPage.js.map +0 -1
  1914. package/dist/pages/SessionDetailsPage.js.map +0 -1
  1915. package/dist/pages/SessionsPage.js.map +0 -1
  1916. package/dist/pages/SettingsPage.js.map +0 -1
  1917. package/dist/pages/SharedSessionPage.js.map +0 -1
  1918. package/dist/pages/SharedVibeDeckPage.js.map +0 -1
  1919. package/dist/pages/TargetDetailsPage.js.map +0 -1
  1920. package/dist/pages/TargetsPage.js.map +0 -1
  1921. package/dist/pages/TemplateDetailPage.js.map +0 -1
  1922. package/dist/pages/TemplatesPage.js.map +0 -1
  1923. package/dist/pages/TunnelsLandingPage.js.map +0 -1
  1924. package/dist/pages/VibeAuditPage.js.map +0 -1
  1925. package/dist/pages/VibeCalendarPage.js.map +0 -1
  1926. package/dist/pages/VibeDeckPage.js.map +0 -1
  1927. package/dist/pages/VibeDetailsPage.js.map +0 -1
  1928. package/dist/pages/VibeDocsPage.js.map +0 -1
  1929. package/dist/pages/VibeTaskDetailPage.js.map +0 -1
  1930. package/dist/pages/VibesPage.js.map +0 -1
  1931. package/dist/pages/WebhooksPage.js.map +0 -1
  1932. package/dist/pages/ai/AIBookmarksPage.js.map +0 -1
  1933. package/dist/pages/ai/AIBuilderPage.js.map +0 -1
  1934. package/dist/pages/ai/AIPage.js.map +0 -1
  1935. package/dist/pages/ai/AISessionDetailPage.js.map +0 -1
  1936. package/dist/pages/ai/AgentManagerPage.js.map +0 -1
  1937. package/dist/pages/tunnels/AuditTab.js.map +0 -1
  1938. package/dist/pages/tunnels/DomainsTab.js.map +0 -1
  1939. package/dist/pages/tunnels/ProvidersTab.js.map +0 -1
  1940. package/dist/pages/tunnels/SessionsTab.js.map +0 -1
  1941. package/dist/pages/tunnels/TunnelDetailsPage.js.map +0 -1
  1942. package/dist/pages/tunnels/TunnelsTab.js.map +0 -1
  1943. package/dist/pages/tunnels/UsageTab.js.map +0 -1
  1944. package/dist/pages/tunnels/tabs/TunnelAuditTab.js.map +0 -1
  1945. package/dist/pages/tunnels/tabs/TunnelCliTab.js.map +0 -1
  1946. package/dist/pages/tunnels/tabs/TunnelDomainsTab.js.map +0 -1
  1947. package/dist/pages/tunnels/tabs/TunnelEndpointsTab.js.map +0 -1
  1948. package/dist/pages/tunnels/tabs/TunnelOverviewTab.js.map +0 -1
  1949. package/dist/pages/tunnels/tabs/TunnelSessionsTab.js.map +0 -1
  1950. package/dist/pages/tunnels/tabs/TunnelSettingsTab.js.map +0 -1
  1951. package/dist/pages/tunnels/tabs/TunnelUsageTab.js.map +0 -1
  1952. package/dist/plugin.js.map +0 -1
  1953. package/dist/providers/AgentEventsProvider.js.map +0 -1
  1954. package/dist/providers/QuotaExhaustedProvider.js.map +0 -1
  1955. package/dist/providers/VibeControlsProvider.js.map +0 -1
  1956. package/dist/services/agentRemoteTaskGates.js.map +0 -1
  1957. package/dist/services/aiApi.js.map +0 -1
  1958. package/dist/services/assistantApi.js.map +0 -1
  1959. package/dist/services/createSandboxAssistantTransport.js.map +0 -1
  1960. package/dist/services/gitopsApi.js.map +0 -1
  1961. package/dist/services/iframeToken.js.map +0 -1
  1962. package/dist/services/planApi.js.map +0 -1
  1963. package/dist/services/schedulerApi.js.map +0 -1
  1964. package/dist/shared/hooks/useField.js.map +0 -1
  1965. package/dist/shared/hooks/useTr.js.map +0 -1
  1966. package/dist/store/agentManagerStore.js.map +0 -1
  1967. package/dist/store/vibeControlsStore.js.map +0 -1
  1968. package/dist/translations/en.js.map +0 -1
  1969. package/dist/types/assistant.js.map +0 -1
  1970. package/dist/utils/agentApiPath.js.map +0 -1
  1971. package/dist/utils/agentHealth.js.map +0 -1
  1972. package/dist/utils/agentStatus.js.map +0 -1
  1973. package/dist/utils/agentVisibility.js.map +0 -1
  1974. package/dist/utils/aiCredits.js.map +0 -1
  1975. package/dist/utils/aiCreditsLedger.js.map +0 -1
  1976. package/dist/utils/aiSessionNotFound.js.map +0 -1
  1977. package/dist/utils/assistantPrompt.js.map +0 -1
  1978. package/dist/utils/onboardingUtils.js.map +0 -1
  1979. package/dist/utils/pageContext.js.map +0 -1
  1980. package/dist/utils/quotaUtils.js.map +0 -1
  1981. package/dist/utils/randomSessionName.js.map +0 -1
  1982. package/dist/utils/relativeTime.js.map +0 -1
  1983. package/dist/utils/shareUrl.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComponentDetailPage.js","names":[],"sources":["../../src/pages/ComponentDetailPage.tsx"],"sourcesContent":["import { useState, useCallback, useMemo } from 'react';\nimport { useParams } from 'react-router';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { VIBE_PERMISSIONS } from '../constants/permissions';\nimport { AnimatePresence, motion } from 'framer-motion';\nimport {\n ArrowLeft,\n Box,\n BookOpen,\n BarChart3,\n FileText,\n Settings,\n RefreshCw,\n FileCode,\n Layers,\n Upload,\n Trash2,\n Tag,\n Plus,\n X,\n Share2,\n} from 'lucide-react';\nimport {\n PageHeader,\n Card,\n StatCard,\n EmptyState,\n ErrorState,\n QuotaExhaustedDialog,\n ConfirmDialog,\n} from '@/components/shared';\nimport { EntityTagPicker } from '@/components/shared/EntityTagPicker';\nimport { PageSkeleton } from '@/components/shared/PageSkeleton';\nimport { MotionPage, MotionList, MotionItem } from '@burdenoff/fe-libs/shared/motion';\nimport { PagePurpose, NextSteps } from '@burdenoff/fe-libs/ui';\n\nimport { DocsTabPanel } from '@/components/docs';\nimport { ScorecardPanel } from '@/components/scorecard';\nimport { CatalogCard } from '@/components/catalog';\nimport type { CatalogCardData } from '@/components/catalog';\nimport { ComponentForm, DependencyGraphTab } from '@/components/idp-components';\nimport type { ComponentFormData } from '@/components/idp-components';\nimport { PublishTemplateForm } from '@/components/templates';\nimport type { PublishTemplateFormData } from '@/components/templates';\nimport { EntityShareButton } from '@/components/sharing';\nimport { useVibeNavigate } from '@/providers/VibeControlsProvider';\nimport { useQueryBackedTab } from '@/hooks/useQueryBackedTab';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { isQuotaExhaustedError, markQuotaHandledLocally } from '@/utils/quotaUtils';\nimport {\n useGetComponentQuery,\n useUpdateComponentMutation,\n useDeleteComponentMutation,\n usePublishComponentAsTemplateMutation,\n useAddComponentToCatalogMutation,\n useListCatalogsQuery,\n} from '@/generated/wspace-operations';\nimport type { VibecontrolsTemplateCategory } from '@/generated/wspace-types';\n\ntype ComponentTab =\n 'overview' | 'catalogs' | 'scorecard' | 'docs' | 'dependencies' | 'template' | 'settings';\nconst COMPONENT_TABS: readonly ComponentTab[] = [\n 'overview',\n 'catalogs',\n 'scorecard',\n 'docs',\n 'dependencies',\n 'template',\n 'settings',\n];\n\nexport function ComponentDetailPage() {\n const { t } = useI18n();\n const { id } = useParams<{ id: string }>();\n const navigate = useVibeNavigate();\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const canReadComponent = hasPermission(VIBE_PERMISSIONS.COMPONENT_READ);\n const canUpdateComponent = hasPermission(VIBE_PERMISSIONS.COMPONENT_UPDATE);\n const canDeleteComponent = hasPermission(VIBE_PERMISSIONS.COMPONENT_DELETE);\n const canReadCatalog = hasPermission(VIBE_PERMISSIONS.CATALOG_READ);\n const canUpdateCatalog = hasPermission(VIBE_PERMISSIONS.CATALOG_UPDATE);\n const canUseCatalogPicker = canReadCatalog && canUpdateCatalog;\n const canCreateTemplate = hasPermission(VIBE_PERMISSIONS.TEMPLATE_CREATE);\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 [activeTab, setActiveTab] = useQueryBackedTab<ComponentTab>(COMPONENT_TABS, 'overview');\n const [showEditForm, setShowEditForm] = useState(false);\n const [showDeleteConfirm, setShowDeleteConfirm] = useState(false);\n const [isDeleting, setIsDeleting] = useState(false);\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const [showQuotaExhausted, setShowQuotaExhausted] = useState(false);\n const [showPublishForm, setShowPublishForm] = useState(false);\n const [showAddToCatalog, setShowAddToCatalog] = useState(false);\n\n const { data, loading, error, refetch } = useGetComponentQuery({\n variables: { id: id || '' },\n skip: !id || permissionsLoading || !canReadComponent,\n fetchPolicy: 'cache-and-network',\n });\n\n const [updateComponent] = useUpdateComponentMutation({ refetchQueries: ['GetComponent'] });\n const [deleteComponent] = useDeleteComponentMutation({ refetchQueries: ['ListComponents'] });\n const [publishAsTemplate] = usePublishComponentAsTemplateMutation({\n refetchQueries: ['GetComponent'],\n });\n const [addToCatalog] = useAddComponentToCatalogMutation({ refetchQueries: ['GetComponent'] });\n const { data: catalogsData } = useListCatalogsQuery({\n variables: { pagination: { limit: 100, offset: 0 } },\n skip: !showAddToCatalog || !canUseCatalogPicker,\n fetchPolicy: 'cache-and-network',\n });\n\n const component = data?.vibecontrolsComponent ?? null;\n\n const catalogs: CatalogCardData[] = useMemo(() => {\n return (component?.catalogs ?? []).map((entry: Record<string, any>) => {\n const c = entry.catalog || {};\n return {\n id: c.id as string,\n name: c.name as string,\n description: (c.description as string) || null,\n visibility: c.visibility as CatalogCardData['visibility'],\n componentCount: (c.componentCount as number) || 0,\n vibeCount: (c.vibeCount as number) || 0,\n tags: (c.tags as string[]) || [],\n createdAt: c.createdAt as string,\n updatedAt: c.updatedAt as string,\n };\n });\n }, [component?.catalogs]);\n\n if (permissionsLoading)\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <p className=\"text-text-secondary\">Loading permissions…</p>\n </div>\n );\n if (!canReadComponent)\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <div className=\"text-center space-y-2\">\n <h2 className=\"text-lg font-semibold text-text-primary\">Access Denied</h2>\n <p className=\"text-sm text-text-secondary\">\n You don't have permission to access this page.\n </p>\n </div>\n </div>\n );\n\n const handleBack = () => {\n navigate('/components');\n };\n\n const handleCatalogClick = (catalog: CatalogCardData) => {\n navigate(`/catalogs/${catalog.id}`);\n };\n\n const handleUpdateComponent = async (formData: ComponentFormData) => {\n if (!id || !canUpdateComponent) return;\n await updateComponent({\n variables: {\n id,\n input: {\n name: formData.name,\n description: formData.description || undefined,\n type: formData.type,\n lifecycle: formData.lifecycle,\n language: formData.language || undefined,\n framework: formData.framework || undefined,\n version: formData.version || undefined,\n ownerName: formData.ownerName || undefined,\n tags: formData.tags.length > 0 ? formData.tags : undefined,\n repositoryUrl: formData.repositoryUrl || undefined,\n documentationUrl: formData.documentationUrl || undefined,\n dependencies: formData.dependencies ?? undefined,\n sbomData: formData.sbomData ?? undefined,\n },\n },\n });\n setSuccessMessage(tr('component.updatedSuccess', 'Component updated successfully'));\n setTimeout(() => setSuccessMessage(null), 3000);\n };\n\n const handleDeleteComponent = async () => {\n if (!id) return;\n setIsDeleting(true);\n try {\n await deleteComponent({ variables: { id } });\n setShowDeleteConfirm(false);\n navigate('/components');\n } finally {\n setIsDeleting(false);\n }\n };\n\n const handlePublishAsTemplate = async (formData: PublishTemplateFormData) => {\n if (!id || !canCreateTemplate) return;\n try {\n const res = await publishAsTemplate({\n variables: {\n componentId: id,\n input: {\n name: formData.name,\n description: formData.description || undefined,\n category: formData.category as VibecontrolsTemplateCategory,\n version: formData.version || undefined,\n setupInstructions: formData.setupInstructions || undefined,\n variables: formData.variables.length > 0 ? formData.variables : undefined,\n sourceRepositoryUrl: formData.sourceRepositoryUrl,\n },\n },\n });\n if (res.error && isQuotaExhaustedError(res.error)) {\n setShowPublishForm(false);\n setShowQuotaExhausted(true);\n return;\n }\n setShowPublishForm(false);\n setSuccessMessage(tr('component.publishedAsTemplate', 'Published as template successfully'));\n setTimeout(() => setSuccessMessage(null), 3000);\n } catch (err) {\n if (isQuotaExhaustedError(err)) {\n setShowPublishForm(false);\n markQuotaHandledLocally();\n setShowQuotaExhausted(true);\n return;\n }\n throw err;\n }\n };\n\n const lifecycleStyles: Record<string, string> = {\n EXPERIMENTAL: 'bg-status-warning-bg text-status-warning-text',\n ACTIVE: 'bg-status-success-bg text-status-success-text',\n DEPRECATED: 'bg-status-error-bg text-status-error-text',\n END_OF_LIFE: 'bg-status-error-bg text-status-error-text',\n };\n\n const deps = Array.isArray(component?.dependencies)\n ? (component.dependencies as Array<{\n name: string;\n version?: string | null;\n type?: string | null;\n }>)\n : [];\n\n const tabs: { id: ComponentTab; label: string; icon: typeof Box; badge?: string }[] = [\n { id: 'overview', label: tr('nav.overview', 'Overview'), icon: Box },\n {\n id: 'catalogs',\n label: tr('component.catalogs', 'Catalogs'),\n icon: BookOpen,\n badge: `${catalogs.length}`,\n },\n { id: 'scorecard', label: tr('component.scorecard', 'Scorecard'), icon: BarChart3 },\n { id: 'docs', label: tr('component.docs', 'Docs'), icon: FileText },\n {\n id: 'dependencies',\n label: tr('component.dependencies', 'Dependencies'),\n icon: Share2,\n badge: deps.length > 0 ? `${deps.length}` : undefined,\n },\n { id: 'template', label: tr('component.template', 'Template'), icon: FileCode },\n { id: 'settings', label: tr('common.settings', 'Settings'), icon: Settings },\n ];\n\n // Guard states\n if (loading && !component) {\n return (\n <MotionPage className=\"space-y-6 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n <button\n type=\"button\"\n onClick={handleBack}\n className=\"flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors\"\n >\n <ArrowLeft className=\"size-4\" />\n {tr('component.backToComponents', 'Back to Components')}\n </button>\n <PageSkeleton variant=\"detail\" />\n </MotionPage>\n );\n }\n\n if (error && !component) {\n return (\n <MotionPage className=\"space-y-6 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n <button\n type=\"button\"\n onClick={handleBack}\n className=\"flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors\"\n >\n <ArrowLeft className=\"size-4\" />\n {tr('component.backToComponents', 'Back to Components')}\n </button>\n <ErrorState\n title={tr('component.failedLoad', 'Failed to load component')}\n message={error.message}\n onRetry={() => refetch()}\n />\n </MotionPage>\n );\n }\n\n if (!component) {\n return (\n <MotionPage className=\"space-y-6 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n <button\n type=\"button\"\n onClick={handleBack}\n className=\"flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors\"\n >\n <ArrowLeft className=\"size-4\" />\n {tr('component.backToComponents', 'Back to Components')}\n </button>\n <EmptyState\n icon={<Box className=\"size-8 text-text-secondary\" />}\n title={tr('component.notFound', 'Component not found')}\n description={`No component with ID \"${id}\" exists`}\n action={\n <button\n type=\"button\"\n onClick={handleBack}\n className=\"px-4 py-2 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors\"\n >\n {tr('component.backToComponents', 'Back to Components')}\n </button>\n }\n />\n </MotionPage>\n );\n }\n\n return (\n <MotionPage className=\"space-y-6 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n {/* Success Toast */}\n {successMessage && (\n <div className=\"fixed top-4 left-4 right-4 sm:left-auto z-50 bg-status-success-bg text-status-success-text px-4 py-3 rounded-md shadow-lg\">\n {successMessage}\n </div>\n )}\n\n {/* Back Button */}\n <button\n type=\"button\"\n onClick={handleBack}\n className=\"flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors\"\n >\n <ArrowLeft className=\"size-4\" />\n {tr('component.backToComponents', 'Back to Components')}\n </button>\n\n {/* Header */}\n <PageHeader\n title={component.name}\n description={component.description || tr('component.noDescription', 'No description')}\n actions={\n <div className=\"flex items-center gap-2 flex-wrap\">\n <EntityShareButton\n entity=\"component\"\n resource={{ id: component.id, name: component.name }}\n label={tr('component.share', 'Share')}\n variant=\"button\"\n />\n <button\n type=\"button\"\n onClick={() => refetch()}\n disabled={loading}\n className=\"flex items-center justify-center p-2 bg-bg-sunken text-text-primary rounded-md hover:bg-action-secondary-bg-hover transition-colors disabled:opacity-50\"\n title={tr('common.refresh', 'Refresh')}\n >\n <RefreshCw className={`size-4 ${loading ? 'animate-spin' : ''}`} />\n </button>\n <span className=\"inline-flex items-center px-2.5 py-1 text-xs font-medium bg-bg-sunken text-text-secondary rounded\">\n {component.type}\n </span>\n <span\n className={`inline-flex items-center px-2.5 py-1 text-xs font-medium rounded ${lifecycleStyles[component.lifecycle] || 'bg-bg-sunken text-text-secondary'}`}\n >\n {component.lifecycle}\n </span>\n </div>\n }\n />\n\n <PagePurpose icon={<Box className=\"size-4\" />}>\n {tr(\n 'componentDetail.purpose',\n 'This is the record for one component — a single service, app, library or API in your system. From here you see its lifecycle and ownership, the catalogs it belongs to, its dependencies, docs and scorecard, and you can publish it as a reusable template. Come here to understand what something is, who owns it, and how healthy it is.'\n )}\n </PagePurpose>\n\n <NextSteps\n storageKey=\"vibecontrols-component-details\"\n steps={[\n {\n id: 'view-dependencies',\n label: tr('componentDetail.next.dependencies', 'Map its dependencies'),\n description: tr(\n 'componentDetail.next.dependenciesDesc',\n 'See what this component depends on and what depends on it.'\n ),\n icon: <Share2 className=\"size-4\" />,\n onClick: () => setActiveTab('dependencies'),\n },\n {\n id: 'check-scorecard',\n label: tr('componentDetail.next.scorecard', 'Review the scorecard'),\n description: tr(\n 'componentDetail.next.scorecardDesc',\n 'Check health and best-practice scores for this component.'\n ),\n icon: <BarChart3 className=\"size-4\" />,\n onClick: () => setActiveTab('scorecard'),\n },\n {\n id: 'publish-template',\n label: tr('componentDetail.next.template', 'Publish as a template'),\n description: tr(\n 'componentDetail.next.templateDesc',\n 'Turn this setup into a reusable blueprint for new components.'\n ),\n icon: <FileCode className=\"size-4\" />,\n onClick: () => setActiveTab('template'),\n },\n ]}\n />\n\n {/* Stat Cards */}\n <MotionList stagger={0.04} className=\"grid grid-cols-2 sm:grid-cols-4 gap-3 sm:gap-4\">\n <MotionItem>\n <StatCard\n title={tr('component.type', 'Type')}\n value={component.type}\n icon={<Box className=\"size-4\" />}\n />\n </MotionItem>\n <MotionItem>\n <StatCard\n title={tr('component.lifecycle', 'Lifecycle')}\n value={component.lifecycle}\n icon={<Layers className=\"size-4\" />}\n variant={\n component.lifecycle === 'ACTIVE'\n ? 'success'\n : component.lifecycle === 'DEPRECATED' || component.lifecycle === 'END_OF_LIFE'\n ? 'error'\n : 'warning'\n }\n />\n </MotionItem>\n <MotionItem>\n <StatCard\n title={tr('component.version', 'Version')}\n value={component.version || '-'}\n icon={<FileCode className=\"size-4\" />}\n />\n </MotionItem>\n <MotionItem>\n <StatCard\n title={tr('component.catalogs', 'Catalogs')}\n value={catalogs.length}\n icon={<BookOpen className=\"size-4\" />}\n />\n </MotionItem>\n </MotionList>\n\n {/* Universal tags */}\n <Card>\n <div className=\"p-4 border-b border-border-default flex items-center gap-2\">\n <Tag className=\"size-5\" />\n <h3 className=\"font-semibold text-text-primary\">{tr('component.tags', 'Tags')}</h3>\n </div>\n <div className=\"p-4\">\n <EntityTagPicker entityType=\"VIBECONTROLS_COMPONENT\" entityId={component.id} />\n </div>\n </Card>\n\n {/* Tab Navigation */}\n <div className=\"border-b border-border-default\">\n <nav\n className=\"flex gap-1 -mb-px overflow-x-auto pb-1\"\n aria-label={tr('component.tabsAriaLabel', 'Component tabs')}\n >\n {tabs.map((tab) => {\n const Icon = tab.icon;\n const isActiveTab = activeTab === tab.id;\n return (\n <button\n type=\"button\"\n key={tab.id}\n onClick={() => setActiveTab(tab.id)}\n className={`flex shrink-0 items-center gap-1.5 px-3 py-2.5 text-xs sm:gap-2 sm:px-4 sm:text-sm font-medium border-b-2 transition-colors whitespace-nowrap ${\n isActiveTab\n ? 'border-action-primary-bg text-action-primary-text'\n : 'border-transparent text-text-secondary hover:text-text-primary hover:border-border-default'\n }`}\n aria-selected={isActiveTab}\n role=\"tab\"\n >\n <Icon className=\"size-4\" />\n {tab.label}\n {tab.badge && (\n <span\n className={`hidden rounded-full px-1.5 py-0.5 text-[10px] sm:inline-flex sm:text-xs ${\n isActiveTab\n ? 'bg-[var(--color-accent-soft)] text-text-primary'\n : 'bg-bg-sunken text-text-muted'\n }`}\n >\n {tab.badge}\n </span>\n )}\n </button>\n );\n })}\n </nav>\n </div>\n\n {/* Tab Panels */}\n <AnimatePresence mode=\"wait\">\n {activeTab === 'overview' && (\n <motion.div\n key=\"overview\"\n initial={{ opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -8 }}\n transition={{ duration: 0.2 }}\n className=\"space-y-6\"\n >\n {component.description && (\n <Card>\n <div className=\"p-4\">\n <p className=\"text-text-primary\">{component.description}</p>\n </div>\n </Card>\n )}\n\n <Card>\n <div className=\"p-4 border-b border-border-default\">\n <h3 className=\"font-semibold text-text-primary\">\n {tr('component.metadata', 'Metadata')}\n </h3>\n </div>\n <div className=\"p-4\">\n <div className=\"grid grid-cols-1 sm:grid-cols-2 gap-4 text-sm\">\n <div>\n <p className=\"text-text-secondary\">{tr('component.ownerNameLabel', 'Owner')}</p>\n <p className=\"font-medium text-text-primary\">\n {component.ownerName || tr('common.unset', 'Unset')}\n </p>\n </div>\n <div>\n <p className=\"text-text-secondary\">\n {tr('component.languageLabel', 'Language')}\n </p>\n <p className=\"font-medium text-text-primary\">\n {component.language || tr('common.unset', 'Unset')}\n </p>\n </div>\n <div>\n <p className=\"text-text-secondary\">\n {tr('component.frameworkLabel', 'Framework')}\n </p>\n <p className=\"font-medium text-text-primary\">\n {component.framework || tr('common.unset', 'Unset')}\n </p>\n </div>\n <div>\n <p className=\"text-text-secondary\">{tr('component.versionLabel', 'Version')}</p>\n <p className=\"font-medium text-text-primary\">\n {component.version || tr('common.unset', 'Unset')}\n </p>\n </div>\n {component.repositoryUrl && (\n <div className=\"sm:col-span-2\">\n <p className=\"text-text-secondary\">\n {tr('component.repository', 'Repository')}\n </p>\n <a\n href={component.repositoryUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"font-medium text-action-primary-bg hover:underline break-all\"\n >\n {component.repositoryUrl}\n </a>\n </div>\n )}\n <div>\n <p className=\"text-text-secondary\">{tr('common.created', 'Created')}</p>\n <p className=\"font-medium text-text-primary\">\n {new Date(component.createdAt).toLocaleDateString()}\n </p>\n </div>\n <div>\n <p className=\"text-text-secondary\">{tr('common.updated', 'Updated')}</p>\n <p className=\"font-medium text-text-primary\">\n {new Date(component.updatedAt).toLocaleDateString()}\n </p>\n </div>\n </div>\n </div>\n </Card>\n\n {component.tags?.length > 0 && (\n <Card>\n <div className=\"p-4\">\n <h3 className=\"font-semibold text-text-primary mb-3\">\n {tr('component.tags', 'Tags')}\n </h3>\n <div className=\"flex flex-wrap gap-2\">\n {component.tags.map((tag: string) => (\n <span\n key={tag}\n className=\"px-2.5 py-1 text-sm bg-bg-sunken text-text-secondary rounded-md\"\n >\n {tag}\n </span>\n ))}\n </div>\n </div>\n </Card>\n )}\n </motion.div>\n )}\n\n {activeTab === 'catalogs' && (\n <motion.div\n key=\"catalogs\"\n initial={{ opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -8 }}\n transition={{ duration: 0.2 }}\n className=\"space-y-4\"\n >\n <div className=\"flex items-center justify-between\">\n <p className=\"text-sm text-text-secondary\">\n {catalogs.length}{' '}\n {tr('component.catalogsContaining', 'catalogs containing this component')}\n </p>\n {canUseCatalogPicker && (\n <button\n type=\"button\"\n onClick={() => setShowAddToCatalog(true)}\n className=\"flex items-center gap-2 px-3 py-2 text-sm bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors\"\n >\n <Plus className=\"size-4\" />\n {tr('component.addToCatalog', 'Add to Catalog')}\n </button>\n )}\n </div>\n {catalogs.length > 0 ? (\n <MotionList\n stagger={0.04}\n className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\"\n >\n {catalogs.map((catalog) => (\n <MotionItem key={catalog.id}>\n <CatalogCard catalog={catalog} onOpen={handleCatalogClick} />\n </MotionItem>\n ))}\n </MotionList>\n ) : (\n <EmptyState\n icon={<BookOpen className=\"size-8 text-text-secondary\" />}\n title={tr('component.noCatalogs', 'Not in any catalogs')}\n description={tr(\n 'component.noCatalogsDescription',\n 'This component has not been added to any catalogs yet'\n )}\n action={\n canUseCatalogPicker ? (\n <button\n type=\"button\"\n onClick={() => setShowAddToCatalog(true)}\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=\"size-4\" />\n {tr('component.addToCatalog', 'Add to Catalog')}\n </button>\n ) : undefined\n }\n />\n )}\n </motion.div>\n )}\n\n {activeTab === 'scorecard' && (\n <motion.div\n key=\"scorecard\"\n initial={{ opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -8 }}\n transition={{ duration: 0.2 }}\n className=\"space-y-6\"\n >\n <ScorecardPanel ownerType=\"COMPONENT\" ownerId={id || ''} />\n </motion.div>\n )}\n\n {activeTab === 'docs' && (\n <motion.div\n key=\"docs\"\n initial={{ opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -8 }}\n transition={{ duration: 0.2 }}\n className=\"space-y-6\"\n >\n <DocsTabPanel ownerType=\"COMPONENT\" ownerId={id || ''} />\n </motion.div>\n )}\n\n {activeTab === 'dependencies' && (\n <motion.div\n key=\"dependencies\"\n initial={{ opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -8 }}\n transition={{ duration: 0.2 }}\n >\n <DependencyGraphTab\n componentName={component.name}\n componentType={component.type}\n dependencies={deps}\n />\n </motion.div>\n )}\n\n {activeTab === 'template' && (\n <motion.div\n key=\"template\"\n initial={{ opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -8 }}\n transition={{ duration: 0.2 }}\n className=\"space-y-4\"\n >\n {(component.templates?.length ?? 0) === 0 ? (\n <Card padding=\"lg\">\n <div className=\"flex flex-col items-center justify-center py-12 text-center\">\n <FileCode className=\"size-12 text-text-muted mb-4\" />\n <h3 className=\"text-lg font-semibold text-text-primary mb-2\">\n {tr('component.template', 'Publish as Template')}\n </h3>\n <p className=\"text-sm text-text-secondary max-w-md mb-6\">\n {tr(\n 'component.publishDescription',\n 'Turn this component into a reusable template. Others can clone it and fill in configuration variables to create new components.'\n )}\n </p>\n {canCreateTemplate && (\n <button\n type=\"button\"\n onClick={() => setShowPublishForm(true)}\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 <Upload className=\"size-4\" />\n {tr('component.publishAsTemplate', 'Publish as Template')}\n </button>\n )}\n </div>\n </Card>\n ) : (\n <Card>\n <div className=\"p-4 border-b border-border-default\">\n <h3 className=\"font-semibold text-text-primary\">Published Templates</h3>\n </div>\n <div className=\"p-4 space-y-3\">\n {component.templates.map((tmpl: Record<string, string>) => (\n <div\n key={tmpl.id}\n className=\"flex items-center justify-between p-3 bg-bg-sunken rounded-lg\"\n >\n <div className=\"flex items-center gap-3\">\n <FileCode className=\"size-5 text-action-primary-bg\" />\n <div>\n <p className=\"text-sm font-medium text-text-primary\">{tmpl.name}</p>\n <p className=\"text-xs text-text-muted\">\n {tmpl.category} · v{tmpl.version || '—'}\n </p>\n </div>\n </div>\n <button\n type=\"button\"\n onClick={() => navigate(`/templates/${tmpl.id}`)}\n className=\"text-xs text-action-primary-bg hover:underline\"\n >\n View Template →\n </button>\n </div>\n ))}\n {canCreateTemplate && (\n <button\n type=\"button\"\n onClick={() => setShowPublishForm(true)}\n className=\"flex items-center gap-2 px-3 py-2 text-sm text-text-secondary border border-dashed border-border-default hover:border-border-strong rounded-lg w-full justify-center transition-colors\"\n >\n <Upload className=\"size-4\" />\n Update template\n </button>\n )}\n </div>\n </Card>\n )}\n </motion.div>\n )}\n\n {activeTab === 'settings' && (\n <motion.div\n key=\"settings\"\n initial={{ opacity: 0, y: 8 }}\n animate={{ opacity: 1, y: 0 }}\n exit={{ opacity: 0, y: -8 }}\n transition={{ duration: 0.2 }}\n >\n <div className=\"space-y-4\">\n {canUpdateComponent && (\n <Card padding=\"lg\">\n <h3 className=\"font-semibold text-text-primary mb-4\">\n {tr('component.editComponent', 'Edit Component')}\n </h3>\n <button\n type=\"button\"\n onClick={() => setShowEditForm(true)}\n className=\"px-4 py-2 bg-action-primary-bg text-action-primary-text rounded-md hover:bg-action-primary-bg-hover transition-colors\"\n >\n {tr('component.editDetails', 'Edit Details')}\n </button>\n </Card>\n )}\n {canDeleteComponent && (\n <Card padding=\"lg\">\n <h3 className=\"font-semibold text-status-error-text mb-2\">\n {tr('component.dangerZone', 'Danger Zone')}\n </h3>\n <p className=\"text-sm text-text-secondary mb-4\">\n {tr(\n 'component.deleteWarning',\n 'Deleting this component will remove it from all catalogs and break any templates derived from it. This cannot be undone.'\n )}\n </p>\n <button\n type=\"button\"\n data-testid=\"component-delete-button\"\n onClick={() => setShowDeleteConfirm(true)}\n className=\"inline-flex items-center gap-2 px-4 py-2 bg-status-error-bg text-status-error-text rounded-md hover:opacity-90 transition-opacity\"\n >\n <Trash2 className=\"size-4\" aria-hidden=\"true\" />\n {tr('component.deleteComponent', 'Delete Component')}\n </button>\n </Card>\n )}\n </div>\n </motion.div>\n )}\n </AnimatePresence>\n\n {/* Edit Form */}\n {canUpdateComponent && (\n <ComponentForm\n isOpen={showEditForm}\n onClose={() => setShowEditForm(false)}\n onSubmit={handleUpdateComponent}\n initialData={{\n name: component.name,\n description: component.description || '',\n type: component.type,\n lifecycle: component.lifecycle,\n language: component.language || '',\n framework: component.framework || '',\n version: component.version || '',\n ownerName: component.ownerName || '',\n tags: component.tags || [],\n repositoryUrl: component.repositoryUrl || '',\n documentationUrl: component.documentationUrl || '',\n dependencies: Array.isArray(component.dependencies) ? component.dependencies : null,\n sbomData:\n component.sbomData && typeof component.sbomData === 'object'\n ? (component.sbomData as Record<string, unknown>)\n : null,\n }}\n title={tr('component.editComponent', 'Edit Component')}\n />\n )}\n\n <ConfirmDialog\n isOpen={showDeleteConfirm}\n onClose={() => setShowDeleteConfirm(false)}\n onConfirm={handleDeleteComponent}\n title={tr('component.deleteComponent', 'Delete Component')}\n message={tr(\n 'component.deleteConfirmMessage',\n `Are you sure you want to delete \"${component.name}\"? This action cannot be undone.`\n )}\n confirmLabel={tr('common.delete', 'Delete')}\n variant=\"danger\"\n isLoading={isDeleting}\n />\n\n <QuotaExhaustedDialog\n isOpen={showQuotaExhausted}\n onClose={() => setShowQuotaExhausted(false)}\n onConfirm={() => {\n setShowQuotaExhausted(false);\n navigate('/billing/plans');\n }}\n title=\"Template Quota Reached\"\n message=\"You've reached the maximum number of published templates on your current plan. Upgrade your plan or purchase an add-on to publish more templates.\"\n />\n\n {showPublishForm && canCreateTemplate && (\n <PublishTemplateForm\n componentName={component.name}\n componentRepositoryUrl={component.repositoryUrl}\n onClose={() => setShowPublishForm(false)}\n onSubmit={handlePublishAsTemplate}\n />\n )}\n\n {showAddToCatalog && canUseCatalogPicker && (\n <div\n className=\"fixed inset-0 flex items-center justify-center z-50 p-4\"\n style={{ backgroundColor: 'rgba(0,0,0,0.55)' }}\n >\n <motion.div\n initial={{ opacity: 0, scale: 0.95 }}\n animate={{ opacity: 1, scale: 1 }}\n className=\"bg-bg-surface rounded-lg w-full max-w-md shadow-xl\"\n >\n <div className=\"flex items-center justify-between px-4 py-3 border-b border-border-default\">\n <h2 className=\"text-base font-semibold text-text-primary\">\n {tr('component.addToCatalog', 'Add to Catalog')}\n </h2>\n <button\n type=\"button\"\n onClick={() => setShowAddToCatalog(false)}\n className=\"p-1.5 text-text-secondary hover:text-text-primary rounded-md hover:bg-bg-sunken transition-colors\"\n >\n <X className=\"size-4\" />\n </button>\n </div>\n <div className=\"p-2 max-h-80 overflow-y-auto\">\n {(catalogsData?.vibecontrolsCatalogs?.items ?? []).length === 0 ? (\n <p className=\"text-sm text-text-secondary text-center py-6\">\n No catalogs found.{' '}\n <button\n type=\"button\"\n onClick={() => {\n setShowAddToCatalog(false);\n navigate('/catalogs');\n }}\n className=\"text-action-primary-bg hover:underline\"\n >\n Create one first.\n </button>\n </p>\n ) : (\n (catalogsData?.vibecontrolsCatalogs?.items ?? []).map(\n (cat: { id: string; name: string }) => {\n const alreadyIn = catalogs.some((c) => c.id === cat.id);\n return (\n <button\n type=\"button\"\n key={cat.id}\n disabled={alreadyIn}\n onClick={async () => {\n if (!id || alreadyIn) return;\n try {\n await addToCatalog({\n variables: { catalogId: cat.id, componentId: id },\n });\n setShowAddToCatalog(false);\n setSuccessMessage(`Added to ${cat.name}`);\n setTimeout(() => setSuccessMessage(null), 3000);\n } catch {\n // error shown by Apollo\n }\n }}\n className={`flex items-center justify-between w-full px-3 py-2.5 text-left rounded-md transition-colors ${\n alreadyIn\n ? 'opacity-40 cursor-not-allowed'\n : 'hover:bg-bg-sunken cursor-pointer'\n }`}\n >\n <div className=\"flex items-center gap-2\">\n <BookOpen className=\"size-4 text-action-primary-bg flex-shrink-0\" />\n <span className=\"text-sm text-text-primary\">{cat.name}</span>\n </div>\n {alreadyIn && (\n <span className=\"text-xs text-text-muted\">already added</span>\n )}\n </button>\n );\n }\n )\n )}\n </div>\n </motion.div>\n </div>\n )}\n </MotionPage>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,IAAM,KAA0C;CAC9C;CACA;CACA;CACA;CACA;CACA;CACA;CACD;AAED,SAAgB,IAAsB;CACpC,IAAM,EAAE,SAAM,IAAS,EACjB,EAAE,UAAO,IAA2B,EACpC,IAAW,IAAiB,EAC5B,EAAE,kBAAe,WAAW,MAAuB,IAAgB,EACnE,IAAmB,EAAc,EAAiB,eAAe,EACjE,IAAqB,EAAc,EAAiB,iBAAiB,EACrE,KAAqB,EAAc,EAAiB,iBAAiB,EACrE,KAAiB,EAAc,EAAiB,aAAa,EAC7D,KAAmB,EAAc,EAAiB,eAAe,EACjE,IAAsB,MAAkB,IACxC,IAAoB,EAAc,EAAiB,gBAAgB,EAEnE,IAAK,IACR,GAAa,MAA6B;EACzC,IAAM,IAAQ,EAAE,EAAI;AACpB,SAAO,MAAU,IAAM,IAAW;IAEpC,CAAC,EAAE,CACJ,EAEK,CAAC,GAAW,KAAgB,GAAgC,IAAgB,WAAW,EACvF,CAAC,IAAc,KAAmB,EAAS,GAAM,EACjD,CAAC,IAAmB,KAAwB,EAAS,GAAM,EAC3D,CAAC,IAAY,KAAiB,EAAS,GAAM,EAC7C,CAAC,GAAgB,KAAqB,EAAwB,KAAK,EACnE,CAAC,IAAoB,KAAyB,EAAS,GAAM,EAC7D,CAAC,IAAiB,KAAsB,EAAS,GAAM,EACvD,CAAC,GAAkB,KAAuB,EAAS,GAAM,EAEzD,EAAE,UAAM,YAAS,UAAO,eAAY,EAAqB;EAC7D,WAAW,EAAE,IAAI,KAAM,IAAI;EAC3B,MAAM,CAAC,KAAM,KAAsB,CAAC;EACpC,aAAa;EACd,CAAC,EAEI,CAAC,MAAmB,GAA2B,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,EACpF,CAAC,MAAmB,EAA2B,EAAE,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,EACtF,CAAC,MAAqB,GAAsC,EAChE,gBAAgB,CAAC,eAAe,EACjC,CAAC,EACI,CAAC,MAAgB,EAAiC,EAAE,gBAAgB,CAAC,eAAe,EAAE,CAAC,EACvF,EAAE,MAAM,MAAiB,GAAqB;EAClD,WAAW,EAAE,YAAY;GAAE,OAAO;GAAK,QAAQ;GAAG,EAAE;EACpD,MAAM,CAAC,KAAoB,CAAC;EAC5B,aAAa;EACd,CAAC,EAEI,IAAY,IAAM,yBAAyB,MAE3C,IAA8B,UAC1B,GAAW,YAAY,EAAE,EAAE,KAAK,MAA+B;EACrE,IAAM,IAAI,EAAM,WAAW,EAAE;AAC7B,SAAO;GACL,IAAI,EAAE;GACN,MAAM,EAAE;GACR,aAAc,EAAE,eAA0B;GAC1C,YAAY,EAAE;GACd,gBAAiB,EAAE,kBAA6B;GAChD,WAAY,EAAE,aAAwB;GACtC,MAAO,EAAE,QAAqB,EAAE;GAChC,WAAW,EAAE;GACb,WAAW,EAAE;GACd;GACD,EACD,CAAC,GAAW,SAAS,CAAC;AAEzB,KAAI,EACF,QACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,KAAD;GAAG,WAAU;aAAsB;GAAwB,CAAA;EACvD,CAAA;AAEV,KAAI,CAAC,EACH,QACE,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,MAAD;IAAI,WAAU;cAA0C;IAAkB,CAAA,EAC1E,kBAAC,KAAD;IAAG,WAAU;cAA8B;IAEvC,CAAA,CACA;;EACF,CAAA;CAGV,IAAM,UAAmB;AACvB,IAAS,cAAc;IAGnB,MAAsB,MAA6B;AACvD,IAAS,aAAa,EAAQ,KAAK;IAG/B,KAAwB,OAAO,MAAgC;AAC/D,GAAC,KAAM,CAAC,MACZ,MAAM,GAAgB,EACpB,WAAW;GACT;GACA,OAAO;IACL,MAAM,EAAS;IACf,aAAa,EAAS,eAAe,KAAA;IACrC,MAAM,EAAS;IACf,WAAW,EAAS;IACpB,UAAU,EAAS,YAAY,KAAA;IAC/B,WAAW,EAAS,aAAa,KAAA;IACjC,SAAS,EAAS,WAAW,KAAA;IAC7B,WAAW,EAAS,aAAa,KAAA;IACjC,MAAM,EAAS,KAAK,SAAS,IAAI,EAAS,OAAO,KAAA;IACjD,eAAe,EAAS,iBAAiB,KAAA;IACzC,kBAAkB,EAAS,oBAAoB,KAAA;IAC/C,cAAc,EAAS,gBAAgB,KAAA;IACvC,UAAU,EAAS,YAAY,KAAA;IAChC;GACF,EACF,CAAC,EACF,EAAkB,EAAG,4BAA4B,iCAAiC,CAAC,EACnF,iBAAiB,EAAkB,KAAK,EAAE,IAAK;IAG3C,KAAwB,YAAY;AACnC,SACL;KAAc,GAAK;AACnB,OAAI;AAGF,IAFA,MAAM,GAAgB,EAAE,WAAW,EAAE,OAAI,EAAE,CAAC,EAC5C,EAAqB,GAAM,EAC3B,EAAS,cAAc;aACf;AACR,MAAc,GAAM;;;IAIlB,KAA0B,OAAO,MAAsC;AACvE,SAAC,KAAM,CAAC,GACZ,KAAI;GACF,IAAM,IAAM,MAAM,GAAkB,EAClC,WAAW;IACT,aAAa;IACb,OAAO;KACL,MAAM,EAAS;KACf,aAAa,EAAS,eAAe,KAAA;KACrC,UAAU,EAAS;KACnB,SAAS,EAAS,WAAW,KAAA;KAC7B,mBAAmB,EAAS,qBAAqB,KAAA;KACjD,WAAW,EAAS,UAAU,SAAS,IAAI,EAAS,YAAY,KAAA;KAChE,qBAAqB,EAAS;KAC/B;IACF,EACF,CAAC;AACF,OAAI,EAAI,SAAS,EAAsB,EAAI,MAAM,EAAE;AAEjD,IADA,EAAmB,GAAM,EACzB,EAAsB,GAAK;AAC3B;;AAIF,GAFA,EAAmB,GAAM,EACzB,EAAkB,EAAG,iCAAiC,qCAAqC,CAAC,EAC5F,iBAAiB,EAAkB,KAAK,EAAE,IAAK;WACxC,GAAK;AACZ,OAAI,EAAsB,EAAI,EAAE;AAG9B,IAFA,EAAmB,GAAM,EACzB,GAAyB,EACzB,EAAsB,GAAK;AAC3B;;AAEF,SAAM;;IAIJ,KAA0C;EAC9C,cAAc;EACd,QAAQ;EACR,YAAY;EACZ,aAAa;EACd,EAEK,IAAO,MAAM,QAAQ,GAAW,aAAa,GAC9C,EAAU,eAKX,EAAE,EAEA,KAAgF;EACpF;GAAE,IAAI;GAAY,OAAO,EAAG,gBAAgB,WAAW;GAAE,MAAM;GAAK;EACpE;GACE,IAAI;GACJ,OAAO,EAAG,sBAAsB,WAAW;GAC3C,MAAM;GACN,OAAO,GAAG,EAAS;GACpB;EACD;GAAE,IAAI;GAAa,OAAO,EAAG,uBAAuB,YAAY;GAAE,MAAM;GAAW;EACnF;GAAE,IAAI;GAAQ,OAAO,EAAG,kBAAkB,OAAO;GAAE,MAAM;GAAU;EACnE;GACE,IAAI;GACJ,OAAO,EAAG,0BAA0B,eAAe;GACnD,MAAM;GACN,OAAO,EAAK,SAAS,IAAI,GAAG,EAAK,WAAW,KAAA;GAC7C;EACD;GAAE,IAAI;GAAY,OAAO,EAAG,sBAAsB,WAAW;GAAE,MAAM;GAAU;EAC/E;GAAE,IAAI;GAAY,OAAO,EAAG,mBAAmB,WAAW;GAAE,MAAM;GAAU;EAC7E;AAoED,QAjEI,KAAW,CAAC,IAEZ,kBAAC,GAAD;EAAY,WAAU;YAAtB,CACE,kBAAC,UAAD;GACE,MAAK;GACL,SAAS;GACT,WAAU;aAHZ,CAKE,kBAAC,GAAD,EAAW,WAAU,UAAW,CAAA,EAC/B,EAAG,8BAA8B,qBAAqB,CAChD;MACT,kBAAC,IAAD,EAAc,SAAQ,UAAW,CAAA,CACtB;MAIb,KAAS,CAAC,IAEV,kBAAC,GAAD;EAAY,WAAU;YAAtB,CACE,kBAAC,UAAD;GACE,MAAK;GACL,SAAS;GACT,WAAU;aAHZ,CAKE,kBAAC,GAAD,EAAW,WAAU,UAAW,CAAA,EAC/B,EAAG,8BAA8B,qBAAqB,CAChD;MACT,kBAAC,IAAD;GACE,OAAO,EAAG,wBAAwB,2BAA2B;GAC7D,SAAS,EAAM;GACf,eAAe,GAAS;GACxB,CAAA,CACS;MAIZ,IA8BH,kBAAC,GAAD;EAAY,WAAU;YAAtB;GAEG,KACC,kBAAC,OAAD;IAAK,WAAU;cACZ;IACG,CAAA;GAIR,kBAAC,UAAD;IACE,MAAK;IACL,SAAS;IACT,WAAU;cAHZ,CAKE,kBAAC,GAAD,EAAW,WAAU,UAAW,CAAA,EAC/B,EAAG,8BAA8B,qBAAqB,CAChD;;GAGT,kBAAC,IAAD;IACE,OAAO,EAAU;IACjB,aAAa,EAAU,eAAe,EAAG,2BAA2B,iBAAiB;IACrF,SACE,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,IAAD;OACE,QAAO;OACP,UAAU;QAAE,IAAI,EAAU;QAAI,MAAM,EAAU;QAAM;OACpD,OAAO,EAAG,mBAAmB,QAAQ;OACrC,SAAQ;OACR,CAAA;MACF,kBAAC,UAAD;OACE,MAAK;OACL,eAAe,GAAS;OACxB,UAAU;OACV,WAAU;OACV,OAAO,EAAG,kBAAkB,UAAU;iBAEtC,kBAAC,GAAD,EAAW,WAAW,UAAU,IAAU,iBAAiB,MAAQ,CAAA;OAC5D,CAAA;MACT,kBAAC,QAAD;OAAM,WAAU;iBACb,EAAU;OACN,CAAA;MACP,kBAAC,QAAD;OACE,WAAW,oEAAoE,GAAgB,EAAU,cAAc;iBAEtH,EAAU;OACN,CAAA;MACH;;IAER,CAAA;GAEF,kBAAC,IAAD;IAAa,MAAM,kBAAC,GAAD,EAAK,WAAU,UAAW,CAAA;cAC1C,EACC,2BACA,8UACD;IACW,CAAA;GAEd,kBAAC,IAAD;IACE,YAAW;IACX,OAAO;KACL;MACE,IAAI;MACJ,OAAO,EAAG,qCAAqC,uBAAuB;MACtE,aAAa,EACX,yCACA,6DACD;MACD,MAAM,kBAAC,GAAD,EAAQ,WAAU,UAAW,CAAA;MACnC,eAAe,EAAa,eAAe;MAC5C;KACD;MACE,IAAI;MACJ,OAAO,EAAG,kCAAkC,uBAAuB;MACnE,aAAa,EACX,sCACA,4DACD;MACD,MAAM,kBAAC,GAAD,EAAW,WAAU,UAAW,CAAA;MACtC,eAAe,EAAa,YAAY;MACzC;KACD;MACE,IAAI;MACJ,OAAO,EAAG,iCAAiC,wBAAwB;MACnE,aAAa,EACX,qCACA,gEACD;MACD,MAAM,kBAAC,GAAD,EAAU,WAAU,UAAW,CAAA;MACrC,eAAe,EAAa,WAAW;MACxC;KACF;IACD,CAAA;GAGF,kBAAC,GAAD;IAAY,SAAS;IAAM,WAAU;cAArC;KACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MACE,OAAO,EAAG,kBAAkB,OAAO;MACnC,OAAO,EAAU;MACjB,MAAM,kBAAC,GAAD,EAAK,WAAU,UAAW,CAAA;MAChC,CAAA,EACS,CAAA;KACb,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MACE,OAAO,EAAG,uBAAuB,YAAY;MAC7C,OAAO,EAAU;MACjB,MAAM,kBAAC,IAAD,EAAQ,WAAU,UAAW,CAAA;MACnC,SACE,EAAU,cAAc,WACpB,YACA,EAAU,cAAc,gBAAgB,EAAU,cAAc,gBAC9D,UACA;MAER,CAAA,EACS,CAAA;KACb,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MACE,OAAO,EAAG,qBAAqB,UAAU;MACzC,OAAO,EAAU,WAAW;MAC5B,MAAM,kBAAC,GAAD,EAAU,WAAU,UAAW,CAAA;MACrC,CAAA,EACS,CAAA;KACb,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;MACE,OAAO,EAAG,sBAAsB,WAAW;MAC3C,OAAO,EAAS;MAChB,MAAM,kBAAC,GAAD,EAAU,WAAU,UAAW,CAAA;MACrC,CAAA,EACS,CAAA;KACF;;GAGb,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,IAAD,EAAK,WAAU,UAAW,CAAA,EAC1B,kBAAC,MAAD;KAAI,WAAU;eAAmC,EAAG,kBAAkB,OAAO;KAAM,CAAA,CAC/E;OACN,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,IAAD;KAAiB,YAAW;KAAyB,UAAU,EAAU;KAAM,CAAA;IAC3E,CAAA,CACD,EAAA,CAAA;GAGP,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,OAAD;KACE,WAAU;KACV,cAAY,EAAG,2BAA2B,iBAAiB;eAE1D,GAAK,KAAK,MAAQ;MACjB,IAAM,IAAO,EAAI,MACX,IAAc,MAAc,EAAI;AACtC,aACE,kBAAC,UAAD;OACE,MAAK;OAEL,eAAe,EAAa,EAAI,GAAG;OACnC,WAAW,iJACT,IACI,sDACA;OAEN,iBAAe;OACf,MAAK;iBAVP;QAYE,kBAAC,GAAD,EAAM,WAAU,UAAW,CAAA;QAC1B,EAAI;QACJ,EAAI,SACH,kBAAC,QAAD;SACE,WAAW,2EACT,IACI,oDACA;mBAGL,EAAI;SACA,CAAA;QAEF;SAvBF,EAAI,GAuBF;OAEX;KACE,CAAA;IACF,CAAA;GAGN,kBAAC,IAAD;IAAiB,MAAK;cAAtB;KACG,MAAc,cACb,kBAAC,EAAO,KAAR;MAEE,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,MAAM;OAAE,SAAS;OAAG,GAAG;OAAI;MAC3B,YAAY,EAAE,UAAU,IAAK;MAC7B,WAAU;gBANZ;OAQG,EAAU,eACT,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,KAAD;SAAG,WAAU;mBAAqB,EAAU;SAAgB,CAAA;QACxD,CAAA,EACD,CAAA;OAGT,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,MAAD;SAAI,WAAU;mBACX,EAAG,sBAAsB,WAAW;SAClC,CAAA;QACD,CAAA,EACN,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,OAAD;SAAK,WAAU;mBAAf;UACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAuB,EAAG,4BAA4B,QAAQ;WAAK,CAAA,EAChF,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAU,aAAa,EAAG,gBAAgB,QAAQ;WACjD,CAAA,CACA,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAG,2BAA2B,WAAW;WACxC,CAAA,EACJ,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAU,YAAY,EAAG,gBAAgB,QAAQ;WAChD,CAAA,CACA,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAG,4BAA4B,YAAY;WAC1C,CAAA,EACJ,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAU,aAAa,EAAG,gBAAgB,QAAQ;WACjD,CAAA,CACA,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAuB,EAAG,0BAA0B,UAAU;WAAK,CAAA,EAChF,kBAAC,KAAD;WAAG,WAAU;qBACV,EAAU,WAAW,EAAG,gBAAgB,QAAQ;WAC/C,CAAA,CACA,EAAA,CAAA;UACL,EAAU,iBACT,kBAAC,OAAD;WAAK,WAAU;qBAAf,CACE,kBAAC,KAAD;YAAG,WAAU;sBACV,EAAG,wBAAwB,aAAa;YACvC,CAAA,EACJ,kBAAC,KAAD;YACE,MAAM,EAAU;YAChB,QAAO;YACP,KAAI;YACJ,WAAU;sBAET,EAAU;YACT,CAAA,CACA;;UAER,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAuB,EAAG,kBAAkB,UAAU;WAAK,CAAA,EACxE,kBAAC,KAAD;WAAG,WAAU;qBACV,IAAI,KAAK,EAAU,UAAU,CAAC,oBAAoB;WACjD,CAAA,CACA,EAAA,CAAA;UACN,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;WAAG,WAAU;qBAAuB,EAAG,kBAAkB,UAAU;WAAK,CAAA,EACxE,kBAAC,KAAD;WAAG,WAAU;qBACV,IAAI,KAAK,EAAU,UAAU,CAAC,oBAAoB;WACjD,CAAA,CACA,EAAA,CAAA;UACF;;QACF,CAAA,CACD,EAAA,CAAA;OAEN,EAAU,MAAM,SAAS,KACxB,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,MAAD;SAAI,WAAU;mBACX,EAAG,kBAAkB,OAAO;SAC1B,CAAA,EACL,kBAAC,OAAD;SAAK,WAAU;mBACZ,EAAU,KAAK,KAAK,MACnB,kBAAC,QAAD;UAEE,WAAU;oBAET;UACI,EAJA,EAIA,CACP;SACE,CAAA,CACF;WACD,CAAA;OAEE;QArGP,WAqGO;KAGd,MAAc,cACb,kBAAC,EAAO,KAAR;MAEE,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,MAAM;OAAE,SAAS;OAAG,GAAG;OAAI;MAC3B,YAAY,EAAE,UAAU,IAAK;MAC7B,WAAU;gBANZ,CAQE,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,KAAD;QAAG,WAAU;kBAAb;SACG,EAAS;SAAQ;SACjB,EAAG,gCAAgC,qCAAqC;SACvE;WACH,KACC,kBAAC,UAAD;QACE,MAAK;QACL,eAAe,EAAoB,GAAK;QACxC,WAAU;kBAHZ,CAKE,kBAAC,GAAD,EAAM,WAAU,UAAW,CAAA,EAC1B,EAAG,0BAA0B,iBAAiB,CACxC;UAEP;UACL,EAAS,SAAS,IACjB,kBAAC,GAAD;OACE,SAAS;OACT,WAAU;iBAET,EAAS,KAAK,MACb,kBAAC,GAAD,EAAA,UACE,kBAAC,IAAD;QAAsB;QAAS,QAAQ;QAAsB,CAAA,EAClD,EAFI,EAAQ,GAEZ,CACb;OACS,CAAA,GAEb,kBAAC,GAAD;OACE,MAAM,kBAAC,GAAD,EAAU,WAAU,8BAA+B,CAAA;OACzD,OAAO,EAAG,wBAAwB,sBAAsB;OACxD,aAAa,EACX,mCACA,wDACD;OACD,QACE,IACE,kBAAC,UAAD;QACE,MAAK;QACL,eAAe,EAAoB,GAAK;QACxC,WAAU;kBAHZ,CAKE,kBAAC,GAAD,EAAM,WAAU,UAAW,CAAA,EAC1B,EAAG,0BAA0B,iBAAiB,CACxC;YACP,KAAA;OAEN,CAAA,CAEO;QAxDP,WAwDO;KAGd,MAAc,eACb,kBAAC,EAAO,KAAR;MAEE,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,MAAM;OAAE,SAAS;OAAG,GAAG;OAAI;MAC3B,YAAY,EAAE,UAAU,IAAK;MAC7B,WAAU;gBAEV,kBAAC,IAAD;OAAgB,WAAU;OAAY,SAAS,KAAM;OAAM,CAAA;MAChD,EARP,YAQO;KAGd,MAAc,UACb,kBAAC,EAAO,KAAR;MAEE,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,MAAM;OAAE,SAAS;OAAG,GAAG;OAAI;MAC3B,YAAY,EAAE,UAAU,IAAK;MAC7B,WAAU;gBAEV,kBAAC,IAAD;OAAc,WAAU;OAAY,SAAS,KAAM;OAAM,CAAA;MAC9C,EARP,OAQO;KAGd,MAAc,kBACb,kBAAC,EAAO,KAAR;MAEE,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,MAAM;OAAE,SAAS;OAAG,GAAG;OAAI;MAC3B,YAAY,EAAE,UAAU,IAAK;gBAE7B,kBAAC,IAAD;OACE,eAAe,EAAU;OACzB,eAAe,EAAU;OACzB,cAAc;OACd,CAAA;MACS,EAXP,eAWO;KAGd,MAAc,cACb,kBAAC,EAAO,KAAR;MAEE,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,MAAM;OAAE,SAAS;OAAG,GAAG;OAAI;MAC3B,YAAY,EAAE,UAAU,IAAK;MAC7B,WAAU;iBAER,EAAU,WAAW,UAAU,OAAO,IACtC,kBAAC,GAAD;OAAM,SAAQ;iBACZ,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,GAAD,EAAU,WAAU,gCAAiC,CAAA;SACrD,kBAAC,MAAD;UAAI,WAAU;oBACX,EAAG,sBAAsB,sBAAsB;UAC7C,CAAA;SACL,kBAAC,KAAD;UAAG,WAAU;oBACV,EACC,gCACA,kIACD;UACC,CAAA;SACH,KACC,kBAAC,UAAD;UACE,MAAK;UACL,eAAe,EAAmB,GAAK;UACvC,WAAU;oBAHZ,CAKE,kBAAC,GAAD,EAAQ,WAAU,UAAW,CAAA,EAC5B,EAAG,+BAA+B,sBAAsB,CAClD;;SAEP;;OACD,CAAA,GAEP,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,OAAD;OAAK,WAAU;iBACb,kBAAC,MAAD;QAAI,WAAU;kBAAkC;QAAwB,CAAA;OACpE,CAAA,EACN,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACG,EAAU,UAAU,KAAK,MACxB,kBAAC,OAAD;QAEE,WAAU;kBAFZ,CAIE,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD,EAAU,WAAU,iCAAkC,CAAA,EACtD,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,KAAD;UAAG,WAAU;oBAAyC,EAAK;UAAS,CAAA,EACpE,kBAAC,KAAD;UAAG,WAAU;oBAAb;WACG,EAAK;WAAS;WAAK,EAAK,WAAW;WAClC;YACA,EAAA,CAAA,CACF;YACN,kBAAC,UAAD;SACE,MAAK;SACL,eAAe,EAAS,cAAc,EAAK,KAAK;SAChD,WAAU;mBACX;SAEQ,CAAA,CACL;UAnBC,EAAK,GAmBN,CACN,EACD,KACC,kBAAC,UAAD;QACE,MAAK;QACL,eAAe,EAAmB,GAAK;QACvC,WAAU;kBAHZ,CAKE,kBAAC,GAAD,EAAQ,WAAU,UAAW,CAAA,EAAA,kBAEtB;UAEP;SACD,EAAA,CAAA;MAEE,EA1EP,WA0EO;KAGd,MAAc,cACb,kBAAC,EAAO,KAAR;MAEE,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,SAAS;OAAE,SAAS;OAAG,GAAG;OAAG;MAC7B,MAAM;OAAE,SAAS;OAAG,GAAG;OAAI;MAC3B,YAAY,EAAE,UAAU,IAAK;gBAE7B,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACG,KACC,kBAAC,GAAD;QAAM,SAAQ;kBAAd,CACE,kBAAC,MAAD;SAAI,WAAU;mBACX,EAAG,2BAA2B,iBAAiB;SAC7C,CAAA,EACL,kBAAC,UAAD;SACE,MAAK;SACL,eAAe,EAAgB,GAAK;SACpC,WAAU;mBAET,EAAG,yBAAyB,eAAe;SACrC,CAAA,CACJ;WAER,MACC,kBAAC,GAAD;QAAM,SAAQ;kBAAd;SACE,kBAAC,MAAD;UAAI,WAAU;oBACX,EAAG,wBAAwB,cAAc;UACvC,CAAA;SACL,kBAAC,KAAD;UAAG,WAAU;oBACV,EACC,2BACA,2HACD;UACC,CAAA;SACJ,kBAAC,UAAD;UACE,MAAK;UACL,eAAY;UACZ,eAAe,EAAqB,GAAK;UACzC,WAAU;oBAJZ,CAME,kBAAC,IAAD;WAAQ,WAAU;WAAS,eAAY;WAAS,CAAA,EAC/C,EAAG,6BAA6B,mBAAmB,CAC7C;;SACJ;UAEL;;MACK,EA5CP,WA4CO;KAEC;;GAGjB,KACC,kBAAC,IAAD;IACE,QAAQ;IACR,eAAe,EAAgB,GAAM;IACrC,UAAU;IACV,aAAa;KACX,MAAM,EAAU;KAChB,aAAa,EAAU,eAAe;KACtC,MAAM,EAAU;KAChB,WAAW,EAAU;KACrB,UAAU,EAAU,YAAY;KAChC,WAAW,EAAU,aAAa;KAClC,SAAS,EAAU,WAAW;KAC9B,WAAW,EAAU,aAAa;KAClC,MAAM,EAAU,QAAQ,EAAE;KAC1B,eAAe,EAAU,iBAAiB;KAC1C,kBAAkB,EAAU,oBAAoB;KAChD,cAAc,MAAM,QAAQ,EAAU,aAAa,GAAG,EAAU,eAAe;KAC/E,UACE,EAAU,YAAY,OAAO,EAAU,YAAa,WAC/C,EAAU,WACX;KACP;IACD,OAAO,EAAG,2BAA2B,iBAAiB;IACtD,CAAA;GAGJ,kBAAC,IAAD;IACE,QAAQ;IACR,eAAe,EAAqB,GAAM;IAC1C,WAAW;IACX,OAAO,EAAG,6BAA6B,mBAAmB;IAC1D,SAAS,EACP,kCACA,oCAAoC,EAAU,KAAK,kCACpD;IACD,cAAc,EAAG,iBAAiB,SAAS;IAC3C,SAAQ;IACR,WAAW;IACX,CAAA;GAEF,kBAAC,IAAD;IACE,QAAQ;IACR,eAAe,EAAsB,GAAM;IAC3C,iBAAiB;AAEf,KADA,EAAsB,GAAM,EAC5B,EAAS,iBAAiB;;IAE5B,OAAM;IACN,SAAQ;IACR,CAAA;GAED,MAAmB,KAClB,kBAAC,IAAD;IACE,eAAe,EAAU;IACzB,wBAAwB,EAAU;IAClC,eAAe,EAAmB,GAAM;IACxC,UAAU;IACV,CAAA;GAGH,KAAoB,KACnB,kBAAC,OAAD;IACE,WAAU;IACV,OAAO,EAAE,iBAAiB,oBAAoB;cAE9C,kBAAC,EAAO,KAAR;KACE,SAAS;MAAE,SAAS;MAAG,OAAO;MAAM;KACpC,SAAS;MAAE,SAAS;MAAG,OAAO;MAAG;KACjC,WAAU;eAHZ,CAKE,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,MAAD;OAAI,WAAU;iBACX,EAAG,0BAA0B,iBAAiB;OAC5C,CAAA,EACL,kBAAC,UAAD;OACE,MAAK;OACL,eAAe,EAAoB,GAAM;OACzC,WAAU;iBAEV,kBAAC,IAAD,EAAG,WAAU,UAAW,CAAA;OACjB,CAAA,CACL;SACN,kBAAC,OAAD;MAAK,WAAU;iBACX,GAAc,sBAAsB,SAAS,EAAE,EAAE,WAAW,IAC5D,kBAAC,KAAD;OAAG,WAAU;iBAAb;QAA4D;QACvC;QACnB,kBAAC,UAAD;SACE,MAAK;SACL,eAAe;AAEb,UADA,EAAoB,GAAM,EAC1B,EAAS,YAAY;;SAEvB,WAAU;mBACX;SAEQ,CAAA;QACP;YAEH,GAAc,sBAAsB,SAAS,EAAE,EAAE,KAC/C,MAAsC;OACrC,IAAM,IAAY,EAAS,MAAM,MAAM,EAAE,OAAO,EAAI,GAAG;AACvD,cACE,kBAAC,UAAD;QACE,MAAK;QAEL,UAAU;QACV,SAAS,YAAY;AACf,gBAAC,KAAM,GACX,KAAI;AAMF,UALA,MAAM,GAAa,EACjB,WAAW;WAAE,WAAW,EAAI;WAAI,aAAa;WAAI,EAClD,CAAC,EACF,EAAoB,GAAM,EAC1B,EAAkB,YAAY,EAAI,OAAO,EACzC,iBAAiB,EAAkB,KAAK,EAAE,IAAK;iBACzC;;QAIV,WAAW,+FACT,IACI,kCACA;kBApBR,CAuBE,kBAAC,OAAD;SAAK,WAAU;mBAAf,CACE,kBAAC,GAAD,EAAU,WAAU,+CAAgD,CAAA,EACpE,kBAAC,QAAD;UAAM,WAAU;oBAA6B,EAAI;UAAY,CAAA,CACzD;YACL,KACC,kBAAC,QAAD;SAAM,WAAU;mBAA0B;SAAoB,CAAA,CAEzD;UA5BF,EAAI,GA4BF;QAGd;MAEC,CAAA,CACK;;IACT,CAAA;GAEG;MAxrBX,kBAAC,GAAD;EAAY,WAAU;YAAtB,CACE,kBAAC,UAAD;GACE,MAAK;GACL,SAAS;GACT,WAAU;aAHZ,CAKE,kBAAC,GAAD,EAAW,WAAU,UAAW,CAAA,EAC/B,EAAG,8BAA8B,qBAAqB,CAChD;MACT,kBAAC,GAAD;GACE,MAAM,kBAAC,GAAD,EAAK,WAAU,8BAA+B,CAAA;GACpD,OAAO,EAAG,sBAAsB,sBAAsB;GACtD,aAAa,yBAAyB,EAAG;GACzC,QACE,kBAAC,UAAD;IACE,MAAK;IACL,SAAS;IACT,WAAU;cAET,EAAG,8BAA8B,qBAAqB;IAChD,CAAA;GAEX,CAAA,CACS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComponentDocsPage.js","names":[],"sources":["../../src/pages/ComponentDocsPage.tsx"],"sourcesContent":["import { useParams } from 'react-router';\nimport { useVibeControls } from '@/providers/VibeControlsProvider';\nimport { DocsFullScreenViewer } from '@/components/docs/DocsFullScreenViewer';\n\nexport function ComponentDocsPage() {\n const { id: componentId } = useParams<{ id: string }>();\n const { basePath } = useVibeControls();\n const base = basePath || '';\n\n return (\n <DocsFullScreenViewer\n ownerType=\"COMPONENT\"\n ownerId={componentId || ''}\n backLabel=\"Back to Component\"\n backPath={`${base}/components/${componentId}`}\n editPath={`${base}/components/${componentId}?tab=docs`}\n />\n );\n}\n"],"mappings":";;;;;AAIA,SAAgB,IAAoB;CAClC,IAAM,EAAE,IAAI,MAAgB,GAA2B,EACjD,EAAE,gBAAa,GAAiB,EAChC,IAAO,KAAY;AAEzB,QACE,kBAAC,GAAD;EACE,WAAU;EACV,SAAS,KAAe;EACxB,WAAU;EACV,UAAU,GAAG,EAAK,cAAc;EAChC,UAAU,GAAG,EAAK,cAAc,EAAY;EAC5C,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ComponentsPage.js","names":[],"sources":["../../src/pages/ComponentsPage.tsx"],"sourcesContent":["import { useState, useCallback, useEffect } from 'react';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { VIBE_PERMISSIONS } from '../constants/permissions';\nimport { Plus, Box, RefreshCw, Network, ArrowRight, Grid, List } from 'lucide-react';\nimport { CTAOverflowMenu, PagePurpose } from '@burdenoff/fe-libs/ui';\nimport { ComponentCard } from '@/components/idp-components';\nimport type { ComponentCardData } from '@/components/idp-components';\nimport { ComponentForm } from '@/components/idp-components';\nimport type { ComponentFormData } from '@/components/idp-components';\nimport { ComponentsTable } from '@/components/components';\nimport type { ComponentTableRowData } from '@/components/components';\nimport { EntityTagPicker } from '@/components/shared/EntityTagPicker';\nimport { PageSkeleton } from '@/components/shared/PageSkeleton';\nimport { useDraftEntityTags } from '@/hooks/useDraftEntityTags';\nimport {\n PageHeader,\n SearchInput,\n FilterDropdown,\n EmptyState,\n ErrorState,\n GetHelpButton,\n QuotaExhaustedDialog,\n} from '@/components/shared';\nimport { isQuotaExhaustedError } from '@/utils/quotaUtils';\nimport { MotionPage, MotionList, MotionItem } from '@burdenoff/fe-libs/shared/motion';\nimport { AnimatePresence } from 'framer-motion';\nimport { useVibeNavigate } from '@/providers/VibeControlsProvider';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { useListComponentsQuery, useCreateComponentMutation } from '@/generated/wspace-operations';\nimport type { ListComponentsQuery } from '@/generated/wspace-operations';\n\n/** A single row as the ListComponents query returns it. */\ntype ListedComponent = ListComponentsQuery['vibecontrolsComponents']['items'][number];\n\ntype ViewMode = 'table' | 'grid';\n\nexport function ComponentsPage() {\n const navigate = useVibeNavigate();\n const { t } = useI18n();\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const canCreateComponent = hasPermission(VIBE_PERMISSIONS.COMPONENT_CREATE);\n const canReadComponent = hasPermission(VIBE_PERMISSIONS.COMPONENT_READ);\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 if (!params) return template;\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 typeOptions = [\n { value: 'all', label: tr('component.allTypes', 'All Types') },\n { value: 'SERVICE', label: tr('component.typeService', 'Service') },\n { value: 'FRONTEND', label: tr('component.typeFrontend', 'Frontend') },\n { value: 'LIBRARY', label: tr('component.typeLibrary', 'Library') },\n { value: 'API', label: tr('component.typeApi', 'API') },\n { value: 'MOBILE', label: tr('component.typeMobile', 'Mobile') },\n { value: 'DATABASE', label: tr('component.typeDatabase', 'Database') },\n { value: 'INFRASTRUCTURE', label: tr('component.typeInfrastructure', 'Infrastructure') },\n { value: 'CUSTOM', label: tr('component.typeCustom', 'Custom') },\n ];\n\n const lifecycleOptions = [\n { value: 'all', label: tr('component.allLifecycles', 'All Lifecycles') },\n { value: 'EXPERIMENTAL', label: tr('component.lifecycleExperimental', 'Experimental') },\n { value: 'ACTIVE', label: tr('component.lifecycleActive', 'Active') },\n { value: 'DEPRECATED', label: tr('component.lifecycleDeprecated', 'Deprecated') },\n { value: 'END_OF_LIFE', label: tr('component.lifecycleEndOfLife', 'End of Life') },\n ];\n\n const PAGE_SIZE = 50;\n const [searchQuery, setSearchQuery] = useState('');\n const [typeFilter, setTypeFilter] = useState('all');\n const [lifecycleFilter, setLifecycleFilter] = useState('all');\n const [viewMode, setViewMode] = useState<ViewMode>('table');\n const [showCreateForm, setShowCreateForm] = useState(false);\n const [showQuotaExhausted, setShowQuotaExhausted] = useState(false);\n const [successMessage, setSuccessMessage] = useState<string | null>(null);\n const [accumulated, setAccumulated] = useState<ComponentTableRowData[]>([]);\n const [loadingMore, setLoadingMore] = useState(false);\n\n const { data, loading, error, refetch, fetchMore } = useListComponentsQuery({\n variables: {\n filter: {\n type: typeFilter !== 'all' ? typeFilter : undefined,\n lifecycle: lifecycleFilter !== 'all' ? lifecycleFilter : undefined,\n search: searchQuery || undefined,\n },\n pagination: { limit: PAGE_SIZE, offset: 0 },\n },\n skip: permissionsLoading || !canReadComponent,\n fetchPolicy: 'cache-and-network',\n notifyOnNetworkStatusChange: true,\n });\n\n const [createComponent] = useCreateComponentMutation({\n refetchQueries: ['ListComponents'],\n awaitRefetchQueries: true,\n });\n const { setDraftTagIds, flushTags } = useDraftEntityTags('VIBECONTROLS_COMPONENT');\n\n const mapItems = useCallback(\n (items: ReadonlyArray<ListedComponent>): ComponentTableRowData[] =>\n items.map((item) => ({\n id: item.id,\n name: item.name,\n description: item.description ?? null,\n // The generated ComponentType/ComponentLifecycle enums carry more\n // members than ComponentCardData's narrower unions (JOB, PACKAGE,\n // TOOL, ...). Both the card and the table look the value up in a\n // Record with a fallback, so an unlisted member degrades to the\n // default icon / neutral badge rather than rendering nothing.\n type: item.type as ComponentTableRowData['type'],\n lifecycle: item.lifecycle as ComponentTableRowData['lifecycle'],\n version: item.version ?? null,\n language: item.language ?? null,\n framework: item.framework ?? null,\n tags: item.tags,\n createdAt: item.createdAt,\n updatedAt: item.updatedAt,\n ownerName: item.ownerName ?? null,\n overallScore: item.scorecard?.overallScore ?? null,\n securityTier: item.scorecard?.securityTier ?? null,\n })),\n []\n );\n\n useEffect(() => {\n setAccumulated(mapItems(data?.vibecontrolsComponents?.items ?? []));\n }, [data?.vibecontrolsComponents?.items, mapItems]);\n\n const total = data?.vibecontrolsComponents?.total ?? 0;\n const hasMore = accumulated.length < total;\n const components = accumulated;\n const filteredComponents = accumulated;\n\n const handleLoadMore = useCallback(async () => {\n if (loadingMore || !hasMore) return;\n setLoadingMore(true);\n try {\n await fetchMore({\n variables: { pagination: { limit: PAGE_SIZE, offset: accumulated.length } },\n updateQuery: (prev, { fetchMoreResult }) => {\n if (!fetchMoreResult?.vibecontrolsComponents) return prev;\n const prevList = prev.vibecontrolsComponents;\n const nextList = fetchMoreResult.vibecontrolsComponents;\n return {\n ...prev,\n vibecontrolsComponents: {\n ...nextList,\n items: [...(prevList?.items ?? []), ...nextList.items],\n total: nextList.total,\n hasMore: nextList.hasMore,\n },\n };\n },\n });\n } finally {\n setLoadingMore(false);\n }\n }, [fetchMore, accumulated.length, loadingMore, hasMore]);\n\n if (permissionsLoading)\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <p className=\"text-text-secondary\">Loading permissions…</p>\n </div>\n );\n if (!canReadComponent)\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <div className=\"text-center space-y-2\">\n <h2 className=\"text-lg font-semibold text-text-primary tracking-tight\">Access Denied</h2>\n <p className=\"text-sm text-text-secondary\">\n You don't have permission to access this page.\n </p>\n </div>\n </div>\n );\n\n const handleComponentSelect = (component: ComponentCardData) => {\n navigate(`/components/${component.id}`);\n };\n\n const handleCreateComponent = async (formData: ComponentFormData) => {\n try {\n const result = await createComponent({\n variables: {\n input: {\n name: formData.name,\n description: formData.description || undefined,\n type: formData.type,\n lifecycle: formData.lifecycle,\n language: formData.language || undefined,\n framework: formData.framework || undefined,\n version: formData.version || undefined,\n ownerName: formData.ownerName || undefined,\n tags: formData.tags.length > 0 ? formData.tags : undefined,\n repositoryUrl: formData.repositoryUrl || undefined,\n documentationUrl: formData.documentationUrl || undefined,\n dependencies: formData.dependencies ?? undefined,\n sbomData: formData.sbomData ?? undefined,\n },\n },\n });\n if (result.error && isQuotaExhaustedError(result.error)) {\n setShowCreateForm(false);\n setShowQuotaExhausted(true);\n return;\n }\n if (!result.data?.createVibecontrolsComponent?.id) {\n throw new Error(tr('component.failedCreate', 'Failed to create component'));\n }\n const newComponentId = result.data.createVibecontrolsComponent.id;\n setShowCreateForm(false);\n setSuccessMessage(tr('component.createdSuccess', 'Component created successfully'));\n await flushTags(newComponentId);\n await refetch();\n setTimeout(() => setSuccessMessage(null), 3000);\n } catch (err) {\n if (isQuotaExhaustedError(err)) {\n setShowCreateForm(false);\n setShowQuotaExhausted(true);\n return;\n }\n throw err;\n }\n };\n\n if (error && components.length === 0) {\n return (\n <MotionPage className=\"space-y-6 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n <ErrorState\n title={tr('component.failedLoad', 'Failed to load components')}\n message={error.message}\n onRetry={() => refetch()}\n />\n </MotionPage>\n );\n }\n\n return (\n <MotionPage className=\"space-y-6 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n <PageHeader\n title={tr('component.title', 'Components')}\n description={\n total > 0\n ? tr('component.description', '{{total}} components in your catalog', {\n total: components.length,\n })\n : tr(\n 'component.descriptionEmpty',\n 'Track every service, frontend, library, and API in your system — dependencies, owners, and lifecycle in one place'\n )\n }\n actions={\n // Boff UI 2.0: single primary CTA (Create), Refresh in the overflow.\n <CTAOverflowMenu\n primary={\n canCreateComponent\n ? {\n label: tr('component.createComponent', 'Create Component'),\n onSelect: () => setShowCreateForm(true),\n icon: <Plus className=\"size-4\" />,\n }\n : undefined\n }\n actions={[\n {\n label: tr('common.refresh', 'Refresh'),\n onSelect: () => void refetch(),\n disabled: loading,\n icon: <RefreshCw className={`size-4 ${loading ? 'animate-spin' : ''}`} />,\n },\n ]}\n />\n }\n />\n\n <PagePurpose icon={<Box className=\"size-4\" />}>\n {tr(\n 'component.purpose',\n 'Components are the individual building blocks of your software — each service, frontend, library or API — tracked with its owner, dependencies and lifecycle. Register your components here to build a living map of your system, so anyone can find what something is, who runs it and what it depends on.'\n )}\n </PagePurpose>\n\n {/* Entry point for the Environment Topology matrix (/vibecontrols/environments).\n The shell sidenav has no item for that route — per mockup 29 it is a\n sub-surface of the Components area, reached from here — so this row is\n its only way in. Keep it as the single entry; do not scatter duplicates. */}\n <button\n type=\"button\"\n onClick={() => navigate('/environments')}\n data-tour=\"vibecontrols-component-env-topology\"\n className=\"w-full flex items-center gap-4 text-left px-4 py-3 bg-bg-surface border border-border-seam rounded-card shadow-elevation-1 hover:bg-bg-sunken hover:border-border-strong transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus\"\n >\n <span className=\"flex-shrink-0 size-9 rounded-lg bg-[var(--color-accent-soft)] flex items-center justify-center\">\n <Network className=\"size-4 text-action-primary-bg\" aria-hidden=\"true\" />\n </span>\n <span className=\"min-w-0 flex-1\">\n <span className=\"block text-sm font-medium text-text-primary\">\n {tr('component.envTopologyLink', 'Environment Topology')}\n </span>\n <span className=\"block text-sm text-text-secondary\">\n {tr(\n 'component.envTopologyLinkDescription',\n 'See which version of every component is currently deployed across Development, Staging and Production.'\n )}\n </span>\n </span>\n <ArrowRight className=\"size-4 flex-shrink-0 text-text-muted\" aria-hidden=\"true\" />\n </button>\n\n {/* Filters — SearchInput / FilterDropdown are custom components that don't\n forward rest props onto a DOM node, so the tour anchors live on\n wrapper <div>s. */}\n <div className=\"space-y-3\">\n <div className=\"flex items-center gap-2\">\n <div data-tour=\"vibecontrols-component-search\" className=\"flex-1 sm:w-64 sm:flex-none\">\n <SearchInput\n value={searchQuery}\n onChange={setSearchQuery}\n placeholder={tr('component.searchPlaceholder', 'Search components...')}\n className=\"w-full\"\n />\n </div>\n {/* View toggle — same control the Targets/Vibes pages ship. */}\n <div\n role=\"group\"\n aria-label={tr('component.viewMode', 'View mode')}\n className=\"flex flex-shrink-0 items-center gap-1 rounded-button border border-border-subtle bg-bg-sunken p-1\"\n >\n <button\n type=\"button\"\n onClick={() => setViewMode('table')}\n aria-pressed={viewMode === 'table'}\n aria-label={tr('component.tableViewTitle', 'Table view')}\n title={tr('component.tableViewTitle', 'Table view')}\n className={`flex size-8 max-md:size-9 items-center justify-center rounded transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus ${viewMode === 'table' ? 'bg-[var(--color-accent-soft)] text-text-primary' : 'text-text-secondary hover:bg-bg-surface/60'}`}\n >\n <List className=\"size-4 text-text-secondary\" aria-hidden=\"true\" />\n </button>\n <button\n type=\"button\"\n onClick={() => setViewMode('grid')}\n aria-pressed={viewMode === 'grid'}\n aria-label={tr('component.gridViewTitle', 'Grid view')}\n title={tr('component.gridViewTitle', 'Grid view')}\n className={`flex size-8 max-md:size-9 items-center justify-center rounded transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus ${viewMode === 'grid' ? 'bg-[var(--color-accent-soft)] text-text-primary' : 'text-text-secondary hover:bg-bg-surface/60'}`}\n >\n <Grid className=\"size-4 text-text-secondary\" aria-hidden=\"true\" />\n </button>\n </div>\n </div>\n <div className=\"flex items-center gap-2 sm:gap-3 flex-wrap\">\n <div data-tour=\"vibecontrols-component-type-filter\">\n <FilterDropdown\n label={tr('component.filterType', 'Type')}\n value={typeFilter}\n options={typeOptions}\n onChange={setTypeFilter}\n />\n </div>\n <div data-tour=\"vibecontrols-component-lifecycle-filter\">\n <FilterDropdown\n label={tr('component.filterLifecycle', 'Lifecycle')}\n value={lifecycleFilter}\n options={lifecycleOptions}\n onChange={setLifecycleFilter}\n />\n </div>\n </div>\n </div>\n\n {/* Results count */}\n <p className=\"text-sm text-text-secondary\">\n {tr('component.showingResults', 'Showing {{filtered}} of {{total}} components', {\n filtered: filteredComponents.length,\n total,\n })}\n {loading && (\n <span className=\"ml-2 text-text-muted\">{tr('common.refreshing', '(refreshing...)')}</span>\n )}\n </p>\n\n {/* Results — table view (mockup 27) or the card grid */}\n {loading && components.length === 0 ? (\n <PageSkeleton variant={viewMode === 'table' ? 'rows' : 'cards'} count={6} />\n ) : filteredComponents.length > 0 ? (\n viewMode === 'table' ? (\n <div data-tour=\"vibecontrols-component-grid\">\n <ComponentsTable components={filteredComponents} onOpen={handleComponentSelect} />\n </div>\n ) : (\n <AnimatePresence mode=\"wait\">\n <MotionList\n key=\"component-grid\"\n stagger={0.04}\n className=\"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-4\"\n data-tour=\"vibecontrols-component-grid\"\n >\n {filteredComponents.map((component) => (\n <MotionItem key={component.id}>\n <ComponentCard component={component} onOpen={handleComponentSelect} />\n </MotionItem>\n ))}\n </MotionList>\n </AnimatePresence>\n )\n ) : (\n <EmptyState\n icon={<Box className=\"size-6 text-action-primary-bg\" aria-hidden=\"true\" />}\n illustration={\n searchQuery || typeFilter !== 'all' || lifecycleFilter !== 'all'\n ? 'empty-search'\n : 'empty-data'\n }\n title={\n searchQuery || typeFilter !== 'all' || lifecycleFilter !== 'all'\n ? tr('component.emptyNoResults', 'No components found')\n : tr('component.emptyNoComponents', 'No components yet')\n }\n description={\n searchQuery || typeFilter !== 'all' || lifecycleFilter !== 'all'\n ? tr('component.emptyAdjustSearch', 'Try adjusting your search or filters')\n : tr(\n 'component.emptyCreate',\n 'A component is any piece of software in your system — a backend service, a frontend app, a shared library, an API. Register one to start tracking its dependencies, owner, and lifecycle stage.'\n )\n }\n action={\n !searchQuery && typeFilter === 'all' && lifecycleFilter === 'all' ? (\n <div className=\"flex items-center gap-2\">\n {canCreateComponent && (\n <button\n type=\"button\"\n onClick={() => setShowCreateForm(true)}\n className=\"flex items-center gap-2 px-4 py-2 bg-action-primary-bg text-action-primary-text rounded-button hover:bg-action-primary-bgHover transition-all duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus\"\n >\n <Plus className=\"size-4\" />\n {tr('component.createComponent', 'Create Component')}\n </button>\n )}\n <GetHelpButton prompt=\"What is a Component in VibeControls and how do I add one?\" />\n </div>\n ) : undefined\n }\n />\n )}\n\n {/* Load more */}\n {hasMore && filteredComponents.length > 0 && (\n <div className=\"flex justify-center pt-2\">\n <button\n type=\"button\"\n onClick={handleLoadMore}\n disabled={loadingMore}\n className=\"flex items-center gap-2 px-4 py-2 bg-bg-sunken text-text-primary rounded-button border border-border-subtle hover:bg-bg-surface hover:border-border-strong transition-colors disabled:opacity-50 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-focus\"\n >\n {loadingMore ? tr('common.loading', 'Loading...') : tr('common.loadMore', 'Load more')}\n </button>\n </div>\n )}\n\n {/* Success Toast */}\n {successMessage && (\n <div className=\"fixed bottom-4 right-4 z-50 px-4 py-3 bg-status-success-bg-subtle text-status-success-text border border-status-success-border rounded-card shadow-elevation-3 text-sm\">\n {successMessage}\n </div>\n )}\n\n <QuotaExhaustedDialog\n isOpen={showQuotaExhausted}\n onClose={() => setShowQuotaExhausted(false)}\n onConfirm={() => {\n setShowQuotaExhausted(false);\n navigate('/billing/plans');\n }}\n title=\"Component Quota Reached\"\n message=\"You've reached the maximum number of components on your current plan. Upgrade your plan or purchase an add-on to register more components.\"\n />\n\n {/* Create Form */}\n <ComponentForm\n isOpen={showCreateForm}\n onClose={() => setShowCreateForm(false)}\n onSubmit={handleCreateComponent}\n extraSection={\n <div>\n <h3 className=\"text-sm font-medium text-text-secondary mb-2\">\n {tr('component.tags', 'Tags')}\n </h3>\n <EntityTagPicker entityType=\"VIBECONTROLS_COMPONENT\" onDraftChange={setDraftTagIds} />\n </div>\n }\n />\n </MotionPage>\n );\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"EnvTopologyPage.js","names":[],"sources":["../../src/pages/EnvTopologyPage.tsx"],"sourcesContent":["import type { FC, FormEvent } from 'react';\nimport { useMemo, useState } from 'react';\nimport { Network, Plus, ArrowRight, RefreshCw } from 'lucide-react';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\n\nimport { PageHeader, Card, LoadingState, ErrorState, EmptyState } from '@/components/shared';\nimport { PagePurpose } from '@burdenoff/fe-libs/ui';\nimport { VIBE_PERMISSIONS } from '@/constants/permissions';\nimport { notify } from '@/lib/toast';\nimport {\n useGetEnvTopologyQuery,\n useRegisterDeploymentMutation,\n usePromoteDeploymentMutation,\n type GetEnvTopologyQuery,\n} from '@/generated/wspace-operations';\nimport { DeploymentEnvironment } from '@/generated/wspace-types';\n\nconst ENVIRONMENTS: DeploymentEnvironment[] = [\n DeploymentEnvironment.Development,\n DeploymentEnvironment.Staging,\n DeploymentEnvironment.Production,\n];\n\nconst ENV_LABEL: Record<string, string> = {\n DEVELOPMENT: 'Development',\n STAGING: 'Staging',\n PRODUCTION: 'Production',\n};\n\n/**\n * EnvTopologyPage — the environment-topology matrix: every component (rows) and its current deployed\n * version across Development / Staging / Production (columns). Drift is highlighted (a cell whose\n * version differs from Production is amber; matching Production is green). Supports recording a\n * deployment and promoting a version between environments (both audited server-side).\n */\nexport const EnvTopologyPage: FC = () => {\n const { t } = useI18n();\n const tr = (key: string, fallback: string): string => {\n const v = t(key);\n return v === key ? fallback : v;\n };\n const { hasPermission } = usePermissions();\n const canEdit = hasPermission(VIBE_PERMISSIONS.VIBE_UPDATE);\n\n const { data, loading, error, refetch } = useGetEnvTopologyQuery({\n fetchPolicy: 'cache-and-network',\n });\n const [registerDeployment, { loading: registering }] = useRegisterDeploymentMutation();\n const [promoteDeployment, { loading: promoting }] = usePromoteDeploymentMutation();\n\n const rows = useMemo<GetEnvTopologyQuery['envTopology']>(() => data?.envTopology ?? [], [data]);\n\n const [modal, setModal] = useState<null | 'register' | 'promote'>(null);\n const [formComponentId, setFormComponentId] = useState('');\n const [formEnv, setFormEnv] = useState<DeploymentEnvironment>(DeploymentEnvironment.Staging);\n const [formFromEnv, setFormFromEnv] = useState<DeploymentEnvironment>(\n DeploymentEnvironment.Staging\n );\n const [formToEnv, setFormToEnv] = useState<DeploymentEnvironment>(\n DeploymentEnvironment.Production\n );\n const [formVersion, setFormVersion] = useState('');\n\n const openRegister = (componentId: string, environment: DeploymentEnvironment): void => {\n setFormComponentId(componentId);\n setFormEnv(environment);\n setFormVersion('');\n setModal('register');\n };\n\n const closeModal = (): void => {\n setModal(null);\n setFormComponentId('');\n setFormVersion('');\n };\n\n const handleRegister = async (e: FormEvent): Promise<void> => {\n e.preventDefault();\n if (!formComponentId || formVersion.trim().length === 0) return;\n try {\n await registerDeployment({\n variables: {\n componentId: formComponentId,\n environment: formEnv,\n version: formVersion.trim(),\n },\n });\n await refetch();\n notify.success(\n tr('envTopology.recorded', 'Deployment recorded'),\n `${formVersion.trim()} → ${ENV_LABEL[formEnv]}`\n );\n closeModal();\n } catch (err) {\n notify.error(\n tr('envTopology.recordFailed', 'Could not record deployment'),\n (err as Error).message\n );\n }\n };\n\n const handlePromote = async (e: FormEvent): Promise<void> => {\n e.preventDefault();\n if (!formComponentId || formFromEnv === formToEnv) return;\n try {\n await promoteDeployment({\n variables: {\n componentId: formComponentId,\n fromEnvironment: formFromEnv,\n toEnvironment: formToEnv,\n },\n });\n await refetch();\n notify.success(\n tr('envTopology.promoted', 'Version promoted'),\n `${ENV_LABEL[formFromEnv]} → ${ENV_LABEL[formToEnv]}`\n );\n closeModal();\n } catch (err) {\n notify.error(tr('envTopology.promoteFailed', 'Could not promote'), (err as Error).message);\n }\n };\n\n const componentOptions = rows.map((r) => ({ id: r.component.id, name: r.component.name }));\n\n return (\n <div className=\"space-y-6\">\n <PageHeader\n title={tr('envTopology.title', 'Environment Topology')}\n description={tr(\n 'envTopology.subtitle',\n 'Current deployed version of every component across Development, Staging and Production.'\n )}\n actions={\n canEdit && rows.length > 0 ? (\n <div className=\"flex items-center gap-2\">\n <button\n type=\"button\"\n onClick={() => {\n setFormComponentId(componentOptions[0]?.id ?? '');\n setModal('promote');\n }}\n className=\"flex items-center gap-1.5 px-3 py-2 text-sm rounded-md border border-border-default text-text-primary hover:bg-bg-sunken\"\n >\n <ArrowRight className=\"size-4\" />\n {tr('envTopology.promote', 'Promote version')}\n </button>\n <button\n type=\"button\"\n onClick={() => {\n setFormComponentId(componentOptions[0]?.id ?? '');\n setFormEnv(DeploymentEnvironment.Staging);\n setFormVersion('');\n setModal('register');\n }}\n className=\"flex items-center gap-1.5 px-3 py-2 text-sm rounded-md bg-action-primary-bg text-action-primary-text hover:opacity-90\"\n >\n <Plus className=\"size-4\" />\n {tr('envTopology.record', 'Record deployment')}\n </button>\n </div>\n ) : undefined\n }\n />\n\n <PagePurpose icon={<Network className=\"size-4\" />}>\n {tr(\n 'envTopology.purpose',\n 'This view answers \"what version of each component is running where?\" across Development, Staging and Production at a glance. Use it to confirm a release reached prod, spot environments that have drifted behind, and promote a version forward — so you always know the true state of every deployment.'\n )}\n </PagePurpose>\n\n {loading && rows.length === 0 ? (\n <LoadingState />\n ) : error ? (\n <ErrorState message={error.message} onRetry={() => void refetch()} />\n ) : rows.length === 0 ? (\n <EmptyState\n icon={<Network className=\"size-10\" />}\n title={tr('envTopology.emptyTitle', 'No components yet')}\n description={tr(\n 'envTopology.emptyDesc',\n 'Register components in the catalog, then record their deployments to see version state across environments here.'\n )}\n />\n ) : (\n <Card>\n <div className=\"overflow-x-auto\">\n <table className=\"w-full text-sm\">\n <thead>\n <tr className=\"border-b border-border-default text-left text-text-secondary\">\n <th className=\"px-4 py-3 font-medium\">\n {tr('envTopology.component', 'Component')}\n </th>\n {ENVIRONMENTS.map((env) => (\n <th key={env} className=\"px-4 py-3 font-medium\">\n {ENV_LABEL[env]}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {rows.map((row) => {\n const prod =\n row.environments.find((e) => e.environment === 'PRODUCTION')?.version ?? null;\n return (\n <tr\n key={row.component.id}\n className=\"border-b border-border-subtle last:border-0\"\n >\n <td className=\"px-4 py-3\">\n <div className=\"font-medium text-text-primary\">{row.component.name}</div>\n <div className=\"text-xs text-text-tertiary\">{row.component.type}</div>\n </td>\n {ENVIRONMENTS.map((env) => {\n const cell = row.environments.find((e) => e.environment === env);\n const version = cell?.version ?? null;\n let tone = 'text-text-tertiary';\n let dot = 'bg-border-strong';\n if (version) {\n if (prod && version === prod) {\n tone = 'text-text-primary';\n dot = 'bg-status-success-text';\n } else if (prod && version !== prod) {\n tone = 'text-text-primary';\n dot = 'bg-status-warning-text';\n } else {\n tone = 'text-text-primary';\n dot = 'bg-accent-blue';\n }\n }\n return (\n <td key={env} className=\"px-4 py-3\">\n {version ? (\n <span className={`inline-flex items-center gap-2 font-mono ${tone}`}>\n <span\n className={`inline-block size-2 rounded-full ${dot}`}\n aria-hidden\n />\n {version}\n </span>\n ) : canEdit ? (\n <button\n type=\"button\"\n onClick={() => openRegister(row.component.id, env)}\n className=\"text-text-tertiary hover:text-text-primary\"\n >\n — {tr('envTopology.add', 'add')}\n </button>\n ) : (\n <span className=\"text-text-tertiary\">—</span>\n )}\n </td>\n );\n })}\n </tr>\n );\n })}\n </tbody>\n </table>\n </div>\n </Card>\n )}\n\n {modal === 'register' && (\n <ModalShell\n title={tr('envTopology.recordTitle', 'Record a deployment')}\n onClose={closeModal}\n >\n <form onSubmit={(e) => void handleRegister(e)} className=\"space-y-3\">\n <LabeledSelect\n label={tr('envTopology.component', 'Component')}\n value={formComponentId}\n onChange={setFormComponentId}\n options={componentOptions.map((c) => ({ value: c.id, label: c.name }))}\n />\n <LabeledSelect\n label={tr('envTopology.environment', 'Environment')}\n value={formEnv}\n onChange={(v) => setFormEnv(v as DeploymentEnvironment)}\n options={ENVIRONMENTS.map((e) => ({ value: e, label: ENV_LABEL[e] ?? e }))}\n />\n <label className=\"block\">\n <span className=\"text-sm text-text-secondary\">\n {tr('envTopology.version', 'Version')}\n </span>\n <input\n value={formVersion}\n onChange={(e) => setFormVersion(e.target.value)}\n placeholder=\"v1.2.3\"\n className=\"mt-1 w-full font-mono text-sm px-3 py-2 rounded-md border border-border-default bg-bg-surface text-text-primary\"\n />\n </label>\n <ModalFooter\n onCancel={closeModal}\n submitLabel={tr('envTopology.record', 'Record deployment')}\n disabled={registering || !formComponentId || formVersion.trim().length === 0}\n />\n </form>\n </ModalShell>\n )}\n\n {modal === 'promote' && (\n <ModalShell\n title={tr('envTopology.promoteTitle', 'Promote a version')}\n onClose={closeModal}\n >\n <form onSubmit={(e) => void handlePromote(e)} className=\"space-y-3\">\n <LabeledSelect\n label={tr('envTopology.component', 'Component')}\n value={formComponentId}\n onChange={setFormComponentId}\n options={componentOptions.map((c) => ({ value: c.id, label: c.name }))}\n />\n <div className=\"flex items-center gap-2\">\n <LabeledSelect\n label={tr('envTopology.from', 'From')}\n value={formFromEnv}\n onChange={(v) => setFormFromEnv(v as DeploymentEnvironment)}\n options={ENVIRONMENTS.map((e) => ({ value: e, label: ENV_LABEL[e] ?? e }))}\n />\n <ArrowRight className=\"size-4 mt-5 text-text-tertiary\" />\n <LabeledSelect\n label={tr('envTopology.to', 'To')}\n value={formToEnv}\n onChange={(v) => setFormToEnv(v as DeploymentEnvironment)}\n options={ENVIRONMENTS.map((e) => ({ value: e, label: ENV_LABEL[e] ?? e }))}\n />\n </div>\n <ModalFooter\n onCancel={closeModal}\n submitLabel={tr('envTopology.promote', 'Promote version')}\n disabled={promoting || !formComponentId || formFromEnv === formToEnv}\n />\n </form>\n </ModalShell>\n )}\n </div>\n );\n};\n\nconst ModalShell: FC<{ title: string; onClose: () => void; children: React.ReactNode }> = ({\n title,\n onClose,\n children,\n}) => (\n <div\n className=\"fixed inset-0 z-50 flex items-center justify-center bg-bg-overlay p-4\"\n onClick={onClose}\n >\n <div\n className=\"w-full max-w-md rounded-card border border-border-subtle bg-bg-elevated p-6 shadow-[var(--shadow-elevation-4)]\"\n onClick={(e) => e.stopPropagation()}\n >\n <h3 className=\"mb-4 text-lg font-semibold text-text-primary\">{title}</h3>\n {children}\n </div>\n </div>\n);\n\nconst LabeledSelect: FC<{\n label: string;\n value: string;\n onChange: (v: string) => void;\n options: Array<{ value: string; label: string }>;\n}> = ({ label, value, onChange, options }) => (\n <label className=\"block flex-1\">\n <span className=\"text-sm text-text-secondary\">{label}</span>\n <select\n value={value}\n onChange={(e) => onChange(e.target.value)}\n className=\"mt-1 w-full text-sm px-3 py-2 rounded-md border border-border-default bg-bg-surface text-text-primary\"\n >\n {options.map((o) => (\n <option key={o.value} value={o.value}>\n {o.label}\n </option>\n ))}\n </select>\n </label>\n);\n\nconst ModalFooter: FC<{ onCancel: () => void; submitLabel: string; disabled: boolean }> = ({\n onCancel,\n submitLabel,\n disabled,\n}) => (\n <div className=\"flex items-center justify-end gap-2 pt-2\">\n <button\n type=\"button\"\n onClick={onCancel}\n className=\"px-3 py-2 text-sm rounded-md text-text-secondary hover:bg-bg-sunken\"\n >\n Cancel\n </button>\n <button\n type=\"submit\"\n disabled={disabled}\n className=\"flex items-center gap-1.5 px-3 py-2 text-sm rounded-md bg-action-primary-bg text-action-primary-text hover:opacity-90 disabled:opacity-50\"\n >\n <RefreshCw className=\"size-4\" />\n {submitLabel}\n </button>\n </div>\n);\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"GettingStartedPage.js","names":[],"sources":["../../src/pages/GettingStartedPage.tsx"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport { useSearchParams } from 'react-router';\nimport { Terminal, ExternalLink, Download, Info } from 'lucide-react';\nimport { PageHeader, Card, InstallTabs } from '@/components/shared';\nimport { EmphasisPanel, ShowMore } from '@burdenoff/fe-libs/ui';\nimport { MotionPage, MotionList, MotionItem } from '@burdenoff/fe-libs/shared/motion';\nimport { Tabs, type TabItem } from '@burdenoff/fe-libs/chrome';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\n\nconst AGENT_NPM_URL = 'https://www.npmjs.com/package/@vibecontrols/agent';\nconst INSTALL_DOCS_URL = 'https://docs.vibecontrols.com/users/installing-the-agent';\n\n/**\n * Getting Started page — a tabbed guide to installing and running the\n * VibeControls Agent. Two top-level tabs:\n *\n * • Install — shows the global bun / npm install commands via the shared\n * `InstallTabs` component, plus the real connect-and-run flow.\n * • CLI Reference — a compact reference of the agent's `vibe` commands.\n *\n * Bun (or Node >= 18 for npm) is the only machine prerequisite. On first run\n * `vibe start` sets up a Cloudflare tunnel, generates an agentApiKey, and\n * waits for the platform to push OAuth credentials once the agent is\n * connected here.\n *\n * Official docs: https://docs.vibecontrols.com/users/installing-the-agent\n */\nexport function GettingStartedPage() {\n const { t } = useI18n();\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 const [params, setParams] = useSearchParams();\n const tabs: TabItem[] = useMemo(\n () => [\n { id: 'install', label: tr('gettingStarted.installTab', 'Install') },\n { id: 'cli', label: tr('gettingStarted.cliTab', 'CLI Reference') },\n ],\n [tr]\n );\n const activeId = params.get('tab') ?? tabs[0].id;\n const handleTabChange = (id: string) => {\n const next = new URLSearchParams(params);\n if (id === tabs[0].id) next.delete('tab');\n else next.set('tab', id);\n setParams(next, { replace: true });\n };\n\n const [pinnedVersion, setPinnedVersion] = useState('');\n\n return (\n <MotionPage className=\"space-y-8 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n <PageHeader\n title={tr('gettingStarted.title', 'Getting Started')}\n description={tr(\n 'gettingStarted.description',\n 'Install and configure the VibeControls Agent CLI'\n )}\n />\n\n <div className=\"border-b border-border-subtle\">\n <Tabs\n items={tabs}\n activeTabId={activeId}\n onTabChange={handleTabChange}\n variant=\"underline\"\n />\n </div>\n\n {activeId === 'install' && (\n <div className=\"space-y-6\">\n {/* Hero — the single emphasised zone on this page */}\n <EmphasisPanel className=\"sm:p-8\">\n <div className=\"flex items-start gap-4\">\n <div className=\"flex-shrink-0 size-12 rounded-xl bg-[var(--color-accent-soft)] flex items-center justify-center\">\n <Download className=\"size-6 text-accent-purple\" />\n </div>\n <div className=\"flex-1\">\n <h2 className=\"text-lg sm:text-xl font-semibold text-text-primary mb-1\">\n {tr('gettingStarted.installAgent', 'Install the Agent')}\n </h2>\n <p className=\"text-sm text-text-secondary\">\n {tr(\n 'gettingStarted.installAgentDesc',\n 'Install the agent globally with bun or npm on the machine you want to manage, then run vibe start. Bun (or Node >= 18 for npm) is the only prerequisite.'\n )}\n </p>\n <a\n href={INSTALL_DOCS_URL}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mt-3 inline-flex items-center gap-1.5 text-sm text-text-link hover:text-text-linkHover hover:underline\"\n >\n {tr('gettingStarted.viewInstallDocs', 'View the full install docs')}\n <ExternalLink className=\"size-3.5\" />\n </a>\n </div>\n </div>\n </EmphasisPanel>\n\n {/* Install tabs */}\n <Card padding=\"none\">\n <div className=\"p-5 sm:p-6\">\n <InstallTabs pinnedAgentVersion={pinnedVersion || undefined} />\n\n <div className=\"mt-6 pt-4 border-t border-border-subtle\">\n <label\n htmlFor=\"pinned-version\"\n className=\"text-xs font-medium text-text-secondary flex items-center gap-1.5 mb-1.5\"\n >\n <Info className=\"size-3.5\" />{' '}\n {tr('gettingStarted.pinVersion', 'Pin a specific agent version (optional)')}\n </label>\n <input\n aria-label=\"pinned-version\"\n id=\"pinned-version\"\n type=\"text\"\n placeholder={tr(\n 'gettingStarted.pinVersionPlaceholder',\n 'e.g. 2026.408.1 (leave blank for latest)'\n )}\n value={pinnedVersion}\n onChange={(e) => setPinnedVersion(e.target.value)}\n className=\"w-full max-w-xs px-3 py-2 rounded-input border border-border-default bg-bg-elevated text-sm text-text-primary focus-visible:outline-none focus-visible:border-border-strong focus-visible:shadow-[var(--shadow-focus)]\"\n />\n </div>\n </div>\n </Card>\n\n {/* Next steps */}\n <Card padding=\"none\">\n <div className=\"p-5 sm:p-6\">\n <h3 className=\"text-base font-semibold text-text-primary mb-3\">\n {tr('gettingStarted.nextSteps', 'Next steps')}\n </h3>\n <ol className=\"list-decimal list-inside space-y-2 text-sm text-text-secondary\">\n <li>\n {tr('gettingStarted.nextStep1Prefix', 'Start the agent:')}{' '}\n <code className=\"font-mono text-xs bg-bg-sunken/60 text-text-secondary px-1.5 py-0.5 rounded\">\n vibe start\n </code>{' '}\n {tr(\n 'gettingStarted.nextStep1Suffix',\n '— on first run it establishes a Cloudflare tunnel, generates an agentApiKey, and waits in pre-config mode for the platform.'\n )}\n </li>\n <li>\n {tr('gettingStarted.nextStep2Prefix', 'In this UI, go to')}{' '}\n <strong>\n {tr('gettingStarted.targetsAndAgents', 'Targets & Agents')} →{' '}\n {tr('gettingStarted.addAgent', 'Add Agent')}\n </strong>\n {tr(\n 'gettingStarted.nextStep2Suffix',\n ', create or pick a target, and paste the tunnel URL and agentApiKey that vibe start printed. The platform then pushes OAuth credentials automatically and the agent activates.'\n )}\n </li>\n <li>\n {tr('gettingStarted.nextStep3Prefix', 'Run it as a background service:')}{' '}\n <code className=\"font-mono text-xs bg-bg-sunken/60 text-text-secondary px-1.5 py-0.5 rounded\">\n vibe autostart install\n </code>{' '}\n {tr('gettingStarted.nextStep3Suffix', '(remove later with')}{' '}\n <code className=\"font-mono text-xs bg-bg-sunken/60 text-text-secondary px-1.5 py-0.5 rounded\">\n vibe autostart uninstall\n </code>\n {tr('gettingStarted.nextStep3End', ').')}\n </li>\n <li>\n {tr('gettingStarted.nextStep4Prefix', 'Verify it is running with')}{' '}\n <code className=\"font-mono text-xs bg-bg-sunken/60 text-text-secondary px-1.5 py-0.5 rounded\">\n vibe health\n </code>{' '}\n {tr('gettingStarted.nextStep4And', 'and')}{' '}\n <code className=\"font-mono text-xs bg-bg-sunken/60 text-text-secondary px-1.5 py-0.5 rounded\">\n vibe status\n </code>\n .\n </li>\n </ol>\n <a\n href={INSTALL_DOCS_URL}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"mt-4 inline-flex items-center gap-1.5 text-sm text-text-link hover:text-text-linkHover hover:underline\"\n >\n {tr('gettingStarted.viewInstallDocs', 'View the full install docs')}\n <ExternalLink className=\"size-3.5\" />\n </a>\n </div>\n </Card>\n </div>\n )}\n\n {activeId === 'cli' && (\n <Card padding=\"none\">\n <div className=\"p-5 sm:p-6\">\n <h3 className=\"text-base font-semibold text-text-primary mb-4 flex items-center gap-2\">\n <Terminal className=\"size-5 text-accent-purple\" />\n {tr('gettingStarted.cliQuickRef', 'CLI Quick Reference')}\n </h3>\n <ShowMore\n collapsedHeight={172}\n label={tr('gettingStarted.showAllCommands', 'Show all commands')}\n >\n <MotionList stagger={0.04} className=\"space-y-2\">\n {[\n {\n cmd: 'vibe start',\n desc: tr(\n 'gettingStarted.cmdVibeStart',\n 'First run: auto-detects deps, picks a port (default 3005), establishes a Cloudflare tunnel, generates an agentApiKey, then waits for the platform'\n ),\n },\n {\n cmd: 'vibe start --profile <name>',\n desc: tr(\n 'gettingStarted.cmdVibeStartProfile',\n 'Run a named profile (e.g. alpha, default) for multiple agent instances'\n ),\n },\n {\n cmd: 'vibe setup',\n desc: tr(\n 'gettingStarted.cmdVibeSetup',\n 'Install missing dependencies (tmux, ttyd, cloudflared)'\n ),\n },\n {\n cmd: 'vibe health',\n desc: tr(\n 'gettingStarted.cmdVibeHealth',\n 'Run an HTTP health check on the agent'\n ),\n },\n {\n cmd: 'vibe status',\n desc: tr('gettingStarted.cmdVibeStatus', 'Show all running agent instances'),\n },\n {\n cmd: 'vibe autostart install',\n desc: tr(\n 'gettingStarted.cmdVibeAutostartInstall',\n 'Run the agent as a background service (daemonize)'\n ),\n },\n {\n cmd: 'vibe autostart uninstall',\n desc: tr(\n 'gettingStarted.cmdVibeAutostartUninstall',\n 'Remove the background service'\n ),\n },\n {\n cmd: 'vibecontrols agents list --active',\n desc: tr(\n 'gettingStarted.cmdAgentsListActive',\n 'Platform CLI — see the connected agent on the backend'\n ),\n },\n ].map((item) => (\n <MotionItem\n key={item.cmd}\n className=\"flex flex-col sm:flex-row sm:items-center gap-1 sm:gap-3 px-3 py-2 rounded-button hover:bg-bg-sunken transition-colors\"\n >\n <code className=\"text-xs font-mono text-text-primary sm:w-72 flex-shrink-0\">\n $ {item.cmd}\n </code>\n <span className=\"text-xs text-text-muted\">{item.desc}</span>\n </MotionItem>\n ))}\n </MotionList>\n </ShowMore>\n <div className=\"mt-4 pt-4 border-t border-border-seam flex flex-wrap items-center gap-3\">\n <a\n href={AGENT_NPM_URL}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"inline-flex items-center gap-2 px-3 py-1.5 text-xs border border-border-default text-text-secondary rounded-button hover:bg-bg-sunken hover:border-border-strong transition-colors\"\n >\n {tr('gettingStarted.agentNpmPackage', 'Agent npm package')}{' '}\n <ExternalLink className=\"size-3\" />\n </a>\n <span className=\"text-xs text-text-muted\">\n {tr('gettingStarted.agentNpmLatest', '@vibecontrols/agent (latest)')}\n </span>\n </div>\n </div>\n </Card>\n )}\n </MotionPage>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AASA,IAAM,IAAgB,qDAChB,IAAmB;AAiBzB,SAAgB,IAAqB;CACnC,IAAM,EAAE,SAAM,GAAS,EACjB,IAAK,GACR,GAAa,MAA6B;EACzC,IAAM,IAAQ,EAAE,EAAI;AACpB,SAAO,MAAU,IAAM,IAAW;IAEpC,CAAC,EAAE,CACJ,EACK,CAAC,GAAQ,KAAa,GAAiB,EACvC,IAAkB,QAChB,CACJ;EAAE,IAAI;EAAW,OAAO,EAAG,6BAA6B,UAAU;EAAE,EACpE;EAAE,IAAI;EAAO,OAAO,EAAG,yBAAyB,gBAAgB;EAAE,CACnE,EACD,CAAC,EAAG,CACL,EACK,IAAW,EAAO,IAAI,MAAM,IAAI,EAAK,GAAG,IACxC,KAAmB,MAAe;EACtC,IAAM,IAAO,IAAI,gBAAgB,EAAO;AAGxC,EAFI,MAAO,EAAK,GAAG,KAAI,EAAK,OAAO,MAAM,GACpC,EAAK,IAAI,OAAO,EAAG,EACxB,EAAU,GAAM,EAAE,SAAS,IAAM,CAAC;IAG9B,CAAC,GAAe,KAAoB,EAAS,GAAG;AAEtD,QACE,kBAAC,GAAD;EAAY,WAAU;YAAtB;GACE,kBAAC,GAAD;IACE,OAAO,EAAG,wBAAwB,kBAAkB;IACpD,aAAa,EACX,8BACA,mDACD;IACD,CAAA;GAEF,kBAAC,OAAD;IAAK,WAAU;cACb,kBAAC,GAAD;KACE,OAAO;KACP,aAAa;KACb,aAAa;KACb,SAAQ;KACR,CAAA;IACE,CAAA;GAEL,MAAa,aACZ,kBAAC,OAAD;IAAK,WAAU;cAAf;KAEE,kBAAC,GAAD;MAAe,WAAU;gBACvB,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,OAAD;QAAK,WAAU;kBACb,kBAAC,GAAD,EAAU,WAAU,6BAA8B,CAAA;QAC9C,CAAA,EACN,kBAAC,OAAD;QAAK,WAAU;kBAAf;SACE,kBAAC,MAAD;UAAI,WAAU;oBACX,EAAG,+BAA+B,oBAAoB;UACpD,CAAA;SACL,kBAAC,KAAD;UAAG,WAAU;oBACV,EACC,mCACA,2JACD;UACC,CAAA;SACJ,kBAAC,KAAD;UACE,MAAM;UACN,QAAO;UACP,KAAI;UACJ,WAAU;oBAJZ,CAMG,EAAG,kCAAkC,6BAA6B,EACnE,kBAAC,GAAD,EAAc,WAAU,YAAa,CAAA,CACnC;;SACA;UACF;;MACQ,CAAA;KAGhB,kBAAC,GAAD;MAAM,SAAQ;gBACZ,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,GAAD,EAAa,oBAAoB,KAAiB,KAAA,GAAa,CAAA,EAE/D,kBAAC,OAAD;QAAK,WAAU;kBAAf,CACE,kBAAC,SAAD;SACE,SAAQ;SACR,WAAU;mBAFZ;UAIE,kBAAC,GAAD,EAAM,WAAU,YAAa,CAAA;UAAC;UAC7B,EAAG,6BAA6B,0CAA0C;UACrE;YACR,kBAAC,SAAD;SACE,cAAW;SACX,IAAG;SACH,MAAK;SACL,aAAa,EACX,wCACA,2CACD;SACD,OAAO;SACP,WAAW,MAAM,EAAiB,EAAE,OAAO,MAAM;SACjD,WAAU;SACV,CAAA,CACE;UACF;;MACD,CAAA;KAGP,kBAAC,GAAD;MAAM,SAAQ;gBACZ,kBAAC,OAAD;OAAK,WAAU;iBAAf;QACE,kBAAC,MAAD;SAAI,WAAU;mBACX,EAAG,4BAA4B,aAAa;SAC1C,CAAA;QACL,kBAAC,MAAD;SAAI,WAAU;mBAAd;UACE,kBAAC,MAAD,EAAA,UAAA;WACG,EAAG,kCAAkC,mBAAmB;WAAE;WAC3D,kBAAC,QAAD;YAAM,WAAU;sBAA8E;YAEvF,CAAA;WAAC;WACP,EACC,kCACA,8HACD;WACE,EAAA,CAAA;UACL,kBAAC,MAAD,EAAA,UAAA;WACG,EAAG,kCAAkC,oBAAoB;WAAE;WAC5D,kBAAC,UAAD,EAAA,UAAA;YACG,EAAG,mCAAmC,mBAAmB;YAAC;YAAG;YAC7D,EAAG,2BAA2B,YAAY;YACpC,EAAA,CAAA;WACR,EACC,kCACA,iLACD;WACE,EAAA,CAAA;UACL,kBAAC,MAAD,EAAA,UAAA;WACG,EAAG,kCAAkC,kCAAkC;WAAE;WAC1E,kBAAC,QAAD;YAAM,WAAU;sBAA8E;YAEvF,CAAA;WAAC;WACP,EAAG,kCAAkC,qBAAqB;WAAE;WAC7D,kBAAC,QAAD;YAAM,WAAU;sBAA8E;YAEvF,CAAA;WACN,EAAG,+BAA+B,KAAK;WACrC,EAAA,CAAA;UACL,kBAAC,MAAD,EAAA,UAAA;WACG,EAAG,kCAAkC,4BAA4B;WAAE;WACpE,kBAAC,QAAD;YAAM,WAAU;sBAA8E;YAEvF,CAAA;WAAC;WACP,EAAG,+BAA+B,MAAM;WAAE;WAC3C,kBAAC,QAAD;YAAM,WAAU;sBAA8E;YAEvF,CAAA;;WAEJ,EAAA,CAAA;UACF;;QACL,kBAAC,KAAD;SACE,MAAM;SACN,QAAO;SACP,KAAI;SACJ,WAAU;mBAJZ,CAMG,EAAG,kCAAkC,6BAA6B,EACnE,kBAAC,GAAD,EAAc,WAAU,YAAa,CAAA,CACnC;;QACA;;MACD,CAAA;KACH;;GAGP,MAAa,SACZ,kBAAC,GAAD;IAAM,SAAQ;cACZ,kBAAC,OAAD;KAAK,WAAU;eAAf;MACE,kBAAC,MAAD;OAAI,WAAU;iBAAd,CACE,kBAAC,GAAD,EAAU,WAAU,6BAA8B,CAAA,EACjD,EAAG,8BAA8B,sBAAsB,CACrD;;MACL,kBAAC,GAAD;OACE,iBAAiB;OACjB,OAAO,EAAG,kCAAkC,oBAAoB;iBAEhE,kBAAC,GAAD;QAAY,SAAS;QAAM,WAAU;kBAClC;SACC;UACE,KAAK;UACL,MAAM,EACJ,+BACA,oJACD;UACF;SACD;UACE,KAAK;UACL,MAAM,EACJ,sCACA,yEACD;UACF;SACD;UACE,KAAK;UACL,MAAM,EACJ,+BACA,yDACD;UACF;SACD;UACE,KAAK;UACL,MAAM,EACJ,gCACA,wCACD;UACF;SACD;UACE,KAAK;UACL,MAAM,EAAG,gCAAgC,mCAAmC;UAC7E;SACD;UACE,KAAK;UACL,MAAM,EACJ,0CACA,oDACD;UACF;SACD;UACE,KAAK;UACL,MAAM,EACJ,4CACA,gCACD;UACF;SACD;UACE,KAAK;UACL,MAAM,EACJ,sCACA,wDACD;UACF;SACF,CAAC,KAAK,MACL,kBAAC,GAAD;SAEE,WAAU;mBAFZ,CAIE,kBAAC,QAAD;UAAM,WAAU;oBAAhB,CAA4E,MACvE,EAAK,IACH;aACP,kBAAC,QAAD;UAAM,WAAU;oBAA2B,EAAK;UAAY,CAAA,CACjD;WAPN,EAAK,IAOC,CACb;QACS,CAAA;OACJ,CAAA;MACX,kBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,kBAAC,KAAD;QACE,MAAM;QACN,QAAO;QACP,KAAI;QACJ,WAAU;kBAJZ;SAMG,EAAG,kCAAkC,oBAAoB;SAAE;SAC5D,kBAAC,GAAD,EAAc,WAAU,UAAW,CAAA;SACjC;WACJ,kBAAC,QAAD;QAAM,WAAU;kBACb,EAAG,iCAAiC,+BAA+B;QAC/D,CAAA,CACH;;MACF;;IACD,CAAA;GAEE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"HealthPage.js","names":[],"sources":["../../src/pages/HealthPage.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useState } from 'react';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { VIBE_PERMISSIONS } from '../constants/permissions';\nimport {\n AlertTriangle,\n CheckCircle2,\n ChevronDown,\n Eye,\n FileText,\n Plug,\n RefreshCw,\n RotateCw,\n Server,\n Terminal,\n XCircle,\n Zap,\n} from 'lucide-react';\nimport { MotionItem, MotionList, MotionPage } from '@burdenoff/fe-libs/shared/motion';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport {\n ActionMenu,\n type ActionMenuItem,\n AgentSetupBanner,\n Card,\n PageHeader,\n StatCard,\n} from '@/components/shared';\nimport {\n EmphasisPanel,\n PagePurpose,\n NextSteps,\n IllustratedEmptyState,\n} from '@burdenoff/fe-libs/ui';\nimport {\n useVibecontrolsAgentHealthProbesQuery,\n useStartVibecontrolsAgentMutation,\n} from '@/generated/wspace-operations';\nimport { notify } from '@/lib/toast';\nimport { useCachedInitialData } from '@/hooks/useCachedInitialData';\nimport { useVibeControls, useVibeNavigate } from '@/providers/VibeControlsProvider';\nimport { useListTargetsQuery, type ListTargetsQuery } from '@/generated/wspace-operations';\n\ntype TargetItem = NonNullable<ListTargetsQuery['targets']['items'][number]>;\n\nconst HEALTH_AUTO_REFRESH_MS = 30000;\n\ntype AgentHealthProbe = NonNullable<\n ReturnType<typeof useVibecontrolsAgentHealthProbesQuery>['data']\n>['vibecontrolsAgentHealthProbes'][number];\n\nexport function HealthPage() {\n const { t } = useI18n();\n const { workspaceId } = useVibeControls();\n const navigate = useVibeNavigate();\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const canListAgents = hasPermission(VIBE_PERMISSIONS.AGENT_LIST);\n\n const [isRefreshing, setIsRefreshing] = useState(false);\n const [lastRefresh, setLastRefresh] = useState(new Date());\n const [autoRefresh, setAutoRefresh] = useState(true);\n // Which agents have their error-details section expanded (Health remediation).\n const [expandedAgents, setExpandedAgents] = useState<Record<string, boolean>>({});\n const [reconnectingAgentId, setReconnectingAgentId] = useState<string | null>(null);\n const [startAgentMutation] = useStartVibecontrolsAgentMutation();\n\n const {\n agents: cachedAgents,\n sessions: cachedSessions,\n vibes: cachedVibes,\n refetch,\n } = useCachedInitialData();\n const { data: targetsData, refetch: refetchTargets } = useListTargetsQuery({\n variables: { workspaceId: workspaceId ?? '' },\n skip: !workspaceId,\n fetchPolicy: 'cache-and-network',\n });\n const cachedTargets = targetsData?.targets?.items ?? [];\n\n const healthProbesQuery = useVibecontrolsAgentHealthProbesQuery({\n skip: permissionsLoading || !canListAgents,\n fetchPolicy: 'cache-and-network',\n notifyOnNetworkStatusChange: true,\n });\n const refetchHealthProbes = healthProbesQuery.refetch;\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 healthData = useMemo(() => {\n const probeByAgentId = new Map<string, AgentHealthProbe>(\n (healthProbesQuery.data?.vibecontrolsAgentHealthProbes ?? []).map(\n (probe: AgentHealthProbe) => [probe.agentId, probe]\n )\n );\n\n const agents = cachedAgents.map((agent) => {\n const probe = probeByAgentId.get(agent.id);\n const isActive = probe ? probe.healthy : agent.isActive;\n let status: 'healthy' | 'degraded' | 'offline' = 'offline';\n\n if (probe) {\n status = probe.healthy ? 'healthy' : 'degraded';\n } else if (isActive && agent.lastHeartbeat) {\n const heartbeatAge = Date.now() - new Date(agent.lastHeartbeat).getTime();\n status = heartbeatAge < 5 * 60 * 1000 ? 'healthy' : 'degraded';\n } else if (isActive) {\n status = 'degraded';\n }\n\n return {\n id: agent.id,\n name: agent.name,\n hostname: agent.hostname,\n platform: agent.platform,\n version: probe?.agentVersion || agent.version || 'unknown',\n status,\n lastHeartbeat: agent.lastHeartbeat || null,\n tunnelUrl: probe?.tunnelUrl ?? agent.tunnelUrl ?? null,\n tunnelStatus: agent.tunnelStatus ?? null,\n // Surface the live deep-health failure reason + uptime (previously\n // fetched by the probe query but never rendered) so a degraded/unhealthy\n // agent shows WHY.\n errorMessage: probe?.errorMessage ?? null,\n uptime: probe?.uptime ?? null,\n };\n });\n\n const sessions = cachedSessions.map((session) => ({\n id: session.id,\n name: session.name,\n status: session.status,\n type: session.type || 'TERMINAL',\n }));\n\n const vibes = cachedVibes.map((vibe) => ({\n id: vibe.id,\n name: vibe.name,\n status: vibe.status,\n type: vibe.type || 'PROJECT',\n }));\n\n const targets = cachedTargets.map((target: TargetItem) => ({\n id: target.id,\n name: target.name,\n status: target.status,\n type: target.type || 'DIRECT',\n agentCount: target.agents?.length ?? 0,\n }));\n\n const healthyAgents = agents.filter((agent) => agent.status === 'healthy').length;\n const totalAgents = agents.length;\n const overall =\n totalAgents === 0\n ? 'healthy'\n : healthyAgents === totalAgents\n ? 'healthy'\n : healthyAgents > 0\n ? 'degraded'\n : 'unhealthy';\n\n return { overall, agents, sessions, vibes, targets };\n }, [cachedAgents, cachedSessions, cachedTargets, cachedVibes, healthProbesQuery.data]);\n\n useEffect(() => {\n if (!autoRefresh) {\n return undefined;\n }\n\n const intervalId = window.setInterval(() => {\n void refetch();\n void refetchHealthProbes();\n void refetchTargets();\n setLastRefresh(new Date());\n }, HEALTH_AUTO_REFRESH_MS);\n\n return () => window.clearInterval(intervalId);\n }, [autoRefresh, refetch, refetchHealthProbes, refetchTargets]);\n\n const handleRefresh = useCallback(async () => {\n setIsRefreshing(true);\n try {\n // The three refetches are independent — run them in parallel (matching\n // the auto-refresh interval above) instead of awaiting sequentially.\n await Promise.all([refetch(), refetchHealthProbes(), refetchTargets()]);\n setLastRefresh(new Date());\n } finally {\n setIsRefreshing(false);\n }\n }, [refetch, refetchHealthProbes, refetchTargets]);\n\n // Health remediation — Reconnect / Restart a degraded or offline agent by\n // firing the same startVibecontrolsAgent lifecycle mutation the Agents page\n // uses (kept intentionally simple here: surface success/error and refresh).\n const handleReconnectAgent = useCallback(\n async (agentId: string, agentName: string) => {\n setReconnectingAgentId(agentId);\n try {\n const result = await startAgentMutation({ variables: { agentId } });\n const payload = result.data?.startVibecontrolsAgent;\n if (payload?.success) {\n notify.success(\n tr('health.reconnectSuccess', `Reconnecting agent \"${agentName}\"…`).replace(\n '{name}',\n agentName\n )\n );\n await Promise.all([refetch(), refetchHealthProbes()]);\n } else {\n notify.error(payload?.error || tr('health.reconnectFailed', 'Failed to reconnect agent'));\n }\n } catch (err) {\n notify.error(\n err instanceof Error\n ? err.message\n : tr('health.reconnectFailed', 'Failed to reconnect agent')\n );\n } finally {\n setReconnectingAgentId(null);\n }\n },\n [startAgentMutation, refetch, refetchHealthProbes, tr]\n );\n\n const toggleAgentDetails = useCallback((agentId: string) => {\n setExpandedAgents((prev) => ({ ...prev, [agentId]: !prev[agentId] }));\n }, []);\n\n if (permissionsLoading)\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <p className=\"text-text-secondary\">Loading permissions…</p>\n </div>\n );\n if (!canListAgents)\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <div className=\"text-center space-y-2\">\n <h2 className=\"text-lg font-semibold text-text-primary\">Access Denied</h2>\n <p className=\"text-sm text-text-secondary\">\n You don't have permission to access this page.\n </p>\n </div>\n </div>\n );\n\n const getStatusIcon = (status: string) => {\n switch (status) {\n case 'healthy':\n case 'connected':\n case 'RUNNING':\n case 'ACTIVE':\n return <CheckCircle2 className=\"size-5 text-status-success-text\" />;\n case 'degraded':\n case 'STARTING':\n case 'STOPPING':\n return <AlertTriangle className=\"size-5 text-status-warning-text\" />;\n case 'unhealthy':\n case 'ERROR':\n return <XCircle className=\"size-5 text-status-error-text\" />;\n default:\n return <XCircle className=\"size-5 text-text-secondary\" />;\n }\n };\n\n const getStatusColor = (status: string) => {\n switch (status) {\n case 'healthy':\n case 'connected':\n case 'RUNNING':\n case 'ACTIVE':\n return 'bg-status-success-bg-subtle text-status-success-text';\n case 'degraded':\n case 'STARTING':\n case 'STOPPING':\n return 'bg-status-warning-bg-subtle text-status-warning-text';\n case 'unhealthy':\n case 'ERROR':\n return 'bg-status-error-bg-subtle text-status-error-text';\n default:\n return 'bg-bg-sunken text-text-secondary';\n }\n };\n\n const formatTimestamp = (timestamp: string | null) => {\n if (!timestamp) return tr('health.never', 'Never');\n const diff = Date.now() - new Date(timestamp).getTime();\n if (diff < 60000) return tr('health.justNow', 'Just now');\n if (diff < 3600000) return `${Math.floor(diff / 60000)}m ago`;\n if (diff < 86400000) return `${Math.floor(diff / 3600000)}h ago`;\n return new Date(timestamp).toLocaleString();\n };\n\n // Probe `uptime` is reported in seconds. Render it compactly so a healthy\n // agent surfaces how long it has been up.\n const formatUptime = (seconds: number): string => {\n if (seconds < 60) return `${Math.round(seconds)}s`;\n const minutes = Math.floor(seconds / 60);\n if (minutes < 60) return `${minutes}m`;\n const hours = Math.floor(minutes / 60);\n if (hours < 24) return `${hours}h ${minutes % 60}m`;\n const days = Math.floor(hours / 24);\n return `${days}d ${hours % 24}h`;\n };\n\n const agentStats = {\n healthy: healthData.agents.filter((agent) => agent.status === 'healthy').length,\n degraded: healthData.agents.filter((agent) => agent.status === 'degraded').length,\n total: healthData.agents.length,\n };\n const sessionStats = {\n running: healthData.sessions.filter((session) => session.status === 'RUNNING').length,\n total: healthData.sessions.length,\n };\n const vibeStats = {\n active: healthData.vibes.filter((vibe) => vibe.status === 'ACTIVE' || vibe.status === 'RUNNING')\n .length,\n total: healthData.vibes.length,\n };\n type HealthTarget = {\n id: string;\n name: string;\n status: string;\n type: string;\n agentCount: number;\n };\n const targetStats = {\n healthy: healthData.targets.filter(\n (target: HealthTarget) => target.status === 'ACTIVE' || target.status === 'ONLINE'\n ).length,\n total: healthData.targets.length,\n connections: healthData.targets.reduce(\n (sum: number, target: HealthTarget) => sum + target.agentCount,\n 0\n ),\n };\n\n return (\n <MotionPage className=\"min-h-screen space-y-6 bg-bg-canvas px-6 lg:px-8 py-6\">\n <PageHeader\n title={tr('nav.health', 'Health')}\n description={`${tr('health.lastUpdated', 'Last updated')}: ${lastRefresh.toLocaleTimeString()} · ${tr('health.autoRefreshInterval', 'Auto-refresh every 30s')}`}\n actions={\n <div\n data-tour=\"health-refresh-controls\"\n className=\"flex flex-col items-start gap-3 sm:flex-row sm:items-center\"\n >\n <label className=\"flex items-center gap-2 text-sm text-text-secondary\">\n <input\n aria-label={tr('health.autoRefresh', 'Auto-refresh')}\n type=\"checkbox\"\n checked={autoRefresh}\n onChange={(event) => setAutoRefresh(event.target.checked)}\n className=\"size-4 rounded border-border-default\"\n />\n {tr('health.autoRefresh', 'Auto-refresh')}\n </label>\n <button\n type=\"button\"\n onClick={() => void handleRefresh()}\n disabled={isRefreshing}\n className=\"flex items-center gap-2 rounded-button bg-bg-sunken px-4 py-2 text-text-primary transition-colors hover:bg-action-secondary-bg-hover disabled:opacity-50\"\n >\n <RefreshCw className={`size-4 ${isRefreshing ? 'animate-spin' : ''}`} />\n {tr('common.refresh', 'Refresh')}\n </button>\n </div>\n }\n />\n\n <PagePurpose icon={<Server className=\"size-4\" />}>\n {tr(\n 'health.purpose',\n 'The Health dashboard is your single pane of glass for the live status of every agent, session, vibe and target in this workspace. Use it to spot a degraded or offline agent at a glance, see why it failed, and reconnect or restart it without leaving the page — so you catch problems before they interrupt your work.'\n )}\n </PagePurpose>\n\n <NextSteps\n storageKey=\"vibecontrols-health\"\n steps={[\n {\n id: 'reconnect-degraded',\n label: tr('health.next.reconnect', 'Reconnect a degraded agent'),\n description: tr(\n 'health.next.reconnectDesc',\n 'Any agent below that is degraded or offline can be reconnected from its actions menu.'\n ),\n icon: <Plug className=\"size-4\" />,\n onClick: () => {\n const first = healthData.agents.find((a) => a.status !== 'healthy');\n if (first) void handleReconnectAgent(first.id, first.name);\n else notify.success(tr('health.allHealthy', 'All agents are healthy.'));\n },\n },\n {\n id: 'view-agents',\n label: tr('health.next.manageAgents', 'Manage your agents'),\n description: tr(\n 'health.next.manageAgentsDesc',\n 'Open the Agents page to register, configure or remove agents.'\n ),\n icon: <Server className=\"size-4\" />,\n onClick: () => navigate('/agents'),\n },\n {\n id: 'view-sessions',\n label: tr('health.next.openSessions', 'Review running sessions'),\n description: tr(\n 'health.next.openSessionsDesc',\n 'Jump to Sessions to inspect logs and lifecycle of active work.'\n ),\n icon: <Terminal className=\"size-4\" />,\n onClick: () => navigate('/sessions'),\n },\n ]}\n />\n\n <EmphasisPanel data-tour=\"health-overall-status\">\n <div className=\"flex items-center gap-4\">\n <div\n className={`flex size-16 items-center justify-center rounded-full ${getStatusColor(healthData.overall)}`}\n >\n {getStatusIcon(healthData.overall)}\n </div>\n <div>\n <h2 className=\"text-lg font-bold capitalize text-text-primary sm:text-2xl\">\n {tr('health.systemStatus', 'System')} {healthData.overall}\n </h2>\n <p className=\"text-text-secondary\">\n {agentStats.healthy}/{agentStats.total} agents healthy, {sessionStats.running}{' '}\n sessions running, {vibeStats.active} vibes active, {targetStats.connections} target\n connections\n </p>\n </div>\n </div>\n </EmphasisPanel>\n\n <MotionList\n data-tour=\"health-stat-cards\"\n stagger={0.04}\n className=\"grid grid-cols-2 gap-4 sm:grid-cols-4\"\n >\n <MotionItem>\n <StatCard\n title={tr('health.agents', 'Agents')}\n value={`${agentStats.healthy}/${agentStats.total}`}\n subtitle={\n agentStats.degraded > 0\n ? `${agentStats.degraded} degraded`\n : tr('health.healthy', 'healthy')\n }\n icon={<Server className=\"size-6\" />}\n variant={agentStats.healthy === agentStats.total ? 'success' : 'warning'}\n />\n </MotionItem>\n <MotionItem>\n <StatCard\n title={tr('health.sessions', 'Sessions')}\n value={`${sessionStats.running}/${sessionStats.total}`}\n subtitle={tr('health.running', 'running')}\n icon={<Terminal className=\"size-6\" />}\n variant={sessionStats.running > 0 ? 'success' : 'default'}\n />\n </MotionItem>\n <MotionItem>\n <StatCard\n title={tr('health.vibes', 'Vibes')}\n value={`${vibeStats.active}/${vibeStats.total}`}\n subtitle={tr('health.active', 'active')}\n icon={<Zap className=\"size-6\" />}\n variant={vibeStats.active > 0 ? 'success' : 'default'}\n />\n </MotionItem>\n <MotionItem>\n <StatCard\n title={tr('health.targets', 'Targets')}\n value={`${targetStats.healthy}/${targetStats.total}`}\n subtitle={`${targetStats.connections} connections`}\n icon={<Server className=\"size-6\" />}\n variant={targetStats.healthy > 0 ? 'success' : 'default'}\n />\n </MotionItem>\n </MotionList>\n\n <Card data-tour=\"health-agent-list\">\n <div className=\"border-b border-border-subtle p-4\">\n <h3 className=\"flex items-center gap-2 font-semibold text-text-primary\">\n <Server className=\"size-5\" />\n {tr('health.agentHealth', 'Agent Health')} ({healthData.agents.length})\n </h3>\n </div>\n {healthData.agents.length > 0 ? (\n <MotionList stagger={0.04} className=\"divide-y divide-border-subtle\">\n {healthData.agents.map((agent) => {\n const isUnhealthy = agent.status !== 'healthy';\n const isExpanded = !!expandedAgents[agent.id];\n const agentActions: ActionMenuItem[] = [];\n if (isUnhealthy) {\n agentActions.push({\n key: 'reconnect',\n label:\n agent.status === 'offline'\n ? tr('health.action.restart', 'Restart agent')\n : tr('health.action.reconnect', 'Reconnect'),\n icon: agent.status === 'offline' ? RotateCw : Plug,\n onSelect: () => void handleReconnectAgent(agent.id, agent.name),\n disabled: reconnectingAgentId === agent.id,\n });\n }\n agentActions.push({\n key: 'details',\n label: tr('health.action.viewDetails', 'View details'),\n icon: Eye,\n onSelect: () => navigate(`/agents/${agent.id}`),\n });\n if (agent.errorMessage && isUnhealthy) {\n agentActions.push({\n key: 'error',\n label: isExpanded\n ? tr('health.action.hideError', 'Hide error details')\n : tr('health.action.showError', 'Show error details'),\n icon: AlertTriangle,\n onSelect: () => toggleAgentDetails(agent.id),\n });\n }\n return (\n <MotionItem key={agent.id} className=\"p-4\">\n <div className=\"flex flex-col gap-3 sm:flex-row sm:items-center sm:justify-between\">\n <div className=\"flex items-center gap-3\">\n {getStatusIcon(agent.status)}\n <div>\n <div className=\"font-medium text-text-primary\">{agent.name}</div>\n <div className=\"text-sm text-text-secondary\">\n {agent.hostname} · {agent.platform} · v{agent.version}\n </div>\n <div className=\"mt-0.5 text-xs text-text-secondary\">\n {tr('health.lastHeartbeat', 'Last heartbeat')}:{' '}\n {formatTimestamp(agent.lastHeartbeat)}\n {agent.uptime != null && (\n <>\n {' · '}\n {tr('health.uptime', 'Uptime')}: {formatUptime(agent.uptime)}\n </>\n )}\n </div>\n {agent.errorMessage && isUnhealthy && (\n <button\n type=\"button\"\n onClick={() => toggleAgentDetails(agent.id)}\n aria-expanded={isExpanded}\n className=\"mt-1 flex items-center gap-1 text-xs text-status-error-text hover:underline\"\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={`size-3 transition-transform ${isExpanded ? 'rotate-180' : ''}`}\n />\n {isExpanded\n ? tr('health.hideErrorDetails', 'Hide error details')\n : tr('health.showErrorDetails', 'Show error details')}\n </button>\n )}\n {agent.errorMessage && isUnhealthy && isExpanded && (\n <pre className=\"mt-1 max-w-prose whitespace-pre-wrap break-words rounded-md bg-status-error-bg-subtle px-2 py-1.5 text-xs text-status-error-text\">\n {agent.errorMessage}\n </pre>\n )}\n </div>\n </div>\n <div className=\"flex items-center gap-3\">\n {agent.tunnelUrl ? (\n <a\n href={agent.tunnelUrl}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-xs text-action-primary-text hover:underline\"\n >\n {tr('health.tunnel', 'Tunnel')}\n </a>\n ) : null}\n <span\n className={`rounded-full px-3 py-1 text-sm capitalize ${getStatusColor(agent.status)}`}\n >\n {agent.status}\n </span>\n <ActionMenu\n items={agentActions}\n ariaLabel={tr('health.agentActions', 'Agent actions')}\n />\n </div>\n </div>\n </MotionItem>\n );\n })}\n </MotionList>\n ) : (\n <div className=\"space-y-4 p-6\">\n <AgentSetupBanner variant=\"compact\" dismissKey=\"vibecontrols-health-setup-banner\" />\n <IllustratedEmptyState\n illustration=\"empty-agents\"\n title={tr('health.noAgentsRegistered', 'No agents registered')}\n description={tr(\n 'health.noAgentsDescription',\n 'Register an agent to start monitoring its health here.'\n )}\n />\n </div>\n )}\n </Card>\n\n <div className=\"grid grid-cols-1 gap-6 xl:grid-cols-2\">\n <Card>\n <div className=\"border-b border-border-subtle p-4\">\n <h3 className=\"flex items-center gap-2 font-semibold text-text-primary\">\n <Terminal className=\"size-5\" />\n {tr('health.sessionStatus', 'Session Status')} ({healthData.sessions.length})\n </h3>\n </div>\n {healthData.sessions.length > 0 ? (\n <MotionList stagger={0.04} className=\"divide-y divide-border-subtle\">\n {healthData.sessions.map((session) => (\n <MotionItem key={session.id} className=\"flex items-center justify-between p-4\">\n <div className=\"flex items-center gap-3\">\n {getStatusIcon(session.status)}\n <div>\n <div className=\"font-medium text-text-primary\">{session.name}</div>\n <div className=\"text-sm text-text-secondary\">{session.type}</div>\n </div>\n </div>\n <div className=\"flex items-center gap-3\">\n <span\n className={`rounded-full px-3 py-1 text-sm ${getStatusColor(session.status)}`}\n >\n {session.status}\n </span>\n <ActionMenu\n items={[\n {\n key: 'logs',\n label: tr('health.action.viewLogs', 'View logs'),\n icon: FileText,\n onSelect: () => navigate(`/sessions/${session.id}`),\n },\n {\n key: 'details',\n label: tr('health.action.viewDetails', 'View details'),\n icon: Eye,\n onSelect: () => navigate(`/sessions/${session.id}`),\n },\n ]}\n ariaLabel={tr('health.sessionActions', 'Session actions')}\n />\n </div>\n </MotionItem>\n ))}\n </MotionList>\n ) : (\n <div className=\"p-6\">\n <IllustratedEmptyState\n illustration=\"empty-sessions\"\n title={tr('health.noSessions', 'No sessions')}\n description={tr(\n 'health.noSessionsDescription',\n 'Active terminal and task sessions will appear here.'\n )}\n />\n </div>\n )}\n </Card>\n\n <Card>\n <div className=\"border-b border-border-subtle p-4\">\n <h3 className=\"flex items-center gap-2 font-semibold text-text-primary\">\n <Zap className=\"size-5\" />\n {tr('health.vibeStatus', 'Vibe Status')} ({healthData.vibes.length})\n </h3>\n </div>\n {healthData.vibes.length > 0 ? (\n <MotionList stagger={0.04} className=\"divide-y divide-border-subtle\">\n {healthData.vibes.map((vibe) => (\n <MotionItem key={vibe.id} className=\"flex items-center justify-between p-4\">\n <div>\n <div className=\"font-medium text-text-primary\">{vibe.name}</div>\n <div className=\"text-sm text-text-secondary\">{vibe.type}</div>\n </div>\n <div className=\"flex items-center gap-3\">\n <span\n className={`rounded-full px-3 py-1 text-sm ${getStatusColor(vibe.status)}`}\n >\n {vibe.status}\n </span>\n <ActionMenu\n items={[\n {\n key: 'details',\n label: tr('health.action.viewDetails', 'View details'),\n icon: Eye,\n onSelect: () => navigate(`/vibes/${vibe.id}`),\n },\n ]}\n ariaLabel={tr('health.vibeActions', 'Vibe actions')}\n />\n </div>\n </MotionItem>\n ))}\n </MotionList>\n ) : (\n <div className=\"p-6\">\n <IllustratedEmptyState\n illustration=\"empty-vibes\"\n title={tr('health.noVibes', 'No vibes')}\n description={tr(\n 'health.noVibesDescription',\n 'Your vibes and their live status will appear here.'\n )}\n />\n </div>\n )}\n </Card>\n </div>\n </MotionPage>\n );\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LogsPage.js","names":[],"sources":["../../src/pages/LogsPage.tsx"],"sourcesContent":["import { useMemo, useState } from 'react';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { VIBE_PERMISSIONS } from '../constants/permissions';\nimport { Bot, ScrollText } from 'lucide-react';\nimport { MotionPage } from '@burdenoff/fe-libs/shared/motion';\nimport { PagePurpose } from '@burdenoff/fe-libs/ui';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { EmptyState, GetHelpButton, PageHeader } from '@/components/shared';\nimport { LogViewer } from '@/components/logs/LogViewer';\nimport { SearchableSelect } from '@/components/shared/SearchableSelect';\nimport { PageSkeleton } from '@/components/shared/PageSkeleton';\nimport { useCachedInitialData } from '@/hooks/useCachedInitialData';\nimport { useActiveAgentProfile } from '@/hooks/useActiveAgentProfile';\nimport { useVibeControlsStore } from '@/store/vibeControlsStore';\n\nexport function LogsPage() {\n const { t } = useI18n();\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n const { agents: cachedAgents, loading } = useCachedInitialData();\n const [selectedAgentId, setSelectedAgentId] = useState('');\n\n const tr = (key: string, fallback: string): string => {\n const value = t(key);\n return value === key ? fallback : value;\n };\n\n // Phase 5B — store-backed active-profile lookup keyed by agent id. The\n // hook can only be called once at the top level, so the store map is\n // the only safe way to attach a per-row `profile` inside the .map()\n // below. Each agent row will fall back to the literal \"default\" string\n // until the user opens that agent's Profiles tab and the AgentProfile\n // rows for it land in the store.\n const profileMap = useVibeControlsStore((s) => s.activeProfilePerAgent);\n\n // Pre-warm the store for the currently-selected agent so its row shows\n // the correct profile once profiles are loaded.\n useActiveAgentProfile(selectedAgentId || null);\n\n const agents = useMemo(\n () =>\n cachedAgents\n .filter((agent) => agent.tunnelUrl)\n .map((agent) => ({\n id: agent.id,\n name: agent.name || agent.hostname || agent.id,\n isActive: agent.isActive,\n hostname: agent.hostname,\n platform: agent.platform,\n profile: profileMap[agent.id] ?? 'default',\n })),\n [cachedAgents, profileMap]\n );\n\n const selectedAgent = agents.find((agent) => agent.id === selectedAgentId);\n\n if (permissionsLoading)\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <p className=\"text-text-secondary\">Loading permissions…</p>\n </div>\n );\n if (!hasPermission(VIBE_PERMISSIONS.LOG_LIST))\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <div className=\"text-center space-y-2\">\n <h2 className=\"text-lg font-semibold text-text-primary\">Access Denied</h2>\n <p className=\"text-sm text-text-secondary\">\n You don't have permission to access this page.\n </p>\n </div>\n </div>\n );\n\n if (loading && agents.length === 0) {\n return (\n <MotionPage className=\"flex h-full flex-col gap-6 px-6 lg:px-8 py-6\">\n <PageHeader\n title={tr('nav.logs', 'Logs')}\n description={tr('logs.description', 'Gateway-proxied log streaming from your agents')}\n />\n <PageSkeleton variant=\"rows\" count={6} />\n </MotionPage>\n );\n }\n\n return (\n <MotionPage className=\"flex h-full flex-col gap-6 px-6 lg:px-8 py-6\">\n <PageHeader\n title={tr('nav.logs', 'Logs')}\n description={tr('logs.description', 'Gateway-proxied log streaming from your agents')}\n />\n\n <PagePurpose icon={<ScrollText className=\"size-4\" />}>\n {tr(\n 'logs.purpose',\n 'Logs stream the live output from a chosen agent straight to your browser, proxied securely through the gateway. Pick an agent to watch what it is doing in real time — useful for confirming a session started correctly, debugging a failing command, or just keeping an eye on long-running work.'\n )}\n </PagePurpose>\n\n <div className=\"flex flex-col items-start gap-3 rounded-card border border-border-subtle bg-bg-surface p-4 shadow-elevation-1 sm:flex-row sm:items-center\">\n <label className=\"text-sm font-medium text-text-secondary\">\n {tr('logs.agentLabel', 'Agent:')}\n </label>\n\n {agents.length > 0 ? (\n <div className=\"w-full sm:w-80\">\n <SearchableSelect\n options={agents.map((agent) => ({\n value: agent.id,\n label: agent.name,\n description: `${agent.platform ?? ''} · ${agent.hostname ?? ''}`,\n }))}\n value={selectedAgentId}\n onChange={(value) => setSelectedAgentId(value)}\n placeholder={tr('logs.selectAgent', 'Select an agent...')}\n />\n </div>\n ) : (\n <span className=\"text-sm text-text-tertiary\">\n {tr('logs.noAgentsAvailable', 'No agents with tunnel access available')}\n </span>\n )}\n\n {selectedAgent ? (\n <div className=\"flex items-center gap-1.5 text-xs text-text-tertiary\">\n <div\n className={`size-2 rounded-full ${selectedAgent.isActive ? 'bg-status-success-bg' : 'bg-bg-sunken'}`}\n />\n {selectedAgent.hostname}\n </div>\n ) : null}\n </div>\n\n {selectedAgent ? (\n <LogViewer agentId={selectedAgent.id} profile={selectedAgent.profile} className=\"flex-1\" />\n ) : (\n <EmptyState\n icon={<Bot size={48} />}\n title={tr('logs.noAgentSelected', 'Select an agent to view logs')}\n description={tr(\n 'logs.noAgentSelectedDescription',\n 'Logs are fetched on demand. Choose an agent above to start streaming its gateway-proxied logs.'\n )}\n action={\n <GetHelpButton prompt=\"What are Logs in VibeControls and how do I investigate them?\" />\n }\n />\n )}\n </MotionPage>\n );\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"NoteDetailsPage.js","names":[],"sources":["../../src/pages/NoteDetailsPage.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePermissions } from '@burdenoff/fe-libs/shared/providers/shell';\nimport { VIBE_PERMISSIONS } from '../constants/permissions';\nimport { ArrowLeft, ExternalLink, FileText, Pin, Tag } from 'lucide-react';\nimport { MotionPage } from '@burdenoff/fe-libs/shared/motion';\nimport { useI18n } from '@burdenoff/fe-libs/shared/providers/shell/I18nProvider';\nimport { Card, EmptyState, ErrorState, PageHeader } from '@/components/shared';\nimport { PageSkeleton } from '@/components/shared/PageSkeleton';\nimport { useVibeNavigate } from '@/providers/VibeControlsProvider';\nimport { useGetNoteQuery } from '@/generated/wspace-operations';\nimport { useParams } from 'react-router';\n\nexport function NoteDetailsPage() {\n const { t } = useI18n();\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 const { id } = useParams<{ id: string }>();\n const navigate = useVibeNavigate();\n const { hasPermission, isLoading: permissionsLoading } = usePermissions();\n\n const canReadNote = hasPermission(VIBE_PERMISSIONS.NOTE_READ);\n const { data, loading, error, refetch } = useGetNoteQuery({\n variables: { id: id || '' },\n skip: !id || permissionsLoading || !canReadNote,\n fetchPolicy: 'cache-and-network',\n });\n\n const note = data?.note;\n\n if (permissionsLoading)\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <p className=\"text-text-secondary\">\n {tr('noteDetails.loadingPermissions', 'Loading permissions...')}\n </p>\n </div>\n );\n if (!canReadNote)\n return (\n <div className=\"flex items-center justify-center min-h-[400px]\">\n <div className=\"text-center space-y-2\">\n <h2 className=\"text-lg font-semibold text-text-primary\">\n {tr('noteDetails.accessDenied', 'Access Denied')}\n </h2>\n <p className=\"text-sm text-text-secondary\">\n {tr('noteDetails.accessDeniedDesc', \"You don't have permission to access this page.\")}\n </p>\n </div>\n </div>\n );\n\n if (loading && !note) {\n return (\n <MotionPage className=\"space-y-6 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n <button\n type=\"button\"\n onClick={() => navigate('/vibes')}\n className=\"flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors\"\n >\n <ArrowLeft className=\"size-4\" />\n {tr('noteDetails.back', 'Back')}\n </button>\n <PageSkeleton variant=\"detail\" />\n </MotionPage>\n );\n }\n\n if (error && !note) {\n return (\n <MotionPage className=\"space-y-6 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n <button\n type=\"button\"\n onClick={() => navigate('/vibes')}\n className=\"flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors\"\n >\n <ArrowLeft className=\"size-4\" />\n Back\n </button>\n <ErrorState\n title={tr('noteDetails.failedLoad', 'Failed to load note')}\n message={error.message}\n onRetry={() => refetch()}\n />\n </MotionPage>\n );\n }\n\n if (!note) {\n return (\n <MotionPage className=\"space-y-6 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n <button\n type=\"button\"\n onClick={() => navigate('/vibes')}\n className=\"flex items-center gap-2 text-text-secondary hover:text-text-primary transition-colors\"\n >\n <ArrowLeft className=\"size-4\" />\n Back\n </button>\n <EmptyState\n icon={<FileText className=\"size-8 text-text-secondary\" />}\n title={tr('noteDetails.notFound', 'Note not found')}\n description={tr(\n 'noteDetails.notFoundDesc',\n 'This note may have been deleted or you may no longer have access to it.'\n )}\n />\n </MotionPage>\n );\n }\n\n return (\n <MotionPage className=\"space-y-6 px-6 lg:px-8 py-6 bg-bg-canvas min-h-screen\">\n <PageHeader\n title={note.title}\n description={\n note.vibe\n ? `${tr('noteDetails.attachedTo', 'Attached to')} ${note.vibe.name}`\n : tr('noteDetails.workspaceNote', 'Workspace note')\n }\n actions={\n <div className=\"flex items-center gap-2\">\n {note.vibe && (\n <button\n type=\"button\"\n onClick={() => navigate(`/vibes/${note.vibe?.id}`)}\n className=\"inline-flex items-center gap-2 px-3 py-2 rounded-md border border-border-default bg-bg-surface hover:bg-bg-sunken text-sm text-text-primary transition-colors\"\n >\n <ExternalLink className=\"size-4\" />\n {tr('noteDetails.openVibe', 'Open Vibe')}\n </button>\n )}\n </div>\n }\n />\n\n <div className=\"grid gap-6 lg:grid-cols-[minmax(0,1fr)_320px]\">\n <Card>\n <div className=\"p-5 space-y-4\">\n <div className=\"flex flex-wrap items-center gap-2 text-xs text-text-tertiary\">\n {note.isPinned && (\n <span className=\"inline-flex items-center gap-1 rounded-full bg-primary-default/10 px-2 py-1 text-primary-default\">\n <Pin className=\"size-3.5\" />\n {tr('noteDetails.pinned', 'Pinned')}\n </span>\n )}\n <span>\n {tr('noteDetails.created', 'Created')} {new Date(note.createdAt).toLocaleString()}\n </span>\n <span>\n {tr('noteDetails.updated', 'Updated')} {new Date(note.updatedAt).toLocaleString()}\n </span>\n </div>\n\n <div className=\"rounded-lg border border-border-default bg-bg-canvas p-4\">\n <pre className=\"whitespace-pre-wrap break-words text-sm text-text-primary font-sans leading-6\">\n {note.content}\n </pre>\n </div>\n </div>\n </Card>\n\n <div className=\"space-y-6\">\n <Card>\n <div className=\"p-5 space-y-4\">\n <h2 className=\"text-sm font-semibold text-text-primary\">\n {tr('noteDetails.details', 'Details')}\n </h2>\n <div className=\"space-y-3 text-sm\">\n <div>\n <div className=\"text-text-tertiary\">{tr('noteDetails.noteId', 'Note ID')}</div>\n <div className=\"font-mono text-text-primary break-all\">{note.id}</div>\n </div>\n {note.vibe && (\n <div>\n <div className=\"text-text-tertiary\">{tr('noteDetails.vibe', 'Vibe')}</div>\n <button\n type=\"button\"\n onClick={() => navigate(`/vibes/${note.vibe?.id}`)}\n className=\"text-primary-default hover:underline\"\n >\n {note.vibe.name}\n </button>\n </div>\n )}\n </div>\n </div>\n </Card>\n\n <Card>\n <div className=\"p-5 space-y-4\">\n <h2 className=\"text-sm font-semibold text-text-primary\">\n {tr('noteDetails.tags', 'Tags')}\n </h2>\n {note.tags.length > 0 ? (\n <div className=\"flex flex-wrap gap-2\">\n {note.tags.map((tag: string) => (\n <span\n key={tag}\n className=\"inline-flex items-center gap-1 rounded-full bg-bg-sunken px-2 py-1 text-xs text-text-secondary\"\n >\n <Tag className=\"size-3\" />\n {tag}\n </span>\n ))}\n </div>\n ) : (\n <p className=\"text-sm text-text-tertiary\">\n {tr('noteDetails.noTags', 'No tags assigned.')}\n </p>\n )}\n </div>\n </Card>\n </div>\n </div>\n </MotionPage>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AAYA,SAAgB,IAAkB;CAChC,IAAM,EAAE,SAAM,GAAS,EACjB,IAAK,GACR,GAAa,MAA6B;EACzC,IAAM,IAAQ,EAAE,EAAI;AACpB,SAAO,MAAU,IAAM,IAAW;IAEpC,CAAC,EAAE,CACJ,EACK,EAAE,UAAO,GAA2B,EACpC,IAAW,GAAiB,EAC5B,EAAE,kBAAe,WAAW,MAAuB,GAAgB,EAEnE,IAAc,EAAc,EAAiB,UAAU,EACvD,EAAE,SAAM,YAAS,UAAO,eAAY,EAAgB;EACxD,WAAW,EAAE,IAAI,KAAM,IAAI;EAC3B,MAAM,CAAC,KAAM,KAAsB,CAAC;EACpC,aAAa;EACd,CAAC,EAEI,IAAO,GAAM;AAmFnB,QAjFI,IAEA,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,KAAD;GAAG,WAAU;aACV,EAAG,kCAAkC,yBAAyB;GAC7D,CAAA;EACA,CAAA,GAEL,IAcD,KAAW,CAAC,IAEZ,kBAAC,GAAD;EAAY,WAAU;YAAtB,CACE,kBAAC,UAAD;GACE,MAAK;GACL,eAAe,EAAS,SAAS;GACjC,WAAU;aAHZ,CAKE,kBAAC,GAAD,EAAW,WAAU,UAAW,CAAA,EAC/B,EAAG,oBAAoB,OAAO,CACxB;MACT,kBAAC,GAAD,EAAc,SAAQ,UAAW,CAAA,CACtB;MAIb,KAAS,CAAC,IAEV,kBAAC,GAAD;EAAY,WAAU;YAAtB,CACE,kBAAC,UAAD;GACE,MAAK;GACL,eAAe,EAAS,SAAS;GACjC,WAAU;aAHZ,CAKE,kBAAC,GAAD,EAAW,WAAU,UAAW,CAAA,EAAA,OAEzB;MACT,kBAAC,GAAD;GACE,OAAO,EAAG,0BAA0B,sBAAsB;GAC1D,SAAS,EAAM;GACf,eAAe,GAAS;GACxB,CAAA,CACS;MAIZ,IAwBH,kBAAC,GAAD;EAAY,WAAU;YAAtB,CACE,kBAAC,GAAD;GACE,OAAO,EAAK;GACZ,aACE,EAAK,OACD,GAAG,EAAG,0BAA0B,cAAc,CAAC,GAAG,EAAK,KAAK,SAC5D,EAAG,6BAA6B,iBAAiB;GAEvD,SACE,kBAAC,OAAD;IAAK,WAAU;cACZ,EAAK,QACJ,kBAAC,UAAD;KACE,MAAK;KACL,eAAe,EAAS,UAAU,EAAK,MAAM,KAAK;KAClD,WAAU;eAHZ,CAKE,kBAAC,GAAD,EAAc,WAAU,UAAW,CAAA,EAClC,EAAG,wBAAwB,YAAY,CACjC;;IAEP,CAAA;GAER,CAAA,EAEF,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,OAAD;KAAK,WAAU;eAAf;MACG,EAAK,YACJ,kBAAC,QAAD;OAAM,WAAU;iBAAhB,CACE,kBAAC,GAAD,EAAK,WAAU,YAAa,CAAA,EAC3B,EAAG,sBAAsB,SAAS,CAC9B;;MAET,kBAAC,QAAD,EAAA,UAAA;OACG,EAAG,uBAAuB,UAAU;OAAC;OAAE,IAAI,KAAK,EAAK,UAAU,CAAC,gBAAgB;OAC5E,EAAA,CAAA;MACP,kBAAC,QAAD,EAAA,UAAA;OACG,EAAG,uBAAuB,UAAU;OAAC;OAAE,IAAI,KAAK,EAAK,UAAU,CAAC,gBAAgB;OAC5E,EAAA,CAAA;MACH;QAEN,kBAAC,OAAD;KAAK,WAAU;eACb,kBAAC,OAAD;MAAK,WAAU;gBACZ,EAAK;MACF,CAAA;KACF,CAAA,CACF;OACD,CAAA,EAEP,kBAAC,OAAD;IAAK,WAAU;cAAf,CACE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,MAAD;MAAI,WAAU;gBACX,EAAG,uBAAuB,UAAU;MAClC,CAAA,EACL,kBAAC,OAAD;MAAK,WAAU;gBAAf,CACE,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAsB,EAAG,sBAAsB,UAAU;OAAO,CAAA,EAC/E,kBAAC,OAAD;OAAK,WAAU;iBAAyC,EAAK;OAAS,CAAA,CAClE,EAAA,CAAA,EACL,EAAK,QACJ,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,OAAD;OAAK,WAAU;iBAAsB,EAAG,oBAAoB,OAAO;OAAO,CAAA,EAC1E,kBAAC,UAAD;OACE,MAAK;OACL,eAAe,EAAS,UAAU,EAAK,MAAM,KAAK;OAClD,WAAU;iBAET,EAAK,KAAK;OACJ,CAAA,CACL,EAAA,CAAA,CAEJ;QACF;QACD,CAAA,EAEP,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;KAAK,WAAU;eAAf,CACE,kBAAC,MAAD;MAAI,WAAU;gBACX,EAAG,oBAAoB,OAAO;MAC5B,CAAA,EACJ,EAAK,KAAK,SAAS,IAClB,kBAAC,OAAD;MAAK,WAAU;gBACZ,EAAK,KAAK,KAAK,MACd,kBAAC,QAAD;OAEE,WAAU;iBAFZ,CAIE,kBAAC,GAAD,EAAK,WAAU,UAAW,CAAA,EACzB,EACI;SALA,EAKA,CACP;MACE,CAAA,GAEN,kBAAC,KAAD;MAAG,WAAU;gBACV,EAAG,sBAAsB,oBAAoB;MAC5C,CAAA,CAEF;QACD,CAAA,CACH;MACF;KACK;MA7HX,kBAAC,GAAD;EAAY,WAAU;YAAtB,CACE,kBAAC,UAAD;GACE,MAAK;GACL,eAAe,EAAS,SAAS;GACjC,WAAU;aAHZ,CAKE,kBAAC,GAAD,EAAW,WAAU,UAAW,CAAA,EAAA,OAEzB;MACT,kBAAC,GAAD;GACE,MAAM,kBAAC,GAAD,EAAU,WAAU,8BAA+B,CAAA;GACzD,OAAO,EAAG,wBAAwB,iBAAiB;GACnD,aAAa,EACX,4BACA,0EACD;GACD,CAAA,CACS;MAnEb,kBAAC,OAAD;EAAK,WAAU;YACb,kBAAC,OAAD;GAAK,WAAU;aAAf,CACE,kBAAC,MAAD;IAAI,WAAU;cACX,EAAG,4BAA4B,gBAAgB;IAC7C,CAAA,EACL,kBAAC,KAAD;IAAG,WAAU;cACV,EAAG,gCAAgC,iDAAiD;IACnF,CAAA,CACA;;EACF,CAAA"}