import { del, get, post, put } from "./shared"; import type { BuiltinWidgetKindInfo, WidgetDataResponse, WidgetInstance, WidgetInstanceInput, } from "../types"; export async function fetchBuiltinWidgetKinds(): Promise< BuiltinWidgetKindInfo[] > { return get("/api/widgets/builtin"); } export async function fetchWidgetInstances(): Promise { return get("/api/widgets/instances"); } export async function createWidgetInstance( input: WidgetInstanceInput, ): Promise { return post("/api/widgets/instances", input); } export async function updateWidgetInstance( input: WidgetInstanceInput, ): Promise { if (!input.id) throw new Error("Widget ID is required for update"); return put(`/api/widgets/instances/${input.id}`, input); } export async function deleteWidgetInstance( widgetId: string, ): Promise<{ status: string }> { return del<{ status: string }>(`/api/widgets/instances/${widgetId}`); } export async function fetchWidgetData( widgetId: string, ): Promise { return get(`/api/widgets/instances/${widgetId}/data`); }