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,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Context Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the ToolContext interface that all tool handlers receive as a parameter.
|
|
5
|
+
* This decouples tool handlers from global singletons, enabling multi-tenancy
|
|
6
|
+
* where each session has its own isolated context.
|
|
7
|
+
*
|
|
8
|
+
* @module tools/tool-context.types
|
|
9
|
+
*/
|
|
10
|
+
import type { SessionManager } from '../browser/session-manager.js';
|
|
11
|
+
import type { PageHandle } from '../browser/page-registry.js';
|
|
12
|
+
import type { BaseSnapshot, ReadableNode } from '../snapshot/snapshot.types.js';
|
|
13
|
+
import type { SnapshotStore } from '../snapshot/snapshot-store.js';
|
|
14
|
+
import type { StateManager } from '../state/state-manager.js';
|
|
15
|
+
import type { DependencyTracker } from '../form/dependency-tracker.js';
|
|
16
|
+
import type { ObservationAccumulator } from '../observation/observation-accumulator.js';
|
|
17
|
+
import type { RuntimeHealth } from '../state/health.types.js';
|
|
18
|
+
import type { BrowserSessionConfig } from '../browser/browser-session-config.js';
|
|
19
|
+
/**
|
|
20
|
+
* Result of ensuring a CDP session is healthy.
|
|
21
|
+
*/
|
|
22
|
+
export interface CdpSessionResult {
|
|
23
|
+
handle: PageHandle;
|
|
24
|
+
recovered: boolean;
|
|
25
|
+
runtime_health: RuntimeHealth;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Result of capturing a snapshot with recovery.
|
|
29
|
+
*/
|
|
30
|
+
export interface SnapshotCaptureResult {
|
|
31
|
+
snapshot: BaseSnapshot;
|
|
32
|
+
handle: PageHandle;
|
|
33
|
+
runtime_health: RuntimeHealth;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Context interface for tool handler execution.
|
|
37
|
+
*
|
|
38
|
+
* Provides all per-session state that tool handlers need.
|
|
39
|
+
* Replaces module-level singletons with an injectable context object.
|
|
40
|
+
*
|
|
41
|
+
* In single-tenant (stdio) mode, a DefaultToolContext wraps the existing singletons.
|
|
42
|
+
* In multi-tenant (HTTP) mode, a SessionController implements this interface directly.
|
|
43
|
+
*/
|
|
44
|
+
export interface ToolContext {
|
|
45
|
+
/** Unique session identifier */
|
|
46
|
+
readonly sessionId: string;
|
|
47
|
+
/**
|
|
48
|
+
* Ensure the session's browser is ready.
|
|
49
|
+
* Lazily launches/connects based on the session's BrowserSessionConfig.
|
|
50
|
+
* Idempotent — returns immediately if already running.
|
|
51
|
+
*/
|
|
52
|
+
ensureBrowser(): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Set the browser configuration for this session.
|
|
55
|
+
* Must be called before the browser is launched/connected.
|
|
56
|
+
* @throws Error if browser is already running
|
|
57
|
+
*/
|
|
58
|
+
setBrowserConfig(config: BrowserSessionConfig): void;
|
|
59
|
+
/**
|
|
60
|
+
* Check if browser configuration can be changed.
|
|
61
|
+
* Returns true if no browser is running (allows config before launch or after crash).
|
|
62
|
+
*/
|
|
63
|
+
canReconfigure(): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Shut down the current browser and clear session state so the browser
|
|
66
|
+
* can be reconfigured (e.g., switch from a launched browser to auto_connect).
|
|
67
|
+
* After this call, canReconfigure() returns true.
|
|
68
|
+
*/
|
|
69
|
+
resetBrowser(): Promise<void>;
|
|
70
|
+
/**
|
|
71
|
+
* Resolve page_id to a PageHandle, returning undefined if not found.
|
|
72
|
+
*/
|
|
73
|
+
resolvePage(pageId?: string): PageHandle | undefined;
|
|
74
|
+
/**
|
|
75
|
+
* Resolve page_id to a PageHandle, creating a new page if needed.
|
|
76
|
+
*/
|
|
77
|
+
resolvePageOrCreate(pageId?: string): Promise<PageHandle>;
|
|
78
|
+
/**
|
|
79
|
+
* Resolve page_id to a PageHandle, throwing if not found.
|
|
80
|
+
* Also touches the page to mark it as MRU.
|
|
81
|
+
*/
|
|
82
|
+
resolveExistingPage(pageId?: string): PageHandle;
|
|
83
|
+
/**
|
|
84
|
+
* Touch a page to mark it as most recently used.
|
|
85
|
+
*/
|
|
86
|
+
touchPage(pageId: string): void;
|
|
87
|
+
/**
|
|
88
|
+
* Close a page and clean up its resources.
|
|
89
|
+
*/
|
|
90
|
+
closePage(pageId: string): Promise<boolean>;
|
|
91
|
+
/**
|
|
92
|
+
* Sync with browser context to pick up unregistered pages.
|
|
93
|
+
* Returns all registered pages after sync.
|
|
94
|
+
*/
|
|
95
|
+
syncPages(): Promise<PageHandle[]>;
|
|
96
|
+
/**
|
|
97
|
+
* Navigate a page to a URL.
|
|
98
|
+
*/
|
|
99
|
+
navigateTo(pageId: string, url: string): Promise<void>;
|
|
100
|
+
/** Get the session manager for browser lifecycle operations. */
|
|
101
|
+
getSessionManager(): SessionManager;
|
|
102
|
+
/** Get the snapshot store for this session. */
|
|
103
|
+
getSnapshotStore(): SnapshotStore;
|
|
104
|
+
/** Get or create a state manager for a specific page. */
|
|
105
|
+
getStateManager(pageId: string): StateManager;
|
|
106
|
+
/** Remove the state manager for a page (on page close). */
|
|
107
|
+
removeStateManager(pageId: string): void;
|
|
108
|
+
/** Clear all state managers (on session close). */
|
|
109
|
+
clearAllStateManagers(): void;
|
|
110
|
+
/** Get the dependency tracker for this session. */
|
|
111
|
+
getDependencyTracker(): DependencyTracker;
|
|
112
|
+
/** Get the observation accumulator for this session. */
|
|
113
|
+
getObservationAccumulator(): ObservationAccumulator;
|
|
114
|
+
/**
|
|
115
|
+
* Ensure CDP session is healthy, attempting repair if needed.
|
|
116
|
+
* Call this before any CDP operation to auto-repair dead sessions.
|
|
117
|
+
*/
|
|
118
|
+
ensureCdpSession(handle: PageHandle): Promise<CdpSessionResult>;
|
|
119
|
+
/**
|
|
120
|
+
* Capture a snapshot with stabilization and CDP recovery when empty.
|
|
121
|
+
*/
|
|
122
|
+
captureSnapshotWithRecovery(handle: PageHandle, pageId: string): Promise<SnapshotCaptureResult>;
|
|
123
|
+
/**
|
|
124
|
+
* Require a snapshot for a page, throwing if none exists.
|
|
125
|
+
*/
|
|
126
|
+
requireSnapshot(pageId: string): BaseSnapshot;
|
|
127
|
+
/**
|
|
128
|
+
* Resolve an element by eid from the snapshot.
|
|
129
|
+
* Includes proactive staleness detection.
|
|
130
|
+
*
|
|
131
|
+
* @throws {ElementNotFoundError} If eid not found in registry
|
|
132
|
+
* @throws {StaleElementError} If eid reference is stale
|
|
133
|
+
*/
|
|
134
|
+
resolveElementByEid(pageId: string, eid: string, snapshot: BaseSnapshot): ReadableNode;
|
|
135
|
+
/**
|
|
136
|
+
* Close the session and clean up all resources (browser, snapshots, state, etc.).
|
|
137
|
+
* Implementations should be idempotent — repeated calls are safe no-ops.
|
|
138
|
+
*/
|
|
139
|
+
close(): Promise<void>;
|
|
140
|
+
}
|
|
141
|
+
//# sourceMappingURL=tool-context.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-context.types.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-context.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Context Types
|
|
3
|
+
*
|
|
4
|
+
* Defines the ToolContext interface that all tool handlers receive as a parameter.
|
|
5
|
+
* This decouples tool handlers from global singletons, enabling multi-tenancy
|
|
6
|
+
* where each session has its own isolated context.
|
|
7
|
+
*
|
|
8
|
+
* @module tools/tool-context.types
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=tool-context.types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-context.types.js","sourceRoot":"","sources":["../../../src/tools/tool-context.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registration
|
|
3
|
+
*
|
|
4
|
+
* Extracts all 23 MCP tool registrations into a reusable function.
|
|
5
|
+
* Used by both stdio (index.ts) and HTTP (http-gateway.ts) entry points.
|
|
6
|
+
*/
|
|
7
|
+
import type { ToolContext } from './tool-context.types.js';
|
|
8
|
+
import type { ToolRegistrar } from '../server/tool-registrar.types.js';
|
|
9
|
+
export type { ToolRegistrar } from '../server/tool-registrar.types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Context resolver function type.
|
|
12
|
+
* Returns a ToolContext for the current request.
|
|
13
|
+
*/
|
|
14
|
+
export type ContextResolver = () => ToolContext | Promise<ToolContext>;
|
|
15
|
+
/**
|
|
16
|
+
* Register all browser automation tools on an MCP server.
|
|
17
|
+
*
|
|
18
|
+
* Browser initialization is session-scoped: each ToolContext owns its own
|
|
19
|
+
* SessionManager and lazily launches/connects via ctx.ensureBrowser().
|
|
20
|
+
*
|
|
21
|
+
* @param server - The MCP server instance
|
|
22
|
+
* @param resolveCtx - Function that returns the ToolContext for the current request
|
|
23
|
+
*/
|
|
24
|
+
export declare function registerAllTools(server: ToolRegistrar, resolveCtx: ContextResolver): void;
|
|
25
|
+
//# sourceMappingURL=tool-registration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-registration.d.ts","sourceRoot":"","sources":["../../../src/tools/tool-registration.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAEvE,YAAY,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AA4CvE;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AAKvE;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,eAAe,GAAG,IAAI,CA0RzF"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Registration
|
|
3
|
+
*
|
|
4
|
+
* Extracts all 23 MCP tool registrations into a reusable function.
|
|
5
|
+
* Used by both stdio (index.ts) and HTTP (http-gateway.ts) entry points.
|
|
6
|
+
*/
|
|
7
|
+
// Import all tool handlers
|
|
8
|
+
import { listPages, closePage } from './navigation-tools.js';
|
|
9
|
+
import { navigate, goBack, goForward, reload } from './navigation-tools.js';
|
|
10
|
+
import { captureSnapshot, findElements, getNodeDetails, scrollElementIntoView, scrollPage, } from './observation-tools.js';
|
|
11
|
+
import { click, type, press, select, hover } from './interaction-tools.js';
|
|
12
|
+
import { drag, wheel, takeScreenshot } from './viewport-tools.js';
|
|
13
|
+
import { inspectCanvas } from './canvas-tools.js';
|
|
14
|
+
import { getFormUnderstanding, getFieldContext } from './form-tools.js';
|
|
15
|
+
import { readPage } from './readability-tools.js';
|
|
16
|
+
// Import all input schemas
|
|
17
|
+
import { ListPagesInputSchema, ClosePageInputSchema, NavigateInputSchema, GoBackInputSchema, GoForwardInputSchema, ReloadInputSchema, CaptureSnapshotInputSchema, FindElementsInputSchema, GetNodeDetailsInputSchema, ScrollElementIntoViewInputSchemaBase, ScrollPageInputSchema, ClickInputSchemaBase, TypeInputSchemaBase, PressInputSchema, SelectInputSchemaBase, HoverInputSchemaBase, DragInputSchemaBase, WheelInputSchemaBase, TakeScreenshotInputSchemaBase, InspectCanvasInputSchemaBase, ReadPageInputSchema, } from './tool-schemas.js';
|
|
18
|
+
import { GetFormUnderstandingInputSchema, GetFieldContextInputSchema } from './form-tools.js';
|
|
19
|
+
/** Tools that should not trigger lazy browser initialization */
|
|
20
|
+
const SKIP_BROWSER_INIT = new Set(['close_page', 'list_pages', 'navigate']);
|
|
21
|
+
/**
|
|
22
|
+
* Register all browser automation tools on an MCP server.
|
|
23
|
+
*
|
|
24
|
+
* Browser initialization is session-scoped: each ToolContext owns its own
|
|
25
|
+
* SessionManager and lazily launches/connects via ctx.ensureBrowser().
|
|
26
|
+
*
|
|
27
|
+
* @param server - The MCP server instance
|
|
28
|
+
* @param resolveCtx - Function that returns the ToolContext for the current request
|
|
29
|
+
*/
|
|
30
|
+
export function registerAllTools(server, resolveCtx) {
|
|
31
|
+
// Helper: resolve context first, then ensure browser, then run handler.
|
|
32
|
+
// Context resolution is cheap (returns existing SessionController),
|
|
33
|
+
// so it's safe to resolve before the browser is running.
|
|
34
|
+
function wrap(handler, toolName) {
|
|
35
|
+
return async (input) => {
|
|
36
|
+
const ctx = await resolveCtx();
|
|
37
|
+
if (!SKIP_BROWSER_INIT.has(toolName ?? '')) {
|
|
38
|
+
await ctx.ensureBrowser();
|
|
39
|
+
}
|
|
40
|
+
return handler(input, ctx);
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
// ============================================================================
|
|
44
|
+
// SESSION TOOLS
|
|
45
|
+
// ============================================================================
|
|
46
|
+
server.registerTool('list_pages', {
|
|
47
|
+
title: 'List Pages',
|
|
48
|
+
description: 'List all open browser pages with their page_id, URL, and title.',
|
|
49
|
+
inputSchema: ListPagesInputSchema.shape,
|
|
50
|
+
}, wrap(listPages, 'list_pages'));
|
|
51
|
+
server.registerTool('close_page', {
|
|
52
|
+
title: 'Close Page',
|
|
53
|
+
description: 'Close a browser tab. Use list_pages first to get the page_id.',
|
|
54
|
+
inputSchema: ClosePageInputSchema.shape,
|
|
55
|
+
}, wrap(closePage, 'close_page'));
|
|
56
|
+
// ============================================================================
|
|
57
|
+
// NAVIGATION TOOLS
|
|
58
|
+
// ============================================================================
|
|
59
|
+
server.registerTool('navigate', {
|
|
60
|
+
title: 'Navigate',
|
|
61
|
+
description: 'Go to a URL. Returns page snapshot with interactive elements.',
|
|
62
|
+
inputSchema: NavigateInputSchema.shape,
|
|
63
|
+
}, wrap(navigate));
|
|
64
|
+
server.registerTool('go_back', {
|
|
65
|
+
title: 'Go Back',
|
|
66
|
+
description: 'Go back one page in browser history.',
|
|
67
|
+
inputSchema: GoBackInputSchema.shape,
|
|
68
|
+
}, wrap(goBack));
|
|
69
|
+
server.registerTool('go_forward', {
|
|
70
|
+
title: 'Go Forward',
|
|
71
|
+
description: 'Go forward one page in browser history.',
|
|
72
|
+
inputSchema: GoForwardInputSchema.shape,
|
|
73
|
+
}, wrap(goForward));
|
|
74
|
+
server.registerTool('reload', {
|
|
75
|
+
title: 'Reload',
|
|
76
|
+
description: 'Refresh the current page.',
|
|
77
|
+
inputSchema: ReloadInputSchema.shape,
|
|
78
|
+
}, wrap(reload));
|
|
79
|
+
server.registerTool('snapshot', {
|
|
80
|
+
title: 'Snapshot',
|
|
81
|
+
description: 'Re-capture the page state without performing any action. Use when the page may have changed on its own (timers, live updates, animations).',
|
|
82
|
+
inputSchema: CaptureSnapshotInputSchema.shape,
|
|
83
|
+
}, wrap(captureSnapshot));
|
|
84
|
+
// ============================================================================
|
|
85
|
+
// OBSERVATION TOOLS
|
|
86
|
+
// ============================================================================
|
|
87
|
+
server.registerTool('find', {
|
|
88
|
+
title: 'Find',
|
|
89
|
+
description: 'Search for interactive elements OR read page text content. Filter by `kind` (button, link, textbox, canvas), `label` (case-insensitive substring match), or `region` (header, main, footer).',
|
|
90
|
+
inputSchema: FindElementsInputSchema.shape,
|
|
91
|
+
}, wrap(findElements));
|
|
92
|
+
server.registerTool('get_element', {
|
|
93
|
+
title: 'Get Element',
|
|
94
|
+
description: 'Get complete details for one element: exact position, size, state, attributes.',
|
|
95
|
+
inputSchema: GetNodeDetailsInputSchema.shape,
|
|
96
|
+
}, wrap(getNodeDetails));
|
|
97
|
+
server.registerTool('screenshot', {
|
|
98
|
+
title: 'Screenshot',
|
|
99
|
+
description: 'Capture a screenshot of the current page or a specific element.',
|
|
100
|
+
inputSchema: TakeScreenshotInputSchemaBase.shape,
|
|
101
|
+
}, wrap(takeScreenshot));
|
|
102
|
+
// ============================================================================
|
|
103
|
+
// INTERACTION TOOLS
|
|
104
|
+
// ============================================================================
|
|
105
|
+
server.registerTool('scroll_to', {
|
|
106
|
+
title: 'Scroll To',
|
|
107
|
+
description: 'Scroll until a specific element is visible in the viewport.',
|
|
108
|
+
inputSchema: ScrollElementIntoViewInputSchemaBase.shape,
|
|
109
|
+
}, wrap(scrollElementIntoView));
|
|
110
|
+
server.registerTool('scroll', {
|
|
111
|
+
title: 'Scroll',
|
|
112
|
+
description: 'Scroll the viewport up or down by pixels.',
|
|
113
|
+
inputSchema: ScrollPageInputSchema.shape,
|
|
114
|
+
}, wrap(scrollPage));
|
|
115
|
+
server.registerTool('click', {
|
|
116
|
+
title: 'Click Element',
|
|
117
|
+
description: 'Click an element or at viewport coordinates.',
|
|
118
|
+
inputSchema: ClickInputSchemaBase.shape,
|
|
119
|
+
}, wrap(click));
|
|
120
|
+
server.registerTool('type', {
|
|
121
|
+
title: 'Type Text',
|
|
122
|
+
description: 'Type text into an input field or text area.',
|
|
123
|
+
inputSchema: TypeInputSchemaBase.shape,
|
|
124
|
+
}, wrap(type));
|
|
125
|
+
server.registerTool('press', {
|
|
126
|
+
title: 'Press Key',
|
|
127
|
+
description: 'Press a keyboard key with optional modifiers.',
|
|
128
|
+
inputSchema: PressInputSchema.shape,
|
|
129
|
+
}, wrap(press));
|
|
130
|
+
server.registerTool('select', {
|
|
131
|
+
title: 'Select Option',
|
|
132
|
+
description: 'Choose an option from a dropdown menu by value or visible text.',
|
|
133
|
+
inputSchema: SelectInputSchemaBase.shape,
|
|
134
|
+
}, wrap(select));
|
|
135
|
+
server.registerTool('hover', {
|
|
136
|
+
title: 'Hover Element',
|
|
137
|
+
description: 'Move mouse over an element without clicking. Triggers hover menus and tooltips.',
|
|
138
|
+
inputSchema: HoverInputSchemaBase.shape,
|
|
139
|
+
}, wrap(hover));
|
|
140
|
+
server.registerTool('drag', {
|
|
141
|
+
title: 'Drag',
|
|
142
|
+
description: 'Drag from one point to another.',
|
|
143
|
+
inputSchema: DragInputSchemaBase.shape,
|
|
144
|
+
}, wrap(drag));
|
|
145
|
+
server.registerTool('wheel', {
|
|
146
|
+
title: 'Wheel',
|
|
147
|
+
description: 'Dispatch a mouse wheel event at specific coordinates. Use for scroll-to-zoom (with Control modifier) or horizontal scrolling.',
|
|
148
|
+
inputSchema: WheelInputSchemaBase.shape,
|
|
149
|
+
}, wrap(wheel));
|
|
150
|
+
// ============================================================================
|
|
151
|
+
// CANVAS INSPECTION TOOLS
|
|
152
|
+
// ============================================================================
|
|
153
|
+
server.registerTool('inspect_canvas', {
|
|
154
|
+
title: 'Inspect Canvas',
|
|
155
|
+
description: 'Analyze a canvas element: auto-detect the rendering library, query its scene graph, and return an annotated screenshot with coordinate grid overlay.',
|
|
156
|
+
inputSchema: InspectCanvasInputSchemaBase.shape,
|
|
157
|
+
}, wrap(inspectCanvas));
|
|
158
|
+
// ============================================================================
|
|
159
|
+
// FORM UNDERSTANDING TOOLS
|
|
160
|
+
// ============================================================================
|
|
161
|
+
server.registerTool('get_form', {
|
|
162
|
+
title: 'Get Form',
|
|
163
|
+
description: 'Analyze all forms on the page: fields, required inputs, validation rules, and field dependencies.',
|
|
164
|
+
inputSchema: GetFormUnderstandingInputSchema.shape,
|
|
165
|
+
}, wrap(getFormUnderstanding));
|
|
166
|
+
server.registerTool('get_field', {
|
|
167
|
+
title: 'Get Field',
|
|
168
|
+
description: 'Get detailed info about one form field: purpose, valid input formats, dependencies, and suggested values.',
|
|
169
|
+
inputSchema: GetFieldContextInputSchema.shape,
|
|
170
|
+
}, wrap(getFieldContext));
|
|
171
|
+
// ============================================================================
|
|
172
|
+
// READABILITY TOOLS
|
|
173
|
+
// ============================================================================
|
|
174
|
+
server.registerTool('read_page', {
|
|
175
|
+
title: 'Read Page',
|
|
176
|
+
description: 'Extract the main readable content from the page, removing navigation, ads, and clutter. Uses Mozilla Readability (Firefox Reader View engine). Best for articles, blog posts, documentation, and content-heavy pages.',
|
|
177
|
+
inputSchema: ReadPageInputSchema.shape,
|
|
178
|
+
}, wrap(readPage));
|
|
179
|
+
}
|
|
180
|
+
//# sourceMappingURL=tool-registration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-registration.js","sourceRoot":"","sources":["../../../src/tools/tool-registration.ts"],"names":[],"mappings":"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"}
|