.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.png
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/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/appearance/PanoramaSettings.jsx
frontend/src/components/appearance/PanoramaSettings.test.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-DDMbK4pI.js
src/bsm_frontend/static/assets/Account-Cn-LumZm.css
src/bsm_frontend/static/assets/Account-fITGyvd4.js
src/bsm_frontend/static/assets/ApplicationMonitor-BwwjvaVO.js
src/bsm_frontend/static/assets/AuditLog-CHXtBlZL.js
src/bsm_frontend/static/assets/AuthContext-Bxfco92n.js
src/bsm_frontend/static/assets/BSMSettings-Cu6F2s9X.js
src/bsm_frontend/static/assets/Backups-B-QylQEI.js
src/bsm_frontend/static/assets/Content-CRb2PmJk.js
src/bsm_frontend/static/assets/DraggableList-C1Api-EP.js
src/bsm_frontend/static/assets/DynamicPage-C8MB7Rdg.js
src/bsm_frontend/static/assets/DynamicPage-DLQpf5kO.css
src/bsm_frontend/static/assets/GlobalPlayers-mPZyPadO.js
src/bsm_frontend/static/assets/LineChart-CCgTMhrN.js
src/bsm_frontend/static/assets/LogViewer-DWKGBcpO.js
src/bsm_frontend/static/assets/Monitor-DPiZrmuC.js
src/bsm_frontend/static/assets/Monitor-Di_4XN9e.css
src/bsm_frontend/static/assets/OnlinePlayers-CgSchFvH.js
src/bsm_frontend/static/assets/Overview-Cmn4yIJB.js
src/bsm_frontend/static/assets/Overview-DqxBBwL_.css
src/bsm_frontend/static/assets/Playground-bMN1sOTt.js
src/bsm_frontend/static/assets/PluginSettings-DdEXGRg0.js
src/bsm_frontend/static/assets/Plugins-CZ-BT_eN.js
src/bsm_frontend/static/assets/QueryStatus-DhMrOCo0.js
src/bsm_frontend/static/assets/ServerConfig-BW0zQovq.js
src/bsm_frontend/static/assets/ServerInstall-brViShRy.js
src/bsm_frontend/static/assets/ServerProperties-DhyBqu0s.js
src/bsm_frontend/static/assets/SettingsGroups-BoXmHgfW.js
src/bsm_frontend/static/assets/ToastContext-3RIXG1J-.js
src/bsm_frontend/static/assets/Users-1DHT8Dn9.js
src/bsm_frontend/static/assets/application-monitor-C0eOoeuT.js
src/bsm_frontend/static/assets/application-monitor-CgxGIwLD.css
src/bsm_frontend/static/assets/arrow-right-CPWdM64x.js
src/bsm_frontend/static/assets/chevron-up-CncERJE-.js
src/bsm_frontend/static/assets/copy-BSawUIN6.js
src/bsm_frontend/static/assets/download-BS_dq8us.js
src/bsm_frontend/static/assets/file-text-DjtmuNwY.js
src/bsm_frontend/static/assets/index-BDb_V0NH.js
src/bsm_frontend/static/assets/index-BHqVtGr-.css
src/bsm_frontend/static/assets/layers-GGhzlNY7.js
src/bsm_frontend/static/assets/plus-CnYvSzOI.js
src/bsm_frontend/static/assets/react-dom-jUdkJCiy.js
src/bsm_frontend/static/assets/rotate-ccw-C3uHNA6a.js
src/bsm_frontend/static/assets/save-BvX3Ag7P.js
src/bsm_frontend/static/assets/scan-DUZEubV7.js
src/bsm_frontend/static/assets/settings-DeZjUds-.js
src/bsm_frontend/static/assets/site.webmanifest
src/bsm_frontend/static/assets/terminal-XTtdNYWq.js
src/bsm_frontend/static/assets/trash-D_i1Pm2L.js
src/bsm_frontend/static/assets/useEditableDraft-C22QLWrc.js
src/bsm_frontend/static/assets/useMetricFormat-DOEE9dra.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.png
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/web-app-manifest-192x192.png
src/bsm_frontend/static/image/icon/web-app-manifest-512x512.png
tests/test_bsm_ui.py