@@ -54,9 +54,6 @@ def __init__(self, name: str, adapter: EnvironmentAdapter):
5454 """
5555 self .adapter = adapter
5656
57- # For backward compatibility, keep single-session support
58- self .env , self .obs , _info = self ._new_env ()
59-
6057 # Multi-session support
6158 self .sessions = (
6259 {}
@@ -74,20 +71,6 @@ def __init__(self, name: str, adapter: EnvironmentAdapter):
7471 self ._register_resources ()
7572 self ._register_tools ()
7673
77- def _new_env (self , seed : Optional [int ] = None ) -> Tuple [Any , Any , Dict ]:
78- """Create new environment and return initial state."""
79- if hasattr (self .adapter , "create_environment_with_seed" ):
80- env , obs , info = self .adapter .create_environment_with_seed (
81- self .adapter .get_default_config (), seed = seed
82- )
83- else :
84- env = self .adapter .create_environment (self .adapter .get_default_config ())
85- obs , info = self .adapter .reset_environment (env , seed = seed )
86- return env , obs , info
87-
88- def _render (self , obs ) -> Dict [str , Any ]:
89- """Format observation using subclass implementation."""
90- return self .format_observation (obs , self .env )
9174
9275 def _register_resources (self ):
9376 """Register standard MCP resources."""
@@ -250,28 +233,6 @@ def _get_or_create_session(self, ctx: Context) -> Dict[str, Any]:
250233
251234 return self .sessions [session_id ]
252235
253- def extract_seed_from_context (self , ctx : Context ) -> Optional [int ]:
254- """
255- Extract seed from MCP client info if available.
256-
257- NOTE: This method is kept for backward compatibility. New code should use
258- _get_or_create_session() which handles seed extraction automatically.
259- """
260- if hasattr (ctx , "session" ) and hasattr (ctx .session , "client_params" ):
261- client_params = ctx .session .client_params
262- if hasattr (client_params , "clientInfo" ):
263- client_info = client_params .clientInfo
264- if client_info and hasattr (client_info , "_extra" ):
265- extra_data = client_info ._extra
266- if extra_data and isinstance (extra_data , dict ):
267- seed = extra_data .get ("seed" )
268- if seed is not None :
269- print (f"🌱 Reinitializing with seed from client: { seed } " )
270- self .env , self .obs , _info = self ._new_env (seed = seed )
271- return seed
272-
273- return None
274-
275236 # Abstract methods that subclasses must implement
276237
277238 @abstractmethod
@@ -293,4 +254,4 @@ def run(self, transport: str = "streamable-http", **kwargs):
293254 print ("🔗 Initial state resource: game://initial_state" )
294255
295256 # Run the server
296- self .mcp .run (transport = transport , ** kwargs )
257+ self .mcp .run (transport = transport , ** kwargs )
0 commit comments