/**
 * The shell application — public surface.
 *
 * One import site for everything that turns a command line into a running agent:
 * the {@link main} entry point and the {@link buildBootContext} assembler, the
 * runner registry and its {@link selectRunner | selector}, the parser
 * ({@link tokenizeInvocation}) and its {@link Invocation} shape, the path/branding
 * {@link Locator}/{@link Brand}, the settings loader, the idempotent upgrade
 * runner, and the `auth` subcommand. A host embedding the shell — or a test
 * driving it — imports from here rather than reaching into submodules.
 */
export { main, buildBootContext, renderUsage, resolveVersion } from "./cli";
export type { CliStreams } from "./cli";
export { OneShotRunner, WireRunner, ReplRunner, TextView, RUNNERS, selectRunner, NoRunnerError, EndOfInput, } from "./runners";
export type { Runner, BootContext, AgentDeps, InteractiveView, } from "./runners";
export { Locator, BRAND, envName } from "./locate";
export type { Brand, LocatorOverrides } from "./locate";
export { tokenizeInvocation, FLAG_SPECS } from "./invocation/parse";
export type { Invocation, RunnerMode } from "./invocation/parse";
export type { FlagSpec, FlagValue, FlagKind } from "./invocation/flags";
export { loadSettings, resolveModelId, DEFAULT_SETTINGS } from "./config";
export type { Settings } from "./config";
export { applyUpgrades, UPGRADES } from "./upgrade";
export type { Upgrade } from "./upgrade";
export { runAuthCommand } from "./auth-cli";
export type { AuthIO } from "./auth-cli";
