better discriminator

This commit is contained in:
Dax Raad
2025-05-28 13:35:05 -04:00
parent 3b7b7f4bea
commit f3b224090c
3 changed files with 96 additions and 59 deletions

View File

@@ -38,7 +38,7 @@ const ToolResult = z
});
const ToolInvocation = z
.union([ToolCall, ToolPartialCall, ToolResult])
.discriminatedUnion("state", [ToolCall, ToolPartialCall, ToolResult])
.openapi({
ref: "Session.Message.ToolInvocation",
});
@@ -103,25 +103,14 @@ const StepStartPart = z
ref: "Session.Message.Part.StepStart",
});
const DataPart = z
.object({
type: z.custom<`data-${string}`>(),
id: z.string().optional(),
data: z.unknown(),
})
.openapi({
ref: "Session.Message.Part.Data",
});
const Part = z
.union([
.discriminatedUnion("type", [
TextPart,
ReasoningPart,
ToolInvocationPart,
SourceUrlPart,
FilePart,
StepStartPart,
DataPart,
])
.openapi({
ref: "Session.Message.Part",