@sentry/junior-scheduler 0.100.0 → 0.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +45 -0
  2. package/package.json +2 -2
package/README.md ADDED
@@ -0,0 +1,45 @@
1
+ # @sentry/junior-scheduler
2
+
3
+ The scheduler plugin stores user-created schedules and dispatches due work into
4
+ Junior's durable agent runtime.
5
+
6
+ ## Task Model
7
+
8
+ - A scheduled task records its creator, execution actor, Slack destination,
9
+ prompt text, timezone-aware schedule, recurrence, status, and next-run state.
10
+ - SQL schemas and migrations are authoritative for persistence.
11
+ - Schedule parsing normalizes calendar intent before storage; execution does not
12
+ reinterpret the original natural-language request.
13
+ - Updates and deletion invalidate obsolete pending run times.
14
+
15
+ ## Dispatch
16
+
17
+ - Heartbeat claims a bounded number of due runs.
18
+ - Claiming and completion transitions are atomic and safe to retry.
19
+ - Each run dispatches with explicit source, destination, creator attribution,
20
+ execution actor, metadata, and idempotency identity.
21
+ - A deleted, paused, or rescheduled task is skipped when its claimed run no
22
+ longer matches current task state.
23
+ - Dispatch completion, failure, or blocking updates both the run and the task's
24
+ next-run state.
25
+ - Missed recurring work advances according to the stored calendar rather than
26
+ creating an unbounded catch-up burst.
27
+
28
+ ## Authority
29
+
30
+ - Creation requires the active Slack actor and destination.
31
+ - Stored creator attribution does not automatically authorize use of another
32
+ user's provider credentials.
33
+ - Execution uses the sanitized principal and explicit credential subject carried
34
+ by the scheduled task contract.
35
+ - User-visible schedule management remains scoped to the active Slack context.
36
+
37
+ ## Operations
38
+
39
+ The plugin exposes create, update, delete, list, and run-now tools plus bounded
40
+ operational reporting. Generate schema changes with
41
+ `pnpm --filter @sentry/junior-scheduler db:generate`.
42
+
43
+ Follow `../../policies/serverless-background-work.md`,
44
+ `../../policies/context-bound-systems.md`, and
45
+ `../junior-plugin-api/README.md`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sentry/junior-scheduler",
3
- "version": "0.100.0",
3
+ "version": "0.101.0",
4
4
  "private": false,
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -25,7 +25,7 @@
25
25
  "dependencies": {
26
26
  "drizzle-orm": "^0.45.2",
27
27
  "zod": "^4.4.3",
28
- "@sentry/junior-plugin-api": "0.100.0"
28
+ "@sentry/junior-plugin-api": "0.101.0"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^25.9.1",