/** * Slice `b1-filesplit-campaign` (wave 3B) — verbatim extraction of the four * read-only `peaks observability` query runners (`status` / `slices` / * `fanout` / `repair-cycles`) and the two scope resolvers they share out of * `./observability-commands.ts` (380 raw lines > the 300 cap) so that module * clears the cap. No query, envelope key, warning string or exit-code path * changed and no assertion moved: `observability-commands.ts` imports these * six names from this path, so the commander tree and every importer are * byte-equivalent in behaviour. * * `runReport` stayed behind on purpose: it carries a * `max-lines-per-function` finding, and a NEW module in this campaign must be * clean outright — hoisting it would move a finding into a brand-new file. * * LATER ADDITION — `peaks observability repair-cycles` also grew an * `--all-sessions` scope, so the whole recorded history of a project can be * measured from the command itself. */ import { type ProgramIO } from '../cli-helpers.js'; export declare function resolveProjectRoot(optionProject: string | undefined): string; export declare function resolveSessionId(optionSession: string | undefined, projectRoot: string): string | undefined; export declare function runStatus(io: ProgramIO, options: { project?: string; session?: string; json?: boolean; }): void; export declare function runSlices(io: ProgramIO, options: { project?: string; session?: string; json?: boolean; }): void; export declare function runFanout(io: ProgramIO, options: { project?: string; session?: string; json?: boolean; }): void; export declare function runRepairCycles(io: ProgramIO, options: { project?: string; session?: string; json?: boolean; allSessions?: boolean; }): void;