@cortexkit/aft-bridge 0.33.0 → 0.34.0

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.
@@ -57,9 +57,8 @@ export declare function ensureOnnxRuntime(storageDir: string): Promise<string |
57
57
  * Sweep abandoned `*.tmp.<pid>.<ts>` staging directories left behind by
58
58
  * killed download attempts, and remove an empty/half-populated target dir
59
59
  * so the next download retries cleanly. Safe to call before lock acquisition
60
- * because we only delete dirs whose owning PID is dead (or when the parent
61
- * dir's mtime exceeds STALE_LOCK_MS covers Windows where we can't check
62
- * process liveness reliably).
60
+ * because we only delete dirs whose owning PID is dead (or, on Windows,
61
+ * very old while the owner is still reported alive).
63
62
  */
64
63
  declare function cleanupAbandonedStagingDirs(onnxBaseDir: string): void;
65
64
  declare function cleanupIncompleteTargetIfUnowned(ortDir: string): void;
@@ -76,11 +75,20 @@ declare function parseOnnxVersionFromPath(value: string): string | null;
76
75
  */
77
76
  declare function detectOnnxVersion(libDir: string, libName: string): string | null;
78
77
  declare function isOnnxVersionCompatible(version: string): boolean;
78
+ declare function resolveCachedOnnxRuntimeDir(ortVersionDir: string, libName: string): string;
79
79
  declare function findSystemOnnxRuntime(libName?: string): string | null;
80
80
  declare function copyOnnxLibraries(info: OrtPlatformInfo, extractedDir: string, targetDir: string, realFiles: string[], symlinks: Array<{
81
81
  name: string;
82
82
  target: string;
83
83
  }>, copyFile?: typeof copyFileSync): void;
84
+ /**
85
+ * Acquire a process-exclusive lock. Atomic O_EXCL create with PID-aware
86
+ * stale-lock recovery. Mirrors `acquireInstallLock` in lsp-cache.ts but
87
+ * lives here because the ONNX install dir is keyed on `storageDir`,
88
+ * not `lspPackageDir`.
89
+ */
90
+ declare function acquireLock(lockPath: string): boolean;
91
+ declare function releaseLock(lockPath: string): void;
84
92
  /**
85
93
  * Remove ONNX Runtime from temp files. Cleanup helper for test isolation.
86
94
  */
@@ -95,12 +103,15 @@ export declare const __test__: {
95
103
  cleanupAbandonedStagingDirs: typeof cleanupAbandonedStagingDirs;
96
104
  cleanupIncompleteTargetIfUnowned: typeof cleanupIncompleteTargetIfUnowned;
97
105
  copyOnnxLibraries: typeof copyOnnxLibraries;
106
+ resolveCachedOnnxRuntimeDir: typeof resolveCachedOnnxRuntimeDir;
98
107
  ORT_VERSION: string;
99
108
  ONNX_INSTALLED_META_FILE: string;
100
109
  detectOnnxVersion: typeof detectOnnxVersion;
101
110
  parseOnnxVersionFromPath: typeof parseOnnxVersionFromPath;
102
111
  isOnnxVersionCompatible: typeof isOnnxVersionCompatible;
103
112
  findSystemOnnxRuntime: typeof findSystemOnnxRuntime;
113
+ acquireLock: typeof acquireLock;
114
+ releaseLock: typeof releaseLock;
104
115
  REQUIRED_ORT_MAJOR: number;
105
116
  REQUIRED_ORT_MIN_MINOR: number;
106
117
  };
@@ -1 +1 @@
1
- {"version":3,"file":"onnx-runtime.d.ts","sourceRoot":"","sources":["../src/onnx-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,OAAO,EAGL,YAAY,EAeb,MAAM,SAAS,CAAC;AA4BjB,wFAAwF;AACxF,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,KAAK,GAAG,KAAK,CAAC;CAC5B;AAkED,4DAA4D;AAC5D,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,IAAI,MAAM,CAQ7C;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyFlF;AAED;;;;;;;GAOG;AACH,iBAAS,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAwC9D;AAED,iBAAS,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAW9D;AAED,iBAAS,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAG/E;AAiBD,iBAAS,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK9D;AAED;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAsCzE;AAED,iBAAS,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMzD;AA8BD,iBAAS,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA2G9D;AAuPD,iBAAS,iBAAiB,CACxB,IAAI,EAAE,eAAe,EACrB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACjD,QAAQ,GAAE,OAAO,YAA2B,GAC3C,IAAI,CA+CN;AA8LD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAS3D;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;CAapB,CAAC"}
1
+ {"version":3,"file":"onnx-runtime.d.ts","sourceRoot":"","sources":["../src/onnx-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAIH,OAAO,EAGL,YAAY,EAeb,MAAM,SAAS,CAAC;AA4BjB,wFAAwF;AACxF,UAAU,eAAe;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,KAAK,GAAG,KAAK,CAAC;CAC5B;AAkED,4DAA4D;AAC5D,wBAAgB,0BAA0B,IAAI,OAAO,CAEpD;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,IAAI,MAAM,CAQ7C;AAED;;;;;;;;;GASG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAiGlF;AAED;;;;;;GAMG;AACH,iBAAS,2BAA2B,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CA8C9D;AAED,iBAAS,gCAAgC,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAW9D;AAED,iBAAS,4BAA4B,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAG/E;AAiBD,iBAAS,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO9D;AA0BD;;;;;;;;GAQG;AACH,iBAAS,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyCzE;AAED,iBAAS,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAMzD;AA8BD,iBAAS,2BAA2B,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAQnF;AAED,iBAAS,qBAAqB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyG9D;AA0PD,iBAAS,iBAAiB,CACxB,IAAI,EAAE,eAAe,EACrB,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACjD,QAAQ,GAAE,OAAO,YAA2B,GAC3C,IAAI,CA6DN;AAwFD;;;;;GAKG;AACH,iBAAS,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAgD9C;AAED,iBAAS,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAgC3C;AAoCD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAS3D;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;CAgBpB,CAAC"}
@@ -146,39 +146,47 @@ export function getManualInstallHint() {
146
146
  export async function ensureOnnxRuntime(storageDir) {
147
147
  const info = getPlatformInfo();
148
148
  // 1. Cached location with TOFU.
149
- const ortDir = join(storageDir, "onnxruntime", ORT_VERSION);
150
- const libPath = join(ortDir, info?.libName ?? "libonnxruntime.dylib");
149
+ const ortVersionDir = join(storageDir, "onnxruntime", ORT_VERSION);
150
+ const libName = info?.libName ?? "libonnxruntime.dylib";
151
+ // Keep the version root separate from the resolved library directory. The
152
+ // root owns cleanup, downloads, and TOFU metadata; the resolved dir only
153
+ // feeds the return value / ORT_DYLIB_PATH and may be `<version>/lib` for
154
+ // manual Microsoft-archive installs (#71).
155
+ const resolvedOrtDir = resolveCachedOnnxRuntimeDir(ortVersionDir, libName);
156
+ const libPath = join(resolvedOrtDir, libName);
151
157
  if (existsSync(libPath)) {
152
158
  // Audit-3 v0.17 #1 (TOFU): if we recorded a hash for this version,
153
159
  // verify the library still matches. A mismatch means tampering or
154
160
  // partial install corruption. Refuse to use it and let the caller
155
161
  // either retry the download (after the user clears the cache) or
156
162
  // fall back to system install.
157
- const meta = readOnnxInstalledMeta(ortDir);
163
+ // Our installer writes the TOFU meta file to the version root, never the
164
+ // lib/ subdir, so always read it from there.
165
+ const meta = readOnnxInstalledMeta(ortVersionDir);
158
166
  if (meta?.sha256) {
159
167
  try {
160
168
  const currentHash = sha256File(libPath);
161
169
  if (currentHash !== meta.sha256) {
162
- error(`ONNX Runtime at ${ortDir}: TOFU sha256 mismatch — refusing to use ` +
170
+ error(`ONNX Runtime at ${resolvedOrtDir}: TOFU sha256 mismatch — refusing to use ` +
163
171
  `tampered binary. Recorded ${meta.sha256}, current ${currentHash}. ` +
164
172
  `Run \`aft doctor --clear\` to re-download from scratch.`);
165
173
  // Fall through to system path / re-download attempt below.
166
174
  }
167
175
  else {
168
- log(`ONNX Runtime found at ${ortDir} (TOFU verified)`);
169
- return ortDir;
176
+ log(`ONNX Runtime found at ${resolvedOrtDir} (TOFU verified)`);
177
+ return resolvedOrtDir;
170
178
  }
171
179
  }
172
180
  catch (err) {
173
- warn(`Could not verify ONNX Runtime hash at ${ortDir}: ${err}`);
181
+ warn(`Could not verify ONNX Runtime hash at ${resolvedOrtDir}: ${err}`);
174
182
  // Treat unreadable hash as "trust on existence" since we already
175
183
  // owned this install — better than blocking semantic search.
176
- return ortDir;
184
+ return resolvedOrtDir;
177
185
  }
178
186
  }
179
187
  else {
180
- log(`ONNX Runtime found at ${ortDir} (no recorded hash, accepting)`);
181
- return ortDir;
188
+ log(`ONNX Runtime found at ${resolvedOrtDir} (no recorded hash, accepting)`);
189
+ return resolvedOrtDir;
182
190
  }
183
191
  }
184
192
  // 2. System locations.
@@ -204,8 +212,8 @@ export async function ensureOnnxRuntime(storageDir) {
204
212
  const lockPath = join(onnxBaseDir, ONNX_LOCK_FILE);
205
213
  // Recover from SIGKILL'd previous attempts before acquiring the lock.
206
214
  // When the host process is killed mid-download (user closes OpenCode while
207
- // ONNX is still downloading), the staging dir at `${ortDir}.tmp.<pid>.<ts>`
208
- // and a half-populated `ortDir` can survive without a meta file. The
215
+ // ONNX is still downloading), the staging dir at `${ortVersionDir}.tmp.<pid>.<ts>`
216
+ // and a half-populated `ortVersionDir` can survive without a meta file. The
209
217
  // existing TOFU branch above already handles a tampered-but-complete
210
218
  // install, but this branch covers the "abandoned, incomplete" case where
211
219
  // the lib file isn't present (we wouldn't be here otherwise). Sweep them
@@ -216,8 +224,8 @@ export async function ensureOnnxRuntime(storageDir) {
216
224
  return null;
217
225
  }
218
226
  try {
219
- cleanupIncompleteTargetIfUnowned(ortDir);
220
- return await downloadOnnxRuntime(info, ortDir);
227
+ cleanupIncompleteTargetIfUnowned(ortVersionDir);
228
+ return await downloadOnnxRuntime(info, ortVersionDir);
221
229
  }
222
230
  finally {
223
231
  releaseLock(lockPath);
@@ -227,9 +235,8 @@ export async function ensureOnnxRuntime(storageDir) {
227
235
  * Sweep abandoned `*.tmp.<pid>.<ts>` staging directories left behind by
228
236
  * killed download attempts, and remove an empty/half-populated target dir
229
237
  * so the next download retries cleanly. Safe to call before lock acquisition
230
- * because we only delete dirs whose owning PID is dead (or when the parent
231
- * dir's mtime exceeds STALE_LOCK_MS covers Windows where we can't check
232
- * process liveness reliably).
238
+ * because we only delete dirs whose owning PID is dead (or, on Windows,
239
+ * very old while the owner is still reported alive).
233
240
  */
234
241
  function cleanupAbandonedStagingDirs(onnxBaseDir) {
235
242
  // Sweep .tmp.* staging dirs whose pid is dead or are sufficiently old.
@@ -246,15 +253,22 @@ function cleanupAbandonedStagingDirs(onnxBaseDir) {
246
253
  let abandoned = false;
247
254
  if (Number.isFinite(pid) && pid > 0) {
248
255
  if (process.platform === "win32") {
249
- // No reliable cross-process liveness check on Windows; fall back
250
- // to mtime-based age comparison.
251
- try {
252
- const ageMs = Date.now() - statSync(stagingDir).mtimeMs;
253
- abandoned = ageMs > STALE_LOCK_MS;
254
- }
255
- catch {
256
+ const ownerAlive = isProcessAlive(pid);
257
+ if (!ownerAlive) {
256
258
  abandoned = true;
257
259
  }
260
+ else {
261
+ // Keep the existing stale-age escape hatch for very old Windows
262
+ // attempts, but no longer impose a blind 5-minute wait when the
263
+ // owning process has already exited.
264
+ try {
265
+ const ageMs = Date.now() - statSync(stagingDir).mtimeMs;
266
+ abandoned = ageMs > STALE_LOCK_MS;
267
+ }
268
+ catch {
269
+ abandoned = true;
270
+ }
271
+ }
258
272
  }
259
273
  else {
260
274
  abandoned = !isProcessAlive(pid);
@@ -311,11 +325,32 @@ const REQUIRED_ORT_MIN_MINOR = 20;
311
325
  const INVALID_ORT_VERSION = "<invalid>";
312
326
  function parseOnnxVersionFromPath(value) {
313
327
  const name = basename(value);
314
- const semverish = name.match(/\.(\d+\.\d+\.\d+(?:[-+][A-Za-z0-9.-]+)?)(?:\.dylib)?$/);
328
+ const semverish = name.match(/(?:^|[._-])(\d+\.\d+\.\d+(?:[-+][A-Za-z0-9.-]+)?)(?:\.(?:dylib|dll))?$/);
315
329
  if (semverish)
316
330
  return semverish[1].split(/[-+]/, 1)[0];
317
331
  return /\d+\.\d+\.\d+/.test(name) ? INVALID_ORT_VERSION : null;
318
332
  }
333
+ function parseOnnxVersionFromDirectoryPath(value) {
334
+ const parts = value
335
+ .split(/[\\/]+/)
336
+ .filter(Boolean)
337
+ .reverse();
338
+ for (const part of parts) {
339
+ const version = parseOnnxVersionFromPath(part);
340
+ if (version)
341
+ return version;
342
+ }
343
+ return null;
344
+ }
345
+ function isPathInsideRoot(root, candidate) {
346
+ const rel = relative(root, candidate);
347
+ return (rel === "" ||
348
+ (!rel.startsWith("../") &&
349
+ !rel.startsWith("..\\") &&
350
+ rel !== ".." &&
351
+ !isAbsolute(rel) &&
352
+ !win32.isAbsolute(rel)));
353
+ }
319
354
  /**
320
355
  * Detect the version of an ONNX Runtime install by walking the directory's
321
356
  * library-file suffixes. Microsoft ships `libonnxruntime.so.1.24.4` and
@@ -336,8 +371,10 @@ function detectOnnxVersion(libDir, libName) {
336
371
  // `libonnxruntime.so.1.24.4` and macOS's `libonnxruntime.1.24.4.dylib`
337
372
  // are picked up.
338
373
  const barePrefix = libName.replace(/\.(so|dylib|dll)$/, "");
374
+ const expectedPrefix = process.platform === "win32" ? barePrefix.toLowerCase() : barePrefix;
339
375
  for (const entry of entries) {
340
- if (!entry.startsWith(barePrefix))
376
+ const comparable = process.platform === "win32" ? entry.toLowerCase() : entry;
377
+ if (!comparable.startsWith(expectedPrefix))
341
378
  continue;
342
379
  const version = parseOnnxVersionFromPath(entry);
343
380
  if (version)
@@ -348,7 +385,7 @@ function detectOnnxVersion(libDir, libName) {
348
385
  if (existsSync(base)) {
349
386
  try {
350
387
  const real = realpathSync(base);
351
- const version = parseOnnxVersionFromPath(real);
388
+ const version = parseOnnxVersionFromPath(real) ?? parseOnnxVersionFromDirectoryPath(real);
352
389
  if (version)
353
390
  return version;
354
391
  }
@@ -365,6 +402,7 @@ function detectOnnxVersion(libDir, libName) {
365
402
  // not a symlink
366
403
  }
367
404
  }
405
+ return parseOnnxVersionFromDirectoryPath(libDir);
368
406
  }
369
407
  catch {
370
408
  // unreadable dir
@@ -407,6 +445,17 @@ function directoryContainsLibrary(dir, libName) {
407
445
  return false;
408
446
  }
409
447
  }
448
+ function resolveCachedOnnxRuntimeDir(ortVersionDir, libName) {
449
+ // AFT's own installer flattens the runtime libraries into the version root.
450
+ // Microsoft's archives keep them under lib/. Prefer the root when both exist
451
+ // because downloads and metadata are anchored there.
452
+ if (existsSync(join(ortVersionDir, libName)))
453
+ return ortVersionDir;
454
+ const libSubdir = join(ortVersionDir, "lib");
455
+ if (existsSync(join(libSubdir, libName)))
456
+ return libSubdir;
457
+ return ortVersionDir;
458
+ }
410
459
  function findSystemOnnxRuntime(libName) {
411
460
  if (!libName)
412
461
  return null;
@@ -467,6 +516,7 @@ function findSystemOnnxRuntime(libName) {
467
516
  seen.add(key);
468
517
  return true;
469
518
  });
519
+ const unknownVersionPaths = [];
470
520
  for (const dir of uniquePaths) {
471
521
  const libPath = join(dir, libName);
472
522
  if (process.platform === "win32") {
@@ -476,32 +526,28 @@ function findSystemOnnxRuntime(libName) {
476
526
  else if (!existsSync(libPath)) {
477
527
  continue;
478
528
  }
479
- // Skip the version check for PATH entries version-suffixed filenames
480
- // are less common on Windows and we want PATH discovery to succeed.
481
- let skipVersionCheck = false;
482
- if (process.platform === "win32") {
483
- // Only do version check for common install paths, not arbitrary PATH entries.
484
- // Windows paths are case-insensitive, so normalize to lower case for comparison.
485
- const dirLower = dir.toLowerCase();
486
- const isCommonPath = dirLower.includes("program files") || dirLower.includes("onnxruntime");
487
- if (!isCommonPath)
488
- skipVersionCheck = true;
489
- }
490
- if (!skipVersionCheck) {
491
- // Reject system installs that the Rust pre-validator will refuse. Without
492
- // this filter, a stale distro package (e.g. libonnxruntime1.9 on Ubuntu
493
- // 22.04) shadows our auto-downloaded v1.24 forever and semantic search
494
- // stays "failed" until the user hand-deletes the system library.
495
- const version = detectOnnxVersion(dir, libName);
496
- if (version && !isOnnxVersionCompatible(version)) {
497
- warn(`Skipping system ONNX Runtime at ${dir} (v${version}); AFT requires ` +
498
- `v${REQUIRED_ORT_MAJOR}.${REQUIRED_ORT_MIN_MINOR}+. Falling through to AFT-managed download.`);
499
- continue;
500
- }
529
+ // Reject system installs that the Rust pre-validator will refuse. Without
530
+ // this filter, a stale distro package (e.g. libonnxruntime1.9 on Ubuntu
531
+ // 22.04) shadows our auto-downloaded v1.24 forever and semantic search
532
+ // stays "failed" until the user hand-deletes the system library.
533
+ //
534
+ // Windows PATH/NuGet installs often expose only `onnxruntime.dll`, so we
535
+ // also mine version-bearing parent directories and symlink targets. When a
536
+ // version is unknown, keep it as a last-choice fallback rather than letting
537
+ // it shadow a later candidate with a known compatible version.
538
+ const version = detectOnnxVersion(dir, libName);
539
+ if (!version) {
540
+ unknownVersionPaths.push(dir);
541
+ continue;
542
+ }
543
+ if (!isOnnxVersionCompatible(version)) {
544
+ warn(`Skipping system ONNX Runtime at ${dir} (v${version}); AFT requires ` +
545
+ `v${REQUIRED_ORT_MAJOR}.${REQUIRED_ORT_MIN_MINOR}+. Falling through to AFT-managed download.`);
546
+ continue;
501
547
  }
502
548
  return dir;
503
549
  }
504
- return null;
550
+ return unknownVersionPaths[0] ?? null;
505
551
  }
506
552
  /**
507
553
  * Streaming download with size cap. Mirrors the hardened path in
@@ -585,13 +631,16 @@ function validateExtractedTree(stagingRoot) {
585
631
  const linkTarget = readlinkSync(fullPath);
586
632
  const resolvedTarget = resolve(dirname(fullPath), linkTarget);
587
633
  const rel = relative(realRoot, resolvedTarget);
588
- if (rel.startsWith("..") || (process.platform !== "win32" && rel.startsWith("/"))) {
634
+ // A target inside realRoot yields a relative path. If `relative()`
635
+ // returns an absolute path it escaped the root — on POSIX (`/...`) or
636
+ // across Windows drives (`D:\...`, where the win32 check is essential).
637
+ if (rel.startsWith("..") || isAbsolute(rel) || win32.isAbsolute(rel)) {
589
638
  throw new Error(`extracted symlink ${fullPath} points outside staging root: ${linkTarget}`);
590
639
  }
591
640
  continue;
592
641
  }
593
642
  const rel = relative(realRoot, fullPath);
594
- if (rel.startsWith("..") || (process.platform !== "win32" && rel.startsWith("/"))) {
643
+ if (rel.startsWith("..") || isAbsolute(rel) || win32.isAbsolute(rel)) {
595
644
  throw new Error(`extracted entry ${fullPath} escapes staging root`);
596
645
  }
597
646
  if (lst.isDirectory()) {
@@ -738,6 +787,7 @@ function copyOnnxLibraries(info, extractedDir, targetDir, realFiles, symlinks, c
738
787
  }
739
788
  // Recreate symlinks in target directory. If the required library is a
740
789
  // symlink, failures must be fatal for the same reason as required copies.
790
+ const targetRoot = realpathSync(targetDir);
741
791
  for (const link of symlinks) {
742
792
  const dst = join(targetDir, link.name);
743
793
  try {
@@ -746,6 +796,17 @@ function copyOnnxLibraries(info, extractedDir, targetDir, realFiles, symlinks, c
746
796
  catch {
747
797
  // ignore
748
798
  }
799
+ const dstForContainment = join(targetRoot, link.name);
800
+ const resolvedTarget = resolve(dirname(dstForContainment), link.target);
801
+ if (!isPathInsideRoot(targetRoot, resolvedTarget)) {
802
+ const message = `ONNX Runtime symlink ${link.name} points outside install dir: ${link.target}`;
803
+ if (requiredLibs.has(link.name)) {
804
+ rmSync(targetDir, { recursive: true, force: true });
805
+ throw new Error(message);
806
+ }
807
+ log(`ORT extract: skipping optional symlink ${link.name}: ${message}`);
808
+ continue;
809
+ }
749
810
  try {
750
811
  symlinkSync(link.target, dst);
751
812
  }
@@ -874,9 +935,8 @@ function acquireLock(lockPath) {
874
935
  }
875
936
  const age = Date.now() - lockMtimeMs;
876
937
  const ageWithinFresh = Math.abs(age) < STALE_LOCK_MS;
877
- const skipLiveness = process.platform === "win32";
878
- const ownerAlive = !skipLiveness && owningPid !== null && isProcessAlive(owningPid);
879
- if (skipLiveness ? ageWithinFresh : ownerAlive && ageWithinFresh) {
938
+ const ownerAlive = owningPid !== null && isProcessAlive(owningPid);
939
+ if (ownerAlive && ageWithinFresh) {
880
940
  return false;
881
941
  }
882
942
  log(`[onnx] reclaiming install lock (owner_pid=${owningPid ?? "unknown"}, alive=${ownerAlive}, age_ms=${age})`);
@@ -924,7 +984,32 @@ function releaseLock(lockPath) {
924
984
  warn(`[onnx] unexpected error releasing lock ${lockPath}: ${err}`);
925
985
  }
926
986
  }
987
+ function tasklistPidFromCsvLine(line) {
988
+ const quoted = line.match(/"([^"]*)"/g);
989
+ if (quoted && quoted.length >= 2)
990
+ return quoted[1].slice(1, -1);
991
+ const cells = line.split(",").map((cell) => cell.trim().replace(/^"|"$/g, ""));
992
+ return cells[1] ?? null;
993
+ }
994
+ function isWindowsProcessAlive(pid) {
995
+ if (!Number.isInteger(pid) || pid <= 0)
996
+ return false;
997
+ try {
998
+ const output = execFileSync("tasklist.exe", ["/FI", `PID eq ${pid}`, "/FO", "CSV", "/NH"], {
999
+ encoding: "utf8",
1000
+ timeout: 2_000,
1001
+ windowsHide: true,
1002
+ });
1003
+ const expected = String(pid);
1004
+ return output.split(/\r?\n/).some((line) => tasklistPidFromCsvLine(line) === expected);
1005
+ }
1006
+ catch {
1007
+ return false;
1008
+ }
1009
+ }
927
1010
  function isProcessAlive(pid) {
1011
+ if (process.platform === "win32")
1012
+ return isWindowsProcessAlive(pid);
928
1013
  try {
929
1014
  process.kill(pid, 0);
930
1015
  return true;
@@ -960,12 +1045,15 @@ export const __test__ = {
960
1045
  cleanupAbandonedStagingDirs,
961
1046
  cleanupIncompleteTargetIfUnowned,
962
1047
  copyOnnxLibraries,
1048
+ resolveCachedOnnxRuntimeDir,
963
1049
  ORT_VERSION,
964
1050
  ONNX_INSTALLED_META_FILE,
965
1051
  detectOnnxVersion,
966
1052
  parseOnnxVersionFromPath,
967
1053
  isOnnxVersionCompatible,
968
1054
  findSystemOnnxRuntime,
1055
+ acquireLock,
1056
+ releaseLock,
969
1057
  REQUIRED_ORT_MAJOR,
970
1058
  REQUIRED_ORT_MIN_MINOR,
971
1059
  };
@@ -1 +1 @@
1
- {"version":3,"file":"onnx-runtime.js","sourceRoot":"","sources":["../src/onnx-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"onnx-runtime.js","sourceRoot":"","sources":["../src/onnx-runtime.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cortexkit/aft-bridge",
3
- "version": "0.33.0",
3
+ "version": "0.34.0",
4
4
  "type": "module",
5
5
  "description": "Shared NDJSON bridge transport, binary resolution, and ONNX runtime helpers for AFT agent-host plugins (OpenCode, Pi)",
6
6
  "license": "MIT",
@@ -26,7 +26,8 @@
26
26
  "build": "tsc",
27
27
  "typecheck": "tsc --noEmit",
28
28
  "test": "bun test src/__tests__",
29
- "prepublishOnly": "bun run build"
29
+ "prepublishOnly": "bun run build",
30
+ "test:unit": "bun test src/__tests__"
30
31
  },
31
32
  "dependencies": {
32
33
  "undici": "^7.25.0"