Commit cf55f3c
committed
fix: improve OpenAI stream handling for anomalous tool-call chunks
- filter id-only orphan tool-call chunks without dropping finish metadata
- reattach pending tool-call ids to subsequent payload chunks that omit ids
- detect snapshot-style tool argument chunks and replace buffered arguments
- add unit tests for OpenAI normalization and tool-call argument replacement
- add OpenAI stream integration fixtures for orphan, mixed-chunk, and snapshot cases1 parent 7b7ca91 commit cf55f3c
16 files changed
Lines changed: 798 additions & 12 deletions
File tree
- src/crates
- ai-adapters/src
- client
- stream
- stream_handler
- types
- core
- src/agentic/execution
- tests
- fixtures/stream/openai
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
47 | 47 | | |
48 | 48 | | |
49 | 49 | | |
| 50 | + | |
50 | 51 | | |
51 | 52 | | |
52 | 53 | | |
| |||
85 | 86 | | |
86 | 87 | | |
87 | 88 | | |
88 | | - | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
89 | 94 | | |
90 | 95 | | |
91 | 96 | | |
| |||
Lines changed: 6 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
200 | 200 | | |
201 | 201 | | |
202 | 202 | | |
| 203 | + | |
203 | 204 | | |
204 | 205 | | |
205 | 206 | | |
206 | 207 | | |
207 | 208 | | |
208 | 209 | | |
209 | 210 | | |
| 211 | + | |
210 | 212 | | |
211 | 213 | | |
212 | 214 | | |
| |||
225 | 227 | | |
226 | 228 | | |
227 | 229 | | |
| 230 | + | |
228 | 231 | | |
229 | 232 | | |
230 | 233 | | |
| |||
233 | 236 | | |
234 | 237 | | |
235 | 238 | | |
| 239 | + | |
236 | 240 | | |
237 | 241 | | |
238 | 242 | | |
| |||
252 | 256 | | |
253 | 257 | | |
254 | 258 | | |
| 259 | + | |
255 | 260 | | |
256 | 261 | | |
257 | 262 | | |
258 | 263 | | |
259 | 264 | | |
| 265 | + | |
260 | 266 | | |
261 | 267 | | |
262 | 268 | | |
| |||
0 commit comments