53 lines
2.0 KiB
Plaintext
53 lines
2.0 KiB
Plaintext
--- internal/config/store.go
|
|
+++ internal/config/store.go
|
|
@@ -16,6 +16,7 @@
|
|
"github.com/charmbracelet/crush/internal/env"
|
|
"github.com/charmbracelet/crush/internal/lock"
|
|
"github.com/charmbracelet/crush/internal/oauth"
|
|
+ "github.com/charmbracelet/crush/internal/oauth/claude"
|
|
"github.com/charmbracelet/crush/internal/oauth/copilot"
|
|
"github.com/charmbracelet/crush/internal/oauth/hyper"
|
|
"github.com/tidwall/gjson"
|
|
@@ -470,6 +471,8 @@
|
|
providerConfig.APIKey = v.AccessToken
|
|
providerConfig.OAuthToken = v
|
|
switch providerID {
|
|
+ case string(catwalk.InferenceProviderAnthropic):
|
|
+ providerConfig.SetupClaudeCode()
|
|
case string(catwalk.InferenceProviderCopilot):
|
|
providerConfig.SetupGitHubCopilot()
|
|
}
|
|
@@ -596,7 +599,10 @@
|
|
slog.Info("Successfully refreshed OAuth token", "provider", providerID)
|
|
providerConfig.OAuthToken = refreshedToken
|
|
providerConfig.APIKey = refreshedToken.AccessToken
|
|
- if providerID == string(catwalk.InferenceProviderCopilot) {
|
|
+ switch providerID {
|
|
+ case string(catwalk.InferenceProviderAnthropic):
|
|
+ providerConfig.SetupClaudeCode()
|
|
+ case string(catwalk.InferenceProviderCopilot):
|
|
providerConfig.SetupGitHubCopilot()
|
|
}
|
|
cfg.Providers.Set(providerID, providerConfig)
|
|
@@ -638,6 +644,8 @@
|
|
return s.exchangeToken(ctx, providerID, refreshToken)
|
|
}
|
|
switch providerID {
|
|
+ case string(catwalk.InferenceProviderAnthropic):
|
|
+ return claude.RefreshToken(ctx, refreshToken)
|
|
case string(catwalk.InferenceProviderCopilot):
|
|
return copilot.RefreshToken(ctx, refreshToken)
|
|
case hyperp.Name:
|
|
@@ -662,7 +670,10 @@
|
|
func (s *ConfigStore) applyToken(providerConfig ProviderConfig, token *oauth.Token, providerID string) error {
|
|
providerConfig.OAuthToken = token
|
|
providerConfig.APIKey = token.AccessToken
|
|
- if providerID == string(catwalk.InferenceProviderCopilot) {
|
|
+ switch providerID {
|
|
+ case string(catwalk.InferenceProviderAnthropic):
|
|
+ providerConfig.SetupClaudeCode()
|
|
+ case string(catwalk.InferenceProviderCopilot):
|
|
providerConfig.SetupGitHubCopilot()
|
|
}
|
|
s.Config().Providers.Set(providerID, providerConfig)
|