@taskcast/server 0.3.0 → 1.0.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.
@@ -1,24 +1,118 @@
1
- import { Hono } from 'hono';
2
- import { z } from 'zod';
1
+ import { OpenAPIHono, createRoute, z } from '@hono/zod-openapi';
3
2
  import { checkScope } from '../auth.js';
4
- export { WorkerWSHandler } from './worker-ws.js';
5
- const DeclineSchema = z.object({
6
- workerId: z.string(),
7
- blacklist: z.boolean().optional(),
3
+ import { DeclineSchema, WorkerSchema, WorkerStatusUpdateSchema, TaskSchema, ErrorSchema } from '../schemas.js';
4
+ export { WorkerWSHandler, WorkerWSRegistry } from './worker-ws.js';
5
+ // ─── Route Definitions ─────────────────────────────────────────────────────
6
+ const listWorkersRoute = createRoute({
7
+ method: 'get',
8
+ path: '/',
9
+ tags: ['Workers'],
10
+ summary: 'List all workers',
11
+ security: [{ Bearer: [] }],
12
+ responses: {
13
+ 200: { description: 'Worker list', content: { 'application/json': { schema: z.object({ workers: z.array(WorkerSchema) }) } } },
14
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
15
+ },
16
+ });
17
+ const pullTaskRoute = createRoute({
18
+ method: 'get',
19
+ path: '/pull',
20
+ tags: ['Workers'],
21
+ summary: 'Long-poll for a task assignment',
22
+ description: 'Worker long-polls to receive a task assignment. Returns 204 on timeout.',
23
+ security: [{ Bearer: [] }],
24
+ request: {
25
+ query: z.object({
26
+ workerId: z.string().optional().openapi({ description: 'Worker identifier (required)' }),
27
+ weight: z.string().optional().openapi({ description: 'Worker weight' }),
28
+ timeout: z.string().optional().openapi({ description: 'Long-poll timeout in ms (default: 30000)' }),
29
+ }),
30
+ },
31
+ responses: {
32
+ 200: { description: 'Assigned task', content: { 'application/json': { schema: TaskSchema } } },
33
+ 204: { description: 'No task available (timeout)' },
34
+ 400: { description: 'Missing workerId', content: { 'application/json': { schema: ErrorSchema } } },
35
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
36
+ },
37
+ });
38
+ const getWorkerRoute = createRoute({
39
+ method: 'get',
40
+ path: '/{workerId}',
41
+ tags: ['Workers'],
42
+ summary: 'Get worker by ID',
43
+ security: [{ Bearer: [] }],
44
+ request: {
45
+ params: z.object({ workerId: z.string() }),
46
+ },
47
+ responses: {
48
+ 200: { description: 'Worker details', content: { 'application/json': { schema: WorkerSchema } } },
49
+ 404: { description: 'Worker not found', content: { 'application/json': { schema: ErrorSchema } } },
50
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
51
+ },
52
+ });
53
+ const deleteWorkerRoute = createRoute({
54
+ method: 'delete',
55
+ path: '/{workerId}',
56
+ tags: ['Workers'],
57
+ summary: 'Force disconnect a worker',
58
+ security: [{ Bearer: [] }],
59
+ request: {
60
+ params: z.object({ workerId: z.string() }),
61
+ },
62
+ responses: {
63
+ 204: { description: 'Worker removed' },
64
+ 404: { description: 'Worker not found', content: { 'application/json': { schema: ErrorSchema } } },
65
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
66
+ },
67
+ });
68
+ const updateWorkerStatusRoute = createRoute({
69
+ method: 'patch',
70
+ path: '/{workerId}/status',
71
+ tags: ['Workers'],
72
+ summary: 'Update worker status (drain/resume)',
73
+ description: 'Set worker to draining or idle. Cannot manually set busy.',
74
+ security: [{ Bearer: [] }],
75
+ request: {
76
+ params: z.object({ workerId: z.string() }),
77
+ body: { content: { 'application/json': { schema: WorkerStatusUpdateSchema } } },
78
+ },
79
+ responses: {
80
+ 200: { description: 'Updated worker', content: { 'application/json': { schema: WorkerSchema } } },
81
+ 400: { description: 'Invalid status', content: { 'application/json': { schema: ErrorSchema } } },
82
+ 404: { description: 'Worker not found', content: { 'application/json': { schema: ErrorSchema } } },
83
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
84
+ },
85
+ });
86
+ const declineTaskRoute = createRoute({
87
+ method: 'post',
88
+ path: '/tasks/{taskId}/decline',
89
+ tags: ['Workers'],
90
+ summary: 'Worker declines a task assignment',
91
+ security: [{ Bearer: [] }],
92
+ request: {
93
+ params: z.object({ taskId: z.string() }),
94
+ body: { content: { 'application/json': { schema: DeclineSchema } } },
95
+ },
96
+ responses: {
97
+ 200: { description: 'Task declined', content: { 'application/json': { schema: z.object({ ok: z.boolean() }) } } },
98
+ 400: { description: 'Validation error', content: { 'application/json': { schema: ErrorSchema } } },
99
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
100
+ },
8
101
  });
9
102
  export function createWorkersRouter(manager, engine) {
10
- const router = new Hono();
103
+ const router = new OpenAPIHono();
104
+ const register = router.openapi.bind(router);
11
105
  // GET / — list all workers
12
- router.get('/', async (c) => {
106
+ register(listWorkersRoute, async (c) => {
13
107
  const auth = c.get('auth');
14
108
  if (!checkScope(auth, 'worker:manage'))
15
109
  return c.json({ error: 'Forbidden' }, 403);
16
110
  const workers = await manager.listWorkers();
17
- return c.json(workers);
111
+ return c.json({ workers });
18
112
  });
19
113
  // GET /pull — long-poll for task (worker:connect scope)
20
- // Must be registered before /:workerId to avoid being matched as a param
21
- router.get('/pull', async (c) => {
114
+ // Must be registered before /{workerId} to avoid being matched as a param
115
+ register(pullTaskRoute, async (c) => {
22
116
  const auth = c.get('auth');
23
117
  if (!checkScope(auth, 'worker:connect'))
24
118
  return c.json({ error: 'Forbidden' }, 403);
@@ -48,9 +142,9 @@ export function createWorkersRouter(manager, engine) {
48
142
  return c.body(null, 204);
49
143
  }
50
144
  });
51
- // GET /:workerId — get single worker
52
- router.get('/:workerId', async (c) => {
53
- const { workerId } = c.req.param();
145
+ // GET /{workerId} — get single worker
146
+ register(getWorkerRoute, async (c) => {
147
+ const workerId = c.req.param('workerId');
54
148
  const auth = c.get('auth');
55
149
  if (!checkScope(auth, 'worker:manage'))
56
150
  return c.json({ error: 'Forbidden' }, 403);
@@ -59,9 +153,9 @@ export function createWorkersRouter(manager, engine) {
59
153
  return c.json({ error: 'Worker not found' }, 404);
60
154
  return c.json(worker);
61
155
  });
62
- // DELETE /:workerId — force disconnect
63
- router.delete('/:workerId', async (c) => {
64
- const { workerId } = c.req.param();
156
+ // DELETE /{workerId} — force disconnect
157
+ register(deleteWorkerRoute, async (c) => {
158
+ const workerId = c.req.param('workerId');
65
159
  const auth = c.get('auth');
66
160
  if (!checkScope(auth, 'worker:manage'))
67
161
  return c.json({ error: 'Forbidden' }, 403);
@@ -71,9 +165,24 @@ export function createWorkersRouter(manager, engine) {
71
165
  await manager.unregisterWorker(workerId);
72
166
  return c.body(null, 204);
73
167
  });
74
- // POST /tasks/:taskId/declineworker declines a task
75
- router.post('/tasks/:taskId/decline', async (c) => {
76
- const { taskId } = c.req.param();
168
+ // PATCH /{workerId}/statusdrain or resume worker
169
+ register(updateWorkerStatusRoute, async (c) => {
170
+ const workerId = c.req.param('workerId');
171
+ const auth = c.get('auth');
172
+ if (!checkScope(auth, 'worker:manage'))
173
+ return c.json({ error: 'Forbidden' }, 403);
174
+ const body = await c.req.json();
175
+ const parsed = WorkerStatusUpdateSchema.safeParse(body);
176
+ if (!parsed.success)
177
+ return c.json({ error: parsed.error.flatten() }, 400);
178
+ const worker = await manager.updateWorker(workerId, { status: parsed.data.status });
179
+ if (!worker)
180
+ return c.json({ error: 'Worker not found' }, 404);
181
+ return c.json(worker);
182
+ });
183
+ // POST /tasks/{taskId}/decline — worker declines a task
184
+ register(declineTaskRoute, async (c) => {
185
+ const taskId = c.req.param('taskId');
77
186
  const auth = c.get('auth');
78
187
  if (!checkScope(auth, 'worker:connect'))
79
188
  return c.json({ error: 'Forbidden' }, 403);
@@ -1 +1 @@
1
- {"version":3,"file":"workers.js","sourceRoot":"","sources":["../../src/routes/workers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workers.js","sourceRoot":"","sources":["../../src/routes/workers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,359 @@
1
+ import { z } from '@hono/zod-openapi';
2
+ export declare const TaskStatusSchema: z.ZodEnum<["pending", "assigned", "running", "paused", "blocked", "completed", "failed", "timeout", "cancelled"]>;
3
+ export declare const LevelSchema: z.ZodEnum<["debug", "info", "warn", "error"]>;
4
+ export declare const SeriesModeSchema: z.ZodEnum<["keep-all", "accumulate", "latest"]>;
5
+ export declare const AssignModeSchema: z.ZodEnum<["external", "pull", "ws-offer", "ws-race"]>;
6
+ export declare const DisconnectPolicySchema: z.ZodEnum<["reassign", "mark", "fail"]>;
7
+ export declare const TaskErrorSchema: z.ZodObject<{
8
+ code: z.ZodOptional<z.ZodString>;
9
+ message: z.ZodString;
10
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
11
+ }, "strip", z.ZodTypeAny, {
12
+ message: string;
13
+ code?: string | undefined;
14
+ details?: Record<string, unknown> | undefined;
15
+ }, {
16
+ message: string;
17
+ code?: string | undefined;
18
+ details?: Record<string, unknown> | undefined;
19
+ }>;
20
+ export declare const TaskSchema: z.ZodObject<{
21
+ id: z.ZodString;
22
+ type: z.ZodOptional<z.ZodString>;
23
+ status: z.ZodEnum<["pending", "assigned", "running", "paused", "blocked", "completed", "failed", "timeout", "cancelled"]>;
24
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
25
+ result: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
26
+ error: z.ZodOptional<z.ZodObject<{
27
+ code: z.ZodOptional<z.ZodString>;
28
+ message: z.ZodString;
29
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
30
+ }, "strip", z.ZodTypeAny, {
31
+ message: string;
32
+ code?: string | undefined;
33
+ details?: Record<string, unknown> | undefined;
34
+ }, {
35
+ message: string;
36
+ code?: string | undefined;
37
+ details?: Record<string, unknown> | undefined;
38
+ }>>;
39
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
40
+ createdAt: z.ZodNumber;
41
+ updatedAt: z.ZodNumber;
42
+ completedAt: z.ZodOptional<z.ZodNumber>;
43
+ ttl: z.ZodOptional<z.ZodNumber>;
44
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
45
+ assignMode: z.ZodOptional<z.ZodEnum<["external", "pull", "ws-offer", "ws-race"]>>;
46
+ cost: z.ZodOptional<z.ZodNumber>;
47
+ assignedWorker: z.ZodOptional<z.ZodString>;
48
+ disconnectPolicy: z.ZodOptional<z.ZodEnum<["reassign", "mark", "fail"]>>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ status: "pending" | "assigned" | "running" | "paused" | "blocked" | "completed" | "failed" | "timeout" | "cancelled";
51
+ id: string;
52
+ createdAt: number;
53
+ updatedAt: number;
54
+ type?: string | undefined;
55
+ error?: {
56
+ message: string;
57
+ code?: string | undefined;
58
+ details?: Record<string, unknown> | undefined;
59
+ } | undefined;
60
+ assignMode?: "external" | "pull" | "ws-offer" | "ws-race" | undefined;
61
+ disconnectPolicy?: "reassign" | "mark" | "fail" | undefined;
62
+ result?: Record<string, unknown> | undefined;
63
+ tags?: string[] | undefined;
64
+ params?: Record<string, unknown> | undefined;
65
+ metadata?: Record<string, unknown> | undefined;
66
+ completedAt?: number | undefined;
67
+ ttl?: number | undefined;
68
+ cost?: number | undefined;
69
+ assignedWorker?: string | undefined;
70
+ }, {
71
+ status: "pending" | "assigned" | "running" | "paused" | "blocked" | "completed" | "failed" | "timeout" | "cancelled";
72
+ id: string;
73
+ createdAt: number;
74
+ updatedAt: number;
75
+ type?: string | undefined;
76
+ error?: {
77
+ message: string;
78
+ code?: string | undefined;
79
+ details?: Record<string, unknown> | undefined;
80
+ } | undefined;
81
+ assignMode?: "external" | "pull" | "ws-offer" | "ws-race" | undefined;
82
+ disconnectPolicy?: "reassign" | "mark" | "fail" | undefined;
83
+ result?: Record<string, unknown> | undefined;
84
+ tags?: string[] | undefined;
85
+ params?: Record<string, unknown> | undefined;
86
+ metadata?: Record<string, unknown> | undefined;
87
+ completedAt?: number | undefined;
88
+ ttl?: number | undefined;
89
+ cost?: number | undefined;
90
+ assignedWorker?: string | undefined;
91
+ }>;
92
+ export declare const TaskEventSchema: z.ZodObject<{
93
+ id: z.ZodString;
94
+ taskId: z.ZodString;
95
+ index: z.ZodNumber;
96
+ timestamp: z.ZodNumber;
97
+ type: z.ZodString;
98
+ level: z.ZodEnum<["debug", "info", "warn", "error"]>;
99
+ data: z.ZodUnknown;
100
+ seriesId: z.ZodOptional<z.ZodString>;
101
+ seriesMode: z.ZodOptional<z.ZodEnum<["keep-all", "accumulate", "latest"]>>;
102
+ seriesAccField: z.ZodOptional<z.ZodString>;
103
+ }, "strip", z.ZodTypeAny, {
104
+ type: string;
105
+ level: "error" | "debug" | "info" | "warn";
106
+ index: number;
107
+ timestamp: number;
108
+ id: string;
109
+ taskId: string;
110
+ seriesMode?: "keep-all" | "accumulate" | "latest" | undefined;
111
+ data?: unknown;
112
+ seriesId?: string | undefined;
113
+ seriesAccField?: string | undefined;
114
+ }, {
115
+ type: string;
116
+ level: "error" | "debug" | "info" | "warn";
117
+ index: number;
118
+ timestamp: number;
119
+ id: string;
120
+ taskId: string;
121
+ seriesMode?: "keep-all" | "accumulate" | "latest" | undefined;
122
+ data?: unknown;
123
+ seriesId?: string | undefined;
124
+ seriesAccField?: string | undefined;
125
+ }>;
126
+ export declare const WorkerSchema: z.ZodObject<{
127
+ id: z.ZodString;
128
+ status: z.ZodEnum<["idle", "busy", "draining", "offline"]>;
129
+ matchRule: z.ZodObject<{
130
+ taskTypes: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
131
+ tags: z.ZodOptional<z.ZodObject<{
132
+ all: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
133
+ any: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
134
+ none: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
135
+ }, "strip", z.ZodTypeAny, {
136
+ all?: string[] | undefined;
137
+ none?: string[] | undefined;
138
+ any?: string[] | undefined;
139
+ }, {
140
+ all?: string[] | undefined;
141
+ none?: string[] | undefined;
142
+ any?: string[] | undefined;
143
+ }>>;
144
+ }, "strip", z.ZodTypeAny, {
145
+ tags?: {
146
+ all?: string[] | undefined;
147
+ none?: string[] | undefined;
148
+ any?: string[] | undefined;
149
+ } | undefined;
150
+ taskTypes?: string[] | undefined;
151
+ }, {
152
+ tags?: {
153
+ all?: string[] | undefined;
154
+ none?: string[] | undefined;
155
+ any?: string[] | undefined;
156
+ } | undefined;
157
+ taskTypes?: string[] | undefined;
158
+ }>;
159
+ capacity: z.ZodNumber;
160
+ usedSlots: z.ZodNumber;
161
+ weight: z.ZodNumber;
162
+ connectionMode: z.ZodEnum<["pull", "websocket"]>;
163
+ connectedAt: z.ZodNumber;
164
+ lastHeartbeatAt: z.ZodNumber;
165
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
166
+ }, "strip", z.ZodTypeAny, {
167
+ status: "idle" | "busy" | "draining" | "offline";
168
+ connectionMode: "pull" | "websocket";
169
+ id: string;
170
+ matchRule: {
171
+ tags?: {
172
+ all?: string[] | undefined;
173
+ none?: string[] | undefined;
174
+ any?: string[] | undefined;
175
+ } | undefined;
176
+ taskTypes?: string[] | undefined;
177
+ };
178
+ capacity: number;
179
+ usedSlots: number;
180
+ weight: number;
181
+ connectedAt: number;
182
+ lastHeartbeatAt: number;
183
+ metadata?: Record<string, unknown> | undefined;
184
+ }, {
185
+ status: "idle" | "busy" | "draining" | "offline";
186
+ connectionMode: "pull" | "websocket";
187
+ id: string;
188
+ matchRule: {
189
+ tags?: {
190
+ all?: string[] | undefined;
191
+ none?: string[] | undefined;
192
+ any?: string[] | undefined;
193
+ } | undefined;
194
+ taskTypes?: string[] | undefined;
195
+ };
196
+ capacity: number;
197
+ usedSlots: number;
198
+ weight: number;
199
+ connectedAt: number;
200
+ lastHeartbeatAt: number;
201
+ metadata?: Record<string, unknown> | undefined;
202
+ }>;
203
+ export declare const ErrorSchema: z.ZodObject<{
204
+ error: z.ZodString;
205
+ }, "strip", z.ZodTypeAny, {
206
+ error: string;
207
+ }, {
208
+ error: string;
209
+ }>;
210
+ export declare const CreateTaskSchema: z.ZodObject<{
211
+ id: z.ZodOptional<z.ZodString>;
212
+ type: z.ZodOptional<z.ZodString>;
213
+ params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
214
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
215
+ ttl: z.ZodOptional<z.ZodNumber>;
216
+ webhooks: z.ZodOptional<z.ZodArray<z.ZodUnknown, "many">>;
217
+ cleanup: z.ZodOptional<z.ZodObject<{
218
+ rules: z.ZodArray<z.ZodUnknown, "many">;
219
+ }, "strip", z.ZodTypeAny, {
220
+ rules: unknown[];
221
+ }, {
222
+ rules: unknown[];
223
+ }>>;
224
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
225
+ assignMode: z.ZodOptional<z.ZodEnum<["external", "pull", "ws-offer", "ws-race"]>>;
226
+ cost: z.ZodOptional<z.ZodNumber>;
227
+ disconnectPolicy: z.ZodOptional<z.ZodEnum<["reassign", "mark", "fail"]>>;
228
+ authConfig: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
229
+ }, "strip", z.ZodTypeAny, {
230
+ type?: string | undefined;
231
+ webhooks?: unknown[] | undefined;
232
+ cleanup?: {
233
+ rules: unknown[];
234
+ } | undefined;
235
+ authConfig?: Record<string, unknown> | undefined;
236
+ assignMode?: "external" | "pull" | "ws-offer" | "ws-race" | undefined;
237
+ disconnectPolicy?: "reassign" | "mark" | "fail" | undefined;
238
+ tags?: string[] | undefined;
239
+ params?: Record<string, unknown> | undefined;
240
+ id?: string | undefined;
241
+ metadata?: Record<string, unknown> | undefined;
242
+ ttl?: number | undefined;
243
+ cost?: number | undefined;
244
+ }, {
245
+ type?: string | undefined;
246
+ webhooks?: unknown[] | undefined;
247
+ cleanup?: {
248
+ rules: unknown[];
249
+ } | undefined;
250
+ authConfig?: Record<string, unknown> | undefined;
251
+ assignMode?: "external" | "pull" | "ws-offer" | "ws-race" | undefined;
252
+ disconnectPolicy?: "reassign" | "mark" | "fail" | undefined;
253
+ tags?: string[] | undefined;
254
+ params?: Record<string, unknown> | undefined;
255
+ id?: string | undefined;
256
+ metadata?: Record<string, unknown> | undefined;
257
+ ttl?: number | undefined;
258
+ cost?: number | undefined;
259
+ }>;
260
+ export declare const TransitionSchema: z.ZodObject<{
261
+ status: z.ZodEnum<["pending", "assigned", "running", "paused", "blocked", "completed", "failed", "timeout", "cancelled"]>;
262
+ result: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
263
+ error: z.ZodOptional<z.ZodObject<{
264
+ code: z.ZodOptional<z.ZodString>;
265
+ message: z.ZodString;
266
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
267
+ }, "strip", z.ZodTypeAny, {
268
+ message: string;
269
+ code?: string | undefined;
270
+ details?: Record<string, unknown> | undefined;
271
+ }, {
272
+ message: string;
273
+ code?: string | undefined;
274
+ details?: Record<string, unknown> | undefined;
275
+ }>>;
276
+ reason: z.ZodOptional<z.ZodString>;
277
+ ttl: z.ZodOptional<z.ZodNumber>;
278
+ resumeAfterMs: z.ZodOptional<z.ZodNumber>;
279
+ blockedRequest: z.ZodOptional<z.ZodObject<{
280
+ type: z.ZodString;
281
+ data: z.ZodUnknown;
282
+ }, "strip", z.ZodTypeAny, {
283
+ type: string;
284
+ data?: unknown;
285
+ }, {
286
+ type: string;
287
+ data?: unknown;
288
+ }>>;
289
+ }, "strip", z.ZodTypeAny, {
290
+ status: "pending" | "assigned" | "running" | "paused" | "blocked" | "completed" | "failed" | "timeout" | "cancelled";
291
+ error?: {
292
+ message: string;
293
+ code?: string | undefined;
294
+ details?: Record<string, unknown> | undefined;
295
+ } | undefined;
296
+ result?: Record<string, unknown> | undefined;
297
+ ttl?: number | undefined;
298
+ reason?: string | undefined;
299
+ resumeAfterMs?: number | undefined;
300
+ blockedRequest?: {
301
+ type: string;
302
+ data?: unknown;
303
+ } | undefined;
304
+ }, {
305
+ status: "pending" | "assigned" | "running" | "paused" | "blocked" | "completed" | "failed" | "timeout" | "cancelled";
306
+ error?: {
307
+ message: string;
308
+ code?: string | undefined;
309
+ details?: Record<string, unknown> | undefined;
310
+ } | undefined;
311
+ result?: Record<string, unknown> | undefined;
312
+ ttl?: number | undefined;
313
+ reason?: string | undefined;
314
+ resumeAfterMs?: number | undefined;
315
+ blockedRequest?: {
316
+ type: string;
317
+ data?: unknown;
318
+ } | undefined;
319
+ }>;
320
+ export declare const PublishEventSchema: z.ZodObject<{
321
+ type: z.ZodString;
322
+ level: z.ZodEnum<["debug", "info", "warn", "error"]>;
323
+ data: z.ZodUnknown;
324
+ seriesId: z.ZodOptional<z.ZodString>;
325
+ seriesMode: z.ZodOptional<z.ZodEnum<["keep-all", "accumulate", "latest"]>>;
326
+ seriesAccField: z.ZodOptional<z.ZodString>;
327
+ }, "strip", z.ZodTypeAny, {
328
+ type: string;
329
+ level: "error" | "debug" | "info" | "warn";
330
+ seriesMode?: "keep-all" | "accumulate" | "latest" | undefined;
331
+ data?: unknown;
332
+ seriesId?: string | undefined;
333
+ seriesAccField?: string | undefined;
334
+ }, {
335
+ type: string;
336
+ level: "error" | "debug" | "info" | "warn";
337
+ seriesMode?: "keep-all" | "accumulate" | "latest" | undefined;
338
+ data?: unknown;
339
+ seriesId?: string | undefined;
340
+ seriesAccField?: string | undefined;
341
+ }>;
342
+ export declare const DeclineSchema: z.ZodObject<{
343
+ workerId: z.ZodString;
344
+ blacklist: z.ZodOptional<z.ZodBoolean>;
345
+ }, "strip", z.ZodTypeAny, {
346
+ workerId: string;
347
+ blacklist?: boolean | undefined;
348
+ }, {
349
+ workerId: string;
350
+ blacklist?: boolean | undefined;
351
+ }>;
352
+ export declare const WorkerStatusUpdateSchema: z.ZodObject<{
353
+ status: z.ZodEnum<["draining", "idle"]>;
354
+ }, "strip", z.ZodTypeAny, {
355
+ status: "idle" | "draining";
356
+ }, {
357
+ status: "idle" | "draining";
358
+ }>;
359
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,mBAAmB,CAAA;AAIrC,eAAO,MAAM,gBAAgB,mHAU3B,CAAA;AAEF,eAAO,MAAM,WAAW,+CAA6C,CAAA;AAErE,eAAO,MAAM,gBAAgB,iDAA+C,CAAA;AAE5E,eAAO,MAAM,gBAAgB,wDAAsD,CAAA;AAEnF,eAAO,MAAM,sBAAsB,yCAAuC,CAAA;AAI1E,eAAO,MAAM,eAAe;;;;;;;;;;;;EAML,CAAA;AAEvB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBL,CAAA;AAElB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAaL,CAAA;AAEvB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsBL,CAAA;AAEpB,eAAO,MAAM,WAAW;;;;;;EAIL,CAAA;AAInB,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAeA,CAAA;AAE7B,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBA,CAAA;AAE7B,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;EASA,CAAA;AAE/B,eAAO,MAAM,aAAa;;;;;;;;;EAKA,CAAA;AAE1B,eAAO,MAAM,wBAAwB;;;;;;EAIA,CAAA"}