CronReconcileEntry (cron_reconcile.py)

hermes-recipes · automation

Reconcile recipe-declared cron jobs with the host cron system. Port of the reconciliation algorithm from clawrecipes/src/handlers/cron.ts. The OpenClaw plugin shells out to ``openclaw cron add/edit/list``; the Hermes port hands the same algorithm a ``CronApi`` protocol that Phase

"""Reconcile recipe-declared cron jobs with the host cron system.

Port of the reconciliation algorithm from clawrecipes/src/handlers/cron.ts.
The OpenClaw plugin shells out to ``openclaw cron add/edit/list``; the
Hermes port hands the same algorithm a ``CronApi`` protocol that Phase 6
wires to ``hermes_agent.cron.jobs``.
"""

import time
from dataclasses import dataclass, field
from typing import Any, Literal, Optional, Protocol

from hermes_recipes.cron_translate import HermesCronPayload, translate_recipe_cron
from hermes_recipes.cron_utils import (
    CronMappingEntry,
    CronScope,
    cron_key,
    hash_spec,
)
from hermes_recipes.recipe_frontmatter import CronJobSpec


CronAction = Literal[
    "created", "updated", "unchanged", "disabled-removed"
]


@dataclass(frozen=True)
class 

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search 40K more like it.

Get a free API key