import { type RemoteMCPToolSourceConfig, type RemoteToolSource } from "../../tool/index.js"; import type { AgentConfig } from "../types.js"; import type { ToolExecutionContext } from "../../tool/index.js"; import type { SourceIntegrationPolicyManifest } from "../../integrations/source-policy.js"; import { type VeryfrontCloudBootstrap } from "../../platform/cloud/resolver.js"; export type RuntimeRemoteToolConfig = { __vfRemoteToolSources?: RemoteToolSource[]; __vfAllowedRemoteTools?: string[]; __vfSourceIntegrationPolicy?: SourceIntegrationPolicyManifest; }; /** Canonical source id for the Veryfront API MCP server. */ export declare const VERYFRONT_API_MCP_SOURCE_ID = "veryfront-platform-mcp"; /** Canonical source id for the Veryfront Studio MCP server. */ export declare const VERYFRONT_STUDIO_MCP_SOURCE_ID = "studio-mcp"; /** Return explicitly selected boolean tools that still need a remote provider. */ export declare function getRequestedUnresolvedBooleanToolNames(input: { tools: AgentConfig["tools"]; agentId?: string; availableToolNames?: readonly string[]; }): string[]; /** Carry an explicit remote-tool ceiling into nested execution. */ export declare function constrainRuntimeRemoteToolSources(sources: RemoteToolSource[] | undefined, allowedToolNames: string[] | undefined): RemoteToolSource[] | undefined; /** * Keep inherited remote sources attached to the credential owner that * introduced them while preserving nested call-local context. * * Remote authorization and nested runtime telemetry are intentionally * separate: the remote call is attributed to the run-scoped credential * owner, while the delegate continues to emit its own child-run lifecycle * and tool-call events. */ export declare function bindRuntimeRemoteToolSourcesToCredentialOwner(sources: RemoteToolSource[] | undefined, context: ToolExecutionContext): RemoteToolSource[] | undefined; export type RuntimeMcpServerToolSourceDependencies = { createRemoteToolSource?: (config: RemoteMCPToolSourceConfig) => RemoteToolSource; getVeryfrontBootstrap?: () => VeryfrontCloudBootstrap; }; /** Bind a remote tool source to one server-selected project identity. */ export declare function bindRemoteToolSourceToProject(source: RemoteToolSource, projectId: string): RemoteToolSource; /** Return remote tool sources for direct agent runtime config. */ export declare function getRuntimeRemoteToolSources(config: AgentConfig, dependencies?: RuntimeMcpServerToolSourceDependencies, agentId?: string | undefined): RemoteToolSource[] | undefined; //# sourceMappingURL=mcp-server-tool-sources.d.ts.map