v0.2.0 — provider chat ports
Provider chat ports complete. All four providers now offer live, tool-use-capable chat behind the app-neutral interfaces, with the full live integration suite (simple-chat + tool-use, every provider) green as the Maestro cut-over acceptance gate.
Added since v0.1.0
llms/providers/openai— OpenAI chat via the Responses API (structured message / function_call / function_call_output items; honors callerToolChoice)llms/providers/google— Gemini chat via genai (stateless / concurrency-safe; real finish reason + usage)llms/providers/ollama— hand-rolled/api/chatclient, no SDK dependency (avoids the ollama module's unfixed CVEs); rawdone_reason+ token usage- Shared error classifier (
apierr) — typed HTTP-status classification across anthropic + openai + google + ollama - Live integration suite — build-tagged tests for all four providers, each with simple-chat and a full tool-use round trip; OS-aware
make test-integration(macOS ad-hoc codesign path, Linux/CI plaingo test); manualworkflow_dispatchCI docs/MAESTRO_DIVERGENCES.md— living cut-over acceptance checklist
Deferred to v0.3 (not in this release)
Middleware: retry, timeout, circuit, metrics, validation. Shipped middleware remains ChainChat/ChainEmbeddings, token estimator, and ratelimit (from v0.1).
Pre-1.0: v0.x minor versions may break.