fabro/test
Bryan Helmkamp 91d11eb04d
fix(llm): preserve raw compatible tool arguments (#448)
## Summary

Fixes #435.

Preserve raw non-JSON tool-call arguments for custom/freeform tools when
using the OpenAI-compatible Chat Completions adapter. This keeps
`apply_patch` receiving the raw patch text instead of `{}` when
LiteLLM/openai-compatible providers emit Codex-style freeform patch
calls.

Also extends the OpenAI twin so black-box tests can exercise the Chat
Completions path with raw tool-call arguments.

## Test Plan

- `cargo +nightly-2026-04-14 fmt --check --all`
- `cargo nextest run -p fabro-agent --test it
openai_compatible_twin_preserves_raw_apply_patch_arguments --run-ignored
only`
- `cargo nextest run -p fabro-llm`
- `cargo nextest run -p fabro-test`
2026-05-28 11:52:36 -04:00
..
analysis feat(test): add DuckDB diff query for bench-tests CSVs 2026-04-28 09:27:05 -07:00
attractor refactor(types): remove stage status compatibility 2026-04-30 06:48:47 -04:00
bin feat(release): support prerelease builds 2026-04-14 15:43:00 -04:00
docs Remove retired OpenAI catalog models 2026-05-24 11:40:35 -04:00
dot-compatibility fix(graph): support dotted Fabro graph attributes (#324) 2026-05-20 09:31:08 -04:00
templated_inputs fix(validate): pick up sibling workflow.toml inputs for bare .fabro path (#242) 2026-05-12 12:05:21 -04:00
templated_unbound_imported fix(validate): treat undefined template vars in @file prompts as warnings (#290) 2026-05-16 17:31:22 -04:00
templated_unbound_partial feat(template): resolve template error locations (#333) 2026-05-20 20:15:04 -04:00
templates fix(workflow): allow workflow-root template partials (#322) 2026-05-20 09:22:28 -04:00
twin fix(llm): preserve raw compatible tool arguments (#448) 2026-05-28 11:52:36 -04:00
branching.fabro refactor(types): remove stage status compatibility 2026-04-30 06:48:47 -04:00
conditions.fabro refactor(types): remove stage status compatibility 2026-04-30 06:48:47 -04:00
invalid.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00
legacy_tool.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00
parallel.fabro Attractor spec hunks 14 & 16: remove error_policy and k_of_n/quorum from parallel handler 2026-03-23 14:59:35 -04:00
simple.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00
styled.fabro Rename .dot files to .fabro and update all references 2026-03-13 22:27:19 -04:00
templated_unbound.fabro fix(validate): pick up sibling workflow.toml inputs for bare .fabro path (#242) 2026-05-12 12:05:21 -04:00