Morning Digest Agent — synthesizes a daily briefing from multiple sources.
Thin orchestrator that delegates to digest_collect (data fetching),
the LLM (narrative synthesis), and text_to_speech (audio generation).
Classes
MorningDigestAgent
MorningDigestAgent(*args: Any, **kwargs: Any)
Bases: ToolUsingAgent
Pre-compute a daily digest from configured data sources.
Source code in src/openjarvis/agents/morning_digest.py
| def __init__(self, *args: Any, **kwargs: Any) -> None:
# Extract digest-specific kwargs before passing to parent
self._persona = kwargs.pop("persona", "jarvis")
self._sections = kwargs.pop(
"sections", ["messages", "calendar", "health", "world"]
)
self._section_sources = kwargs.pop("section_sources", {})
self._timezone = kwargs.pop("timezone", "America/Los_Angeles")
self._voice_id = kwargs.pop("voice_id", "")
self._voice_speed = kwargs.pop("voice_speed", 1.0)
self._tts_backend = kwargs.pop("tts_backend", "cartesia")
self._digest_store_path = kwargs.pop("digest_store_path", "")
self._honorific = kwargs.pop("honorific", "sir")
super().__init__(*args, **kwargs)
|