Commit Graph

21 Commits

Author SHA1 Message Date
Nick Sweeting
b67be37490 fix type hint errors 2025-06-21 04:35:24 -07:00
Magnus Müller
0b6ebea431 Merge branch 'main' into mert/new_everything 2025-06-19 09:49:43 +02:00
yasithdev
8ea4b4c71a centralize playwright/patchwright imports, and update typing/checks to reduce lint errors 2025-06-16 22:57:20 -04:00
mertunsall
bcdc522ade Nuke it all 2025-05-31 17:30:21 +02:00
Nick Sweeting
6c05043e10 better comments 2025-05-23 18:23:18 -07:00
Nick Sweeting
6a19f29082 move SpecialActionParameters into views file 2025-05-23 18:21:19 -07:00
Nick Sweeting
6b8360c475 better logging 2025-05-22 23:17:21 -07:00
Nick Sweeting
96682d8910 switch back from patchright to playwright until issues are resolved 2025-05-09 18:14:07 -07:00
Nick Sweeting
2be4ba4f70 more pyupgrade changes 2025-05-02 20:50:21 +08:00
neo773
c5dc3d7cfa fix CSP, Shadow DOM & Migrate to Patchright 2025-04-02 07:05:39 +05:30
Nick Sweeting
5fa2e133b8 fix pydantic issue causing config to be overwritten 2025-03-30 14:38:12 -07:00
Nick Sweeting
f8f2eaa5b8 simplify domain and filter matching logic 2025-03-28 01:04:44 -07:00
Nick Sweeting
82adf4520d fix page filter and/or domain filtering logic 2025-03-27 23:48:01 -07:00
Nick Sweeting
5535a1ec0a update pydantic action models exposed to LLM on each page 2025-03-27 23:43:31 -07:00
Nick Sweeting
f941a5cec9 add support for filtering actions by func or domain globs 2025-03-27 19:04:17 -07:00
Nick Sweeting
22e544219c add domains list to RegisteredAction 2025-03-27 18:32:42 -07:00
magmueller
bef3b03da9 Extract always first content with llm and keep that extraction in context 2025-02-01 00:09:55 -08:00
magmueller
b3bbe45dad Fix if parameter is None 2025-01-07 07:08:15 -08:00
magmueller
519881a7b3 Rerun works 2024-11-28 21:10:25 +01:00
magmueller
e5d7dc2e3f Agent history tests included 2024-11-22 13:08:37 +01:00
Gregor Žunič
89c63fdd63 Added custom actions registry and fixed extraction layer (#20)
* Validator

* Test mind2web

* Cleaned up logger

* Pytest logger

* Cleaned up logger

* Disable flag for human input

* Multiple clicks per button

* Multiple clicks per button

* More structured system prompt

* Fields with description

* System prompt example

* One logger

* Cleaner logging

* Log step in step function

* Fix critical clicking error - wrong argument used

* Improved thought process of agent

* Improve system prompt

* Remove human input message

* Custome action registration

* Pydantic model for custom actions

* Pydantic model for custome output

* Runs through, model outputs functions, but not called yet

* Work in progress - description for custome actions

* Description works, but schema not yet

* Model can call the right action - but is not executed

* Seperate is_controller_action  and is_custom_action

* Works! Model can call custom function

* Use registry for action, but result is not feed back to model

* Include result in messages

* Works with custom function - but typing is not correct

* Renamed registry

* First test cases

* Captcha tests

* Pydantic for tests

* Improve prompts for multy step

* System prompt structure

* Handle errors like validation error

* Refactor error handling in agent

* Refactor error handling in agent

* Improved logging

* Update view

* Fix click parameter to index

* Simplify dynamic actions

* Use run instead of step

* Rename history

* Rename AgentService to Agent

* Rename ControllerService to Controller

* Pytest file

* Rename get state

* Rename BrowserService

* reversed dom extraction recursion to while

* Rename use_vision

* Rename use_vision

* reversed dom tree items and made browser less anoying

* Renaming and fixing type errors

* Renamed class names for agent

* updated requirements

* Update prompt

* Action registration works for user and controller

* Fix done call by returning ActionResult

* Fix if result is none

* Rename AgentOutput and ActionModel

* Improved prompt Passes 6/8 tests from test_agent_actions

* Calculate token cost

* Improve display

* Simplified logger

* Test function calling

* created super simple xpath extraction algo

* Tests logging

* tiny fixes to dom extraction

* Remove test

* Dont log number of clicks

* Pytest file

* merged per element js checks

* Check if driver is still open

* super fast processing

* fixed agent planning and stuff

* Fix example

* Fix example

* Improve error

* Improved error correction

* New line for step

* small type error fixes

* Test for pydantic

* Fix line

* Removed sample

* fixed readme and examples

---------

Co-authored-by: magmueller <mamagnus00@gmail.com>
2024-11-15 21:42:02 +01:00