Commit ab0437a
feat: add shell tool wire types (vllm-project#264)
## Summary
- Add typed local shell declarations, `shell_call` and
`shell_call_output` items, command limits, stdout/stderr, and
exit/timeout outcomes.
- Normalize shell declarations, selectors, and inference history to
function tools, then restore public shell items and incremental command
events. Native shell streams share the existing strict lifecycle
validation.
- Preserve submitted public shell items and extension fields in storage;
lower the inference copy when preparing new input or rehydrating later
turns. Restore public shell declarations and selectors in response
metadata, including inherited settings and requests using tool search.
- Keep execution client-side: callers can run commands through their own
engine or framework and submit `shell_call_output`. This PR does not
register a gateway-side shell executor; that remains follow-up work.
- Include 16 real OpenAI-reference and gateway recordings covering
success, nonzero exits, timeouts, and multiple commands in streaming and
non-streaming modes, with two-turn continuation and replay/parity tests.
Part of vllm-project#170.
## Test Plan
- `cargo test --offline --workspace`: 1,198 passed, 9 ignored.
- `cargo test --offline -p agentic-server-core`: 870 passed, 9 ignored
after the final assertions.
- `cargo clippy --offline --workspace --all-targets -- -D warnings`.
- `uvx --from pre-commit pre-commit run --all-files`, including
formatting and merge-conflict checks.
- Regression tests first reproduced the persistence and streaming
metadata failures, then passed with the fixes. Coverage includes
response and conversation storage, extension fields, a third turn
loading persisted shell output, inherited tools/selectors, and shell
metadata with and without tool search.
- Existing recordings were replayed; no new live provider recordings
were made for the final two fixes.
---------
Signed-off-by: bojiang3 <bojiang3@illinois.edu>
Signed-off-by: maral <maralbahari.98@gmail.com>
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
Co-authored-by: bojiang3 <bojiang3@illinois.edu>
Co-authored-by: maral <maralbahari.98@gmail.com>
Co-authored-by: Francisco Javier Arceo <farceo@redhat.com>1 parent 9b22fb3 commit ab0437a
59 files changed
Lines changed: 23288 additions & 99 deletions
File tree
- crates
- agentic-server-core
- src
- events
- executor
- storage
- models
- types
- tool
- types
- io
- tools
- tests
- cassettes
- shell
- support
- agentic-server/src
- docs/design
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
493 | 493 | | |
494 | 494 | | |
495 | 495 | | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
496 | 501 | | |
497 | 502 | | |
498 | 503 | | |
| |||
740 | 745 | | |
741 | 746 | | |
742 | 747 | | |
743 | | - | |
744 | | - | |
745 | | - | |
| 748 | + | |
| 749 | + | |
| 750 | + | |
| 751 | + | |
| 752 | + | |
| 753 | + | |
746 | 754 | | |
747 | 755 | | |
748 | 756 | | |
749 | 757 | | |
| 758 | + | |
| 759 | + | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + | |
| 764 | + | |
750 | 765 | | |
751 | 766 | | |
752 | 767 | | |
| |||
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 | |
|---|---|---|---|
| |||
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| 45 | + | |
45 | 46 | | |
46 | 47 | | |
47 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
| 4 | + | |
4 | 5 | | |
5 | 6 | | |
6 | 7 | | |
| |||
64 | 65 | | |
65 | 66 | | |
66 | 67 | | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
67 | 71 | | |
68 | 72 | | |
69 | 73 | | |
| |||
133 | 137 | | |
134 | 138 | | |
135 | 139 | | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
136 | 148 | | |
137 | 149 | | |
138 | 150 | | |
| |||
169 | 181 | | |
170 | 182 | | |
171 | 183 | | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
172 | 205 | | |
173 | 206 | | |
174 | 207 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | 3 | | |
4 | | - | |
| 4 | + | |
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
| |||
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| 16 | + | |
16 | 17 | | |
17 | 18 | | |
18 | 19 | | |
| |||
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
| 32 | + | |
31 | 33 | | |
32 | 34 | | |
33 | 35 | | |
| |||
52 | 54 | | |
53 | 55 | | |
54 | 56 | | |
| 57 | + | |
55 | 58 | | |
56 | 59 | | |
57 | 60 | | |
| |||
71 | 74 | | |
72 | 75 | | |
73 | 76 | | |
| 77 | + | |
74 | 78 | | |
75 | 79 | | |
76 | 80 | | |
| |||
125 | 129 | | |
126 | 130 | | |
127 | 131 | | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
128 | 135 | | |
129 | 136 | | |
130 | 137 | | |
| |||
171 | 178 | | |
172 | 179 | | |
173 | 180 | | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
174 | 184 | | |
175 | 185 | | |
176 | 186 | | |
| |||
215 | 225 | | |
216 | 226 | | |
217 | 227 | | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
218 | 231 | | |
219 | 232 | | |
220 | 233 | | |
| |||
276 | 289 | | |
277 | 290 | | |
278 | 291 | | |
| 292 | + | |
| 293 | + | |
| 294 | + | |
| 295 | + | |
| 296 | + | |
| 297 | + | |
| 298 | + | |
| 299 | + | |
279 | 300 | | |
280 | 301 | | |
281 | 302 | | |
| |||
296 | 317 | | |
297 | 318 | | |
298 | 319 | | |
| 320 | + | |
| 321 | + | |
299 | 322 | | |
300 | 323 | | |
301 | 324 | | |
| |||
339 | 362 | | |
340 | 363 | | |
341 | 364 | | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
342 | 371 | | |
343 | 372 | | |
344 | 373 | | |
| |||
468 | 497 | | |
469 | 498 | | |
470 | 499 | | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
471 | 503 | | |
472 | 504 | | |
473 | 505 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
49 | 49 | | |
50 | 50 | | |
51 | 51 | | |
52 | | - | |
| 52 | + | |
53 | 53 | | |
54 | 54 | | |
55 | 55 | | |
| |||
80 | 80 | | |
81 | 81 | | |
82 | 82 | | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
83 | 86 | | |
84 | 87 | | |
85 | 88 | | |
| |||
192 | 195 | | |
193 | 196 | | |
194 | 197 | | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
195 | 211 | | |
196 | 212 | | |
197 | 213 | | |
198 | 214 | | |
199 | 215 | | |
200 | 216 | | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
201 | 222 | | |
202 | 223 | | |
203 | 224 | | |
| |||
218 | 239 | | |
219 | 240 | | |
220 | 241 | | |
| 242 | + | |
221 | 243 | | |
222 | 244 | | |
223 | 245 | | |
| |||
226 | 248 | | |
227 | 249 | | |
228 | 250 | | |
| 251 | + | |
229 | 252 | | |
230 | 253 | | |
231 | 254 | | |
| |||
308 | 331 | | |
309 | 332 | | |
310 | 333 | | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
0 commit comments