fix kimi oauth token refresh
- commit
- 25a4cafb4e74c982c600206c5992b2a4ade9b0da
- author
- patriceckhart · · 2026-05-06 16:19 UTC
- parent
- 168941f
- signature
- unsigned
- refs
- tag: v0.1.58
2 files · +7 -3
M internal/agent/build.go +5 -1
| @@ -357,7 +357,11 @@ func (r Resolved) NewClient() provider.Client { | |||
| 357 | 357 | case "ollama": | |
| 358 | 358 | return provider.NewOpenAI(r.Credential, r.BaseURL) | |
| 359 | 359 | case "kimi": | |
| 360 | - | return provider.NewKimiWithHeaders(r.Credential, r.BaseURL, kimiCodeHeaders()) | |
| 360 | + | inner := provider.NewKimiWithHeaders(r.Credential, r.BaseURL, kimiCodeHeaders()) | |
| 361 | + | if r.AuthMethod == "oauth" { | |
| 362 | + | return r.wrapWithRefresh(inner) | |
| 363 | + | } | |
| 364 | + | return inner | |
| 361 | 365 | case "openai": | |
| 362 | 366 | if r.AuthMethod == "oauth" { | |
| 363 | 367 | inner := provider.NewOpenAICodex(r.Credential, r.AccountID, r.BaseURL) | |
| @@ -357,7 +357,11 @@ func (r Resolved) NewClient() provider.Client { | |||||
| 357 | case "ollama": | 357 | case "ollama": | ||
| 358 | return provider.NewOpenAI(r.Credential, r.BaseURL) | 358 | return provider.NewOpenAI(r.Credential, r.BaseURL) | ||
| 359 | case "kimi": | 359 | case "kimi": | ||
| 360 | - | return provider.NewKimiWithHeaders(r.Credential, r.BaseURL, kimiCodeHeaders()) | 360 | + | inner := provider.NewKimiWithHeaders(r.Credential, r.BaseURL, kimiCodeHeaders()) |
| 361 | + | if r.AuthMethod == "oauth" { | |||
| 362 | + | return r.wrapWithRefresh(inner) | |||
| 363 | + | } | |||
| 364 | + | return inner | |||
| 361 | case "openai": | 365 | case "openai": | ||
| 362 | if r.AuthMethod == "oauth" { | 366 | if r.AuthMethod == "oauth" { | ||
| 363 | inner := provider.NewOpenAICodex(r.Credential, r.AccountID, r.BaseURL) | 367 | inner := provider.NewOpenAICodex(r.Credential, r.AccountID, r.BaseURL) | ||
M internal/provider/openai.go +2 -2
| @@ -356,12 +356,12 @@ func (c *openaiClient) Stream(ctx context.Context, req Request) (<-chan Event, e | |||
| 356 | 356 | ||
| 357 | 357 | resp, err := c.http.Do(httpReq) | |
| 358 | 358 | if err != nil { | |
| 359 | - | return nil, fmt.Errorf("openai: %w", err) | |
| 359 | + | return nil, fmt.Errorf("%s: %w", c.Name(), err) | |
| 360 | 360 | } | |
| 361 | 361 | if resp.StatusCode != http.StatusOK { | |
| 362 | 362 | b, _ := io.ReadAll(resp.Body) | |
| 363 | 363 | resp.Body.Close() | |
| 364 | - | return nil, fmt.Errorf("openai: http %d: %s", resp.StatusCode, strings.TrimSpace(string(b))) | |
| 364 | + | return nil, fmt.Errorf("%s: http %d: %s", c.Name(), resp.StatusCode, strings.TrimSpace(string(b))) | |
| 365 | 365 | } | |
| 366 | 366 | ||
| 367 | 367 | out := make(chan Event, 16) | |
| @@ -356,12 +356,12 @@ func (c *openaiClient) Stream(ctx context.Context, req Request) (<-chan Event, e | |||||
| 356 | 356 | ||||
| 357 | resp, err := c.http.Do(httpReq) | 357 | resp, err := c.http.Do(httpReq) | ||
| 358 | if err != nil { | 358 | if err != nil { | ||
| 359 | - | return nil, fmt.Errorf("openai: %w", err) | 359 | + | return nil, fmt.Errorf("%s: %w", c.Name(), err) |
| 360 | } | 360 | } | ||
| 361 | if resp.StatusCode != http.StatusOK { | 361 | if resp.StatusCode != http.StatusOK { | ||
| 362 | b, _ := io.ReadAll(resp.Body) | 362 | b, _ := io.ReadAll(resp.Body) | ||
| 363 | resp.Body.Close() | 363 | resp.Body.Close() | ||
| 364 | - | return nil, fmt.Errorf("openai: http %d: %s", resp.StatusCode, strings.TrimSpace(string(b))) | 364 | + | return nil, fmt.Errorf("%s: http %d: %s", c.Name(), resp.StatusCode, strings.TrimSpace(string(b))) |
| 365 | } | 365 | } | ||
| 366 | 366 | ||||
| 367 | out := make(chan Event, 16) | 367 | out := make(chan Event, 16) | ||