/** * Which scopes OpenLore is wired in (change: upgrade-repo-only-wiring). * * User-scope wiring is what makes "install once, every repository just works" true. A * user who installed before it shipped has only repo wiring, and nothing told them: an * untracked `.mcp.json` does not reach the repository's other worktrees, and a new * repository gets nothing at all. `doctor`, `update` and `status` read this one answer. * * Read-only by construction: it reads two repository files and `~/.claude.json`, and * writes nothing. Only an explicit, human-run command writes the user scope. */ /** * `user + repo` also covers a repository with no wiring of its own: the user-scope entry * reaches it, which is the point of that scope. */ export type WiringScope = 'user + repo' | 'repo only' | 'none'; export interface WiringAssessment { scope: WiringScope; /** Repository files that carry OpenLore's managed `_openlore` marker. */ repoFiles: string[]; /** `~/.claude.json` registers an `openlore` MCP server. */ userEntry: boolean; /** Why the user-scope entry is an older shape, or null when it is current (or absent). */ userOutdated: 'npx' | 'missing-launcher' | null; /** Absolute launcher paths the user-scope entry names that are gone. */ missingLaunchers: string[]; } /** * Absolute paths in the wired MCP entry that are no longer on disk. * * Only ABSOLUTE paths are checked: a bare command (`npx`, `node`) is resolved through * PATH by the host, so its absence here would say nothing. Empty means nothing to report, * which is also the answer for a malformed entry — doctor reports what it observed, and * this check cannot see anything wrong with a shape it does not recognise. */ export declare function missingLauncherPaths(servers: Record | undefined): Promise; /** * Assess both scopes. * * `currentEntry` is the CLI entry this install would wire. When it is null this install * itself writes the `npx` form (run from source, or out of an npx cache), so an `npx` * entry is current, not outdated — otherwise `doctor --fix` would rewrite it to the same * shape and warn again forever. */ export declare function assessWiring(rootPath: string, home: string, currentEntry?: string | null): Promise; //# sourceMappingURL=wiring-scope.d.ts.map