velocious 1.0.611 → 1.0.612
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/build/background-jobs/adapter.js +3 -1
- package/build/background-jobs/json-socket.js +4 -0
- package/build/background-jobs/local-adapter.js +1 -1
- package/build/background-jobs/local-store.js +2 -3
- package/build/background-jobs/main.js +166 -12
- package/build/background-jobs/store.js +2 -3
- package/build/background-jobs/types.js +6 -0
- package/build/src/background-jobs/adapter.d.ts +4 -5
- package/build/src/background-jobs/adapter.d.ts.map +1 -1
- package/build/src/background-jobs/adapter.js +4 -2
- package/build/src/background-jobs/json-socket.d.ts +4 -0
- package/build/src/background-jobs/json-socket.d.ts.map +1 -1
- package/build/src/background-jobs/json-socket.js +5 -1
- package/build/src/background-jobs/local-adapter.d.ts +2 -5
- package/build/src/background-jobs/local-adapter.d.ts.map +1 -1
- package/build/src/background-jobs/local-adapter.js +2 -2
- package/build/src/background-jobs/local-store.d.ts +2 -5
- package/build/src/background-jobs/local-store.d.ts.map +1 -1
- package/build/src/background-jobs/local-store.js +3 -4
- package/build/src/background-jobs/main.d.ts +90 -1
- package/build/src/background-jobs/main.d.ts.map +1 -1
- package/build/src/background-jobs/main.js +161 -15
- package/build/src/background-jobs/store.d.ts +3 -1
- package/build/src/background-jobs/store.d.ts.map +1 -1
- package/build/src/background-jobs/store.js +3 -3
- package/build/src/background-jobs/types.d.ts +20 -0
- package/build/src/background-jobs/types.d.ts.map +1 -1
- package/build/src/background-jobs/types.js +7 -1
- package/package.json +1 -1
- package/src/background-jobs/adapter.js +3 -1
- package/src/background-jobs/json-socket.js +4 -0
- package/src/background-jobs/local-adapter.js +1 -1
- package/src/background-jobs/local-store.js +2 -3
- package/src/background-jobs/main.js +166 -12
- package/src/background-jobs/store.js +2 -3
- package/src/background-jobs/types.js +6 -0
package/README.md
CHANGED
|
@@ -2595,7 +2595,7 @@ Each job must define exactly one of `every` or `cron`. Cron times are evaluated
|
|
|
2595
2595
|
|
|
2596
2596
|
## Persistence and retries
|
|
2597
2597
|
|
|
2598
|
-
Jobs are persisted in the configured database (`backgroundJobs.databaseIdentifier`) in an internal `background_jobs` table. When a worker picks a job, the
|
|
2598
|
+
Jobs are persisted in the configured database (`backgroundJobs.databaseIdentifier`) in an internal `background_jobs` table. When a worker picks a job, the main generates a unique lease id before asking the adapter to mark the job handed off, and the worker reports completion or failure back to the main process. If that persistence call has an ambiguous result, only the exact caller-generated lease is conditionally returned; failed recovery is retained for the dispatch error-retry path, so worker admission and concurrency do not remain stranded and a newer lease is never reclaimed. Custom adapters must persist a supplied `markHandedOff({handoffId})` exactly; built-in adapters continue generating one for legacy direct callers that omit it. If a worker socket disconnects unexpectedly, only the leases handed to that exact socket are immediately returned to the queue; late reports are fenced by lease id so they cannot mutate a newer attempt. This recovery is at-least-once and may repeat application side effects if the disconnected attempt had already started them. Gracefully draining workers keep their leases while they finish. When the **main** itself restarts (every deploy), a reconnecting worker's still-active handoffs are adopted into its new socket on `hello` so a later disconnect releases them instead of leaving them stuck until the orphan sweep; the main never time-reclaims a disconnected worker's jobs, so a gracefully-draining old-release worker is not double-run. For rolling upgrades, upgrade workers before the main process: a lease-aware main keeps legacy workers connected for old reports but dispatches new jobs only to workers advertising lease-reporting support. See [docs/background-jobs.md](docs/background-jobs.md#worker-disconnect-recovery).
|
|
2599
2599
|
|
|
2600
2600
|
Failed jobs are re-queued with backoff and retried up to 10 times by default (10s, 1m, 10m, 1h, then +1h per retry). You can override the retry limit per job:
|
|
2601
2601
|
|
|
@@ -83,7 +83,9 @@ export default class BackgroundJobsAdapter {
|
|
|
83
83
|
|
|
84
84
|
/**
|
|
85
85
|
* Starts a job by claiming its durable handoff.
|
|
86
|
-
*
|
|
86
|
+
* When `handoffId` is supplied, the adapter must persist and return that exact
|
|
87
|
+
* id so the caller can fence an ambiguous commit acknowledgement.
|
|
88
|
+
* @param {import("./types.js").BackgroundJobHandoffRequest} _args - Handoff request.
|
|
87
89
|
* @returns {Promise<import("./types.js").BackgroundJobHandoff | null>} - Claimed handoff.
|
|
88
90
|
*/
|
|
89
91
|
async markHandedOff(_args) { throw new Error("BackgroundJobsAdapter#markHandedOff is not implemented") }
|
|
@@ -32,6 +32,10 @@ export default class JsonSocket extends EventEmitter {
|
|
|
32
32
|
this.availablePooledSlots = 0
|
|
33
33
|
/** Whether the worker/main pair uses consumable pooled-capacity credits. */
|
|
34
34
|
this.usesPooledCapacityCredits = false
|
|
35
|
+
/** Whether this worker has permanently stopped accepting new handoffs. */
|
|
36
|
+
this.isDraining = false
|
|
37
|
+
/** Monotonic generation of the worker's latest readiness advertisement. */
|
|
38
|
+
this.readinessVersion = 0
|
|
35
39
|
/**
|
|
36
40
|
* Narrows the runtime value to the documented type.
|
|
37
41
|
* @type {boolean} */
|
|
@@ -107,7 +107,7 @@ export default class LocalBackgroundJobsAdapter extends BackgroundJobsAdapter {
|
|
|
107
107
|
|
|
108
108
|
/**
|
|
109
109
|
* Claims one queued local job.
|
|
110
|
-
* @param {
|
|
110
|
+
* @param {import("./types.js").BackgroundJobHandoffRequest} args - Claim request. A supplied handoff id is persisted exactly.
|
|
111
111
|
* @returns {Promise<import("./types.js").BackgroundJobHandoff | null>} - Handoff.
|
|
112
112
|
*/
|
|
113
113
|
async markHandedOff(args) { return await this.store.markHandedOff(args) }
|
|
@@ -693,10 +693,10 @@ export default class LocalBackgroundJobsStore {
|
|
|
693
693
|
|
|
694
694
|
/**
|
|
695
695
|
* Atomically reserves concurrency and claims one queued job.
|
|
696
|
-
* @param {
|
|
696
|
+
* @param {import("./types.js").BackgroundJobHandoffRequest} args - Claim request. A supplied handoff id is persisted exactly.
|
|
697
697
|
* @returns {Promise<import("./types.js").BackgroundJobHandoff | null>} - Fenced claim.
|
|
698
698
|
*/
|
|
699
|
-
async markHandedOff({jobId, workerId}) {
|
|
699
|
+
async markHandedOff({jobId, handoffId = new UUID(4).format(), workerId}) {
|
|
700
700
|
await this.ensureReady()
|
|
701
701
|
|
|
702
702
|
return await this._withDb(async (connection) => await this._mutate(connection, async (db) => {
|
|
@@ -706,7 +706,6 @@ export default class LocalBackgroundJobsStore {
|
|
|
706
706
|
if (job.concurrencyKey && !(await this._reserveConcurrency(db, job.concurrencyKey))) return null
|
|
707
707
|
|
|
708
708
|
const handedOffAtMs = this.clock.now()
|
|
709
|
-
const handoffId = new UUID(4).format()
|
|
710
709
|
const affectedRows = await this._updateAffectedRows(db, {
|
|
711
710
|
conditions: {id: jobId, status: "queued"},
|
|
712
711
|
data: {handed_off_at_ms: handedOffAtMs, handoff_id: handoffId, status: "handed_off", worker_id: workerId || "local"},
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// @ts-check
|
|
2
2
|
|
|
3
|
+
import { randomUUID } from "crypto"
|
|
3
4
|
import net from "net"
|
|
4
5
|
import JsonSocket from "./json-socket.js"
|
|
5
6
|
import BackgroundJobsScheduler from "./scheduler.js"
|
|
@@ -92,6 +93,12 @@ export default class BackgroundJobsMain {
|
|
|
92
93
|
* Active durable handoffs keyed by the exact worker socket that received them.
|
|
93
94
|
* @type {Map<JsonSocket, Map<string, string>>} */
|
|
94
95
|
this.workerHandoffs = new Map()
|
|
96
|
+
/**
|
|
97
|
+
* Exact caller-generated leases whose claim outcome was ambiguous or whose
|
|
98
|
+
* pre-dispatch release has not yet been acknowledged. Retained until a
|
|
99
|
+
* fenced return succeeds (including an exact no-op).
|
|
100
|
+
* @type {Map<string, string>} */
|
|
101
|
+
this.pendingHandoffRecoveries = new Map()
|
|
95
102
|
/**
|
|
96
103
|
* Handoff-adoption queries started by worker hello messages. Shutdown must
|
|
97
104
|
* wait for these before closing the configuration's database pools.
|
|
@@ -667,6 +674,7 @@ export default class BackgroundJobsMain {
|
|
|
667
674
|
* @returns {void}
|
|
668
675
|
*/
|
|
669
676
|
_handleWorkerReady({jsonSocket, message}) {
|
|
677
|
+
jsonSocket.readinessVersion += 1
|
|
670
678
|
jsonSocket.acceptsSpawnedJobs = message.acceptsSpawned !== false && message.acceptsForked !== false
|
|
671
679
|
jsonSocket.acceptsForkedJobs = message.acceptsForked !== false
|
|
672
680
|
jsonSocket.acceptsPooledJobs = message.acceptsPooled === true
|
|
@@ -676,7 +684,7 @@ export default class BackgroundJobsMain {
|
|
|
676
684
|
? availablePooledSlots
|
|
677
685
|
: 0
|
|
678
686
|
jsonSocket.acceptsInlineJobs = message.acceptsInline !== false
|
|
679
|
-
if (jsonSocket.supportsHandoffIdReporting) {
|
|
687
|
+
if (jsonSocket.supportsHandoffIdReporting && !jsonSocket.isDraining) {
|
|
680
688
|
this.readyWorkers.add(jsonSocket)
|
|
681
689
|
} else {
|
|
682
690
|
this.readyWorkers.delete(jsonSocket)
|
|
@@ -694,6 +702,7 @@ export default class BackgroundJobsMain {
|
|
|
694
702
|
// The worker is shutting down gracefully. Stop dispatching new jobs
|
|
695
703
|
// to it but keep the connection in `workers` so any in-flight job
|
|
696
704
|
// it's still draining can report its result.
|
|
705
|
+
jsonSocket.isDraining = true
|
|
697
706
|
this.readyWorkers.delete(jsonSocket)
|
|
698
707
|
}
|
|
699
708
|
|
|
@@ -1230,6 +1239,8 @@ export default class BackgroundJobsMain {
|
|
|
1230
1239
|
* Runs clear error retry timer.
|
|
1231
1240
|
* @returns {void} */
|
|
1232
1241
|
_clearErrorRetryTimer() {
|
|
1242
|
+
if (this.pendingHandoffRecoveries.size > 0) return
|
|
1243
|
+
|
|
1233
1244
|
for (const worker of this.workerHandoffs.keys()) {
|
|
1234
1245
|
if (!this.workers.has(worker)) return
|
|
1235
1246
|
}
|
|
@@ -1296,12 +1307,20 @@ export default class BackgroundJobsMain {
|
|
|
1296
1307
|
}
|
|
1297
1308
|
|
|
1298
1309
|
/**
|
|
1299
|
-
* Retries failed disconnected-socket releases before
|
|
1310
|
+
* Retries failed pre-dispatch and disconnected-socket releases before
|
|
1311
|
+
* draining queued work.
|
|
1300
1312
|
* @returns {Promise<void>} - Resolves after retry work.
|
|
1301
1313
|
*/
|
|
1302
1314
|
async _retryAfterError() {
|
|
1303
1315
|
if (this._stopped) return
|
|
1304
1316
|
|
|
1317
|
+
try {
|
|
1318
|
+
await this._retryPendingHandoffRecoveries()
|
|
1319
|
+
} catch {
|
|
1320
|
+
this._scheduleErrorRetry()
|
|
1321
|
+
return
|
|
1322
|
+
}
|
|
1323
|
+
|
|
1305
1324
|
try {
|
|
1306
1325
|
for (const worker of this.workerHandoffs.keys()) {
|
|
1307
1326
|
if (!this.workers.has(worker)) await this._releaseWorkerHandoffs(worker)
|
|
@@ -1328,30 +1347,46 @@ export default class BackgroundJobsMain {
|
|
|
1328
1347
|
const worker = this.readyWorkerForJob(job)
|
|
1329
1348
|
if (!worker) return
|
|
1330
1349
|
|
|
1331
|
-
this.
|
|
1350
|
+
const admission = this._consumeWorkerAdmission({job, worker})
|
|
1351
|
+
const requestedHandoffId = randomUUID()
|
|
1352
|
+
let handoff
|
|
1332
1353
|
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1354
|
+
try {
|
|
1355
|
+
handoff = await this.store.markHandedOff({handoffId: requestedHandoffId, jobId: job.id, workerId: worker.workerId})
|
|
1356
|
+
} catch (error) {
|
|
1357
|
+
this._rememberHandoffRecovery({handoffId: requestedHandoffId, jobId: job.id})
|
|
1358
|
+
this._restoreWorkerAdmission({...admission, worker})
|
|
1337
1359
|
|
|
1338
|
-
|
|
1360
|
+
try {
|
|
1361
|
+
await this._recoverHandoff({handoffId: requestedHandoffId, jobId: job.id})
|
|
1362
|
+
} catch (recoveryError) {
|
|
1363
|
+
this._reportHandoffRecoveryError({error: recoveryError, handoffId: requestedHandoffId, jobId: job.id})
|
|
1364
|
+
}
|
|
1365
|
+
|
|
1366
|
+
throw error
|
|
1367
|
+
}
|
|
1339
1368
|
|
|
1340
1369
|
if (!handoff) {
|
|
1341
|
-
|
|
1342
|
-
if (this.workers.has(worker)) this.readyWorkers.add(worker)
|
|
1370
|
+
this._restoreWorkerAdmission({...admission, worker})
|
|
1343
1371
|
continue
|
|
1344
1372
|
}
|
|
1345
1373
|
|
|
1346
1374
|
const handoffs = this.workerHandoffs.get(worker)
|
|
1347
1375
|
|
|
1348
|
-
if (!handoffs || !this.workers.has(worker)) {
|
|
1349
|
-
|
|
1376
|
+
if (!handoffs || !this.workers.has(worker) || worker.isDraining) {
|
|
1377
|
+
this._rememberHandoffRecovery({handoffId: handoff.handoffId, jobId: job.id})
|
|
1378
|
+
try {
|
|
1379
|
+
await this._recoverHandoff({handoffId: handoff.handoffId, jobId: job.id})
|
|
1380
|
+
} catch (recoveryError) {
|
|
1381
|
+
this._reportHandoffRecoveryError({error: recoveryError, handoffId: handoff.handoffId, jobId: job.id})
|
|
1382
|
+
throw recoveryError
|
|
1383
|
+
}
|
|
1350
1384
|
this._notifyEnqueued()
|
|
1351
1385
|
this._redrainQueued = true
|
|
1352
1386
|
continue
|
|
1353
1387
|
}
|
|
1354
1388
|
|
|
1389
|
+
this._finalizeWorkerAdmission({...admission, job, worker})
|
|
1355
1390
|
handoffs.set(job.id, handoff.handoffId)
|
|
1356
1391
|
|
|
1357
1392
|
try {
|
|
@@ -1382,6 +1417,125 @@ export default class BackgroundJobsMain {
|
|
|
1382
1417
|
}
|
|
1383
1418
|
}
|
|
1384
1419
|
|
|
1420
|
+
/**
|
|
1421
|
+
* Consumes one advertised worker admission while persistence is in flight.
|
|
1422
|
+
* @param {object} args - Admission details.
|
|
1423
|
+
* @param {import("./types.js").BackgroundJobRow} args.job - Selected job.
|
|
1424
|
+
* @param {JsonSocket} args.worker - Selected worker socket.
|
|
1425
|
+
* @returns {{pooledCreditConsumed: boolean, readinessVersion: number}} - Reversible admission debit.
|
|
1426
|
+
*/
|
|
1427
|
+
_consumeWorkerAdmission({job, worker}) {
|
|
1428
|
+
let pooledCreditConsumed = false
|
|
1429
|
+
|
|
1430
|
+
this.readyWorkers.delete(worker)
|
|
1431
|
+
|
|
1432
|
+
if (job.executionMode === "pooled" && worker.usesPooledCapacityCredits && worker.availablePooledSlots > 0) {
|
|
1433
|
+
pooledCreditConsumed = true
|
|
1434
|
+
worker.availablePooledSlots -= 1
|
|
1435
|
+
if (worker.availablePooledSlots > 0) this.readyWorkers.add(worker)
|
|
1436
|
+
}
|
|
1437
|
+
|
|
1438
|
+
return {pooledCreditConsumed, readinessVersion: worker.readinessVersion}
|
|
1439
|
+
}
|
|
1440
|
+
|
|
1441
|
+
/**
|
|
1442
|
+
* Restores an admission that never reached a worker. A newer readiness
|
|
1443
|
+
* advertisement is already authoritative, so its pooled count is not changed.
|
|
1444
|
+
* @param {object} args - Admission details.
|
|
1445
|
+
* @param {boolean} args.pooledCreditConsumed - Whether a pooled credit was debited.
|
|
1446
|
+
* @param {number} args.readinessVersion - Readiness generation at debit time.
|
|
1447
|
+
* @param {JsonSocket} args.worker - Selected worker socket.
|
|
1448
|
+
* @returns {void}
|
|
1449
|
+
*/
|
|
1450
|
+
_restoreWorkerAdmission({pooledCreditConsumed, readinessVersion, worker}) {
|
|
1451
|
+
if (this._stopped || !this.workers.has(worker) || worker.isDraining) return
|
|
1452
|
+
|
|
1453
|
+
if (pooledCreditConsumed && worker.readinessVersion === readinessVersion) {
|
|
1454
|
+
worker.availablePooledSlots += 1
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1457
|
+
if (worker.supportsHandoffIdReporting) this.readyWorkers.add(worker)
|
|
1458
|
+
}
|
|
1459
|
+
|
|
1460
|
+
/**
|
|
1461
|
+
* Applies a successful pooled admission to a readiness advertisement that
|
|
1462
|
+
* arrived while persistence was in flight and replaced the earlier debit.
|
|
1463
|
+
* @param {object} args - Admission details.
|
|
1464
|
+
* @param {import("./types.js").BackgroundJobRow} args.job - Selected job.
|
|
1465
|
+
* @param {boolean} args.pooledCreditConsumed - Whether a pooled credit was debited.
|
|
1466
|
+
* @param {number} args.readinessVersion - Readiness generation at debit time.
|
|
1467
|
+
* @param {JsonSocket} args.worker - Selected worker socket.
|
|
1468
|
+
* @returns {void}
|
|
1469
|
+
*/
|
|
1470
|
+
_finalizeWorkerAdmission({job, pooledCreditConsumed, readinessVersion, worker}) {
|
|
1471
|
+
if (!pooledCreditConsumed || job.executionMode !== "pooled") return
|
|
1472
|
+
if (worker.readinessVersion === readinessVersion || !worker.usesPooledCapacityCredits) return
|
|
1473
|
+
if (worker.availablePooledSlots <= 0) return
|
|
1474
|
+
|
|
1475
|
+
worker.availablePooledSlots -= 1
|
|
1476
|
+
if (worker.availablePooledSlots === 0) this.readyWorkers.delete(worker)
|
|
1477
|
+
}
|
|
1478
|
+
|
|
1479
|
+
/**
|
|
1480
|
+
* Retains an exact lease for idempotent pre-dispatch recovery.
|
|
1481
|
+
* @param {{handoffId: string, jobId: string}} args - Exact recovery fence.
|
|
1482
|
+
* @returns {void}
|
|
1483
|
+
*/
|
|
1484
|
+
_rememberHandoffRecovery({handoffId, jobId}) {
|
|
1485
|
+
this.pendingHandoffRecoveries.set(handoffId, jobId)
|
|
1486
|
+
}
|
|
1487
|
+
|
|
1488
|
+
/**
|
|
1489
|
+
* Returns one exact lease and forgets it only after the adapter acknowledges
|
|
1490
|
+
* the fenced transition or confirms it was already absent.
|
|
1491
|
+
* @param {{handoffId: string, jobId: string}} args - Exact recovery fence.
|
|
1492
|
+
* @returns {Promise<void>} - Resolves after durable recovery settles.
|
|
1493
|
+
*/
|
|
1494
|
+
async _recoverHandoff({handoffId, jobId}) {
|
|
1495
|
+
await this.store.markReturnedToQueue({handoffId, jobId})
|
|
1496
|
+
|
|
1497
|
+
if (this.pendingHandoffRecoveries.get(handoffId) === jobId) {
|
|
1498
|
+
this.pendingHandoffRecoveries.delete(handoffId)
|
|
1499
|
+
}
|
|
1500
|
+
}
|
|
1501
|
+
|
|
1502
|
+
/**
|
|
1503
|
+
* Replays retained exact-ID recoveries through the dispatcher's existing
|
|
1504
|
+
* transient-error retry lifecycle.
|
|
1505
|
+
* @returns {Promise<void>} - Resolves after every retained recovery settles.
|
|
1506
|
+
*/
|
|
1507
|
+
async _retryPendingHandoffRecoveries() {
|
|
1508
|
+
for (const [handoffId, jobId] of [...this.pendingHandoffRecoveries]) {
|
|
1509
|
+
try {
|
|
1510
|
+
await this._recoverHandoff({handoffId, jobId})
|
|
1511
|
+
} catch (error) {
|
|
1512
|
+
this._reportHandoffRecoveryError({error, handoffId, jobId})
|
|
1513
|
+
throw error
|
|
1514
|
+
}
|
|
1515
|
+
}
|
|
1516
|
+
}
|
|
1517
|
+
|
|
1518
|
+
/**
|
|
1519
|
+
* Surfaces a failed exact-ID recovery without dropping its retry ledger entry.
|
|
1520
|
+
* @param {object} args - Recovery failure.
|
|
1521
|
+
* @param {ReturnType<typeof JSON.parse>} args.error - Adapter failure.
|
|
1522
|
+
* @param {string} args.handoffId - Exact lease fence.
|
|
1523
|
+
* @param {string} args.jobId - Job id.
|
|
1524
|
+
* @returns {void}
|
|
1525
|
+
*/
|
|
1526
|
+
_reportHandoffRecoveryError({error, handoffId, jobId}) {
|
|
1527
|
+
const normalizedError = error instanceof Error ? error : new Error(String(error))
|
|
1528
|
+
const payload = {
|
|
1529
|
+
context: {handoffId, jobId, stage: "background-job-handoff-admission-recovery"},
|
|
1530
|
+
error: normalizedError
|
|
1531
|
+
}
|
|
1532
|
+
const errorEvents = this.configuration.getErrorEvents()
|
|
1533
|
+
|
|
1534
|
+
this.logger.error(() => ["Failed to recover an ambiguous background job handoff:", normalizedError])
|
|
1535
|
+
errorEvents.emit("framework-error", payload)
|
|
1536
|
+
errorEvents.emit("all-error", {...payload, errorType: "framework-error"})
|
|
1537
|
+
}
|
|
1538
|
+
|
|
1385
1539
|
/**
|
|
1386
1540
|
* Runs next available job for ready workers.
|
|
1387
1541
|
* @returns {Promise<import("./types.js").BackgroundJobRow | null>} - Next queued job matching ready worker capacity.
|
|
@@ -916,10 +916,11 @@ export default class BackgroundJobsStore extends BackgroundJobsAdapter {
|
|
|
916
916
|
* Runs mark handed off.
|
|
917
917
|
* @param {object} args - Options.
|
|
918
918
|
* @param {string} args.jobId - Job id.
|
|
919
|
+
* @param {string} [args.handoffId] - Caller-selected exact lease id. Generated for legacy direct callers when omitted.
|
|
919
920
|
* @param {string} [args.workerId] - Worker id.
|
|
920
921
|
* @returns {Promise<import("./types.js").BackgroundJobHandoff | null>} - Claimed handoff lease, or null when no longer queued.
|
|
921
922
|
*/
|
|
922
|
-
async markHandedOff({jobId, workerId}) {
|
|
923
|
+
async markHandedOff({jobId, handoffId = randomUUID(), workerId}) {
|
|
923
924
|
await this.ensureReady()
|
|
924
925
|
|
|
925
926
|
const handedOffAtMs = Date.now()
|
|
@@ -928,8 +929,6 @@ export default class BackgroundJobsStore extends BackgroundJobsAdapter {
|
|
|
928
929
|
const queuedJob = await this._getJobRowById(db, jobId)
|
|
929
930
|
if (!queuedJob || queuedJob.status !== "queued") return null
|
|
930
931
|
if (queuedJob.concurrencyKey && !(await this._reserveConcurrency(db, queuedJob.concurrencyKey))) return null
|
|
931
|
-
const handoffId = randomUUID()
|
|
932
|
-
|
|
933
932
|
const affectedRows = await this._updateAffectedRows(db, {
|
|
934
933
|
tableName: JOBS_TABLE,
|
|
935
934
|
data: {
|
|
@@ -43,6 +43,12 @@
|
|
|
43
43
|
* @property {string} handoffId - Unique handoff lease id.
|
|
44
44
|
* @property {number} handedOffAtMs - Time handed to a worker in ms.
|
|
45
45
|
*/
|
|
46
|
+
/**
|
|
47
|
+
* @typedef {object} BackgroundJobHandoffRequest
|
|
48
|
+
* @property {string} jobId - Job to claim.
|
|
49
|
+
* @property {string} [handoffId] - Exact caller-selected lease id. Adapters must persist and return this id when supplied; built-in adapters generate one when omitted for legacy direct callers.
|
|
50
|
+
* @property {string} [workerId] - Worker claiming the job.
|
|
51
|
+
*/
|
|
46
52
|
/**
|
|
47
53
|
* @typedef {object} BackgroundJobOptions
|
|
48
54
|
* @property {BackgroundJobExecutionMode} [executionMode] - How the job should run. Node defaults to `"pooled"` (a warm, reused local runner process). Browser/Expo local dispatch defaults to and only accepts `"inline"`. `"forked"` runs a Node job in a fresh `child_process.fork()` child, and `"spawned"` in a detached CLI runner.
|
|
@@ -81,13 +81,12 @@ export default class BackgroundJobsAdapter {
|
|
|
81
81
|
getJob(_jobId: string): Promise<import("./types.js").BackgroundJobRow | null>;
|
|
82
82
|
/**
|
|
83
83
|
* Starts a job by claiming its durable handoff.
|
|
84
|
-
*
|
|
84
|
+
* When `handoffId` is supplied, the adapter must persist and return that exact
|
|
85
|
+
* id so the caller can fence an ambiguous commit acknowledgement.
|
|
86
|
+
* @param {import("./types.js").BackgroundJobHandoffRequest} _args - Handoff request.
|
|
85
87
|
* @returns {Promise<import("./types.js").BackgroundJobHandoff | null>} - Claimed handoff.
|
|
86
88
|
*/
|
|
87
|
-
markHandedOff(_args:
|
|
88
|
-
jobId: string;
|
|
89
|
-
workerId?: string;
|
|
90
|
-
}): Promise<import("./types.js").BackgroundJobHandoff | null>;
|
|
89
|
+
markHandedOff(_args: import("./types.js").BackgroundJobHandoffRequest): Promise<import("./types.js").BackgroundJobHandoff | null>;
|
|
91
90
|
/**
|
|
92
91
|
* Marks a handed-off job successful.
|
|
93
92
|
* @param {{jobId: string, handoffId?: string, workerId?: string, handedOffAtMs?: number}} _args - Completion report.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/adapter.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,CAAC,OAAO,OAAO,qBAAqB;IACxC;;;OAGG;IACG,WAAW,IAFJ,OAAO,CAAC,IAAI,CAAC,CAEqE;IAE/F;;;OAGG;IACG,KAAK,IAFE,OAAO,CAAC,IAAI,CAAC,CAEV;IAEhB;;;OAGG;IACG,MAAM,IAFC,OAAO,CAAC,OAAO,YAAY,EAAE,oBAAoB,CAAC,CAI9D;IAED;;;;;OAKG;IACG,qBAAqB,CAAC,KAAK,EAHtB;QAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,6BAA6B,EAAE,OAAO,CAAC,CAAA;KAG7C,GAFpB,OAAO,CAAC,IAAI,CAAC,CAEW;IAErC;;;OAGG;IACG,yBAAyB,IAFlB,OAAO,CAAC,IAAI,CAAC,CAEiG;IAE3H;;;;OAIG;IACG,OAAO,CAAC,KAAK,EAHR;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;KAGzG,GAFN,OAAO,CAAC,MAAM,CAAC,CAEgE;IAE5F;;;;OAIG;IACG,gBAAgB,CAAC,KAAK,EAHjB;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;KAGrH,GAFf,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CAEqC;IAE9G;;;;OAIG;IACG,eAAe,CAAC,YAAY,EAHvB,MAGuB,GAFrB,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CAEyC;IAEnH;;;;OAIG;IACG,gBAAgB,CAAC,KAAK,AAHzB,CACA,EADQ;QAAC,aAAa,CAAC,EAAE,OAAO,YAAY,EAAE,0BAA0B,GAAG,OAAO,YAAY,EAAE,0BAA0B,EAAE,CAAA;KAG9F,GAFpB,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAEiD;IAEnH;;;OAGG;IACG,gBAAgB,IAFT,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAEuC;IAEzG;;;;OAIG;IACG,MAAM,CAAC,MAAM,EAHR,MAGQ,GAFN,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAEyB;IAE3F
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/adapter.js"],"names":[],"mappings":"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"}
|
|
@@ -71,7 +71,9 @@ export default class BackgroundJobsAdapter {
|
|
|
71
71
|
async getJob(_jobId) { throw new Error("BackgroundJobsAdapter#getJob is not implemented"); }
|
|
72
72
|
/**
|
|
73
73
|
* Starts a job by claiming its durable handoff.
|
|
74
|
-
*
|
|
74
|
+
* When `handoffId` is supplied, the adapter must persist and return that exact
|
|
75
|
+
* id so the caller can fence an ambiguous commit acknowledgement.
|
|
76
|
+
* @param {import("./types.js").BackgroundJobHandoffRequest} _args - Handoff request.
|
|
75
77
|
* @returns {Promise<import("./types.js").BackgroundJobHandoff | null>} - Claimed handoff.
|
|
76
78
|
*/
|
|
77
79
|
async markHandedOff(_args) { throw new Error("BackgroundJobsAdapter#markHandedOff is not implemented"); }
|
|
@@ -118,4 +120,4 @@ export default class BackgroundJobsAdapter {
|
|
|
118
120
|
*/
|
|
119
121
|
async pruneTerminalJobs(_args = {}) { throw new Error("BackgroundJobsAdapter#pruneTerminalJobs is not implemented"); }
|
|
120
122
|
}
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWNrZ3JvdW5kLWpvYnMvYWRhcHRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVo7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8scUJBQXFCO0lBQ3hDOzs7T0FHRztJQUNILEtBQUssQ0FBQyxXQUFXLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUUvRjs7O09BR0c7SUFDSCxLQUFLLENBQUMsS0FBSyxLQUFJLENBQUM7SUFFaEI7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE1BQU07UUFDVixPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFBO0lBQ3RCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLElBQUcsQ0FBQztJQUVyQzs7O09BR0c7SUFDSCxLQUFLLENBQUMseUJBQXlCLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxvRUFBb0UsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUUzSDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUU1Rjs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTlHOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLFlBQVksSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRW5IOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRW5IOzs7T0FHRztJQUNILEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXpHOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTNGOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXhHOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLHdEQUF3RCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXhHOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTVHOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsbUJBQW1CLENBQUMsS0FBSyxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFcEg7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxpRUFBaUUsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUUxSDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVsRzs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUssR0FBRyxFQUFFLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVuSDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGlCQUFpQixDQUFDLEtBQUssR0FBRyxFQUFFLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxDQUFBLENBQUMsQ0FBQztDQUN0SCIsInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1jaGVja1xuXG4vKipcbiAqIFBsYXRmb3JtLW5ldXRyYWwgcGVyc2lzdGVuY2UgYW5kIGxpZmVjeWNsZSBjb250cmFjdCB1c2VkIGJ5IHRoZSBiYWNrZ3JvdW5kLWpvYnNcbiAqIHJ1bnRpbWUuIEFkYXB0ZXJzIG93biBkdXJhYmxlIHF1ZXVlIHN0YXRlOyB0cmFuc3BvcnQgYW5kIGpvYiBleGVjdXRpb24gcmVtYWluXG4gKiBzZXBhcmF0ZSBjb25jZXJucy5cbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmFja2dyb3VuZEpvYnNBZGFwdGVyIHtcbiAgLyoqXG4gICAqIEVuc3VyZXMgdGhlIGFkYXB0ZXIgY2FuIGFjY2VwdCB3b3JrLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIHJlYWR5LlxuICAgKi9cbiAgYXN5bmMgZW5zdXJlUmVhZHkoKSB7IHRocm93IG5ldyBFcnJvcihcIkJhY2tncm91bmRKb2JzQWRhcHRlciNlbnN1cmVSZWFkeSBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgYWRhcHRlci1vd25lZCByZXNvdXJjZXMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIGFmdGVyIGNsb3NlLlxuICAgKi9cbiAgYXN5bmMgY2xvc2UoKSB7fVxuXG4gIC8qKlxuICAgKiBSZXBvcnRzIGFkYXB0ZXIgaGVhbHRoLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JzSGVhbHRoPn0gLSBBZGFwdGVyIGhlYWx0aC5cbiAgICovXG4gIGFzeW5jIGhlYWx0aCgpIHtcbiAgICByZXR1cm4ge3JlYWR5OiB0cnVlfVxuICB9XG5cbiAgLyoqXG4gICAqIEVuc3VyZXMgZnJhbWV3b3JrLW93bmVkIHBlcnNpc3RlbmNlIGR1cmluZyBhIG1pZ3JhdGlvbiBsaWZlY3ljbGUuIE5vbi1TUUxcbiAgICogYWRhcHRlcnMgbWF5IGxlYXZlIHRoaXMgYXMgYSBuby1vcC5cbiAgICogQHBhcmFtIHt7ZGJzOiBSZWNvcmQ8c3RyaW5nLCBpbXBvcnQoXCIuLi9kYXRhYmFzZS9kcml2ZXJzL2Jhc2UuanNcIikuZGVmYXVsdD59fSBfYXJncyAtIE1pZ3JhdGVkIGRhdGFiYXNlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgd2hlbiBjb21wbGV0ZS5cbiAgICovXG4gIGFzeW5jIGVuc3VyZUZyYW1ld29ya1NjaGVtYShfYXJncykge31cblxuICAvKipcbiAgICogUmVjb25jaWxlcyBjb25maWd1cmVkIHF1ZXVlIGxpbWl0cy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgYWZ0ZXIgcmVjb25jaWxpYXRpb24uXG4gICAqL1xuICBhc3luYyByZWNvbmNpbGVRdWV1ZUNvbmN1cnJlbmN5KCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjcmVjb25jaWxlUXVldWVDb25jdXJyZW5jeSBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBFbnF1ZXVlcyBhIGpvYi5cbiAgICogQHBhcmFtIHt7am9iTmFtZTogc3RyaW5nLCBhcmdzOiBBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj4sIG9wdGlvbnM/OiBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfX0gX2FyZ3MgLSBKb2IgcmVxdWVzdC5cbiAgICogQHJldHVybnMge1Byb21pc2U8c3RyaW5nPn0gLSBKb2IgaWQuXG4gICAqL1xuICBhc3luYyBlbnF1ZXVlKF9hcmdzKSB7IHRocm93IG5ldyBFcnJvcihcIkJhY2tncm91bmRKb2JzQWRhcHRlciNlbnF1ZXVlIGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIHRoZSBvd25lciBvZiBhIHN0YWJsZSBzY2hlZHVsZSBrZXkuXG4gICAqIEBwYXJhbSB7e3NjaGVkdWxlS2V5OiBzdHJpbmcsIGpvYk5hbWU6IHN0cmluZywgYXJnczogQXJyYXk8UmV0dXJuVHlwZTx0eXBlb2YgSlNPTi5wYXJzZT4+LCBvcHRpb25zPzogaW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iT3B0aW9uc319IF9hcmdzIC0gUmVwbGFjZW1lbnQgcmVxdWVzdC5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iUmVwbGFjZW1lbnRSZXN1bHQ+fSAtIFJlcGxhY2VtZW50IHJlc3VsdC5cbiAgICovXG4gIGFzeW5jIHJlcGxhY2VTY2hlZHVsZWQoX2FyZ3MpIHsgdGhyb3cgbmV3IEVycm9yKFwiQmFja2dyb3VuZEpvYnNBZGFwdGVyI3JlcGxhY2VTY2hlZHVsZWQgaXMgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKipcbiAgICogQ2FuY2VscyB0aGUgb3duZXIgb2YgYSBzdGFibGUgc2NoZWR1bGUga2V5LlxuICAgKiBAcGFyYW0ge3N0cmluZ30gX3NjaGVkdWxlS2V5IC0gU3RhYmxlIHNjaGVkdWxlIGtleS5cbiAgICogQHJldHVybnMge1Byb21pc2U8aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iQ2FuY2VsbGF0aW9uUmVzdWx0Pn0gLSBDYW5jZWxsYXRpb24gcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgY2FuY2VsU2NoZWR1bGVkKF9zY2hlZHVsZUtleSkgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjY2FuY2VsU2NoZWR1bGVkIGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBuZXh0IGVsaWdpYmxlIGpvYi5cbiAgICogQHBhcmFtIHt7ZXhlY3V0aW9uTW9kZT86IGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYkV4ZWN1dGlvbk1vZGUgfCBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JFeGVjdXRpb25Nb2RlW119fSBbX2FyZ3NdIC0gRGVxdWV1ZSBmaWx0ZXJzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JSb3cgfCBudWxsPn0gLSBOZXh0IGVsaWdpYmxlIGpvYi5cbiAgICovXG4gIGFzeW5jIG5leHRBdmFpbGFibGVKb2IoX2FyZ3MgPSB7fSkgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjbmV4dEF2YWlsYWJsZUpvYiBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyB0aGUgc29vbmVzdCBmdXR1cmUgam9iLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JSb3cgfCBudWxsPn0gLSBTb29uZXN0IGZ1dHVyZSBqb2IuXG4gICAqL1xuICBhc3luYyBuZXh0U2NoZWR1bGVkSm9iKCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjbmV4dFNjaGVkdWxlZEpvYiBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBvbmUgam9iLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gX2pvYklkIC0gSm9iIGlkLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JSb3cgfCBudWxsPn0gLSBKb2Igcm93LlxuICAgKi9cbiAgYXN5bmMgZ2V0Sm9iKF9qb2JJZCkgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjZ2V0Sm9iIGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0cyBhIGpvYiBieSBjbGFpbWluZyBpdHMgZHVyYWJsZSBoYW5kb2ZmLlxuICAgKiBAcGFyYW0ge3tqb2JJZDogc3RyaW5nLCB3b3JrZXJJZD86IHN0cmluZ319IF9hcmdzIC0gSGFuZG9mZiByZXF1ZXN0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JIYW5kb2ZmIHwgbnVsbD59IC0gQ2xhaW1lZCBoYW5kb2ZmLlxuICAgKi9cbiAgYXN5bmMgbWFya0hhbmRlZE9mZihfYXJncykgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjbWFya0hhbmRlZE9mZiBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBNYXJrcyBhIGhhbmRlZC1vZmYgam9iIHN1Y2Nlc3NmdWwuXG4gICAqIEBwYXJhbSB7e2pvYklkOiBzdHJpbmcsIGhhbmRvZmZJZD86IHN0cmluZywgd29ya2VySWQ/OiBzdHJpbmcsIGhhbmRlZE9mZkF0TXM/OiBudW1iZXJ9fSBfYXJncyAtIENvbXBsZXRpb24gcmVwb3J0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gLSBXaGV0aGVyIHRoZSBmZW5jZWQgcmVwb3J0IHdhcyBhY2NlcHRlZC5cbiAgICovXG4gIGFzeW5jIG1hcmtDb21wbGV0ZWQoX2FyZ3MpIHsgdGhyb3cgbmV3IEVycm9yKFwiQmFja2dyb3VuZEpvYnNBZGFwdGVyI21hcmtDb21wbGV0ZWQgaXMgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGhhbmRlZC1vZmYgam9iIHRvIGl0cyBzY2hlZHVsZS5cbiAgICogQHBhcmFtIHt7am9iSWQ6IHN0cmluZywgZGVsYXlNczogbnVtYmVyLCBoYW5kb2ZmSWQ/OiBzdHJpbmcsIHdvcmtlcklkPzogc3RyaW5nLCBoYW5kZWRPZmZBdE1zPzogbnVtYmVyfX0gX2FyZ3MgLSBSZXNjaGVkdWxlIHJlcG9ydC5cbiAgICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IC0gV2hldGhlciB0aGUgZmVuY2VkIHJlcG9ydCB3YXMgYWNjZXB0ZWQuXG4gICAqL1xuICBhc3luYyBtYXJrUmVzY2hlZHVsZWQoX2FyZ3MpIHsgdGhyb3cgbmV3IEVycm9yKFwiQmFja2dyb3VuZEpvYnNBZGFwdGVyI21hcmtSZXNjaGVkdWxlZCBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgaGFuZGVkLW9mZiBqb2IgdG8gdGhlIHF1ZXVlLlxuICAgKiBAcGFyYW0ge3tqb2JJZDogc3RyaW5nLCBoYW5kb2ZmSWQ6IHN0cmluZ319IF9hcmdzIC0gSGFuZG9mZiByZWxlYXNlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyBhZnRlciB0aGUgam9iIGlzIHJldHVybmVkLlxuICAgKi9cbiAgYXN5bmMgbWFya1JldHVybmVkVG9RdWV1ZShfYXJncykgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjbWFya1JldHVybmVkVG9RdWV1ZSBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyBhY3RpdmUgaGFuZG9mZnMgZm9yIGEgd29ya2VyLlxuICAgKiBAcGFyYW0ge3t3b3JrZXJJZDogc3RyaW5nfX0gX2FyZ3MgLSBXb3JrZXIgaWRlbnRpdHkuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PHtqb2JJZDogc3RyaW5nLCBoYW5kb2ZmSWQ6IHN0cmluZ30+Pn0gLSBBY3RpdmUgd29ya2VyIGhhbmRvZmZzLlxuICAgKi9cbiAgYXN5bmMgaGFuZGVkT2ZmSm9ic0ZvcldvcmtlcihfYXJncykgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjaGFuZGVkT2ZmSm9ic0ZvcldvcmtlciBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBNYXJrcyBhIGhhbmRlZC1vZmYgam9iIGZhaWxlZCBvciByZXRyeWFibGUuXG4gICAqIEBwYXJhbSB7e2pvYklkOiBzdHJpbmcsIGVycm9yOiBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPiwgaGFuZG9mZklkPzogc3RyaW5nLCB3b3JrZXJJZD86IHN0cmluZywgaGFuZGVkT2ZmQXRNcz86IG51bWJlcn19IF9hcmdzIC0gRmFpbHVyZSByZXBvcnQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlJvdyB8IG51bGw+fSAtIFVwZGF0ZWQgam9iIHdoZW4gYWNjZXB0ZWQuXG4gICAqL1xuICBhc3luYyBtYXJrRmFpbGVkKF9hcmdzKSB7IHRocm93IG5ldyBFcnJvcihcIkJhY2tncm91bmRKb2JzQWRhcHRlciNtYXJrRmFpbGVkIGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIFJlY2xhaW1zIGV4cGlyZWQgaGFuZG9mZnMuXG4gICAqIEBwYXJhbSB7e29ycGhhbmVkQWZ0ZXJNcz86IG51bWJlcn19IFtfYXJnc10gLSBTd2VlcCBvcHRpb25zLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JSb3dbXT59IC0gTmV3bHkgb3JwaGFuZWQgam9icy5cbiAgICovXG4gIGFzeW5jIG1hcmtPcnBoYW5lZEpvYnMoX2FyZ3MgPSB7fSkgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjbWFya09ycGhhbmVkSm9icyBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBQcnVuZXMgdGVybWluYWwgam9icyBwYXN0IHRoZWlyIHJldGVudGlvbiB3aW5kb3dzLlxuICAgKiBAcGFyYW0ge3tjb21wbGV0ZWRUdGxNcz86IG51bWJlciB8IG51bGwsIGZhaWxlZFR0bE1zPzogbnVtYmVyIHwgbnVsbCwgYmF0Y2hTaXplPzogbnVtYmVyfX0gW19hcmdzXSAtIFJldGVudGlvbiBvcHRpb25zLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxudW1iZXI+fSAtIERlbGV0ZWQgcm93cy5cbiAgICovXG4gIGFzeW5jIHBydW5lVGVybWluYWxKb2JzKF9hcmdzID0ge30pIHsgdGhyb3cgbmV3IEVycm9yKFwiQmFja2dyb3VuZEpvYnNBZGFwdGVyI3BydW5lVGVybWluYWxKb2JzIGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG59XG4iXX0=
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhcHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYWNrZ3JvdW5kLWpvYnMvYWRhcHRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxZQUFZO0FBRVo7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8scUJBQXFCO0lBQ3hDOzs7T0FHRztJQUNILEtBQUssQ0FBQyxXQUFXLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxzREFBc0QsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUUvRjs7O09BR0c7SUFDSCxLQUFLLENBQUMsS0FBSyxLQUFJLENBQUM7SUFFaEI7OztPQUdHO0lBQ0gsS0FBSyxDQUFDLE1BQU07UUFDVixPQUFPLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBQyxDQUFBO0lBQ3RCLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNILEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxLQUFLLElBQUcsQ0FBQztJQUVyQzs7O09BR0c7SUFDSCxLQUFLLENBQUMseUJBQXlCLEtBQUssTUFBTSxJQUFJLEtBQUssQ0FBQyxvRUFBb0UsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUUzSDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyxrREFBa0QsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUU1Rjs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTlHOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZUFBZSxDQUFDLFlBQVksSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLDBEQUEwRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRW5IOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRW5IOzs7T0FHRztJQUNILEtBQUssQ0FBQyxnQkFBZ0IsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRXpHOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLGlEQUFpRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTNGOzs7Ozs7T0FNRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFeEc7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxhQUFhLENBQUMsS0FBSyxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFeEc7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxJQUFJLE1BQU0sSUFBSSxLQUFLLENBQUMsMERBQTBELENBQUMsQ0FBQSxDQUFDLENBQUM7SUFFNUc7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLElBQUksTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBOEQsQ0FBQyxDQUFBLENBQUMsQ0FBQztJQUVwSDs7OztPQUlHO0lBQ0gsS0FBSyxDQUFDLHNCQUFzQixDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLGlFQUFpRSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRTFIOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLHFEQUFxRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRWxHOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLDJEQUEyRCxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBRW5IOzs7O09BSUc7SUFDSCxLQUFLLENBQUMsaUJBQWlCLENBQUMsS0FBSyxHQUFHLEVBQUUsSUFBSSxNQUFNLElBQUksS0FBSyxDQUFDLDREQUE0RCxDQUFDLENBQUEsQ0FBQyxDQUFDO0NBQ3RIIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbi8qKlxuICogUGxhdGZvcm0tbmV1dHJhbCBwZXJzaXN0ZW5jZSBhbmQgbGlmZWN5Y2xlIGNvbnRyYWN0IHVzZWQgYnkgdGhlIGJhY2tncm91bmQtam9ic1xuICogcnVudGltZS4gQWRhcHRlcnMgb3duIGR1cmFibGUgcXVldWUgc3RhdGU7IHRyYW5zcG9ydCBhbmQgam9iIGV4ZWN1dGlvbiByZW1haW5cbiAqIHNlcGFyYXRlIGNvbmNlcm5zLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIge1xuICAvKipcbiAgICogRW5zdXJlcyB0aGUgYWRhcHRlciBjYW4gYWNjZXB0IHdvcmsuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPHZvaWQ+fSAtIFJlc29sdmVzIHdoZW4gcmVhZHkuXG4gICAqL1xuICBhc3luYyBlbnN1cmVSZWFkeSgpIHsgdGhyb3cgbmV3IEVycm9yKFwiQmFja2dyb3VuZEpvYnNBZGFwdGVyI2Vuc3VyZVJlYWR5IGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhZGFwdGVyLW93bmVkIHJlc291cmNlcy5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IC0gUmVzb2x2ZXMgYWZ0ZXIgY2xvc2UuXG4gICAqL1xuICBhc3luYyBjbG9zZSgpIHt9XG5cbiAgLyoqXG4gICAqIFJlcG9ydHMgYWRhcHRlciBoZWFsdGguXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYnNIZWFsdGg+fSAtIEFkYXB0ZXIgaGVhbHRoLlxuICAgKi9cbiAgYXN5bmMgaGVhbHRoKCkge1xuICAgIHJldHVybiB7cmVhZHk6IHRydWV9XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyBmcmFtZXdvcmstb3duZWQgcGVyc2lzdGVuY2UgZHVyaW5nIGEgbWlncmF0aW9uIGxpZmVjeWNsZS4gTm9uLVNRTFxuICAgKiBhZGFwdGVycyBtYXkgbGVhdmUgdGhpcyBhcyBhIG5vLW9wLlxuICAgKiBAcGFyYW0ge3tkYnM6IFJlY29yZDxzdHJpbmcsIGltcG9ydChcIi4uL2RhdGFiYXNlL2RyaXZlcnMvYmFzZS5qc1wiKS5kZWZhdWx0Pn19IF9hcmdzIC0gTWlncmF0ZWQgZGF0YWJhc2VzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyB3aGVuIGNvbXBsZXRlLlxuICAgKi9cbiAgYXN5bmMgZW5zdXJlRnJhbWV3b3JrU2NoZW1hKF9hcmdzKSB7fVxuXG4gIC8qKlxuICAgKiBSZWNvbmNpbGVzIGNvbmZpZ3VyZWQgcXVldWUgbGltaXRzLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyBhZnRlciByZWNvbmNpbGlhdGlvbi5cbiAgICovXG4gIGFzeW5jIHJlY29uY2lsZVF1ZXVlQ29uY3VycmVuY3koKSB7IHRocm93IG5ldyBFcnJvcihcIkJhY2tncm91bmRKb2JzQWRhcHRlciNyZWNvbmNpbGVRdWV1ZUNvbmN1cnJlbmN5IGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIEVucXVldWVzIGEgam9iLlxuICAgKiBAcGFyYW0ge3tqb2JOYW1lOiBzdHJpbmcsIGFyZ3M6IEFycmF5PFJldHVyblR5cGU8dHlwZW9mIEpTT04ucGFyc2U+Piwgb3B0aW9ucz86IGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYk9wdGlvbnN9fSBfYXJncyAtIEpvYiByZXF1ZXN0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxzdHJpbmc+fSAtIEpvYiBpZC5cbiAgICovXG4gIGFzeW5jIGVucXVldWUoX2FyZ3MpIHsgdGhyb3cgbmV3IEVycm9yKFwiQmFja2dyb3VuZEpvYnNBZGFwdGVyI2VucXVldWUgaXMgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKipcbiAgICogUmVwbGFjZXMgdGhlIG93bmVyIG9mIGEgc3RhYmxlIHNjaGVkdWxlIGtleS5cbiAgICogQHBhcmFtIHt7c2NoZWR1bGVLZXk6IHN0cmluZywgam9iTmFtZTogc3RyaW5nLCBhcmdzOiBBcnJheTxSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPj4sIG9wdGlvbnM/OiBpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JPcHRpb25zfX0gX2FyZ3MgLSBSZXBsYWNlbWVudCByZXF1ZXN0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JSZXBsYWNlbWVudFJlc3VsdD59IC0gUmVwbGFjZW1lbnQgcmVzdWx0LlxuICAgKi9cbiAgYXN5bmMgcmVwbGFjZVNjaGVkdWxlZChfYXJncykgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjcmVwbGFjZVNjaGVkdWxlZCBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBDYW5jZWxzIHRoZSBvd25lciBvZiBhIHN0YWJsZSBzY2hlZHVsZSBrZXkuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBfc2NoZWR1bGVLZXkgLSBTdGFibGUgc2NoZWR1bGUga2V5LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JDYW5jZWxsYXRpb25SZXN1bHQ+fSAtIENhbmNlbGxhdGlvbiByZXN1bHQuXG4gICAqL1xuICBhc3luYyBjYW5jZWxTY2hlZHVsZWQoX3NjaGVkdWxlS2V5KSB7IHRocm93IG5ldyBFcnJvcihcIkJhY2tncm91bmRKb2JzQWRhcHRlciNjYW5jZWxTY2hlZHVsZWQgaXMgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKipcbiAgICogRmluZHMgdGhlIG5leHQgZWxpZ2libGUgam9iLlxuICAgKiBAcGFyYW0ge3tleGVjdXRpb25Nb2RlPzogaW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iRXhlY3V0aW9uTW9kZSB8IGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYkV4ZWN1dGlvbk1vZGVbXX19IFtfYXJnc10gLSBEZXF1ZXVlIGZpbHRlcnMuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlJvdyB8IG51bGw+fSAtIE5leHQgZWxpZ2libGUgam9iLlxuICAgKi9cbiAgYXN5bmMgbmV4dEF2YWlsYWJsZUpvYihfYXJncyA9IHt9KSB7IHRocm93IG5ldyBFcnJvcihcIkJhY2tncm91bmRKb2JzQWRhcHRlciNuZXh0QXZhaWxhYmxlSm9iIGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBzb29uZXN0IGZ1dHVyZSBqb2IuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlJvdyB8IG51bGw+fSAtIFNvb25lc3QgZnV0dXJlIGpvYi5cbiAgICovXG4gIGFzeW5jIG5leHRTY2hlZHVsZWRKb2IoKSB7IHRocm93IG5ldyBFcnJvcihcIkJhY2tncm91bmRKb2JzQWRhcHRlciNuZXh0U2NoZWR1bGVkSm9iIGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIG9uZSBqb2IuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBfam9iSWQgLSBKb2IgaWQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlJvdyB8IG51bGw+fSAtIEpvYiByb3cuXG4gICAqL1xuICBhc3luYyBnZXRKb2IoX2pvYklkKSB7IHRocm93IG5ldyBFcnJvcihcIkJhY2tncm91bmRKb2JzQWRhcHRlciNnZXRKb2IgaXMgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKipcbiAgICogU3RhcnRzIGEgam9iIGJ5IGNsYWltaW5nIGl0cyBkdXJhYmxlIGhhbmRvZmYuXG4gICAqIFdoZW4gYGhhbmRvZmZJZGAgaXMgc3VwcGxpZWQsIHRoZSBhZGFwdGVyIG11c3QgcGVyc2lzdCBhbmQgcmV0dXJuIHRoYXQgZXhhY3RcbiAgICogaWQgc28gdGhlIGNhbGxlciBjYW4gZmVuY2UgYW4gYW1iaWd1b3VzIGNvbW1pdCBhY2tub3dsZWRnZW1lbnQuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwiLi90eXBlcy5qc1wiKS5CYWNrZ3JvdW5kSm9iSGFuZG9mZlJlcXVlc3R9IF9hcmdzIC0gSGFuZG9mZiByZXF1ZXN0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JIYW5kb2ZmIHwgbnVsbD59IC0gQ2xhaW1lZCBoYW5kb2ZmLlxuICAgKi9cbiAgYXN5bmMgbWFya0hhbmRlZE9mZihfYXJncykgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjbWFya0hhbmRlZE9mZiBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBNYXJrcyBhIGhhbmRlZC1vZmYgam9iIHN1Y2Nlc3NmdWwuXG4gICAqIEBwYXJhbSB7e2pvYklkOiBzdHJpbmcsIGhhbmRvZmZJZD86IHN0cmluZywgd29ya2VySWQ/OiBzdHJpbmcsIGhhbmRlZE9mZkF0TXM/OiBudW1iZXJ9fSBfYXJncyAtIENvbXBsZXRpb24gcmVwb3J0LlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxib29sZWFuPn0gLSBXaGV0aGVyIHRoZSBmZW5jZWQgcmVwb3J0IHdhcyBhY2NlcHRlZC5cbiAgICovXG4gIGFzeW5jIG1hcmtDb21wbGV0ZWQoX2FyZ3MpIHsgdGhyb3cgbmV3IEVycm9yKFwiQmFja2dyb3VuZEpvYnNBZGFwdGVyI21hcmtDb21wbGV0ZWQgaXMgbm90IGltcGxlbWVudGVkXCIpIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGhhbmRlZC1vZmYgam9iIHRvIGl0cyBzY2hlZHVsZS5cbiAgICogQHBhcmFtIHt7am9iSWQ6IHN0cmluZywgZGVsYXlNczogbnVtYmVyLCBoYW5kb2ZmSWQ/OiBzdHJpbmcsIHdvcmtlcklkPzogc3RyaW5nLCBoYW5kZWRPZmZBdE1zPzogbnVtYmVyfX0gX2FyZ3MgLSBSZXNjaGVkdWxlIHJlcG9ydC5cbiAgICogQHJldHVybnMge1Byb21pc2U8Ym9vbGVhbj59IC0gV2hldGhlciB0aGUgZmVuY2VkIHJlcG9ydCB3YXMgYWNjZXB0ZWQuXG4gICAqL1xuICBhc3luYyBtYXJrUmVzY2hlZHVsZWQoX2FyZ3MpIHsgdGhyb3cgbmV3IEVycm9yKFwiQmFja2dyb3VuZEpvYnNBZGFwdGVyI21hcmtSZXNjaGVkdWxlZCBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgaGFuZGVkLW9mZiBqb2IgdG8gdGhlIHF1ZXVlLlxuICAgKiBAcGFyYW0ge3tqb2JJZDogc3RyaW5nLCBoYW5kb2ZmSWQ6IHN0cmluZ319IF9hcmdzIC0gSGFuZG9mZiByZWxlYXNlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gLSBSZXNvbHZlcyBhZnRlciB0aGUgam9iIGlzIHJldHVybmVkLlxuICAgKi9cbiAgYXN5bmMgbWFya1JldHVybmVkVG9RdWV1ZShfYXJncykgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjbWFya1JldHVybmVkVG9RdWV1ZSBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBGaW5kcyBhY3RpdmUgaGFuZG9mZnMgZm9yIGEgd29ya2VyLlxuICAgKiBAcGFyYW0ge3t3b3JrZXJJZDogc3RyaW5nfX0gX2FyZ3MgLSBXb3JrZXIgaWRlbnRpdHkuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPEFycmF5PHtqb2JJZDogc3RyaW5nLCBoYW5kb2ZmSWQ6IHN0cmluZ30+Pn0gLSBBY3RpdmUgd29ya2VyIGhhbmRvZmZzLlxuICAgKi9cbiAgYXN5bmMgaGFuZGVkT2ZmSm9ic0ZvcldvcmtlcihfYXJncykgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjaGFuZGVkT2ZmSm9ic0ZvcldvcmtlciBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBNYXJrcyBhIGhhbmRlZC1vZmYgam9iIGZhaWxlZCBvciByZXRyeWFibGUuXG4gICAqIEBwYXJhbSB7e2pvYklkOiBzdHJpbmcsIGVycm9yOiBSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPiwgaGFuZG9mZklkPzogc3RyaW5nLCB3b3JrZXJJZD86IHN0cmluZywgaGFuZGVkT2ZmQXRNcz86IG51bWJlcn19IF9hcmdzIC0gRmFpbHVyZSByZXBvcnQuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPGltcG9ydChcIi4vdHlwZXMuanNcIikuQmFja2dyb3VuZEpvYlJvdyB8IG51bGw+fSAtIFVwZGF0ZWQgam9iIHdoZW4gYWNjZXB0ZWQuXG4gICAqL1xuICBhc3luYyBtYXJrRmFpbGVkKF9hcmdzKSB7IHRocm93IG5ldyBFcnJvcihcIkJhY2tncm91bmRKb2JzQWRhcHRlciNtYXJrRmFpbGVkIGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG5cbiAgLyoqXG4gICAqIFJlY2xhaW1zIGV4cGlyZWQgaGFuZG9mZnMuXG4gICAqIEBwYXJhbSB7e29ycGhhbmVkQWZ0ZXJNcz86IG51bWJlcn19IFtfYXJnc10gLSBTd2VlcCBvcHRpb25zLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxpbXBvcnQoXCIuL3R5cGVzLmpzXCIpLkJhY2tncm91bmRKb2JSb3dbXT59IC0gTmV3bHkgb3JwaGFuZWQgam9icy5cbiAgICovXG4gIGFzeW5jIG1hcmtPcnBoYW5lZEpvYnMoX2FyZ3MgPSB7fSkgeyB0aHJvdyBuZXcgRXJyb3IoXCJCYWNrZ3JvdW5kSm9ic0FkYXB0ZXIjbWFya09ycGhhbmVkSm9icyBpcyBub3QgaW1wbGVtZW50ZWRcIikgfVxuXG4gIC8qKlxuICAgKiBQcnVuZXMgdGVybWluYWwgam9icyBwYXN0IHRoZWlyIHJldGVudGlvbiB3aW5kb3dzLlxuICAgKiBAcGFyYW0ge3tjb21wbGV0ZWRUdGxNcz86IG51bWJlciB8IG51bGwsIGZhaWxlZFR0bE1zPzogbnVtYmVyIHwgbnVsbCwgYmF0Y2hTaXplPzogbnVtYmVyfX0gW19hcmdzXSAtIFJldGVudGlvbiBvcHRpb25zLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxudW1iZXI+fSAtIERlbGV0ZWQgcm93cy5cbiAgICovXG4gIGFzeW5jIHBydW5lVGVybWluYWxKb2JzKF9hcmdzID0ge30pIHsgdGhyb3cgbmV3IEVycm9yKFwiQmFja2dyb3VuZEpvYnNBZGFwdGVyI3BydW5lVGVybWluYWxKb2JzIGlzIG5vdCBpbXBsZW1lbnRlZFwiKSB9XG59XG4iXX0=
|
|
@@ -23,6 +23,10 @@ export default class JsonSocket extends EventEmitter {
|
|
|
23
23
|
availablePooledSlots: number;
|
|
24
24
|
/** Whether the worker/main pair uses consumable pooled-capacity credits. */
|
|
25
25
|
usesPooledCapacityCredits: boolean;
|
|
26
|
+
/** Whether this worker has permanently stopped accepting new handoffs. */
|
|
27
|
+
isDraining: boolean;
|
|
28
|
+
/** Monotonic generation of the worker's latest readiness advertisement. */
|
|
29
|
+
readinessVersion: number;
|
|
26
30
|
/**
|
|
27
31
|
* Narrows the runtime value to the documented type.
|
|
28
32
|
* @type {boolean} */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-socket.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/json-socket.js"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,2BAA2B,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAY;IAO3C,MAAM;IACX;;oCAEgC;IAC3B,QAAQ,EADH,MAAM,GAAG,SAAS;IAE5B;;yBAEqB;IAChB,0BAA0B,EADrB,OAAO;IAEjB;;yBAEqB;IAChB,kBAAkB,EADb,OAAO;IAEjB;;yBAEqB;IAChB,iBAAiB,EADZ,OAAO;IAEjB,sBAAsB;IACjB,iBAAiB,EADX,OAAO;IAElB,yEAAyE;IACpE,oBAAoB;IACzB,4EAA4E;IACvE,yBAAyB;IAC9B;;yBAEqB;IAChB,iBAAiB,EADZ,OAAO;IAEjB;;;;;yBAKqB;IAChB,iBAAiB,EADZ,OAAO;IAEjB;;;oCAGgC;IAC3B,UAAU,EADL,MAAM,GAAG,SAAS;IAE5B;;;;;wBAKoB;IACf,iBAAiB,EADZ,MAAM;IAEhB;;;;wBAIoB;IACf,eAAe,EADV,MAAM;IAEX,MAAM;
|
|
1
|
+
{"version":3,"file":"json-socket.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/json-socket.js"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,2BAA2B,CAAA;AAEpD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,YAAY;IAO3C,MAAM;IACX;;oCAEgC;IAC3B,QAAQ,EADH,MAAM,GAAG,SAAS;IAE5B;;yBAEqB;IAChB,0BAA0B,EADrB,OAAO;IAEjB;;yBAEqB;IAChB,kBAAkB,EADb,OAAO;IAEjB;;yBAEqB;IAChB,iBAAiB,EADZ,OAAO;IAEjB,sBAAsB;IACjB,iBAAiB,EADX,OAAO;IAElB,yEAAyE;IACpE,oBAAoB;IACzB,4EAA4E;IACvE,yBAAyB;IAC9B,0EAA0E;IACrE,UAAU;IACf,2EAA2E;IACtE,gBAAgB;IACrB;;yBAEqB;IAChB,iBAAiB,EADZ,OAAO;IAEjB;;;;;yBAKqB;IAChB,iBAAiB,EADZ,OAAO;IAEjB;;;oCAGgC;IAC3B,UAAU,EADL,MAAM,GAAG,SAAS;IAE5B;;;;;wBAKoB;IACf,iBAAiB,EADZ,MAAM;IAEhB;;;;wBAIoB;IACf,eAAe,EADV,MAAM;IAEX,MAAM;IA9Db;;;OAGG;IACH,YAAY,MAAM,EAFP,OAAO,KAAK,EAAE,MAEP,EA+DjB;IAED;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAHF,MAGE,GAFA,IAAI,CAqBhB;IAED;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAHD,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAG3B,GAFC,IAAI,CAIhB;IAED;;;OAGG;IACH,KAAK,IAFQ,IAAI,CAKhB;IAED;;;;;OAKG;IACH,OAAO,IAFM,IAAI,CAKhB;CACF"}
|
|
@@ -30,6 +30,10 @@ export default class JsonSocket extends EventEmitter {
|
|
|
30
30
|
this.availablePooledSlots = 0;
|
|
31
31
|
/** Whether the worker/main pair uses consumable pooled-capacity credits. */
|
|
32
32
|
this.usesPooledCapacityCredits = false;
|
|
33
|
+
/** Whether this worker has permanently stopped accepting new handoffs. */
|
|
34
|
+
this.isDraining = false;
|
|
35
|
+
/** Monotonic generation of the worker's latest readiness advertisement. */
|
|
36
|
+
this.readinessVersion = 0;
|
|
33
37
|
/**
|
|
34
38
|
* Narrows the runtime value to the documented type.
|
|
35
39
|
* @type {boolean} */
|
|
@@ -116,4 +120,4 @@ export default class JsonSocket extends EventEmitter {
|
|
|
116
120
|
this.socket.destroy();
|
|
117
121
|
}
|
|
118
122
|
}
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNvbi1zb2NrZXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFja2dyb3VuZC1qb2JzL2pzb24tc29ja2V0LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixPQUFPLFlBQVksTUFBTSwyQkFBMkIsQ0FBQTtBQUVwRCxNQUFNLENBQUMsT0FBTyxPQUFPLFVBQVcsU0FBUSxZQUFZO0lBQ2xEOzs7T0FHRztJQUNILFlBQVksTUFBTTtRQUNoQixLQUFLLEVBQUUsQ0FBQTtRQUNQLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQ3BCOzt3Q0FFZ0M7UUFDaEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxTQUFTLENBQUE7UUFDekI7OzZCQUVxQjtRQUNyQixJQUFJLENBQUMsMEJBQTBCLEdBQUcsS0FBSyxDQUFBO1FBQ3ZDOzs2QkFFcUI7UUFDckIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQTtRQUM5Qjs7NkJBRXFCO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUE7UUFDN0Isc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUE7UUFDOUIseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxDQUFDLENBQUE7UUFDN0IsNEVBQTRFO1FBQzVFLElBQUksQ0FBQyx5QkFBeUIsR0FBRyxLQUFLLENBQUE7UUFDdEMsMEVBQTBFO1FBQzFFLElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFBO1FBQ3ZCLDJFQUEyRTtRQUMzRSxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFBO1FBQ3pCOzs2QkFFcUI7UUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQTtRQUM3Qjs7Ozs7NkJBS3FCO1FBQ3JCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxLQUFLLENBQUE7UUFDOUI7Ozt3Q0FHZ0M7UUFDaEMsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUE7UUFDM0I7Ozs7OzRCQUtvQjtRQUNwQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFBO1FBQzFCOzs7OzRCQUlvQjtRQUNwQixJQUFJLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQTtRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLEVBQUUsQ0FBQTtRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUMvQixJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUM5RCxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBO1FBQ2pELElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILE9BQU8sQ0FBQyxLQUFLO1FBQ1gsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUE7UUFFcEIsT0FBTyxJQUFJLEVBQUUsQ0FBQztZQUNaLE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBQzlDLElBQUksWUFBWSxLQUFLLENBQUMsQ0FBQztnQkFBRSxNQUFLO1lBRTlCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtZQUN0RCxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsQ0FBQTtZQUVqRCxJQUFJLENBQUMsSUFBSTtnQkFBRSxTQUFRO1lBRW5CLElBQUksQ0FBQztnQkFDSCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFBO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQTtZQUMvQixDQUFDO1lBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztnQkFDZixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQTtZQUMzQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRDs7OztPQUlHO0lBQ0gsSUFBSSxDQUFDLE9BQU87UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQ25ELENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLO1FBQ0gsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFBO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUE7SUFDbkIsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsT0FBTztRQUNMLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFBO1FBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUE7SUFDdkIsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQHRzLWNoZWNrXG5cbmltcG9ydCBFdmVudEVtaXR0ZXIgZnJvbSBcIi4uL3V0aWxzL2V2ZW50LWVtaXR0ZXIuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBKc29uU29ja2V0IGV4dGVuZHMgRXZlbnRFbWl0dGVyIHtcbiAgLyoqXG4gICAqIFJ1bnMgY29uc3RydWN0b3IuXG4gICAqIEBwYXJhbSB7aW1wb3J0KFwibmV0XCIpLlNvY2tldH0gc29ja2V0IC0gU29ja2V0IGluc3RhbmNlLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc29ja2V0KSB7XG4gICAgc3VwZXIoKVxuICAgIHRoaXMuc29ja2V0ID0gc29ja2V0XG4gICAgLyoqXG4gICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAqIEB0eXBlIHtzdHJpbmcgfCB1bmRlZmluZWR9ICovXG4gICAgdGhpcy53b3JrZXJJZCA9IHVuZGVmaW5lZFxuICAgIC8qKlxuICAgICAqIE5hcnJvd3MgdGhlIHJ1bnRpbWUgdmFsdWUgdG8gdGhlIGRvY3VtZW50ZWQgdHlwZS5cbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn0gKi9cbiAgICB0aGlzLnN1cHBvcnRzSGFuZG9mZklkUmVwb3J0aW5nID0gZmFsc2VcbiAgICAvKipcbiAgICAgKiBOYXJyb3dzIHRoZSBydW50aW1lIHZhbHVlIHRvIHRoZSBkb2N1bWVudGVkIHR5cGUuXG4gICAgICogQHR5cGUge2Jvb2xlYW59ICovXG4gICAgdGhpcy5hY2NlcHRzU3Bhd25lZEpvYnMgPSB0cnVlXG4gICAgLyoqXG4gICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAqIEB0eXBlIHtib29sZWFufSAqL1xuICAgIHRoaXMuYWNjZXB0c0ZvcmtlZEpvYnMgPSB0cnVlXG4gICAgLyoqIEB0eXBlIHtib29sZWFufSAqL1xuICAgIHRoaXMuYWNjZXB0c1Bvb2xlZEpvYnMgPSBmYWxzZVxuICAgIC8qKiBOdW1iZXIgb2YgcG9vbGVkIGhhbmRvZmZzIHRoaXMgcmVhZGluZXNzIGFkdmVydGlzZW1lbnQgY2FuIGFjY2VwdC4gKi9cbiAgICB0aGlzLmF2YWlsYWJsZVBvb2xlZFNsb3RzID0gMFxuICAgIC8qKiBXaGV0aGVyIHRoZSB3b3JrZXIvbWFpbiBwYWlyIHVzZXMgY29uc3VtYWJsZSBwb29sZWQtY2FwYWNpdHkgY3JlZGl0cy4gKi9cbiAgICB0aGlzLnVzZXNQb29sZWRDYXBhY2l0eUNyZWRpdHMgPSBmYWxzZVxuICAgIC8qKiBXaGV0aGVyIHRoaXMgd29ya2VyIGhhcyBwZXJtYW5lbnRseSBzdG9wcGVkIGFjY2VwdGluZyBuZXcgaGFuZG9mZnMuICovXG4gICAgdGhpcy5pc0RyYWluaW5nID0gZmFsc2VcbiAgICAvKiogTW9ub3RvbmljIGdlbmVyYXRpb24gb2YgdGhlIHdvcmtlcidzIGxhdGVzdCByZWFkaW5lc3MgYWR2ZXJ0aXNlbWVudC4gKi9cbiAgICB0aGlzLnJlYWRpbmVzc1ZlcnNpb24gPSAwXG4gICAgLyoqXG4gICAgICogTmFycm93cyB0aGUgcnVudGltZSB2YWx1ZSB0byB0aGUgZG9jdW1lbnRlZCB0eXBlLlxuICAgICAqIEB0eXBlIHtib29sZWFufSAqL1xuICAgIHRoaXMuYWNjZXB0c0lubGluZUpvYnMgPSB0cnVlXG4gICAgLyoqXG4gICAgICogV2hldGhlciB0aGlzIHdvcmtlciBhZHZlcnRpc2VkIGhlYXJ0YmVhdCBzdXBwb3J0IGluIGl0cyBoZWxsby4gT25seVxuICAgICAqIGhlYXJ0YmVhdC1jYXBhYmxlIHdvcmtlcnMgYXJlIHN1YmplY3QgdG8gdGhlIG1haW4ncyBzdGFsZS1saXZlbmVzc1xuICAgICAqIGV2aWN0aW9uOyBhIGxlZ2FjeSB3b3JrZXIgKGUuZy4gbWlkIHJvbGxpbmcgZGVwbG95KSBpcyBleGVtcHQgc28gaXRzXG4gICAgICogYWN0aXZlIGxlYXNlcyBhcmUgbm90IHJlbGVhc2VkIHdoaWxlIGl0IGlzIHN0aWxsIHJ1bm5pbmcgdGhlbS5cbiAgICAgKiBAdHlwZSB7Ym9vbGVhbn0gKi9cbiAgICB0aGlzLnN1cHBvcnRzSGVhcnRiZWF0ID0gZmFsc2VcbiAgICAvKipcbiAgICAgKiBMYXN0IHRpbWUgKG1zKSB0aGUgbWFpbiBzYXcgYW55IG1lc3NhZ2UgZnJvbSB0aGlzIHdvcmtlciBzb2NrZXQ7IHVzZWQgYnlcbiAgICAgKiB0aGUgbWFpbidzIGxpdmVuZXNzIHN3ZWVwIHRvIGRyb3AgYSB3ZWRnZWQvc2lsZW50IHdvcmtlci5cbiAgICAgKiBAdHlwZSB7bnVtYmVyIHwgdW5kZWZpbmVkfSAqL1xuICAgIHRoaXMubGFzdFNlZW5BdCA9IHVuZGVmaW5lZFxuICAgIC8qKlxuICAgICAqIEludGVybmFsIHRlc3Qtb25seSBvYnNlcnZhYmlsaXR5IGNvdW50ZXIg4oCUIE5PVCBwdWJsaWMgQVBJLiBOdW1iZXIgb2YgdGltZXNcbiAgICAgKiBgZGVzdHJveSgpYCBoYXMgcnVuLCBpbmNyZW1lbnRlZCBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIHJhdyBzb2NrZXRcbiAgICAgKiBgZGVzdHJveSgpYCBjYWxsIHNvIHNwZWNzIGNhbiBhc3NlcnQgdGhlIGFjdHVhbCB0ZWFyZG93biBtZXRob2QgdGhhdCByYW5cbiAgICAgKiByYXRoZXIgdGhhbiBhIHNlbGYtcmVwb3J0ZWQgZmxhZy4gRG8gbm90IHJlYWQgb3IgZGVwZW5kIG9uIHRoaXMgb3V0c2lkZSB0ZXN0cy5cbiAgICAgKiBAdHlwZSB7bnVtYmVyfSAqL1xuICAgIHRoaXMuX2Rlc3Ryb3lDYWxsQ291bnQgPSAwXG4gICAgLyoqXG4gICAgICogSW50ZXJuYWwgdGVzdC1vbmx5IG9ic2VydmFiaWxpdHkgY291bnRlciDigJQgTk9UIHB1YmxpYyBBUEkuIE51bWJlciBvZiB0aW1lc1xuICAgICAqIGBjbG9zZSgpYCBoYXMgcnVuLCBpbmNyZW1lbnRlZCBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIHJhdyBzb2NrZXQgYGVuZCgpYFxuICAgICAqIGNhbGwuIERvIG5vdCByZWFkIG9yIGRlcGVuZCBvbiB0aGlzIG91dHNpZGUgdGVzdHMuXG4gICAgICogQHR5cGUge251bWJlcn0gKi9cbiAgICB0aGlzLl9jbG9zZUNhbGxDb3VudCA9IDBcbiAgICB0aGlzLmJ1ZmZlciA9IFwiXCJcbiAgICB0aGlzLnNvY2tldC5zZXRFbmNvZGluZyhcInV0ZjhcIilcbiAgICB0aGlzLnNvY2tldC5vbihcImRhdGFcIiwgKGNodW5rKSA9PiB0aGlzLl9vbkRhdGEoU3RyaW5nKGNodW5rKSkpXG4gICAgdGhpcy5zb2NrZXQub24oXCJjbG9zZVwiLCAoKSA9PiB0aGlzLmVtaXQoXCJjbG9zZVwiKSlcbiAgICB0aGlzLnNvY2tldC5vbihcImVycm9yXCIsIChlcnJvcikgPT4gdGhpcy5lbWl0KFwiZXJyb3JcIiwgZXJyb3IpKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgb24gZGF0YS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGNodW5rIC0gRGF0YSBjaHVuay5cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBfb25EYXRhKGNodW5rKSB7XG4gICAgdGhpcy5idWZmZXIgKz0gY2h1bmtcblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBjb25zdCBuZXdsaW5lSW5kZXggPSB0aGlzLmJ1ZmZlci5pbmRleE9mKFwiXFxuXCIpXG4gICAgICBpZiAobmV3bGluZUluZGV4ID09PSAtMSkgYnJlYWtcblxuICAgICAgY29uc3QgbGluZSA9IHRoaXMuYnVmZmVyLnNsaWNlKDAsIG5ld2xpbmVJbmRleCkudHJpbSgpXG4gICAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuYnVmZmVyLnNsaWNlKG5ld2xpbmVJbmRleCArIDEpXG5cbiAgICAgIGlmICghbGluZSkgY29udGludWVcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04ucGFyc2UobGluZSlcbiAgICAgICAgdGhpcy5lbWl0KFwibWVzc2FnZVwiLCBtZXNzYWdlKVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdGhpcy5lbWl0KFwiZXJyb3JcIiwgZXJyb3IpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgc2VuZC5cbiAgICogQHBhcmFtIHtSZXR1cm5UeXBlPHR5cGVvZiBKU09OLnBhcnNlPn0gbWVzc2FnZSAtIE1lc3NhZ2UgdG8gc2VuZC5cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBzZW5kKG1lc3NhZ2UpIHtcbiAgICB0aGlzLnNvY2tldC53cml0ZShgJHtKU09OLnN0cmluZ2lmeShtZXNzYWdlKX1cXG5gKVxuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgY2xvc2UuXG4gICAqIEByZXR1cm5zIHt2b2lkfVxuICAgKi9cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5fY2xvc2VDYWxsQ291bnQrK1xuICAgIHRoaXMuc29ja2V0LmVuZCgpXG4gIH1cblxuICAvKipcbiAgICogRm9yY2libHkgZGVzdHJveXMgdGhlIHVuZGVybHlpbmcgc29ja2V0LiBVbmxpa2Uge0BsaW5rIGNsb3NlfSwgd2hpY2hcbiAgICogaGFsZi1jbG9zZXMgZ3JhY2VmdWxseSB2aWEgYGVuZCgpYCwgdGhpcyB0ZWFycyB0aGUgY29ubmVjdGlvbiBkb3duXG4gICAqIGltbWVkaWF0ZWx5IHNvIGEgc3RhbGxlZC9hYm9ydGVkIHJlcXVlc3QgZG9lcyBub3QgbGVhdmUgdGhlIHNvY2tldCBhbGl2ZS5cbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBkZXN0cm95KCkge1xuICAgIHRoaXMuX2Rlc3Ryb3lDYWxsQ291bnQrK1xuICAgIHRoaXMuc29ja2V0LmRlc3Ryb3koKVxuICB9XG59XG4iXX0=
|
|
@@ -91,13 +91,10 @@ export default class LocalBackgroundJobsAdapter extends BackgroundJobsAdapter {
|
|
|
91
91
|
listJobs(): Promise<import("./types.js").BackgroundJobRow[]>;
|
|
92
92
|
/**
|
|
93
93
|
* Claims one queued local job.
|
|
94
|
-
* @param {
|
|
94
|
+
* @param {import("./types.js").BackgroundJobHandoffRequest} args - Claim request. A supplied handoff id is persisted exactly.
|
|
95
95
|
* @returns {Promise<import("./types.js").BackgroundJobHandoff | null>} - Handoff.
|
|
96
96
|
*/
|
|
97
|
-
markHandedOff(args:
|
|
98
|
-
jobId: string;
|
|
99
|
-
workerId?: string;
|
|
100
|
-
}): Promise<import("./types.js").BackgroundJobHandoff | null>;
|
|
97
|
+
markHandedOff(args: import("./types.js").BackgroundJobHandoffRequest): Promise<import("./types.js").BackgroundJobHandoff | null>;
|
|
101
98
|
/**
|
|
102
99
|
* Finds active local handoffs owned by one worker.
|
|
103
100
|
* @param {{workerId: string}} args - Worker identity.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-adapter.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/local-adapter.js"],"names":[],"mappings":"AAEA,OAAO,qBAAqB,MAAM,cAAc,CAAA;AAChD,OAAO,6BAA6B,MAAM,uBAAuB,CAAA;AACjE,OAAO,0BAA0B,MAAM,yBAAyB,CAAA;AAChE,OAAO,wBAAoD,MAAM,kBAAkB,CAAA;AAEnF,wEAAwE;AACxE,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,qBAAqB;IAUpE,KAAK;IACL,aAAa;IACb,QAAQ;IACR,KAAK;IAML,UAAU;IAlBjB;;;;;;OAMG;IACH,YAAY,EAAC,aAAa,EAAE,KAAkC,EAAE,kBAAkB,EAAC,EAJhF;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;QAA6D,KAAK,AAAlE,CACA,EADQ,OAAO,YAAY,EAAE,wBAAwB,CACrD;QAAsB,kBAAkB,AAAxC,CACF,EADU,MAAM,CAChB;KACkF,EAYlF;IAED;;;OAGG;IACG,WAAW,IAFJ,OAAO,CAAC,IAAI,CAAC,CAE2B;IAErD;;;OAGG;IACG,KAAK,IAFE,OAAO,CAAC,IAAI,CAAC,CAKzB;IAED;;;OAGG;IACG,MAAM,IAFC,OAAO,CAAC,OAAO,YAAY,EAAE,oBAAoB,CAAC,CAEH;IAE5D;;;OAGG;IACG,yBAAyB,IAFlB,OAAO,CAAC,IAAI,CAAC,CAEwD;IAElF;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAHP;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;KAG1G,GAFL,OAAO,CAAC,MAAM,CAAC,CAM3B;IAED;;;;OAIG;IACG,eAAe,CAAC,YAAY,EAHvB,MAGuB,GAFrB,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CAEsD;IAEhI;;;;OAIG;IACG,gBAAgB,CAAC,KAAK,EAHjB;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;KAGrH,GAFf,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CAEkD;IAE3H;;;OAGG;IACG,gBAAgB,IAFT,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAEK;IAEvE;;;OAGG;IACG,gBAAgB,IAFT,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAEK;IAEvE;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAHP,MAGO,GAFL,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAEL;IAE7D;;;OAGG;IACG,QAAQ,IAFD,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAEN;IAEvD;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAHb
|
|
1
|
+
{"version":3,"file":"local-adapter.d.ts","sourceRoot":"","sources":["../../../src/background-jobs/local-adapter.js"],"names":[],"mappings":"AAEA,OAAO,qBAAqB,MAAM,cAAc,CAAA;AAChD,OAAO,6BAA6B,MAAM,uBAAuB,CAAA;AACjE,OAAO,0BAA0B,MAAM,yBAAyB,CAAA;AAChE,OAAO,wBAAoD,MAAM,kBAAkB,CAAA;AAEnF,wEAAwE;AACxE,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,qBAAqB;IAUpE,KAAK;IACL,aAAa;IACb,QAAQ;IACR,KAAK;IAML,UAAU;IAlBjB;;;;;;OAMG;IACH,YAAY,EAAC,aAAa,EAAE,KAAkC,EAAE,kBAAkB,EAAC,EAJhF;QAAoD,aAAa,EAAzD,OAAO,qBAAqB,EAAE,OAAO,CAC7C;QAA6D,KAAK,AAAlE,CACA,EADQ,OAAO,YAAY,EAAE,wBAAwB,CACrD;QAAsB,kBAAkB,AAAxC,CACF,EADU,MAAM,CAChB;KACkF,EAYlF;IAED;;;OAGG;IACG,WAAW,IAFJ,OAAO,CAAC,IAAI,CAAC,CAE2B;IAErD;;;OAGG;IACG,KAAK,IAFE,OAAO,CAAC,IAAI,CAAC,CAKzB;IAED;;;OAGG;IACG,MAAM,IAFC,OAAO,CAAC,OAAO,YAAY,EAAE,oBAAoB,CAAC,CAEH;IAE5D;;;OAGG;IACG,yBAAyB,IAFlB,OAAO,CAAC,IAAI,CAAC,CAEwD;IAElF;;;;OAIG;IACG,OAAO,CAAC,IAAI,EAHP;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;KAG1G,GAFL,OAAO,CAAC,MAAM,CAAC,CAM3B;IAED;;;;OAIG;IACG,eAAe,CAAC,YAAY,EAHvB,MAGuB,GAFrB,OAAO,CAAC,OAAO,YAAY,EAAE,+BAA+B,CAAC,CAEsD;IAEhI;;;;OAIG;IACG,gBAAgB,CAAC,KAAK,EAHjB;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,YAAY,EAAE,oBAAoB,CAAA;KAGrH,GAFf,OAAO,CAAC,OAAO,YAAY,EAAE,8BAA8B,CAAC,CAEkD;IAE3H;;;OAGG;IACG,gBAAgB,IAFT,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAEK;IAEvE;;;OAGG;IACG,gBAAgB,IAFT,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAEK;IAEvE;;;;OAIG;IACG,MAAM,CAAC,KAAK,EAHP,MAGO,GAFL,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAEL;IAE7D;;;OAGG;IACG,QAAQ,IAFD,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAEN;IAEvD;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAHb,OAAO,YAAY,EAAE,2BAGR,GAFX,OAAO,CAAC,OAAO,YAAY,EAAE,oBAAoB,GAAG,IAAI,CAAC,CAEG;IAEzE;;;;OAIG;IACG,sBAAsB,CAAC,IAAI,EAHtB;QAAC,QAAQ,EAAE,MAAM,CAAA;KAGK,GAFpB,OAAO,CAAC,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,CAAC,CAE4B;IAE3F;;;;OAIG;IACG,mBAAmB,CAAC,IAAI,EAHnB;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAGd,GAFjB,OAAO,CAAC,IAAI,CAAC,CAEoD;IAE9E;;;;OAIG;IACG,aAAa,CAAC,IAAI,EAHb;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAGrB,GAFX,OAAO,CAAC,OAAO,CAAC,CAE4C;IAEzE;;;;OAIG;IACG,eAAe,CAAC,IAAI,EAHf;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAGpC,GAFb,OAAO,CAAC,OAAO,CAAC,CAEgD;IAE7E;;;;OAIG;IACG,UAAU,CAAC,IAAI,EAHV;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,UAAU,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAG9D,GAFR,OAAO,CAAC,OAAO,YAAY,EAAE,gBAAgB,GAAG,IAAI,CAAC,CAEC;IAEnE;;;OAGG;IACH,IAAI,IAFS,IAAI,CAEgB;IAEjC;;;OAGG;IACG,WAAW,IAFJ,OAAO,CAAC,IAAI,CAAC,CAEiC;CAC5D"}
|