@cortexkit/aft-bridge 0.57.2 → 0.58.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bash-format.d.ts +7 -0
- package/dist/bash-format.d.ts.map +1 -1
- package/dist/bash-format.js +9 -0
- package/dist/bash-format.js.map +1 -1
- package/dist/bash-hints.d.ts +31 -3
- package/dist/bash-hints.d.ts.map +1 -1
- package/dist/bash-hints.js +40 -9
- package/dist/bash-hints.js.map +1 -1
- package/dist/bash-host-fallback.js +1 -1
- package/dist/bash-host-fallback.js.map +1 -1
- package/dist/binary-identity.d.ts +109 -0
- package/dist/binary-identity.d.ts.map +1 -0
- package/dist/binary-identity.js +295 -0
- package/dist/binary-identity.js.map +1 -0
- package/dist/bridge.d.ts +10 -1
- package/dist/bridge.d.ts.map +1 -1
- package/dist/bridge.js +74 -24
- package/dist/bridge.js.map +1 -1
- package/dist/child-process.d.ts +39 -0
- package/dist/child-process.d.ts.map +1 -0
- package/dist/child-process.js +64 -0
- package/dist/child-process.js.map +1 -0
- package/dist/coerce.d.ts +2 -0
- package/dist/coerce.d.ts.map +1 -1
- package/dist/coerce.js +29 -0
- package/dist/coerce.js.map +1 -1
- package/dist/config-error.d.ts +71 -0
- package/dist/config-error.d.ts.map +1 -0
- package/dist/config-error.js +112 -0
- package/dist/config-error.js.map +1 -0
- package/dist/config-watch.d.ts +170 -0
- package/dist/config-watch.d.ts.map +1 -0
- package/dist/config-watch.js +479 -0
- package/dist/config-watch.js.map +1 -0
- package/dist/downloader.d.ts +4 -2
- package/dist/downloader.d.ts.map +1 -1
- package/dist/downloader.js +41 -20
- package/dist/downloader.js.map +1 -1
- package/dist/durable-log.d.ts +11 -0
- package/dist/durable-log.d.ts.map +1 -1
- package/dist/durable-log.js +81 -5
- package/dist/durable-log.js.map +1 -1
- package/dist/edit-summary.d.ts +8 -0
- package/dist/edit-summary.d.ts.map +1 -1
- package/dist/edit-summary.js +7 -0
- package/dist/edit-summary.js.map +1 -1
- package/dist/feature-config.d.ts +192 -0
- package/dist/feature-config.d.ts.map +1 -0
- package/dist/feature-config.js +657 -0
- package/dist/feature-config.js.map +1 -0
- package/dist/index.d.ts +19 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -7
- package/dist/index.js.map +1 -1
- package/dist/message-detach.d.ts +25 -0
- package/dist/message-detach.d.ts.map +1 -0
- package/dist/message-detach.js +34 -0
- package/dist/message-detach.js.map +1 -0
- package/dist/migration-notices.d.ts +29 -0
- package/dist/migration-notices.d.ts.map +1 -0
- package/dist/migration-notices.js +114 -0
- package/dist/migration-notices.js.map +1 -0
- package/dist/migration.d.ts +1 -1
- package/dist/migration.d.ts.map +1 -1
- package/dist/migration.js +1 -1
- package/dist/migration.js.map +1 -1
- package/dist/npm-resolver.d.ts +1 -1
- package/dist/npm-resolver.d.ts.map +1 -1
- package/dist/npm-resolver.js +1 -1
- package/dist/npm-resolver.js.map +1 -1
- package/dist/onnx-probe.d.ts +44 -0
- package/dist/onnx-probe.d.ts.map +1 -0
- package/dist/onnx-probe.js +167 -0
- package/dist/onnx-probe.js.map +1 -0
- package/dist/onnx-runtime.d.ts +19 -4
- package/dist/onnx-runtime.d.ts.map +1 -1
- package/dist/onnx-runtime.js +146 -34
- package/dist/onnx-runtime.js.map +1 -1
- package/dist/path-lookup.d.ts +22 -0
- package/dist/path-lookup.d.ts.map +1 -0
- package/dist/path-lookup.js +51 -0
- package/dist/path-lookup.js.map +1 -0
- package/dist/resolver.d.ts +47 -21
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +254 -159
- package/dist/resolver.js.map +1 -1
- package/dist/revivable-transport.d.ts.map +1 -1
- package/dist/revivable-transport.js +12 -0
- package/dist/revivable-transport.js.map +1 -1
- package/dist/semantic-status.d.ts +10 -1
- package/dist/semantic-status.d.ts.map +1 -1
- package/dist/semantic-status.js +50 -2
- package/dist/semantic-status.js.map +1 -1
- package/dist/storage-paths.d.ts +9 -0
- package/dist/storage-paths.d.ts.map +1 -1
- package/dist/storage-paths.js +18 -1
- package/dist/storage-paths.js.map +1 -1
- package/dist/subc-transport.d.ts +58 -1
- package/dist/subc-transport.d.ts.map +1 -1
- package/dist/subc-transport.js +378 -50
- package/dist/subc-transport.js.map +1 -1
- package/dist/tar-executable.js +1 -1
- package/dist/tar-executable.js.map +1 -1
- package/dist/transport-factory.d.ts +14 -2
- package/dist/transport-factory.d.ts.map +1 -1
- package/dist/transport-factory.js +24 -16
- package/dist/transport-factory.js.map +1 -1
- package/dist/version-probe.d.ts +33 -0
- package/dist/version-probe.d.ts.map +1 -0
- package/dist/version-probe.js +108 -0
- package/dist/version-probe.js.map +1 -0
- package/package.json +2 -2
- package/dist/bash-timeout.d.ts +0 -19
- package/dist/bash-timeout.d.ts.map +0 -1
- package/dist/bash-timeout.js +0 -26
- package/dist/bash-timeout.js.map +0 -1
package/dist/resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAoBA,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIlE,KAAK,YAAY,GAAG,OAAO,YAAY,CAAC;AAIxC,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI,CAEzE;AAED,KAAK,kBAAkB,GAAG;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAClE,KAAK,wBAAwB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,kBAAkB,GAAG,IAAI,CAAC;AAI3E,uGAAuG;AACvG,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,wBAAwB,GAAG,IAAI,GAAG,IAAI,CAE3F;AAED,KAAK,WAAW,GAAG,OAAO,OAAO,CAAC,GAAG,CAAC;AAEtC,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAmF7B,4EAA4E;AAC5E,wBAAsB,4BAA4B,IAAI,OAAO,CAAC,IAAI,CAAC,CAIlE;AAuCD;;;;;GAKG;AACH,iBAAS,cAAc,CAAC,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAY/D;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAgC9D;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CACzB,QAAQ,GAAE,MAAyB,EACnC,IAAI,GAAE,MAAqB,GAC1B,MAAM,CAgBR;AAiED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMtE;AAsGD,eAAO,MAAM,QAAQ;;CAEpB,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,UAAU,CAAC,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA0D1E"}
|
package/dist/resolver.js
CHANGED
|
@@ -1,69 +1,99 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { chmodSync, closeSync, copyFileSync, existsSync, mkdirSync, openSync, readSync, renameSync, unlinkSync, } from "node:fs";
|
|
1
|
+
import { closeSync, existsSync, promises as fsPromises, openSync, readFileSync, readSync, } from "node:fs";
|
|
3
2
|
import { createRequire } from "node:module";
|
|
4
3
|
import { homedir } from "node:os";
|
|
5
|
-
import { join } from "node:path";
|
|
4
|
+
import { delimiter, dirname, isAbsolute, join } from "node:path";
|
|
6
5
|
import { log, warn } from "./active-logger.js";
|
|
6
|
+
import { isTrustedCachedBinary, recordBinaryIdentity, removeBinaryIdentitySidecar, sha256File, writeBinaryIdentitySidecar, } from "./binary-identity.js";
|
|
7
7
|
import { getAftBinaryCacheDir } from "./cache-paths.js";
|
|
8
8
|
import { ensureBinary, readBinaryVersion } from "./downloader.js";
|
|
9
9
|
import { PLATFORM_ARCH_MAP } from "./platform.js";
|
|
10
|
+
import { readBinaryVersionOffThread } from "./version-probe.js";
|
|
10
11
|
let ensureBinaryForResolver = ensureBinary;
|
|
11
12
|
export function __setEnsureBinaryForTests(impl) {
|
|
12
13
|
ensureBinaryForResolver = impl ?? ensureBinary;
|
|
13
14
|
}
|
|
15
|
+
let npmPlatformPackageReader = null;
|
|
16
|
+
/** Test seam: stand in for the installed `@cortexkit/aft-<platform>` package. Pass null to restore. */
|
|
17
|
+
export function __setNpmPlatformPackageForTests(impl) {
|
|
18
|
+
npmPlatformPackageReader = impl;
|
|
19
|
+
}
|
|
14
20
|
export { readBinaryVersion };
|
|
21
|
+
/** Copies into the versioned cache that are still running, keyed by destination. */
|
|
22
|
+
const cacheCopiesInFlight = new Map();
|
|
15
23
|
/**
|
|
16
|
-
* Copy an npm platform binary
|
|
24
|
+
* Copy an npm platform binary into the versioned cache so we never run from
|
|
17
25
|
* node_modules directly. This prevents corruption when npm updates the
|
|
18
26
|
* package while a bridge process is running the binary.
|
|
19
27
|
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
28
|
+
* `version` comes from the platform package's own package.json, so nothing is
|
|
29
|
+
* executed. An existing cache entry is reused only when its identity sidecar
|
|
30
|
+
* vouches for it; an entry without one, or whose sidecar no longer matches
|
|
31
|
+
* (for example a copy another process finished but has not recorded yet), is
|
|
32
|
+
* replaced from the npm package rather than run to learn its version.
|
|
33
|
+
*
|
|
34
|
+
* The copy itself (~85 MB) runs asynchronously so the host thread never waits
|
|
35
|
+
* on it. Until it lands, callers use the npm package's own binary, whose
|
|
36
|
+
* identity is already known from its manifest.
|
|
23
37
|
*/
|
|
24
|
-
function copyToVersionedCache(npmBinaryPath,
|
|
38
|
+
function copyToVersionedCache(npmBinaryPath, version) {
|
|
39
|
+
const tag = version.startsWith("v") ? version : `v${version}`;
|
|
40
|
+
const ext = process.platform === "win32" ? ".exe" : "";
|
|
41
|
+
const versionedDir = join(getAftBinaryCacheDir(), tag);
|
|
42
|
+
const cachedPath = join(versionedDir, `aft${ext}`);
|
|
43
|
+
if (existsSync(cachedPath) && isTrustedCachedBinary(cachedPath, version))
|
|
44
|
+
return { cachedPath };
|
|
45
|
+
const existing = cacheCopiesInFlight.get(cachedPath);
|
|
46
|
+
if (existing)
|
|
47
|
+
return { pendingCopy: existing };
|
|
48
|
+
const task = copyIntoCache(npmBinaryPath, version, versionedDir, cachedPath).finally(() => {
|
|
49
|
+
cacheCopiesInFlight.delete(cachedPath);
|
|
50
|
+
});
|
|
51
|
+
cacheCopiesInFlight.set(cachedPath, task);
|
|
52
|
+
return { pendingCopy: task };
|
|
53
|
+
}
|
|
54
|
+
async function copyIntoCache(npmBinaryPath, version, versionedDir, cachedPath) {
|
|
55
|
+
const tmpPath = `${cachedPath}.${process.pid}.${Date.now()}.${Math.random().toString(16).slice(2)}.tmp`;
|
|
25
56
|
try {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
return null;
|
|
29
|
-
const tag = version.startsWith("v") ? version : `v${version}`;
|
|
30
|
-
const cacheDir = getAftBinaryCacheDir();
|
|
31
|
-
const versionedDir = join(cacheDir, tag);
|
|
32
|
-
const ext = process.platform === "win32" ? ".exe" : "";
|
|
33
|
-
const cachedPath = join(versionedDir, `aft${ext}`);
|
|
34
|
-
// Already cached. Probe before trusting the directory label; stale or
|
|
35
|
-
// corrupted cache entries must not shadow PATH/cargo fallback forever.
|
|
36
|
-
if (existsSync(cachedPath)) {
|
|
37
|
-
const cachedVersion = readBinaryVersion(cachedPath);
|
|
38
|
-
if (cachedVersion === version)
|
|
39
|
-
return cachedPath;
|
|
40
|
-
warn(`Cached binary at ${cachedPath} reports ${cachedVersion ?? "no version"}, expected ${version}; refreshing from npm package`);
|
|
41
|
-
}
|
|
42
|
-
// Copy to versioned cache
|
|
43
|
-
mkdirSync(versionedDir, { recursive: true });
|
|
44
|
-
const tmpPath = `${cachedPath}.${process.pid}.${Date.now()}.tmp`;
|
|
45
|
-
copyFileSync(npmBinaryPath, tmpPath);
|
|
57
|
+
await fsPromises.mkdir(versionedDir, { recursive: true });
|
|
58
|
+
await fsPromises.copyFile(npmBinaryPath, tmpPath);
|
|
46
59
|
if (process.platform !== "win32") {
|
|
47
|
-
|
|
60
|
+
await fsPromises.chmod(tmpPath, 0o755);
|
|
48
61
|
}
|
|
49
|
-
//
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
62
|
+
// Hash the private temp copy, which nothing else can touch, before it is
|
|
63
|
+
// renamed into place. Hashing the final path afterwards raced a second
|
|
64
|
+
// copy replacing it (another resolve, or another process, sees the entry
|
|
65
|
+
// without a sidecar and copies again), so on first start the identity was
|
|
66
|
+
// discarded as "changed while it was being hashed" and never recorded.
|
|
67
|
+
const sha256 = await sha256File(tmpPath);
|
|
68
|
+
removeBinaryIdentitySidecar(cachedPath);
|
|
69
|
+
// Best-effort replace — unlink first on Windows where rename fails if target exists
|
|
70
|
+
if (process.platform === "win32") {
|
|
71
|
+
await fsPromises.unlink(cachedPath).catch(() => { });
|
|
57
72
|
}
|
|
58
|
-
|
|
73
|
+
await fsPromises.rename(tmpPath, cachedPath);
|
|
59
74
|
log(`Copied npm binary to versioned cache: ${cachedPath}`);
|
|
75
|
+
// A rename keeps the file's size, mtime and inode, so the stamp taken now
|
|
76
|
+
// describes the bytes that were just hashed.
|
|
77
|
+
try {
|
|
78
|
+
writeBinaryIdentitySidecar(cachedPath, version, sha256);
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
warn(`Could not record identity for ${cachedPath}: ${err instanceof Error ? err.message : String(err)}`);
|
|
82
|
+
}
|
|
60
83
|
return cachedPath;
|
|
61
84
|
}
|
|
62
85
|
catch (err) {
|
|
86
|
+
await fsPromises.unlink(tmpPath).catch(() => { });
|
|
63
87
|
warn(`Failed to copy binary to cache: ${err instanceof Error ? err.message : String(err)}`);
|
|
64
88
|
return null;
|
|
65
89
|
}
|
|
66
90
|
}
|
|
91
|
+
/** Test helper: wait for every background copy into the versioned cache. */
|
|
92
|
+
export async function __waitForCacheCopiesForTests() {
|
|
93
|
+
while (cacheCopiesInFlight.size > 0) {
|
|
94
|
+
await Promise.all([...cacheCopiesInFlight.values()]);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
67
97
|
function normalizeBareVersion(version) {
|
|
68
98
|
return version.startsWith("v") ? version.slice(1) : version;
|
|
69
99
|
}
|
|
@@ -74,16 +104,13 @@ function cachedBinaryPathFromEnv(version, env, ext) {
|
|
|
74
104
|
const binaryPath = join(getAftBinaryCacheDir(env), version, `aft${ext}`);
|
|
75
105
|
return existsSync(binaryPath) ? binaryPath : null;
|
|
76
106
|
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
function probeBinaryCandidate(binaryPath, source, expectedVersion) {
|
|
86
|
-
const actual = readBinaryVersion(binaryPath);
|
|
107
|
+
/**
|
|
108
|
+
* Ask `binaryPath` for its version on a worker thread and accept it when it
|
|
109
|
+
* reports `expectedVersion` (any version when none is expected). The host's
|
|
110
|
+
* event loop keeps running while the binary is loaded.
|
|
111
|
+
*/
|
|
112
|
+
async function probeBinaryCandidateOffThread(binaryPath, source, expectedVersion) {
|
|
113
|
+
const actual = await readBinaryVersionOffThread(binaryPath);
|
|
87
114
|
if (actual === null) {
|
|
88
115
|
warn(`${source} binary at ${binaryPath} did not report a version; skipping`);
|
|
89
116
|
return null;
|
|
@@ -94,22 +121,38 @@ function probeBinaryCandidate(binaryPath, source, expectedVersion) {
|
|
|
94
121
|
}
|
|
95
122
|
return binaryPath;
|
|
96
123
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
124
|
+
/**
|
|
125
|
+
* Every `aft` executable on PATH, in PATH order, found by checking each
|
|
126
|
+
* directory in-process instead of forking `which aft` / `where aft`.
|
|
127
|
+
* Relative PATH entries are ignored so a project directory can never plant a
|
|
128
|
+
* binary that the resolver would pick up.
|
|
129
|
+
*/
|
|
130
|
+
function pathCandidates(env, ext) {
|
|
131
|
+
const rawPath = env.PATH ?? (process.platform === "win32" ? env.Path : undefined) ?? "";
|
|
132
|
+
const seen = new Set();
|
|
133
|
+
const candidates = [];
|
|
134
|
+
for (const dir of rawPath.split(delimiter)) {
|
|
135
|
+
if (!dir || !isAbsolute(dir))
|
|
136
|
+
continue;
|
|
137
|
+
const candidate = join(dir, `aft${ext}`);
|
|
138
|
+
if (seen.has(candidate))
|
|
139
|
+
continue;
|
|
140
|
+
seen.add(candidate);
|
|
141
|
+
if (existsSync(candidate))
|
|
142
|
+
candidates.push(candidate);
|
|
143
|
+
}
|
|
144
|
+
return candidates;
|
|
102
145
|
}
|
|
103
146
|
/**
|
|
104
147
|
* True when `binaryPath` begins with a recognized native-executable magic
|
|
105
148
|
* number (Mach-O, ELF, or PE/`MZ`). False for script shims that start with a
|
|
106
149
|
* shebang (`#!`) or anything else.
|
|
107
150
|
*
|
|
108
|
-
* This is the guard against a
|
|
151
|
+
* This is the guard against a PATH lookup for `aft` resolving to
|
|
109
152
|
* the `@cortexkit/aft` CLI's OWN node-script shim. The CLI publishes a `bin`
|
|
110
153
|
* named `aft` (same name as the native binary), and npx prepends its
|
|
111
|
-
* `node_modules/.bin` to PATH, so
|
|
112
|
-
* it with `--version` re-enters the CLI, which
|
|
154
|
+
* `node_modules/.bin` to PATH, so the lookup can resolve to that shim. Probing
|
|
155
|
+
* it with `--version` re-enters the CLI, which looks `aft` up again, which
|
|
113
156
|
* forks `opencode --version` / `pi --version` for its harness report — an
|
|
114
157
|
* exponential fork bomb (issue: self-resolution recursion). Native binaries
|
|
115
158
|
* never start with `#!`, so a magic-number check rejects the shim regardless of
|
|
@@ -182,152 +225,204 @@ export function platformKey(platform = process.platform, arch = process.arch) {
|
|
|
182
225
|
function logBinaryResolution(resolution) {
|
|
183
226
|
log(`Resolved binary from ${resolution.source}: ${resolution.path}`);
|
|
184
227
|
}
|
|
228
|
+
function explicitBinaryOverride(env) {
|
|
229
|
+
const explicitBinary = env.AFT_BINARY_PATH?.trim();
|
|
230
|
+
if (!explicitBinary)
|
|
231
|
+
return null;
|
|
232
|
+
// Hermetic host probes provide the just-built binary explicitly. Treat a bad
|
|
233
|
+
// override as an error instead of falling through to an operator cache or PATH.
|
|
234
|
+
if (!existsSync(explicitBinary) || !isNativeExecutable(explicitBinary)) {
|
|
235
|
+
throw new Error(`AFT_BINARY_PATH does not name a native executable: ${explicitBinary}`);
|
|
236
|
+
}
|
|
237
|
+
return explicitBinary;
|
|
238
|
+
}
|
|
239
|
+
/** The version this package ships with, used when the caller names none. */
|
|
240
|
+
function ownPackageVersion() {
|
|
241
|
+
try {
|
|
242
|
+
const req = createRequire(import.meta.url);
|
|
243
|
+
return req("../package.json").version;
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
185
249
|
/**
|
|
186
|
-
*
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
|
|
190
|
-
|
|
250
|
+
* Read the npm platform package's binary path and version. The version comes
|
|
251
|
+
* from the package's package.json, which npm installs together with the
|
|
252
|
+
* binary, so no exec is needed to learn it.
|
|
253
|
+
*/
|
|
254
|
+
function npmPlatformPackage(ext) {
|
|
255
|
+
if (npmPlatformPackageReader)
|
|
256
|
+
return npmPlatformPackageReader(ext);
|
|
257
|
+
try {
|
|
258
|
+
const req = createRequire(import.meta.url);
|
|
259
|
+
const manifestPath = req.resolve(`@cortexkit/aft-${platformKey()}/package.json`);
|
|
260
|
+
const manifest = JSON.parse(readFileSync(manifestPath, "utf8"));
|
|
261
|
+
const binaryPath = join(dirname(manifestPath), "bin", `aft${ext}`);
|
|
262
|
+
if (typeof manifest.version !== "string" || !existsSync(binaryPath))
|
|
263
|
+
return null;
|
|
264
|
+
return { binaryPath, version: normalizeBareVersion(manifest.version) };
|
|
265
|
+
}
|
|
266
|
+
catch {
|
|
267
|
+
// npm package not installed or resolution failed
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Locate the `aft` binary synchronously WITHOUT executing anything, so it is
|
|
273
|
+
* safe on a plugin host's only JavaScript thread. Checks, in order:
|
|
274
|
+
* 0. `AFT_BINARY_PATH` (must be a native executable; its version is checked
|
|
275
|
+
* by {@link findBinary} and by the bridge handshake, not here)
|
|
276
|
+
* 1. The versioned cache (`~/.cache/aft/bin/v<version>/aft`), accepted only
|
|
277
|
+
* when its identity sidecar still matches the file (stat only)
|
|
278
|
+
* 2. The npm platform package `@cortexkit/aft-<platform>`, whose version is
|
|
279
|
+
* read from its package.json. It is copied into the versioned cache in the
|
|
280
|
+
* background; until that copy is in place (and recorded), the package's
|
|
281
|
+
* own binary is returned for this boot.
|
|
282
|
+
*
|
|
283
|
+
* PATH and `~/.cargo/bin` binaries are not considered here: their version is
|
|
284
|
+
* unknown until they run. {@link findBinary} probes them on a worker thread.
|
|
191
285
|
*
|
|
192
|
-
* @param expectedVersion Optional version (without `v` prefix)
|
|
193
|
-
*
|
|
194
|
-
*
|
|
195
|
-
* freshly downloaded binary is picked up before fallback resolution.
|
|
196
|
-
* @returns Absolute path to the first binary found, or null if none found.
|
|
286
|
+
* @param expectedVersion Optional version (without `v` prefix). Defaults to
|
|
287
|
+
* this package's own version.
|
|
288
|
+
* @returns Absolute path to a binary whose identity is established, or null.
|
|
197
289
|
*/
|
|
198
290
|
export function findBinarySync(expectedVersion) {
|
|
199
|
-
const resolution =
|
|
291
|
+
const resolution = findTrustedBinarySync(expectedVersion, { ...process.env });
|
|
200
292
|
// Keep one durable, source-labeled line after every successful binary-resolution
|
|
201
293
|
// path. Operators need to distinguish a stale cache hit from npm, PATH, cargo, or a download.
|
|
202
294
|
if (resolution)
|
|
203
295
|
logBinaryResolution(resolution);
|
|
204
296
|
return resolution?.path ?? null;
|
|
205
297
|
}
|
|
206
|
-
function
|
|
298
|
+
function findTrustedBinarySync(expectedVersion, env) {
|
|
207
299
|
const ext = process.platform === "win32" ? ".exe" : "";
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
const
|
|
212
|
-
|
|
213
|
-
if (!existsSync(explicitBinary) || !isNativeExecutable(explicitBinary)) {
|
|
214
|
-
throw new Error(`AFT_BINARY_PATH does not name a native executable: ${explicitBinary}`);
|
|
215
|
-
}
|
|
216
|
-
const usable = probeBinaryCandidate(explicitBinary, "AFT_BINARY_PATH", expectedVersion);
|
|
217
|
-
if (!usable) {
|
|
218
|
-
throw new Error(`AFT_BINARY_PATH is incompatible with the requested AFT version: ${explicitBinary}`);
|
|
219
|
-
}
|
|
220
|
-
return { path: usable, source: "AFT_BINARY_PATH" };
|
|
221
|
-
}
|
|
222
|
-
// 1. Check versioned cache for the requested version (or this package's own
|
|
223
|
-
// version as a fallback so direct callers without a host still benefit from
|
|
224
|
-
// the cache).
|
|
225
|
-
const pluginVersion = expectedVersion ??
|
|
226
|
-
(() => {
|
|
227
|
-
try {
|
|
228
|
-
const req = createRequire(import.meta.url);
|
|
229
|
-
return req("../package.json").version;
|
|
230
|
-
}
|
|
231
|
-
catch {
|
|
232
|
-
return null;
|
|
233
|
-
}
|
|
234
|
-
})();
|
|
300
|
+
const explicitBinary = explicitBinaryOverride(env);
|
|
301
|
+
if (explicitBinary)
|
|
302
|
+
return { path: explicitBinary, source: "AFT_BINARY_PATH" };
|
|
303
|
+
const pluginVersion = expectedVersion ?? ownPackageVersion();
|
|
304
|
+
// 1. Versioned cache, vouched for by its identity sidecar.
|
|
235
305
|
if (pluginVersion) {
|
|
236
306
|
const tag = pluginVersion.startsWith("v") ? pluginVersion : `v${pluginVersion}`;
|
|
237
|
-
const
|
|
238
|
-
if (
|
|
239
|
-
return { path:
|
|
307
|
+
const cached = cachedBinaryPathFromEnv(tag, env, ext);
|
|
308
|
+
if (cached && isTrustedCachedBinary(cached, pluginVersion)) {
|
|
309
|
+
return { path: cached, source: "versioned cache" };
|
|
240
310
|
}
|
|
241
311
|
}
|
|
242
|
-
// 2.
|
|
243
|
-
//
|
|
312
|
+
// 2. npm platform package — copy to versioned cache to avoid corruption
|
|
313
|
+
// when npm updates the package while a bridge is running.
|
|
244
314
|
//
|
|
245
|
-
// IMPORTANT: when `pluginVersion` is known, REJECT npm
|
|
315
|
+
// IMPORTANT: when `pluginVersion` is known, REJECT npm packages whose
|
|
246
316
|
// version does not match. A workspace with bun-cached older versions of
|
|
247
317
|
// `@cortexkit/aft-<platform>` (e.g. v0.19.5 left over after upgrading the
|
|
248
318
|
// plugin to v0.22.x) can otherwise hijack resolution and produce stale
|
|
249
|
-
// task-id slugs / outdated protocol behavior.
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
}
|
|
264
|
-
else {
|
|
265
|
-
const copied = copyToVersionedCache(resolved, npmVersion);
|
|
266
|
-
return { path: copied ?? resolved, source: "npm platform package" };
|
|
267
|
-
}
|
|
319
|
+
// task-id slugs / outdated protocol behavior.
|
|
320
|
+
const npm = npmPlatformPackage(ext);
|
|
321
|
+
if (npm) {
|
|
322
|
+
if (pluginVersion && npm.version !== normalizeBareVersion(pluginVersion)) {
|
|
323
|
+
warn(`npm platform package binary v${npm.version} does not match plugin v${pluginVersion}; skipping`);
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
const copy = copyToVersionedCache(npm.binaryPath, npm.version);
|
|
327
|
+
if ("cachedPath" in copy)
|
|
328
|
+
return { path: copy.cachedPath, source: "npm platform package" };
|
|
329
|
+
return {
|
|
330
|
+
path: npm.binaryPath,
|
|
331
|
+
source: "npm platform package",
|
|
332
|
+
pendingCopy: copy.pendingCopy,
|
|
333
|
+
};
|
|
268
334
|
}
|
|
269
335
|
}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
336
|
+
return null;
|
|
337
|
+
}
|
|
338
|
+
/**
|
|
339
|
+
* Candidates whose version can only be learned by running them, probed on a
|
|
340
|
+
* worker thread in resolution order: a versioned-cache entry without a
|
|
341
|
+
* matching identity sidecar (for example one written before sidecars
|
|
342
|
+
* existed), every `aft` on PATH, then `~/.cargo/bin/aft`.
|
|
343
|
+
*/
|
|
344
|
+
async function findProbedBinary(expectedVersion, env) {
|
|
345
|
+
const ext = process.platform === "win32" ? ".exe" : "";
|
|
346
|
+
const pluginVersion = expectedVersion ?? ownPackageVersion();
|
|
347
|
+
// 1. An unvouched versioned-cache entry. Verified by running it off the
|
|
348
|
+
// host thread; once confirmed, a sidecar is recorded in the background so
|
|
349
|
+
// the next lookup is stat-only.
|
|
350
|
+
if (pluginVersion) {
|
|
351
|
+
const tag = pluginVersion.startsWith("v") ? pluginVersion : `v${pluginVersion}`;
|
|
352
|
+
const cached = cachedBinaryPathFromEnv(tag, env, ext);
|
|
353
|
+
if (cached) {
|
|
354
|
+
const usable = await probeBinaryCandidateOffThread(cached, "Cached", pluginVersion);
|
|
355
|
+
if (usable) {
|
|
356
|
+
void recordBinaryIdentity(usable, pluginVersion);
|
|
357
|
+
return { path: usable, source: "versioned cache" };
|
|
289
358
|
}
|
|
290
|
-
const usable = probeBinaryCandidate(candidate, "PATH", expectedVersion);
|
|
291
|
-
if (usable)
|
|
292
|
-
return { path: usable, source: "PATH" };
|
|
293
359
|
}
|
|
294
360
|
}
|
|
295
|
-
|
|
296
|
-
|
|
361
|
+
// 2. PATH
|
|
362
|
+
for (const candidate of pathCandidates(env, ext)) {
|
|
363
|
+
// Guard against self-resolution: a PATH hit can be the @cortexkit/aft
|
|
364
|
+
// CLI's own node-script shim (npx prepends its node_modules/.bin to
|
|
365
|
+
// PATH). Probing it with --version re-enters the CLI and fork-bombs.
|
|
366
|
+
// Only accept native executables here.
|
|
367
|
+
if (!isNativeExecutable(candidate)) {
|
|
368
|
+
warn(`PATH binary at ${candidate} is not a native executable (script shim?); skipping`);
|
|
369
|
+
continue;
|
|
370
|
+
}
|
|
371
|
+
const usable = await probeBinaryCandidateOffThread(candidate, "PATH", expectedVersion);
|
|
372
|
+
if (usable)
|
|
373
|
+
return { path: usable, source: "PATH" };
|
|
297
374
|
}
|
|
298
|
-
//
|
|
375
|
+
// 3. ~/.cargo/bin/aft
|
|
299
376
|
const cargoPath = join(homeDirFromEnv(env), ".cargo", "bin", `aft${ext}`);
|
|
300
377
|
if (existsSync(cargoPath)) {
|
|
301
|
-
const usable =
|
|
378
|
+
const usable = await probeBinaryCandidateOffThread(cargoPath, "cargo", expectedVersion);
|
|
302
379
|
if (usable)
|
|
303
380
|
return { path: usable, source: "cargo" };
|
|
304
381
|
}
|
|
305
382
|
return null;
|
|
306
383
|
}
|
|
307
384
|
export const __test__ = {
|
|
308
|
-
|
|
385
|
+
pathCandidates,
|
|
309
386
|
};
|
|
310
387
|
/**
|
|
311
|
-
* Locate the `aft` binary, with auto-download as a last resort.
|
|
388
|
+
* Locate the `aft` binary, with auto-download as a last resort. Never
|
|
389
|
+
* executes a binary on the calling thread: identities come from sidecars and
|
|
390
|
+
* package manifests, and anything that has to be run to learn its version is
|
|
391
|
+
* run on a worker thread while the caller awaits.
|
|
312
392
|
*
|
|
313
393
|
* Resolution order:
|
|
314
|
-
* 0. Explicit AFT_BINARY_PATH (hermetic host probes)
|
|
315
|
-
* 1.
|
|
394
|
+
* 0. Explicit AFT_BINARY_PATH (hermetic host probes; version verified)
|
|
395
|
+
* 1. Versioned cache (~/.cache/aft/bin/) with a matching identity sidecar
|
|
316
396
|
* 2. npm platform package (@cortexkit/aft-<platform>)
|
|
317
|
-
* 3.
|
|
318
|
-
* 4.
|
|
319
|
-
* 5.
|
|
397
|
+
* 3. Versioned cache entry without a sidecar, verified by running it
|
|
398
|
+
* 4. PATH lookup
|
|
399
|
+
* 5. ~/.cargo/bin/aft
|
|
400
|
+
* 6. Auto-download from GitHub releases
|
|
320
401
|
*
|
|
321
402
|
* Returns the absolute path to the binary.
|
|
322
403
|
* Throws a descriptive error with install instructions if all sources fail.
|
|
323
404
|
*/
|
|
324
405
|
export async function findBinary(expectedVersion) {
|
|
325
|
-
|
|
326
|
-
const
|
|
327
|
-
if (
|
|
328
|
-
|
|
406
|
+
const env = { ...process.env };
|
|
407
|
+
const explicitBinary = explicitBinaryOverride(env);
|
|
408
|
+
if (explicitBinary) {
|
|
409
|
+
const usable = await probeBinaryCandidateOffThread(explicitBinary, "AFT_BINARY_PATH", expectedVersion);
|
|
410
|
+
if (!usable) {
|
|
411
|
+
throw new Error(`AFT_BINARY_PATH is incompatible with the requested AFT version: ${explicitBinary}`);
|
|
412
|
+
}
|
|
413
|
+
logBinaryResolution({ path: usable, source: "AFT_BINARY_PATH" });
|
|
414
|
+
return usable;
|
|
415
|
+
}
|
|
416
|
+
const resolution = findTrustedBinarySync(expectedVersion, env) ?? (await findProbedBinary(expectedVersion, env));
|
|
417
|
+
if (resolution) {
|
|
418
|
+
// An async caller can wait for the npm copy without blocking the host
|
|
419
|
+
// thread, and then avoids running from node_modules at all.
|
|
420
|
+
const copied = resolution.pendingCopy ? await resolution.pendingCopy : null;
|
|
421
|
+
const path = copied ?? resolution.path;
|
|
422
|
+
logBinaryResolution({ path, source: resolution.source });
|
|
423
|
+
return path;
|
|
329
424
|
}
|
|
330
|
-
//
|
|
425
|
+
// 6. Auto-download from GitHub releases
|
|
331
426
|
log("Binary not found locally, attempting auto-download...");
|
|
332
427
|
const downloaded = await ensureBinaryForResolver(expectedVersion);
|
|
333
428
|
if (downloaded) {
|
|
@@ -341,7 +436,7 @@ export async function findBinary(expectedVersion) {
|
|
|
341
436
|
"Attempted sources:",
|
|
342
437
|
" - Cache directory (~/.cache/aft/bin/)",
|
|
343
438
|
" - npm platform package (@cortexkit/aft-<platform>)",
|
|
344
|
-
" - PATH lookup
|
|
439
|
+
" - PATH lookup",
|
|
345
440
|
" - ~/.cargo/bin/aft",
|
|
346
441
|
" - Auto-download from GitHub releases (failed)",
|
|
347
442
|
"",
|
package/dist/resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"revivable-transport.d.ts","sourceRoot":"","sources":["../src/revivable-transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,cAAc,EACf,MAAM,gBAAgB,CAAC;AAMxB,KAAK,cAAc,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAElE,KAAK,WAAW,GAAG,MAAM,OAAO,CAAC,gBAAgB,CAAC,CAAC;AAMnD;;;;GAIG;AACH,qBAAa,sBAAuB,YAAW,gBAAgB;IAY3D,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAZpC,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,OAAO,CAA0C;IACzD,OAAO,CAAC,mBAAmB,CAA0B;IACrD,OAAO,CAAC,qBAAqB,CAAK;IAClC,OAAO,CAAC,cAAc,CAAuB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgD;IAC3E,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA8B;IACjE,OAAO,CAAC,wBAAwB,CAAS;gBAGvC,WAAW,EAAE,gBAAgB,EACZ,UAAU,EAAE,WAAW,EACvB,gBAAgB,CAAC,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,aAAA;IAK5D,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB;IAUzD;gEAC4D;IAC5D,aAAa,IAAI,mBAAmB,EAAE;IAItC,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,yBAAyB,GAAG,IAAI;IASvE,QAAQ,CACZ,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,EAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE,iBAAsB,EAC/B,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,cAAc,CAAC;IAI1B,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAmBjD,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"revivable-transport.d.ts","sourceRoot":"","sources":["../src/revivable-transport.ts"],"names":[],"mappings":"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"}
|
|
@@ -70,6 +70,18 @@ export class RevivableTransportPool {
|
|
|
70
70
|
this.activePool.setConfigureOverride(key, value);
|
|
71
71
|
}
|
|
72
72
|
async reconfigure(projectRoot, overrides) {
|
|
73
|
+
if (this.activePool.isShutdown() && !this.revival) {
|
|
74
|
+
// Reconfigure only updates live bridges, and a shut-down pool has none.
|
|
75
|
+
// Reviving here would leave a live pool behind after the host's shutdown
|
|
76
|
+
// hook finished: background work that settles during shutdown (an LSP
|
|
77
|
+
// install aborted by that hook, for example) then keeps an unowned pool
|
|
78
|
+
// around and a headless host never exits. Record the overrides instead;
|
|
79
|
+
// a later revival applies them to the replacement pool.
|
|
80
|
+
for (const [key, value] of Object.entries(overrides)) {
|
|
81
|
+
this.setConfigureOverride(key, value);
|
|
82
|
+
}
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
73
85
|
const pool = await this.ensureActivePool();
|
|
74
86
|
const runtimeOverrides = {};
|
|
75
87
|
for (const [key, value] of Object.entries(overrides)) {
|