/** * build-command-registration-input — thin builder for the data needed by * `registerCliCommands` after tool mounting. * * Extracted from the top-level composition root in `index.ts` (roadmap item 2) * to further reduce inline logic in the bootstrap sequencer. This follows the * same pattern as `build-per-run-scope.ts`. * * The host owns "pluginLayouts", "toolScaffolds", "sessionReplayRegistry", and * "toolCommandSpecs" preparation so the main entry point stays focused on * sequencing (registries, bootstrap, mounting, registration, dispatch). */ import { SessionReplayRegistry } from '../session-replay-registry.js'; import type { ToolScaffold } from '../commands/shared.js'; import type { CommandSpec, PluginLayout, ToolCliContext, ToolProvenance, ToolRegistry } from '@opensip-cli/core'; /** The structured input consumed by `registerCliCommands`. */ export interface CommandRegistrationInput { readonly pluginLayouts: readonly NonNullable[]; readonly toolScaffolds: readonly ToolScaffold[]; readonly sessionReplayRegistry: SessionReplayRegistry; readonly toolCommandSpecs: readonly CommandSpec[]; /** * Descriptor-driven names of the tools' `visibility: 'internal'` (Tier-3) * commands. The `completion` command filters these from its inventory — the * SAME source the `--help` hide pass keys on (tool-command-surface-taxonomy * Task 1.3), so completion and help stay in lockstep. */ readonly toolInternalCommands: ReadonlySet; /** Live tool registry — used for identity-aware plugin groups and session display. */ readonly tools: ToolRegistry; } /** * Collects the registry-derived data needed for CLI command registration. * Emits the ADR-0038 back-compat diagnostic for expected bundled tools that * are absent (this warning is intentionally loud when a bundled tool is * missing, as it affects `init` scaffolding). */ export declare function buildCommandRegistrationInput(registry: ToolRegistry, /** * ADR-0054 M4-F: the admitted-tool provenance + project cwd, threaded so the * session-replay registry gives an EXTERNAL tool a WORKER-backed `replaySession` * (its untrusted runtime never executes in the host). Bundled tools replay * in-host. Defaulted so the registry stays buildable without them (replay then * treats every tool as bundled — the pre-M4-F behavior). */ opts?: { readonly provenance?: readonly ToolProvenance[]; readonly cwd?: string; }): CommandRegistrationInput; //# sourceMappingURL=build-command-registration-input.d.ts.map