fix(mcp): satisfy strict lint for safe YAML loader

This commit is contained in:
Sisyphus 2026-10-04 18:08:21 +08:00
parent 45a3cbc33d
commit 771f3778d0

View file

@ -183,13 +183,14 @@ def _parse_openapi_spec(text: str) -> Mapping[str, Any]:
import yaml
class _NoMergeSafeLoader(yaml.SafeLoader):
def compose_node(self, parent: Any, index: Any) -> Any:
def compose_node(self, parent: object, index: object) -> object:
if self.check_event(yaml.events.AliasEvent):
raise yaml.YAMLError("YAML aliases are not supported")
return super().compose_node(parent, index)
def flatten_mapping(self, node: Any) -> None:
if any(key_node.tag == "tag:yaml.org,2002:merge" for key_node, _ in node.value):
def flatten_mapping(self, node: object) -> None:
node_values = getattr(node, "value", ())
if any(key_node.tag == "tag:yaml.org,2002:merge" for key_node, _ in node_values):
raise yaml.YAMLError("YAML merge keys are not supported")
super().flatten_mapping(node)