From 4529235c045074a14375727883f6ed52a1651d4e Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Tue, 16 Dec 2025 14:47:58 -0300 Subject: [PATCH] fix: check if token is expired before sending the request (#1641) Signed-off-by: Carlos Alexandro Becker --- internal/agent/coordinator.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/agent/coordinator.go b/internal/agent/coordinator.go index 14f3cf6562865b3f492e263c24fb69f8d96c0c87..5690b1311a4fd0d0290277d01e734b17ab3d2a66 100644 --- a/internal/agent/coordinator.go +++ b/internal/agent/coordinator.go @@ -132,6 +132,13 @@ func (c *coordinator) Run(ctx context.Context, sessionID string, prompt string, mergedOptions, temp, topP, topK, freqPenalty, presPenalty := mergeCallOptions(model, providerCfg) + if providerCfg.OAuthToken != nil && providerCfg.OAuthToken.IsExpired() { + slog.Info("Token needs to be refreshed", "provider", providerCfg.ID) + if err := c.refreshOAuth2Token(ctx, providerCfg); err != nil { + return nil, err + } + } + run := func() (*fantasy.AgentResult, error) { return c.currentAgent.Run(ctx, SessionAgentCall{ SessionID: sessionID,