diff --git a/services/meet_kevin_watcher/__init__.py b/services/meet_kevin_watcher/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/services/meet_kevin_watcher/config.py b/services/meet_kevin_watcher/config.py new file mode 100644 index 0000000..7d3dbd5 --- /dev/null +++ b/services/meet_kevin_watcher/config.py @@ -0,0 +1,31 @@ +"""Configuration for the Meet Kevin watcher service.""" + +from shared.config import BaseConfig + + +class MeetKevinWatcherConfig(BaseConfig): + """Meet Kevin watcher settings. + + Extends :class:`BaseConfig` with YouTube channel monitoring, + caption fetching, and LLM analysis settings. All settings can be + overridden via environment variables prefixed with ``TRADING_``. + """ + + # YouTube settings + meet_kevin_channel_id: str = "UCUvvj5lwue7PspotMDjk5UA" + meet_kevin_poll_interval_seconds: int = 10800 + meet_kevin_max_caption_retries: int = 5 + + # LLM analysis settings + meet_kevin_max_llm_retries: int = 3 + meet_kevin_llm_model: str = "claude-sonnet-4-6" + meet_kevin_prompt_version: str = "v1" + meet_kevin_daily_cost_cap_usd: float = 5.0 + + # API credentials + anthropic_api_key: str = "" + + # Runtime settings + meet_kevin_workdir: str = "/tmp/meet_kevin_captions" + otel_service_name: str = "meet-kevin-watcher" + otel_metrics_port: int = 9097