app_drive_dialogs
Drive UI dialogs reactively by reading and classifying each screen, pressing the right button or stopping for human input. Dry-run previews decisions before allowing confirmation or commit presses.
Instructions
Answer dialogs reactively until none is left.
The reactive driver, which existed but was reachable only through the one wizard tool that used it. It reads whatever is on screen, classifies it, decides a press from that, and repeats. There is no scripted sequence, so a dialog appearing in a different order, or not at all, is handled rather than breaking a plan.
IT STOPS RATHER THAN GUESSING on a dialog it cannot classify,
and on anything that needs a human. dry_run is the DEFAULT:
it reports every decision and presses nothing, which is how to
see what a sequence would do before letting it.
THE TWO GATES ARE SEPARATE ON PURPOSE. allow_confirm answers
a yes/no question that moves an operation along;
allow_commit permits the press that changes the design.
Named for their consequences, because a caller reaching for one
rarely means the other.
Args: intent: "proceed" to carry the operation forward, or "cancel" to back out of whatever is open. allow_commit: permit the design-changing press. allow_confirm: permit answering a confirmation. dry_run: decide and report, press nothing. Default True. wait_first: seconds to wait for the first dialog, since a caller fires a command and then drives. budget: seconds before giving up on a wedged editor.
Returns:
Every observation and decision, plus committed,
stopped_for_a_human and why it finished.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| budget | No | ||
| intent | No | proceed | |
| dry_run | No | ||
| wait_first | No | ||
| allow_commit | No | ||
| allow_confirm | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||