velocious 1.0.617 → 1.0.618

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.
Files changed (41) hide show
  1. package/README.md +3 -1
  2. package/build/background-jobs/client.js +12 -3
  3. package/build/background-jobs/socket-request.js +4 -0
  4. package/build/database/migration/index.js +2 -1
  5. package/build/database/pool/async-tracked-multi-connection.js +78 -1
  6. package/build/database/pool/base.js +32 -0
  7. package/build/database/pool/single-multi-use.js +65 -4
  8. package/build/src/background-jobs/client.d.ts +4 -1
  9. package/build/src/background-jobs/client.d.ts.map +1 -1
  10. package/build/src/background-jobs/client.js +12 -4
  11. package/build/src/background-jobs/socket-request.d.ts.map +1 -1
  12. package/build/src/background-jobs/socket-request.js +4 -1
  13. package/build/src/database/migration/index.d.ts +3 -2
  14. package/build/src/database/migration/index.d.ts.map +1 -1
  15. package/build/src/database/migration/index.js +3 -2
  16. package/build/src/database/pool/async-tracked-multi-connection.d.ts +20 -0
  17. package/build/src/database/pool/async-tracked-multi-connection.d.ts.map +1 -1
  18. package/build/src/database/pool/async-tracked-multi-connection.js +75 -2
  19. package/build/src/database/pool/base.d.ts +25 -0
  20. package/build/src/database/pool/base.d.ts.map +1 -1
  21. package/build/src/database/pool/base.js +30 -1
  22. package/build/src/database/pool/single-multi-use.d.ts +30 -3
  23. package/build/src/database/pool/single-multi-use.d.ts.map +1 -1
  24. package/build/src/database/pool/single-multi-use.js +58 -5
  25. package/build/src/testing/shared-transaction-connection-coordinator.d.ts +5 -0
  26. package/build/src/testing/shared-transaction-connection-coordinator.d.ts.map +1 -1
  27. package/build/src/testing/shared-transaction-connection-coordinator.js +28 -4
  28. package/build/src/testing/test-runner.d.ts +75 -0
  29. package/build/src/testing/test-runner.d.ts.map +1 -1
  30. package/build/src/testing/test-runner.js +201 -10
  31. package/build/testing/shared-transaction-connection-coordinator.js +29 -3
  32. package/build/testing/test-runner.js +198 -9
  33. package/package.json +1 -1
  34. package/src/background-jobs/client.js +12 -3
  35. package/src/background-jobs/socket-request.js +4 -0
  36. package/src/database/migration/index.js +2 -1
  37. package/src/database/pool/async-tracked-multi-connection.js +78 -1
  38. package/src/database/pool/base.js +32 -0
  39. package/src/database/pool/single-multi-use.js +65 -4
  40. package/src/testing/shared-transaction-connection-coordinator.js +29 -3
  41. package/src/testing/test-runner.js +198 -9
package/README.md CHANGED
@@ -2162,7 +2162,7 @@ option; the default configuration keeps sequential `TRUNCATE TABLE` requests. Se
2162
2162
 
2163
2163
  Request tests share transaction-active, non-tenant database connections with their in-process HTTP handlers. Eligibility is evaluated when each request is dispatched, so a hook can start a transaction and issue a request in the same callback. This makes uncommitted setup visible to handlers while preserving rollback isolation. Without an active transaction, handlers use independent pooled connections, so concurrency and locking tests can opt out of transaction cleanup and exercise production-style connections. Shared connection state is scoped to the test lifecycle and cleared around each test. See [docs/testing-guidelines.md](docs/testing-guidelines.md#request-test-database-connections).
2164
2164
 
2165
- Transactional tests also share active non-tenant connections with real forked, reusable pooled, and spawned background-job child runners through a per-attempt test-only loopback broker. Parent setup and child writes therefore occupy the same physical transaction and roll back together, including background-job persistence. Multiple configured databases route by identifier; tenant-only databases remain excluded. Tests using `{transaction: false, truncate: true}` retain ordinary independent physical connections for concurrency and locking coverage. See [docs/testing-guidelines.md](docs/testing-guidelines.md#request-test-database-connections).
2165
+ Transactional tests also share active non-tenant connections with real forked, reusable pooled, and spawned background-job child runners through a per-attempt test-only loopback broker. Parent setup and child writes therefore occupy the same physical transaction and roll back together, including background-job persistence. Multiple configured databases route by identifier. Tenant-only databases remain excluded by default; a test can explicitly call `registerTransactionalTenant({databaseIdentifier, tenant})` from its attempt args to share one transaction with same-process paths resolving that exact physical tenant configuration. That registration remains active through `afterEach` and is revoked, rolled back, and released afterward. Emergency cleanup for a lifecycle hung beyond timeout grace revokes pending setup before it can publish stale state, bounds cleanup waits, and discards its physical tenant connection, so stale resumed work cannot use a driver recycled into a successor attempt. Tests using `{transaction: false, truncate: true}` retain ordinary independent physical connections for concurrency and locking coverage. See [docs/testing-guidelines.md](docs/testing-guidelines.md#in-process-test-database-connections).
2166
2166
 
2167
2167
  Warm pooled children receive the active broker capability per job, discard retained proxy state when the capability changes, and fail closed if a transactional dispatch lacks coordinates. Child transaction/savepoint work holds a FIFO lease on the parent physical connection until the matching root release or rollback.
2168
2168
 
@@ -2520,6 +2520,8 @@ Set `deduplicateWhileQueued: true` to coalesce an enqueue onto the earliest iden
2520
2520
 
2521
2521
  Use `options: {idempotencyKey}` when producer replay must converge on the original durable job across every state and even after terminal-job pruning. Ownership is scoped to the resolved job class name, resolved queue, and key; reusing that scope with changed canonical arguments or behavior-affecting options fails. This is distinct from queued-only deduplication, and ownership rows are intentionally retained until a future explicit reconciliation/deletion policy. See [durable idempotent enqueue](docs/background-jobs.md#durable-idempotent-enqueue).
2522
2522
 
2523
+ The Node producer rejects and destroys its one-shot socket when the main closes before acknowledging or when an enqueue acknowledgement stalls for 5 seconds. Because the main may already have committed the job, this is an ambiguous outcome: replay with the same durable `idempotencyKey` to recover the original job id without creating a duplicate. Direct `BackgroundJobsClient` users can set a different bounded `enqueueTimeoutMs` constructor option. See [durable idempotent enqueue](docs/background-jobs.md#durable-idempotent-enqueue).
2524
+
2523
2525
  Select a non-default runtime explicitly with `options: {executionMode: "inline" | "forked" | "spawned"}`.
2524
2526
 
2525
2527
  Inline jobs share the worker process and run concurrently up to `maxConcurrentInlineJobs`, so a single slow inline job no longer blocks the queue. A single worker can also override the configured cap explicitly:
@@ -1,16 +1,21 @@
1
1
  // @ts-check
2
2
 
3
+ import timeout from "awaitery/build/timeout.js"
3
4
  import configurationResolver from "../configuration-resolver.js"
4
5
  import BackgroundJobsSocketRequest from "./socket-request.js"
5
6
 
7
+ const DEFAULT_ENQUEUE_TIMEOUT_MS = 5000
8
+
6
9
  export default class BackgroundJobsClient {
7
10
  /**
8
11
  * Runs constructor.
9
12
  * @param {object} [args] - Options.
10
13
  * @param {import("../configuration.js").default} [args.configuration] - Configuration.
14
+ * @param {number} [args.enqueueTimeoutMs] - Maximum time to wait for an enqueue acknowledgement in milliseconds (default: 5000).
11
15
  */
12
- constructor({configuration} = {}) {
16
+ constructor({configuration, enqueueTimeoutMs = DEFAULT_ENQUEUE_TIMEOUT_MS} = {}) {
13
17
  this.configurationPromise = configuration ? Promise.resolve(configuration) : configurationResolver()
18
+ this.enqueueTimeoutMs = enqueueTimeoutMs
14
19
  }
15
20
 
16
21
  /**
@@ -35,7 +40,11 @@ export default class BackgroundJobsClient {
35
40
  async enqueue({jobName, args, options}) {
36
41
  const request = await this._request()
37
42
 
38
- return await request.run({
43
+ return await timeout({
44
+ errorMessage: `Background job enqueue acknowledgement timed out after ${this.enqueueTimeoutMs}ms`,
45
+ timeout: this.enqueueTimeoutMs
46
+ }, async ({control}) => await request.run({
47
+ signal: control.signal,
39
48
  onConnect: (jsonSocket) => {
40
49
  jsonSocket.send({
41
50
  type: "enqueue",
@@ -54,7 +63,7 @@ export default class BackgroundJobsClient {
54
63
  reject(new Error(message.error || "Failed to enqueue job"))
55
64
  }
56
65
  }
57
- })
66
+ }))
58
67
  }
59
68
 
60
69
  /**
@@ -89,6 +89,10 @@ export default class BackgroundJobsSocketRequest {
89
89
  finish({}, () => reject(error))
90
90
  })
91
91
 
92
+ jsonSocket.on("close", () => {
93
+ finish({destroy: true}, () => reject(new Error("Background jobs socket closed before the request was acknowledged")))
94
+ })
95
+
92
96
  /**
93
97
  * Handles the socket response message.
94
98
  * @param {import("./types.js").BackgroundJobSocketMessage} message - Socket message.
@@ -1,5 +1,6 @@
1
1
  // @ts-check
2
2
 
3
+ /** @typedef {import("../table-data/table-column.js").TableColumnArgsType} AddColumnArgsType */
3
4
  /**
4
5
  * CreateTableIdArgsType type.
5
6
  * @typedef {object} CreateTableIdArgsType
@@ -109,7 +110,7 @@ export default class VelociousDatabaseMigration {
109
110
  * @param {string} tableName - Table name.
110
111
  * @param {string} columnName - Column name.
111
112
  * @param {string} columnType - Column type.
112
- * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
113
+ * @param {AddColumnArgsType} [args] - Options object.
113
114
  * @returns {Promise<void>} - Resolves when complete.
114
115
  */
115
116
  async addColumn(tableName, columnName, columnType, args) {
@@ -55,6 +55,9 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
55
55
  */
56
56
  _testSharedConnectionRegistration = undefined
57
57
 
58
+ /** Attempt-owned shared connections keyed by resolved physical configuration. */
59
+ _testSharedConnectionsByReuseKey = new Map()
60
+
58
61
  /**
59
62
  * Connections.
60
63
  * @type {import("../drivers/base.js").default[]} */
@@ -249,6 +252,30 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
249
252
  if (this.connections.includes(connection)) await this.handleCheckedInIdleConnection()
250
253
  }
251
254
 
255
+ /**
256
+ * Permanently removes and closes a checked-out connection.
257
+ * @param {import("../drivers/base.js").default} connection - Connection that must not return to the pool.
258
+ */
259
+ async discard(connection) {
260
+ const id = connection.getIdSeq()
261
+ const errors = []
262
+
263
+ this.untrackConnectionInUse(connection, id)
264
+ try {
265
+ await this.closeConnection(connection)
266
+ } catch (error) {
267
+ errors.push(error)
268
+ }
269
+ try {
270
+ await this.drainPendingCheckouts()
271
+ } catch (error) {
272
+ errors.push(error)
273
+ }
274
+
275
+ if (errors.length === 1) throw errors[0]
276
+ if (errors.length > 1) throw new AggregateError(errors, "Failed to discard a database connection")
277
+ }
278
+
252
279
  /**
253
280
  * Runs close checked out connection after checkin failure.
254
281
  * @param {import("../drivers/base.js").default} connection - Connection that failed check-in cleanup.
@@ -885,6 +912,13 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
885
912
 
886
913
  if (!actualCallback) throw new Error("withConnection requires a callback")
887
914
 
915
+ const testSharedConnection = this.activeTestSharedConnection()
916
+ if (testSharedConnection && this.connectionMatchesCurrentConfiguration(testSharedConnection)) {
917
+ return await this.asyncLocalStorage.run(testSharedConnection.getIdSeq(), async () => {
918
+ return await actualCallback(testSharedConnection)
919
+ })
920
+ }
921
+
888
922
  const connection = await this.checkout(options)
889
923
  const id = connection.getIdSeq()
890
924
 
@@ -1079,12 +1113,35 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
1079
1113
  return registration
1080
1114
  }
1081
1115
 
1116
+ /**
1117
+ * Registers an attempt-owned connection for exactly one physical configuration.
1118
+ * @param {import("../drivers/base.js").default} connection - Attempt-owned connection.
1119
+ * @param {string} reuseKey - Resolved physical configuration identity.
1120
+ * @returns {import("./base.js").TestSharedConnectionRegistration} - Opaque registration handle.
1121
+ */
1122
+ setTestSharedConnectionForConfiguration(connection, reuseKey) {
1123
+ const registration = {owner: Symbol("test-shared-physical-connection")}
1124
+
1125
+ this._testSharedConnectionsByReuseKey.set(reuseKey, {connection, registration})
1126
+ return registration
1127
+ }
1128
+
1082
1129
  /**
1083
1130
  * Clears the current shared connection registration. A supplied stale registration
1084
1131
  * cannot clear a provider installed by a newer lifecycle.
1085
1132
  * @param {import("./base.js").TestSharedConnectionRegistration} [registration] - Opaque registration handle to clear conditionally.
1086
1133
  * @returns {void} */
1087
1134
  clearTestSharedConnection(registration) {
1135
+ if (registration) {
1136
+ for (const [reuseKey, entry] of this._testSharedConnectionsByReuseKey) {
1137
+ if (entry.registration !== registration) continue
1138
+ this._testSharedConnectionsByReuseKey.delete(reuseKey)
1139
+ return
1140
+ }
1141
+ } else {
1142
+ this._testSharedConnectionsByReuseKey.clear()
1143
+ }
1144
+
1088
1145
  if (registration && registration !== this._testSharedConnectionRegistration) return
1089
1146
 
1090
1147
  this._testSharedConnection = undefined
@@ -1103,18 +1160,38 @@ export default class VelociousDatabasePoolAsyncTrackedMultiConnection extends Ba
1103
1160
  * @returns {T} - Callback result.
1104
1161
  */
1105
1162
  runWithTestSharedConnection(callback) {
1106
- const connection = this.testSharedConnection()
1163
+ const connection = this.activeTestSharedConnection()
1107
1164
 
1108
1165
  if (!connection) return callback()
1109
1166
 
1110
1167
  return this.asyncLocalStorage.run(connection.getIdSeq(), callback)
1111
1168
  }
1112
1169
 
1170
+ /**
1171
+ * Resolves a test-shared connection only while its checkout ID is still owned by this pool.
1172
+ * Fallback-only registrations have no checkout ID and must enter the normal checkout path.
1173
+ * @returns {import("../drivers/base.js").default | undefined} - Active shared connection.
1174
+ */
1175
+ activeTestSharedConnection() {
1176
+ const connection = this.testSharedConnection()
1177
+ const id = connection?.getIdSeq()
1178
+
1179
+ if (typeof id !== "number") return
1180
+ if (this.connectionsInUse[id] !== connection) return
1181
+
1182
+ return connection
1183
+ }
1184
+
1113
1185
  /**
1114
1186
  * Resolves the connection currently eligible for in-process test request sharing.
1115
1187
  * @returns {import("../drivers/base.js").default | undefined} - Shared connection.
1116
1188
  */
1117
1189
  testSharedConnection() {
1190
+ const reuseKey = this.getConfigurationReuseKey()
1191
+ const physicalRegistration = this._testSharedConnectionsByReuseKey.get(reuseKey)
1192
+
1193
+ if (physicalRegistration) return physicalRegistration.connection
1194
+
1118
1195
  return this._testSharedConnectionProvider
1119
1196
  ? this._testSharedConnectionProvider()
1120
1197
  : this._testSharedConnection
@@ -126,6 +126,16 @@ class VelociousDatabasePoolBase {
126
126
  throw new Error("'checkin' not implemented")
127
127
  }
128
128
 
129
+ /**
130
+ * Permanently discards an attempt-owned checked-out connection.
131
+ * @abstract
132
+ * @param {import("../drivers/base.js").default} _connection - Connection that must not return to the pool.
133
+ * @returns {Promise<void>} - Resolves after the connection is closed and removed from pool ownership.
134
+ */
135
+ discard(_connection) {
136
+ throw new Error("'discard' not implemented")
137
+ }
138
+
129
139
  /**
130
140
  * Runs checkout.
131
141
  * @abstract
@@ -175,6 +185,16 @@ class VelociousDatabasePoolBase {
175
185
  return undefined
176
186
  }
177
187
 
188
+ /**
189
+ * Registers a test connection for one resolved physical database configuration.
190
+ * @param {import("../drivers/base.js").default} _connection - Attempt-owned connection.
191
+ * @param {string} _reuseKey - Resolved physical configuration identity.
192
+ * @returns {TestSharedConnectionRegistration | undefined} - Opaque registration handle when supported.
193
+ */
194
+ setTestSharedConnectionForConfiguration(_connection, _reuseKey) {
195
+ return undefined
196
+ }
197
+
178
198
  /**
179
199
  * Clears the shared connection or provider set for in-process test requests. No-op by default.
180
200
  * When a registration is provided, clears only if it is still the active registration.
@@ -395,6 +415,18 @@ class VelociousDatabasePoolBase {
395
415
  return connection
396
416
  }
397
417
 
418
+ /**
419
+ * Checks out a connection for an already-resolved physical configuration.
420
+ * Multi-configuration pools override this for explicit tenant registrations.
421
+ * @param {import("../../configuration-types.js").DatabaseConfigurationType} _databaseConfiguration - Captured configuration.
422
+ * @param {ConnectionCheckoutOptions} [_options] - Checkout options.
423
+ * @param {{retain: boolean}} [_args] - Pool-specific retention behavior.
424
+ * @returns {Promise<import("../drivers/base.js").default>} - Checked-out connection.
425
+ */
426
+ async checkoutForConfiguration(_databaseConfiguration, _options, _args) {
427
+ throw new Error("Database pool does not support captured configuration checkout")
428
+ }
429
+
398
430
  /**
399
431
  * Runs close connection after failed connect.
400
432
  * @param {import("../drivers/base.js").default} connection - Connection to close.
@@ -45,6 +45,8 @@ export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
45
45
  /** @type {Set<() => boolean>} */
46
46
  capacityWaiters = new Set()
47
47
  closeGeneration = 0
48
+ /** @type {Map<string, {connection: import("../drivers/base.js").default, registration: import("./base.js").TestSharedConnectionRegistration}>} */
49
+ testSharedConnectionsByReuseKey = new Map()
48
50
 
49
51
  /**
50
52
  * Checks a connection back into its keyed physical entry.
@@ -80,6 +82,24 @@ export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
80
82
  if (!entry.lifecycleRetained && (!entry.retained || this.capacityWaiters.size > 0)) await this.removeAndCloseEntry(entry)
81
83
  }
82
84
 
85
+ /**
86
+ * Permanently removes and closes a checked-out connection.
87
+ * @param {import("../drivers/base.js").default} connection - Connection that must not return to the pool.
88
+ */
89
+ async discard(connection) {
90
+ const entry = this.entryForConnection(connection)
91
+
92
+ if (entry) {
93
+ this.activeCheckoutCount -= entry.activeCheckoutCount
94
+ entry.activeCheckoutCount = 0
95
+ entry.checkoutNames = []
96
+ await this.removeAndCloseEntry(entry)
97
+ return
98
+ }
99
+
100
+ await connection.close()
101
+ }
102
+
83
103
  /**
84
104
  * Checks out the ambient configuration and retains it as the single mutable
85
105
  * browser fallback connection.
@@ -93,11 +113,11 @@ export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
93
113
  /**
94
114
  * Checks out an explicitly captured physical configuration.
95
115
  * @param {import("../../configuration-types.js").DatabaseConfigurationType} databaseConfiguration - Captured configuration.
96
- * @param {import("./base.js").ConnectionCheckoutOptions} options - Checkout options.
97
- * @param {{retain: boolean}} args - Whether this becomes the ambient retained connection.
116
+ * @param {import("./base.js").ConnectionCheckoutOptions} [options] - Checkout options.
117
+ * @param {{retain: boolean}} [args] - Whether this becomes the ambient retained connection.
98
118
  * @returns {Promise<import("../drivers/base.js").default>} - Checked-out connection.
99
119
  */
100
- async checkoutForConfiguration(databaseConfiguration, options, {retain}) {
120
+ async checkoutForConfiguration(databaseConfiguration, options = {}, {retain} = {retain: false}) {
101
121
  const reuseKey = this.getConfigurationReuseKey(databaseConfiguration)
102
122
  let entry = this.connectionEntries.get(reuseKey)
103
123
 
@@ -460,6 +480,7 @@ export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
460
480
 
461
481
  this.connectionEntries.clear()
462
482
  this.connectionEntrySpawnPromises.clear()
483
+ this.testSharedConnectionsByReuseKey.clear()
463
484
  this.connection = undefined
464
485
  this.activeCheckoutCount = 0
465
486
 
@@ -476,6 +497,46 @@ export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
476
497
  return this.connection
477
498
  }
478
499
 
500
+ /**
501
+ * Registers an attempt-owned connection for exactly one physical configuration.
502
+ * @param {import("../drivers/base.js").default} connection - Attempt-owned connection.
503
+ * @param {string} reuseKey - Resolved physical configuration identity.
504
+ * @returns {import("./base.js").TestSharedConnectionRegistration} - Opaque registration handle.
505
+ */
506
+ setTestSharedConnectionForConfiguration(connection, reuseKey) {
507
+ const registration = {owner: Symbol("test-shared-physical-connection")}
508
+
509
+ this.testSharedConnectionsByReuseKey.set(reuseKey, {connection, registration})
510
+ return registration
511
+ }
512
+
513
+ /**
514
+ * Clears an attempt-owned shared physical connection without revoking a newer owner.
515
+ * @param {import("./base.js").TestSharedConnectionRegistration} [registration] - Registration to clear conditionally.
516
+ */
517
+ clearTestSharedConnection(registration) {
518
+ if (!registration) {
519
+ this.testSharedConnectionsByReuseKey.clear()
520
+ return
521
+ }
522
+
523
+ for (const [reuseKey, entry] of this.testSharedConnectionsByReuseKey) {
524
+ if (entry.registration !== registration) continue
525
+ this.testSharedConnectionsByReuseKey.delete(reuseKey)
526
+ return
527
+ }
528
+ }
529
+
530
+ /**
531
+ * Resolves the attempt-owned connection for the current physical configuration.
532
+ * @returns {import("../drivers/base.js").default | undefined} - Shared connection.
533
+ */
534
+ testSharedConnection() {
535
+ const reuseKey = this.getConfigurationReuseKey()
536
+
537
+ return this.testSharedConnectionsByReuseKey.get(reuseKey)?.connection
538
+ }
539
+
479
540
  /**
480
541
  * Returns the current context fallback connection when it is not suppressed.
481
542
  * @returns {import("../drivers/base.js").default | undefined} - Current fallback connection.
@@ -483,7 +544,7 @@ export default class VelociousDatabasePoolSingleMultiUser extends BasePool {
483
544
  getCurrentContextConnection() {
484
545
  if (this.suppressedConnectionContextCount > 0) return undefined
485
546
 
486
- return this.connection
547
+ return this.testSharedConnection() || this.connection
487
548
  }
488
549
 
489
550
  /**
@@ -1,13 +1,16 @@
1
1
  import BackgroundJobsSocketRequest from "./socket-request.js";
2
2
  export default class BackgroundJobsClient {
3
3
  configurationPromise: Promise<import("../configuration.js").default>;
4
+ enqueueTimeoutMs: number;
4
5
  /**
5
6
  * Runs constructor.
6
7
  * @param {object} [args] - Options.
7
8
  * @param {import("../configuration.js").default} [args.configuration] - Configuration.
9
+ * @param {number} [args.enqueueTimeoutMs] - Maximum time to wait for an enqueue acknowledgement in milliseconds (default: 5000).
8
10
  */
9
- constructor({ configuration }?: {
11
+ constructor({ configuration, enqueueTimeoutMs }?: {
10
12
  configuration?: import("../configuration.js").default;
13
+ enqueueTimeoutMs?: number;
11
14
  });
12
15
  /**
13
16
  * Builds a one-shot client socket request from the resolved configuration.
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/client.js"],"names":[],"mappings":"AAGA,OAAO,2BAA2B,MAAM,qBAAqB,CAAA;AAE7D,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAOhC,oBAAoB;IAN3B;;;;OAIG;IACH,YAAY,EAAC,aAAa,EAAC,AAHxB,CAEF,EADE;QAAqD,aAAa,AAAlE,CACF,EADU,OAAO,qBAAqB,EAAE,OAAO,CAC/C;KAC+B,EAE/B;IAED;;;OAGG;IACG,QAAQ,IAFD,OAAO,CAAC,2BAA2B,CAAC,CAOhD;IAED;;;;;;;OAOG;IACG,OAAO,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,EALnC;QAAqB,OAAO,EAApB,MAAM,CACd;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;KAEmC,GAFzB,OAAO,CAAC,MAAM,CAAC,CAyB3B;IAED;;;;;;;;OAQG;IACG,gBAAgB,CAAC,EAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,EANzD;QAAqB,WAAW,EAAxB,MAAM,CACd;QAAqB,OAAO,EAApB,MAAM,CACd;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;KAEyD,GAF/C,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CAwBxE;IAED;;;;;OAKG;IACG,eAAe,CAAC,EAAC,WAAW,EAAC,EAHhC;QAAqB,WAAW,EAAxB,MAAM,CACd;KAEgC,GAFtB,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CAoBzE;CACF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/client.js"],"names":[],"mappings":"AAIA,OAAO,2BAA2B,MAAM,qBAAqB,CAAA;AAI7D,MAAM,CAAC,OAAO,OAAO,oBAAoB;IAQhC,oBAAoB;IACpB,gBAAgB;IARvB;;;;;OAKG;IACH,YAAY,EAAC,aAAa,EAAE,gBAA6C,EAAC,AAJvE,CAGF,EAFE;QAAqD,aAAa,AAAlE,CACA,EADQ,OAAO,qBAAqB,EAAE,OAAO,CAC7C;QAAsB,gBAAgB,AAAtC,CACF,EADU,MAAM,CAChB;KAC8E,EAG9E;IAED;;;OAGG;IACG,QAAQ,IAFD,OAAO,CAAC,2BAA2B,CAAC,CAOhD;IAED;;;;;;;OAOG;IACG,OAAO,CAAC,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,EALnC;QAAqB,OAAO,EAApB,MAAM,CACd;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;KAEmC,GAFzB,OAAO,CAAC,MAAM,CAAC,CA6B3B;IAED;;;;;;;;OAQG;IACG,gBAAgB,CAAC,EAAC,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAC,EANzD;QAAqB,WAAW,EAAxB,MAAM,CACd;QAAqB,OAAO,EAApB,MAAM,CACd;QAAmD,IAAI,EAA/C,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5C;QAAyD,OAAO,AAAhE,CACA,EADQ,OAAO,YAAY,EAAE,oBAAoB,CACjD;KAEyD,GAF/C,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CAwBxE;IAED;;;;;OAKG;IACG,eAAe,CAAC,EAAC,WAAW,EAAC,EAHhC;QAAqB,WAAW,EAAxB,MAAM,CACd;KAEgC,GAFtB,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CAoBzE;CACF"}
@@ -1,14 +1,18 @@
1
1
  // @ts-check
2
+ import timeout from "awaitery/build/timeout.js";
2
3
  import configurationResolver from "../configuration-resolver.js";
3
4
  import BackgroundJobsSocketRequest from "./socket-request.js";
5
+ const DEFAULT_ENQUEUE_TIMEOUT_MS = 5000;
4
6
  export default class BackgroundJobsClient {
5
7
  /**
6
8
  * Runs constructor.
7
9
  * @param {object} [args] - Options.
8
10
  * @param {import("../configuration.js").default} [args.configuration] - Configuration.
11
+ * @param {number} [args.enqueueTimeoutMs] - Maximum time to wait for an enqueue acknowledgement in milliseconds (default: 5000).
9
12
  */
10
- constructor({ configuration } = {}) {
13
+ constructor({ configuration, enqueueTimeoutMs = DEFAULT_ENQUEUE_TIMEOUT_MS } = {}) {
11
14
  this.configurationPromise = configuration ? Promise.resolve(configuration) : configurationResolver();
15
+ this.enqueueTimeoutMs = enqueueTimeoutMs;
12
16
  }
13
17
  /**
14
18
  * Builds a one-shot client socket request from the resolved configuration.
@@ -29,7 +33,11 @@ export default class BackgroundJobsClient {
29
33
  */
30
34
  async enqueue({ jobName, args, options }) {
31
35
  const request = await this._request();
32
- return await request.run({
36
+ return await timeout({
37
+ errorMessage: `Background job enqueue acknowledgement timed out after ${this.enqueueTimeoutMs}ms`,
38
+ timeout: this.enqueueTimeoutMs
39
+ }, async ({ control }) => await request.run({
40
+ signal: control.signal,
33
41
  onConnect: (jsonSocket) => {
34
42
  jsonSocket.send({
35
43
  type: "enqueue",
@@ -47,7 +55,7 @@ export default class BackgroundJobsClient {
47
55
  reject(new Error(message.error || "Failed to enqueue job"));
48
56
  }
49
57
  }
50
- });
58
+ }));
51
59
  }
52
60
  /**
53
61
  * Atomically replaces the queued owner of a stable schedule key.
@@ -103,4 +111,4 @@ export default class BackgroundJobsClient {
103
111
  });
104
112
  }
105
113
  }
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9jbGllbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8scUJBQXFCLE1BQU0sOEJBQThCLENBQUE7QUFDaEUsT0FBTywyQkFBMkIsTUFBTSxxQkFBcUIsQ0FBQTtBQUU3RCxNQUFNLENBQUMsT0FBTyxPQUFPLG9CQUFvQjtJQUN2Qzs7OztPQUlHO0lBQ0gsWUFBWSxFQUFDLGFBQWEsRUFBQyxHQUFHLEVBQUU7UUFDOUIsSUFBSSxDQUFDLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQTtJQUN0RyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLFFBQVE7UUFDWixNQUFNLGFBQWEsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQTtRQUNyRCxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLGFBQWEsQ0FBQyx1QkFBdUIsRUFBRSxDQUFBO1FBRTVELE9BQU8sSUFBSSwyQkFBMkIsQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBQyxDQUFDLENBQUE7SUFDdEUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxLQUFLLENBQUMsT0FBTyxDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUM7UUFDcEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFFckMsT0FBTyxNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDdkIsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ3hCLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ2QsSUFBSSxFQUFFLFNBQVM7b0JBQ2Ys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QUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgY29uZmlndXJhdGlvblJlc29sdmVyIGZyb20gXCIuLi9jb25maWd1cmF0aW9uLXJlc29sdmVyLmpzXCJcbmltcG9ydCBCYWNrZ3JvdW5kSm9ic1NvY2tldFJlcXVlc3QgZnJvbSBcIi4vc29ja2V0LXJlcXVlc3QuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYWNrZ3JvdW5kSm9ic0NsaWVudCB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gW2FyZ3NdIC0gT3B0aW9ucy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IFthcmdzLmNvbmZpZ3VyYXRpb25dIC0gQ29uZmlndXJhdGlvbi5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtjb25maWd1cmF0aW9ufSA9IHt9KSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uUHJvbWlzZSA9IGNvbmZpZ3VyYXRpb24gPyBQcm9taXNlLnJlc29sdmUoY29uZmlndXJhdGlvbikgOiBjb25maWd1cmF0aW9uUmVzb2x2ZXIoKVxuICB9XG5cbiAgLyoqXG4gICAqIEJ1aWxkcyBhIG9uZS1zaG90IGNsaWVudCBzb2NrZXQgcmVxdWVzdCBmcm9tIHRoZSByZXNvbHZlZCBjb25maWd1cmF0aW9uLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxCYWNrZ3JvdW5kSm9ic1NvY2tldFJlcXVlc3Q+fSAtIFNvY2tldCByZXF1ZXN0LlxuICAgKi9cbiAgYXN5bmMgX3JlcXVlc3QoKSB7XG4gICAgY29uc3QgY29uZmlndXJhdGlvbiA9IGF3YWl0IHRoaXMuY29uZmlndXJhdGlvblByb21pc2VcbiAgICBjb25zdCB7aG9zdCwgcG9ydH0gPSBjb25maWd1cmF0aW9uLmdldEJhY2tncm91bmRKb2JzQ29uZmlnKClcblxuICAgIHJldHVybiBuZXcgQmFja2dyb3VuZEpvYnNTb2NrZXRSZXF1ZXN0KHtob3N0LCBwb3J0LCByb2xlOiBcImNsaWVudFwifSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSdW5zIGVucXVldWUuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBhcmdzIC0gT3B0aW9ucy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGFyZ3Muam9iTmFtZSAtIEpvYiBuYW1lLlxuICAgKiBAcGFyYW0ge0FycmF5PFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Pn0gYXJncy5hcmdzIC0gSm9iIGFyZ3MuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9uc30gW2FyZ3Mub3B0aW9uc10gLSBKb2Igb3B0aW9ucy5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBKb2IgaWQuXG4gICAqL1xuICBhc3luYyBlbnF1ZXVlKHtqb2JOYW1lLCBhcmdzLCBvcHRpb25zfSkge1xuICAgIGNvbnN0IHJlcXVlc3QgPSBhd2FpdCB0aGlzLl9yZXF1ZXN0KClcblxuICAgIHJldHVybiBhd2FpdCByZXF1ZXN0LnJ1bih7XG4gICAgICBvbkNvbm5lY3Q6IChqc29uU29ja2V0KSA9PiB7XG4gICAgICAgIGpzb25Tb2NrZXQuc2VuZCh7XG4gICAgICAgICAgdHlwZTogXCJlbnF1ZXVlXCIsXG4gICAgICAgICAgam9iTmFtZSxcbiAgICAgICAgICBhcmdzLFxuICAgICAgICAgIG9wdGlvbnNcbiAgICAgICAgfSlcbiAgICAgIH0sXG4gICAgICBvbk1lc3NhZ2U6ICh7bWVzc2FnZSwgcmVzb2x2ZSwgcmVqZWN0fSkgPT4ge1xuICAgICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gXCJlbnF1ZXVlZFwiKSB7XG4gICAgICAgICAgcmVzb2x2ZShtZXNzYWdlLmpvYklkKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKG1lc3NhZ2U/LnR5cGUgPT09IFwiZW5xdWV1ZS1lcnJvclwiKSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihtZXNzYWdlLmVycm9yIHx8IFwiRmFpbGVkIHRvIGVucXVldWUgam9iXCIpKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBdG9taWNhbGx5IHJlcGxhY2VzIHRoZSBxdWV1ZWQgb3duZXIgb2YgYSBzdGFibGUgc2NoZWR1bGUga2V5LlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnNjaGVkdWxlS2V5IC0gU3RhYmxlIGxvZ2ljYWwgc2NoZWR1bGUga2V5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5qb2JOYW1lIC0gSm9iIG5hbWUuXG4gICAqIEBwYXJhbSB7QXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBhcmdzLmFyZ3MgLSBKb2IgYXJncy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfSBbYXJncy5vcHRpb25zXSAtIEpvYiBvcHRpb25zLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JSZXBsYWNlbWVudFJlc3VsdD59IC0gUmVwbGFjZW1lbnQgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgcmVwbGFjZVNjaGVkdWxlZCh7c2NoZWR1bGVLZXksIGpvYk5hbWUsIGFyZ3MsIG9wdGlvbnN9KSB7XG4gICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHRoaXMuX3JlcXVlc3QoKVxuXG4gICAgcmV0dXJuIGF3YWl0IHJlcXVlc3QucnVuKHtcbiAgICAgIG9uQ29ubmVjdDogKGpzb25Tb2NrZXQpID0+IHtcbiAgICAgICAganNvblNvY2tldC5zZW5kKHt0eXBlOiBcInJlcGxhY2Utc2NoZWR1bGVkXCIsIHNjaGVkdWxlS2V5LCBqb2JOYW1lLCBhcmdzLCBvcHRpb25zfSlcbiAgICAgIH0sXG4gICAgICBvbk1lc3NhZ2U6ICh7bWVzc2FnZSwgcmVzb2x2ZSwgcmVqZWN0fSkgPT4ge1xuICAgICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gXCJzY2hlZHVsZS1yZXBsYWNlZFwiKSB7XG4gICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICBqb2JJZDogbWVzc2FnZS5qb2JJZCxcbiAgICAgICAgICAgIHByZXZpb3VzSm9iSWQ6IG1lc3NhZ2UucHJldmlvdXNKb2JJZCxcbiAgICAgICAgICAgIHByZXZpb3VzU3RhdHVzOiBtZXNzYWdlLnByZXZpb3VzU3RhdHVzXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSBcInJlcGxhY2Utc2NoZWR1bGVkLWVycm9yXCIpIHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKG1lc3NhZ2UuZXJyb3IgfHwgXCJGYWlsZWQgdG8gcmVwbGFjZSBzY2hlZHVsZWQgam9iXCIpKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWxzIG9yIGRldGFjaGVzIHRoZSBjdXJyZW50IG93bmVyIG9mIGEgc3RhYmxlIHNjaGVkdWxlIGtleS5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zY2hlZHVsZUtleSAtIFN0YWJsZSBsb2dpY2FsIHNjaGVkdWxlIGtleS5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iQ2FuY2VsbGF0aW9uUmVzdWx0Pn0gLSBDYW5jZWxsYXRpb24gcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2FuY2VsU2NoZWR1bGVkKHtzY2hlZHVsZUtleX0pIHtcbiAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgdGhpcy5fcmVxdWVzdCgpXG5cbiAgICByZXR1cm4gYXdhaXQgcmVxdWVzdC5ydW4oe1xuICAgICAgb25Db25uZWN0OiAoanNvblNvY2tldCkgPT4ge1xuICAgICAgICBqc29uU29ja2V0LnNlbmQoe3R5cGU6IFwiY2FuY2VsLXNjaGVkdWxlZFwiLCBzY2hlZHVsZUtleX0pXG4gICAgICB9LFxuICAgICAgb25NZXNzYWdlOiAoe21lc3NhZ2UsIHJlc29sdmUsIHJlamVjdH0pID0+IHtcbiAgICAgICAgaWYgKG1lc3NhZ2U/LnR5cGUgPT09IFwic2NoZWR1bGUtY2FuY2VsbGVkXCIpIHtcbiAgICAgICAgICByZXNvbHZlKHtqb2JJZDogbWVzc2FnZS5qb2JJZCwgb3V0Y29tZTogbWVzc2FnZS5vdXRjb21lfSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSBcImNhbmNlbC1zY2hlZHVsZWQtZXJyb3JcIikge1xuICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IobWVzc2FnZS5lcnJvciB8fCBcIkZhaWxlZCB0byBjYW5jZWwgc2NoZWR1bGVkIGpvYlwiKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
114
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2JhY2tncm91bmQtam9icy9jbGllbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsWUFBWTtBQUVaLE9BQU8sT0FBTyxNQUFNLDJCQUEyQixDQUFBO0FBQy9DLE9BQU8scUJBQXFCLE1BQU0sOEJBQThCLENBQUE7QUFDaEUsT0FBTywyQkFBMkIsTUFBTSxxQkFBcUIsQ0FBQTtBQUU3RCxNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQTtBQUV2QyxNQUFNLENBQUMsT0FBTyxPQUFPLG9CQUFvQjtJQUN2Qzs7Ozs7T0FLRztJQUNILFlBQVksRUFBQyxhQUFhLEVBQUUsZ0JBQWdCLEdBQUcsMEJBQTBCLEVBQUMsR0FBRyxFQUFFO1FBQzdFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFLENBQUE7UUFDcEcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFBO0lBQzFDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsUUFBUTtRQUNaLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLG9CQUFvQixDQUFBO1FBQ3JELE1BQU0sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLEdBQUcsYUFBYSxDQUFDLHVCQUF1QixFQUFFLENBQUE7UUFFNUQsT0FBTyxJQUFJLDJCQUEyQixDQUFDLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFDLENBQUMsQ0FBQTtJQUN0RSxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNILEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQztRQUNwQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUVyQyxPQUFPLE1BQU0sT0FBTyxDQUFDO1lBQ25CLFlBQVksRUFBRSwwREFBMEQsSUFBSSxDQUFDLGdCQUFnQixJQUFJO1lBQ2pHLE9BQU8sRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1NBQy9CLEVBQUUsS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUN4QyxNQUFNLEVBQUUsT0FBTyxDQUFDLE1BQU07WUFDdEIsU0FBUyxFQUFFLENBQUMsVUFBVSxFQUFFLEVBQUU7Z0JBQ3hCLFVBQVUsQ0FBQyxJQUFJLENBQUM7b0JBQ2QsSUFBSSxFQUFFLFNBQVM7b0JBQ2YsT0FBTztvQkFDUCxJQUFJO29CQUNKLE9BQU87aUJBQ1IsQ0FBQyxDQUFBO1lBQ0osQ0FBQztZQUNELFNBQVMsRUFBRSxDQUFDLEVBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUMsRUFBRSxFQUFFO2dCQUN4QyxJQUFJLE9BQU8sRUFBRSxJQUFJLEtBQUssVUFBVSxFQUFFLENBQUM7b0JBQ2pDLE9BQU8sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7b0JBQ3RCLE9BQU07Z0JBQ1IsQ0FBQztnQkFFRCxJQUFJLE9BQU8sRUFBRSxJQUFJLEtBQUssZUFBZSxFQUFFLENBQUM7b0JBQ3RDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxJQUFJLHVCQUF1QixDQUFDLENBQUMsQ0FBQTtnQkFDN0QsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7SUFFRDs7Ozs7Ozs7T0FRRztJQUNILEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBQztRQUMxRCxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUVyQyxPQUFPLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUN2QixTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDeEIsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsQ0FBQyxDQUFBO1lBQ25GLENBQUM7WUFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxPQUFPLEVBQUUsSUFBSSxLQUFLLG1CQUFtQixFQUFFLENBQUM7b0JBQzFDLE9BQU8sQ0FBQzt3QkFDTixLQUFLLEVBQUUsT0FBTyxDQUFDLEtBQUs7d0JBQ3BCLGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYTt3QkFDcEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxjQUFjO3FCQUN2QyxDQUFDLENBQUE7b0JBQ0YsT0FBTTtnQkFDUixDQUFDO2dCQUVELElBQUksT0FBTyxFQUFFLElBQUksS0FBSyx5QkFBeUIsRUFBRSxDQUFDO29CQUNoRCxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxpQ0FBaUMsQ0FBQyxDQUFDLENBQUE7Z0JBQ3ZFLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsS0FBSyxDQUFDLGVBQWUsQ0FBQyxFQUFDLFdBQVcsRUFBQztRQUNqQyxNQUFNLE9BQU8sR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUVyQyxPQUFPLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztZQUN2QixTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBRTtnQkFDeEIsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUMsQ0FBQyxDQUFBO1lBQzFELENBQUM7WUFDRCxTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFDLEVBQUUsRUFBRTtnQkFDeEMsSUFBSSxPQUFPLEVBQUUsSUFBSSxLQUFLLG9CQUFvQixFQUFFLENBQUM7b0JBQzNDLE9BQU8sQ0FBQyxFQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxFQUFDLENBQUMsQ0FBQTtvQkFDekQsT0FBTTtnQkFDUixDQUFDO2dCQUVELElBQUksT0FBTyxFQUFFLElBQUksS0FBSyx3QkFBd0IsRUFBRSxDQUFDO29CQUMvQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssSUFBSSxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUE7Z0JBQ3RFLENBQUM7WUFDSCxDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCB0aW1lb3V0IGZyb20gXCJhd2FpdGVyeS9idWlsZC90aW1lb3V0LmpzXCJcbmltcG9ydCBjb25maWd1cmF0aW9uUmVzb2x2ZXIgZnJvbSBcIi4uL2NvbmZpZ3VyYXRpb24tcmVzb2x2ZXIuanNcIlxuaW1wb3J0IEJhY2tncm91bmRKb2JzU29ja2V0UmVxdWVzdCBmcm9tIFwiLi9zb2NrZXQtcmVxdWVzdC5qc1wiXG5cbmNvbnN0IERFRkFVTFRfRU5RVUVVRV9USU1FT1VUX01TID0gNTAwMFxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYWNrZ3JvdW5kSm9ic0NsaWVudCB7XG4gIC8qKlxuICAgKiBSdW5zIGNvbnN0cnVjdG9yLlxuICAgKiBAcGFyYW0ge29iamVjdH0gW2FyZ3NdIC0gT3B0aW9ucy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuLi9jb25maWd1cmF0aW9uLmpzXCIpLmRlZmF1bHR9IFthcmdzLmNvbmZpZ3VyYXRpb25dIC0gQ29uZmlndXJhdGlvbi5cbiAgICogQHBhcmFtIHtudW1iZXJ9IFthcmdzLmVucXVldWVUaW1lb3V0TXNdIC0gTWF4aW11bSB0aW1lIHRvIHdhaXQgZm9yIGFuIGVucXVldWUgYWNrbm93bGVkZ2VtZW50IGluIG1pbGxpc2Vjb25kcyAoZGVmYXVsdDogNTAwMCkuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7Y29uZmlndXJhdGlvbiwgZW5xdWV1ZVRpbWVvdXRNcyA9IERFRkFVTFRfRU5RVUVVRV9USU1FT1VUX01TfSA9IHt9KSB7XG4gICAgdGhpcy5jb25maWd1cmF0aW9uUHJvbWlzZSA9IGNvbmZpZ3VyYXRpb24gPyBQcm9taXNlLnJlc29sdmUoY29uZmlndXJhdGlvbikgOiBjb25maWd1cmF0aW9uUmVzb2x2ZXIoKVxuICAgIHRoaXMuZW5xdWV1ZVRpbWVvdXRNcyA9IGVucXVldWVUaW1lb3V0TXNcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBvbmUtc2hvdCBjbGllbnQgc29ja2V0IHJlcXVlc3QgZnJvbSB0aGUgcmVzb2x2ZWQgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMge1Byb21pc2U8QmFja2dyb3VuZEpvYnNTb2NrZXRSZXF1ZXN0Pn0gLSBTb2NrZXQgcmVxdWVzdC5cbiAgICovXG4gIGFzeW5jIF9yZXF1ZXN0KCkge1xuICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSBhd2FpdCB0aGlzLmNvbmZpZ3VyYXRpb25Qcm9taXNlXG4gICAgY29uc3Qge2hvc3QsIHBvcnR9ID0gY29uZmlndXJhdGlvbi5nZXRCYWNrZ3JvdW5kSm9ic0NvbmZpZygpXG5cbiAgICByZXR1cm4gbmV3IEJhY2tncm91bmRKb2JzU29ja2V0UmVxdWVzdCh7aG9zdCwgcG9ydCwgcm9sZTogXCJjbGllbnRcIn0pXG4gIH1cblxuICAvKipcbiAgICogUnVucyBlbnF1ZXVlLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLmpvYk5hbWUgLSBKb2IgbmFtZS5cbiAgICogQHBhcmFtIHtBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj59IGFyZ3MuYXJncyAtIEpvYiBhcmdzLlxuICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9IFthcmdzLm9wdGlvbnNdIC0gSm9iIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHN0cmluZz59IC0gSm9iIGlkLlxuICAgKi9cbiAgYXN5bmMgZW5xdWV1ZSh7am9iTmFtZSwgYXJncywgb3B0aW9uc30pIHtcbiAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgdGhpcy5fcmVxdWVzdCgpXG5cbiAgICByZXR1cm4gYXdhaXQgdGltZW91dCh7XG4gICAgICBlcnJvck1lc3NhZ2U6IGBCYWNrZ3JvdW5kIGpvYiBlbnF1ZXVlIGFja25vd2xlZGdlbWVudCB0aW1lZCBvdXQgYWZ0ZXIgJHt0aGlzLmVucXVldWVUaW1lb3V0TXN9bXNgLFxuICAgICAgdGltZW91dDogdGhpcy5lbnF1ZXVlVGltZW91dE1zXG4gICAgfSwgYXN5bmMgKHtjb250cm9sfSkgPT4gYXdhaXQgcmVxdWVzdC5ydW4oe1xuICAgICAgc2lnbmFsOiBjb250cm9sLnNpZ25hbCxcbiAgICAgIG9uQ29ubmVjdDogKGpzb25Tb2NrZXQpID0+IHtcbiAgICAgICAganNvblNvY2tldC5zZW5kKHtcbiAgICAgICAgICB0eXBlOiBcImVucXVldWVcIixcbiAgICAgICAgICBqb2JOYW1lLFxuICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgb3B0aW9uc1xuICAgICAgICB9KVxuICAgICAgfSxcbiAgICAgIG9uTWVzc2FnZTogKHttZXNzYWdlLCByZXNvbHZlLCByZWplY3R9KSA9PiB7XG4gICAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSBcImVucXVldWVkXCIpIHtcbiAgICAgICAgICByZXNvbHZlKG1lc3NhZ2Uuam9iSWQpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cblxuICAgICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gXCJlbnF1ZXVlLWVycm9yXCIpIHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKG1lc3NhZ2UuZXJyb3IgfHwgXCJGYWlsZWQgdG8gZW5xdWV1ZSBqb2JcIikpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KSlcbiAgfVxuXG4gIC8qKlxuICAgKiBBdG9taWNhbGx5IHJlcGxhY2VzIHRoZSBxdWV1ZWQgb3duZXIgb2YgYSBzdGFibGUgc2NoZWR1bGUga2V5LlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBhcmdzLnNjaGVkdWxlS2V5IC0gU3RhYmxlIGxvZ2ljYWwgc2NoZWR1bGUga2V5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5qb2JOYW1lIC0gSm9iIG5hbWUuXG4gICAqIEBwYXJhbSB7QXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+fSBhcmdzLmFyZ3MgLSBKb2IgYXJncy5cbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfSBbYXJncy5vcHRpb25zXSAtIEpvYiBvcHRpb25zLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JSZXBsYWNlbWVudFJlc3VsdD59IC0gUmVwbGFjZW1lbnQgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgcmVwbGFjZVNjaGVkdWxlZCh7c2NoZWR1bGVLZXksIGpvYk5hbWUsIGFyZ3MsIG9wdGlvbnN9KSB7XG4gICAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHRoaXMuX3JlcXVlc3QoKVxuXG4gICAgcmV0dXJuIGF3YWl0IHJlcXVlc3QucnVuKHtcbiAgICAgIG9uQ29ubmVjdDogKGpzb25Tb2NrZXQpID0+IHtcbiAgICAgICAganNvblNvY2tldC5zZW5kKHt0eXBlOiBcInJlcGxhY2Utc2NoZWR1bGVkXCIsIHNjaGVkdWxlS2V5LCBqb2JOYW1lLCBhcmdzLCBvcHRpb25zfSlcbiAgICAgIH0sXG4gICAgICBvbk1lc3NhZ2U6ICh7bWVzc2FnZSwgcmVzb2x2ZSwgcmVqZWN0fSkgPT4ge1xuICAgICAgICBpZiAobWVzc2FnZT8udHlwZSA9PT0gXCJzY2hlZHVsZS1yZXBsYWNlZFwiKSB7XG4gICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICBqb2JJZDogbWVzc2FnZS5qb2JJZCxcbiAgICAgICAgICAgIHByZXZpb3VzSm9iSWQ6IG1lc3NhZ2UucHJldmlvdXNKb2JJZCxcbiAgICAgICAgICAgIHByZXZpb3VzU3RhdHVzOiBtZXNzYWdlLnByZXZpb3VzU3RhdHVzXG4gICAgICAgICAgfSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSBcInJlcGxhY2Utc2NoZWR1bGVkLWVycm9yXCIpIHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKG1lc3NhZ2UuZXJyb3IgfHwgXCJGYWlsZWQgdG8gcmVwbGFjZSBzY2hlZHVsZWQgam9iXCIpKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWxzIG9yIGRldGFjaGVzIHRoZSBjdXJyZW50IG93bmVyIG9mIGEgc3RhYmxlIHNjaGVkdWxlIGtleS5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5zY2hlZHVsZUtleSAtIFN0YWJsZSBsb2dpY2FsIHNjaGVkdWxlIGtleS5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iQ2FuY2VsbGF0aW9uUmVzdWx0Pn0gLSBDYW5jZWxsYXRpb24gcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2FuY2VsU2NoZWR1bGVkKHtzY2hlZHVsZUtleX0pIHtcbiAgICBjb25zdCByZXF1ZXN0ID0gYXdhaXQgdGhpcy5fcmVxdWVzdCgpXG5cbiAgICByZXR1cm4gYXdhaXQgcmVxdWVzdC5ydW4oe1xuICAgICAgb25Db25uZWN0OiAoanNvblNvY2tldCkgPT4ge1xuICAgICAgICBqc29uU29ja2V0LnNlbmQoe3R5cGU6IFwiY2FuY2VsLXNjaGVkdWxlZFwiLCBzY2hlZHVsZUtleX0pXG4gICAgICB9LFxuICAgICAgb25NZXNzYWdlOiAoe21lc3NhZ2UsIHJlc29sdmUsIHJlamVjdH0pID0+IHtcbiAgICAgICAgaWYgKG1lc3NhZ2U/LnR5cGUgPT09IFwic2NoZWR1bGUtY2FuY2VsbGVkXCIpIHtcbiAgICAgICAgICByZXNvbHZlKHtqb2JJZDogbWVzc2FnZS5qb2JJZCwgb3V0Y29tZTogbWVzc2FnZS5vdXRjb21lfSlcbiAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChtZXNzYWdlPy50eXBlID09PSBcImNhbmNlbC1zY2hlZHVsZWQtZXJyb3JcIikge1xuICAgICAgICAgIHJlamVjdChuZXcgRXJyb3IobWVzc2FnZS5lcnJvciB8fCBcIkZhaWxlZCB0byBjYW5jZWwgc2NoZWR1bGVkIGpvYlwiKSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"socket-request.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/socket-request.js"],"names":[],"mappings":"AAGA,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAEzC,MAAM,CAAC,OAAO,OAAO,2BAA2B;IASvC,IAAI;IACJ,IAAI;IACJ,IAAI;IACT;;;;;;;;OAQG;IACE,WAAW,EAFN,UAAU,GAAG,SAAS;IAlBlC;;;;;;OAMG;IACH,YAAY,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,EAJ3B;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAoC,IAAI,EAAhC,QAAQ,GAAG,UAAU,CAC/B;KAC6B,EAc7B;IAED;;;;;;;;OAQG;IACG,GAAG,CAPI,CAAC,EAOJ,EAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAC,EALrC;QAA+C,SAAS,EAAhD,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CACxC;QAAsJ,SAAS,EAAvJ,CAAC,IAAI,EAAE;YAAC,OAAO,EAAE,OAAO,YAAY,EAAE,0BAA0B,CAAC;YAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;SAAC,KAAK,IAAI,CAC/I;QAA2B,MAAM,AAAjC,CACA,EADQ,WAAW,CACnB;KAEqC,GAF3B,OAAO,CAAC,CAAC,CAAC,CAwEtB;CACF"}
1
+ {"version":3,"file":"socket-request.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/socket-request.js"],"names":[],"mappings":"AAGA,OAAO,UAAU,MAAM,kBAAkB,CAAA;AAEzC,MAAM,CAAC,OAAO,OAAO,2BAA2B;IASvC,IAAI;IACJ,IAAI;IACJ,IAAI;IACT;;;;;;;;OAQG;IACE,WAAW,EAFN,UAAU,GAAG,SAAS;IAlBlC;;;;;;OAMG;IACH,YAAY,EAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAC,EAJ3B;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAqB,IAAI,EAAjB,MAAM,CACd;QAAoC,IAAI,EAAhC,QAAQ,GAAG,UAAU,CAC/B;KAC6B,EAc7B;IAED;;;;;;;;OAQG;IACG,GAAG,CAPI,CAAC,EAOJ,EAAC,SAAS,EAAE,SAAS,EAAE,MAAM,EAAC,EALrC;QAA+C,SAAS,EAAhD,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CACxC;QAAsJ,SAAS,EAAvJ,CAAC,IAAI,EAAE;YAAC,OAAO,EAAE,OAAO,YAAY,EAAE,0BAA0B,CAAC;YAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;SAAC,KAAK,IAAI,CAC/I;QAA2B,MAAM,AAAjC,CACA,EADQ,WAAW,CACnB;KAEqC,GAF3B,OAAO,CAAC,CAAC,CAAC,CA4EtB;CACF"}
@@ -79,6 +79,9 @@ export default class BackgroundJobsSocketRequest {
79
79
  jsonSocket.on("error", (error) => {
80
80
  finish({}, () => reject(error));
81
81
  });
82
+ jsonSocket.on("close", () => {
83
+ finish({ destroy: true }, () => reject(new Error("Background jobs socket closed before the request was acknowledged")));
84
+ });
82
85
  /**
83
86
  * Handles the socket response message.
84
87
  * @param {import("./types.js").BackgroundJobSocketMessage} message - Socket message.
@@ -97,4 +100,4 @@ export default class BackgroundJobsSocketRequest {
97
100
  });
98
101
  }
99
102
  }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2dyb3VuZC1qb2JzL3NvY2tldC1yZXF1ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUE7QUFDckIsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUE7QUFFekMsTUFBTSxDQUFDLE9BQU8sT0FBTywyQkFBMkI7SUFDOUM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCOzs7Ozs7OztXQVFHO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUE7SUFDOUIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUN2RSxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUV6QyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQTtRQUU3QixPQUFPLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFBO1lBQ3BCOzs7OztlQUtHO1lBQ0gsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFDLE9BQU8sR0FBRyxLQUFLLEVBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2xELElBQUksUUFBUTtvQkFBRSxPQUFNO2dCQUNwQixRQUFRLEdBQUcsSUFBSSxDQUFBO2dCQUNmLElBQUksTUFBTTtvQkFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO2dCQUN4RCxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtnQkFFL0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDWixVQUFVLENBQUMsT0FBTyxFQUFFLENBQUE7Z0JBQ3RCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixVQUFVLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ3BCLENBQUM7Z0JBRUQsUUFBUSxFQUFFLENBQUE7WUFDWixDQUFDLENBQUE7WUFFRDs7OztlQUlHO1lBQ0gsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO2dCQUNuQixNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsTUFBTSxDQUFBO2dCQUU3QixNQUFNLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDOUgsQ0FBQyxDQUFBO1lBRUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDbkIsT0FBTyxFQUFFLENBQUE7b0JBQ1QsT0FBTTtnQkFDUixDQUFDO2dCQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDM0MsQ0FBQztZQUVELFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFDakMsQ0FBQyxDQUFDLENBQUE7WUFFRjs7O2VBR0c7WUFDSCxVQUFVLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNuQyxTQUFTLENBQUM7b0JBQ1IsT0FBTztvQkFDUCxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwRCxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNuRCxDQUFDLENBQUE7WUFDSixDQUFDLENBQUMsQ0FBQTtZQUVGLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtnQkFDeEIsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFBO2dCQUNqRCxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDdkIsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgbmV0IGZyb20gXCJuZXRcIlxuaW1wb3J0IEpzb25Tb2NrZXQgZnJvbSBcIi4vanNvbi1zb2NrZXQuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYWNrZ3JvdW5kSm9ic1NvY2tldFJlcXVlc3Qge1xuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5ob3N0IC0gSG9zdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGFyZ3MucG9ydCAtIFBvcnQuXG4gICAqIEBwYXJhbSB7XCJjbGllbnRcIiB8IFwicmVwb3J0ZXJcIn0gYXJncy5yb2xlIC0gU29ja2V0IHJvbGUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7aG9zdCwgcG9ydCwgcm9sZX0pIHtcbiAgICB0aGlzLmhvc3QgPSBob3N0XG4gICAgdGhpcy5wb3J0ID0gcG9ydFxuICAgIHRoaXMucm9sZSA9IHJvbGVcbiAgICAvKipcbiAgICAgKiBJbnRlcm5hbCB0ZXN0LW9ubHkgb2JzZXJ2YWJpbGl0eSByZWZlcmVuY2Ug4oCUIE5PVCBwdWJsaWMgQVBJLiBIb2xkcyB0aGVcbiAgICAgKiBKc29uU29ja2V0IHdyYXBwZXIgdGhpcyByZXF1ZXN0IGNyZWF0ZWQgc28gdGhlIHRpbWVvdXQgc3BlYyBjYW4gaW5zcGVjdCB0aGVcbiAgICAgKiB3cmFwcGVyJ3Mgb3duIGBkZXN0cm95KClgL2BjbG9zZSgpYCBjYWxsIGNvdW50ZXJzIOKAlCBkaXJlY3QgZXZpZGVuY2Ugb2Ygd2hpY2hcbiAgICAgKiB0ZWFyZG93biBtZXRob2QgYWN0dWFsbHkgcmFuLCBub3QgYSBzZWxmLXJlcG9ydGVkIGZsYWcuIFJldGFpbnMgdGhlIHNpbmdsZVxuICAgICAqIChhbHJlYWR5IHRvcm4tZG93bikgd3JhcHBlciBmb3IgdGhlIHJlcXVlc3QncyBsaWZldGltZS4gRG8gbm90IGV4cG9zZSBvclxuICAgICAqIGRlcGVuZCBvbiB0aGlzIG91dHNpZGUgdGVzdHMuXG4gICAgICogQHR5cGUge0pzb25Tb2NrZXQgfCB1bmRlZmluZWR9XG4gICAgICovXG4gICAgdGhpcy5fanNvblNvY2tldCA9IHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcnVuLlxuICAgKiBAdGVtcGxhdGUgVFxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7KGpzb25Tb2NrZXQ6IEpzb25Tb2NrZXQpID0+IHZvaWR9IGFyZ3Mub25Db25uZWN0IC0gQ2FsbGVkIGFmdGVyIHRoZSBzb2NrZXQgY29ubmVjdHMuXG4gICAqIEBwYXJhbSB7KGFyZ3M6IHttZXNzYWdlOiBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JTb2NrZXRNZXNzYWdlLCByZXNvbHZlOiAodmFsdWU6IFQpID0+IHZvaWQsIHJlamVjdDogKGVycm9yOiBFcnJvcikgPT4gdm9pZH0pID0+IHZvaWR9IGFyZ3Mub25NZXNzYWdlIC0gTWVzc2FnZSBoYW5kbGVyLlxuICAgKiBAcGFyYW0ge0Fib3J0U2lnbmFsfSBbYXJncy5zaWduYWxdIC0gQWJvcnRzIHRoZSByZXF1ZXN0OyBvbiBhYm9ydCB0aGUgcGVuZGluZyBzb2NrZXQgaXMgZGVzdHJveWVkIGFuZCB0aGUgcHJvbWlzZSByZWplY3RzIHdpdGggdGhlIHNpZ25hbCByZWFzb24gd2hlbiBpdCBpcyBhbiBFcnJvciwgb3RoZXJ3aXNlIHdpdGggYSBnZW5lcmljIGFib3J0IEVycm9yLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUPn0gLSBSZXNvbHZlZCByZXF1ZXN0IHZhbHVlLlxuICAgKi9cbiAgYXN5bmMgcnVuKHtvbkNvbm5lY3QsIG9uTWVzc2FnZSwgc2lnbmFsfSkge1xuICAgIGNvbnN0IHNvY2tldCA9IG5ldC5jcmVhdGVDb25uZWN0aW9uKHtob3N0OiB0aGlzLmhvc3QsIHBvcnQ6IHRoaXMucG9ydH0pXG4gICAgY29uc3QganNvblNvY2tldCA9IG5ldyBKc29uU29ja2V0KHNvY2tldClcblxuICAgIHRoaXMuX2pzb25Tb2NrZXQgPSBqc29uU29ja2V0XG5cbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbGV0IGZpbmlzaGVkID0gZmFsc2VcbiAgICAgIC8qKlxuICAgICAgICogRmluaXNoLlxuICAgICAgICogQHBhcmFtIHtvYmplY3R9IG9wdGlvbnMgLSBPcHRpb25zLlxuICAgICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5kZXN0cm95XSAtIERlc3Ryb3kgdGhlIHNvY2tldCBpbnN0ZWFkIG9mIGdyYWNlZnVsbHkgY2xvc2luZyBpdC5cbiAgICAgICAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gY2FsbGJhY2sgLSBGaW5pc2ggY2FsbGJhY2suXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IGZpbmlzaCA9ICh7ZGVzdHJveSA9IGZhbHNlfSA9IHt9LCBjYWxsYmFjaykgPT4ge1xuICAgICAgICBpZiAoZmluaXNoZWQpIHJldHVyblxuICAgICAgICBmaW5pc2hlZCA9IHRydWVcbiAgICAgICAgaWYgKHNpZ25hbCkgc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCBvbkFib3J0KVxuICAgICAgICBqc29uU29ja2V0LnJlbW92ZUFsbExpc3RlbmVycygpXG5cbiAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICBqc29uU29ja2V0LmRlc3Ryb3koKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGpzb25Tb2NrZXQuY2xvc2UoKVxuICAgICAgICB9XG5cbiAgICAgICAgY2FsbGJhY2soKVxuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIEhhbmRsZXMgYSBjb29wZXJhdGl2ZSBhYm9ydDogdGVhcnMgZG93biB0aGUgcGVuZGluZyBzb2NrZXQgYW5kIHJlamVjdHNcbiAgICAgICAqIHdpdGggdGhlIHNpZ25hbCByZWFzb24gd2hlbiBpdCBpcyBhbiBFcnJvci5cbiAgICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAgICovXG4gICAgICBjb25zdCBvbkFib3J0ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCByZWFzb24gPSBzaWduYWw/LnJlYXNvblxuXG4gICAgICAgIGZpbmlzaCh7ZGVzdHJveTogdHJ1ZX0sICgpID0+IHJlamVjdChyZWFzb24gaW5zdGFuY2VvZiBFcnJvciA/IHJlYXNvbiA6IG5ldyBFcnJvcihcIkJhY2tncm91bmQgam9iIHNvY2tldCByZXF1ZXN0IGFib3J0ZWRcIikpKVxuICAgICAgfVxuXG4gICAgICBpZiAoc2lnbmFsKSB7XG4gICAgICAgIGlmIChzaWduYWwuYWJvcnRlZCkge1xuICAgICAgICAgIG9uQWJvcnQoKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCBvbkFib3J0KVxuICAgICAgfVxuXG4gICAgICBqc29uU29ja2V0Lm9uKFwiZXJyb3JcIiwgKGVycm9yKSA9PiB7XG4gICAgICAgIGZpbmlzaCh7fSwgKCkgPT4gcmVqZWN0KGVycm9yKSlcbiAgICAgIH0pXG5cbiAgICAgIC8qKlxuICAgICAgICogSGFuZGxlcyB0aGUgc29ja2V0IHJlc3BvbnNlIG1lc3NhZ2UuXG4gICAgICAgKiBAcGFyYW0ge2ltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlNvY2tldE1lc3NhZ2V9IG1lc3NhZ2UgLSBTb2NrZXQgbWVzc2FnZS5cbiAgICAgICAqL1xuICAgICAganNvblNvY2tldC5vbihcIm1lc3NhZ2VcIiwgKG1lc3NhZ2UpID0+IHtcbiAgICAgICAgb25NZXNzYWdlKHtcbiAgICAgICAgICBtZXNzYWdlLFxuICAgICAgICAgIHJlc29sdmU6ICh2YWx1ZSkgPT4gZmluaXNoKHt9LCAoKSA9PiByZXNvbHZlKHZhbHVlKSksXG4gICAgICAgICAgcmVqZWN0OiAoZXJyb3IpID0+IGZpbmlzaCh7fSwgKCkgPT4gcmVqZWN0KGVycm9yKSlcbiAgICAgICAgfSlcbiAgICAgIH0pXG5cbiAgICAgIHNvY2tldC5vbihcImNvbm5lY3RcIiwgKCkgPT4ge1xuICAgICAgICBqc29uU29ja2V0LnNlbmQoe3R5cGU6IFwiaGVsbG9cIiwgcm9sZTogdGhpcy5yb2xlfSlcbiAgICAgICAgb25Db25uZWN0KGpzb25Tb2NrZXQpXG4gICAgICB9KVxuICAgIH0pXG4gIH1cbn1cbiJdfQ==
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LXJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2dyb3VuZC1qb2JzL3NvY2tldC1yZXF1ZXN0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLEdBQUcsTUFBTSxLQUFLLENBQUE7QUFDckIsT0FBTyxVQUFVLE1BQU0sa0JBQWtCLENBQUE7QUFFekMsTUFBTSxDQUFDLE9BQU8sT0FBTywyQkFBMkI7SUFDOUM7Ozs7OztPQU1HO0lBQ0gsWUFBWSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFBO1FBQ2hCOzs7Ozs7OztXQVFHO1FBQ0gsSUFBSSxDQUFDLFdBQVcsR0FBRyxTQUFTLENBQUE7SUFDOUIsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0gsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFDO1FBQ3RDLE1BQU0sTUFBTSxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFDLENBQUMsQ0FBQTtRQUN2RSxNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUV6QyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQTtRQUU3QixPQUFPLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFBO1lBQ3BCOzs7OztlQUtHO1lBQ0gsTUFBTSxNQUFNLEdBQUcsQ0FBQyxFQUFDLE9BQU8sR0FBRyxLQUFLLEVBQUMsR0FBRyxFQUFFLEVBQUUsUUFBUSxFQUFFLEVBQUU7Z0JBQ2xELElBQUksUUFBUTtvQkFBRSxPQUFNO2dCQUNwQixRQUFRLEdBQUcsSUFBSSxDQUFBO2dCQUNmLElBQUksTUFBTTtvQkFBRSxNQUFNLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO2dCQUN4RCxVQUFVLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtnQkFFL0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztvQkFDWixVQUFVLENBQUMsT0FBTyxFQUFFLENBQUE7Z0JBQ3RCLENBQUM7cUJBQU0sQ0FBQztvQkFDTixVQUFVLENBQUMsS0FBSyxFQUFFLENBQUE7Z0JBQ3BCLENBQUM7Z0JBRUQsUUFBUSxFQUFFLENBQUE7WUFDWixDQUFDLENBQUE7WUFFRDs7OztlQUlHO1lBQ0gsTUFBTSxPQUFPLEdBQUcsR0FBRyxFQUFFO2dCQUNuQixNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsTUFBTSxDQUFBO2dCQUU3QixNQUFNLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLE1BQU0sWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsdUNBQXVDLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDOUgsQ0FBQyxDQUFBO1lBRUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztnQkFDWCxJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztvQkFDbkIsT0FBTyxFQUFFLENBQUE7b0JBQ1QsT0FBTTtnQkFDUixDQUFDO2dCQUVELE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7WUFDM0MsQ0FBQztZQUVELFVBQVUsQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7WUFDakMsQ0FBQyxDQUFDLENBQUE7WUFFRixVQUFVLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7Z0JBQzFCLE1BQU0sQ0FBQyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsbUVBQW1FLENBQUMsQ0FBQyxDQUFDLENBQUE7WUFDdkgsQ0FBQyxDQUFDLENBQUE7WUFFRjs7O2VBR0c7WUFDSCxVQUFVLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFO2dCQUNuQyxTQUFTLENBQUM7b0JBQ1IsT0FBTztvQkFDUCxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUNwRCxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNuRCxDQUFDLENBQUE7WUFDSixDQUFDLENBQUMsQ0FBQTtZQUVGLE1BQU0sQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRTtnQkFDeEIsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUMsQ0FBQyxDQUFBO2dCQUNqRCxTQUFTLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDdkIsQ0FBQyxDQUFDLENBQUE7UUFDSixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG5pbXBvcnQgbmV0IGZyb20gXCJuZXRcIlxuaW1wb3J0IEpzb25Tb2NrZXQgZnJvbSBcIi4vanNvbi1zb2NrZXQuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYWNrZ3JvdW5kSm9ic1NvY2tldFJlcXVlc3Qge1xuICAvKipcbiAgICogUnVucyBjb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtvYmplY3R9IGFyZ3MgLSBPcHRpb25zLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gYXJncy5ob3N0IC0gSG9zdC5cbiAgICogQHBhcmFtIHtudW1iZXJ9IGFyZ3MucG9ydCAtIFBvcnQuXG4gICAqIEBwYXJhbSB7XCJjbGllbnRcIiB8IFwicmVwb3J0ZXJcIn0gYXJncy5yb2xlIC0gU29ja2V0IHJvbGUuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcih7aG9zdCwgcG9ydCwgcm9sZX0pIHtcbiAgICB0aGlzLmhvc3QgPSBob3N0XG4gICAgdGhpcy5wb3J0ID0gcG9ydFxuICAgIHRoaXMucm9sZSA9IHJvbGVcbiAgICAvKipcbiAgICAgKiBJbnRlcm5hbCB0ZXN0LW9ubHkgb2JzZXJ2YWJpbGl0eSByZWZlcmVuY2Ug4oCUIE5PVCBwdWJsaWMgQVBJLiBIb2xkcyB0aGVcbiAgICAgKiBKc29uU29ja2V0IHdyYXBwZXIgdGhpcyByZXF1ZXN0IGNyZWF0ZWQgc28gdGhlIHRpbWVvdXQgc3BlYyBjYW4gaW5zcGVjdCB0aGVcbiAgICAgKiB3cmFwcGVyJ3Mgb3duIGBkZXN0cm95KClgL2BjbG9zZSgpYCBjYWxsIGNvdW50ZXJzIOKAlCBkaXJlY3QgZXZpZGVuY2Ugb2Ygd2hpY2hcbiAgICAgKiB0ZWFyZG93biBtZXRob2QgYWN0dWFsbHkgcmFuLCBub3QgYSBzZWxmLXJlcG9ydGVkIGZsYWcuIFJldGFpbnMgdGhlIHNpbmdsZVxuICAgICAqIChhbHJlYWR5IHRvcm4tZG93bikgd3JhcHBlciBmb3IgdGhlIHJlcXVlc3QncyBsaWZldGltZS4gRG8gbm90IGV4cG9zZSBvclxuICAgICAqIGRlcGVuZCBvbiB0aGlzIG91dHNpZGUgdGVzdHMuXG4gICAgICogQHR5cGUge0pzb25Tb2NrZXQgfCB1bmRlZmluZWR9XG4gICAgICovXG4gICAgdGhpcy5fanNvblNvY2tldCA9IHVuZGVmaW5lZFxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgcnVuLlxuICAgKiBAdGVtcGxhdGUgVFxuICAgKiBAcGFyYW0ge29iamVjdH0gYXJncyAtIE9wdGlvbnMuXG4gICAqIEBwYXJhbSB7KGpzb25Tb2NrZXQ6IEpzb25Tb2NrZXQpID0+IHZvaWR9IGFyZ3Mub25Db25uZWN0IC0gQ2FsbGVkIGFmdGVyIHRoZSBzb2NrZXQgY29ubmVjdHMuXG4gICAqIEBwYXJhbSB7KGFyZ3M6IHttZXNzYWdlOiBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JTb2NrZXRNZXNzYWdlLCByZXNvbHZlOiAodmFsdWU6IFQpID0+IHZvaWQsIHJlamVjdDogKGVycm9yOiBFcnJvcikgPT4gdm9pZH0pID0+IHZvaWR9IGFyZ3Mub25NZXNzYWdlIC0gTWVzc2FnZSBoYW5kbGVyLlxuICAgKiBAcGFyYW0ge0Fib3J0U2lnbmFsfSBbYXJncy5zaWduYWxdIC0gQWJvcnRzIHRoZSByZXF1ZXN0OyBvbiBhYm9ydCB0aGUgcGVuZGluZyBzb2NrZXQgaXMgZGVzdHJveWVkIGFuZCB0aGUgcHJvbWlzZSByZWplY3RzIHdpdGggdGhlIHNpZ25hbCByZWFzb24gd2hlbiBpdCBpcyBhbiBFcnJvciwgb3RoZXJ3aXNlIHdpdGggYSBnZW5lcmljIGFib3J0IEVycm9yLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxUPn0gLSBSZXNvbHZlZCByZXF1ZXN0IHZhbHVlLlxuICAgKi9cbiAgYXN5bmMgcnVuKHtvbkNvbm5lY3QsIG9uTWVzc2FnZSwgc2lnbmFsfSkge1xuICAgIGNvbnN0IHNvY2tldCA9IG5ldC5jcmVhdGVDb25uZWN0aW9uKHtob3N0OiB0aGlzLmhvc3QsIHBvcnQ6IHRoaXMucG9ydH0pXG4gICAgY29uc3QganNvblNvY2tldCA9IG5ldyBKc29uU29ja2V0KHNvY2tldClcblxuICAgIHRoaXMuX2pzb25Tb2NrZXQgPSBqc29uU29ja2V0XG5cbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbGV0IGZpbmlzaGVkID0gZmFsc2VcbiAgICAgIC8qKlxuICAgICAgICogRmluaXNoLlxuICAgICAgICogQHBhcmFtIHtvYmplY3R9IG9wdGlvbnMgLSBPcHRpb25zLlxuICAgICAgICogQHBhcmFtIHtib29sZWFufSBbb3B0aW9ucy5kZXN0cm95XSAtIERlc3Ryb3kgdGhlIHNvY2tldCBpbnN0ZWFkIG9mIGdyYWNlZnVsbHkgY2xvc2luZyBpdC5cbiAgICAgICAqIEBwYXJhbSB7KCkgPT4gdm9pZH0gY2FsbGJhY2sgLSBGaW5pc2ggY2FsbGJhY2suXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IGZpbmlzaCA9ICh7ZGVzdHJveSA9IGZhbHNlfSA9IHt9LCBjYWxsYmFjaykgPT4ge1xuICAgICAgICBpZiAoZmluaXNoZWQpIHJldHVyblxuICAgICAgICBmaW5pc2hlZCA9IHRydWVcbiAgICAgICAgaWYgKHNpZ25hbCkgc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCBvbkFib3J0KVxuICAgICAgICBqc29uU29ja2V0LnJlbW92ZUFsbExpc3RlbmVycygpXG5cbiAgICAgICAgaWYgKGRlc3Ryb3kpIHtcbiAgICAgICAgICBqc29uU29ja2V0LmRlc3Ryb3koKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGpzb25Tb2NrZXQuY2xvc2UoKVxuICAgICAgICB9XG5cbiAgICAgICAgY2FsbGJhY2soKVxuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIEhhbmRsZXMgYSBjb29wZXJhdGl2ZSBhYm9ydDogdGVhcnMgZG93biB0aGUgcGVuZGluZyBzb2NrZXQgYW5kIHJlamVjdHNcbiAgICAgICAqIHdpdGggdGhlIHNpZ25hbCByZWFzb24gd2hlbiBpdCBpcyBhbiBFcnJvci5cbiAgICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAgICovXG4gICAgICBjb25zdCBvbkFib3J0ID0gKCkgPT4ge1xuICAgICAgICBjb25zdCByZWFzb24gPSBzaWduYWw/LnJlYXNvblxuXG4gICAgICAgIGZpbmlzaCh7ZGVzdHJveTogdHJ1ZX0sICgpID0+IHJlamVjdChyZWFzb24gaW5zdGFuY2VvZiBFcnJvciA/IHJlYXNvbiA6IG5ldyBFcnJvcihcIkJhY2tncm91bmQgam9iIHNvY2tldCByZXF1ZXN0IGFib3J0ZWRcIikpKVxuICAgICAgfVxuXG4gICAgICBpZiAoc2lnbmFsKSB7XG4gICAgICAgIGlmIChzaWduYWwuYWJvcnRlZCkge1xuICAgICAgICAgIG9uQWJvcnQoKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLCBvbkFib3J0KVxuICAgICAgfVxuXG4gICAgICBqc29uU29ja2V0Lm9uKFwiZXJyb3JcIiwgKGVycm9yKSA9PiB7XG4gICAgICAgIGZpbmlzaCh7fSwgKCkgPT4gcmVqZWN0KGVycm9yKSlcbiAgICAgIH0pXG5cbiAgICAgIGpzb25Tb2NrZXQub24oXCJjbG9zZVwiLCAoKSA9PiB7XG4gICAgICAgIGZpbmlzaCh7ZGVzdHJveTogdHJ1ZX0sICgpID0+IHJlamVjdChuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kIGpvYnMgc29ja2V0IGNsb3NlZCBiZWZvcmUgdGhlIHJlcXVlc3Qgd2FzIGFja25vd2xlZGdlZFwiKSkpXG4gICAgICB9KVxuXG4gICAgICAvKipcbiAgICAgICAqIEhhbmRsZXMgdGhlIHNvY2tldCByZXNwb25zZSBtZXNzYWdlLlxuICAgICAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JTb2NrZXRNZXNzYWdlfSBtZXNzYWdlIC0gU29ja2V0IG1lc3NhZ2UuXG4gICAgICAgKi9cbiAgICAgIGpzb25Tb2NrZXQub24oXCJtZXNzYWdlXCIsIChtZXNzYWdlKSA9PiB7XG4gICAgICAgIG9uTWVzc2FnZSh7XG4gICAgICAgICAgbWVzc2FnZSxcbiAgICAgICAgICByZXNvbHZlOiAodmFsdWUpID0+IGZpbmlzaCh7fSwgKCkgPT4gcmVzb2x2ZSh2YWx1ZSkpLFxuICAgICAgICAgIHJlamVjdDogKGVycm9yKSA9PiBmaW5pc2goe30sICgpID0+IHJlamVjdChlcnJvcikpXG4gICAgICAgIH0pXG4gICAgICB9KVxuXG4gICAgICBzb2NrZXQub24oXCJjb25uZWN0XCIsICgpID0+IHtcbiAgICAgICAganNvblNvY2tldC5zZW5kKHt0eXBlOiBcImhlbGxvXCIsIHJvbGU6IHRoaXMucm9sZX0pXG4gICAgICAgIG9uQ29ubmVjdChqc29uU29ja2V0KVxuICAgICAgfSlcbiAgICB9KVxuICB9XG59XG4iXX0=
@@ -1,3 +1,4 @@
1
+ export type AddColumnArgsType = import("../table-data/table-column.js").TableColumnArgsType;
1
2
  export type CreateTableIdArgsType = {
2
3
  /**
3
4
  * - Default value for the ID column.
@@ -151,10 +152,10 @@ export default class VelociousDatabaseMigration {
151
152
  * @param {string} tableName - Table name.
152
153
  * @param {string} columnName - Column name.
153
154
  * @param {string} columnType - Column type.
154
- * @param {import("../table-data/table-column.js").TableColumnArgsType} [args] - Options object.
155
+ * @param {AddColumnArgsType} [args] - Options object.
155
156
  * @returns {Promise<void>} - Resolves when complete.
156
157
  */
157
- addColumn(tableName: string, columnName: string, columnType: string, args?: import("../table-data/table-column.js").TableColumnArgsType): Promise<void>;
158
+ addColumn(tableName: string, columnName: string, columnType: string, args?: AddColumnArgsType): Promise<void>;
158
159
  /**
159
160
  * Runs remove column.
160
161
  * @param {string} tableName - Table name.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/migration/index.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/database/migration/index.js"],"names":[],"mappings":"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"}