@owlmeans/queue 0.1.18-rc.11 → 0.1.18-rc.12
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 +5 -4
- package/agent-meta/manifest.json +2 -2
- package/agent-meta/skills/queue/SKILL.md +4 -4
- package/build/errors.d.ts +1 -1
- package/build/errors.js +1 -1
- package/build/worker.d.ts +1 -1
- package/build/worker.js +1 -1
- package/package.json +8 -8
- package/src/errors.ts +1 -1
- package/src/worker.ts +1 -1
package/README.md
CHANGED
|
@@ -44,16 +44,17 @@ same binary run as a producer in one deployment and a worker in another.
|
|
|
44
44
|
## Declaring a queued entrypoint
|
|
45
45
|
|
|
46
46
|
```typescript
|
|
47
|
+
import { contract, protocol, typed } from '@owlmeans/entrypoint'
|
|
47
48
|
import { job } from '@owlmeans/route'
|
|
48
49
|
|
|
49
|
-
|
|
50
|
+
protocol(
|
|
50
51
|
route(agent.story.develop, '/:id/develop',
|
|
51
52
|
job({ parent: agent.story.base, service: AGENT, queue: AGENT_WORK, timeout: 30_000 })),
|
|
52
|
-
|
|
53
|
+
contract.request({ params: typed<StoryParams>(StoryParamsSchema) }, typed()),
|
|
53
54
|
)
|
|
54
55
|
```
|
|
55
56
|
|
|
56
|
-
It is served
|
|
57
|
+
It is served by binding its shared job protocol and called with `call()` like any backend entrypoint. Add
|
|
57
58
|
`reply: false` to return as soon as the job is accepted — the call resolves `Accepted` with
|
|
58
59
|
`{ id, queue }`, which is what a long pipeline wants.
|
|
59
60
|
|
|
@@ -132,7 +133,7 @@ This package ships embedded agent skills under `agent-meta/`. After installing y
|
|
|
132
133
|
your project's skill store (`.agents/skills/`):
|
|
133
134
|
|
|
134
135
|
```sh
|
|
135
|
-
npx @owlmeans/agent-skills@^0.1.18-rc.
|
|
136
|
+
npx @owlmeans/agent-skills@^0.1.18-rc.15
|
|
136
137
|
```
|
|
137
138
|
|
|
138
139
|
The embedded files are version-matched to this package release. Do not edit them
|
package/agent-meta/manifest.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"schemaVersion": 2,
|
|
3
3
|
"package": "@owlmeans/queue",
|
|
4
|
-
"version": "0.1.18-rc.
|
|
5
|
-
"generatedAt": "2026-09-
|
|
4
|
+
"version": "0.1.18-rc.12",
|
|
5
|
+
"generatedAt": "2026-09-12T08:39:52.739Z",
|
|
6
6
|
"canonicalRepo": "https://github.com/owlmeans/common",
|
|
7
7
|
"entries": [
|
|
8
8
|
{
|
|
@@ -8,7 +8,7 @@ user-invocable: false
|
|
|
8
8
|
# @owlmeans/queue
|
|
9
9
|
|
|
10
10
|
**Layer:** Infra
|
|
11
|
-
**Install:** `"@owlmeans/queue": "^0.1.18-rc.
|
|
11
|
+
**Install:** `"@owlmeans/queue": "^0.1.18-rc.12"` in `dependencies`
|
|
12
12
|
|
|
13
13
|
Contracts only. It carries no broker code — a driver package (`@owlmeans/redis-queue`) implements
|
|
14
14
|
them. Depend on this one from a shared contract package; depend on the driver only where the
|
|
@@ -51,10 +51,10 @@ whatever it could serve, every deployment of the same binary would consume every
|
|
|
51
51
|
A queued entrypoint is declared like any other, with `job()` in place of `backend()`:
|
|
52
52
|
|
|
53
53
|
```typescript
|
|
54
|
-
|
|
54
|
+
protocol(
|
|
55
55
|
route(agent.story.develop, '/:id/develop',
|
|
56
56
|
job({ parent: agent.story.base, service: AGENT, queue: AGENT_WORK, timeout: 30_000 })),
|
|
57
|
-
|
|
57
|
+
contract.request({ params: typed<StoryParams>(StoryParamsSchema) }, typed()),
|
|
58
58
|
)
|
|
59
59
|
```
|
|
60
60
|
|
|
@@ -193,5 +193,5 @@ listens to, grouped by queue, which is what a driver binds.
|
|
|
193
193
|
- `redis-queue` — the BullMQ driver; integration tests for queue behaviour live there
|
|
194
194
|
- `server-job` / `client-job` — exposing a queue's jobs to an application's UI (list, cancel,
|
|
195
195
|
progress over a socket), without touching the contracts here
|
|
196
|
-
- `entrypoint` — declarations,
|
|
196
|
+
- `entrypoint` — protocol declarations, bindings, and the transport lookup
|
|
197
197
|
- `resource` — the criteria and paging semantics `list` follows
|
package/build/errors.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare class QueueNotListening extends QueueError {
|
|
|
40
40
|
}
|
|
41
41
|
/**
|
|
42
42
|
* The job named an entrypoint this process does not serve. Unlike a missing queue this is not a
|
|
43
|
-
* declaration problem: the alias exists, but nothing here
|
|
43
|
+
* declaration problem: the alias exists, but nothing here bound it, so the job was taken by a
|
|
44
44
|
* worker that cannot run it.
|
|
45
45
|
*/
|
|
46
46
|
export declare class JobNotServed extends QueueError {
|
package/build/errors.js
CHANGED
|
@@ -57,7 +57,7 @@ export class QueueNotListening extends QueueError {
|
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
59
|
* The job named an entrypoint this process does not serve. Unlike a missing queue this is not a
|
|
60
|
-
* declaration problem: the alias exists, but nothing here
|
|
60
|
+
* declaration problem: the alias exists, but nothing here bound it, so the job was taken by a
|
|
61
61
|
* worker that cannot run it.
|
|
62
62
|
*/
|
|
63
63
|
export class JobNotServed extends QueueError {
|
package/build/worker.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { Config, Context, JobEnvelope, JobProcessor } from './types.js';
|
|
|
5
5
|
* Every queued entrypoint this process both SERVES and LISTENS to, grouped by queue.
|
|
6
6
|
*
|
|
7
7
|
* Both halves are required and they answer different questions. Serving is about code — the alias
|
|
8
|
-
* was
|
|
8
|
+
* was bound here, so a handler exists. Listening is about deployment — this process was
|
|
9
9
|
* configured to consume that queue. A worker that bound queues by what it can serve would make
|
|
10
10
|
* every deployment of the same binary a worker for everything it happens to import.
|
|
11
11
|
*/
|
package/build/worker.js
CHANGED
|
@@ -6,7 +6,7 @@ import { DEFAULT_ALIAS } from './consts.js';
|
|
|
6
6
|
* Every queued entrypoint this process both SERVES and LISTENS to, grouped by queue.
|
|
7
7
|
*
|
|
8
8
|
* Both halves are required and they answer different questions. Serving is about code — the alias
|
|
9
|
-
* was
|
|
9
|
+
* was bound here, so a handler exists. Listening is about deployment — this process was
|
|
10
10
|
* configured to consume that queue. A worker that bound queues by what it can serve would make
|
|
11
11
|
* every deployment of the same binary a worker for everything it happens to import.
|
|
12
12
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@owlmeans/queue",
|
|
3
|
-
"version": "0.1.18-rc.
|
|
3
|
+
"version": "0.1.18-rc.12",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"scripts": {
|
|
@@ -30,12 +30,12 @@
|
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@owlmeans/auth": "^0.1.18-rc.
|
|
34
|
-
"@owlmeans/auth-common": "^0.1.18-rc.
|
|
35
|
-
"@owlmeans/context": "^0.1.18-rc.
|
|
36
|
-
"@owlmeans/entrypoint": "^0.1.18-rc.
|
|
37
|
-
"@owlmeans/error": "^0.1.18-rc.
|
|
38
|
-
"@owlmeans/resource": "^0.1.18-rc.
|
|
39
|
-
"@owlmeans/route": "^0.1.18-rc.
|
|
33
|
+
"@owlmeans/auth": "^0.1.18-rc.12",
|
|
34
|
+
"@owlmeans/auth-common": "^0.1.18-rc.16",
|
|
35
|
+
"@owlmeans/context": "^0.1.18-rc.11",
|
|
36
|
+
"@owlmeans/entrypoint": "^0.1.18-rc.14",
|
|
37
|
+
"@owlmeans/error": "^0.1.18-rc.11",
|
|
38
|
+
"@owlmeans/resource": "^0.1.18-rc.12",
|
|
39
|
+
"@owlmeans/route": "^0.1.18-rc.12"
|
|
40
40
|
}
|
|
41
41
|
}
|
package/src/errors.ts
CHANGED
|
@@ -70,7 +70,7 @@ export class QueueNotListening extends QueueError {
|
|
|
70
70
|
|
|
71
71
|
/**
|
|
72
72
|
* The job named an entrypoint this process does not serve. Unlike a missing queue this is not a
|
|
73
|
-
* declaration problem: the alias exists, but nothing here
|
|
73
|
+
* declaration problem: the alias exists, but nothing here bound it, so the job was taken by a
|
|
74
74
|
* worker that cannot run it.
|
|
75
75
|
*/
|
|
76
76
|
export class JobNotServed extends QueueError {
|
package/src/worker.ts
CHANGED
|
@@ -10,7 +10,7 @@ import { DEFAULT_ALIAS } from './consts.js'
|
|
|
10
10
|
* Every queued entrypoint this process both SERVES and LISTENS to, grouped by queue.
|
|
11
11
|
*
|
|
12
12
|
* Both halves are required and they answer different questions. Serving is about code — the alias
|
|
13
|
-
* was
|
|
13
|
+
* was bound here, so a handler exists. Listening is about deployment — this process was
|
|
14
14
|
* configured to consume that queue. A worker that bound queues by what it can serve would make
|
|
15
15
|
* every deployment of the same binary a worker for everything it happens to import.
|
|
16
16
|
*/
|