UNPKG

@assistant-ui/react

Version:

Typescript/React library for AI Chat

84 lines 2.46 kB
// src/runtimes/edge/EdgeRuntimeRequestOptions.ts import { LanguageModelConfigSchema, LanguageModelV1CallSettingsSchema } from "../../model-context/ModelContextTypes.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 FileContentPartSchema = z.object({ type: z.literal("file"), data: z.string(), mimeType: 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()).refine((c) => c !== void 0), result: z.unknown().optional(), isError: z.boolean().optional() }); var CoreUserMessageSchema = z.object({ role: z.literal("user"), content: z.array( z.discriminatedUnion("type", [ TextContentPartSchema, ImageContentPartSchema, FileContentPartSchema, Unstable_AudioContentPart ]) ).min(1).readonly() }); var CoreAssistantMessageSchema = z.object({ role: z.literal("assistant"), content: z.array( z.discriminatedUnion("type", [ TextContentPartSchema, CoreToolCallContentPartSchema ]) ).min(1).readonly() }); var CoreSystemMessageSchema = z.object({ role: z.literal("system"), content: z.tuple([TextContentPartSchema]).readonly() }); var CoreMessageSchema = z.discriminatedUnion("role", [ CoreSystemMessageSchema, CoreUserMessageSchema, CoreAssistantMessageSchema ]); var EdgeRuntimeRequestOptionsSchema = z.object({ system: z.string().optional(), messages: z.array(CoreMessageSchema).min(1).readonly(), runConfig: z.object({ custom: z.record(z.unknown()).optional() }).optional(), tools: z.array(LanguageModelV1FunctionToolSchema).readonly().optional(), unstable_assistantMessageId: z.string().optional() }).merge(LanguageModelV1CallSettingsSchema).merge(LanguageModelConfigSchema); export { EdgeRuntimeRequestOptionsSchema }; //# sourceMappingURL=EdgeRuntimeRequestOptions.mjs.map