feat(browser): support local-only screenshots - #122
Conversation
ee058d8 to
2543d59
Compare
|
Thanks Magnus — the need here is real and not promptable away, which puts it in a different category from #112/#119. An agent genuinely cannot opt out of screenshot attachment today, and its only escapes are worse ( We're taking a different route for it in #124 — documentation of a real CDP mechanism rather than new surface. Reasoning below, plus one finding from your implementation that's worth knowing regardless. Why not the CDP param
That matters more than usual here because the skill actively teaches the agent that its CDP priors are valid: "The full surface (652 commands) is the Chrome DevTools Protocol", and "For unknown param shapes, call with The bug worth knowing aboutIndependent of the design question: the opt-out is carried by object identity. The Proxy destructures Any future change that clones or normalizes params — a retry, a param validator, a logging pass — silently breaks it, and it breaks in the direction of attaching the screenshot you asked to keep private. Worth avoiding that pattern generally: correlate on data, not on pointer identity, especially when the failure mode is a silent privacy/context leak rather than an error. Also, Why not a tool parameter eitherThat was our first counter-proposal and we talked ourselves out of it. What we did insteadThe tap subscribes to #124 documents that in Verified against Chrome 150 Closing in favor of #124. The default stays auto-attach — you were right that it's the common case and it saves a |
Summary
attachToContext?: falsetoPage.captureScreenshotcalls insidebrowser_executeTest plan
browser-execute.test.tsagainst local headless Chrome: 8 passedbun typecheckfrompackages/bcode-browser