INNER CODE UNIT · TypeScript
vendoSync
runvendo/vendo · packages/vendo/src/actions/sync/index.ts:324
export async function vendoSync(options: {
root: string;
out?: string;
strict?: boolean;
}): Promise<SyncReportWithWarnings> {
const root = path.resolve(options.root);
const out = path.resolve(options.out ?? path.join(root, ".vendo"));
setCompilerRoot(root); // under `npx` only the project can resolve typescript
clearAliasCache(); // same-process re-runs (watch mode) must see tsconfig edits
const warnings: string[] = [];
const toolsPath = path.join(out, "tools.json");
const { previousTools, overrides, judgments } = await loadVendoDir(out, warnings);
const extraction = await runExtractors(root);
warnings.push(...extraction.warnings);
const extractedTools = unionExtracted(extraction.tools);
// Machine layer carry-over: per-tool field semantics and JUDGE-INFERRED
// schemas persist across syncs. Keyed by name AND binding identity — a