Replace hardwired Anthropic API calls with a pluggable provider system. Each deployment configures its AI provider in instance.yaml — switching between Anthropic, LiteLLM, OpenRouter, or any OpenAI-compatible proxy is a config change, not a code change. New connectors/llm/ module: - StructuredExtractor Protocol with extract_json() interface - AnthropicExtractor: direct Anthropic SDK with retry + backoff - OpenAICompatExtractor: any OpenAI-compatible proxy with three-layer structured output fallback (json_schema -> json_object -> prompt) - Configurable structured_output policy (strict/json/auto) - Custom exception hierarchy (auth/rate_limit/timeout/format/refusal) - Zero secrets in logs: no API keys, prompts, or responses logged Reviewed by: Google Gemini, Claude Sonnet, OpenAI GPT-5.4. Security audit passed with all critical findings resolved. |
||
|---|---|---|
| .. | ||
| future | ||
| metrics/revenue | ||
| setup | ||
| testing | ||
| architecture.md | ||
| auto-install.md | ||
| CONFIGURATION.md | ||
| DATA_SOURCES.md | ||
| DEPLOYMENT.md | ||
| llm-routing.md | ||
| PLAN.md | ||
| QUICKSTART.md | ||
| sample-data.md | ||
| theme-reference.html | ||