/** * Channel monitor shared constants. * * Single source of truth for provider/status string values used by both the * admin (`views/admin/ChannelMonitorView.vue`) and user-facing * (`views/user/ChannelStatusView.vue`) screens, plus the shared composable * `useChannelMonitorFormat`. */ import type { Provider, MonitorStatus } from '@/api/admin/channelMonitor' export const PROVIDER_OPENAI: Provider = 'openai' export const PROVIDER_ANTHROPIC: Provider = 'anthropic' export const PROVIDER_GEMINI: Provider = 'gemini' export const PROVIDERS: readonly Provider[] = [ PROVIDER_OPENAI, PROVIDER_ANTHROPIC, PROVIDER_GEMINI, ] export const STATUS_OPERATIONAL: MonitorStatus = 'operational' export const STATUS_DEGRADED: MonitorStatus = 'degraded' export const STATUS_FAILED: MonitorStatus = 'failed' export const STATUS_ERROR: MonitorStatus = 'error' export const MONITOR_STATUSES: readonly MonitorStatus[] = [ STATUS_OPERATIONAL, STATUS_DEGRADED, STATUS_FAILED, STATUS_ERROR, ] /** Default polling interval (seconds) for new monitors. */ export const DEFAULT_INTERVAL_SECONDS = 60