@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.
- package/README.md +45 -0
- 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.
|
|
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.
|
|
28
|
+
"@sentry/junior-plugin-api": "0.101.0"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/node": "^25.9.1",
|