Merge pull request #22 from adamdottv/adam/retries

fix(anthropic): better 429/529 handling
This commit is contained in:
Kujtim Hoxha
2025-04-08 20:32:57 +02:00
committed by GitHub
10 changed files with 312 additions and 157 deletions

View File

@@ -15,6 +15,8 @@ import (
"github.com/kujtimiihoxha/termai/internal/llm/provider"
"github.com/kujtimiihoxha/termai/internal/llm/tools"
"github.com/kujtimiihoxha/termai/internal/message"
"github.com/kujtimiihoxha/termai/internal/pubsub"
"github.com/kujtimiihoxha/termai/internal/tui/util"
)
type Agent interface {
@@ -92,9 +94,24 @@ func (c *agent) processEvent(
assistantMsg.AppendContent(event.Content)
return c.Messages.Update(*assistantMsg)
case provider.EventError:
// TODO: remove when realease
log.Println("error", event.Error)
c.App.Status.Publish(pubsub.UpdatedEvent, util.InfoMsg{
Type: util.InfoTypeError,
Msg: event.Error.Error(),
})
return event.Error
case provider.EventWarning:
c.App.Status.Publish(pubsub.UpdatedEvent, util.InfoMsg{
Type: util.InfoTypeWarn,
Msg: event.Info,
})
return nil
case provider.EventInfo:
c.App.Status.Publish(pubsub.UpdatedEvent, util.InfoMsg{
Type: util.InfoTypeInfo,
Msg: event.Info,
})
case provider.EventComplete:
assistantMsg.SetToolCalls(event.Response.ToolCalls)
assistantMsg.AddFinish(event.Response.FinishReason)