@@ -58,6 +58,8 @@ type Options struct {
5858	DisablePromptServer   bool 
5959	SystemToolsDir        string 
6060	Env                   []string 
61+ 	CredentialStore       string 
62+ 	CredentialToolsEnv    []string 
6163}
6264
6365func  Complete (opts  ... Options ) Options  {
@@ -73,8 +75,10 @@ func Complete(opts ...Options) Options {
7375		result .Quiet  =  types .FirstSet (opt .Quiet , result .Quiet )
7476		result .Workspace  =  types .FirstSet (opt .Workspace , result .Workspace )
7577		result .Env  =  append (result .Env , opt .Env ... )
78+ 		result .CredentialToolsEnv  =  append (result .CredentialToolsEnv , opt .CredentialToolsEnv ... )
7679		result .DisablePromptServer  =  types .FirstSet (opt .DisablePromptServer , result .DisablePromptServer )
7780		result .DefaultModelProvider  =  types .FirstSet (opt .DefaultModelProvider , result .DefaultModelProvider )
81+ 		result .CredentialStore  =  types .FirstSet (opt .CredentialStore , result .CredentialStore )
7882	}
7983
8084	if  result .Quiet  ==  nil  {
@@ -83,6 +87,9 @@ func Complete(opts ...Options) Options {
8387	if  len (result .Env ) ==  0  {
8488		result .Env  =  os .Environ ()
8589	}
90+ 	if  len (result .CredentialToolsEnv ) ==  0  {
91+ 		result .CredentialToolsEnv  =  result .Env 
92+ 	}
8693	if  len (result .CredentialContexts ) ==  0  {
8794		result .CredentialContexts  =  []string {credentials .DefaultCredentialContext }
8895	}
@@ -104,11 +111,15 @@ func New(ctx context.Context, o ...Options) (*GPTScript, error) {
104111		return  nil , err 
105112	}
106113
114+ 	if  opts .CredentialStore  !=  ""  {
115+ 		cliCfg .CredentialsStore  =  opts .CredentialStore 
116+ 	}
117+ 
107118	if  opts .Runner .RuntimeManager  ==  nil  {
108119		opts .Runner .RuntimeManager  =  runtimes .Default (cacheClient .CacheDir (), opts .SystemToolsDir )
109120	}
110121
111- 	simplerRunner , err  :=  newSimpleRunner (cacheClient , opts .Runner .RuntimeManager , opts .Env )
122+ 	simplerRunner , err  :=  newSimpleRunner (cacheClient , opts .Runner .RuntimeManager , opts .CredentialToolsEnv )
112123	if  err  !=  nil  {
113124		return  nil , err 
114125	}
0 commit comments