@tstdl/base 0.93.139 → 0.93.141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +166 -0
- package/ai/genkit/multi-region.plugin.js +5 -3
- package/ai/genkit/tests/multi-region.test.d.ts +1 -0
- package/ai/genkit/tests/multi-region.test.js +5 -2
- package/ai/parser/parser.js +2 -2
- package/ai/prompts/build.js +1 -0
- package/ai/prompts/instructions-formatter.d.ts +15 -2
- package/ai/prompts/instructions-formatter.js +36 -31
- package/ai/prompts/prompt-builder.js +5 -5
- package/ai/prompts/steering.d.ts +3 -2
- package/ai/prompts/steering.js +3 -1
- package/ai/tests/instructions-formatter.test.js +1 -0
- package/api/README.md +403 -0
- package/api/client/client.js +7 -13
- package/api/client/tests/api-client.test.js +10 -10
- package/api/default-error-handlers.js +1 -1
- package/api/response.d.ts +2 -2
- package/api/response.js +22 -33
- package/api/server/api-controller.d.ts +1 -1
- package/api/server/api-controller.js +3 -3
- package/api/server/api-request-token.provider.d.ts +1 -0
- package/api/server/api-request-token.provider.js +1 -0
- package/api/server/middlewares/allowed-methods.middleware.js +2 -1
- package/api/server/middlewares/content-type.middleware.js +2 -1
- package/api/types.d.ts +3 -2
- package/application/README.md +240 -0
- package/application/application.d.ts +1 -1
- package/application/application.js +3 -3
- package/application/providers.d.ts +20 -2
- package/application/providers.js +34 -7
- package/audit/README.md +267 -0
- package/audit/module.d.ts +5 -0
- package/audit/module.js +9 -1
- package/authentication/README.md +288 -0
- package/authentication/client/authentication.service.d.ts +12 -11
- package/authentication/client/authentication.service.js +21 -21
- package/authentication/client/http-client.middleware.js +2 -2
- package/authentication/server/module.d.ts +5 -0
- package/authentication/server/module.js +9 -1
- package/authentication/tests/authentication.api-controller.test.js +1 -1
- package/authentication/tests/authentication.api-request-token.provider.test.js +1 -1
- package/authentication/tests/authentication.client-error-handling.test.js +2 -1
- package/authentication/tests/authentication.client-service-refresh.test.js +5 -3
- package/authentication/tests/authentication.client-service.test.js +1 -1
- package/browser/README.md +401 -0
- package/cancellation/README.md +156 -0
- package/cancellation/tests/coverage.test.d.ts +1 -0
- package/cancellation/tests/coverage.test.js +49 -0
- package/cancellation/tests/leak.test.js +24 -29
- package/cancellation/tests/token.test.d.ts +1 -0
- package/cancellation/tests/token.test.js +136 -0
- package/cancellation/token.d.ts +53 -177
- package/cancellation/token.js +132 -208
- package/circuit-breaker/postgres/module.d.ts +1 -0
- package/circuit-breaker/postgres/module.js +5 -1
- package/context/README.md +174 -0
- package/cookie/README.md +161 -0
- package/css/README.md +157 -0
- package/data-structures/README.md +320 -0
- package/decorators/README.md +140 -0
- package/distributed-loop/README.md +231 -0
- package/distributed-loop/distributed-loop.js +1 -1
- package/document-management/README.md +403 -0
- package/document-management/server/configure.js +5 -1
- package/document-management/server/module.d.ts +1 -1
- package/document-management/server/module.js +1 -1
- package/document-management/server/services/document-management-ancillary.service.js +1 -1
- package/document-management/server/services/document-management.service.js +9 -7
- package/document-management/tests/ai-config-hierarchy.test.js +0 -5
- package/document-management/tests/document-management-ai-overrides.test.js +0 -1
- package/document-management/tests/document-management-core.test.js +2 -7
- package/document-management/tests/document-management.api.test.js +6 -7
- package/document-management/tests/document-statistics.service.test.js +11 -12
- package/document-management/tests/document-validation-ai-overrides.test.js +0 -1
- package/document-management/tests/document.service.test.js +3 -3
- package/document-management/tests/enum-helpers.test.js +2 -3
- package/dom/README.md +213 -0
- package/enumerable/README.md +259 -0
- package/enumeration/README.md +121 -0
- package/errors/README.md +267 -0
- package/examples/document-management/main.d.ts +1 -0
- package/examples/document-management/main.js +14 -11
- package/file/README.md +191 -0
- package/formats/README.md +210 -0
- package/function/README.md +144 -0
- package/http/README.md +318 -0
- package/http/client/adapters/undici.adapter.js +1 -1
- package/http/client/http-client-request.d.ts +6 -5
- package/http/client/http-client-request.js +8 -9
- package/http/server/node/node-http-server.js +1 -2
- package/image-service/README.md +137 -0
- package/injector/README.md +491 -0
- package/intl/README.md +113 -0
- package/json-path/README.md +182 -0
- package/jsx/README.md +154 -0
- package/key-value-store/README.md +191 -0
- package/key-value-store/postgres/module.d.ts +1 -0
- package/key-value-store/postgres/module.js +5 -1
- package/lock/README.md +249 -0
- package/lock/postgres/module.d.ts +1 -0
- package/lock/postgres/module.js +5 -1
- package/lock/web/web-lock.js +119 -47
- package/logger/README.md +287 -0
- package/mail/README.md +256 -0
- package/mail/module.d.ts +5 -1
- package/mail/module.js +11 -6
- package/memory/README.md +144 -0
- package/message-bus/README.md +244 -0
- package/message-bus/message-bus-base.js +1 -1
- package/module/README.md +182 -0
- package/module/module.d.ts +1 -1
- package/module/module.js +77 -17
- package/module/modules/web-server.module.js +3 -4
- package/notification/server/module.d.ts +1 -0
- package/notification/server/module.js +5 -1
- package/notification/tests/notification-flow.test.js +2 -2
- package/notification/tests/notification-type.service.test.js +24 -15
- package/object-storage/README.md +300 -0
- package/openid-connect/README.md +274 -0
- package/orm/README.md +423 -0
- package/orm/decorators.d.ts +5 -1
- package/orm/decorators.js +1 -1
- package/orm/server/drizzle/schema-converter.js +17 -30
- package/orm/server/encryption.d.ts +0 -1
- package/orm/server/encryption.js +1 -4
- package/orm/server/index.d.ts +1 -6
- package/orm/server/index.js +1 -6
- package/orm/server/migration.d.ts +19 -0
- package/orm/server/migration.js +72 -0
- package/orm/server/repository.d.ts +1 -1
- package/orm/server/transaction.d.ts +5 -10
- package/orm/server/transaction.js +22 -26
- package/orm/server/transactional.js +3 -3
- package/orm/tests/database-migration.test.d.ts +1 -0
- package/orm/tests/database-migration.test.js +82 -0
- package/orm/tests/encryption.test.js +3 -4
- package/orm/utils.d.ts +17 -2
- package/orm/utils.js +49 -1
- package/package.json +9 -6
- package/password/README.md +164 -0
- package/pdf/README.md +246 -0
- package/polyfills.js +1 -0
- package/pool/README.md +198 -0
- package/process/README.md +237 -0
- package/promise/README.md +252 -0
- package/promise/cancelable-promise.js +1 -1
- package/random/README.md +193 -0
- package/rate-limit/postgres/module.d.ts +1 -0
- package/rate-limit/postgres/module.js +5 -1
- package/reflection/README.md +305 -0
- package/reflection/decorator-data.js +11 -12
- package/rpc/README.md +386 -0
- package/rxjs-utils/README.md +262 -0
- package/schema/README.md +342 -0
- package/serializer/README.md +342 -0
- package/signals/implementation/README.md +134 -0
- package/sse/README.md +278 -0
- package/task-queue/README.md +293 -0
- package/task-queue/postgres/drizzle/{0000_simple_invisible_woman.sql → 0000_wakeful_sunspot.sql} +22 -14
- package/task-queue/postgres/drizzle/meta/0000_snapshot.json +160 -82
- package/task-queue/postgres/drizzle/meta/_journal.json +2 -2
- package/task-queue/postgres/module.d.ts +1 -0
- package/task-queue/postgres/module.js +5 -1
- package/task-queue/postgres/schemas.d.ts +9 -6
- package/task-queue/postgres/schemas.js +4 -3
- package/task-queue/postgres/task-queue.d.ts +4 -13
- package/task-queue/postgres/task-queue.js +462 -355
- package/task-queue/postgres/task.model.d.ts +12 -5
- package/task-queue/postgres/task.model.js +51 -25
- package/task-queue/task-context.d.ts +2 -2
- package/task-queue/task-context.js +8 -8
- package/task-queue/task-queue.d.ts +53 -19
- package/task-queue/task-queue.js +121 -55
- package/task-queue/tests/cascading-cancellations.test.d.ts +1 -0
- package/task-queue/tests/cascading-cancellations.test.js +38 -0
- package/task-queue/tests/complex.test.js +45 -229
- package/task-queue/tests/coverage-branch.test.d.ts +1 -0
- package/task-queue/tests/coverage-branch.test.js +407 -0
- package/task-queue/tests/coverage-enhancement.test.d.ts +1 -0
- package/task-queue/tests/coverage-enhancement.test.js +144 -0
- package/task-queue/tests/dag-dependencies.test.d.ts +1 -0
- package/task-queue/tests/dag-dependencies.test.js +41 -0
- package/task-queue/tests/dependencies.test.js +28 -26
- package/task-queue/tests/extensive-dependencies.test.js +64 -139
- package/task-queue/tests/fan-out-spawning.test.d.ts +1 -0
- package/task-queue/tests/fan-out-spawning.test.js +53 -0
- package/task-queue/tests/idempotent-replacement.test.d.ts +1 -0
- package/task-queue/tests/idempotent-replacement.test.js +61 -0
- package/task-queue/tests/missing-idempotent-tasks.test.d.ts +1 -0
- package/task-queue/tests/missing-idempotent-tasks.test.js +38 -0
- package/task-queue/tests/queue.test.js +128 -8
- package/task-queue/tests/worker.test.js +39 -16
- package/task-queue/tests/zombie-parent.test.d.ts +1 -0
- package/task-queue/tests/zombie-parent.test.js +45 -0
- package/task-queue/tests/zombie-recovery.test.d.ts +1 -0
- package/task-queue/tests/zombie-recovery.test.js +51 -0
- package/templates/README.md +287 -0
- package/test5.js +5 -5
- package/testing/README.md +157 -0
- package/testing/integration-setup.d.ts +4 -4
- package/testing/integration-setup.js +54 -29
- package/text/README.md +346 -0
- package/text/localization.service.js +2 -2
- package/threading/README.md +238 -0
- package/types/README.md +311 -0
- package/utils/README.md +322 -0
- package/utils/async-iterable-helpers/observable-iterable.d.ts +1 -1
- package/utils/async-iterable-helpers/observable-iterable.js +4 -8
- package/utils/async-iterable-helpers/take-until.js +4 -4
- package/utils/backoff.js +89 -30
- package/utils/file-reader.js +1 -2
- package/utils/retry-with-backoff.js +1 -1
- package/utils/timer.d.ts +1 -1
- package/utils/timer.js +5 -7
- package/utils/timing.d.ts +1 -1
- package/utils/timing.js +2 -4
- package/utils/z-base32.d.ts +1 -0
- package/utils/z-base32.js +1 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"id": "
|
|
2
|
+
"id": "748b4480-a37e-43bb-a9fc-6920c03c3ed3",
|
|
3
3
|
"prevId": "00000000-0000-0000-0000-000000000000",
|
|
4
4
|
"version": "7",
|
|
5
5
|
"dialect": "postgresql",
|
|
@@ -52,40 +52,26 @@
|
|
|
52
52
|
"primaryKey": false,
|
|
53
53
|
"notNull": true
|
|
54
54
|
},
|
|
55
|
-
"complete_after_tags": {
|
|
56
|
-
"name": "complete_after_tags",
|
|
57
|
-
"type": "text[]",
|
|
58
|
-
"primaryKey": false,
|
|
59
|
-
"notNull": true
|
|
60
|
-
},
|
|
61
|
-
"schedule_after_tags": {
|
|
62
|
-
"name": "schedule_after_tags",
|
|
63
|
-
"type": "text[]",
|
|
64
|
-
"primaryKey": false,
|
|
65
|
-
"notNull": true
|
|
66
|
-
},
|
|
67
55
|
"fail_fast": {
|
|
68
56
|
"name": "fail_fast",
|
|
69
57
|
"type": "boolean",
|
|
70
58
|
"primaryKey": false,
|
|
71
59
|
"notNull": true
|
|
72
60
|
},
|
|
73
|
-
"
|
|
74
|
-
"name": "
|
|
75
|
-
"type": "
|
|
76
|
-
"typeSchema": "task_queue",
|
|
61
|
+
"priority": {
|
|
62
|
+
"name": "priority",
|
|
63
|
+
"type": "integer",
|
|
77
64
|
"primaryKey": false,
|
|
78
65
|
"notNull": true
|
|
79
66
|
},
|
|
80
|
-
"
|
|
81
|
-
"name": "
|
|
82
|
-
"type": "
|
|
83
|
-
"typeSchema": "task_queue",
|
|
67
|
+
"unresolved_schedule_dependencies": {
|
|
68
|
+
"name": "unresolved_schedule_dependencies",
|
|
69
|
+
"type": "integer",
|
|
84
70
|
"primaryKey": false,
|
|
85
71
|
"notNull": true
|
|
86
72
|
},
|
|
87
|
-
"
|
|
88
|
-
"name": "
|
|
73
|
+
"unresolved_complete_dependencies": {
|
|
74
|
+
"name": "unresolved_complete_dependencies",
|
|
89
75
|
"type": "integer",
|
|
90
76
|
"primaryKey": false,
|
|
91
77
|
"notNull": true
|
|
@@ -239,36 +225,6 @@
|
|
|
239
225
|
"method": "btree",
|
|
240
226
|
"with": {}
|
|
241
227
|
},
|
|
242
|
-
"task_schedule_after_tags_idx": {
|
|
243
|
-
"name": "task_schedule_after_tags_idx",
|
|
244
|
-
"columns": [
|
|
245
|
-
{
|
|
246
|
-
"expression": "schedule_after_tags",
|
|
247
|
-
"isExpression": false,
|
|
248
|
-
"asc": true,
|
|
249
|
-
"nulls": "last"
|
|
250
|
-
}
|
|
251
|
-
],
|
|
252
|
-
"isUnique": false,
|
|
253
|
-
"concurrently": false,
|
|
254
|
-
"method": "gin",
|
|
255
|
-
"with": {}
|
|
256
|
-
},
|
|
257
|
-
"task_complete_after_tags_idx": {
|
|
258
|
-
"name": "task_complete_after_tags_idx",
|
|
259
|
-
"columns": [
|
|
260
|
-
{
|
|
261
|
-
"expression": "complete_after_tags",
|
|
262
|
-
"isExpression": false,
|
|
263
|
-
"asc": true,
|
|
264
|
-
"nulls": "last"
|
|
265
|
-
}
|
|
266
|
-
],
|
|
267
|
-
"isUnique": false,
|
|
268
|
-
"concurrently": false,
|
|
269
|
-
"method": "gin",
|
|
270
|
-
"with": {}
|
|
271
|
-
},
|
|
272
228
|
"task_tags_idx": {
|
|
273
229
|
"name": "task_tags_idx",
|
|
274
230
|
"columns": [
|
|
@@ -319,15 +275,17 @@
|
|
|
319
275
|
}
|
|
320
276
|
},
|
|
321
277
|
"foreignKeys": {
|
|
322
|
-
"
|
|
323
|
-
"name": "
|
|
278
|
+
"task_namespace_parentId_task_fkey": {
|
|
279
|
+
"name": "task_namespace_parentId_task_fkey",
|
|
324
280
|
"tableFrom": "task",
|
|
325
281
|
"tableTo": "task",
|
|
326
282
|
"schemaTo": "task_queue",
|
|
327
283
|
"columnsFrom": [
|
|
284
|
+
"namespace",
|
|
328
285
|
"parent_id"
|
|
329
286
|
],
|
|
330
287
|
"columnsTo": [
|
|
288
|
+
"namespace",
|
|
331
289
|
"id"
|
|
332
290
|
],
|
|
333
291
|
"onDelete": "no action",
|
|
@@ -336,6 +294,14 @@
|
|
|
336
294
|
},
|
|
337
295
|
"compositePrimaryKeys": {},
|
|
338
296
|
"uniqueConstraints": {
|
|
297
|
+
"task_namespace_id_unique": {
|
|
298
|
+
"name": "task_namespace_id_unique",
|
|
299
|
+
"nullsNotDistinct": false,
|
|
300
|
+
"columns": [
|
|
301
|
+
"namespace",
|
|
302
|
+
"id"
|
|
303
|
+
]
|
|
304
|
+
},
|
|
339
305
|
"task_namespace_idempotency_key_unique": {
|
|
340
306
|
"name": "task_namespace_idempotency_key_unique",
|
|
341
307
|
"nullsNotDistinct": false,
|
|
@@ -397,40 +363,26 @@
|
|
|
397
363
|
"primaryKey": false,
|
|
398
364
|
"notNull": true
|
|
399
365
|
},
|
|
400
|
-
"complete_after_tags": {
|
|
401
|
-
"name": "complete_after_tags",
|
|
402
|
-
"type": "text[]",
|
|
403
|
-
"primaryKey": false,
|
|
404
|
-
"notNull": true
|
|
405
|
-
},
|
|
406
|
-
"schedule_after_tags": {
|
|
407
|
-
"name": "schedule_after_tags",
|
|
408
|
-
"type": "text[]",
|
|
409
|
-
"primaryKey": false,
|
|
410
|
-
"notNull": true
|
|
411
|
-
},
|
|
412
366
|
"fail_fast": {
|
|
413
367
|
"name": "fail_fast",
|
|
414
368
|
"type": "boolean",
|
|
415
369
|
"primaryKey": false,
|
|
416
370
|
"notNull": true
|
|
417
371
|
},
|
|
418
|
-
"
|
|
419
|
-
"name": "
|
|
420
|
-
"type": "
|
|
421
|
-
"typeSchema": "task_queue",
|
|
372
|
+
"priority": {
|
|
373
|
+
"name": "priority",
|
|
374
|
+
"type": "integer",
|
|
422
375
|
"primaryKey": false,
|
|
423
376
|
"notNull": true
|
|
424
377
|
},
|
|
425
|
-
"
|
|
426
|
-
"name": "
|
|
427
|
-
"type": "
|
|
428
|
-
"typeSchema": "task_queue",
|
|
378
|
+
"unresolved_schedule_dependencies": {
|
|
379
|
+
"name": "unresolved_schedule_dependencies",
|
|
380
|
+
"type": "integer",
|
|
429
381
|
"primaryKey": false,
|
|
430
382
|
"notNull": true
|
|
431
383
|
},
|
|
432
|
-
"
|
|
433
|
-
"name": "
|
|
384
|
+
"unresolved_complete_dependencies": {
|
|
385
|
+
"name": "unresolved_complete_dependencies",
|
|
434
386
|
"type": "integer",
|
|
435
387
|
"primaryKey": false,
|
|
436
388
|
"notNull": true
|
|
@@ -555,15 +507,139 @@
|
|
|
555
507
|
"policies": {},
|
|
556
508
|
"checkConstraints": {},
|
|
557
509
|
"isRLSEnabled": false
|
|
510
|
+
},
|
|
511
|
+
"task_queue.task_dependency": {
|
|
512
|
+
"name": "task_dependency",
|
|
513
|
+
"schema": "task_queue",
|
|
514
|
+
"columns": {
|
|
515
|
+
"id": {
|
|
516
|
+
"name": "id",
|
|
517
|
+
"type": "uuid",
|
|
518
|
+
"primaryKey": true,
|
|
519
|
+
"notNull": true,
|
|
520
|
+
"default": "gen_random_uuid()"
|
|
521
|
+
},
|
|
522
|
+
"namespace": {
|
|
523
|
+
"name": "namespace",
|
|
524
|
+
"type": "text",
|
|
525
|
+
"primaryKey": false,
|
|
526
|
+
"notNull": true
|
|
527
|
+
},
|
|
528
|
+
"task_id": {
|
|
529
|
+
"name": "task_id",
|
|
530
|
+
"type": "uuid",
|
|
531
|
+
"primaryKey": false,
|
|
532
|
+
"notNull": true
|
|
533
|
+
},
|
|
534
|
+
"dependency_task_id": {
|
|
535
|
+
"name": "dependency_task_id",
|
|
536
|
+
"type": "uuid",
|
|
537
|
+
"primaryKey": false,
|
|
538
|
+
"notNull": true
|
|
539
|
+
},
|
|
540
|
+
"type": {
|
|
541
|
+
"name": "type",
|
|
542
|
+
"type": "task_dependency_type",
|
|
543
|
+
"typeSchema": "task_queue",
|
|
544
|
+
"primaryKey": false,
|
|
545
|
+
"notNull": true
|
|
546
|
+
},
|
|
547
|
+
"required_statuses": {
|
|
548
|
+
"name": "required_statuses",
|
|
549
|
+
"type": "task_status[]",
|
|
550
|
+
"typeSchema": "task_queue",
|
|
551
|
+
"primaryKey": false,
|
|
552
|
+
"notNull": true
|
|
553
|
+
}
|
|
554
|
+
},
|
|
555
|
+
"indexes": {
|
|
556
|
+
"task_dependency_namespace_dependency_task_id_type_idx": {
|
|
557
|
+
"name": "task_dependency_namespace_dependency_task_id_type_idx",
|
|
558
|
+
"columns": [
|
|
559
|
+
{
|
|
560
|
+
"expression": "namespace",
|
|
561
|
+
"isExpression": false,
|
|
562
|
+
"asc": true,
|
|
563
|
+
"nulls": "last"
|
|
564
|
+
},
|
|
565
|
+
{
|
|
566
|
+
"expression": "dependency_task_id",
|
|
567
|
+
"isExpression": false,
|
|
568
|
+
"asc": true,
|
|
569
|
+
"nulls": "last"
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"expression": "type",
|
|
573
|
+
"isExpression": false,
|
|
574
|
+
"asc": true,
|
|
575
|
+
"nulls": "last"
|
|
576
|
+
}
|
|
577
|
+
],
|
|
578
|
+
"isUnique": false,
|
|
579
|
+
"concurrently": false,
|
|
580
|
+
"method": "btree",
|
|
581
|
+
"with": {}
|
|
582
|
+
}
|
|
583
|
+
},
|
|
584
|
+
"foreignKeys": {
|
|
585
|
+
"task_dependency_namespace_dependencyTaskId_task_fkey": {
|
|
586
|
+
"name": "task_dependency_namespace_dependencyTaskId_task_fkey",
|
|
587
|
+
"tableFrom": "task_dependency",
|
|
588
|
+
"tableTo": "task",
|
|
589
|
+
"schemaTo": "task_queue",
|
|
590
|
+
"columnsFrom": [
|
|
591
|
+
"namespace",
|
|
592
|
+
"dependency_task_id"
|
|
593
|
+
],
|
|
594
|
+
"columnsTo": [
|
|
595
|
+
"namespace",
|
|
596
|
+
"id"
|
|
597
|
+
],
|
|
598
|
+
"onDelete": "cascade",
|
|
599
|
+
"onUpdate": "no action"
|
|
600
|
+
},
|
|
601
|
+
"task_dependency_namespace_taskId_task_fkey": {
|
|
602
|
+
"name": "task_dependency_namespace_taskId_task_fkey",
|
|
603
|
+
"tableFrom": "task_dependency",
|
|
604
|
+
"tableTo": "task",
|
|
605
|
+
"schemaTo": "task_queue",
|
|
606
|
+
"columnsFrom": [
|
|
607
|
+
"namespace",
|
|
608
|
+
"task_id"
|
|
609
|
+
],
|
|
610
|
+
"columnsTo": [
|
|
611
|
+
"namespace",
|
|
612
|
+
"id"
|
|
613
|
+
],
|
|
614
|
+
"onDelete": "cascade",
|
|
615
|
+
"onUpdate": "no action"
|
|
616
|
+
}
|
|
617
|
+
},
|
|
618
|
+
"compositePrimaryKeys": {},
|
|
619
|
+
"uniqueConstraints": {
|
|
620
|
+
"td_namespace_task_id_dependency_task_id_type_unique": {
|
|
621
|
+
"name": "td_namespace_task_id_dependency_task_id_type_unique",
|
|
622
|
+
"nullsNotDistinct": false,
|
|
623
|
+
"columns": [
|
|
624
|
+
"namespace",
|
|
625
|
+
"task_id",
|
|
626
|
+
"dependency_task_id",
|
|
627
|
+
"type"
|
|
628
|
+
]
|
|
629
|
+
}
|
|
630
|
+
},
|
|
631
|
+
"policies": {},
|
|
632
|
+
"checkConstraints": {},
|
|
633
|
+
"isRLSEnabled": false
|
|
558
634
|
}
|
|
559
635
|
},
|
|
560
636
|
"enums": {
|
|
561
|
-
"task_queue.
|
|
562
|
-
"name": "
|
|
637
|
+
"task_queue.task_dependency_type": {
|
|
638
|
+
"name": "task_dependency_type",
|
|
563
639
|
"schema": "task_queue",
|
|
564
640
|
"values": [
|
|
565
|
-
"
|
|
566
|
-
"
|
|
641
|
+
"schedule",
|
|
642
|
+
"complete"
|
|
567
643
|
]
|
|
568
644
|
},
|
|
569
645
|
"task_queue.task_status": {
|
|
@@ -574,8 +650,10 @@
|
|
|
574
650
|
"running",
|
|
575
651
|
"completed",
|
|
576
652
|
"cancelled",
|
|
653
|
+
"dead",
|
|
577
654
|
"waiting",
|
|
578
|
-
"
|
|
655
|
+
"waiting-children",
|
|
656
|
+
"paused"
|
|
579
657
|
]
|
|
580
658
|
}
|
|
581
659
|
},
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { inject } from '../../injector/index.js';
|
|
2
2
|
import { Injector } from '../../injector/injector.js';
|
|
3
|
-
import { Database, migrate } from '../../orm/server/index.js';
|
|
3
|
+
import { Database, migrate, registerDatabaseMigration } from '../../orm/server/index.js';
|
|
4
4
|
import { TaskQueueProvider } from '../provider.js';
|
|
5
5
|
import { TaskQueue } from '../task-queue.js';
|
|
6
6
|
import { PostgresTaskQueue } from './task-queue.js';
|
|
7
7
|
import { PostgresTaskQueueProvider } from './task-queue.provider.js';
|
|
8
8
|
export class PostgresTaskQueueModuleConfig {
|
|
9
9
|
database;
|
|
10
|
+
autoMigrate;
|
|
10
11
|
}
|
|
11
12
|
/**
|
|
12
13
|
* configure queue module
|
|
@@ -16,6 +17,9 @@ export function configurePostgresTaskQueue({ injector, ...config } = {}) {
|
|
|
16
17
|
targetInjector.register(PostgresTaskQueueModuleConfig, { useValue: config });
|
|
17
18
|
targetInjector.registerSingleton(TaskQueueProvider, { useToken: PostgresTaskQueueProvider });
|
|
18
19
|
targetInjector.registerSingleton(TaskQueue, { useToken: PostgresTaskQueue });
|
|
20
|
+
if (config.autoMigrate != false) {
|
|
21
|
+
registerDatabaseMigration('PostgresTaskQueue', migratePostgresTaskQueueSchema, { injector });
|
|
22
|
+
}
|
|
19
23
|
}
|
|
20
24
|
export async function migratePostgresTaskQueueSchema() {
|
|
21
25
|
const connection = inject(PostgresTaskQueueModuleConfig, undefined, { optional: true })?.database?.connection;
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import { PostgresTask, PostgresTaskArchive } from './task.model.js';
|
|
1
|
+
import { PostgresTask, PostgresTaskArchive, PostgresTaskDependency } from './task.model.js';
|
|
2
2
|
export declare const taskQueueSchema: import("../../orm/server/index.js").DatabaseSchema<"task_queue">;
|
|
3
|
+
export declare const taskDependencyType: import("../../orm/enums.js").PgEnumFromEnumeration<{
|
|
4
|
+
readonly Schedule: "schedule";
|
|
5
|
+
readonly Complete: "complete";
|
|
6
|
+
}>;
|
|
3
7
|
export declare const taskStatus: import("../../orm/enums.js").PgEnumFromEnumeration<{
|
|
4
8
|
readonly Pending: "pending";
|
|
5
9
|
readonly Running: "running";
|
|
6
10
|
readonly Completed: "completed";
|
|
7
11
|
readonly Cancelled: "cancelled";
|
|
8
|
-
readonly Waiting: "waiting";
|
|
9
12
|
readonly Dead: "dead";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
readonly
|
|
13
|
-
readonly Or: "or";
|
|
13
|
+
readonly Waiting: "waiting";
|
|
14
|
+
readonly WaitingChildren: "waiting-children";
|
|
15
|
+
readonly Paused: "paused";
|
|
14
16
|
}>;
|
|
15
17
|
export declare const task: import("../../orm/server/types.js").PgTableFromType<typeof PostgresTask, "task_queue">;
|
|
16
18
|
export declare const taskArchive: import("../../orm/server/types.js").PgTableFromType<typeof PostgresTaskArchive, "task_queue">;
|
|
19
|
+
export declare const taskDependency: import("../../orm/server/types.js").PgTableFromType<typeof PostgresTaskDependency, "task_queue">;
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { databaseSchema } from '../../orm/server/index.js';
|
|
2
|
-
import {
|
|
3
|
-
import { PostgresTask, PostgresTaskArchive } from './task.model.js';
|
|
2
|
+
import { TaskDependencyType, TaskStatus } from '../task-queue.js';
|
|
3
|
+
import { PostgresTask, PostgresTaskArchive, PostgresTaskDependency } from './task.model.js';
|
|
4
4
|
export const taskQueueSchema = databaseSchema('task_queue');
|
|
5
|
+
export const taskDependencyType = taskQueueSchema.getEnum(TaskDependencyType);
|
|
5
6
|
export const taskStatus = taskQueueSchema.getEnum(TaskStatus);
|
|
6
|
-
export const dependencyJoinMode = taskQueueSchema.getEnum(DependencyJoinMode);
|
|
7
7
|
export const task = taskQueueSchema.getTable(PostgresTask);
|
|
8
8
|
export const taskArchive = taskQueueSchema.getTable(PostgresTaskArchive);
|
|
9
|
+
export const taskDependency = taskQueueSchema.getTable(PostgresTaskDependency);
|
|
@@ -3,7 +3,7 @@ import { afterResolve } from '../../injector/index.js';
|
|
|
3
3
|
import type { Query } from '../../orm/index.js';
|
|
4
4
|
import { type Transaction } from '../../orm/server/index.js';
|
|
5
5
|
import type { OneOrMany } from '../../schema/index.js';
|
|
6
|
-
import { TaskQueue, type EnqueueManyItem, type EnqueueManyOptions, type EnqueueOneOptions, type Task } from '../task-queue.js';
|
|
6
|
+
import { TaskQueue, type EnqueueManyItem, type EnqueueManyOptions, type EnqueueOneOptions, type Task, type TaskQueueWaitOptions, type TaskQueueWaitResult } from '../task-queue.js';
|
|
7
7
|
import type { TaskData, TaskDefinitionMap, TaskOfType, TaskResult, TasksResults, TasksStates, TaskState, TaskTypes } from '../types.js';
|
|
8
8
|
export declare class PostgresTaskQueue<Definitions extends TaskDefinitionMap = TaskDefinitionMap> extends TaskQueue<Definitions> {
|
|
9
9
|
#private;
|
|
@@ -49,6 +49,7 @@ export declare class PostgresTaskQueue<Definitions extends TaskDefinitionMap = T
|
|
|
49
49
|
getTreeByQuery(query: Query<Task>, options?: {
|
|
50
50
|
transaction?: Transaction;
|
|
51
51
|
}): Promise<Task[]>;
|
|
52
|
+
waitForTasks(ids: string[], options?: TaskQueueWaitOptions): Promise<TaskQueueWaitResult>;
|
|
52
53
|
cancel(id: string, options?: {
|
|
53
54
|
transaction?: Transaction;
|
|
54
55
|
}): Promise<void>;
|
|
@@ -102,13 +103,12 @@ export declare class PostgresTaskQueue<Definitions extends TaskDefinitionMap = T
|
|
|
102
103
|
fatal?: boolean;
|
|
103
104
|
transaction?: Transaction;
|
|
104
105
|
}): Promise<void>;
|
|
105
|
-
triggerTagFanIn(tags: string[], options?: {
|
|
106
|
-
transaction?: Transaction;
|
|
107
|
-
}): Promise<void>;
|
|
108
106
|
failMany(tasks: Task<Definitions>[], errors: unknown[], options?: {
|
|
109
107
|
transaction?: Transaction;
|
|
110
108
|
}): Promise<void>;
|
|
111
109
|
private resolveDependencies;
|
|
110
|
+
private evaluateTaskStatus;
|
|
111
|
+
private transitionTask;
|
|
112
112
|
maintenance(options?: {
|
|
113
113
|
transaction?: Transaction;
|
|
114
114
|
}): Promise<void>;
|
|
@@ -122,15 +122,6 @@ export declare class PostgresTaskQueue<Definitions extends TaskDefinitionMap = T
|
|
|
122
122
|
types?: Type[];
|
|
123
123
|
}): AsyncIterableIterator<TaskOfType<Definitions, Type>>;
|
|
124
124
|
private maintenanceLoop;
|
|
125
|
-
/**
|
|
126
|
-
* @internal for internal unit test use only
|
|
127
|
-
* @param options
|
|
128
|
-
* @returns
|
|
129
|
-
*/
|
|
130
|
-
processPendingFanIn(options?: {
|
|
131
|
-
transaction?: Transaction;
|
|
132
|
-
}): Promise<number>;
|
|
133
|
-
private startSystemWorker;
|
|
134
125
|
getBatchConsumer<Type extends TaskTypes<Definitions>>(size: number, cancellationSignal: CancellationSignal, options?: {
|
|
135
126
|
forceDequeue?: boolean;
|
|
136
127
|
types?: Type[];
|