UNPKG

@arizeai/phoenix-client

Version:
29 lines (21 loc) 734 B
import z from "zod"; import { anthropicMessagePartSchema } from "./messagePartSchemas"; /** * * Anthropic Message Schemas * */ export const anthropicMessageRoleSchema = z.enum(["user", "assistant"]); export type AnthropicMessageRole = z.infer<typeof anthropicMessageRoleSchema>; /** * TODO: rewrite as discriminated union */ export const anthropicMessageSchema = z.looseObject({ role: anthropicMessageRoleSchema, content: z.union([z.string(), z.array(anthropicMessagePartSchema)]), }); export type AnthropicMessage = z.infer<typeof anthropicMessageSchema>; export const anthropicMessagesSchema = z.array(anthropicMessageSchema); export const anthropicMessagesJSONSchema = z.toJSONSchema( anthropicMessagesSchema );