steve
|
043249e0e1
|
feat: OpenAI, Anthropic, and native-Ollama providers + media pipeline
Phase 3:
- provider/openai: Chat Completions for OpenAI + compat endpoints (SSE
streaming with by-index tool-call assembly, response_format json_schema,
legacy max_tokens option, reasoning_effort)
- provider/anthropic: Messages API (tool_use/tool_result, GA structured
output via output_config.format, full SSE event parser, 529 transient)
- provider/ollama: one native /api/chat client behind the ollama,
ollama-cloud, and foreman built-ins (presets; NDJSON streaming tolerant
of foreman's buffered single-object responses; object tool arguments;
format-schema structured output; think mapping)
- media/: capability normalization (sniff, downscale, transcode, byte
ladder, ErrUnsupported), wired into the chain executor per target with
penalty-free advance past incapable elements
- registry: real provider + scheme wiring, WithHTTPClient option, required
env-foreman TLS chat round-trip test
- ADR-0009 multimodal strategy, ADR-0010 tools/structured mapping; README
matrix + CLAUDE.md synced
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-10 12:58:08 +02:00 |
|
steve
|
0d0e8e069e
|
test: deterministic failover matrix — cooldown re-admission, alias chains, policies
Phase 2: proves ADR-0006/0008 semantics end to end with the fake provider
and fake clock (cooldown expiry, backoff growth, inline-alias failover,
permanent-error policies, retry budgets, bench-mid-request, exhaustion
reporting, custom classifier, chain-of-one parity).
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
2026-06-10 12:37:32 +02:00 |
|