agnes-the-ai-analyst/services
Petr 95358448e6 Add modular LLM connector for Corporate Memory
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.
2026-03-23 12:08:33 +01:00
..
catalog_refresh/systemd Add scheduled data sync and catalog refresh with systemd timers 2026-03-15 02:16:31 +01:00
corporate_memory Add modular LLM connector for Corporate Memory 2026-03-23 12:08:33 +01:00
data_refresh/systemd Fix systemd NAMESPACE failures caused by missing ReadWritePaths dirs 2026-03-15 11:40:11 +01:00
session_collector Move standalone services from server/ to services/ 2026-03-09 12:54:30 +01:00
telegram_bot Move standalone services from server/ to services/ 2026-03-09 12:54:30 +01:00
ws_gateway Move standalone services from server/ to services/ 2026-03-09 12:54:30 +01:00
__init__.py Move standalone services from server/ to services/ 2026-03-09 12:54:30 +01:00