Files
openclaw/src/plugins/types.mcp-connection.ts
T
Ayaan Zaidi 7d99de8e32 refactor(mcp): split session runtime modules for the LOC ratchet
Mechanical: manager, combined facade, install path, lifecycle, config
loading, and resolver types move to focused modules; the runtime facade
re-exports its prior surface so importers are unchanged. Deletes dead
tools-barrel re-exports flagged by check-dependencies. No behavior
change.
2026-07-14 17:09:53 +05:30

44 lines
1.6 KiB
TypeScript

/** Plugin-owned MCP server connection resolver contracts. */
/**
* Trusted runtime identity for per-requester MCP connection resolution.
* Only host-provided fields; plugins must not invent sender identity.
* Future trusted fields (for example cron/subagent user context) can be added additively.
*/
export type McpServerConnectionResolveContext = {
/** Trusted message sender id. Required; runs without one fail closed. */
requesterSenderId: string;
/** Channel account id that received the message. */
agentAccountId?: string;
/** Message channel id (for example telegram or slack). */
messageChannel?: string;
};
/** Transport connection resolved for one requester-scoped MCP server. */
export type McpServerConnectionResolved = {
url: string;
/** Per-user credentials; never logged, fingerprinted, or persisted by core. */
headers?: Record<string, string>;
};
/**
* Plugin-owned connection resolver for a statically declared MCP server.
* Server name/tool surface stay static; only the transport is requester-bound.
*/
export type OpenClawPluginMcpServerConnectionResolver = {
/** Server name matching `mcp.servers` / bundle MCP declaration. */
serverName: string;
resolve: (
ctx: McpServerConnectionResolveContext,
) => McpServerConnectionResolved | null | Promise<McpServerConnectionResolved | null>;
};
/** Registry entry for a plugin MCP server connection resolver. */
export type PluginMcpServerConnectionResolverRegistration = {
pluginId: string;
pluginName?: string;
resolver: OpenClawPluginMcpServerConnectionResolver;
source: string;
rootDir?: string;
};