athena-browser-mcp 1.0.3 → 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +131 -300
- package/dist/src/browser/index.d.ts +8 -0
- package/dist/src/browser/index.d.ts.map +1 -0
- package/dist/src/browser/index.js +8 -0
- package/dist/src/browser/index.js.map +1 -0
- package/dist/src/browser/page-registry.d.ts +126 -0
- package/dist/src/browser/page-registry.d.ts.map +1 -0
- package/dist/src/browser/page-registry.js +185 -0
- package/dist/src/browser/page-registry.js.map +1 -0
- package/dist/src/browser/session-manager.d.ts +246 -0
- package/dist/src/browser/session-manager.d.ts.map +1 -0
- package/dist/src/browser/session-manager.js +619 -0
- package/dist/src/browser/session-manager.js.map +1 -0
- package/dist/src/cdp/cdp-client.interface.d.ts +184 -0
- package/dist/src/cdp/cdp-client.interface.d.ts.map +1 -0
- package/dist/src/cdp/cdp-client.interface.js +9 -0
- package/dist/src/cdp/cdp-client.interface.js.map +1 -0
- package/dist/src/cdp/index.d.ts +9 -0
- package/dist/src/cdp/index.d.ts.map +1 -0
- package/dist/src/cdp/index.js +8 -0
- package/dist/src/cdp/index.js.map +1 -0
- package/dist/src/cdp/playwright-cdp-client.d.ts +84 -0
- package/dist/src/cdp/playwright-cdp-client.d.ts.map +1 -0
- package/dist/src/cdp/playwright-cdp-client.js +239 -0
- package/dist/src/cdp/playwright-cdp-client.js.map +1 -0
- package/dist/src/factpack/action-selector.d.ts +36 -0
- package/dist/src/factpack/action-selector.d.ts.map +1 -0
- package/dist/src/factpack/action-selector.js +367 -0
- package/dist/src/factpack/action-selector.js.map +1 -0
- package/dist/src/factpack/dialog-detector.d.ts +19 -0
- package/dist/src/factpack/dialog-detector.d.ts.map +1 -0
- package/dist/src/factpack/dialog-detector.js +354 -0
- package/dist/src/factpack/dialog-detector.js.map +1 -0
- package/dist/src/factpack/form-detector.d.ts +28 -0
- package/dist/src/factpack/form-detector.d.ts.map +1 -0
- package/dist/src/factpack/form-detector.js +555 -0
- package/dist/src/factpack/form-detector.js.map +1 -0
- package/dist/src/factpack/index.d.ts +32 -0
- package/dist/src/factpack/index.d.ts.map +1 -0
- package/dist/src/factpack/index.js +73 -0
- package/dist/src/factpack/index.js.map +1 -0
- package/dist/src/factpack/page-classifier.d.ts +22 -0
- package/dist/src/factpack/page-classifier.d.ts.map +1 -0
- package/dist/src/factpack/page-classifier.js +526 -0
- package/dist/src/factpack/page-classifier.js.map +1 -0
- package/dist/src/factpack/types.d.ts +307 -0
- package/dist/src/factpack/types.d.ts.map +1 -0
- package/dist/src/factpack/types.js +12 -0
- package/dist/src/factpack/types.js.map +1 -0
- package/dist/src/index.d.ts +6 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +130 -83
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/constants.d.ts +27 -0
- package/dist/src/lib/constants.d.ts.map +1 -0
- package/dist/src/lib/constants.js +63 -0
- package/dist/src/lib/constants.js.map +1 -0
- package/dist/src/lib/index.d.ts +12 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/index.js +17 -0
- package/dist/src/lib/index.js.map +1 -0
- package/dist/src/lib/regions.d.ts +29 -0
- package/dist/src/lib/regions.d.ts.map +1 -0
- package/dist/src/lib/regions.js +93 -0
- package/dist/src/lib/regions.js.map +1 -0
- package/dist/src/lib/scoring.d.ts +47 -0
- package/dist/src/lib/scoring.d.ts.map +1 -0
- package/dist/src/lib/scoring.js +79 -0
- package/dist/src/lib/scoring.js.map +1 -0
- package/dist/src/lib/selectors.d.ts +42 -0
- package/dist/src/lib/selectors.d.ts.map +1 -0
- package/dist/src/lib/selectors.js +138 -0
- package/dist/src/lib/selectors.js.map +1 -0
- package/dist/src/lib/text-utils.d.ts +138 -0
- package/dist/src/lib/text-utils.d.ts.map +1 -0
- package/dist/src/lib/text-utils.js +347 -0
- package/dist/src/lib/text-utils.js.map +1 -0
- package/dist/src/query/index.d.ts +9 -0
- package/dist/src/query/index.d.ts.map +1 -0
- package/dist/src/query/index.js +10 -0
- package/dist/src/query/index.js.map +1 -0
- package/dist/src/query/query-engine.d.ts +111 -0
- package/dist/src/query/query-engine.d.ts.map +1 -0
- package/dist/src/query/query-engine.js +509 -0
- package/dist/src/query/query-engine.js.map +1 -0
- package/dist/src/query/types/index.d.ts +5 -0
- package/dist/src/query/types/index.d.ts.map +1 -0
- package/dist/src/query/types/index.js +5 -0
- package/dist/src/query/types/index.js.map +1 -0
- package/dist/src/query/types/query.types.d.ts +141 -0
- package/dist/src/query/types/query.types.d.ts.map +1 -0
- package/dist/src/query/types/query.types.js +19 -0
- package/dist/src/query/types/query.types.js.map +1 -0
- package/dist/src/renderer/budget-manager.d.ts +46 -0
- package/dist/src/renderer/budget-manager.d.ts.map +1 -0
- package/dist/src/renderer/budget-manager.js +133 -0
- package/dist/src/renderer/budget-manager.js.map +1 -0
- package/dist/src/renderer/constants.d.ts +38 -0
- package/dist/src/renderer/constants.d.ts.map +1 -0
- package/dist/src/renderer/constants.js +29 -0
- package/dist/src/renderer/constants.js.map +1 -0
- package/dist/src/renderer/index.d.ts +12 -0
- package/dist/src/renderer/index.d.ts.map +1 -0
- package/dist/src/renderer/index.js +16 -0
- package/dist/src/renderer/index.js.map +1 -0
- package/dist/src/renderer/section-renderers.d.ts +42 -0
- package/dist/src/renderer/section-renderers.d.ts.map +1 -0
- package/dist/src/renderer/section-renderers.js +252 -0
- package/dist/src/renderer/section-renderers.js.map +1 -0
- package/dist/src/renderer/token-counter.d.ts +45 -0
- package/dist/src/renderer/token-counter.d.ts.map +1 -0
- package/dist/src/renderer/token-counter.js +65 -0
- package/dist/src/renderer/token-counter.js.map +1 -0
- package/dist/src/renderer/types.d.ts +71 -0
- package/dist/src/renderer/types.d.ts.map +1 -0
- package/dist/src/renderer/types.js +7 -0
- package/dist/src/renderer/types.js.map +1 -0
- package/dist/src/renderer/xml-renderer.d.ts +42 -0
- package/dist/src/renderer/xml-renderer.d.ts.map +1 -0
- package/dist/src/renderer/xml-renderer.js +103 -0
- package/dist/src/renderer/xml-renderer.js.map +1 -0
- package/dist/src/server/index.d.ts +8 -0
- package/dist/src/server/index.d.ts.map +1 -0
- package/dist/src/server/index.js +8 -0
- package/dist/src/server/index.js.map +1 -0
- package/dist/src/server/mcp-server.d.ts +24 -30
- package/dist/src/server/mcp-server.d.ts.map +1 -1
- package/dist/src/server/mcp-server.js +68 -321
- package/dist/src/server/mcp-server.js.map +1 -1
- package/dist/src/server/session-store.d.ts +148 -0
- package/dist/src/server/session-store.d.ts.map +1 -0
- package/dist/src/server/session-store.js +224 -0
- package/dist/src/server/session-store.js.map +1 -0
- package/dist/src/shared/errors/browser-session.error.d.ts +102 -0
- package/dist/src/shared/errors/browser-session.error.d.ts.map +1 -0
- package/dist/src/shared/errors/browser-session.error.js +153 -0
- package/dist/src/shared/errors/browser-session.error.js.map +1 -0
- package/dist/src/shared/errors/index.d.ts +2 -6
- package/dist/src/shared/errors/index.d.ts.map +1 -1
- package/dist/src/shared/errors/index.js +2 -6
- package/dist/src/shared/errors/index.js.map +1 -1
- package/dist/src/shared/services/index.d.ts +1 -3
- package/dist/src/shared/services/index.d.ts.map +1 -1
- package/dist/src/shared/services/index.js +1 -3
- package/dist/src/shared/services/index.js.map +1 -1
- package/dist/src/shared/services/logging.service.d.ts +10 -1
- package/dist/src/shared/services/logging.service.d.ts.map +1 -1
- package/dist/src/shared/services/logging.service.js +11 -1
- package/dist/src/shared/services/logging.service.js.map +1 -1
- package/dist/src/shared/services/selector-builder.service.d.ts +3 -6
- package/dist/src/shared/services/selector-builder.service.d.ts.map +1 -1
- package/dist/src/shared/services/selector-builder.service.js +42 -34
- package/dist/src/shared/services/selector-builder.service.js.map +1 -1
- package/dist/src/shared/types/base.types.d.ts +23 -81
- package/dist/src/shared/types/base.types.d.ts.map +1 -1
- package/dist/src/shared/types/base.types.js +4 -1
- package/dist/src/shared/types/base.types.js.map +1 -1
- package/dist/src/snapshot/element-resolver.d.ts +102 -0
- package/dist/src/snapshot/element-resolver.d.ts.map +1 -0
- package/dist/src/snapshot/element-resolver.js +379 -0
- package/dist/src/snapshot/element-resolver.js.map +1 -0
- package/dist/src/snapshot/extractors/attribute-extractor.d.ts +40 -0
- package/dist/src/snapshot/extractors/attribute-extractor.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/attribute-extractor.js +237 -0
- package/dist/src/snapshot/extractors/attribute-extractor.js.map +1 -0
- package/dist/src/snapshot/extractors/ax-extractor.d.ts +31 -0
- package/dist/src/snapshot/extractors/ax-extractor.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/ax-extractor.js +106 -0
- package/dist/src/snapshot/extractors/ax-extractor.js.map +1 -0
- package/dist/src/snapshot/extractors/dom-extractor.d.ts +21 -0
- package/dist/src/snapshot/extractors/dom-extractor.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/dom-extractor.js +137 -0
- package/dist/src/snapshot/extractors/dom-extractor.js.map +1 -0
- package/dist/src/snapshot/extractors/grouping-resolver.d.ts +39 -0
- package/dist/src/snapshot/extractors/grouping-resolver.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/grouping-resolver.js +260 -0
- package/dist/src/snapshot/extractors/grouping-resolver.js.map +1 -0
- package/dist/src/snapshot/extractors/index.d.ts +19 -0
- package/dist/src/snapshot/extractors/index.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/index.js +27 -0
- package/dist/src/snapshot/extractors/index.js.map +1 -0
- package/dist/src/snapshot/extractors/label-resolver.d.ts +44 -0
- package/dist/src/snapshot/extractors/label-resolver.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/label-resolver.js +173 -0
- package/dist/src/snapshot/extractors/label-resolver.js.map +1 -0
- package/dist/src/snapshot/extractors/layout-extractor.d.ts +52 -0
- package/dist/src/snapshot/extractors/layout-extractor.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/layout-extractor.js +369 -0
- package/dist/src/snapshot/extractors/layout-extractor.js.map +1 -0
- package/dist/src/snapshot/extractors/locator-builder.d.ts +27 -0
- package/dist/src/snapshot/extractors/locator-builder.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/locator-builder.js +223 -0
- package/dist/src/snapshot/extractors/locator-builder.js.map +1 -0
- package/dist/src/snapshot/extractors/region-resolver.d.ts +31 -0
- package/dist/src/snapshot/extractors/region-resolver.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/region-resolver.js +168 -0
- package/dist/src/snapshot/extractors/region-resolver.js.map +1 -0
- package/dist/src/snapshot/extractors/state-extractor.d.ts +30 -0
- package/dist/src/snapshot/extractors/state-extractor.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/state-extractor.js +181 -0
- package/dist/src/snapshot/extractors/state-extractor.js.map +1 -0
- package/dist/src/snapshot/extractors/types.d.ts +208 -0
- package/dist/src/snapshot/extractors/types.d.ts.map +1 -0
- package/dist/src/snapshot/extractors/types.js +145 -0
- package/dist/src/snapshot/extractors/types.js.map +1 -0
- package/dist/src/snapshot/index.d.ts +14 -0
- package/dist/src/snapshot/index.d.ts.map +1 -0
- package/dist/src/snapshot/index.js +18 -0
- package/dist/src/snapshot/index.js.map +1 -0
- package/dist/src/snapshot/snapshot-compiler.d.ts +73 -0
- package/dist/src/snapshot/snapshot-compiler.d.ts.map +1 -0
- package/dist/src/snapshot/snapshot-compiler.js +689 -0
- package/dist/src/snapshot/snapshot-compiler.js.map +1 -0
- package/dist/src/snapshot/snapshot-store.d.ts +137 -0
- package/dist/src/snapshot/snapshot-store.d.ts.map +1 -0
- package/dist/src/snapshot/snapshot-store.js +202 -0
- package/dist/src/snapshot/snapshot-store.js.map +1 -0
- package/dist/src/snapshot/snapshot.types.d.ts +236 -0
- package/dist/src/snapshot/snapshot.types.d.ts.map +1 -0
- package/dist/src/snapshot/snapshot.types.js +54 -0
- package/dist/src/snapshot/snapshot.types.js.map +1 -0
- package/dist/src/tools/browser-tools.d.ts +165 -0
- package/dist/src/tools/browser-tools.d.ts.map +1 -0
- package/dist/src/tools/browser-tools.js +932 -0
- package/dist/src/tools/browser-tools.js.map +1 -0
- package/dist/src/tools/index.d.ts +10 -0
- package/dist/src/tools/index.d.ts.map +1 -0
- package/dist/src/tools/index.js +54 -0
- package/dist/src/tools/index.js.map +1 -0
- package/dist/src/tools/tool-schemas.d.ts +10884 -0
- package/dist/src/tools/tool-schemas.d.ts.map +1 -0
- package/dist/src/tools/tool-schemas.js +883 -0
- package/dist/src/tools/tool-schemas.js.map +1 -0
- package/package.json +5 -3
- package/dist/src/bridge/cef-bridge.d.ts +0 -115
- package/dist/src/bridge/cef-bridge.d.ts.map +0 -1
- package/dist/src/bridge/cef-bridge.js +0 -417
- package/dist/src/bridge/cef-bridge.js.map +0 -1
- package/dist/src/domains/interaction/handlers/action.handler.d.ts +0 -72
- package/dist/src/domains/interaction/handlers/action.handler.d.ts.map +0 -1
- package/dist/src/domains/interaction/handlers/action.handler.js +0 -304
- package/dist/src/domains/interaction/handlers/action.handler.js.map +0 -1
- package/dist/src/domains/interaction/handlers/form.handler.d.ts +0 -66
- package/dist/src/domains/interaction/handlers/form.handler.d.ts.map +0 -1
- package/dist/src/domains/interaction/handlers/form.handler.js +0 -180
- package/dist/src/domains/interaction/handlers/form.handler.js.map +0 -1
- package/dist/src/domains/interaction/handlers/index.d.ts +0 -7
- package/dist/src/domains/interaction/handlers/index.d.ts.map +0 -1
- package/dist/src/domains/interaction/handlers/index.js +0 -7
- package/dist/src/domains/interaction/handlers/index.js.map +0 -1
- package/dist/src/domains/interaction/handlers/keyboard.handler.d.ts +0 -44
- package/dist/src/domains/interaction/handlers/keyboard.handler.d.ts.map +0 -1
- package/dist/src/domains/interaction/handlers/keyboard.handler.js +0 -247
- package/dist/src/domains/interaction/handlers/keyboard.handler.js.map +0 -1
- package/dist/src/domains/interaction/interaction.schemas.d.ts +0 -2463
- package/dist/src/domains/interaction/interaction.schemas.d.ts.map +0 -1
- package/dist/src/domains/interaction/interaction.schemas.js +0 -162
- package/dist/src/domains/interaction/interaction.schemas.js.map +0 -1
- package/dist/src/domains/interaction/interaction.types.d.ts +0 -134
- package/dist/src/domains/interaction/interaction.types.d.ts.map +0 -1
- package/dist/src/domains/interaction/interaction.types.js +0 -7
- package/dist/src/domains/interaction/interaction.types.js.map +0 -1
- package/dist/src/domains/interaction/strategies/accessibility-click.strategy.d.ts +0 -24
- package/dist/src/domains/interaction/strategies/accessibility-click.strategy.d.ts.map +0 -1
- package/dist/src/domains/interaction/strategies/accessibility-click.strategy.js +0 -69
- package/dist/src/domains/interaction/strategies/accessibility-click.strategy.js.map +0 -1
- package/dist/src/domains/interaction/strategies/bbox-click.strategy.d.ts +0 -28
- package/dist/src/domains/interaction/strategies/bbox-click.strategy.d.ts.map +0 -1
- package/dist/src/domains/interaction/strategies/bbox-click.strategy.js +0 -54
- package/dist/src/domains/interaction/strategies/bbox-click.strategy.js.map +0 -1
- package/dist/src/domains/interaction/strategies/click-strategy.interface.d.ts +0 -24
- package/dist/src/domains/interaction/strategies/click-strategy.interface.d.ts.map +0 -1
- package/dist/src/domains/interaction/strategies/click-strategy.interface.js +0 -7
- package/dist/src/domains/interaction/strategies/click-strategy.interface.js.map +0 -1
- package/dist/src/domains/interaction/strategies/dom-click.strategy.d.ts +0 -40
- package/dist/src/domains/interaction/strategies/dom-click.strategy.d.ts.map +0 -1
- package/dist/src/domains/interaction/strategies/dom-click.strategy.js +0 -135
- package/dist/src/domains/interaction/strategies/dom-click.strategy.js.map +0 -1
- package/dist/src/domains/interaction/strategies/index.d.ts +0 -8
- package/dist/src/domains/interaction/strategies/index.d.ts.map +0 -1
- package/dist/src/domains/interaction/strategies/index.js +0 -8
- package/dist/src/domains/interaction/strategies/index.js.map +0 -1
- package/dist/src/domains/navigation/handlers/index.d.ts +0 -5
- package/dist/src/domains/navigation/handlers/index.d.ts.map +0 -1
- package/dist/src/domains/navigation/handlers/index.js +0 -5
- package/dist/src/domains/navigation/handlers/index.js.map +0 -1
- package/dist/src/domains/navigation/handlers/navigation.handler.d.ts +0 -68
- package/dist/src/domains/navigation/handlers/navigation.handler.d.ts.map +0 -1
- package/dist/src/domains/navigation/handlers/navigation.handler.js +0 -246
- package/dist/src/domains/navigation/handlers/navigation.handler.js.map +0 -1
- package/dist/src/domains/navigation/navigation.schemas.d.ts +0 -115
- package/dist/src/domains/navigation/navigation.schemas.d.ts.map +0 -1
- package/dist/src/domains/navigation/navigation.schemas.js +0 -65
- package/dist/src/domains/navigation/navigation.schemas.js.map +0 -1
- package/dist/src/domains/navigation/navigation.types.d.ts +0 -70
- package/dist/src/domains/navigation/navigation.types.d.ts.map +0 -1
- package/dist/src/domains/navigation/navigation.types.js +0 -7
- package/dist/src/domains/navigation/navigation.types.js.map +0 -1
- package/dist/src/domains/perception/handlers/ax-tree.handler.d.ts +0 -32
- package/dist/src/domains/perception/handlers/ax-tree.handler.d.ts.map +0 -1
- package/dist/src/domains/perception/handlers/ax-tree.handler.js +0 -60
- package/dist/src/domains/perception/handlers/ax-tree.handler.js.map +0 -1
- package/dist/src/domains/perception/handlers/content.handler.d.ts +0 -55
- package/dist/src/domains/perception/handlers/content.handler.d.ts.map +0 -1
- package/dist/src/domains/perception/handlers/content.handler.js +0 -150
- package/dist/src/domains/perception/handlers/content.handler.js.map +0 -1
- package/dist/src/domains/perception/handlers/dom-tree.handler.d.ts +0 -21
- package/dist/src/domains/perception/handlers/dom-tree.handler.d.ts.map +0 -1
- package/dist/src/domains/perception/handlers/dom-tree.handler.js +0 -40
- package/dist/src/domains/perception/handlers/dom-tree.handler.js.map +0 -1
- package/dist/src/domains/perception/handlers/index.d.ts +0 -11
- package/dist/src/domains/perception/handlers/index.d.ts.map +0 -1
- package/dist/src/domains/perception/handlers/index.js +0 -11
- package/dist/src/domains/perception/handlers/index.js.map +0 -1
- package/dist/src/domains/perception/handlers/layout.handler.d.ts +0 -30
- package/dist/src/domains/perception/handlers/layout.handler.d.ts.map +0 -1
- package/dist/src/domains/perception/handlers/layout.handler.js +0 -61
- package/dist/src/domains/perception/handlers/layout.handler.js.map +0 -1
- package/dist/src/domains/perception/handlers/network.handler.d.ts +0 -31
- package/dist/src/domains/perception/handlers/network.handler.d.ts.map +0 -1
- package/dist/src/domains/perception/handlers/network.handler.js +0 -59
- package/dist/src/domains/perception/handlers/network.handler.js.map +0 -1
- package/dist/src/domains/perception/handlers/ui-discover.handler.d.ts +0 -21
- package/dist/src/domains/perception/handlers/ui-discover.handler.d.ts.map +0 -1
- package/dist/src/domains/perception/handlers/ui-discover.handler.js +0 -37
- package/dist/src/domains/perception/handlers/ui-discover.handler.js.map +0 -1
- package/dist/src/domains/perception/handlers/vision.handler.d.ts +0 -43
- package/dist/src/domains/perception/handlers/vision.handler.d.ts.map +0 -1
- package/dist/src/domains/perception/handlers/vision.handler.js +0 -116
- package/dist/src/domains/perception/handlers/vision.handler.js.map +0 -1
- package/dist/src/domains/perception/perception.schemas.d.ts +0 -1223
- package/dist/src/domains/perception/perception.schemas.d.ts.map +0 -1
- package/dist/src/domains/perception/perception.schemas.js +0 -108
- package/dist/src/domains/perception/perception.schemas.js.map +0 -1
- package/dist/src/domains/perception/perception.types.d.ts +0 -90
- package/dist/src/domains/perception/perception.types.d.ts.map +0 -1
- package/dist/src/domains/perception/perception.types.js +0 -7
- package/dist/src/domains/perception/perception.types.js.map +0 -1
- package/dist/src/domains/session/handlers/index.d.ts +0 -5
- package/dist/src/domains/session/handlers/index.d.ts.map +0 -1
- package/dist/src/domains/session/handlers/index.js +0 -5
- package/dist/src/domains/session/handlers/index.js.map +0 -1
- package/dist/src/domains/session/handlers/session.handler.d.ts +0 -68
- package/dist/src/domains/session/handlers/session.handler.d.ts.map +0 -1
- package/dist/src/domains/session/handlers/session.handler.js +0 -225
- package/dist/src/domains/session/handlers/session.handler.js.map +0 -1
- package/dist/src/domains/session/session.schemas.d.ts +0 -483
- package/dist/src/domains/session/session.schemas.d.ts.map +0 -1
- package/dist/src/domains/session/session.schemas.js +0 -61
- package/dist/src/domains/session/session.schemas.js.map +0 -1
- package/dist/src/domains/session/session.types.d.ts +0 -64
- package/dist/src/domains/session/session.types.d.ts.map +0 -1
- package/dist/src/domains/session/session.types.js +0 -7
- package/dist/src/domains/session/session.types.js.map +0 -1
- package/dist/src/server/tool-registry.d.ts +0 -53
- package/dist/src/server/tool-registry.d.ts.map +0 -1
- package/dist/src/server/tool-registry.js +0 -39
- package/dist/src/server/tool-registry.js.map +0 -1
- package/dist/src/server/types.d.ts +0 -46
- package/dist/src/server/types.d.ts.map +0 -1
- package/dist/src/server/types.js +0 -7
- package/dist/src/server/types.js.map +0 -1
- package/dist/src/shared/errors/error-codes.d.ts +0 -52
- package/dist/src/shared/errors/error-codes.d.ts.map +0 -1
- package/dist/src/shared/errors/error-codes.js +0 -63
- package/dist/src/shared/errors/error-codes.js.map +0 -1
- package/dist/src/shared/errors/error-response.d.ts +0 -61
- package/dist/src/shared/errors/error-response.d.ts.map +0 -1
- package/dist/src/shared/errors/error-response.js +0 -136
- package/dist/src/shared/errors/error-response.js.map +0 -1
- package/dist/src/shared/errors/mcp-error.d.ts +0 -57
- package/dist/src/shared/errors/mcp-error.d.ts.map +0 -1
- package/dist/src/shared/errors/mcp-error.js +0 -93
- package/dist/src/shared/errors/mcp-error.js.map +0 -1
- package/dist/src/shared/schemas/base.schemas.d.ts +0 -454
- package/dist/src/shared/schemas/base.schemas.d.ts.map +0 -1
- package/dist/src/shared/schemas/base.schemas.js +0 -168
- package/dist/src/shared/schemas/base.schemas.js.map +0 -1
- package/dist/src/shared/schemas/index.d.ts +0 -5
- package/dist/src/shared/schemas/index.d.ts.map +0 -1
- package/dist/src/shared/schemas/index.js +0 -5
- package/dist/src/shared/schemas/index.js.map +0 -1
- package/dist/src/shared/services/element-fusion.service.d.ts +0 -80
- package/dist/src/shared/services/element-fusion.service.d.ts.map +0 -1
- package/dist/src/shared/services/element-fusion.service.js +0 -286
- package/dist/src/shared/services/element-fusion.service.js.map +0 -1
- package/dist/src/shared/services/element-resolver.service.d.ts +0 -93
- package/dist/src/shared/services/element-resolver.service.d.ts.map +0 -1
- package/dist/src/shared/services/element-resolver.service.js +0 -378
- package/dist/src/shared/services/element-resolver.service.js.map +0 -1
- package/dist/src/shared/services/form-detector.service.d.ts +0 -119
- package/dist/src/shared/services/form-detector.service.d.ts.map +0 -1
- package/dist/src/shared/services/form-detector.service.js +0 -308
- package/dist/src/shared/services/form-detector.service.js.map +0 -1
- package/dist/src/shared/services/visibility-checker.service.d.ts +0 -55
- package/dist/src/shared/services/visibility-checker.service.d.ts.map +0 -1
- package/dist/src/shared/services/visibility-checker.service.js +0 -204
- package/dist/src/shared/services/visibility-checker.service.js.map +0 -1
- package/dist/tests/mocks/cdp-bridge.mock.d.ts +0 -45
- package/dist/tests/mocks/cdp-bridge.mock.d.ts.map +0 -1
- package/dist/tests/mocks/cdp-bridge.mock.js +0 -126
- package/dist/tests/mocks/cdp-bridge.mock.js.map +0 -1
- package/dist/tests/unit/shared/dom-transformer.service.test.d.ts +0 -5
- package/dist/tests/unit/shared/dom-transformer.service.test.d.ts.map +0 -1
- package/dist/tests/unit/shared/dom-transformer.service.test.js +0 -273
- package/dist/tests/unit/shared/dom-transformer.service.test.js.map +0 -1
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Layout Handler
|
|
3
|
-
*
|
|
4
|
-
* Handles layout_get_box_model and layout_is_visible tools
|
|
5
|
-
*/
|
|
6
|
-
export class LayoutHandler {
|
|
7
|
-
cdpBridge;
|
|
8
|
-
elementResolver;
|
|
9
|
-
visibilityChecker;
|
|
10
|
-
constructor(cdpBridge, elementResolver, visibilityChecker) {
|
|
11
|
-
this.cdpBridge = cdpBridge;
|
|
12
|
-
this.elementResolver = elementResolver;
|
|
13
|
-
this.visibilityChecker = visibilityChecker;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Get box model (bounding box and quads) for an element
|
|
17
|
-
*/
|
|
18
|
-
async getBoxModel(params) {
|
|
19
|
-
// Resolve the target to an ElementRef with nodeId
|
|
20
|
-
const element = await this.elementResolver.resolve(params.target);
|
|
21
|
-
if (!element.nodeId) {
|
|
22
|
-
throw new Error('Could not resolve element nodeId');
|
|
23
|
-
}
|
|
24
|
-
// Get box model from CDP
|
|
25
|
-
const result = await this.cdpBridge.executeDevToolsMethod('DOM.getBoxModel', {
|
|
26
|
-
nodeId: element.nodeId,
|
|
27
|
-
});
|
|
28
|
-
// Extract quad and bbox
|
|
29
|
-
const quad = result.model.content;
|
|
30
|
-
const bbox = this.quadToBBox(quad);
|
|
31
|
-
return {
|
|
32
|
-
quad,
|
|
33
|
-
bbox,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Check if an element is visible
|
|
38
|
-
*/
|
|
39
|
-
async isVisible(params) {
|
|
40
|
-
// Resolve the target to an ElementRef with nodeId
|
|
41
|
-
const element = await this.elementResolver.resolve(params.target);
|
|
42
|
-
// Use visibility checker service
|
|
43
|
-
const visible = await this.visibilityChecker.isVisible(element);
|
|
44
|
-
return {
|
|
45
|
-
visible,
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Convert CDP quad to BBox
|
|
50
|
-
*/
|
|
51
|
-
quadToBBox(quad) {
|
|
52
|
-
const x = Math.min(quad[0], quad[2], quad[4], quad[6]);
|
|
53
|
-
const y = Math.min(quad[1], quad[3], quad[5], quad[7]);
|
|
54
|
-
const maxX = Math.max(quad[0], quad[2], quad[4], quad[6]);
|
|
55
|
-
const maxY = Math.max(quad[1], quad[3], quad[5], quad[7]);
|
|
56
|
-
const w = maxX - x;
|
|
57
|
-
const h = maxY - y;
|
|
58
|
-
return { x, y, w, h };
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=layout.handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layout.handler.js","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/layout.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA6BH,MAAM,OAAO,aAAa;IAEL;IACA;IACA;IAHnB,YACmB,SAAoB,EACpB,eAAuC,EACvC,iBAA2C;QAF3C,cAAS,GAAT,SAAS,CAAW;QACpB,oBAAe,GAAf,eAAe,CAAwB;QACvC,sBAAiB,GAAjB,iBAAiB,CAA0B;IAC3D,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,WAAW,CAAC,MAA+B;QAC/C,kDAAkD;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElE,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,yBAAyB;QACzB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAiB,iBAAiB,EAAE;YAC3F,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QAEH,wBAAwB;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAEnC,OAAO;YACL,IAAI;YACJ,IAAI;SACL,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS,CAAC,MAA6B;QAC3C,kDAAkD;QAClD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAElE,iCAAiC;QACjC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEhE,OAAO;YACL,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,IAAc;QAC/B,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC;QAEnB,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACxB,CAAC;CACF"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Network Handler
|
|
3
|
-
*
|
|
4
|
-
* Handles net_observe and net_get_response_body tools
|
|
5
|
-
*/
|
|
6
|
-
import type { NetObserveParams, NetObserveResponse, NetGetResponseBodyParams, NetGetResponseBodyResponse } from '../perception.types.js';
|
|
7
|
-
import type { NetworkEvent } from '../../../shared/types/index.js';
|
|
8
|
-
interface CdpBridge {
|
|
9
|
-
executeDevToolsMethod<T>(method: string, params?: unknown): Promise<T>;
|
|
10
|
-
getObservedNetworkEvents(): NetworkEvent[];
|
|
11
|
-
}
|
|
12
|
-
export declare class NetworkHandler {
|
|
13
|
-
private readonly cdpBridge;
|
|
14
|
-
constructor(cdpBridge: CdpBridge);
|
|
15
|
-
/**
|
|
16
|
-
* Observe network events
|
|
17
|
-
*
|
|
18
|
-
* Returns an async iterable of network events matching the patterns
|
|
19
|
-
*/
|
|
20
|
-
observe(params: NetObserveParams): Promise<NetObserveResponse>;
|
|
21
|
-
/**
|
|
22
|
-
* Get response body for a specific network request
|
|
23
|
-
*/
|
|
24
|
-
getResponseBody(params: NetGetResponseBodyParams): Promise<NetGetResponseBodyResponse>;
|
|
25
|
-
/**
|
|
26
|
-
* Create an async iterable of network events
|
|
27
|
-
*/
|
|
28
|
-
private observeNetworkEvents;
|
|
29
|
-
}
|
|
30
|
-
export {};
|
|
31
|
-
//# sourceMappingURL=network.handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.handler.d.ts","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/network.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,wBAAwB,EACxB,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,UAAU,SAAS;IACjB,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACvE,wBAAwB,IAAI,YAAY,EAAE,CAAC;CAC5C;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAEjD;;;;OAIG;IACG,OAAO,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUpE;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,0BAA0B,CAAC;IAW5F;;OAEG;YACY,oBAAoB;CA2BpC"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Network Handler
|
|
3
|
-
*
|
|
4
|
-
* Handles net_observe and net_get_response_body tools
|
|
5
|
-
*/
|
|
6
|
-
export class NetworkHandler {
|
|
7
|
-
cdpBridge;
|
|
8
|
-
constructor(cdpBridge) {
|
|
9
|
-
this.cdpBridge = cdpBridge;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Observe network events
|
|
13
|
-
*
|
|
14
|
-
* Returns an async iterable of network events matching the patterns
|
|
15
|
-
*/
|
|
16
|
-
async observe(params) {
|
|
17
|
-
// Enable Network domain in CDP
|
|
18
|
-
await this.cdpBridge.executeDevToolsMethod('Network.enable', {});
|
|
19
|
-
// Create async iterable of network events
|
|
20
|
-
const events = this.observeNetworkEvents(params.patterns);
|
|
21
|
-
return { events };
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Get response body for a specific network request
|
|
25
|
-
*/
|
|
26
|
-
async getResponseBody(params) {
|
|
27
|
-
const result = await this.cdpBridge.executeDevToolsMethod('Network.getResponseBody', {
|
|
28
|
-
requestId: params.requestId,
|
|
29
|
-
});
|
|
30
|
-
return result;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Create an async iterable of network events
|
|
34
|
-
*/
|
|
35
|
-
async *observeNetworkEvents(patterns) {
|
|
36
|
-
// This is a simplified implementation
|
|
37
|
-
// In production, you would:
|
|
38
|
-
// 1. Set up event listeners on the CDP client
|
|
39
|
-
// 2. Filter events by patterns
|
|
40
|
-
// 3. Yield events as they arrive
|
|
41
|
-
// For now, just yield any observed events
|
|
42
|
-
const events = this.cdpBridge.getObservedNetworkEvents();
|
|
43
|
-
for (const event of events) {
|
|
44
|
-
// Filter by patterns if provided
|
|
45
|
-
if (patterns && patterns.length > 0) {
|
|
46
|
-
const matches = patterns.some((pattern) => {
|
|
47
|
-
const regex = new RegExp(pattern);
|
|
48
|
-
return regex.test(event.url);
|
|
49
|
-
});
|
|
50
|
-
if (!matches) {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
await Promise.resolve();
|
|
55
|
-
yield event;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=network.handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"network.handler.js","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/network.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAeH,MAAM,OAAO,cAAc;IACI;IAA7B,YAA6B,SAAoB;QAApB,cAAS,GAAT,SAAS,CAAW;IAAG,CAAC;IAErD;;;;OAIG;IACH,KAAK,CAAC,OAAO,CAAC,MAAwB;QACpC,+BAA+B;QAC/B,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;QAEjE,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE1D,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAgC;QACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,qBAAqB,CACvD,yBAAyB,EACzB;YACE,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CACF,CAAC;QAEF,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,CAAC,oBAAoB,CAAC,QAAmB;QACrD,sCAAsC;QACtC,4BAA4B;QAC5B,8CAA8C;QAC9C,+BAA+B;QAC/B,iCAAiC;QAEjC,0CAA0C;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,wBAAwB,EAAE,CAAC;QAEzD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,iCAAiC;YACjC,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;oBACxC,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC;oBAClC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBAC/B,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,SAAS;gBACX,CAAC;YACH,CAAC;YAED,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YACxB,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UI Discovery Handler
|
|
3
|
-
*
|
|
4
|
-
* Handles ui_discover tool - discovers interactive elements
|
|
5
|
-
* FIXES the stub implementation that returned empty arrays
|
|
6
|
-
*/
|
|
7
|
-
import type { UiDiscoverParams, UiDiscoverResponse } from '../perception.types.js';
|
|
8
|
-
import type { ElementFusionService } from '../../../shared/services/index.js';
|
|
9
|
-
import type { DomTreeHandler } from './dom-tree.handler.js';
|
|
10
|
-
import type { AxTreeHandler } from './ax-tree.handler.js';
|
|
11
|
-
export declare class UiDiscoverHandler {
|
|
12
|
-
private readonly domTreeHandler;
|
|
13
|
-
private readonly axTreeHandler;
|
|
14
|
-
private readonly elementFusion;
|
|
15
|
-
constructor(domTreeHandler: DomTreeHandler, axTreeHandler: AxTreeHandler, elementFusion: ElementFusionService);
|
|
16
|
-
/**
|
|
17
|
-
* Discover interactive elements by fusing DOM + AX + layout data
|
|
18
|
-
*/
|
|
19
|
-
handle(params: UiDiscoverParams): Promise<UiDiscoverResponse>;
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=ui-discover.handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui-discover.handler.d.ts","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/ui-discover.handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa;gBAFb,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,oBAAoB;IAGtD;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAoBpE"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* UI Discovery Handler
|
|
3
|
-
*
|
|
4
|
-
* Handles ui_discover tool - discovers interactive elements
|
|
5
|
-
* FIXES the stub implementation that returned empty arrays
|
|
6
|
-
*/
|
|
7
|
-
export class UiDiscoverHandler {
|
|
8
|
-
domTreeHandler;
|
|
9
|
-
axTreeHandler;
|
|
10
|
-
elementFusion;
|
|
11
|
-
constructor(domTreeHandler, axTreeHandler, elementFusion) {
|
|
12
|
-
this.domTreeHandler = domTreeHandler;
|
|
13
|
-
this.axTreeHandler = axTreeHandler;
|
|
14
|
-
this.elementFusion = elementFusion;
|
|
15
|
-
}
|
|
16
|
-
/**
|
|
17
|
-
* Discover interactive elements by fusing DOM + AX + layout data
|
|
18
|
-
*/
|
|
19
|
-
async handle(params) {
|
|
20
|
-
// Step 1: Get DOM tree
|
|
21
|
-
const domTree = await this.domTreeHandler.handle({
|
|
22
|
-
frameId: 'main',
|
|
23
|
-
depth: -1, // Full tree
|
|
24
|
-
visibleOnly: false,
|
|
25
|
-
});
|
|
26
|
-
// Step 2: Get accessibility tree
|
|
27
|
-
const axTree = await this.axTreeHandler.handle({
|
|
28
|
-
frameId: 'main',
|
|
29
|
-
});
|
|
30
|
-
// Step 3: Fuse trees and discover interactive elements
|
|
31
|
-
const elements = await this.elementFusion.discover(axTree, domTree, params.scope);
|
|
32
|
-
return {
|
|
33
|
-
elements,
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=ui-discover.handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui-discover.handler.js","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/ui-discover.handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,MAAM,OAAO,iBAAiB;IAET;IACA;IACA;IAHnB,YACmB,cAA8B,EAC9B,aAA4B,EAC5B,aAAmC;QAFnC,mBAAc,GAAd,cAAc,CAAgB;QAC9B,kBAAa,GAAb,aAAa,CAAe;QAC5B,kBAAa,GAAb,aAAa,CAAsB;IACnD,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAAwB;QACnC,uBAAuB;QACvB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;YAC/C,OAAO,EAAE,MAAM;YACf,KAAK,EAAE,CAAC,CAAC,EAAE,YAAY;YACvB,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,iCAAiC;QACjC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;YAC7C,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,uDAAuD;QACvD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAElF,OAAO;YACL,QAAQ;SACT,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Vision Handler
|
|
3
|
-
*
|
|
4
|
-
* Handles vision_ocr and vision_find_by_text tools
|
|
5
|
-
*/
|
|
6
|
-
import type { VisionOcrParams, VisionOcrResponse, VisionFindByTextParams, VisionFindByTextResponse } from '../perception.types.js';
|
|
7
|
-
import type { BBox } from '../../../shared/types/index.js';
|
|
8
|
-
interface CdpBridge {
|
|
9
|
-
captureScreenshot(region?: BBox): Promise<string>;
|
|
10
|
-
executeDevToolsMethod<T>(method: string, params?: unknown): Promise<T>;
|
|
11
|
-
}
|
|
12
|
-
export declare class VisionHandler {
|
|
13
|
-
private readonly cdpBridge;
|
|
14
|
-
constructor(cdpBridge: CdpBridge);
|
|
15
|
-
/**
|
|
16
|
-
* Perform OCR on a screenshot
|
|
17
|
-
*
|
|
18
|
-
* Note: This is a placeholder implementation. In production, you would:
|
|
19
|
-
* 1. Use Tesseract.js for local OCR
|
|
20
|
-
* 2. Use a cloud OCR service (Google Vision, AWS Textract, etc.)
|
|
21
|
-
* 3. Use the browser's built-in text detection APIs
|
|
22
|
-
*/
|
|
23
|
-
ocr(params: VisionOcrParams): Promise<VisionOcrResponse>;
|
|
24
|
-
/**
|
|
25
|
-
* Find an element by visible text using OCR
|
|
26
|
-
*/
|
|
27
|
-
findByText(params: VisionFindByTextParams): Promise<VisionFindByTextResponse>;
|
|
28
|
-
/**
|
|
29
|
-
* Perform OCR on a screenshot
|
|
30
|
-
* PLACEHOLDER: In production, integrate Tesseract.js or cloud OCR service
|
|
31
|
-
*/
|
|
32
|
-
private performOCR;
|
|
33
|
-
/**
|
|
34
|
-
* Find a text span matching the query
|
|
35
|
-
*/
|
|
36
|
-
private findTextSpan;
|
|
37
|
-
/**
|
|
38
|
-
* Map a bounding box to a DOM element
|
|
39
|
-
*/
|
|
40
|
-
private mapBBoxToElement;
|
|
41
|
-
}
|
|
42
|
-
export {};
|
|
43
|
-
//# sourceMappingURL=vision.handler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vision.handler.d.ts","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/vision.handler.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,wBAAwB,EACzB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,IAAI,EAAc,MAAM,gCAAgC,CAAC;AAEvE,UAAU,SAAS;IACjB,iBAAiB,CAAC,MAAM,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClD,qBAAqB,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACxE;AAED,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,SAAS;gBAAT,SAAS,EAAE,SAAS;IAEjD;;;;;;;OAOG;IACG,GAAG,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAU9D;;OAEG;IACG,UAAU,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAiBnF;;;OAGG;IACH,OAAO,CAAC,UAAU;IAmBlB;;OAEG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;YACW,gBAAgB;CAmC/B"}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Vision Handler
|
|
3
|
-
*
|
|
4
|
-
* Handles vision_ocr and vision_find_by_text tools
|
|
5
|
-
*/
|
|
6
|
-
export class VisionHandler {
|
|
7
|
-
cdpBridge;
|
|
8
|
-
constructor(cdpBridge) {
|
|
9
|
-
this.cdpBridge = cdpBridge;
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* Perform OCR on a screenshot
|
|
13
|
-
*
|
|
14
|
-
* Note: This is a placeholder implementation. In production, you would:
|
|
15
|
-
* 1. Use Tesseract.js for local OCR
|
|
16
|
-
* 2. Use a cloud OCR service (Google Vision, AWS Textract, etc.)
|
|
17
|
-
* 3. Use the browser's built-in text detection APIs
|
|
18
|
-
*/
|
|
19
|
-
async ocr(params) {
|
|
20
|
-
// Take screenshot
|
|
21
|
-
const screenshot = await this.cdpBridge.captureScreenshot(params.region);
|
|
22
|
-
// Perform OCR (placeholder - would use Tesseract.js or cloud service)
|
|
23
|
-
const ocrResult = await this.performOCR(screenshot, params.region);
|
|
24
|
-
return ocrResult;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Find an element by visible text using OCR
|
|
28
|
-
*/
|
|
29
|
-
async findByText(params) {
|
|
30
|
-
// Run OCR on the specified area
|
|
31
|
-
const ocrResult = await this.ocr({ region: params.areaHint });
|
|
32
|
-
// Find matching text span
|
|
33
|
-
const matchingSpan = this.findTextSpan(ocrResult, params.text, params.fuzzy ?? false);
|
|
34
|
-
if (!matchingSpan) {
|
|
35
|
-
return { element: null };
|
|
36
|
-
}
|
|
37
|
-
// Try to map bbox back to a DOM element
|
|
38
|
-
const element = await this.mapBBoxToElement(matchingSpan.bbox);
|
|
39
|
-
return { element };
|
|
40
|
-
}
|
|
41
|
-
/**
|
|
42
|
-
* Perform OCR on a screenshot
|
|
43
|
-
* PLACEHOLDER: In production, integrate Tesseract.js or cloud OCR service
|
|
44
|
-
*/
|
|
45
|
-
performOCR(_screenshot, region) {
|
|
46
|
-
// This is a placeholder implementation
|
|
47
|
-
// In production, you would:
|
|
48
|
-
// 1. Decode base64 screenshot
|
|
49
|
-
// 2. Run through Tesseract.js or cloud OCR
|
|
50
|
-
// 3. Parse results into spans with bboxes
|
|
51
|
-
return Promise.resolve({
|
|
52
|
-
text: '[OCR not implemented - placeholder]',
|
|
53
|
-
spans: [
|
|
54
|
-
{
|
|
55
|
-
text: '[OCR not implemented - placeholder]',
|
|
56
|
-
bbox: region ?? { x: 0, y: 0, w: 100, h: 20 },
|
|
57
|
-
confidence: 0,
|
|
58
|
-
},
|
|
59
|
-
],
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Find a text span matching the query
|
|
64
|
-
*/
|
|
65
|
-
findTextSpan(ocrResult, text, fuzzy) {
|
|
66
|
-
const searchText = fuzzy ? text.toLowerCase() : text;
|
|
67
|
-
for (const span of ocrResult.spans) {
|
|
68
|
-
const spanText = fuzzy ? span.text.toLowerCase() : span.text;
|
|
69
|
-
if (fuzzy) {
|
|
70
|
-
// Fuzzy match: check if text is contained
|
|
71
|
-
if (spanText.includes(searchText)) {
|
|
72
|
-
return span;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
// Exact match
|
|
77
|
-
if (spanText === searchText) {
|
|
78
|
-
return span;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Map a bounding box to a DOM element
|
|
86
|
-
*/
|
|
87
|
-
async mapBBoxToElement(bbox) {
|
|
88
|
-
try {
|
|
89
|
-
// Find element at center of bbox
|
|
90
|
-
const centerX = bbox.x + bbox.w / 2;
|
|
91
|
-
const centerY = bbox.y + bbox.h / 2;
|
|
92
|
-
const result = await this.cdpBridge.executeDevToolsMethod('Runtime.evaluate', {
|
|
93
|
-
expression: `document.elementFromPoint(${centerX}, ${centerY})`,
|
|
94
|
-
returnByValue: false,
|
|
95
|
-
});
|
|
96
|
-
if (!result.result.objectId) {
|
|
97
|
-
return null;
|
|
98
|
-
}
|
|
99
|
-
// Get node info
|
|
100
|
-
const nodeInfo = await this.cdpBridge.executeDevToolsMethod('DOM.describeNode', {
|
|
101
|
-
objectId: result.result.objectId,
|
|
102
|
-
});
|
|
103
|
-
// Build ElementRef
|
|
104
|
-
return {
|
|
105
|
-
frameId: 'main',
|
|
106
|
-
nodeId: nodeInfo.node.nodeId,
|
|
107
|
-
selectors: {},
|
|
108
|
-
bbox,
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
catch {
|
|
112
|
-
return null;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=vision.handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"vision.handler.js","sourceRoot":"","sources":["../../../../../src/domains/perception/handlers/vision.handler.ts"],"names":[],"mappings":"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"}
|