agl 22.0.1 → 22.0.2
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/changelog.md +10 -0
- package/dist_serve/bundle.js +1 -1
- package/dist_ts/00_commitinfo_data.js +1 -1
- package/dist_ts/classes.cli.d.ts +4 -2
- package/dist_ts/classes.cli.js +161 -68
- package/dist_ts/classes.controller.js +23 -10
- package/dist_ts/classes.upgradecoordinator.d.ts +39 -1
- package/dist_ts/classes.upgradecoordinator.js +740 -74
- package/dist_ts/classes.upgradetransaction.d.ts +68 -1
- package/dist_ts/classes.upgradetransaction.js +383 -223
- package/package.json +1 -1
- package/readme.md +255 -378
- package/ts/00_commitinfo_data.ts +1 -1
- package/ts/classes.cli.ts +184 -83
- package/ts/classes.controller.ts +25 -7
- package/ts/classes.upgradecoordinator.ts +876 -74
- package/ts/classes.upgradetransaction.ts +574 -250
- package/ts_web/00_commitinfo_data.ts +1 -1
|
@@ -29,11 +29,17 @@ const initializationGraceMs = 30_000;
|
|
|
29
29
|
const startLeaseDrainTimeoutMs = 60_000;
|
|
30
30
|
const upgradeTokenPattern = /^[A-Za-z0-9_-]{43}$/;
|
|
31
31
|
const upgradeTokenHashPattern = /^[a-f0-9]{64}$/;
|
|
32
|
+
const upgradeSemverPattern = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/;
|
|
32
33
|
const leaseDirectoryPattern = /^[a-f0-9]{20}$/;
|
|
33
34
|
const tokenMetadataPattern = /^(?:grant|ack|action-(?:prepare|finalize))-[a-f0-9]{20}\.json(?:\.consuming-[1-9][0-9]*-[a-f0-9]{8})?$/;
|
|
35
|
+
const acknowledgementTemporaryPattern = /^ack-[a-f0-9]{20}\.json\.tmp-[1-9][0-9]*-[a-f0-9]{8}$/;
|
|
36
|
+
const ownerTransferTemporaryPattern = /^owner-transfer-[1-9][0-9]*-[a-f0-9]{8}\.json\.tmp$/;
|
|
34
37
|
const transactionMetadataPattern = /^transaction-[a-f0-9]{20}\.json$/;
|
|
35
38
|
const transactionTemporaryMetadataPattern = /^transaction-[a-f0-9]{20}\.json\.tmp-[1-9][0-9]*-[a-f0-9]{8}$/;
|
|
36
39
|
const transactionMutationDirectoryPattern = /^transaction-[a-f0-9]{20}\.json\.lock$/;
|
|
40
|
+
const transactionAdoptionPattern = /^transaction-([a-f0-9]{20})\.json\.adopting-([a-f0-9]{20})$/;
|
|
41
|
+
const transactionAdoptionAuditPattern = /^adoption-([a-f0-9]{20})-([a-f0-9]{20})\.json$/;
|
|
42
|
+
const transactionAdoptionAuditTemporaryPattern = /^adoption-[a-f0-9]{20}-[a-f0-9]{20}\.json\.tmp-[1-9][0-9]*-[a-f0-9]{8}$/;
|
|
37
43
|
const ownershipGuardDirectoryPattern = /^[a-f0-9]{64}\.guard$/;
|
|
38
44
|
const ownershipGuardTemporaryPattern = /^[a-f0-9]{64}\.guard\.tmp-[1-9][0-9]*-[a-f0-9]{32}$/;
|
|
39
45
|
const ownerRemovalPattern = /^\.owner-removing-([1-9][0-9]*)-([a-f0-9]{64})-([a-f0-9]{16})$/;
|
|
@@ -245,6 +251,84 @@ const assertBoundedText = (valueArg, nameArg, maximumBytesArg) => {
|
|
|
245
251
|
}
|
|
246
252
|
return valueArg;
|
|
247
253
|
};
|
|
254
|
+
const parseUpgradeSemver = (valueArg) => {
|
|
255
|
+
const match = upgradeSemverPattern.exec(valueArg);
|
|
256
|
+
if (!match)
|
|
257
|
+
throw new Error(`Invalid semantic version: ${valueArg}`);
|
|
258
|
+
const prerelease = match[4]?.split('.') ?? [];
|
|
259
|
+
if (prerelease.some((identifierArg) => /^\d+$/.test(identifierArg)
|
|
260
|
+
&& identifierArg.length > 1
|
|
261
|
+
&& identifierArg.startsWith('0'))) {
|
|
262
|
+
throw new Error(`Invalid semantic version: ${valueArg}`);
|
|
263
|
+
}
|
|
264
|
+
return {
|
|
265
|
+
major: match[1],
|
|
266
|
+
minor: match[2],
|
|
267
|
+
patch: match[3],
|
|
268
|
+
prerelease,
|
|
269
|
+
};
|
|
270
|
+
};
|
|
271
|
+
const compareUpgradeNumericStrings = (leftArg, rightArg) => {
|
|
272
|
+
if (leftArg.length !== rightArg.length)
|
|
273
|
+
return leftArg.length < rightArg.length ? -1 : 1;
|
|
274
|
+
return leftArg === rightArg ? 0 : leftArg < rightArg ? -1 : 1;
|
|
275
|
+
};
|
|
276
|
+
export const compareUpgradeSemver = (leftArg, rightArg) => {
|
|
277
|
+
const left = parseUpgradeSemver(leftArg);
|
|
278
|
+
const right = parseUpgradeSemver(rightArg);
|
|
279
|
+
for (const key of ['major', 'minor', 'patch']) {
|
|
280
|
+
const comparison = compareUpgradeNumericStrings(left[key], right[key]);
|
|
281
|
+
if (comparison !== 0)
|
|
282
|
+
return comparison;
|
|
283
|
+
}
|
|
284
|
+
if (left.prerelease.length === 0 || right.prerelease.length === 0) {
|
|
285
|
+
if (left.prerelease.length === right.prerelease.length)
|
|
286
|
+
return 0;
|
|
287
|
+
return left.prerelease.length === 0 ? 1 : -1;
|
|
288
|
+
}
|
|
289
|
+
const identifierCount = Math.max(left.prerelease.length, right.prerelease.length);
|
|
290
|
+
for (let index = 0; index < identifierCount; index++) {
|
|
291
|
+
const leftIdentifier = left.prerelease[index];
|
|
292
|
+
const rightIdentifier = right.prerelease[index];
|
|
293
|
+
if (leftIdentifier === undefined || rightIdentifier === undefined) {
|
|
294
|
+
return leftIdentifier === rightIdentifier ? 0 : leftIdentifier === undefined ? -1 : 1;
|
|
295
|
+
}
|
|
296
|
+
if (leftIdentifier === rightIdentifier)
|
|
297
|
+
continue;
|
|
298
|
+
const leftNumeric = /^\d+$/.test(leftIdentifier);
|
|
299
|
+
const rightNumeric = /^\d+$/.test(rightIdentifier);
|
|
300
|
+
if (leftNumeric && rightNumeric) {
|
|
301
|
+
return compareUpgradeNumericStrings(leftIdentifier, rightIdentifier);
|
|
302
|
+
}
|
|
303
|
+
if (leftNumeric !== rightNumeric)
|
|
304
|
+
return leftNumeric ? -1 : 1;
|
|
305
|
+
return leftIdentifier < rightIdentifier ? -1 : 1;
|
|
306
|
+
}
|
|
307
|
+
return 0;
|
|
308
|
+
};
|
|
309
|
+
export const normalizeUpgradeRegistryUrl = (valueArg) => {
|
|
310
|
+
const value = assertBoundedText(valueArg, 'The upgrade registry URL', 2_048);
|
|
311
|
+
let parsed;
|
|
312
|
+
try {
|
|
313
|
+
parsed = new URL(value);
|
|
314
|
+
}
|
|
315
|
+
catch (errorArg) {
|
|
316
|
+
throw new Error('The upgrade registry URL is invalid.', { cause: errorArg });
|
|
317
|
+
}
|
|
318
|
+
const loopbackHttp = parsed.protocol === 'http:' && new Set([
|
|
319
|
+
'localhost',
|
|
320
|
+
'127.0.0.1',
|
|
321
|
+
'[::1]',
|
|
322
|
+
]).has(parsed.hostname);
|
|
323
|
+
if ((parsed.protocol !== 'https:' && !loopbackHttp)
|
|
324
|
+
|| parsed.hostname.length === 0
|
|
325
|
+
|| parsed.username.length > 0
|
|
326
|
+
|| parsed.password.length > 0
|
|
327
|
+
|| parsed.search.length > 0
|
|
328
|
+
|| parsed.hash.length > 0)
|
|
329
|
+
throw new Error('The upgrade registry URL is unsafe.');
|
|
330
|
+
return parsed.toString();
|
|
331
|
+
};
|
|
248
332
|
const assertRuntimeId = (valueArg) => {
|
|
249
333
|
if (!valueArg || typeof valueArg !== 'object' || Array.isArray(valueArg)) {
|
|
250
334
|
throw new Error('The upgrade session identity is malformed.');
|
|
@@ -342,6 +426,7 @@ const parseUpgradeTransactionV2 = (valueArg) => {
|
|
|
342
426
|
'continueSessions', 'gracePeriodMs', 'phase', 'message', 'createdAt', 'updatedAt',
|
|
343
427
|
'phaseStartedAt', 'sessions',
|
|
344
428
|
...(value.targetVersion === undefined ? [] : ['targetVersion']),
|
|
429
|
+
...(value.registryUrl === undefined ? [] : ['registryUrl']),
|
|
345
430
|
...(value.targetStartupInvoked === undefined ? [] : ['targetStartupInvoked']),
|
|
346
431
|
...(value.preparationAcceptedAt === undefined ? [] : ['preparationAcceptedAt']),
|
|
347
432
|
...(value.preparationDeadlineAt === undefined ? [] : ['preparationDeadlineAt']),
|
|
@@ -471,6 +556,9 @@ const parseUpgradeTransactionV2 = (valueArg) => {
|
|
|
471
556
|
...(value.targetVersion === undefined
|
|
472
557
|
? {}
|
|
473
558
|
: { targetVersion: assertBoundedText(value.targetVersion, 'The upgrade target version', 128) }),
|
|
559
|
+
...(value.registryUrl === undefined
|
|
560
|
+
? {}
|
|
561
|
+
: { registryUrl: normalizeUpgradeRegistryUrl(value.registryUrl) }),
|
|
474
562
|
...(value.targetStartupInvoked === true ? { targetStartupInvoked: true } : {}),
|
|
475
563
|
controllerWasRunning: value.controllerWasRunning,
|
|
476
564
|
continueSessions: value.continueSessions,
|
|
@@ -511,6 +599,7 @@ const parseUpgradeTransactionV3 = (valueArg) => {
|
|
|
511
599
|
'targetCliName', 'targetCliRelativePath',
|
|
512
600
|
'controllerWasRunning', 'continueSessions', 'gracePeriodMs', 'phase', 'message',
|
|
513
601
|
'createdAt', 'updatedAt', 'phaseStartedAt', 'sessions',
|
|
602
|
+
...(value.recoveryTargetVersion === undefined ? [] : ['recoveryTargetVersion']),
|
|
514
603
|
...(value.packageTransitionStarted === undefined ? [] : ['packageTransitionStarted']),
|
|
515
604
|
...(value.groupedTargetVerified === undefined ? [] : ['groupedTargetVerified']),
|
|
516
605
|
...(value.targetPackageCommitStarted === undefined ? [] : ['targetPackageCommitStarted']),
|
|
@@ -536,6 +625,9 @@ const parseUpgradeTransactionV3 = (valueArg) => {
|
|
|
536
625
|
|| value.targetManagementVersion !== upgradePackageTransitionTarget.managementVersion
|
|
537
626
|
|| value.targetCliName !== upgradePackageTransitionTarget.cliName
|
|
538
627
|
|| value.targetCliRelativePath !== upgradePackageTransitionTarget.cliRelativePath
|
|
628
|
+
|| (value.recoveryTargetVersion !== undefined && (typeof value.recoveryTargetVersion !== 'string'
|
|
629
|
+
|| compareUpgradeSemver(value.recoveryTargetVersion, upgradePackageTransitionTarget.version) <= 0
|
|
630
|
+
|| value.targetPackageCommitStarted !== true))
|
|
539
631
|
|| (value.packageTransitionStarted !== undefined && value.packageTransitionStarted !== true)
|
|
540
632
|
|| (value.groupedTargetVerified !== undefined && value.groupedTargetVerified !== true)
|
|
541
633
|
|| (value.targetPackageCommitStarted !== undefined
|
|
@@ -598,6 +690,11 @@ const parseUpgradeTransactionV3 = (valueArg) => {
|
|
|
598
690
|
targetManagementVersion: upgradePackageTransitionTarget.managementVersion,
|
|
599
691
|
targetCliName: upgradePackageTransitionTarget.cliName,
|
|
600
692
|
targetCliRelativePath: upgradePackageTransitionTarget.cliRelativePath,
|
|
693
|
+
...(value.recoveryTargetVersion === undefined
|
|
694
|
+
? {}
|
|
695
|
+
: {
|
|
696
|
+
recoveryTargetVersion: assertBoundedText(value.recoveryTargetVersion, 'The package-transition recovery target version', 128),
|
|
697
|
+
}),
|
|
601
698
|
...(value.packageTransitionStarted === true ? { packageTransitionStarted: true } : {}),
|
|
602
699
|
...(value.groupedTargetVerified === true ? { groupedTargetVerified: true } : {}),
|
|
603
700
|
...(value.targetPackageCommitStarted === true ? { targetPackageCommitStarted: true } : {}),
|
|
@@ -613,6 +710,27 @@ const parseUpgradeTransaction = (valueArg) => {
|
|
|
613
710
|
? parseUpgradeTransactionV2(valueArg)
|
|
614
711
|
: parseUpgradeTransactionV3(valueArg);
|
|
615
712
|
};
|
|
713
|
+
const parseUpgradeTransactionAdoptionAudit = (valueArg) => {
|
|
714
|
+
if (!valueArg || typeof valueArg !== 'object' || Array.isArray(valueArg)) {
|
|
715
|
+
throw new Error('Upgrade transaction adoption metadata is malformed.');
|
|
716
|
+
}
|
|
717
|
+
const value = valueArg;
|
|
718
|
+
if (!exactKeys(value, [
|
|
719
|
+
'version', 'adoptedAt', 'adoptedTargetVersion', 'previousTransaction',
|
|
720
|
+
]))
|
|
721
|
+
throw new Error('Upgrade transaction adoption metadata has unexpected fields.');
|
|
722
|
+
const previousTransaction = parseUpgradeTransaction(value.previousTransaction);
|
|
723
|
+
if (value.version !== 1
|
|
724
|
+
|| !Number.isSafeInteger(value.adoptedAt)
|
|
725
|
+
|| value.adoptedAt < previousTransaction.createdAt)
|
|
726
|
+
throw new Error('Upgrade transaction adoption metadata is invalid.');
|
|
727
|
+
return {
|
|
728
|
+
version: 1,
|
|
729
|
+
adoptedAt: value.adoptedAt,
|
|
730
|
+
adoptedTargetVersion: assertBoundedText(value.adoptedTargetVersion, 'The adopted upgrade target version', 128),
|
|
731
|
+
previousTransaction,
|
|
732
|
+
};
|
|
733
|
+
};
|
|
616
734
|
const parseTransactionMutationOwner = (valueArg) => {
|
|
617
735
|
if (!valueArg || typeof valueArg !== 'object' || Array.isArray(valueArg)) {
|
|
618
736
|
throw new Error('The upgrade transaction mutation owner is malformed.');
|
|
@@ -694,6 +812,12 @@ export const upgradeTransactionIsStalled = (transactionArg, nowArg = Date.now())
|
|
|
694
812
|
};
|
|
695
813
|
return nowArg - transactionArg.phaseStartedAt > maximumPhaseDurationMs[transactionArg.phase];
|
|
696
814
|
};
|
|
815
|
+
export const upgradeTransactionRequiresForwardRecovery = (transactionArg) => transactionArg.version === coordinationVersion
|
|
816
|
+
? transactionArg.targetStartupInvoked === true
|
|
817
|
+
: transactionArg.targetPackageCommitStarted === true;
|
|
818
|
+
export const upgradeTransactionTargetVersion = (transactionArg) => transactionArg.version === upgradePackageTransitionTransactionVersion
|
|
819
|
+
? transactionArg.recoveryTargetVersion ?? transactionArg.targetVersion
|
|
820
|
+
: transactionArg.targetVersion;
|
|
697
821
|
const ownerIsLive = async (ownerArg) => {
|
|
698
822
|
if (ownerArg.uid !== assertUid())
|
|
699
823
|
return false;
|
|
@@ -1051,6 +1175,82 @@ export class UpgradeInstallationLock extends UpgradeOwnedDirectory {
|
|
|
1051
1175
|
}
|
|
1052
1176
|
export class UpgradeStartLease extends UpgradeOwnedDirectory {
|
|
1053
1177
|
}
|
|
1178
|
+
export const terminateVerifiedUpgradeWorkerProcessGroup = async (worker) => {
|
|
1179
|
+
const identity = await readControllerProcessIdentity(worker.pid);
|
|
1180
|
+
const existingMembers = worker.processGroupId === worker.pid
|
|
1181
|
+
? await readProcessGroupMemberPids(worker.processGroupId)
|
|
1182
|
+
: [];
|
|
1183
|
+
if (!identity || identity.fingerprint !== worker.fingerprint) {
|
|
1184
|
+
if (existingMembers.length === 0)
|
|
1185
|
+
return;
|
|
1186
|
+
throw new Error('The stalled upgrade worker leader is unavailable; its remaining group cannot be signaled safely.');
|
|
1187
|
+
}
|
|
1188
|
+
if (identity.processGroupId !== worker.processGroupId
|
|
1189
|
+
|| !identity.processGroupLeader
|
|
1190
|
+
|| !await processIdentityHasCliCommand(identity, worker.cliPath, '__upgrade-worker', { allowMissingAbsolutePath: true }))
|
|
1191
|
+
throw new Error('The stalled upgrade worker identity changed unexpectedly.');
|
|
1192
|
+
const readStableMemberSnapshot = async () => {
|
|
1193
|
+
for (let attempt = 0; attempt < 4; attempt++) {
|
|
1194
|
+
const processIdsBefore = await readProcessGroupMemberPids(worker.processGroupId);
|
|
1195
|
+
const identities = await Promise.all(processIdsBefore.map(async (processIdArg) => await readControllerProcessIdentity(processIdArg)));
|
|
1196
|
+
const processIdsAfter = await readProcessGroupMemberPids(worker.processGroupId);
|
|
1197
|
+
if (processIdsBefore.length === processIdsAfter.length
|
|
1198
|
+
&& processIdsBefore.every((processIdArg, indexArg) => processIdArg === processIdsAfter[indexArg])
|
|
1199
|
+
&& identities.every((candidateArg) => (candidateArg !== null && candidateArg.processGroupId === worker.processGroupId))
|
|
1200
|
+
&& identities.some((candidateArg) => (candidateArg.pid === worker.pid && candidateArg.fingerprint === worker.fingerprint)))
|
|
1201
|
+
return identities;
|
|
1202
|
+
}
|
|
1203
|
+
throw new Error('The stalled upgrade worker group could not be snapshotted safely.');
|
|
1204
|
+
};
|
|
1205
|
+
const members = await readStableMemberSnapshot();
|
|
1206
|
+
const signalOwnedMembers = async (signalArg) => {
|
|
1207
|
+
const orderedMembers = [...members].sort((leftArg, rightArg) => (leftArg.pid === worker.pid ? 1 : rightArg.pid === worker.pid ? -1 : 0));
|
|
1208
|
+
for (const member of orderedMembers) {
|
|
1209
|
+
const current = await readControllerProcessIdentity(member.pid);
|
|
1210
|
+
if (!current || current.fingerprint !== member.fingerprint)
|
|
1211
|
+
continue;
|
|
1212
|
+
if (current.processGroupId !== worker.processGroupId) {
|
|
1213
|
+
throw new Error('A captured upgrade worker process escaped its owned process group.');
|
|
1214
|
+
}
|
|
1215
|
+
try {
|
|
1216
|
+
process.kill(member.pid, signalArg);
|
|
1217
|
+
}
|
|
1218
|
+
catch (errorArg) {
|
|
1219
|
+
if (errorArg.code !== 'ESRCH')
|
|
1220
|
+
throw errorArg;
|
|
1221
|
+
}
|
|
1222
|
+
}
|
|
1223
|
+
};
|
|
1224
|
+
const waitForDrain = async () => {
|
|
1225
|
+
const deadline = Date.now() + workerTerminationGraceMs;
|
|
1226
|
+
while (Date.now() < deadline) {
|
|
1227
|
+
const [captured, group] = await Promise.all([
|
|
1228
|
+
Promise.all(members.map(async (memberArg) => {
|
|
1229
|
+
const current = await readControllerProcessIdentity(memberArg.pid);
|
|
1230
|
+
return current?.fingerprint === memberArg.fingerprint;
|
|
1231
|
+
})),
|
|
1232
|
+
readProcessGroupMemberPids(worker.processGroupId),
|
|
1233
|
+
]);
|
|
1234
|
+
if (!captured.some(Boolean) && group.length === 0)
|
|
1235
|
+
return true;
|
|
1236
|
+
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
1237
|
+
}
|
|
1238
|
+
const [captured, group] = await Promise.all([
|
|
1239
|
+
Promise.all(members.map(async (memberArg) => {
|
|
1240
|
+
const current = await readControllerProcessIdentity(memberArg.pid);
|
|
1241
|
+
return current?.fingerprint === memberArg.fingerprint;
|
|
1242
|
+
})),
|
|
1243
|
+
readProcessGroupMemberPids(worker.processGroupId),
|
|
1244
|
+
]);
|
|
1245
|
+
return !captured.some(Boolean) && group.length === 0;
|
|
1246
|
+
};
|
|
1247
|
+
await signalOwnedMembers('SIGTERM');
|
|
1248
|
+
if (await waitForDrain())
|
|
1249
|
+
return;
|
|
1250
|
+
await signalOwnedMembers('SIGKILL');
|
|
1251
|
+
if (!await waitForDrain())
|
|
1252
|
+
throw new Error('The stalled upgrade worker group did not terminate.');
|
|
1253
|
+
};
|
|
1054
1254
|
export class UpgradeCoordinator {
|
|
1055
1255
|
canonicalGlobalRoot;
|
|
1056
1256
|
uid;
|
|
@@ -1107,6 +1307,14 @@ export class UpgradeCoordinator {
|
|
|
1107
1307
|
}
|
|
1108
1308
|
await this.initializationTask;
|
|
1109
1309
|
}
|
|
1310
|
+
async initializeExistingCanonicalState() {
|
|
1311
|
+
if (this.usesLegacyLocation || this.usesInheritedLocation) {
|
|
1312
|
+
throw new Error('Canonical upgrade initialization cannot use an inherited root.');
|
|
1313
|
+
}
|
|
1314
|
+
if (!await lstatIfPresent(this.baseDirectory))
|
|
1315
|
+
return;
|
|
1316
|
+
await this.init();
|
|
1317
|
+
}
|
|
1110
1318
|
async performInitialization() {
|
|
1111
1319
|
if (!this.usesLegacyLocation && !this.usesInheritedLocation) {
|
|
1112
1320
|
const home = resolveAGLHomePaths();
|
|
@@ -1121,6 +1329,90 @@ export class UpgradeCoordinator {
|
|
|
1121
1329
|
await this.cleanupOwnershipGuardDirectories();
|
|
1122
1330
|
const entries = await plugins.fs.promises.readdir(this.baseDirectory, { withFileTypes: true });
|
|
1123
1331
|
for (const entry of entries) {
|
|
1332
|
+
if (entry.isFile() && transactionAdoptionAuditTemporaryPattern.test(entry.name)) {
|
|
1333
|
+
const filePath = plugins.path.join(this.baseDirectory, entry.name);
|
|
1334
|
+
const stats = await lstatIfPresent(filePath);
|
|
1335
|
+
if (!stats)
|
|
1336
|
+
continue;
|
|
1337
|
+
if (!stats.isFile()
|
|
1338
|
+
|| stats.isSymbolicLink()
|
|
1339
|
+
|| stats.uid !== this.uid
|
|
1340
|
+
|| (stats.mode & 0o077) !== 0)
|
|
1341
|
+
throw new Error(`Upgrade transaction adoption temporary is unsafe: ${filePath}`);
|
|
1342
|
+
if (Date.now() - stats.mtimeMs > initializationGraceMs) {
|
|
1343
|
+
await plugins.fs.promises.unlink(filePath).catch((errorArg) => {
|
|
1344
|
+
if (errorArg.code !== 'ENOENT')
|
|
1345
|
+
throw errorArg;
|
|
1346
|
+
});
|
|
1347
|
+
}
|
|
1348
|
+
continue;
|
|
1349
|
+
}
|
|
1350
|
+
if (entry.isFile() && transactionAdoptionAuditPattern.test(entry.name)) {
|
|
1351
|
+
const filePath = plugins.path.join(this.baseDirectory, entry.name);
|
|
1352
|
+
const stats = await lstatIfPresent(filePath);
|
|
1353
|
+
if (!stats)
|
|
1354
|
+
continue;
|
|
1355
|
+
if (!stats.isFile()
|
|
1356
|
+
|| stats.isSymbolicLink()
|
|
1357
|
+
|| stats.uid !== this.uid
|
|
1358
|
+
|| (stats.mode & 0o077) !== 0)
|
|
1359
|
+
throw new Error(`Upgrade transaction adoption metadata is unsafe: ${filePath}`);
|
|
1360
|
+
parseUpgradeTransactionAdoptionAudit(await readPrivateJson(filePath));
|
|
1361
|
+
if (Date.now() - stats.mtimeMs > transactionRetentionMs) {
|
|
1362
|
+
const lockState = await this.inspectOwnedDirectory(this.upgradeLockDirectory);
|
|
1363
|
+
if (lockState.state === 'absent' || lockState.state === 'stale') {
|
|
1364
|
+
await plugins.fs.promises.unlink(filePath).catch((errorArg) => {
|
|
1365
|
+
if (errorArg.code !== 'ENOENT')
|
|
1366
|
+
throw errorArg;
|
|
1367
|
+
});
|
|
1368
|
+
}
|
|
1369
|
+
}
|
|
1370
|
+
continue;
|
|
1371
|
+
}
|
|
1372
|
+
if (entry.isFile() && acknowledgementTemporaryPattern.test(entry.name)) {
|
|
1373
|
+
const filePath = plugins.path.join(this.baseDirectory, entry.name);
|
|
1374
|
+
const stats = await lstatIfPresent(filePath);
|
|
1375
|
+
if (!stats)
|
|
1376
|
+
continue;
|
|
1377
|
+
if (!stats.isFile()
|
|
1378
|
+
|| stats.isSymbolicLink()
|
|
1379
|
+
|| stats.uid !== this.uid
|
|
1380
|
+
|| (stats.mode & 0o077) !== 0)
|
|
1381
|
+
throw new Error(`Upgrade acknowledgement temporary is unsafe: ${filePath}`);
|
|
1382
|
+
if (Date.now() - stats.mtimeMs > initializationGraceMs) {
|
|
1383
|
+
await plugins.fs.promises.unlink(filePath).catch((errorArg) => {
|
|
1384
|
+
if (errorArg.code !== 'ENOENT')
|
|
1385
|
+
throw errorArg;
|
|
1386
|
+
});
|
|
1387
|
+
}
|
|
1388
|
+
continue;
|
|
1389
|
+
}
|
|
1390
|
+
if (entry.isFile() && ownerTransferTemporaryPattern.test(entry.name)) {
|
|
1391
|
+
const filePath = plugins.path.join(this.baseDirectory, entry.name);
|
|
1392
|
+
const stats = await lstatIfPresent(filePath);
|
|
1393
|
+
if (!stats)
|
|
1394
|
+
continue;
|
|
1395
|
+
if (!stats.isFile()
|
|
1396
|
+
|| stats.isSymbolicLink()
|
|
1397
|
+
|| stats.uid !== this.uid
|
|
1398
|
+
|| (stats.mode & 0o077) !== 0
|
|
1399
|
+
|| stats.nlink !== 1)
|
|
1400
|
+
throw new Error(`Upgrade owner-transfer temporary is unsafe: ${filePath}`);
|
|
1401
|
+
if (Date.now() - stats.mtimeMs > initializationGraceMs) {
|
|
1402
|
+
await plugins.fs.promises.unlink(filePath).catch((errorArg) => {
|
|
1403
|
+
if (errorArg.code !== 'ENOENT')
|
|
1404
|
+
throw errorArg;
|
|
1405
|
+
});
|
|
1406
|
+
await syncDirectory(this.baseDirectory);
|
|
1407
|
+
}
|
|
1408
|
+
continue;
|
|
1409
|
+
}
|
|
1410
|
+
if (entry.name.startsWith('owner-transfer-')) {
|
|
1411
|
+
throw new Error(`Upgrade owner-transfer temporary has an invalid name: ${entry.name}`);
|
|
1412
|
+
}
|
|
1413
|
+
if (entry.name.startsWith('adoption-')) {
|
|
1414
|
+
throw new Error(`Upgrade transaction adoption metadata has an invalid name: ${entry.name}`);
|
|
1415
|
+
}
|
|
1124
1416
|
if (!entry.isFile() || !tokenMetadataPattern.test(entry.name))
|
|
1125
1417
|
continue;
|
|
1126
1418
|
const filePath = plugins.path.join(this.baseDirectory, entry.name);
|
|
@@ -1144,6 +1436,18 @@ export class UpgradeCoordinator {
|
|
|
1144
1436
|
withFileTypes: true,
|
|
1145
1437
|
})) {
|
|
1146
1438
|
const filePath = plugins.path.join(this.transactionsDirectory, entry.name);
|
|
1439
|
+
if (entry.isFile() && transactionAdoptionPattern.test(entry.name)) {
|
|
1440
|
+
const stats = await lstatIfPresent(filePath);
|
|
1441
|
+
if (!stats)
|
|
1442
|
+
continue;
|
|
1443
|
+
if (!stats.isFile()
|
|
1444
|
+
|| stats.isSymbolicLink()
|
|
1445
|
+
|| stats.uid !== this.uid
|
|
1446
|
+
|| (stats.mode & 0o077) !== 0)
|
|
1447
|
+
throw new Error(`Upgrade transaction adoption state is unsafe: ${filePath}`);
|
|
1448
|
+
parseUpgradeTransaction(await readPrivateJson(filePath));
|
|
1449
|
+
continue;
|
|
1450
|
+
}
|
|
1147
1451
|
if (entry.isFile() && transactionTemporaryMetadataPattern.test(entry.name)) {
|
|
1148
1452
|
const stats = await lstatIfPresent(filePath);
|
|
1149
1453
|
if (!stats)
|
|
@@ -1175,30 +1479,135 @@ export class UpgradeCoordinator {
|
|
|
1175
1479
|
}
|
|
1176
1480
|
continue;
|
|
1177
1481
|
}
|
|
1178
|
-
if (
|
|
1482
|
+
if (entry.isFile() && transactionMetadataPattern.test(entry.name)) {
|
|
1483
|
+
const stats = await lstatIfPresent(filePath);
|
|
1484
|
+
if (!stats)
|
|
1485
|
+
continue;
|
|
1486
|
+
if (!stats.isFile()
|
|
1487
|
+
|| stats.isSymbolicLink()
|
|
1488
|
+
|| stats.uid !== this.uid
|
|
1489
|
+
|| (stats.mode & 0o077) !== 0)
|
|
1490
|
+
throw new Error(`Upgrade transaction metadata is unsafe: ${filePath}`);
|
|
1491
|
+
if (Date.now() - stats.mtimeMs > transactionRetentionMs) {
|
|
1492
|
+
const transaction = parseUpgradeTransaction(await readPrivateJson(filePath));
|
|
1493
|
+
const workerIsLive = await this.transactionWorkerIsLive(transaction).catch(() => true);
|
|
1494
|
+
const controllerIsLive = transaction.controller
|
|
1495
|
+
? await this.transactionControllerIsLive(transaction).catch(() => true)
|
|
1496
|
+
: false;
|
|
1497
|
+
if (transaction.terminal
|
|
1498
|
+
|| (!upgradeTransactionRequiresForwardRecovery(transaction)
|
|
1499
|
+
&& !workerIsLive
|
|
1500
|
+
&& !controllerIsLive)) {
|
|
1501
|
+
await plugins.fs.promises.unlink(filePath).catch((errorArg) => {
|
|
1502
|
+
if (errorArg.code !== 'ENOENT')
|
|
1503
|
+
throw errorArg;
|
|
1504
|
+
});
|
|
1505
|
+
}
|
|
1506
|
+
}
|
|
1179
1507
|
continue;
|
|
1180
|
-
|
|
1181
|
-
if (
|
|
1508
|
+
}
|
|
1509
|
+
if (entry.name.startsWith('transaction-')) {
|
|
1510
|
+
throw new Error(`Upgrade transaction metadata has an invalid name: ${entry.name}`);
|
|
1511
|
+
}
|
|
1512
|
+
}
|
|
1513
|
+
}
|
|
1514
|
+
async inspectCanonicalTransactionInventory() {
|
|
1515
|
+
if (this.usesLegacyLocation || this.usesInheritedLocation) {
|
|
1516
|
+
throw new Error('Canonical upgrade transaction inventory cannot use an inherited root.');
|
|
1517
|
+
}
|
|
1518
|
+
const empty = () => ({
|
|
1519
|
+
transactions: [],
|
|
1520
|
+
tokenMetadataFileNames: [],
|
|
1521
|
+
mutationDirectoryNames: [],
|
|
1522
|
+
});
|
|
1523
|
+
const baseStats = await lstatIfPresent(this.baseDirectory);
|
|
1524
|
+
if (!baseStats)
|
|
1525
|
+
return empty();
|
|
1526
|
+
await assertPrivateDirectory(this.baseDirectory);
|
|
1527
|
+
const tokenMetadataFileNames = [];
|
|
1528
|
+
for (const entry of await plugins.fs.promises.readdir(this.baseDirectory, {
|
|
1529
|
+
withFileTypes: true,
|
|
1530
|
+
})) {
|
|
1531
|
+
if (entry.isFile() && tokenMetadataPattern.test(entry.name)) {
|
|
1532
|
+
const filePath = plugins.path.join(this.baseDirectory, entry.name);
|
|
1533
|
+
await readPrivateJson(filePath);
|
|
1534
|
+
tokenMetadataFileNames.push(entry.name);
|
|
1182
1535
|
continue;
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
|
|
1198
|
-
|
|
1536
|
+
}
|
|
1537
|
+
if (entry.isFile() && acknowledgementTemporaryPattern.test(entry.name)) {
|
|
1538
|
+
await readPrivateJson(plugins.path.join(this.baseDirectory, entry.name));
|
|
1539
|
+
tokenMetadataFileNames.push(entry.name);
|
|
1540
|
+
continue;
|
|
1541
|
+
}
|
|
1542
|
+
if (entry.isFile() && transactionAdoptionAuditPattern.test(entry.name)) {
|
|
1543
|
+
parseUpgradeTransactionAdoptionAudit(await readPrivateJson(plugins.path.join(this.baseDirectory, entry.name)));
|
|
1544
|
+
continue;
|
|
1545
|
+
}
|
|
1546
|
+
if (entry.name.startsWith('grant-')
|
|
1547
|
+
|| entry.name.startsWith('ack-')
|
|
1548
|
+
|| entry.name.startsWith('action-')
|
|
1549
|
+
|| entry.name.startsWith('adoption-'))
|
|
1550
|
+
throw new Error(`Upgrade coordination metadata has an invalid name: ${entry.name}`);
|
|
1551
|
+
}
|
|
1552
|
+
const transactionsStats = await lstatIfPresent(this.transactionsDirectory);
|
|
1553
|
+
if (!transactionsStats) {
|
|
1554
|
+
return { transactions: [], tokenMetadataFileNames, mutationDirectoryNames: [] };
|
|
1555
|
+
}
|
|
1556
|
+
await assertPrivateDirectory(this.transactionsDirectory);
|
|
1557
|
+
const transactions = [];
|
|
1558
|
+
const mutationDirectoryNames = [];
|
|
1559
|
+
for (const entry of await plugins.fs.promises.readdir(this.transactionsDirectory, {
|
|
1560
|
+
withFileTypes: true,
|
|
1561
|
+
})) {
|
|
1562
|
+
if (entry.isDirectory() && transactionMutationDirectoryPattern.test(entry.name)) {
|
|
1563
|
+
mutationDirectoryNames.push(entry.name);
|
|
1564
|
+
continue;
|
|
1565
|
+
}
|
|
1566
|
+
if (entry.isFile() && transactionTemporaryMetadataPattern.test(entry.name))
|
|
1567
|
+
continue;
|
|
1568
|
+
const active = entry.isFile() && transactionMetadataPattern.test(entry.name);
|
|
1569
|
+
const adoptionMatch = entry.isFile() ? transactionAdoptionPattern.exec(entry.name) : null;
|
|
1570
|
+
if (!active && !adoptionMatch) {
|
|
1571
|
+
if (entry.name.startsWith('transaction-')) {
|
|
1572
|
+
throw new Error(`Upgrade transaction metadata has an invalid name: ${entry.name}`);
|
|
1199
1573
|
}
|
|
1574
|
+
continue;
|
|
1200
1575
|
}
|
|
1576
|
+
const filePath = plugins.path.join(this.transactionsDirectory, entry.name);
|
|
1577
|
+
const before = await lstatIfPresent(filePath);
|
|
1578
|
+
if (!before)
|
|
1579
|
+
continue;
|
|
1580
|
+
if (!before.isFile()
|
|
1581
|
+
|| before.isSymbolicLink()
|
|
1582
|
+
|| before.uid !== this.uid
|
|
1583
|
+
|| (before.mode & 0o077) !== 0)
|
|
1584
|
+
throw new Error(`Upgrade transaction metadata is unsafe: ${filePath}`);
|
|
1585
|
+
const transaction = parseUpgradeTransaction(await readPrivateJson(filePath));
|
|
1586
|
+
const after = await lstatIfPresent(filePath);
|
|
1587
|
+
if (!after
|
|
1588
|
+
|| !sameOwnedDirectoryIdentity(after, { dev: before.dev, ino: before.ino })
|
|
1589
|
+
|| after.size !== before.size
|
|
1590
|
+
|| after.mtimeMs !== before.mtimeMs)
|
|
1591
|
+
throw new Error('Upgrade transaction metadata changed during inventory.');
|
|
1592
|
+
const tokenPrefix = transaction.tokenHash.slice(0, 20);
|
|
1593
|
+
if (active && entry.name !== `transaction-${tokenPrefix}.json`) {
|
|
1594
|
+
throw new Error('Upgrade transaction filename and token binding do not match.');
|
|
1595
|
+
}
|
|
1596
|
+
if (adoptionMatch && tokenPrefix !== adoptionMatch[1] && tokenPrefix !== adoptionMatch[2]) {
|
|
1597
|
+
throw new Error('Upgrade transaction adoption state has an invalid token binding.');
|
|
1598
|
+
}
|
|
1599
|
+
transactions.push({
|
|
1600
|
+
fileName: entry.name,
|
|
1601
|
+
state: active ? 'active' : 'adopting',
|
|
1602
|
+
transaction,
|
|
1603
|
+
});
|
|
1201
1604
|
}
|
|
1605
|
+
return {
|
|
1606
|
+
transactions: transactions.sort((leftArg, rightArg) => (leftArg.transaction.createdAt - rightArg.transaction.createdAt
|
|
1607
|
+
|| leftArg.fileName.localeCompare(rightArg.fileName))),
|
|
1608
|
+
tokenMetadataFileNames: tokenMetadataFileNames.sort(),
|
|
1609
|
+
mutationDirectoryNames: mutationDirectoryNames.sort(),
|
|
1610
|
+
};
|
|
1202
1611
|
}
|
|
1203
1612
|
ownershipGuardDirectory(directoryArg) {
|
|
1204
1613
|
return plugins.path.join(this.ownershipGuardsDirectory, `${ownershipTargetHash(directoryArg)}.guard`);
|
|
@@ -1797,15 +2206,24 @@ export class UpgradeCoordinator {
|
|
|
1797
2206
|
await this.withOwnershipMutationGuard(this.upgradeLockDirectory, async () => {
|
|
1798
2207
|
await optionsArg.lock.assertOwned();
|
|
1799
2208
|
const ownerPath = plugins.path.join(this.upgradeLockDirectory, ownerFileName);
|
|
1800
|
-
const temporaryPath =
|
|
2209
|
+
const temporaryPath = plugins.path.join(this.baseDirectory, `owner-transfer-${process.pid}-${plugins.crypto.randomBytes(4).toString('hex')}.json.tmp`);
|
|
1801
2210
|
try {
|
|
1802
2211
|
await writePrivateJson(temporaryPath, owner);
|
|
1803
2212
|
await plugins.fs.promises.rename(temporaryPath, ownerPath);
|
|
1804
2213
|
await syncDirectory(this.upgradeLockDirectory);
|
|
2214
|
+
await syncDirectory(this.baseDirectory);
|
|
1805
2215
|
optionsArg.lock.relinquishAfterTransfer();
|
|
1806
2216
|
}
|
|
1807
2217
|
finally {
|
|
1808
|
-
|
|
2218
|
+
let removed = false;
|
|
2219
|
+
await plugins.fs.promises.unlink(temporaryPath).then(() => {
|
|
2220
|
+
removed = true;
|
|
2221
|
+
}).catch((errorArg) => {
|
|
2222
|
+
if (errorArg.code !== 'ENOENT')
|
|
2223
|
+
throw errorArg;
|
|
2224
|
+
});
|
|
2225
|
+
if (removed)
|
|
2226
|
+
await syncDirectory(this.baseDirectory);
|
|
1809
2227
|
}
|
|
1810
2228
|
});
|
|
1811
2229
|
}
|
|
@@ -2006,6 +2424,216 @@ export class UpgradeCoordinator {
|
|
|
2006
2424
|
throw releaseError;
|
|
2007
2425
|
return result;
|
|
2008
2426
|
}
|
|
2427
|
+
async cleanupUncommittedAdoptionAuditsUnderLock(lockArg) {
|
|
2428
|
+
await lockArg.assertOwned();
|
|
2429
|
+
for (const entry of await plugins.fs.promises.readdir(this.baseDirectory, {
|
|
2430
|
+
withFileTypes: true,
|
|
2431
|
+
})) {
|
|
2432
|
+
const match = entry.isFile() ? transactionAdoptionAuditPattern.exec(entry.name) : null;
|
|
2433
|
+
if (!match)
|
|
2434
|
+
continue;
|
|
2435
|
+
const auditPath = plugins.path.join(this.baseDirectory, entry.name);
|
|
2436
|
+
const audit = parseUpgradeTransactionAdoptionAudit(await readPrivateJson(auditPath));
|
|
2437
|
+
const sourcePath = plugins.path.join(this.transactionsDirectory, `transaction-${match[1]}.json`);
|
|
2438
|
+
const intermediatePath = `${sourcePath}.adopting-${match[2]}`;
|
|
2439
|
+
const targetPath = plugins.path.join(this.transactionsDirectory, `transaction-${match[2]}.json`);
|
|
2440
|
+
await this.withOwnershipMutationGuard(sourcePath, async () => {
|
|
2441
|
+
await lockArg.assertOwned();
|
|
2442
|
+
const [sourceStats, intermediateStats, targetStats] = await Promise.all([
|
|
2443
|
+
lstatIfPresent(sourcePath),
|
|
2444
|
+
lstatIfPresent(intermediatePath),
|
|
2445
|
+
lstatIfPresent(targetPath),
|
|
2446
|
+
]);
|
|
2447
|
+
if (!sourceStats || intermediateStats || targetStats)
|
|
2448
|
+
return;
|
|
2449
|
+
const source = parseUpgradeTransaction(await readPrivateJson(sourcePath));
|
|
2450
|
+
if (!plugins.util.isDeepStrictEqual(source, audit.previousTransaction))
|
|
2451
|
+
return;
|
|
2452
|
+
await plugins.fs.promises.unlink(auditPath);
|
|
2453
|
+
await syncDirectory(this.baseDirectory);
|
|
2454
|
+
});
|
|
2455
|
+
}
|
|
2456
|
+
await lockArg.assertOwned();
|
|
2457
|
+
}
|
|
2458
|
+
async adoptOrphanedTransaction(optionsArg) {
|
|
2459
|
+
await optionsArg.lock.assertOwned();
|
|
2460
|
+
await this.waitForStartLeasesToDrain(optionsArg.lock);
|
|
2461
|
+
await this.cleanupUncommittedAdoptionAuditsUnderLock(optionsArg.lock);
|
|
2462
|
+
const inventory = await this.inspectCanonicalTransactionInventory();
|
|
2463
|
+
const nonterminal = inventory.transactions.filter((entryArg) => !entryArg.transaction.terminal);
|
|
2464
|
+
if (nonterminal.length !== 1) {
|
|
2465
|
+
throw new Error('Exactly one orphaned upgrade transaction is required for adoption.');
|
|
2466
|
+
}
|
|
2467
|
+
const entry = nonterminal[0];
|
|
2468
|
+
const transaction = entry.transaction;
|
|
2469
|
+
const eligibleV2 = transaction.version === coordinationVersion
|
|
2470
|
+
&& transaction.controllerWasRunning === true
|
|
2471
|
+
&& transaction.targetStartupInvoked === true
|
|
2472
|
+
&& transaction.targetVersion !== undefined
|
|
2473
|
+
&& transaction.preparationCompletedAt !== undefined
|
|
2474
|
+
&& (transaction.phase === 'restarting' || transaction.phase === 'continuing');
|
|
2475
|
+
const eligibleV3 = transaction.version === upgradePackageTransitionTransactionVersion
|
|
2476
|
+
&& transaction.targetPackageCommitStarted === true
|
|
2477
|
+
&& (!transaction.controllerWasRunning || transaction.preparationCompletedAt !== undefined)
|
|
2478
|
+
&& (transaction.phase === 'installing'
|
|
2479
|
+
|| transaction.phase === 'restarting'
|
|
2480
|
+
|| transaction.phase === 'continuing');
|
|
2481
|
+
if (transaction.port !== optionsArg.port
|
|
2482
|
+
|| transaction.tokenHash !== optionsArg.expectedTokenHash
|
|
2483
|
+
|| transaction.revision !== optionsArg.expectedRevision
|
|
2484
|
+
|| (!eligibleV2 && !eligibleV3)
|
|
2485
|
+
|| !upgradeTransactionIsStalled(transaction))
|
|
2486
|
+
throw new Error('The retained upgrade transaction is not eligible for adoption.');
|
|
2487
|
+
if (transaction.version === upgradePackageTransitionTransactionVersion && optionsArg.registryUrl) {
|
|
2488
|
+
throw new Error('Legacy package-transition recovery uses pnpm registry configuration and cannot retain --registry.');
|
|
2489
|
+
}
|
|
2490
|
+
if (await this.transactionWorkerIsLive(transaction)) {
|
|
2491
|
+
throw new Error('The retained upgrade worker is still running.');
|
|
2492
|
+
}
|
|
2493
|
+
if (transaction.controller && await this.transactionControllerIsLive(transaction)) {
|
|
2494
|
+
throw new Error('The retained upgrade controller is still running.');
|
|
2495
|
+
}
|
|
2496
|
+
const adoptionMatch = transactionAdoptionPattern.exec(entry.fileName);
|
|
2497
|
+
const tokenPrefixes = new Set([
|
|
2498
|
+
transaction.tokenHash.slice(0, 20),
|
|
2499
|
+
...(adoptionMatch ? [adoptionMatch[1], adoptionMatch[2]] : []),
|
|
2500
|
+
]);
|
|
2501
|
+
for (const fileName of inventory.tokenMetadataFileNames) {
|
|
2502
|
+
if ([...tokenPrefixes].some((prefixArg) => fileName.includes(`-${prefixArg}.json`))) {
|
|
2503
|
+
throw new Error('The orphaned upgrade retains token-bound coordination metadata.');
|
|
2504
|
+
}
|
|
2505
|
+
}
|
|
2506
|
+
for (const directoryName of inventory.mutationDirectoryNames) {
|
|
2507
|
+
const prefix = [...tokenPrefixes].find((candidateArg) => (directoryName === `transaction-${candidateArg}.json.lock`));
|
|
2508
|
+
if (!prefix)
|
|
2509
|
+
continue;
|
|
2510
|
+
const directory = plugins.path.join(this.transactionsDirectory, directoryName);
|
|
2511
|
+
const state = await this.inspectTransactionMutationDirectory(directory, transaction.tokenHash);
|
|
2512
|
+
if (state.state === 'stale') {
|
|
2513
|
+
await this.reclaimStaleTransactionMutationDirectory(directory, transaction.tokenHash);
|
|
2514
|
+
continue;
|
|
2515
|
+
}
|
|
2516
|
+
if (state.state !== 'absent') {
|
|
2517
|
+
throw new Error('The orphaned upgrade transaction still has mutation ownership.');
|
|
2518
|
+
}
|
|
2519
|
+
}
|
|
2520
|
+
const installedVersion = assertBoundedText(optionsArg.installedVersion, 'The installed upgrade version', 128);
|
|
2521
|
+
compareUpgradeSemver(installedVersion, installedVersion);
|
|
2522
|
+
if (transaction.version === upgradePackageTransitionTransactionVersion
|
|
2523
|
+
&& compareUpgradeSemver(installedVersion, upgradeTransactionTargetVersion(transaction)) < 0)
|
|
2524
|
+
throw new Error('The installed package-transition recovery target would downgrade AGL.');
|
|
2525
|
+
const registryUrl = transaction.version === coordinationVersion
|
|
2526
|
+
? transaction.registryUrl ?? optionsArg.registryUrl
|
|
2527
|
+
: undefined;
|
|
2528
|
+
if (transaction.version === coordinationVersion
|
|
2529
|
+
&& transaction.registryUrl !== undefined
|
|
2530
|
+
&& optionsArg.registryUrl !== undefined
|
|
2531
|
+
&& transaction.registryUrl !== optionsArg.registryUrl)
|
|
2532
|
+
throw new Error('The orphaned upgrade registry cannot change during adoption.');
|
|
2533
|
+
const newTokenHash = hashToken(optionsArg.token);
|
|
2534
|
+
const sourcePath = plugins.path.join(this.transactionsDirectory, entry.fileName);
|
|
2535
|
+
const sourcePrefix = transaction.tokenHash.slice(0, 20);
|
|
2536
|
+
const targetPrefix = newTokenHash.slice(0, 20);
|
|
2537
|
+
if (sourcePrefix === targetPrefix) {
|
|
2538
|
+
throw new Error('The adopted upgrade token collided with the retained token.');
|
|
2539
|
+
}
|
|
2540
|
+
const intermediatePath = plugins.path.join(this.transactionsDirectory, `transaction-${sourcePrefix}.json.adopting-${targetPrefix}`);
|
|
2541
|
+
const targetPath = plugins.path.join(this.transactionsDirectory, `transaction-${targetPrefix}.json`);
|
|
2542
|
+
const auditPath = plugins.path.join(this.baseDirectory, `adoption-${sourcePrefix}-${targetPrefix}.json`);
|
|
2543
|
+
const auditTemporaryPath = `${auditPath}.tmp-${process.pid}-${plugins.crypto.randomBytes(4).toString('hex')}`;
|
|
2544
|
+
for (const path of [intermediatePath, targetPath, auditPath, auditTemporaryPath]) {
|
|
2545
|
+
if (await lstatIfPresent(path)) {
|
|
2546
|
+
throw new Error(`Upgrade transaction adoption destination already exists: ${path}`);
|
|
2547
|
+
}
|
|
2548
|
+
}
|
|
2549
|
+
const now = Date.now();
|
|
2550
|
+
const { worker: _worker, controller: _controller, retainedUntil: _retainedUntil, ...retained } = transaction;
|
|
2551
|
+
const adopted = transaction.version === coordinationVersion
|
|
2552
|
+
? parseUpgradeTransactionV2({
|
|
2553
|
+
...retained,
|
|
2554
|
+
tokenHash: newTokenHash,
|
|
2555
|
+
revision: transaction.revision + 1,
|
|
2556
|
+
targetVersion: installedVersion,
|
|
2557
|
+
...(registryUrl === undefined ? {} : { registryUrl }),
|
|
2558
|
+
phaseStartedAt: now,
|
|
2559
|
+
updatedAt: now,
|
|
2560
|
+
message: `Recovering orphaned upgrade ${transaction.sourceVersion} -> ${transaction.targetVersion} with installed ${installedVersion}.`,
|
|
2561
|
+
})
|
|
2562
|
+
: parseUpgradeTransactionV3({
|
|
2563
|
+
...retained,
|
|
2564
|
+
tokenHash: newTokenHash,
|
|
2565
|
+
revision: transaction.revision + 1,
|
|
2566
|
+
...(installedVersion === transaction.targetVersion
|
|
2567
|
+
? {}
|
|
2568
|
+
: { recoveryTargetVersion: installedVersion }),
|
|
2569
|
+
phaseStartedAt: now,
|
|
2570
|
+
updatedAt: now,
|
|
2571
|
+
message: `Recovering orphaned package transition to installed ${transaction.targetPackageName}@${installedVersion}.`,
|
|
2572
|
+
});
|
|
2573
|
+
const audit = parseUpgradeTransactionAdoptionAudit({
|
|
2574
|
+
version: 1,
|
|
2575
|
+
adoptedAt: now,
|
|
2576
|
+
adoptedTargetVersion: installedVersion,
|
|
2577
|
+
previousTransaction: transaction,
|
|
2578
|
+
});
|
|
2579
|
+
const temporaryPath = `${targetPath}.tmp-${process.pid}-${plugins.crypto.randomBytes(4).toString('hex')}`;
|
|
2580
|
+
await optionsArg.lock.assertOwned();
|
|
2581
|
+
try {
|
|
2582
|
+
await this.withOwnershipMutationGuard(sourcePath, async () => {
|
|
2583
|
+
await this.withOwnershipMutationGuard(intermediatePath, async () => {
|
|
2584
|
+
await this.withOwnershipMutationGuard(targetPath, async () => {
|
|
2585
|
+
const sourceStats = await lstatIfPresent(sourcePath);
|
|
2586
|
+
if (!sourceStats)
|
|
2587
|
+
throw new Error('The orphaned upgrade transaction disappeared.');
|
|
2588
|
+
const current = parseUpgradeTransaction(await readPrivateJson(sourcePath));
|
|
2589
|
+
if (current.tokenHash !== transaction.tokenHash
|
|
2590
|
+
|| current.revision !== transaction.revision)
|
|
2591
|
+
throw new Error('The orphaned upgrade transaction changed before adoption.');
|
|
2592
|
+
try {
|
|
2593
|
+
await writePrivateJson(auditTemporaryPath, audit);
|
|
2594
|
+
await plugins.fs.promises.rename(auditTemporaryPath, auditPath);
|
|
2595
|
+
await syncDirectory(this.baseDirectory);
|
|
2596
|
+
await plugins.fs.promises.rename(sourcePath, intermediatePath);
|
|
2597
|
+
await syncDirectory(this.transactionsDirectory);
|
|
2598
|
+
await writePrivateJson(temporaryPath, adopted);
|
|
2599
|
+
const intermediateStats = await lstatIfPresent(intermediatePath);
|
|
2600
|
+
if (!intermediateStats
|
|
2601
|
+
|| !sameOwnedDirectoryIdentity(intermediateStats, {
|
|
2602
|
+
dev: sourceStats.dev,
|
|
2603
|
+
ino: sourceStats.ino,
|
|
2604
|
+
}))
|
|
2605
|
+
throw new Error('The upgrade adoption source identity changed unexpectedly.');
|
|
2606
|
+
await plugins.fs.promises.rename(temporaryPath, intermediatePath);
|
|
2607
|
+
await syncDirectory(this.transactionsDirectory);
|
|
2608
|
+
await plugins.fs.promises.rename(intermediatePath, targetPath);
|
|
2609
|
+
await syncDirectory(this.transactionsDirectory);
|
|
2610
|
+
}
|
|
2611
|
+
finally {
|
|
2612
|
+
await plugins.fs.promises.unlink(auditTemporaryPath).catch(() => undefined);
|
|
2613
|
+
await plugins.fs.promises.unlink(temporaryPath).catch(() => undefined);
|
|
2614
|
+
}
|
|
2615
|
+
});
|
|
2616
|
+
});
|
|
2617
|
+
});
|
|
2618
|
+
}
|
|
2619
|
+
catch (errorArg) {
|
|
2620
|
+
const [sourceStats, intermediateStats, targetStats] = await Promise.all([
|
|
2621
|
+
lstatIfPresent(sourcePath),
|
|
2622
|
+
lstatIfPresent(intermediatePath),
|
|
2623
|
+
lstatIfPresent(targetPath),
|
|
2624
|
+
]);
|
|
2625
|
+
if (sourceStats && !intermediateStats && !targetStats) {
|
|
2626
|
+
await plugins.fs.promises.unlink(auditPath).catch((cleanupErrorArg) => {
|
|
2627
|
+
if (cleanupErrorArg.code !== 'ENOENT')
|
|
2628
|
+
throw cleanupErrorArg;
|
|
2629
|
+
});
|
|
2630
|
+
await syncDirectory(this.baseDirectory);
|
|
2631
|
+
}
|
|
2632
|
+
throw errorArg;
|
|
2633
|
+
}
|
|
2634
|
+
await optionsArg.lock.assertOwned();
|
|
2635
|
+
return parseUpgradeTransaction(await readPrivateJson(targetPath));
|
|
2636
|
+
}
|
|
2009
2637
|
async createTransaction(optionsArg) {
|
|
2010
2638
|
await this.init();
|
|
2011
2639
|
const now = Date.now();
|
|
@@ -2015,6 +2643,9 @@ export class UpgradeCoordinator {
|
|
|
2015
2643
|
revision: 0,
|
|
2016
2644
|
port: assertPort(optionsArg.port),
|
|
2017
2645
|
sourceVersion: assertBoundedText(optionsArg.sourceVersion, 'The upgrade source version', 128),
|
|
2646
|
+
...(optionsArg.registryUrl === undefined
|
|
2647
|
+
? {}
|
|
2648
|
+
: { registryUrl: normalizeUpgradeRegistryUrl(optionsArg.registryUrl) }),
|
|
2018
2649
|
controllerWasRunning: optionsArg.controllerWasRunning,
|
|
2019
2650
|
continueSessions: optionsArg.continueSessions,
|
|
2020
2651
|
gracePeriodMs: optionsArg.gracePeriodMs,
|
|
@@ -2119,7 +2750,14 @@ export class UpgradeCoordinator {
|
|
|
2119
2750
|
throw new Error(`The upgrade package-transition checkpoint ${checkpoint} cannot regress.`);
|
|
2120
2751
|
}
|
|
2121
2752
|
}
|
|
2753
|
+
if (currentArg.recoveryTargetVersion !== next.recoveryTargetVersion) {
|
|
2754
|
+
throw new Error('The package-transition recovery target cannot change after adoption.');
|
|
2755
|
+
}
|
|
2122
2756
|
}
|
|
2757
|
+
if (currentArg.version === coordinationVersion
|
|
2758
|
+
&& next.version === coordinationVersion
|
|
2759
|
+
&& currentArg.registryUrl !== next.registryUrl)
|
|
2760
|
+
throw new Error('The upgrade registry cannot change after the transaction is created.');
|
|
2123
2761
|
if ((currentArg.preparationAcceptedAt !== undefined
|
|
2124
2762
|
&& next.preparationAcceptedAt !== currentArg.preparationAcceptedAt)
|
|
2125
2763
|
|| (currentArg.preparationDeadlineAt !== undefined
|
|
@@ -2156,7 +2794,7 @@ export class UpgradeCoordinator {
|
|
|
2156
2794
|
...(current.worker?.logFilePath ? { logFilePath: current.worker.logFilePath } : {}),
|
|
2157
2795
|
},
|
|
2158
2796
|
phase: 'checking',
|
|
2159
|
-
message: 'Checking the
|
|
2797
|
+
message: 'Checking the registry latest version.',
|
|
2160
2798
|
}));
|
|
2161
2799
|
}
|
|
2162
2800
|
async recordWorkerLaunch(tokenArg, pidArg, cliPathArg, logFilePathArg) {
|
|
@@ -2223,42 +2861,7 @@ export class UpgradeCoordinator {
|
|
|
2223
2861
|
await this.terminateUpgradeWorkerCandidate(worker);
|
|
2224
2862
|
}
|
|
2225
2863
|
async terminateUpgradeWorkerCandidate(worker) {
|
|
2226
|
-
|
|
2227
|
-
if (identity) {
|
|
2228
|
-
if (identity.fingerprint !== worker.fingerprint
|
|
2229
|
-
|| identity.processGroupId !== worker.processGroupId
|
|
2230
|
-
|| !identity.processGroupLeader
|
|
2231
|
-
|| !await processIdentityHasCliCommand(identity, worker.cliPath, '__upgrade-worker', { allowMissingAbsolutePath: true }))
|
|
2232
|
-
throw new Error('The stalled upgrade worker identity changed unexpectedly.');
|
|
2233
|
-
}
|
|
2234
|
-
else if (worker.processGroupId !== worker.pid
|
|
2235
|
-
|| (await readProcessGroupMemberPids(worker.processGroupId)).length === 0) {
|
|
2236
|
-
return;
|
|
2237
|
-
}
|
|
2238
|
-
const signalOwnedWorker = (signalArg) => {
|
|
2239
|
-
try {
|
|
2240
|
-
process.kill(-worker.processGroupId, signalArg);
|
|
2241
|
-
}
|
|
2242
|
-
catch (errorArg) {
|
|
2243
|
-
if (errorArg.code !== 'ESRCH')
|
|
2244
|
-
throw errorArg;
|
|
2245
|
-
}
|
|
2246
|
-
};
|
|
2247
|
-
const waitForDrain = async () => {
|
|
2248
|
-
const deadline = Date.now() + workerTerminationGraceMs;
|
|
2249
|
-
while (Date.now() < deadline) {
|
|
2250
|
-
if ((await readProcessGroupMemberPids(worker.processGroupId)).length === 0)
|
|
2251
|
-
return true;
|
|
2252
|
-
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
2253
|
-
}
|
|
2254
|
-
return (await readProcessGroupMemberPids(worker.processGroupId)).length === 0;
|
|
2255
|
-
};
|
|
2256
|
-
signalOwnedWorker('SIGTERM');
|
|
2257
|
-
if (await waitForDrain())
|
|
2258
|
-
return;
|
|
2259
|
-
signalOwnedWorker('SIGKILL');
|
|
2260
|
-
if (!await waitForDrain())
|
|
2261
|
-
throw new Error('The stalled upgrade worker group did not terminate.');
|
|
2864
|
+
await terminateVerifiedUpgradeWorkerProcessGroup(worker);
|
|
2262
2865
|
}
|
|
2263
2866
|
async readSanitizedUpgradeStatus(tokenArg) {
|
|
2264
2867
|
const transaction = await this.readTransaction(tokenArg);
|
|
@@ -2273,7 +2876,7 @@ export class UpgradeCoordinator {
|
|
|
2273
2876
|
: transaction.phase;
|
|
2274
2877
|
return {
|
|
2275
2878
|
fromVersion: transaction.sourceVersion,
|
|
2276
|
-
toVersion: transaction
|
|
2879
|
+
toVersion: upgradeTransactionTargetVersion(transaction),
|
|
2277
2880
|
phase,
|
|
2278
2881
|
};
|
|
2279
2882
|
}
|
|
@@ -2444,31 +3047,91 @@ export class UpgradeCoordinator {
|
|
|
2444
3047
|
await syncDirectory(this.baseDirectory);
|
|
2445
3048
|
}
|
|
2446
3049
|
}
|
|
2447
|
-
async
|
|
3050
|
+
async removeWorkerAcknowledgement(tokenArg) {
|
|
3051
|
+
await this.init();
|
|
3052
|
+
let removed = false;
|
|
3053
|
+
await plugins.fs.promises.unlink(this.tokenFilePath('ack', tokenArg)).then(() => {
|
|
3054
|
+
removed = true;
|
|
3055
|
+
}).catch((errorArg) => {
|
|
3056
|
+
if (errorArg.code !== 'ENOENT')
|
|
3057
|
+
throw errorArg;
|
|
3058
|
+
});
|
|
3059
|
+
if (removed)
|
|
3060
|
+
await syncDirectory(this.baseDirectory);
|
|
3061
|
+
}
|
|
3062
|
+
async acknowledgeWorker(tokenArg, workerArg) {
|
|
2448
3063
|
await this.init();
|
|
3064
|
+
const identity = await readControllerProcessIdentity(workerArg.pid);
|
|
3065
|
+
if (!identity
|
|
3066
|
+
|| identity.fingerprint !== workerArg.fingerprint
|
|
3067
|
+
|| identity.processGroupId !== workerArg.processGroupId)
|
|
3068
|
+
throw new Error('The upgrade acknowledgement worker identity is no longer current.');
|
|
2449
3069
|
const acknowledgement = {
|
|
2450
3070
|
version: coordinationVersion,
|
|
2451
3071
|
tokenHash: hashToken(tokenArg),
|
|
3072
|
+
pid: identity.pid,
|
|
3073
|
+
processGroupId: identity.processGroupId,
|
|
3074
|
+
fingerprint: identity.fingerprint,
|
|
2452
3075
|
};
|
|
2453
3076
|
const acknowledgementPath = this.tokenFilePath('ack', tokenArg);
|
|
3077
|
+
const temporaryPath = `${acknowledgementPath}.tmp-${process.pid}-${plugins.crypto.randomBytes(4).toString('hex')}`;
|
|
3078
|
+
let published = false;
|
|
2454
3079
|
try {
|
|
2455
|
-
await writePrivateJson(
|
|
3080
|
+
await writePrivateJson(temporaryPath, acknowledgement);
|
|
3081
|
+
try {
|
|
3082
|
+
await plugins.fs.promises.link(temporaryPath, acknowledgementPath);
|
|
3083
|
+
published = true;
|
|
3084
|
+
await syncDirectory(this.baseDirectory);
|
|
3085
|
+
}
|
|
3086
|
+
catch (errorArg) {
|
|
3087
|
+
if (errorArg.code !== 'EEXIST') {
|
|
3088
|
+
if (published)
|
|
3089
|
+
return;
|
|
3090
|
+
throw errorArg;
|
|
3091
|
+
}
|
|
3092
|
+
let existing;
|
|
3093
|
+
try {
|
|
3094
|
+
existing = await readPrivateJson(acknowledgementPath);
|
|
3095
|
+
}
|
|
3096
|
+
catch (readErrorArg) {
|
|
3097
|
+
if (readErrorArg.code === 'ENOENT') {
|
|
3098
|
+
published = true;
|
|
3099
|
+
return;
|
|
3100
|
+
}
|
|
3101
|
+
throw readErrorArg;
|
|
3102
|
+
}
|
|
3103
|
+
if (!existing
|
|
3104
|
+
|| typeof existing !== 'object'
|
|
3105
|
+
|| Array.isArray(existing)
|
|
3106
|
+
|| !exactKeys(existing, [
|
|
3107
|
+
'version', 'tokenHash', 'pid', 'processGroupId', 'fingerprint',
|
|
3108
|
+
])
|
|
3109
|
+
|| existing.version !== coordinationVersion
|
|
3110
|
+
|| existing.tokenHash !== acknowledgement.tokenHash
|
|
3111
|
+
|| existing.pid !== acknowledgement.pid
|
|
3112
|
+
|| existing.processGroupId !== acknowledgement.processGroupId
|
|
3113
|
+
|| existing.fingerprint !== acknowledgement.fingerprint)
|
|
3114
|
+
throw new Error('The existing upgrade acknowledgement is invalid.');
|
|
3115
|
+
published = true;
|
|
3116
|
+
}
|
|
2456
3117
|
}
|
|
2457
3118
|
catch (errorArg) {
|
|
2458
|
-
if (
|
|
2459
|
-
|
|
2460
|
-
|
|
2461
|
-
|
|
2462
|
-
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
throw new Error('The existing upgrade acknowledgement is invalid.');
|
|
3119
|
+
if (published)
|
|
3120
|
+
return;
|
|
3121
|
+
throw errorArg;
|
|
3122
|
+
}
|
|
3123
|
+
finally {
|
|
3124
|
+
await plugins.fs.promises.unlink(temporaryPath).catch((errorArg) => {
|
|
3125
|
+
if (errorArg.code !== 'ENOENT' && !published)
|
|
3126
|
+
throw errorArg;
|
|
3127
|
+
});
|
|
2468
3128
|
}
|
|
2469
3129
|
}
|
|
2470
3130
|
async waitForWorkerAcknowledgement(tokenArg, timeoutMsArg = 10_000) {
|
|
2471
3131
|
const token = assertToken(tokenArg);
|
|
3132
|
+
const identity = await readControllerProcessIdentity(process.pid);
|
|
3133
|
+
if (!identity)
|
|
3134
|
+
throw new Error('The upgrade worker acknowledgement identity is unavailable.');
|
|
2472
3135
|
const ackPath = this.tokenFilePath('ack', token);
|
|
2473
3136
|
const deadline = Date.now() + timeoutMsArg;
|
|
2474
3137
|
while (Date.now() < deadline) {
|
|
@@ -2478,11 +3141,14 @@ export class UpgradeCoordinator {
|
|
|
2478
3141
|
throw new Error(`The ${currentCliName} upgrade acknowledgement is malformed.`);
|
|
2479
3142
|
}
|
|
2480
3143
|
const ack = value;
|
|
2481
|
-
if (!exactKeys(ack, ['version', 'tokenHash'])
|
|
3144
|
+
if (!exactKeys(ack, ['version', 'tokenHash', 'pid', 'processGroupId', 'fingerprint'])
|
|
2482
3145
|
|| ack.version !== coordinationVersion
|
|
2483
3146
|
|| typeof ack.tokenHash !== 'string'
|
|
2484
3147
|
|| !upgradeTokenHashPattern.test(ack.tokenHash)
|
|
2485
|
-
|| !tokensEqual(ack.tokenHash, hashToken(token))
|
|
3148
|
+
|| !tokensEqual(ack.tokenHash, hashToken(token))
|
|
3149
|
+
|| ack.pid !== identity.pid
|
|
3150
|
+
|| ack.processGroupId !== identity.processGroupId
|
|
3151
|
+
|| ack.fingerprint !== identity.fingerprint) {
|
|
2486
3152
|
throw new Error(`The ${currentCliName} upgrade acknowledgement binding is invalid.`);
|
|
2487
3153
|
}
|
|
2488
3154
|
await plugins.fs.promises.unlink(ackPath);
|
|
@@ -2563,4 +3229,4 @@ export const parseUpgradeWorkerPayload = (payloadArg, tokenArg) => {
|
|
|
2563
3229
|
: {}),
|
|
2564
3230
|
};
|
|
2565
3231
|
};
|
|
2566
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy51cGdyYWRlY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jbGFzc2VzLnVwZ3JhZGVjb29yZGluYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wscUJBQXFCLEdBR3RCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsMEJBQTBCLEdBQzNCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUNMLDBDQUEwQyxFQUMxQywrQkFBK0IsR0FDaEMsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFVLENBQUM7QUFDckQsTUFBTSxtQkFBbUIsR0FBRywwQkFBMEIsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRyxDQUFVLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUc7SUFDNUMsV0FBVyxFQUFFLHNDQUFzQztJQUNuRCxPQUFPLEVBQUUsUUFBUTtJQUNqQixpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxNQUFNO0lBQ2YsZUFBZSxFQUFFLFVBQVU7Q0FDbkIsQ0FBQztBQUNYLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHO0lBQzVDLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLGlCQUFpQixFQUFFLENBQUM7SUFDcEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxlQUFlLEVBQUUsVUFBVTtDQUNuQixDQUFDO0FBQ1gsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQUssOEJBQThCLENBQUMsV0FBVztJQUNqRyxDQUFDLENB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
|
|
3232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3Nlcy51cGdyYWRlY29vcmRpbmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9jbGFzc2VzLnVwZ3JhZGVjb29yZGluYXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssT0FBTyxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQ0wscUJBQXFCLEdBR3RCLE1BQU0sMkJBQTJCLENBQUM7QUFDbkMsT0FBTyxFQUNMLDRCQUE0QixFQUM1Qiw2QkFBNkIsRUFDN0IsMEJBQTBCLEdBQzNCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDM0QsT0FBTyxFQUNMLDBDQUEwQyxFQUMxQywrQkFBK0IsR0FDaEMsTUFBTSxtQ0FBbUMsQ0FBQztBQUUzQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUFVLENBQUM7QUFDckQsTUFBTSxtQkFBbUIsR0FBRywwQkFBMEIsQ0FBQztBQUN2RCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRyxDQUFVLENBQUM7QUFDckUsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQUc7SUFDNUMsV0FBVyxFQUFFLHNDQUFzQztJQUNuRCxPQUFPLEVBQUUsUUFBUTtJQUNqQixpQkFBaUIsRUFBRSxDQUFDO0lBQ3BCLE9BQU8sRUFBRSxNQUFNO0lBQ2YsZUFBZSxFQUFFLFVBQVU7Q0FDbkIsQ0FBQztBQUNYLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHO0lBQzVDLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLE9BQU8sRUFBRSxRQUFRO0lBQ2pCLGlCQUFpQixFQUFFLENBQUM7SUFDcEIsT0FBTyxFQUFFLEtBQUs7SUFDZCxlQUFlLEVBQUUsVUFBVTtDQUNuQixDQUFDO0FBQ1gsTUFBTSxjQUFjLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDLEtBQUssOEJBQThCLENBQUMsV0FBVztJQUNqRyxDQUFDLENB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
|