Skip to main content

CRON_CREATE_TOOL

Constant CRON_CREATE_TOOL 

Source
pub(crate) const CRON_CREATE_TOOL: &str = r#"{
  "name": "CronCreate",
  "description": "AgentMux's own cross-agent cron — NOT the same tool as the native (non-mcp__agentmux__-prefixed) CronCreate your harness may also expose, which schedules only your own session's future turn. Use this one specifically to target a DIFFERENT agent (or when you need AgentMux-persisted delivery independent of any single session). Creates a persistent scheduled cron job that survives agent pane restarts. Fires the prompt on a UTC cron schedule by injecting it into the target agent. Unlike Loop, cron jobs persist as long as agentmux-srv is running. Returns a job id and the next scheduled fire time. If you're scheduling your OWN future turn instead, prefer the native CronCreate/ScheduleWakeup tools — no cross-agent envelope overhead.",
  "inputSchema": {
    "type": "object",
    "properties": {
      "name":       { "type": "string",  "description": "Human-readable label for the job (e.g. 'daily-standup-check')" },
      "expression": { "type": "string",  "description": "5-field UTC cron expression: 'min hour dom month dow' (e.g. '0 9 * * 1-5' = 9am weekdays). Standard cron syntax; ranges, lists, and step values are supported." },
      "prompt":     { "type": "string",  "description": "The prompt or slash command to inject at each scheduled fire" },
      "to":         { "type": "string",  "description": "Target agent, by name or by uid. Required. A name held by several agents is refused with the candidates; retry with the uid — the job then fires by uid, so renaming the agent later cannot break it." },
      "max_fires":  { "type": "integer", "description": "Auto-disable after this many fires (the job row stays in DB for audit; use CronDelete to remove it). Omit for unlimited." },
      "max_age_secs": { "type": "integer", "description": "Auto-disable this many seconds after creation, regardless of fire count (a hard staleness/stuck-loop bound, matching the spirit of native CronCreate's 7-day auto-expiry). Omit for no expiry — appropriate for genuinely long-running cross-agent automations; set this when babysitting something that should have a natural end (e.g. 'stop checking this PR after 6 hours even if it's still open')." }
    },
    "required": ["name", "expression", "prompt", "to"]
  }
}"#;