import { getAPIClient } from "@/core/api"; import { CANVAS_THREAD_METADATA } from "../constants"; import type { CanvasThreadMetadata, CanvasThreadValues } from "../types/thread"; export async function createCanvasThread( metadata?: Partial, ): Promise { const client = getAPIClient(); const thread = await client.threads.create({ metadata: { ...CANVAS_THREAD_METADATA, ...metadata }, }); return thread.thread_id; } export async function getCanvasThread( threadId: string, ): Promise { const client = getAPIClient(); try { const state = await client.threads.getState(threadId); return (state.values as CanvasThreadValues) ?? null; } catch { return null; } } export async function updateCanvasThreadState( threadId: string, values: Partial, ): Promise { const client = getAPIClient(); await client.threads.updateState(threadId, { values }); }