mirror of
https://github.com/BerriAI/litellm.git
synced 2026-08-28 05:25:59 +00:00
These three cells were failing for reasons unrelated to LiteLLM translation: - vision: tests passed `--image <path>`, a flag that no longer exists in Claude Code 2.x (image attachment is now via the Files API or via `--input-format stream-json` with inline content blocks). Rewrite the cells to feed an Anthropic-shaped user message containing both text and a base64 `image` content block through stdin in stream-json mode. Hermetic — no temp file or Files API upload needed. - extended_thinking: tests set `MAX_THINKING_TOKENS=4096` as an env var, which Claude Code 2.x ignores. Switch to `--effort max` (the current CLI knob) and use a non-trivial prompt (3-gallon / 5-gallon jug puzzle). With trivial arithmetic the modern Sonnet/Opus tiers optimize away the thinking step and arrive without a thinking block, which made the test silently false-fail. - web_search: assertion looked for `server_tool_use` / `web_search_tool_result` blocks, but Claude Code's `WebSearch` is a *client-side* tool: the CLI executes the search itself and feeds the result back as a regular `tool_result` block. The Anthropic server-side `web_search_20250305` tool only fires when injected into the request directly (which the CLI does not do). Update the assertion to look for a `tool_use` block whose name is `WebSearch` — that's the right signal that the proxy preserved both the request-side tool definition and the response-side tool_use block end-to-end. Driver change required to support stream-json input + variadic flags: - cli_driver: insert `--` before the prompt positional. Variadic flags like `--allowed-tools <tools...>` (commander.js) greedily consume every following token, so the prompt was being eaten as a tool name and the CLI would error out with "Input must be provided either through stdin or as a prompt argument when using --print". - cli_driver: thread a `stdin_input` parameter through `run_claude` and `run_claude_models_parallel` so the vision rewrite can pipe stream-json events to the CLI on stdin. Validated end-to-end against a live LiteLLM proxy: all three Anthropic cells now pass on Haiku 4.5, Sonnet 4.6, and Opus 4.7. Driver unit tests (120) still green. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_anthropic.py | ||
| test_azure.py | ||
| test_bedrock_converse.py | ||
| test_bedrock_invoke.py | ||
| test_vertex_ai.py | ||