import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'; import type { McpConfig } from '../types.js'; export interface WorkspaceScope { /** Resolve a client's workspace before a tool uses a local directory. Single-flight and retryable. */ prepare: () => Promise; } export interface WorkspaceScopeOptions { server: McpServer; cfg: McpConfig; /** Retire the previous session, replace its executor and rediscover the project's marker. */ select: (dir: string) => Promise; }