Skip to content

feat: add durable pending input to RunState - #4325

Merged
seratch merged 1 commit into
mainfrom
feat/durable-runstate-pending-input
Aug 9, 2026
Merged

seratch merged 1 commit into
mainfrom
feat/durable-runstate-pending-input

Conversation

@seratch

@seratch seratch commented Aug 9, 2026

Copy link
Copy Markdown
Member

This pull request adds durable pending input to resumable RunState instances through RunState.add_input(). Pending input is serialized with the state, admitted only immediately before the next model request after unfinished work completes, evaluated by input guardrails, and persisted exactly once across client-managed Sessions and server-managed conversations.

It also checkpoints accepted model responses and tool execution progress so retries do not resend pending input or replay completed side effects. Streaming and non-streaming resume paths share the same behavior, while terminal states and states that cannot reach another model call reject new input before mutation.

This pull request resolves #4323.

@seratch seratch added this to the 0.20.x milestone Aug 9, 2026
@seratch
seratch merged commit 7bf73af into main Aug 9, 2026
10 checks passed
@seratch
seratch deleted the feat/durable-runstate-pending-input branch August 9, 2026 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support durable pending input on resumable RunState

1 participant