Commit 6d8b625
fix: stop policing per-message schemas the upstream owns
1.8.3's request validation whitelisted messages[].role to user/assistant,
but Claude Code v2.1+ sends harness context as role:"system" entries on
/v1/messages?beta=true - every real session died locally with
"400 messages[1].role must be user or assistant" before reaching any
provider. Root cause verified by capturing live Claude Code traffic
through a logging proxy.
The gateway now validates only what routing depends on (body shape,
model, messages array, stream flag) and leaves message schemas to the
upstream protocol, which evolves with the client.1 parent 8d7ce49 commit 6d8b625
5 files changed
Lines changed: 40 additions & 18 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
95 | 95 | | |
96 | 96 | | |
97 | 97 | | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
106 | 102 | | |
107 | 103 | | |
108 | 104 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
247 | 247 | | |
248 | 248 | | |
249 | 249 | | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
250 | 280 | | |
251 | 281 | | |
252 | 282 | | |
| |||
0 commit comments