Parent
Parent PRD: #85
What to build
Implement blocking JavaScript dialog surfaces as the tracer-bullet path for the unified non-DOM surface model.
When a page action opens an alert, confirm, prompt, or beforeunload prompt, the action tool should return immediately with a blocking non_dom active layer instead of waiting for normal page stabilization. The returned state should expose the surface through normal snapshot control semantics: clearly prefixed synthetic element IDs, familiar kinds such as button/input/text, and surface metadata that identifies the JavaScript dialog context. Existing action tools should route synthetic IDs internally, so agents can click OK/Cancel controls and type prompt text without using a dedicated dialog tool.
Acceptance criteria
Blocked by
None - can start immediately
Parent
Parent PRD: #85
What to build
Implement blocking JavaScript dialog surfaces as the tracer-bullet path for the unified non-DOM surface model.
When a page action opens an alert, confirm, prompt, or beforeunload prompt, the action tool should return immediately with a blocking
non_domactive layer instead of waiting for normal page stabilization. The returned state should expose the surface through normal snapshot control semantics: clearly prefixed synthetic element IDs, familiar kinds such as button/input/text, and surface metadata that identifies the JavaScript dialog context. Existing action tools should route synthetic IDs internally, so agents can click OK/Cancel controls and type prompt text without using a dedicated dialog tool.Acceptance criteria
non_domlayer and synthetic controls instead of hanging.findcan discover synthetic dialog controls by label and kind.get_elementon a synthetic dialog control explains that it is a non-DOM surface control.Blocked by
None - can start immediately