@dbos-inc/dbos-sdk 4.16.4-preview → 4.16.6-preview

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 +1 @@
1
- {"version":3,"file":"database_utils.d.ts","sourceRoot":"","sources":["../../src/database_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database_utils.d.ts","sourceRoot":"","sources":["../../src/database_utils.ts"],"names":[],"mappings":"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"}
@@ -150,9 +150,17 @@ async function ensurePGDatabase(opts) {
150
150
  try {
151
151
  const probe = await connectToPGAndReportOutcome(opts.urlToEnsure, log, 'probe target (existence test)');
152
152
  if (probe.result === 'ok') {
153
- // We can reach the target DB, do nothing
154
- await probe.client.end().catch(() => { });
155
- return { status: 'already_exists', notes, message: 'Success (already existed)' };
153
+ // CockroachDB lets you connect to (and SELECT 1 from) a nonexistent database;
154
+ // hit a catalog that requires the current database to exist to verify.
155
+ try {
156
+ await probe.client.query('SELECT 1 FROM information_schema.schemata LIMIT 1');
157
+ await probe.client.end().catch(() => { });
158
+ return { status: 'already_exists', notes, message: 'Success (already existed)' };
159
+ }
160
+ catch (qerr) {
161
+ await probe.client.end().catch(() => { });
162
+ log(`Probe connect succeeded but verification query failed: ${qerr.message}; attempting create.`);
163
+ }
156
164
  }
157
165
  }
158
166
  catch (e) {
@@ -363,8 +371,13 @@ async function terminateAndDrop(admin, dbName, settleMs, log) {
363
371
  catch (e) {
364
372
  log(`ALTER DATABASE ... ALLOW_CONNECTIONS=false failed (continuing): ${shortenErr(e)}`);
365
373
  }
366
- // Terminate existing sessions
367
- await admin.query(`SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = $1 AND pid <> pg_backend_pid()`, [dbName]);
374
+ // Terminate existing sessions (best-effort; not all servers expose pg_terminate_backend, e.g. CockroachDB)
375
+ try {
376
+ await admin.query(`SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = $1 AND pid <> pg_backend_pid()`, [dbName]);
377
+ }
378
+ catch (e) {
379
+ log(`pg_terminate_backend failed (continuing): ${shortenErr(e)}`);
380
+ }
368
381
  if (settleMs > 0) {
369
382
  log(`Waiting ${settleMs}ms for backends to terminate...`);
370
383
  await new Promise((r) => setTimeout(r, settleMs));
@@ -378,7 +391,12 @@ async function terminateAndDrop(admin, dbName, settleMs, log) {
378
391
  if (e?.code === '55006') {
379
392
  log(`DB still "being accessed by other users"; retrying after extra wait...`);
380
393
  await new Promise((r) => setTimeout(r, Math.max(1000, settleMs)));
381
- await admin.query(`SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = $1 AND pid <> pg_backend_pid()`, [dbName]);
394
+ try {
395
+ await admin.query(`SELECT pg_terminate_backend(pid) FROM pg_stat_activity WHERE datname = $1 AND pid <> pg_backend_pid()`, [dbName]);
396
+ }
397
+ catch (e2) {
398
+ log(`pg_terminate_backend failed (continuing): ${shortenErr(e2)}`);
399
+ }
382
400
  await admin.query(`DROP DATABASE IF EXISTS ${quotePGIdentifier(dbName)}`);
383
401
  }
384
402
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"database_utils.js","sourceRoot":"","sources":["../../src/database_utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database_utils.js","sourceRoot":"","sources":["../../src/database_utils.ts"],"names":[],"mappings":"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"}
@@ -26,6 +26,8 @@ export interface QueueParameters {
26
26
  priorityEnabled?: boolean;
27
27
  /** If set, this queue supports partitioning */
28
28
  partitionQueue?: boolean;
29
+ /** Base (minimum) polling interval in ms for this queue's dispatch loop (default 1000) */
30
+ minPollingIntervalMs?: number;
29
31
  }
30
32
  /**
31
33
  * Settings structure for a named workflow queue.
@@ -40,6 +42,7 @@ export declare class WorkflowQueue {
40
42
  readonly workerConcurrency?: number;
41
43
  readonly priorityEnabled: boolean;
42
44
  readonly partitionQueue: boolean;
45
+ readonly minPollingIntervalMs?: number;
43
46
  constructor(name: string);
44
47
  /**
45
48
  *
@@ -51,13 +54,22 @@ export declare class WorkflowQueue {
51
54
  declare class WFQueueRunner {
52
55
  readonly wfQueuesByName: Map<string, WorkflowQueue>;
53
56
  private isRunning;
54
- private interruptResolve?;
55
- private pollingIntervalMs;
56
- private readonly minPollingIntervalMs;
57
- private readonly maxPollingIntervalMs;
57
+ private stopResolve?;
58
+ private stopPromise?;
59
+ private exec?;
60
+ private listenQueuesArg;
61
+ private readonly activeLoops;
62
+ private static readonly defaultMinPollingIntervalMs;
63
+ private static readonly defaultMaxPollingIntervalMs;
64
+ private readonly backoffFactor;
65
+ private readonly scalebackFactor;
66
+ private readonly jitterMin;
67
+ private readonly jitterMax;
58
68
  stop(): void;
59
69
  clearRegistrations(): void;
70
+ private launchQueueLoop;
60
71
  dispatchLoop(exec: DBOSExecutor, listenQueuesArg: WorkflowQueue[] | null): Promise<void>;
72
+ private runQueue;
61
73
  logRegisteredEndpoints(exec: DBOSExecutor): void;
62
74
  }
63
75
  export declare const wfQueueRunner: WFQueueRunner;
@@ -1 +1 @@
1
- {"version":3,"file":"wfqueue.d.ts","sourceRoot":"","sources":["../../src/wfqueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C;;;;;GAKG;AACH,UAAU,cAAc;IACtB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAS;IAC1C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAS;gBAE7B,IAAI,EAAE,MAAM;IAExB;;;;OAIG;gBACS,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;CA6B3D;AAED,cAAM,aAAa;IACjB,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAa;IAEhE,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,gBAAgB,CAAC,CAAa;IACtC,OAAO,CAAC,iBAAiB,CAAgB;IACzC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAgB;IACrD,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAkB;IAEvD,IAAI;IAQJ,kBAAkB;IAIZ,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAiG9F,sBAAsB,CAAC,IAAI,EAAE,YAAY;CAc1C;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
1
+ {"version":3,"file":"wfqueue.d.ts","sourceRoot":"","sources":["../../src/wfqueue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAK/C;;;;;GAKG;AACH,UAAU,cAAc;IACtB,kDAAkD;IAClD,cAAc,EAAE,MAAM,CAAC;IACvB,sFAAsF;IACtF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,wFAAwF;IACxF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,+CAA+C;IAC/C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,0FAA0F;IAC1F,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;;;;GAKG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,cAAc,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAS;IAC1C,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAS;IACzC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAC;gBAE3B,IAAI,EAAE,MAAM;IAExB;;;;OAIG;gBACS,IAAI,EAAE,MAAM,EAAE,eAAe,EAAE,eAAe;CA8B3D;AAED,cAAM,aAAa;IACjB,QAAQ,CAAC,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAa;IAEhE,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,WAAW,CAAC,CAAa;IACjC,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,IAAI,CAAC,CAAe;IAC5B,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAiC;IAE7D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAgB;IACnE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,2BAA2B,CAAkB;IACrE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAgB;IAE1C,IAAI;IAMJ,kBAAkB;IAIlB,OAAO,CAAC,eAAe;IAMjB,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;YAyBhF,QAAQ;IA0FtB,sBAAsB,CAAC,IAAI,EAAE,YAAY;CAc1C;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -17,6 +17,7 @@ class WorkflowQueue {
17
17
  workerConcurrency;
18
18
  priorityEnabled = false;
19
19
  partitionQueue = false;
20
+ minPollingIntervalMs;
20
21
  constructor(name, arg2, rateLimit) {
21
22
  this.name = name;
22
23
  if (dbos_1.DBOS.isInitialized()) {
@@ -29,6 +30,7 @@ class WorkflowQueue {
29
30
  this.workerConcurrency = arg2.workerConcurrency;
30
31
  this.priorityEnabled = arg2.priorityEnabled ?? false;
31
32
  this.partitionQueue = arg2.partitionQueue ?? false;
33
+ this.minPollingIntervalMs = arg2.minPollingIntervalMs;
32
34
  }
33
35
  else {
34
36
  // Handle the case where the second argument is a number
@@ -45,69 +47,90 @@ exports.WorkflowQueue = WorkflowQueue;
45
47
  class WFQueueRunner {
46
48
  wfQueuesByName = new Map();
47
49
  isRunning = false;
48
- interruptResolve;
49
- pollingIntervalMs = 1000;
50
- minPollingIntervalMs = 1000;
51
- maxPollingIntervalMs = 120000;
50
+ stopResolve;
51
+ stopPromise;
52
+ exec;
53
+ listenQueuesArg = null;
54
+ activeLoops = new Set();
55
+ static defaultMinPollingIntervalMs = 1000;
56
+ static defaultMaxPollingIntervalMs = 120000;
57
+ backoffFactor = 2.0;
58
+ scalebackFactor = 0.9;
59
+ jitterMin = 0.95;
60
+ jitterMax = 1.05;
52
61
  stop() {
53
62
  if (!this.isRunning)
54
63
  return;
55
64
  this.isRunning = false;
56
- if (this.interruptResolve) {
57
- this.interruptResolve();
58
- }
65
+ this.stopResolve?.();
59
66
  }
60
67
  clearRegistrations() {
61
68
  this.wfQueuesByName.clear();
62
69
  }
70
+ launchQueueLoop(queue) {
71
+ const loop = this.runQueue(this.exec, queue);
72
+ this.activeLoops.add(loop);
73
+ void loop.finally(() => this.activeLoops.delete(loop));
74
+ }
63
75
  async dispatchLoop(exec, listenQueuesArg) {
64
76
  this.isRunning = true;
77
+ this.exec = exec;
78
+ this.listenQueuesArg = listenQueuesArg;
79
+ this.stopPromise = new Promise((resolve) => {
80
+ this.stopResolve = resolve;
81
+ });
82
+ let listenQueues;
83
+ if (listenQueuesArg !== null) {
84
+ listenQueues = [...listenQueuesArg, this.wfQueuesByName.get(utils_1.INTERNAL_QUEUE_NAME)];
85
+ }
86
+ else {
87
+ listenQueues = Array.from(this.wfQueuesByName.values());
88
+ }
89
+ // Start one loop per queue
90
+ for (const q of listenQueues) {
91
+ this.launchQueueLoop(q);
92
+ }
93
+ // Wait until stop() is called, then wait for all loops to drain
94
+ await this.stopPromise;
95
+ await Promise.all(this.activeLoops);
96
+ }
97
+ async runQueue(exec, queue) {
98
+ const minPollingMs = queue.minPollingIntervalMs ?? WFQueueRunner.defaultMinPollingIntervalMs;
99
+ const maxPollingMs = WFQueueRunner.defaultMaxPollingIntervalMs;
100
+ let currentPollingMs = minPollingMs;
65
101
  while (this.isRunning) {
66
- // Wait for either the timeout or an interruption
102
+ // Sleep with jitter, racing against the stop signal
103
+ const jitter = this.jitterMin + Math.random() * (this.jitterMax - this.jitterMin);
104
+ const sleepMs = currentPollingMs * jitter;
67
105
  let timer;
68
106
  const timeoutPromise = new Promise((resolve) => {
69
- timer = setTimeout(() => {
70
- resolve();
71
- }, this.pollingIntervalMs);
107
+ timer = setTimeout(resolve, sleepMs);
72
108
  });
73
- await Promise.race([timeoutPromise, new Promise((_, reject) => (this.interruptResolve = reject))]).catch(() => {
74
- exec.logger.debug('Workflow queue loop interrupted!');
75
- }); // Interrupt sleep throws
109
+ await Promise.race([timeoutPromise, this.stopPromise]);
76
110
  clearTimeout(timer);
77
- if (!this.isRunning) {
111
+ if (!this.isRunning)
78
112
  break;
79
- }
80
- let listenQueues;
81
- if (listenQueuesArg !== null) {
82
- // If explicitly listening for queues, use only those queues plus the internal queue
83
- listenQueues = [...listenQueuesArg, this.wfQueuesByName.get(utils_1.INTERNAL_QUEUE_NAME)];
84
- }
85
- else {
86
- // Else, listen to all declared queues
87
- listenQueues = Array.from(this.wfQueuesByName.values());
88
- }
89
- // Transition delayed workflows that are ready to execute
113
+ let contentionDetected = false;
90
114
  try {
91
- await exec.systemDatabase.transitionDelayedWorkflows();
92
- }
93
- catch (e) {
94
- exec.logger.warn(`Error transitioning delayed workflows: ${e.message}`);
95
- }
96
- // Check queues
97
- for (const q of listenQueues) {
115
+ // Transition delayed workflows that are ready to execute
116
+ try {
117
+ await exec.systemDatabase.transitionDelayedWorkflows();
118
+ }
119
+ catch (e) {
120
+ exec.logger.warn(`Error transitioning delayed workflows: ${e.message}`);
121
+ }
122
+ // Dequeue workflows for this queue
98
123
  let wfids = [];
99
124
  try {
100
- if (q.partitionQueue) {
101
- // For partitioned queues, get all partition keys and dequeue from each partition separately
102
- const partitionKeys = await exec.systemDatabase.getQueuePartitions(q.name);
125
+ if (queue.partitionQueue) {
126
+ const partitionKeys = await exec.systemDatabase.getQueuePartitions(queue.name);
103
127
  for (const partitionKey of partitionKeys) {
104
- const partitionWfids = await exec.systemDatabase.findAndMarkStartableWorkflows(q, exec.executorID, utils_1.globalParams.appVersion, partitionKey);
128
+ const partitionWfids = await exec.systemDatabase.findAndMarkStartableWorkflows(queue, exec.executorID, utils_1.globalParams.appVersion, partitionKey);
105
129
  wfids.push(...partitionWfids);
106
130
  }
107
131
  }
108
132
  else {
109
- // For non-partitioned queues, pass null to match workflows with queue_partition_key IS NULL
110
- wfids = await exec.systemDatabase.findAndMarkStartableWorkflows(q, exec.executorID, utils_1.globalParams.appVersion, undefined);
133
+ wfids = await exec.systemDatabase.findAndMarkStartableWorkflows(queue, exec.executorID, utils_1.globalParams.appVersion, undefined);
111
134
  }
112
135
  }
113
136
  catch (e) {
@@ -115,12 +138,11 @@ class WFQueueRunner {
115
138
  // Handle serialization errors and lock contention with backoff
116
139
  if ('code' in err && (err.code === '40001' || err.code === '55P03')) {
117
140
  // 40001: serialization_failure, 55P03: lock_not_available
118
- // Increase the polling interval on contention
119
- this.pollingIntervalMs = Math.min(this.maxPollingIntervalMs, this.pollingIntervalMs * 2.0);
120
- exec.logger.warn(`Contention detected in queue thread for ${q.name}. Increasing polling interval to ${(this.pollingIntervalMs / 1000).toFixed(2)}s.`);
141
+ contentionDetected = true;
142
+ exec.logger.warn(`Contention detected in queue ${queue.name}.`);
121
143
  }
122
144
  else {
123
- exec.logger.warn(`Error getting startable workflows: ${err.message}`);
145
+ exec.logger.warn(`Error getting startable workflows for queue ${queue.name}: ${err.message}`);
124
146
  }
125
147
  wfids = [];
126
148
  }
@@ -129,15 +151,24 @@ class WFQueueRunner {
129
151
  }
130
152
  for (const wfid of wfids) {
131
153
  try {
132
- const _wfh = await exec.executeWorkflowId(wfid, { isQueueDispatch: true });
154
+ await exec.executeWorkflowId(wfid, { isQueueDispatch: true });
133
155
  }
134
156
  catch (e) {
135
157
  exec.logger.warn(`Could not execute workflow with id ${wfid}: ${e.message}`);
136
158
  }
137
159
  }
138
160
  }
139
- // Gradually decrease the polling interval when there's no contention
140
- this.pollingIntervalMs = Math.max(this.minPollingIntervalMs, this.pollingIntervalMs * 0.9);
161
+ catch (e) {
162
+ exec.logger.warn(`Error in queue ${queue.name} dispatch loop: ${e.message}`);
163
+ }
164
+ // Adjust polling interval based on contention
165
+ if (contentionDetected) {
166
+ currentPollingMs = Math.min(maxPollingMs, currentPollingMs * this.backoffFactor);
167
+ exec.logger.warn(`Increasing polling interval for queue ${queue.name} to ${(currentPollingMs / 1000).toFixed(2)}s due to contention.`);
168
+ }
169
+ else {
170
+ currentPollingMs = Math.max(minPollingMs, currentPollingMs * this.scalebackFactor);
171
+ }
141
172
  }
142
173
  }
143
174
  logRegisteredEndpoints(exec) {
@@ -1 +1 @@
1
- {"version":3,"file":"wfqueue.js","sourceRoot":"","sources":["../../src/wfqueue.ts"],"names":[],"mappings":";;;AACA,iCAA8B;AAC9B,6CAAqF;AACrF,mCAA4D;AAgC5D;;;;;GAKG;AACH,MAAa,aAAa;IACf,IAAI,CAAS;IACb,WAAW,CAAU;IACrB,SAAS,CAAkB;IAC3B,iBAAiB,CAAU;IAC3B,eAAe,GAAY,KAAK,CAAC;IACjC,cAAc,GAAY,KAAK,CAAC;IAWzC,YAAY,IAAY,EAAE,IAA+B,EAAE,SAA0B;QACnF,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QAEjB,IAAI,WAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YACzB,WAAI,CAAC,MAAM,CAAC,IAAI,CACd,mBAAmB,IAAI,sFAAsF,CAC9G,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAC9C,+DAA+D;YAC/D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;YAChD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,KAAK,CAAC;YACrD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,KAAK,CAAC;QACrD,CAAC;aAAM,CAAC;YACN,wDAAwD;YACxD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;QAED,IAAI,qBAAa,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,KAAK,CAAC,mBAAmB,IAAI,0BAA0B,CAAC,CAAC;QACjE,CAAC;QACD,qBAAa,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC/C,CAAC;CACF;AA5CD,sCA4CC;AAED,MAAM,aAAa;IACR,cAAc,GAA+B,IAAI,GAAG,EAAE,CAAC;IAExD,SAAS,GAAY,KAAK,CAAC;IAC3B,gBAAgB,CAAc;IAC9B,iBAAiB,GAAW,IAAI,CAAC;IACxB,oBAAoB,GAAW,IAAI,CAAC;IACpC,oBAAoB,GAAW,MAAM,CAAC;IAEvD,IAAI;QACF,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO;QAC5B,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAkB,EAAE,eAAuC;QAC5E,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;YACtB,iDAAiD;YACjD,IAAI,KAAqB,CAAC;YAC1B,MAAM,cAAc,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBACnD,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;oBACtB,OAAO,EAAE,CAAC;gBACZ,CAAC,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC7B,CAAC,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAC5G,GAAG,EAAE;gBACH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;YACxD,CAAC,CACF,CAAC,CAAC,yBAAyB;YAC5B,YAAY,CAAC,KAAM,CAAC,CAAC;YAErB,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM;YACR,CAAC;YAED,IAAI,YAAY,CAAC;YACjB,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,oFAAoF;gBACpF,YAAY,GAAG,CAAC,GAAG,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,2BAAmB,CAAE,CAAC,CAAC;YACrF,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,yDAAyD;YACzD,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,cAAc,CAAC,0BAA0B,EAAE,CAAC;YACzD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA2C,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACrF,CAAC;YAED,eAAe;YACf,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;gBAC7B,IAAI,KAAK,GAAa,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC;wBACrB,4FAA4F;wBAC5F,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBAC3E,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;4BACzC,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAC5E,CAAC,EACD,IAAI,CAAC,UAAU,EACf,oBAAY,CAAC,UAAU,EACvB,YAAY,CACb,CAAC;4BACF,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,4FAA4F;wBAC5F,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,6BAA6B,CAC7D,CAAC,EACD,IAAI,CAAC,UAAU,EACf,oBAAY,CAAC,UAAU,EACvB,SAAS,CACV,CAAC;oBACJ,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,GAAG,GAAG,CAAU,CAAC;oBACvB,+DAA+D;oBAC/D,IAAI,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,CAAC;wBACpE,0DAA0D;wBAC1D,8CAA8C;wBAC9C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;wBAC3F,IAAI,CAAC,MAAM,CAAC,IAAI,CACd,2CAA2C,CAAC,CAAC,IAAI,oCAAoC,CAAC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CACpI,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;oBACxE,CAAC;oBACD,KAAK,GAAG,EAAE,CAAC;gBACb,CAAC;gBAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrB,MAAM,IAAA,8BAAiB,EAAC,+CAAkC,CAAC,CAAC;gBAC9D,CAAC;gBAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,CAAC;wBACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC7E,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sCAAsC,IAAI,KAAM,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1F,CAAC;gBACH,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC;IAED,sBAAsB,CAAC,IAAkB;QACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAChC,KAAK,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC1C,MAAM,IAAI,GACR,CAAC,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,0BAA0B,CAAC;YAC1G,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YAClC,MAAM,UAAU,GACd,CAAC,CAAC,iBAAiB,KAAK,SAAS;gBAC/B,CAAC,CAAC,6BAA6B,CAAC,CAAC,iBAAiB,EAAE;gBACpD,CAAC,CAAC,iCAAiC,CAAC;YACxC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,UAAU,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;CACF;AAEY,QAAA,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"wfqueue.js","sourceRoot":"","sources":["../../src/wfqueue.ts"],"names":[],"mappings":"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"}