import type { PlatformLifecycle, ServerLogEntry } from '@/platform/types'; import { getDefaultServerUrl } from '@/stores/serverStore'; class WebLifecycle implements PlatformLifecycle { onServerReady?: () => void; async startServer(_remote = false, _modelsDir?: string | null): Promise { // Web assumes server is running externally const serverUrl = import.meta.env.VITE_SERVER_URL || getDefaultServerUrl(); this.onServerReady?.(); return serverUrl; } async stopServer(): Promise { // No-op for web - server is managed externally } async restartServer(_modelsDir?: string | null): Promise { // No-op for web - server is managed externally return import.meta.env.VITE_SERVER_URL || getDefaultServerUrl(); } async setKeepServerRunning(_keep: boolean): Promise { // No-op for web } async setBackendOverride(_backend?: string | null): Promise { // No-op for web - backend variant is managed externally } async setupWindowCloseHandler(): Promise { // No-op for web - no window close handling needed } subscribeToServerLogs(_callback: (_entry: ServerLogEntry) => void): () => void { // No-op for web - server logs are not available return () => {}; } } export const webLifecycle = new WebLifecycle();