ant-design-x-vue
Version:
Craft AI-driven interfaces effortlessly
34 lines (33 loc) • 1.34 kB
TypeScript
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 {};