UNPKG

@convex-dev/agent

Version:

A agent component for Convex.

50 lines 2.8 kB
import type { FileUIPart } from "@ai-sdk/ui-utils"; import { type Message as AIMessage, type AssistantContent, type CoreMessage, type DataContent, type FilePart, type GenerateObjectResult, type ImagePart, type StepResult, type ToolContent, type ToolSet, type UserContent } from "ai"; import type { MessageWithMetadata } from "./validators.js"; import type { ActionCtx, AgentComponent } from "./client/types.js"; import type { RunMutationCtx } from "./client/types.js"; export type AIMessageWithoutId = Omit<AIMessage, "id">; export type SerializeUrlsAndUint8Arrays<T> = T extends URL ? string : T extends Uint8Array | ArrayBufferLike ? ArrayBuffer : T extends Array<infer Inner> ? Array<SerializeUrlsAndUint8Arrays<Inner>> : T extends Record<string, any> ? { [K in keyof T]: SerializeUrlsAndUint8Arrays<T[K]>; } : T; export type Content = UserContent | AssistantContent | ToolContent; export type SerializedContent = SerializeUrlsAndUint8Arrays<Content>; export type SerializedMessage = SerializeUrlsAndUint8Arrays<CoreMessage>; export declare function serializeMessage(ctx: ActionCtx | RunMutationCtx, component: AgentComponent, messageWithId: CoreMessage & { id?: string; }): Promise<{ message: SerializedMessage; fileIds?: string[]; }>; export declare function deserializeMessage(message: SerializedMessage): CoreMessage; export declare function serializeNewMessagesInStep<TOOLS extends ToolSet>(ctx: ActionCtx, component: AgentComponent, step: StepResult<TOOLS>, metadata: { model: string; provider: string; }): Promise<MessageWithMetadata[]>; export declare function serializeObjectResult(result: GenerateObjectResult<unknown>, metadata: { model: string; provider: string; }): { messages: MessageWithMetadata[]; }; export declare function serializeContent(ctx: ActionCtx | RunMutationCtx, component: AgentComponent, content: Content): Promise<{ content: SerializedContent; fileIds?: string[]; }>; export declare function deserializeContent(content: SerializedContent): Content; /** * Return a best-guess MIME type based on the magic-number signature * found at the start of an ArrayBuffer. * * @param buf – the source ArrayBuffer * @returns the detected MIME type, or `"application/octet-stream"` if unknown */ export declare function guessMimeType(buf: ArrayBuffer | string): string; export declare function serializeDataOrUrl(dataOrUrl: DataContent | URL): ArrayBuffer | string; export declare function deserializeUrl(urlOrString: string | ArrayBuffer): URL | DataContent; export declare function toUIFilePart(part: ImagePart | FilePart): FileUIPart; export declare function promptOrMessagesToCoreMessages(args: { prompt?: string; messages?: CoreMessage[] | AIMessageWithoutId[]; }): CoreMessage[]; //# sourceMappingURL=mapping.d.ts.map