Big News: Socket raises $60M Series C at a $1B valuation to secure software supply chains for AI-driven development.Announcement
Sign In

@cortexkit/aft-bridge

Package Overview
Dependencies
Maintainers
1
Versions
49
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@cortexkit/aft-bridge - npm Package Compare versions

Comparing version
0.35.1
to
0.35.2
+35
dist/edit-summary.d.ts
/** Shape of the Rust mutation response fields this helper reads. */
export interface EditSummaryInput {
/** Files modified in a multi-file transaction (Rust `files_modified`). */
files_modified?: number;
/** Number of match replacements (find/replace, replaceAll). */
replacements?: number;
/** Number of edits applied in batch mode (Rust `edits_applied`). */
edits_applied?: number;
/** True when a new file was created (append/write create path). */
created?: boolean;
/** True when the post-write content is byte-identical to before. */
no_op?: boolean;
/** True when the write was reverted (e.g. generated invalid syntax). */
rolled_back?: boolean;
/** Whether the file was auto-formatted after the write. */
formatted?: boolean;
/** Diff counts. before/after content is intentionally ignored here. */
diff?: {
additions?: number;
deletions?: number;
};
}
/**
* Build the compact agent-facing summary line for a successful mutation.
*
* Returns just the headline sentence; callers append their own conditional
* notes (no-op, format-skip, LSP diagnostics, pending/exited servers) which
* already exist per-plugin and carry real signal.
*
* Honesty: when `rolled_back` is true the change did NOT land, so we never say
* "applied" — we say the file was left unchanged. This was previously buried
* inside a raw `"rolled_back":false` JSON field the agent had to parse.
*/
export declare function formatEditSummary(data: EditSummaryInput): string;
//# sourceMappingURL=edit-summary.d.ts.map
{"version":3,"file":"edit-summary.d.ts","sourceRoot":"","sources":["../src/edit-summary.ts"],"names":[],"mappings":"AAeA,oEAAoE;AACpE,MAAM,WAAW,gBAAgB;IAC/B,0EAA0E;IAC1E,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wEAAwE;IACxE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,uEAAuE;IACvE,IAAI,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACnD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAqChE"}
// Shared, compact agent-facing summary for file-mutation tool results
// (edit / write / apply_patch transaction). Both the OpenCode and Pi plugins
// render the SAME agent-facing text from this helper so the two harnesses stay
// in parity.
//
// Design (see session decision): the agent already supplied the path and the
// content it wants, so we do NOT echo the file path, the before/after content,
// or the raw Rust JSON envelope back to the model. Doing so makes the payload
// scale with file size, not edit size. The rich data (diff body, backup id,
// status-bar counts, etc.) stays in the plugin's UI `metadata`/`details`; the
// status-bar line is injected separately by the bridge layer.
//
// The model only needs: did it apply, how much changed (cheap confirmation),
// and any signal it must act on (rollback, no-op, format-skip, LSP errors).
/**
* Build the compact agent-facing summary line for a successful mutation.
*
* Returns just the headline sentence; callers append their own conditional
* notes (no-op, format-skip, LSP diagnostics, pending/exited servers) which
* already exist per-plugin and carry real signal.
*
* Honesty: when `rolled_back` is true the change did NOT land, so we never say
* "applied" — we say the file was left unchanged. This was previously buried
* inside a raw `"rolled_back":false` JSON field the agent had to parse.
*/
export function formatEditSummary(data) {
// Rollback is the one case where "applied" would be a lie. The write was
// reverted (typically because the result failed syntax validation), so the
// file is unchanged and the agent must retry differently.
if (data.rolled_back === true) {
return "Edit rolled back: the change produced invalid syntax, so the file was left unchanged.";
}
// Multi-file transaction (operations array): report file count, not per-file
// diffs (those are in the UI metadata).
if (typeof data.files_modified === "number") {
const n = data.files_modified;
return `Applied edits to ${n} file${n === 1 ? "" : "s"}.`;
}
const additions = data.diff?.additions ?? 0;
const deletions = data.diff?.deletions ?? 0;
const counts = `+${additions}/-${deletions}`;
// Append/write create path.
if (data.created === true) {
let s = `Created file (${counts}).`;
if (data.formatted)
s += " Auto-formatted.";
return s;
}
// Batch mode reports edits_applied; replaceAll reports replacements > 1.
let detail = counts;
if (typeof data.edits_applied === "number" && data.edits_applied > 1) {
detail = `${counts}, ${data.edits_applied} edits`;
}
else if (typeof data.replacements === "number" && data.replacements > 1) {
detail = `${counts}, ${data.replacements} replacements`;
}
let s = `Edited (${detail}).`;
if (data.formatted)
s += " Auto-formatted.";
return s;
}
//# sourceMappingURL=edit-summary.js.map
{"version":3,"file":"edit-summary.js","sourceRoot":"","sources":["../src/edit-summary.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,6EAA6E;AAC7E,+EAA+E;AAC/E,aAAa;AACb,EAAE;AACF,6EAA6E;AAC7E,+EAA+E;AAC/E,8EAA8E;AAC9E,4EAA4E;AAC5E,8EAA8E;AAC9E,8DAA8D;AAC9D,EAAE;AACF,6EAA6E;AAC7E,4EAA4E;AAsB5E;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAsB;IACtD,yEAAyE;IACzE,2EAA2E;IAC3E,0DAA0D;IAC1D,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;QAC9B,OAAO,uFAAuF,CAAC;IACjG,CAAC;IAED,6EAA6E;IAC7E,wCAAwC;IACxC,IAAI,OAAO,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC;QAC9B,OAAO,oBAAoB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAC5D,CAAC;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,IAAI,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;IAE7C,4BAA4B;IAC5B,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,iBAAiB,MAAM,IAAI,CAAC;QACpC,IAAI,IAAI,CAAC,SAAS;YAAE,CAAC,IAAI,kBAAkB,CAAC;QAC5C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,yEAAyE;IACzE,IAAI,MAAM,GAAG,MAAM,CAAC;IACpB,IAAI,OAAO,IAAI,CAAC,aAAa,KAAK,QAAQ,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,KAAK,IAAI,CAAC,aAAa,QAAQ,CAAC;IACpD,CAAC;SAAM,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,IAAI,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QAC1E,MAAM,GAAG,GAAG,MAAM,KAAK,IAAI,CAAC,YAAY,eAAe,CAAC;IAC1D,CAAC;IAED,IAAI,CAAC,GAAG,WAAW,MAAM,IAAI,CAAC;IAC9B,IAAI,IAAI,CAAC,SAAS;QAAE,CAAC,IAAI,kBAAkB,CAAC;IAC5C,OAAO,CAAC,CAAC;AACX,CAAC"}
export interface ResolvedNpm {
/** Absolute path to the npm executable (or a bare name if only PATH-resolved). */
command: string;
/** Directory containing npm, prepended to PATH at spawn time so npm's
* `#!/usr/bin/env node` shebang can find its sibling node. Null when the
* command was found via the OS PATH resolver and no augmentation is needed. */
binDir: string | null;
}
interface ResolveNpmDeps {
platform: NodeJS.Platform;
env: NodeJS.ProcessEnv;
home: string;
execPath: string;
/**
* Absolute system bin directories scanned last (e.g. /usr/local/bin). Defaults
* to the platform's well-known list. Injectable so tests can pass `[]` to stay
* hermetic — otherwise a real system npm (present on CI runners) leaks in and
* breaks the "returns null" cases.
*/
systemNpmDirs?: string[];
}
/**
* Resolve npm, preferring PATH, then node-adjacent, then well-known version
* manager / system locations. Returns null only when npm genuinely cannot be
* found anywhere we know to look.
*/
export declare function resolveNpm(deps?: ResolveNpmDeps): ResolvedNpm | null;
/**
* Build a spawn env that makes a resolved npm runnable: prepend its bin dir to
* PATH so npm's `#!/usr/bin/env node` shebang finds its sibling node, even when
* the inherited PATH was stripped by a GUI launch.
*/
export declare function npmSpawnEnv(resolved: ResolvedNpm, baseEnv?: NodeJS.ProcessEnv): NodeJS.ProcessEnv;
/**
* Quick boolean check: can we run npm at all? Used by pre-flight gating before
* destructive auto-update steps.
*/
export declare function isNpmAvailable(deps?: ResolveNpmDeps): boolean;
/** Test seam: verify a resolved npm actually executes (used by diagnostics). */
export declare function probeNpmVersion(resolved: ResolvedNpm): string | null;
export {};
//# sourceMappingURL=npm-resolver.d.ts.map
{"version":3,"file":"npm-resolver.d.ts","sourceRoot":"","sources":["../src/npm-resolver.ts"],"names":[],"mappings":"AAsBA,MAAM,WAAW,WAAW;IAC1B,kFAAkF;IAClF,OAAO,EAAE,MAAM,CAAC;IAChB;;mFAE+E;IAC/E,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;CAC1B;AAuHD;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,IAAI,GAAE,cAA8B,GAAG,WAAW,GAAG,IAAI,CAkBnF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,WAAW,EACrB,OAAO,GAAE,MAAM,CAAC,UAAwB,GACvC,MAAM,CAAC,UAAU,CAKnB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,GAAE,cAA8B,GAAG,OAAO,CAE5E;AAED,gFAAgF;AAChF,wBAAgB,eAAe,CAAC,QAAQ,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,CAapE"}
/**
* Resolve an `npm` executable when it is not on PATH.
*
* OpenCode and Pi are frequently launched from a GUI / dock / Desktop app,
* which gives the process a stripped PATH that does NOT include a Node version
* manager's bin directory (nvm, mise, volta, fnm, asdf) or even Homebrew. When
* that happens, `spawn("npm", ...)` fails with "Executable not found in $PATH",
* so the auto-updater and LSP auto-install silently break. See issue: a user's
* auto-update churned every launch (rewrite package.json -> delete package ->
* npm install fails -> restore) and they stayed pinned to the old version.
*
* `npm` is itself a Node script (`#!/usr/bin/env node` shebang on Unix), so once
* we find npm's absolute path we must also make its sibling `node` reachable, or
* the shebang fails the same way. `resolveNpm()` returns both the command and
* its bin directory; `npmSpawnEnv()` prepends that directory to PATH for the
* spawn so npm can find its own node.
*/
import { execFileSync } from "node:child_process";
import { readdirSync, statSync } from "node:fs";
import { homedir } from "node:os";
import { delimiter, dirname, isAbsolute, join } from "node:path";
function defaultDeps() {
return {
platform: process.platform,
env: process.env,
home: homedir(),
execPath: process.execPath,
};
}
function npmBinaryName(platform) {
return platform === "win32" ? "npm.cmd" : "npm";
}
function isFile(p) {
try {
return statSync(p).isFile();
}
catch {
return false;
}
}
/** Scan the PATH env for npm. Returns the first match's directory, or null. */
function npmFromPath(deps) {
const name = npmBinaryName(deps.platform);
const raw = deps.env.PATH ?? deps.env.Path ?? "";
for (const entry of raw.split(delimiter)) {
const dir = entry.trim().replace(/^"|"$/g, "");
if (!dir || !isAbsolute(dir))
continue;
if (isFile(join(dir, name)))
return dir;
}
return null;
}
/** npm ships beside node in standard installs (e.g. /opt/homebrew/bin/{node,npm}). */
function npmAdjacentToNode(deps) {
// process.execPath is the running node/bun binary. Under Node this is
// .../bin/node with npm as a sibling; under Bun (OpenCode TUI) there is no
// npm sibling, which is fine — we fall through to well-known locations.
const dir = dirname(deps.execPath);
return isFile(join(dir, npmBinaryName(deps.platform))) ? dir : null;
}
/**
* Pick the highest-version subdirectory under a version-manager `installs`
* directory that actually contains npm. Used for nvm / mise layouts like
* `~/.nvm/versions/node/<ver>/bin/npm`.
*/
function highestVersionedNodeBin(installsDir, name) {
let entries;
try {
entries = readdirSync(installsDir);
}
catch {
return null;
}
const candidates = entries
.filter((v) => isFile(join(installsDir, v, "bin", name)))
.sort((a, b) => compareVersionsDesc(a, b));
return candidates.length > 0 ? join(installsDir, candidates[0], "bin") : null;
}
/** Descending semver-ish compare; non-numeric segments sort after numeric. */
function compareVersionsDesc(a, b) {
const pa = a
.replace(/^v/, "")
.split(".")
.map((n) => Number.parseInt(n, 10));
const pb = b
.replace(/^v/, "")
.split(".")
.map((n) => Number.parseInt(n, 10));
for (let i = 0; i < Math.max(pa.length, pb.length); i++) {
const na = Number.isFinite(pa[i]) ? pa[i] : -1;
const nb = Number.isFinite(pb[i]) ? pb[i] : -1;
if (na !== nb)
return nb - na;
}
return b.localeCompare(a);
}
/** Well-known npm bin directories, in priority order, for the current platform. */
function wellKnownNpmDirs(deps) {
const { platform, env, home } = deps;
const name = npmBinaryName(platform);
const dirs = [];
const push = (dir) => {
if (dir && !dirs.includes(dir))
dirs.push(dir);
};
if (platform === "win32") {
const programFiles = env.ProgramFiles || "C:\\Program Files";
const appData = env.APPDATA;
const localAppData = env.LOCALAPPDATA;
push(join(programFiles, "nodejs"));
if (appData)
push(join(appData, "npm"));
if (localAppData)
push(join(localAppData, "Volta", "bin"));
// nvm-windows
if (env.NVM_SYMLINK)
push(env.NVM_SYMLINK);
}
else {
// Active node version manager hints (set even when PATH is otherwise stripped).
if (env.NVM_BIN)
push(env.NVM_BIN);
// Version-manager installs (pick highest version with npm).
push(highestVersionedNodeBin(join(home, ".nvm", "versions", "node"), name));
push(highestVersionedNodeBin(join(home, ".local", "share", "mise", "installs", "node"), name));
push(highestVersionedNodeBin(join(home, ".asdf", "installs", "nodejs"), name));
// Fixed-location managers.
push(join(home, ".volta", "bin"));
push(join(home, ".asdf", "shims"));
// Homebrew + system (injectable so tests stay hermetic; see ResolveNpmDeps).
const systemDirs = deps.systemNpmDirs ??
(platform === "darwin"
? ["/opt/homebrew/bin", "/usr/local/bin"]
: ["/usr/local/bin", "/usr/bin", join(home, ".local", "bin")]);
for (const dir of systemDirs)
push(dir);
}
return dirs;
}
/**
* Resolve npm, preferring PATH, then node-adjacent, then well-known version
* manager / system locations. Returns null only when npm genuinely cannot be
* found anywhere we know to look.
*/
export function resolveNpm(deps = defaultDeps()) {
const name = npmBinaryName(deps.platform);
// 1. PATH — respects the user's own setup when it survived to this process.
const onPath = npmFromPath(deps);
if (onPath)
return { command: join(onPath, name), binDir: onPath };
// 2. Node-adjacent (npm sits next to node in standard installs).
const adjacent = npmAdjacentToNode(deps);
if (adjacent)
return { command: join(adjacent, name), binDir: adjacent };
// 3. Well-known version-manager / system locations.
for (const dir of wellKnownNpmDirs(deps)) {
const candidate = join(dir, name);
if (isFile(candidate))
return { command: candidate, binDir: dir };
}
return null;
}
/**
* Build a spawn env that makes a resolved npm runnable: prepend its bin dir to
* PATH so npm's `#!/usr/bin/env node` shebang finds its sibling node, even when
* the inherited PATH was stripped by a GUI launch.
*/
export function npmSpawnEnv(resolved, baseEnv = process.env) {
if (!resolved.binDir)
return { ...baseEnv };
const existing = baseEnv.PATH ?? baseEnv.Path ?? "";
const next = existing ? `${resolved.binDir}${delimiter}${existing}` : resolved.binDir;
return { ...baseEnv, PATH: next };
}
/**
* Quick boolean check: can we run npm at all? Used by pre-flight gating before
* destructive auto-update steps.
*/
export function isNpmAvailable(deps = defaultDeps()) {
return resolveNpm(deps) !== null;
}
/** Test seam: verify a resolved npm actually executes (used by diagnostics). */
export function probeNpmVersion(resolved) {
try {
const out = execFileSync(resolved.command, ["--version"], {
env: npmSpawnEnv(resolved),
encoding: "utf-8",
timeout: 5000,
stdio: ["ignore", "pipe", "ignore"],
});
const v = out.trim();
return /^\d+\.\d+\.\d+/.test(v) ? v : null;
}
catch {
return null;
}
}
//# sourceMappingURL=npm-resolver.js.map
{"version":3,"file":"npm-resolver.js","sourceRoot":"","sources":["../src/npm-resolver.ts"],"names":[],"mappings":"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"}
+4
-0

@@ -14,2 +14,4 @@ /**

export { downloadBinary, ensureBinary, getBinaryName, getCacheDir, getCachedBinaryPath, } from "./downloader.js";
export type { EditSummaryInput } from "./edit-summary.js";
export { formatEditSummary } from "./edit-summary.js";
export { compressionSavingsPercent, formatTokenCount } from "./format.js";

@@ -20,2 +22,4 @@ export { stripJsoncSymbols } from "./jsonc.js";

export { ensureStorageMigrated, getMigrationStatus, resolveCortexKitStorageRoot, resolveLegacyStorageRoot, } from "./migration.js";
export type { ResolvedNpm } from "./npm-resolver.js";
export { isNpmAvailable, npmSpawnEnv, probeNpmVersion, resolveNpm, } from "./npm-resolver.js";
export { __test__ as __onnxTest__, cleanupOnnxRuntime, ensureOnnxRuntime, getManualInstallHint, isOrtAutoDownloadSupported, } from "./onnx-runtime.js";

@@ -22,0 +26,0 @@ export { markAnnouncementSeen, repairRootScopedStorageFile, resolveHarnessStoragePath, shouldShowAnnouncement, } from "./paths.js";

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAChF,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE1F,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAElF,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5F,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAChF,YAAY,EACV,oBAAoB,EACpB,sBAAsB,EACtB,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,cAAc,GACf,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEzE,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAE1F,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EACL,cAAc,EACd,WAAW,EACX,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACtE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAElF,YAAY,EACV,gBAAgB,EAChB,YAAY,EACZ,kBAAkB,EAClB,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,iBAAiB,EACjB,0BAA0B,EAC1B,cAAc,GACf,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5F,YAAY,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}

@@ -17,2 +17,3 @@ /**

export { downloadBinary, ensureBinary, getBinaryName, getCacheDir, getCachedBinaryPath, } from "./downloader.js";
export { formatEditSummary } from "./edit-summary.js";
// --- compact UI formatting ---

@@ -24,2 +25,3 @@ export { compressionSavingsPercent, formatTokenCount } from "./format.js";

export { ensureStorageMigrated, getMigrationStatus, resolveCortexKitStorageRoot, resolveLegacyStorageRoot, } from "./migration.js";
export { isNpmAvailable, npmSpawnEnv, probeNpmVersion, resolveNpm, } from "./npm-resolver.js";
// --- ONNX runtime ---

@@ -26,0 +28,0 @@ export { __test__ as __onnxTest__, cleanupOnnxRuntime, ensureOnnxRuntime, getManualInstallHint, isOrtAutoDownloadSupported, } from "./onnx-runtime.js";

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0BAA0B;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,0DAA0D;AAC1D,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAUhF,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzE,4BAA4B;AAC5B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AACzB,gCAAgC;AAChC,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1E,wBAAwB;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,4BAA4B;AAC5B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AACxB,uBAAuB;AACvB,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,2BAA2B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAiBlF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5F,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,0BAA0B;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,0DAA0D;AAC1D,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAUhF,oBAAoB;AACpB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzE,4BAA4B;AAC5B,OAAO,EACL,cAAc,EACd,YAAY,EACZ,aAAa,EACb,WAAW,EACX,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,gCAAgC;AAChC,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC1E,wBAAwB;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,4BAA4B;AAC5B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,cAAc,EACd,WAAW,EACX,eAAe,EACf,UAAU,GACX,MAAM,mBAAmB,CAAC;AAC3B,uBAAuB;AACvB,OAAO,EACL,QAAQ,IAAI,YAAY,EACxB,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,oBAAoB,EACpB,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,GACvB,MAAM,YAAY,CAAC;AACpB,2BAA2B;AAC3B,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAEtE,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAiBlF,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5F,OAAO,EACL,wBAAwB,EACxB,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,mBAAmB,EACnB,aAAa,GACd,MAAM,iBAAiB,CAAC;AAQzB,OAAO,EAAE,2BAA2B,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
{
"name": "@cortexkit/aft-bridge",
"version": "0.35.1",
"version": "0.35.2",
"type": "module",

@@ -5,0 +5,0 @@ "description": "Shared NDJSON bridge transport, binary resolution, and ONNX runtime helpers for AFT agent-host plugins (OpenCode, Pi)",