regent-ai
Version:
An AI multi-agent orchestration framework
71 lines • 2.16 kB
TypeScript
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