diff options
| author | Dax Raad <[email protected]> | 2025-06-05 14:59:07 -0400 |
|---|---|---|
| committer | Dax Raad <[email protected]> | 2025-06-05 14:59:16 -0400 |
| commit | db2bb32bcf0c3fdc8ede5530946e85a852448679 (patch) | |
| tree | 31f81b89cd8ed7b642a09e25fcb0a2a4b1c0e6bb /packages/tui/internal/app | |
| parent | 1384a5e3e69522001571980f147a5aa0d985f895 (diff) | |
| download | opencode-db2bb32bcf0c3fdc8ede5530946e85a852448679.tar.gz opencode-db2bb32bcf0c3fdc8ede5530946e85a852448679.zip | |
integrate with models.dev
Diffstat (limited to 'packages/tui/internal/app')
| -rw-r--r-- | packages/tui/internal/app/app.go | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/packages/tui/internal/app/app.go b/packages/tui/internal/app/app.go index d4b59c0b9..9ce5c2a66 100644 --- a/packages/tui/internal/app/app.go +++ b/packages/tui/internal/app/app.go @@ -43,18 +43,24 @@ func New(ctx context.Context, httpClient *client.ClientWithResponses) (*App, err appInfoResponse, _ := httpClient.PostAppInfoWithResponse(ctx) appInfo := appInfoResponse.JSON200 - providersResponse, _ := httpClient.PostProviderListWithResponse(ctx) + providersResponse, err := httpClient.PostProviderListWithResponse(ctx) + if err != nil { + return nil, err + } providers := []client.ProviderInfo{} var defaultProvider *client.ProviderInfo var defaultModel *client.ProviderModel - for _, provider := range *providersResponse.JSON200 { - if provider.Id == "anthropic" { - defaultProvider = &provider - - for _, model := range provider.Models { - if model.Id == "claude-sonnet-4-20250514" { + for i, provider := range providersResponse.JSON200.Providers { + if i == 0 || provider.Id == "anthropic" { + defaultProvider = &providersResponse.JSON200.Providers[i] + if match, ok := providersResponse.JSON200.Default[provider.Id]; ok { + model := defaultProvider.Models[match] + defaultModel = &model + } else { + for _, model := range provider.Models { defaultModel = &model + break } } } @@ -63,12 +69,6 @@ func New(ctx context.Context, httpClient *client.ClientWithResponses) (*App, err if len(providers) == 0 { return nil, fmt.Errorf("no providers found") } - if defaultProvider == nil { - defaultProvider = &providers[0] - } - if defaultModel == nil { - defaultModel = &defaultProvider.Models[0] - } appConfigPath := filepath.Join(appInfo.Path.Config, "tui.toml") appConfig, err := config.LoadConfig(appConfigPath) @@ -296,7 +296,7 @@ func (a *App) ListProviders(ctx context.Context) ([]client.ProviderInfo, error) } providers := *resp.JSON200 - return providers, nil + return providers.Providers, nil } // IsFilepickerOpen returns whether the filepicker is currently open |
