agents.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import { apiClient } from "./client";
  2. import type { AgentDefinition, AgentRun, AgentVersion, JSONObject } from "@/types";
  3. export async function listAgents() {
  4. const { data } = await apiClient.get<AgentDefinition[]>("/agents", { params: {} });
  5. return data;
  6. }
  7. export async function getAgent(id: string) {
  8. const { data } = await apiClient.get<AgentDefinition>(`/agents/${id}`);
  9. return data;
  10. }
  11. export async function createAgent(payload: {
  12. name: string;
  13. description?: string;
  14. agent_type: string;
  15. owner_user_id?: string;
  16. metadata_json?: JSONObject;
  17. }) {
  18. const { data } = await apiClient.post<AgentDefinition>("/agents", payload);
  19. return data;
  20. }
  21. export async function updateAgent(
  22. id: string,
  23. payload: {
  24. name?: string;
  25. description?: string;
  26. metadata_json?: JSONObject;
  27. }
  28. ) {
  29. const { data } = await apiClient.patch<AgentDefinition>(`/agents/${id}`, payload);
  30. return data;
  31. }
  32. export async function deleteAgent(id: string) {
  33. await apiClient.delete(`/agents/${id}`);
  34. }
  35. export async function listAgentConfigs(agentId?: string) {
  36. const { data } = await apiClient.get<AgentVersion[]>("/agents/versions", {
  37. params: { agent_id: agentId },
  38. });
  39. return data;
  40. }
  41. export async function createAgentConfig(payload: {
  42. agent_id: string;
  43. role?: string;
  44. goal?: string | null;
  45. system_prompt?: string;
  46. model_config_json?: JSONObject;
  47. memory_policy_json?: JSONObject;
  48. runtime_policy_json?: JSONObject;
  49. tool_refs_json?: JSONObject[];
  50. skill_refs_json?: JSONObject[];
  51. status?: "draft" | "published" | "deprecated";
  52. }) {
  53. const { data } = await apiClient.post<AgentVersion>("/agents/versions", {
  54. status: "draft",
  55. role: "assistant",
  56. system_prompt: "",
  57. model_config_json: {},
  58. memory_policy_json: {},
  59. runtime_policy_json: {},
  60. tool_refs_json: [],
  61. skill_refs_json: [],
  62. ...payload,
  63. });
  64. return data;
  65. }
  66. export async function listAgentRuns(agentId?: string) {
  67. const { data } = await apiClient.get<AgentRun[]>("/agents/runs", { params: { agent_id: agentId } });
  68. return data;
  69. }