agnes-the-ai-analyst/connectors
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
..
bigquery Fix: don't update last_sync when partitioned sync gets 0 new rows 2026-03-16 23:01:35 +01:00
jira Branding cleanup: remove Keboola-specific references from docs and config 2026-03-09 12:22:27 +01:00
keboola Add self-service data onboarding system 2026-03-09 14:25:37 +01:00
llm Add modular LLM connector for Corporate Memory 2026-03-23 12:08:33 +01:00
openmetadata Use data_product config for metric discovery instead of filter_tag in webapp 2026-03-18 16:10:15 +01:00
__init__.py Extract Jira into connectors/jira module 2026-03-09 11:17:50 +01:00