chat_completions reads capabilities once and threads them into both passes of the re-route; 422s name vision/json-mode; a pinned model that can't satisfy the request gets a clear 422. The local_vision fallback (off by default) answers image requests that find no cloud vision candidate, rejecting remote image URLs as an SSRF guard and refusing empty answers rather than returning a 200. estimate_prompt_tokens now counts tool definitions. Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
6.9 KiB
6.9 KiB