
Now that we've established a proper eval in tree, this PR is reboots of our agent loop back to a set of minimal tools and simpler prompts. We should aim to get this branch feeling subjectively competitive with what's on main and then merge it, and build from there. Let's invest in our eval and use it to drive better performance of the agent loop. How you can help: Pick an example, and then make the outcome faster or better. It's fine to even use your own subjective judgment, as our evaluation criteria likely need tuning as well at this point. Focus on making the agent work better in your own subjective experience first. Let's focus on simple/practical improvements to make this thing work better, then determine how we can craft our judgment criteria to lock those improvements in. Release Notes: - N/A --------- Co-authored-by: Max <max@zed.dev> Co-authored-by: Antonio <antonio@zed.dev> Co-authored-by: Agus <agus@zed.dev> Co-authored-by: Richard <richard@zed.dev> Co-authored-by: Max Brunsfeld <maxbrunsfeld@gmail.com> Co-authored-by: Antonio Scandurra <me@as-cii.com> Co-authored-by: Michael Sloan <mgsloan@gmail.com>
1.1 KiB
1.1 KiB
- Added RuntimeCommands import and WebElement to page.py
The changes add an import for
RuntimeCommands
andWebElement
topage.py
. Theexecute_js_script
method is renamed toexecute_script
and enhanced to support execution in the context of a WebElement. The method now usesRuntimeCommands
for script evaluation. - Refactored Runtime-related commands from DomCommands to new RuntimeCommands class
The changes move all Runtime-related command templates and methods from
DomCommands
indom.py
to a newruntime.py
file. This includesEVALUATE_TEMPLATE
,CALL_FUNCTION_ON_TEMPLATE
,GET_PROPERTIES
, and their associated methods. The DomCommands class now uses RuntimeCommands for JavaScript evaluation. - Added Scripts constants and enhanced WebElement functionality
The changes add a new
Scripts
class toconstants.py
containing JavaScript snippets for common operations. Theelement.py
file is significantly enhanced with new methods for script execution, visibility checking, and improved click handling. New exceptions are added toexceptions.py
for better error handling.