Files
claude-code-viewer/src/lib/conversation-schema/message/UserMessageSchema.ts
きむそん 51280f5bf8 feat: File upload(plain text, pdf, image) #34
* support file upload

* preview pdf
2025-10-26 20:12:45 +09:00

24 lines
725 B
TypeScript

import { z } from "zod";
import { DocumentContentSchema } from "../content/DocumentContentSchema";
import { ImageContentSchema } from "../content/ImageContentSchema";
import { TextContentSchema } from "../content/TextContentSchema";
import { ToolResultContentSchema } from "../content/ToolResultContentSchema";
const UserMessageContentSchema = z.union([
z.string(),
TextContentSchema,
ToolResultContentSchema,
ImageContentSchema,
DocumentContentSchema,
]);
export type UserMessageContent = z.infer<typeof UserMessageContentSchema>;
export const UserMessageSchema = z.object({
role: z.literal("user"),
content: z.union([
z.string(),
z.array(z.union([z.string(), UserMessageContentSchema])),
]),
});