Skip to content

Commit 6a3fa19

Browse files
committed
fix: only complete CLI args when running gptscript
A previous change completed all the options, including setting defaults when running gptscripts. This caused issues with "no-op" defaults being set before they should have. This change will only complete the CLI args and wait for the remaining defaults to be set until all CLI args have be completed. Signed-off-by: Donnie Adams <[email protected]>
1 parent ac679cd commit 6a3fa19

File tree

3 files changed

+21
-20
lines changed

3 files changed

+21
-20
lines changed

pkg/gptscript/gptscript.go

+6-16
Original file line numberDiff line numberDiff line change
@@ -48,26 +48,20 @@ type Options struct {
4848
Env []string
4949
}
5050

51-
func complete(opts ...Options) (Options, error) {
52-
var (
53-
result Options
54-
err error
55-
)
56-
51+
func complete(opts ...Options) Options {
52+
var result Options
5753
for _, opt := range opts {
5854
result.Cache = cache.Complete(result.Cache, opt.Cache)
5955
result.Monitor = monitor.Complete(result.Monitor, opt.Monitor)
6056
result.Runner = runner.Complete(result.Runner, opt.Runner)
61-
result.OpenAI, err = openai.Complete(result.OpenAI, opt.OpenAI)
62-
if err != nil {
63-
return Options{}, err
64-
}
57+
result.OpenAI = openai.Complete(result.OpenAI, opt.OpenAI)
6558

6659
result.CredentialContext = types.FirstSet(opt.CredentialContext, result.CredentialContext)
6760
result.Quiet = types.FirstSet(opt.Quiet, result.Quiet)
6861
result.Workspace = types.FirstSet(opt.Workspace, result.Workspace)
6962
result.Env = append(result.Env, opt.Env...)
7063
}
64+
7165
if result.Quiet == nil {
7266
result.Quiet = new(bool)
7367
}
@@ -78,15 +72,11 @@ func complete(opts ...Options) (Options, error) {
7872
result.CredentialContext = "default"
7973
}
8074

81-
return result, nil
75+
return result
8276
}
8377

8478
func New(o ...Options) (*GPTScript, error) {
85-
opts, err := complete(o...)
86-
if err != nil {
87-
return nil, err
88-
}
89-
79+
opts := complete(o...)
9080
registry := llm.NewRegistry()
9181

9282
cacheClient, err := cache.New(opts.Cache)

pkg/openai/client.go

+8-2
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ type Options struct {
5858
Cache *cache.Client
5959
}
6060

61-
func Complete(opts ...Options) (result Options, err error) {
61+
func Complete(opts ...Options) (result Options) {
6262
for _, opt := range opts {
6363
result.BaseURL = types.FirstSet(opt.BaseURL, result.BaseURL)
6464
result.APIKey = types.FirstSet(opt.APIKey, result.APIKey)
@@ -69,6 +69,12 @@ func Complete(opts ...Options) (result Options, err error) {
6969
result.CacheKey = types.FirstSet(opt.CacheKey, result.CacheKey)
7070
}
7171

72+
return result
73+
}
74+
75+
func complete(opts ...Options) (Options, error) {
76+
var err error
77+
result := Complete(opts...)
7278
if result.Cache == nil {
7379
result.Cache, err = cache.New(cache.Options{
7480
DisableCache: true,
@@ -87,7 +93,7 @@ func Complete(opts ...Options) (result Options, err error) {
8793
}
8894

8995
func NewClient(credStore credentials.CredentialStore, opts ...Options) (*Client, error) {
90-
opt, err := Complete(opts...)
96+
opt, err := complete(opts...)
9197
if err != nil {
9298
return nil, err
9399
}

pkg/runner/runner.go

+7-2
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ func Complete(opts ...Options) (result Options) {
6464
result.Authorizer = opt.Authorizer
6565
}
6666
}
67+
return
68+
}
69+
70+
func complete(opts ...Options) Options {
71+
result := Complete(opts...)
6772
if result.MonitorFactory == nil {
6873
result.MonitorFactory = noopFactory{}
6974
}
@@ -76,7 +81,7 @@ func Complete(opts ...Options) (result Options) {
7681
if result.Authorizer == nil {
7782
result.Authorizer = DefaultAuthorizer
7883
}
79-
return
84+
return result
8085
}
8186

8287
type Runner struct {
@@ -91,7 +96,7 @@ type Runner struct {
9196
}
9297

9398
func New(client engine.Model, credStore credentials.CredentialStore, opts ...Options) (*Runner, error) {
94-
opt := Complete(opts...)
99+
opt := complete(opts...)
95100

96101
runner := &Runner{
97102
c: client,

0 commit comments

Comments
 (0)