Repository navigation
Hold modifier keys on agent tap and double tap - #430
Merged
Merged
Conversation
The agent's tap and double_tap tools take a modifiers list on an engine that declares TapModifiers, as upstream's tools do on an engine that declares tapModifiers. The web engine holds the keys through Playwright. The held keys are recorded in the trace and replayed from the cache. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KWUdrjfarTEM4dmBbK6GaV
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01KWUdrjfarTEM4dmBbK6GaV
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.
The agent could not hold a key while it clicked, so it could not Shift-click to extend a selection or Control-click to toggle one item. Now
tapanddouble_tap, inactand over MCP, take an optionalmodifierslist (Shift,Control,Alt,Meta,ControlOrMeta) on an engine that declares the newTapModifierscapability, which the web engine does. The held keys are recorded in the trace and replayed from the cache. Custom executors seeTarget.TapModifiersand passClickOptionstoTapAsyncandDoubleTapAsync..NET-only:
KeyModifier,KeyModifiers(upstream'sKEY_MODIFIERSandisKeyModifier),ClickOptions,EngineCapabilities.TapModifiers,RecordedAction.HasValidModifiers, and the testChromium_holds_the_modifiers_of_a_tap_the_agent_sends. Not ported:right_clickandsecondaryTap(no engine has them), so the four upstreamits that name it are partial: "offers modifiers...", "keeps modifiers out of the vocabulary...", "threads modifiers through..." (noright_click, schemas not closed), and "rejects a trace whose modifiers are malformed..." (a storednullreads as none). "Says what keys a tap held" runs throughDefaultAgent.Describe.Closes #399
🤖 Generated with Claude Code
https://claude.ai/code/session_01KWUdrjfarTEM4dmBbK6GaV