feat(web): rebuild the console around the fused control plane

Render the Hub feature set in the existing Animal Island styling: fleet
messages, notification centre, log centre, organisation panel, per-instance
device module panels and the settings backup, connection and maintenance
surfaces.
This commit is contained in:
chick
2026-09-05 18:53:04 +08:00
parent f9186bd851
commit a75badeb58
77 changed files with 20578 additions and 435 deletions
+96
View File
@@ -9,11 +9,105 @@ export {
} from './app-shell.js';
export {
FleetPage,
accessMethod,
canonicalHttpOrigin,
type FleetDataSource,
type FleetPageProps,
type FleetSnapshot,
} from './fleet/fleet-page.js';
export {
FleetMessagesPage,
createFleetMessagesCenterApiDataSource,
sanitizeFleetMessagesDeleteResult,
sanitizeFleetMessagesSnapshot,
sanitizeFleetOutboxFlushResult,
sanitizeFleetOutboxPage,
type FleetMessagesCenterDataSource,
type FleetMessagesDeleteFailure,
type FleetMessagesDeleteInput,
type FleetMessagesDeleteItem,
type FleetMessagesDeleteResult,
type FleetMessagesDevice,
type FleetMessagesLoadQuery,
type FleetMessagesMessage,
type FleetMessagesPageProps,
type FleetMessagesSendInput,
type FleetMessagesSendResult,
type FleetMessagesSnapshot,
type FleetOutboxFlushResult,
type FleetOutboxItem,
type FleetOutboxPage,
type FleetOutboxQuery,
type FleetOutboxStatus,
type FleetOutboxSummary,
} from './fleet/fleet-messages-page.js';
export {
FleetNotificationsPage,
type FleetNotificationsPageProps,
} from './fleet/fleet-notifications-page.js';
export { FleetLogsPage, LOG_PAGE_SIZE } from './fleet/fleet-logs-page.js';
export { createLogCenterApiDataSource } from './fleet/log-center-api-data-source.js';
export {
CONNECTION_OUTCOMES,
LEVEL_LABELS,
LOG_LEVELS,
LOG_SOURCES,
OUTCOME_LABELS,
SOURCE_LABELS,
logQueryParams,
parseLogPage,
parseRuntimeLogPage,
sanitizeConnectionLogEntry,
sanitizeConnectionSummary,
sanitizeInstanceDiagnostics,
sanitizeRuntimeLogEntry,
type ConnectionLogEntry,
type ConnectionOutcome,
type InstanceDiagnostics,
type LogCenterDataSource,
type LogLevel,
type LogQuery,
type LogSource,
type RuntimeLogEntry,
type RuntimeLogPage,
} from './fleet/log-center-types.js';
export {
createNotificationCenterApiDataSource,
NOTIFICATION_PAGE_SIZE,
} from './fleet/notification-center-api.js';
export {
sanitizeNotificationCenterSnapshot,
sanitizeNotificationChannel,
sanitizeNotificationLogEntry,
sanitizeNotificationQueueEntry,
sanitizeNotificationRule,
} from './fleet/notification-center-sanitize.js';
export {
CHANNEL_TYPE_PRESETS,
CONDITION_FIELDS,
CONDITION_MODES,
DEVICE_STATE_LABELS,
EVENT_TYPE_PRESETS,
QUEUE_STATUSES,
STATUS_LABELS,
channelTypeLabel,
eventTypeLabel,
formatTimestamp,
statusLabel,
statusTone,
type NotificationChannel,
type NotificationChannelDraft,
type NotificationChannelType,
type NotificationCenterDataSource,
type NotificationCenterSnapshot,
type NotificationDevice,
type NotificationEventType,
type NotificationLogEntry,
type NotificationPage,
type NotificationQueueEntry,
type NotificationRule,
type NotificationRuleDraft,
} from './fleet/notification-center-types.js';
export * from './fleet/fleet-table-view-model.js';
export { InstanceEditor, type InstanceEditorProps } from './instances/instance-crud.js';
export {
@@ -140,8 +234,10 @@ export {
export {
JobsPage,
sanitizeJobPage,
sanitizeReconcileResult,
type JobsDataSource,
type JobsPageProps,
type SafeReconcileResult,
} from './jobs/jobs-page.js';
export {
InstanceSettingsPage,