rohitg00/ai-engineering-from-scratch · error · RuntimeError
{peer.name}: modern discovery omitted resultType
Error message
{peer.name}: modern discovery omitted resultType What it means
Error "{peer.name}: modern discovery omitted resultType" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/13-tools-and-protocols/08-building-an-mcp-client/code/main.py:346
transport=transport,
allow_legacy=allow_legacy,
)
@staticmethod
def _send(
peer: Peer,
message: dict[str, Any],
timeout_ms: int | None = None,
) -> dict[str, Any] | None:
return peer.transport(message, timeout_ms)
def _mutual_version(self, advertised: list[Any]) -> str | None:
common = [version for version in advertised if version in self.supported_modern]
return sorted(common, reverse=True)[0] if common else None
def _activate_modern(self, peer: Peer, result: dict[str, Any], version: str) -> None:
if result.get("resultType") != "complete":
raise RuntimeError(f"{peer.name}: modern discovery omitted resultType")
peer.era = "modern"
peer.protocol_version = version
peer.capabilities = result.get("capabilities", {})
peer.server_info = result.get("_meta", {}).get(SERVER_INFO_KEY, {})
peer.available = True
def _probe_legacy(self, peer: Peer, trigger: str) -> None:
if not peer.allow_legacy:
raise RuntimeError(
f"{peer.name}: {trigger}; legacy compatibility is not allowlisted"
)
request_id = self._new_id()
initialize = legacy_request(
request_id,
"initialize",
{
"protocolVersion": self.supported_legacy[0],
"capabilities": self.client_capabilities.copy(),View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/13-tools-and-protocols/08-building-an-mcp-client/code/main.py:346 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26).
Data as JSON: /api/errors/f142f8c8745972d6.
Report an issue: GitHub.