Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .changeset/scheduler-kit-v0-1-0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
"@ciscode/scheduler-kit": minor
---

Initial feature release v0.1.0.

- `SchedulerModule` with `register()` and `registerAsync()` for synchronous and factory-based configuration
- `SchedulerService` with dynamic `schedule()`, `unschedule()`, `reschedule()`, `list()`, `status()`, and `listStatus()` API
- `@Cron`, `@Interval`, and `@Timeout` method decorators for declarative job definitions
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Before publishing v0.1.0, ensure the runtime dependency on the cron package is declared for consumers (it’s imported by SchedulerService, but currently appears only under devDependencies). Otherwise installs of @ciscode/scheduler-kit may fail at runtime with Cannot find module 'cron'.

Suggested change
- `@Cron`, `@Interval`, and `@Timeout` method decorators for declarative job definitions
- `@Cron`, `@Interval`, and `@Timeout` method decorators for declarative job definitions
- Declared `cron` as a runtime dependency required by `SchedulerService` and `@Cron` to prevent consumer runtime resolution errors

Copilot uses AI. Check for mistakes.
- Automatic concurrency guard — overlapping executions are silently skipped
- Per-job error isolation — handler errors are caught and reported; the scheduler continues running
- `CronExpression` enum of named cron constants
- `cron()` fluent builder with `at()`, `on()`, and `everyMinutes()` helpers
Copy link

Copilot AI Apr 10, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The changeset describes a cron() builder with at(), on(), and everyMinutes() helpers, but the current public API exports cron (const) with every(n).minutes()/hours(), dailyAt(), weekdaysAt(), weekendsAt(), weeklyOn(), and monthlyOn(). Please correct this entry so the release notes match the shipped API.

Suggested change
- `cron()` fluent builder with `at()`, `on()`, and `everyMinutes()` helpers
- `cron` scheduling helpers with `every(n).minutes()/hours()`, `dailyAt()`, `weekdaysAt()`, `weekendsAt()`, `weeklyOn()`, and `monthlyOn()`

Copilot uses AI. Check for mistakes.
- `DuplicateJobError` thrown when scheduling a job with an already-registered name
- Full TypeScript types: `IScheduler`, `ScheduledJob`, `ScheduledJobStatus`, `ScheduleTiming`, `CronSchedule`, `IntervalSchedule`, `TimeoutSchedule`
Loading
Loading