Skip to content

fix: #3004 serve HITL resume tool outputs#3006

Merged
seratch merged 1 commit into
mainfrom
fix/hitl-resume-tool-output-dedup
Apr 23, 2026
Merged

fix: #3004 serve HITL resume tool outputs#3006
seratch merged 1 commit into
mainfrom
fix/hitl-resume-tool-output-dedup

Conversation

@seratch
Copy link
Copy Markdown
Member

@seratch seratch commented Apr 23, 2026

This pull request fixes HITL resume handling for server-managed conversations when a single model response mixes approval-gated tool calls with non-approval tool calls. Previously, resume hydration could mark locally generated but unsent tool outputs as already acknowledged by the server, causing the resumed request to omit required function_call_output items and fail with "No tool output found".

This pull request resolves #3004.

Changes:

  • Tracks tool call IDs from the interrupted ProcessedResponse and treats matching local outputs as unsent during hydration.
  • Wires the non-streaming and streaming resume paths through the same helper.
  • Adds regression coverage for preserving the non-approval tool output alongside rejection outputs.

@seratch seratch added this to the 0.14.x milestone Apr 23, 2026
@github-actions github-actions Bot added bug Something isn't working feature:core labels Apr 23, 2026
@seratch seratch merged commit 16e0409 into main Apr 23, 2026
10 checks passed
@seratch seratch deleted the fix/hitl-resume-tool-output-dedup branch April 23, 2026 01:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working feature:core

Projects

None yet

Development

Successfully merging this pull request may close these issues.

HITL resume drops tool output when parallel calls mix approval-gated and non-approval tools

1 participant