@@ -58,6 +58,8 @@ type Options struct {
58
58
DisablePromptServer bool
59
59
SystemToolsDir string
60
60
Env []string
61
+ CredentialStore string
62
+ CredentialToolsEnv []string
61
63
}
62
64
63
65
func Complete (opts ... Options ) Options {
@@ -73,8 +75,10 @@ func Complete(opts ...Options) Options {
73
75
result .Quiet = types .FirstSet (opt .Quiet , result .Quiet )
74
76
result .Workspace = types .FirstSet (opt .Workspace , result .Workspace )
75
77
result .Env = append (result .Env , opt .Env ... )
78
+ result .CredentialToolsEnv = append (result .CredentialToolsEnv , opt .CredentialToolsEnv ... )
76
79
result .DisablePromptServer = types .FirstSet (opt .DisablePromptServer , result .DisablePromptServer )
77
80
result .DefaultModelProvider = types .FirstSet (opt .DefaultModelProvider , result .DefaultModelProvider )
81
+ result .CredentialStore = types .FirstSet (opt .CredentialStore , result .CredentialStore )
78
82
}
79
83
80
84
if result .Quiet == nil {
@@ -83,6 +87,9 @@ func Complete(opts ...Options) Options {
83
87
if len (result .Env ) == 0 {
84
88
result .Env = os .Environ ()
85
89
}
90
+ if len (result .CredentialToolsEnv ) == 0 {
91
+ result .CredentialToolsEnv = result .Env
92
+ }
86
93
if len (result .CredentialContexts ) == 0 {
87
94
result .CredentialContexts = []string {credentials .DefaultCredentialContext }
88
95
}
@@ -104,11 +111,15 @@ func New(ctx context.Context, o ...Options) (*GPTScript, error) {
104
111
return nil , err
105
112
}
106
113
114
+ if opts .CredentialStore != "" {
115
+ cliCfg .CredentialsStore = opts .CredentialStore
116
+ }
117
+
107
118
if opts .Runner .RuntimeManager == nil {
108
119
opts .Runner .RuntimeManager = runtimes .Default (cacheClient .CacheDir (), opts .SystemToolsDir )
109
120
}
110
121
111
- simplerRunner , err := newSimpleRunner (cacheClient , opts .Runner .RuntimeManager , opts .Env )
122
+ simplerRunner , err := newSimpleRunner (cacheClient , opts .Runner .RuntimeManager , opts .CredentialToolsEnv )
112
123
if err != nil {
113
124
return nil , err
114
125
}
0 commit comments