UNPKG

regent-ai

Version:

An AI multi-agent orchestration framework

71 lines 2.16 kB
import { ChatCompletion, ChatCompletionMessage, ChatCompletionMessageParam, ChatCompletionTool, ChatCompletionToolChoiceOption, CompletionUsage } from "openai/resources/index.mjs"; import { BaseAgent } from "../agents"; export interface Context<UserType = any> { [key: string]: any; _user?: UserType; _token?: string; } export interface ChatCompletionOptions { model?: string; max_tokens?: number; temperature?: number; tool_choice?: ChatCompletionToolChoiceOption; } export interface GetChatCompletionArgs extends ChatCompletionOptions { messages: ChatInputMessage[]; tools?: ChatCompletionTool[]; } export interface AgentRunResult { producerAgent: string; isFinalResponse: boolean; chatCompletions?: ChatCompletion[]; handoffToAgent?: { previous?: boolean; name?: string; }; context?: Context; } export type ChatInputMessage = ChatCompletionMessageParam; export type ReferenceFunction = (paramsAndContext?: any & Context) => Promise<ToolResult<any>>; export interface ToolObject { functionReference: ReferenceFunction; tool: ChatCompletionTool; } export interface SimpleChatMessage { role: string; content: string; name?: string; function_call?: { name: string; arguments: string; }; } export interface ToolResult<T> { successMessage?: string; data?: T; errorMessage?: string; error?: any; } export type ToolResultPromise<T> = Promise<ToolResult<T>>; export interface OperatorServiceMeta { name: string; description: string; systemMessage: string; toolObjects: () => ToolObject[]; options?: Partial<ChatCompletionOptions>; } export interface AgentRouterResponse { chatCompletions: ChatCompletion[]; conversationHistory: AnyChatMessage[]; agentHistory: string[]; context: Context; currentAgent: string; logEntries: Object[]; usage?: CompletionUsage; } export interface RouterConfig { agents: Map<string, BaseAgent>; defaultAgent: string; } export type AnyChatMessage = SimpleChatMessage | ChatInputMessage | ChatCompletionMessage; //# sourceMappingURL=index.d.ts.map