import type { RunDevelopmentTuiInput } from "#cli/dev/tui/tui.js"; import type { DevelopmentServerHandle, DevelopmentServerOptions, ProductionServerHandle } from "#internal/nitro/host/types.js"; import type { AssistantResponseStatsMode, LogDisplayMode, TerminalPartDisplayMode, TuiDisplayOptions } from "#cli/dev/tui/types.js"; interface CliLogger { error(message: string): void; log(message: string): void; } interface DevelopmentCliOptions { assistantResponseStats?: AssistantResponseStatsMode; connectionAuth?: TerminalPartDisplayMode; contextSize?: number; host?: string; input?: string; logs?: LogDisplayMode; name?: string; port?: number; reasoning?: TerminalPartDisplayMode; subagents?: TerminalPartDisplayMode; tools?: TerminalPartDisplayMode; ui?: boolean; url?: string; } interface CliRuntimeDependencies { buildHost(appRoot: string): Promise; printApplicationInfo(logger: CliLogger, appRoot: string, options?: { json?: boolean; }): Promise; runDevelopmentTui(input: RunDevelopmentTuiInput): Promise; runEvalCommand(evalIds: readonly string[], options: EvalCliOptions, logger: CliLogger): Promise; startHost(appRoot: string, options?: DevelopmentServerOptions): Promise; startProductionHost(appRoot: string, options?: { host?: string; port?: number; }): Promise; } type CliRuntimeOverrides = Partial; interface EvalCliOptions { json?: boolean; junit?: string; list?: boolean; maxConcurrency?: string; skipReport?: boolean; strict?: boolean; tag?: string[]; timeout?: string; url?: string; verbose?: boolean; } /** * The interactive UI `eve dev` runs against a server. * * - `tui` — the default terminal UI. * - `headless` — no UI: just keep the server running (`--no-ui`, or a * non-interactive terminal). * * Exported for unit coverage of the flag-routing contract. */ export type DevUiMode = "tui" | "headless"; /** * Resolves which UI `eve dev` should run from the parsed flags and whether * the terminal is interactive. `--no-ui` and non-TTY terminals force * `headless`; otherwise the terminal UI runs. */ export declare function resolveDevUiMode(input: { options: Pick; interactive: boolean; }): DevUiMode; /** * Resolves the terminal UI's header title: an explicit `--name`, else the * remote server's host (for `--url`), else the humanized app-folder name * (e.g. `apps/fixtures/weather-agent` → "Weather Agent"). Returns `undefined` when * nothing meaningful can be derived, so the runner falls back to its own * default. */ export declare function resolveTuiTitle(input: { name: string | undefined; remoteServerUrl: string | undefined; appRoot: string; }): string | undefined; /** * Builds the terminal-UI display options for `eve dev`. Tools default to * `auto-collapsed`, reasoning to `full`, and stderr logs are visible so * long-running local sandbox work can report progress. */ export declare function resolveTuiDisplayOptions(options: DevelopmentCliOptions): TuiDisplayOptions; /** * Runs the eve CLI entrypoint. */ export declare function runCli(argv?: string[], logger?: CliLogger, runtime?: CliRuntimeOverrides): Promise; export {};