feat: add visual editor & Integrate claude code/codex#272
Merged
Conversation
…/network tools - Add utils/cdp-session-manager with refcount + owner tracking - Migrate dialog.ts to use session manager - Migrate computer.ts to use session manager - Migrate network-capture-debugger.ts to use session manager - Lint + vue-tsc clean; wxt build passes
- Implement UserscriptTool with create/list/get/enable/disable/update/remove/send_command/export - Auto strategy selection (insertCSS, persistent ISOLATED/MAIN) with CSP-aware fallback - Persistence via chrome.storage; tab re-injection on navigation - Register tool and schema; add USERSCRIPTS storage key - Add Vue SFC typings (env.d.ts); fix lint/typecheck
- Add emergency global switch (USERSCRIPTS_DISABLED) - Implement CSP probe and fallback (MAIN -> ISOLATED) - Support mode=once via CDP Runtime.evaluate - Add SHA-256 hashing, metrics (injectMs), and status flags - Add webNavigation + declarativeNetRequest permissions - Enhance list filtering (query/status/domain)
Register options page via manifest (wxt.config.ts). Add options page (index.html, main.ts, App.vue). Support create/list/toggle/delete/export userscripts. Bridge UI to tools: handle 'call_tool' in background. Lint/typecheck/build passed.
Use chrome.i18n in App.vue and add locale messages
…backoff; eslint/type fixes
- assert(attribute): equals/matches 校验,支持模板变量 - script 钩子:when=after 延后到下一步(末尾 flush) - helper:accessibility-tree-helper 新增 getAttributeForSelector - recorder:新增 keyup 录制 - editor:一并提交已有改动 BREAKING CHANGE: 断言 attribute 失败将中断执行。
Updated image sources in VisualEditor documentation to use higher resolution thumbnails from YouTube.
There was a problem hiding this comment.
Pull request overview
This PR adds a visual editor and integrates Claude Code/Codex capabilities by implementing a comprehensive V3 architecture for the record-replay system. The changes introduce new action handlers, storage layers, trigger mechanisms, and core engine components to support enhanced workflow automation.
Key changes:
- Implemented action handler system with HTTP, form fill, DOM manipulation, and control flow support
- Added V3 storage layer with IndexedDB-backed persistence for flows, runs, events, and triggers
- Created trigger management system supporting URL, command, context menu, DOM, cron, interval, once, and manual triggers
- Built queue and scheduler infrastructure for run execution management
Reviewed changes
Copilot reviewed 94 out of 577 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
actions/handlers/http.ts |
HTTP action handler with request/response validation and variable assignment |
actions/handlers/fill.ts |
Form fill handler with file upload and element visibility checks |
actions/handlers/extract.ts |
Data extraction handler supporting selector and JS execution modes |
actions/handlers/drag.ts |
Drag action handler with coordinate-based and selector-based targeting |
actions/handlers/dom.ts |
DOM manipulation handlers for triggering events and setting attributes |
actions/handlers/delay.ts |
Simple delay handler with configurable timeout |
actions/handlers/control-flow.ts |
Control flow handlers for if/foreach/while/switchFrame operations |
actions/handlers/common.ts |
Shared utilities for selector resolution and element verification |
actions/handlers/click.ts |
Click and double-click handlers with navigation waiting |
actions/handlers/assert.ts |
Assertion handler with polling and multiple validation modes |
actions/adapter.ts |
Adapter layer converting legacy Step format to new Action format |
storage/*.ts |
IndexedDB-backed persistence for flows, runs, events, queue, variables, and triggers |
storage/import/v2-to-v3.ts |
V2 to V3 data converter with flow and trigger migration |
engine/triggers/*.ts |
Trigger handlers for URL, command, context menu, DOM, cron, interval, once, and manual triggers |
engine/transport/*.ts |
RPC protocol and events bus for inter-component communication |
engine/storage/storage-port.ts |
Storage abstraction interfaces for dependency injection |
engine/queue/queue.ts |
Run queue interface with leasing and priority support |
engine/plugins/index.ts |
Plugin system exports |
engine/kernel/index.ts |
Kernel module exports |
index.ts |
Main V3 API entry point with storage port factory |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.