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