From 0523765af84492640928d571f481e17b26008b13 Mon Sep 17 00:00:00 2001 From: soryu Date: Sat, 21 Feb 2026 23:51:11 +0000 Subject: feat: Add daemon health monitoring page, downloads & K8s support (#76) * feat: soryu-co/soryu - makima: Add server-side daemon binary download endpoint * feat: soryu-co/soryu - makima: Create Kubernetes daemon manifests and Dockerfile * feat: soryu-co/soryu - makima: Create dedicated Daemons page with health monitoring UI * WIP: heartbeat checkpoint * feat: soryu-co/soryu - makima: Integrate daemon platform availability into frontend downloads --- makima/frontend/src/lib/api.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) (limited to 'makima/frontend/src/lib') diff --git a/makima/frontend/src/lib/api.ts b/makima/frontend/src/lib/api.ts index 43eaa05..458b69d 100644 --- a/makima/frontend/src/lib/api.ts +++ b/makima/frontend/src/lib/api.ts @@ -1221,6 +1221,42 @@ export async function restartDaemon(id: string): Promise return res.json(); } +// ============================================================================= +// Daemon Platform Download +// ============================================================================= + +/** A daemon platform with its availability and download URL */ +export interface DaemonPlatform { + platform: string; + available: boolean; + downloadUrl: string; +} + +/** Response from the list daemon platforms endpoint */ +export interface DaemonPlatformsResponse { + platforms: DaemonPlatform[]; +} + +/** + * List available daemon platforms and their download status. + * This is an unauthenticated endpoint. + */ +export async function listDaemonPlatforms(): Promise { + const res = await fetch(`${API_BASE}/api/v1/daemon/download/platforms`); + if (!res.ok) { + throw new Error(`Failed to list daemon platforms: ${res.statusText}`); + } + return res.json(); +} + +/** + * Get the full download URL for a daemon binary. + * Returns the absolute URL including API_BASE for cross-origin usage. + */ +export function getDaemonDownloadUrl(platform: string): string { + return `${API_BASE}/api/v1/daemon/download/${platform}`; +} + // ============================================================================= // Mesh Chat Types for Task Orchestration // ============================================================================= -- cgit v1.2.3