| """SQLEnv server components.""" | |
| # TypedDict compat shim — MUST run before any openenv-core import. | |
| # openenv-core defines Message as typing.TypedDict. Pydantic 2.x rejects | |
| # typing.TypedDict on Python < 3.12 and crashes when SQLState (which has | |
| # list[Message]) is constructed. The shim in sql_env/__init__.py runs too | |
| # late under the uvicorn `server.app:app` entry point used by HF Spaces, | |
| # because server/sql_environment.py imports openenv-core before anything | |
| # touches sql_env. | |
| import sys as _sys | |
| if _sys.version_info < (3, 12): | |
| import typing as _typing | |
| import typing_extensions as _typing_extensions | |
| _typing.TypedDict = _typing_extensions.TypedDict # type: ignore[attr-defined] | |
| from .sql_environment import SQLEnvironment | |
| __all__ = ["SQLEnvironment"] | |