Commit 53662c5
committed
fix: exclude None optional fields from task result serialization
model_dump() without exclude_none=True emits null for optional fields
(e.g. TextContent.annotations), breaking Node SDK Zod validation which
marks those fields as optional/absent rather than nullable.
Matches the exclude_none=True, mode="json" convention used throughout
the rest of the session layer's serialization paths.
Fixes #25391 parent 3d7b311 commit 53662c5
2 files changed
Lines changed: 31 additions & 2 deletions
File tree
- src/mcp/server/experimental
- tests/experimental/tasks/server
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
114 | 114 | | |
115 | 115 | | |
116 | 116 | | |
117 | | - | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
118 | 120 | | |
119 | | - | |
| 121 | + | |
120 | 122 | | |
121 | 123 | | |
122 | 124 | | |
| |||
Lines changed: 27 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
291 | 291 | | |
292 | 292 | | |
293 | 293 | | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
| 300 | + | |
| 301 | + | |
| 302 | + | |
| 303 | + | |
| 304 | + | |
| 305 | + | |
| 306 | + | |
| 307 | + | |
| 308 | + | |
| 309 | + | |
| 310 | + | |
| 311 | + | |
| 312 | + | |
| 313 | + | |
| 314 | + | |
| 315 | + | |
| 316 | + | |
| 317 | + | |
| 318 | + | |
| 319 | + | |
| 320 | + | |
294 | 321 | | |
295 | 322 | | |
296 | 323 | | |
| |||
0 commit comments