diff options
| author | Dax Raad <[email protected]> | 2025-05-28 13:35:05 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-05-28 13:35:05 -0400 |
| commit | f3b224090cf6e719d58d9a36b3e07380aac68d31 (patch) | |
| tree | 4f30a64fe31c6ca7e8e7bedf50031262df23be06 /js/src/server | |
| parent | 3b7b7f4bea321323bb6e4c1ecfb0ebe113dc68f8 (diff) | |
| download | opencode-f3b224090cf6e719d58d9a36b3e07380aac68d31.tar.gz opencode-f3b224090cf6e719d58d9a36b3e07380aac68d31.zip | |
better discriminator
Diffstat (limited to 'js/src/server')
| -rw-r--r-- | js/src/server/message.ts | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/js/src/server/message.ts b/js/src/server/message.ts index 77ef5b8f2..4ad301a35 100644 --- a/js/src/server/message.ts +++ b/js/src/server/message.ts @@ -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", |
