/** * cli-defaults — read the `cli:` block from * `opensip-cli.config.yml` and merge it into Commander-parsed opts. * * Extracted from `index.ts` so the merge precedence is testable and the * bootstrap module owns config-resolution end-to-end. Order is * load → merge → derive (silent/debug) so flag-driven log mode reflects * the merged opts (F10). * * The schema + loader live in `@opensip-cli/config` * (`loadCliDefaults`, `cliConfigSchema`) — the `cli:` block is * tool-agnostic and a project shipping only `simulation` shouldn't need * fitness installed just to read its own CLI defaults. Relocated out of * `@opensip-cli/contracts` in the launch contract (ADR-0023; restores contracts * types-only). Audit 2026-05-23 G2. */ import type { CliDefaults } from '@opensip-cli/config'; export type { CliDefaults } from '@opensip-cli/config'; /** * Best-effort load of the `cli:` block. Falls back to `{}` when the * config is missing or malformed — config-presence is optional. The * underlying loader (in `@opensip-cli/contracts`) is already * permissive on every failure path; the wrapper here exists so the * absence path emits a structured debug log keyed against `cli:` (the * contracts loader stays dependency-light and doesn't reach for the * logger). */ export declare function loadCliDefaults(cwd: string, explicitConfigPath?: string): CliDefaults; /** * Apply the `cli:` defaults onto Commander-parsed opts when the * corresponding flag wasn't supplied. Mutates `opts` in place — matches * Commander's expectation that opts are the post-merge truth. */ export declare function mergeConfigDefaults(opts: Record, config: CliDefaults): void; //# sourceMappingURL=cli-defaults.d.ts.map