'use server'; import { z } from 'zod'; import { getSDKForCurrentUser } from '../../getSDKForCurrentUser'; import { Agent, AIModel } from './types'; import { CreateAgentSchema, GetAgentSchema, ListModelsSchema } from './schema'; export const ListAgents = async (): Promise<{data?: Agent[], serverError?: string}> => { try { const { agent } = await getSDKForCurrentUser(); return { data: await agent.ListAgents() }; } catch (error) { console.error('Error in ListAgents:', error); return { serverError: error.toString() }; } }; export const CreateAgent = async ({ parsedInput }: { parsedInput: z.infer }): Promise<{data?: Agent, serverError?: string}> => { try { const { agent } = await getSDKForCurrentUser(); return { data: await agent.CreateAgent(parsedInput) }; } catch (error) { console.error('Error in CreateAgent:', error); return { serverError: error.toString() }; } }; export const GetAgent = async ({ parsedInput }: { parsedInput: z.infer }): Promise<{data?: Agent, serverError?: string}> => { try { const { agent } = await getSDKForCurrentUser(); return { data: await agent.GetAgent(parsedInput) }; } catch (error) { console.error('Error in GetAgent:', error); return { serverError: error.toString() }; } }; export const ListModelProviders = async (): Promise<{data?: Agent[], serverError?: string}> => { try { const { agent } = await getSDKForCurrentUser(); return { data: await agent.ListModelProviders() }; } catch (error) { console.error('Error in ListModelProviders:', error); return { serverError: error.toString() }; } } export const ListModels = async ({ parsedInput }: { parsedInput: z.infer }): Promise<{data?: AIModel[], serverError?: string}> => { try { const { agent } = await getSDKForCurrentUser(); return { data: await agent.ListModels(parsedInput) }; } catch (error) { console.error('Error in ListModels:', error); return { serverError: error.toString() }; } };