Repository navigation
jev-browser-wingman 0.3.1
jev-browser-wingman 0.3.1
This release fixes a privacy gap and makes wingman finish more steps without handing them back to the agent.
Privacy fix
In 0.3.0, a value was redacted only during the call that supplied it. If a later call mentioned that value in its step text, or the page showed it, the value reached the log and the decision service unredacted. The wingman_check tool redacted nothing at all.
Now the server remembers every value it is handed while it runs, except true, false and anything under 4 characters. It redacts all of them on every call, including wingman_check calls and the common percent-encoded spellings of a value. The memory is held only in memory and keeps the 1,024 most recently handed values. It starts empty when the server restarts.
Fewer hand-backs
Wingman now recognises more steps that already succeeded, so it hands fewer of them back to the agent:
- a click that changed the page without leaving it;
- a field that was filled again;
- a wait that ended once the page changed;
- a hover that visibly changed the page.
When a "back" landed on a page that still lacks the target, wingman now takes a second "back". A new rule also lets a key press go ahead when the decision service is split between "no element" and the focused field. That rule applies only when the step names the key.
One duplicate-entry bug is fixed. It happened when the agent picked a field to press Enter in while wingman was still on the "type" step just before the press. Wingman now runs the pick on the press step once the field holds the text, so the text is no longer entered twice.
The tool description now tells the agent how to write steps: one action on one page per step, controls named as the page labels them, and one route per step. To return to a page, the agent opens it by name.
Benchmark
These are the same 17 tasks as 0.3.0: each ran twice with wingman and twice with Playwright alone, for 68 runs. The table is from the build before the final todo-app fix.
| wingman 0.3.1 | Playwright alone | |
|---|---|---|
| Runs completed | 33 of 34 | 32 of 34 |
| Median cost per run | $0.124 | $0.176 |
| Total cost, 34 runs | $4.02 | $5.52 |
| Median time per run | 12.0 s | 12.7 s |
Wingman was cheaper on 15 of 17 tasks. Calls that ended by handing a step back fell from 32 in the 0.3.0 run to 7. The tool description also changed between the two runs, so part of that drop may come from the new step-writing guidance.
The one wingman miss was the todo app, which entered an item twice. We then ran the todo task 4 more times on the final build, and all 4 passed. Both Playwright misses were the file-upload task.
With two runs per task, read the differences as indicative, not statistically established. Costs are token use at list prices, not billing.
Upgrade
npm install -g jev-browser-wingman@0.3.1