UNPKG

ant-design-x-vue

Version:

Craft AI-driven interfaces effortlessly

34 lines (33 loc) 1.34 kB
import { XStreamOptions } from '../x-stream'; import type { AnyObject } from '../_util/type'; interface RequestFnInfo<Message> extends Partial<XAgentConfigPreset>, AnyObject { messages?: Message[]; message?: Message; } export type RequestFn<Message> = (info: RequestFnInfo<Message>, callbacks: { onUpdate: (message: Message) => void; onSuccess: (message: Message) => void; onError: (error: Error) => void; onStream?: (abortController: AbortController) => void; }, transformStream?: XStreamOptions<Message>['transformStream']) => void; export interface XAgentConfigPreset { baseURL: string; key: string; model: string; dangerouslyApiKey: string; } export interface XAgentConfigCustom<Message> { request?: RequestFn<Message>; } export type XAgentConfig<Message> = Partial<XAgentConfigPreset> & XAgentConfigCustom<Message>; /** This is a wrap class to avoid developer can get too much on origin object */ export declare class XAgent<Message = string> { config: XAgentConfig<Message>; private requestingMap; constructor(config: XAgentConfig<Message>); private finishRequest; request: RequestFn<Message>; isRequesting(): boolean; } export default function useXAgent<Message = string>(config: XAgentConfig<Message>): import("vue").ComputedRef<XAgent<Message>>[]; export {};