atomic-queues 1.4.1 → 1.6.0
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 +300 -283
- package/dist/decorators/constants.d.ts +17 -0
- package/dist/decorators/constants.d.ts.map +1 -0
- package/dist/decorators/constants.js +23 -0
- package/dist/decorators/constants.js.map +1 -0
- package/dist/decorators/entity.decorators.d.ts +88 -0
- package/dist/decorators/entity.decorators.d.ts.map +1 -0
- package/dist/decorators/entity.decorators.js +150 -0
- package/dist/decorators/entity.decorators.js.map +1 -0
- package/dist/decorators/index.d.ts +9 -1
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +9 -1
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/interfaces.d.ts +130 -0
- package/dist/decorators/interfaces.d.ts.map +1 -0
- package/dist/decorators/interfaces.js +3 -0
- package/dist/decorators/interfaces.js.map +1 -0
- package/dist/decorators/job.decorators.d.ts +60 -0
- package/dist/decorators/job.decorators.d.ts.map +1 -0
- package/dist/decorators/job.decorators.js +97 -0
- package/dist/decorators/job.decorators.js.map +1 -0
- package/dist/decorators/legacy.decorators.d.ts +36 -0
- package/dist/decorators/legacy.decorators.d.ts.map +1 -0
- package/dist/decorators/legacy.decorators.js +61 -0
- package/dist/decorators/legacy.decorators.js.map +1 -0
- package/dist/decorators/metadata-readers.d.ts +31 -0
- package/dist/decorators/metadata-readers.d.ts.map +1 -0
- package/dist/decorators/metadata-readers.js +53 -0
- package/dist/decorators/metadata-readers.js.map +1 -0
- package/dist/decorators/registry.d.ts +2 -0
- package/dist/decorators/registry.d.ts.map +1 -0
- package/dist/decorators/registry.js +6 -0
- package/dist/decorators/registry.js.map +1 -0
- package/dist/decorators/scaler.decorators.d.ts +65 -0
- package/dist/decorators/scaler.decorators.d.ts.map +1 -0
- package/dist/decorators/scaler.decorators.js +103 -0
- package/dist/decorators/scaler.decorators.js.map +1 -0
- package/dist/decorators/type-guards.d.ts +18 -0
- package/dist/decorators/type-guards.d.ts.map +1 -0
- package/dist/decorators/type-guards.js +32 -0
- package/dist/decorators/type-guards.js.map +1 -0
- package/dist/decorators/utils.d.ts +20 -0
- package/dist/decorators/utils.d.ts.map +1 -0
- package/dist/decorators/utils.js +98 -0
- package/dist/decorators/utils.js.map +1 -0
- package/dist/decorators/worker.decorators.d.ts +58 -0
- package/dist/decorators/worker.decorators.d.ts.map +1 -0
- package/dist/decorators/worker.decorators.js +92 -0
- package/dist/decorators/worker.decorators.js.map +1 -0
- package/dist/domain/interfaces/config.interfaces.d.ts +188 -0
- package/dist/domain/interfaces/config.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/config.interfaces.js +3 -0
- package/dist/domain/interfaces/config.interfaces.js.map +1 -0
- package/dist/domain/interfaces/cqrs.interfaces.d.ts +7 -0
- package/dist/domain/interfaces/cqrs.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/cqrs.interfaces.js +3 -0
- package/dist/domain/interfaces/cqrs.interfaces.js.map +1 -0
- package/dist/domain/interfaces/event.interfaces.d.ts +71 -0
- package/dist/domain/interfaces/event.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/event.interfaces.js +3 -0
- package/dist/domain/interfaces/event.interfaces.js.map +1 -0
- package/dist/domain/interfaces/index-tracking.interfaces.d.ts +69 -0
- package/dist/domain/interfaces/index-tracking.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/index-tracking.interfaces.js +3 -0
- package/dist/domain/interfaces/index-tracking.interfaces.js.map +1 -0
- package/dist/domain/interfaces/index.d.ts +12 -0
- package/dist/domain/interfaces/index.d.ts.map +1 -0
- package/dist/domain/interfaces/index.js +28 -0
- package/dist/domain/interfaces/index.js.map +1 -0
- package/dist/domain/interfaces/job.interfaces.d.ts +76 -0
- package/dist/domain/interfaces/job.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/job.interfaces.js +3 -0
- package/dist/domain/interfaces/job.interfaces.js.map +1 -0
- package/dist/domain/interfaces/lock.interfaces.d.ts +54 -0
- package/dist/domain/interfaces/lock.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/lock.interfaces.js +3 -0
- package/dist/domain/interfaces/lock.interfaces.js.map +1 -0
- package/dist/domain/interfaces/process.interfaces.d.ts +44 -0
- package/dist/domain/interfaces/process.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/process.interfaces.js +3 -0
- package/dist/domain/interfaces/process.interfaces.js.map +1 -0
- package/dist/domain/interfaces/queue.interfaces.d.ts +46 -0
- package/dist/domain/interfaces/queue.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/queue.interfaces.js +3 -0
- package/dist/domain/interfaces/queue.interfaces.js.map +1 -0
- package/dist/domain/interfaces/scaling.interfaces.d.ts +62 -0
- package/dist/domain/interfaces/scaling.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/scaling.interfaces.js +3 -0
- package/dist/domain/interfaces/scaling.interfaces.js.map +1 -0
- package/dist/domain/interfaces/utility.types.d.ts +15 -0
- package/dist/domain/interfaces/utility.types.d.ts.map +1 -0
- package/dist/domain/interfaces/utility.types.js +3 -0
- package/dist/domain/interfaces/utility.types.js.map +1 -0
- package/dist/domain/interfaces/worker.interfaces.d.ts +120 -0
- package/dist/domain/interfaces/worker.interfaces.d.ts.map +1 -0
- package/dist/domain/interfaces/worker.interfaces.js +3 -0
- package/dist/domain/interfaces/worker.interfaces.js.map +1 -0
- package/dist/module/atomic-queues.module.d.ts.map +1 -1
- package/dist/module/atomic-queues.module.js +5 -0
- package/dist/module/atomic-queues.module.js.map +1 -1
- package/dist/services/cron-manager/cron-manager.service.d.ts +5 -4
- package/dist/services/cron-manager/cron-manager.service.d.ts.map +1 -1
- package/dist/services/cron-manager/cron-manager.service.js +26 -57
- package/dist/services/cron-manager/cron-manager.service.js.map +1 -1
- package/dist/services/index-manager/index-manager.service.d.ts +0 -4
- package/dist/services/index-manager/index-manager.service.d.ts.map +1 -1
- package/dist/services/index-manager/index-manager.service.js +4 -16
- package/dist/services/index-manager/index-manager.service.js.map +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/processor-discovery/decorator-discovery.service.d.ts +40 -0
- package/dist/services/processor-discovery/decorator-discovery.service.d.ts.map +1 -0
- package/dist/services/processor-discovery/decorator-discovery.service.js +191 -0
- package/dist/services/processor-discovery/decorator-discovery.service.js.map +1 -0
- package/dist/services/processor-discovery/index.d.ts +4 -0
- package/dist/services/processor-discovery/index.d.ts.map +1 -1
- package/dist/services/processor-discovery/index.js +4 -0
- package/dist/services/processor-discovery/index.js.map +1 -1
- package/dist/services/processor-discovery/processor-discovery.service.d.ts +30 -138
- package/dist/services/processor-discovery/processor-discovery.service.d.ts.map +1 -1
- package/dist/services/processor-discovery/processor-discovery.service.js +125 -502
- package/dist/services/processor-discovery/processor-discovery.service.js.map +1 -1
- package/dist/services/processor-discovery/processor-registry.d.ts +58 -0
- package/dist/services/processor-discovery/processor-registry.d.ts.map +1 -0
- package/dist/services/processor-discovery/processor-registry.js +74 -0
- package/dist/services/processor-discovery/processor-registry.js.map +1 -0
- package/dist/services/processor-discovery/scaling-registration.service.d.ts +60 -0
- package/dist/services/processor-discovery/scaling-registration.service.d.ts.map +1 -0
- package/dist/services/processor-discovery/scaling-registration.service.js +261 -0
- package/dist/services/processor-discovery/scaling-registration.service.js.map +1 -0
- package/dist/services/processor-discovery/worker-factory.service.d.ts +54 -0
- package/dist/services/processor-discovery/worker-factory.service.d.ts.map +1 -0
- package/dist/services/processor-discovery/worker-factory.service.js +185 -0
- package/dist/services/processor-discovery/worker-factory.service.js.map +1 -0
- package/dist/services/queue-bus/entity-target.d.ts +58 -0
- package/dist/services/queue-bus/entity-target.d.ts.map +1 -0
- package/dist/services/queue-bus/entity-target.js +109 -0
- package/dist/services/queue-bus/entity-target.js.map +1 -0
- package/dist/services/queue-bus/index.d.ts +4 -0
- package/dist/services/queue-bus/index.d.ts.map +1 -1
- package/dist/services/queue-bus/index.js +4 -0
- package/dist/services/queue-bus/index.js.map +1 -1
- package/dist/services/queue-bus/queue-bus.service.d.ts +9 -145
- package/dist/services/queue-bus/queue-bus.service.d.ts.map +1 -1
- package/dist/services/queue-bus/queue-bus.service.js +23 -311
- package/dist/services/queue-bus/queue-bus.service.js.map +1 -1
- package/dist/services/queue-bus/queue-bus.types.d.ts +40 -0
- package/dist/services/queue-bus/queue-bus.types.d.ts.map +1 -0
- package/dist/services/queue-bus/queue-bus.types.js +3 -0
- package/dist/services/queue-bus/queue-bus.types.js.map +1 -0
- package/dist/services/queue-bus/queue-bus.utils.d.ts +34 -0
- package/dist/services/queue-bus/queue-bus.utils.d.ts.map +1 -0
- package/dist/services/queue-bus/queue-bus.utils.js +82 -0
- package/dist/services/queue-bus/queue-bus.utils.js.map +1 -0
- package/dist/services/queue-bus/queue-target.d.ts +61 -0
- package/dist/services/queue-bus/queue-target.d.ts.map +1 -0
- package/dist/services/queue-bus/queue-target.js +123 -0
- package/dist/services/queue-bus/queue-target.js.map +1 -0
- package/dist/services/queue-events-manager/queue-events-manager.service.d.ts +23 -6
- package/dist/services/queue-events-manager/queue-events-manager.service.d.ts.map +1 -1
- package/dist/services/queue-events-manager/queue-events-manager.service.js +69 -37
- package/dist/services/queue-events-manager/queue-events-manager.service.js.map +1 -1
- package/dist/services/resource-lock/resource-lock.service.d.ts +0 -4
- package/dist/services/resource-lock/resource-lock.service.d.ts.map +1 -1
- package/dist/services/resource-lock/resource-lock.service.js +4 -16
- package/dist/services/resource-lock/resource-lock.service.js.map +1 -1
- package/dist/services/service-queue/index.d.ts +1 -0
- package/dist/services/service-queue/index.d.ts.map +1 -1
- package/dist/services/service-queue/index.js +1 -0
- package/dist/services/service-queue/index.js.map +1 -1
- package/dist/services/service-queue/service-queue.service.d.ts +2 -35
- package/dist/services/service-queue/service-queue.service.d.ts.map +1 -1
- package/dist/services/service-queue/service-queue.service.js +17 -49
- package/dist/services/service-queue/service-queue.service.js.map +1 -1
- package/dist/services/service-queue/service-queue.types.d.ts +32 -0
- package/dist/services/service-queue/service-queue.types.d.ts.map +1 -0
- package/dist/services/service-queue/service-queue.types.js +27 -0
- package/dist/services/service-queue/service-queue.types.js.map +1 -0
- package/dist/services/spawn-queue/index.d.ts +2 -0
- package/dist/services/spawn-queue/index.d.ts.map +1 -0
- package/dist/services/spawn-queue/index.js +18 -0
- package/dist/services/spawn-queue/index.js.map +1 -0
- package/dist/services/spawn-queue/spawn-queue.service.d.ts +119 -0
- package/dist/services/spawn-queue/spawn-queue.service.d.ts.map +1 -0
- package/dist/services/spawn-queue/spawn-queue.service.js +273 -0
- package/dist/services/spawn-queue/spawn-queue.service.js.map +1 -0
- package/dist/services/worker-manager/worker-manager.service.d.ts +18 -3
- package/dist/services/worker-manager/worker-manager.service.d.ts.map +1 -1
- package/dist/services/worker-manager/worker-manager.service.js +46 -21
- package/dist/services/worker-manager/worker-manager.service.js.map +1 -1
- package/dist/utils/async.utils.d.ts +51 -0
- package/dist/utils/async.utils.d.ts.map +1 -0
- package/dist/utils/async.utils.js +87 -0
- package/dist/utils/async.utils.js.map +1 -0
- package/dist/utils/helpers.d.ts +4 -123
- package/dist/utils/helpers.d.ts.map +1 -1
- package/dist/utils/helpers.js +18 -226
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/job.utils.d.ts +50 -0
- package/dist/utils/job.utils.d.ts.map +1 -0
- package/dist/utils/job.utils.js +89 -0
- package/dist/utils/job.utils.js.map +1 -0
- package/dist/utils/naming.utils.d.ts +21 -0
- package/dist/utils/naming.utils.d.ts.map +1 -0
- package/dist/utils/naming.utils.js +38 -0
- package/dist/utils/naming.utils.js.map +1 -0
- package/dist/utils/rate-limit.utils.d.ts +9 -0
- package/dist/utils/rate-limit.utils.d.ts.map +1 -0
- package/dist/utils/rate-limit.utils.js +30 -0
- package/dist/utils/rate-limit.utils.js.map +1 -0
- package/dist/utils/redis.utils.d.ts +3 -0
- package/dist/utils/redis.utils.d.ts.map +1 -0
- package/dist/utils/redis.utils.js +14 -0
- package/dist/utils/redis.utils.js.map +1 -0
- package/package.json +17 -17
- package/dist/decorators/decorators.d.ts +0 -489
- package/dist/decorators/decorators.d.ts.map +0 -1
- package/dist/decorators/decorators.js +0 -680
- package/dist/decorators/decorators.js.map +0 -1
- package/dist/domain/interfaces.d.ts +0 -748
- package/dist/domain/interfaces.d.ts.map +0 -1
- package/dist/domain/interfaces.js +0 -19
- package/dist/domain/interfaces.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/service-queue/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/service-queue/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0DAAwC;AACxC,wDAAsC"}
|
|
@@ -1,37 +1,8 @@
|
|
|
1
1
|
import { OnModuleInit, OnApplicationShutdown } from '@nestjs/common';
|
|
2
2
|
import Redis from 'ioredis';
|
|
3
3
|
import { IAtomicQueuesModuleConfig } from '../../domain';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* These operations MUST be processed by exactly ONE worker across the entire distributed system.
|
|
7
|
-
*/
|
|
8
|
-
export declare enum ServiceQueueJobNames {
|
|
9
|
-
/** Get the count of all workers across all nodes */
|
|
10
|
-
GET_GLOBAL_WORKER_COUNT = "get-global-worker-count",
|
|
11
|
-
/** Get workers for a specific entity across all nodes */
|
|
12
|
-
GET_ENTITY_WORKERS = "get-entity-workers",
|
|
13
|
-
/** Verify ownership of a resource */
|
|
14
|
-
VERIFY_OWNERSHIP = "verify-ownership",
|
|
15
|
-
/** Acquire global lock */
|
|
16
|
-
ACQUIRE_GLOBAL_LOCK = "acquire-global-lock",
|
|
17
|
-
/** Release global lock */
|
|
18
|
-
RELEASE_GLOBAL_LOCK = "release-global-lock",
|
|
19
|
-
/** Run scaling cycle for CronManager - triggers worker spawn/terminate decisions */
|
|
20
|
-
RUN_SCALING_CYCLE = "run-scaling-cycle",
|
|
21
|
-
/** Spawn a worker for a specific entity - used when opening a table/entity */
|
|
22
|
-
SPAWN_ENTITY_WORKER = "spawn-entity-worker",
|
|
23
|
-
/** Custom service operation */
|
|
24
|
-
CUSTOM = "custom"
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Job data for service queue operations
|
|
28
|
-
*/
|
|
29
|
-
export interface IServiceQueueJobData<T = unknown> {
|
|
30
|
-
uuid: string;
|
|
31
|
-
jobName: ServiceQueueJobNames;
|
|
32
|
-
payload: T;
|
|
33
|
-
responseChannel?: string;
|
|
34
|
-
}
|
|
4
|
+
import { ServiceQueueJobNames } from './service-queue.types';
|
|
5
|
+
export { ServiceQueueJobNames, IServiceQueueJobData } from './service-queue.types';
|
|
35
6
|
/**
|
|
36
7
|
* ServiceQueueManager
|
|
37
8
|
*
|
|
@@ -224,9 +195,5 @@ export declare class ServiceQueueManager implements OnModuleInit, OnApplicationS
|
|
|
224
195
|
* Used when opening a table/entity that needs a worker immediately.
|
|
225
196
|
*/
|
|
226
197
|
private handleSpawnEntityWorker;
|
|
227
|
-
/**
|
|
228
|
-
* Scan Redis keys matching a pattern.
|
|
229
|
-
*/
|
|
230
|
-
private scanKeys;
|
|
231
198
|
}
|
|
232
199
|
//# sourceMappingURL=service-queue.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-queue.service.d.ts","sourceRoot":"","sources":["../../../src/services/service-queue/service-queue.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,YAAY,EACZ,qBAAqB,EACtB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,MAAM,SAAS,CAAC;AAE5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAGzD
|
|
1
|
+
{"version":3,"file":"service-queue.service.d.ts","sourceRoot":"","sources":["../../../src/services/service-queue/service-queue.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,30 +21,11 @@ const common_1 = require("@nestjs/common");
|
|
|
21
21
|
const bullmq_1 = require("bullmq");
|
|
22
22
|
const ioredis_1 = __importDefault(require("ioredis"));
|
|
23
23
|
const uuid_1 = require("uuid");
|
|
24
|
+
const utils_1 = require("../../utils");
|
|
24
25
|
const constants_1 = require("../constants");
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
*/
|
|
29
|
-
var ServiceQueueJobNames;
|
|
30
|
-
(function (ServiceQueueJobNames) {
|
|
31
|
-
/** Get the count of all workers across all nodes */
|
|
32
|
-
ServiceQueueJobNames["GET_GLOBAL_WORKER_COUNT"] = "get-global-worker-count";
|
|
33
|
-
/** Get workers for a specific entity across all nodes */
|
|
34
|
-
ServiceQueueJobNames["GET_ENTITY_WORKERS"] = "get-entity-workers";
|
|
35
|
-
/** Verify ownership of a resource */
|
|
36
|
-
ServiceQueueJobNames["VERIFY_OWNERSHIP"] = "verify-ownership";
|
|
37
|
-
/** Acquire global lock */
|
|
38
|
-
ServiceQueueJobNames["ACQUIRE_GLOBAL_LOCK"] = "acquire-global-lock";
|
|
39
|
-
/** Release global lock */
|
|
40
|
-
ServiceQueueJobNames["RELEASE_GLOBAL_LOCK"] = "release-global-lock";
|
|
41
|
-
/** Run scaling cycle for CronManager - triggers worker spawn/terminate decisions */
|
|
42
|
-
ServiceQueueJobNames["RUN_SCALING_CYCLE"] = "run-scaling-cycle";
|
|
43
|
-
/** Spawn a worker for a specific entity - used when opening a table/entity */
|
|
44
|
-
ServiceQueueJobNames["SPAWN_ENTITY_WORKER"] = "spawn-entity-worker";
|
|
45
|
-
/** Custom service operation */
|
|
46
|
-
ServiceQueueJobNames["CUSTOM"] = "custom";
|
|
47
|
-
})(ServiceQueueJobNames || (exports.ServiceQueueJobNames = ServiceQueueJobNames = {}));
|
|
26
|
+
const service_queue_types_1 = require("./service-queue.types");
|
|
27
|
+
var service_queue_types_2 = require("./service-queue.types");
|
|
28
|
+
Object.defineProperty(exports, "ServiceQueueJobNames", { enumerable: true, get: function () { return service_queue_types_2.ServiceQueueJobNames; } });
|
|
48
29
|
/**
|
|
49
30
|
* ServiceQueueManager
|
|
50
31
|
*
|
|
@@ -91,7 +72,7 @@ let ServiceQueueManager = ServiceQueueManager_1 = class ServiceQueueManager {
|
|
|
91
72
|
this.customProcessors = new Map();
|
|
92
73
|
// Scaling cycle handler (registered by CronManager)
|
|
93
74
|
this.scalingCycleHandler = null;
|
|
94
|
-
this.keyPrefix = config
|
|
75
|
+
this.keyPrefix = (0, utils_1.resolveKeyPrefix)(config);
|
|
95
76
|
this.serviceQueueName =
|
|
96
77
|
config.serviceQueue?.queueName || `${this.keyPrefix}-service-queue`;
|
|
97
78
|
this.serviceWorkerName =
|
|
@@ -248,7 +229,7 @@ let ServiceQueueManager = ServiceQueueManager_1 = class ServiceQueueManager {
|
|
|
248
229
|
return;
|
|
249
230
|
}
|
|
250
231
|
// Fire-and-forget - we don't need to wait for the result
|
|
251
|
-
await this.queueServiceOperation(ServiceQueueJobNames.RUN_SCALING_CYCLE, {
|
|
232
|
+
await this.queueServiceOperation(service_queue_types_1.ServiceQueueJobNames.RUN_SCALING_CYCLE, {
|
|
252
233
|
entityType,
|
|
253
234
|
});
|
|
254
235
|
}
|
|
@@ -269,7 +250,7 @@ let ServiceQueueManager = ServiceQueueManager_1 = class ServiceQueueManager {
|
|
|
269
250
|
}
|
|
270
251
|
this.logger.log(`Requesting worker spawn for ${entityType}/${entityId}`);
|
|
271
252
|
// Fire-and-forget - we don't need to wait for the result
|
|
272
|
-
await this.queueServiceOperation(ServiceQueueJobNames.SPAWN_ENTITY_WORKER, {
|
|
253
|
+
await this.queueServiceOperation(service_queue_types_1.ServiceQueueJobNames.SPAWN_ENTITY_WORKER, {
|
|
273
254
|
entityType,
|
|
274
255
|
entityId,
|
|
275
256
|
});
|
|
@@ -425,28 +406,28 @@ let ServiceQueueManager = ServiceQueueManager_1 = class ServiceQueueManager {
|
|
|
425
406
|
let error = null;
|
|
426
407
|
try {
|
|
427
408
|
switch (jobName) {
|
|
428
|
-
case ServiceQueueJobNames.GET_GLOBAL_WORKER_COUNT:
|
|
409
|
+
case service_queue_types_1.ServiceQueueJobNames.GET_GLOBAL_WORKER_COUNT:
|
|
429
410
|
result = await this.handleGetGlobalWorkerCount(payload);
|
|
430
411
|
break;
|
|
431
|
-
case ServiceQueueJobNames.GET_ENTITY_WORKERS:
|
|
412
|
+
case service_queue_types_1.ServiceQueueJobNames.GET_ENTITY_WORKERS:
|
|
432
413
|
result = await this.handleGetEntityWorkers(payload);
|
|
433
414
|
break;
|
|
434
|
-
case ServiceQueueJobNames.VERIFY_OWNERSHIP:
|
|
415
|
+
case service_queue_types_1.ServiceQueueJobNames.VERIFY_OWNERSHIP:
|
|
435
416
|
result = await this.handleVerifyOwnership(payload);
|
|
436
417
|
break;
|
|
437
|
-
case ServiceQueueJobNames.ACQUIRE_GLOBAL_LOCK:
|
|
418
|
+
case service_queue_types_1.ServiceQueueJobNames.ACQUIRE_GLOBAL_LOCK:
|
|
438
419
|
result = await this.handleAcquireGlobalLock(payload);
|
|
439
420
|
break;
|
|
440
|
-
case ServiceQueueJobNames.RELEASE_GLOBAL_LOCK:
|
|
421
|
+
case service_queue_types_1.ServiceQueueJobNames.RELEASE_GLOBAL_LOCK:
|
|
441
422
|
result = await this.handleReleaseGlobalLock(payload);
|
|
442
423
|
break;
|
|
443
|
-
case ServiceQueueJobNames.RUN_SCALING_CYCLE:
|
|
424
|
+
case service_queue_types_1.ServiceQueueJobNames.RUN_SCALING_CYCLE:
|
|
444
425
|
result = await this.handleRunScalingCycle(payload);
|
|
445
426
|
break;
|
|
446
|
-
case ServiceQueueJobNames.SPAWN_ENTITY_WORKER:
|
|
427
|
+
case service_queue_types_1.ServiceQueueJobNames.SPAWN_ENTITY_WORKER:
|
|
447
428
|
result = await this.handleSpawnEntityWorker(payload);
|
|
448
429
|
break;
|
|
449
|
-
case ServiceQueueJobNames.CUSTOM:
|
|
430
|
+
case service_queue_types_1.ServiceQueueJobNames.CUSTOM:
|
|
450
431
|
result = await this.handleCustomOperation(payload);
|
|
451
432
|
break;
|
|
452
433
|
default:
|
|
@@ -519,7 +500,7 @@ let ServiceQueueManager = ServiceQueueManager_1 = class ServiceQueueManager {
|
|
|
519
500
|
const pattern = entityType
|
|
520
501
|
? `${this.keyPrefix}:worker:*:${entityType}-*`
|
|
521
502
|
: `${this.keyPrefix}:worker:*:*`;
|
|
522
|
-
const keys = await
|
|
503
|
+
const keys = await (0, utils_1.scanKeys)(this.redis, pattern);
|
|
523
504
|
return keys.length;
|
|
524
505
|
}
|
|
525
506
|
/**
|
|
@@ -532,7 +513,7 @@ let ServiceQueueManager = ServiceQueueManager_1 = class ServiceQueueManager {
|
|
|
532
513
|
// Worker names follow pattern: {entityId}-worker
|
|
533
514
|
const workerName = `${entityId}-worker`;
|
|
534
515
|
const pattern = `${this.keyPrefix}:worker:*:${workerName}`;
|
|
535
|
-
const keys = await
|
|
516
|
+
const keys = await (0, utils_1.scanKeys)(this.redis, pattern);
|
|
536
517
|
return keys.map((key) => key.split(':').pop());
|
|
537
518
|
}
|
|
538
519
|
/**
|
|
@@ -625,19 +606,6 @@ let ServiceQueueManager = ServiceQueueManager_1 = class ServiceQueueManager {
|
|
|
625
606
|
return { spawned: false, error: error.message };
|
|
626
607
|
}
|
|
627
608
|
}
|
|
628
|
-
/**
|
|
629
|
-
* Scan Redis keys matching a pattern.
|
|
630
|
-
*/
|
|
631
|
-
async scanKeys(pattern) {
|
|
632
|
-
let cursor = '0';
|
|
633
|
-
const keys = [];
|
|
634
|
-
do {
|
|
635
|
-
const [nextCursor, scanKeys] = await this.redis.scan(cursor, 'MATCH', pattern, 'COUNT', 100);
|
|
636
|
-
cursor = nextCursor;
|
|
637
|
-
keys.push(...scanKeys);
|
|
638
|
-
} while (cursor !== '0');
|
|
639
|
-
return keys;
|
|
640
|
-
}
|
|
641
609
|
};
|
|
642
610
|
exports.ServiceQueueManager = ServiceQueueManager;
|
|
643
611
|
exports.ServiceQueueManager = ServiceQueueManager = ServiceQueueManager_1 = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-queue.service.js","sourceRoot":"","sources":["../../../src/services/service-queue/service-queue.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service-queue.service.js","sourceRoot":"","sources":["../../../src/services/service-queue/service-queue.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Service-level job names for global atomic operations.
|
|
3
|
+
* These operations MUST be processed by exactly ONE worker across the entire distributed system.
|
|
4
|
+
*/
|
|
5
|
+
export declare enum ServiceQueueJobNames {
|
|
6
|
+
/** Get the count of all workers across all nodes */
|
|
7
|
+
GET_GLOBAL_WORKER_COUNT = "get-global-worker-count",
|
|
8
|
+
/** Get workers for a specific entity across all nodes */
|
|
9
|
+
GET_ENTITY_WORKERS = "get-entity-workers",
|
|
10
|
+
/** Verify ownership of a resource */
|
|
11
|
+
VERIFY_OWNERSHIP = "verify-ownership",
|
|
12
|
+
/** Acquire global lock */
|
|
13
|
+
ACQUIRE_GLOBAL_LOCK = "acquire-global-lock",
|
|
14
|
+
/** Release global lock */
|
|
15
|
+
RELEASE_GLOBAL_LOCK = "release-global-lock",
|
|
16
|
+
/** Run scaling cycle for CronManager - triggers worker spawn/terminate decisions */
|
|
17
|
+
RUN_SCALING_CYCLE = "run-scaling-cycle",
|
|
18
|
+
/** Spawn a worker for a specific entity - used when opening a table/entity */
|
|
19
|
+
SPAWN_ENTITY_WORKER = "spawn-entity-worker",
|
|
20
|
+
/** Custom service operation */
|
|
21
|
+
CUSTOM = "custom"
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Job data for service queue operations
|
|
25
|
+
*/
|
|
26
|
+
export interface IServiceQueueJobData<T = unknown> {
|
|
27
|
+
uuid: string;
|
|
28
|
+
jobName: ServiceQueueJobNames;
|
|
29
|
+
payload: T;
|
|
30
|
+
responseChannel?: string;
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=service-queue.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-queue.types.d.ts","sourceRoot":"","sources":["../../../src/services/service-queue/service-queue.types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,oBAAY,oBAAoB;IAC9B,oDAAoD;IACpD,uBAAuB,4BAA4B;IACnD,yDAAyD;IACzD,kBAAkB,uBAAuB;IACzC,qCAAqC;IACrC,gBAAgB,qBAAqB;IACrC,0BAA0B;IAC1B,mBAAmB,wBAAwB;IAC3C,0BAA0B;IAC1B,mBAAmB,wBAAwB;IAC3C,oFAAoF;IACpF,iBAAiB,sBAAsB;IACvC,8EAA8E;IAC9E,mBAAmB,wBAAwB;IAC3C,+BAA+B;IAC/B,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC,GAAG,OAAO;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,oBAAoB,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC;IACX,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ServiceQueueJobNames = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Service-level job names for global atomic operations.
|
|
6
|
+
* These operations MUST be processed by exactly ONE worker across the entire distributed system.
|
|
7
|
+
*/
|
|
8
|
+
var ServiceQueueJobNames;
|
|
9
|
+
(function (ServiceQueueJobNames) {
|
|
10
|
+
/** Get the count of all workers across all nodes */
|
|
11
|
+
ServiceQueueJobNames["GET_GLOBAL_WORKER_COUNT"] = "get-global-worker-count";
|
|
12
|
+
/** Get workers for a specific entity across all nodes */
|
|
13
|
+
ServiceQueueJobNames["GET_ENTITY_WORKERS"] = "get-entity-workers";
|
|
14
|
+
/** Verify ownership of a resource */
|
|
15
|
+
ServiceQueueJobNames["VERIFY_OWNERSHIP"] = "verify-ownership";
|
|
16
|
+
/** Acquire global lock */
|
|
17
|
+
ServiceQueueJobNames["ACQUIRE_GLOBAL_LOCK"] = "acquire-global-lock";
|
|
18
|
+
/** Release global lock */
|
|
19
|
+
ServiceQueueJobNames["RELEASE_GLOBAL_LOCK"] = "release-global-lock";
|
|
20
|
+
/** Run scaling cycle for CronManager - triggers worker spawn/terminate decisions */
|
|
21
|
+
ServiceQueueJobNames["RUN_SCALING_CYCLE"] = "run-scaling-cycle";
|
|
22
|
+
/** Spawn a worker for a specific entity - used when opening a table/entity */
|
|
23
|
+
ServiceQueueJobNames["SPAWN_ENTITY_WORKER"] = "spawn-entity-worker";
|
|
24
|
+
/** Custom service operation */
|
|
25
|
+
ServiceQueueJobNames["CUSTOM"] = "custom";
|
|
26
|
+
})(ServiceQueueJobNames || (exports.ServiceQueueJobNames = ServiceQueueJobNames = {}));
|
|
27
|
+
//# sourceMappingURL=service-queue.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"service-queue.types.js","sourceRoot":"","sources":["../../../src/services/service-queue/service-queue.types.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,IAAY,oBAiBX;AAjBD,WAAY,oBAAoB;IAC9B,oDAAoD;IACpD,2EAAmD,CAAA;IACnD,yDAAyD;IACzD,iEAAyC,CAAA;IACzC,qCAAqC;IACrC,6DAAqC,CAAA;IACrC,0BAA0B;IAC1B,mEAA2C,CAAA;IAC3C,0BAA0B;IAC1B,mEAA2C,CAAA;IAC3C,oFAAoF;IACpF,+DAAuC,CAAA;IACvC,8EAA8E;IAC9E,mEAA2C,CAAA;IAC3C,+BAA+B;IAC/B,yCAAiB,CAAA;AACnB,CAAC,EAjBW,oBAAoB,oCAApB,oBAAoB,QAiB/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/spawn-queue/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./spawn-queue.service"), exports);
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/spawn-queue/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { OnModuleInit, OnModuleDestroy } from '@nestjs/common';
|
|
2
|
+
import Redis from 'ioredis';
|
|
3
|
+
import { IAtomicQueuesModuleConfig } from '../../domain';
|
|
4
|
+
import { WorkerManagerService } from '../worker-manager';
|
|
5
|
+
import { QueueEventsManagerService } from '../queue-events-manager';
|
|
6
|
+
/**
|
|
7
|
+
* Spawn job payload
|
|
8
|
+
*/
|
|
9
|
+
export interface ISpawnJobData {
|
|
10
|
+
entityType: string;
|
|
11
|
+
entityId: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Handler callback that the ProcessorDiscoveryService registers
|
|
15
|
+
* to actually create the entity worker on this pod.
|
|
16
|
+
*/
|
|
17
|
+
export type SpawnWorkerHandler = (entityType: string, entityId: string) => Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* SpawnQueueService
|
|
20
|
+
*
|
|
21
|
+
* Replaces the cron-based / service-queue-based worker creation model
|
|
22
|
+
* with a distributed spawn queue.
|
|
23
|
+
*
|
|
24
|
+
* Architecture:
|
|
25
|
+
* - One shared BullMQ queue: `{prefix}-spawn-queue`
|
|
26
|
+
* - EVERY pod runs a BullMQ Worker on this queue (concurrency: 1)
|
|
27
|
+
* - When QueueEventsManager detects a job for an entity with no worker,
|
|
28
|
+
* it enqueues a spawn-worker job here
|
|
29
|
+
* - BullMQ distributes spawn jobs round-robin across pods
|
|
30
|
+
* - Whichever pod picks up the job creates the entity worker locally
|
|
31
|
+
* - Duplicate protection: before creating, check if worker already exists
|
|
32
|
+
* (heartbeat key in Redis). If yes, skip. Race-safe because BullMQ
|
|
33
|
+
* guarantees only ONE worker processes each job.
|
|
34
|
+
*
|
|
35
|
+
* Benefits over the old cron approach:
|
|
36
|
+
* - Workers naturally distribute across all pods
|
|
37
|
+
* - No single leader / no single point of bottleneck
|
|
38
|
+
* - No distributed lock / leader election needed
|
|
39
|
+
* - Reactive (spawn on demand) rather than polling
|
|
40
|
+
*
|
|
41
|
+
* Idle cleanup:
|
|
42
|
+
* - Each pod runs a local interval that checks its OWN workers' idle time
|
|
43
|
+
* - Idle workers are closed directly (no cross-pod signaling needed)
|
|
44
|
+
*/
|
|
45
|
+
export declare class SpawnQueueService implements OnModuleInit, OnModuleDestroy {
|
|
46
|
+
private readonly redis;
|
|
47
|
+
private readonly config;
|
|
48
|
+
private readonly workerManager;
|
|
49
|
+
private readonly logger;
|
|
50
|
+
private readonly keyPrefix;
|
|
51
|
+
private readonly spawnQueueName;
|
|
52
|
+
private spawnQueue;
|
|
53
|
+
private spawnWorker;
|
|
54
|
+
private idleSweepInterval;
|
|
55
|
+
/** Handler registered by ProcessorDiscoveryService */
|
|
56
|
+
private spawnHandler;
|
|
57
|
+
/** Idle timeout per entity type (set by ProcessorDiscovery) */
|
|
58
|
+
private readonly idleTimeouts;
|
|
59
|
+
/** Default idle timeout in seconds */
|
|
60
|
+
private readonly defaultIdleTimeoutSeconds;
|
|
61
|
+
/** Idle sweep interval in ms */
|
|
62
|
+
private readonly idleSweepIntervalMs;
|
|
63
|
+
/** Reference to QueueEventsManager for hot-cache eviction on idle close */
|
|
64
|
+
private queueEventsManager;
|
|
65
|
+
constructor(redis: Redis, config: IAtomicQueuesModuleConfig, workerManager: WorkerManagerService);
|
|
66
|
+
/**
|
|
67
|
+
* Set the QueueEventsManagerService reference for hot-cache eviction.
|
|
68
|
+
* Called by ProcessorDiscoveryService to avoid circular dependency.
|
|
69
|
+
*/
|
|
70
|
+
setQueueEventsManager(manager: QueueEventsManagerService): void;
|
|
71
|
+
/**
|
|
72
|
+
* Register the handler that creates entity workers.
|
|
73
|
+
* Called by ProcessorDiscoveryService during init.
|
|
74
|
+
*/
|
|
75
|
+
registerSpawnHandler(handler: SpawnWorkerHandler): void;
|
|
76
|
+
/**
|
|
77
|
+
* Register idle timeout for an entity type.
|
|
78
|
+
*/
|
|
79
|
+
registerIdleTimeout(entityType: string, timeoutSeconds: number): void;
|
|
80
|
+
/**
|
|
81
|
+
* Initialize: create the spawn queue and start the spawn worker + idle sweep.
|
|
82
|
+
*/
|
|
83
|
+
onModuleInit(): Promise<void>;
|
|
84
|
+
/**
|
|
85
|
+
* Enqueue a spawn-worker request.
|
|
86
|
+
* Called by QueueEventsManager when a job arrives for an entity with no worker.
|
|
87
|
+
*
|
|
88
|
+
* Uses deduplication: jobId = `spawn-{entityType}-{entityId}` so BullMQ
|
|
89
|
+
* will not create a duplicate if one is already queued/active.
|
|
90
|
+
*/
|
|
91
|
+
requestSpawn(entityType: string, entityId: string): Promise<void>;
|
|
92
|
+
/**
|
|
93
|
+
* Handle a spawn job picked up by this pod's worker.
|
|
94
|
+
*/
|
|
95
|
+
private handleSpawnJob;
|
|
96
|
+
/**
|
|
97
|
+
* Direct spawn — bypasses the BullMQ queue entirely.
|
|
98
|
+
* Called by QueueEventsManagerService when it wins the atomic claim
|
|
99
|
+
* and wants to create the worker on this pod immediately.
|
|
100
|
+
*/
|
|
101
|
+
handleSpawnJobDirect(entityType: string, entityId: string): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Start the local idle sweep interval.
|
|
104
|
+
* Periodically checks all workers on THIS pod and closes idle ones.
|
|
105
|
+
*/
|
|
106
|
+
private startIdleSweep;
|
|
107
|
+
/**
|
|
108
|
+
* Sweep all workers on this pod, close any that are idle.
|
|
109
|
+
*/
|
|
110
|
+
private sweepIdleWorkers;
|
|
111
|
+
/**
|
|
112
|
+
* Extract entity type from worker name.
|
|
113
|
+
* Worker names follow pattern: {entityType}-{entityId}-worker
|
|
114
|
+
* e.g., "candy-abc123-worker" → "candy"
|
|
115
|
+
*/
|
|
116
|
+
private extractEntityTypeFromWorkerName;
|
|
117
|
+
onModuleDestroy(): Promise<void>;
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=spawn-queue.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"spawn-queue.service.d.ts","sourceRoot":"","sources":["../../../src/services/spawn-queue/spawn-queue.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,YAAY,EACZ,eAAe,EAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,yBAAyB,EAAE,MAAM,cAAc,CAAC;AAEzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,kBAAkB,GAAG,CAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,KACb,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,qBACa,iBAAkB,YAAW,YAAY,EAAE,eAAe;IAyBtC,OAAO,CAAC,QAAQ,CAAC,KAAK;IAEnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,aAAa;IA3BhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsC;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IAExC,OAAO,CAAC,UAAU,CAAsB;IACxC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,iBAAiB,CAA+B;IAExD,sDAAsD;IACtD,OAAO,CAAC,YAAY,CAAmC;IAEvD,+DAA+D;IAC/D,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAE/D,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAS;IAEnD,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAS;IAE7C,2EAA2E;IAC3E,OAAO,CAAC,kBAAkB,CAA0C;gBAGpB,KAAK,EAAE,KAAK,EAEzC,MAAM,EAAE,yBAAyB,EACjC,aAAa,EAAE,oBAAoB;IAQtD;;;OAGG;IACH,qBAAqB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI;IAI/D;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI;IAKvD;;OAEG;IACH,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,IAAI;IAIrE;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0CnC;;;;;;OAMG;IACG,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8BvE;;OAEG;YACW,cAAc;IAwB5B;;;;OAIG;IACG,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAc/E;;;OAGG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;YACW,gBAAgB;IA+B9B;;;;OAIG;IACH,OAAO,CAAC,+BAA+B;IAejC,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;CAqBvC"}
|