import { apiClient } from "./client"; import type { AgentDefinition, AgentRun, AgentVersion, JSONObject } from "@/types"; export async function listAgents() { const { data } = await apiClient.get("/agents", { params: {} }); return data; } export async function getAgent(id: string) { const { data } = await apiClient.get(`/agents/${id}`); return data; } export async function createAgent(payload: { name: string; description?: string; agent_type: string; owner_user_id?: string; metadata_json?: JSONObject; }) { const { data } = await apiClient.post("/agents", payload); return data; } export async function updateAgent( id: string, payload: { name?: string; description?: string; metadata_json?: JSONObject; } ) { const { data } = await apiClient.patch(`/agents/${id}`, payload); return data; } export async function deleteAgent(id: string) { await apiClient.delete(`/agents/${id}`); } export async function listAgentConfigs(agentId?: string) { const { data } = await apiClient.get("/agents/versions", { params: { agent_id: agentId }, }); return data; } export async function createAgentConfig(payload: { agent_id: string; role?: string; goal?: string | null; system_prompt?: string; model_config_json?: JSONObject; memory_policy_json?: JSONObject; runtime_policy_json?: JSONObject; tool_refs_json?: JSONObject[]; skill_refs_json?: JSONObject[]; status?: "draft" | "published" | "deprecated"; }) { const { data } = await apiClient.post("/agents/versions", { status: "draft", role: "assistant", system_prompt: "", model_config_json: {}, memory_policy_json: {}, runtime_policy_json: {}, tool_refs_json: [], skill_refs_json: [], ...payload, }); return data; } export async function listAgentRuns(agentId?: string) { const { data } = await apiClient.get("/agents/runs", { params: { agent_id: agentId } }); return data; }