Skip to content

morning_digest

morning_digest

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)