UNPKG

@convex-dev/agent

Version:

A agent component for Convex.

925 lines 309 kB
export declare const schema: import("convex/server").SchemaDefinition<{ apiKeys: import("convex/server").TableDefinition<import("convex/values").VObject<{ name?: string | undefined; }, { name: import("convex/values").VString<string | undefined, "optional">; }, "required", "name">, { name: ["name", "_creationTime"]; }, {}, {}>; embeddings_128: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; threadId?: string | undefined; model_table_userId?: string[] | undefined; model_table_threadId?: string[] | undefined; model: string; table: string; vector: number[]; }, { model: import("convex/values").VString<string, "required">; table: import("convex/values").VString<string, "required">; userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VString<string | undefined, "optional">; model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">; }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, { model_table_threadId: ["model", "table", "threadId", "_creationTime"]; }, import("convex/server").GenericTableSearchIndexes, { vector: { vectorField: "vector"; dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096; filterFields: "model_table_userId" | "model_table_threadId"; }; }>; embeddings_256: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; threadId?: string | undefined; model_table_userId?: string[] | undefined; model_table_threadId?: string[] | undefined; model: string; table: string; vector: number[]; }, { model: import("convex/values").VString<string, "required">; table: import("convex/values").VString<string, "required">; userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VString<string | undefined, "optional">; model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">; }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, { model_table_threadId: ["model", "table", "threadId", "_creationTime"]; }, import("convex/server").GenericTableSearchIndexes, { vector: { vectorField: "vector"; dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096; filterFields: "model_table_userId" | "model_table_threadId"; }; }>; embeddings_512: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; threadId?: string | undefined; model_table_userId?: string[] | undefined; model_table_threadId?: string[] | undefined; model: string; table: string; vector: number[]; }, { model: import("convex/values").VString<string, "required">; table: import("convex/values").VString<string, "required">; userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VString<string | undefined, "optional">; model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">; }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, { model_table_threadId: ["model", "table", "threadId", "_creationTime"]; }, import("convex/server").GenericTableSearchIndexes, { vector: { vectorField: "vector"; dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096; filterFields: "model_table_userId" | "model_table_threadId"; }; }>; embeddings_768: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; threadId?: string | undefined; model_table_userId?: string[] | undefined; model_table_threadId?: string[] | undefined; model: string; table: string; vector: number[]; }, { model: import("convex/values").VString<string, "required">; table: import("convex/values").VString<string, "required">; userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VString<string | undefined, "optional">; model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">; }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, { model_table_threadId: ["model", "table", "threadId", "_creationTime"]; }, import("convex/server").GenericTableSearchIndexes, { vector: { vectorField: "vector"; dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096; filterFields: "model_table_userId" | "model_table_threadId"; }; }>; embeddings_1024: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; threadId?: string | undefined; model_table_userId?: string[] | undefined; model_table_threadId?: string[] | undefined; model: string; table: string; vector: number[]; }, { model: import("convex/values").VString<string, "required">; table: import("convex/values").VString<string, "required">; userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VString<string | undefined, "optional">; model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">; }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, { model_table_threadId: ["model", "table", "threadId", "_creationTime"]; }, import("convex/server").GenericTableSearchIndexes, { vector: { vectorField: "vector"; dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096; filterFields: "model_table_userId" | "model_table_threadId"; }; }>; embeddings_1408: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; threadId?: string | undefined; model_table_userId?: string[] | undefined; model_table_threadId?: string[] | undefined; model: string; table: string; vector: number[]; }, { model: import("convex/values").VString<string, "required">; table: import("convex/values").VString<string, "required">; userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VString<string | undefined, "optional">; model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">; }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, { model_table_threadId: ["model", "table", "threadId", "_creationTime"]; }, import("convex/server").GenericTableSearchIndexes, { vector: { vectorField: "vector"; dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096; filterFields: "model_table_userId" | "model_table_threadId"; }; }>; embeddings_1536: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; threadId?: string | undefined; model_table_userId?: string[] | undefined; model_table_threadId?: string[] | undefined; model: string; table: string; vector: number[]; }, { model: import("convex/values").VString<string, "required">; table: import("convex/values").VString<string, "required">; userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VString<string | undefined, "optional">; model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">; }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, { model_table_threadId: ["model", "table", "threadId", "_creationTime"]; }, import("convex/server").GenericTableSearchIndexes, { vector: { vectorField: "vector"; dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096; filterFields: "model_table_userId" | "model_table_threadId"; }; }>; embeddings_2048: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; threadId?: string | undefined; model_table_userId?: string[] | undefined; model_table_threadId?: string[] | undefined; model: string; table: string; vector: number[]; }, { model: import("convex/values").VString<string, "required">; table: import("convex/values").VString<string, "required">; userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VString<string | undefined, "optional">; model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">; }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, { model_table_threadId: ["model", "table", "threadId", "_creationTime"]; }, import("convex/server").GenericTableSearchIndexes, { vector: { vectorField: "vector"; dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096; filterFields: "model_table_userId" | "model_table_threadId"; }; }>; embeddings_3072: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; threadId?: string | undefined; model_table_userId?: string[] | undefined; model_table_threadId?: string[] | undefined; model: string; table: string; vector: number[]; }, { model: import("convex/values").VString<string, "required">; table: import("convex/values").VString<string, "required">; userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VString<string | undefined, "optional">; model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">; }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, { model_table_threadId: ["model", "table", "threadId", "_creationTime"]; }, import("convex/server").GenericTableSearchIndexes, { vector: { vectorField: "vector"; dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096; filterFields: "model_table_userId" | "model_table_threadId"; }; }>; embeddings_4096: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; threadId?: string | undefined; model_table_userId?: string[] | undefined; model_table_threadId?: string[] | undefined; model: string; table: string; vector: number[]; }, { model: import("convex/values").VString<string, "required">; table: import("convex/values").VString<string, "required">; userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VString<string | undefined, "optional">; model_table_userId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; model_table_threadId: import("convex/values").VArray<string[] | undefined, import("convex/values").VString<string, "required">, "optional">; vector: import("convex/values").VArray<number[], import("convex/values").VFloat64<number, "required">, "required">; }, "required", "userId" | "threadId" | "model" | "table" | "model_table_userId" | "model_table_threadId" | "vector">, { model_table_threadId: ["model", "table", "threadId", "_creationTime"]; }, import("convex/server").GenericTableSearchIndexes, { vector: { vectorField: "vector"; dimensions: 128 | 256 | 512 | 768 | 1024 | 1408 | 1536 | 2048 | 3072 | 4096; filterFields: "model_table_userId" | "model_table_threadId"; }; }>; threads: import("convex/server").TableDefinition<import("convex/values").VObject<{ userId?: string | undefined; title?: string | undefined; summary?: string | undefined; defaultSystemPrompt?: string | undefined; parentThreadIds?: import("convex/values").GenericId<"threads">[] | undefined; order?: number | undefined; status: "active" | "archived"; }, { userId: import("convex/values").VString<string | undefined, "optional">; title: import("convex/values").VString<string | undefined, "optional">; summary: import("convex/values").VString<string | undefined, "optional">; status: import("convex/values").VUnion<"active" | "archived", [import("convex/values").VLiteral<"active", "required">, import("convex/values").VLiteral<"archived", "required">], "required", never>; defaultSystemPrompt: import("convex/values").VString<string | undefined, "optional">; parentThreadIds: import("convex/values").VArray<import("convex/values").GenericId<"threads">[] | undefined, import("convex/values").VId<import("convex/values").GenericId<"threads">, "required">, "optional">; order: import("convex/values").VFloat64<number | undefined, "optional">; }, "required", "status" | "userId" | "title" | "summary" | "defaultSystemPrompt" | "parentThreadIds" | "order">, { userId: ["userId", "_creationTime"]; }, { title: { searchField: "title"; filterFields: "userId"; }; }, {}>; messages: import("convex/server").TableDefinition<import("convex/values").VObject<{ id?: string | undefined; userId?: string | undefined; embeddingId?: import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined; fileIds?: import("convex/values").GenericId<"files">[] | undefined; files?: any[] | undefined; error?: string | undefined; agentName?: string | undefined; model?: string | undefined; provider?: string | undefined; providerOptions?: Record<string, Record<string, any>> | undefined; message?: { providerOptions?: Record<string, Record<string, any>> | undefined; role: "user"; content: string | ({ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; mimeType?: string | undefined; type: "image"; image: string | ArrayBuffer; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; })[]; } | { providerOptions?: Record<string, Record<string, any>> | undefined; role: "assistant"; content: string | ({ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; signature?: string | undefined; type: "reasoning"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "redacted-reasoning"; data: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; providerExecuted?: boolean | undefined; type: "tool-call"; toolCallId: string; toolName: string; args: any; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; args?: any; providerExecuted?: boolean | undefined; output?: { type: "text"; value: string; } | { type: "json"; value: any; } | { type: "error-text"; value: string; } | { type: "error-json"; value: any; } | { type: "content"; value: ({ type: "text"; text: string; } | { type: "media"; data: string; mediaType: string; })[]; } | undefined; result?: any; isError?: boolean | undefined; experimental_content?: ({ type: "text"; text: string; } | { mimeType?: string | undefined; type: "image"; data: string; })[] | undefined; type: "tool-result"; toolCallId: string; toolName: string; } | { title?: string | undefined; providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; id: string; type: "source"; sourceType: "url"; url: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; id: string; title: string; type: "source"; mediaType: string; sourceType: "document"; })[]; } | { providerOptions?: Record<string, Record<string, any>> | undefined; role: "tool"; content: { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; args?: any; providerExecuted?: boolean | undefined; output?: { type: "text"; value: string; } | { type: "json"; value: any; } | { type: "error-text"; value: string; } | { type: "error-json"; value: any; } | { type: "content"; value: ({ type: "text"; text: string; } | { type: "media"; data: string; mediaType: string; })[]; } | undefined; result?: any; isError?: boolean | undefined; experimental_content?: ({ type: "text"; text: string; } | { mimeType?: string | undefined; type: "image"; data: string; })[] | undefined; type: "tool-result"; toolCallId: string; toolName: string; }[]; } | { providerOptions?: Record<string, Record<string, any>> | undefined; role: "system"; content: string; } | undefined; text?: string | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; reasoning?: string | undefined; usage?: { reasoningTokens?: number | undefined; cachedInputTokens?: number | undefined; promptTokens: number; completionTokens: number; totalTokens: number; } | undefined; sources?: ({ title?: string | undefined; type?: "source" | undefined; providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; id: string; sourceType: "url"; url: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; id: string; title: string; type: "source"; mediaType: string; sourceType: "document"; })[] | undefined; warnings?: ({ details?: string | undefined; type: "unsupported-setting"; setting: string; } | { details?: string | undefined; type: "unsupported-tool"; tool: any; } | { type: "other"; message: string; })[] | undefined; finishReason?: "length" | "error" | "other" | "stop" | "content-filter" | "tool-calls" | "unknown" | undefined; reasoningDetails?: ({ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; signature?: string | undefined; type: "reasoning"; text: string; } | { signature?: string | undefined; type: "text"; text: string; } | { type: "redacted"; data: string; })[] | undefined; parentMessageId?: import("convex/values").GenericId<"messages"> | undefined; stepId?: string | undefined; status: "pending" | "success" | "failed"; order: number; threadId: import("convex/values").GenericId<"threads">; stepOrder: number; tool: boolean; }, { userId: import("convex/values").VString<string | undefined, "optional">; threadId: import("convex/values").VId<import("convex/values").GenericId<"threads">, "required">; order: import("convex/values").VFloat64<number, "required">; stepOrder: import("convex/values").VFloat64<number, "required">; embeddingId: import("convex/values").VUnion<import("convex/values").GenericId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096"> | undefined, import("convex/values").VId<"embeddings_128" | "embeddings_256" | "embeddings_512" | "embeddings_768" | "embeddings_1024" | "embeddings_1408" | "embeddings_1536" | "embeddings_2048" | "embeddings_3072" | "embeddings_4096", "required">[], "optional", never>; fileIds: import("convex/values").VArray<import("convex/values").GenericId<"files">[] | undefined, import("convex/values").VId<import("convex/values").GenericId<"files">, "required">, "optional">; error: import("convex/values").VString<string | undefined, "optional">; status: import("convex/values").VUnion<"pending" | "success" | "failed", [import("convex/values").VLiteral<"pending", "required">, import("convex/values").VLiteral<"success", "required">, import("convex/values").VLiteral<"failed", "required">], "required", never>; agentName: import("convex/values").VString<string | undefined, "optional">; model: import("convex/values").VString<string | undefined, "optional">; provider: import("convex/values").VString<string | undefined, "optional">; providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>; message: import("convex/values").VUnion<{ providerOptions?: Record<string, Record<string, any>> | undefined; role: "user"; content: string | ({ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; mimeType?: string | undefined; type: "image"; image: string | ArrayBuffer; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; })[]; } | { providerOptions?: Record<string, Record<string, any>> | undefined; role: "assistant"; content: string | ({ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; signature?: string | undefined; type: "reasoning"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "redacted-reasoning"; data: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; providerExecuted?: boolean | undefined; type: "tool-call"; toolCallId: string; toolName: string; args: any; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; args?: any; providerExecuted?: boolean | undefined; output?: { type: "text"; value: string; } | { type: "json"; value: any; } | { type: "error-text"; value: string; } | { type: "error-json"; value: any; } | { type: "content"; value: ({ type: "text"; text: string; } | { type: "media"; data: string; mediaType: string; })[]; } | undefined; result?: any; isError?: boolean | undefined; experimental_content?: ({ type: "text"; text: string; } | { mimeType?: string | undefined; type: "image"; data: string; })[] | undefined; type: "tool-result"; toolCallId: string; toolName: string; } | { title?: string | undefined; providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; id: string; type: "source"; sourceType: "url"; url: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; id: string; title: string; type: "source"; mediaType: string; sourceType: "document"; })[]; } | { providerOptions?: Record<string, Record<string, any>> | undefined; role: "tool"; content: { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; args?: any; providerExecuted?: boolean | undefined; output?: { type: "text"; value: string; } | { type: "json"; value: any; } | { type: "error-text"; value: string; } | { type: "error-json"; value: any; } | { type: "content"; value: ({ type: "text"; text: string; } | { type: "media"; data: string; mediaType: string; })[]; } | undefined; result?: any; isError?: boolean | undefined; experimental_content?: ({ type: "text"; text: string; } | { mimeType?: string | undefined; type: "image"; data: string; })[] | undefined; type: "tool-result"; toolCallId: string; toolName: string; }[]; } | { providerOptions?: Record<string, Record<string, any>> | undefined; role: "system"; content: string; } | undefined, [import("convex/values").VObject<{ providerOptions?: Record<string, Record<string, any>> | undefined; role: "user"; content: string | ({ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; mimeType?: string | undefined; type: "image"; image: string | ArrayBuffer; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; })[]; }, { role: import("convex/values").VLiteral<"user", "required">; content: import("convex/values").VUnion<string | ({ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; mimeType?: string | undefined; type: "image"; image: string | ArrayBuffer; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; })[], [import("convex/values").VString<string, "required">, import("convex/values").VArray<({ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; mimeType?: string | undefined; type: "image"; image: string | ArrayBuffer; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; })[], import("convex/values").VUnion<{ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; mimeType?: string | undefined; type: "image"; image: string | ArrayBuffer; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; }, [import("convex/values").VObject<{ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; }, { type: import("convex/values").VLiteral<"text", "required">; text: import("convex/values").VString<string, "required">; providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>; providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>; }, "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}`>, import("convex/values").VObject<{ providerOptions?: Record<string, Record<string, any>> | undefined; mimeType?: string | undefined; type: "image"; image: string | ArrayBuffer; }, { type: import("convex/values").VLiteral<"image", "required">; image: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>; mimeType: import("convex/values").VString<string | undefined, "optional">; providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>; }, "required", "type" | "providerOptions" | `providerOptions.${string}` | "image" | "mimeType">, import("convex/values").VObject<{ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; }, { type: import("convex/values").VLiteral<"file", "required">; data: import("convex/values").VUnion<string | ArrayBuffer, [import("convex/values").VString<string, "required">, import("convex/values").VBytes<ArrayBuffer, "required">], "required", never>; filename: import("convex/values").VString<string | undefined, "optional">; mimeType: import("convex/values").VString<string, "required">; providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>; providerMetadata: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>; }, "required", "type" | "providerOptions" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "mimeType" | "data" | "filename">], "required", "type" | "providerOptions" | "text" | "providerMetadata" | `providerOptions.${string}` | `providerMetadata.${string}` | "image" | "mimeType" | "data" | "filename">, "required">], "required", never>; providerOptions: import("convex/values").VRecord<Record<string, Record<string, any>> | undefined, import("convex/values").VString<string, "required">, import("convex/values").VRecord<Record<string, any>, import("convex/values").VString<string, "required">, import("convex/values").VAny<any, "required", string>, "required", string>, "optional", string>; }, "required", "providerOptions" | "role" | `providerOptions.${string}` | "content">, import("convex/values").VObject<{ providerOptions?: Record<string, Record<string, any>> | undefined; role: "assistant"; content: string | ({ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; signature?: string | undefined; type: "reasoning"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "redacted-reasoning"; data: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; providerExecuted?: boolean | undefined; type: "tool-call"; toolCallId: string; toolName: string; args: any; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; args?: any; providerExecuted?: boolean | undefined; output?: { type: "text"; value: string; } | { type: "json"; value: any; } | { type: "error-text"; value: string; } | { type: "error-json"; value: any; } | { type: "content"; value: ({ type: "text"; text: string; } | { type: "media"; data: string; mediaType: string; })[]; } | undefined; result?: any; isError?: boolean | undefined; experimental_content?: ({ type: "text"; text: string; } | { mimeType?: string | undefined; type: "image"; data: string; })[] | undefined; type: "tool-result"; toolCallId: string; toolName: string; } | { title?: string | undefined; providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; id: string; type: "source"; sourceType: "url"; url: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; id: string; title: string; type: "source"; mediaType: string; sourceType: "document"; })[]; }, { role: import("convex/values").VLiteral<"assistant", "required">; content: import("convex/values").VUnion<string | ({ providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "text"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; filename?: string | undefined; type: "file"; mimeType: string; data: string | ArrayBuffer; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; signature?: string | undefined; type: "reasoning"; text: string; } | { providerOptions?: Record<string, Record<string, any>> | undefined; providerMetadata?: Record<string, Record<string, any>> | undefined; type: "redacted-reasoning"; data: string; } | { providerOptions?: Record<stri