/** * `openlore install` — auto-configure popular agent surfaces so they call * `orient()` automatically. * * Dispatches to one or more adapters depending on `--agent` / detection, * supports `--dry-run`, `--force`, and `--uninstall`. */ import { Command } from 'commander'; import { type AgentName } from './detect.js'; export interface InstallOptions { agent?: AgentName; /** * Explicit list of surfaces to wire (used by `openlore connect`'s multi-select). * Takes precedence over `agent` and over detection. Each is rooted at `cwd`. */ agents?: AgentName[]; /** MCP tool preset wired into the registered server (validated against TOOL_PRESETS). */ preset?: string; /** Convenience full-surface selector (alias of `--preset full`), matching `openlore mcp --all-tools`. */ allTools?: boolean; dryRun?: boolean; force?: boolean; uninstall?: boolean; cwd?: string; /** * After configuring agent surfaces, build the index so orient() works on the * very first session (init if needed, then analyze). Default true; set false * via `--no-analyze`. Skipped for --dry-run and --uninstall. */ analyze?: boolean; } /** * Build the openlore index so the freshly-wired orient() returns results on the * user's first session instead of "No analysis found". * * - init: use the programmatic API (openloreInit), which is silent and returns * created:false when config already exists. The init CLI command instead logs * a scary "[error] Configuration exists. Use --force" on re-runs, which is * misleading inside install where re-running is a clean no-op. * - analyze: drive the real CLI command — the searchable BM25 index orient reads * is built by analyze's embed step, which only the CLI command runs. It reads * process.cwd(), so we chdir into the target for the duration. * * Failures are non-fatal: the surfaces are already wired, so we warn and tell * the user to run analyze themselves rather than failing the whole install. */ export declare function buildIndex(cwd: string, opts?: { force?: boolean; }): Promise; export interface SurfaceStatus { agent: AgentName; /** A marker for this agent was found in the project tree. */ detected: boolean; /** OpenLore is already fully wired for this agent (a fresh apply would be a no-op). */ connected: boolean; } /** * Status of every supported surface for `openlore connect list`. "connected" is * computed by asking each adapter to plan a dry-run apply and checking that it * has nothing left to create or update — reusing the adapters' own logic instead * of duplicating per-agent file knowledge here. */ export declare function surfaceStatus(cwd?: string): Promise; export declare function runInstall(opts: InstallOptions): Promise; export declare const installCommand: Command; //# sourceMappingURL=index.d.ts.map