@assistant-ui/react
Version:
Typescript/React library for AI Chat
84 lines • 2.46 kB
JavaScript
// 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