You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First-class Azure OpenAI provider: deployment-based model case .azureOpenAI, Azure-specific URL/header/query wiring (api-version, api-key or bearer token), env overrides (AZURE_OPENAI_API_KEY, AZURE_OPENAI_BEARER_TOKEN, AZURE_OPENAI_ENDPOINT/RESOURCE, AZURE_OPENAI_API_VERSION), and README guidance.
Azure provider unit tests using URLProtocol stubs to verify path, query, and auth header construction.
Changed
Added OpenAI's GPT-5.1 family (flagship/mini/nano) throughout the model enums, selectors, provider factories, capability registry, pricing tables, docs, and test suites. GPT aliases (gpt, gpt-5, gpt-4o) now normalize to .openai(.gpt51) so downstream apps inherit the new default seamlessly.
Expanded xAI Grok support to the full November 2025 catalog (grok-4-fast-*, grok-code-fast-1, grok-2-*, grok-vision-beta, etc.), updated the CLI shortcuts so grok now maps to grok-4-fast-reasoning, and refreshed selectors, provider parsers, capability tables, and docs snippets to match the official API lineup.
Google/Gemini support now targets the Gemini 2.5 family exclusively (gemini-2.5-pro, gemini-2.5-flash, gemini-2.5-flash-lite), with updated model selectors, parsers, docs, and pricing tables; older 1.5/2.0 IDs are no longer recognized.
Removed deprecated OpenAI reasoning models (o1, o1-mini, o3, o3-mini) in favour of the GPT-5 family plus o4-mini, updating enums, provider factories, capability tables, prompts, and documentation metadata accordingly.
Google/Gemini integration now uses the documented x-goog-api-key header with alt=sse streaming, adds fallbacks for GOOGLE_API_KEY / GOOGLE_APPLICATION_CREDENTIALS, and hardens the SSE decoder so live tests succeed consistently.
Pruned Anthropic model support to the Claude 4.x line (Opus 4, Sonnet 4 / 4.5, Haiku 4.5) to match current API availability and reduce maintenance burden.
TachikomaConfiguration now loads credentials first and lets environment variables override them so operators can supersede stored settings without editing credentials files.
TachikomaConfiguration can optionally override the provider factory so test harnesses can inject mock providers without affecting production defaults, improving hermetic test runs.
Implemented OpenRouter, Together, Replicate, and Anthropic-compatible providers on top of the shared helpers so aggregator models no longer throw "not yet implemented" errors and honour custom base URLs/headers.
Provider.environmentValue falls back to classic getenv lookups when the modern configuration reader returns no value, ensuring environment overrides succeed on macOS 14 deployments.
Provider environment reads now use direct process environment lookups, so test overrides and runtime unsets behave deterministically across SwiftPM/Xcode runs.
Fixed
MCP bridge conversions now handle embedded resources and resource links from swift-sdk 0.11, and test helpers no longer swap mock keys for live environment credentials during provider/audio suites.
retryWithCancellation now registers token handlers per-attempt and cancels in-flight work, resolving hangs when external cancellation should short-circuit retries.
Audio provider tests and helpers consistently force mock mode when exercising stub audio payloads, preventing accidental live API calls that fail to decode fixtures.
TestHelpers expose discardable configuration helpers and stricter mock-key detection, reducing compiler warnings and flaky skips.
OpenAI transcription timestamp tests no longer hit the live API and succeed reliably under both mock and real key configurations.
Google provider API-key resolution no longer treats GOOGLE_APPLICATION_CREDENTIALS file paths as credential strings.
Anthropic OAuth login token exchange now uses the correct request format (JSON body + state). Thanks @jonathanglasmeyer.
Testing
Added dedicated Grok catalog tests (selector + capability assertions) plus provider factory/e2e coverage so every supported xAI model is exercised in mock suites without hitting the live API.
Integration suites now respect real API keys loaded from the environment, covering Anthropic Sonnet 4 tool-calling, OpenAI GPT-5 responses, Grok/Grok vision flows, and Google/Mistral smoke tests.
Full INTEGRATION_TESTS=1 swift test runs complete without recorded issues, including agent ergonomics and audio suites.
Added provider-level network E2E coverage using local URLProtocol stubs plus new OpenAI Responses API tests (request encoding + streaming) so critical serialization paths are exercised without live traffic.
ProviderEndToEndTests now exercise every provider flavor (OpenRouter/Together/Replicate, OpenAI/Anthropic compatible, etc.), pushing overall line coverage above 40% while keeping the suite deterministic via URLProtocol stubs.