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.
@@ -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 (!entry.isFile() || !transactionMetadataPattern.test(entry.name))
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
- const stats = await lstatIfPresent(filePath);
1181
- if (!stats)
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
- if (!stats.isFile()
1184
- || stats.isSymbolicLink()
1185
- || stats.uid !== this.uid
1186
- || (stats.mode & 0o077) !== 0)
1187
- throw new Error(`Upgrade transaction metadata is unsafe: ${filePath}`);
1188
- if (Date.now() - stats.mtimeMs > transactionRetentionMs) {
1189
- const transaction = parseUpgradeTransaction(await readPrivateJson(filePath));
1190
- const workerIsLive = await this.transactionWorkerIsLive(transaction).catch(() => true);
1191
- const controllerIsLive = transaction.controller
1192
- ? await this.transactionControllerIsLive(transaction).catch(() => true)
1193
- : false;
1194
- if (transaction.terminal || (!workerIsLive && !controllerIsLive)) {
1195
- await plugins.fs.promises.unlink(filePath).catch((errorArg) => {
1196
- if (errorArg.code !== 'ENOENT')
1197
- throw errorArg;
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 = `${ownerPath}.transfer-${process.pid}-${plugins.crypto.randomBytes(4).toString('hex')}`;
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
- await plugins.fs.promises.unlink(temporaryPath).catch(() => undefined);
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 npm latest version.',
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
- const identity = await readControllerProcessIdentity(worker.pid);
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.targetVersion,
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 acknowledgeWorker(tokenArg) {
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(acknowledgementPath, acknowledgement);
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 (errorArg.code !== 'EEXIST')
2459
- throw errorArg;
2460
- const existing = await readPrivateJson(acknowledgementPath);
2461
- if (!existing
2462
- || typeof existing !== 'object'
2463
- || Array.isArray(existing)
2464
- || !exactKeys(existing, ['version', 'tokenHash'])
2465
- || existing.version !== coordinationVersion
2466
- || existing.tokenHash !== acknowledgement.tokenHash)
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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