@digilogiclabs/platform-core 1.0.0 → 1.1.1

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.
@@ -38,7 +38,7 @@ interface IQueryBuilder<T = unknown> {
38
38
  delete(): IQueryBuilder<T>;
39
39
  where(column: string, operator: string, value: unknown): IQueryBuilder<T>;
40
40
  whereIn(column: string, values: unknown[]): IQueryBuilder<T>;
41
- orderBy(column: string, direction?: 'asc' | 'desc'): IQueryBuilder<T>;
41
+ orderBy(column: string, direction?: "asc" | "desc"): IQueryBuilder<T>;
42
42
  limit(count: number): IQueryBuilder<T>;
43
43
  offset(count: number): IQueryBuilder<T>;
44
44
  single(): Promise<{
@@ -217,24 +217,54 @@ interface IEmail {
217
217
  /**
218
218
  * Queue abstraction interface
219
219
  * Provides a vendor-agnostic way to work with job queues
220
+ *
221
+ * Design Principles:
222
+ * - Self-hostable: Works with Redis (BullMQ) or in-memory for testing
223
+ * - No cloud lock-in: All adapters use open-source technologies
224
+ * - Backward compatible: All new fields/methods are optional
225
+ * - Zero external costs: Only requires self-hosted Redis for production
220
226
  */
227
+ interface BackoffOptions {
228
+ type: "fixed" | "exponential";
229
+ delay: number;
230
+ /** Maximum delay for exponential backoff (ms) */
231
+ maxDelay?: number;
232
+ }
233
+ interface RepeatOptions {
234
+ /** Repeat every N milliseconds */
235
+ every?: number;
236
+ /** Cron expression (e.g., "0 * * * *" for hourly) */
237
+ cron?: string;
238
+ /** Timezone for cron (e.g., "America/New_York") */
239
+ tz?: string;
240
+ /** Maximum number of times to repeat */
241
+ limit?: number;
242
+ }
221
243
  interface JobOptions {
222
244
  /** Delay before job is processed (ms) */
223
245
  delay?: number;
224
246
  /** Number of retry attempts */
225
247
  attempts?: number;
226
248
  /** Backoff strategy */
227
- backoff?: {
228
- type: 'fixed' | 'exponential';
229
- delay: number;
230
- };
249
+ backoff?: BackoffOptions;
231
250
  /** Job priority (higher = more priority) */
232
251
  priority?: number;
233
252
  /** Remove job after completion */
234
253
  removeOnComplete?: boolean | number;
235
254
  /** Remove job after failure */
236
255
  removeOnFail?: boolean | number;
256
+ /** Job timeout in milliseconds (new) */
257
+ timeout?: number;
258
+ /** Custom job ID (new) */
259
+ jobId?: string;
260
+ /** Repeat/cron options (new) */
261
+ repeat?: RepeatOptions;
262
+ /** Correlation ID for tracing (new) */
263
+ correlationId?: string;
264
+ /** Custom metadata (new) */
265
+ metadata?: Record<string, unknown>;
237
266
  }
267
+ type JobState = "waiting" | "active" | "completed" | "failed" | "delayed";
238
268
  interface Job<T = unknown> {
239
269
  id: string;
240
270
  name: string;
@@ -242,12 +272,52 @@ interface Job<T = unknown> {
242
272
  attemptsMade: number;
243
273
  progress: number;
244
274
  timestamp: number;
275
+ /** Job state (new, optional) */
276
+ state?: JobState;
277
+ /** Processing start time (new, optional) */
278
+ processedOn?: number;
279
+ /** Completion time (new, optional) */
280
+ finishedOn?: number;
281
+ /** Failure reason (new, optional) */
282
+ failedReason?: string;
283
+ /** Correlation ID (new, optional) */
284
+ correlationId?: string;
285
+ /** Custom metadata (new, optional) */
286
+ metadata?: Record<string, unknown>;
245
287
  }
246
288
  interface JobResult<T = unknown> {
247
289
  jobId: string;
248
290
  result?: T;
249
291
  error?: Error;
292
+ /** Duration in ms (new, optional) */
293
+ duration?: number;
294
+ }
295
+ interface JobContext<T = unknown> {
296
+ job: Job<T>;
297
+ /** Update job progress (0-100) */
298
+ updateProgress(progress: number): Promise<void>;
299
+ /** Log message for this job */
300
+ log(message: string): void;
301
+ /** Check if job timed out */
302
+ isTimedOut(): boolean;
303
+ }
304
+ interface QueueStats {
305
+ waiting: number;
306
+ active: number;
307
+ completed: number;
308
+ failed: number;
309
+ delayed: number;
310
+ }
311
+ type JobEventType = "completed" | "failed" | "progress" | "active" | "stalled";
312
+ interface JobEvent<T = unknown> {
313
+ type: JobEventType;
314
+ job: Job<T>;
315
+ result?: unknown;
316
+ error?: Error;
317
+ progress?: number;
318
+ timestamp: number;
250
319
  }
320
+ type JobEventHandler<T = unknown> = (event: JobEvent<T>) => void | Promise<void>;
251
321
  interface IQueue<T = unknown> {
252
322
  /**
253
323
  * Add a job to the queue
@@ -262,9 +332,12 @@ interface IQueue<T = unknown> {
262
332
  options?: JobOptions;
263
333
  }>): Promise<Job<T>[]>;
264
334
  /**
265
- * Process jobs
335
+ * Process jobs (backward compatible signature)
336
+ * New signature with options is also supported
266
337
  */
267
- process(handler: (job: Job<T>) => Promise<unknown>): void;
338
+ process(handler: (job: Job<T>) => Promise<unknown>, options?: {
339
+ concurrency?: number;
340
+ }): void;
268
341
  /**
269
342
  * Get a job by ID
270
343
  */
@@ -284,13 +357,7 @@ interface IQueue<T = unknown> {
284
357
  /**
285
358
  * Get queue statistics
286
359
  */
287
- getStats(): Promise<{
288
- waiting: number;
289
- active: number;
290
- completed: number;
291
- failed: number;
292
- delayed: number;
293
- }>;
360
+ getStats(): Promise<QueueStats>;
294
361
  /**
295
362
  * Check queue connectivity
296
363
  */
@@ -299,7 +366,62 @@ interface IQueue<T = unknown> {
299
366
  * Close queue connection
300
367
  */
301
368
  close(): Promise<void>;
369
+ /**
370
+ * Add a recurring job (cron/interval)
371
+ * @throws {Error} If adapter doesn't support recurring jobs
372
+ */
373
+ addRecurring?(name: string, data: T, repeat: RepeatOptions, options?: Omit<JobOptions, "repeat">): Promise<Job<T>>;
374
+ /**
375
+ * Get jobs by state
376
+ */
377
+ getJobs?(state: JobState | JobState[], start?: number, end?: number): Promise<Job<T>[]>;
378
+ /**
379
+ * Get failed jobs (dead letter queue)
380
+ */
381
+ getFailedJobs?(start?: number, end?: number): Promise<Job<T>[]>;
382
+ /**
383
+ * Retry a failed job
384
+ */
385
+ retryJob?(id: string): Promise<void>;
386
+ /**
387
+ * Replay all failed jobs
388
+ */
389
+ replayAllFailed?(): Promise<number>;
390
+ /**
391
+ * Update job progress
392
+ */
393
+ updateProgress?(id: string, progress: number): Promise<void>;
394
+ /**
395
+ * Clean old jobs
396
+ */
397
+ clean?(grace: number, limit: number, state: JobState): Promise<string[]>;
398
+ /**
399
+ * Remove all jobs
400
+ */
401
+ obliterate?(options?: {
402
+ force?: boolean;
403
+ }): Promise<void>;
404
+ /**
405
+ * Subscribe to job events
406
+ */
407
+ on?(event: JobEventType, handler: JobEventHandler<T>): void;
408
+ /**
409
+ * Unsubscribe from job events
410
+ */
411
+ off?(event: JobEventType, handler: JobEventHandler<T>): void;
412
+ /**
413
+ * Get queue name
414
+ */
415
+ getName?(): string;
302
416
  }
417
+ /**
418
+ * Calculate exponential backoff delay
419
+ */
420
+ declare function calculateBackoff(attempt: number, options: BackoffOptions): number;
421
+ /**
422
+ * Generate a unique job ID
423
+ */
424
+ declare function generateJobId(): string;
303
425
 
304
426
  /**
305
427
  * Logger Interface
@@ -308,7 +430,7 @@ interface IQueue<T = unknown> {
308
430
  /**
309
431
  * Log levels in order of severity
310
432
  */
311
- type LogLevel = 'debug' | 'info' | 'warn' | 'error';
433
+ type LogLevel = "debug" | "info" | "warn" | "error";
312
434
  /**
313
435
  * Metadata that can be attached to log entries
314
436
  */
@@ -589,8 +711,8 @@ declare function createScopedMetrics(metrics: IMetrics, prefix: string, defaultT
589
711
  * Provides vendor-agnostic distributed tracing for observability.
590
712
  * Supports OpenTelemetry, Jaeger, Zipkin, and custom implementations.
591
713
  */
592
- type SpanKind = 'internal' | 'server' | 'client' | 'producer' | 'consumer';
593
- type SpanStatusCode = 'unset' | 'ok' | 'error';
714
+ type SpanKind = "internal" | "server" | "client" | "producer" | "consumer";
715
+ type SpanStatusCode = "unset" | "ok" | "error";
594
716
  interface SpanStatus {
595
717
  code: SpanStatusCode;
596
718
  message?: string;
@@ -712,13 +834,13 @@ interface TracingConfig {
712
834
  /** Sampling rate (0.0 to 1.0) */
713
835
  sampleRate?: number;
714
836
  /** Exporter type */
715
- exporter?: 'console' | 'otlp' | 'jaeger' | 'zipkin' | 'none';
837
+ exporter?: "console" | "otlp" | "jaeger" | "zipkin" | "none";
716
838
  /** Exporter endpoint */
717
839
  endpoint?: string;
718
840
  /** Additional resource attributes */
719
841
  resourceAttributes?: Record<string, string>;
720
842
  /** Propagation format */
721
- propagation?: 'w3c' | 'b3' | 'jaeger';
843
+ propagation?: "w3c" | "b3" | "jaeger";
722
844
  }
723
845
  declare class MemorySpan implements ISpan {
724
846
  readonly name: string;
@@ -1045,8 +1167,8 @@ declare const DatabaseConfigSchema: z.ZodEffects<z.ZodObject<{
1045
1167
  rejectUnauthorized?: boolean | undefined;
1046
1168
  } | undefined;
1047
1169
  }, {
1048
- provider?: "memory" | "postgres" | "supabase" | undefined;
1049
1170
  url?: string | undefined;
1171
+ provider?: "memory" | "postgres" | "supabase" | undefined;
1050
1172
  connectionString?: string | undefined;
1051
1173
  supabaseUrl?: string | undefined;
1052
1174
  supabaseAnonKey?: string | undefined;
@@ -1069,8 +1191,8 @@ declare const DatabaseConfigSchema: z.ZodEffects<z.ZodObject<{
1069
1191
  rejectUnauthorized?: boolean | undefined;
1070
1192
  } | undefined;
1071
1193
  }, {
1072
- provider?: "memory" | "postgres" | "supabase" | undefined;
1073
1194
  url?: string | undefined;
1195
+ provider?: "memory" | "postgres" | "supabase" | undefined;
1074
1196
  connectionString?: string | undefined;
1075
1197
  supabaseUrl?: string | undefined;
1076
1198
  supabaseAnonKey?: string | undefined;
@@ -1091,36 +1213,36 @@ declare const CacheConfigSchema: z.ZodEffects<z.ZodObject<{
1091
1213
  maxRetries: z.ZodDefault<z.ZodNumber>;
1092
1214
  }, "strip", z.ZodTypeAny, {
1093
1215
  provider: "memory" | "redis" | "upstash";
1216
+ maxRetries: number;
1094
1217
  defaultTTL: number;
1095
1218
  keyPrefix: string;
1096
- maxRetries: number;
1097
1219
  url?: string | undefined;
1098
1220
  upstashUrl?: string | undefined;
1099
1221
  upstashToken?: string | undefined;
1100
1222
  }, {
1101
- provider?: "memory" | "redis" | "upstash" | undefined;
1102
1223
  url?: string | undefined;
1224
+ provider?: "memory" | "redis" | "upstash" | undefined;
1225
+ maxRetries?: number | undefined;
1103
1226
  upstashUrl?: string | undefined;
1104
1227
  upstashToken?: string | undefined;
1105
1228
  defaultTTL?: number | undefined;
1106
1229
  keyPrefix?: string | undefined;
1107
- maxRetries?: number | undefined;
1108
1230
  }>, {
1109
1231
  provider: "memory" | "redis" | "upstash";
1232
+ maxRetries: number;
1110
1233
  defaultTTL: number;
1111
1234
  keyPrefix: string;
1112
- maxRetries: number;
1113
1235
  url?: string | undefined;
1114
1236
  upstashUrl?: string | undefined;
1115
1237
  upstashToken?: string | undefined;
1116
1238
  }, {
1117
- provider?: "memory" | "redis" | "upstash" | undefined;
1118
1239
  url?: string | undefined;
1240
+ provider?: "memory" | "redis" | "upstash" | undefined;
1241
+ maxRetries?: number | undefined;
1119
1242
  upstashUrl?: string | undefined;
1120
1243
  upstashToken?: string | undefined;
1121
1244
  defaultTTL?: number | undefined;
1122
1245
  keyPrefix?: string | undefined;
1123
- maxRetries?: number | undefined;
1124
1246
  }>;
1125
1247
  declare const StorageConfigSchema: z.ZodEffects<z.ZodObject<{
1126
1248
  provider: z.ZodDefault<z.ZodEnum<["memory", "s3", "minio", "r2", "supabase"]>>;
@@ -1143,8 +1265,8 @@ declare const StorageConfigSchema: z.ZodEffects<z.ZodObject<{
1143
1265
  bucket?: string | undefined;
1144
1266
  publicUrl?: string | undefined;
1145
1267
  }, {
1146
- provider?: "memory" | "supabase" | "s3" | "minio" | "r2" | undefined;
1147
1268
  endpoint?: string | undefined;
1269
+ provider?: "memory" | "supabase" | "s3" | "minio" | "r2" | undefined;
1148
1270
  region?: string | undefined;
1149
1271
  accessKey?: string | undefined;
1150
1272
  secretKey?: string | undefined;
@@ -1163,8 +1285,8 @@ declare const StorageConfigSchema: z.ZodEffects<z.ZodObject<{
1163
1285
  bucket?: string | undefined;
1164
1286
  publicUrl?: string | undefined;
1165
1287
  }, {
1166
- provider?: "memory" | "supabase" | "s3" | "minio" | "r2" | undefined;
1167
1288
  endpoint?: string | undefined;
1289
+ provider?: "memory" | "supabase" | "s3" | "minio" | "r2" | undefined;
1168
1290
  region?: string | undefined;
1169
1291
  accessKey?: string | undefined;
1170
1292
  secretKey?: string | undefined;
@@ -1185,46 +1307,46 @@ declare const EmailConfigSchema: z.ZodEffects<z.ZodObject<{
1185
1307
  replyTo: z.ZodOptional<z.ZodString>;
1186
1308
  rateLimitPerSecond: z.ZodDefault<z.ZodNumber>;
1187
1309
  }, "strip", z.ZodTypeAny, {
1188
- provider: "console" | "memory" | "smtp" | "resend";
1310
+ provider: "console" | "smtp" | "memory" | "resend";
1189
1311
  secure: boolean;
1190
1312
  rateLimitPerSecond: number;
1313
+ password?: string | undefined;
1314
+ apiKey?: string | undefined;
1191
1315
  host?: string | undefined;
1192
1316
  port?: number | undefined;
1193
1317
  username?: string | undefined;
1194
- password?: string | undefined;
1195
- apiKey?: string | undefined;
1196
1318
  from?: string | undefined;
1197
1319
  replyTo?: string | undefined;
1198
1320
  }, {
1199
- provider?: "console" | "memory" | "smtp" | "resend" | undefined;
1321
+ provider?: "console" | "smtp" | "memory" | "resend" | undefined;
1322
+ password?: string | undefined;
1323
+ apiKey?: string | undefined;
1200
1324
  host?: string | undefined;
1201
1325
  port?: number | undefined;
1202
1326
  secure?: boolean | undefined;
1203
1327
  username?: string | undefined;
1204
- password?: string | undefined;
1205
- apiKey?: string | undefined;
1206
1328
  from?: string | undefined;
1207
1329
  replyTo?: string | undefined;
1208
1330
  rateLimitPerSecond?: number | undefined;
1209
1331
  }>, {
1210
- provider: "console" | "memory" | "smtp" | "resend";
1332
+ provider: "console" | "smtp" | "memory" | "resend";
1211
1333
  secure: boolean;
1212
1334
  rateLimitPerSecond: number;
1335
+ password?: string | undefined;
1336
+ apiKey?: string | undefined;
1213
1337
  host?: string | undefined;
1214
1338
  port?: number | undefined;
1215
1339
  username?: string | undefined;
1216
- password?: string | undefined;
1217
- apiKey?: string | undefined;
1218
1340
  from?: string | undefined;
1219
1341
  replyTo?: string | undefined;
1220
1342
  }, {
1221
- provider?: "console" | "memory" | "smtp" | "resend" | undefined;
1343
+ provider?: "console" | "smtp" | "memory" | "resend" | undefined;
1344
+ password?: string | undefined;
1345
+ apiKey?: string | undefined;
1222
1346
  host?: string | undefined;
1223
1347
  port?: number | undefined;
1224
1348
  secure?: boolean | undefined;
1225
1349
  username?: string | undefined;
1226
- password?: string | undefined;
1227
- apiKey?: string | undefined;
1228
1350
  from?: string | undefined;
1229
1351
  replyTo?: string | undefined;
1230
1352
  rateLimitPerSecond?: number | undefined;
@@ -1239,41 +1361,41 @@ declare const QueueConfigSchema: z.ZodEffects<z.ZodObject<{
1239
1361
  removeOnComplete: z.ZodDefault<z.ZodBoolean>;
1240
1362
  removeOnFail: z.ZodDefault<z.ZodBoolean>;
1241
1363
  }, "strip", z.ZodTypeAny, {
1364
+ removeOnComplete: boolean;
1365
+ removeOnFail: boolean;
1242
1366
  provider: "memory" | "bullmq";
1243
1367
  maxRetries: number;
1244
1368
  queueName: string;
1245
1369
  concurrency: number;
1246
1370
  retryDelay: number;
1247
- removeOnComplete: boolean;
1248
- removeOnFail: boolean;
1249
1371
  redisUrl?: string | undefined;
1250
1372
  }, {
1373
+ removeOnComplete?: boolean | undefined;
1374
+ removeOnFail?: boolean | undefined;
1251
1375
  provider?: "memory" | "bullmq" | undefined;
1252
1376
  maxRetries?: number | undefined;
1253
1377
  redisUrl?: string | undefined;
1254
1378
  queueName?: string | undefined;
1255
1379
  concurrency?: number | undefined;
1256
1380
  retryDelay?: number | undefined;
1257
- removeOnComplete?: boolean | undefined;
1258
- removeOnFail?: boolean | undefined;
1259
1381
  }>, {
1382
+ removeOnComplete: boolean;
1383
+ removeOnFail: boolean;
1260
1384
  provider: "memory" | "bullmq";
1261
1385
  maxRetries: number;
1262
1386
  queueName: string;
1263
1387
  concurrency: number;
1264
1388
  retryDelay: number;
1265
- removeOnComplete: boolean;
1266
- removeOnFail: boolean;
1267
1389
  redisUrl?: string | undefined;
1268
1390
  }, {
1391
+ removeOnComplete?: boolean | undefined;
1392
+ removeOnFail?: boolean | undefined;
1269
1393
  provider?: "memory" | "bullmq" | undefined;
1270
1394
  maxRetries?: number | undefined;
1271
1395
  redisUrl?: string | undefined;
1272
1396
  queueName?: string | undefined;
1273
1397
  concurrency?: number | undefined;
1274
1398
  retryDelay?: number | undefined;
1275
- removeOnComplete?: boolean | undefined;
1276
- removeOnFail?: boolean | undefined;
1277
1399
  }>;
1278
1400
  declare const RetryConfigSchema: z.ZodObject<{
1279
1401
  enabled: z.ZodDefault<z.ZodBoolean>;
@@ -1325,20 +1447,20 @@ declare const TimeoutConfigSchema: z.ZodObject<{
1325
1447
  email: z.ZodDefault<z.ZodNumber>;
1326
1448
  queue: z.ZodDefault<z.ZodNumber>;
1327
1449
  }, "strip", z.ZodTypeAny, {
1450
+ email: number;
1328
1451
  enabled: boolean;
1329
- default: number;
1330
1452
  database: number;
1331
- cache: number;
1332
1453
  storage: number;
1333
- email: number;
1454
+ default: number;
1455
+ cache: number;
1334
1456
  queue: number;
1335
1457
  }, {
1458
+ email?: number | undefined;
1336
1459
  enabled?: boolean | undefined;
1337
- default?: number | undefined;
1338
1460
  database?: number | undefined;
1339
- cache?: number | undefined;
1340
1461
  storage?: number | undefined;
1341
- email?: number | undefined;
1462
+ default?: number | undefined;
1463
+ cache?: number | undefined;
1342
1464
  queue?: number | undefined;
1343
1465
  }>;
1344
1466
  declare const BulkheadConfigSchema: z.ZodObject<{
@@ -1347,15 +1469,15 @@ declare const BulkheadConfigSchema: z.ZodObject<{
1347
1469
  maxQueued: z.ZodDefault<z.ZodNumber>;
1348
1470
  timeout: z.ZodDefault<z.ZodNumber>;
1349
1471
  }, "strip", z.ZodTypeAny, {
1472
+ timeout: number;
1350
1473
  enabled: boolean;
1351
1474
  maxConcurrent: number;
1352
1475
  maxQueued: number;
1353
- timeout: number;
1354
1476
  }, {
1477
+ timeout?: number | undefined;
1355
1478
  enabled?: boolean | undefined;
1356
1479
  maxConcurrent?: number | undefined;
1357
1480
  maxQueued?: number | undefined;
1358
- timeout?: number | undefined;
1359
1481
  }>;
1360
1482
  declare const ResilienceConfigSchema: z.ZodObject<{
1361
1483
  retry: z.ZodDefault<z.ZodObject<{
@@ -1408,20 +1530,20 @@ declare const ResilienceConfigSchema: z.ZodObject<{
1408
1530
  email: z.ZodDefault<z.ZodNumber>;
1409
1531
  queue: z.ZodDefault<z.ZodNumber>;
1410
1532
  }, "strip", z.ZodTypeAny, {
1533
+ email: number;
1411
1534
  enabled: boolean;
1412
- default: number;
1413
1535
  database: number;
1414
- cache: number;
1415
1536
  storage: number;
1416
- email: number;
1537
+ default: number;
1538
+ cache: number;
1417
1539
  queue: number;
1418
1540
  }, {
1541
+ email?: number | undefined;
1419
1542
  enabled?: boolean | undefined;
1420
- default?: number | undefined;
1421
1543
  database?: number | undefined;
1422
- cache?: number | undefined;
1423
1544
  storage?: number | undefined;
1424
- email?: number | undefined;
1545
+ default?: number | undefined;
1546
+ cache?: number | undefined;
1425
1547
  queue?: number | undefined;
1426
1548
  }>>;
1427
1549
  bulkhead: z.ZodDefault<z.ZodObject<{
@@ -1430,24 +1552,24 @@ declare const ResilienceConfigSchema: z.ZodObject<{
1430
1552
  maxQueued: z.ZodDefault<z.ZodNumber>;
1431
1553
  timeout: z.ZodDefault<z.ZodNumber>;
1432
1554
  }, "strip", z.ZodTypeAny, {
1555
+ timeout: number;
1433
1556
  enabled: boolean;
1434
1557
  maxConcurrent: number;
1435
1558
  maxQueued: number;
1436
- timeout: number;
1437
1559
  }, {
1560
+ timeout?: number | undefined;
1438
1561
  enabled?: boolean | undefined;
1439
1562
  maxConcurrent?: number | undefined;
1440
1563
  maxQueued?: number | undefined;
1441
- timeout?: number | undefined;
1442
1564
  }>>;
1443
1565
  }, "strip", z.ZodTypeAny, {
1444
1566
  timeout: {
1567
+ email: number;
1445
1568
  enabled: boolean;
1446
- default: number;
1447
1569
  database: number;
1448
- cache: number;
1449
1570
  storage: number;
1450
- email: number;
1571
+ default: number;
1572
+ cache: number;
1451
1573
  queue: number;
1452
1574
  };
1453
1575
  retry: {
@@ -1466,19 +1588,19 @@ declare const ResilienceConfigSchema: z.ZodObject<{
1466
1588
  monitorInterval: number;
1467
1589
  };
1468
1590
  bulkhead: {
1591
+ timeout: number;
1469
1592
  enabled: boolean;
1470
1593
  maxConcurrent: number;
1471
1594
  maxQueued: number;
1472
- timeout: number;
1473
1595
  };
1474
1596
  }, {
1475
1597
  timeout?: {
1598
+ email?: number | undefined;
1476
1599
  enabled?: boolean | undefined;
1477
- default?: number | undefined;
1478
1600
  database?: number | undefined;
1479
- cache?: number | undefined;
1480
1601
  storage?: number | undefined;
1481
- email?: number | undefined;
1602
+ default?: number | undefined;
1603
+ cache?: number | undefined;
1482
1604
  queue?: number | undefined;
1483
1605
  } | undefined;
1484
1606
  retry?: {
@@ -1497,10 +1619,10 @@ declare const ResilienceConfigSchema: z.ZodObject<{
1497
1619
  monitorInterval?: number | undefined;
1498
1620
  } | undefined;
1499
1621
  bulkhead?: {
1622
+ timeout?: number | undefined;
1500
1623
  enabled?: boolean | undefined;
1501
1624
  maxConcurrent?: number | undefined;
1502
1625
  maxQueued?: number | undefined;
1503
- timeout?: number | undefined;
1504
1626
  } | undefined;
1505
1627
  }>;
1506
1628
  declare const LoggingConfigSchema: z.ZodObject<{
@@ -1552,8 +1674,8 @@ declare const TracingConfigSchema: z.ZodObject<{
1552
1674
  endpoint: z.ZodOptional<z.ZodString>;
1553
1675
  exporterType: z.ZodDefault<z.ZodEnum<["otlp-http", "otlp-grpc", "console"]>>;
1554
1676
  }, "strip", z.ZodTypeAny, {
1555
- provider: "otlp" | "memory" | "noop";
1556
1677
  enabled: boolean;
1678
+ provider: "otlp" | "memory" | "noop";
1557
1679
  sampleRate: number;
1558
1680
  propagateContext: boolean;
1559
1681
  exporterType: "console" | "otlp-http" | "otlp-grpc";
@@ -1563,9 +1685,9 @@ declare const TracingConfigSchema: z.ZodObject<{
1563
1685
  serviceVersion?: string | undefined;
1564
1686
  }, {
1565
1687
  environment?: string | undefined;
1566
- provider?: "otlp" | "memory" | "noop" | undefined;
1567
1688
  endpoint?: string | undefined;
1568
1689
  enabled?: boolean | undefined;
1690
+ provider?: "otlp" | "memory" | "noop" | undefined;
1569
1691
  serviceName?: string | undefined;
1570
1692
  serviceVersion?: string | undefined;
1571
1693
  sampleRate?: number | undefined;
@@ -1622,8 +1744,8 @@ declare const ObservabilityConfigSchema: z.ZodObject<{
1622
1744
  endpoint: z.ZodOptional<z.ZodString>;
1623
1745
  exporterType: z.ZodDefault<z.ZodEnum<["otlp-http", "otlp-grpc", "console"]>>;
1624
1746
  }, "strip", z.ZodTypeAny, {
1625
- provider: "otlp" | "memory" | "noop";
1626
1747
  enabled: boolean;
1748
+ provider: "otlp" | "memory" | "noop";
1627
1749
  sampleRate: number;
1628
1750
  propagateContext: boolean;
1629
1751
  exporterType: "console" | "otlp-http" | "otlp-grpc";
@@ -1633,9 +1755,9 @@ declare const ObservabilityConfigSchema: z.ZodObject<{
1633
1755
  serviceVersion?: string | undefined;
1634
1756
  }, {
1635
1757
  environment?: string | undefined;
1636
- provider?: "otlp" | "memory" | "noop" | undefined;
1637
1758
  endpoint?: string | undefined;
1638
1759
  enabled?: boolean | undefined;
1760
+ provider?: "otlp" | "memory" | "noop" | undefined;
1639
1761
  serviceName?: string | undefined;
1640
1762
  serviceVersion?: string | undefined;
1641
1763
  sampleRate?: number | undefined;
@@ -1658,8 +1780,8 @@ declare const ObservabilityConfigSchema: z.ZodObject<{
1658
1780
  histogramBuckets: number[];
1659
1781
  };
1660
1782
  tracing: {
1661
- provider: "otlp" | "memory" | "noop";
1662
1783
  enabled: boolean;
1784
+ provider: "otlp" | "memory" | "noop";
1663
1785
  sampleRate: number;
1664
1786
  propagateContext: boolean;
1665
1787
  exporterType: "console" | "otlp-http" | "otlp-grpc";
@@ -1685,9 +1807,9 @@ declare const ObservabilityConfigSchema: z.ZodObject<{
1685
1807
  } | undefined;
1686
1808
  tracing?: {
1687
1809
  environment?: string | undefined;
1688
- provider?: "otlp" | "memory" | "noop" | undefined;
1689
1810
  endpoint?: string | undefined;
1690
1811
  enabled?: boolean | undefined;
1812
+ provider?: "otlp" | "memory" | "noop" | undefined;
1691
1813
  serviceName?: string | undefined;
1692
1814
  serviceVersion?: string | undefined;
1693
1815
  sampleRate?: number | undefined;
@@ -1713,17 +1835,17 @@ declare const MiddlewareConfigSchema: z.ZodObject<{
1713
1835
  enabled: z.ZodDefault<z.ZodBoolean>;
1714
1836
  defaultTTL: z.ZodDefault<z.ZodNumber>;
1715
1837
  }, "strip", z.ZodTypeAny, {
1716
- defaultTTL: number;
1717
1838
  enabled: boolean;
1839
+ defaultTTL: number;
1718
1840
  }, {
1719
- defaultTTL?: number | undefined;
1720
1841
  enabled?: boolean | undefined;
1842
+ defaultTTL?: number | undefined;
1721
1843
  }>>;
1722
1844
  }, "strip", z.ZodTypeAny, {
1723
1845
  enabled: boolean;
1724
1846
  cache: {
1725
- defaultTTL: number;
1726
1847
  enabled: boolean;
1848
+ defaultTTL: number;
1727
1849
  };
1728
1850
  logging: boolean;
1729
1851
  metrics: boolean;
@@ -1734,8 +1856,8 @@ declare const MiddlewareConfigSchema: z.ZodObject<{
1734
1856
  }, {
1735
1857
  enabled?: boolean | undefined;
1736
1858
  cache?: {
1737
- defaultTTL?: number | undefined;
1738
1859
  enabled?: boolean | undefined;
1860
+ defaultTTL?: number | undefined;
1739
1861
  } | undefined;
1740
1862
  logging?: boolean | undefined;
1741
1863
  metrics?: boolean | undefined;
@@ -1774,8 +1896,8 @@ declare const PlatformConfigSchema: z.ZodObject<{
1774
1896
  rejectUnauthorized?: boolean | undefined;
1775
1897
  } | undefined;
1776
1898
  }, {
1777
- provider?: "memory" | "postgres" | "supabase" | undefined;
1778
1899
  url?: string | undefined;
1900
+ provider?: "memory" | "postgres" | "supabase" | undefined;
1779
1901
  connectionString?: string | undefined;
1780
1902
  supabaseUrl?: string | undefined;
1781
1903
  supabaseAnonKey?: string | undefined;
@@ -1798,8 +1920,8 @@ declare const PlatformConfigSchema: z.ZodObject<{
1798
1920
  rejectUnauthorized?: boolean | undefined;
1799
1921
  } | undefined;
1800
1922
  }, {
1801
- provider?: "memory" | "postgres" | "supabase" | undefined;
1802
1923
  url?: string | undefined;
1924
+ provider?: "memory" | "postgres" | "supabase" | undefined;
1803
1925
  connectionString?: string | undefined;
1804
1926
  supabaseUrl?: string | undefined;
1805
1927
  supabaseAnonKey?: string | undefined;
@@ -1820,36 +1942,36 @@ declare const PlatformConfigSchema: z.ZodObject<{
1820
1942
  maxRetries: z.ZodDefault<z.ZodNumber>;
1821
1943
  }, "strip", z.ZodTypeAny, {
1822
1944
  provider: "memory" | "redis" | "upstash";
1945
+ maxRetries: number;
1823
1946
  defaultTTL: number;
1824
1947
  keyPrefix: string;
1825
- maxRetries: number;
1826
1948
  url?: string | undefined;
1827
1949
  upstashUrl?: string | undefined;
1828
1950
  upstashToken?: string | undefined;
1829
1951
  }, {
1830
- provider?: "memory" | "redis" | "upstash" | undefined;
1831
1952
  url?: string | undefined;
1953
+ provider?: "memory" | "redis" | "upstash" | undefined;
1954
+ maxRetries?: number | undefined;
1832
1955
  upstashUrl?: string | undefined;
1833
1956
  upstashToken?: string | undefined;
1834
1957
  defaultTTL?: number | undefined;
1835
1958
  keyPrefix?: string | undefined;
1836
- maxRetries?: number | undefined;
1837
1959
  }>, {
1838
1960
  provider: "memory" | "redis" | "upstash";
1961
+ maxRetries: number;
1839
1962
  defaultTTL: number;
1840
1963
  keyPrefix: string;
1841
- maxRetries: number;
1842
1964
  url?: string | undefined;
1843
1965
  upstashUrl?: string | undefined;
1844
1966
  upstashToken?: string | undefined;
1845
1967
  }, {
1846
- provider?: "memory" | "redis" | "upstash" | undefined;
1847
1968
  url?: string | undefined;
1969
+ provider?: "memory" | "redis" | "upstash" | undefined;
1970
+ maxRetries?: number | undefined;
1848
1971
  upstashUrl?: string | undefined;
1849
1972
  upstashToken?: string | undefined;
1850
1973
  defaultTTL?: number | undefined;
1851
1974
  keyPrefix?: string | undefined;
1852
- maxRetries?: number | undefined;
1853
1975
  }>>;
1854
1976
  storage: z.ZodDefault<z.ZodEffects<z.ZodObject<{
1855
1977
  provider: z.ZodDefault<z.ZodEnum<["memory", "s3", "minio", "r2", "supabase"]>>;
@@ -1872,8 +1994,8 @@ declare const PlatformConfigSchema: z.ZodObject<{
1872
1994
  bucket?: string | undefined;
1873
1995
  publicUrl?: string | undefined;
1874
1996
  }, {
1875
- provider?: "memory" | "supabase" | "s3" | "minio" | "r2" | undefined;
1876
1997
  endpoint?: string | undefined;
1998
+ provider?: "memory" | "supabase" | "s3" | "minio" | "r2" | undefined;
1877
1999
  region?: string | undefined;
1878
2000
  accessKey?: string | undefined;
1879
2001
  secretKey?: string | undefined;
@@ -1892,8 +2014,8 @@ declare const PlatformConfigSchema: z.ZodObject<{
1892
2014
  bucket?: string | undefined;
1893
2015
  publicUrl?: string | undefined;
1894
2016
  }, {
1895
- provider?: "memory" | "supabase" | "s3" | "minio" | "r2" | undefined;
1896
2017
  endpoint?: string | undefined;
2018
+ provider?: "memory" | "supabase" | "s3" | "minio" | "r2" | undefined;
1897
2019
  region?: string | undefined;
1898
2020
  accessKey?: string | undefined;
1899
2021
  secretKey?: string | undefined;
@@ -1914,46 +2036,46 @@ declare const PlatformConfigSchema: z.ZodObject<{
1914
2036
  replyTo: z.ZodOptional<z.ZodString>;
1915
2037
  rateLimitPerSecond: z.ZodDefault<z.ZodNumber>;
1916
2038
  }, "strip", z.ZodTypeAny, {
1917
- provider: "console" | "memory" | "smtp" | "resend";
2039
+ provider: "console" | "smtp" | "memory" | "resend";
1918
2040
  secure: boolean;
1919
2041
  rateLimitPerSecond: number;
2042
+ password?: string | undefined;
2043
+ apiKey?: string | undefined;
1920
2044
  host?: string | undefined;
1921
2045
  port?: number | undefined;
1922
2046
  username?: string | undefined;
1923
- password?: string | undefined;
1924
- apiKey?: string | undefined;
1925
2047
  from?: string | undefined;
1926
2048
  replyTo?: string | undefined;
1927
2049
  }, {
1928
- provider?: "console" | "memory" | "smtp" | "resend" | undefined;
2050
+ provider?: "console" | "smtp" | "memory" | "resend" | undefined;
2051
+ password?: string | undefined;
2052
+ apiKey?: string | undefined;
1929
2053
  host?: string | undefined;
1930
2054
  port?: number | undefined;
1931
2055
  secure?: boolean | undefined;
1932
2056
  username?: string | undefined;
1933
- password?: string | undefined;
1934
- apiKey?: string | undefined;
1935
2057
  from?: string | undefined;
1936
2058
  replyTo?: string | undefined;
1937
2059
  rateLimitPerSecond?: number | undefined;
1938
2060
  }>, {
1939
- provider: "console" | "memory" | "smtp" | "resend";
2061
+ provider: "console" | "smtp" | "memory" | "resend";
1940
2062
  secure: boolean;
1941
2063
  rateLimitPerSecond: number;
2064
+ password?: string | undefined;
2065
+ apiKey?: string | undefined;
1942
2066
  host?: string | undefined;
1943
2067
  port?: number | undefined;
1944
2068
  username?: string | undefined;
1945
- password?: string | undefined;
1946
- apiKey?: string | undefined;
1947
2069
  from?: string | undefined;
1948
2070
  replyTo?: string | undefined;
1949
2071
  }, {
1950
- provider?: "console" | "memory" | "smtp" | "resend" | undefined;
2072
+ provider?: "console" | "smtp" | "memory" | "resend" | undefined;
2073
+ password?: string | undefined;
2074
+ apiKey?: string | undefined;
1951
2075
  host?: string | undefined;
1952
2076
  port?: number | undefined;
1953
2077
  secure?: boolean | undefined;
1954
2078
  username?: string | undefined;
1955
- password?: string | undefined;
1956
- apiKey?: string | undefined;
1957
2079
  from?: string | undefined;
1958
2080
  replyTo?: string | undefined;
1959
2081
  rateLimitPerSecond?: number | undefined;
@@ -1968,41 +2090,41 @@ declare const PlatformConfigSchema: z.ZodObject<{
1968
2090
  removeOnComplete: z.ZodDefault<z.ZodBoolean>;
1969
2091
  removeOnFail: z.ZodDefault<z.ZodBoolean>;
1970
2092
  }, "strip", z.ZodTypeAny, {
2093
+ removeOnComplete: boolean;
2094
+ removeOnFail: boolean;
1971
2095
  provider: "memory" | "bullmq";
1972
2096
  maxRetries: number;
1973
2097
  queueName: string;
1974
2098
  concurrency: number;
1975
2099
  retryDelay: number;
1976
- removeOnComplete: boolean;
1977
- removeOnFail: boolean;
1978
2100
  redisUrl?: string | undefined;
1979
2101
  }, {
2102
+ removeOnComplete?: boolean | undefined;
2103
+ removeOnFail?: boolean | undefined;
1980
2104
  provider?: "memory" | "bullmq" | undefined;
1981
2105
  maxRetries?: number | undefined;
1982
2106
  redisUrl?: string | undefined;
1983
2107
  queueName?: string | undefined;
1984
2108
  concurrency?: number | undefined;
1985
2109
  retryDelay?: number | undefined;
1986
- removeOnComplete?: boolean | undefined;
1987
- removeOnFail?: boolean | undefined;
1988
2110
  }>, {
2111
+ removeOnComplete: boolean;
2112
+ removeOnFail: boolean;
1989
2113
  provider: "memory" | "bullmq";
1990
2114
  maxRetries: number;
1991
2115
  queueName: string;
1992
2116
  concurrency: number;
1993
2117
  retryDelay: number;
1994
- removeOnComplete: boolean;
1995
- removeOnFail: boolean;
1996
2118
  redisUrl?: string | undefined;
1997
2119
  }, {
2120
+ removeOnComplete?: boolean | undefined;
2121
+ removeOnFail?: boolean | undefined;
1998
2122
  provider?: "memory" | "bullmq" | undefined;
1999
2123
  maxRetries?: number | undefined;
2000
2124
  redisUrl?: string | undefined;
2001
2125
  queueName?: string | undefined;
2002
2126
  concurrency?: number | undefined;
2003
2127
  retryDelay?: number | undefined;
2004
- removeOnComplete?: boolean | undefined;
2005
- removeOnFail?: boolean | undefined;
2006
2128
  }>>;
2007
2129
  resilience: z.ZodDefault<z.ZodObject<{
2008
2130
  retry: z.ZodDefault<z.ZodObject<{
@@ -2055,20 +2177,20 @@ declare const PlatformConfigSchema: z.ZodObject<{
2055
2177
  email: z.ZodDefault<z.ZodNumber>;
2056
2178
  queue: z.ZodDefault<z.ZodNumber>;
2057
2179
  }, "strip", z.ZodTypeAny, {
2180
+ email: number;
2058
2181
  enabled: boolean;
2059
- default: number;
2060
2182
  database: number;
2061
- cache: number;
2062
2183
  storage: number;
2063
- email: number;
2184
+ default: number;
2185
+ cache: number;
2064
2186
  queue: number;
2065
2187
  }, {
2188
+ email?: number | undefined;
2066
2189
  enabled?: boolean | undefined;
2067
- default?: number | undefined;
2068
2190
  database?: number | undefined;
2069
- cache?: number | undefined;
2070
2191
  storage?: number | undefined;
2071
- email?: number | undefined;
2192
+ default?: number | undefined;
2193
+ cache?: number | undefined;
2072
2194
  queue?: number | undefined;
2073
2195
  }>>;
2074
2196
  bulkhead: z.ZodDefault<z.ZodObject<{
@@ -2077,24 +2199,24 @@ declare const PlatformConfigSchema: z.ZodObject<{
2077
2199
  maxQueued: z.ZodDefault<z.ZodNumber>;
2078
2200
  timeout: z.ZodDefault<z.ZodNumber>;
2079
2201
  }, "strip", z.ZodTypeAny, {
2202
+ timeout: number;
2080
2203
  enabled: boolean;
2081
2204
  maxConcurrent: number;
2082
2205
  maxQueued: number;
2083
- timeout: number;
2084
2206
  }, {
2207
+ timeout?: number | undefined;
2085
2208
  enabled?: boolean | undefined;
2086
2209
  maxConcurrent?: number | undefined;
2087
2210
  maxQueued?: number | undefined;
2088
- timeout?: number | undefined;
2089
2211
  }>>;
2090
2212
  }, "strip", z.ZodTypeAny, {
2091
2213
  timeout: {
2214
+ email: number;
2092
2215
  enabled: boolean;
2093
- default: number;
2094
2216
  database: number;
2095
- cache: number;
2096
2217
  storage: number;
2097
- email: number;
2218
+ default: number;
2219
+ cache: number;
2098
2220
  queue: number;
2099
2221
  };
2100
2222
  retry: {
@@ -2113,19 +2235,19 @@ declare const PlatformConfigSchema: z.ZodObject<{
2113
2235
  monitorInterval: number;
2114
2236
  };
2115
2237
  bulkhead: {
2238
+ timeout: number;
2116
2239
  enabled: boolean;
2117
2240
  maxConcurrent: number;
2118
2241
  maxQueued: number;
2119
- timeout: number;
2120
2242
  };
2121
2243
  }, {
2122
2244
  timeout?: {
2245
+ email?: number | undefined;
2123
2246
  enabled?: boolean | undefined;
2124
- default?: number | undefined;
2125
2247
  database?: number | undefined;
2126
- cache?: number | undefined;
2127
2248
  storage?: number | undefined;
2128
- email?: number | undefined;
2249
+ default?: number | undefined;
2250
+ cache?: number | undefined;
2129
2251
  queue?: number | undefined;
2130
2252
  } | undefined;
2131
2253
  retry?: {
@@ -2144,10 +2266,10 @@ declare const PlatformConfigSchema: z.ZodObject<{
2144
2266
  monitorInterval?: number | undefined;
2145
2267
  } | undefined;
2146
2268
  bulkhead?: {
2269
+ timeout?: number | undefined;
2147
2270
  enabled?: boolean | undefined;
2148
2271
  maxConcurrent?: number | undefined;
2149
2272
  maxQueued?: number | undefined;
2150
- timeout?: number | undefined;
2151
2273
  } | undefined;
2152
2274
  }>>;
2153
2275
  observability: z.ZodDefault<z.ZodObject<{
@@ -2200,8 +2322,8 @@ declare const PlatformConfigSchema: z.ZodObject<{
2200
2322
  endpoint: z.ZodOptional<z.ZodString>;
2201
2323
  exporterType: z.ZodDefault<z.ZodEnum<["otlp-http", "otlp-grpc", "console"]>>;
2202
2324
  }, "strip", z.ZodTypeAny, {
2203
- provider: "otlp" | "memory" | "noop";
2204
2325
  enabled: boolean;
2326
+ provider: "otlp" | "memory" | "noop";
2205
2327
  sampleRate: number;
2206
2328
  propagateContext: boolean;
2207
2329
  exporterType: "console" | "otlp-http" | "otlp-grpc";
@@ -2211,9 +2333,9 @@ declare const PlatformConfigSchema: z.ZodObject<{
2211
2333
  serviceVersion?: string | undefined;
2212
2334
  }, {
2213
2335
  environment?: string | undefined;
2214
- provider?: "otlp" | "memory" | "noop" | undefined;
2215
2336
  endpoint?: string | undefined;
2216
2337
  enabled?: boolean | undefined;
2338
+ provider?: "otlp" | "memory" | "noop" | undefined;
2217
2339
  serviceName?: string | undefined;
2218
2340
  serviceVersion?: string | undefined;
2219
2341
  sampleRate?: number | undefined;
@@ -2236,8 +2358,8 @@ declare const PlatformConfigSchema: z.ZodObject<{
2236
2358
  histogramBuckets: number[];
2237
2359
  };
2238
2360
  tracing: {
2239
- provider: "otlp" | "memory" | "noop";
2240
2361
  enabled: boolean;
2362
+ provider: "otlp" | "memory" | "noop";
2241
2363
  sampleRate: number;
2242
2364
  propagateContext: boolean;
2243
2365
  exporterType: "console" | "otlp-http" | "otlp-grpc";
@@ -2263,9 +2385,9 @@ declare const PlatformConfigSchema: z.ZodObject<{
2263
2385
  } | undefined;
2264
2386
  tracing?: {
2265
2387
  environment?: string | undefined;
2266
- provider?: "otlp" | "memory" | "noop" | undefined;
2267
2388
  endpoint?: string | undefined;
2268
2389
  enabled?: boolean | undefined;
2390
+ provider?: "otlp" | "memory" | "noop" | undefined;
2269
2391
  serviceName?: string | undefined;
2270
2392
  serviceVersion?: string | undefined;
2271
2393
  sampleRate?: number | undefined;
@@ -2291,17 +2413,17 @@ declare const PlatformConfigSchema: z.ZodObject<{
2291
2413
  enabled: z.ZodDefault<z.ZodBoolean>;
2292
2414
  defaultTTL: z.ZodDefault<z.ZodNumber>;
2293
2415
  }, "strip", z.ZodTypeAny, {
2294
- defaultTTL: number;
2295
2416
  enabled: boolean;
2417
+ defaultTTL: number;
2296
2418
  }, {
2297
- defaultTTL?: number | undefined;
2298
2419
  enabled?: boolean | undefined;
2420
+ defaultTTL?: number | undefined;
2299
2421
  }>>;
2300
2422
  }, "strip", z.ZodTypeAny, {
2301
2423
  enabled: boolean;
2302
2424
  cache: {
2303
- defaultTTL: number;
2304
2425
  enabled: boolean;
2426
+ defaultTTL: number;
2305
2427
  };
2306
2428
  logging: boolean;
2307
2429
  metrics: boolean;
@@ -2312,8 +2434,8 @@ declare const PlatformConfigSchema: z.ZodObject<{
2312
2434
  }, {
2313
2435
  enabled?: boolean | undefined;
2314
2436
  cache?: {
2315
- defaultTTL?: number | undefined;
2316
2437
  enabled?: boolean | undefined;
2438
+ defaultTTL?: number | undefined;
2317
2439
  } | undefined;
2318
2440
  logging?: boolean | undefined;
2319
2441
  metrics?: boolean | undefined;
@@ -2323,6 +2445,18 @@ declare const PlatformConfigSchema: z.ZodObject<{
2323
2445
  } | undefined;
2324
2446
  }>>;
2325
2447
  }, "strip", z.ZodTypeAny, {
2448
+ email: {
2449
+ provider: "console" | "smtp" | "memory" | "resend";
2450
+ secure: boolean;
2451
+ rateLimitPerSecond: number;
2452
+ password?: string | undefined;
2453
+ apiKey?: string | undefined;
2454
+ host?: string | undefined;
2455
+ port?: number | undefined;
2456
+ username?: string | undefined;
2457
+ from?: string | undefined;
2458
+ replyTo?: string | undefined;
2459
+ };
2326
2460
  database: {
2327
2461
  provider: "memory" | "postgres" | "supabase";
2328
2462
  poolSize: number;
@@ -2336,15 +2470,6 @@ declare const PlatformConfigSchema: z.ZodObject<{
2336
2470
  rejectUnauthorized?: boolean | undefined;
2337
2471
  } | undefined;
2338
2472
  };
2339
- cache: {
2340
- provider: "memory" | "redis" | "upstash";
2341
- defaultTTL: number;
2342
- keyPrefix: string;
2343
- maxRetries: number;
2344
- url?: string | undefined;
2345
- upstashUrl?: string | undefined;
2346
- upstashToken?: string | undefined;
2347
- };
2348
2473
  storage: {
2349
2474
  provider: "memory" | "supabase" | "s3" | "minio" | "r2";
2350
2475
  region: string;
@@ -2356,36 +2481,33 @@ declare const PlatformConfigSchema: z.ZodObject<{
2356
2481
  bucket?: string | undefined;
2357
2482
  publicUrl?: string | undefined;
2358
2483
  };
2359
- email: {
2360
- provider: "console" | "memory" | "smtp" | "resend";
2361
- secure: boolean;
2362
- rateLimitPerSecond: number;
2363
- host?: string | undefined;
2364
- port?: number | undefined;
2365
- username?: string | undefined;
2366
- password?: string | undefined;
2367
- apiKey?: string | undefined;
2368
- from?: string | undefined;
2369
- replyTo?: string | undefined;
2484
+ cache: {
2485
+ provider: "memory" | "redis" | "upstash";
2486
+ maxRetries: number;
2487
+ defaultTTL: number;
2488
+ keyPrefix: string;
2489
+ url?: string | undefined;
2490
+ upstashUrl?: string | undefined;
2491
+ upstashToken?: string | undefined;
2370
2492
  };
2371
2493
  queue: {
2494
+ removeOnComplete: boolean;
2495
+ removeOnFail: boolean;
2372
2496
  provider: "memory" | "bullmq";
2373
2497
  maxRetries: number;
2374
2498
  queueName: string;
2375
2499
  concurrency: number;
2376
2500
  retryDelay: number;
2377
- removeOnComplete: boolean;
2378
- removeOnFail: boolean;
2379
2501
  redisUrl?: string | undefined;
2380
2502
  };
2381
2503
  resilience: {
2382
2504
  timeout: {
2505
+ email: number;
2383
2506
  enabled: boolean;
2384
- default: number;
2385
2507
  database: number;
2386
- cache: number;
2387
2508
  storage: number;
2388
- email: number;
2509
+ default: number;
2510
+ cache: number;
2389
2511
  queue: number;
2390
2512
  };
2391
2513
  retry: {
@@ -2404,10 +2526,10 @@ declare const PlatformConfigSchema: z.ZodObject<{
2404
2526
  monitorInterval: number;
2405
2527
  };
2406
2528
  bulkhead: {
2529
+ timeout: number;
2407
2530
  enabled: boolean;
2408
2531
  maxConcurrent: number;
2409
2532
  maxQueued: number;
2410
- timeout: number;
2411
2533
  };
2412
2534
  };
2413
2535
  observability: {
@@ -2426,8 +2548,8 @@ declare const PlatformConfigSchema: z.ZodObject<{
2426
2548
  histogramBuckets: number[];
2427
2549
  };
2428
2550
  tracing: {
2429
- provider: "otlp" | "memory" | "noop";
2430
2551
  enabled: boolean;
2552
+ provider: "otlp" | "memory" | "noop";
2431
2553
  sampleRate: number;
2432
2554
  propagateContext: boolean;
2433
2555
  exporterType: "console" | "otlp-http" | "otlp-grpc";
@@ -2440,8 +2562,8 @@ declare const PlatformConfigSchema: z.ZodObject<{
2440
2562
  middleware: {
2441
2563
  enabled: boolean;
2442
2564
  cache: {
2443
- defaultTTL: number;
2444
2565
  enabled: boolean;
2566
+ defaultTTL: number;
2445
2567
  };
2446
2568
  logging: boolean;
2447
2569
  metrics: boolean;
@@ -2451,9 +2573,21 @@ declare const PlatformConfigSchema: z.ZodObject<{
2451
2573
  };
2452
2574
  };
2453
2575
  }, {
2576
+ email?: {
2577
+ provider?: "console" | "smtp" | "memory" | "resend" | undefined;
2578
+ password?: string | undefined;
2579
+ apiKey?: string | undefined;
2580
+ host?: string | undefined;
2581
+ port?: number | undefined;
2582
+ secure?: boolean | undefined;
2583
+ username?: string | undefined;
2584
+ from?: string | undefined;
2585
+ replyTo?: string | undefined;
2586
+ rateLimitPerSecond?: number | undefined;
2587
+ } | undefined;
2454
2588
  database?: {
2455
- provider?: "memory" | "postgres" | "supabase" | undefined;
2456
2589
  url?: string | undefined;
2590
+ provider?: "memory" | "postgres" | "supabase" | undefined;
2457
2591
  connectionString?: string | undefined;
2458
2592
  supabaseUrl?: string | undefined;
2459
2593
  supabaseAnonKey?: string | undefined;
@@ -2464,18 +2598,9 @@ declare const PlatformConfigSchema: z.ZodObject<{
2464
2598
  rejectUnauthorized?: boolean | undefined;
2465
2599
  } | undefined;
2466
2600
  } | undefined;
2467
- cache?: {
2468
- provider?: "memory" | "redis" | "upstash" | undefined;
2469
- url?: string | undefined;
2470
- upstashUrl?: string | undefined;
2471
- upstashToken?: string | undefined;
2472
- defaultTTL?: number | undefined;
2473
- keyPrefix?: string | undefined;
2474
- maxRetries?: number | undefined;
2475
- } | undefined;
2476
2601
  storage?: {
2477
- provider?: "memory" | "supabase" | "s3" | "minio" | "r2" | undefined;
2478
2602
  endpoint?: string | undefined;
2603
+ provider?: "memory" | "supabase" | "s3" | "minio" | "r2" | undefined;
2479
2604
  region?: string | undefined;
2480
2605
  accessKey?: string | undefined;
2481
2606
  secretKey?: string | undefined;
@@ -2484,36 +2609,33 @@ declare const PlatformConfigSchema: z.ZodObject<{
2484
2609
  forcePathStyle?: boolean | undefined;
2485
2610
  signedUrlExpiry?: number | undefined;
2486
2611
  } | undefined;
2487
- email?: {
2488
- provider?: "console" | "memory" | "smtp" | "resend" | undefined;
2489
- host?: string | undefined;
2490
- port?: number | undefined;
2491
- secure?: boolean | undefined;
2492
- username?: string | undefined;
2493
- password?: string | undefined;
2494
- apiKey?: string | undefined;
2495
- from?: string | undefined;
2496
- replyTo?: string | undefined;
2497
- rateLimitPerSecond?: number | undefined;
2612
+ cache?: {
2613
+ url?: string | undefined;
2614
+ provider?: "memory" | "redis" | "upstash" | undefined;
2615
+ maxRetries?: number | undefined;
2616
+ upstashUrl?: string | undefined;
2617
+ upstashToken?: string | undefined;
2618
+ defaultTTL?: number | undefined;
2619
+ keyPrefix?: string | undefined;
2498
2620
  } | undefined;
2499
2621
  queue?: {
2622
+ removeOnComplete?: boolean | undefined;
2623
+ removeOnFail?: boolean | undefined;
2500
2624
  provider?: "memory" | "bullmq" | undefined;
2501
2625
  maxRetries?: number | undefined;
2502
2626
  redisUrl?: string | undefined;
2503
2627
  queueName?: string | undefined;
2504
2628
  concurrency?: number | undefined;
2505
2629
  retryDelay?: number | undefined;
2506
- removeOnComplete?: boolean | undefined;
2507
- removeOnFail?: boolean | undefined;
2508
2630
  } | undefined;
2509
2631
  resilience?: {
2510
2632
  timeout?: {
2633
+ email?: number | undefined;
2511
2634
  enabled?: boolean | undefined;
2512
- default?: number | undefined;
2513
2635
  database?: number | undefined;
2514
- cache?: number | undefined;
2515
2636
  storage?: number | undefined;
2516
- email?: number | undefined;
2637
+ default?: number | undefined;
2638
+ cache?: number | undefined;
2517
2639
  queue?: number | undefined;
2518
2640
  } | undefined;
2519
2641
  retry?: {
@@ -2532,10 +2654,10 @@ declare const PlatformConfigSchema: z.ZodObject<{
2532
2654
  monitorInterval?: number | undefined;
2533
2655
  } | undefined;
2534
2656
  bulkhead?: {
2657
+ timeout?: number | undefined;
2535
2658
  enabled?: boolean | undefined;
2536
2659
  maxConcurrent?: number | undefined;
2537
2660
  maxQueued?: number | undefined;
2538
- timeout?: number | undefined;
2539
2661
  } | undefined;
2540
2662
  } | undefined;
2541
2663
  observability?: {
@@ -2555,9 +2677,9 @@ declare const PlatformConfigSchema: z.ZodObject<{
2555
2677
  } | undefined;
2556
2678
  tracing?: {
2557
2679
  environment?: string | undefined;
2558
- provider?: "otlp" | "memory" | "noop" | undefined;
2559
2680
  endpoint?: string | undefined;
2560
2681
  enabled?: boolean | undefined;
2682
+ provider?: "otlp" | "memory" | "noop" | undefined;
2561
2683
  serviceName?: string | undefined;
2562
2684
  serviceVersion?: string | undefined;
2563
2685
  sampleRate?: number | undefined;
@@ -2568,8 +2690,8 @@ declare const PlatformConfigSchema: z.ZodObject<{
2568
2690
  middleware?: {
2569
2691
  enabled?: boolean | undefined;
2570
2692
  cache?: {
2571
- defaultTTL?: number | undefined;
2572
2693
  enabled?: boolean | undefined;
2694
+ defaultTTL?: number | undefined;
2573
2695
  } | undefined;
2574
2696
  logging?: boolean | undefined;
2575
2697
  metrics?: boolean | undefined;
@@ -2720,45 +2842,86 @@ declare class MemoryEmail implements IEmail {
2720
2842
  get size(): number;
2721
2843
  }
2722
2844
 
2845
+ /**
2846
+ * Enhanced Memory Queue Implementation
2847
+ *
2848
+ * Full-featured in-memory queue for testing with:
2849
+ * - Retry/backoff support
2850
+ * - Job state management
2851
+ * - Event emitters
2852
+ * - Dead letter queue (failed jobs)
2853
+ * - Recurring job support
2854
+ *
2855
+ * Design: Self-contained, no external dependencies, full IQueue compliance
2856
+ */
2857
+
2723
2858
  declare class MemoryQueue<T = unknown> implements IQueue<T> {
2724
2859
  private jobs;
2725
2860
  private handlers;
2861
+ private eventHandlers;
2862
+ private paused;
2863
+ private processingConcurrency;
2864
+ private activeCount;
2865
+ private repeatIntervals;
2866
+ private queueName;
2867
+ private processingQueue;
2868
+ private isProcessing;
2869
+ constructor(name?: string);
2726
2870
  add(name: string, data: T, options?: JobOptions): Promise<Job<T>>;
2727
2871
  addBulk(jobs: Array<{
2728
2872
  name: string;
2729
2873
  data: T;
2730
2874
  options?: JobOptions;
2731
2875
  }>): Promise<Job<T>[]>;
2732
- process(handler: (job: Job<T>) => Promise<unknown>): void;
2876
+ process(handler: (job: Job<T>) => Promise<unknown>, options?: {
2877
+ concurrency?: number;
2878
+ }): void;
2733
2879
  getJob(id: string): Promise<Job<T> | null>;
2734
2880
  removeJob(id: string): Promise<void>;
2735
2881
  pause(): Promise<void>;
2736
2882
  resume(): Promise<void>;
2737
- getStats(): Promise<{
2738
- waiting: number;
2739
- active: number;
2740
- completed: number;
2741
- failed: number;
2742
- delayed: number;
2743
- }>;
2883
+ getStats(): Promise<QueueStats>;
2744
2884
  healthCheck(): Promise<boolean>;
2745
2885
  close(): Promise<void>;
2886
+ addRecurring(name: string, data: T, repeat: RepeatOptions, options?: Omit<JobOptions, "repeat">): Promise<Job<T>>;
2887
+ getJobs(state: JobState | JobState[], start?: number, end?: number): Promise<Job<T>[]>;
2888
+ getFailedJobs(start?: number, end?: number): Promise<Job<T>[]>;
2889
+ retryJob(id: string): Promise<void>;
2890
+ replayAllFailed(): Promise<number>;
2891
+ updateProgress(id: string, progress: number): Promise<void>;
2892
+ clean(grace: number, limit: number, state: JobState): Promise<string[]>;
2893
+ obliterate(options?: {
2894
+ force?: boolean;
2895
+ }): Promise<void>;
2896
+ on(event: JobEventType, handler: JobEventHandler<T>): void;
2897
+ off(event: JobEventType, handler: JobEventHandler<T>): void;
2898
+ getName(): string;
2746
2899
  /**
2747
2900
  * Clear all jobs (for testing)
2748
2901
  */
2749
2902
  clear(): void;
2750
2903
  /**
2751
- * Get all jobs (for testing)
2904
+ * Get all jobs regardless of state (for testing)
2752
2905
  */
2753
- getJobs(): Job<T>[];
2906
+ getAllJobs(): Job<T>[];
2754
2907
  /**
2755
- * Get pending jobs (for testing)
2908
+ * Get pending (waiting) jobs (for testing)
2756
2909
  */
2757
2910
  getPendingJobs(): Job<T>[];
2758
2911
  /**
2759
2912
  * Get number of jobs (for testing)
2760
2913
  */
2761
2914
  get size(): number;
2915
+ /**
2916
+ * Wait for all jobs to complete (for testing)
2917
+ */
2918
+ drain(timeout?: number): Promise<void>;
2919
+ private hasWaitingJobs;
2920
+ private processNext;
2921
+ private executeWithTimeout;
2922
+ private handleJobFailure;
2923
+ private emitEvent;
2924
+ private toPublicJob;
2762
2925
  }
2763
2926
 
2764
2927
  /**
@@ -2783,4 +2946,4 @@ declare class ConsoleEmail implements IEmail {
2783
2946
  private formatAddresses;
2784
2947
  }
2785
2948
 
2786
- export { type SpanContext as $, type LoggerConfig as A, type MetricTags as B, ConsoleEmail as C, type Secret as D, EnvSecrets as E, type SecretMetadata as F, type GetSecretOptions as G, type HistogramStats as H, type IPlatform as I, type Job as J, type SetSecretOptions as K, type LogLevel as L, MemoryDatabase as M, NoopLogger as N, type RotationResult as O, type PlatformHealthStatus as P, type QueryResult as Q, type RotateSecretOptions as R, type StorageFile as S, type TimingStats as T, type UploadOptions as U, createPlatformAsync as V, createScopedMetrics as W, MemoryTracing as X, NoopTracing as Y, type ITracing as Z, type ISpan as _, MemoryCache as a, type SpanOptions as a0, type SpanStatus as a1, type SpanKind as a2, type TracingConfig as a3, type EmailAddress as a4, type EmailAttachment as a5, type SpanStatusCode as a6, type SpanEvent as a7, DatabaseProviderSchema as a8, CacheProviderSchema as a9, type QueueConfig as aA, type ResilienceConfig as aB, type ObservabilityConfig as aC, type MiddlewareConfig as aD, loadConfig as aE, validateConfig as aF, safeValidateConfig as aG, getDefaultConfig as aH, StorageProviderSchema as aa, EmailProviderSchema as ab, QueueProviderSchema as ac, TracingProviderSchema as ad, LogLevelSchema as ae, DatabaseConfigSchema as af, CacheConfigSchema as ag, StorageConfigSchema as ah, EmailConfigSchema as ai, QueueConfigSchema as aj, RetryConfigSchema as ak, CircuitBreakerConfigSchema as al, TimeoutConfigSchema as am, BulkheadConfigSchema as an, ResilienceConfigSchema as ao, LoggingConfigSchema as ap, MetricsConfigSchema as aq, TracingConfigSchema as ar, ObservabilityConfigSchema as as, MiddlewareConfigSchema as at, PlatformConfigSchema as au, type PlatformConfig as av, type DatabaseConfig as aw, type CacheConfig as ax, type StorageConfig as ay, type EmailConfig as az, MemoryStorage as b, MemoryEmail as c, MemoryQueue as d, type IDatabase as e, MemorySecrets as f, createPlatform as g, ConsoleLogger as h, MemoryMetrics as i, NoopMetrics as j, type IQueryBuilder as k, type ICache as l, type IStorage as m, type IEmail as n, type IQueue as o, type ILogger as p, type IMetrics as q, type ISecrets as r, type JobOptions as s, type EmailMessage as t, type MetricsSummary as u, type EmailResult as v, type ICacheOptions as w, type JobResult as x, type LogMeta as y, type LogEntry as z };
2949
+ export { type RotateSecretOptions as $, type JobResult as A, type JobContext as B, ConsoleEmail as C, type JobEvent as D, EnvSecrets as E, type QueueStats as F, type BackoffOptions as G, type LogMeta as H, type IPlatform as I, type Job as J, type LogEntry as K, type LogLevel as L, MemoryDatabase as M, NoopLogger as N, type LoggerConfig as O, type PlatformHealthStatus as P, type QueryResult as Q, type RepeatOptions as R, type StorageFile as S, type MetricTags as T, type UploadOptions as U, type HistogramStats as V, type TimingStats as W, type Secret as X, type SecretMetadata as Y, type GetSecretOptions as Z, type SetSecretOptions as _, MemoryCache as a, type RotationResult as a0, createPlatformAsync as a1, createScopedMetrics as a2, MemoryTracing as a3, NoopTracing as a4, type ITracing as a5, type ISpan as a6, type SpanContext as a7, type SpanOptions as a8, type SpanStatus as a9, MetricsConfigSchema as aA, TracingConfigSchema as aB, ObservabilityConfigSchema as aC, MiddlewareConfigSchema as aD, PlatformConfigSchema as aE, type PlatformConfig as aF, type DatabaseConfig as aG, type CacheConfig as aH, type StorageConfig as aI, type EmailConfig as aJ, type QueueConfig as aK, type ResilienceConfig as aL, type ObservabilityConfig as aM, type MiddlewareConfig as aN, loadConfig as aO, validateConfig as aP, safeValidateConfig as aQ, getDefaultConfig as aR, type SpanKind as aa, type TracingConfig as ab, type EmailAddress as ac, type EmailAttachment as ad, calculateBackoff as ae, generateJobId as af, type SpanStatusCode as ag, type SpanEvent as ah, DatabaseProviderSchema as ai, CacheProviderSchema as aj, StorageProviderSchema as ak, EmailProviderSchema as al, QueueProviderSchema as am, TracingProviderSchema as an, LogLevelSchema as ao, DatabaseConfigSchema as ap, CacheConfigSchema as aq, StorageConfigSchema as ar, EmailConfigSchema as as, QueueConfigSchema as at, RetryConfigSchema as au, CircuitBreakerConfigSchema as av, TimeoutConfigSchema as aw, BulkheadConfigSchema as ax, ResilienceConfigSchema as ay, LoggingConfigSchema as az, MemoryStorage as b, MemoryEmail as c, MemoryQueue as d, type IDatabase as e, MemorySecrets as f, createPlatform as g, ConsoleLogger as h, MemoryMetrics as i, NoopMetrics as j, type IQueryBuilder as k, type ICache as l, type IStorage as m, type IEmail as n, type IQueue as o, type ILogger as p, type IMetrics as q, type ISecrets as r, type JobOptions as s, type EmailMessage as t, type MetricsSummary as u, type EmailResult as v, type JobState as w, type JobEventType as x, type JobEventHandler as y, type ICacheOptions as z };