export type WorkspaceSource = "explicit" | "legacy_roots" | "env" | "knowledge_rail_marker" | "project_marker" | "cwd"; export interface WorkspaceResolution { root: string; source: WorkspaceSource; } export interface WorkspaceResolverOptions { /** Highest-priority application-level override. */ explicitRoot?: string | null; /** Optional legacy MCP Roots provider. Omit it for modern 2026-07-28 sessions. */ legacyRootProvider?: () => Promise; /** Override for tests/configuration. `null` explicitly disables WIKI_ROOT. */ envRoot?: string | null; /** Override for tests. Defaults to process.cwd(). */ cwd?: string; /** Enable safe upward project discovery instead of the v3 cwd fallback. */ automaticDiscovery?: boolean; } export interface LegacyRootsCapableServer { server: { listRoots(): Promise<{ roots: Array<{ uri: string; }>; }>; }; } /** * Resolve a project workspace without mutating global application state. * * Precedence is deliberately backward-compatible with v3 when a legacy Roots * provider is supplied: explicit override -> legacy MCP Roots -> WIKI_ROOT -> cwd. * Modern MCP sessions omit `legacyRootProvider`, yielding explicit -> WIKI_ROOT -> cwd. */ export declare function resolveWorkspace(options?: WorkspaceResolverOptions): Promise; export declare function activateWorkspace(resolution: WorkspaceResolution): WorkspaceResolution; export declare function resolveAndActivateWorkspace(options?: WorkspaceResolverOptions): Promise; /** * Compatibility adapter for pre-2026 MCP clients exposing Roots. * Keep MCP-specific behavior here so the core path layer remains protocol-agnostic. */ export declare function resolveLegacyMcpWorkspace(server: LegacyRootsCapableServer, options?: Omit): Promise; //# sourceMappingURL=workspace.d.ts.map