agent-web-interface 4.3.0 → 4.5.0
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/dist/src/browser/browser-session-config.d.ts +33 -0
- package/dist/src/browser/browser-session-config.d.ts.map +1 -0
- package/dist/src/browser/browser-session-config.js +24 -0
- package/dist/src/browser/browser-session-config.js.map +1 -0
- package/dist/src/browser/connection-utils.d.ts +48 -0
- package/dist/src/browser/connection-utils.d.ts.map +1 -0
- package/dist/src/browser/connection-utils.js +129 -0
- package/dist/src/browser/connection-utils.js.map +1 -0
- package/dist/src/browser/ensure-browser.d.ts +12 -27
- package/dist/src/browser/ensure-browser.d.ts.map +1 -1
- package/dist/src/browser/ensure-browser.js +104 -37
- package/dist/src/browser/ensure-browser.js.map +1 -1
- package/dist/src/browser/index.d.ts +4 -1
- package/dist/src/browser/index.d.ts.map +1 -1
- package/dist/src/browser/index.js +3 -1
- package/dist/src/browser/index.js.map +1 -1
- package/dist/src/browser/session-manager.d.ts +21 -89
- package/dist/src/browser/session-manager.d.ts.map +1 -1
- package/dist/src/browser/session-manager.js +122 -132
- package/dist/src/browser/session-manager.js.map +1 -1
- package/dist/src/browser/session-manager.types.d.ts +102 -0
- package/dist/src/browser/session-manager.types.d.ts.map +1 -0
- package/dist/src/browser/session-manager.types.js +11 -0
- package/dist/src/browser/session-manager.types.js.map +1 -0
- package/dist/src/cli/args.d.ts +12 -18
- package/dist/src/cli/args.d.ts.map +1 -1
- package/dist/src/cli/args.js +35 -40
- package/dist/src/cli/args.js.map +1 -1
- package/dist/src/form/constraint-extraction.d.ts +36 -0
- package/dist/src/form/constraint-extraction.d.ts.map +1 -0
- package/dist/src/form/constraint-extraction.js +117 -0
- package/dist/src/form/constraint-extraction.js.map +1 -0
- package/dist/src/form/field-extractor.d.ts.map +1 -1
- package/dist/src/form/field-extractor.js +16 -450
- package/dist/src/form/field-extractor.js.map +1 -1
- package/dist/src/form/field-state-extractor.d.ts +22 -0
- package/dist/src/form/field-state-extractor.d.ts.map +1 -0
- package/dist/src/form/field-state-extractor.js +55 -0
- package/dist/src/form/field-state-extractor.js.map +1 -0
- package/dist/src/form/form-actions.d.ts +45 -0
- package/dist/src/form/form-actions.d.ts.map +1 -0
- package/dist/src/form/form-actions.js +108 -0
- package/dist/src/form/form-actions.js.map +1 -0
- package/dist/src/form/form-detector.d.ts +0 -36
- package/dist/src/form/form-detector.d.ts.map +1 -1
- package/dist/src/form/form-detector.js +11 -376
- package/dist/src/form/form-detector.js.map +1 -1
- package/dist/src/form/form-state.d.ts.map +1 -1
- package/dist/src/form/form-state.js +16 -4
- package/dist/src/form/form-state.js.map +1 -1
- package/dist/src/form/input-clustering.d.ts +15 -0
- package/dist/src/form/input-clustering.d.ts.map +1 -0
- package/dist/src/form/input-clustering.js +61 -0
- package/dist/src/form/input-clustering.js.map +1 -0
- package/dist/src/form/intent-inference.d.ts +28 -0
- package/dist/src/form/intent-inference.d.ts.map +1 -0
- package/dist/src/form/intent-inference.js +137 -0
- package/dist/src/form/intent-inference.js.map +1 -0
- package/dist/src/form/purpose-inference.d.ts +50 -0
- package/dist/src/form/purpose-inference.d.ts.map +1 -0
- package/dist/src/form/purpose-inference.js +313 -0
- package/dist/src/form/purpose-inference.js.map +1 -0
- package/dist/src/form/submit-detection.d.ts +36 -0
- package/dist/src/form/submit-detection.d.ts.map +1 -0
- package/dist/src/form/submit-detection.js +101 -0
- package/dist/src/form/submit-detection.js.map +1 -0
- package/dist/src/form/types.d.ts +2 -2
- package/dist/src/gateway/http-gateway.d.ts +56 -0
- package/dist/src/gateway/http-gateway.d.ts.map +1 -0
- package/dist/src/gateway/http-gateway.js +229 -0
- package/dist/src/gateway/http-gateway.js.map +1 -0
- package/dist/src/gateway/json-rpc-errors.d.ts +6 -0
- package/dist/src/gateway/json-rpc-errors.d.ts.map +1 -0
- package/dist/src/gateway/json-rpc-errors.js +11 -0
- package/dist/src/gateway/json-rpc-errors.js.map +1 -0
- package/dist/src/gateway/session-router.d.ts +80 -0
- package/dist/src/gateway/session-router.d.ts.map +1 -0
- package/dist/src/gateway/session-router.js +177 -0
- package/dist/src/gateway/session-router.js.map +1 -0
- package/dist/src/http-entry.d.ts +20 -0
- package/dist/src/http-entry.d.ts.map +1 -0
- package/dist/src/http-entry.js +112 -0
- package/dist/src/http-entry.js.map +1 -0
- package/dist/src/index.d.ts +1 -10
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +25 -227
- package/dist/src/index.js.map +1 -1
- package/dist/src/lib/text-utils.d.ts +0 -24
- package/dist/src/lib/text-utils.d.ts.map +1 -1
- package/dist/src/lib/text-utils.js +2 -38
- package/dist/src/lib/text-utils.js.map +1 -1
- package/dist/src/observation/eid-linker.d.ts.map +1 -1
- package/dist/src/observation/eid-linker.js +1 -21
- package/dist/src/observation/eid-linker.js.map +1 -1
- package/dist/src/observation/observation-accumulator.d.ts +1 -1
- package/dist/src/observation/observation-accumulator.js +1 -1
- package/dist/src/observation/observer-script.d.ts +1 -1
- package/dist/src/observation/observer-script.d.ts.map +1 -1
- package/dist/src/observation/observer-script.js +129 -7
- package/dist/src/observation/observer-script.js.map +1 -1
- package/dist/src/query/disambiguation.d.ts +18 -0
- package/dist/src/query/disambiguation.d.ts.map +1 -0
- package/dist/src/query/disambiguation.js +123 -0
- package/dist/src/query/disambiguation.js.map +1 -0
- package/dist/src/query/fuzzy-match.d.ts +17 -0
- package/dist/src/query/fuzzy-match.d.ts.map +1 -0
- package/dist/src/query/fuzzy-match.js +34 -0
- package/dist/src/query/fuzzy-match.js.map +1 -0
- package/dist/src/query/index.d.ts +3 -0
- package/dist/src/query/index.d.ts.map +1 -1
- package/dist/src/query/index.js +6 -0
- package/dist/src/query/index.js.map +1 -1
- package/dist/src/query/query-engine.d.ts +0 -35
- package/dist/src/query/query-engine.d.ts.map +1 -1
- package/dist/src/query/query-engine.js +9 -309
- package/dist/src/query/query-engine.js.map +1 -1
- package/dist/src/query/scoring.d.ts +52 -0
- package/dist/src/query/scoring.d.ts.map +1 -0
- package/dist/src/query/scoring.js +162 -0
- package/dist/src/query/scoring.js.map +1 -0
- package/dist/src/server/index.d.ts +0 -1
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +0 -1
- package/dist/src/server/index.js.map +1 -1
- package/dist/src/server/mcp-server.d.ts +6 -2
- package/dist/src/server/mcp-server.d.ts.map +1 -1
- package/dist/src/server/mcp-server.js +3 -91
- package/dist/src/server/mcp-server.js.map +1 -1
- package/dist/src/server/server-config.d.ts +4 -20
- package/dist/src/server/server-config.d.ts.map +1 -1
- package/dist/src/server/server-config.js +6 -50
- package/dist/src/server/server-config.js.map +1 -1
- package/dist/src/server/tool-registrar.types.d.ts +25 -0
- package/dist/src/server/tool-registrar.types.d.ts.map +1 -0
- package/dist/src/server/tool-registrar.types.js +10 -0
- package/dist/src/server/tool-registrar.types.js.map +1 -0
- package/dist/src/server/tool-result-handler.d.ts +61 -0
- package/dist/src/server/tool-result-handler.d.ts.map +1 -0
- package/dist/src/server/tool-result-handler.js +137 -0
- package/dist/src/server/tool-result-handler.js.map +1 -0
- package/dist/src/session/session-controller.d.ts +123 -0
- package/dist/src/session/session-controller.d.ts.map +1 -0
- package/dist/src/session/session-controller.js +273 -0
- package/dist/src/session/session-controller.js.map +1 -0
- package/dist/src/shared/services/index.d.ts +0 -2
- package/dist/src/shared/services/index.d.ts.map +1 -1
- package/dist/src/shared/services/index.js +0 -2
- package/dist/src/shared/services/index.js.map +1 -1
- package/dist/src/shared/version.d.ts +10 -0
- package/dist/src/shared/version.d.ts.map +1 -0
- package/dist/src/shared/version.js +32 -0
- package/dist/src/shared/version.js.map +1 -0
- package/dist/src/snapshot/element-resolver.d.ts +27 -15
- package/dist/src/snapshot/element-resolver.d.ts.map +1 -1
- package/dist/src/snapshot/element-resolver.js +196 -91
- package/dist/src/snapshot/element-resolver.js.map +1 -1
- package/dist/src/snapshot/extractors/attribute-extractor.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/attribute-extractor.js +4 -0
- package/dist/src/snapshot/extractors/attribute-extractor.js.map +1 -1
- package/dist/src/snapshot/extractors/ax-extractor.d.ts +1 -1
- package/dist/src/snapshot/extractors/ax-extractor.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/ax-extractor.js +4 -1
- package/dist/src/snapshot/extractors/ax-extractor.js.map +1 -1
- package/dist/src/snapshot/extractors/index.d.ts +1 -1
- package/dist/src/snapshot/extractors/index.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/index.js +1 -1
- package/dist/src/snapshot/extractors/index.js.map +1 -1
- package/dist/src/snapshot/extractors/layout-extractor.d.ts +9 -7
- package/dist/src/snapshot/extractors/layout-extractor.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/layout-extractor.js +34 -19
- package/dist/src/snapshot/extractors/layout-extractor.js.map +1 -1
- package/dist/src/snapshot/extractors/region-resolver.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/region-resolver.js +8 -0
- package/dist/src/snapshot/extractors/region-resolver.js.map +1 -1
- package/dist/src/snapshot/extractors/state-extractor.d.ts +2 -2
- package/dist/src/snapshot/extractors/state-extractor.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/state-extractor.js +22 -2
- package/dist/src/snapshot/extractors/state-extractor.js.map +1 -1
- package/dist/src/snapshot/extractors/types.d.ts +14 -0
- package/dist/src/snapshot/extractors/types.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/types.js +16 -0
- package/dist/src/snapshot/extractors/types.js.map +1 -1
- package/dist/src/snapshot/frame-context.d.ts +68 -0
- package/dist/src/snapshot/frame-context.d.ts.map +1 -0
- package/dist/src/snapshot/frame-context.js +131 -0
- package/dist/src/snapshot/frame-context.js.map +1 -0
- package/dist/src/snapshot/heading-index.d.ts +28 -0
- package/dist/src/snapshot/heading-index.d.ts.map +1 -0
- package/dist/src/snapshot/heading-index.js +108 -0
- package/dist/src/snapshot/heading-index.js.map +1 -0
- package/dist/src/snapshot/index.d.ts +5 -3
- package/dist/src/snapshot/index.d.ts.map +1 -1
- package/dist/src/snapshot/index.js +3 -2
- package/dist/src/snapshot/index.js.map +1 -1
- package/dist/src/snapshot/kind-mapping.d.ts +30 -0
- package/dist/src/snapshot/kind-mapping.d.ts.map +1 -0
- package/dist/src/snapshot/kind-mapping.js +114 -0
- package/dist/src/snapshot/kind-mapping.js.map +1 -0
- package/dist/src/snapshot/node-filter.d.ts +31 -0
- package/dist/src/snapshot/node-filter.d.ts.map +1 -0
- package/dist/src/snapshot/node-filter.js +137 -0
- package/dist/src/snapshot/node-filter.js.map +1 -0
- package/dist/src/snapshot/node-synthesizer.d.ts +62 -0
- package/dist/src/snapshot/node-synthesizer.d.ts.map +1 -0
- package/dist/src/snapshot/node-synthesizer.js +185 -0
- package/dist/src/snapshot/node-synthesizer.js.map +1 -0
- package/dist/src/snapshot/snapshot-compiler.d.ts +2 -36
- package/dist/src/snapshot/snapshot-compiler.d.ts.map +1 -1
- package/dist/src/snapshot/snapshot-compiler.js +40 -549
- package/dist/src/snapshot/snapshot-compiler.js.map +1 -1
- package/dist/src/snapshot/snapshot.types.d.ts +17 -3
- package/dist/src/snapshot/snapshot.types.d.ts.map +1 -1
- package/dist/src/snapshot/snapshot.types.js +8 -0
- package/dist/src/snapshot/snapshot.types.js.map +1 -1
- package/dist/src/state/actionables-filter.d.ts +5 -0
- package/dist/src/state/actionables-filter.d.ts.map +1 -1
- package/dist/src/state/actionables-filter.js +28 -6
- package/dist/src/state/actionables-filter.js.map +1 -1
- package/dist/src/state/atoms-extractor.d.ts.map +1 -1
- package/dist/src/state/atoms-extractor.js +3 -23
- package/dist/src/state/atoms-extractor.js.map +1 -1
- package/dist/src/state/diff-engine.d.ts.map +1 -1
- package/dist/src/state/diff-engine.js +9 -36
- package/dist/src/state/diff-engine.js.map +1 -1
- package/dist/src/state/element-identity.d.ts +3 -6
- package/dist/src/state/element-identity.d.ts.map +1 -1
- package/dist/src/state/element-identity.js +10 -7
- package/dist/src/state/element-identity.js.map +1 -1
- package/dist/src/state/element-ref.types.d.ts +5 -27
- package/dist/src/state/element-ref.types.d.ts.map +1 -1
- package/dist/src/state/element-registry.d.ts.map +1 -1
- package/dist/src/state/element-registry.js +6 -4
- package/dist/src/state/element-registry.js.map +1 -1
- package/dist/src/state/hash-utils.d.ts +24 -0
- package/dist/src/state/hash-utils.d.ts.map +1 -0
- package/dist/src/state/hash-utils.js +41 -0
- package/dist/src/state/hash-utils.js.map +1 -0
- package/dist/src/state/layer-detector.d.ts.map +1 -1
- package/dist/src/state/layer-detector.js +15 -286
- package/dist/src/state/layer-detector.js.map +1 -1
- package/dist/src/state/layer-detectors/drawer-detector.d.ts +32 -0
- package/dist/src/state/layer-detectors/drawer-detector.d.ts.map +1 -0
- package/dist/src/state/layer-detectors/drawer-detector.js +96 -0
- package/dist/src/state/layer-detectors/drawer-detector.js.map +1 -0
- package/dist/src/state/layer-detectors/index.d.ts +10 -0
- package/dist/src/state/layer-detectors/index.d.ts.map +1 -0
- package/dist/src/state/layer-detectors/index.js +10 -0
- package/dist/src/state/layer-detectors/index.js.map +1 -0
- package/dist/src/state/layer-detectors/modal-detector.d.ts +30 -0
- package/dist/src/state/layer-detectors/modal-detector.d.ts.map +1 -0
- package/dist/src/state/layer-detectors/modal-detector.js +127 -0
- package/dist/src/state/layer-detectors/modal-detector.js.map +1 -0
- package/dist/src/state/layer-detectors/popover-detector.d.ts +20 -0
- package/dist/src/state/layer-detectors/popover-detector.d.ts.map +1 -0
- package/dist/src/state/layer-detectors/popover-detector.js +76 -0
- package/dist/src/state/layer-detectors/popover-detector.js.map +1 -0
- package/dist/src/state/layer-detectors/toast-detector.d.ts +24 -0
- package/dist/src/state/layer-detectors/toast-detector.d.ts.map +1 -0
- package/dist/src/state/layer-detectors/toast-detector.js +48 -0
- package/dist/src/state/layer-detectors/toast-detector.js.map +1 -0
- package/dist/src/state/region-mapping.d.ts +13 -0
- package/dist/src/state/region-mapping.d.ts.map +1 -0
- package/dist/src/state/region-mapping.js +25 -0
- package/dist/src/state/region-mapping.js.map +1 -0
- package/dist/src/state/state-manager.d.ts.map +1 -1
- package/dist/src/state/state-manager.js +11 -193
- package/dist/src/state/state-manager.js.map +1 -1
- package/dist/src/state/state-renderer.d.ts.map +1 -1
- package/dist/src/state/state-renderer.js +17 -3
- package/dist/src/state/state-renderer.js.map +1 -1
- package/dist/src/state/types.d.ts +10 -5
- package/dist/src/state/types.d.ts.map +1 -1
- package/dist/src/state/url-sanitization.d.ts +22 -0
- package/dist/src/state/url-sanitization.d.ts.map +1 -0
- package/dist/src/state/url-sanitization.js +76 -0
- package/dist/src/state/url-sanitization.js.map +1 -0
- package/dist/src/state/value-masking.d.ts +36 -0
- package/dist/src/state/value-masking.d.ts.map +1 -0
- package/dist/src/state/value-masking.js +86 -0
- package/dist/src/state/value-masking.js.map +1 -0
- package/dist/src/tools/action-context.d.ts +55 -0
- package/dist/src/tools/action-context.d.ts.map +1 -0
- package/dist/src/tools/action-context.js +69 -0
- package/dist/src/tools/action-context.js.map +1 -0
- package/dist/src/tools/action-stabilization.d.ts +48 -0
- package/dist/src/tools/action-stabilization.d.ts.map +1 -0
- package/dist/src/tools/action-stabilization.js +93 -0
- package/dist/src/tools/action-stabilization.js.map +1 -0
- package/dist/src/tools/browser-tools.d.ts +9 -167
- package/dist/src/tools/browser-tools.d.ts.map +1 -1
- package/dist/src/tools/browser-tools.js +15 -651
- package/dist/src/tools/browser-tools.js.map +1 -1
- package/dist/src/tools/canvas-tools.d.ts +2 -1
- package/dist/src/tools/canvas-tools.d.ts.map +1 -1
- package/dist/src/tools/canvas-tools.js +5 -7
- package/dist/src/tools/canvas-tools.js.map +1 -1
- package/dist/src/tools/effect-tracker.d.ts +25 -0
- package/dist/src/tools/effect-tracker.d.ts.map +1 -0
- package/dist/src/tools/effect-tracker.js +69 -0
- package/dist/src/tools/effect-tracker.js.map +1 -0
- package/dist/src/tools/errors.d.ts +2 -34
- package/dist/src/tools/errors.d.ts.map +1 -1
- package/dist/src/tools/errors.js +1 -44
- package/dist/src/tools/errors.js.map +1 -1
- package/dist/src/tools/execute-action.d.ts +5 -34
- package/dist/src/tools/execute-action.d.ts.map +1 -1
- package/dist/src/tools/execute-action.js +37 -297
- package/dist/src/tools/execute-action.js.map +1 -1
- package/dist/src/tools/form-tools.d.ts +5 -10
- package/dist/src/tools/form-tools.d.ts.map +1 -1
- package/dist/src/tools/form-tools.js +42 -22
- package/dist/src/tools/form-tools.js.map +1 -1
- package/dist/src/tools/index.d.ts +6 -6
- package/dist/src/tools/index.d.ts.map +1 -1
- package/dist/src/tools/index.js +16 -17
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/interaction-tools.d.ts +47 -0
- package/dist/src/tools/interaction-tools.d.ts.map +1 -0
- package/dist/src/tools/interaction-tools.js +135 -0
- package/dist/src/tools/interaction-tools.js.map +1 -0
- package/dist/src/tools/navigation-detection.d.ts +31 -0
- package/dist/src/tools/navigation-detection.d.ts.map +1 -0
- package/dist/src/tools/navigation-detection.js +46 -0
- package/dist/src/tools/navigation-detection.js.map +1 -0
- package/dist/src/tools/navigation-tools.d.ts +51 -0
- package/dist/src/tools/navigation-tools.d.ts.map +1 -0
- package/dist/src/tools/navigation-tools.js +171 -0
- package/dist/src/tools/navigation-tools.js.map +1 -0
- package/dist/src/tools/observation-tools.d.ts +54 -0
- package/dist/src/tools/observation-tools.d.ts.map +1 -0
- package/dist/src/tools/observation-tools.js +243 -0
- package/dist/src/tools/observation-tools.js.map +1 -0
- package/dist/src/tools/readability-tools.d.ts +16 -0
- package/dist/src/tools/readability-tools.d.ts.map +1 -0
- package/dist/src/tools/readability-tools.js +45 -0
- package/dist/src/tools/readability-tools.js.map +1 -0
- package/dist/src/tools/response-builder.d.ts +20 -32
- package/dist/src/tools/response-builder.d.ts.map +1 -1
- package/dist/src/tools/response-builder.js +32 -48
- package/dist/src/tools/response-builder.js.map +1 -1
- package/dist/src/tools/stale-element-retry.d.ts +37 -0
- package/dist/src/tools/stale-element-retry.d.ts.map +1 -0
- package/dist/src/tools/stale-element-retry.js +103 -0
- package/dist/src/tools/stale-element-retry.js.map +1 -0
- package/dist/src/tools/tool-context.d.ts +4 -36
- package/dist/src/tools/tool-context.d.ts.map +1 -1
- package/dist/src/tools/tool-context.js +6 -75
- package/dist/src/tools/tool-context.js.map +1 -1
- package/dist/src/tools/tool-context.types.d.ts +141 -0
- package/dist/src/tools/tool-context.types.d.ts.map +1 -0
- package/dist/src/tools/tool-context.types.js +11 -0
- package/dist/src/tools/tool-context.types.js.map +1 -0
- package/dist/src/tools/tool-registration.d.ts +25 -0
- package/dist/src/tools/tool-registration.d.ts.map +1 -0
- package/dist/src/tools/tool-registration.js +180 -0
- package/dist/src/tools/tool-registration.js.map +1 -0
- package/dist/src/tools/tool-schemas.d.ts +176 -1950
- package/dist/src/tools/tool-schemas.d.ts.map +1 -1
- package/dist/src/tools/tool-schemas.js +80 -320
- package/dist/src/tools/tool-schemas.js.map +1 -1
- package/dist/src/tools/viewport-tools.d.ts +37 -0
- package/dist/src/tools/viewport-tools.d.ts.map +1 -0
- package/dist/src/tools/viewport-tools.js +101 -0
- package/dist/src/tools/viewport-tools.js.map +1 -0
- package/dist/src/worker/chrome-worker-process.d.ts +4 -0
- package/dist/src/worker/chrome-worker-process.d.ts.map +1 -1
- package/dist/src/worker/chrome-worker-process.js +1 -1
- package/dist/src/worker/chrome-worker-process.js.map +1 -1
- package/package.json +7 -3
- package/dist/src/factpack/action-selector.d.ts +0 -36
- package/dist/src/factpack/action-selector.d.ts.map +0 -1
- package/dist/src/factpack/action-selector.js +0 -367
- package/dist/src/factpack/action-selector.js.map +0 -1
- package/dist/src/factpack/dialog-detector.d.ts +0 -19
- package/dist/src/factpack/dialog-detector.d.ts.map +0 -1
- package/dist/src/factpack/dialog-detector.js +0 -354
- package/dist/src/factpack/dialog-detector.js.map +0 -1
- package/dist/src/factpack/form-detector.d.ts +0 -28
- package/dist/src/factpack/form-detector.d.ts.map +0 -1
- package/dist/src/factpack/form-detector.js +0 -555
- package/dist/src/factpack/form-detector.js.map +0 -1
- package/dist/src/factpack/index.d.ts +0 -32
- package/dist/src/factpack/index.d.ts.map +0 -1
- package/dist/src/factpack/index.js +0 -73
- package/dist/src/factpack/index.js.map +0 -1
- package/dist/src/factpack/page-classifier.d.ts +0 -22
- package/dist/src/factpack/page-classifier.d.ts.map +0 -1
- package/dist/src/factpack/page-classifier.js +0 -526
- package/dist/src/factpack/page-classifier.js.map +0 -1
- package/dist/src/factpack/types.d.ts +0 -307
- package/dist/src/factpack/types.d.ts.map +0 -1
- package/dist/src/factpack/types.js +0 -12
- package/dist/src/factpack/types.js.map +0 -1
- package/dist/src/lib/constants.d.ts +0 -27
- package/dist/src/lib/constants.d.ts.map +0 -1
- package/dist/src/lib/constants.js +0 -63
- package/dist/src/lib/constants.js.map +0 -1
- package/dist/src/lib/index.d.ts +0 -12
- package/dist/src/lib/index.d.ts.map +0 -1
- package/dist/src/lib/index.js +0 -17
- package/dist/src/lib/index.js.map +0 -1
- package/dist/src/lib/regions.d.ts +0 -29
- package/dist/src/lib/regions.d.ts.map +0 -1
- package/dist/src/lib/regions.js +0 -93
- package/dist/src/lib/regions.js.map +0 -1
- package/dist/src/lib/scoring.d.ts +0 -47
- package/dist/src/lib/scoring.d.ts.map +0 -1
- package/dist/src/lib/scoring.js +0 -79
- package/dist/src/lib/scoring.js.map +0 -1
- package/dist/src/lib/selectors.d.ts +0 -42
- package/dist/src/lib/selectors.d.ts.map +0 -1
- package/dist/src/lib/selectors.js +0 -138
- package/dist/src/lib/selectors.js.map +0 -1
- package/dist/src/renderer/budget-manager.d.ts +0 -46
- package/dist/src/renderer/budget-manager.d.ts.map +0 -1
- package/dist/src/renderer/budget-manager.js +0 -133
- package/dist/src/renderer/budget-manager.js.map +0 -1
- package/dist/src/renderer/constants.d.ts +0 -38
- package/dist/src/renderer/constants.d.ts.map +0 -1
- package/dist/src/renderer/constants.js +0 -29
- package/dist/src/renderer/constants.js.map +0 -1
- package/dist/src/renderer/index.d.ts +0 -12
- package/dist/src/renderer/index.d.ts.map +0 -1
- package/dist/src/renderer/index.js +0 -16
- package/dist/src/renderer/index.js.map +0 -1
- package/dist/src/renderer/section-renderers.d.ts +0 -42
- package/dist/src/renderer/section-renderers.d.ts.map +0 -1
- package/dist/src/renderer/section-renderers.js +0 -252
- package/dist/src/renderer/section-renderers.js.map +0 -1
- package/dist/src/renderer/token-counter.d.ts +0 -45
- package/dist/src/renderer/token-counter.d.ts.map +0 -1
- package/dist/src/renderer/token-counter.js +0 -65
- package/dist/src/renderer/token-counter.js.map +0 -1
- package/dist/src/renderer/types.d.ts +0 -71
- package/dist/src/renderer/types.d.ts.map +0 -1
- package/dist/src/renderer/types.js +0 -7
- package/dist/src/renderer/types.js.map +0 -1
- package/dist/src/renderer/xml-renderer.d.ts +0 -42
- package/dist/src/renderer/xml-renderer.d.ts.map +0 -1
- package/dist/src/renderer/xml-renderer.js +0 -103
- package/dist/src/renderer/xml-renderer.js.map +0 -1
- package/dist/src/server/session-store.d.ts +0 -163
- package/dist/src/server/session-store.d.ts.map +0 -1
- package/dist/src/server/session-store.js +0 -248
- package/dist/src/server/session-store.js.map +0 -1
- package/dist/src/session/session-worker-binding.d.ts +0 -57
- package/dist/src/session/session-worker-binding.d.ts.map +0 -1
- package/dist/src/session/session-worker-binding.js +0 -109
- package/dist/src/session/session-worker-binding.js.map +0 -1
- package/dist/src/shared/services/dom-transformer.service.d.ts +0 -71
- package/dist/src/shared/services/dom-transformer.service.d.ts.map +0 -1
- package/dist/src/shared/services/dom-transformer.service.js +0 -190
- package/dist/src/shared/services/dom-transformer.service.js.map +0 -1
- package/dist/src/shared/services/selector-builder.service.d.ts +0 -53
- package/dist/src/shared/services/selector-builder.service.d.ts.map +0 -1
- package/dist/src/shared/services/selector-builder.service.js +0 -240
- package/dist/src/shared/services/selector-builder.service.js.map +0 -1
- package/dist/src/state/constants.d.ts +0 -125
- package/dist/src/state/constants.d.ts.map +0 -1
- package/dist/src/state/constants.js +0 -131
- package/dist/src/state/constants.js.map +0 -1
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node Synthesizer
|
|
3
|
+
*
|
|
4
|
+
* Synthesizes nodes from DOM data that the AX tree misses or misclassifies:
|
|
5
|
+
* - Option nodes from <select> children (often marked as ignored by Chrome)
|
|
6
|
+
* - Canvas nodes (classified as generic/ignored by AX tree)
|
|
7
|
+
* - Toast library nodes (promoted to alert role for unsemantic toast libraries)
|
|
8
|
+
*
|
|
9
|
+
* @module snapshot/node-synthesizer
|
|
10
|
+
*/
|
|
11
|
+
import { getTextContent } from '../lib/text-utils.js';
|
|
12
|
+
/**
|
|
13
|
+
* Data attributes used by unsemantic toast libraries.
|
|
14
|
+
* Keep in sync with TOAST_LIBRARY_SELECTOR in observer-script.ts.
|
|
15
|
+
*/
|
|
16
|
+
export const TOAST_DATA_ATTRS = ['data-sonner-toast', 'data-hot-toast'];
|
|
17
|
+
/**
|
|
18
|
+
* CSS class substrings used by unsemantic toast libraries.
|
|
19
|
+
* Keep in sync with TOAST_LIBRARY_SELECTOR in observer-script.ts.
|
|
20
|
+
*/
|
|
21
|
+
export const TOAST_CLASS_PATTERNS = [
|
|
22
|
+
'Toastify__toast',
|
|
23
|
+
'ant-message-notice',
|
|
24
|
+
'ant-message',
|
|
25
|
+
'chakra-toast',
|
|
26
|
+
];
|
|
27
|
+
/**
|
|
28
|
+
* Check if a DOM node belongs to a known unsemantic toast library.
|
|
29
|
+
*/
|
|
30
|
+
export function isToastLibraryNode(domNode) {
|
|
31
|
+
const attrs = domNode.attributes;
|
|
32
|
+
if (!attrs)
|
|
33
|
+
return false;
|
|
34
|
+
for (const attrName of TOAST_DATA_ATTRS) {
|
|
35
|
+
if (attrs[attrName] !== undefined)
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
const className = attrs.class ?? attrs.className;
|
|
39
|
+
if (typeof className === 'string') {
|
|
40
|
+
for (const pattern of TOAST_CLASS_PATTERNS) {
|
|
41
|
+
if (className.includes(pattern))
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Synthesize option nodes from <select> children.
|
|
49
|
+
*
|
|
50
|
+
* Chrome's AX tree often marks <option> nodes as ignored when the select
|
|
51
|
+
* is collapsed, and their bounding boxes are zero (OS-rendered).
|
|
52
|
+
* We inject them from the DOM so AI agents can discover available options.
|
|
53
|
+
*
|
|
54
|
+
* @param nodesToProcess - Current node list (mutated in place)
|
|
55
|
+
* @param domResult - DOM extraction result
|
|
56
|
+
*/
|
|
57
|
+
export function synthesizeOptionNodes(nodesToProcess, domResult) {
|
|
58
|
+
const alreadyInSet = new Set(nodesToProcess.map((n) => n.backendNodeId));
|
|
59
|
+
for (const nodeData of [...nodesToProcess]) {
|
|
60
|
+
const domNode = nodeData.domNode;
|
|
61
|
+
if (domNode?.nodeName.toUpperCase() !== 'SELECT')
|
|
62
|
+
continue;
|
|
63
|
+
const collectOptions = (parentId) => {
|
|
64
|
+
const parent = domResult.nodes.get(parentId);
|
|
65
|
+
if (!parent?.childNodeIds)
|
|
66
|
+
return;
|
|
67
|
+
for (const childId of parent.childNodeIds) {
|
|
68
|
+
const child = domResult.nodes.get(childId);
|
|
69
|
+
if (!child)
|
|
70
|
+
continue;
|
|
71
|
+
const childTag = child.nodeName.toUpperCase();
|
|
72
|
+
if (childTag === 'OPTGROUP') {
|
|
73
|
+
// Recurse into optgroup to find nested options
|
|
74
|
+
collectOptions(childId);
|
|
75
|
+
}
|
|
76
|
+
else if (childTag === 'OPTION' && !alreadyInSet.has(childId)) {
|
|
77
|
+
// Extract text content from option's child text nodes
|
|
78
|
+
const optionText = getTextContent(childId, domResult.nodes);
|
|
79
|
+
// Build synthetic AX node so label resolution and state extraction work
|
|
80
|
+
const syntheticAx = {
|
|
81
|
+
nodeId: `synthetic-opt-${childId}`,
|
|
82
|
+
backendDOMNodeId: childId,
|
|
83
|
+
role: 'option',
|
|
84
|
+
name: optionText ?? '',
|
|
85
|
+
properties: [],
|
|
86
|
+
};
|
|
87
|
+
// Transfer selected attribute to AX property
|
|
88
|
+
if (child.attributes?.selected !== undefined) {
|
|
89
|
+
syntheticAx.properties.push({
|
|
90
|
+
name: 'selected',
|
|
91
|
+
value: { type: 'boolean', value: true },
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
// Transfer disabled attribute to AX property
|
|
95
|
+
if (child.attributes?.disabled !== undefined) {
|
|
96
|
+
syntheticAx.properties.push({
|
|
97
|
+
name: 'disabled',
|
|
98
|
+
value: { type: 'boolean', value: true },
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
nodesToProcess.push({
|
|
102
|
+
backendNodeId: childId,
|
|
103
|
+
domNode: child,
|
|
104
|
+
axNode: syntheticAx,
|
|
105
|
+
});
|
|
106
|
+
alreadyInSet.add(childId);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
collectOptions(domNode.backendNodeId);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Synthesize canvas nodes from DOM.
|
|
115
|
+
*
|
|
116
|
+
* Canvas elements are classified as generic/ignored by the AX tree,
|
|
117
|
+
* so we inject them from the DOM so AI agents can discover and interact with them.
|
|
118
|
+
*
|
|
119
|
+
* @param nodesToProcess - Current node list (mutated in place)
|
|
120
|
+
* @param domResult - DOM extraction result
|
|
121
|
+
*/
|
|
122
|
+
export function synthesizeCanvasNodes(nodesToProcess, domResult) {
|
|
123
|
+
const alreadyInCanvas = new Set(nodesToProcess.map((n) => n.backendNodeId));
|
|
124
|
+
for (const [backendNodeId, domNode] of domResult.nodes) {
|
|
125
|
+
if (domNode.nodeName.toUpperCase() !== 'CANVAS')
|
|
126
|
+
continue;
|
|
127
|
+
if (alreadyInCanvas.has(backendNodeId))
|
|
128
|
+
continue;
|
|
129
|
+
const syntheticAx = {
|
|
130
|
+
nodeId: `synthetic-canvas-${backendNodeId}`,
|
|
131
|
+
backendDOMNodeId: backendNodeId,
|
|
132
|
+
role: 'canvas',
|
|
133
|
+
name: domNode.attributes?.['aria-label'] ?? '',
|
|
134
|
+
properties: [],
|
|
135
|
+
};
|
|
136
|
+
nodesToProcess.push({
|
|
137
|
+
backendNodeId,
|
|
138
|
+
domNode,
|
|
139
|
+
axNode: syntheticAx,
|
|
140
|
+
});
|
|
141
|
+
alreadyInCanvas.add(backendNodeId);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Promote unsemantic toast library nodes to alert role.
|
|
146
|
+
*
|
|
147
|
+
* Popular toast libraries (Sonner, react-hot-toast, Toastify, Ant Design, Chakra UI)
|
|
148
|
+
* don't use ARIA roles. Detect them by data attributes and CSS classes.
|
|
149
|
+
* Selectors mirror TOAST_LIBRARY_SELECTOR in observer-script.ts — keep in sync.
|
|
150
|
+
*
|
|
151
|
+
* Some toast elements (e.g., Sonner's <li data-sonner-toast>) are already in
|
|
152
|
+
* nodesToProcess via the AX tree (as listitem/generic), so we must also override
|
|
153
|
+
* their axNode role — not just add new nodes.
|
|
154
|
+
*
|
|
155
|
+
* @param nodesToProcess - Current node list (mutated in place)
|
|
156
|
+
* @param domResult - DOM extraction result
|
|
157
|
+
*/
|
|
158
|
+
export function promoteToastNodes(nodesToProcess, domResult) {
|
|
159
|
+
const scheduledIndex = new Map(nodesToProcess.map((n, i) => [n.backendNodeId, i]));
|
|
160
|
+
for (const [backendNodeId, domNode] of domResult.nodes) {
|
|
161
|
+
if (!isToastLibraryNode(domNode))
|
|
162
|
+
continue;
|
|
163
|
+
const syntheticAx = {
|
|
164
|
+
nodeId: `synthetic-toast-${backendNodeId}`,
|
|
165
|
+
backendDOMNodeId: backendNodeId,
|
|
166
|
+
role: 'alert',
|
|
167
|
+
name: '', // Will be resolved via label fallback (textContent)
|
|
168
|
+
properties: [],
|
|
169
|
+
};
|
|
170
|
+
const existingIdx = scheduledIndex.get(backendNodeId);
|
|
171
|
+
if (existingIdx !== undefined) {
|
|
172
|
+
// Already scheduled (e.g., Sonner <li> classified as listitem) — override role
|
|
173
|
+
nodesToProcess[existingIdx].axNode = syntheticAx;
|
|
174
|
+
}
|
|
175
|
+
else {
|
|
176
|
+
nodesToProcess.push({
|
|
177
|
+
backendNodeId,
|
|
178
|
+
domNode,
|
|
179
|
+
axNode: syntheticAx,
|
|
180
|
+
});
|
|
181
|
+
scheduledIndex.set(backendNodeId, nodesToProcess.length - 1);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
//# sourceMappingURL=node-synthesizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"node-synthesizer.js","sourceRoot":"","sources":["../../../src/snapshot/node-synthesizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,17 +12,8 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import type { Page } from 'puppeteer-core';
|
|
14
14
|
import type { CdpClient } from '../cdp/cdp-client.interface.js';
|
|
15
|
-
import type { BaseSnapshot
|
|
16
|
-
import { type
|
|
17
|
-
/**
|
|
18
|
-
* Snapshot compiler options
|
|
19
|
-
*/
|
|
20
|
-
export interface CompileOptions extends Partial<SnapshotOptions> {
|
|
21
|
-
/** Include readable content nodes (headings, paragraphs). Default: true */
|
|
22
|
-
includeReadable?: boolean;
|
|
23
|
-
/** Extract bounding boxes and layout info. Default: true */
|
|
24
|
-
includeLayout?: boolean;
|
|
25
|
-
}
|
|
15
|
+
import type { BaseSnapshot } from './snapshot.types.js';
|
|
16
|
+
import { type CompileOptions } from './kind-mapping.js';
|
|
26
17
|
/**
|
|
27
18
|
* SnapshotCompiler class
|
|
28
19
|
*
|
|
@@ -54,32 +45,7 @@ export declare class SnapshotCompiler {
|
|
|
54
45
|
* Transform raw node data to ReadableNode.
|
|
55
46
|
*/
|
|
56
47
|
private transformNode;
|
|
57
|
-
/**
|
|
58
|
-
* Get NodeKind from HTML tag name.
|
|
59
|
-
*/
|
|
60
|
-
private getKindFromTag;
|
|
61
|
-
/**
|
|
62
|
-
* Filter out noise nodes to reduce snapshot size.
|
|
63
|
-
*
|
|
64
|
-
* Filters:
|
|
65
|
-
* 1. Empty list/listitem containers with no semantic name AND no interactive descendants
|
|
66
|
-
* 2. StaticText/text nodes that mirror their parent's label exactly
|
|
67
|
-
*/
|
|
68
|
-
private filterNoiseNodes;
|
|
69
48
|
}
|
|
70
|
-
/**
|
|
71
|
-
* Slice nodes to max_nodes budget while preserving high z-index overlay content.
|
|
72
|
-
*
|
|
73
|
-
* Portal-rendered content (dropdowns, popovers, modals) appears at the end of
|
|
74
|
-
* DOM order. On heavy pages, a naive slice truncates it.
|
|
75
|
-
*
|
|
76
|
-
* Strategy:
|
|
77
|
-
* 1. Partition nodes into overlay (z-index > threshold) and main
|
|
78
|
-
* 2. Take all overlay nodes (up to 30% of budget)
|
|
79
|
-
* 3. Fill remaining budget with main nodes (DOM order)
|
|
80
|
-
* 4. Re-sort by original DOM order
|
|
81
|
-
*/
|
|
82
|
-
export declare function sliceWithOverlayPriority(nodes: RawNodeData[], maxNodes: number): RawNodeData[];
|
|
83
49
|
/**
|
|
84
50
|
* Export a compile function for simpler usage.
|
|
85
51
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snapshot-compiler.d.ts","sourceRoot":"","sources":["../../../src/snapshot/snapshot-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EACV,YAAY,
|
|
1
|
+
{"version":3,"file":"snapshot-compiler.d.ts","sourceRoot":"","sources":["../../../src/snapshot/snapshot-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EACV,YAAY,EAQb,MAAM,qBAAqB,CAAC;AAyC7B,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,mBAAmB,CAAC;AAE3B;;;;GAIG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IAEnD,iDAAiD;IACjD,OAAO,CAAC,eAAe,CAAK;gBAEhB,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC;IAI7C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAK1B;;;;;;;OAOG;IACG,OAAO,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IA2XjF;;OAEG;YACW,iBAAiB;IAe/B;;OAEG;IACH,OAAO,CAAC,aAAa;CA+HtB;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,GAAG,EAAE,SAAS,EACd,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,CAGvB"}
|