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,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Manager Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for browser session management.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Supported Chrome release channels.
|
|
8
|
+
* Single source of truth — used by LaunchOptions, BrowserSessionConfig, and Zod schemas.
|
|
9
|
+
*/
|
|
10
|
+
export declare const CHROME_CHANNELS: readonly ["chrome", "chrome-canary", "chrome-beta", "chrome-dev"];
|
|
11
|
+
/** Chrome release channel type derived from the canonical const array. */
|
|
12
|
+
export type ChromeChannel = (typeof CHROME_CHANNELS)[number];
|
|
13
|
+
/**
|
|
14
|
+
* Connection state machine states
|
|
15
|
+
*/
|
|
16
|
+
export type ConnectionState = 'idle' | 'connecting' | 'connected' | 'disconnecting' | 'failed';
|
|
17
|
+
/**
|
|
18
|
+
* Event emitted on connection state changes
|
|
19
|
+
*/
|
|
20
|
+
export interface ConnectionStateChangeEvent {
|
|
21
|
+
previousState: ConnectionState;
|
|
22
|
+
currentState: ConnectionState;
|
|
23
|
+
timestamp: Date;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Storage state for cookies and localStorage.
|
|
27
|
+
* Puppeteer doesn't have a built-in storageState type like Playwright.
|
|
28
|
+
*/
|
|
29
|
+
export interface StorageState {
|
|
30
|
+
cookies: {
|
|
31
|
+
name: string;
|
|
32
|
+
value: string;
|
|
33
|
+
domain: string;
|
|
34
|
+
path: string;
|
|
35
|
+
expires: number;
|
|
36
|
+
httpOnly: boolean;
|
|
37
|
+
secure: boolean;
|
|
38
|
+
sameSite?: 'Strict' | 'Lax' | 'None';
|
|
39
|
+
}[];
|
|
40
|
+
origins: {
|
|
41
|
+
origin: string;
|
|
42
|
+
localStorage: {
|
|
43
|
+
name: string;
|
|
44
|
+
value: string;
|
|
45
|
+
}[];
|
|
46
|
+
}[];
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Options for launching a new browser
|
|
50
|
+
*/
|
|
51
|
+
export interface LaunchOptions {
|
|
52
|
+
/** Run browser in headless mode (default: false) */
|
|
53
|
+
headless?: boolean;
|
|
54
|
+
/** Viewport dimensions */
|
|
55
|
+
viewport?: {
|
|
56
|
+
width: number;
|
|
57
|
+
height: number;
|
|
58
|
+
};
|
|
59
|
+
/** Chrome channel to use */
|
|
60
|
+
channel?: ChromeChannel;
|
|
61
|
+
/** Path to Chrome executable (overrides channel) */
|
|
62
|
+
executablePath?: string;
|
|
63
|
+
/** Use isolated temp profile instead of persistent (default: false) */
|
|
64
|
+
isolated?: boolean;
|
|
65
|
+
/** Directory for persistent browser profile (user data dir) */
|
|
66
|
+
userDataDir?: string;
|
|
67
|
+
/** Additional Chrome command-line arguments */
|
|
68
|
+
args?: string[];
|
|
69
|
+
/** Use pipe transport instead of WebSocket. Defaults to true for isolated profiles, false for persistent (enables reconnection). */
|
|
70
|
+
pipe?: boolean;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Options for connecting to an existing browser via CDP
|
|
74
|
+
*/
|
|
75
|
+
export interface ConnectOptions {
|
|
76
|
+
/** WebSocket endpoint URL (e.g., ws://localhost:9222/devtools/browser/...) */
|
|
77
|
+
browserWSEndpoint?: string;
|
|
78
|
+
/** HTTP endpoint URL for Puppeteer to discover WebSocket (e.g., http://localhost:9222) */
|
|
79
|
+
browserURL?: string;
|
|
80
|
+
/** CDP endpoint URL (legacy, converted to browserURL) */
|
|
81
|
+
endpointUrl?: string;
|
|
82
|
+
/** CDP host (default: 127.0.0.1) - used if no endpoint provided */
|
|
83
|
+
host?: string;
|
|
84
|
+
/** CDP port (default: 9223) - used if no endpoint provided */
|
|
85
|
+
port?: number;
|
|
86
|
+
/** Connection timeout in ms (default: 30000) */
|
|
87
|
+
timeout?: number;
|
|
88
|
+
/**
|
|
89
|
+
* Auto-connect to Chrome 144+ with UI-based remote debugging enabled.
|
|
90
|
+
* Reads DevToolsActivePort file from Chrome's user data directory.
|
|
91
|
+
* Requires user to enable remote debugging at chrome://inspect/#remote-debugging
|
|
92
|
+
*/
|
|
93
|
+
autoConnect?: boolean;
|
|
94
|
+
/** Chrome user data directory for autoConnect (default: ~/.config/google-chrome on Linux) */
|
|
95
|
+
userDataDir?: string;
|
|
96
|
+
/**
|
|
97
|
+
* Treat connected browser as owned (close on shutdown instead of disconnect).
|
|
98
|
+
* Use when reconnecting to a browser that this server originally launched.
|
|
99
|
+
*/
|
|
100
|
+
ownedReconnect?: boolean;
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=session-manager.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.types.d.ts","sourceRoot":"","sources":["../../../src/browser/session-manager.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe,mEAAoE,CAAC;AAEjG,0EAA0E;AAC1E,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC;AAE7D;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,YAAY,GAAG,WAAW,GAAG,eAAe,GAAG,QAAQ,CAAC;AAE/F;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,aAAa,EAAE,eAAe,CAAC;IAC/B,YAAY,EAAE,eAAe,CAAC;IAC9B,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,EAAE,OAAO,CAAC;QAClB,MAAM,EAAE,OAAO,CAAC;QAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;KACtC,EAAE,CAAC;IACJ,OAAO,EAAE;QACP,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,EAAE,CAAC;KACjD,EAAE,CAAC;CACL;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAE7C,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,oDAAoD;IACpD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,uEAAuE;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAEhB,oIAAoI;IACpI,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,0FAA0F;IAC1F,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,yDAAyD;IACzD,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,8DAA8D;IAC9D,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,6FAA6F;IAC7F,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Session Manager Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for browser session management.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Supported Chrome release channels.
|
|
8
|
+
* Single source of truth — used by LaunchOptions, BrowserSessionConfig, and Zod schemas.
|
|
9
|
+
*/
|
|
10
|
+
export const CHROME_CHANNELS = ['chrome', 'chrome-canary', 'chrome-beta', 'chrome-dev'];
|
|
11
|
+
//# sourceMappingURL=session-manager.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.types.js","sourceRoot":"","sources":["../../../src/browser/session-manager.types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,aAAa,EAAE,YAAY,CAAU,CAAC"}
|
package/dist/src/cli/args.d.ts
CHANGED
|
@@ -2,28 +2,22 @@
|
|
|
2
2
|
* CLI Argument Parsing
|
|
3
3
|
*
|
|
4
4
|
* Parses command-line arguments for server configuration.
|
|
5
|
-
*
|
|
5
|
+
* Browser configuration is per-session (via navigate tool params),
|
|
6
|
+
* so only transport-level settings remain here.
|
|
6
7
|
*/
|
|
8
|
+
/** Transport mode for the MCP server */
|
|
9
|
+
export type TransportMode = 'stdio' | 'http';
|
|
7
10
|
/**
|
|
8
|
-
* Server configuration from CLI arguments
|
|
11
|
+
* Server configuration from CLI arguments.
|
|
12
|
+
*
|
|
13
|
+
* Contains only server-level settings. Browser preferences are
|
|
14
|
+
* per-session and configured via the navigate tool's optional parameters.
|
|
9
15
|
*/
|
|
10
16
|
export interface ServerArgs {
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
|
|
15
|
-
/** HTTP endpoint URL for connecting to existing browser */
|
|
16
|
-
browserUrl?: string;
|
|
17
|
-
/** WebSocket endpoint URL for connecting to existing browser */
|
|
18
|
-
wsEndpoint?: string;
|
|
19
|
-
/** Auto-connect to Chrome 144+ via DevToolsActivePort */
|
|
20
|
-
autoConnect: boolean;
|
|
21
|
-
/** Chrome user data directory */
|
|
22
|
-
userDataDir?: string;
|
|
23
|
-
/** Chrome channel to use */
|
|
24
|
-
channel?: 'chrome' | 'chrome-canary' | 'chrome-beta' | 'chrome-dev';
|
|
25
|
-
/** Path to Chrome executable */
|
|
26
|
-
executablePath?: string;
|
|
17
|
+
/** Transport mode: stdio (default) or http */
|
|
18
|
+
transport: TransportMode;
|
|
19
|
+
/** Port for HTTP transport (default: 3000) */
|
|
20
|
+
port: number;
|
|
27
21
|
}
|
|
28
22
|
/**
|
|
29
23
|
* Parse command-line arguments into ServerArgs.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/cli/args.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"args.d.ts","sourceRoot":"","sources":["../../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,wCAAwC;AACxC,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAC;AAE7C;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,8CAA8C;IAC9C,SAAS,EAAE,aAAa,CAAC;IAEzB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;CACd;AAeD;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA2CpD"}
|
package/dist/src/cli/args.js
CHANGED
|
@@ -2,19 +2,11 @@
|
|
|
2
2
|
* CLI Argument Parsing
|
|
3
3
|
*
|
|
4
4
|
* Parses command-line arguments for server configuration.
|
|
5
|
-
*
|
|
5
|
+
* Browser configuration is per-session (via navigate tool params),
|
|
6
|
+
* so only transport-level settings remain here.
|
|
6
7
|
*/
|
|
7
8
|
/** Known CLI argument base names for validation */
|
|
8
|
-
const KNOWN_ARG_NAMES = new Set([
|
|
9
|
-
'headless',
|
|
10
|
-
'isolated',
|
|
11
|
-
'autoConnect',
|
|
12
|
-
'browserUrl',
|
|
13
|
-
'wsEndpoint',
|
|
14
|
-
'userDataDir',
|
|
15
|
-
'channel',
|
|
16
|
-
'executablePath',
|
|
17
|
-
]);
|
|
9
|
+
const KNOWN_ARG_NAMES = new Set(['transport', 'port']);
|
|
18
10
|
/**
|
|
19
11
|
* Check if an argument is a known CLI flag (handles --arg and --arg=value forms).
|
|
20
12
|
*/
|
|
@@ -33,44 +25,47 @@ function isKnownArg(arg) {
|
|
|
33
25
|
*/
|
|
34
26
|
export function parseArgs(argv) {
|
|
35
27
|
const args = {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
autoConnect: false,
|
|
28
|
+
transport: 'stdio',
|
|
29
|
+
port: 3000,
|
|
39
30
|
};
|
|
40
31
|
for (let i = 0; i < argv.length; i++) {
|
|
41
32
|
const arg = argv[i];
|
|
42
|
-
if (arg === '--
|
|
43
|
-
|
|
33
|
+
if (arg === '--transport' && argv[i + 1]) {
|
|
34
|
+
const value = argv[++i];
|
|
35
|
+
if (value === 'stdio' || value === 'http') {
|
|
36
|
+
args.transport = value;
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
console.warn(`Warning: Unknown transport "${value}" - defaulting to stdio`);
|
|
40
|
+
}
|
|
44
41
|
}
|
|
45
|
-
else if (arg === '--
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
54
|
-
else if (arg === '--browserUrl' && argv[i + 1]) {
|
|
55
|
-
args.browserUrl = argv[++i];
|
|
56
|
-
}
|
|
57
|
-
else if (arg === '--wsEndpoint' && argv[i + 1]) {
|
|
58
|
-
args.wsEndpoint = argv[++i];
|
|
59
|
-
}
|
|
60
|
-
else if (arg === '--userDataDir' && argv[i + 1]) {
|
|
61
|
-
args.userDataDir = argv[++i];
|
|
62
|
-
}
|
|
63
|
-
else if (arg === '--channel' && argv[i + 1]) {
|
|
64
|
-
args.channel = argv[++i];
|
|
65
|
-
}
|
|
66
|
-
else if (arg === '--executablePath' && argv[i + 1]) {
|
|
67
|
-
args.executablePath = argv[++i];
|
|
42
|
+
else if (arg === '--port' && argv[i + 1]) {
|
|
43
|
+
const parsed = parseInt(argv[++i], 10);
|
|
44
|
+
if (isNaN(parsed) || parsed < 1 || parsed > 65535) {
|
|
45
|
+
console.warn(`Warning: Invalid port "${argv[i]}" - defaulting to 3000`);
|
|
46
|
+
}
|
|
47
|
+
else {
|
|
48
|
+
args.port = parsed;
|
|
49
|
+
}
|
|
68
50
|
}
|
|
69
51
|
else if (!isKnownArg(arg)) {
|
|
70
|
-
// Warn about unknown arguments to catch typos
|
|
52
|
+
// Warn about unknown arguments to catch typos
|
|
71
53
|
console.warn(`Warning: Unknown argument "${arg}" - ignored`);
|
|
72
54
|
}
|
|
73
55
|
}
|
|
56
|
+
// Environment variable overrides for transport settings
|
|
57
|
+
if (process.env.TRANSPORT === 'http') {
|
|
58
|
+
args.transport = 'http';
|
|
59
|
+
}
|
|
60
|
+
if (process.env.HTTP_PORT) {
|
|
61
|
+
const parsed = parseInt(process.env.HTTP_PORT, 10);
|
|
62
|
+
if (isNaN(parsed) || parsed < 1 || parsed > 65535) {
|
|
63
|
+
console.warn(`Warning: Invalid HTTP_PORT "${process.env.HTTP_PORT}" - defaulting to 3000`);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
args.port = parsed;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
74
69
|
return args;
|
|
75
70
|
}
|
|
76
71
|
//# sourceMappingURL=args.js.map
|
package/dist/src/cli/args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/cli/args.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"args.js","sourceRoot":"","sources":["../../../src/cli/args.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAmBH,mDAAmD;AACnD,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;AAEvD;;GAEG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,8BAA8B;IACtE,MAAM,aAAa,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,OAAO,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACvC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,IAAc;IACtC,MAAM,IAAI,GAAe;QACvB,SAAS,EAAE,OAAO;QAClB,IAAI,EAAE,IAAI;KACX,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAEpB,IAAI,GAAG,KAAK,aAAa,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACxB,IAAI,KAAK,KAAK,OAAO,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBAC1C,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YACzB,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,+BAA+B,KAAK,yBAAyB,CAAC,CAAC;YAC9E,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,QAAQ,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC3C,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;gBAClD,OAAO,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;YAC1E,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;YACrB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,8CAA8C;YAC9C,OAAO,CAAC,IAAI,CAAC,8BAA8B,GAAG,aAAa,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,EAAE,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;QAC1B,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,KAAK,EAAE,CAAC;YAClD,OAAO,CAAC,IAAI,CAAC,+BAA+B,OAAO,CAAC,GAAG,CAAC,SAAS,wBAAwB,CAAC,CAAC;QAC7F,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constraint Extraction
|
|
3
|
+
*
|
|
4
|
+
* Extracts validation constraints and options for form fields
|
|
5
|
+
* including required state, radio options, and select options.
|
|
6
|
+
*
|
|
7
|
+
* @module form/constraint-extraction
|
|
8
|
+
*/
|
|
9
|
+
import type { BaseSnapshot, ReadableNode } from '../snapshot/snapshot.types.js';
|
|
10
|
+
import type { FieldConstraints, FieldOption } from './types.js';
|
|
11
|
+
/**
|
|
12
|
+
* Extract constraints for a field.
|
|
13
|
+
*/
|
|
14
|
+
export declare function extractConstraints(node: ReadableNode, snapshot: BaseSnapshot): FieldConstraints;
|
|
15
|
+
/**
|
|
16
|
+
* Check if two radio nodes belong to the same group.
|
|
17
|
+
* Uses `name` attribute as primary signal, falls back to heading/group context.
|
|
18
|
+
*/
|
|
19
|
+
export declare function sameRadioGroup(a: ReadableNode, b: ReadableNode): boolean;
|
|
20
|
+
/**
|
|
21
|
+
* Extract options for radio button groups.
|
|
22
|
+
*/
|
|
23
|
+
export declare function extractRadioOptions(node: ReadableNode, snapshot: BaseSnapshot): FieldOption[];
|
|
24
|
+
/**
|
|
25
|
+
* Extract options for select/combobox elements.
|
|
26
|
+
*
|
|
27
|
+
* Attempts to find option elements by looking for:
|
|
28
|
+
* 1. Nodes in the same group with 'listitem' kind
|
|
29
|
+
* 2. Nodes with 'menuitem' kind that share the same region/group
|
|
30
|
+
* 3. If value is set, creates a single option representing current selection
|
|
31
|
+
*
|
|
32
|
+
* Note: Full option extraction may require additional CDP calls.
|
|
33
|
+
* This provides a best-effort extraction from available snapshot data.
|
|
34
|
+
*/
|
|
35
|
+
export declare function extractSelectOptions(node: ReadableNode, snapshot: BaseSnapshot): FieldOption[];
|
|
36
|
+
//# sourceMappingURL=constraint-extraction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraint-extraction.d.ts","sourceRoot":"","sources":["../../../src/form/constraint-extraction.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEhE;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,gBAAgB,CAkC/F;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,OAAO,CAMxE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,WAAW,EAAE,CAgB7F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,WAAW,EAAE,CAwC9F"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constraint Extraction
|
|
3
|
+
*
|
|
4
|
+
* Extracts validation constraints and options for form fields
|
|
5
|
+
* including required state, radio options, and select options.
|
|
6
|
+
*
|
|
7
|
+
* @module form/constraint-extraction
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Extract constraints for a field.
|
|
11
|
+
*/
|
|
12
|
+
export function extractConstraints(node, snapshot) {
|
|
13
|
+
const constraints = {
|
|
14
|
+
required: false,
|
|
15
|
+
required_confidence: 0,
|
|
16
|
+
};
|
|
17
|
+
// Check required state
|
|
18
|
+
if (node.state?.required) {
|
|
19
|
+
constraints.required = true;
|
|
20
|
+
constraints.required_confidence = 1.0;
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
// Check label for required indicators
|
|
24
|
+
const label = node.label.toLowerCase();
|
|
25
|
+
if (label.includes('*') || label.includes('required')) {
|
|
26
|
+
constraints.required = true;
|
|
27
|
+
constraints.required_confidence = 0.8;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
// Extract options for select/radio/combobox
|
|
31
|
+
if (node.kind === 'radio') {
|
|
32
|
+
// Find related radio buttons with same name pattern
|
|
33
|
+
constraints.options = extractRadioOptions(node, snapshot);
|
|
34
|
+
}
|
|
35
|
+
else if (node.kind === 'combobox' || node.kind === 'select') {
|
|
36
|
+
// Extract options for select/combobox elements
|
|
37
|
+
constraints.options = extractSelectOptions(node, snapshot);
|
|
38
|
+
}
|
|
39
|
+
// TODO: Extract more constraints from DOM attributes
|
|
40
|
+
// - minlength, maxlength
|
|
41
|
+
// - min, max, step
|
|
42
|
+
// - pattern
|
|
43
|
+
return constraints;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Check if two radio nodes belong to the same group.
|
|
47
|
+
* Uses `name` attribute as primary signal, falls back to heading/group context.
|
|
48
|
+
*/
|
|
49
|
+
export function sameRadioGroup(a, b) {
|
|
50
|
+
if (a.where.region !== b.where.region)
|
|
51
|
+
return false;
|
|
52
|
+
if (a.attributes?.name && b.attributes?.name)
|
|
53
|
+
return a.attributes.name === b.attributes.name;
|
|
54
|
+
return (a.where.heading_context === b.where.heading_context || a.where.group_id === b.where.group_id);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Extract options for radio button groups.
|
|
58
|
+
*/
|
|
59
|
+
export function extractRadioOptions(node, snapshot) {
|
|
60
|
+
const options = [];
|
|
61
|
+
const radioButtons = snapshot.nodes.filter((n) => n.kind === 'radio' && sameRadioGroup(node, n));
|
|
62
|
+
for (const radio of radioButtons) {
|
|
63
|
+
options.push({
|
|
64
|
+
value: radio.label,
|
|
65
|
+
label: radio.label,
|
|
66
|
+
selected: radio.state?.checked === true || radio.state?.checked === 'mixed',
|
|
67
|
+
disabled: !(radio.state?.enabled ?? true),
|
|
68
|
+
eid: radio.node_id,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return options;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Extract options for select/combobox elements.
|
|
75
|
+
*
|
|
76
|
+
* Attempts to find option elements by looking for:
|
|
77
|
+
* 1. Nodes in the same group with 'listitem' kind
|
|
78
|
+
* 2. Nodes with 'menuitem' kind that share the same region/group
|
|
79
|
+
* 3. If value is set, creates a single option representing current selection
|
|
80
|
+
*
|
|
81
|
+
* Note: Full option extraction may require additional CDP calls.
|
|
82
|
+
* This provides a best-effort extraction from available snapshot data.
|
|
83
|
+
*/
|
|
84
|
+
export function extractSelectOptions(node, snapshot) {
|
|
85
|
+
const options = [];
|
|
86
|
+
// Look for listitem or menuitem nodes in the same group_id
|
|
87
|
+
if (node.where.group_id) {
|
|
88
|
+
const potentialOptions = snapshot.nodes.filter((n) => (n.kind === 'listitem' || n.kind === 'menuitem') &&
|
|
89
|
+
n.where.group_id === node.where.group_id &&
|
|
90
|
+
n.node_id !== node.node_id);
|
|
91
|
+
for (const opt of potentialOptions) {
|
|
92
|
+
const isSelected = opt.state?.selected ?? false;
|
|
93
|
+
options.push({
|
|
94
|
+
value: opt.label,
|
|
95
|
+
label: opt.label,
|
|
96
|
+
selected: isSelected,
|
|
97
|
+
disabled: !(opt.state?.enabled ?? true),
|
|
98
|
+
eid: opt.node_id,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
// If we found options, return them
|
|
103
|
+
if (options.length > 0) {
|
|
104
|
+
return options;
|
|
105
|
+
}
|
|
106
|
+
// Fallback: if node has a value, create a single option for the current selection
|
|
107
|
+
// This at least lets us know what's currently selected even if we can't see all options
|
|
108
|
+
if (node.attributes?.value) {
|
|
109
|
+
options.push({
|
|
110
|
+
value: node.attributes.value,
|
|
111
|
+
label: node.attributes.value,
|
|
112
|
+
selected: true,
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
return options;
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=constraint-extraction.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constraint-extraction.js","sourceRoot":"","sources":["../../../src/form/constraint-extraction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field-extractor.d.ts","sourceRoot":"","sources":["../../../src/form/field-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"field-extractor.d.ts","sourceRoot":"","sources":["../../../src/form/field-extractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAgB,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKjE;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,MAAM,EAAE,EACnB,MAAM,EAAE,mBAAmB,GAC1B,SAAS,EAAE,CAmBb;AAuED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,YAAY,EACtB,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,mBAAmB,GAC1B,SAAS,GAAG,IAAI,CAIlB"}
|