feat(FN-3404): add local embedded runtime manager to desktop app
Adds a local runtime manager to the desktop app (FN-3404) — an embedded engine process managed via IPC with packaging for bundled dependencies and lifecycle documentation. Also includes project mapping onboarding UI with persistence and rollback (FN-3505), plus related dashboard API and hook updates Fusion-Task-Id: FN-3404
This commit is contained in:
@@ -27,10 +27,12 @@ interface ShellConnectionState {
|
||||
desktopMode?: "local" | "remote";
|
||||
activeProfileId: string | null;
|
||||
profiles: ShellConnectionProfile[];
|
||||
localServer?: {
|
||||
status: "idle" | "starting" | "ready" | "error";
|
||||
localRuntime?: {
|
||||
source: "embedded-local" | "external-cli" | "none";
|
||||
state: "stopped" | "starting" | "running" | "error";
|
||||
port?: number;
|
||||
error?: string | null;
|
||||
baseUrl?: string;
|
||||
error?: string;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -49,6 +51,9 @@ const electronApi = {
|
||||
getSystemInfo: (): Promise<SystemInfo> => ipcRenderer.invoke("app:getSystemInfo"),
|
||||
checkForUpdates: (): Promise<UpdateCheckResult> => ipcRenderer.invoke("app:checkForUpdates"),
|
||||
getServerPort: (): Promise<number | undefined> => ipcRenderer.invoke("app:getServerPort"),
|
||||
getDesktopRuntimeStatus: (): Promise<ShellConnectionState["localRuntime"]> => ipcRenderer.invoke("desktopRuntime:getStatus"),
|
||||
startDesktopLocalRuntime: (): Promise<ShellConnectionState["localRuntime"]> => ipcRenderer.invoke("desktopRuntime:startLocal"),
|
||||
stopDesktopLocalRuntime: (): Promise<ShellConnectionState["localRuntime"]> => ipcRenderer.invoke("desktopRuntime:stopLocal"),
|
||||
|
||||
// Tray status
|
||||
updateTrayStatus: (status: string): Promise<void> => ipcRenderer.invoke("tray:updateStatus", status),
|
||||
|
||||
Reference in New Issue
Block a user