@plastichub/osr-ai-tools
Version:
CLI and library for LLM tools
20 lines (19 loc) • 941 B
TypeScript
import { ChatCompletion, ChatCompletionMessage, ChatCompletionMessageParam } from 'openai/resources';
import { IKBotOptions } from './types_kbot';
import OpenAI from 'openai';
export type onToolBefore = (category: string, name: string, args: any) => Promise<any>;
export type onToolAfter = (category: string, name: string, args: any, result?: any) => Promise<any>;
export interface ICollector {
onMessage: (message: ChatCompletionMessageParam) => void;
onToolCall: (tool: ChatCompletionMessage.FunctionCall) => void;
onFunctionCallResult: (content: string) => void;
onChatCompletion: (completion: ChatCompletion) => void;
onContent: (content: string) => void;
onTool: (category: string, name: string, args: any, result?: any) => void;
onToolBefore: onToolBefore;
onToolAfter: onToolAfter;
}
export interface IKBotTask extends IKBotOptions {
client: OpenAI;
collector: ICollector;
}