Repository navigation
wally browser-use: a Rust browser agent that stops before payment #166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AmanSwar
wants to merge
171
commits into
main
Choose a base branch
from
feat/browser-use-eve
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
171 commits
Select commit
Hold shift + click to select a range
1ac439a
browser: ignore the local environment and caches
AmanSwar ff83e95
browser: pin Python 3.12
AmanSwar 5cb9592
browser: wally-browser package, browser-use pinned to 0.13.10
AmanSwar fcfe9dc
browser: lockfile
AmanSwar 7a1bcf1
browser: turn browser-use telemetry and cloud sync off before import
AmanSwar dbfcec3
browser: hard stops for payment, commit clicks, sensitive fields and …
AmanSwar c2b4dd8
browser: traveller profile that refuses payment data
AmanSwar 9f2c3d6
browser: compact element table, token estimate, regions for over 26
AmanSwar cc5b62a
browser: decision API client with retries and window refusals
AmanSwar a1938f4
browser: eve policy, one request per step with speculative targets
AmanSwar c42832e
browser: GLM for the plan and non-personal field text
AmanSwar 7994855
browser: dismiss confirm and beforeunload dialogs instead of accepting
AmanSwar 563813b
browser: narrowed and guarded browser-use actions, ask_user
AmanSwar 98f1ed5
browser: EveAgent, eve picks each step and page rules stop the run
AmanSwar 0a5ef76
browser: entry point Wally launches
AmanSwar 962a60d
browser: python -m wally_browser
AmanSwar 3d03a57
browser tests: package marker
AmanSwar 23c3e71
browser tests: hard stops
AmanSwar 76c8f23
browser tests: traveller profile
AmanSwar 65ff4b6
browser tests: policy limits, regions, value heads, client
AmanSwar c3c829d
browser tests: local travel site and an over-eager fake decision API
AmanSwar 24d15c1
browser tests: end to end in Chromium, stops at payment
AmanSwar 470c421
guards: pay words in any label part win, wider pay and card/OTP wording
AmanSwar db279c5
elements: guards read the unclipped full text
AmanSwar 90f3d2b
tools: guard every action at execute_action, refuse coordinate clicks
AmanSwar daf8f60
profile: a value goes only into a field whose label matches its kind
AmanSwar 443cfbd
agent: frames from this page, outcomes back to eve, model calls off t…
AmanSwar c420caa
run: step timeouts long enough for a person
AmanSwar 2ad6293
guard tests: the M1 review probes
AmanSwar bb942c1
tool tests: the guard survives re-registered actions
AmanSwar 107f6ba
agent rule tests: frames, outcomes, profile fields
AmanSwar f052f0f
browser-use: the command, models, session check and uv launch
AmanSwar 68f69cd
commands: register browser-use
AmanSwar c73f8e6
app: wire browser-use, hidden from help in this draft
AmanSwar e68a499
guards: normalised text, identifiers split, wider words, link and hel…
AmanSwar 3e05b31
elements: shadow-root text, head and tail, dialog context, card-numbe…
AmanSwar acfd59d
tools: confirm every click on checkout pages and in attach mode, live…
AmanSwar 1c0233f
profile: no profile value goes into a card, wallet or UPI form
AmanSwar b1b0b11
agent: guard context per page, breadth-first frames, tracked frames f…
AmanSwar 9d3538f
run: attach mode confirms every click and typed value
AmanSwar 92ad21d
e2e: the person confirms clicks on checkout pages
AmanSwar 9a30734
guard tests: the round-2 adversarial probes
AmanSwar a2d9abe
tests: capture a real page as a guard fixture
AmanSwar 8644e86
tests: real checkout and docs page fixtures (public pages, no persona…
AmanSwar 3d2c862
tests: guards against real page markup
AmanSwar 6d0f98a
guards: booking verbs, price buttons, money dialogs, whole-URL checko…
AmanSwar ff26ed2
elements: custom modals give context, eve's targets match the guard's…
AmanSwar 384c4df
tools: confirm everything once details are typed, dropdown options ch…
AmanSwar 52d3269
profile: no traveller details in others', marketing or misread fields
AmanSwar 0050996
agent: no profile values into third-party frames
AmanSwar c168d53
run: a fresh browser profile per run; a kept one confirms everything
AmanSwar 62cd3d7
e2e: confirmations after details are entered
AmanSwar d33f7fc
guard tests: the round-3 adversarial probes and structural rules
AmanSwar eb6a819
guards: values checked as well as fields, reservation pages are check…
AmanSwar 2203cfb
tools: refuse card, UPI and OTP values; confirm everything after a ha…
AmanSwar 8b0c368
agent: details-entered follows the value's source; no model guesses o…
AmanSwar 4a30e5f
guard tests: the round-4 adversarial probes
AmanSwar a4e2497
guards: checkout-mode signals (booking URLs, details forms), wider va…
AmanSwar fd8dce4
tools: sticky checkout mode, selects rated by the real option, prompt…
AmanSwar 72af848
agent: checkout mode sticks for the run; no model values that look pe…
AmanSwar 8bf8aa0
profile: numbered traveller slots are asked about
AmanSwar 5cf984a
guard tests: round-5 probes and checkout mode
AmanSwar d3ff73e
elements: an iframe with no src is still a frame
AmanSwar fb5ebe4
guards: OTP allow-list on whole words, 7-8 digit codes, card Luhn ove…
AmanSwar 3471475
profile: more ways of naming another traveller's slot
AmanSwar 2fa4ac5
tools: guard answers keep confirmation on, ARIA options resolved, no …
AmanSwar c13757b
agent: one details rule shared with the guards, one field per profile…
AmanSwar e27f33c
guard tests: round 4 uses the shared details rule
AmanSwar ac92b75
guard tests: the round-6 typing-path probes
AmanSwar 8d45a4b
browser-use: ship the python agent and stop the dock freeze, repeat a…
Siddhesh2377 19a0930
browser-use: keep the session open, send the page image, and reuse Ch…
Siddhesh2377 eed4610
browser-use: preserve Chrome on interrupt, cancel the agent when the …
coderabbitai[bot] 0c05baa
browser-use: run the jev loop on eve and leave the results tab open
Siddhesh2377 23cc6da
decisions: accept 255 options in a choice
Siddhesh2377 4f79304
ci: restore the swift checkout and the decisions contract
Siddhesh2377 0e7f22b
browser-use: stop before payment and reject a target every chunk refused
Siddhesh2377 782780e
browser-use: block charge and card fields without stopping a postal PIN
Siddhesh2377 92dacd4
browser: wally-browser package, browser-use pinned to 0.13.10
AmanSwar 8ac0fe6
browser: lockfile
AmanSwar 9c0fb3b
browser: turn browser-use telemetry and cloud sync off before import
AmanSwar 8d00f23
browser: hard stops for payment, commit clicks, sensitive fields and …
AmanSwar f32e50c
browser: traveller profile that refuses payment data
AmanSwar 27ac138
browser: compact element table, token estimate, regions for over 26
AmanSwar 97c133f
browser: decision API client with retries and window refusals
AmanSwar 76976d0
browser: eve policy, one request per step with speculative targets
AmanSwar b8904fb
browser: GLM for the plan and non-personal field text
AmanSwar 34b8a6b
browser: dismiss confirm and beforeunload dialogs instead of accepting
AmanSwar 1a6f7b4
browser: narrowed and guarded browser-use actions, ask_user
AmanSwar 21472af
browser: EveAgent, eve picks each step and page rules stop the run
AmanSwar 7b7d9d4
browser: entry point Wally launches
AmanSwar eebce5b
browser: python -m wally_browser
AmanSwar 4ea57c5
browser tests: hard stops
AmanSwar 7793656
browser tests: traveller profile
AmanSwar 4b4c824
browser tests: policy limits, regions, value heads, client
AmanSwar e7de635
browser tests: end to end in Chromium, stops at payment
AmanSwar 9e59540
guards: pay words in any label part win, wider pay and card/OTP wording
AmanSwar 2fa061d
elements: guards read the unclipped full text
AmanSwar efb1b93
tools: guard every action at execute_action, refuse coordinate clicks
AmanSwar 7391de9
profile: a value goes only into a field whose label matches its kind
AmanSwar faa3010
agent: frames from this page, outcomes back to eve, model calls off t…
AmanSwar c59b215
run: step timeouts long enough for a person
AmanSwar 4207277
guard tests: the M1 review probes
AmanSwar 5e8465d
tool tests: the guard survives re-registered actions
AmanSwar eb03c36
agent rule tests: frames, outcomes, profile fields
AmanSwar 588e58a
browser-use: the command, models, session check and uv launch
AmanSwar d5e2c6c
commands: register browser-use
AmanSwar faa6c37
guards: normalised text, identifiers split, wider words, link and hel…
AmanSwar d7dc853
elements: shadow-root text, head and tail, dialog context, card-numbe…
AmanSwar 2680ca4
tools: confirm every click on checkout pages and in attach mode, live…
AmanSwar 35cb6c7
profile: no profile value goes into a card, wallet or UPI form
AmanSwar 230a5a2
agent: guard context per page, breadth-first frames, tracked frames f…
AmanSwar 76d34dd
run: attach mode confirms every click and typed value
AmanSwar cc35f2b
e2e: the person confirms clicks on checkout pages
AmanSwar bc7d767
guard tests: the round-2 adversarial probes
AmanSwar 7562dfd
tests: capture a real page as a guard fixture
AmanSwar 7dc48f1
tests: guards against real page markup
AmanSwar 0ebfec6
guards: booking verbs, price buttons, money dialogs, whole-URL checko…
AmanSwar 35c5bd7
elements: custom modals give context, eve's targets match the guard's…
AmanSwar ed13e6d
tools: confirm everything once details are typed, dropdown options ch…
AmanSwar 83f79cd
profile: no traveller details in others', marketing or misread fields
AmanSwar a4c0db1
agent: no profile values into third-party frames
AmanSwar c7e23e1
run: a fresh browser profile per run; a kept one confirms everything
AmanSwar 8b2306a
e2e: confirmations after details are entered
AmanSwar 727d2a8
guard tests: the round-3 adversarial probes and structural rules
AmanSwar d113181
guards: values checked as well as fields, reservation pages are check…
AmanSwar 4791403
tools: refuse card, UPI and OTP values; confirm everything after a ha…
AmanSwar c93cb70
agent: details-entered follows the value's source; no model guesses o…
AmanSwar e017a1a
guard tests: the round-4 adversarial probes
AmanSwar ea81b67
guards: checkout-mode signals (booking URLs, details forms), wider va…
AmanSwar 027565d
tools: sticky checkout mode, selects rated by the real option, prompt…
AmanSwar 49c0cf5
agent: checkout mode sticks for the run; no model values that look pe…
AmanSwar 6479973
profile: numbered traveller slots are asked about
AmanSwar 8d4924a
guard tests: round-5 probes and checkout mode
AmanSwar d18bf46
elements: an iframe with no src is still a frame
AmanSwar 03f9df4
guards: OTP allow-list on whole words, 7-8 digit codes, card Luhn ove…
AmanSwar 57db96a
profile: more ways of naming another traveller's slot
AmanSwar 888981e
tools: guard answers keep confirmation on, ARIA options resolved, no …
AmanSwar 24f0c21
agent: one details rule shared with the guards, one field per profile…
AmanSwar cdb3bc6
guard tests: round 4 uses the shared details rule
AmanSwar 52c9666
guard tests: the round-6 typing-path probes
AmanSwar a54d9ec
browser-use: ship the python agent and stop the dock freeze, repeat a…
Siddhesh2377 57388cf
browser-use: keep the session open, send the page image, and reuse Ch…
Siddhesh2377 032de18
browser-use: preserve Chrome on interrupt, cancel the agent when the …
coderabbitai[bot] 9706972
browser-use: run the jev loop on eve and leave the results tab open
Siddhesh2377 b59b16e
decisions: accept 255 options in a choice
Siddhesh2377 7a64fbb
swift: pin the MLX host checkout to 0.20.39
Siddhesh2377 cd9b6af
ci: restore the swift checkout and the decisions contract
Siddhesh2377 a4fe995
browser-use: stop before payment and reject a target every chunk refused
Siddhesh2377 7bf80f8
browser-use: block charge and card fields without stopping a postal PIN
Siddhesh2377 d89dba2
rebase: keep main's sdk pin and chatgpt/codex modules
Siddhesh2377 7054e36
package: ship jev_ultrafast in the browser bottle
Siddhesh2377 f33fb7a
browser-use: see and click opacity-0 checkboxes and radios
Siddhesh2377 e047c9a
browser-use: deepseek text model, jev-latest on another gateway, Jev …
Siddhesh2377 8580bbf
contracts: generate the systemone binding and check it with the others
Siddhesh2377 5843833
browser-use: run the agent in Rust, with iframe, shadow DOM and patte…
Siddhesh2377 4a2e113
browser-use: ask a final round among each group's best when every gro…
Siddhesh2377 20b0583
browser-use: attach to the person's own Chrome through chrome://inspe…
Siddhesh2377 cb16b5b
browser-use: refuse commit buttons on money pages, type only where fo…
Siddhesh2377 6ed10dd
browser-use: select text in code and check focus right before typing,…
Siddhesh2377 ee3f16d
Merge pull request #231 from RunanywhereAI/feat/browser-use-rust
Siddhesh2377 b762c7f
browser-use: keep prompts and fixtures LF on Windows, wait for an att…
Siddhesh2377 4bef2ad
tests: pass SystemRoot to browser-use runs so Windows sockets initialise
Siddhesh2377 32891bb
tests: pass Windows system and temp dirs to browser-use runs; give /j…
Siddhesh2377 edf463b
browser-use: date inputs, payment forms in any language, inner scroll…
Siddhesh2377 f48ebd8
browser-use: judge pay and order buttons at any length, refuse card e…
Siddhesh2377 7f61837
tests: probe each loopback name for the test Chrome and stop the fake…
Siddhesh2377 86e549c
tests: send beacons synchronously and serve cross-origin frames from …
Siddhesh2377 e6d448d
browser-use: refuse expiry-style date fills by label and whenever a c…
Siddhesh2377 f46220a
Merge pull request #232 from RunanywhereAI/feat/browser-use-complex
Siddhesh2377 b5e576d
tests: fake model leaves an already-checked checkbox or radio alone
Siddhesh2377 77d8542
browser-use: fix review findings on guards, focus, selects, dates, go…
Siddhesh2377 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
P2: The free-form mapping loses the contract's allowed JSON kinds:
SystemOneStateand allSystemOneText*schemas reject null, but generatedfrom_jsonaccepts everyserde_json::Value. Preserve the allowed-kind validation, permitting null only forSystemOneGuidance.Prompt for AI agents