(cause: unknown, toolName: string)
| 61 | }; |
| 62 | |
| 63 | const isUnknownToolCause = (cause: unknown, toolName: string): boolean => |
| 64 | // oxlint-disable-next-line executor/no-instanceof-tagged-error -- boundary: MCP SDK surfaces JSON-RPC protocol errors as this Error subclass |
| 65 | cause instanceof McpError && |
| 66 | (cause.code === ErrorCode.InvalidParams || cause.code === ErrorCode.MethodNotFound) && |
| 67 | // oxlint-disable-next-line executor/no-unknown-error-message -- boundary: instanceof narrows to the SDK's McpError, whose message carries the only unknown-tool discriminator the protocol provides |
| 68 | isUnknownToolMessage(cause.message, toolName); |
| 69 | |
| 70 | // --------------------------------------------------------------------------- |
| 71 | // Elicitation bridge — decode incoming MCP ElicitRequest, route through |
no test coverage detected