/** * MCP-config scanner: plans physical targets from the capability catalog, * reads each physical file once, and emits one occurrence per declared server. * Shared targets remain shared observations; agent-native targets retain the * exact agent id whose private surface supplied the observation. * * Per-file partial failures (unreadable config, bad JSON, schema-incompatible * payload) become diagnostic warnings rather than errors. The error channel * stays empty. * * MCP config layout: * * ```json * { * "mcpServers": { * "": { ... } * } * } * ``` * * The scanner emits one occurrence per `` and captures each * record-shaped server payload for import/adoption flows. */ import * as Effect from "effect/Effect"; import type * as FileSystem from "effect/FileSystem"; import type * as Path from "effect/Path"; import type { AgentDescriptor, AgentId } from "../../../agents/types.js"; import type { Diagnostics } from "../diagnostics.js"; import type { Scope } from "../types.js"; import type { McpConfigOccurrence } from "./types.js"; /** * Inputs the live layer captures before invoking the scanner. The optional * `agentRegistry` mirrors the agent-dir scanner. */ export interface McpConfigScannerDeps { readonly fs: FileSystem.FileSystem; readonly path: Path.Path; readonly workspaceRoot: string; readonly scope: Scope; readonly diagnostics: Diagnostics; readonly agentRegistry?: Readonly>>; } /** * Closure helper: returns the dependency-closed scanner effect. */ export declare const makeMcpConfigScanner: (deps: McpConfigScannerDeps) => Effect.Effect>; //# sourceMappingURL=mcp-config.d.ts.map