Repository navigation
Conversation
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.
Native
confirm()andprompt()dialogs are currently accepted automatically, so agents cannot cancel a confirmation or supply prompt input. This change leaves those dialogs pending and adds explicit status, accept and dismiss commands.Fixes #359.
bsk dialog status,bsk dialog accept [text]andbsk dialog dismiss, with optional tab selection and a dialog ID to reject stale decisions. Omitted prompt text preserves the default; an empty string clears it.alertandbeforeunloadby default.session start --no-auto-dialogleaves all four types pending, including a beforeunload choice to stay on the page.dialog_pendingpromptly when a dialog blocks a tool, including lifecycle waits. Dialog control can run while the session is busy and still enforces ownership and user interruption. Track the actual native command until it settles, preserve cleanup without replaying input, and handle manual closure, consecutive dialogs and debugger detach.The pending response ends the original CLI wait, not execution inside Chrome. Handling the dialog may resume the already-sent native operation; it is never replayed. The original evaluation return value is not recovered. Callers inspect the page afterwards and wait while
execution_pendingis true.Validation on the rebased branch:
cargo fmt --all -- --checkcargo clippy --workspace --all-targets --locked -- -D warningscargo test --workspace --lockedpnpm lintpnpm --filter @browser-skill/extension compilepnpm ext:testandpnpm ext:buildnode --test scripts/*.test.mjs, including LF/CRLF skill budget checksnode scripts/check-skill-bundles.mjsandnode scripts/check-crate-skill.mjsnode scripts/check-dsh-package.mjsagainst an actual npm archiveclick-dialogs.browser.test.tsandclick.browser.test.ts. The dialog cases are included by the existing CI glob.