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>
This commit is contained in:
@@ -27,9 +27,15 @@ majordomo Registry, Parse, env-DSN loading, chain executor, re-exports
|
||||
llm/ canonical contract: Message/Part/Request/Response/Option,
|
||||
Tool/Toolbox, Capabilities, Stream, Model, Provider, errors
|
||||
health/ clock-injected health tracker (bench/backoff)
|
||||
media/ image normalization to target capabilities (Phase 3)
|
||||
media/ image normalization to target capabilities (sniff real
|
||||
format, downscale, transcode, byte ladder; ErrUnsupported
|
||||
for what can't fit) — chains normalize PER TARGET
|
||||
provider/fake/ scriptable in-memory provider for hermetic tests
|
||||
provider/{openai,anthropic,ollama,google}/ (Phases 3-4)
|
||||
provider/openai/ Chat Completions client (+ all OpenAI-compat targets)
|
||||
provider/anthropic/ Messages API client (+ Anthropic-compat targets)
|
||||
provider/ollama/ one native /api/chat client serving the ollama,
|
||||
ollama-cloud, and foreman built-ins via presets
|
||||
provider/google/ Gemini on the official genai SDK (Phase 4)
|
||||
agent/ Agent run loop (Phase 5)
|
||||
skill/ Skill interface + composition (Phase 6)
|
||||
examples/ one runnable example per hard requirement (Phase 7-8)
|
||||
|
||||
Reference in New Issue
Block a user