* fix(web-integration): sanitize content for reportHtmlContent
* fix(workflow): version
* fix(web-integration): recover after retrieve
* fix(web-integration): test
* chore(core): fix lint
* fix(report): remove ! for content
* chore(core): add test case
* chore(core): add test case
---------
Co-authored-by: yutao <yutao.tao@bytedance.com>
* fix(web-integration): handle undefined aiInput case in ScriptPlayer
* fix(workflow): version
* fix(core): yaml player
---------
Co-authored-by: yutao <yutao.tao@bytedance.com>
* fix(web-integration): cache hit when element.id exist and scroll element instantly
* fix(web-integration): use parent xpath for text node
* fix(web-integration): only scroll in to view when element is not completly visible
* fix(shared): distinct text node
* test(web-integration): getElementInfoByXpath
* test(web-integration): rename desc
* test(web-integration): fix
* test(web-integration): snapshot attributes only
* test(web-integration): fix test
* feat(web-integration): use xpath for cache instead of id
* feat(web-integration): enhance TaskCache to support xpaths for cache matching and add new test cases
* feat(web-integration): add debug log for unknown page types in TaskCache
* feat(web-integration): update caching logic and cache hit conditions for Plan and Locate tasks
* chore(core): update debug log
* feat(web-integration): update rspress.config and enhance TaskCache structure with new properties
* feat(web-integration): recalculate id when hit cache
* fix(web-integration): update mock implementation in task-cache test to use evaluate method
* feat(web-integration): enhance element caching by adding XPath support and improving cache hit logic
* chore(core): lint
* feat(web-integration): improve XPath handling in web-extractor
* test(web-integration): fix tests
* feat(core, web-integration): add attributes to LocateResultElement and enhance element handling
* fix(core): lint
* feat(web-integration): add midsceneVersion to TaskCache and update cache validation logic
* fix(core): test
* fix(web-integration): update cache validation logic to prevent reading outdated midscene cache files
* feat(web-integration): enhance TaskCache to track used cache items and improve cache retrieval logic
* fix(core): xpath logic (#710)
* feat(core): resue context for locate
* feat(core): build yamlFlow from aiAction
* feat(core): refine task-cache
* feat(core): update cache
* feat(core): refine task-cache
* feat(core): refine task-cache
* feat(core): remove unused checkElementExistsByXPath
* feat(core): use yaml file as cache
* chore(core): fix lint
* chore(core): print warning for previous cache
* refactor(core): remove quickAnswer references and improve element matching logic
* fix(core): update import path for buildYamlFlowFromPlans
* chore(web-integration): update output image and skip task error test
* fix(web-integration): update test snapshots to handle beta versions
* fix(web-integration): adjust test snapshots for version consistency
* fix(web-integration): track original cache length and adjust matching logic in tests
* fix(web-integration): update test URLs to reflect new target site and enable previously skipped test
* chore(core): update cache docs
* fix(core): test
* feat(core): try to match element from plan
* fix(web-integration): cache id stable when retry in palywright
* fix(web-integration): typo
* style(web-integration): lint
* fix(web-integration): stable cacheid in tests
* fix(web-integration): cache id
---------
Co-authored-by: quanruzhuoxiu <quanruzhuoxiu@gmail.com>
* fix(mcp): mcp error connection
* fix(mcp): lint
* fix(core): add kill signal for server
* chore(core): force close conflict port in bridge
---------
Co-authored-by: zhouxiao.shaw <zhouxiao.shaw@bytedance.com>
* chore(core): merge main
* feat(web-integration): add support for new agent method(aiBoolean, aiString, aiNumber, aiLocate)
* fix(core, web-integration): update data extraction logic and refine return types for agent methods
* feat(site): add detailed descriptions and examples
* fix(web-integration): remove unused properties from aiLocate return type and update UI titles
* fix(core): enhance agent methods for better extraction and querying
* fix(core): update test scripts and refine data extraction prompts
* fix(core): refine return type in ExecutionTaskApply and remove unused import in inspect
* fix(core): update data extraction logic and enhance type handling in Insight class
* fix(web-integration): update import path for puppeteerAgentForTarget in player test file
* fix(core): tests fix
* fix(core): fix tests
* fix(shared): enhance imageInfo tests by validating individual properties and updating snapshots
* fix(site): remove waitForNavigationTimeout from Playwright integration examples
* fix(site): update timeout configuration examples in FAQ for clarity
* test(web-integration): remove unused client-extractor test and related snapshots
* chore(core): fix query implementation
* fix(report): improve data handling in DetailSide component and enhance output display
* fix(core): refine data extraction prompts and improve error handling in PageTaskExecutor
* fix(core): update data extraction prompt for clarity and type validation
---------
Co-authored-by: yutao <yutao.tao@bytedance.com>
* feat(core): support custom midscene_run dir
* feat(report): add search functionality to PlaywrightCaseSelector component
* refactor(shared): simplify base directory resolution and remove unused environment variable
* feat(shared): integrate shared environment variables across multiple packages
* refactor(shared): update base directory resolution to use dynamic midscene_run directory
* fix(puppeteer): increase screenshot timeout from 3s to 10s for improved reliability
* refactor: android api
* refactor: enhance Android agent to accept options for device connection
* fix: type error
* fix: click after clearInput
* fix: click before clearInput
* feat: android playground
* feat: support npx package name
* feat: android playground joint
* fix: git ignore conflicts
* feat: ensure adb server is running before initializing adb client
* fix: deps consistency
* ci: add android playground
* feat: integrate shared constants and improve server configuration in android playground
* feat: android playground style
* feat: style opt
* feat: add @rsbuild/plugin-svgr dependency and improve URI handling in adb
* feat: remove unused water flow scripts and update comments to English
* feat: download report file
* feat: standalone android playground
* feat: use dynamic import
* feat: migrate CSS to LESS and remove unused styles in chrome extension and report
* feat: enhance Android playground with ScrcpyPlayer ref integration and device management improvements
* feat: optimize styles and layout in Android playground and visualizer components
* chore: add bin back
* chore: update build script to exclude documentation generation
* feat: add not ready message to PlaygroundResult for improved user guidance
* feat: add error handling for screenshot capture in Android page
* docs: update readme
* feat: add PNG validation for screenshot buffer in Android page
* feat: enhance UI components with improved styling and tooltips in ScrcpyPlayer and PromptInput
* docs: update uri parameter description in integrate-with-android documentation and improve uri handling in launch function
* style: update primary color to #2B83FF across multiple components and adjust margin in App.less
* refactor: replace userConfig with globalConfig for environment configuration management and update related functions
* feat: integrate server validation logic in App, AdbDevice, and ScrcpyPlayer components for improved connection handling
* style: enhance player component layout with overflow handling and margin adjustments
* style: refine player component layout with flex adjustments and improved spacing
* feat: add midscene model name display and improve layout in EnvConfig component
* feat: integrate ShinyText component for enhanced loading progress display in PlaygroundResult
* test: add test for isValidPNGImageBuffer
* style: remove background color from App.less and adjust AI config override behavior in env.ts
---------
Co-authored-by: yutao <yutao.tao@bytedance.com>
* feat: enable search area for locate
* fix: update evaluation
* fix: locator
* feat: show searchArea in report
* chore: add yaml support for aiTap
* feat: use adb instead appium
* feat: Adds debugging information and reconstructs input text capabilities
* feat: refactoring Android related functions and adding android modules
* feat: update the image scaling algorithm, adjust the Android page class to support device scaling, and remove test files that are no longer needed
* feat: adjust the Android page class to support device scaling, and remove test files that are no longer needed
* feat: use appium-adb instead of bare command
* fix: update entry for @midscene/android
* feat: optimize the screenshot processing logic, add a backup mechanism when screenshots fail, and update test cases to accommodate new features
* fix: rethrow error
* feat: add Android debug configuration options and update documentation
* chore: fix code style in #483 (#492)
* fix: remove try for error handle by outside
---------
Co-authored-by: yutao <yutao.tao@bytedance.com>
Co-authored-by: linyibing <linyibing@bytedance.com>
Co-authored-by: yuyutaotao <167746126+yuyutaotao@users.noreply.github.com>
* feat(playwright): add aiTap/aiInput and other AI actions for Playwright integration
* chore: update doc
---------
Co-authored-by: yutao <yutao.tao@bytedance.com>
* feat: enable search area for locate
* fix: update evaluation
* fix: build error
* fix: ci
* fix: locator
* feat: show searchArea in report
* chore: add yaml support for aiTap
* feat: update status tip
* fix: #473 (#484)
* chore: optimize unit test list
---------
Co-authored-by: zhouxiao.shaw <zhouxiao.shaw@bytedance.com>
* feat(tab-control): enhance the configuration to limit AI from opening new tabs during operations, preventing failures.
* chore: optimize evaluate error
* chore: resolve navigation error
* fix(browser): add forceSameTabNavigation config toe limit open new tab
* chore: upgrade vitest version
* fix: typo (#390)
---------
Co-authored-by: yuyutaotao <167746126+yuyutaotao@users.noreply.github.com>
* feat: extract web content as a tree
* chore: update test data
* chore: update test data
* feat: update answer of evaluation
* chore: update test cases
* chore: remove focusing on cases
* fix: ci
* fix: put rect in html tree
* fix: CI
* fix: AI test
* fix: lint
* fix: CI
* fix: static-page compatibility
* fix: CI
* fix: map by markerId
* fix: llm planning prompt
* chore: update hash length
* chore: ignore writing dump file
* fix: lint
* fix: ci snapshot
* chore: snapshot tree in web extractor
* chore: export tree utils in core
* chore: export tree utils in core
* fix: CI
* fix: update test case and evaluation
* chore: remove unused file
* refactor(extract): modify dependencies (#358)
* refactor(extract): modify dependencies
* chore: modify files config
* chore: add indexId as key for map
---------
Co-authored-by: Zhou Xiao <zhouxiao.shaw@bytedance.com>