@tstdl/base 0.93.140 → 0.93.142
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/application/application.d.ts +1 -1
- package/application/application.js +1 -1
- package/application/providers.d.ts +20 -2
- package/application/providers.js +34 -7
- package/audit/module.d.ts +5 -0
- package/audit/module.js +9 -1
- package/authentication/client/authentication.service.d.ts +1 -0
- package/authentication/client/authentication.service.js +3 -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-service.test.js +1 -1
- package/circuit-breaker/circuit-breaker.d.ts +6 -4
- package/circuit-breaker/postgres/circuit-breaker.d.ts +1 -0
- package/circuit-breaker/postgres/circuit-breaker.js +8 -5
- package/circuit-breaker/postgres/module.d.ts +1 -0
- package/circuit-breaker/postgres/module.js +5 -1
- package/circuit-breaker/tests/circuit-breaker.test.js +20 -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/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-validation-ai-overrides.test.js +0 -1
- package/examples/document-management/main.d.ts +1 -0
- package/examples/document-management/main.js +14 -11
- package/key-value-store/postgres/module.d.ts +1 -0
- package/key-value-store/postgres/module.js +5 -1
- package/lock/postgres/module.d.ts +1 -0
- package/lock/postgres/module.js +5 -1
- package/mail/module.d.ts +5 -1
- package/mail/module.js +11 -6
- package/module/modules/web-server.module.js +2 -3
- package/notification/server/module.d.ts +1 -0
- package/notification/server/module.js +5 -1
- package/notification/tests/notification-api.test.js +5 -1
- package/notification/tests/notification-flow.test.js +8 -5
- package/orm/decorators.d.ts +22 -5
- package/orm/decorators.js +10 -1
- package/orm/server/bootstrap.d.ts +11 -0
- package/orm/server/bootstrap.js +31 -0
- package/orm/server/drizzle/schema-converter.d.ts +3 -1
- package/orm/server/drizzle/schema-converter.js +85 -56
- package/orm/server/encryption.d.ts +0 -1
- package/orm/server/encryption.js +1 -4
- package/orm/server/extension.d.ts +14 -0
- package/orm/server/extension.js +27 -0
- package/orm/server/index.d.ts +3 -6
- package/orm/server/index.js +3 -6
- package/orm/server/migration.d.ts +18 -0
- package/orm/server/migration.js +58 -0
- package/orm/server/repository.d.ts +2 -1
- package/orm/server/repository.js +19 -9
- package/orm/server/transaction.d.ts +6 -10
- package/orm/server/transaction.js +25 -26
- package/orm/server/transactional.js +3 -3
- package/orm/tests/database-extension.test.js +63 -0
- package/orm/tests/database-migration.test.js +83 -0
- package/orm/tests/encryption.test.js +3 -4
- package/orm/tests/repository-compound-primary-key.test.d.ts +2 -0
- package/orm/tests/repository-compound-primary-key.test.js +234 -0
- package/orm/tests/schema-generation.test.d.ts +1 -0
- package/orm/tests/schema-generation.test.js +52 -5
- package/orm/utils.d.ts +17 -2
- package/orm/utils.js +49 -1
- package/package.json +5 -4
- package/rate-limit/postgres/module.d.ts +1 -0
- package/rate-limit/postgres/module.js +5 -1
- package/reflection/decorator-data.js +11 -12
- package/task-queue/README.md +2 -10
- package/task-queue/postgres/drizzle/0000_great_gwen_stacy.sql +84 -0
- package/task-queue/postgres/drizzle/meta/0000_snapshot.json +250 -89
- 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 +6 -1
- package/task-queue/postgres/schemas.d.ts +15 -6
- package/task-queue/postgres/schemas.js +4 -3
- package/task-queue/postgres/task-queue.d.ts +18 -15
- package/task-queue/postgres/task-queue.js +797 -499
- package/task-queue/postgres/task.model.d.ts +20 -9
- package/task-queue/postgres/task.model.js +65 -39
- package/task-queue/task-context.d.ts +12 -7
- package/task-queue/task-context.js +8 -6
- package/task-queue/task-queue.d.ts +364 -43
- package/task-queue/task-queue.js +153 -41
- package/task-queue/tests/coverage-branch.test.d.ts +1 -0
- package/task-queue/tests/coverage-branch.test.js +395 -0
- package/task-queue/tests/coverage-enhancement.test.d.ts +1 -0
- package/task-queue/tests/coverage-enhancement.test.js +150 -0
- package/task-queue/tests/dag.test.d.ts +1 -0
- package/task-queue/tests/dag.test.js +188 -0
- package/task-queue/tests/dependencies.test.js +165 -47
- package/task-queue/tests/enqueue-batch.test.d.ts +1 -0
- package/task-queue/tests/enqueue-batch.test.js +125 -0
- package/task-queue/tests/fan-out-spawning.test.d.ts +1 -0
- package/task-queue/tests/fan-out-spawning.test.js +94 -0
- package/task-queue/tests/idempotent-replacement.test.d.ts +1 -0
- package/task-queue/tests/idempotent-replacement.test.js +114 -0
- package/task-queue/tests/missing-idempotent-tasks.test.d.ts +1 -0
- package/task-queue/tests/missing-idempotent-tasks.test.js +39 -0
- package/task-queue/tests/queue.test.js +294 -49
- package/task-queue/tests/shutdown.test.d.ts +1 -0
- package/task-queue/tests/shutdown.test.js +41 -0
- package/task-queue/tests/transactions.test.d.ts +1 -0
- package/task-queue/tests/transactions.test.js +47 -0
- package/task-queue/tests/worker.test.js +63 -15
- 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/test5.js +5 -5
- package/testing/integration-setup.d.ts +4 -4
- package/testing/integration-setup.js +56 -29
- package/text/localization.service.js +2 -2
- package/utils/file-reader.js +1 -2
- package/utils/timing.d.ts +2 -2
- package/task-queue/postgres/drizzle/0000_simple_invisible_woman.sql +0 -74
- package/task-queue/tests/complex.test.js +0 -306
- package/task-queue/tests/extensive-dependencies.test.js +0 -234
- /package/{task-queue/tests/complex.test.d.ts → orm/tests/database-extension.test.d.ts} +0 -0
- /package/{task-queue/tests/extensive-dependencies.test.d.ts → orm/tests/database-migration.test.d.ts} +0 -0
|
@@ -1,16 +1,25 @@
|
|
|
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
|
+
readonly Child: "child";
|
|
7
|
+
}>;
|
|
3
8
|
export declare const taskStatus: import("../../orm/enums.js").PgEnumFromEnumeration<{
|
|
4
9
|
readonly Pending: "pending";
|
|
5
10
|
readonly Running: "running";
|
|
6
11
|
readonly Completed: "completed";
|
|
7
12
|
readonly Cancelled: "cancelled";
|
|
8
|
-
readonly Waiting: "waiting";
|
|
9
13
|
readonly Dead: "dead";
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
readonly
|
|
13
|
-
readonly
|
|
14
|
+
readonly Waiting: "waiting";
|
|
15
|
+
readonly WaitingChildren: "waiting-children";
|
|
16
|
+
readonly Paused: "paused";
|
|
17
|
+
readonly Retrying: "retrying";
|
|
18
|
+
readonly TimedOut: "timed-out";
|
|
19
|
+
readonly Expired: "expired";
|
|
20
|
+
readonly Skipped: "skipped";
|
|
21
|
+
readonly Orphaned: "orphaned";
|
|
14
22
|
}>;
|
|
15
23
|
export declare const task: import("../../orm/server/types.js").PgTableFromType<typeof PostgresTask, "task_queue">;
|
|
16
24
|
export declare const taskArchive: import("../../orm/server/types.js").PgTableFromType<typeof PostgresTaskArchive, "task_queue">;
|
|
25
|
+
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, type TaskQueueWaitOptions, type TaskQueueWaitResult } from '../task-queue.js';
|
|
6
|
+
import { TaskQueue, TaskStatus, 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;
|
|
@@ -21,7 +21,6 @@ export declare class PostgresTaskQueue<Definitions extends TaskDefinitionMap = T
|
|
|
21
21
|
readonly rateLimit: number;
|
|
22
22
|
readonly rateInterval: number;
|
|
23
23
|
readonly idempotencyWindow: number;
|
|
24
|
-
readonly globalConcurrency: number | null;
|
|
25
24
|
[afterResolve](): void;
|
|
26
25
|
enqueue<Type extends TaskTypes<Definitions>>(type: Type, data: TaskData<Definitions, Type>, options?: EnqueueOneOptions): Promise<TaskOfType<Definitions, Type>>;
|
|
27
26
|
enqueueMany<Type extends TaskTypes<Definitions>>(items: EnqueueManyItem<Definitions, Type>[], options?: EnqueueManyOptions & {
|
|
@@ -31,12 +30,17 @@ export declare class PostgresTaskQueue<Definitions extends TaskDefinitionMap = T
|
|
|
31
30
|
returnTasks: true;
|
|
32
31
|
}): Promise<TaskOfType<Definitions, Type>[]>;
|
|
33
32
|
enqueueMany<Type extends TaskTypes<Definitions>>(items: EnqueueManyItem<Definitions, Type>[], options?: EnqueueManyOptions): Promise<TaskOfType<Definitions, Type>[] | undefined>;
|
|
33
|
+
private incrementCounters;
|
|
34
34
|
has(id: string, options?: {
|
|
35
35
|
transaction?: Transaction;
|
|
36
36
|
}): Promise<boolean>;
|
|
37
37
|
countByTags(tags: OneOrMany<string>, options?: {
|
|
38
38
|
transaction?: Transaction;
|
|
39
39
|
}): Promise<number>;
|
|
40
|
+
count(options?: {
|
|
41
|
+
status?: TaskStatus;
|
|
42
|
+
transaction?: Transaction;
|
|
43
|
+
}): Promise<number>;
|
|
40
44
|
getTask<Type extends TaskTypes<Definitions> = TaskTypes<Definitions>>(id: string, options?: {
|
|
41
45
|
transaction?: Transaction;
|
|
42
46
|
}): Promise<TaskOfType<Definitions, Type> | undefined>;
|
|
@@ -103,35 +107,34 @@ export declare class PostgresTaskQueue<Definitions extends TaskDefinitionMap = T
|
|
|
103
107
|
fatal?: boolean;
|
|
104
108
|
transaction?: Transaction;
|
|
105
109
|
}): Promise<void>;
|
|
106
|
-
triggerTagFanIn(tags: string[], options?: {
|
|
107
|
-
transaction?: Transaction;
|
|
108
|
-
}): Promise<void>;
|
|
109
110
|
failMany(tasks: Task<Definitions>[], errors: unknown[], options?: {
|
|
110
111
|
transaction?: Transaction;
|
|
111
112
|
}): Promise<void>;
|
|
112
113
|
private resolveDependencies;
|
|
114
|
+
private resolveDependenciesMany;
|
|
113
115
|
maintenance(options?: {
|
|
114
116
|
transaction?: Transaction;
|
|
115
117
|
}): Promise<void>;
|
|
118
|
+
private performArchival;
|
|
119
|
+
private performArchivePurge;
|
|
120
|
+
private processExpirations;
|
|
121
|
+
private processZombieRetries;
|
|
122
|
+
private processZombieExhaustions;
|
|
123
|
+
private processHardTimeouts;
|
|
124
|
+
private processPriorityAging;
|
|
116
125
|
restart(id: string, options?: {
|
|
117
126
|
resetState?: boolean;
|
|
118
127
|
transaction?: Transaction;
|
|
119
128
|
}): Promise<void>;
|
|
120
|
-
notify(): void;
|
|
129
|
+
notify(namespace?: string): void;
|
|
121
130
|
getConsumer<Type extends TaskTypes<Definitions>>(cancellationSignal: CancellationSignal, options?: {
|
|
122
131
|
forceDequeue?: boolean;
|
|
123
132
|
types?: Type[];
|
|
124
133
|
}): AsyncIterableIterator<TaskOfType<Definitions, Type>>;
|
|
125
134
|
private maintenanceLoop;
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
* @returns
|
|
130
|
-
*/
|
|
131
|
-
processPendingFanIn(options?: {
|
|
132
|
-
transaction?: Transaction;
|
|
133
|
-
}): Promise<number>;
|
|
134
|
-
private startSystemWorker;
|
|
135
|
+
private lowFrequencyMaintenanceLoop;
|
|
136
|
+
private mediumFrequencyMaintenanceLoop;
|
|
137
|
+
private highFrequencyMaintenanceLoop;
|
|
135
138
|
getBatchConsumer<Type extends TaskTypes<Definitions>>(size: number, cancellationSignal: CancellationSignal, options?: {
|
|
136
139
|
forceDequeue?: boolean;
|
|
137
140
|
types?: Type[];
|