/** * Package assignment — post-walk catalog pass. * * Stamps every occurrence with the package it belongs to, so the coupling * grid and the cross-package edge constraint bucket by real package boundary * rather than a path heuristic. The package label is the `name` of the * occurrence's **nearest enclosing `package.json`** (walking up from the * file's directory to the project root), e.g. `@opensip-cli/fitness`. When * no manifest is found, it falls back to the file's top-level path segment * (so `apps/`, `libs/`, `src/`, `crates/`, Go-module repos still bucket * sensibly instead of collapsing to one ``). * * This runs in the engine (filesystem available); the dashboard has none, so * it reads the stamped `occurrence.package` straight from the catalog. */ import type { Catalog } from '../types.js'; export declare function assignPackages(catalog: Catalog, projectRoot: string): Catalog; //# sourceMappingURL=assign-packages.d.ts.map