UNPKG

openai-swarmjs

Version:

Agentic framework inspired from OpenAI's swarm framework for TS, JS

125 lines (124 loc) 5.76 kB
import { z } from 'zod'; import { ChatCompletionToolChoiceOption } from 'openai/resources/chat/completions'; export type AgentFunction = (...args: any[]) => Promise<string | Agent | Record<string, any>>; export declare const AgentSchema: z.ZodObject<{ name: z.ZodDefault<z.ZodString>; model: z.ZodDefault<z.ZodString>; instructions: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>]>>; functions: z.ZodDefault<z.ZodArray<z.ZodType<AgentFunction, z.ZodTypeDef, AgentFunction>, "many">>; toolChoice: z.ZodDefault<z.ZodNullable<z.ZodType<ChatCompletionToolChoiceOption, z.ZodTypeDef, ChatCompletionToolChoiceOption>>>; parallelToolCalls: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { name: string; model: string; instructions: string | ((...args: unknown[]) => unknown); functions: AgentFunction[]; toolChoice: ChatCompletionToolChoiceOption | null; parallelToolCalls: boolean; }, { name?: string | undefined; model?: string | undefined; instructions?: string | ((...args: unknown[]) => unknown) | undefined; functions?: AgentFunction[] | undefined; toolChoice?: ChatCompletionToolChoiceOption | null | undefined; parallelToolCalls?: boolean | undefined; }>; export type Agent = z.infer<typeof AgentSchema>; export declare const ResponseSchema: z.ZodObject<{ messages: z.ZodDefault<z.ZodArray<z.ZodAny, "many">>; agent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodDefault<z.ZodString>; model: z.ZodDefault<z.ZodString>; instructions: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>]>>; functions: z.ZodDefault<z.ZodArray<z.ZodType<AgentFunction, z.ZodTypeDef, AgentFunction>, "many">>; toolChoice: z.ZodDefault<z.ZodNullable<z.ZodType<ChatCompletionToolChoiceOption, z.ZodTypeDef, ChatCompletionToolChoiceOption>>>; parallelToolCalls: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { name: string; model: string; instructions: string | ((...args: unknown[]) => unknown); functions: AgentFunction[]; toolChoice: ChatCompletionToolChoiceOption | null; parallelToolCalls: boolean; }, { name?: string | undefined; model?: string | undefined; instructions?: string | ((...args: unknown[]) => unknown) | undefined; functions?: AgentFunction[] | undefined; toolChoice?: ChatCompletionToolChoiceOption | null | undefined; parallelToolCalls?: boolean | undefined; }>>>; contextVariables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>; }, "strip", z.ZodTypeAny, { messages: any[]; agent: { name: string; model: string; instructions: string | ((...args: unknown[]) => unknown); functions: AgentFunction[]; toolChoice: ChatCompletionToolChoiceOption | null; parallelToolCalls: boolean; } | null; contextVariables: Record<string, any>; }, { messages?: any[] | undefined; agent?: { name?: string | undefined; model?: string | undefined; instructions?: string | ((...args: unknown[]) => unknown) | undefined; functions?: AgentFunction[] | undefined; toolChoice?: ChatCompletionToolChoiceOption | null | undefined; parallelToolCalls?: boolean | undefined; } | null | undefined; contextVariables?: Record<string, any> | undefined; }>; export type Response = z.infer<typeof ResponseSchema>; export declare const ResultSchema: z.ZodObject<{ value: z.ZodDefault<z.ZodString>; agent: z.ZodDefault<z.ZodNullable<z.ZodObject<{ name: z.ZodDefault<z.ZodString>; model: z.ZodDefault<z.ZodString>; instructions: z.ZodDefault<z.ZodUnion<[z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>]>>; functions: z.ZodDefault<z.ZodArray<z.ZodType<AgentFunction, z.ZodTypeDef, AgentFunction>, "many">>; toolChoice: z.ZodDefault<z.ZodNullable<z.ZodType<ChatCompletionToolChoiceOption, z.ZodTypeDef, ChatCompletionToolChoiceOption>>>; parallelToolCalls: z.ZodDefault<z.ZodBoolean>; }, "strip", z.ZodTypeAny, { name: string; model: string; instructions: string | ((...args: unknown[]) => unknown); functions: AgentFunction[]; toolChoice: ChatCompletionToolChoiceOption | null; parallelToolCalls: boolean; }, { name?: string | undefined; model?: string | undefined; instructions?: string | ((...args: unknown[]) => unknown) | undefined; functions?: AgentFunction[] | undefined; toolChoice?: ChatCompletionToolChoiceOption | null | undefined; parallelToolCalls?: boolean | undefined; }>>>; contextVariables: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodAny>>; }, "strip", z.ZodTypeAny, { value: string; agent: { name: string; model: string; instructions: string | ((...args: unknown[]) => unknown); functions: AgentFunction[]; toolChoice: ChatCompletionToolChoiceOption | null; parallelToolCalls: boolean; } | null; contextVariables: Record<string, any>; }, { value?: string | undefined; agent?: { name?: string | undefined; model?: string | undefined; instructions?: string | ((...args: unknown[]) => unknown) | undefined; functions?: AgentFunction[] | undefined; toolChoice?: ChatCompletionToolChoiceOption | null | undefined; parallelToolCalls?: boolean | undefined; } | null | undefined; contextVariables?: Record<string, any> | undefined; }>; export type Result = z.infer<typeof ResultSchema>;