@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,29 +1,120 @@
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
- const CreateTaskSchema = z.object({
5
- id: z.string().optional(),
6
- type: z.string().optional(),
7
- params: z.record(z.unknown()).optional(),
8
- metadata: z.record(z.unknown()).optional(),
9
- ttl: z.number().int().positive().optional(),
10
- webhooks: z.array(z.unknown()).optional(),
11
- cleanup: z.object({ rules: z.array(z.unknown()) }).optional(),
12
- tags: z.array(z.string()).optional(),
13
- assignMode: z.enum(['external', 'pull', 'ws-offer', 'ws-race']).optional(),
14
- cost: z.number().int().positive().optional(),
15
- disconnectPolicy: z.enum(['reassign', 'mark', 'fail']).optional(),
3
+ import { getSubscriberCount } from './sse.js';
4
+ import { CreateTaskSchema, PublishEventSchema, TransitionSchema, TaskSchema, TaskEventSchema, ErrorSchema, } from '../schemas.js';
5
+ import { TaskConflictError, InvalidTransitionError } from '@taskcast/core';
6
+ // ─── Route Definitions ─────────────────────────────────────────────────────
7
+ const createTaskRoute = createRoute({
8
+ method: 'post',
9
+ path: '/',
10
+ tags: ['Tasks'],
11
+ summary: 'Create a new task',
12
+ security: [{ Bearer: [] }],
13
+ request: {
14
+ body: { content: { 'application/json': { schema: CreateTaskSchema } } },
15
+ },
16
+ responses: {
17
+ 201: { description: 'Task created', content: { 'application/json': { schema: TaskSchema } } },
18
+ 400: { description: 'Validation error', content: { 'application/json': { schema: ErrorSchema } } },
19
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
20
+ 409: { description: 'Task ID already exists', content: { 'application/json': { schema: ErrorSchema } } },
21
+ },
16
22
  });
17
- const PublishEventSchema = z.object({
18
- type: z.string(),
19
- level: z.enum(['debug', 'info', 'warn', 'error']),
20
- data: z.unknown(),
21
- seriesId: z.string().optional(),
22
- seriesMode: z.enum(['keep-all', 'accumulate', 'latest']).optional(),
23
+ const listTasksRoute = createRoute({
24
+ method: 'get',
25
+ path: '/',
26
+ tags: ['Tasks'],
27
+ summary: 'List tasks',
28
+ description: 'List tasks with optional status and type filters.',
29
+ security: [{ Bearer: [] }],
30
+ request: {
31
+ query: z.object({
32
+ status: z.string().optional().openapi({ description: 'Comma-separated status filter' }),
33
+ type: z.string().optional().openapi({ description: 'Task type filter' }),
34
+ }),
35
+ },
36
+ responses: {
37
+ 200: { description: 'Task list', content: { 'application/json': { schema: z.object({ tasks: z.array(TaskSchema) }) } } },
38
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
39
+ },
23
40
  });
24
- export function createTasksRouter(engine) {
25
- const router = new Hono();
26
- router.post('/', async (c) => {
41
+ const getTaskRoute = createRoute({
42
+ method: 'get',
43
+ path: '/{taskId}',
44
+ tags: ['Tasks'],
45
+ summary: 'Get task by ID',
46
+ security: [{ Bearer: [] }],
47
+ request: {
48
+ params: z.object({ taskId: z.string() }),
49
+ },
50
+ responses: {
51
+ 200: { description: 'Task details', content: { 'application/json': { schema: TaskSchema } } },
52
+ 404: { description: 'Task not found', content: { 'application/json': { schema: ErrorSchema } } },
53
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
54
+ },
55
+ });
56
+ const transitionRoute = createRoute({
57
+ method: 'patch',
58
+ path: '/{taskId}/status',
59
+ tags: ['Tasks'],
60
+ summary: 'Transition task status',
61
+ security: [{ Bearer: [] }],
62
+ request: {
63
+ params: z.object({ taskId: z.string() }),
64
+ body: { content: { 'application/json': { schema: TransitionSchema } } },
65
+ },
66
+ responses: {
67
+ 200: { description: 'Updated task', content: { 'application/json': { schema: TaskSchema } } },
68
+ 400: { description: 'Validation error', content: { 'application/json': { schema: ErrorSchema } } },
69
+ 404: { description: 'Task not found', content: { 'application/json': { schema: ErrorSchema } } },
70
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
71
+ 409: { description: 'Invalid state transition', content: { 'application/json': { schema: ErrorSchema } } },
72
+ },
73
+ });
74
+ const publishEventsRoute = createRoute({
75
+ method: 'post',
76
+ path: '/{taskId}/events',
77
+ tags: ['Events'],
78
+ summary: 'Publish events to a task',
79
+ description: 'Supports single event or batch (array) publishing.',
80
+ security: [{ Bearer: [] }],
81
+ request: {
82
+ params: z.object({ taskId: z.string() }),
83
+ body: { content: { 'application/json': { schema: z.union([PublishEventSchema, z.array(PublishEventSchema)]) } } },
84
+ },
85
+ responses: {
86
+ 201: { description: 'Events published', content: { 'application/json': { schema: z.union([TaskEventSchema, z.array(TaskEventSchema)]) } } },
87
+ 400: { description: 'Validation error', content: { 'application/json': { schema: ErrorSchema } } },
88
+ 404: { description: 'Task not found', content: { 'application/json': { schema: ErrorSchema } } },
89
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
90
+ },
91
+ });
92
+ const eventHistoryRoute = createRoute({
93
+ method: 'get',
94
+ path: '/{taskId}/events/history',
95
+ tags: ['Events'],
96
+ summary: 'Query event history',
97
+ security: [{ Bearer: [] }],
98
+ request: {
99
+ params: z.object({ taskId: z.string() }),
100
+ query: z.object({
101
+ 'since.id': z.string().optional(),
102
+ 'since.index': z.string().optional(),
103
+ 'since.timestamp': z.string().optional(),
104
+ types: z.string().optional(),
105
+ levels: z.string().optional(),
106
+ }),
107
+ },
108
+ responses: {
109
+ 200: { description: 'Event list', content: { 'application/json': { schema: z.array(TaskEventSchema) } } },
110
+ 404: { description: 'Task not found', content: { 'application/json': { schema: ErrorSchema } } },
111
+ 403: { description: 'Forbidden', content: { 'application/json': { schema: ErrorSchema } } },
112
+ },
113
+ });
114
+ export function createTasksRouter(engine, subscriberCounts) {
115
+ const router = new OpenAPIHono();
116
+ const register = router.openapi.bind(router);
117
+ register(createTaskRoute, async (c) => {
27
118
  const auth = c.get('auth');
28
119
  if (!checkScope(auth, 'task:create'))
29
120
  return c.json({ error: 'Forbidden' }, 403);
@@ -51,38 +142,61 @@ export function createTasksRouter(engine) {
51
142
  input.cost = d.cost;
52
143
  if (d.disconnectPolicy !== undefined)
53
144
  input.disconnectPolicy = d.disconnectPolicy;
54
- const task = await engine.createTask(input);
55
- return c.json(task, 201);
145
+ if (d.webhooks !== undefined)
146
+ input.webhooks = d.webhooks;
147
+ if (d.cleanup !== undefined)
148
+ input.cleanup = d.cleanup;
149
+ if (d.authConfig !== undefined)
150
+ input.authConfig = d.authConfig;
151
+ try {
152
+ const task = await engine.createTask(input);
153
+ return c.json(task, 201);
154
+ }
155
+ catch (err) {
156
+ if (err instanceof TaskConflictError)
157
+ return c.json({ error: err.message }, 409);
158
+ const msg = err instanceof Error ? err.message : String(err);
159
+ if (msg.includes('Invalid TTL') || msg.includes('Invalid cost'))
160
+ return c.json({ error: msg }, 400);
161
+ throw err;
162
+ }
56
163
  });
57
- router.get('/:taskId', async (c) => {
58
- const { taskId } = c.req.param();
164
+ register(listTasksRoute, async (c) => {
165
+ const auth = c.get('auth');
166
+ if (!checkScope(auth, 'event:subscribe'))
167
+ return c.json({ error: 'Forbidden' }, 403);
168
+ const status = c.req.query('status');
169
+ const type = c.req.query('type');
170
+ const filter = {};
171
+ if (status)
172
+ filter.status = status.split(',').filter(Boolean);
173
+ if (type)
174
+ filter.types = [type];
175
+ const tasks = await engine.listTasks(filter);
176
+ const enriched = tasks.map(t => {
177
+ const subscriberCount = getSubscriberCount(subscriberCounts, t.id);
178
+ return { ...t, hot: subscriberCount > 0, subscriberCount };
179
+ });
180
+ return c.json({ tasks: enriched });
181
+ });
182
+ register(getTaskRoute, async (c) => {
183
+ const taskId = c.req.param('taskId');
59
184
  const auth = c.get('auth');
60
185
  if (!checkScope(auth, 'event:subscribe', taskId))
61
186
  return c.json({ error: 'Forbidden' }, 403);
62
187
  const task = await engine.getTask(taskId);
63
188
  if (!task)
64
189
  return c.json({ error: 'Task not found' }, 404);
65
- return c.json(task);
190
+ const subscriberCount = getSubscriberCount(subscriberCounts, taskId);
191
+ return c.json({ ...task, hot: subscriberCount > 0, subscriberCount });
66
192
  });
67
- router.patch('/:taskId/status', async (c) => {
68
- const { taskId } = c.req.param();
193
+ register(transitionRoute, async (c) => {
194
+ const taskId = c.req.param('taskId');
69
195
  const auth = c.get('auth');
70
196
  if (!checkScope(auth, 'task:manage', taskId))
71
197
  return c.json({ error: 'Forbidden' }, 403);
72
198
  const body = await c.req.json();
73
- const schema = z.object({
74
- status: z.enum(['pending', 'assigned', 'running', 'paused', 'blocked', 'completed', 'failed', 'timeout', 'cancelled']),
75
- result: z.record(z.unknown()).optional(),
76
- error: z.object({
77
- code: z.string().optional(),
78
- message: z.string(),
79
- details: z.record(z.unknown()).optional(),
80
- }).optional(),
81
- reason: z.string().optional(),
82
- ttl: z.number().int().positive().optional(),
83
- resumeAfterMs: z.number().int().positive().optional(),
84
- });
85
- const parsed = schema.safeParse(body);
199
+ const parsed = TransitionSchema.safeParse(body);
86
200
  if (!parsed.success)
87
201
  return c.json({ error: parsed.error.flatten() }, 400);
88
202
  try {
@@ -104,18 +218,26 @@ export function createTasksRouter(engine) {
104
218
  payload.ttl = parsed.data.ttl;
105
219
  if (parsed.data.resumeAfterMs !== undefined)
106
220
  payload.resumeAfterMs = parsed.data.resumeAfterMs;
221
+ if (parsed.data.blockedRequest !== undefined) {
222
+ payload.blockedRequest = {
223
+ type: parsed.data.blockedRequest.type,
224
+ data: parsed.data.blockedRequest.data,
225
+ };
226
+ }
107
227
  const task = await engine.transitionTask(taskId, parsed.data.status, payload);
108
228
  return c.json(task);
109
229
  }
110
230
  catch (err) {
231
+ if (err instanceof InvalidTransitionError)
232
+ return c.json({ error: err.message }, 409);
111
233
  const msg = err instanceof Error ? err.message : String(err);
112
234
  if (msg.toLowerCase().includes('not found'))
113
235
  return c.json({ error: msg }, 404);
114
236
  return c.json({ error: msg }, 400);
115
237
  }
116
238
  });
117
- router.post('/:taskId/events', async (c) => {
118
- const { taskId } = c.req.param();
239
+ register(publishEventsRoute, async (c) => {
240
+ const taskId = c.req.param('taskId');
119
241
  const auth = c.get('auth');
120
242
  if (!checkScope(auth, 'event:publish', taskId))
121
243
  return c.json({ error: 'Forbidden' }, 403);
@@ -134,6 +256,8 @@ export function createTasksRouter(engine) {
134
256
  eventInput.seriesId = d.seriesId;
135
257
  if (d.seriesMode !== undefined)
136
258
  eventInput.seriesMode = d.seriesMode;
259
+ if (d.seriesAccField !== undefined)
260
+ eventInput.seriesAccField = d.seriesAccField;
137
261
  const event = await engine.publishEvent(taskId, eventInput);
138
262
  events.push(event);
139
263
  }
@@ -146,8 +270,8 @@ export function createTasksRouter(engine) {
146
270
  }
147
271
  return c.json(isBatch ? events : events[0], 201);
148
272
  });
149
- router.get('/:taskId/events/history', async (c) => {
150
- const { taskId } = c.req.param();
273
+ register(eventHistoryRoute, async (c) => {
274
+ const taskId = c.req.param('taskId');
151
275
  const auth = c.get('auth');
152
276
  if (!checkScope(auth, 'event:history', taskId))
153
277
  return c.json({ error: 'Forbidden' }, 403);
@@ -170,6 +294,51 @@ export function createTasksRouter(engine) {
170
294
  const events = await engine.getEvents(taskId, since !== undefined ? { since } : undefined);
171
295
  return c.json(events);
172
296
  });
297
+ // ─── POST /tasks/:taskId/resolve — Resolve a blocked task ─────────────────
298
+ router.post('/:taskId/resolve', async (c) => {
299
+ const taskId = c.req.param('taskId');
300
+ const auth = c.get('auth');
301
+ if (!checkScope(auth, 'task:resolve', taskId))
302
+ return c.json({ error: 'Forbidden' }, 403);
303
+ const task = await engine.getTask(taskId);
304
+ if (!task)
305
+ return c.json({ error: 'Task not found' }, 404);
306
+ if (task.status !== 'blocked')
307
+ return c.json({ error: 'Task is not blocked' }, 400);
308
+ const body = await c.req.json();
309
+ const schema = z.object({ data: z.unknown() });
310
+ const parsed = schema.safeParse(body);
311
+ if (!parsed.success)
312
+ return c.json({ error: parsed.error.flatten() }, 400);
313
+ try {
314
+ const updated = await engine.transitionTask(taskId, 'running', {
315
+ result: typeof parsed.data.data === 'object' && parsed.data.data !== null
316
+ ? parsed.data.data
317
+ : { resolution: parsed.data.data },
318
+ });
319
+ return c.json(updated);
320
+ }
321
+ catch (err) {
322
+ if (err instanceof InvalidTransitionError)
323
+ return c.json({ error: err.message }, 409);
324
+ const msg = err instanceof Error ? err.message : String(err);
325
+ return c.json({ error: msg }, 400);
326
+ }
327
+ });
328
+ // ─── GET /tasks/:taskId/request — Get blocked request ────────────────────
329
+ router.get('/:taskId/request', async (c) => {
330
+ const taskId = c.req.param('taskId');
331
+ const auth = c.get('auth');
332
+ if (!checkScope(auth, 'task:resolve', taskId))
333
+ return c.json({ error: 'Forbidden' }, 403);
334
+ const task = await engine.getTask(taskId);
335
+ if (!task)
336
+ return c.json({ error: 'Task not found' }, 404);
337
+ if (task.status !== 'blocked' || !task.blockedRequest) {
338
+ return c.json({ error: 'No blocked request' }, 404);
339
+ }
340
+ return c.json(task.blockedRequest);
341
+ });
173
342
  return router;
174
343
  }
175
344
  //# sourceMappingURL=tasks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/routes/tasks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tasks.js","sourceRoot":"","sources":["../../src/routes/tasks.ts"],"names":[],"mappings":"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"}
@@ -11,14 +11,22 @@ export type TaskSummary = {
11
11
  cost?: number;
12
12
  params?: Record<string, unknown>;
13
13
  };
14
+ export declare class WorkerWSRegistry {
15
+ private handlers;
16
+ register(workerId: string, handler: WorkerWSHandler): void;
17
+ unregister(workerId: string): void;
18
+ get(workerId: string): WorkerWSHandler | undefined;
19
+ getAll(): Map<string, WorkerWSHandler>;
20
+ }
14
21
  export declare class WorkerWSHandler {
15
22
  private manager;
16
23
  private ws;
17
24
  private auth?;
25
+ private registry?;
18
26
  private workerId;
19
27
  private pendingOffers;
20
28
  private pingTimer;
21
- constructor(manager: WorkerManager, ws: WSLike, auth?: AuthContext | undefined);
29
+ constructor(manager: WorkerManager, ws: WSLike, auth?: AuthContext | undefined, registry?: WorkerWSRegistry | undefined);
22
30
  get registeredWorkerId(): string | null;
23
31
  handleMessage(raw: string): Promise<void>;
24
32
  offerTask(task: Task): void;
@@ -1 +1 @@
1
- {"version":3,"file":"worker-ws.d.ts","sourceRoot":"","sources":["../../src/routes/worker-ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAqE,MAAM,gBAAgB,CAAA;AAC5H,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI7C,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC,CAAA;AAeD,qBAAa,eAAe;IAMxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI,CAAC;IAPf,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,SAAS,CAA8C;gBAGrD,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,WAAW,YAAA;IAK5B,IAAI,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEtC;IAEK,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC/C,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAK3B,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAOvC,aAAa,IAAI,IAAI;YASP,cAAc;YAkBd,YAAY;YASZ,YAAY;YAgBZ,aAAa;YAcb,WAAW;YAWX,WAAW;YAKX,UAAU;IAOxB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,IAAI;CAGb"}
1
+ {"version":3,"file":"worker-ws.d.ts","sourceRoot":"","sources":["../../src/routes/worker-ws.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAqE,MAAM,gBAAgB,CAAA;AAC5H,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI7C,MAAM,WAAW,MAAM;IACrB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,KAAK,IAAI,IAAI,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACjC,CAAA;AAeD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAqC;IAErD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,IAAI;IAI1D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAIlC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS;IAIlD,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;CAGvC;AAID,qBAAa,eAAe;IAMxB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,EAAE;IACV,OAAO,CAAC,IAAI,CAAC;IACb,OAAO,CAAC,QAAQ,CAAC;IARnB,OAAO,CAAC,QAAQ,CAAsB;IACtC,OAAO,CAAC,aAAa,CAA0B;IAC/C,OAAO,CAAC,SAAS,CAA8C;gBAGrD,OAAO,EAAE,aAAa,EACtB,EAAE,EAAE,MAAM,EACV,IAAI,CAAC,EAAE,WAAW,YAAA,EAClB,QAAQ,CAAC,EAAE,gBAAgB,YAAA;IAKrC,IAAI,kBAAkB,IAAI,MAAM,GAAG,IAAI,CAEtC;IAEK,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC/C,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAK3B,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI;IAI9B,gBAAgB,IAAI,OAAO,CAAC,IAAI,CAAC;IAQvC,aAAa,IAAI,IAAI;YASP,cAAc;YAmBd,YAAY;YASZ,YAAY;YAgBZ,aAAa;YAcb,WAAW;YAWX,WAAW;YAKX,UAAU;IAOxB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,IAAI;CAGb"}
@@ -11,18 +11,36 @@ function toSummary(task) {
11
11
  summary.params = task.params;
12
12
  return summary;
13
13
  }
14
+ // ─── WorkerWSRegistry ──────────────────────────────────────────────────────
15
+ export class WorkerWSRegistry {
16
+ handlers = new Map();
17
+ register(workerId, handler) {
18
+ this.handlers.set(workerId, handler);
19
+ }
20
+ unregister(workerId) {
21
+ this.handlers.delete(workerId);
22
+ }
23
+ get(workerId) {
24
+ return this.handlers.get(workerId);
25
+ }
26
+ getAll() {
27
+ return this.handlers;
28
+ }
29
+ }
14
30
  // ─── WorkerWSHandler ────────────────────────────────────────────────────────
15
31
  export class WorkerWSHandler {
16
32
  manager;
17
33
  ws;
18
34
  auth;
35
+ registry;
19
36
  workerId = null;
20
37
  pendingOffers = new Map();
21
38
  pingTimer = null;
22
- constructor(manager, ws, auth) {
39
+ constructor(manager, ws, auth, registry) {
23
40
  this.manager = manager;
24
41
  this.ws = ws;
25
42
  this.auth = auth;
43
+ this.registry = registry;
26
44
  }
27
45
  // ─── Public API ─────────────────────────────────────────────────────────
28
46
  get registeredWorkerId() {
@@ -75,6 +93,7 @@ export class WorkerWSHandler {
75
93
  async handleDisconnect() {
76
94
  this.stopPingTimer();
77
95
  if (this.workerId) {
96
+ this.registry?.unregister(this.workerId);
78
97
  await this.manager.unregisterWorker(this.workerId);
79
98
  }
80
99
  }
@@ -101,6 +120,7 @@ export class WorkerWSHandler {
101
120
  reg.weight = msg.weight;
102
121
  const worker = await this.manager.registerWorker(reg);
103
122
  this.workerId = worker.id;
123
+ this.registry?.register(worker.id, this);
104
124
  this.send({ type: 'registered', workerId: worker.id });
105
125
  this.startPingTimer();
106
126
  }
@@ -1 +1 @@
1
- {"version":3,"file":"worker-ws.js","sourceRoot":"","sources":["../../src/routes/worker-ws.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker-ws.js","sourceRoot":"","sources":["../../src/routes/worker-ws.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Hono } from 'hono';
1
+ import type { Hono } from 'hono';
2
2
  import type { WorkerManager, TaskEngine } from '@taskcast/core';
3
- export { WorkerWSHandler } from './worker-ws.js';
3
+ export { WorkerWSHandler, WorkerWSRegistry } from './worker-ws.js';
4
4
  export type { WSLike, TaskSummary } from './worker-ws.js';
5
- export declare function createWorkersRouter(manager: WorkerManager, engine: TaskEngine): Hono<import("hono/types").BlankEnv, import("hono/types").BlankSchema, "/">;
5
+ export declare function createWorkersRouter(manager: WorkerManager, engine: TaskEngine): Hono;
6
6
  //# sourceMappingURL=workers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../src/routes/workers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAG3B,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAOzD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,8EA8E7E"}
1
+ {"version":3,"file":"workers.d.ts","sourceRoot":"","sources":["../../src/routes/workers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAKhC,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAClE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AA+GzD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,GAAG,IAAI,CA8FpF"}