assistan-ts
Version:
A typesafe and code-first library to define and run OpenAI assistants
26 lines • 1.37 kB
TypeScript
import { AssistantDefinition, FunctionTool } from "./definition";
import { Assistant, AssistantCreateParams, OpenAI } from "./types/openai";
export interface LinkedDefinition<T extends Record<string, FunctionTool>> extends AssistantDefinition<T> {
openai: OpenAI;
id: string;
remote: Assistant;
}
export type LinkOptions = {
/** pass a OpenAI id to retrieve by id instead of `metadata-->__key__` search */
assistantId?: string;
/** Will create assistant if not found. Default: `true` */
allowCreate?: boolean;
/** Run after creating assistant */
afterCreate?: (assistant: Assistant) => void;
/** What to do if drift is detected. Default: `update` */
updateMode?: "update" | "throw" | "skip";
/** Runs before updating an assistant. Return false to skip update */
beforeUpdate?: (diff: string[], local: AssistantCreateParams, remote: Assistant) => boolean;
/** Runs after updating an assistant */
afterUpdate?: (assistant: Assistant) => void;
fileMode?: "update" | "throw" | "skip";
/** Deletes files that are no longer linked to the assistant after syncing */
pruneFiles?: boolean;
};
export declare const link: <T extends Record<string, FunctionTool>>(definition: AssistantDefinition<T>) => (openai: OpenAI, options: LinkOptions) => Promise<LinkedDefinition<T>>;
//# sourceMappingURL=link.d.ts.map