Real GenAIClient for the production pipeline. Sends `format=<pydantic JSON schema>`, `stream=false`, and mapped options (`temperature`; drops `reasoning_effort`). Content-parts lists joined to a single string since MVP models don't speak native content-parts. Error mapping per spec: connection/timeout/5xx → IX_002_000, schema violations → IX_002_001. `selfcheck()` probes /api/tags with a fixed 5 s timeout for /healthz. Tests: 10 hermetic pytest-httpx unit tests; 2 live tests gated on IX_TEST_OLLAMA=1 (never run in CI). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 lines
Python
0 lines
Python