@arizeai/phoenix-client
Version:
A client for the Phoenix API
42 lines • 1.15 kB
JavaScript
import { vercelAIChatPartImageSchema, vercelAIChatPartTextSchema, vercelAIChatPartToolCallSchema, vercelAIChatPartToolResultSchema, } from "./messagePartSchemas.js";
import z from "zod";
/*
*
* Vercel AI SDK Message Schemas
*
*/
export const vercelAIMessageRoleSchema = z.enum([
"system",
"user",
"assistant",
"tool",
]);
export const vercelAIMessageSchema = z.discriminatedUnion("role", [
z.object({
role: z.literal("system"),
content: z.string(),
}),
z.object({
role: z.literal("user"),
content: z.union([
z
.union([vercelAIChatPartTextSchema, vercelAIChatPartImageSchema])
.array(),
z.string(),
]),
}),
z.object({
role: z.literal("assistant"),
content: z.union([
z
.union([vercelAIChatPartTextSchema, vercelAIChatPartToolCallSchema])
.array(),
z.string(),
]),
}),
z.object({
role: z.literal("tool"),
content: vercelAIChatPartToolResultSchema.array(),
}),
]);
//# sourceMappingURL=messageSchemas.js.map