(cause: unknown, toolName: string)
| 188 | }; |
| 189 | |
| 190 | const isUnknownToolCause = (cause: unknown, toolName: string): boolean => { |
| 191 | const sdk = mcpClientSdkIfLoaded(); |
| 192 | const protocolError = asProtocolError(cause); |
| 193 | return ( |
| 194 | sdk !== undefined && |
| 195 | protocolError !== undefined && |
| 196 | (protocolError.code === sdk.client.ProtocolErrorCode.InvalidParams || |
| 197 | protocolError.code === sdk.client.ProtocolErrorCode.MethodNotFound) && |
| 198 | // oxlint-disable-next-line executor/no-unknown-error-message -- boundary: the narrowing above reaches the SDK's ProtocolError, whose message carries the only unknown-tool discriminator the protocol provides |
| 199 | isUnknownToolMessage(protocolError.message, toolName) |
| 200 | ); |
| 201 | }; |
| 202 | |
| 203 | // --------------------------------------------------------------------------- |
| 204 | // Elicitation bridge — decode incoming MCP ElicitRequest, route through |
no test coverage detected