UNPKG

@assistant-ui/react

Version:

React components for AI chat.

75 lines 2.14 kB
// src/runtimes/edge/EdgeRuntimeRequestOptions.ts import { LanguageModelConfigSchema, LanguageModelV1CallSettingsSchema } from "../../types/ModelConfigTypes.mjs"; import { z } from "zod"; var LanguageModelV1FunctionToolSchema = z.object({ type: z.literal("function"), name: z.string(), description: z.string().optional(), parameters: z.custom( (val) => typeof val === "object" && val !== null ) }); var TextContentPartSchema = z.object({ type: z.literal("text"), text: z.string() }); var ImageContentPartSchema = z.object({ type: z.literal("image"), image: z.string() }); var Unstable_AudioContentPart = z.object({ type: z.literal("audio"), audio: z.object({ data: z.string(), format: z.union([z.literal("mp3"), z.literal("wav")]) }) }); var CoreToolCallContentPartSchema = z.object({ type: z.literal("tool-call"), toolCallId: z.string(), toolName: z.string(), args: z.record(z.unknown()), result: z.unknown().optional(), isError: z.boolean().optional() }); var CoreUserMessageSchema = z.object({ role: z.literal("user"), content: z.array( z.discriminatedUnion("type", [ TextContentPartSchema, ImageContentPartSchema, Unstable_AudioContentPart ]) ).min(1) }); var CoreAssistantMessageSchema = z.object({ role: z.literal("assistant"), content: z.array( z.discriminatedUnion("type", [ TextContentPartSchema, CoreToolCallContentPartSchema ]) ).min(1) }); var CoreSystemMessageSchema = z.object({ role: z.literal("system"), content: z.tuple([TextContentPartSchema]) }); var CoreMessageSchema = z.discriminatedUnion("role", [ CoreSystemMessageSchema, CoreUserMessageSchema, CoreAssistantMessageSchema ]); var EdgeRuntimeRequestOptionsSchema = z.object({ system: z.string().optional(), messages: z.array(CoreMessageSchema).min(1), tools: z.array(LanguageModelV1FunctionToolSchema).optional(), unstable_assistantMessageId: z.string().optional() }).merge(LanguageModelV1CallSettingsSchema).merge(LanguageModelConfigSchema); export { EdgeRuntimeRequestOptionsSchema }; //# sourceMappingURL=EdgeRuntimeRequestOptions.mjs.map