Repository navigation
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Provider errors such as
No tool output found for function call call_119are currently returned fromsession/promptas an ACP internal error. That ends the interaction as a protocol failure instead of reporting a failed turn that the user can recover from.Changes
end_turn, keeping the session available for another prompt.Regression coverage
Tests cover failures before any tool runs and while a tool is pending, including client-visible notifications, persisted results, preservation of completed tools, and a successful next turn on the same connection. A serializer regression covers ID suffix collisions with out-of-order concurrent outputs.
Validation
On this branch against current upstream
main:cargo test acp::service:: -- --test-threads=1— 58 passedcargo test aisdk::providers::openai::tests:: -- --test-threads=1— 53 passedcargo fmt --checkgit diff HEAD^ --checkbash scripts/check-aisdk-boundary.shAlso synced and pushed to
yan-ad/crabcode:yan-flavorasb802f87; the flavor branch passed 72 ACP tests, 53 OpenAI tests, and all 8 ACP stdio tests. This PR contains only the fix, not the unrelated flavor changes.