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
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Page Registry
|
|
3
|
+
*
|
|
4
|
+
* Tracks active Playwright pages and their CDP sessions.
|
|
5
|
+
* Provides a central registry for page lifecycle management.
|
|
6
|
+
*/
|
|
7
|
+
import { randomUUID } from 'crypto';
|
|
8
|
+
/**
|
|
9
|
+
* Registry for tracking active pages
|
|
10
|
+
*/
|
|
11
|
+
export class PageRegistry {
|
|
12
|
+
pages = new Map();
|
|
13
|
+
/** Most recently used page ID for default resolution */
|
|
14
|
+
mruPageId = null;
|
|
15
|
+
/**
|
|
16
|
+
* Register a new page with its CDP session
|
|
17
|
+
*
|
|
18
|
+
* @param page - Playwright Page instance
|
|
19
|
+
* @param cdp - CDP client for the page
|
|
20
|
+
* @returns PageHandle with unique page_id
|
|
21
|
+
* @throws Error if page is already closed
|
|
22
|
+
*/
|
|
23
|
+
register(page, cdp) {
|
|
24
|
+
// Validate page is not closed
|
|
25
|
+
if (page.isClosed()) {
|
|
26
|
+
throw new Error('Cannot register a closed page');
|
|
27
|
+
}
|
|
28
|
+
const page_id = `page-${randomUUID()}`;
|
|
29
|
+
const handle = {
|
|
30
|
+
page_id,
|
|
31
|
+
page,
|
|
32
|
+
cdp,
|
|
33
|
+
created_at: new Date(),
|
|
34
|
+
url: page.url?.(),
|
|
35
|
+
};
|
|
36
|
+
this.pages.set(page_id, handle);
|
|
37
|
+
this.mruPageId = page_id;
|
|
38
|
+
return handle;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get a page handle by its ID
|
|
42
|
+
*
|
|
43
|
+
* @param page_id - The page identifier
|
|
44
|
+
* @returns PageHandle if found, undefined otherwise
|
|
45
|
+
*/
|
|
46
|
+
get(page_id) {
|
|
47
|
+
return this.pages.get(page_id);
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Remove a page from the registry
|
|
51
|
+
*
|
|
52
|
+
* @param page_id - The page identifier
|
|
53
|
+
* @returns true if page was removed, false if not found
|
|
54
|
+
*/
|
|
55
|
+
remove(page_id) {
|
|
56
|
+
const deleted = this.pages.delete(page_id);
|
|
57
|
+
if (deleted && this.mruPageId === page_id) {
|
|
58
|
+
// Transfer MRU to first remaining page, or null if empty
|
|
59
|
+
const firstRemaining = this.pages.values().next().value;
|
|
60
|
+
this.mruPageId = firstRemaining?.page_id ?? null;
|
|
61
|
+
}
|
|
62
|
+
return deleted;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* List all registered pages
|
|
66
|
+
*
|
|
67
|
+
* @returns Array of all PageHandle objects
|
|
68
|
+
*/
|
|
69
|
+
list() {
|
|
70
|
+
return Array.from(this.pages.values());
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Remove all pages from the registry
|
|
74
|
+
*/
|
|
75
|
+
clear() {
|
|
76
|
+
this.pages.clear();
|
|
77
|
+
this.mruPageId = null;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Get the number of registered pages
|
|
81
|
+
*
|
|
82
|
+
* @returns Current page count
|
|
83
|
+
*/
|
|
84
|
+
size() {
|
|
85
|
+
return this.pages.size;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Check if a page is registered
|
|
89
|
+
*
|
|
90
|
+
* @param page_id - The page identifier
|
|
91
|
+
* @returns true if page exists
|
|
92
|
+
*/
|
|
93
|
+
has(page_id) {
|
|
94
|
+
return this.pages.has(page_id);
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Update metadata for a page
|
|
98
|
+
*
|
|
99
|
+
* @param page_id - The page identifier
|
|
100
|
+
* @param metadata - Partial metadata to update
|
|
101
|
+
* @returns true if updated, false if page not found
|
|
102
|
+
*/
|
|
103
|
+
updateMetadata(page_id, metadata) {
|
|
104
|
+
const handle = this.pages.get(page_id);
|
|
105
|
+
if (!handle) {
|
|
106
|
+
return false;
|
|
107
|
+
}
|
|
108
|
+
if (metadata.url !== undefined) {
|
|
109
|
+
handle.url = metadata.url;
|
|
110
|
+
}
|
|
111
|
+
if (metadata.title !== undefined) {
|
|
112
|
+
handle.title = metadata.title;
|
|
113
|
+
}
|
|
114
|
+
return true;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Find a handle by its Playwright Page instance
|
|
118
|
+
*
|
|
119
|
+
* @param page - Playwright Page instance to find
|
|
120
|
+
* @returns PageHandle if found, undefined otherwise
|
|
121
|
+
*/
|
|
122
|
+
findByPage(page) {
|
|
123
|
+
return this.list().find((h) => h.page === page);
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Find all handles with a matching URL
|
|
127
|
+
*
|
|
128
|
+
* @param url - URL to search for
|
|
129
|
+
* @returns Array of matching PageHandle objects
|
|
130
|
+
*/
|
|
131
|
+
findByUrl(url) {
|
|
132
|
+
return this.list().filter((h) => h.url === url);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Check if a page handle is still valid (page not closed, CDP active)
|
|
136
|
+
*
|
|
137
|
+
* Use this to detect stale handles before performing operations.
|
|
138
|
+
*
|
|
139
|
+
* @param page_id - The page identifier
|
|
140
|
+
* @returns true if the handle exists and both page and CDP session are active
|
|
141
|
+
*/
|
|
142
|
+
isValid(page_id) {
|
|
143
|
+
const handle = this.pages.get(page_id);
|
|
144
|
+
if (!handle) {
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
// Check if page is closed
|
|
148
|
+
if (handle.page.isClosed()) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
151
|
+
// Check if CDP session is still active
|
|
152
|
+
if (!handle.cdp.isActive()) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
return true;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Touch a page to mark it as most recently used.
|
|
159
|
+
*
|
|
160
|
+
* @param page_id - The page identifier
|
|
161
|
+
* @returns true if the page exists and was touched, false otherwise
|
|
162
|
+
*/
|
|
163
|
+
touch(page_id) {
|
|
164
|
+
if (this.pages.has(page_id)) {
|
|
165
|
+
this.mruPageId = page_id;
|
|
166
|
+
return true;
|
|
167
|
+
}
|
|
168
|
+
return false;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get the most recently used page.
|
|
172
|
+
*
|
|
173
|
+
* Falls back to the first registered page if MRU is not set.
|
|
174
|
+
*
|
|
175
|
+
* @returns PageHandle for MRU page, or undefined if no pages
|
|
176
|
+
*/
|
|
177
|
+
getMostRecent() {
|
|
178
|
+
if (this.mruPageId && this.pages.has(this.mruPageId)) {
|
|
179
|
+
return this.pages.get(this.mruPageId);
|
|
180
|
+
}
|
|
181
|
+
// Fallback to first page
|
|
182
|
+
return this.pages.values().next().value;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=page-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-registry.js","sourceRoot":"","sources":["../../../src/browser/page-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Manager
|
|
3
|
+
*
|
|
4
|
+
* Manages Playwright browser lifecycle with a single shared BrowserContext.
|
|
5
|
+
* All pages share cookies/storage within the context.
|
|
6
|
+
*/
|
|
7
|
+
import { type BrowserContext } from 'playwright';
|
|
8
|
+
import { type PageHandle } from './page-registry.js';
|
|
9
|
+
/**
|
|
10
|
+
* Connection state machine states
|
|
11
|
+
*/
|
|
12
|
+
export type ConnectionState = 'idle' | 'connecting' | 'connected' | 'disconnecting' | 'failed';
|
|
13
|
+
/**
|
|
14
|
+
* Event emitted on connection state changes
|
|
15
|
+
*/
|
|
16
|
+
export interface ConnectionStateChangeEvent {
|
|
17
|
+
previousState: ConnectionState;
|
|
18
|
+
currentState: ConnectionState;
|
|
19
|
+
timestamp: Date;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Storage state for cookies and localStorage.
|
|
23
|
+
* Re-exports Playwright's BrowserContext storageState return type for convenience.
|
|
24
|
+
*/
|
|
25
|
+
export type StorageState = Awaited<ReturnType<BrowserContext['storageState']>>;
|
|
26
|
+
/**
|
|
27
|
+
* Options for launching a new browser
|
|
28
|
+
*/
|
|
29
|
+
export interface LaunchOptions {
|
|
30
|
+
/** Run browser in headless mode (default: true) */
|
|
31
|
+
headless?: boolean;
|
|
32
|
+
/** Viewport dimensions */
|
|
33
|
+
viewport?: {
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
};
|
|
37
|
+
/** Custom user agent string */
|
|
38
|
+
userAgent?: string;
|
|
39
|
+
/** Browser locale (e.g., 'en-US') */
|
|
40
|
+
locale?: string;
|
|
41
|
+
/** Timezone ID (e.g., 'America/New_York') */
|
|
42
|
+
timezone?: string;
|
|
43
|
+
/** Path to storage state file or storage state object (cookies, localStorage) */
|
|
44
|
+
storageState?: string | StorageState;
|
|
45
|
+
/** Directory for persistent browser profile (user data dir) */
|
|
46
|
+
userDataDir?: string;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Options for connecting to an existing browser via CDP
|
|
50
|
+
*/
|
|
51
|
+
export interface ConnectOptions {
|
|
52
|
+
/** CDP endpoint URL (default: http://127.0.0.1:9223) */
|
|
53
|
+
endpointUrl?: string;
|
|
54
|
+
/** CDP host (default: 127.0.0.1) - used if endpointUrl not provided */
|
|
55
|
+
host?: string;
|
|
56
|
+
/** CDP port (default: 9223) - used if endpointUrl not provided */
|
|
57
|
+
port?: number;
|
|
58
|
+
/** Connection timeout in ms (default: 10000) */
|
|
59
|
+
timeout?: number;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Manages browser lifecycle and page creation.
|
|
63
|
+
*
|
|
64
|
+
* Supports two modes:
|
|
65
|
+
* - launch(): Start a new browser instance
|
|
66
|
+
* - connect(): Connect to an existing browser via CDP (e.g., Athena Browser)
|
|
67
|
+
*/
|
|
68
|
+
export declare class SessionManager {
|
|
69
|
+
private browser;
|
|
70
|
+
private context;
|
|
71
|
+
private readonly registry;
|
|
72
|
+
private readonly logger;
|
|
73
|
+
private isExternalBrowser;
|
|
74
|
+
/** Whether context was launched with userDataDir (persistent profile) */
|
|
75
|
+
private isPersistentContext;
|
|
76
|
+
/** Connection state machine */
|
|
77
|
+
private _connectionState;
|
|
78
|
+
/** State change listeners */
|
|
79
|
+
private readonly stateChangeListeners;
|
|
80
|
+
/** Browser disconnect handler reference for cleanup */
|
|
81
|
+
private browserDisconnectHandler;
|
|
82
|
+
constructor();
|
|
83
|
+
/**
|
|
84
|
+
* Get current connection state
|
|
85
|
+
*/
|
|
86
|
+
get connectionState(): ConnectionState;
|
|
87
|
+
/**
|
|
88
|
+
* Transition to a new connection state
|
|
89
|
+
*/
|
|
90
|
+
private transitionTo;
|
|
91
|
+
/**
|
|
92
|
+
* Subscribe to connection state changes
|
|
93
|
+
*/
|
|
94
|
+
onStateChange(listener: (event: ConnectionStateChangeEvent) => void): () => void;
|
|
95
|
+
/**
|
|
96
|
+
* Launch a new browser with optional configuration.
|
|
97
|
+
*
|
|
98
|
+
* @param options - Browser launch options
|
|
99
|
+
* @throws BrowserSessionError if browser is already running or connection in progress
|
|
100
|
+
*/
|
|
101
|
+
launch(options?: LaunchOptions): Promise<void>;
|
|
102
|
+
/**
|
|
103
|
+
* Connect to an existing browser via CDP.
|
|
104
|
+
*
|
|
105
|
+
* Use this to connect to Athena Browser or any Chromium with remote debugging enabled.
|
|
106
|
+
*
|
|
107
|
+
* @param options - Connection options (host/port or endpointUrl)
|
|
108
|
+
* @throws BrowserSessionError if browser is already running, connection in progress, or URL is invalid
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* // Connect to Athena Browser on default port
|
|
113
|
+
* await session.connect();
|
|
114
|
+
*
|
|
115
|
+
* // Connect to custom endpoint
|
|
116
|
+
* await session.connect({ port: 9222 });
|
|
117
|
+
* await session.connect({ endpointUrl: 'http://localhost:9223' });
|
|
118
|
+
* ```
|
|
119
|
+
*/
|
|
120
|
+
connect(options?: ConnectOptions): Promise<void>;
|
|
121
|
+
/**
|
|
122
|
+
* Get the number of pages in the browser context.
|
|
123
|
+
*
|
|
124
|
+
* @returns Number of pages, or 0 if browser not running
|
|
125
|
+
*/
|
|
126
|
+
getPageCount(): number;
|
|
127
|
+
/**
|
|
128
|
+
* Adopt an existing page from the connected browser.
|
|
129
|
+
*
|
|
130
|
+
* When connecting to an external browser (like Athena), use this to
|
|
131
|
+
* register existing pages instead of creating new ones.
|
|
132
|
+
*
|
|
133
|
+
* This method is idempotent - calling it twice on the same page
|
|
134
|
+
* returns the existing handle without creating a new CDP session.
|
|
135
|
+
*
|
|
136
|
+
* @param index - Page index (default: 0 for first/active page)
|
|
137
|
+
* @returns PageHandle for the adopted page
|
|
138
|
+
* @throws Error if browser not connected or page index invalid
|
|
139
|
+
*/
|
|
140
|
+
adoptPage(index?: number): Promise<PageHandle>;
|
|
141
|
+
/**
|
|
142
|
+
* Create a new page, optionally navigating to a URL
|
|
143
|
+
*
|
|
144
|
+
* @param url - Optional URL to navigate to
|
|
145
|
+
* @returns PageHandle for the new page
|
|
146
|
+
* @throws Error if browser not running
|
|
147
|
+
*/
|
|
148
|
+
createPage(url?: string): Promise<PageHandle>;
|
|
149
|
+
/**
|
|
150
|
+
* Get a page handle by its ID
|
|
151
|
+
*
|
|
152
|
+
* @param page_id - The page identifier
|
|
153
|
+
* @returns PageHandle if found, undefined otherwise
|
|
154
|
+
*/
|
|
155
|
+
getPage(page_id: string): PageHandle | undefined;
|
|
156
|
+
/**
|
|
157
|
+
* Touch a page to mark it as most recently used.
|
|
158
|
+
*
|
|
159
|
+
* Call this on page access to update MRU tracking.
|
|
160
|
+
*
|
|
161
|
+
* @param page_id - The page identifier
|
|
162
|
+
*/
|
|
163
|
+
touchPage(page_id: string): void;
|
|
164
|
+
/**
|
|
165
|
+
* Resolve page_id to a PageHandle.
|
|
166
|
+
*
|
|
167
|
+
* If page_id is provided, returns the specified page.
|
|
168
|
+
* If page_id is omitted, returns the most recently used page.
|
|
169
|
+
* Does NOT auto-create pages.
|
|
170
|
+
*
|
|
171
|
+
* @param page_id - Optional page identifier
|
|
172
|
+
* @returns PageHandle if found, undefined otherwise
|
|
173
|
+
*/
|
|
174
|
+
resolvePage(page_id?: string): PageHandle | undefined;
|
|
175
|
+
/**
|
|
176
|
+
* Resolve page_id to a PageHandle, creating a new page if needed.
|
|
177
|
+
*
|
|
178
|
+
* If page_id is provided, returns the specified page (throws if not found).
|
|
179
|
+
* If page_id is omitted, returns the most recently used page or creates one.
|
|
180
|
+
*
|
|
181
|
+
* @param page_id - Optional page identifier
|
|
182
|
+
* @returns PageHandle for the resolved or created page
|
|
183
|
+
* @throws Error if page_id is provided but not found, or if browser not running
|
|
184
|
+
*/
|
|
185
|
+
resolvePageOrCreate(page_id?: string): Promise<PageHandle>;
|
|
186
|
+
/**
|
|
187
|
+
* Close a page and its CDP session
|
|
188
|
+
*
|
|
189
|
+
* @param page_id - The page identifier
|
|
190
|
+
* @returns true if page was closed, false if not found
|
|
191
|
+
*/
|
|
192
|
+
closePage(page_id: string): Promise<boolean>;
|
|
193
|
+
/**
|
|
194
|
+
* Navigate a page to a URL
|
|
195
|
+
*
|
|
196
|
+
* @param page_id - The page identifier
|
|
197
|
+
* @param url - URL to navigate to
|
|
198
|
+
* @throws Error if page not found or navigation fails
|
|
199
|
+
*/
|
|
200
|
+
navigateTo(page_id: string, url: string): Promise<void>;
|
|
201
|
+
/**
|
|
202
|
+
* Shutdown the browser session.
|
|
203
|
+
*
|
|
204
|
+
* For launched browsers: closes all pages, context, and browser.
|
|
205
|
+
* For connected browsers: detaches CDP sessions but does NOT close the browser.
|
|
206
|
+
* For persistent contexts: closes context (which closes pages and browser).
|
|
207
|
+
*/
|
|
208
|
+
shutdown(): Promise<void>;
|
|
209
|
+
/**
|
|
210
|
+
* Check if browser is running
|
|
211
|
+
*
|
|
212
|
+
* @returns true if browser is active
|
|
213
|
+
*/
|
|
214
|
+
isRunning(): boolean;
|
|
215
|
+
/**
|
|
216
|
+
* Save the current storage state (cookies, localStorage).
|
|
217
|
+
*
|
|
218
|
+
* @param path - Optional file path to save state to. If not provided, returns the state object.
|
|
219
|
+
* @returns The storage state object
|
|
220
|
+
* @throws Error if browser not running
|
|
221
|
+
*/
|
|
222
|
+
saveStorageState(path?: string): Promise<StorageState>;
|
|
223
|
+
/**
|
|
224
|
+
* List all active pages
|
|
225
|
+
*
|
|
226
|
+
* @returns Array of PageHandle objects
|
|
227
|
+
*/
|
|
228
|
+
listPages(): PageHandle[];
|
|
229
|
+
/**
|
|
230
|
+
* Get the page count
|
|
231
|
+
*
|
|
232
|
+
* @returns Number of active pages
|
|
233
|
+
*/
|
|
234
|
+
pageCount(): number;
|
|
235
|
+
/**
|
|
236
|
+
* Setup browser event listeners for disconnect detection.
|
|
237
|
+
* Called after successful browser launch or connect.
|
|
238
|
+
*/
|
|
239
|
+
private setupBrowserListeners;
|
|
240
|
+
/**
|
|
241
|
+
* Remove browser event listeners.
|
|
242
|
+
* Called during shutdown to prevent duplicate handling.
|
|
243
|
+
*/
|
|
244
|
+
private removeBrowserListeners;
|
|
245
|
+
}
|
|
246
|
+
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/browser/session-manager.ts"],"names":[],"mappings":"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"}
|