Installation
Install this tool individually:Configuration
Prerequisites
No external dependencies beyondcron-parser (bundled). Requires beige ≥ 0.1.3 for agent identity injection (BEIGE_AGENT_NAME).
Action Types
Trigger Types
Commands
Optional flags for
create:
How It Works
Schedule files are stored as individual JSON files atstoragePath/schedules/<id>.json. A background tick loop starts with the gateway (start()) and wakes up every tickInterval seconds to scan active schedules. Any schedule whose nextRun is in the past is executed immediately.
- prompt / message-file: a fresh session is created for each run and
ctx.prompt()is called with the scheduling agent as the target. Each run produces an independent conversation. - exec: the command is run via
child_process.execFilewithshell: trueon the gateway host.
storagePath/history/ after every execution, regardless of success or failure. The tick loop also fires once at gateway startup to catch any schedules that became due while the gateway was offline.
Concurrency
Different schedules run in parallel — a slow schedule A will never block schedule B from firing on time. However, each individual schedule can only have one execution in flight at a time. If a schedule’s previous execution is still running when the next tick finds it due again, that window is simply skipped (no catch-up). This prevents resource exhaustion from a single schedule while keeping independent schedules responsive.Storage Layout
ctx.dataDir), the default is ~/.beige/plugins/schedule/.
Security Model
Error Reference
Implementation Details
- Target: Gateway (runs on the host, not in the sandbox)
- Storage: One JSON file per schedule; atomic rename-writes to prevent partial reads
- Dependency:
cron-parserfor cron expression parsing and timezone-aware next-run computation
