@omniaseo/cli 0.1.2 → 0.1.4

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 (66) hide show
  1. package/README.md +25 -2
  2. package/dist/auth/callback-receiver.d.ts +3 -1
  3. package/dist/auth/callback-receiver.d.ts.map +1 -1
  4. package/dist/auth/callback-receiver.js +90 -11
  5. package/dist/auth/callback-receiver.js.map +1 -1
  6. package/dist/auth/callback-relay.d.ts +2 -0
  7. package/dist/auth/callback-relay.d.ts.map +1 -1
  8. package/dist/auth/callback-relay.js +10 -7
  9. package/dist/auth/callback-relay.js.map +1 -1
  10. package/dist/auth/managed-files.d.ts +8 -0
  11. package/dist/auth/managed-files.d.ts.map +1 -0
  12. package/dist/auth/managed-files.js +93 -0
  13. package/dist/auth/managed-files.js.map +1 -0
  14. package/dist/auth/managed-installation.d.ts +26 -0
  15. package/dist/auth/managed-installation.d.ts.map +1 -0
  16. package/dist/auth/managed-installation.js +151 -0
  17. package/dist/auth/managed-installation.js.map +1 -0
  18. package/dist/auth/managed-launcher.d.ts +2 -0
  19. package/dist/auth/managed-launcher.d.ts.map +1 -0
  20. package/dist/auth/managed-launcher.js +63 -0
  21. package/dist/auth/managed-launcher.js.map +1 -0
  22. package/dist/auth/managed-supervisor.d.ts +17 -0
  23. package/dist/auth/managed-supervisor.d.ts.map +1 -0
  24. package/dist/auth/managed-supervisor.js +233 -0
  25. package/dist/auth/managed-supervisor.js.map +1 -0
  26. package/dist/auth/managed-updater.d.ts +72 -0
  27. package/dist/auth/managed-updater.d.ts.map +1 -0
  28. package/dist/auth/managed-updater.js +209 -0
  29. package/dist/auth/managed-updater.js.map +1 -0
  30. package/dist/auth/profile-lock.d.ts +1 -1
  31. package/dist/auth/profile-lock.d.ts.map +1 -1
  32. package/dist/auth/profile-lock.js +3 -1
  33. package/dist/auth/profile-lock.js.map +1 -1
  34. package/dist/auth/receiver-service.d.ts.map +1 -1
  35. package/dist/auth/receiver-service.js +5 -4
  36. package/dist/auth/receiver-service.js.map +1 -1
  37. package/dist/commands/connect.d.ts +2 -0
  38. package/dist/commands/connect.d.ts.map +1 -1
  39. package/dist/commands/connect.js +2 -1
  40. package/dist/commands/connect.js.map +1 -1
  41. package/dist/commands/doctor.d.ts +1 -0
  42. package/dist/commands/doctor.d.ts.map +1 -1
  43. package/dist/commands/doctor.js +20 -1
  44. package/dist/commands/doctor.js.map +1 -1
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +27 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/process/runner.d.ts +2 -0
  49. package/dist/process/runner.d.ts.map +1 -1
  50. package/dist/process/runner.js +1 -0
  51. package/dist/process/runner.js.map +1 -1
  52. package/node_modules/@omnia/omnia-connect-contracts/dist/src/actions/catalog.d.ts +1 -0
  53. package/node_modules/@omnia/omnia-connect-contracts/dist/src/actions/catalog.d.ts.map +1 -1
  54. package/node_modules/@omnia/omnia-connect-contracts/dist/src/actions/catalog.js +1 -1
  55. package/node_modules/@omnia/omnia-connect-contracts/dist/src/actions/catalog.js.map +1 -1
  56. package/node_modules/@omnia/omnia-connect-contracts/dist/src/index.d.ts.map +1 -1
  57. package/node_modules/@omnia/omnia-connect-contracts/dist/src/index.js +1 -0
  58. package/node_modules/@omnia/omnia-connect-contracts/dist/src/index.js.map +1 -1
  59. package/node_modules/@omnia/omnia-connect-contracts/dist/src/schemas/reference-slice.d.ts +37 -0
  60. package/node_modules/@omnia/omnia-connect-contracts/dist/src/schemas/reference-slice.d.ts.map +1 -1
  61. package/node_modules/@omnia/omnia-connect-contracts/dist/src/schemas/reference-slice.js +41 -3
  62. package/node_modules/@omnia/omnia-connect-contracts/dist/src/schemas/reference-slice.js.map +1 -1
  63. package/node_modules/@omnia/omnia-connect-contracts/src/actions/catalog.ts +1 -1
  64. package/node_modules/@omnia/omnia-connect-contracts/src/index.ts +1 -0
  65. package/node_modules/@omnia/omnia-connect-contracts/src/schemas/reference-slice.ts +40 -0
  66. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-installation.js","sourceRoot":"","sources":["../../src/auth/managed-installation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runManagedLauncher(root: string, signal: AbortSignal): Promise<void>;
2
+ //# sourceMappingURL=managed-launcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-launcher.d.ts","sourceRoot":"","sources":["../../src/auth/managed-launcher.ts"],"names":[],"mappings":"AAWA,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBzF"}
@@ -0,0 +1,63 @@
1
+ // Stable protocol-1 loader. The selected package supplies both the updater and
2
+ // receiver; it is re-imported after a swap so the updater is never frozen at its
3
+ // original installer version. This service never accepts remote shell commands.
4
+ import { join } from 'node:path';
5
+ import { pathToFileURL } from 'node:url';
6
+ import { rm } from 'node:fs/promises';
7
+ import { privateRead, privateWrite, pause } from './managed-files.js';
8
+ import { supervisorScript, verifiedSelection } from './managed-updater.js';
9
+ import { ProfileLock } from './profile-lock.js';
10
+ export async function runManagedLauncher(root, signal) {
11
+ const path = join(root, 'operational.json');
12
+ while (!signal.aborted) {
13
+ const state = await privateRead(path);
14
+ if (!state || state.schemaVersion !== 1)
15
+ throw new Error('UNSUPPORTED');
16
+ try {
17
+ await verifiedSelection(root, state.selected);
18
+ const module = await import(pathToFileURL(supervisorScript(root, state.selected)).href);
19
+ if (await module.runSupervisor(root, signal) === 'stopped')
20
+ return;
21
+ }
22
+ catch {
23
+ if (signal.aborted)
24
+ return;
25
+ const current = await privateRead(path);
26
+ if (current?.pending && current.previous) {
27
+ await verifiedSelection(root, current.previous);
28
+ await privateWrite(path, { ...current, selected: current.previous, previous: current.selected, pending: false,
29
+ state: 'attention', reason: 'ROLLBACK', ...(current.localUpdate?.status === 'checking' ? { localUpdate: { ...current.localUpdate, status: 'failed' } } : {}),
30
+ requestAck: current.requestAck ? { ...current.requestAck, status: 'failed' } : null });
31
+ }
32
+ else {
33
+ await privateWrite(path, { ...state, state: 'attention', reason: 'HEALTH' });
34
+ await pause(5000, signal);
35
+ }
36
+ }
37
+ }
38
+ }
39
+ if (process.argv[1] && import.meta.url === pathToFileURL(process.argv[1]).href) {
40
+ const controller = new AbortController();
41
+ process.once('SIGTERM', () => controller.abort());
42
+ process.once('SIGINT', () => controller.abort());
43
+ const root = process.argv[2] || '';
44
+ let checking = false;
45
+ const poll = setInterval(() => {
46
+ if (checking)
47
+ return;
48
+ checking = true;
49
+ void privateRead(join(root, 'restart-request.json')).then(async (request) => {
50
+ if (request && /^[a-f0-9-]{36}$/u.test(request.id) && Date.parse(request.at) > Date.now() - 60_000) {
51
+ await rm(join(root, 'restart-request.json'));
52
+ controller.abort();
53
+ }
54
+ }).finally(() => { checking = false; }).catch(() => controller.abort());
55
+ }, 250);
56
+ try {
57
+ await new ProfileLock('managed-supervisor', join(root, '.locks')).run(() => runManagedLauncher(root, controller.signal), controller.signal);
58
+ }
59
+ finally {
60
+ clearInterval(poll);
61
+ }
62
+ }
63
+ //# sourceMappingURL=managed-launcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-launcher.js","sourceRoot":"","sources":["../../src/auth/managed-launcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import { type ChildProcess } from 'node:child_process';
2
+ import type { Selection } from './managed-updater.js';
3
+ export type ChildHealth = {
4
+ schemaVersion: 1;
5
+ pid: number;
6
+ runId: string;
7
+ runningVersion: string;
8
+ artifactSha256: string | null;
9
+ scriptSha256: string;
10
+ at: string;
11
+ busy: boolean;
12
+ };
13
+ export declare function matchingHealth(health: ChildHealth | undefined, selection: Selection, runId: string, pid: number, now?: number): boolean;
14
+ export declare function waitChildHealth(root: string, selection: Selection, runId: string, child: ChildProcess, timeout?: number): Promise<ChildHealth>;
15
+ export declare function stopChild(child: ChildProcess, grace?: number): Promise<void>;
16
+ export declare function runSupervisor(root: string, signal: AbortSignal, intervalMs?: number, heartbeatMs?: number): Promise<'restart' | 'stopped'>;
17
+ //# sourceMappingURL=managed-supervisor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-supervisor.d.ts","sourceRoot":"","sources":["../../src/auth/managed-supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAM9D,OAAO,KAAK,EAA2B,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAG/E,MAAM,MAAM,WAAW,GAAG;IAAE,aAAa,EAAE,CAAC,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAC/F,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AACnF,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,OAAO,CAI3I;AAED,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CASpJ;AAED,wBAAsB,SAAS,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAUlF;AAKD,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,SAAW,EAAE,WAAW,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CA4IlJ"}
@@ -0,0 +1,233 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { randomUUID } from 'node:crypto';
3
+ import { join } from 'node:path';
4
+ import { privateRead, privateWrite, pause } from './managed-files.js';
5
+ import { ProfileLock } from './profile-lock.js';
6
+ import { acquireMigrationLease, releaseMigrationLease, prepareRelease, relayJson, retainReleases, receiverScript, verifiedSelection, validateRelease, SAFE_REASONS } from './managed-updater.js';
7
+ export function matchingHealth(health, selection, runId, pid, now = Date.now()) {
8
+ return Boolean(health && health.schemaVersion === 1 && health.pid === pid && health.runId === runId
9
+ && health.runningVersion === selection.version && health.artifactSha256 === selection.artifactSha256
10
+ && health.scriptSha256 === selection.scriptSha256 && Date.parse(health.at) <= now + 1000 && Date.parse(health.at) >= now - 15_000);
11
+ }
12
+ export async function waitChildHealth(root, selection, runId, child, timeout = 15_000) {
13
+ const deadline = Date.now() + timeout;
14
+ while (Date.now() < deadline) {
15
+ if (child.exitCode !== null || child.signalCode !== null || !child.pid)
16
+ throw new Error('HEALTH');
17
+ const health = await privateRead(join(root, 'health.json'));
18
+ if (matchingHealth(health, selection, runId, child.pid))
19
+ return health;
20
+ await pause(100);
21
+ }
22
+ throw new Error('HEALTH');
23
+ }
24
+ export async function stopChild(child, grace = 20_000) {
25
+ if (child.exitCode !== null || child.signalCode !== null)
26
+ return;
27
+ const closed = new Promise(resolve => child.once('close', () => resolve()));
28
+ // IPC works across all supported OSes and allows the delivery in flight to
29
+ // finish before exit. No SIGTERM is used to interrupt a claimed callback.
30
+ if (child.connected)
31
+ child.send('stop');
32
+ else
33
+ child.kill('SIGTERM');
34
+ let timer;
35
+ const outcome = await Promise.race([closed.then(() => true), new Promise(resolve => { timer = setTimeout(() => resolve(false), grace); })]);
36
+ if (timer)
37
+ clearTimeout(timer);
38
+ if (!outcome) {
39
+ child.kill('SIGKILL');
40
+ await Promise.race([closed, pause(2000)]);
41
+ throw new Error('HEALTH');
42
+ }
43
+ }
44
+ function reason(error) {
45
+ return error instanceof Error && SAFE_REASONS.includes(error.message) ? error.message : 'OFFLINE';
46
+ }
47
+ export async function runSupervisor(root, signal, intervalMs = 3600_000, heartbeatMs = 60_000) {
48
+ const path = join(root, 'operational.json');
49
+ const config = await privateRead(join(root, 'receiver.json'));
50
+ let operational = await privateRead(path);
51
+ if (!config || !operational || operational.schemaVersion !== 1)
52
+ throw new Error('UNSUPPORTED');
53
+ if (!process.version.startsWith('v24.'))
54
+ throw new Error('UNSUPPORTED');
55
+ await verifiedSelection(root, operational.selected);
56
+ const selected = operational.selected;
57
+ const runId = randomUUID();
58
+ const child = spawn(process.execPath, [receiverScript(root, selected), join(root, 'receiver.json'), join(root, 'health.json'), runId,
59
+ selected.artifactSha256 || 'unknown'], { shell: false, stdio: ['ignore', 'ignore', 'ignore', 'ipc'], windowsHide: true });
60
+ // Credential and native OAuth output never goes to the service journal.
61
+ let childError = false;
62
+ child.on('error', () => { childError = true; });
63
+ try {
64
+ await waitChildHealth(root, selected, runId, child);
65
+ if (operational.pending) {
66
+ operational = { ...operational, pending: false, state: 'current', reason: 'NONE', lastConfirmedUpdate: new Date().toISOString(),
67
+ ...(operational.localUpdate?.status === 'checking' ? { localUpdate: { ...operational.localUpdate, status: 'completed' } } : {}) };
68
+ await privateWrite(path, operational);
69
+ }
70
+ if (operational.migrationLease) {
71
+ // The previous supervisor held the OAuth fence across module reload. Only
72
+ // this fresh child (including a restored previous child) ends the switch.
73
+ await releaseMigrationLease(config, operational.migrationLease).catch(() => undefined);
74
+ const { migrationLease: _finishedLease, ...finished } = operational;
75
+ operational = finished;
76
+ await privateWrite(path, operational);
77
+ }
78
+ await retainReleases(root, [selected, ...(operational.previous ? [operational.previous] : [])]);
79
+ let nextCheck = operational.reason === 'ROLLBACK' ? Date.now() + 5 * 60_000 : 0;
80
+ let failures = 0;
81
+ let lastHeartbeat = 0;
82
+ let localCheckId;
83
+ const lock = new ProfileLock('managed-install', join(root, '.locks'));
84
+ while (!signal.aborted) {
85
+ if (childError || child.exitCode !== null || child.signalCode !== null || !child.pid)
86
+ throw new Error('HEALTH');
87
+ const currentHealth = await privateRead(join(root, 'health.json'));
88
+ if (!matchingHealth(currentHealth, selected, runId, child.pid))
89
+ throw new Error('HEALTH');
90
+ const localRequest = await privateRead(join(root, 'check-request.json'));
91
+ const localRequestFresh = localRequest?.id && localRequest.id !== operational.lastLocalRequestId
92
+ && /^[a-f0-9-]{36}$/u.test(localRequest.id) && ['check', 'update'].includes(localRequest.action || '')
93
+ && Date.parse(localRequest.at || '') > Date.now() - 15 * 60_000 && Date.parse(localRequest.at || '') <= Date.now() + 1000;
94
+ if (localRequestFresh && localRequest.id !== localCheckId) {
95
+ nextCheck = 0;
96
+ localCheckId = localRequest.id;
97
+ }
98
+ if (Date.now() - lastHeartbeat >= heartbeatMs || Date.now() >= nextCheck) {
99
+ await lock.run(async () => {
100
+ operational = await privateRead(path);
101
+ if (!operational || operational.selected.id !== selected.id)
102
+ throw new Error('HEALTH');
103
+ const explicitUpdate = Boolean(localRequestFresh && localRequest.id !== operational.lastLocalRequestId && localRequest.action === 'update');
104
+ if (localRequestFresh && localRequest.id !== operational.lastLocalRequestId) {
105
+ // Consume the private, fresh local approval before any download. A
106
+ // restart or failed request cannot turn it into repeated permission.
107
+ operational = { ...operational, lastLocalRequestId: localRequest.id, ...(explicitUpdate ? { localUpdate: {
108
+ id: localRequest.id, at: localRequest.at, targetVersion: null, targetSha256: null, status: 'checking'
109
+ } } : {}) };
110
+ await privateWrite(path, operational);
111
+ }
112
+ const telemetry = () => ({ protocolVersion: 1, packageVersion: selected.version, runningVersion: currentHealth.runningVersion,
113
+ artifactSha256: selected.artifactSha256, scriptSha256: selected.scriptSha256, nodeMajor: Number(process.versions.node.split('.')[0]), runId,
114
+ platform: process.platform === 'darwin' ? 'macos' : process.platform === 'win32' ? 'windows' : 'linux',
115
+ location: operational.location, autoUpdateEnabled: operational.autoUpdateEnabled, channel: operational.channel,
116
+ selectedPin: operational.selectedPin, lastCheckedAt: operational.lastCheck, lastUpdatedAt: operational.lastConfirmedUpdate,
117
+ health: operational.state === 'attention' ? 'failed' : operational.state === 'updating' ? 'updating' : 'healthy',
118
+ reason: operational.reason, ...(operational.requestAck ? { requestAck: operational.requestAck } : {}) });
119
+ const postTelemetry = async (extra = {}) => {
120
+ const fresh = await privateRead(join(root, 'health.json'));
121
+ if (!child.pid || child.exitCode !== null || child.signalCode !== null || !matchingHealth(fresh, selected, runId, child.pid))
122
+ throw new Error('HEALTH');
123
+ return relayJson(config, 'maintenance', { ...telemetry(), ...extra });
124
+ };
125
+ try {
126
+ const response = await postTelemetry();
127
+ if (operational.requestAck && operational.requestAck.status !== 'accepted') {
128
+ operational = { ...operational, requestAck: null };
129
+ await privateWrite(path, operational);
130
+ }
131
+ lastHeartbeat = Date.now();
132
+ const request = response.request;
133
+ const requestId = request?.action === 'check' && /^[a-f0-9-]{36}$/u.test(request.id || '') ? request.id : undefined;
134
+ if (Date.now() < nextCheck && !requestId)
135
+ return;
136
+ operational = { ...operational, state: 'checking', lastCheck: new Date().toISOString(), reason: 'NONE',
137
+ requestAck: requestId ? { id: requestId, status: 'accepted' } : null };
138
+ await privateWrite(path, operational);
139
+ const observed = await relayJson(config, 'release');
140
+ const observationExpiresAt = Date.parse(observed.observationExpiresAt || '');
141
+ if (!/^[a-f0-9-]{36}$/u.test(observed.observationNonce || '') || !Number.isFinite(observationExpiresAt)
142
+ || observationExpiresAt <= Date.now() || observationExpiresAt > Date.now() + 360_000)
143
+ throw new Error('OFFLINE');
144
+ const approved = observed.release;
145
+ const approvedRelease = approved ? validateRelease(approved) : null;
146
+ operational = { ...operational, recommendedVersion: approvedRelease?.version || null,
147
+ ...(explicitUpdate && operational.localUpdate ? { localUpdate: { ...operational.localUpdate,
148
+ targetVersion: approvedRelease?.version || null, targetSha256: approvedRelease?.sha256 || null } } : {}) };
149
+ const ack = operational.requestAck;
150
+ if (ack)
151
+ await postTelemetry({ requestAck: ack });
152
+ const pinMismatch = operational.selectedPin !== null && (!approved || validateRelease(approved).version !== operational.selectedPin);
153
+ const blocked = explicitUpdate ? pinMismatch : !operational.autoUpdateEnabled || operational.channel === 'pinned' || operational.selectedPin !== null;
154
+ if (approved && !blocked) {
155
+ const candidate = await prepareRelease(root, approved);
156
+ if (candidate.id !== selected.id) {
157
+ if (explicitUpdate && Date.parse(localRequest.at) + 15 * 60_000 <= Date.now())
158
+ throw new Error('PINNED');
159
+ operational = { ...operational, state: 'updating', reason: 'NONE' };
160
+ await privateWrite(path, operational);
161
+ await postTelemetry({ observationNonce: observed.observationNonce });
162
+ const lease = await acquireMigrationLease(config);
163
+ let committed = false;
164
+ try {
165
+ if (Date.now() + 50_000 >= Date.parse(lease.expiresAt))
166
+ throw new Error('MIGRATION_BUSY');
167
+ await stopChild(child);
168
+ // Keep the bounded server fence through the new supervisor's
169
+ // fresh child handshake, or the prior child's rollback health.
170
+ operational = { ...operational, selected: candidate, previous: selected, pending: true, migrationLease: lease,
171
+ requestAck: ack ? { ...ack, status: 'completed' } : null };
172
+ await privateWrite(path, operational);
173
+ committed = true;
174
+ }
175
+ finally {
176
+ if (!committed)
177
+ await releaseMigrationLease(config, lease).catch(() => undefined);
178
+ }
179
+ return;
180
+ }
181
+ }
182
+ operational = { ...operational, state: blocked ? 'pinned' : 'current', reason: blocked ? 'PINNED' : 'NONE',
183
+ ...(explicitUpdate && operational.localUpdate ? { localUpdate: { ...operational.localUpdate,
184
+ status: blocked || !approved ? 'failed' : 'completed' } } : {}),
185
+ requestAck: ack ? { ...ack, status: 'completed' } : null };
186
+ await privateWrite(path, operational);
187
+ await postTelemetry({ observationNonce: observed.observationNonce });
188
+ if (operational.requestAck) {
189
+ operational = { ...operational, requestAck: null };
190
+ await privateWrite(path, operational);
191
+ }
192
+ failures = 0;
193
+ nextCheck = Date.now() + intervalMs + Math.floor(Math.random() * Math.min(intervalMs / 10, 300_000));
194
+ }
195
+ catch (error) {
196
+ if (signal.aborted)
197
+ return;
198
+ if (error instanceof Error && error.message === 'ACK_STALE') {
199
+ operational = { ...operational, requestAck: null };
200
+ await privateWrite(path, operational);
201
+ nextCheck = 0;
202
+ lastHeartbeat = 0;
203
+ return;
204
+ }
205
+ if (error instanceof Error && error.message === 'MIGRATION_BUSY') {
206
+ operational = { ...operational, state: 'checking', reason: 'NONE',
207
+ ...(explicitUpdate && operational.localUpdate ? { localUpdate: { ...operational.localUpdate, status: 'deferred' } } : {}) };
208
+ await privateWrite(path, operational);
209
+ nextCheck = Date.now() + 60_000;
210
+ lastHeartbeat = Date.now();
211
+ return;
212
+ }
213
+ failures += 1;
214
+ operational = { ...operational, state: 'attention', reason: reason(error),
215
+ ...(explicitUpdate && operational.localUpdate ? { localUpdate: { ...operational.localUpdate, status: 'failed' } } : {}),
216
+ requestAck: operational.requestAck ? { ...operational.requestAck, status: operational.requestAck.status === 'accepted' ? 'failed' : operational.requestAck.status } : null };
217
+ await privateWrite(path, operational);
218
+ nextCheck = Date.now() + Math.min(3600_000, 60_000 * 2 ** Math.min(failures - 1, 6));
219
+ lastHeartbeat = Date.now();
220
+ }
221
+ }, signal);
222
+ if (operational?.pending)
223
+ return 'restart';
224
+ }
225
+ await pause(1000, signal);
226
+ }
227
+ return 'stopped';
228
+ }
229
+ finally {
230
+ await stopChild(child).catch(() => undefined);
231
+ }
232
+ }
233
+ //# sourceMappingURL=managed-supervisor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-supervisor.js","sourceRoot":"","sources":["../../src/auth/managed-supervisor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMjM,MAAM,UAAU,cAAc,CAAC,MAA+B,EAAE,SAAoB,EAAE,KAAa,EAAE,GAAW,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAChI,OAAO,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa,KAAK,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK;WAC9F,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,cAAc,KAAK,SAAS,CAAC,cAAc;WACjG,MAAM,CAAC,YAAY,KAAK,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC;AACvI,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,SAAoB,EAAE,KAAa,EAAE,KAAmB,EAAE,OAAO,GAAG,MAAM;IAC5H,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC;IACtC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;QAClG,MAAM,MAAM,GAAG,MAAM,WAAW,CAAc,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;QACzE,IAAI,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;YAAE,OAAO,MAAO,CAAC;QACxE,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAmB,EAAE,KAAK,GAAG,MAAM;IACjE,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI;QAAE,OAAO;IACjE,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAClF,2EAA2E;IAC3E,0EAA0E;IAC1E,IAAI,KAAK,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;QAAM,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpE,IAAI,KAAiC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,OAAO,CAAU,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrJ,IAAI,KAAK;QAAE,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/B,IAAI,CAAC,OAAO,EAAE,CAAC;QAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAAC,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;IAAC,CAAC;AAChH,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,YAAY,KAAK,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAqB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAqB,CAAC,CAAC,CAAC,SAAS,CAAC;AAChI,CAAC;AACD,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,MAAmB,EAAE,UAAU,GAAG,QAAQ,EAAE,WAAW,GAAG,MAAM;IAChH,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,WAAW,CAAiB,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC,CAAC;IAC9E,IAAI,WAAW,GAAG,MAAM,WAAW,CAAc,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,aAAa,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IAC/F,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACxE,MAAM,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;IACpD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;IAAC,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;IAClE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,KAAK;QAClI,QAAQ,CAAC,cAAc,IAAI,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5H,wEAAwE;IACxE,IAAI,UAAU,GAAG,KAAK,CAAC;IAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,IAAI,CAAC;QACH,MAAM,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACpD,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBAC7H,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACpI,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;YAC/B,0EAA0E;YAC1E,0EAA0E;YAC1E,MAAM,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;YACvF,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC;YACpE,WAAW,GAAG,QAAQ,CAAC;YAAC,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,cAAc,CAAC,IAAI,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAChG,IAAI,SAAS,GAAG,WAAW,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,QAAQ,GAAG,CAAC,CAAC;QAAC,IAAI,aAAa,GAAG,CAAC,CAAC;QACzH,IAAI,YAAgC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,WAAW,CAAC,iBAAiB,EAAE,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;QACtE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACvB,IAAI,UAAU,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YAChH,MAAM,aAAa,GAAG,MAAM,WAAW,CAAc,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;YAChF,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;gBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC1F,MAAM,YAAY,GAAG,MAAM,WAAW,CAAgD,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC;YACxH,MAAM,iBAAiB,GAAG,YAAY,EAAE,EAAE,IAAI,YAAY,CAAC,EAAE,KAAK,WAAW,CAAC,kBAAkB;mBAC3F,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC;mBACnG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAC5H,IAAI,iBAAiB,IAAI,YAAY,CAAC,EAAE,KAAK,YAAY,EAAE,CAAC;gBAAC,SAAS,GAAG,CAAC,CAAC;gBAAC,YAAY,GAAG,YAAY,CAAC,EAAE,CAAC;YAAC,CAAC;YAC7G,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,IAAI,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,SAAS,EAAE,CAAC;gBACzE,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;oBACxB,WAAW,GAAG,MAAM,WAAW,CAAc,IAAI,CAAC,CAAC;oBACnD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACvF,MAAM,cAAc,GAAG,OAAO,CAAC,iBAAiB,IAAI,YAAY,CAAC,EAAE,KAAK,WAAW,CAAC,kBAAkB,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC;oBAC5I,IAAI,iBAAiB,IAAI,YAAY,CAAC,EAAE,KAAK,WAAW,CAAC,kBAAkB,EAAE,CAAC;wBAC5E,mEAAmE;wBACnE,qEAAqE;wBACrE,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAG,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE;oCACxG,EAAE,EAAE,YAAY,CAAC,EAAG,EAAE,EAAE,EAAE,YAAY,CAAC,EAAG,EAAE,aAAa,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,UAAmB;iCAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC/H,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oBACxC,CAAC;oBACD,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,cAAc,EAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,aAAc,CAAC,cAAc;wBAC5H,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK;wBAC3I,QAAQ,EAAE,OAAO,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;wBACtG,QAAQ,EAAE,WAAY,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAY,CAAC,iBAAiB,EAAE,OAAO,EAAE,WAAY,CAAC,OAAO;wBACjH,WAAW,EAAE,WAAY,CAAC,WAAW,EAAE,aAAa,EAAE,WAAY,CAAC,SAAS,EAAE,aAAa,EAAE,WAAY,CAAC,mBAAmB;wBAC7H,MAAM,EAAE,WAAY,CAAC,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAY,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;wBAClH,MAAM,EAAE,WAAY,CAAC,MAAM,EAAE,GAAG,CAAC,WAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,WAAY,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;oBAC9G,MAAM,aAAa,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAoB,EAAE;wBACnE,MAAM,KAAK,GAAG,MAAM,WAAW,CAAc,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;wBACxE,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;4BAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;wBACxJ,OAAO,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,GAAG,SAAS,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;oBACxE,CAAC,CAAC;oBACF,IAAI,CAAC;wBACH,MAAM,QAAQ,GAAG,MAAM,aAAa,EAA+E,CAAC;wBACpH,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;4BAC3E,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;4BAAC,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBAC5F,CAAC;wBACD,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;wBAC3B,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;wBACjC,MAAM,SAAS,GAAG,OAAO,EAAE,MAAM,KAAK,OAAO,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;wBACpH,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI,CAAC,SAAS;4BAAE,OAAO;wBACjD,WAAW,GAAG,EAAE,GAAG,WAAY,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM;4BACrG,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBACzE,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBACtC,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,SAAS,CAAoF,CAAC;wBACvI,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;wBAC7E,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC;+BAClG,oBAAoB,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;4BAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;wBACnH,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC;wBAClC,MAAM,eAAe,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBACpE,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,kBAAkB,EAAE,eAAe,EAAE,OAAO,IAAI,IAAI;4BAClF,GAAG,CAAC,cAAc,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,WAAW,CAAC,WAAW;oCACzF,aAAa,EAAE,eAAe,EAAE,OAAO,IAAI,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;wBAC/G,MAAM,GAAG,GAAG,WAAW,CAAC,UAAU,CAAC;wBACnC,IAAI,GAAG;4BAAE,MAAM,aAAa,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;wBAClD,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,KAAK,IAAI,IAAI,CAAC,CAAC,QAAQ,IAAI,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,KAAK,WAAW,CAAC,WAAW,CAAC,CAAC;wBACrI,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,iBAAiB,IAAI,WAAW,CAAC,OAAO,KAAK,QAAQ,IAAI,WAAW,CAAC,WAAW,KAAK,IAAI,CAAC;wBACtJ,IAAI,QAAQ,IAAI,CAAC,OAAO,EAAE,CAAC;4BACzB,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;4BACvD,IAAI,SAAS,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,EAAE,CAAC;gCACjC,IAAI,cAAc,IAAI,IAAI,CAAC,KAAK,CAAC,YAAa,CAAC,EAAG,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE;oCAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;gCAC3G,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;gCAAC,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gCAC3G,MAAM,aAAa,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;gCACrE,MAAM,KAAK,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;gCAAC,IAAI,SAAS,GAAG,KAAK,CAAC;gCACzE,IAAI,CAAC;oCACH,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;wCAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;oCAC1F,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC;oCACvB,6DAA6D;oCAC7D,+DAA+D;oCAC/D,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK;wCAC3G,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oCAC7D,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;oCAAC,SAAS,GAAG,IAAI,CAAC;gCAC1D,CAAC;wCAAS,CAAC;oCAAC,IAAI,CAAC,SAAS;wCAAE,MAAM,qBAAqB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;gCAAC,CAAC;gCAChG,OAAO;4BACT,CAAC;wBACH,CAAC;wBACD,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;4BACxG,GAAG,CAAC,cAAc,IAAI,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,WAAW,CAAC,WAAW;oCACzF,MAAM,EAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACjE,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC7D,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBACtC,MAAM,aAAa,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC;wBACrE,IAAI,WAAW,CAAC,UAAU,EAAE,CAAC;4BAAC,WAAW,GAAG,EAAE,GAAG,WAAW,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;4BAAC,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBAAC,CAAC;wBAC1H,QAAQ,GAAG,CAAC,CAAC;wBAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC;oBACrH,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBACf,IAAI,MAAM,CAAC,OAAO;4BAAE,OAAO;wBAC3B,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;4BAC5D,WAAW,GAAG,EAAE,GAAG,WAAY,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;4BAAC,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;4BAAC,SAAS,GAAG,CAAC,CAAC;4BAAC,aAAa,GAAG,CAAC,CAAC;4BAAC,OAAO;wBACvI,CAAC;wBACD,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;4BACjE,WAAW,GAAG,EAAE,GAAG,WAAY,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM;gCAChE,GAAG,CAAC,cAAc,IAAI,WAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,WAAY,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;4BAChI,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;4BACtC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC;4BAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;4BAAC,OAAO;wBACtE,CAAC;wBACD,QAAQ,IAAI,CAAC,CAAC;wBACd,WAAW,GAAG,EAAE,GAAG,WAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;4BACxE,GAAG,CAAC,cAAc,IAAI,WAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,GAAG,WAAY,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;4BACzH,UAAU,EAAE,WAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,GAAG,WAAY,CAAC,UAAW,EAAE,MAAM,EAAE,WAAY,CAAC,UAAW,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAY,CAAC,UAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBACtL,MAAM,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;wBACtC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACnH,CAAC;gBACH,CAAC,EAAE,MAAM,CAAC,CAAC;gBACX,IAAI,WAAW,EAAE,OAAO;oBAAE,OAAO,SAAS,CAAC;YAC7C,CAAC;YACD,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;YAAS,CAAC;QAAC,MAAM,SAAS,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;IAAC,CAAC;AAC9D,CAAC"}
@@ -0,0 +1,72 @@
1
+ import type { ReceiverConfig } from './callback-receiver.js';
2
+ export type Release = {
3
+ schemaVersion: 1;
4
+ package: '@omniaseo/cli';
5
+ version: string;
6
+ integrity: string;
7
+ sha256: string;
8
+ tarballUrl: string;
9
+ nodeMajor: 24;
10
+ protocolVersion: 1;
11
+ };
12
+ export declare const SAFE_REASONS: readonly ["NONE", "DOWNLOAD", "INTEGRITY", "UNSUPPORTED", "HEALTH", "ROLLBACK", "OFFLINE", "PINNED", "UNSAFE_STORAGE"];
13
+ export type SafeReason = typeof SAFE_REASONS[number];
14
+ export type Selection = {
15
+ id: string;
16
+ version: string;
17
+ artifactSha256: string | null;
18
+ scriptSha256: string;
19
+ supervisorSha256: string;
20
+ };
21
+ export type LocalUpdate = {
22
+ id: string;
23
+ at: string;
24
+ targetVersion: string | null;
25
+ targetSha256: string | null;
26
+ status: 'checking' | 'deferred' | 'completed' | 'failed';
27
+ };
28
+ export type Operational = {
29
+ schemaVersion: 1;
30
+ selected: Selection;
31
+ previous: Selection | null;
32
+ pending: boolean;
33
+ autoUpdateEnabled: boolean;
34
+ channel: 'stable' | 'pinned';
35
+ selectedPin: string | null;
36
+ location: 'local' | 'remote';
37
+ lastCheck: string | null;
38
+ lastConfirmedUpdate: string | null;
39
+ state: 'current' | 'checking' | 'updating' | 'attention' | 'pinned';
40
+ reason: SafeReason;
41
+ recommendedVersion?: string | null;
42
+ lastLocalRequestId?: string;
43
+ localUpdate?: LocalUpdate;
44
+ migrationLease?: MigrationLease;
45
+ requestAck: {
46
+ id: string;
47
+ status: 'accepted' | 'completed' | 'failed';
48
+ } | null;
49
+ };
50
+ export type ReleaseMarker = {
51
+ schemaVersion: 1;
52
+ selection: Selection;
53
+ release: Release | null;
54
+ };
55
+ export type MigrationLease = {
56
+ id: string;
57
+ expiresAt: string;
58
+ };
59
+ export declare function validateRelease(value: unknown): Release;
60
+ export declare function verifyArchive(bytes: Buffer, release: Release): void;
61
+ export declare function selectionId(value: string): boolean;
62
+ export declare function releaseDirectory(root: string, selection: Selection): string;
63
+ export declare function receiverScript(root: string, selection: Selection): string;
64
+ export declare function supervisorScript(root: string, selection: Selection): string;
65
+ export declare function verifiedSelection(root: string, selection: Selection): Promise<void>;
66
+ export declare function relayJson(config: ReceiverConfig, endpoint: 'release' | 'maintenance' | 'maintenance/migration', telemetry?: object, fetchFn?: typeof fetch): Promise<unknown>;
67
+ export declare function acquireMigrationLease(config: ReceiverConfig): Promise<MigrationLease>;
68
+ export declare function releaseMigrationLease(config: ReceiverConfig, lease: MigrationLease): Promise<void>;
69
+ export declare function withMigrationLease<T>(config: ReceiverConfig, operation: (expiresAt: number) => Promise<T>): Promise<T>;
70
+ export declare function prepareRelease(root: string, approved: unknown, fetchFn?: typeof fetch, installer?: (directory: string, archive: string) => Promise<void>): Promise<Selection>;
71
+ export declare function retainReleases(root: string, keep: readonly Selection[]): Promise<void>;
72
+ //# sourceMappingURL=managed-updater.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-updater.d.ts","sourceRoot":"","sources":["../../src/auth/managed-updater.ts"],"names":[],"mappings":"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"}