Repository navigation
feat(sidebar): Needs attention section and request_attention tool - #485
Open
andrebrait wants to merge 3 commits into
Open
andrebrait wants to merge 3 commits into
andrebrait wants to merge 3 commits into
Conversation
Sessions waiting on the user (an open blocking dialog, or the agent's request_attention marker newer than the last user message while idle) appear in a Needs attention section above Workspaces, grouped by host and workspace and sorted alphabetically. ompweb's omp build (runner/) gives every session it starts the request_attention tool.
A marker no longer counts once the agent made more tool calls; synthetic user messages do not clear it; a malformed marker from a remote daemon drops only that field. Adds component and link tests, the CHANGELOG upgrade note and a divider under the section.
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.
What
A Needs attention section above Workspaces lists the sessions that wait on the user, in the same host → workspace → session tree, rows and badges as Workspaces. It is hidden while empty, always alphabetical, and has no pin, reorder, sort, filter or add controls. Sessions stay in Workspaces too.
A session needs attention while either holds:
ask,confirm,select,input,editor,open_url): tool permission prompts, and omp-web's ownsend_to_session/new_sessionconfirmations. This uses theawaitingInputflag from feat(sidebar): mark sessions waiting for user input #461.runner/) gives every top-level session arequest_attention({ reason })tool (an SDKcustomToolsentry,loadMode: "essential"). It appends anomp-web-attentioncustom entry. The session list's tail scan reports it asSessionInfo.attentionwhile no real user message and no further agent tool call follows it, and the client shows it only while the session is not running. It persists in the session file, so it survives idle reaping and restarts.Design:
docs/specs/2026-11-13-attention-sidebar-design.md.Notes
attentionfield passes throughsessionEntry(lib/hosts/hub.ts); a malformed value drops only that field. Older daemons omit it, and older hubs strip it.Verification
npx tsc --noEmit -p .;bun test --parallel components/SessionSidebar*.test.mjs lib/session-reader.test.mjs lib/hosts/hub.test.mjs lib/i18n.test.mjs(163 pass); runnerbun test(29 pass, includesrunner/test/attention.test.ts).--tools,--no-tools, rpc-ui); the runner version is covered by the runner test but has not run against a live model.