@objectstack/spec 0.7.1 → 0.7.2

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.
Files changed (91) hide show
  1. package/dist/ai/agent-action.zod.d.ts +8 -8
  2. package/dist/ai/model-registry.zod.d.ts +6 -6
  3. package/dist/ai/orchestration.zod.d.ts +6 -6
  4. package/dist/ai/predictive.zod.d.ts +2 -2
  5. package/dist/ai/rag-pipeline.zod.d.ts +2 -2
  6. package/dist/api/batch.zod.d.ts +81 -8
  7. package/dist/api/batch.zod.d.ts.map +1 -1
  8. package/dist/api/batch.zod.js +14 -1
  9. package/dist/api/graphql.zod.d.ts +224 -224
  10. package/dist/api/odata.zod.d.ts +379 -0
  11. package/dist/api/odata.zod.d.ts.map +1 -1
  12. package/dist/api/odata.zod.js +14 -1
  13. package/dist/api/protocol.zod.d.ts +18 -18
  14. package/dist/api/realtime.zod.d.ts +133 -0
  15. package/dist/api/realtime.zod.d.ts.map +1 -1
  16. package/dist/api/realtime.zod.js +14 -1
  17. package/dist/api/websocket.zod.d.ts +2 -2
  18. package/dist/auth/config.zod.d.ts +12 -12
  19. package/dist/auth/identity.zod.d.ts +3 -3
  20. package/dist/automation/approval.zod.d.ts +16 -16
  21. package/dist/automation/etl.zod.d.ts +2 -2
  22. package/dist/automation/sync.zod.d.ts +4 -4
  23. package/dist/automation/webhook.zod.d.ts +2 -2
  24. package/dist/automation/workflow.zod.d.ts +28 -28
  25. package/dist/data/object.zod.d.ts.map +1 -1
  26. package/dist/data/object.zod.js +3 -1
  27. package/dist/hub/composer.zod.d.ts +9 -8
  28. package/dist/hub/composer.zod.d.ts.map +1 -1
  29. package/dist/hub/marketplace.zod.d.ts +1 -0
  30. package/dist/hub/marketplace.zod.d.ts.map +1 -1
  31. package/dist/hub/plugin-registry.zod.d.ts +9 -9
  32. package/dist/hub/space.zod.d.ts +5 -4
  33. package/dist/hub/space.zod.d.ts.map +1 -1
  34. package/dist/integration/connector/database.zod.d.ts +33 -33
  35. package/dist/integration/connector/file-storage.zod.d.ts +52 -52
  36. package/dist/integration/connector/message-queue.zod.d.ts +43 -43
  37. package/dist/integration/connector/saas.zod.d.ts +31 -30
  38. package/dist/integration/connector/saas.zod.d.ts.map +1 -1
  39. package/dist/integration/connector.zod.d.ts +34 -34
  40. package/dist/stack.zod.d.ts +78 -78
  41. package/dist/system/change-management.zod.d.ts +2 -2
  42. package/dist/system/collaboration.zod.d.ts +6 -6
  43. package/dist/system/events.zod.d.ts +2536 -0
  44. package/dist/system/events.zod.d.ts.map +1 -1
  45. package/dist/system/events.zod.js +582 -1
  46. package/dist/system/http-server.zod.d.ts +2 -2
  47. package/dist/system/index.d.ts +1 -0
  48. package/dist/system/index.d.ts.map +1 -1
  49. package/dist/system/index.js +1 -0
  50. package/dist/system/job.zod.d.ts +3 -2
  51. package/dist/system/job.zod.d.ts.map +1 -1
  52. package/dist/system/logging.zod.d.ts +10 -10
  53. package/dist/system/manifest.zod.d.ts +6 -6
  54. package/dist/system/message-queue.zod.d.ts +10 -10
  55. package/dist/system/metadata-loader.zod.d.ts +3 -3
  56. package/dist/system/notification.zod.d.ts +12 -12
  57. package/dist/system/plugin-capability.zod.d.ts +6 -6
  58. package/dist/system/startup-orchestrator.zod.d.ts +2 -2
  59. package/dist/system/worker.zod.d.ts +1458 -0
  60. package/dist/system/worker.zod.d.ts.map +1 -0
  61. package/dist/system/worker.zod.js +479 -0
  62. package/json-schema/api/BatchConfig.json +51 -0
  63. package/json-schema/api/ODataConfig.json +132 -0
  64. package/json-schema/api/RealtimeConfig.json +90 -0
  65. package/json-schema/data/Object.json +4 -1
  66. package/json-schema/system/BatchProgress.json +72 -0
  67. package/json-schema/system/BatchTask.json +63 -0
  68. package/json-schema/system/DeadLetterQueueEntry.json +137 -0
  69. package/json-schema/system/Event.json +24 -0
  70. package/json-schema/system/EventBusConfig.json +552 -0
  71. package/json-schema/system/EventHandler.json +34 -0
  72. package/json-schema/system/EventLogEntry.json +153 -0
  73. package/json-schema/system/EventMessageQueueConfig.json +79 -0
  74. package/json-schema/system/EventMetadata.json +20 -0
  75. package/json-schema/system/EventPersistence.json +11 -0
  76. package/json-schema/system/EventPriority.json +16 -0
  77. package/json-schema/system/EventQueueConfig.json +67 -0
  78. package/json-schema/system/EventReplayConfig.json +50 -0
  79. package/json-schema/system/EventSourcingConfig.json +65 -0
  80. package/json-schema/system/EventTypeDefinition.json +45 -0
  81. package/json-schema/system/EventWebhookConfig.json +119 -0
  82. package/json-schema/system/QueueConfig.json +133 -0
  83. package/json-schema/system/RealTimeNotificationConfig.json +85 -0
  84. package/json-schema/system/Task.json +145 -0
  85. package/json-schema/system/TaskExecutionResult.json +85 -0
  86. package/json-schema/system/TaskPriority.json +16 -0
  87. package/json-schema/system/TaskRetryPolicy.json +46 -0
  88. package/json-schema/system/TaskStatus.json +19 -0
  89. package/json-schema/system/WorkerConfig.json +188 -0
  90. package/json-schema/system/WorkerStats.json +90 -0
  91. package/package.json +9 -1
@@ -0,0 +1,1458 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Worker System Protocol
4
+ *
5
+ * Background task processing system with queues, priorities, and retry logic.
6
+ * Provides a robust foundation for async task execution similar to:
7
+ * - Sidekiq (Ruby)
8
+ * - Celery (Python)
9
+ * - Bull/BullMQ (Node.js)
10
+ * - AWS SQS/Lambda
11
+ *
12
+ * Features:
13
+ * - Task queues with priorities
14
+ * - Task scheduling and retry logic
15
+ * - Batch processing
16
+ * - Dead letter queues
17
+ * - Task monitoring and logging
18
+ *
19
+ * @example Basic task
20
+ * ```typescript
21
+ * const task: Task = {
22
+ * id: 'task-123',
23
+ * type: 'send_email',
24
+ * payload: { to: 'user@example.com', subject: 'Welcome' },
25
+ * queue: 'notifications',
26
+ * priority: 5
27
+ * };
28
+ * ```
29
+ */
30
+ /**
31
+ * Task Priority Enum
32
+ * Lower numbers = higher priority
33
+ */
34
+ export declare const TaskPriority: z.ZodEnum<["critical", "high", "normal", "low", "background"]>;
35
+ export type TaskPriority = z.infer<typeof TaskPriority>;
36
+ /**
37
+ * Task Priority Mapping
38
+ * Maps priority names to numeric values for sorting
39
+ */
40
+ export declare const TASK_PRIORITY_VALUES: Record<TaskPriority, number>;
41
+ /**
42
+ * Task Status Enum
43
+ * Lifecycle states of a task
44
+ */
45
+ export declare const TaskStatus: z.ZodEnum<["pending", "queued", "processing", "completed", "failed", "cancelled", "timeout", "dead"]>;
46
+ export type TaskStatus = z.infer<typeof TaskStatus>;
47
+ /**
48
+ * Task Retry Policy Schema
49
+ * Configuration for task retry behavior
50
+ */
51
+ export declare const TaskRetryPolicySchema: z.ZodObject<{
52
+ maxRetries: z.ZodDefault<z.ZodNumber>;
53
+ backoffStrategy: z.ZodDefault<z.ZodEnum<["fixed", "linear", "exponential"]>>;
54
+ initialDelayMs: z.ZodDefault<z.ZodNumber>;
55
+ maxDelayMs: z.ZodDefault<z.ZodNumber>;
56
+ backoffMultiplier: z.ZodDefault<z.ZodNumber>;
57
+ }, "strip", z.ZodTypeAny, {
58
+ maxRetries: number;
59
+ backoffMultiplier: number;
60
+ backoffStrategy: "fixed" | "linear" | "exponential";
61
+ initialDelayMs: number;
62
+ maxDelayMs: number;
63
+ }, {
64
+ maxRetries?: number | undefined;
65
+ backoffMultiplier?: number | undefined;
66
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
67
+ initialDelayMs?: number | undefined;
68
+ maxDelayMs?: number | undefined;
69
+ }>;
70
+ export type TaskRetryPolicy = z.infer<typeof TaskRetryPolicySchema>;
71
+ /**
72
+ * Task Schema
73
+ * Represents a background task to be executed
74
+ *
75
+ * @example
76
+ * {
77
+ * "id": "task-abc123",
78
+ * "type": "send_email",
79
+ * "payload": { "to": "user@example.com", "template": "welcome" },
80
+ * "queue": "notifications",
81
+ * "priority": "high",
82
+ * "retryPolicy": {
83
+ * "maxRetries": 3,
84
+ * "backoffStrategy": "exponential"
85
+ * }
86
+ * }
87
+ */
88
+ export declare const TaskSchema: z.ZodObject<{
89
+ /**
90
+ * Unique task identifier
91
+ */
92
+ id: z.ZodString;
93
+ /**
94
+ * Task type (handler identifier)
95
+ */
96
+ type: z.ZodString;
97
+ /**
98
+ * Task payload data
99
+ */
100
+ payload: z.ZodAny;
101
+ /**
102
+ * Queue name
103
+ */
104
+ queue: z.ZodDefault<z.ZodString>;
105
+ /**
106
+ * Task priority
107
+ */
108
+ priority: z.ZodDefault<z.ZodEnum<["critical", "high", "normal", "low", "background"]>>;
109
+ /**
110
+ * Retry policy
111
+ */
112
+ retryPolicy: z.ZodOptional<z.ZodObject<{
113
+ maxRetries: z.ZodDefault<z.ZodNumber>;
114
+ backoffStrategy: z.ZodDefault<z.ZodEnum<["fixed", "linear", "exponential"]>>;
115
+ initialDelayMs: z.ZodDefault<z.ZodNumber>;
116
+ maxDelayMs: z.ZodDefault<z.ZodNumber>;
117
+ backoffMultiplier: z.ZodDefault<z.ZodNumber>;
118
+ }, "strip", z.ZodTypeAny, {
119
+ maxRetries: number;
120
+ backoffMultiplier: number;
121
+ backoffStrategy: "fixed" | "linear" | "exponential";
122
+ initialDelayMs: number;
123
+ maxDelayMs: number;
124
+ }, {
125
+ maxRetries?: number | undefined;
126
+ backoffMultiplier?: number | undefined;
127
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
128
+ initialDelayMs?: number | undefined;
129
+ maxDelayMs?: number | undefined;
130
+ }>>;
131
+ /**
132
+ * Execution timeout in milliseconds
133
+ */
134
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
135
+ /**
136
+ * Scheduled execution time
137
+ */
138
+ scheduledAt: z.ZodOptional<z.ZodString>;
139
+ /**
140
+ * Maximum execution attempts
141
+ */
142
+ attempts: z.ZodDefault<z.ZodNumber>;
143
+ /**
144
+ * Task status
145
+ */
146
+ status: z.ZodDefault<z.ZodEnum<["pending", "queued", "processing", "completed", "failed", "cancelled", "timeout", "dead"]>>;
147
+ /**
148
+ * Task metadata
149
+ */
150
+ metadata: z.ZodOptional<z.ZodObject<{
151
+ createdAt: z.ZodOptional<z.ZodString>;
152
+ updatedAt: z.ZodOptional<z.ZodString>;
153
+ createdBy: z.ZodOptional<z.ZodString>;
154
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
155
+ }, "strip", z.ZodTypeAny, {
156
+ tags?: string[] | undefined;
157
+ createdAt?: string | undefined;
158
+ createdBy?: string | undefined;
159
+ updatedAt?: string | undefined;
160
+ }, {
161
+ tags?: string[] | undefined;
162
+ createdAt?: string | undefined;
163
+ createdBy?: string | undefined;
164
+ updatedAt?: string | undefined;
165
+ }>>;
166
+ }, "strip", z.ZodTypeAny, {
167
+ type: string;
168
+ status: "timeout" | "pending" | "processing" | "completed" | "failed" | "queued" | "cancelled" | "dead";
169
+ priority: "background" | "normal" | "critical" | "high" | "low";
170
+ id: string;
171
+ queue: string;
172
+ attempts: number;
173
+ metadata?: {
174
+ tags?: string[] | undefined;
175
+ createdAt?: string | undefined;
176
+ createdBy?: string | undefined;
177
+ updatedAt?: string | undefined;
178
+ } | undefined;
179
+ payload?: any;
180
+ timeoutMs?: number | undefined;
181
+ retryPolicy?: {
182
+ maxRetries: number;
183
+ backoffMultiplier: number;
184
+ backoffStrategy: "fixed" | "linear" | "exponential";
185
+ initialDelayMs: number;
186
+ maxDelayMs: number;
187
+ } | undefined;
188
+ scheduledAt?: string | undefined;
189
+ }, {
190
+ type: string;
191
+ id: string;
192
+ status?: "timeout" | "pending" | "processing" | "completed" | "failed" | "queued" | "cancelled" | "dead" | undefined;
193
+ priority?: "background" | "normal" | "critical" | "high" | "low" | undefined;
194
+ metadata?: {
195
+ tags?: string[] | undefined;
196
+ createdAt?: string | undefined;
197
+ createdBy?: string | undefined;
198
+ updatedAt?: string | undefined;
199
+ } | undefined;
200
+ payload?: any;
201
+ timeoutMs?: number | undefined;
202
+ retryPolicy?: {
203
+ maxRetries?: number | undefined;
204
+ backoffMultiplier?: number | undefined;
205
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
206
+ initialDelayMs?: number | undefined;
207
+ maxDelayMs?: number | undefined;
208
+ } | undefined;
209
+ queue?: string | undefined;
210
+ scheduledAt?: string | undefined;
211
+ attempts?: number | undefined;
212
+ }>;
213
+ export type Task = z.infer<typeof TaskSchema>;
214
+ /**
215
+ * Task Execution Result Schema
216
+ * Result of a task execution attempt
217
+ */
218
+ export declare const TaskExecutionResultSchema: z.ZodObject<{
219
+ /**
220
+ * Task identifier
221
+ */
222
+ taskId: z.ZodString;
223
+ /**
224
+ * Execution status
225
+ */
226
+ status: z.ZodEnum<["pending", "queued", "processing", "completed", "failed", "cancelled", "timeout", "dead"]>;
227
+ /**
228
+ * Execution result data
229
+ */
230
+ result: z.ZodOptional<z.ZodAny>;
231
+ /**
232
+ * Error information
233
+ */
234
+ error: z.ZodOptional<z.ZodObject<{
235
+ message: z.ZodString;
236
+ stack: z.ZodOptional<z.ZodString>;
237
+ code: z.ZodOptional<z.ZodString>;
238
+ }, "strip", z.ZodTypeAny, {
239
+ message: string;
240
+ code?: string | undefined;
241
+ stack?: string | undefined;
242
+ }, {
243
+ message: string;
244
+ code?: string | undefined;
245
+ stack?: string | undefined;
246
+ }>>;
247
+ /**
248
+ * Execution duration
249
+ */
250
+ durationMs: z.ZodOptional<z.ZodNumber>;
251
+ /**
252
+ * Execution timestamps
253
+ */
254
+ startedAt: z.ZodString;
255
+ completedAt: z.ZodOptional<z.ZodString>;
256
+ /**
257
+ * Retry information
258
+ */
259
+ attempt: z.ZodNumber;
260
+ willRetry: z.ZodBoolean;
261
+ }, "strip", z.ZodTypeAny, {
262
+ status: "timeout" | "pending" | "processing" | "completed" | "failed" | "queued" | "cancelled" | "dead";
263
+ startedAt: string;
264
+ taskId: string;
265
+ attempt: number;
266
+ willRetry: boolean;
267
+ error?: {
268
+ message: string;
269
+ code?: string | undefined;
270
+ stack?: string | undefined;
271
+ } | undefined;
272
+ result?: any;
273
+ durationMs?: number | undefined;
274
+ completedAt?: string | undefined;
275
+ }, {
276
+ status: "timeout" | "pending" | "processing" | "completed" | "failed" | "queued" | "cancelled" | "dead";
277
+ startedAt: string;
278
+ taskId: string;
279
+ attempt: number;
280
+ willRetry: boolean;
281
+ error?: {
282
+ message: string;
283
+ code?: string | undefined;
284
+ stack?: string | undefined;
285
+ } | undefined;
286
+ result?: any;
287
+ durationMs?: number | undefined;
288
+ completedAt?: string | undefined;
289
+ }>;
290
+ export type TaskExecutionResult = z.infer<typeof TaskExecutionResultSchema>;
291
+ /**
292
+ * Queue Configuration Schema
293
+ * Configuration for a task queue
294
+ *
295
+ * @example
296
+ * {
297
+ * "name": "notifications",
298
+ * "concurrency": 10,
299
+ * "rateLimit": {
300
+ * "max": 100,
301
+ * "duration": 60000
302
+ * }
303
+ * }
304
+ */
305
+ export declare const QueueConfigSchema: z.ZodObject<{
306
+ /**
307
+ * Queue name
308
+ */
309
+ name: z.ZodString;
310
+ /**
311
+ * Maximum concurrent workers
312
+ */
313
+ concurrency: z.ZodDefault<z.ZodNumber>;
314
+ /**
315
+ * Rate limiting
316
+ */
317
+ rateLimit: z.ZodOptional<z.ZodObject<{
318
+ max: z.ZodNumber;
319
+ duration: z.ZodNumber;
320
+ }, "strip", z.ZodTypeAny, {
321
+ max: number;
322
+ duration: number;
323
+ }, {
324
+ max: number;
325
+ duration: number;
326
+ }>>;
327
+ /**
328
+ * Default retry policy
329
+ */
330
+ defaultRetryPolicy: z.ZodOptional<z.ZodObject<{
331
+ maxRetries: z.ZodDefault<z.ZodNumber>;
332
+ backoffStrategy: z.ZodDefault<z.ZodEnum<["fixed", "linear", "exponential"]>>;
333
+ initialDelayMs: z.ZodDefault<z.ZodNumber>;
334
+ maxDelayMs: z.ZodDefault<z.ZodNumber>;
335
+ backoffMultiplier: z.ZodDefault<z.ZodNumber>;
336
+ }, "strip", z.ZodTypeAny, {
337
+ maxRetries: number;
338
+ backoffMultiplier: number;
339
+ backoffStrategy: "fixed" | "linear" | "exponential";
340
+ initialDelayMs: number;
341
+ maxDelayMs: number;
342
+ }, {
343
+ maxRetries?: number | undefined;
344
+ backoffMultiplier?: number | undefined;
345
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
346
+ initialDelayMs?: number | undefined;
347
+ maxDelayMs?: number | undefined;
348
+ }>>;
349
+ /**
350
+ * Dead letter queue
351
+ */
352
+ deadLetterQueue: z.ZodOptional<z.ZodString>;
353
+ /**
354
+ * Queue priority
355
+ */
356
+ priority: z.ZodDefault<z.ZodNumber>;
357
+ /**
358
+ * Auto-scaling configuration
359
+ */
360
+ autoScale: z.ZodOptional<z.ZodObject<{
361
+ enabled: z.ZodDefault<z.ZodBoolean>;
362
+ minWorkers: z.ZodDefault<z.ZodNumber>;
363
+ maxWorkers: z.ZodDefault<z.ZodNumber>;
364
+ scaleUpThreshold: z.ZodDefault<z.ZodNumber>;
365
+ scaleDownThreshold: z.ZodDefault<z.ZodNumber>;
366
+ }, "strip", z.ZodTypeAny, {
367
+ enabled: boolean;
368
+ minWorkers: number;
369
+ maxWorkers: number;
370
+ scaleUpThreshold: number;
371
+ scaleDownThreshold: number;
372
+ }, {
373
+ enabled?: boolean | undefined;
374
+ minWorkers?: number | undefined;
375
+ maxWorkers?: number | undefined;
376
+ scaleUpThreshold?: number | undefined;
377
+ scaleDownThreshold?: number | undefined;
378
+ }>>;
379
+ }, "strip", z.ZodTypeAny, {
380
+ name: string;
381
+ priority: number;
382
+ concurrency: number;
383
+ rateLimit?: {
384
+ max: number;
385
+ duration: number;
386
+ } | undefined;
387
+ deadLetterQueue?: string | undefined;
388
+ defaultRetryPolicy?: {
389
+ maxRetries: number;
390
+ backoffMultiplier: number;
391
+ backoffStrategy: "fixed" | "linear" | "exponential";
392
+ initialDelayMs: number;
393
+ maxDelayMs: number;
394
+ } | undefined;
395
+ autoScale?: {
396
+ enabled: boolean;
397
+ minWorkers: number;
398
+ maxWorkers: number;
399
+ scaleUpThreshold: number;
400
+ scaleDownThreshold: number;
401
+ } | undefined;
402
+ }, {
403
+ name: string;
404
+ priority?: number | undefined;
405
+ rateLimit?: {
406
+ max: number;
407
+ duration: number;
408
+ } | undefined;
409
+ concurrency?: number | undefined;
410
+ deadLetterQueue?: string | undefined;
411
+ defaultRetryPolicy?: {
412
+ maxRetries?: number | undefined;
413
+ backoffMultiplier?: number | undefined;
414
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
415
+ initialDelayMs?: number | undefined;
416
+ maxDelayMs?: number | undefined;
417
+ } | undefined;
418
+ autoScale?: {
419
+ enabled?: boolean | undefined;
420
+ minWorkers?: number | undefined;
421
+ maxWorkers?: number | undefined;
422
+ scaleUpThreshold?: number | undefined;
423
+ scaleDownThreshold?: number | undefined;
424
+ } | undefined;
425
+ }>;
426
+ export type QueueConfig = z.infer<typeof QueueConfigSchema>;
427
+ /**
428
+ * Batch Task Schema
429
+ * Configuration for batch processing multiple items
430
+ *
431
+ * @example
432
+ * {
433
+ * "id": "batch-import-123",
434
+ * "type": "import_records",
435
+ * "items": [{ "name": "Item 1" }, { "name": "Item 2" }],
436
+ * "batchSize": 100,
437
+ * "queue": "batch_processing"
438
+ * }
439
+ */
440
+ export declare const BatchTaskSchema: z.ZodObject<{
441
+ /**
442
+ * Batch job identifier
443
+ */
444
+ id: z.ZodString;
445
+ /**
446
+ * Task type for processing each item
447
+ */
448
+ type: z.ZodString;
449
+ /**
450
+ * Items to process
451
+ */
452
+ items: z.ZodArray<z.ZodAny, "many">;
453
+ /**
454
+ * Batch size (items per task)
455
+ */
456
+ batchSize: z.ZodDefault<z.ZodNumber>;
457
+ /**
458
+ * Queue name
459
+ */
460
+ queue: z.ZodDefault<z.ZodString>;
461
+ /**
462
+ * Priority
463
+ */
464
+ priority: z.ZodDefault<z.ZodEnum<["critical", "high", "normal", "low", "background"]>>;
465
+ /**
466
+ * Parallel processing
467
+ */
468
+ parallel: z.ZodDefault<z.ZodBoolean>;
469
+ /**
470
+ * Stop on error
471
+ */
472
+ stopOnError: z.ZodDefault<z.ZodBoolean>;
473
+ /**
474
+ * Progress callback
475
+ *
476
+ * Called after each batch completes to report progress.
477
+ * Invoked asynchronously and should not throw errors.
478
+ * If the callback throws, the error is logged but batch processing continues.
479
+ *
480
+ * @param progress - Object containing processed count, total count, and failed count
481
+ */
482
+ onProgress: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
483
+ processed: z.ZodNumber;
484
+ total: z.ZodNumber;
485
+ failed: z.ZodNumber;
486
+ }, "strip", z.ZodTypeAny, {
487
+ total: number;
488
+ failed: number;
489
+ processed: number;
490
+ }, {
491
+ total: number;
492
+ failed: number;
493
+ processed: number;
494
+ }>], z.ZodUnknown>, z.ZodVoid>>;
495
+ }, "strip", z.ZodTypeAny, {
496
+ type: string;
497
+ priority: "background" | "normal" | "critical" | "high" | "low";
498
+ id: string;
499
+ batchSize: number;
500
+ items: any[];
501
+ queue: string;
502
+ parallel: boolean;
503
+ stopOnError: boolean;
504
+ onProgress?: ((args_0: {
505
+ total: number;
506
+ failed: number;
507
+ processed: number;
508
+ }, ...args: unknown[]) => void) | undefined;
509
+ }, {
510
+ type: string;
511
+ id: string;
512
+ items: any[];
513
+ priority?: "background" | "normal" | "critical" | "high" | "low" | undefined;
514
+ batchSize?: number | undefined;
515
+ queue?: string | undefined;
516
+ parallel?: boolean | undefined;
517
+ stopOnError?: boolean | undefined;
518
+ onProgress?: ((args_0: {
519
+ total: number;
520
+ failed: number;
521
+ processed: number;
522
+ }, ...args: unknown[]) => void) | undefined;
523
+ }>;
524
+ export type BatchTask = z.infer<typeof BatchTaskSchema>;
525
+ /**
526
+ * Batch Progress Schema
527
+ * Tracks progress of a batch job
528
+ */
529
+ export declare const BatchProgressSchema: z.ZodObject<{
530
+ /**
531
+ * Batch job identifier
532
+ */
533
+ batchId: z.ZodString;
534
+ /**
535
+ * Total items
536
+ */
537
+ total: z.ZodNumber;
538
+ /**
539
+ * Processed items
540
+ */
541
+ processed: z.ZodDefault<z.ZodNumber>;
542
+ /**
543
+ * Successful items
544
+ */
545
+ succeeded: z.ZodDefault<z.ZodNumber>;
546
+ /**
547
+ * Failed items
548
+ */
549
+ failed: z.ZodDefault<z.ZodNumber>;
550
+ /**
551
+ * Progress percentage
552
+ */
553
+ percentage: z.ZodNumber;
554
+ /**
555
+ * Status
556
+ */
557
+ status: z.ZodEnum<["pending", "running", "completed", "failed", "cancelled"]>;
558
+ /**
559
+ * Timestamps
560
+ */
561
+ startedAt: z.ZodOptional<z.ZodString>;
562
+ completedAt: z.ZodOptional<z.ZodString>;
563
+ }, "strip", z.ZodTypeAny, {
564
+ status: "pending" | "completed" | "failed" | "running" | "cancelled";
565
+ total: number;
566
+ failed: number;
567
+ processed: number;
568
+ batchId: string;
569
+ succeeded: number;
570
+ percentage: number;
571
+ startedAt?: string | undefined;
572
+ completedAt?: string | undefined;
573
+ }, {
574
+ status: "pending" | "completed" | "failed" | "running" | "cancelled";
575
+ total: number;
576
+ batchId: string;
577
+ percentage: number;
578
+ failed?: number | undefined;
579
+ startedAt?: string | undefined;
580
+ completedAt?: string | undefined;
581
+ processed?: number | undefined;
582
+ succeeded?: number | undefined;
583
+ }>;
584
+ export type BatchProgress = z.infer<typeof BatchProgressSchema>;
585
+ /**
586
+ * Worker Configuration Schema
587
+ * Configuration for a worker instance
588
+ */
589
+ export declare const WorkerConfigSchema: z.ZodObject<{
590
+ /**
591
+ * Worker name
592
+ */
593
+ name: z.ZodString;
594
+ /**
595
+ * Queues to process
596
+ */
597
+ queues: z.ZodArray<z.ZodString, "many">;
598
+ /**
599
+ * Queue configurations
600
+ */
601
+ queueConfigs: z.ZodOptional<z.ZodArray<z.ZodObject<{
602
+ /**
603
+ * Queue name
604
+ */
605
+ name: z.ZodString;
606
+ /**
607
+ * Maximum concurrent workers
608
+ */
609
+ concurrency: z.ZodDefault<z.ZodNumber>;
610
+ /**
611
+ * Rate limiting
612
+ */
613
+ rateLimit: z.ZodOptional<z.ZodObject<{
614
+ max: z.ZodNumber;
615
+ duration: z.ZodNumber;
616
+ }, "strip", z.ZodTypeAny, {
617
+ max: number;
618
+ duration: number;
619
+ }, {
620
+ max: number;
621
+ duration: number;
622
+ }>>;
623
+ /**
624
+ * Default retry policy
625
+ */
626
+ defaultRetryPolicy: z.ZodOptional<z.ZodObject<{
627
+ maxRetries: z.ZodDefault<z.ZodNumber>;
628
+ backoffStrategy: z.ZodDefault<z.ZodEnum<["fixed", "linear", "exponential"]>>;
629
+ initialDelayMs: z.ZodDefault<z.ZodNumber>;
630
+ maxDelayMs: z.ZodDefault<z.ZodNumber>;
631
+ backoffMultiplier: z.ZodDefault<z.ZodNumber>;
632
+ }, "strip", z.ZodTypeAny, {
633
+ maxRetries: number;
634
+ backoffMultiplier: number;
635
+ backoffStrategy: "fixed" | "linear" | "exponential";
636
+ initialDelayMs: number;
637
+ maxDelayMs: number;
638
+ }, {
639
+ maxRetries?: number | undefined;
640
+ backoffMultiplier?: number | undefined;
641
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
642
+ initialDelayMs?: number | undefined;
643
+ maxDelayMs?: number | undefined;
644
+ }>>;
645
+ /**
646
+ * Dead letter queue
647
+ */
648
+ deadLetterQueue: z.ZodOptional<z.ZodString>;
649
+ /**
650
+ * Queue priority
651
+ */
652
+ priority: z.ZodDefault<z.ZodNumber>;
653
+ /**
654
+ * Auto-scaling configuration
655
+ */
656
+ autoScale: z.ZodOptional<z.ZodObject<{
657
+ enabled: z.ZodDefault<z.ZodBoolean>;
658
+ minWorkers: z.ZodDefault<z.ZodNumber>;
659
+ maxWorkers: z.ZodDefault<z.ZodNumber>;
660
+ scaleUpThreshold: z.ZodDefault<z.ZodNumber>;
661
+ scaleDownThreshold: z.ZodDefault<z.ZodNumber>;
662
+ }, "strip", z.ZodTypeAny, {
663
+ enabled: boolean;
664
+ minWorkers: number;
665
+ maxWorkers: number;
666
+ scaleUpThreshold: number;
667
+ scaleDownThreshold: number;
668
+ }, {
669
+ enabled?: boolean | undefined;
670
+ minWorkers?: number | undefined;
671
+ maxWorkers?: number | undefined;
672
+ scaleUpThreshold?: number | undefined;
673
+ scaleDownThreshold?: number | undefined;
674
+ }>>;
675
+ }, "strip", z.ZodTypeAny, {
676
+ name: string;
677
+ priority: number;
678
+ concurrency: number;
679
+ rateLimit?: {
680
+ max: number;
681
+ duration: number;
682
+ } | undefined;
683
+ deadLetterQueue?: string | undefined;
684
+ defaultRetryPolicy?: {
685
+ maxRetries: number;
686
+ backoffMultiplier: number;
687
+ backoffStrategy: "fixed" | "linear" | "exponential";
688
+ initialDelayMs: number;
689
+ maxDelayMs: number;
690
+ } | undefined;
691
+ autoScale?: {
692
+ enabled: boolean;
693
+ minWorkers: number;
694
+ maxWorkers: number;
695
+ scaleUpThreshold: number;
696
+ scaleDownThreshold: number;
697
+ } | undefined;
698
+ }, {
699
+ name: string;
700
+ priority?: number | undefined;
701
+ rateLimit?: {
702
+ max: number;
703
+ duration: number;
704
+ } | undefined;
705
+ concurrency?: number | undefined;
706
+ deadLetterQueue?: string | undefined;
707
+ defaultRetryPolicy?: {
708
+ maxRetries?: number | undefined;
709
+ backoffMultiplier?: number | undefined;
710
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
711
+ initialDelayMs?: number | undefined;
712
+ maxDelayMs?: number | undefined;
713
+ } | undefined;
714
+ autoScale?: {
715
+ enabled?: boolean | undefined;
716
+ minWorkers?: number | undefined;
717
+ maxWorkers?: number | undefined;
718
+ scaleUpThreshold?: number | undefined;
719
+ scaleDownThreshold?: number | undefined;
720
+ } | undefined;
721
+ }>, "many">>;
722
+ /**
723
+ * Polling interval
724
+ */
725
+ pollIntervalMs: z.ZodDefault<z.ZodNumber>;
726
+ /**
727
+ * Visibility timeout
728
+ */
729
+ visibilityTimeoutMs: z.ZodDefault<z.ZodNumber>;
730
+ /**
731
+ * Task timeout
732
+ */
733
+ defaultTimeoutMs: z.ZodDefault<z.ZodNumber>;
734
+ /**
735
+ * Graceful shutdown timeout
736
+ */
737
+ shutdownTimeoutMs: z.ZodDefault<z.ZodNumber>;
738
+ /**
739
+ * Task handlers
740
+ */
741
+ handlers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>>;
742
+ }, "strip", z.ZodTypeAny, {
743
+ name: string;
744
+ queues: string[];
745
+ pollIntervalMs: number;
746
+ visibilityTimeoutMs: number;
747
+ defaultTimeoutMs: number;
748
+ shutdownTimeoutMs: number;
749
+ handlers?: Record<string, (...args: unknown[]) => unknown> | undefined;
750
+ queueConfigs?: {
751
+ name: string;
752
+ priority: number;
753
+ concurrency: number;
754
+ rateLimit?: {
755
+ max: number;
756
+ duration: number;
757
+ } | undefined;
758
+ deadLetterQueue?: string | undefined;
759
+ defaultRetryPolicy?: {
760
+ maxRetries: number;
761
+ backoffMultiplier: number;
762
+ backoffStrategy: "fixed" | "linear" | "exponential";
763
+ initialDelayMs: number;
764
+ maxDelayMs: number;
765
+ } | undefined;
766
+ autoScale?: {
767
+ enabled: boolean;
768
+ minWorkers: number;
769
+ maxWorkers: number;
770
+ scaleUpThreshold: number;
771
+ scaleDownThreshold: number;
772
+ } | undefined;
773
+ }[] | undefined;
774
+ }, {
775
+ name: string;
776
+ queues: string[];
777
+ handlers?: Record<string, (...args: unknown[]) => unknown> | undefined;
778
+ queueConfigs?: {
779
+ name: string;
780
+ priority?: number | undefined;
781
+ rateLimit?: {
782
+ max: number;
783
+ duration: number;
784
+ } | undefined;
785
+ concurrency?: number | undefined;
786
+ deadLetterQueue?: string | undefined;
787
+ defaultRetryPolicy?: {
788
+ maxRetries?: number | undefined;
789
+ backoffMultiplier?: number | undefined;
790
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
791
+ initialDelayMs?: number | undefined;
792
+ maxDelayMs?: number | undefined;
793
+ } | undefined;
794
+ autoScale?: {
795
+ enabled?: boolean | undefined;
796
+ minWorkers?: number | undefined;
797
+ maxWorkers?: number | undefined;
798
+ scaleUpThreshold?: number | undefined;
799
+ scaleDownThreshold?: number | undefined;
800
+ } | undefined;
801
+ }[] | undefined;
802
+ pollIntervalMs?: number | undefined;
803
+ visibilityTimeoutMs?: number | undefined;
804
+ defaultTimeoutMs?: number | undefined;
805
+ shutdownTimeoutMs?: number | undefined;
806
+ }>;
807
+ export type WorkerConfig = z.infer<typeof WorkerConfigSchema>;
808
+ /**
809
+ * Worker Stats Schema
810
+ * Runtime statistics for a worker
811
+ */
812
+ export declare const WorkerStatsSchema: z.ZodObject<{
813
+ /**
814
+ * Worker name
815
+ */
816
+ workerName: z.ZodString;
817
+ /**
818
+ * Total tasks processed
819
+ */
820
+ totalProcessed: z.ZodNumber;
821
+ /**
822
+ * Successful tasks
823
+ */
824
+ succeeded: z.ZodNumber;
825
+ /**
826
+ * Failed tasks
827
+ */
828
+ failed: z.ZodNumber;
829
+ /**
830
+ * Active tasks
831
+ */
832
+ active: z.ZodNumber;
833
+ /**
834
+ * Average execution time
835
+ */
836
+ avgExecutionMs: z.ZodOptional<z.ZodNumber>;
837
+ /**
838
+ * Uptime
839
+ */
840
+ uptimeMs: z.ZodNumber;
841
+ /**
842
+ * Queue stats
843
+ */
844
+ queues: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
845
+ pending: z.ZodNumber;
846
+ active: z.ZodNumber;
847
+ completed: z.ZodNumber;
848
+ failed: z.ZodNumber;
849
+ }, "strip", z.ZodTypeAny, {
850
+ active: number;
851
+ pending: number;
852
+ completed: number;
853
+ failed: number;
854
+ }, {
855
+ active: number;
856
+ pending: number;
857
+ completed: number;
858
+ failed: number;
859
+ }>>>;
860
+ }, "strip", z.ZodTypeAny, {
861
+ active: number;
862
+ failed: number;
863
+ succeeded: number;
864
+ workerName: string;
865
+ totalProcessed: number;
866
+ uptimeMs: number;
867
+ queues?: Record<string, {
868
+ active: number;
869
+ pending: number;
870
+ completed: number;
871
+ failed: number;
872
+ }> | undefined;
873
+ avgExecutionMs?: number | undefined;
874
+ }, {
875
+ active: number;
876
+ failed: number;
877
+ succeeded: number;
878
+ workerName: string;
879
+ totalProcessed: number;
880
+ uptimeMs: number;
881
+ queues?: Record<string, {
882
+ active: number;
883
+ pending: number;
884
+ completed: number;
885
+ failed: number;
886
+ }> | undefined;
887
+ avgExecutionMs?: number | undefined;
888
+ }>;
889
+ export type WorkerStats = z.infer<typeof WorkerStatsSchema>;
890
+ /**
891
+ * Helper to create a task
892
+ */
893
+ export declare const Task: z.ZodObject<{
894
+ /**
895
+ * Unique task identifier
896
+ */
897
+ id: z.ZodString;
898
+ /**
899
+ * Task type (handler identifier)
900
+ */
901
+ type: z.ZodString;
902
+ /**
903
+ * Task payload data
904
+ */
905
+ payload: z.ZodAny;
906
+ /**
907
+ * Queue name
908
+ */
909
+ queue: z.ZodDefault<z.ZodString>;
910
+ /**
911
+ * Task priority
912
+ */
913
+ priority: z.ZodDefault<z.ZodEnum<["critical", "high", "normal", "low", "background"]>>;
914
+ /**
915
+ * Retry policy
916
+ */
917
+ retryPolicy: z.ZodOptional<z.ZodObject<{
918
+ maxRetries: z.ZodDefault<z.ZodNumber>;
919
+ backoffStrategy: z.ZodDefault<z.ZodEnum<["fixed", "linear", "exponential"]>>;
920
+ initialDelayMs: z.ZodDefault<z.ZodNumber>;
921
+ maxDelayMs: z.ZodDefault<z.ZodNumber>;
922
+ backoffMultiplier: z.ZodDefault<z.ZodNumber>;
923
+ }, "strip", z.ZodTypeAny, {
924
+ maxRetries: number;
925
+ backoffMultiplier: number;
926
+ backoffStrategy: "fixed" | "linear" | "exponential";
927
+ initialDelayMs: number;
928
+ maxDelayMs: number;
929
+ }, {
930
+ maxRetries?: number | undefined;
931
+ backoffMultiplier?: number | undefined;
932
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
933
+ initialDelayMs?: number | undefined;
934
+ maxDelayMs?: number | undefined;
935
+ }>>;
936
+ /**
937
+ * Execution timeout in milliseconds
938
+ */
939
+ timeoutMs: z.ZodOptional<z.ZodNumber>;
940
+ /**
941
+ * Scheduled execution time
942
+ */
943
+ scheduledAt: z.ZodOptional<z.ZodString>;
944
+ /**
945
+ * Maximum execution attempts
946
+ */
947
+ attempts: z.ZodDefault<z.ZodNumber>;
948
+ /**
949
+ * Task status
950
+ */
951
+ status: z.ZodDefault<z.ZodEnum<["pending", "queued", "processing", "completed", "failed", "cancelled", "timeout", "dead"]>>;
952
+ /**
953
+ * Task metadata
954
+ */
955
+ metadata: z.ZodOptional<z.ZodObject<{
956
+ createdAt: z.ZodOptional<z.ZodString>;
957
+ updatedAt: z.ZodOptional<z.ZodString>;
958
+ createdBy: z.ZodOptional<z.ZodString>;
959
+ tags: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
960
+ }, "strip", z.ZodTypeAny, {
961
+ tags?: string[] | undefined;
962
+ createdAt?: string | undefined;
963
+ createdBy?: string | undefined;
964
+ updatedAt?: string | undefined;
965
+ }, {
966
+ tags?: string[] | undefined;
967
+ createdAt?: string | undefined;
968
+ createdBy?: string | undefined;
969
+ updatedAt?: string | undefined;
970
+ }>>;
971
+ }, "strip", z.ZodTypeAny, {
972
+ type: string;
973
+ status: "timeout" | "pending" | "processing" | "completed" | "failed" | "queued" | "cancelled" | "dead";
974
+ priority: "background" | "normal" | "critical" | "high" | "low";
975
+ id: string;
976
+ queue: string;
977
+ attempts: number;
978
+ metadata?: {
979
+ tags?: string[] | undefined;
980
+ createdAt?: string | undefined;
981
+ createdBy?: string | undefined;
982
+ updatedAt?: string | undefined;
983
+ } | undefined;
984
+ payload?: any;
985
+ timeoutMs?: number | undefined;
986
+ retryPolicy?: {
987
+ maxRetries: number;
988
+ backoffMultiplier: number;
989
+ backoffStrategy: "fixed" | "linear" | "exponential";
990
+ initialDelayMs: number;
991
+ maxDelayMs: number;
992
+ } | undefined;
993
+ scheduledAt?: string | undefined;
994
+ }, {
995
+ type: string;
996
+ id: string;
997
+ status?: "timeout" | "pending" | "processing" | "completed" | "failed" | "queued" | "cancelled" | "dead" | undefined;
998
+ priority?: "background" | "normal" | "critical" | "high" | "low" | undefined;
999
+ metadata?: {
1000
+ tags?: string[] | undefined;
1001
+ createdAt?: string | undefined;
1002
+ createdBy?: string | undefined;
1003
+ updatedAt?: string | undefined;
1004
+ } | undefined;
1005
+ payload?: any;
1006
+ timeoutMs?: number | undefined;
1007
+ retryPolicy?: {
1008
+ maxRetries?: number | undefined;
1009
+ backoffMultiplier?: number | undefined;
1010
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
1011
+ initialDelayMs?: number | undefined;
1012
+ maxDelayMs?: number | undefined;
1013
+ } | undefined;
1014
+ queue?: string | undefined;
1015
+ scheduledAt?: string | undefined;
1016
+ attempts?: number | undefined;
1017
+ }> & {
1018
+ create: <T extends z.input<typeof TaskSchema>>(task: T) => T;
1019
+ };
1020
+ /**
1021
+ * Helper to create a queue config
1022
+ */
1023
+ export declare const QueueConfig: z.ZodObject<{
1024
+ /**
1025
+ * Queue name
1026
+ */
1027
+ name: z.ZodString;
1028
+ /**
1029
+ * Maximum concurrent workers
1030
+ */
1031
+ concurrency: z.ZodDefault<z.ZodNumber>;
1032
+ /**
1033
+ * Rate limiting
1034
+ */
1035
+ rateLimit: z.ZodOptional<z.ZodObject<{
1036
+ max: z.ZodNumber;
1037
+ duration: z.ZodNumber;
1038
+ }, "strip", z.ZodTypeAny, {
1039
+ max: number;
1040
+ duration: number;
1041
+ }, {
1042
+ max: number;
1043
+ duration: number;
1044
+ }>>;
1045
+ /**
1046
+ * Default retry policy
1047
+ */
1048
+ defaultRetryPolicy: z.ZodOptional<z.ZodObject<{
1049
+ maxRetries: z.ZodDefault<z.ZodNumber>;
1050
+ backoffStrategy: z.ZodDefault<z.ZodEnum<["fixed", "linear", "exponential"]>>;
1051
+ initialDelayMs: z.ZodDefault<z.ZodNumber>;
1052
+ maxDelayMs: z.ZodDefault<z.ZodNumber>;
1053
+ backoffMultiplier: z.ZodDefault<z.ZodNumber>;
1054
+ }, "strip", z.ZodTypeAny, {
1055
+ maxRetries: number;
1056
+ backoffMultiplier: number;
1057
+ backoffStrategy: "fixed" | "linear" | "exponential";
1058
+ initialDelayMs: number;
1059
+ maxDelayMs: number;
1060
+ }, {
1061
+ maxRetries?: number | undefined;
1062
+ backoffMultiplier?: number | undefined;
1063
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
1064
+ initialDelayMs?: number | undefined;
1065
+ maxDelayMs?: number | undefined;
1066
+ }>>;
1067
+ /**
1068
+ * Dead letter queue
1069
+ */
1070
+ deadLetterQueue: z.ZodOptional<z.ZodString>;
1071
+ /**
1072
+ * Queue priority
1073
+ */
1074
+ priority: z.ZodDefault<z.ZodNumber>;
1075
+ /**
1076
+ * Auto-scaling configuration
1077
+ */
1078
+ autoScale: z.ZodOptional<z.ZodObject<{
1079
+ enabled: z.ZodDefault<z.ZodBoolean>;
1080
+ minWorkers: z.ZodDefault<z.ZodNumber>;
1081
+ maxWorkers: z.ZodDefault<z.ZodNumber>;
1082
+ scaleUpThreshold: z.ZodDefault<z.ZodNumber>;
1083
+ scaleDownThreshold: z.ZodDefault<z.ZodNumber>;
1084
+ }, "strip", z.ZodTypeAny, {
1085
+ enabled: boolean;
1086
+ minWorkers: number;
1087
+ maxWorkers: number;
1088
+ scaleUpThreshold: number;
1089
+ scaleDownThreshold: number;
1090
+ }, {
1091
+ enabled?: boolean | undefined;
1092
+ minWorkers?: number | undefined;
1093
+ maxWorkers?: number | undefined;
1094
+ scaleUpThreshold?: number | undefined;
1095
+ scaleDownThreshold?: number | undefined;
1096
+ }>>;
1097
+ }, "strip", z.ZodTypeAny, {
1098
+ name: string;
1099
+ priority: number;
1100
+ concurrency: number;
1101
+ rateLimit?: {
1102
+ max: number;
1103
+ duration: number;
1104
+ } | undefined;
1105
+ deadLetterQueue?: string | undefined;
1106
+ defaultRetryPolicy?: {
1107
+ maxRetries: number;
1108
+ backoffMultiplier: number;
1109
+ backoffStrategy: "fixed" | "linear" | "exponential";
1110
+ initialDelayMs: number;
1111
+ maxDelayMs: number;
1112
+ } | undefined;
1113
+ autoScale?: {
1114
+ enabled: boolean;
1115
+ minWorkers: number;
1116
+ maxWorkers: number;
1117
+ scaleUpThreshold: number;
1118
+ scaleDownThreshold: number;
1119
+ } | undefined;
1120
+ }, {
1121
+ name: string;
1122
+ priority?: number | undefined;
1123
+ rateLimit?: {
1124
+ max: number;
1125
+ duration: number;
1126
+ } | undefined;
1127
+ concurrency?: number | undefined;
1128
+ deadLetterQueue?: string | undefined;
1129
+ defaultRetryPolicy?: {
1130
+ maxRetries?: number | undefined;
1131
+ backoffMultiplier?: number | undefined;
1132
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
1133
+ initialDelayMs?: number | undefined;
1134
+ maxDelayMs?: number | undefined;
1135
+ } | undefined;
1136
+ autoScale?: {
1137
+ enabled?: boolean | undefined;
1138
+ minWorkers?: number | undefined;
1139
+ maxWorkers?: number | undefined;
1140
+ scaleUpThreshold?: number | undefined;
1141
+ scaleDownThreshold?: number | undefined;
1142
+ } | undefined;
1143
+ }> & {
1144
+ create: <T extends z.input<typeof QueueConfigSchema>>(config: T) => T;
1145
+ };
1146
+ /**
1147
+ * Helper to create a worker config
1148
+ */
1149
+ export declare const WorkerConfig: z.ZodObject<{
1150
+ /**
1151
+ * Worker name
1152
+ */
1153
+ name: z.ZodString;
1154
+ /**
1155
+ * Queues to process
1156
+ */
1157
+ queues: z.ZodArray<z.ZodString, "many">;
1158
+ /**
1159
+ * Queue configurations
1160
+ */
1161
+ queueConfigs: z.ZodOptional<z.ZodArray<z.ZodObject<{
1162
+ /**
1163
+ * Queue name
1164
+ */
1165
+ name: z.ZodString;
1166
+ /**
1167
+ * Maximum concurrent workers
1168
+ */
1169
+ concurrency: z.ZodDefault<z.ZodNumber>;
1170
+ /**
1171
+ * Rate limiting
1172
+ */
1173
+ rateLimit: z.ZodOptional<z.ZodObject<{
1174
+ max: z.ZodNumber;
1175
+ duration: z.ZodNumber;
1176
+ }, "strip", z.ZodTypeAny, {
1177
+ max: number;
1178
+ duration: number;
1179
+ }, {
1180
+ max: number;
1181
+ duration: number;
1182
+ }>>;
1183
+ /**
1184
+ * Default retry policy
1185
+ */
1186
+ defaultRetryPolicy: z.ZodOptional<z.ZodObject<{
1187
+ maxRetries: z.ZodDefault<z.ZodNumber>;
1188
+ backoffStrategy: z.ZodDefault<z.ZodEnum<["fixed", "linear", "exponential"]>>;
1189
+ initialDelayMs: z.ZodDefault<z.ZodNumber>;
1190
+ maxDelayMs: z.ZodDefault<z.ZodNumber>;
1191
+ backoffMultiplier: z.ZodDefault<z.ZodNumber>;
1192
+ }, "strip", z.ZodTypeAny, {
1193
+ maxRetries: number;
1194
+ backoffMultiplier: number;
1195
+ backoffStrategy: "fixed" | "linear" | "exponential";
1196
+ initialDelayMs: number;
1197
+ maxDelayMs: number;
1198
+ }, {
1199
+ maxRetries?: number | undefined;
1200
+ backoffMultiplier?: number | undefined;
1201
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
1202
+ initialDelayMs?: number | undefined;
1203
+ maxDelayMs?: number | undefined;
1204
+ }>>;
1205
+ /**
1206
+ * Dead letter queue
1207
+ */
1208
+ deadLetterQueue: z.ZodOptional<z.ZodString>;
1209
+ /**
1210
+ * Queue priority
1211
+ */
1212
+ priority: z.ZodDefault<z.ZodNumber>;
1213
+ /**
1214
+ * Auto-scaling configuration
1215
+ */
1216
+ autoScale: z.ZodOptional<z.ZodObject<{
1217
+ enabled: z.ZodDefault<z.ZodBoolean>;
1218
+ minWorkers: z.ZodDefault<z.ZodNumber>;
1219
+ maxWorkers: z.ZodDefault<z.ZodNumber>;
1220
+ scaleUpThreshold: z.ZodDefault<z.ZodNumber>;
1221
+ scaleDownThreshold: z.ZodDefault<z.ZodNumber>;
1222
+ }, "strip", z.ZodTypeAny, {
1223
+ enabled: boolean;
1224
+ minWorkers: number;
1225
+ maxWorkers: number;
1226
+ scaleUpThreshold: number;
1227
+ scaleDownThreshold: number;
1228
+ }, {
1229
+ enabled?: boolean | undefined;
1230
+ minWorkers?: number | undefined;
1231
+ maxWorkers?: number | undefined;
1232
+ scaleUpThreshold?: number | undefined;
1233
+ scaleDownThreshold?: number | undefined;
1234
+ }>>;
1235
+ }, "strip", z.ZodTypeAny, {
1236
+ name: string;
1237
+ priority: number;
1238
+ concurrency: number;
1239
+ rateLimit?: {
1240
+ max: number;
1241
+ duration: number;
1242
+ } | undefined;
1243
+ deadLetterQueue?: string | undefined;
1244
+ defaultRetryPolicy?: {
1245
+ maxRetries: number;
1246
+ backoffMultiplier: number;
1247
+ backoffStrategy: "fixed" | "linear" | "exponential";
1248
+ initialDelayMs: number;
1249
+ maxDelayMs: number;
1250
+ } | undefined;
1251
+ autoScale?: {
1252
+ enabled: boolean;
1253
+ minWorkers: number;
1254
+ maxWorkers: number;
1255
+ scaleUpThreshold: number;
1256
+ scaleDownThreshold: number;
1257
+ } | undefined;
1258
+ }, {
1259
+ name: string;
1260
+ priority?: number | undefined;
1261
+ rateLimit?: {
1262
+ max: number;
1263
+ duration: number;
1264
+ } | undefined;
1265
+ concurrency?: number | undefined;
1266
+ deadLetterQueue?: string | undefined;
1267
+ defaultRetryPolicy?: {
1268
+ maxRetries?: number | undefined;
1269
+ backoffMultiplier?: number | undefined;
1270
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
1271
+ initialDelayMs?: number | undefined;
1272
+ maxDelayMs?: number | undefined;
1273
+ } | undefined;
1274
+ autoScale?: {
1275
+ enabled?: boolean | undefined;
1276
+ minWorkers?: number | undefined;
1277
+ maxWorkers?: number | undefined;
1278
+ scaleUpThreshold?: number | undefined;
1279
+ scaleDownThreshold?: number | undefined;
1280
+ } | undefined;
1281
+ }>, "many">>;
1282
+ /**
1283
+ * Polling interval
1284
+ */
1285
+ pollIntervalMs: z.ZodDefault<z.ZodNumber>;
1286
+ /**
1287
+ * Visibility timeout
1288
+ */
1289
+ visibilityTimeoutMs: z.ZodDefault<z.ZodNumber>;
1290
+ /**
1291
+ * Task timeout
1292
+ */
1293
+ defaultTimeoutMs: z.ZodDefault<z.ZodNumber>;
1294
+ /**
1295
+ * Graceful shutdown timeout
1296
+ */
1297
+ shutdownTimeoutMs: z.ZodDefault<z.ZodNumber>;
1298
+ /**
1299
+ * Task handlers
1300
+ */
1301
+ handlers: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodFunction<z.ZodTuple<[], z.ZodUnknown>, z.ZodUnknown>>>;
1302
+ }, "strip", z.ZodTypeAny, {
1303
+ name: string;
1304
+ queues: string[];
1305
+ pollIntervalMs: number;
1306
+ visibilityTimeoutMs: number;
1307
+ defaultTimeoutMs: number;
1308
+ shutdownTimeoutMs: number;
1309
+ handlers?: Record<string, (...args: unknown[]) => unknown> | undefined;
1310
+ queueConfigs?: {
1311
+ name: string;
1312
+ priority: number;
1313
+ concurrency: number;
1314
+ rateLimit?: {
1315
+ max: number;
1316
+ duration: number;
1317
+ } | undefined;
1318
+ deadLetterQueue?: string | undefined;
1319
+ defaultRetryPolicy?: {
1320
+ maxRetries: number;
1321
+ backoffMultiplier: number;
1322
+ backoffStrategy: "fixed" | "linear" | "exponential";
1323
+ initialDelayMs: number;
1324
+ maxDelayMs: number;
1325
+ } | undefined;
1326
+ autoScale?: {
1327
+ enabled: boolean;
1328
+ minWorkers: number;
1329
+ maxWorkers: number;
1330
+ scaleUpThreshold: number;
1331
+ scaleDownThreshold: number;
1332
+ } | undefined;
1333
+ }[] | undefined;
1334
+ }, {
1335
+ name: string;
1336
+ queues: string[];
1337
+ handlers?: Record<string, (...args: unknown[]) => unknown> | undefined;
1338
+ queueConfigs?: {
1339
+ name: string;
1340
+ priority?: number | undefined;
1341
+ rateLimit?: {
1342
+ max: number;
1343
+ duration: number;
1344
+ } | undefined;
1345
+ concurrency?: number | undefined;
1346
+ deadLetterQueue?: string | undefined;
1347
+ defaultRetryPolicy?: {
1348
+ maxRetries?: number | undefined;
1349
+ backoffMultiplier?: number | undefined;
1350
+ backoffStrategy?: "fixed" | "linear" | "exponential" | undefined;
1351
+ initialDelayMs?: number | undefined;
1352
+ maxDelayMs?: number | undefined;
1353
+ } | undefined;
1354
+ autoScale?: {
1355
+ enabled?: boolean | undefined;
1356
+ minWorkers?: number | undefined;
1357
+ maxWorkers?: number | undefined;
1358
+ scaleUpThreshold?: number | undefined;
1359
+ scaleDownThreshold?: number | undefined;
1360
+ } | undefined;
1361
+ }[] | undefined;
1362
+ pollIntervalMs?: number | undefined;
1363
+ visibilityTimeoutMs?: number | undefined;
1364
+ defaultTimeoutMs?: number | undefined;
1365
+ shutdownTimeoutMs?: number | undefined;
1366
+ }> & {
1367
+ create: <T extends z.input<typeof WorkerConfigSchema>>(config: T) => T;
1368
+ };
1369
+ /**
1370
+ * Helper to create a batch task
1371
+ */
1372
+ export declare const BatchTask: z.ZodObject<{
1373
+ /**
1374
+ * Batch job identifier
1375
+ */
1376
+ id: z.ZodString;
1377
+ /**
1378
+ * Task type for processing each item
1379
+ */
1380
+ type: z.ZodString;
1381
+ /**
1382
+ * Items to process
1383
+ */
1384
+ items: z.ZodArray<z.ZodAny, "many">;
1385
+ /**
1386
+ * Batch size (items per task)
1387
+ */
1388
+ batchSize: z.ZodDefault<z.ZodNumber>;
1389
+ /**
1390
+ * Queue name
1391
+ */
1392
+ queue: z.ZodDefault<z.ZodString>;
1393
+ /**
1394
+ * Priority
1395
+ */
1396
+ priority: z.ZodDefault<z.ZodEnum<["critical", "high", "normal", "low", "background"]>>;
1397
+ /**
1398
+ * Parallel processing
1399
+ */
1400
+ parallel: z.ZodDefault<z.ZodBoolean>;
1401
+ /**
1402
+ * Stop on error
1403
+ */
1404
+ stopOnError: z.ZodDefault<z.ZodBoolean>;
1405
+ /**
1406
+ * Progress callback
1407
+ *
1408
+ * Called after each batch completes to report progress.
1409
+ * Invoked asynchronously and should not throw errors.
1410
+ * If the callback throws, the error is logged but batch processing continues.
1411
+ *
1412
+ * @param progress - Object containing processed count, total count, and failed count
1413
+ */
1414
+ onProgress: z.ZodOptional<z.ZodFunction<z.ZodTuple<[z.ZodObject<{
1415
+ processed: z.ZodNumber;
1416
+ total: z.ZodNumber;
1417
+ failed: z.ZodNumber;
1418
+ }, "strip", z.ZodTypeAny, {
1419
+ total: number;
1420
+ failed: number;
1421
+ processed: number;
1422
+ }, {
1423
+ total: number;
1424
+ failed: number;
1425
+ processed: number;
1426
+ }>], z.ZodUnknown>, z.ZodVoid>>;
1427
+ }, "strip", z.ZodTypeAny, {
1428
+ type: string;
1429
+ priority: "background" | "normal" | "critical" | "high" | "low";
1430
+ id: string;
1431
+ batchSize: number;
1432
+ items: any[];
1433
+ queue: string;
1434
+ parallel: boolean;
1435
+ stopOnError: boolean;
1436
+ onProgress?: ((args_0: {
1437
+ total: number;
1438
+ failed: number;
1439
+ processed: number;
1440
+ }, ...args: unknown[]) => void) | undefined;
1441
+ }, {
1442
+ type: string;
1443
+ id: string;
1444
+ items: any[];
1445
+ priority?: "background" | "normal" | "critical" | "high" | "low" | undefined;
1446
+ batchSize?: number | undefined;
1447
+ queue?: string | undefined;
1448
+ parallel?: boolean | undefined;
1449
+ stopOnError?: boolean | undefined;
1450
+ onProgress?: ((args_0: {
1451
+ total: number;
1452
+ failed: number;
1453
+ processed: number;
1454
+ }, ...args: unknown[]) => void) | undefined;
1455
+ }> & {
1456
+ create: <T extends z.input<typeof BatchTaskSchema>>(batch: T) => T;
1457
+ };
1458
+ //# sourceMappingURL=worker.zod.d.ts.map