🦋 New version release - #462
Merged
Merged
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.
This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.
Releases
@smooai/smooth-operator@1.51.1
Patch Changes
f89f5a6: fix(dotnet): cancel discards a HITL-parked confirmation so the parked turn drops cleanly
Cancelling a turn parked at a write-confirmation (HITL) freed the slot and emitted
cancelledcorrectly, but left the parked
Tasklingering: the park awaits a bareTaskCompletionSource<bool>from
ConfirmationRegistry.Registerthat is NOT linked to the per-turn cancellation token, socancelling the CTS never completed that await. The parked task stayed alive (silently gagged by the
Cancelledflag) until the nextRegister/disconnect evicted its pending confirmation.FrameDispatcher.TryCancelActiveTurnnow discards the cancelled turn's pending confirmation(
_confirmations.Resolve(turn.SessionId, approved: false)) after cancelling the CTS, so the parkedawait unblocks immediately (resolves denied; the result is dropped because the sink is gagged and
_turnis already null). To reach the session id from the cancel path,ActiveTurnnow carries aSessionId, stamped where the turn is created inHandleSendMessageAsync. Mirrors the Rustreference dropping the confirmation future on
handle.abort(). No behavior change for a non-parkedcancel or the no-active-turn no-op. An xUnit parity test drives a turn to
write_confirmation_required,cancels it, and asserts
cancelledis emitted, a laterconfirm_tool_actionreturnsNO_PENDING_CONFIRMATION, the slot is freed, and no stray events leak from the abandoned turn.@smooai/smooth-operator-web-chat-example@0.0.87
Patch Changes