@goatlab/tasks-adapter-bullmq 0.1.0 → 0.2.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.
@@ -1,9 +1,10 @@
1
- import type { ShouldQueue, TaskConnector, TaskStatus } from "@goatlab/tasks-core";
1
+ import type { ShouldQueue, TaskConnector, TaskStatus, TenantCredentials } from "@goatlab/tasks-core";
2
2
  import type { JobsOptions } from "bullmq";
3
3
  import { type Job, Queue, Worker } from "bullmq";
4
4
  export interface BullMQConnectionOptions {
5
5
  host?: string;
6
6
  port?: number;
7
+ username?: string;
7
8
  password?: string;
8
9
  db?: number;
9
10
  family?: 4 | 6;
@@ -12,26 +13,91 @@ export interface BullMQConnectionOptions {
12
13
  export interface BullMQConnectorConfig {
13
14
  connection?: BullMQConnectionOptions;
14
15
  defaultJobOptions?: JobsOptions;
16
+ /**
17
+ * Tenant ID for multi-tenant isolation.
18
+ * When set, this tenant ID is used as a prefix for all Redis keys.
19
+ *
20
+ * Key pattern: {tenantId}:{queueName}:{keyType}
21
+ * Example: "acme-corp:email-queue:waiting"
22
+ *
23
+ * This enables Redis ACL rules like: ~acme-corp:* +@all
24
+ * to restrict tenant access to only their prefixed keys.
25
+ */
26
+ tenantId?: string;
15
27
  }
16
28
  export declare class BullMQConnector implements TaskConnector<object> {
17
29
  private readonly connectionOptions;
18
30
  private readonly defaultJobOptions;
19
31
  private readonly queues;
20
32
  private readonly workers;
33
+ private readonly _tenantId?;
34
+ private readonly _prefix;
35
+ private readonly config;
36
+ /**
37
+ * The tenant ID this connector is scoped to.
38
+ * When set, all Redis keys are prefixed with this tenant ID.
39
+ */
40
+ get tenantId(): string | undefined;
41
+ /**
42
+ * The Redis key prefix used by this connector.
43
+ * Format: "{tenantId}" if tenant is set, otherwise "bull" (default)
44
+ *
45
+ * This prefix is applied to all queue names, resulting in keys like:
46
+ * - With tenant: "acme-corp:email-queue:waiting"
47
+ * - Without tenant: "bull:email-queue:waiting"
48
+ */
49
+ get prefix(): string;
21
50
  constructor(config?: BullMQConnectorConfig);
51
+ /**
52
+ * Creates a new BullMQConnector instance scoped to a specific tenant.
53
+ * The new connector uses the tenant ID as a Redis key prefix for isolation.
54
+ *
55
+ * @param tenantId - The tenant identifier for isolation
56
+ * @param credentials - Optional credentials for the tenant's Redis user
57
+ * @returns A new BullMQConnector instance scoped to the tenant
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * const baseConnector = new BullMQConnector({ connection: { host: 'localhost' } })
62
+ *
63
+ * // Create tenant-scoped connector (uses prefix isolation)
64
+ * const tenantConnector = baseConnector.forTenant('acme-corp')
65
+ * // Keys: acme-corp:queue-name:*
66
+ *
67
+ * // With Redis ACL credentials for stronger isolation
68
+ * const secureConnector = baseConnector.forTenant('acme-corp', {
69
+ * username: 'tenant_acme',
70
+ * password: 'secret'
71
+ * })
72
+ * ```
73
+ */
74
+ forTenant(tenantId: string, credentials?: TenantCredentials): BullMQConnector;
22
75
  /**
23
76
  * Gets or creates a queue for a given queue name.
24
77
  * Queues are memoized to avoid creating multiple instances.
78
+ *
79
+ * When a tenant ID is set, the queue uses the tenant ID as the Redis key prefix.
80
+ * This ensures all keys are namespaced under the tenant.
81
+ *
82
+ * Key patterns:
83
+ * - With tenant "acme-corp": acme-corp:email-queue:waiting
84
+ * - Without tenant: bull:email-queue:waiting
25
85
  */
26
86
  getQueue(queueName: string): Queue;
27
87
  /**
28
88
  * Creates a worker for processing jobs from a BullMQ task.
29
89
  * Similar to Hatchet's getHatchetTask but creates a worker.
90
+ *
91
+ * IMPORTANT: The worker uses the same prefix as the queue to ensure
92
+ * it processes jobs from the correct tenant namespace.
30
93
  */
31
94
  getBullMQWorker(task: ShouldQueue, concurrency?: number): Worker;
32
95
  /**
33
96
  * Starts a worker to process jobs for the given tasks.
34
97
  * Similar pattern to HatchetConnector.startWorker().
98
+ *
99
+ * IMPORTANT: Workers use the same prefix as queues to ensure
100
+ * they only process jobs from the correct tenant namespace.
35
101
  */
36
102
  startWorker({ workerName, tasks, concurrency, }: {
37
103
  workerName?: string;
@@ -9,6 +9,7 @@ const DEFAULT_HOST = "localhost";
9
9
  const DEFAULT_PORT = 6379;
10
10
  const DEFAULT_MAX_RETRIES = 3;
11
11
  const DEFAULT_CONCURRENCY = 100;
12
+ const DEFAULT_PREFIX = "bull";
12
13
  /**
13
14
  * Maps BullMQ job states to TaskStatusName
14
15
  */
@@ -34,10 +35,38 @@ class BullMQConnector {
34
35
  defaultJobOptions;
35
36
  queues = new Map();
36
37
  workers = new Map();
38
+ _tenantId;
39
+ _prefix;
40
+ config;
41
+ /**
42
+ * The tenant ID this connector is scoped to.
43
+ * When set, all Redis keys are prefixed with this tenant ID.
44
+ */
45
+ get tenantId() {
46
+ return this._tenantId;
47
+ }
48
+ /**
49
+ * The Redis key prefix used by this connector.
50
+ * Format: "{tenantId}" if tenant is set, otherwise "bull" (default)
51
+ *
52
+ * This prefix is applied to all queue names, resulting in keys like:
53
+ * - With tenant: "acme-corp:email-queue:waiting"
54
+ * - Without tenant: "bull:email-queue:waiting"
55
+ */
56
+ get prefix() {
57
+ return this._prefix;
58
+ }
37
59
  constructor(config) {
60
+ this.config = config || {};
61
+ this._tenantId = config?.tenantId;
62
+ // Use tenant ID as prefix for multi-tenant isolation
63
+ // Keys will be: {tenantId}:{queueName}:{keyType}
64
+ // This allows Redis ACL rules like: ~{tenantId}:* +@all
65
+ this._prefix = config?.tenantId || DEFAULT_PREFIX;
38
66
  this.connectionOptions = {
39
67
  host: config?.connection?.host || DEFAULT_HOST,
40
68
  port: config?.connection?.port || DEFAULT_PORT,
69
+ username: config?.connection?.username,
41
70
  password: config?.connection?.password,
42
71
  db: config?.connection?.db || 0,
43
72
  family: config?.connection?.family || 4,
@@ -53,25 +82,72 @@ class BullMQConnector {
53
82
  removeOnFail: false,
54
83
  };
55
84
  }
85
+ /**
86
+ * Creates a new BullMQConnector instance scoped to a specific tenant.
87
+ * The new connector uses the tenant ID as a Redis key prefix for isolation.
88
+ *
89
+ * @param tenantId - The tenant identifier for isolation
90
+ * @param credentials - Optional credentials for the tenant's Redis user
91
+ * @returns A new BullMQConnector instance scoped to the tenant
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * const baseConnector = new BullMQConnector({ connection: { host: 'localhost' } })
96
+ *
97
+ * // Create tenant-scoped connector (uses prefix isolation)
98
+ * const tenantConnector = baseConnector.forTenant('acme-corp')
99
+ * // Keys: acme-corp:queue-name:*
100
+ *
101
+ * // With Redis ACL credentials for stronger isolation
102
+ * const secureConnector = baseConnector.forTenant('acme-corp', {
103
+ * username: 'tenant_acme',
104
+ * password: 'secret'
105
+ * })
106
+ * ```
107
+ */
108
+ forTenant(tenantId, credentials) {
109
+ return new BullMQConnector({
110
+ ...this.config,
111
+ tenantId,
112
+ connection: {
113
+ ...this.config.connection,
114
+ // Override credentials if provided for stronger isolation
115
+ ...(credentials?.username && { username: credentials.username }),
116
+ ...(credentials?.password && { password: credentials.password }),
117
+ },
118
+ });
119
+ }
56
120
  /**
57
121
  * Gets or creates a queue for a given queue name.
58
122
  * Queues are memoized to avoid creating multiple instances.
123
+ *
124
+ * When a tenant ID is set, the queue uses the tenant ID as the Redis key prefix.
125
+ * This ensures all keys are namespaced under the tenant.
126
+ *
127
+ * Key patterns:
128
+ * - With tenant "acme-corp": acme-corp:email-queue:waiting
129
+ * - Without tenant: bull:email-queue:waiting
59
130
  */
60
131
  getQueue(queueName) {
61
- const existing = this.queues.get(queueName);
132
+ const cacheKey = `${this._prefix}:${queueName}`;
133
+ const existing = this.queues.get(cacheKey);
62
134
  if (existing) {
63
135
  return existing;
64
136
  }
65
137
  const queue = new bullmq_1.Queue(queueName, {
66
138
  connection: this.connectionOptions,
67
139
  defaultJobOptions: this.defaultJobOptions,
140
+ prefix: this._prefix,
68
141
  });
69
- this.queues.set(queueName, queue);
142
+ this.queues.set(cacheKey, queue);
70
143
  return queue;
71
144
  }
72
145
  /**
73
146
  * Creates a worker for processing jobs from a BullMQ task.
74
147
  * Similar to Hatchet's getHatchetTask but creates a worker.
148
+ *
149
+ * IMPORTANT: The worker uses the same prefix as the queue to ensure
150
+ * it processes jobs from the correct tenant namespace.
75
151
  */
76
152
  getBullMQWorker(task, concurrency = DEFAULT_CONCURRENCY) {
77
153
  const worker = new bullmq_1.Worker(task.taskName, async (job) => {
@@ -79,24 +155,30 @@ class BullMQConnector {
79
155
  }, {
80
156
  connection: this.connectionOptions,
81
157
  concurrency,
158
+ prefix: this._prefix,
82
159
  });
83
160
  return worker;
84
161
  }
85
162
  /**
86
163
  * Starts a worker to process jobs for the given tasks.
87
164
  * Similar pattern to HatchetConnector.startWorker().
165
+ *
166
+ * IMPORTANT: Workers use the same prefix as queues to ensure
167
+ * they only process jobs from the correct tenant namespace.
88
168
  */
89
169
  async startWorker({ workerName, tasks, concurrency = DEFAULT_CONCURRENCY, }) {
90
170
  const workers = [];
91
171
  for (const task of tasks) {
172
+ const workerKey = `${this._prefix}:${task.taskName}`;
92
173
  const worker = new bullmq_1.Worker(task.taskName, async (job) => {
93
174
  return task.handle(job.data);
94
175
  }, {
95
176
  connection: this.connectionOptions,
96
177
  concurrency,
97
178
  name: `${workerName || task.taskName}-${js_utils_1.Ids.nanoId(5)}`,
179
+ prefix: this._prefix,
98
180
  });
99
- this.workers.set(task.taskName, worker);
181
+ this.workers.set(workerKey, worker);
100
182
  workers.push(worker);
101
183
  }
102
184
  // Give workers some time to start and connect to Redis
@@ -1 +1 @@
1
- {"version":3,"file":"BullMQConnector.js","sourceRoot":"","sources":["../src/BullMQConnector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BullMQConnector.js","sourceRoot":"","sources":["../src/BullMQConnector.ts"],"names":[],"mappings":"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"}
package/dist/benchmark.js CHANGED
@@ -32,7 +32,7 @@ class BenchmarkTask extends tasks_core_1.ShouldQueue {
32
32
  return undefined;
33
33
  }
34
34
  }
35
- async function runQueueBenchmark(connector, task) {
35
+ async function runQueueBenchmark(_connector, task) {
36
36
  console.log("\n📊 Queue Throughput (queue-only, no worker)");
37
37
  console.log("=".repeat(50));
38
38
  // Warmup
@@ -154,7 +154,7 @@ async function main() {
154
154
  const latency = await runLatencyBenchmark(connector3, task3);
155
155
  await connector3.close();
156
156
  // Summary
157
- console.log("\n" + "=".repeat(50));
157
+ console.log(`\n${"=".repeat(50)}`);
158
158
  console.log("📈 BULLMQ SUMMARY");
159
159
  console.log("=".repeat(50));
160
160
  console.log(`Queue throughput: ${queueThroughput.toFixed(0)} tasks/sec`);
@@ -270,7 +270,7 @@ async function runPersistenceComparison() {
270
270
  await connector3.close();
271
271
  await container3.stop();
272
272
  // Summary
273
- console.log("\n" + "=".repeat(50));
273
+ console.log(`\n${"=".repeat(50)}`);
274
274
  console.log("📈 PERSISTENCE COMPARISON");
275
275
  console.log("=".repeat(50));
276
276
  for (const r of results) {
@@ -327,7 +327,7 @@ async function runPayloadComparison() {
327
327
  }
328
328
  await container.stop();
329
329
  // Summary
330
- console.log("\n" + "=".repeat(50));
330
+ console.log(`\n${"=".repeat(50)}`);
331
331
  console.log("📈 PAYLOAD SIZE COMPARISON");
332
332
  console.log("=".repeat(50));
333
333
  const maxThroughput = results[0].throughput;
@@ -1 +1 @@
1
- {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAGH,oDAAkD;AAElD,iDAAuD;AACvD,mDAAkD;AAClD,6DAAuD;AAEvD,wCAAwC;AACxC,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAC7B,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,qBAAqB,GAAG,IAAI,CAAC,CAAC,YAAY;AAChD,MAAM,cAAc,GAAG,IAAI,CAAC;AAC5B,MAAM,eAAe,GAAG,EAAE,CAAC;AAE3B,MAAM,aAAc,SAAQ,wBAA8B;IACzD,OAAO,GAAG,4BAA4B,CAAC;IACvC,QAAQ,CAAS;IAEjB,YAAY,SAA2C,EAAE,IAAY;QACpE,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,MAAM;QACX,OAAO,SAAS,CAAC;IAClB,CAAC;CACD;AAED,KAAK,UAAU,iBAAiB,CAC/B,SAA0B,EAC1B,IAAmB;IAEnB,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;IAC7D,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,SAAS;IACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;QACtC,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;KAC/B;IAED,OAAO,CAAC,GAAG,CAAC,eAAe,qBAAqB,GAAG,IAAI,MAAM,CAAC,CAAC;IAC/D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,SAAS,GAAG,qBAAqB,CAAC;IAElD,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE;QAC5B,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;YAC1C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;SAC9C;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;KAC5B;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACvC,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC;IAE5C,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAEhE,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,eAAe,CAC7B,SAA0B,EAC1B,IAAmB;IAEnB,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,SAAS,CAAC,WAAW,CAAC;QAC3B,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,UAAU,EAAE,kBAAkB;QAC9B,WAAW,EAAE,EAAE;KACf,CAAC,CAAC;IACH,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7C,OAAO,CAAC,GAAG,CAAC,WAAW,cAAc,WAAW,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,sCAAsC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,IAAI,gBAAgB,EAAE;QAC1D,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,IAAI,CAAC,GAAG,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;YACpE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;SACzC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACzB;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IAErC,gCAAgC;IAChC,MAAM,OAAO,GAAG,KAAK,CAAC;IACtB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAE7B,OAAO,SAAS,GAAG,cAAc,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,OAAO,EAAE;QACtE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3D,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,CAAC;QAClC,IAAI,SAAS,GAAG,cAAc,EAAE;YAC/B,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;SAC7C;KACD;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;IACrC,MAAM,UAAU,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC;IAElD,OAAO,CAAC,GAAG,CAAC,gBAAgB,SAAS,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,iBAAiB,SAAS,IAAI,CAAC,CAAC;IAC5C,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAEhE,OAAO,UAAU,CAAC;AACnB,CAAC;AAED,KAAK,UAAU,mBAAmB,CACjC,SAA0B,EAC1B,IAAmB;IAEnB,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,SAAS,CAAC,WAAW,CAAC;QAC3B,KAAK,EAAE,CAAC,IAAI,CAAC;QACb,UAAU,EAAE,gBAAgB;QAC5B,WAAW,EAAE,EAAE;KACf,CAAC,CAAC;IACH,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;IAE7C,MAAM,SAAS,GAAa,EAAE,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAE9C,wCAAwC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;QAClC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,EAAE;YAC5B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACtD,IACC,aAAa,CAAC,MAAM,KAAK,WAAW;gBACpC,aAAa,CAAC,MAAM,KAAK,QAAQ,EAChC;gBACD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;gBACnC,MAAM;aACN;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC3C;KACD;IAED,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAChC,MAAM,GAAG,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC;IACpE,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC;IAE3D,OAAO,CAAC,GAAG,CAAC,cAAc,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CACV,UAAU,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,GAAG,aAAa,GAAG,aAAa,GAAG,IAAI,CAC5E,CAAC;IAEF,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/B,CAAC;AAED,KAAK,UAAU,IAAI;IAClB,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAE3C,IAAI,cAAc,GAAiC,IAAI,CAAC;IAExD,IAAI;QACH,cAAc,GAAG,MAAM,IAAI,sBAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;QACpE,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,cAAc,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;QAEtC,yCAAyC;QACzC,MAAM,UAAU,GAAG,IAAI,oCAAe,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAC3D,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAEzB,4BAA4B;QAC5B,MAAM,UAAU,GAAG,IAAI,oCAAe,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QACzD,MAAM,aAAa,GAAG,MAAM,eAAe,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/D,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAEzB,gCAAgC;QAChC,MAAM,UAAU,GAAG,IAAI,oCAAe,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,mBAAmB,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC7D,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAEzB,UAAU;QACV,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,sBAAsB,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,sBAAsB,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACxE,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO,CAAC,GAAG,CAAC,sBAAsB,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;KACnD;YAAS;QACT,IAAI,cAAc,EAAE;YACnB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;YAC7C,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC;SAC5B;KACD;AACF,CAAC;AAED,KAAK,UAAU,wBAAwB;IACtC,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,OAAO,GAA2C,EAAE,CAAC;IAE3D,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACnD,MAAM,UAAU,GAAG,MAAM,IAAI,sBAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,oCAAe,CAAC;QACtC,UAAU,EAAE;YACX,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE;YAC1B,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC;SACpC;KACD,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;IAE/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE;QAAE,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAEvE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,qBAAqB,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE;QACzB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE;YACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACzB;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAClE,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IACzB,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAExB,mDAAmD;IACnD,OAAO,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,MAAM,IAAI,iCAAgB,CAAC,gBAAgB,CAAC;SAC7D,WAAW,CAAC;QACZ,cAAc;QACd,cAAc;QACd,KAAK;QACL,eAAe;QACf,UAAU;KACV,CAAC;SACD,gBAAgB,CAAC,IAAI,CAAC;SACtB,KAAK,EAAE,CAAC;IACV,MAAM,UAAU,GAAG,IAAI,oCAAe,CAAC;QACtC,UAAU,EAAE;YACX,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE;YAC1B,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC;SACpC;KACD,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;IAE7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE;QAAE,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAEvE,KAAK,GAAG,CAAC,CAAC;IACV,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,qBAAqB,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE;QACzB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE;YACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACzB;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAChE,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IACzB,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAExB,wDAAwD;IACxD,OAAO,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,MAAM,IAAI,iCAAgB,CAAC,gBAAgB,CAAC;SAC7D,WAAW,CAAC;QACZ,cAAc;QACd,cAAc;QACd,KAAK;QACL,eAAe;QACf,QAAQ;KACR,CAAC;SACD,gBAAgB,CAAC,IAAI,CAAC;SACtB,KAAK,EAAE,CAAC;IACV,MAAM,UAAU,GAAG,IAAI,oCAAe,CAAC;QACtC,UAAU,EAAE;YACX,IAAI,EAAE,UAAU,CAAC,OAAO,EAAE;YAC1B,IAAI,EAAE,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC;SACpC;KACD,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;IAEhE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE;QAAE,MAAM,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAEvE,KAAK,GAAG,CAAC,CAAC;IACV,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,MAAM,GAAG,qBAAqB,CAAC;IAC5C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE;QACzB,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE;YACxC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC7C,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;KACzB;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvE,OAAO,CAAC,GAAG,CAAC,iBAAiB,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IACvE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;IAC9D,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;IACzB,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;IAExB,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CACV,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,GAAG,IAAI,CACzF,CAAC;KACF;AACF,CAAC;AAED,KAAK,UAAU,oBAAoB;IAClC,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;IACjD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,MAAM,SAAS,GAAG,MAAM,IAAI,sBAAc,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;IACrE,MAAM,IAAI,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;IACjC,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC3C,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;IAEtC,MAAM,OAAO,GAA0D,EAAE,CAAC;IAE1E,0BAA0B;IAC1B,MAAM,QAAQ,GAAG;QAChB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE;QAC7D;YACC,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC7D;QACD,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE;QACnE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;QACpE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE;KACjE,CAAC;IAEF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC;QAE/D,MAAM,SAAS,GAAG,IAAI,oCAAe,CAAC,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,SAAS,GAAG,SAAS,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC;QAElE,qDAAqD;QACrD,MAAM,KAAK,GAAI,SAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAErD,SAAS;QACT,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;YAC5B,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;SACrC;QAED,YAAY;QACZ,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,KAAK,GAAG,qBAAqB,CAAC;QAC1C,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,GAAG,EAAE;YACxB,MAAM,KAAK,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE;gBAC1C,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3C,KAAK,EAAE,CAAC;aACR;YACD,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACzB;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QACrE,OAAO,CAAC,GAAG,CAAC,iBAAiB,UAAU,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACtE,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QAExD,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;KACxB;IAED,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;IAEvB,UAAU;IACV,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IACnC,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;IAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAC5C,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,aAAa,CAAC,GAAG,GAAG,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,CACV,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,gBAAgB,GAAG,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAC1I,CAAC;KACF;AACF,CAAC;AAED,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;IAClC,wBAAwB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;CAChD;KAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;IACzC,oBAAoB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;CAC5C;KAAM;IACN,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;CAC5B"}
1
+ {"version":3,"file":"benchmark.js","sourceRoot":"","sources":["../src/benchmark.ts"],"names":[],"mappings":"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"}
@@ -85,5 +85,78 @@ const bullmqConnector = new BullMQConnector_js_1.BullMQConnector({
85
85
  await connector.resumeQueue("pause_test_queue");
86
86
  // Queue should be resumed
87
87
  });
88
+ (0, vitest_1.it)("should expose tenantId when set", () => {
89
+ const tenantConnector = new BullMQConnector_js_1.BullMQConnector({
90
+ connection: {
91
+ host: globalData.host || "localhost",
92
+ port: globalData.port || 6379,
93
+ },
94
+ tenantId: "test-tenant",
95
+ });
96
+ (0, vitest_1.expect)(tenantConnector.tenantId).toBe("test-tenant");
97
+ (0, vitest_1.expect)(tenantConnector.prefix).toBe("test-tenant");
98
+ });
99
+ (0, vitest_1.it)("should use default prefix when no tenantId", () => {
100
+ (0, vitest_1.expect)(connector.tenantId).toBeUndefined();
101
+ (0, vitest_1.expect)(connector.prefix).toBe("bull");
102
+ });
103
+ (0, vitest_1.it)("forTenant() should create a new connector with tenant prefix", () => {
104
+ const tenantConnector = connector.forTenant("acme-corp");
105
+ (0, vitest_1.expect)(tenantConnector.tenantId).toBe("acme-corp");
106
+ (0, vitest_1.expect)(tenantConnector.prefix).toBe("acme-corp");
107
+ // Original connector should be unchanged
108
+ (0, vitest_1.expect)(connector.tenantId).toBeUndefined();
109
+ });
110
+ (0, vitest_1.it)("forTenant() should support credentials for Redis ACL", () => {
111
+ const tenantConnector = connector.forTenant("acme-corp", {
112
+ username: "tenant_acme",
113
+ password: "secret123",
114
+ });
115
+ (0, vitest_1.expect)(tenantConnector.tenantId).toBe("acme-corp");
116
+ // Credentials are stored internally in connectionOptions
117
+ });
118
+ });
119
+ // Multi-tenant isolation tests
120
+ // These verify that different tenants using the same Redis instance are properly isolated
121
+ const baseConnector = new BullMQConnector_js_1.BullMQConnector({
122
+ connection: {
123
+ host: globalData.host || "localhost",
124
+ port: globalData.port || 6379,
125
+ },
126
+ });
127
+ // Store tenant connectors for cleanup
128
+ const tenantConnectors = new Map();
129
+ (0, test_suite_1.multiTenantTestSuite)({ describe: vitest_1.describe, it: vitest_1.it, expect: vitest_1.expect, beforeAll: vitest_1.beforeAll, afterAll: vitest_1.afterAll, beforeEach: vitest_1.beforeEach, afterEach: vitest_1.afterEach }, {
130
+ createTenantConnector: (tenantId) => {
131
+ const tenantConnector = baseConnector.forTenant(tenantId);
132
+ tenantConnectors.set(tenantId, tenantConnector);
133
+ return tenantConnector;
134
+ },
135
+ startTenantWorker: async (tenantId, tasks) => {
136
+ const tenantConnector = tenantConnectors.get(tenantId);
137
+ if (!tenantConnector) {
138
+ throw new Error(`Tenant connector not found for ${tenantId}`);
139
+ }
140
+ await tenantConnector.startWorker({
141
+ workerName: `tenant-${tenantId}-worker`,
142
+ tasks,
143
+ concurrency: 10,
144
+ });
145
+ return async () => {
146
+ await tenantConnector.close();
147
+ };
148
+ },
149
+ taskCompletionTimeout: 10000,
150
+ statusCheckInterval: 500,
151
+ workerStartupDelay: 2000,
152
+ supportsForTenant: true,
153
+ runIsolationTests: true,
154
+ cleanup: async () => {
155
+ for (const connector of tenantConnectors.values()) {
156
+ await connector.close();
157
+ }
158
+ tenantConnectors.clear();
159
+ await baseConnector.close();
160
+ },
88
161
  });
89
162
  //# sourceMappingURL=bullmq.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bullmq.spec.js","sourceRoot":"","sources":["../src/bullmq.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bullmq.spec.js","sourceRoot":"","sources":["../src/bullmq.spec.ts"],"names":[],"mappings":"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"}