/** * Toolkit script registry + the Level-0 conservative matcher. * * The registry is the user's blessed daily-ops toolkit: named scripts with fixed runners. The * matcher maps a natural-language request to a script WITHOUT guessing: exact name/alias hits * match directly; scored matches win only with a clear margin over the runner-up; anything else * is a shortlist (disambiguate) or none. Ambiguity never executes — "prepare db" must never * silently run update-db. */ export type ToolkitRunner = "uv" | "powershell" | "bash"; export interface ToolkitScript { /** Registry key, kebab-case (e.g. "restore-db"). */ name: string; description: string; /** User-taught phrases that map directly to this script. */ aliases?: string[]; runner: ToolkitRunner; /** Script path, relative to cwd or absolute. */ path: string; /** Dangerous scripts require explicit confirmation at every level. */ danger?: boolean; } export type ToolkitMatch = { kind: "exact"; script: ToolkitScript; } | { kind: "ambiguous"; shortlist: ToolkitScript[]; } | { kind: "none"; closest: ToolkitScript[]; }; export declare function matchToolkitScript(request: string, scripts: readonly ToolkitScript[]): ToolkitMatch; //# sourceMappingURL=script-registry.d.ts.map