Commit Graph

283 Commits

Author SHA1 Message Date
jk4235
0b380264c3 refactor: update iframe attributes for enhanced security in test-iframe.html
- Added the `sandbox="allow-scripts"` attribute to iframes to improve security by restricting their capabilities.
- Replaced `src` attributes with `srcdoc` for better control over iframe content and to avoid potential security risks associated with data URIs.
2026-01-28 16:18:36 +08:00
jk4235
c6456e2bb4 refactor: enhance iframe handling and test configuration in Puppeteer tests
- Updated the `silent` option in the vitest configuration to `true` for improved test output control.
- Introduced a `loadFixture` helper function to streamline loading HTML content into Puppeteer pages, replacing direct navigation calls in tests.
- Adjusted iframe readiness checks to ensure they wait for non-empty body content, improving reliability in test scenarios.
2026-01-28 16:04:37 +08:00
jk4235
1bbd8b6f70 fix: enable logging in vitest configuration
- Changed the `silent` option from `true` to `false` in the vitest configuration to allow logging during test execution, improving visibility into test processes.
2026-01-28 15:57:59 +08:00
jk4235
fc9a476ba1 refactor: enhance iframe handling in Puppeteer tests
- Introduced helper functions `waitForIframeReady` and `waitForNestedIframeReady` to streamline iframe readiness checks in Puppeteer tests.
- Removed debug logging statements to clean up test output and improve readability.
- Updated test cases to utilize the new helper functions for better iframe management and synchronization.
2026-01-28 15:51:58 +08:00
jk4235
17e008cc97 refactor: improve logging in Puppeteer tests for iframe interactions
- Enhanced logging in the Puppeteer tests to provide clearer output before and after navigating to complex fixture URLs and waiting for iframe elements. This change aids in debugging and understanding the test flow.
2026-01-28 15:30:56 +08:00
jk4235
7ec02076dd chore: simplify CI testing and enhance Puppeteer test logging
- Updated the CI workflow to consolidate test commands into a single step, improving clarity and efficiency.
- Added debug logging in Puppeteer tests to track the loading of complex fixture URLs and the visibility of iframe elements, aiding in troubleshooting and test visibility.
2026-01-28 15:30:11 +08:00
jk4235
486f7677b2 chore: update Puppeteer test execution in CI workflow
- Modified the CI configuration to set the working directory for Puppeteer tests, ensuring the correct context for executing tests. Updated the test command to target specific Puppeteer test files in the automation directory, enhancing clarity and organization in the testing process.
2026-01-28 15:09:44 +08:00
jk4235
2d384d52de chore: refine CI testing strategy for core packages
- Updated the CI workflow to change the testing step for core packages, specifically targeting @aipexstudio/aipex-core, @aipexstudio/dom-snapshot, and @aipexstudio/aipex-react. This adjustment enhances the clarity of the testing process by explicitly defining which packages are tested in the core step.
2026-01-28 15:04:49 +08:00
jk4235
29b3356981 chore: refine CI testing strategy for browser-runtime
- Updated the CI workflow to separate testing for the browser-runtime package, introducing distinct steps for non-Puppeteer tests, browser-runtime unit tests, and Puppeteer tests executed sequentially. This enhances clarity and control over the testing process.
2026-01-28 14:56:40 +08:00
jk4235
00a7a1efaa chore: specify working directory for Puppeteer Chrome installation in CI workflow
- Updated the CI configuration to set the working directory for the Chrome installation step, ensuring proper execution context for the Puppeteer installation script.
2026-01-28 14:44:11 +08:00
jk4235
894bed561e chore: update Puppeteer Chrome installation command in CI workflow
- Changed the command for installing Chrome for Puppeteer from pnpm to a direct Node.js script for improved compatibility and reliability.
2026-01-28 14:42:59 +08:00
jk4235
1b04707c84 chore: update Puppeteer Chrome installation command in CI workflow
- Changed the command for installing Chrome for Puppeteer from npx to pnpm for consistency with the package manager used in the workflow.
2026-01-28 14:40:07 +08:00
jk4235
82831aab9d chore: add Chrome installation step for Puppeteer in CI workflow
- Included a step to install Chrome for Puppeteer in the CI configuration to ensure proper browser support for testing.
2026-01-28 14:37:44 +08:00
jk4235
ba29f10ae4 fix: enhance Vite configuration and improve DOM snapshot messaging
- Added path replacements for dom-snapshot in Vite configuration to streamline module resolution.
- Updated snapshot-provider to include frameId in chrome.tabs.sendMessage for improved messaging context.
- Refactored integration tests to utilize async mocks for storage operations, enhancing test reliability and clarity.
- Added support for iframe elements in the DOM collector to ensure accurate role resolution.
2026-01-28 14:29:28 +08:00
jk4235
6eb44c21b3 fix: support iframe element operations in DomLocator
- Add recursive iframe search in queryByUid to find elements across iframes
- Use duck typing instead of instanceof for cross-iframe type checks
- Add helper functions isHTMLElement, isInputElement, isTextAreaElement
- Support both message formats for DOM snapshot collection in content script
2026-01-28 14:06:41 +08:00
jk4235
550934620f fix: update test mocks for IndexedDB and migration
- Use vi.mock with class syntax for IndexedDBStorage mock
- Import ConversationStorage after mocks are set up
- Use vi.importActual for migration integration test to test real behavior
- Fix dom-locator.test.ts to match new API
2026-01-28 13:56:20 +08:00
jk4235
f130a99d65 fix: update dom-locator.test.ts to match new API
- DomLocator now only takes tabId, methods require uid parameter
- DomElementHandle is now imported from dom-element-handle.ts
- DomElementHandle constructor takes (tabId, node: TextSnapshotNode)
2026-01-28 13:52:22 +08:00
jk4235
9c02e58fd6 fix: resolve type errors after rebase from main
- Fix DomElementHandle import in snapshot-manager.ts
- Add DomElementHandle and SmartElementHandle imports to ui-operations.ts
- Fix getElementByUid to use mode-based handle selection
- Remove unsupported snapshotStrategy parameter from searchSnapshotText
- Remove unused includeIframes parameter from takeSnapshotTool
2026-01-28 13:48:02 +08:00
jk4235
bda7c669aa feat: add highlight functionality to DOM actions for better user feedback
- Implemented a new applyHighlight function to visually highlight elements during DOM actions.
- Integrated highlight application in runDomAction, fillElement, and hoverElement functions to enhance user interaction.
- Ensured that original styles are restored after highlighting, maintaining the element's appearance post-interaction.
2026-01-28 13:45:54 +08:00
Ken Qian
1570a72361 test: enhance Puppeteer tests for DOM snapshot functionality with new iframe interactions
- Added a new test file for DOM snapshot testing, including various iframe scenarios.
- Implemented tests to verify interactions with buttons across multiple iframes, ensuring correct event handling.
- Enhanced existing tests to check for cross-origin iframe access and element collection capabilities.
- Improved structure and clarity of test cases to cover complex iframe content interactions.
2026-01-28 13:44:58 +08:00
Ken Qian
95de104ccb docs: update README for browser-runtime and dom-snapshot with automation and iframe enhancements
- Revised sections in README.md for browser-runtime to clarify automation helpers and introduce DOM-based automation.
- Enhanced README.md for dom-snapshot to detail same-origin iframe support, including recursive traversal and coordinate tracking.
- Improved organization and clarity of automation-related content across both packages.
2026-01-28 13:44:58 +08:00
Ken Qian
f40e9dda65 feat: enhance DOM snapshot management and integrate new features
- Added support for collecting DOM snapshots, including handling of same-origin iframes and nested iframes.
- Introduced new types and functions for managing serialized DOM snapshots and querying capabilities.
- Updated SnapshotManager to utilize the new DOM snapshot strategy, allowing for more comprehensive element interactions.
- Enhanced the browser extension's manifest to support additional permissions and features.
- Improved test coverage for DOM snapshot functionality, ensuring robust handling of various scenarios.
2026-01-28 13:44:58 +08:00
Ken Qian
6f1e885a77 feat: add Puppeteer integration tests for SmartLocator with iframe support
- Introduced comprehensive integration tests for SmartLocator using Puppeteer, covering interactions with elements inside iframes.
- Enhanced the SmartLocator class to manage iframe offsets and ensure accurate bounding box calculations.
- Updated SnapshotManager and types to include frameId for better context in snapshot handling.
- Improved error handling and fallback mechanisms for element interactions, including JS click and hover methods.
2026-01-28 13:42:37 +08:00
Ken Qian
6be902f1ba chore: update vitest configuration across multiple packages to exclude node_modules and dist directories
- Added exclusion patterns for node_modules and dist directories in vitest.config.ts files for aipex-react, browser-ext, browser-runtime, core, and dom-snapshot packages.
- Improved code readability by formatting multiline conditions and function parameters in various files.
- Refactored error handling in iframe-manager.ts to maintain consistency.
2026-01-28 13:42:37 +08:00
Ken Qian
8ab1d13028 fix: add missing newline at end of package.json in browser-runtime 2026-01-28 13:42:37 +08:00
Ken Qian
dcb801a1c3 feat: integrate Puppeteer for testing and enhance snapshot management with iframe support
- Added Puppeteer-based integration tests for IframeManager and SnapshotManager.
- Updated README with testing instructions and CI considerations.
- Introduced vitest configuration for testing.
- Enhanced DebuggerManager to handle Chrome API more robustly.
- Updated package dependencies to include Puppeteer.
- Refactored snapshot management to ensure iframe content is included in tests.
2026-01-28 13:42:37 +08:00
Ken Qian
3209017004 refactor: remove deprecated browser-runtime files and interfaces to streamline codebase 2026-01-28 13:42:06 +08:00
Ken Qian
25c8b29ec7 feat: add IframeManager for merging iframe accessibility trees and update snapshot management to include iframe content 2026-01-28 13:41:55 +08:00
dependabot[bot]
f28f4eb994 build(deps): bump @openai/agents from 0.3.8 to 0.4.3 (#120)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: 0x5457 <0x5457@protonmail.com>
2026-01-26 21:08:49 +08:00
dependabot[bot]
561e7850e1 build(deps): bump @modelcontextprotocol/sdk from 1.25.2 to 1.25.3 (#122) 2026-01-26 10:40:06 +00:00
dependabot[bot]
8c98628c13 build(deps): bump @openai/agents-extensions from 0.3.8 to 0.4.3 (#119) 2026-01-26 07:43:26 +00:00
dependabot[bot]
830208328b build(deps-dev): bump bumpp from 10.3.2 to 10.4.0 (#118) 2026-01-26 07:41:48 +00:00
dependabot[bot]
b5dc48ee90 build(deps): bump markdown-to-jsx from 9.3.0 to 9.6.1 (#114) 2026-01-26 07:41:30 +00:00
dependabot[bot]
1ab362ac1d build(deps): bump @ai-sdk/openai-compatible from 2.0.13 to 2.0.18 (#121) 2026-01-26 07:40:04 +00:00
dependabot[bot]
a6b4aba9fd build(deps): bump @ai-sdk/anthropic from 3.0.10 to 3.0.23 (#117) 2026-01-26 07:38:42 +00:00
dependabot[bot]
5a2c78c423 build(deps-dev): bump knip from 5.71.0 to 5.82.1 (#113) 2026-01-26 07:37:39 +00:00
dependabot[bot]
fa730e8a46 build(deps-dev): bump @biomejs/biome from 2.3.8 to 2.3.12 (#115) 2026-01-26 07:37:08 +00:00
dependabot[bot]
35ec2a4c3d build(deps): bump framer-motion from 12.23.25 to 12.29.0 (#116) 2026-01-26 07:36:52 +00:00
ropzislaw
e6d3dbe0c0 Feature mode (#112) 2026-01-25 23:34:35 +08:00
ropzislaw
4892e9db4c refactor: enhance snapshot logging format for improved readability 2026-01-25 23:32:43 +08:00
ropzislaw
15b4c3558d refactor: replace snapshotManager with snapshotProvider and improve snapshot logging 2026-01-25 23:32:06 +08:00
ropzislaw
8761dd24bb refactor: update migration functions to use named exports and improve type handling 2026-01-25 23:17:50 +08:00
ropzislaw
debc8a7826 refactor: improve code formatting and consistency across multiple files 2026-01-25 23:08:55 +08:00
ropzislaw
10875e40c5 feat: add skills tab to settings page and update translations 2026-01-25 23:08:36 +08:00
ropzislaw
9098ccf5b8 Feature mode (#110) 2026-01-23 14:49:30 +08:00
ropzislaw
506e776818 refactor: reorganize imports and improve code formatting across multiple files 2026-01-21 01:27:04 +08:00
ropzislaw
7a8ad5ddd7 feat: add automation mode support and integrate dom-snapshot package 2026-01-21 01:26:49 +08:00
ropzislaw
0738605c02 migrate skill system (#108) 2026-01-20 02:37:56 +08:00
ropzislaw
047baaf727 fix: comment out voice export in index.ts 2026-01-20 02:33:34 +08:00
ropzislaw
45e504eb43 feat: implement token watermark and recent message protection in ConversationCompressor 2026-01-20 02:33:34 +08:00