@warlock.js/queue 5.23.1 → 5.24.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/CHANGELOG.md +103 -91
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,97 +1,109 @@
|
|
|
1
|
-
# Changelog — @warlock.js/queue
|
|
2
|
-
|
|
3
|
-
All notable changes to `@warlock.js/queue` are documented in this file.
|
|
4
|
-
|
|
5
|
-
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). `@warlock.js/*` packages are released in lockstep — every package shares the same version number, so a version below may list only the changes that affected this package.
|
|
6
|
-
|
|
1
|
+
# Changelog — @warlock.js/queue
|
|
2
|
+
|
|
3
|
+
All notable changes to `@warlock.js/queue` are documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). `@warlock.js/*` packages are released in lockstep — every package shares the same version number, so a version below may list only the changes that affected this package.
|
|
6
|
+
|
|
7
|
+
## 5.24.0 - 2026-09-27
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Lockstep release; package APIs are unchanged.
|
|
12
|
+
|
|
13
|
+
## 5.23.2 - 2026-09-26
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
- Lockstep patch release; package APIs are unchanged.
|
|
18
|
+
|
|
7
19
|
## 5.23.1 - 2026-09-26
|
|
8
20
|
|
|
9
21
|
### Changed
|
|
10
22
|
|
|
11
23
|
- Lockstep patch release; package APIs are unchanged.
|
|
12
24
|
|
|
13
|
-
## 5.23.0 - 2026-09-25
|
|
14
|
-
|
|
15
|
-
### Added
|
|
16
|
-
|
|
17
|
-
- `defineQueueContext()` / `setQueueContext()`: capture ambient state (tenant, request id) at `dispatch` and restore it around the job handler. The captured value travels in a versioned envelope; jobs without one still run. Exposed as `ctx.context`. Opt a job out with `context: false`.
|
|
18
|
-
- `UnrecoverableJobError`: throw it from a handler or `restore` to fail the job permanently (mapped to BullMQ's `UnrecoverableError`).
|
|
19
|
-
|
|
20
|
-
## 5.22.1 - 2026-09-25
|
|
21
|
-
|
|
22
|
-
### Changed
|
|
23
|
-
|
|
24
|
-
- Lockstep patch release; package APIs are unchanged.
|
|
25
|
-
|
|
26
|
-
## 5.22.0 - 2026-09-25
|
|
27
|
-
|
|
28
|
-
### Changed
|
|
29
|
-
|
|
30
|
-
- Lockstep release maintenance and dependency refresh.
|
|
31
|
-
|
|
32
|
-
## 5.21.0 - 2026-09-25
|
|
33
|
-
|
|
34
|
-
### Changed
|
|
35
|
-
|
|
36
|
-
- Lockstep release maintenance and dependency refresh.
|
|
37
|
-
## 5.20.0 - 2026-09-24
|
|
38
|
-
|
|
39
|
-
### Changed
|
|
40
|
-
|
|
41
|
-
- Added a package-level skill index and clearer discovery descriptions for grouped agent guidance.
|
|
42
|
-
|
|
43
|
-
## 5.19.0 - 2026-09-23
|
|
44
|
-
|
|
45
|
-
### Changed
|
|
46
|
-
|
|
47
|
-
- Refined package skill-discovery descriptions and regenerated the llms projections.
|
|
48
|
-
|
|
49
|
-
## 5.16.0 - 2026-09-18
|
|
50
|
-
|
|
51
|
-
### Fixed
|
|
52
|
-
|
|
53
|
-
- The failed-jobs dashboard skill sample now includes the connection config and the `authMiddleware` import.
|
|
54
|
-
|
|
55
|
-
## 5.15.0 - 2026-09-18
|
|
56
|
-
|
|
57
|
-
### BREAKING
|
|
58
|
-
|
|
59
|
-
- Removed `@warlock.js/queue/notifications` (`queueNotificationDispatcher`), deprecated in 5.14. Use `bullmqQueue()` from `@warlock.js/notifications` instead. The `@warlock.js/notifications` peer dependency is also dropped, since this was the only thing in the package that needed it.
|
|
60
|
-
|
|
61
|
-
### Fixed
|
|
62
|
-
|
|
63
|
-
- The dashboard guard now ends the request explicitly when a middleware short-circuits, instead of leaving it to Fastify noticing the reply was already sent. The adapter has always returned a "handled" boolean for this; the hook discarded it, so whether an unauthenticated caller reached the dashboard depended on write ordering — a guard answering asynchronously could lose that race.
|
|
64
|
-
|
|
65
|
-
## 5.14.0 - 2026-09-17
|
|
66
|
-
|
|
67
|
-
### Added
|
|
68
|
-
|
|
69
|
-
- `dashboard: { enabled, path, middleware }` in `src/config/queue.ts`: the queue connector mounts Bull Board at boot, guarded by the given middleware.
|
|
70
|
-
- `QueueDashboardUnguardedError`: in production the dashboard refuses to mount without guard middleware, since it can retry and delete jobs.
|
|
71
|
-
- `queueDashboard()` accepts a `middleware` option.
|
|
72
|
-
|
|
73
|
-
### Deprecated
|
|
74
|
-
|
|
75
|
-
- `@warlock.js/queue/notifications` (`queueNotificationDispatcher`): use `bullmqQueue()` from `@warlock.js/notifications`. It still works in 5.14, warns once, and is removed in the next release.
|
|
76
|
-
|
|
77
|
-
### Fixed
|
|
78
|
-
|
|
79
|
-
- The connector registers the queue config when it mounts the dashboard at boot, so an app whose only queue usage is the dashboard no longer fails to start with `QueueNotConfiguredError`.
|
|
80
|
-
- `find(id)` no longer returns a completed job with `result: null` and `attemptsMade: 0` when the job finishes mid-read.
|
|
81
|
-
|
|
82
|
-
## 5.13.0 - 2026-09-17
|
|
83
|
-
|
|
84
|
-
### Added
|
|
85
|
-
|
|
86
|
-
- New package: durable background jobs on BullMQ + Redis. Redis is required.
|
|
87
|
-
- `defineJob({ name, queue, attempts, backoff, removeOnComplete, removeOnFail, handle(payload, ctx) })` returns a typed job with `dispatch(payload, { delay, priority, jobId, attempts, backoff })` and `find(id)`.
|
|
88
|
-
- Job context: `id`, `name`, `queue`, `attempt`, `maxAttempts`, `progress(value)`, `log(line)`.
|
|
89
|
-
- `failedJobs({ queue, start, end })` and `retryFailedJob(id, { queue })`.
|
|
90
|
-
- `queueConnector()` for `warlock.config.ts > connectors`: reads the `queue` config key, starts workers in the app process (turn off with `workers.enabled: false`), and on shutdown waits for active jobs up to `workers.shutdownTimeout` before closing.
|
|
91
|
-
- `setQueueConfig`, `startWorkers`, `closeQueue` for scripts, tests and worker-only processes.
|
|
92
|
-
- `@warlock.js/queue/notifications`: `queueNotificationDispatcher()` sends `@warlock.js/notifications` `.queue()` deliveries through BullMQ, with retries and `delay` support.
|
|
93
|
-
- `queueDashboard(server, { basePath })`: mounts bull-board on Warlock's Fastify server. `@bull-board/api` and `@bull-board/fastify` are optional peers, loaded only when it is called; a missing one throws `QueueDashboardDependencyError`.
|
|
94
|
-
|
|
95
|
-
### Fixed
|
|
96
|
-
|
|
97
|
-
- Portable `typecheck` script: runs against this package's own `typescript` devDependency instead of relying on a hoisted binary from elsewhere in the workspace.
|
|
25
|
+
## 5.23.0 - 2026-09-25
|
|
26
|
+
|
|
27
|
+
### Added
|
|
28
|
+
|
|
29
|
+
- `defineQueueContext()` / `setQueueContext()`: capture ambient state (tenant, request id) at `dispatch` and restore it around the job handler. The captured value travels in a versioned envelope; jobs without one still run. Exposed as `ctx.context`. Opt a job out with `context: false`.
|
|
30
|
+
- `UnrecoverableJobError`: throw it from a handler or `restore` to fail the job permanently (mapped to BullMQ's `UnrecoverableError`).
|
|
31
|
+
|
|
32
|
+
## 5.22.1 - 2026-09-25
|
|
33
|
+
|
|
34
|
+
### Changed
|
|
35
|
+
|
|
36
|
+
- Lockstep patch release; package APIs are unchanged.
|
|
37
|
+
|
|
38
|
+
## 5.22.0 - 2026-09-25
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
|
|
42
|
+
- Lockstep release maintenance and dependency refresh.
|
|
43
|
+
|
|
44
|
+
## 5.21.0 - 2026-09-25
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
|
|
48
|
+
- Lockstep release maintenance and dependency refresh.
|
|
49
|
+
## 5.20.0 - 2026-09-24
|
|
50
|
+
|
|
51
|
+
### Changed
|
|
52
|
+
|
|
53
|
+
- Added a package-level skill index and clearer discovery descriptions for grouped agent guidance.
|
|
54
|
+
|
|
55
|
+
## 5.19.0 - 2026-09-23
|
|
56
|
+
|
|
57
|
+
### Changed
|
|
58
|
+
|
|
59
|
+
- Refined package skill-discovery descriptions and regenerated the llms projections.
|
|
60
|
+
|
|
61
|
+
## 5.16.0 - 2026-09-18
|
|
62
|
+
|
|
63
|
+
### Fixed
|
|
64
|
+
|
|
65
|
+
- The failed-jobs dashboard skill sample now includes the connection config and the `authMiddleware` import.
|
|
66
|
+
|
|
67
|
+
## 5.15.0 - 2026-09-18
|
|
68
|
+
|
|
69
|
+
### BREAKING
|
|
70
|
+
|
|
71
|
+
- Removed `@warlock.js/queue/notifications` (`queueNotificationDispatcher`), deprecated in 5.14. Use `bullmqQueue()` from `@warlock.js/notifications` instead. The `@warlock.js/notifications` peer dependency is also dropped, since this was the only thing in the package that needed it.
|
|
72
|
+
|
|
73
|
+
### Fixed
|
|
74
|
+
|
|
75
|
+
- The dashboard guard now ends the request explicitly when a middleware short-circuits, instead of leaving it to Fastify noticing the reply was already sent. The adapter has always returned a "handled" boolean for this; the hook discarded it, so whether an unauthenticated caller reached the dashboard depended on write ordering — a guard answering asynchronously could lose that race.
|
|
76
|
+
|
|
77
|
+
## 5.14.0 - 2026-09-17
|
|
78
|
+
|
|
79
|
+
### Added
|
|
80
|
+
|
|
81
|
+
- `dashboard: { enabled, path, middleware }` in `src/config/queue.ts`: the queue connector mounts Bull Board at boot, guarded by the given middleware.
|
|
82
|
+
- `QueueDashboardUnguardedError`: in production the dashboard refuses to mount without guard middleware, since it can retry and delete jobs.
|
|
83
|
+
- `queueDashboard()` accepts a `middleware` option.
|
|
84
|
+
|
|
85
|
+
### Deprecated
|
|
86
|
+
|
|
87
|
+
- `@warlock.js/queue/notifications` (`queueNotificationDispatcher`): use `bullmqQueue()` from `@warlock.js/notifications`. It still works in 5.14, warns once, and is removed in the next release.
|
|
88
|
+
|
|
89
|
+
### Fixed
|
|
90
|
+
|
|
91
|
+
- The connector registers the queue config when it mounts the dashboard at boot, so an app whose only queue usage is the dashboard no longer fails to start with `QueueNotConfiguredError`.
|
|
92
|
+
- `find(id)` no longer returns a completed job with `result: null` and `attemptsMade: 0` when the job finishes mid-read.
|
|
93
|
+
|
|
94
|
+
## 5.13.0 - 2026-09-17
|
|
95
|
+
|
|
96
|
+
### Added
|
|
97
|
+
|
|
98
|
+
- New package: durable background jobs on BullMQ + Redis. Redis is required.
|
|
99
|
+
- `defineJob({ name, queue, attempts, backoff, removeOnComplete, removeOnFail, handle(payload, ctx) })` returns a typed job with `dispatch(payload, { delay, priority, jobId, attempts, backoff })` and `find(id)`.
|
|
100
|
+
- Job context: `id`, `name`, `queue`, `attempt`, `maxAttempts`, `progress(value)`, `log(line)`.
|
|
101
|
+
- `failedJobs({ queue, start, end })` and `retryFailedJob(id, { queue })`.
|
|
102
|
+
- `queueConnector()` for `warlock.config.ts > connectors`: reads the `queue` config key, starts workers in the app process (turn off with `workers.enabled: false`), and on shutdown waits for active jobs up to `workers.shutdownTimeout` before closing.
|
|
103
|
+
- `setQueueConfig`, `startWorkers`, `closeQueue` for scripts, tests and worker-only processes.
|
|
104
|
+
- `@warlock.js/queue/notifications`: `queueNotificationDispatcher()` sends `@warlock.js/notifications` `.queue()` deliveries through BullMQ, with retries and `delay` support.
|
|
105
|
+
- `queueDashboard(server, { basePath })`: mounts bull-board on Warlock's Fastify server. `@bull-board/api` and `@bull-board/fastify` are optional peers, loaded only when it is called; a missing one throws `QueueDashboardDependencyError`.
|
|
106
|
+
|
|
107
|
+
### Fixed
|
|
108
|
+
|
|
109
|
+
- Portable `typecheck` script: runs against this package's own `typescript` devDependency instead of relying on a hoisted binary from elsewhere in the workspace.
|
package/package.json
CHANGED
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"peerDependencies": {
|
|
12
12
|
"@bull-board/api": "^9.0.0",
|
|
13
13
|
"@bull-board/fastify": "^9.0.0",
|
|
14
|
-
"@warlock.js/core": "5.
|
|
15
|
-
"@warlock.js/logger": "5.
|
|
14
|
+
"@warlock.js/core": "5.24.0",
|
|
15
|
+
"@warlock.js/logger": "5.24.0"
|
|
16
16
|
},
|
|
17
17
|
"peerDependenciesMeta": {
|
|
18
18
|
"@bull-board/api": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
],
|
|
38
38
|
"author": "hassanzohdy",
|
|
39
39
|
"license": "MIT",
|
|
40
|
-
"version": "5.
|
|
40
|
+
"version": "5.24.0",
|
|
41
41
|
"main": "./cjs/index.cjs",
|
|
42
42
|
"module": "./esm/index.mjs",
|
|
43
43
|
"types": "./esm/index.d.mts",
|