zeroclaw/src/providers
Vernon Stinebaker 3b0133596c feat(providers): add native tool calling for OpenAI-compatible providers
Implement chat_with_tools() on CompatibleProvider so OpenAI-compatible
endpoints (OpenRouter, local LLMs, etc.) can use structured tool calling
instead of prompt-injected tool descriptions.

Changes:
- CompatibleProvider: capabilities() reports native_tool_calling, new
  chat_with_tools() sends tools in API request and parses tool_calls
  from response, chat() bridges to chat_with_tools() when ToolSpecs
  are provided
- RouterProvider: chat_with_tools() delegation with model hint resolution
- loop_.rs: expose tools_to_openai_format as pub(crate), add
  tools_to_openai_format_from_specs for ToolSpec-based conversion

Adds 9 new tests and updates 1 existing test.
2026-02-18 18:06:36 +08:00
..
anthropic.rs feat(providers): add warmup() for OpenAI, Anthropic, Gemini, Compatible, GLM 2026-02-18 14:35:03 +08:00
compatible.rs feat(providers): add native tool calling for OpenAI-compatible providers 2026-02-18 18:06:36 +08:00
copilot.rs fix(copilot): add proper OAuth device-flow authentication 2026-02-17 21:51:58 +08:00
gemini.rs feat(providers): add warmup() for OpenAI, Anthropic, Gemini, Compatible, GLM 2026-02-18 14:35:03 +08:00
glm.rs feat(providers): add warmup() for OpenAI, Anthropic, Gemini, Compatible, GLM 2026-02-18 14:35:03 +08:00
mod.rs fix(auth): rebase PR #200 onto main and restore auth CLI flow 2026-02-18 12:57:44 +08:00
ollama.rs feat(ollama): unify local and remote endpoint routing 2026-02-17 22:52:09 +08:00
openai.rs fix(providers): harden reasoning_content fallback behavior 2026-02-18 17:07:38 +08:00
openai_codex.rs fix(auth): rebase PR #200 onto main and restore auth CLI flow 2026-02-18 12:57:44 +08:00
openrouter.rs fix(security): resolve rebase conflicts and provider regressions 2026-02-17 19:19:06 +08:00
reliable.rs readd tests, remove markdown files 2026-02-18 14:42:39 +08:00
router.rs feat(providers): add native tool calling for OpenAI-compatible providers 2026-02-18 18:06:36 +08:00
traits.rs fix(build): complete strict lint and test cleanup (replacement for #476) 2026-02-18 00:18:54 +08:00