11import os
2- from typing import Mapping , Self
2+ from typing import Self
33
44
55class GlobalOptions :
@@ -12,7 +12,7 @@ def __init__(
1212 defaultModelProvider : str = "" ,
1313 defaultModel : str = "" ,
1414 cacheDir : str = "" ,
15- env : Mapping [ str , str ] = None ,
15+ env : list [ str ] = None ,
1616 ):
1717 self .URL = url
1818 self .Token = token
@@ -22,9 +22,10 @@ def __init__(
2222 self .DefaultModelProvider = defaultModelProvider
2323 self .CacheDir = cacheDir
2424 if env is None :
25- env = os .environ
26- env_list = [f"{ k } ={ v } " for k , v in env .items ()]
27- self .Env = env_list
25+ env = [f"{ k } ={ v } " for k , v in os .environ .items ()]
26+ elif isinstance (env , dict ):
27+ env = [f"{ k } ={ v } " for k , v in env .items ()]
28+ self .Env = env
2829
2930 def merge (self , other : Self ) -> Self :
3031 cp = self .__class__ ()
@@ -37,7 +38,8 @@ def merge(self, other: Self) -> Self:
3738 cp .DefaultModel = other .DefaultModel if other .DefaultModel != "" else self .DefaultModel
3839 cp .DefaultModelProvider = other .DefaultModelProvider if other .DefaultModelProvider != "" else self .DefaultModelProvider
3940 cp .CacheDir = other .CacheDir if other .CacheDir != "" else self .CacheDir
40- cp .Env = (other .Env or []).extend (self .Env or [])
41+ cp .Env = (other .Env or [])
42+ cp .Env .extend (self .Env or [])
4143 return cp
4244
4345 def toEnv (self ):
@@ -76,7 +78,7 @@ def __init__(self,
7678 defaultModel : str = "" ,
7779 cacheDir : str = "" ,
7880 ):
79- super ().__init__ (url , token , apiKey , baseURL , defaultModelProvider , defaultModel , cacheDir )
81+ super ().__init__ (url , token , apiKey , baseURL , defaultModelProvider , defaultModel , cacheDir , env )
8082 self .input = input
8183 self .disableCache = disableCache
8284 self .subTool = subTool
@@ -87,7 +89,6 @@ def __init__(self,
8789 self .credentialOverrides = credentialOverrides
8890 self .credentialContexts = credentialContexts
8991 self .location = location
90- self .env = env
9192 self .forceSequential = forceSequential
9293
9394 def merge_global_opts (self , other : GlobalOptions ) -> Self :
@@ -104,6 +105,5 @@ def merge_global_opts(self, other: GlobalOptions) -> Self:
104105 cp .credentialOverrides = self .credentialOverrides
105106 cp .credentialContexts = self .credentialContexts
106107 cp .location = self .location
107- cp .env = self .env
108108 cp .forceSequential = self .forceSequential
109109 return cp
0 commit comments