59 Commits
Author SHA1 Message Date
ciregenz 123f71b8cb [eric] browser: RequestUserSignIn is a first-class tool; auth walls hand off to the user in place instead of killing the run (ENG-351) 2026-08-18 19:06:38 -07:00
ciregenz ba97d141ee [eric] browser: agents can attach a file to an upload field without the OS picker; the path is allow-listed backend-side so a hostile page cannot turn it into exfiltration (ENG-47) 2026-08-11 20:10:36 -07:00
ciregenz f25fe95c37 [eric] browser: RequestHumanIntervention is never auto-injected, the toggle really removes it, and workflow runs never see it 2026-08-08 00:37:38 -07:00
ciregenz 3d5c287139 [eric] merge: bring eric/browser onto eric/dev (30 conflicts resolved, gates green) 2026-07-30 13:18:11 -07:00
SirKentut 75df12a1b7 [pierre] feat: merge app-use (OPENSWARM_APP bridge + AppAgent) onto eric/dev, convention-clean
Brings the app-use feature (OPENSWARM_APP bridge, AppAgent delegation tool,
BrowserClickPoint, autopilot supervision) onto the linted eric/dev base.

- Resolved 9 conflicts favoring eric's refactored structure; renamed all of
  pierre's _-prefixed names to p_/P_, kept eric's prior_messages resume guard.
- Made the 4 test-exercised bridge helpers public (p-private rule).
- Wired AppAgent into browser_delegation_tools + BuiltinTool registry and
  threaded selected_app_output_ids -> OPENSWARM_SELECTED_APP_IDS (eric had
  forward-ported the prompt but not the tool, so it was unreachable).
- Linter clean (underscore/p-private/ruff/cycles 0); 301 backend tests pass.
2026-06-26 02:44:10 -07:00
SirKentut 42ad32ee6c [pierre] testing: frames show if autopilot is succesfully working 2026-06-25 19:53:25 -07:00
SirKentut a10617526a [pierre] feat: add __autopilot__ self-play bridge with slow-cadence agent supervision
Two-loop design for fast-twitch apps (Flappy, Doodle Jump) the agent cannot
react to frame-by-frame over the network: the bridge runs policy() at frame
rate as the reflex (inner loop), while the supervisor steers on a slow cadence
via getState and __autopilot__ knobs (outer loop). Wires this through the
webapp_template bridge, the shell-injected bridge in main.js, and the APP
system prompt. Also deny the 'fullscreen' permission so a preview webview's
HTML5 fullscreen no longer hijacks the whole OpenSwarm window.
2026-06-25 19:32:17 -07:00
ciregenz 0d093cc5f8 [eric] backend: one-line every comment + collapse 3+ blank runs across apps/ (AST-verified identical, -lines); CLAUDE.md one-line-comment rule 2026-06-25 02:29:04 -07:00
ciregenz 1767389cbb [eric] browser: leading-_ -> p_/P_/public for module functions+constants+state across browser subsystem; promote cross-file symbols public (detect_loop, BROWSER_HISTORY, TRUSTED, etc.), align analyze-browser-metrics.py + tests 2026-06-23 19:37:40 -07:00
SirKentut e0c4b5859f [pierre] feat: add BrowserClickPoint and human-style canvas/game control for app agent 2026-06-18 02:33:18 -07:00
AidanandGitHub de2e70ca8f [aidan] fix/browser-early-close: let agent keep browser open when result lives on the page (#88) 2026-06-15 19:00:40 -07:00
SirKentutandClaude Opus 4.8 a35bfaaf7d [pierre] feat/app-agent: drive web apps through the OPENSWARM_APP bridge
Browser agent gains app-control logic + schema, app-builder skill doc,
run.sh agent-bridge presence check, and app-agent tests.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 15:06:10 -07:00
SirKentut b498ed3097 implemented app-describe for agent use: exposing the command tree of an app 2026-06-13 01:01:11 -07:00
ciregenz e24a63c13c [eric] browser: steer paginated gathers to sweep in batch (RepeatFlow + sessionStorage / scroll-then-read), not one page per turn 2026-06-09 02:39:31 -07:00
ciregenz bfcad98b76 [eric] browser: BrowserSaveData writes a big page dataset to one sandboxed file, ending the dispatch-per-chunk waste 2026-06-09 02:05:26 -07:00
ciregenz 9eb0e2cb2b [eric] browser: new gathered data resets the spin backstop, so a page-by-page gather runs to completion instead of getting cut with partial results 2026-06-08 23:47:26 -07:00
ciregenz 07f911d200 [eric] browser: a clean success needs an explicit Done; recognize gather asks, steer them to BrowserExtract 2026-06-08 22:37:33 -07:00
ciregenz 91073becec [eric] browser: finish via a Done(message) tool so the user gets a plain conversational reply, not the OUTCOME tag 2026-06-08 22:15:52 -07:00
ciregenz cdba825277 [eric] browser: final message is ONLY the OUTCOME line in plain human words, no narration preamble or UI jargon 2026-06-08 00:31:27 -07:00
ciregenz f8c812353e [eric] browser: agent writes a plain human final message (no UI jargon/OUTCOME mechanics); delete the leaky send-ready advisory, dead prefix flag, and humanize aux experiment 2026-06-08 00:09:50 -07:00
ciregenz 725578b2a8 [eric] browser: orchestrator translates the OUTCOME line into a plain human confirmation; drop hardcoded task-specific examples from prompts 2026-06-07 23:44:39 -07:00
ciregenz 7ec05613fe [eric] browser: hand the Send button to the model after a composer fill, and commit to an already-open thread instead of re-verifying 2026-06-07 19:28:51 -07:00
ciregenz 39f35a1ef0 [eric] browser: after typing, click the Send index you already saw instead of re-hunting it 2026-06-07 15:49:15 -07:00
ciregenz 40ca175f77 [eric] browser: send into an already-open thread instead of re-verifying the recipient 2026-06-07 15:39:00 -07:00
ciregenz 4664065767 [eric] browser: converge speed-lever A/B, ship the winners, cut the dead-end flags 2026-06-06 18:29:03 -07:00
ciregenz 0cc6188432 [eric] browser: generalizable send-timing prior (Send renders late, settle dont hunt; prefer Send over Enter), A/B flagged 2026-06-06 17:22:51 -07:00
ciregenz 5741e8f946 [eric] browser: endgame helper locates Send after a composer fill (never clicks it), behind OSW_BROWSER_COMPOSE_HELPER 2026-06-06 12:41:08 -07:00
ciregenz 9972171c05 [eric] browser: cheap-model laps behind OSW_BROWSER_CHEAP_LAPS, escalate to primary at the irreversible endgame 2026-06-06 12:32:04 -07:00
ciregenz 01ec866c2a [eric] browser: OSW_BROWSER_NO_LEVERS bench flag to A/B the speed levers on/off 2026-06-06 12:12:38 -07:00
ciregenz cdbdec775b [eric] browser: merge-verify, a confirmed send is the proof, no separate verify turn + trailing-read telemetry 2026-06-06 04:35:03 -07:00
ciregenz 6dc00e40b5 [eric] browser: think-shorter, no redundant prose beside action tools + output telemetry 2026-06-06 04:14:46 -07:00
ciregenz fcc02ce77a [eric] browser: evaluation_previous optional, output tokens drive turn latency and the field restates attached state 2026-06-05 22:23:18 -07:00
ciregenz 9af337585b [eric] browser: re-land schema-forced batching + redundant-read nudge (zombie forensics exonerated both) 2026-06-05 22:16:40 -07:00
ciregenz e7099cc888 Revert "[eric] browser: schema-forced batching, solo mutators hidden, ClickIndex reserved for sends and fills"
This reverts commit 2fe8e0f62f.
2026-06-05 20:07:08 -07:00
ciregenz 2fe8e0f62f [eric] browser: schema-forced batching, solo mutators hidden, ClickIndex reserved for sends and fills 2026-06-05 17:56:17 -07:00
ciregenz 792ff7ecd5 [eric] browser: batch escape hatch narrowed, solo only when next target unnameable 2026-06-05 13:00:49 -07:00
ciregenz 4f7369341c [eric] browser: batch-by-default prompt, irreversible steps stay solo with expect proof 2026-06-05 11:14:13 -07:00
ciregenz 0992e25bf2 [eric] browser: numbered index overlays on screenshots, vision and clicks share one index language 2026-06-05 11:03:20 -07:00
ciregenz 059185dd4b [eric] browser: kill the double-fill, textbox rows show live value, typing echoes verified read-back, expect demands literal page text 2026-06-05 10:29:12 -07:00
ciregenz 20e1558d70 [eric] browser: auto-settle mutating actions and attach fresh page state to results, act and see in one turn 2026-06-05 09:35:51 -07:00
ciregenz 88088a9564 [eric] browser: BrowserExtract, aux-model schema extract + prompt docs for ctx and stable indices 2026-06-05 00:55:14 -07:00
ciregenz 0249b666a1 [eric] browser: sub-agent prompt jumps to deep URLs, requires OUTCOME line, documents * markers 2026-06-04 23:03:20 -07:00
ciregenz f03dde7e0c [eric] browser: focus text boxes by node and insert text directly, reaches compose iframes clicks miss 2026-06-04 16:38:56 -07:00
ciregenz 9b6e45f365 [eric] browser: act-and-confirm, declare the expected change and verify it instead of assuming 2026-06-04 15:14:58 -07:00
ciregenz f0144690af [eric] browser: end the wait on the target or DOM-settle, not network-idle, so it stops waiting blind 2026-06-04 14:57:38 -07:00
ciregenz 2640930380 [eric] browser: add BrowserGetConsole so a stuck agent can read the page's console errors 2026-06-04 13:20:39 -07:00
ciregenz a32f53d092 [eric] browser: de-dupe the system prompt and sharpen the terse-output rule 2026-06-04 12:46:49 -07:00
ciregenz 19e7816fc4 [eric] browser: fix stale prompt lines for batch-abort-on-error and smart-wait 2026-06-04 12:18:26 -07:00
ciregenz 3c3dd6cfcc [eric] browser: prompt the agent to plan once then run terse batched turns 2026-06-04 11:37:15 -07:00
ciregenz 27686e270b [eric] browser: settle-aware in-batch wait and a terminal read sub-action 2026-06-04 04:04:44 -07:00