@tstdl/base 0.93.140 → 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/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/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/postgres/module.d.ts +1 -0
- package/circuit-breaker/postgres/module.js +5 -1
- 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-flow.test.js +2 -2
- 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 +4 -3
- 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 -9
- 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 +2 -12
- package/task-queue/postgres/task-queue.js +431 -354
- 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 +7 -7
- package/task-queue/task-queue.d.ts +36 -19
- package/task-queue/task-queue.js +18 -10
- 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 +44 -228
- 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 +26 -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 +33 -24
- package/task-queue/tests/worker.test.js +20 -5
- 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 +54 -29
- package/text/localization.service.js +2 -2
- package/utils/file-reader.js +1 -2
|
@@ -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);
|
|
@@ -103,13 +103,12 @@ export declare class PostgresTaskQueue<Definitions extends TaskDefinitionMap = T
|
|
|
103
103
|
fatal?: boolean;
|
|
104
104
|
transaction?: Transaction;
|
|
105
105
|
}): Promise<void>;
|
|
106
|
-
triggerTagFanIn(tags: string[], options?: {
|
|
107
|
-
transaction?: Transaction;
|
|
108
|
-
}): Promise<void>;
|
|
109
106
|
failMany(tasks: Task<Definitions>[], errors: unknown[], options?: {
|
|
110
107
|
transaction?: Transaction;
|
|
111
108
|
}): Promise<void>;
|
|
112
109
|
private resolveDependencies;
|
|
110
|
+
private evaluateTaskStatus;
|
|
111
|
+
private transitionTask;
|
|
113
112
|
maintenance(options?: {
|
|
114
113
|
transaction?: Transaction;
|
|
115
114
|
}): Promise<void>;
|
|
@@ -123,15 +122,6 @@ export declare class PostgresTaskQueue<Definitions extends TaskDefinitionMap = T
|
|
|
123
122
|
types?: Type[];
|
|
124
123
|
}): AsyncIterableIterator<TaskOfType<Definitions, Type>>;
|
|
125
124
|
private maintenanceLoop;
|
|
126
|
-
/**
|
|
127
|
-
* @internal for internal unit test use only
|
|
128
|
-
* @param options
|
|
129
|
-
* @returns
|
|
130
|
-
*/
|
|
131
|
-
processPendingFanIn(options?: {
|
|
132
|
-
transaction?: Transaction;
|
|
133
|
-
}): Promise<number>;
|
|
134
|
-
private startSystemWorker;
|
|
135
125
|
getBatchConsumer<Type extends TaskTypes<Definitions>>(size: number, cancellationSignal: CancellationSignal, options?: {
|
|
136
126
|
forceDequeue?: boolean;
|
|
137
127
|
types?: Type[];
|