@agent-link/agent 0.1.294 → 0.1.296

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 (42) hide show
  1. package/dist/adoption-lock.d.ts +14 -0
  2. package/dist/adoption-lock.js +54 -0
  3. package/dist/adoption-lock.js.map +1 -0
  4. package/dist/adoption.d.ts +21 -0
  5. package/dist/adoption.js +303 -0
  6. package/dist/adoption.js.map +1 -0
  7. package/dist/bootstrap-delegator.d.ts +7 -0
  8. package/dist/bootstrap-delegator.js +36 -0
  9. package/dist/bootstrap-delegator.js.map +1 -0
  10. package/dist/cli.js +86 -3
  11. package/dist/cli.js.map +1 -1
  12. package/dist/config.d.ts +17 -2
  13. package/dist/config.js +25 -2
  14. package/dist/config.js.map +1 -1
  15. package/dist/index.js +16 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/launcher-manager.d.ts +9 -0
  18. package/dist/launcher-manager.js +84 -0
  19. package/dist/launcher-manager.js.map +1 -0
  20. package/dist/runtime-release.d.ts +41 -0
  21. package/dist/runtime-release.js +218 -0
  22. package/dist/runtime-release.js.map +1 -0
  23. package/dist/safe-tar.d.ts +11 -0
  24. package/dist/safe-tar.js +180 -0
  25. package/dist/safe-tar.js.map +1 -0
  26. package/dist/self-check.d.ts +14 -0
  27. package/dist/self-check.js +62 -0
  28. package/dist/self-check.js.map +1 -0
  29. package/dist/service.d.ts +11 -1
  30. package/dist/service.js +32 -4
  31. package/dist/service.js.map +1 -1
  32. package/dist/start-launch-spec.d.ts +4 -0
  33. package/dist/start-launch-spec.js +25 -0
  34. package/dist/start-launch-spec.js.map +1 -1
  35. package/dist/version-stager.d.ts +6 -0
  36. package/dist/version-stager.js +88 -0
  37. package/dist/version-stager.js.map +1 -0
  38. package/dist/version-store.d.ts +51 -0
  39. package/dist/version-store.js +277 -0
  40. package/dist/version-store.js.map +1 -0
  41. package/launcher/launcher.cjs +110 -0
  42. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../src/service.ts"],"names":[],"mappings":"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"}
@@ -8,3 +8,7 @@ export declare function buildLaunchSpecDaemonArgs(spec: LaunchSpec, daemonScript
8
8
  export declare function isFreshDaemonRuntime(state: RuntimeState | null, preSpawnStartedAt: string | undefined, launcherPid: number, isAlive: (pid: number) => boolean): state is RuntimeState & {
9
9
  pid: number;
10
10
  };
11
+ export declare function cleanupFailedDaemonStart(pid: number | undefined, isAlive: (pid: number) => boolean, terminate: (pid: number) => boolean, forceKill: (pid: number) => boolean, options?: {
12
+ timeoutMs?: number;
13
+ sleep?: (milliseconds: number) => Promise<void>;
14
+ }): Promise<boolean>;
@@ -31,4 +31,29 @@ export function isFreshDaemonRuntime(state, preSpawnStartedAt, launcherPid, isAl
31
31
  && state.startedAt !== preSpawnStartedAt
32
32
  && isAlive(state.pid);
33
33
  }
34
+ export async function cleanupFailedDaemonStart(pid, isAlive, terminate, forceKill, options = {}) {
35
+ if (!pid || !isAlive(pid))
36
+ return false;
37
+ if (!terminate(pid))
38
+ return false;
39
+ const timeoutMs = options.timeoutMs ?? 2000;
40
+ const sleep = options.sleep ?? (milliseconds => new Promise(resolveSleep => setTimeout(resolveSleep, milliseconds)));
41
+ const deadline = Date.now() + timeoutMs;
42
+ while (Date.now() < deadline) {
43
+ if (!isAlive(pid))
44
+ return true;
45
+ await sleep(Math.min(100, Math.max(1, deadline - Date.now())));
46
+ }
47
+ if (isAlive(pid)) {
48
+ if (!forceKill(pid))
49
+ return false;
50
+ const forceDeadline = Date.now() + 1000;
51
+ while (Date.now() < forceDeadline) {
52
+ if (!isAlive(pid))
53
+ return true;
54
+ await sleep(50);
55
+ }
56
+ }
57
+ return !isAlive(pid);
58
+ }
34
59
  //# sourceMappingURL=start-launch-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start-launch-spec.js","sourceRoot":"","sources":["../src/start-launch-spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAmB,MAAM,kBAAkB,CAAC;AAEnE,MAAM,UAAU,mBAAmB,CACjC,cAAsB,EACtB,qBAA+B,EAAE;IAEjC,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CACb,0CAA0C,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnG,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,aAAa,GACjB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;WACxD,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC;WAChE,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAC9F,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;AACxB,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,IAAgB,EAChB,YAAoB,EACpB,cAAsB;IAEtB,OAAO;QACL,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ;QACxB,YAAY;QACZ,eAAe;QACf,cAAc;KACf,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAA0B,EAC1B,iBAAqC,EACrC,WAAmB,EACnB,OAAiC;IAEjC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG;WACd,KAAK,CAAC,GAAG,KAAK,WAAW;WACzB,KAAK,CAAC,SAAS,KAAK,iBAAiB;WACrC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"start-launch-spec.js","sourceRoot":"","sources":["../src/start-launch-spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { PreparedRuntimeBundle } from './runtime-release.js';
2
+ import { type VersionPointer } from './version-store.js';
3
+ export declare function stageRuntimeBundle(prepared: PreparedRuntimeBundle, manifestUrl: string, options?: {
4
+ runSelfCheck?: (entry: string, version: string) => void;
5
+ }): VersionPointer;
6
+ export declare function getStagedPackageRoot(pointer: VersionPointer): string;
@@ -0,0 +1,88 @@
1
+ import { existsSync, mkdirSync, readFileSync, renameSync, rmSync, } from 'fs';
2
+ import { dirname, join, relative, resolve } from 'path';
3
+ import { execFileSync } from 'child_process';
4
+ import { extractSafeTarGz, listSafeTarGz } from './safe-tar.js';
5
+ import { createVersionPointer, getVersionDirectory, getVersionsRoot, validateVersionInstallation, writeVersionMarker, } from './version-store.js';
6
+ const AGENT_PACKAGE_ROOT = 'node_modules/@agent-link/agent';
7
+ const AGENT_CLI_ENTRY = `${AGENT_PACKAGE_ROOT}/dist/cli.js`;
8
+ function validateArchiveShape(entries) {
9
+ const paths = new Set(entries.map(entry => entry.path));
10
+ for (const required of [
11
+ `${AGENT_PACKAGE_ROOT}/package.json`,
12
+ `${AGENT_PACKAGE_ROOT}/dist/cli.js`,
13
+ `${AGENT_PACKAGE_ROOT}/dist/index.js`,
14
+ ]) {
15
+ if (!paths.has(required))
16
+ throw new Error(`Runtime bundle is missing ${required}`);
17
+ }
18
+ }
19
+ export function stageRuntimeBundle(prepared, manifestUrl, options = {}) {
20
+ const finalDirectory = getVersionDirectory(prepared.manifest.version, prepared.bundle.integrity);
21
+ const finalEntry = join(finalDirectory, ...AGENT_CLI_ENTRY.split('/'));
22
+ const pointer = createVersionPointer({
23
+ version: prepared.manifest.version,
24
+ integrity: prepared.bundle.integrity,
25
+ entry: finalEntry,
26
+ runtimeManifestUrl: manifestUrl,
27
+ });
28
+ if (existsSync(finalDirectory)) {
29
+ validateVersionInstallation(pointer);
30
+ return pointer;
31
+ }
32
+ const stagingDirectory = join(getVersionsRoot(), `.staging-${process.pid}-${Date.now()}`);
33
+ rmSync(stagingDirectory, { recursive: true, force: true });
34
+ mkdirSync(stagingDirectory, { recursive: true, mode: 0o700 });
35
+ try {
36
+ const entries = listSafeTarGz(prepared.bytes);
37
+ validateArchiveShape(entries);
38
+ extractSafeTarGz(prepared.bytes, stagingDirectory);
39
+ const packageJson = JSON.parse(readFileSync(join(stagingDirectory, ...`${AGENT_PACKAGE_ROOT}/package.json`.split('/')), 'utf8'));
40
+ if (packageJson.name !== '@agent-link/agent'
41
+ || packageJson.version !== prepared.manifest.version) {
42
+ throw new Error('Staged runtime package identity does not match its manifest');
43
+ }
44
+ const stagingEntry = join(stagingDirectory, ...AGENT_CLI_ENTRY.split('/'));
45
+ (options.runSelfCheck ?? ((entry, version) => {
46
+ execFileSync(process.execPath, [
47
+ entry,
48
+ 'self-check',
49
+ '--expected-version',
50
+ version,
51
+ ], {
52
+ stdio: 'pipe',
53
+ windowsHide: true,
54
+ env: {
55
+ ...process.env,
56
+ AGENTLINK_VERSION_STORE_ACTIVE: '1',
57
+ },
58
+ });
59
+ }))(stagingEntry, prepared.manifest.version);
60
+ writeVersionMarker(stagingDirectory, {
61
+ schemaVersion: 1,
62
+ version: prepared.manifest.version,
63
+ integrity: prepared.bundle.integrity,
64
+ entry: relative(stagingDirectory, stagingEntry),
65
+ });
66
+ mkdirSync(dirname(finalDirectory), { recursive: true, mode: 0o700 });
67
+ try {
68
+ renameSync(stagingDirectory, finalDirectory);
69
+ }
70
+ catch (error) {
71
+ if (!existsSync(finalDirectory))
72
+ throw error;
73
+ validateVersionInstallation(pointer);
74
+ rmSync(stagingDirectory, { recursive: true, force: true });
75
+ }
76
+ validateVersionInstallation(pointer);
77
+ return pointer;
78
+ }
79
+ catch (error) {
80
+ rmSync(stagingDirectory, { recursive: true, force: true });
81
+ throw error;
82
+ }
83
+ }
84
+ export function getStagedPackageRoot(pointer) {
85
+ validateVersionInstallation(pointer);
86
+ return resolve(pointer.entry, '..', '..');
87
+ }
88
+ //# sourceMappingURL=version-stager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-stager.js","sourceRoot":"","sources":["../src/version-stager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ export declare const VERSION_POINTER_SCHEMA_VERSION = 1;
2
+ export declare const VERSION_MARKER_FILE = ".agentlink-version.json";
3
+ export interface VersionPointer {
4
+ schemaVersion: 1;
5
+ version: string;
6
+ integrity: string;
7
+ entry: string;
8
+ selectedAt: string;
9
+ runtimeManifestUrl: string;
10
+ }
11
+ export interface VersionMarker {
12
+ schemaVersion: 1;
13
+ version: string;
14
+ integrity: string;
15
+ entry: string;
16
+ }
17
+ export type AdoptionPhase = 'preparing' | 'prepared' | 'activating' | 'completed' | 'failed';
18
+ export interface AdoptionState {
19
+ schemaVersion: 1;
20
+ version: string;
21
+ phase: AdoptionPhase;
22
+ selection: VersionPointer;
23
+ launchSpecPath: string;
24
+ createdAt: string;
25
+ updatedAt: string;
26
+ error?: string;
27
+ }
28
+ export declare function getVersionsRoot(): string;
29
+ export declare function getCurrentVersionPath(): string;
30
+ export declare function getLastKnownGoodPath(): string;
31
+ export declare function getAdoptionStatePath(): string;
32
+ export declare function isPathInside(root: string, candidate: string): boolean;
33
+ export declare function integrityPrefix(integrity: string): string;
34
+ export declare function getVersionDirectory(version: string, integrity: string): string;
35
+ export declare function validateVersionPointer(value: unknown): VersionPointer;
36
+ export declare function writeVersionPointer(path: string, pointer: VersionPointer): VersionPointer;
37
+ export declare function loadVersionPointer(path: string): VersionPointer;
38
+ export declare function loadCurrentVersion(): VersionPointer | null;
39
+ export declare function loadLastKnownGood(): VersionPointer | null;
40
+ export declare function createVersionPointer(input: {
41
+ version: string;
42
+ integrity: string;
43
+ entry: string;
44
+ runtimeManifestUrl: string;
45
+ selectedAt?: string;
46
+ }): VersionPointer;
47
+ export declare function validateVersionInstallation(pointer: VersionPointer): VersionMarker;
48
+ export declare function writeVersionMarker(versionDirectory: string, marker: VersionMarker): void;
49
+ export declare function writeAdoptionState(state: AdoptionState): void;
50
+ export declare function loadAdoptionState(): AdoptionState | null;
51
+ export declare function isVersionStoreAdopted(): boolean;
@@ -0,0 +1,277 @@
1
+ import { chmodSync, closeSync, existsSync, fsyncSync, mkdirSync, openSync, readFileSync, realpathSync, renameSync, rmSync, statSync, writeFileSync, } from 'fs';
2
+ import { dirname, isAbsolute, join, relative, resolve } from 'path';
3
+ import { randomUUID } from 'crypto';
4
+ import { CONFIG_DIR } from './config.js';
5
+ const STABLE_SEMVER = /^\d+\.\d+\.\d+$/;
6
+ const SHA512_INTEGRITY = /^sha512-[A-Za-z0-9+/]+={0,2}$/;
7
+ export const VERSION_POINTER_SCHEMA_VERSION = 1;
8
+ export const VERSION_MARKER_FILE = '.agentlink-version.json';
9
+ export function getVersionsRoot() {
10
+ return join(CONFIG_DIR, 'versions');
11
+ }
12
+ export function getCurrentVersionPath() {
13
+ return join(CONFIG_DIR, 'current-version.json');
14
+ }
15
+ export function getLastKnownGoodPath() {
16
+ return join(CONFIG_DIR, 'last-known-good.json');
17
+ }
18
+ export function getAdoptionStatePath() {
19
+ return join(CONFIG_DIR, 'adoption.json');
20
+ }
21
+ function ensurePrivateDirectory(path) {
22
+ mkdirSync(path, { recursive: true, mode: 0o700 });
23
+ if (process.platform !== 'win32')
24
+ chmodSync(path, 0o700);
25
+ }
26
+ export function isPathInside(root, candidate) {
27
+ const normalizedRoot = resolve(root);
28
+ const normalizedCandidate = resolve(candidate);
29
+ const rel = relative(normalizedRoot, normalizedCandidate);
30
+ return rel === '' || (!rel.startsWith('..') && !isAbsolute(rel));
31
+ }
32
+ export function integrityPrefix(integrity) {
33
+ validateIntegrity(integrity);
34
+ return Buffer.from(integrity.slice('sha512-'.length), 'base64').toString('hex').slice(0, 16);
35
+ }
36
+ export function getVersionDirectory(version, integrity) {
37
+ validateVersion(version);
38
+ return join(getVersionsRoot(), `${version}-${integrityPrefix(integrity)}`);
39
+ }
40
+ function validateVersion(value) {
41
+ if (typeof value !== 'string' || !STABLE_SEMVER.test(value)) {
42
+ throw new Error('Version selection must use stable major.minor.patch');
43
+ }
44
+ return value;
45
+ }
46
+ function validateIntegrity(value) {
47
+ if (typeof value !== 'string' || !SHA512_INTEGRITY.test(value)) {
48
+ throw new Error('Version selection integrity must use SHA-512');
49
+ }
50
+ const digest = Buffer.from(value.slice('sha512-'.length), 'base64');
51
+ if (digest.length !== 64 || digest.toString('base64') !== value.slice('sha512-'.length)) {
52
+ throw new Error('Version selection integrity is invalid');
53
+ }
54
+ return value;
55
+ }
56
+ function requireString(value, field) {
57
+ if (typeof value !== 'string' || value.length === 0) {
58
+ throw new Error(`Version selection ${field} must be a non-empty string`);
59
+ }
60
+ return value;
61
+ }
62
+ function validateRuntimeManifestUrl(value) {
63
+ const url = new URL(requireString(value, 'runtimeManifestUrl'));
64
+ const production = url.origin === 'https://msclaude.ai'
65
+ && url.pathname.startsWith('/files/agent/runtime/')
66
+ && url.pathname.endsWith('.json');
67
+ const loopback = (url.protocol === 'http:' || url.protocol === 'https:')
68
+ && ['127.0.0.1', 'localhost', '::1'].includes(url.hostname)
69
+ && url.pathname.endsWith('.json');
70
+ if ((!production && !loopback)
71
+ || url.username
72
+ || url.password
73
+ || url.search
74
+ || url.hash) {
75
+ throw new Error('Version selection runtimeManifestUrl is not allowed');
76
+ }
77
+ return url.toString();
78
+ }
79
+ export function validateVersionPointer(value) {
80
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
81
+ throw new Error('Version selection must be an object');
82
+ }
83
+ const pointer = value;
84
+ if (pointer.schemaVersion !== VERSION_POINTER_SCHEMA_VERSION) {
85
+ throw new Error('Version selection schemaVersion is unsupported');
86
+ }
87
+ const version = validateVersion(pointer.version);
88
+ const integrity = validateIntegrity(pointer.integrity);
89
+ const entry = resolve(requireString(pointer.entry, 'entry'));
90
+ const selectedAt = requireString(pointer.selectedAt, 'selectedAt');
91
+ if (!Number.isFinite(Date.parse(selectedAt))) {
92
+ throw new Error('Version selection selectedAt must be an ISO timestamp');
93
+ }
94
+ const runtimeManifestUrl = validateRuntimeManifestUrl(pointer.runtimeManifestUrl);
95
+ const expectedDirectory = getVersionDirectory(version, integrity);
96
+ if (!isPathInside(expectedDirectory, entry) || !isPathInside(getVersionsRoot(), entry)) {
97
+ throw new Error('Version selection entry must stay beneath its immutable version directory');
98
+ }
99
+ return {
100
+ schemaVersion: 1,
101
+ version,
102
+ integrity,
103
+ entry,
104
+ selectedAt,
105
+ runtimeManifestUrl,
106
+ };
107
+ }
108
+ function atomicWriteJson(path, value) {
109
+ ensurePrivateDirectory(dirname(path));
110
+ const temporaryPath = `${path}.${process.pid}.${randomUUID()}.tmp`;
111
+ const handle = openSync(temporaryPath, 'wx', 0o600);
112
+ try {
113
+ writeFileSync(handle, JSON.stringify(value, null, 2) + '\n', 'utf8');
114
+ fsyncSync(handle);
115
+ }
116
+ finally {
117
+ closeSync(handle);
118
+ }
119
+ let lastError;
120
+ for (let attempt = 0; attempt < 5; attempt++) {
121
+ try {
122
+ renameSync(temporaryPath, path);
123
+ lastError = null;
124
+ break;
125
+ }
126
+ catch (error) {
127
+ lastError = error;
128
+ const code = error.code;
129
+ if (!['EBUSY', 'EACCES', 'EPERM'].includes(code ?? '') || attempt === 4)
130
+ break;
131
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 20 * (attempt + 1));
132
+ }
133
+ }
134
+ if (lastError) {
135
+ rmSync(temporaryPath, { force: true });
136
+ throw lastError;
137
+ }
138
+ if (process.platform !== 'win32')
139
+ chmodSync(path, 0o600);
140
+ }
141
+ export function writeVersionPointer(path, pointer) {
142
+ const validated = validateVersionPointer(pointer);
143
+ atomicWriteJson(path, validated);
144
+ return validated;
145
+ }
146
+ export function loadVersionPointer(path) {
147
+ let parsed;
148
+ try {
149
+ parsed = JSON.parse(readFileSync(path, 'utf8'));
150
+ }
151
+ catch (error) {
152
+ throw new Error(`Failed to load version selection ${path}: ${error.message}`);
153
+ }
154
+ return validateVersionPointer(parsed);
155
+ }
156
+ export function loadCurrentVersion() {
157
+ if (!existsSync(getCurrentVersionPath()))
158
+ return null;
159
+ return loadVersionPointer(getCurrentVersionPath());
160
+ }
161
+ export function loadLastKnownGood() {
162
+ if (!existsSync(getLastKnownGoodPath()))
163
+ return null;
164
+ return loadVersionPointer(getLastKnownGoodPath());
165
+ }
166
+ export function createVersionPointer(input) {
167
+ return validateVersionPointer({
168
+ schemaVersion: 1,
169
+ ...input,
170
+ selectedAt: input.selectedAt ?? new Date().toISOString(),
171
+ });
172
+ }
173
+ export function validateVersionInstallation(pointer) {
174
+ const validated = validateVersionPointer(pointer);
175
+ const versionDirectory = getVersionDirectory(validated.version, validated.integrity);
176
+ if (!existsSync(versionDirectory) || !statSync(versionDirectory).isDirectory()) {
177
+ throw new Error(`Selected version directory does not exist: ${versionDirectory}`);
178
+ }
179
+ const canonicalDirectory = realpathSync(versionDirectory);
180
+ const canonicalEntry = realpathSync(validated.entry);
181
+ if (!isPathInside(canonicalDirectory, canonicalEntry) || !statSync(canonicalEntry).isFile()) {
182
+ throw new Error('Selected version entry is not a file beneath its version directory');
183
+ }
184
+ const markerPath = join(canonicalDirectory, VERSION_MARKER_FILE);
185
+ let markerValue;
186
+ try {
187
+ markerValue = JSON.parse(readFileSync(markerPath, 'utf8'));
188
+ }
189
+ catch (error) {
190
+ throw new Error(`Selected version marker is invalid: ${error.message}`);
191
+ }
192
+ if (!markerValue || typeof markerValue !== 'object' || Array.isArray(markerValue)) {
193
+ throw new Error('Selected version marker must be an object');
194
+ }
195
+ const marker = markerValue;
196
+ const markerEntry = resolve(canonicalDirectory, requireString(marker.entry, 'marker entry'));
197
+ if (marker.schemaVersion !== 1
198
+ || marker.version !== validated.version
199
+ || marker.integrity !== validated.integrity
200
+ || markerEntry !== canonicalEntry) {
201
+ throw new Error('Selected version marker does not match the version pointer');
202
+ }
203
+ return {
204
+ schemaVersion: 1,
205
+ version: validated.version,
206
+ integrity: validated.integrity,
207
+ entry: relative(canonicalDirectory, canonicalEntry),
208
+ };
209
+ }
210
+ export function writeVersionMarker(versionDirectory, marker) {
211
+ if (!isPathInside(getVersionsRoot(), versionDirectory)) {
212
+ throw new Error('Version marker directory must stay beneath the versions root');
213
+ }
214
+ atomicWriteJson(join(versionDirectory, VERSION_MARKER_FILE), marker);
215
+ }
216
+ export function writeAdoptionState(state) {
217
+ atomicWriteJson(getAdoptionStatePath(), state);
218
+ }
219
+ export function loadAdoptionState() {
220
+ if (!existsSync(getAdoptionStatePath()))
221
+ return null;
222
+ let value;
223
+ try {
224
+ value = JSON.parse(readFileSync(getAdoptionStatePath(), 'utf8'));
225
+ }
226
+ catch (error) {
227
+ throw new Error(`Failed to load adoption state: ${error.message}`);
228
+ }
229
+ if (!value || typeof value !== 'object' || Array.isArray(value)) {
230
+ throw new Error('Adoption state must be an object');
231
+ }
232
+ const state = value;
233
+ if (state.schemaVersion !== 1
234
+ || typeof state.version !== 'string'
235
+ || !['preparing', 'prepared', 'activating', 'completed', 'failed'].includes(String(state.phase))
236
+ || typeof state.launchSpecPath !== 'string'
237
+ || typeof state.createdAt !== 'string'
238
+ || typeof state.updatedAt !== 'string') {
239
+ throw new Error('Adoption state is invalid');
240
+ }
241
+ const selection = validateVersionPointer(state.selection);
242
+ const version = validateVersion(state.version);
243
+ if (selection.version !== version) {
244
+ throw new Error('Adoption state version does not match its selection');
245
+ }
246
+ if (!Number.isFinite(Date.parse(state.createdAt)) || !Number.isFinite(Date.parse(state.updatedAt))) {
247
+ throw new Error('Adoption state timestamps are invalid');
248
+ }
249
+ return {
250
+ schemaVersion: 1,
251
+ version,
252
+ phase: state.phase,
253
+ selection,
254
+ launchSpecPath: resolve(state.launchSpecPath),
255
+ createdAt: state.createdAt,
256
+ updatedAt: state.updatedAt,
257
+ ...(typeof state.error === 'string' ? { error: state.error } : {}),
258
+ };
259
+ }
260
+ export function isVersionStoreAdopted() {
261
+ try {
262
+ const state = loadAdoptionState();
263
+ if (state?.phase !== 'completed')
264
+ return false;
265
+ const current = loadCurrentVersion();
266
+ const lastKnownGood = loadLastKnownGood();
267
+ if (!current || !lastKnownGood)
268
+ return false;
269
+ validateVersionInstallation(current);
270
+ validateVersionInstallation(lastKnownGood);
271
+ return true;
272
+ }
273
+ catch {
274
+ return false;
275
+ }
276
+ }
277
+ //# sourceMappingURL=version-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version-store.js","sourceRoot":"","sources":["../src/version-store.ts"],"names":[],"mappings":"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"}