Skip to main content
The package is the only place croner is imported in the monorepo. Every other consumer, the Routines ledger, the ticker, the REST layer, deals in precomputed epoch-ms timestamps, so swapping the tick library changes exactly one file (occurrence.ts).
A Routine cron spec is either a croner-parseable cron expression (5/6-field) or a one-shot once@<ISO-8601>. The richer canonical cronSpec on a ScheduleRecord also encodes the Gateway’s every:<ms> / at:<iso> / @tz:<tz> forms via encodeCronSpec.

Public API

Every export below comes from the . barrel (src/index.ts). There are no subpath exports.

Functions

Types & interfaces

Classes

Errors

All extend Error and carry a readonly code for structural branching (never message prose).

Constants

Used by

Only apps/web depends on @clawboo/scheduler. @clawboo/db deliberately takes no dependency on it (board/ledger rows carry precomputed epoch-ms). Server consumers:
  • apps/web/server/lib/routines/, ticker.ts, wakeBridge.ts, openclawDispatch.ts (the Routines actuator).
  • apps/web/server/lib/scheduleSource/, registry.ts, clawbooRoutineScheduleSource.ts, openClawGatewayCronScheduleSource.ts (the two concrete ScheduleSource implementations).
  • apps/web/server/api/schedules.ts, the /api/schedules* REST surface.
  • apps/web/src/features/scheduler/scheduleHelpers.ts + apps/web/src/lib/schedulesClient.ts, the SPA scheduler tab (the types cross into the browser, which is why the package stays browser-safe).

Source

Barrel: packages/scheduler/src/index.ts. Modules: errors.ts, spec.ts, occurrence.ts, template.ts, records.ts, source.ts, multiplexer.ts.

See also

Last modified on August 8, 2026