-
Notifications
You must be signed in to change notification settings - Fork 348
[dev] [tofikwest] feat/browser-automation-ui #3417
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
github-actions
wants to merge
162
commits into
main
Choose a base branch
from
feat/browser-automation-ui
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
162 commits
Select commit
Hold shift + click to select a range
df9ebd4
feat(api): add credential-backed auto re-login for browser automations
tofikwest d641a32
feat(app): capture vendor login credentials in the connect flow
tofikwest 2c766e7
feat(app): redesign browser-automation first-time setup screen
tofikwest b882b09
feat(app): use split-card layout for browser-automation setup screen
tofikwest e7d6356
feat(api): detect vendor login methods to power smart connect
tofikwest 84da388
feat(app): smart connect flow (analyze -> sign in -> capture)
tofikwest bfe819b
feat(app): group automations by connection with per-connection status
tofikwest de0ffad
feat: capture arbitrary extra login fields (workspace, subdomain, etc.)
tofikwest cc92e10
fix(api): degrade login analysis to manual when Browserbase is unavai…
tofikwest b0500b9
chore(api): log full error/stack when login analysis falls back to ma…
tofikwest 83bc850
fix(app): require a real login URL in connect flow; clearer 'no form …
tofikwest 0aeb37a
feat(browserbase): run vendor login analysis as a background task
tofikwest 15a3778
fix(app): accept any vendor URL in connect flow, not the exact login …
tofikwest 0b35e71
fix(app): resume vendor connect flow after navigation; static https p…
tofikwest a3e7967
fix(app): render detected login methods as proper labels (SSO, not Sso)
tofikwest d452299
feat(browserbase): sign in for the user from a chooser instead of a r…
tofikwest f7fdd0a
fix(app): move "how it works" to the left on the browser automations …
tofikwest ee8ff41
fix(app): drop the redundant "detected" panel once the method chooser…
tofikwest a4c62ce
fix(app): declutter sign-in details form with progressive disclosure
tofikwest 54351f0
fix(app): give the live sign-in browser more room; calmer message whe…
tofikwest 83bc9ee
docs(api): clarify OP_SERVICE_ACCOUNT_TOKEN — what it enables and whe…
tofikwest 27aafab
feat(browserbase): classify why an automated sign-in couldn't complete
tofikwest 383c072
feat(browserbase): watch the automated sign-in and take over in place
tofikwest bbb09b2
fix(browserbase): fill each sign-in field in its own action
tofikwest eece6f2
fix(app): keep the browser open on any sign-in failure instead of a t…
tofikwest e524153
fix(app): don't act on a stale run result when starting a new sign-in
tofikwest c9d08e4
fix(app): guide 2FA take-over to the authenticator code (passkeys can…
tofikwest 6d85e40
fix(app): keep the 2FA take-over hint vendor-neutral
tofikwest 0fcdcf5
fix(app): warn up front when a vendor only offers non-unattended sign-in
tofikwest 3d2cc9c
fix(app): drop the "what we detect" placeholder panel from the connec…
tofikwest 832b6ce
feat(app): show who's in control of the live sign-in browser
tofikwest ec9a50b
feat(app): narrate the automated sign-in in real time
tofikwest 621ddb8
feat(app): redesign the live sign-in as an activity panel (design 1b)
tofikwest 4cdb6a7
feat(browserbase): manage connections — edit and remove (design 1f)
tofikwest 32eb90f
fix(app): don't show a fresh evidence task as already connected
tofikwest e976f2f
fix(app): taller live browser; connected copy points to the next step
tofikwest 327361a
feat(app): "Browser evidence" section — 1n header + 3-step empty state
tofikwest 4333622
feat(app): restructure browser evidence active view into connection +…
tofikwest 51708ab
feat(app): add run-history strip and run-detail overlay to browser ev…
tofikwest 056a286
feat(api): live test-run for browser instructions before saving
tofikwest d4fc19f
feat(app): split composer — write, watch the AI test it live, then save
tofikwest 660b013
feat(app): edit instruction cadence inline; remove old config dialog
tofikwest 5aa4a0e
test(api): use a valid failure code in the instruction-test spec
tofikwest 830b712
fix(api): capture the browser at 1920x1080 for a sharper live view
tofikwest 9363db2
feat(app): gentle success beat when a connection signs in
tofikwest 72866b0
feat(app): make the pass/fail check first-class with example chips
tofikwest b33a447
fix(app): bind new instructions to the just-connected vendor; align a…
tofikwest 60ec0a7
fix(api): stop re-login from misreading a successful sign-in as failed
tofikwest 84a4b2d
feat(app): enlarge the test-run live view to fill its panel
tofikwest 431f409
fix(api): don't call a login page a "session expired"
tofikwest dd5d20c
feat(app): clean up the connection chip and frame the pass/fail check
tofikwest 321ce5b
fix(api): give test runs more time and nudge the agent to be efficient
tofikwest e0a1b73
feat(app): align the first field with the live view and clarify copy
tofikwest 4f2f13c
feat(api): make the navigation model swappable and let it self-correct
tofikwest 336c766
feat(api): default navigation to OpenAI's computer-use model
tofikwest 28e4450
feat(api): fall back to Claude at runtime if the navigation model fails
tofikwest b790b30
feat(api): default navigation to GPT-5.6 Terra
tofikwest d719dfd
fix(api): capture the named item and judge the check against that target
tofikwest 9255728
fix(app): align the instruction field with the live view top
tofikwest befaea6
feat(app): drop the manual "start from a specific page" option
tofikwest 5717f2a
feat: target the authenticated home so runs reuse the session
tofikwest f81d436
fix(api): capture the full page so evidence has no empty gap
tofikwest 741569d
feat(app): one flow after connect, and support multiple vendors
tofikwest 21b669c
fix(app): stop offering passkey as a sign-in method
tofikwest 8f61e84
feat: drive SSO up to the identity provider automatically
tofikwest 527d7a0
feat(app): smart one-click reconnect for expired connections
tofikwest d54c8e8
feat(api): render human-facing sign-in at a smaller viewport for legi…
tofikwest aa7f6bf
feat(app): animated activity border showing who's driving the live view
tofikwest 780fa3a
fix(app): make the activity border visible and stop it lagging
tofikwest 30f493b
fix(api): reduce vendor-page motion so the live view stops looking laggy
tofikwest 759b335
fix(app): make the activity border render reliably via inline styles
tofikwest 4316d9d
feat(app): show the activity border only while the AI is driving
tofikwest 834355d
feat(app): implement the "breathing glow" AI control ring
tofikwest 21891d8
fix(app): soften the AI control ring
tofikwest fbe749b
feat(app): add the "AI is controlling" pill to the control ring
tofikwest ceda7d5
feat(app): show a "Your turn" pill when the user is driving
tofikwest 159768c
fix(app): drop the ring border and fix the sign-in method chooser
tofikwest e7eb4db
fix(app): fade the control ring in instead of popping it in
tofikwest 66daf49
fix(app): confirm before discarding an in-progress live sign-in
tofikwest ec2e5fe
fix(app): show the control ring on browser load and hug the view
tofikwest 447fe8c
fix(app): drop the control-ring glow, keep the status pill
tofikwest eec7be9
feat(app): add the Browser Connections settings page
tofikwest 919e1d2
feat: count automations per browser connection
tofikwest 2e8985e
feat(db): add browser automation steps schema
tofikwest f9800c0
feat(api): store browser automations as ordered steps
tofikwest eb5a2ef
feat(api): run browser automations step by step
tofikwest e545c5b
feat(app): carry automation steps through the app types and hooks
tofikwest eca49ee
feat(app): multi-step (multi-vendor) automation composer
tofikwest 86b1bb0
fix(app): guard the composer against a missing connections prop
tofikwest 421072c
fix(app): tidy the step card — hostname label, single-step chrome, sp…
tofikwest 586c412
feat(db): add BrowserAutomationDraft schema
tofikwest e51b880
feat(api): browser automation draft endpoints
tofikwest ad2a5d8
feat(app): autosave + resume browser automation drafts
tofikwest 0f9ff77
feat(app): automation-centric evidence list with vendor chains (desig…
tofikwest 28709ea
fix(app): make the connect flow resume from anywhere on refresh
tofikwest feb3da9
fix(app): tighten the step-card type scale to fit the compact composer
tofikwest 4451998
fix(app): shrink the step-card connection picker to match
tofikwest 5968c73
feat: capture a focused close-up beside the full-page evidence (optio…
tofikwest c9390a8
fix(app): draft vendor identity, no duplicate evidence shot, capped p…
tofikwest baa39f7
fix(app): compact the automation row
tofikwest fc43069
feat(app): show real vendor logos across browser automations
tofikwest dc4b98e
fix(app): shrink the automation row's schedule and action controls
tofikwest ffe8910
feat(app): compact schedule menu in the automation row (designer opti…
tofikwest 28d806d
feat(app): fold schedule into a Run split button; neutral action icons
tofikwest 71b972a
feat(app): match designer's C mockup for the automation row
tofikwest 11bee51
fix(app): neutral schedule half; clearer "first run" label
tofikwest e573f59
feat(app): implement designer option A — unified Run split + meta gra…
tofikwest 4266308
fix(app): remove the white seam in the Run split button
tofikwest ea41393
feat(app): darker-green caret half to distinguish the schedule zone
tofikwest 66bc6d7
fix(app): match Run split icon sizes to the rest of the row
tofikwest 37de5ba
fix(browser-automations): show a screenshot per step for multi-step runs
tofikwest 2a6fca5
feat(browser-automations): task-wide schedule in the section header
tofikwest 9039647
feat(browser-automations): show the AI's live step list during Run
tofikwest 567f6b6
fix(app): cap the run screenshot preview height in the expanded run
tofikwest eb51fa8
fix(browser-automations): interactive Run executes every vendor, not …
tofikwest 3e657cd
feat(browser-automations): step-ledger run detail + persist close-up …
tofikwest dbc47ad
fix(app): align the two run-detail screenshot panes to one height
tofikwest eaa8d98
feat(browser-automations): follow each vendor's live view during a mu…
tofikwest d094d98
feat(browser-automations): run-history ledger, truncated names, on/of…
tofikwest c536eb8
feat(app): tuck Edit + Delete into a ⋯ menu on the automation row
tofikwest 70b24e6
feat(app): calmer automation row and deeper run history
tofikwest b5c2fae
fix(app): cover the live view between vendors so runs never look crashed
tofikwest b83edab
feat(app): auto-expand a manual run's row when it finishes
tofikwest eb08b89
fix(app): align the composer close button with the title
tofikwest 3ffda4b
feat(app): richer "Browser evidence" header with a status strip
tofikwest 2cf1c61
fix(app): pin the Manage connection sheet's close to the top-right
tofikwest 12061b5
feat(app): redesign the Manage connection panel (grouped sections)
tofikwest 59ff988
refactor(app): reuse the shared connect flow on the Connections page
tofikwest a4626ff
feat(app): detected-field sign-in form + passkey-aware method chooser
tofikwest f293585
fix(app): honest method-card label + "Comp AI" branding in connect copy
tofikwest 93139c5
fix(api): use Stagehand mode:'cua' instead of deprecated cua:true
tofikwest aab4840
fix(api): don't mark a connection verified while still on the sign-in…
tofikwest c80d7c5
refactor(api): let the classifier judge login by URL + content, not a…
tofikwest 45713e4
fix(api): wait for sign-in redirects to settle before reading/filling
tofikwest c330d8d
feat(app): show the vendor's real identifier-field label in sign-in s…
tofikwest 0253d95
fix(app): don't trap the connect flow on a stale resumed step
tofikwest 1e29d07
fix(api): bring the sign-in page to front so the live view follows it
tofikwest 717c102
revert(api): drop the sign-in bring-to-front (picked the wrong tab)
tofikwest 0b5ef90
feat(app): live view follows the AI's active tab during sign-in
tofikwest 6d3beac
fix(api): screenshot the tab the agent ended on, not the stale start …
tofikwest c6e272a
feat(browser-automations): per-vendor 2FA setup-key guidance
tofikwest 31b23cc
feat(browser-automations): ground 2FA setup steps in the vendor's liv…
tofikwest efc60a4
feat(browser-automations): implement the Unattended 2FA design (2a + 2d)
tofikwest 25bd71a
fix(browser-automations): strip markdown from 2FA steps + prefetch gu…
tofikwest 9fac9f5
fix(browser-automations): pointer cursor on buttons + spacing in 2FA …
tofikwest 252981b
feat(browser-automations): test-run live view follows the active tab
tofikwest 7aadda0
feat(browser-automations): remember the vendor's identifier label for…
tofikwest 17f4812
fix(browser-automations): nest the drafts strip inside the Browser ev…
tofikwest c49ffd1
fix(app): rename the settings 'Connections' page to 'Browser connecti…
tofikwest 8a8d3dd
feat(app): explain what Browser connections are on the settings page
tofikwest 825b4da
fix(app): drop duplicate title + fix step spacing on Browser connections
tofikwest 3303cd1
fix(app): make it clear Browser connections are used by evidence tasks
tofikwest fe0896d
feat(app): search + pagination for Browser connections; move summary …
tofikwest b319744
fix(app): move connections search into the table toolbar + make the c…
tofikwest 9dd41a5
fix(app): put the connections search on the table header row (right s…
tofikwest 2ccf2f3
fix(app): move the connections search into the Vendor column header
tofikwest bda19ac
docs: add user-facing Browser Automations guide
tofikwest 3d677bb
docs: add a 'Why it's powerful' section to Browser Automations
tofikwest 087e137
docs: add screenshots to the Browser Automations guide
tofikwest e44d4d0
docs: use the redacted evidence screenshot as the Browser Automations…
tofikwest c0174bf
docs: clarify the scheduler and manual runs for Browser Automations
tofikwest 0ea67f0
fix(api): enforce organization ownership on browser session/context e…
tofikwest 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
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.
Uh oh!
There was an error while loading. Please reload this page.
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: When the API is launched through the root
turbo dev, these documented model overrides cannot be supplied through the process environment becauseturbo.jsondoes not allowlist either new variable in strict mode. Adding both names toturbo.json'sglobalEnvwould ensure the values reach the code that reads them.Prompt for AI agents