CODE · 0.9 KB
api/runtime.js
Workspace snapshot · 09/04 13:45
export const SERVICE_ID = "agent-gpt-ai-slide";
export function environment(env = process.env) {
const values = { url: env.SUPABASE_URL, key: env.SUPABASE_ANON_KEY, token: env.AVS_LLM_RUNTIME_SERVICE_TOKEN };
return { ...values, connected: Object.values(values).every(Boolean) };
}
export async function rpc(name, payload, env = process.env) {
const runtime = environment(env);
if (!runtime.connected) throw Object.assign(new Error("VPS GPT基盤が未接続です"), { status: 503 });
const response = await fetch(`${runtime.url}/rest/v1/rpc/${name}`, { method: "POST", headers: { apikey: runtime.key, Authorization: `Bearer ${runtime.key}`, "Content-Type": "application/json" }, body: JSON.stringify(payload) });
const data = await response.json().catch(() => null);
if (!response.ok) throw Object.assign(new Error(data?.message || "生成基盤へ接続できませんでした"), { status: response.status });
return data;
}