Skip to content

dev -> main: MCP browser tools, action ecosystem expansion, static-analysis cleanup#89

Merged
JE-Chen merged 1 commit intomainfrom
dev
Apr 26, 2026
Merged

dev -> main: MCP browser tools, action ecosystem expansion, static-analysis cleanup#89
JE-Chen merged 1 commit intomainfrom
dev

Conversation

@JE-Chen
Copy link
Copy Markdown
Member

@JE-Chen JE-Chen commented Apr 26, 2026

Summary

Large feature wave on dev (~90 commits, 265 files, +21.7k LOC). Highlights:

  • MCP server — initial JSON-RPC stdio server, expanded to 19 tools, and now wired to drive real browsers via the WR_* executor (webrunner_run_actions, webrunner_run_action_files, webrunner_list_commands).
  • Action ecosystemWR_sleep, action JSON formatter, MD->actions transpiler, action JSON LSP, Selenium->Playwright migration helper, action template library, POM codegen.
  • Browser & infra — browser pool with warm sessions, unified BiDi event bridge, HAR replay server, CDP message tap, shadow-DOM piercer, multi-tab choreographer, WebAuthn/geo/locale/device emulation helpers, browser extension harness, Appium gestures, autofill, consent banner dismisser, CSP collector.
  • Testing infra — pipeline DSL, fan-out runner, smart waits, retry policy, locator strength scorer, file-based throttler, watch loop, regex name filter, diff-aware selector, K8s shard manifest, test impact analysis, synthetic monitoring loop, replayable failure bundle, failure clustering, observability timeline merger.
  • Quality / observability — perf budgets + drift detector, a11y diff + trend dashboard, PII scanner, visual diff review UI, Storybook discovery + snapshots, cross-browser parity diff, browser state diff, workspace lock + driver pinner, OTLP exporter, GitHub PR comment poster, JS heap leak detector, contract/GraphQL/mock-service helpers, trace recorder, trend dashboard.
  • Examples & docs — thematic API façade, Sphinx autodoc, examples cookbook (Counting Stars, Rescue Me autoplay), test tier docs.
  • Static analysis — multiple rounds of SonarCloud / Codacy / Bandit cleanup (cog complexity, S7632, S5131, B110, dict-shape lint).

Test plan

  • CI green on dev
  • python -m pytest test/ passes locally
  • Smoke-test MCP server: python -m je_web_runner.mcp_server and run webrunner_list_commands
  • Spot-check examples/rescue_me.py autoplay flow

Wire executor-backed tools (webrunner_run_actions, webrunner_run_action_files,
webrunner_list_commands) into the default MCP server so clients can drive
Selenium/Playwright through WR_* actions over JSON-RPC. Stdout is captured
and WebDriver/WebElement values are repr-serialised to keep the wire clean.

Also add examples/rescue_me.{py,json} demonstrating Chrome autoplay-policy
flags + JS-forced playback against YouTube Music.
@sonarqubecloud
Copy link
Copy Markdown

@codacy-production
Copy link
Copy Markdown

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 37 complexity · 2 duplication

Metric Results
Complexity 37
Duplication 2

View in Codacy

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

@JE-Chen JE-Chen merged commit 55f9d1c into main Apr 26, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant