fix: classify OMP tool-approval dialogs as live approvals
A blocked "Allow tool: bash" dialog classified as unknown - the omp branch of liveApprovalDetails only recognized the plan-review menu - so the push notification went out without the Approve action button. Detect the titled tool-approval box (unnumbered focus-marker rows, navigation footer). Options are the contiguous blank-delimited run of rows around the focus marker, so detail rows - Command: for bash, Path:/Content: for write/edit dialogs, wrapped values - never become phantom controls; a run not blank- or border-delimited above is refused outright, and the collected run must pass the same approvalLabels check as the numbered menus. The dialog's own Command: value (or its detail rows when there is none) is threaded through liveApprovalDetails rather than widening the shared commandPattern, so the claude/codex/qoder command extraction is untouched. A completed-turn line or more than a status block of trailing content below the box means it already scrolled into history and must not re-approve. Fixture omp-tool-approval.ansi is a raw capture of the live dialog.
J
James Christensen committed
fc38f49fac23bb123b0c71aed38e015cef998f78
Parent: 9584673
Committed by Christophe Vidal <christophe.vidal.1983@gmail.com>
on 8/29/2026, 6:31:38 AM