feat(automations): add schedule trigger source, selector and inputs

This commit is contained in:
CREDO23 2026-05-29 17:49:12 +02:00
parent f293aa6bdf
commit b1642993ba
3 changed files with 229 additions and 0 deletions

View file

@ -0,0 +1,27 @@
"""Build run inputs from a schedule fire."""
from __future__ import annotations
from datetime import datetime
from typing import Any
def schedule_runtime_inputs(
*,
fired_at: datetime,
scheduled_for: datetime,
previous_last_fired_at: datetime | None,
) -> dict[str, Any]:
"""Calendar context for a scheduled run.
- ``fired_at`` actual fire time
- ``scheduled_for`` cron-derived target time for this fire
- ``last_fired_at`` previous fire time, or null on first fire
"""
return {
"fired_at": fired_at.isoformat(),
"scheduled_for": scheduled_for.isoformat(),
"last_fired_at": (
previous_last_fired_at.isoformat() if previous_last_fired_at else None
),
}