bunqueue 2.6.114 → 2.6.115
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/dist/client/bunqueue/types.d.ts +7 -0
- package/dist/client/bunqueue/types.d.ts.map +1 -1
- package/dist/client/bunqueue.d.ts.map +1 -1
- package/dist/client/bunqueue.js +2 -0
- package/dist/client/bunqueue.js.map +1 -1
- package/dist/client/queue/queue.d.ts +8 -0
- package/dist/client/queue/queue.d.ts.map +1 -1
- package/dist/client/queue/queue.js +20 -2
- package/dist/client/queue/queue.js.map +1 -1
- package/dist/client/queue/scheduler.d.ts +7 -0
- package/dist/client/queue/scheduler.d.ts.map +1 -1
- package/dist/client/queue/scheduler.js +28 -14
- package/dist/client/queue/scheduler.js.map +1 -1
- package/dist/client/types.d.ts +16 -0
- package/dist/client/types.d.ts.map +1 -1
- package/dist/client/types.js.map +1 -1
- package/dist/client/worker/worker.d.ts +6 -0
- package/dist/client/worker/worker.d.ts.map +1 -1
- package/dist/client/worker/worker.js +20 -11
- package/dist/client/worker/worker.js.map +1 -1
- package/dist/infrastructure/cloud/cloudAgent 2.d.ts +55 -0
- package/dist/infrastructure/cloud/cloudAgent 2.d.ts.map +1 -0
- package/dist/infrastructure/cloud/cloudAgent 2.js +243 -0
- package/dist/infrastructure/cloud/cloudAgent 2.js.map +1 -0
- package/dist/infrastructure/cloud/commandHandler 2.d.ts +52 -0
- package/dist/infrastructure/cloud/commandHandler 2.d.ts.map +1 -0
- package/dist/infrastructure/cloud/commandHandler 2.js +84 -0
- package/dist/infrastructure/cloud/commandHandler 2.js.map +1 -0
- package/dist/infrastructure/cloud/commands 2.d.ts +11 -0
- package/dist/infrastructure/cloud/commands 2.d.ts.map +1 -0
- package/dist/infrastructure/cloud/commands 2.js +343 -0
- package/dist/infrastructure/cloud/commands 2.js.map +1 -0
- package/package.json +1 -1
|
@@ -56,6 +56,12 @@ function createTcpPool(opts, concurrency) {
|
|
|
56
56
|
*/
|
|
57
57
|
export class Worker extends EventEmitter {
|
|
58
58
|
name;
|
|
59
|
+
/**
|
|
60
|
+
* Server-side queue key. Equals `name` unless `prefixKey` is set, in which
|
|
61
|
+
* case it is `prefixKey + name`. All broker pulls/registrations route
|
|
62
|
+
* through this key so a Worker only sees jobs from its own namespace.
|
|
63
|
+
*/
|
|
64
|
+
queueKey;
|
|
59
65
|
opts;
|
|
60
66
|
processor;
|
|
61
67
|
embedded;
|
|
@@ -110,10 +116,11 @@ export class Worker extends EventEmitter {
|
|
|
110
116
|
constructor(name, processor, opts = {}) {
|
|
111
117
|
super();
|
|
112
118
|
this.name = name;
|
|
119
|
+
this.queueKey = (opts.prefixKey ?? '') + name;
|
|
113
120
|
this.processor = processor;
|
|
114
121
|
this.embedded = opts.embedded ?? FORCE_EMBEDDED;
|
|
115
122
|
this.startedAt = Date.now();
|
|
116
|
-
this.workerId = `worker-${
|
|
123
|
+
this.workerId = `worker-${this.queueKey}-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
|
|
117
124
|
this.opts = resolveWorkerOptions(opts, this.embedded);
|
|
118
125
|
this.rateLimiter = new WorkerRateLimiter(opts.limiter?.groupKey ? null : (opts.limiter ?? null));
|
|
119
126
|
this.groupLimiter = GroupConcurrencyLimiter.fromOptions(opts.limiter);
|
|
@@ -184,7 +191,9 @@ export class Worker extends EventEmitter {
|
|
|
184
191
|
return;
|
|
185
192
|
const manager = getSharedManager();
|
|
186
193
|
this.stalledUnsubscribe = manager.subscribe((event) => {
|
|
187
|
-
|
|
194
|
+
// Events carry the prefixed server-side queue key, so we must compare
|
|
195
|
+
// against `queueKey` (not the logical `name`) to scope correctly.
|
|
196
|
+
if (event.queue !== this.queueKey)
|
|
188
197
|
return;
|
|
189
198
|
if (event.eventType === "stalled" /* EventType.Stalled */) {
|
|
190
199
|
this.emit('stalled', event.jobId, 'active');
|
|
@@ -293,7 +302,7 @@ export class Worker extends EventEmitter {
|
|
|
293
302
|
if (this.embedded) {
|
|
294
303
|
const manager = getSharedManager();
|
|
295
304
|
if (this.opts.useLocks) {
|
|
296
|
-
const { job, token: lockToken } = await manager.pullWithLock(this.
|
|
305
|
+
const { job, token: lockToken } = await manager.pullWithLock(this.queueKey, this.workerId, 0);
|
|
297
306
|
if (job && lockToken) {
|
|
298
307
|
const jobIdStr = String(job.id);
|
|
299
308
|
this.pulledJobIds.add(jobIdStr);
|
|
@@ -301,7 +310,7 @@ export class Worker extends EventEmitter {
|
|
|
301
310
|
}
|
|
302
311
|
return job ?? undefined;
|
|
303
312
|
}
|
|
304
|
-
const job = await manager.pull(this.
|
|
313
|
+
const job = await manager.pull(this.queueKey, 0);
|
|
305
314
|
if (job) {
|
|
306
315
|
this.pulledJobIds.add(String(job.id));
|
|
307
316
|
}
|
|
@@ -312,7 +321,7 @@ export class Worker extends EventEmitter {
|
|
|
312
321
|
return undefined;
|
|
313
322
|
const cmd = {
|
|
314
323
|
cmd: 'PULL',
|
|
315
|
-
queue: this.
|
|
324
|
+
queue: this.queueKey,
|
|
316
325
|
timeout: 0,
|
|
317
326
|
};
|
|
318
327
|
if (this.opts.useLocks) {
|
|
@@ -323,7 +332,7 @@ export class Worker extends EventEmitter {
|
|
|
323
332
|
const response = await this.tcp.send(cmd);
|
|
324
333
|
if (!response.ok || !response.job)
|
|
325
334
|
return undefined;
|
|
326
|
-
const job = parseJobFromResponse(response.job, this.
|
|
335
|
+
const job = parseJobFromResponse(response.job, this.queueKey);
|
|
327
336
|
const jobIdStr = String(job.id);
|
|
328
337
|
this.pulledJobIds.add(jobIdStr);
|
|
329
338
|
if (this.opts.useLocks && response.token) {
|
|
@@ -343,7 +352,7 @@ export class Worker extends EventEmitter {
|
|
|
343
352
|
}
|
|
344
353
|
try {
|
|
345
354
|
await processJob(job, {
|
|
346
|
-
name: this.
|
|
355
|
+
name: this.queueKey,
|
|
347
356
|
processor: this.processor,
|
|
348
357
|
embedded: this.embedded,
|
|
349
358
|
tcp: this.tcp,
|
|
@@ -615,7 +624,7 @@ export class Worker extends EventEmitter {
|
|
|
615
624
|
this.pulledJobIds.add(jobIdStr);
|
|
616
625
|
const tokenForProcess = this.opts.useLocks ? token : undefined;
|
|
617
626
|
void processJob(job, {
|
|
618
|
-
name: this.
|
|
627
|
+
name: this.queueKey,
|
|
619
628
|
processor: this.processor,
|
|
620
629
|
embedded: this.embedded,
|
|
621
630
|
tcp: this.tcp,
|
|
@@ -673,8 +682,8 @@ export class Worker extends EventEmitter {
|
|
|
673
682
|
void this.tcp
|
|
674
683
|
.send({
|
|
675
684
|
cmd: 'RegisterWorker',
|
|
676
|
-
name: this.
|
|
677
|
-
queues: [this.
|
|
685
|
+
name: this.queueKey,
|
|
686
|
+
queues: [this.queueKey],
|
|
678
687
|
concurrency: this.opts.concurrency,
|
|
679
688
|
workerId: this.workerId,
|
|
680
689
|
hostname: hostname(),
|
|
@@ -721,7 +730,7 @@ export class Worker extends EventEmitter {
|
|
|
721
730
|
}
|
|
722
731
|
getPullConfig() {
|
|
723
732
|
return {
|
|
724
|
-
name: this.
|
|
733
|
+
name: this.queueKey,
|
|
725
734
|
workerId: this.workerId,
|
|
726
735
|
useLocks: this.opts.useLocks,
|
|
727
736
|
pollTimeout: this.opts.pollTimeout,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/client/worker/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/client/worker/worker.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,OAAO,EAAE,KAAK,EAA2B,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAsB,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,OAAO,EAAmB,MAAM,cAAc,CAAC;AACtE,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,qEAAqE;AACrE,SAAS,oBAAoB,CAAC,IAAmB,EAAE,QAAiB;IAClE,OAAO;QACL,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,CAAC;QAClC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI;QAC7B,iBAAiB,EAAE,IAAI,CAAC,iBAAiB,IAAI,KAAK;QAClD,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,IAAI,CAAC;QAC/C,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,CAAC;QAC/E,QAAQ;QACR,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,KAAK;QAC9C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,KAAK;QAChD,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,EAAE;QACjC,YAAY,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK;QACxC,eAAe,EAAE,IAAI,CAAC,eAAe,IAAI,CAAC;QAC1C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;QACvC,YAAY,EAAE,IAAI,CAAC,YAAY;KAChC,CAAC;AACJ,CAAC;AAED,8CAA8C;AAC9C,SAAS,aAAa,CAAC,IAAmB,EAAE,WAAmB;IAC7D,MAAM,QAAQ,GAAsB,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC;IAC1D,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC3C,OAAO,IAAI,iBAAiB,CAAC;QAC3B,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,WAAW;QAClC,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,IAAI;QAC3B,KAAK;QACL,QAAQ;QACR,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,WAAW,EAAE,QAAQ,CAAC,WAAW;KAClC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,MAAiC,SAAQ,YAAY;IACvD,IAAI,CAAS;IACtB;;;;OAIG;IACc,QAAQ,CAAS;IACzB,IAAI,CAAwB;IACpB,SAAS,CAAkB;IAC3B,QAAQ,CAAU;IAClB,GAAG,CAAuB;IAC1B,OAAO,CAA2B;IAClC,UAAU,CAAa;IACvB,WAAW,CAAoB;IAC/B,YAAY,CAAiC;IAEtD,OAAO,GAAG,KAAK,CAAC;IAChB,MAAM,GAAG,KAAK,CAAC;IACf,QAAQ,GAAG,KAAK,CAAC;IACjB,eAAe,GAAyB,IAAI,CAAC;IAC7C,MAAM,GAAG,KAAK,CAAC;IACf,UAAU,GAAG,CAAC,CAAC;IACf,SAAS,GAAyC,IAAI,CAAC;IACvD,iBAAiB,GAAG,CAAC,CAAC;IAE9B,+DAA+D;IAC/D,iEAAiE;IAChD,YAAY,GAAgB,IAAI,GAAG,EAAE,CAAC;IACtC,YAAY,GAAgB,IAAI,GAAG,EAAE,CAAC,CAAC,kCAAkC;IACzE,SAAS,GAAwB,IAAI,GAAG,EAAE,CAAC,CAAC,qBAAqB;IACjE,aAAa,GAAgB,IAAI,GAAG,EAAE,CAAC,CAAC,+BAA+B;IAChF,cAAc,GAA0C,IAAI,CAAC;IAErE,+BAA+B;IACvB,oBAAoB,GAA0C,IAAI,CAAC;IACnE,cAAc,GAAG,CAAC,CAAC;IACnB,WAAW,GAAG,CAAC,CAAC;IACP,SAAS,CAAS;IAC3B,UAAU,GAAG,KAAK,CAAC;IAE3B,sCAAsC;IACrB,QAAQ,CAAS;IAElC,2CAA2C;IACnC,WAAW,GAAsD,EAAE,CAAC;IACpE,eAAe,GAAG,CAAC,CAAC;IACpB,mBAAmB,GAAG,KAAK,CAAC,CAAC,sCAAsC;IAE3E,yBAAyB;IACjB,eAAe,GAAG,CAAC,CAAC;IAE5B,oDAAoD;IAC5C,kBAAkB,GAAwB,IAAI,CAAC;IAavD,8DAA8D;IAC9D,EAAE,CAAC,KAAa,EAAE,QAAkC;QAClD,OAAO,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACnC,CAAC;IAWD,8DAA8D;IAC9D,IAAI,CAAC,KAAa,EAAE,QAAkC;QACpD,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACrC,CAAC;IAWD,8DAA8D;IAC9D,GAAG,CAAC,KAAa,EAAE,QAAkC;QACnD,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IAED,YAAY,IAAY,EAAE,SAA0B,EAAE,OAAsB,EAAE;QAC5E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,cAAc,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,UAAU,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;QACnG,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,GAAG,IAAI,iBAAiB,CACtC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,CACvD,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,uBAAuB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtE,IAAI,CAAC,UAAU,GAAG,IAAI,UAAU,CAAC;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,EAAE;YAC/B,QAAQ,EAAE,gBAAgB,CAAC,oBAAoB;YAC/C,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;YAChB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC1D,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,CAAC;IAED,uBAAuB;IACvB,GAAG;QACD,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,mEAAmE;QACnE,2EAA2E;QAC3E,2EAA2E;QAC3E,qEAAqE;QACrE,iCAAiC;QACjC,cAAc,CAAC,GAAG,EAAE;YAClB,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,2DAA2D;QAC3D,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,kBAAkB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC7E,IAAI,CAAC,wBAAwB,EAAE,CAAC;QAClC,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAClE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,IAAI,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,EAAE;oBACrC,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;oBACnC,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBACnC,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACrC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAExE,uDAAuD;gBACvD,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;IACd,CAAC;IAED,2EAA2E;IACnE,wBAAwB;QAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YACpD,sEAAsE;YACtE,kEAAkE;YAClE,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,QAAQ;gBAAE,OAAO;YAC1C,IAAI,KAAK,CAAC,SAAS,sCAAsB,EAAE,CAAC;gBAC1C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,uBAAuB;IACvB,KAAK;QACH,IAAI,CAAC,IAAI,CAAC,OAAO;YAAE,OAAO;QAC1B,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;IACH,CAAC;IAED,wBAAwB;IACxB,MAAM;QACJ,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,GAAG,EAAE,CAAC;IACb,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACrC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,8BAA8B;IAC9B,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;IAC/B,CAAC;IAED,wDAAwD;IACxD,IAAI,WAAW,CAAC,GAAW;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QAClC,IAAI,CAAC,IAAgC,CAAC,WAAW,GAAG,OAAO,CAAC;QAC7D,IAAI,OAAO,GAAG,IAAI,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrD,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAC1B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,MAAe;QACtC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,yBAAyB,EAAE,CAAC,CAAC;YAC/E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,aAAa,CAAC,MAAe;QAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,IAAI,oBAAoB,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED,cAAc,CAAC,KAAa;QAC1B,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,qDAAqD;IAErD,kBAAkB;QAChB,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,YAAoB;QAC5B,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;IAC1C,CAAC;IAED,oDAAoD;IAEpD,KAAK,CAAC,sBAAsB;QAC1B,6DAA6D;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,eAAiC;QAC7D,IAAI,YAAY,IAAI,CAAC;YAAE,OAAO;QAE9B,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAElD,IAAI,eAAe,EAAE,CAAC;gBACpB,eAAe,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;oBACpD,YAAY,CAAC,OAAO,CAAC,CAAC;oBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;gBACrC,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,+CAA+C;IAE/C,KAAK,CAAC,UAAU,CAAC,KAAc,EAAE,KAA2B;QAC1D,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAElC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACnC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvB,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,MAAM,OAAO,CAAC,YAAY,CAC1D,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,QAAQ,EACb,CAAC,CACF,CAAC;gBACF,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;oBACrB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBAC1C,CAAC;gBACD,OAAO,GAAG,IAAI,SAAS,CAAC;YAC1B,CAAC;YACD,MAAM,GAAG,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACjD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,GAAG,IAAI,SAAS,CAAC;QAC1B,CAAC;QAED,WAAW;QACX,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAEhC,MAAM,GAAG,GAA4B;YACnC,GAAG,EAAE,MAAM;YACX,KAAK,EAAE,IAAI,CAAC,QAAQ;YACpB,OAAO,EAAE,CAAC;SACX,CAAC;QACF,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACvB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC1B,IAAI,KAAK;gBAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;QAC/B,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG;YAAE,OAAO,SAAS,CAAC;QAEpD,MAAM,GAAG,GAAG,oBAAoB,CAAC,QAAQ,CAAC,GAA8B,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzF,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAe,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,GAAgB,EAChB,KAAc,EACd,iBAA0D;QAE1D,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAElC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChC,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,EAAE,CAAC;YAChC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,GAAG,EAAE;gBACpB,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;aAC9C,CAAC,CAAC;YAEH,IAAI,iBAAiB,EAAE,CAAC;gBACtB,OAAO,MAAM,iBAAiB,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;QACzC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAgB,EAAE,MAAgB,EAAE,QAAgB;QACvE,IAAI,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QACjD,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;YACnC,IAAI,QAAQ,GAAG,CAAC,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBACzE,IAAI,OAAO;oBAAE,QAAQ,EAAE,CAAC;YAC1B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,CAAC;QAExB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YACnC,GAAG,EAAE,aAAa;YAClB,GAAG,EAAE,MAAM;YACX,MAAM;YACN,QAAQ;SACT,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAA8B,CAAC;QACzD,OAAO,QAAQ,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,sCAAsC;IAEtC,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK;QACvB,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO;QACxB,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QACtD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,KAAc;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACnC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACzC,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC;YACxE,OAAO,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,UAAU,EAAE,GAAG,CAAC,EAAE,CAAC;gBAC/C,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;QAEvB,mDAAmD;QACnD,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,kBAAkB,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC5E,CAAC;YAAC,MAAM,CAAC;gBACP,iEAAiE;YACnE,CAAC;YACD,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;QAC1B,CAAC;QAED,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAErB,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QACzB,IAAI,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAEjD,IAAI,IAAI,CAAC,OAAO;YAAE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IAED,gDAAgD;IAExC,IAAI;QACV,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3C,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAC7C,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,qBAAqB,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC;YACzD,IAAI,CAAC,SAAS,GAAG,UAAU,CACzB,GAAG,EAAE;gBACH,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,CAAC,EACD,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CACvB,CAAC;YACF,OAAO;QACT,CAAC;QAED,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,UAAU;QACtB,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3C,IAAI,CAAC;YACH,IAAI,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAErC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;gBACvC,sEAAsE;gBACtE,uEAAuE;gBACvE,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ;oBAAE,OAAO;gBAC3C,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;oBAC/B,kDAAkD;oBAClD,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;wBACpD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;wBACzB,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;oBAC3B,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;wBAC9E,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;oBAC3B,CAAC;oBACD,IAAI,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACnC,CAAC;YACH,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACT,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,CAAC;iBAAM,CAAC;gBACN,2DAA2D;gBAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;gBACnE,IAAI,WAAW,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACrC,iEAAiE;oBACjE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;wBAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,CAAC,EAAE,EAAE,CAAC,CAAC;oBACP,OAAO;gBACT,CAAC;gBACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;gBACvB,IAAI,GAAG,GAAG,IAAI,CAAC,eAAe,GAAG,IAAI,EAAE,CAAC;oBACtC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;oBAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACvB,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;gBACvE,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;oBAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;gBACd,CAAC,EAAE,QAAQ,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,uEAAuE;YACvE,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,OAAO;YAC1B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,KAAwD;QACjF,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAChC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEjE,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QACtD,IAAI,IAAI,CAAC,eAAe,GAAG,GAAG,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAChE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACK,kBAAkB;QACxB,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEjE,uDAAuD;QACvD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/B,CAAC;QAED,iDAAiD;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACpC,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;YACjC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3C,6DAA6D;gBAC7D,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;gBAC7D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACvB,IAAI,IAAI,CAAC,eAAe,GAAG,GAAG,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAChE,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC;gBAC3B,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,SAAS,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC,YAAY,CAAC,MAAM,EAAE,SAAS,CAAC;YACjC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,GAAmC,EAAE,SAAS,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1F,CAAC;IAEO,QAAQ,CAAC,GAAgB,EAAE,KAAoB;QACrD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhC,iEAAiE;QACjE,mEAAmE;QACnE,kEAAkE;QAClE,wCAAwC;QACxC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhC,uEAAuE;QACvE,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAE9B,0BAA0B;QAC1B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QACnC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEhC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAE/D,KAAK,UAAU,CAAC,GAAG,EAAE;YACnB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,eAAe;YACtB,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE;gBAChB,IAAI,EAAE;oBAAE,IAAI,CAAC,cAAc,EAAE,CAAC;;oBACzB,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1B,CAAC;SACF,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACd,IAAI,CAAC,UAAU,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACnC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACvB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YACD,iCAAiC;YACjC,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ;gBAAE,IAAI,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3F,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAChC,YAAY,CAAC,GAAG,EAAE;gBAChB,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;gBACjC,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC;YACzB,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,GAAY;QAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,CACP,OAAO,EACP,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YACnB,KAAK,EAAE,IAAI,CAAC,IAAI;YAChB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,OAAO,EAAE,MAAM;SAChB,CAAC,CACH,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC,EAC1E,gBAAgB,CAAC,cAAc,CAChC,CAAC;QACF,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC/B,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;IAED,4CAA4C;IAE5C,uEAAuE;IAC/D,kBAAkB;QACxB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QACzC,KAAK,IAAI,CAAC,GAAG;aACV,IAAI,CAAC;YACJ,GAAG,EAAE,gBAAgB;YACrB,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;YACvB,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;YAClC,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,QAAQ,EAAE;YACpB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,SAAS,EAAE,IAAI,CAAC,SAAS;SAC1B,CAAC;aACD,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;YACtB,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0EAA0E;IAClE,oBAAoB;QAC1B,IAAI,IAAI,CAAC,oBAAoB,IAAI,CAAC,IAAI,CAAC,GAAG;YAAE,OAAO;QACnD,IAAI,CAAC,oBAAoB,GAAG,WAAW,CAAC,GAAG,EAAE;YAC3C,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU;gBAAE,OAAO;YAC1C,KAAK,IAAI,CAAC,GAAG;iBACV,IAAI,CAAC;gBACJ,GAAG,EAAE,WAAW;gBAChB,EAAE,EAAE,IAAI,CAAC,QAAQ;gBACjB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,SAAS,EAAE,IAAI,CAAC,cAAc;gBAC9B,MAAM,EAAE,IAAI,CAAC,WAAW;aACzB,CAAC;iBACD,KAAK,CAAC,CAAC,GAAY,EAAE,EAAE;gBACtB,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;IAEO,gBAAgB;QACtB,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAEO,aAAa;QACnB,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ;YAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;SACnC,CAAC;IACJ,CAAC;IAED,yEAAyE;IACjE,mBAAmB,CAAC,GAAgB;QAC1C,IAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC;YACtC,GAAqC,CAAC,gBAAgB,GAAG,GAAG,KAAK,IAAI,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC9D,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC;YAClC,GAAiC,CAAC,YAAY,GAAG,GAAG,KAAK,IAAI,CAAC;QACjE,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* bunqueue Cloud Agent
|
|
3
|
+
* Main orchestrator that collects telemetry and sends it to bunqueue Cloud.
|
|
4
|
+
*
|
|
5
|
+
* Two channels:
|
|
6
|
+
* 1. HTTP POST — all data (snapshots + events every N seconds)
|
|
7
|
+
* 2. WebSocket — commands only (dashboard → bunqueue, bunqueue → command results)
|
|
8
|
+
*
|
|
9
|
+
* Zero overhead when disabled (BUNQUEUE_CLOUD_URL not set).
|
|
10
|
+
*/
|
|
11
|
+
import type { QueueManager } from '../../application/queueManager';
|
|
12
|
+
import type { CloudConfig } from './types';
|
|
13
|
+
import { type ServerHandles } from './snapshotCollector';
|
|
14
|
+
export declare class CloudAgent {
|
|
15
|
+
private readonly queueManager;
|
|
16
|
+
private readonly config;
|
|
17
|
+
private readonly instanceId;
|
|
18
|
+
private readonly startedAt;
|
|
19
|
+
private readonly httpSender;
|
|
20
|
+
private readonly wsSender;
|
|
21
|
+
private snapshotTimer;
|
|
22
|
+
private statsUpdateTimer;
|
|
23
|
+
private unsubscribeEvents;
|
|
24
|
+
private sequenceId;
|
|
25
|
+
private snapshotCount;
|
|
26
|
+
private stopped;
|
|
27
|
+
private serverHandles?;
|
|
28
|
+
/** Event buffer — flushed into each HTTP snapshot */
|
|
29
|
+
private readonly eventBuffer;
|
|
30
|
+
constructor(queueManager: QueueManager, config: CloudConfig);
|
|
31
|
+
/** Set server handles for connection stats */
|
|
32
|
+
setServerHandles(handles: ServerHandles): void;
|
|
33
|
+
/** Create and start a Cloud agent if configured. Returns null if disabled. */
|
|
34
|
+
static create(queueManager: QueueManager, dataPath?: string): CloudAgent | null;
|
|
35
|
+
/** Create from pre-resolved config (used by config file flow) */
|
|
36
|
+
static createFromConfig(queueManager: QueueManager, config: CloudConfig): CloudAgent;
|
|
37
|
+
/** Start both channels */
|
|
38
|
+
start(): void;
|
|
39
|
+
/** Graceful shutdown: send final snapshot, close connections */
|
|
40
|
+
stop(): Promise<void>;
|
|
41
|
+
/** Compute next interval from last compressed payload size */
|
|
42
|
+
private computeInterval;
|
|
43
|
+
/** Schedule next snapshot with dynamic interval */
|
|
44
|
+
private scheduleNext;
|
|
45
|
+
/** Collect and send a snapshot via HTTP */
|
|
46
|
+
private sendSnapshot;
|
|
47
|
+
/** Subscribe to job events — buffer for next HTTP snapshot */
|
|
48
|
+
private subscribeToEvents;
|
|
49
|
+
/** Redact sensitive fields from job data */
|
|
50
|
+
private redactData;
|
|
51
|
+
getInstanceId(): string;
|
|
52
|
+
/** Collect a fresh snapshot on demand (used by snapshot:get command) */
|
|
53
|
+
getSnapshot(): Promise<import('./types').CloudSnapshot>;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=cloudAgent%202.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudAgent 2.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/cloud/cloudAgent 2.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,SAAS,CAAC;AAEvD,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAQ1E,qBAAa,UAAU;IAiBnB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAhB/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkB;IAC3C,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,gBAAgB,CAA+C;IACvE,OAAO,CAAC,iBAAiB,CAA6B;IACtD,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,aAAa,CAAC,CAAgB;IACtC,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;gBAG7B,YAAY,EAAE,YAAY,EAC3C,MAAM,EAAE,WAAW;IAQrB,8CAA8C;IAC9C,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IAI9C,8EAA8E;IAC9E,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAS/E,iEAAiE;IACjE,MAAM,CAAC,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU;IAMpF,0BAA0B;IAC1B,KAAK,IAAI,IAAI;IA6Cb,gEAAgE;IAC1D,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAyC3B,8DAA8D;IAC9D,OAAO,CAAC,eAAe;IAQvB,mDAAmD;IACnD,OAAO,CAAC,YAAY;IAWpB,2CAA2C;YAC7B,YAAY;IAyB1B,8DAA8D;IAC9D,OAAO,CAAC,iBAAiB;IAiCzB,4CAA4C;IAC5C,OAAO,CAAC,UAAU;IAclB,aAAa,IAAI,MAAM;IAIvB,wEAAwE;IAClE,WAAW,IAAI,OAAO,CAAC,OAAO,SAAS,EAAE,aAAa,CAAC;CAY9D"}
|
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* bunqueue Cloud Agent
|
|
3
|
+
* Main orchestrator that collects telemetry and sends it to bunqueue Cloud.
|
|
4
|
+
*
|
|
5
|
+
* Two channels:
|
|
6
|
+
* 1. HTTP POST — all data (snapshots + events every N seconds)
|
|
7
|
+
* 2. WebSocket — commands only (dashboard → bunqueue, bunqueue → command results)
|
|
8
|
+
*
|
|
9
|
+
* Zero overhead when disabled (BUNQUEUE_CLOUD_URL not set).
|
|
10
|
+
*/
|
|
11
|
+
import { loadCloudConfig } from './config';
|
|
12
|
+
import { collectSnapshot } from './snapshotCollector';
|
|
13
|
+
import { HttpSender } from './httpSender';
|
|
14
|
+
import { WsSender } from './wsSender';
|
|
15
|
+
import { handleCommand } from './commandHandler';
|
|
16
|
+
import { cloudLog } from './logger';
|
|
17
|
+
const EVENT_BUFFER_MAX = 1000;
|
|
18
|
+
export class CloudAgent {
|
|
19
|
+
queueManager;
|
|
20
|
+
config;
|
|
21
|
+
instanceId;
|
|
22
|
+
startedAt = Date.now();
|
|
23
|
+
httpSender;
|
|
24
|
+
wsSender;
|
|
25
|
+
snapshotTimer = null;
|
|
26
|
+
statsUpdateTimer = null;
|
|
27
|
+
unsubscribeEvents = null;
|
|
28
|
+
sequenceId = 0;
|
|
29
|
+
snapshotCount = 0;
|
|
30
|
+
stopped = false;
|
|
31
|
+
serverHandles;
|
|
32
|
+
/** Event buffer — flushed into each HTTP snapshot */
|
|
33
|
+
eventBuffer = [];
|
|
34
|
+
constructor(queueManager, config) {
|
|
35
|
+
this.queueManager = queueManager;
|
|
36
|
+
this.config = config;
|
|
37
|
+
this.instanceId = config.instanceId;
|
|
38
|
+
this.httpSender = new HttpSender(config);
|
|
39
|
+
this.wsSender = config.useWebSocket ? new WsSender(config, this.instanceId) : null;
|
|
40
|
+
}
|
|
41
|
+
/** Set server handles for connection stats */
|
|
42
|
+
setServerHandles(handles) {
|
|
43
|
+
this.serverHandles = handles;
|
|
44
|
+
}
|
|
45
|
+
/** Create and start a Cloud agent if configured. Returns null if disabled. */
|
|
46
|
+
static create(queueManager, dataPath) {
|
|
47
|
+
const config = loadCloudConfig(dataPath);
|
|
48
|
+
if (!config)
|
|
49
|
+
return null;
|
|
50
|
+
const agent = new CloudAgent(queueManager, config);
|
|
51
|
+
agent.start();
|
|
52
|
+
return agent;
|
|
53
|
+
}
|
|
54
|
+
/** Create from pre-resolved config (used by config file flow) */
|
|
55
|
+
static createFromConfig(queueManager, config) {
|
|
56
|
+
const agent = new CloudAgent(queueManager, config);
|
|
57
|
+
agent.start();
|
|
58
|
+
return agent;
|
|
59
|
+
}
|
|
60
|
+
/** Start both channels */
|
|
61
|
+
start() {
|
|
62
|
+
cloudLog.info('Connecting to dashboard', {
|
|
63
|
+
url: this.config.url,
|
|
64
|
+
instance: this.config.instanceName,
|
|
65
|
+
id: this.instanceId,
|
|
66
|
+
intervalMs: this.config.intervalMs,
|
|
67
|
+
ws: this.config.useWebSocket,
|
|
68
|
+
});
|
|
69
|
+
// Channel 1: HTTP snapshots
|
|
70
|
+
if (this.config.useHttp) {
|
|
71
|
+
void this.sendSnapshot().then(() => {
|
|
72
|
+
this.scheduleNext();
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
// Channel 2: WebSocket — commands only (dashboard → bunqueue)
|
|
76
|
+
if (this.wsSender) {
|
|
77
|
+
if (this.config.remoteCommands) {
|
|
78
|
+
cloudLog.info('Remote commands enabled');
|
|
79
|
+
const commandContext = {
|
|
80
|
+
getSnapshot: () => this.getSnapshot(),
|
|
81
|
+
};
|
|
82
|
+
this.wsSender.setCommandHandler((cmd) => {
|
|
83
|
+
handleCommand(this.queueManager, cmd, commandContext)
|
|
84
|
+
.then((result) => {
|
|
85
|
+
this.wsSender?.sendRaw(result);
|
|
86
|
+
// HTTP ingest disabled — dashboard uses WS commands
|
|
87
|
+
// if (result.success) {
|
|
88
|
+
// this.sendImmediateSnapshot();
|
|
89
|
+
// }
|
|
90
|
+
})
|
|
91
|
+
.catch((err) => {
|
|
92
|
+
cloudLog.debug('Command handler error', { error: String(err) });
|
|
93
|
+
});
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
this.wsSender.connect();
|
|
97
|
+
}
|
|
98
|
+
// Subscribe to events — buffer for next HTTP snapshot
|
|
99
|
+
this.subscribeToEvents();
|
|
100
|
+
}
|
|
101
|
+
/** Graceful shutdown: send final snapshot, close connections */
|
|
102
|
+
async stop() {
|
|
103
|
+
if (this.stopped)
|
|
104
|
+
return;
|
|
105
|
+
this.stopped = true;
|
|
106
|
+
if (this.snapshotTimer) {
|
|
107
|
+
clearTimeout(this.snapshotTimer);
|
|
108
|
+
this.snapshotTimer = null;
|
|
109
|
+
}
|
|
110
|
+
if (this.statsUpdateTimer) {
|
|
111
|
+
clearInterval(this.statsUpdateTimer);
|
|
112
|
+
this.statsUpdateTimer = null;
|
|
113
|
+
}
|
|
114
|
+
if (this.unsubscribeEvents) {
|
|
115
|
+
this.unsubscribeEvents();
|
|
116
|
+
this.unsubscribeEvents = null;
|
|
117
|
+
}
|
|
118
|
+
// Send final shutdown snapshot (best-effort, 2s timeout)
|
|
119
|
+
try {
|
|
120
|
+
const snapshot = await collectSnapshot({
|
|
121
|
+
queueManager: this.queueManager,
|
|
122
|
+
instanceId: this.instanceId,
|
|
123
|
+
instanceName: this.config.instanceName,
|
|
124
|
+
startedAt: this.startedAt,
|
|
125
|
+
sequenceId: ++this.sequenceId,
|
|
126
|
+
serverHandles: this.serverHandles,
|
|
127
|
+
includeHeavy: true,
|
|
128
|
+
});
|
|
129
|
+
snapshot.shutdown = true;
|
|
130
|
+
await Promise.race([this.httpSender.send(snapshot), Bun.sleep(2000)]);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
// Best-effort
|
|
134
|
+
}
|
|
135
|
+
this.wsSender?.stop();
|
|
136
|
+
cloudLog.info('Disconnected from dashboard');
|
|
137
|
+
}
|
|
138
|
+
/** Compute next interval from last compressed payload size */
|
|
139
|
+
computeInterval() {
|
|
140
|
+
const kb = this.httpSender.lastCompressedKB;
|
|
141
|
+
if (kb < 50)
|
|
142
|
+
return 5_000;
|
|
143
|
+
if (kb < 200)
|
|
144
|
+
return 10_000;
|
|
145
|
+
if (kb < 500)
|
|
146
|
+
return 20_000;
|
|
147
|
+
return 30_000;
|
|
148
|
+
}
|
|
149
|
+
/** Schedule next snapshot with dynamic interval */
|
|
150
|
+
scheduleNext() {
|
|
151
|
+
if (this.stopped)
|
|
152
|
+
return;
|
|
153
|
+
const intervalMs = this.computeInterval();
|
|
154
|
+
cloudLog.debug('Next snapshot', { intervalMs, compressedKB: this.httpSender.lastCompressedKB });
|
|
155
|
+
this.snapshotTimer = setTimeout(() => {
|
|
156
|
+
void this.sendSnapshot().then(() => {
|
|
157
|
+
this.scheduleNext();
|
|
158
|
+
});
|
|
159
|
+
}, intervalMs);
|
|
160
|
+
}
|
|
161
|
+
/** Collect and send a snapshot via HTTP */
|
|
162
|
+
async sendSnapshot(_forceHeavy = false) {
|
|
163
|
+
try {
|
|
164
|
+
this.snapshotCount++;
|
|
165
|
+
const snapshot = await collectSnapshot({
|
|
166
|
+
queueManager: this.queueManager,
|
|
167
|
+
instanceId: this.instanceId,
|
|
168
|
+
instanceName: this.config.instanceName,
|
|
169
|
+
startedAt: this.startedAt,
|
|
170
|
+
sequenceId: ++this.sequenceId,
|
|
171
|
+
serverHandles: this.serverHandles,
|
|
172
|
+
includeHeavy: true,
|
|
173
|
+
});
|
|
174
|
+
// Embed buffered events in snapshot
|
|
175
|
+
if (this.eventBuffer.length > 0) {
|
|
176
|
+
snapshot.events = this.eventBuffer.splice(0);
|
|
177
|
+
}
|
|
178
|
+
await this.httpSender.send(snapshot);
|
|
179
|
+
}
|
|
180
|
+
catch (err) {
|
|
181
|
+
cloudLog.debug('Snapshot send failed', { error: String(err) });
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
/** Subscribe to job events — buffer for next HTTP snapshot */
|
|
185
|
+
subscribeToEvents() {
|
|
186
|
+
this.unsubscribeEvents = this.queueManager.subscribe((event) => {
|
|
187
|
+
// Apply event filter
|
|
188
|
+
if (this.config.eventFilter.length > 0 &&
|
|
189
|
+
!this.config.eventFilter.includes(event.eventType)) {
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
const cloudEvent = {
|
|
193
|
+
instanceId: this.instanceId,
|
|
194
|
+
timestamp: event.timestamp,
|
|
195
|
+
jobEvent: {
|
|
196
|
+
eventType: event.eventType,
|
|
197
|
+
queue: event.queue,
|
|
198
|
+
jobId: event.jobId,
|
|
199
|
+
error: event.error,
|
|
200
|
+
progress: event.progress,
|
|
201
|
+
data: this.config.includeJobData ? this.redactData(event.data) : undefined,
|
|
202
|
+
prev: event.prev,
|
|
203
|
+
delay: event.delay,
|
|
204
|
+
},
|
|
205
|
+
};
|
|
206
|
+
// Ring buffer — drop oldest when full
|
|
207
|
+
if (this.eventBuffer.length >= EVENT_BUFFER_MAX) {
|
|
208
|
+
this.eventBuffer.shift();
|
|
209
|
+
}
|
|
210
|
+
this.eventBuffer.push(cloudEvent);
|
|
211
|
+
});
|
|
212
|
+
}
|
|
213
|
+
/** Redact sensitive fields from job data */
|
|
214
|
+
redactData(data) {
|
|
215
|
+
if (!data || typeof data !== 'object' || this.config.redactFields.length === 0) {
|
|
216
|
+
return data;
|
|
217
|
+
}
|
|
218
|
+
const redacted = { ...data };
|
|
219
|
+
for (const field of this.config.redactFields) {
|
|
220
|
+
if (field in redacted) {
|
|
221
|
+
redacted[field] = '[REDACTED]';
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
return redacted;
|
|
225
|
+
}
|
|
226
|
+
getInstanceId() {
|
|
227
|
+
return this.instanceId;
|
|
228
|
+
}
|
|
229
|
+
/** Collect a fresh snapshot on demand (used by snapshot:get command) */
|
|
230
|
+
async getSnapshot() {
|
|
231
|
+
const snapshot = await collectSnapshot({
|
|
232
|
+
queueManager: this.queueManager,
|
|
233
|
+
instanceId: this.instanceId,
|
|
234
|
+
instanceName: this.config.instanceName,
|
|
235
|
+
startedAt: this.startedAt,
|
|
236
|
+
sequenceId: ++this.sequenceId,
|
|
237
|
+
serverHandles: this.serverHandles,
|
|
238
|
+
includeHeavy: true,
|
|
239
|
+
});
|
|
240
|
+
return snapshot;
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=cloudAgent%202.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cloudAgent 2.js","sourceRoot":"","sources":["../../../src/infrastructure/cloud/cloudAgent 2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cloud Command Handler
|
|
3
|
+
* Processes commands received from the dashboard via WebSocket.
|
|
4
|
+
* Only active when BUNQUEUE_CLOUD_REMOTE_COMMANDS=true.
|
|
5
|
+
*
|
|
6
|
+
* All commands are whitelisted — unknown actions are rejected.
|
|
7
|
+
*/
|
|
8
|
+
import type { QueueManager } from '../../application/queueManager';
|
|
9
|
+
import type { CloudSnapshot } from './types';
|
|
10
|
+
/** Incoming command from dashboard (fields at top level) */
|
|
11
|
+
export interface CloudCommand {
|
|
12
|
+
type: 'command';
|
|
13
|
+
id: string;
|
|
14
|
+
action: string;
|
|
15
|
+
queue?: string;
|
|
16
|
+
jobId?: string;
|
|
17
|
+
name?: string;
|
|
18
|
+
schedule?: string;
|
|
19
|
+
data?: unknown;
|
|
20
|
+
config?: Record<string, unknown>;
|
|
21
|
+
graceMs?: number;
|
|
22
|
+
state?: string;
|
|
23
|
+
limit?: number;
|
|
24
|
+
offset?: number;
|
|
25
|
+
priority?: number;
|
|
26
|
+
delay?: number;
|
|
27
|
+
url?: string;
|
|
28
|
+
events?: string[];
|
|
29
|
+
secret?: string;
|
|
30
|
+
webhookId?: string;
|
|
31
|
+
enabled?: boolean;
|
|
32
|
+
keepLogs?: number;
|
|
33
|
+
max?: number;
|
|
34
|
+
concurrency?: number;
|
|
35
|
+
sort?: string;
|
|
36
|
+
search?: string;
|
|
37
|
+
}
|
|
38
|
+
/** Result sent back to dashboard */
|
|
39
|
+
export interface CloudCommandResult {
|
|
40
|
+
type: 'command_result';
|
|
41
|
+
id: string;
|
|
42
|
+
success: boolean;
|
|
43
|
+
data?: unknown;
|
|
44
|
+
error?: string;
|
|
45
|
+
}
|
|
46
|
+
/** Optional context for commands that need more than QueueManager */
|
|
47
|
+
export interface CommandContext {
|
|
48
|
+
getSnapshot?: () => Promise<CloudSnapshot>;
|
|
49
|
+
}
|
|
50
|
+
/** Process a command and return the result */
|
|
51
|
+
export declare function handleCommand(queueManager: QueueManager, cmd: CloudCommand, context?: CommandContext): Promise<CloudCommandResult>;
|
|
52
|
+
//# sourceMappingURL=commandHandler%202.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commandHandler 2.d.ts","sourceRoot":"","sources":["../../../src/infrastructure/cloud/commandHandler 2.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAI7C,4DAA4D;AAC5D,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,oCAAoC;AACpC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6BD,qEAAqE;AACrE,MAAM,WAAW,cAAc;IAC7B,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,aAAa,CAAC,CAAC;CAC5C;AAED,8CAA8C;AAC9C,wBAAsB,aAAa,CACjC,YAAY,EAAE,YAAY,EAC1B,GAAG,EAAE,YAAY,EACjB,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,kBAAkB,CAAC,CAgD7B"}
|