UNPKG

ai-utils.js

Version:

Build AI applications, chatbots, and agents with JavaScript and TypeScript.

28 lines (27 loc) 1.55 kB
import { FunctionOptions } from "./FunctionOptions.js"; import { Model, ModelSettings } from "./Model.js"; import { ModelCallFinishedEvent, ModelCallFinishedEventMetadata, ModelCallStartedEvent, ModelCallStartedEventMetadata } from "./ModelCallEvent.js"; export type CallMetadata<MODEL extends Model<unknown>> = { callId: string; runId?: string; sessionId?: string; userId?: string; functionId?: string; model: MODEL["modelInformation"]; startEpochSeconds: number; durationInMs: number; }; export declare function executeCall<SETTINGS extends ModelSettings, MODEL extends Model<SETTINGS>, OUTPUT, RESPONSE>({ model, options, getStartEvent, getAbortEvent, getFailureEvent, getSuccessEvent, generateResponse, extractOutputValue, }: { model: MODEL; options?: FunctionOptions<SETTINGS>; getStartEvent: (metadata: ModelCallStartedEventMetadata, settings: SETTINGS) => ModelCallStartedEvent; getAbortEvent: (metadata: ModelCallFinishedEventMetadata, settings: SETTINGS) => ModelCallFinishedEvent; getFailureEvent: (metadata: ModelCallFinishedEventMetadata, settings: SETTINGS, error: unknown) => ModelCallFinishedEvent; getSuccessEvent: (metadata: ModelCallFinishedEventMetadata, settings: SETTINGS, response: RESPONSE, output: OUTPUT) => ModelCallFinishedEvent; generateResponse: (options: FunctionOptions<SETTINGS>) => PromiseLike<RESPONSE>; extractOutputValue: (response: RESPONSE) => OUTPUT; }): Promise<{ output: OUTPUT; response: RESPONSE; metadata: CallMetadata<MODEL>; }>;