Repository navigation
fix: post OMP ask questions to the room instead of aborting the turn - #795
Open
bandzalkin wants to merge 10 commits into
Open
bandzalkin wants to merge 10 commits into
bandzalkin wants to merge 10 commits into
Conversation
OMP's ask tool reached the adapter as select/editor prompts it could only cancel, and OMP treats a cancelled ask as the user interrupting the turn, so any model call to ask aborted the whole prompt and failed the room message. Each session now opts into OMP's structured ask dialog. An ask posts its questions, options and recommendation to the room, mentioning the requester; the post is the turn's reply. Every question is answered at once with an acknowledgement, and the participant's reply resumes the same native session as the next message. A failed post is reported to the model instead; a room the platform stopped still ends the turn. The RPC client also stops admitting host-tool and UI callbacks once shutdown begins, since cleanup can no longer cancel them and they could still post.
bandzalkin
force-pushed
the
feat/omp-room-ask
branch
from
October 15, 2026 13:12
b507a79 to
de52cbf
Compare
This branch has not been deployed
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.
Why
Every OMP turn that used OMP's built-in
asktool was aborted. Without the structured ask dialog,askreaches the host asselect/editorUI requests, whichOmpAdaptercan only cancel. OMP treats a cancelledaskas the user interrupting the turn (prompt_result: aborted), so the room got "Internal error while processing message" and the message was marked failed. This happened in production when a model calledaskalongsideband_send_message.What
askis now answered through the room, using the same turn split as Copilot'sask_user="room". Band processes a room's messages one at a time, so the turn cannot block waiting for the answer._open_roomsendsset_ask_dialog {enabled: true}and fails startup if OMP refuses. OMP ≥ 18.8.9, the documented minimum, supports it.askrequest goes toOmpAdapter._ask_room. It posts the questions, options, descriptions and recommendation to the room throughdeliver_reply, mentioning the requester, and that post is the turn's reply. Each question is answered immediately withcustomInputtext telling the model the answer arrives as a later message. The participant's reply resumes the same native session.RoomExecutionStoppedError) still ends the turn.OmpAskQuestion,OmpAskOptionandOmpAskAnswer, plusOmpUIRequest.questionsandOmpUIResponse.answers.recommendedaccepts any number, matching OMP's schema.OmpRpcClient._start_callbackrefuses new host-tool and UI callbacks. Before, a callback arriving after cleanup ran with no owner and could still post to the room.docs/acp.mddocuments the behavior.Scope
_execute_tool, from fix(integrations): preserve native OMP lifecycle and prompt authority #763) raises an unscopedRoomExecutionStoppedError, the model still gets an error result and the turn does not end. This PR doesn't change that.askcalls from OMP subagents get no special handling.