agl 22.0.0 → 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.
Files changed (33) hide show
  1. package/changelog.md +20 -0
  2. package/dist_serve/bundle.js +520 -509
  3. package/dist_ts/00_commitinfo_data.js +1 -1
  4. package/dist_ts/classes.authstore.d.ts +1 -2
  5. package/dist_ts/classes.authstore.js +1 -6
  6. package/dist_ts/classes.cli.d.ts +4 -2
  7. package/dist_ts/classes.cli.js +161 -68
  8. package/dist_ts/classes.controller.js +68 -30
  9. package/dist_ts/classes.upgradecoordinator.d.ts +39 -1
  10. package/dist_ts/classes.upgradecoordinator.js +740 -74
  11. package/dist_ts/classes.upgradetransaction.d.ts +68 -1
  12. package/dist_ts/classes.upgradetransaction.js +383 -223
  13. package/dist_ts_migration/classes.documentmigrationrunner.js +3 -1
  14. package/dist_ts_migration/index.d.ts +2 -0
  15. package/dist_ts_migration/index.js +3 -1
  16. package/dist_ts_migration/v24_legacyterminallayout.d.ts +18 -0
  17. package/dist_ts_migration/v24_legacyterminallayout.js +79 -0
  18. package/dist_ts_migration/v24_legacyterminallayoutmigration.d.ts +6 -0
  19. package/dist_ts_migration/v24_legacyterminallayoutmigration.js +67 -0
  20. package/package.json +1 -1
  21. package/readme.md +255 -378
  22. package/ts/00_commitinfo_data.ts +1 -1
  23. package/ts/classes.authstore.ts +0 -15
  24. package/ts/classes.cli.ts +184 -83
  25. package/ts/classes.controller.ts +79 -33
  26. package/ts/classes.upgradecoordinator.ts +876 -74
  27. package/ts/classes.upgradetransaction.ts +574 -250
  28. package/ts_migration/classes.documentmigrationrunner.ts +2 -0
  29. package/ts_migration/index.ts +2 -0
  30. package/ts_migration/v24_legacyterminallayout.ts +131 -0
  31. package/ts_migration/v24_legacyterminallayoutmigration.ts +88 -0
  32. package/ts_web/00_commitinfo_data.ts +1 -1
  33. package/ts_web/elements.harnesscontrollerapp.ts +32 -2
@@ -1,7 +1,7 @@
1
1
  import { type IControllerStatus } from '../dist_ts_interfaces/index.js';
2
2
  import { requestControllerUpgradePrepareBegin, stopVerifiedController } from './classes.controllermanagement.js';
3
3
  import { inspectControllerProcess } from './classes.processinspection.js';
4
- import { type TUpgradeTransaction, type IUpgradeExpectedController, type IUpgradeWorkerPayload, UpgradeCoordinator } from './classes.upgradecoordinator.js';
4
+ import { type TUpgradeTransaction, type IUpgradeTransactionInventoryEntry, type IUpgradeExpectedController, type IUpgradeWorkerPayload, UpgradeCoordinator, type UpgradeInstallationLock } from './classes.upgradecoordinator.js';
5
5
  export interface IPnpmGlobalInstallation {
6
6
  packageManagerPath: string;
7
7
  globalRoot: string;
@@ -17,6 +17,26 @@ export interface IDetachedUpgradeWorker {
17
17
  cliPath: string;
18
18
  logFilePath: string;
19
19
  }
20
+ export interface IUpgradeWorkerLaunchCandidate {
21
+ pid: number;
22
+ cliPath: string;
23
+ logFilePath: string;
24
+ processGroupId?: number;
25
+ fingerprint?: string;
26
+ }
27
+ export declare class UpgradeWorkerHandoffError extends Error {
28
+ readonly recoveryLock: UpgradeInstallationLock;
29
+ constructor(messageArg: string, causeArg: unknown, recoveryLock: UpgradeInstallationLock);
30
+ }
31
+ export declare class UpgradeWorkerCandidateDrainageError extends Error {
32
+ constructor(messageArg: string, causeArg: unknown);
33
+ }
34
+ export interface ITerminalizeUpgradeWorkerHandoffFailureOptions {
35
+ coordinator: UpgradeCoordinator;
36
+ token: string;
37
+ error: UpgradeWorkerHandoffError;
38
+ }
39
+ export declare const terminalizeUpgradeWorkerHandoffFailure: (optionsArg: ITerminalizeUpgradeWorkerHandoffFailureOptions) => Promise<never>;
20
40
  export declare const createPackageManagerEnvironment: (sourceArg?: NodeJS.ProcessEnv) => NodeJS.ProcessEnv;
21
41
  export declare const resolvePnpmGlobalInstallation: () => Promise<IPnpmGlobalInstallation>;
22
42
  export declare const resolveInheritedUpgradeTargetInstallation: (transactionArg: TUpgradeTransaction) => Promise<IPnpmGlobalInstallation>;
@@ -24,12 +44,34 @@ export declare const resolveCurrentCliPath: () => Promise<string>;
24
44
  export declare const resolveCurrentPnpmGlobalInstallation: () => Promise<IPnpmGlobalInstallation>;
25
45
  export declare const tryResolveCurrentPnpmGlobalInstallation: () => Promise<IPnpmGlobalInstallation | undefined>;
26
46
  export declare const compareSemver: (leftArg: string, rightArg: string) => number;
47
+ export interface IInspectOrphanedUpgradeForAdoptionOptions {
48
+ coordinator: UpgradeCoordinator;
49
+ installation: IPnpmGlobalInstallation;
50
+ port: number;
51
+ registryUrl?: string;
52
+ }
53
+ export declare const inspectOrphanedUpgradeForAdoption: (optionsArg: IInspectOrphanedUpgradeForAdoptionOptions) => Promise<IUpgradeTransactionInventoryEntry | undefined>;
54
+ export interface IAdoptOrphanedUpgradeUnderLockOptions extends IInspectOrphanedUpgradeForAdoptionOptions {
55
+ lock: UpgradeInstallationLock;
56
+ token: string;
57
+ expected: IUpgradeTransactionInventoryEntry;
58
+ }
59
+ export declare const adoptOrphanedUpgradeUnderLock: (optionsArg: IAdoptOrphanedUpgradeUnderLockOptions) => Promise<TUpgradeTransaction>;
60
+ export interface ICandidateCleanupDependencies {
61
+ beforeAttempt?: (processIdArg?: number) => Promise<void>;
62
+ }
63
+ export declare const terminateUpgradeWorkerCandidateUntilDrained: (coordinatorArg: UpgradeCoordinator, candidateArg: IDetachedUpgradeWorker) => Promise<void>;
27
64
  interface ILaunchDetachedUpgradeWorkerOptions {
28
65
  installation: IPnpmGlobalInstallation;
29
66
  payload: IUpgradeWorkerPayload;
30
67
  environment?: NodeJS.ProcessEnv;
31
68
  }
32
69
  export declare function launchDetachedUpgradeWorker(optionsArg: ILaunchDetachedUpgradeWorkerOptions): Promise<IDetachedUpgradeWorker>;
70
+ declare const launchDetachedRecoveryWorker: (optionsArg: {
71
+ installation: IPnpmGlobalInstallation;
72
+ payload: IUpgradeWorkerPayload;
73
+ environment?: NodeJS.ProcessEnv;
74
+ }) => Promise<IDetachedUpgradeWorker>;
33
75
  export interface IRetainedUpgradeTargetAuthorityOptions {
34
76
  coordinator: UpgradeCoordinator;
35
77
  token: string;
@@ -82,6 +124,31 @@ interface IRecoverStalledUpgradeOptions {
82
124
  installation: IPnpmGlobalInstallation;
83
125
  command: '__serve' | 'foreground' | 'upgrade';
84
126
  }
127
+ export interface IUpgradeWorkerHandoffDependencies {
128
+ terminateWorkerCandidate?: (candidateArg: IDetachedUpgradeWorker) => Promise<void>;
129
+ candidateCleanup?: ICandidateCleanupDependencies;
130
+ }
131
+ interface IRecoverStalledUpgradeDependencies extends IUpgradeWorkerHandoffDependencies {
132
+ launchRecoveryWorker?: typeof launchDetachedRecoveryWorker;
133
+ }
134
+ export interface IHandoffLaunchedUpgradeWorkerUnderLockOptions {
135
+ coordinator: UpgradeCoordinator;
136
+ token: string;
137
+ installation: IPnpmGlobalInstallation;
138
+ command: '__serve' | 'foreground' | 'upgrade';
139
+ lock: UpgradeInstallationLock;
140
+ candidate: IUpgradeWorkerLaunchCandidate;
141
+ retainLockOnFailure?: boolean;
142
+ }
143
+ export declare const handoffLaunchedUpgradeWorkerUnderLock: (optionsArg: IHandoffLaunchedUpgradeWorkerUnderLockOptions, dependenciesArg?: IUpgradeWorkerHandoffDependencies) => Promise<IDetachedUpgradeWorker>;
144
+ export interface IHandoffStalledUpgradeRecoveryUnderLockOptions {
145
+ coordinator: UpgradeCoordinator;
146
+ token: string;
147
+ installation: IPnpmGlobalInstallation;
148
+ command: '__serve' | 'foreground' | 'upgrade';
149
+ lock: UpgradeInstallationLock;
150
+ }
151
+ export declare const handoffStalledUpgradeRecoveryUnderLock: (optionsArg: IHandoffStalledUpgradeRecoveryUnderLockOptions, dependenciesArg?: IRecoverStalledUpgradeDependencies) => Promise<IDetachedUpgradeWorker | undefined>;
85
152
  export declare function recoverStalledUpgrade(optionsArg: IRecoverStalledUpgradeOptions): Promise<boolean>;
86
153
  export declare const createUpgradeWorkerPayload: (optionsArg: {
87
154
  port: number;