import type { JsonObject } from "../contracts/json-object.js"; import type { CanonicalJsonCodec } from "../adapters/canonical-json.js"; import type { FileSystem } from "../ports/filesystem.js"; import type { ProcessRunner } from "../ports/process-runner.js"; import type { GitClient } from "../ports/git.js"; import type { ToolContext, ToolDefinition } from "./context.js"; import type { McpToolResult } from "./receipt.js"; import type { RunCaptureConfig } from "./run-capture-config.js"; import type { RuntimeObservabilityState, ToolCallFootprintRegion } from "./runtime-observability.js"; import type { WorkspaceRouter, WorkspaceExecutionContext } from "./workspace-router.js"; import type { DaemonControlPlane } from "./daemon-control-plane.js"; import type { DaemonRepoOverview } from "./daemon-repos.js"; import type { DaemonJobScheduler } from "./daemon-job-scheduler.js"; import type { DaemonWorkerPool } from "./daemon-worker-pool.js"; import type { PersistentMonitorRuntime } from "./persistent-monitor-runtime.js"; import type { DaemonRuntimeDescriptor } from "./daemon-control-plane.js"; /** Dependencies injected by the composition root to build a ToolContext. */ export interface ToolContextDeps { readonly workspaceRouter: WorkspaceRouter; readonly fs: FileSystem; readonly codec: CanonicalJsonCodec; readonly processRunner: ProcessRunner; readonly git: GitClient; readonly runCapture: RunCaptureConfig; readonly observability: RuntimeObservabilityState; readonly daemonControlPlane: DaemonControlPlane | null; readonly daemonRepoOverview: DaemonRepoOverview | null; readonly daemonScheduler: DaemonJobScheduler | null; readonly daemonWorkerPool: DaemonWorkerPool | null; readonly monitorRuntime: PersistentMonitorRuntime | null; readonly daemonRuntime: () => DaemonRuntimeDescriptor; readonly getActiveExecutionContext: () => WorkspaceExecutionContext | null; readonly respond: (tool: ToolDefinition["name"], data: JsonObject) => McpToolResult; readonly recordFootprint: (entry: { readonly paths?: readonly string[]; readonly symbols?: readonly string[]; readonly regions?: readonly ToolCallFootprintRegion[]; }) => void; } /** * Builds the ToolContext object with lazy property getters that delegate * to the active WorkspaceExecutionContext (when inside a daemon-scheduled * tool call) or fall back to the WorkspaceRouter defaults. */ export declare function buildToolContext(deps: ToolContextDeps): ToolContext; //# sourceMappingURL=server-context.d.ts.map