#!/usr/bin/env node import type { WorkspaceSource } from './core/git-utils.js'; export declare function showHelp(): void; /** * Every flag the CLI accepts, and whether it takes a value. Single source of * truth: the valid-flag list, the boolean reads, the `--flag=value` rejection * set (requirement 1.17) and the project-path filter are all derived from this * map, so a boolean flag cannot be registered in one place and forgotten in * the others. A hand-written boolean list came up short here once already — * `--dashboard=true` was accepted, read as `false`, and became the project * path, silently flipping the run mode. * * Boolean flags are read by exact string match and therefore MUST be rejected * in `--flag=value` form. Merely stripping the `=value` would be worse: the * reads are exact-string matches, so `--no-workspace-inference=true` would be * removed from the path position and read as `false` — silently discarding the * opt-out whose entire purpose is escaping a bad inference. Failing loudly is * the only outcome that does not mislead. */ declare const CLI_FLAGS: { readonly '--dashboard': "boolean"; readonly '--help': "boolean"; readonly '-h': "boolean"; readonly '--no-open': "boolean"; readonly '--no-shared-worktree-specs': "boolean"; readonly '--no-workspace-inference': "boolean"; readonly '--port': "value"; }; type CliFlag = keyof typeof CLI_FLAGS; type BooleanFlag = { [K in CliFlag]: (typeof CLI_FLAGS)[K] extends 'boolean' ? K : never; }[CliFlag]; type ValueFlag = { [K in CliFlag]: (typeof CLI_FLAGS)[K] extends 'value' ? K : never; }[CliFlag]; /** Exported so tests enumerate the boolean flags from the registry, not by hand. */ export declare const BOOLEAN_FLAGS: readonly BooleanFlag[]; /** Exported for the same reason as `BOOLEAN_FLAGS`: the path filter must drop a * value flag *and its value* without anyone remembering to name it there. */ export declare const VALUE_FLAGS: readonly ValueFlag[]; export declare function parseArguments(args: string[]): { workspacePath: string; workflowRootPath: string; expandedPath: string; isDashboardMode: boolean; noSharedWorktreeSpecs: boolean; noWorkspaceInference: boolean; workspaceSource: WorkspaceSource; port?: number; lang?: string; noOpen?: boolean; }; /** * The single workspace-resolution emission (requirement 1.18). One event * produces one log: these are mutually exclusive arms of a chain rather than * independent blocks, so an inferred workspace does not print alongside the * worktree notice it almost always implies, and the final arm carries the * paths for the ordinary case so no run emits them twice or not at all. * * It takes the **settled** roots — the values in force once `initialize` has * had its say. Emitting before `initialize` would be emitting a claim that * `validateInferredWorkspace` can still overturn, and a later correction would * put two contradictory `workspacePath=` lines on stderr. Its single MCP-mode * call site therefore sits in a `finally`, which reaches both outcomes with one * emission; when `initialize` throws, the caller reads the settled roots off the * server, which assigns them before anything else there can fail, so the * throwing path reports the same truth as the returning one. */ export declare function logWorkspaceResolution(resolution: { workspacePath: string; workflowRootPath: string; source: WorkspaceSource; noSharedWorktreeSpecs: boolean; noWorkspaceInference: boolean; }): void; export declare function resolveEntrypoint(pathValue: string | undefined): string | undefined; export {}; //# sourceMappingURL=index.d.ts.map