strands-agents/sdk-python

[FEATURE] Resume Session from ToolUse

Opened this issue · 0 comments

Problem Statement

Today, if an agent session is interrupted with the latest message being a toolUse, then the session is essentially unrecoverable. This is because the recovery mechanism is unintuitive and we never direct users on how to recover a session in this case agent().

Proposed Solution

We allow the resumption of an agent with toolUse as the latest message by adding a toolResult error message to the agent. This will be a default behavior built into the existing conversation managers of strands, which will allow users to override this behavior if they decide to.

To do this, we will register conversation managers as hook providers on agents, and on the agentInvoke hook, we will fire this management code.

We will also need to scan the agent.messages and insert a toolResult wherever there is one missing.

Use Case

Agent session interrupted during a session where the latest message is a ToolUse.

Alternatives Solutions

No response

Additional Context

No response