* 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>
* feat(web-integration): support disable cache for a single api call
* feat(workflow): version mismatch
* feat(web-integration): cache rename to cacheable
* feat(web-integration): add cacheable option to multiple API methods and update caching documentation
* docs(site): update cacheable option descriptions to reference caching feature documentation
* docs(core): update caching doc
---------
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>
* feat(android): implement repeat function for scrolling until actions
* fix(shared): fix potential error in getAIConfig by ensuring trim is called correctly
* feat(android): update scrolling behavior with adjustable duration and added sleep
* feat(android): refine scrolling durations with new constants for fast and normal scroll
* 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
* feat: allow running javascript in yaml
* feat: change the output dir
* fix: CI
* docs: update docs about evaluate javascript
* chore: merge main
* chore: merge main
* 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>
* chore: add element detail info
* chore: add element detail info
* chore: add element detail info
* chore: optimize logger logic
* chore: optimize logger logic
* 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: 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: 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>
* feat(ai-model): support plan to target
* chore: modify test
* chore: modify test
* chore: fix env config
* chore: unify the action logic
* chore: optimize type hint
* chore: optimize type hint
* chore: fix type hint
* chore: fix build type error
* chore: support open new tab
* feat: support auto complete element
* chore: add sleep event
* chore: add ai cost time
* chore: optimize prompt
* chore: optimize report prompt
* chore: optimize vlm name
* chore: fix command
* chore: optimize error handle and use check debugger list replace last tab id
* chore: fix chrome debugger attach logic
* chore: fix unit test
* Add new changes
* Add computer test results and update AI evaluation tests
* chore: Update build outputs and configurations
* feat(ai-model): support claude computer ability use position replace element id
* feat: generate add and commit
* feat: implement computer ability test for Claude
* chore: fix build Lose
* chore: Add and commit changes
* chore: optimize ai position
* chore: optimize ai position
* Add AI evaluation results and update tests
* chore: optimize ai test
* chore: add and commit changes
* chore: optimize ai test content
* chore: fix test case
* chore: fix e2e test
* refactor(extract): optimize image box selection
* chore: Optimize the logic for generating AI test data to avoid producing duplicate data
* Update code and configurations
* Update code and configurations
* chore: fix lint error
---------
Co-authored-by: zhouxiao.shaw <zhouxiao.shaw@bytedance.com>
* feat(ai-model): optimize AI model for element inspection
* feat(ai-model): optimize AI model and add quick answer functionality
---------
Co-authored-by: yuyutaotao <167746126+yuyutaotao@users.noreply.github.com>
* feat(ai-model): implement quick answer functionality for element inspection
---------
Co-authored-by: zhouxiao.shaw <zhouxiao.shaw@bytedance.com>
* feat(cache): The cache is generalized to support Puppeteers and mobile terminals
* chore: update cache test
* chore: update cache test
* chore: update cache test
* docs: update cache doc
* chore: update ai test command
* chore: update ai test command
* chore: update ai test command
* chore: optimize cache logic
* chore: update get dir path logic
* chore: update get dir path logic