trading/tests/services
Viktor Barzin 8a1d03a967 refactor(meet-kevin): switch LLM back to native Anthropic SDK with OAuth bearer
Previous refactor (89f01ad) moved to OpenRouter because no sk-ant-api-* key
was found in Vault. Turns out claude-agent-service-spare-{1,2} hold
sk-ant-oat01-* OAuth tokens (108 chars, scope user:inference, 1-year TTL,
minted via 'claude setup-token' — see memory id=832).

These tokens work with the Anthropic SDK via the auth_token= constructor
argument (routes to Authorization: Bearer ... instead of x-api-key: ...).
They consume the Enterprise Claude subscription quota rather than
per-call billing, so the OpenRouter zero-credit problem goes away.

- llm_analyzer.py: revert OpenAI client to AsyncAnthropic; tool-use API
  + cache_control restored
- config.py: openrouter_api_key -> anthropic_oauth_token; model slug
  reverted from anthropic/claude-sonnet-4.5 -> claude-sonnet-4-5
- main.py: AsyncOpenAI -> AsyncAnthropic(auth_token=...), drop OpenRouter
  attribution headers
- pyproject: openai>=1.50 -> anthropic>=0.40 in meet_kevin extras
- tests: mocks ported back to messages.create + tool_use blocks
2026-05-22 19:24:40 +00:00
..
meet_kevin_watcher refactor(meet-kevin): switch LLM back to native Anthropic SDK with OAuth bearer 2026-05-22 19:24:40 +00:00
__init__.py feat: sentiment analyzer — FinBERT + Ollama tiered analysis 2026-02-22 15:27:06 +00:00
test_api_auth.py feat: API gateway with passkey (WebAuthn) authentication 2026-02-22 15:53:48 +00:00
test_api_routes.py feat: productionize local service — fix signal pipeline, lower thresholds, add company-name ticker extraction 2026-02-22 22:17:26 +00:00
test_learning_engine.py feat: learning engine — multi-armed bandit strategy weight adjustment 2026-02-22 15:43:11 +00:00
test_market_data.py feat: productionize local service — fix signal pipeline, lower thresholds, add company-name ticker extraction 2026-02-22 22:17:26 +00:00
test_news_fetcher.py feat: news fetcher service — RSS and Reddit sources 2026-02-22 15:25:27 +00:00
test_portfolio_sync.py fix: resolve all remaining TODOs, add dev mode auth bypass 2026-02-25 22:02:25 +00:00
test_sentiment_analyzer.py feat: real data pipeline — market data, DB persistence, portfolio sync, signal-trade linkage 2026-02-22 19:52:45 +00:00
test_signal_generator.py feat: real data pipeline — market data, DB persistence, portfolio sync, signal-trade linkage 2026-02-22 19:52:45 +00:00
test_trade_executor.py fix: resolve all remaining TODOs, add dev mode auth bypass 2026-02-25 22:02:25 +00:00