.flake8
.gitattributes
.gitignore
.pre-commit-config.yaml
LICENSE
README.md
build.sh
pyproject.toml
.github/FUNDING.yml
.github/dependabot.yml
.github/release.yml
.github/ISSUE_TEMPLATE/✨-request-a-feature.md
.github/ISSUE_TEMPLATE/🐛-report-a-bug.md
.github/workflows/auto-labeler.yml
.github/workflows/backend-contract.yml
.github/workflows/build-test.yml
.github/workflows/publish.yml
frontend/.gitignore
frontend/README.md
frontend/eslint.config.js
frontend/index.html
frontend/package-lock.json
frontend/package.json
frontend/playwright.config.js
frontend/prettier.config.js
frontend/vite.config.js
frontend/e2e/application.spec.js
frontend/public/assets/site.webmanifest
frontend/public/assets/css/themes/black.css
frontend/public/assets/css/themes/blue.css
frontend/public/assets/css/themes/default.css
frontend/public/assets/css/themes/gradient.css
frontend/public/assets/css/themes/green.css
frontend/public/assets/css/themes/light.css
frontend/public/assets/css/themes/pink.css
frontend/public/assets/css/themes/red.css
frontend/public/assets/css/themes/yellow.css
frontend/public/image/panorama.jpeg
frontend/public/image/icon/apple-touch-icon.png
frontend/public/image/icon/favicon-96x96.png
frontend/public/image/icon/favicon.ico
frontend/public/image/icon/favicon.svg
frontend/public/image/icon/manager-logo.png
frontend/public/image/icon/web-app-manifest-192x192.png
frontend/public/image/icon/web-app-manifest-512x512.png
frontend/scripts/check-api-calls.mjs
frontend/scripts/check-backend-contract.py
frontend/scripts/export-openapi.py
frontend/scripts/generate-contract.mjs
frontend/src/App.jsx
frontend/src/App.test.jsx
frontend/src/main.jsx
frontend/src/api/contract-check.ts
frontend/src/api/operationRegistry.js
frontend/src/api/operations.d.ts
frontend/src/api/operations.js
frontend/src/api/operations.test.js
frontend/src/api/transport.js
frontend/src/api/transport.test.js
frontend/src/api/generated/contract.d.ts
frontend/src/api/generated/openapi.json
frontend/src/api/generated/operations.json
frontend/src/app/applicationMetrics.js
frontend/src/app/applicationMetrics.test.js
frontend/src/app/applicationState.js
frontend/src/app/applicationState.test.js
frontend/src/app/backendIdentity.js
frontend/src/app/backendIdentity.test.js
frontend/src/app/coreEvents.js
frontend/src/app/draftRegistry.js
frontend/src/app/operationCoordinator.js
frontend/src/app/operationCoordinator.test.js
frontend/src/app/operationRecovery.js
frontend/src/app/operationRecovery.test.js
frontend/src/app/preferenceStore.js
frontend/src/app/preferenceStore.test.js
frontend/src/app/publicRequests.js
frontend/src/app/publicRequests.test.jsx
frontend/src/app/queryClient.js
frontend/src/app/queryKeys.js
frontend/src/app/resourceQueries.js
frontend/src/app/resourceQueries.test.jsx
frontend/src/app/sessionBoundary.js
frontend/src/app/sessionBoundary.test.js
frontend/src/app/sessionRuntime.js
frontend/src/app/sessionRuntime.test.js
frontend/src/app/stateReconciler.js
frontend/src/app/stateReconciler.test.js
frontend/src/app/useApplicationMetrics.js
frontend/src/app/useEditableDraft.js
frontend/src/app/useEditableDraft.test.jsx
frontend/src/app/useMetricFormat.js
frontend/src/app/useOperations.js
frontend/src/app/usePreference.js
frontend/src/app/usePreference.test.jsx
frontend/src/app/webSocketManager.js
frontend/src/app/webSocketManager.test.js
frontend/src/components/AuthBrand.jsx
frontend/src/components/DraftConflictNotice.jsx
frontend/src/components/DraftNavigationGuard.jsx
frontend/src/components/DraftNavigationGuard.test.jsx
frontend/src/components/DraggableList.jsx
frontend/src/components/ErrorBoundary.jsx
frontend/src/components/Footer.css
frontend/src/components/Footer.jsx
frontend/src/components/Footer.test.jsx
frontend/src/components/LogViewer.jsx
frontend/src/components/LogViewer.test.jsx
frontend/src/components/Modal.jsx
frontend/src/components/NotificationHistory.jsx
frontend/src/components/NotificationHistory.test.jsx
frontend/src/components/OperationsStatus.jsx
frontend/src/components/OperationsStatus.test.jsx
frontend/src/components/PaletteEditor.jsx
frontend/src/components/PaletteEditor.test.jsx
frontend/src/components/QueryStatus.jsx
frontend/src/components/RemoteConfigModal.jsx
frontend/src/components/SettingsField.jsx
frontend/src/components/SettingsField.test.jsx
frontend/src/components/SettingsGroups.jsx
frontend/src/components/Sidebar.jsx
frontend/src/components/Sidebar.test.jsx
frontend/src/components/SidebarLabel.jsx
frontend/src/components/SidebarLabel.test.jsx
frontend/src/components/TaskOutcome.jsx
frontend/src/components/metrics/ApplicationHealth.jsx
frontend/src/components/metrics/ApplicationHealth.test.jsx
frontend/src/components/metrics/ApplicationMetricsSummary.jsx
frontend/src/components/metrics/MetricUnitSettings.jsx
frontend/src/components/metrics/MetricUnitSettings.test.jsx
frontend/src/components/metrics/MetricsChart.jsx
frontend/src/components/metrics/format.js
frontend/src/components/server/ServerCard.jsx
frontend/src/components/server/ServerCard.test.jsx
frontend/src/components/server/ServerCardMenu.jsx
frontend/src/contexts/AuthContext.jsx
frontend/src/contexts/AuthContext.test.jsx
frontend/src/contexts/DialogContext.jsx
frontend/src/contexts/DialogContext.test.jsx
frontend/src/contexts/ServerContext.jsx
frontend/src/contexts/ServerContext.test.jsx
frontend/src/contexts/ThemeContext.jsx
frontend/src/contexts/ThemeContext.test.jsx
frontend/src/contexts/ToastContext.jsx
frontend/src/contexts/WebSocketContext.jsx
frontend/src/contexts/WebSocketContext.test.jsx
frontend/src/features/plugins/PluginRenderer.jsx
frontend/src/features/plugins/PluginSettingsFields.jsx
frontend/src/features/plugins/StreamComponents.jsx
frontend/src/features/plugins/componentRegistry.js
frontend/src/features/plugins/usePluginActions.js
frontend/src/features/plugins/usePluginPage.js
frontend/src/features/plugins/components/charts.jsx
frontend/src/features/plugins/components/display.jsx
frontend/src/features/plugins/components/forms.jsx
frontend/src/features/plugins/components/icons.jsx
frontend/src/features/plugins/components/layout.jsx
frontend/src/features/servers/useServerInstallation.js
frontend/src/layouts/Layout.jsx
frontend/src/layouts/Layout.test.jsx
frontend/src/pages/AccessControl.jsx
frontend/src/pages/AccessControl.test.jsx
frontend/src/pages/Account.jsx
frontend/src/pages/Account.test.jsx
frontend/src/pages/ApplicationMonitor.jsx
frontend/src/pages/ApplicationMonitor.test.jsx
frontend/src/pages/AuditLog.jsx
frontend/src/pages/AuditLog.test.jsx
frontend/src/pages/BSMSettings.jsx
frontend/src/pages/BSMSettings.test.jsx
frontend/src/pages/Backups.jsx
frontend/src/pages/Backups.test.jsx
frontend/src/pages/Content.jsx
frontend/src/pages/Content.test.jsx
frontend/src/pages/DynamicPage.jsx
frontend/src/pages/DynamicPage.test.jsx
frontend/src/pages/GlobalPlayers.jsx
frontend/src/pages/GlobalPlayers.test.jsx
frontend/src/pages/Login.jsx
frontend/src/pages/Login.test.jsx
frontend/src/pages/Monitor.jsx
frontend/src/pages/Monitor.test.jsx
frontend/src/pages/OnlinePlayers.jsx
frontend/src/pages/OnlinePlayers.test.jsx
frontend/src/pages/Overview.css
frontend/src/pages/Overview.jsx
frontend/src/pages/Overview.test.jsx
frontend/src/pages/OverviewFleetMetrics.jsx
frontend/src/pages/Playground.jsx
frontend/src/pages/Playground.test.jsx
frontend/src/pages/PluginSettings.jsx
frontend/src/pages/PluginSettings.test.jsx
frontend/src/pages/Plugins.jsx
frontend/src/pages/Plugins.test.jsx
frontend/src/pages/Register.jsx
frontend/src/pages/Register.test.jsx
frontend/src/pages/ServerConfig.jsx
frontend/src/pages/ServerConfig.test.jsx
frontend/src/pages/ServerInstall.jsx
frontend/src/pages/ServerInstall.test.jsx
frontend/src/pages/ServerProperties.jsx
frontend/src/pages/ServerProperties.test.jsx
frontend/src/pages/Setup.jsx
frontend/src/pages/Setup.test.jsx
frontend/src/pages/Users.jsx
frontend/src/pages/Users.test.jsx
frontend/src/styles/animations.css
frontend/src/styles/appearance.css
frontend/src/styles/application-monitor.css
frontend/src/styles/base.css
frontend/src/styles/buttons.css
frontend/src/styles/controls.css
frontend/src/styles/density.css
frontend/src/styles/forms.css
frontend/src/styles/index.css
frontend/src/styles/layout.css
frontend/src/styles/messages.css
frontend/src/styles/monitor.css
frontend/src/styles/operations.css
frontend/src/styles/plugin-page.css
frontend/src/styles/plugins.css
frontend/src/styles/server-card.css
frontend/src/styles/sidebar.css
frontend/src/styles/tables.css
frontend/src/styles/tabs.css
frontend/src/styles/task-outcome.css
frontend/src/styles/tokens.css
frontend/src/styles/v2-global.css
frontend/src/styles/workspace.css
frontend/src/test/accessibility.test.jsx
frontend/src/test/apiContract.js
frontend/src/test/apiContract.test.js
frontend/src/test/fixtures.js
frontend/src/test/httpFixtures.js
frontend/src/test/setup.js
frontend/src/test/utils.jsx
frontend/src/utils/assetBase.test.js
frontend/src/utils/basePath.js
frontend/src/utils/basePath.test.js
frontend/src/utils/fleetStatus.js
frontend/src/utils/fleetStatus.test.js
frontend/src/utils/logger.js
frontend/src/utils/logger.test.js
frontend/src/utils/metricUnits.js
frontend/src/utils/metricUnits.test.js
frontend/src/utils/navigation.js
frontend/src/utils/notificationHistory.js
frontend/src/utils/notificationHistory.test.js
frontend/src/utils/palettes.js
frontend/src/utils/palettes.test.js
frontend/src/utils/serverSort.js
frontend/src/utils/serverSort.test.js
frontend/src/utils/settings.js
frontend/src/utils/settings.test.js
frontend/src/utils/settingsFields.js
frontend/src/utils/theme.js
frontend/src/utils/theme.test.js
frontend/src/utils/themeContrast.test.js
frontend/src/utils/themePreviews.json
frontend/src/utils/themePreviews.test.js
frontend/src/utils/urlValidation.js
frontend/src/utils/urlValidation.test.js
frontend/src/utils/useFocusTrap.js
src/bsm_frontend/__init__.py
src/bsm_frontend.egg-info/PKG-INFO
src/bsm_frontend.egg-info/SOURCES.txt
src/bsm_frontend.egg-info/dependency_links.txt
src/bsm_frontend.egg-info/requires.txt
src/bsm_frontend.egg-info/scm_file_list.json
src/bsm_frontend.egg-info/top_level.txt
src/bsm_frontend/static/index.html
src/bsm_frontend/static/assets/AccessControl-fyeRG980.js
src/bsm_frontend/static/assets/Account-C-ix6fea.css
src/bsm_frontend/static/assets/Account-CWAOTkhM.js
src/bsm_frontend/static/assets/ApplicationMonitor-DFvLyzAa.js
src/bsm_frontend/static/assets/AuditLog-Bnxx-VHX.js
src/bsm_frontend/static/assets/AuthContext-DmVoHxFc.js
src/bsm_frontend/static/assets/BSMSettings-6IQOuS4F.js
src/bsm_frontend/static/assets/Backups-Bg4G2PVl.js
src/bsm_frontend/static/assets/Content-XjQAQC7d.js
src/bsm_frontend/static/assets/DraggableList-BbU03z-s.js
src/bsm_frontend/static/assets/DynamicPage-9k-rAhh9.js
src/bsm_frontend/static/assets/DynamicPage-DLQpf5kO.css
src/bsm_frontend/static/assets/GlobalPlayers-BHzr689u.js
src/bsm_frontend/static/assets/LineChart-C1j8fuXk.js
src/bsm_frontend/static/assets/LogViewer-D6yLiOwz.js
src/bsm_frontend/static/assets/Monitor-BtMY5U2k.js
src/bsm_frontend/static/assets/Monitor-Di_4XN9e.css
src/bsm_frontend/static/assets/OnlinePlayers-P9TQaF3x.js
src/bsm_frontend/static/assets/Overview-4EoH5p5d.css
src/bsm_frontend/static/assets/Overview-o7L2t5q4.js
src/bsm_frontend/static/assets/Playground-BuUw3zf3.js
src/bsm_frontend/static/assets/PluginSettings-NsPR9rtP.js
src/bsm_frontend/static/assets/Plugins-CFdJLWrQ.js
src/bsm_frontend/static/assets/QueryStatus-Cqdajny3.js
src/bsm_frontend/static/assets/ServerConfig-DzJJfuLd.js
src/bsm_frontend/static/assets/ServerInstall-Do4NLimN.js
src/bsm_frontend/static/assets/ServerProperties-QagHCHXF.js
src/bsm_frontend/static/assets/SettingsGroups-DqqsKMSs.js
src/bsm_frontend/static/assets/ToastContext-8Zn0IQyH.js
src/bsm_frontend/static/assets/Users-BLUvebLo.js
src/bsm_frontend/static/assets/application-monitor-CgxGIwLD.css
src/bsm_frontend/static/assets/application-monitor-DJ3EQCRk.js
src/bsm_frontend/static/assets/arrow-right-C1UvTWUH.js
src/bsm_frontend/static/assets/chevron-up-DG2aZ85W.js
src/bsm_frontend/static/assets/copy-B0Kjf37W.js
src/bsm_frontend/static/assets/download-DLYWIUf_.js
src/bsm_frontend/static/assets/file-text-oY0Uu6xP.js
src/bsm_frontend/static/assets/index-Cj8OLnHz.js
src/bsm_frontend/static/assets/index-DeYKRwXE.css
src/bsm_frontend/static/assets/layers-C01uEhzb.js
src/bsm_frontend/static/assets/plus-BTuVdtOB.js
src/bsm_frontend/static/assets/react-dom-hyO56NgR.js
src/bsm_frontend/static/assets/rotate-ccw-B60Ca4K2.js
src/bsm_frontend/static/assets/save-BELmutAx.js
src/bsm_frontend/static/assets/scan-C0C-Zkte.js
src/bsm_frontend/static/assets/settings-DeZjUds-.js
src/bsm_frontend/static/assets/site.webmanifest
src/bsm_frontend/static/assets/terminal-Cp7jAnAL.js
src/bsm_frontend/static/assets/trash-CMEWtbgG.js
src/bsm_frontend/static/assets/useEditableDraft-w7Z3KBEK.js
src/bsm_frontend/static/assets/useMetricFormat--UgGJz6i.js
src/bsm_frontend/static/assets/css/themes/black.css
src/bsm_frontend/static/assets/css/themes/blue.css
src/bsm_frontend/static/assets/css/themes/default.css
src/bsm_frontend/static/assets/css/themes/gradient.css
src/bsm_frontend/static/assets/css/themes/green.css
src/bsm_frontend/static/assets/css/themes/light.css
src/bsm_frontend/static/assets/css/themes/pink.css
src/bsm_frontend/static/assets/css/themes/red.css
src/bsm_frontend/static/assets/css/themes/yellow.css
src/bsm_frontend/static/image/panorama.jpeg
src/bsm_frontend/static/image/icon/apple-touch-icon.png
src/bsm_frontend/static/image/icon/favicon-96x96.png
src/bsm_frontend/static/image/icon/favicon.ico
src/bsm_frontend/static/image/icon/favicon.svg
src/bsm_frontend/static/image/icon/manager-logo.png
src/bsm_frontend/static/image/icon/web-app-manifest-192x192.png
src/bsm_frontend/static/image/icon/web-app-manifest-512x512.png
tests/test_bsm_ui.py