From 3bd870bcba3197ebb5bbfe8ab71eeddb41474148 Mon Sep 17 00:00:00 2001 From: yie1d Date: Tue, 6 Jan 2026 16:37:45 +0800 Subject: [PATCH] refactor(generator): consolidate typing imports from typing_extensions - Move NotRequired and TypedDict imports from typing_extensions to typing module in command_generator.py - Move NotRequired and TypedDict imports from typing_extensions to typing module in event_generator.py - Move NotRequired and TypedDict imports from typing_extensions to typing module in type_generator.py - Move Literal import from typing_extensions to typing module in type_generator.py - Consolidate multiple import statements into single import line for better readability - Reduces dependency on typing_extensions by using Python 3.10+ standard library types --- cdp_use/generator/command_generator.py | 3 +-- cdp_use/generator/event_generator.py | 3 +-- cdp_use/generator/type_generator.py | 5 ++--- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/cdp_use/generator/command_generator.py b/cdp_use/generator/command_generator.py index 5dde7c8..efd4ddf 100644 --- a/cdp_use/generator/command_generator.py +++ b/cdp_use/generator/command_generator.py @@ -26,8 +26,7 @@ def generate_commands(self, domain: Dict[str, Any]) -> str: commands = domain.get("commands", []) # Always add basic imports - self.imports.add("from typing import Any, Dict, List, Optional, Union") - self.imports.add("from typing_extensions import NotRequired, TypedDict") + self.imports.add("from typing import Any, Dict, List, NotRequired, Optional, TypedDict, Union") # Start with auto-generated header content = """# This file is auto-generated by the CDP protocol generator. diff --git a/cdp_use/generator/event_generator.py b/cdp_use/generator/event_generator.py index d0de3e7..cdb90c3 100644 --- a/cdp_use/generator/event_generator.py +++ b/cdp_use/generator/event_generator.py @@ -26,8 +26,7 @@ def generate_events(self, domain: Dict[str, Any]) -> str: events = domain.get("events", []) # Always add basic imports - self.imports.add("from typing import Any, Dict, List, Optional, Union") - self.imports.add("from typing_extensions import NotRequired, TypedDict") + self.imports.add("from typing import Any, Dict, List, NotRequired, Optional, TypedDict, Union") # Start with auto-generated header content = """# This file is auto-generated by the CDP protocol generator. diff --git a/cdp_use/generator/type_generator.py b/cdp_use/generator/type_generator.py index 6e8273a..7adbf34 100644 --- a/cdp_use/generator/type_generator.py +++ b/cdp_use/generator/type_generator.py @@ -26,8 +26,7 @@ def generate_types(self, domain: Dict[str, Any]) -> str: types = domain.get("types", []) # Always add basic imports - self.imports.add("from typing import Any, Dict, List, Optional, Union") - self.imports.add("from typing_extensions import NotRequired, TypedDict") + self.imports.add("from typing import Any, Dict, List, NotRequired, Optional, TypedDict, Union") # First pass: collect all type names that will be defined in this domain for type_def in types: @@ -109,7 +108,7 @@ def generate_literal_type( enum_values = type_def["enum"] # Add Literal import - self.imports.add("from typing_extensions import Literal") + self.imports.add("from typing import Literal") content = ""