You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a reply is stopped, or a tool call times out, AgentScope reports the call as interrupted or timed out. The work underneath often keeps running. I'm fixing this one layer at a time, each with its own issue and a small PR. #3048 makes the offload middleware cancel the running tool. #3076 makes a local Bash timeout or stop end the whole command.
MCP is next. When a stateful MCP call is stopped or times out, the server runs the tool to the end. The spec says a client should cancel a timed-out request, and notifications/cancelled is how it cancels. The mcp 1.x client never sends it, up to 1.30. After MCP come the sandbox backends. From the code, a timed-out command keeps running inside the sandbox, but I haven't run that yet.
Which of these two ways is preferred for the MCP part?
Send the cancel from the MCP tool adapter now. The 1.x SDK has no public way to get a request's id, so this reads the session's private _request_id. On 2.x that attribute is gone, so the code does nothing there.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
When a reply is stopped, or a tool call times out, AgentScope reports the call as interrupted or timed out. The work underneath often keeps running. I'm fixing this one layer at a time, each with its own issue and a small PR. #3048 makes the offload middleware cancel the running tool. #3076 makes a local Bash timeout or stop end the whole command.
MCP is next. When a stateful MCP call is stopped or times out, the server runs the tool to the end. The spec says a client should cancel a timed-out request, and
notifications/cancelledis how it cancels. The mcp 1.x client never sends it, up to 1.30. After MCP come the sandbox backends. From the code, a timed-out command keeps running inside the sandbox, but I haven't run that yet.Which of these two ways is preferred for the MCP part?
_request_id. On 2.x that attribute is gone, so the code does nothing there.Option 1 is my suggestion. It works with the mcp 1.x versions the project allows today, and it can be removed once #2216 lands.
All reactions