import { apiDelete, apiGet, apiPost, apiRequest } from "./client"; export type AgentProviderType = "openclaw"; export interface AgentProviderCredentials { apiToken?: string; } export interface AgentProviderConfig { id: string; workspaceId: string; name: string; provider: AgentProviderType; gatewayUrl: string; credentials: AgentProviderCredentials | null; isActive: boolean; createdAt: string; updatedAt: string; } export interface CreateAgentProviderRequest { name: string; provider: AgentProviderType; gatewayUrl: string; credentials: { apiToken: string; }; isActive: boolean; } export interface UpdateAgentProviderRequest { name?: string; provider?: AgentProviderType; gatewayUrl?: string; credentials?: AgentProviderCredentials; isActive?: boolean; } export async function fetchAgentProviders(): Promise { return apiGet("/api/agent-providers"); } export async function createAgentProvider( data: CreateAgentProviderRequest ): Promise { return apiPost("/api/agent-providers", data); } export async function updateAgentProvider( providerId: string, data: UpdateAgentProviderRequest ): Promise { return apiRequest(`/api/agent-providers/${providerId}`, { method: "PUT", body: JSON.stringify(data), }); } export async function deleteAgentProvider(providerId: string): Promise { await apiDelete(`/api/agent-providers/${providerId}`); }