/** * host-command-specs — CLI-owned commands as declarative {@link CommandSpec}s, * mounted via the same `mountCommandSpec` plane as tools (Phase 6/7 parity). * Host commands (`init`, `configure`, `sessions`, `report`, `completion`, * `uninstall`, `tools`) are not tool plugins. Action-less groups and per-tool * `plugin` leaves live in `host-subcommand-groups.ts`; this module assembles * top-level specs. Built per-invocation so `--cwd` defaults stay fresh. */ import { type CliProgram } from '@opensip-cli/contracts'; import { type HostSpec } from './host-subcommand-groups.js'; import type { CliCommandsContext } from './shared.js'; import type { CommandActionScopeRunner } from '../bootstrap/command-action-scope-runner.js'; /** * Canonical Init grammar with a recovery-only action. The lightweight probe * mounts this one spec before Tool discovery whenever a fixed journal exists. */ export declare function buildInitRecoverySpec(ctx: CliCommandsContext): HostSpec; /** * Host specs whose policy must be known before startup Tool discovery. Kept as * a live spec projection so the pre-scan cannot drift into a second command * allowlist. */ export declare function buildPreBootstrapInspectionHostSpecs(): readonly HostSpec[]; /** * Build the top-level (non-grouped) host command specs. Exported so tests can * inspect the host command surface that the host mounts (single source). The * `completion` spec keeps its canonical position (after `configure`, before * `uninstall`) so the mounted command order — and thus `--help` ordering — is * byte-identical to before the cycle-breaking split. */ export declare function buildTopLevelHostSpecs(ctx: CliCommandsContext): readonly HostSpec[]; /** * Mount every host command onto `program` through the shared `mountCommandSpec` * plane. Top-level specs mount directly; each subcommand group becomes a raw * action-less parent (the documented exception) onto which its leaf specs mount * via the same `mountCommandSpec`. Finally, the per-tool `plugin` groups mount * UNDER each pack-supporting tool primary via {@link mountToolPluginGroups} — * which runs AFTER the tools were mounted (the composition root mounts tools * before `registerCliCommands`), so the tool primaries already exist. */ export declare function mountHostCommands(program: CliProgram, ctx: CliCommandsContext, actionScopeRunner?: CommandActionScopeRunner): void; //# sourceMappingURL=host-command-specs.d.ts.map