agent-web-interface 4.4.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/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 +2 -1
- package/dist/src/browser/index.d.ts.map +1 -1
- package/dist/src/browser/index.js +1 -0
- package/dist/src/browser/index.js.map +1 -1
- package/dist/src/browser/session-manager.d.ts +20 -0
- package/dist/src/browser/session-manager.d.ts.map +1 -1
- package/dist/src/browser/session-manager.js +122 -17
- package/dist/src/browser/session-manager.js.map +1 -1
- package/dist/src/browser/session-manager.types.d.ts +14 -2
- package/dist/src/browser/session-manager.types.d.ts.map +1 -1
- package/dist/src/browser/session-manager.types.js +5 -1
- package/dist/src/browser/session-manager.types.js.map +1 -1
- 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 +5 -0
- package/dist/src/form/constraint-extraction.d.ts.map +1 -1
- package/dist/src/form/constraint-extraction.js +13 -6
- package/dist/src/form/constraint-extraction.js.map +1 -1
- package/dist/src/form/field-extractor.d.ts.map +1 -1
- package/dist/src/form/field-extractor.js +14 -7
- package/dist/src/form/field-extractor.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/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 -232
- 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/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 +3 -2
- package/dist/src/snapshot/element-resolver.d.ts.map +1 -1
- package/dist/src/snapshot/element-resolver.js +83 -8
- 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/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/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 +6 -0
- package/dist/src/snapshot/extractors/types.d.ts.map +1 -1
- package/dist/src/snapshot/extractors/types.js.map +1 -1
- package/dist/src/snapshot/snapshot-compiler.d.ts.map +1 -1
- package/dist/src/snapshot/snapshot-compiler.js +15 -2
- package/dist/src/snapshot/snapshot-compiler.js.map +1 -1
- package/dist/src/snapshot/snapshot.types.d.ts +10 -1
- package/dist/src/snapshot/snapshot.types.d.ts.map +1 -1
- package/dist/src/snapshot/snapshot.types.js.map +1 -1
- package/dist/src/state/actionables-filter.d.ts.map +1 -1
- package/dist/src/state/actionables-filter.js +7 -3
- 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 +6 -33
- 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/state-manager.d.ts.map +1 -1
- package/dist/src/state/state-manager.js +3 -1
- 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 +3 -1
- package/dist/src/state/state-renderer.js.map +1 -1
- package/dist/src/state/types.d.ts +2 -1
- package/dist/src/state/types.d.ts.map +1 -1
- package/dist/src/state/url-sanitization.d.ts +1 -1
- package/dist/src/state/url-sanitization.d.ts.map +1 -1
- package/dist/src/state/url-sanitization.js +29 -13
- package/dist/src/state/url-sanitization.js.map +1 -1
- package/dist/src/tools/action-context.d.ts +6 -11
- package/dist/src/tools/action-context.d.ts.map +1 -1
- package/dist/src/tools/action-context.js +10 -19
- package/dist/src/tools/action-context.js.map +1 -1
- package/dist/src/tools/action-stabilization.d.ts.map +1 -1
- package/dist/src/tools/action-stabilization.js +6 -0
- package/dist/src/tools/action-stabilization.js.map +1 -1
- package/dist/src/tools/browser-tools.d.ts +3 -2
- package/dist/src/tools/browser-tools.d.ts.map +1 -1
- package/dist/src/tools/browser-tools.js +5 -3
- 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/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 +4 -3
- package/dist/src/tools/execute-action.d.ts.map +1 -1
- package/dist/src/tools/execute-action.js +32 -23
- package/dist/src/tools/execute-action.js.map +1 -1
- package/dist/src/tools/form-tools.d.ts +3 -8
- package/dist/src/tools/form-tools.d.ts.map +1 -1
- package/dist/src/tools/form-tools.js +38 -18
- 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 +7 -10
- package/dist/src/tools/index.js.map +1 -1
- package/dist/src/tools/interaction-tools.d.ts +6 -5
- package/dist/src/tools/interaction-tools.d.ts.map +1 -1
- package/dist/src/tools/interaction-tools.js +29 -32
- package/dist/src/tools/interaction-tools.js.map +1 -1
- package/dist/src/tools/navigation-tools.d.ts +7 -13
- package/dist/src/tools/navigation-tools.d.ts.map +1 -1
- package/dist/src/tools/navigation-tools.js +52 -59
- package/dist/src/tools/navigation-tools.js.map +1 -1
- package/dist/src/tools/observation-tools.d.ts +6 -5
- package/dist/src/tools/observation-tools.d.ts.map +1 -1
- package/dist/src/tools/observation-tools.js +30 -34
- package/dist/src/tools/observation-tools.js.map +1 -1
- 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 +31 -47
- package/dist/src/tools/response-builder.js.map +1 -1
- package/dist/src/tools/stale-element-retry.d.ts.map +1 -1
- package/dist/src/tools/stale-element-retry.js +37 -2
- package/dist/src/tools/stale-element-retry.js.map +1 -1
- 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 +88 -1947
- package/dist/src/tools/tool-schemas.d.ts.map +1 -1
- package/dist/src/tools/tool-schemas.js +21 -302
- package/dist/src/tools/tool-schemas.js.map +1 -1
- package/dist/src/tools/viewport-tools.d.ts +4 -3
- package/dist/src/tools/viewport-tools.d.ts.map +1 -1
- package/dist/src/tools/viewport-tools.js +17 -21
- package/dist/src/tools/viewport-tools.js.map +1 -1
- 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
- package/dist/src/tools/state-manager-registry.d.ts +0 -26
- package/dist/src/tools/state-manager-registry.d.ts.map +0 -1
- package/dist/src/tools/state-manager-registry.js +0 -39
- package/dist/src/tools/state-manager-registry.js.map +0 -1
|
@@ -1,307 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FactPack Types
|
|
3
|
-
*
|
|
4
|
-
* Shared type definitions for FactPack extractors.
|
|
5
|
-
*
|
|
6
|
-
* Design Philosophy: Generic First, Specific Second
|
|
7
|
-
* - Base detection (always populated) - generic facts that work on any page
|
|
8
|
-
* - Classification (optional) - specific categorization with confidence scores
|
|
9
|
-
* - 'unknown'/'generic' are valid results, not failures
|
|
10
|
-
*/
|
|
11
|
-
import type { NodeKind, SemanticRegion, BBox } from '../snapshot/snapshot.types.js';
|
|
12
|
-
/**
|
|
13
|
-
* Dialog type classification.
|
|
14
|
-
* May be 'unknown' if dialog is detected but type cannot be determined.
|
|
15
|
-
*/
|
|
16
|
-
export type DialogType = 'modal' | 'alert' | 'confirm' | 'cookie-consent' | 'newsletter' | 'login-prompt' | 'age-gate' | 'unknown';
|
|
17
|
-
/** How the dialog was detected */
|
|
18
|
-
export type DialogDetectionMethod = 'role-dialog' | 'role-alertdialog' | 'html-dialog' | 'aria-modal' | 'heuristic';
|
|
19
|
-
/** Action role within a dialog */
|
|
20
|
-
export type DialogActionRole = 'primary' | 'secondary' | 'dismiss' | 'unknown';
|
|
21
|
-
/**
|
|
22
|
-
* An interactive action within a dialog.
|
|
23
|
-
*/
|
|
24
|
-
export interface DialogAction {
|
|
25
|
-
node_id: string;
|
|
26
|
-
backend_node_id: number;
|
|
27
|
-
label: string;
|
|
28
|
-
role: DialogActionRole;
|
|
29
|
-
kind: NodeKind;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* A detected dialog element.
|
|
33
|
-
* Base detection fields are always populated.
|
|
34
|
-
* Classification fields may indicate 'unknown'.
|
|
35
|
-
*/
|
|
36
|
-
export interface DetectedDialog {
|
|
37
|
-
/** Container node ID */
|
|
38
|
-
node_id: string;
|
|
39
|
-
/** Backend node ID for CDP interaction */
|
|
40
|
-
backend_node_id: number;
|
|
41
|
-
/** Bounding box */
|
|
42
|
-
bbox: BBox;
|
|
43
|
-
/** Is this a modal (blocks interaction with rest of page)? */
|
|
44
|
-
is_modal: boolean;
|
|
45
|
-
/** Title/heading if found */
|
|
46
|
-
title?: string;
|
|
47
|
-
/** Interactive elements within dialog */
|
|
48
|
-
actions: DialogAction[];
|
|
49
|
-
/** How was this detected? */
|
|
50
|
-
detection_method: DialogDetectionMethod;
|
|
51
|
-
/** Classified type (may be 'unknown') */
|
|
52
|
-
type: DialogType;
|
|
53
|
-
/** Classification confidence (0-1). Low for 'unknown'. */
|
|
54
|
-
type_confidence: number;
|
|
55
|
-
/** Signals that contributed to classification */
|
|
56
|
-
classification_signals: string[];
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Result of dialog detection.
|
|
60
|
-
*/
|
|
61
|
-
export interface DialogDetectionResult {
|
|
62
|
-
/** All detected dialogs (always includes generically detected ones) */
|
|
63
|
-
dialogs: DetectedDialog[];
|
|
64
|
-
/** Is any blocking dialog present? */
|
|
65
|
-
has_blocking_dialog: boolean;
|
|
66
|
-
/** Stats */
|
|
67
|
-
meta: {
|
|
68
|
-
total_detected: number;
|
|
69
|
-
/** How many have type !== 'unknown' */
|
|
70
|
-
classified_count: number;
|
|
71
|
-
detection_time_ms: number;
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
/**
|
|
75
|
-
* Form purpose (inferred).
|
|
76
|
-
* May be 'generic' if form is detected but purpose cannot be determined.
|
|
77
|
-
*/
|
|
78
|
-
export type FormPurpose = 'login' | 'signup' | 'checkout' | 'contact' | 'search' | 'newsletter' | 'shipping' | 'billing' | 'profile' | 'password-reset' | 'generic';
|
|
79
|
-
/**
|
|
80
|
-
* Field semantic type (inferred).
|
|
81
|
-
* May be 'unknown' if field purpose cannot be determined.
|
|
82
|
-
*/
|
|
83
|
-
export type FieldSemanticType = 'username' | 'email' | 'password' | 'password-confirm' | 'phone' | 'first-name' | 'last-name' | 'full-name' | 'address-line1' | 'address-line2' | 'city' | 'state' | 'postal-code' | 'country' | 'card-number' | 'card-expiry' | 'card-cvv' | 'search-query' | 'message' | 'date' | 'number' | 'url' | 'unknown';
|
|
84
|
-
/**
|
|
85
|
-
* A form field with extracted information.
|
|
86
|
-
*/
|
|
87
|
-
export interface FormField {
|
|
88
|
-
node_id: string;
|
|
89
|
-
backend_node_id: number;
|
|
90
|
-
kind: NodeKind;
|
|
91
|
-
label: string;
|
|
92
|
-
/** From attributes.input_type or 'text' */
|
|
93
|
-
input_type: string;
|
|
94
|
-
required: boolean;
|
|
95
|
-
invalid: boolean;
|
|
96
|
-
disabled: boolean;
|
|
97
|
-
readonly: boolean;
|
|
98
|
-
/** Whether field has a value (not the value itself for privacy) */
|
|
99
|
-
has_value: boolean;
|
|
100
|
-
placeholder?: string;
|
|
101
|
-
autocomplete?: string;
|
|
102
|
-
/** Inferred semantic type (may be 'unknown') */
|
|
103
|
-
semantic_type: FieldSemanticType;
|
|
104
|
-
/** Confidence in semantic_type (0-1) */
|
|
105
|
-
semantic_confidence: number;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Submit button for a form.
|
|
109
|
-
*/
|
|
110
|
-
export interface FormSubmitButton {
|
|
111
|
-
node_id: string;
|
|
112
|
-
backend_node_id: number;
|
|
113
|
-
label: string;
|
|
114
|
-
enabled: boolean;
|
|
115
|
-
visible: boolean;
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Form validation state.
|
|
119
|
-
*/
|
|
120
|
-
export interface FormValidation {
|
|
121
|
-
has_errors: boolean;
|
|
122
|
-
error_count: number;
|
|
123
|
-
required_unfilled: number;
|
|
124
|
-
/** Can form likely be submitted? (enabled submit + no errors) */
|
|
125
|
-
ready_to_submit: boolean;
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* A detected form with extracted fields.
|
|
129
|
-
* Base detection fields are always populated.
|
|
130
|
-
* Purpose inference may indicate 'generic'.
|
|
131
|
-
*/
|
|
132
|
-
export interface DetectedForm {
|
|
133
|
-
node_id: string;
|
|
134
|
-
backend_node_id: number;
|
|
135
|
-
/** Heading context or title */
|
|
136
|
-
title?: string;
|
|
137
|
-
/** Form method/action (if explicit form element) */
|
|
138
|
-
action?: string;
|
|
139
|
-
method?: string;
|
|
140
|
-
/** Fields in document order */
|
|
141
|
-
fields: FormField[];
|
|
142
|
-
/** Submit button (may be undefined for implicit forms) */
|
|
143
|
-
submit_button?: FormSubmitButton;
|
|
144
|
-
/** Validation state */
|
|
145
|
-
validation: FormValidation;
|
|
146
|
-
/** Inferred purpose (may be 'generic') */
|
|
147
|
-
purpose: FormPurpose;
|
|
148
|
-
/** Confidence in purpose (0-1) */
|
|
149
|
-
purpose_confidence: number;
|
|
150
|
-
/** Signals that contributed to purpose inference */
|
|
151
|
-
purpose_signals: string[];
|
|
152
|
-
}
|
|
153
|
-
/**
|
|
154
|
-
* Result of form detection.
|
|
155
|
-
*/
|
|
156
|
-
export interface FormDetectionResult {
|
|
157
|
-
/** All detected forms */
|
|
158
|
-
forms: DetectedForm[];
|
|
159
|
-
/** Primary form (largest/most prominent) */
|
|
160
|
-
primary_form?: DetectedForm;
|
|
161
|
-
/** Stats */
|
|
162
|
-
meta: {
|
|
163
|
-
total_detected: number;
|
|
164
|
-
/** How many have purpose !== 'generic' */
|
|
165
|
-
classified_count: number;
|
|
166
|
-
detection_time_ms: number;
|
|
167
|
-
};
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Page type classification.
|
|
171
|
-
* May be 'unknown' if page type cannot be determined.
|
|
172
|
-
*/
|
|
173
|
-
export type PageType = 'homepage' | 'product' | 'product-listing' | 'category' | 'search-results' | 'article' | 'login' | 'signup' | 'checkout' | 'cart' | 'account' | 'contact' | 'about' | 'documentation' | 'error' | 'unknown';
|
|
174
|
-
/** Source of a classification signal */
|
|
175
|
-
export type PageSignalSource = 'url' | 'title' | 'content' | 'form' | 'element';
|
|
176
|
-
/**
|
|
177
|
-
* A signal that contributed to page classification.
|
|
178
|
-
*/
|
|
179
|
-
export interface PageSignal {
|
|
180
|
-
source: PageSignalSource;
|
|
181
|
-
/** Signal identifier (e.g., 'url-pattern-product', 'form-purpose-login') */
|
|
182
|
-
signal: string;
|
|
183
|
-
/** Human-readable evidence */
|
|
184
|
-
evidence: string;
|
|
185
|
-
/** Weight contribution (0-1) */
|
|
186
|
-
weight: number;
|
|
187
|
-
}
|
|
188
|
-
/** Type of extracted page entity */
|
|
189
|
-
export type PageEntityType = 'product-name' | 'price' | 'article-title' | 'error-code' | 'search-query' | 'category-name' | 'unknown';
|
|
190
|
-
/**
|
|
191
|
-
* An extracted entity from the page.
|
|
192
|
-
*/
|
|
193
|
-
export interface PageEntity {
|
|
194
|
-
type: PageEntityType;
|
|
195
|
-
value: string;
|
|
196
|
-
node_id?: string;
|
|
197
|
-
confidence: number;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Page classification result.
|
|
201
|
-
* Summary fields (has_forms, has_navigation, etc.) are always useful
|
|
202
|
-
* even when type is 'unknown'.
|
|
203
|
-
*/
|
|
204
|
-
export interface PageClassification {
|
|
205
|
-
/** Primary page type (may be 'unknown') */
|
|
206
|
-
type: PageType;
|
|
207
|
-
/** Confidence (0-1). Low confidence for 'unknown'. */
|
|
208
|
-
confidence: number;
|
|
209
|
-
/** Alternative type if ambiguous */
|
|
210
|
-
secondary_type?: PageType;
|
|
211
|
-
secondary_confidence?: number;
|
|
212
|
-
/** Signals that contributed to classification */
|
|
213
|
-
signals: PageSignal[];
|
|
214
|
-
/** Extracted entities (may be empty) */
|
|
215
|
-
entities: PageEntity[];
|
|
216
|
-
/** Does page have forms? */
|
|
217
|
-
has_forms: boolean;
|
|
218
|
-
/** Does page have navigation? */
|
|
219
|
-
has_navigation: boolean;
|
|
220
|
-
/** Primary content region detected? */
|
|
221
|
-
has_main_content: boolean;
|
|
222
|
-
/** Is there a search box? */
|
|
223
|
-
has_search: boolean;
|
|
224
|
-
}
|
|
225
|
-
/**
|
|
226
|
-
* Result of page classification.
|
|
227
|
-
*/
|
|
228
|
-
export interface PageClassificationResult {
|
|
229
|
-
classification: PageClassification;
|
|
230
|
-
meta: {
|
|
231
|
-
signals_evaluated: number;
|
|
232
|
-
classification_time_ms: number;
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
/**
|
|
236
|
-
* Action category.
|
|
237
|
-
* May be 'generic' if action cannot be categorized.
|
|
238
|
-
*/
|
|
239
|
-
export type ActionCategory = 'primary-cta' | 'secondary-cta' | 'navigation' | 'form-submit' | 'search' | 'cart-action' | 'auth-action' | 'dialog-action' | 'media-control' | 'generic';
|
|
240
|
-
/**
|
|
241
|
-
* A signal that contributed to action scoring.
|
|
242
|
-
*/
|
|
243
|
-
export interface ActionSignal {
|
|
244
|
-
type: string;
|
|
245
|
-
weight: number;
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* A selected key action.
|
|
249
|
-
*/
|
|
250
|
-
export interface SelectedAction {
|
|
251
|
-
node_id: string;
|
|
252
|
-
backend_node_id: number;
|
|
253
|
-
label: string;
|
|
254
|
-
kind: NodeKind;
|
|
255
|
-
region: SemanticRegion;
|
|
256
|
-
/** Locator for interaction */
|
|
257
|
-
locator: string;
|
|
258
|
-
/** Is action enabled? */
|
|
259
|
-
enabled: boolean;
|
|
260
|
-
/** Relevance score (0-1) */
|
|
261
|
-
score: number;
|
|
262
|
-
/** Scoring signals */
|
|
263
|
-
signals: ActionSignal[];
|
|
264
|
-
/** Action category (may be 'generic') */
|
|
265
|
-
category: ActionCategory;
|
|
266
|
-
/** Confidence in category (0-1) */
|
|
267
|
-
category_confidence: number;
|
|
268
|
-
}
|
|
269
|
-
/**
|
|
270
|
-
* Result of action selection.
|
|
271
|
-
*/
|
|
272
|
-
export interface ActionSelectionResult {
|
|
273
|
-
/** Top actions sorted by score */
|
|
274
|
-
actions: SelectedAction[];
|
|
275
|
-
/** Highest-scoring primary CTA (if identifiable) */
|
|
276
|
-
primary_cta?: SelectedAction;
|
|
277
|
-
/** Stats */
|
|
278
|
-
meta: {
|
|
279
|
-
candidates_evaluated: number;
|
|
280
|
-
selection_time_ms: number;
|
|
281
|
-
};
|
|
282
|
-
}
|
|
283
|
-
/**
|
|
284
|
-
* Complete FactPack extraction result.
|
|
285
|
-
*/
|
|
286
|
-
export interface FactPack {
|
|
287
|
-
page_type: PageClassificationResult;
|
|
288
|
-
dialogs: DialogDetectionResult;
|
|
289
|
-
forms: FormDetectionResult;
|
|
290
|
-
actions: ActionSelectionResult;
|
|
291
|
-
meta: {
|
|
292
|
-
snapshot_id: string;
|
|
293
|
-
extraction_time_ms: number;
|
|
294
|
-
};
|
|
295
|
-
}
|
|
296
|
-
/**
|
|
297
|
-
* Options for FactPack extraction.
|
|
298
|
-
*/
|
|
299
|
-
export interface FactPackOptions {
|
|
300
|
-
/** Max actions to select (default: 12) */
|
|
301
|
-
max_actions?: number;
|
|
302
|
-
/** Min action score threshold (default: 0.2) */
|
|
303
|
-
min_action_score?: number;
|
|
304
|
-
/** Include disabled form fields (default: true) */
|
|
305
|
-
include_disabled_fields?: boolean;
|
|
306
|
-
}
|
|
307
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/factpack/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* FactPack Types
|
|
3
|
-
*
|
|
4
|
-
* Shared type definitions for FactPack extractors.
|
|
5
|
-
*
|
|
6
|
-
* Design Philosophy: Generic First, Specific Second
|
|
7
|
-
* - Base detection (always populated) - generic facts that work on any page
|
|
8
|
-
* - Classification (optional) - specific categorization with confidence scores
|
|
9
|
-
* - 'unknown'/'generic' are valid results, not failures
|
|
10
|
-
*/
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/factpack/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared constants for interactive element discovery
|
|
3
|
-
*
|
|
4
|
-
* These constants define what elements are considered interactive
|
|
5
|
-
* for browser automation purposes.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* ARIA roles that indicate interactive elements
|
|
9
|
-
*/
|
|
10
|
-
export declare const INTERACTIVE_ROLES: Set<string>;
|
|
11
|
-
/**
|
|
12
|
-
* HTML tags that are inherently interactive
|
|
13
|
-
*/
|
|
14
|
-
export declare const INTERACTIVE_TAGS: Set<string>;
|
|
15
|
-
/**
|
|
16
|
-
* ARIA roles that indicate form input controls
|
|
17
|
-
*/
|
|
18
|
-
export declare const ARIA_INPUT_ROLES: Set<string>;
|
|
19
|
-
/**
|
|
20
|
-
* Click handler attributes that indicate clickable elements
|
|
21
|
-
*/
|
|
22
|
-
export declare const CLICK_HANDLER_ATTRIBUTES: string[];
|
|
23
|
-
/**
|
|
24
|
-
* Generic HTML tags that shouldn't be used for selector hints
|
|
25
|
-
*/
|
|
26
|
-
export declare const GENERIC_TAGS: Set<string>;
|
|
27
|
-
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB,aAkB5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAS3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB,aAS3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,wBAAwB,UAAkD,CAAC;AAExF;;GAEG;AACH,eAAO,MAAM,YAAY,aAAyE,CAAC"}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared constants for interactive element discovery
|
|
3
|
-
*
|
|
4
|
-
* These constants define what elements are considered interactive
|
|
5
|
-
* for browser automation purposes.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* ARIA roles that indicate interactive elements
|
|
9
|
-
*/
|
|
10
|
-
export const INTERACTIVE_ROLES = new Set([
|
|
11
|
-
'button',
|
|
12
|
-
'link',
|
|
13
|
-
'textbox',
|
|
14
|
-
'searchbox',
|
|
15
|
-
'combobox',
|
|
16
|
-
'listbox',
|
|
17
|
-
'menuitem',
|
|
18
|
-
'menuitemcheckbox',
|
|
19
|
-
'menuitemradio',
|
|
20
|
-
'option',
|
|
21
|
-
'radio',
|
|
22
|
-
'checkbox',
|
|
23
|
-
'switch',
|
|
24
|
-
'tab',
|
|
25
|
-
'slider',
|
|
26
|
-
'spinbutton',
|
|
27
|
-
'scrollbar',
|
|
28
|
-
]);
|
|
29
|
-
/**
|
|
30
|
-
* HTML tags that are inherently interactive
|
|
31
|
-
*/
|
|
32
|
-
export const INTERACTIVE_TAGS = new Set([
|
|
33
|
-
'a',
|
|
34
|
-
'button',
|
|
35
|
-
'input',
|
|
36
|
-
'select',
|
|
37
|
-
'textarea',
|
|
38
|
-
'option',
|
|
39
|
-
'details',
|
|
40
|
-
'summary',
|
|
41
|
-
]);
|
|
42
|
-
/**
|
|
43
|
-
* ARIA roles that indicate form input controls
|
|
44
|
-
*/
|
|
45
|
-
export const ARIA_INPUT_ROLES = new Set([
|
|
46
|
-
'radio',
|
|
47
|
-
'checkbox',
|
|
48
|
-
'switch',
|
|
49
|
-
'combobox',
|
|
50
|
-
'option',
|
|
51
|
-
'menuitemradio',
|
|
52
|
-
'menuitemcheckbox',
|
|
53
|
-
'tab',
|
|
54
|
-
]);
|
|
55
|
-
/**
|
|
56
|
-
* Click handler attributes that indicate clickable elements
|
|
57
|
-
*/
|
|
58
|
-
export const CLICK_HANDLER_ATTRIBUTES = ['onclick', '@click', 'v-on:click', 'ng-click'];
|
|
59
|
-
/**
|
|
60
|
-
* Generic HTML tags that shouldn't be used for selector hints
|
|
61
|
-
*/
|
|
62
|
-
export const GENERIC_TAGS = new Set(['html', 'body', 'main', 'article', 'section', 'div', 'span']);
|
|
63
|
-
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/constants.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACvC,QAAQ;IACR,MAAM;IACN,SAAS;IACT,WAAW;IACX,UAAU;IACV,SAAS;IACT,UAAU;IACV,kBAAkB;IAClB,eAAe;IACf,QAAQ;IACR,OAAO;IACP,UAAU;IACV,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IACtC,GAAG;IACH,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC;IACtC,OAAO;IACP,UAAU;IACV,QAAQ;IACR,UAAU;IACV,QAAQ;IACR,eAAe;IACf,kBAAkB;IAClB,KAAK;CACN,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC;AAExF;;GAEG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC"}
|
package/dist/src/lib/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reusable algorithms and utilities extracted from the original implementation
|
|
3
|
-
*
|
|
4
|
-
* These modules contain pure, framework-agnostic code that can be used
|
|
5
|
-
* in the new BaseSnapshot/Query Engine implementation.
|
|
6
|
-
*/
|
|
7
|
-
export { INTERACTIVE_ROLES, INTERACTIVE_TAGS, ARIA_INPUT_ROLES, CLICK_HANDLER_ATTRIBUTES, GENERIC_TAGS, } from './constants.js';
|
|
8
|
-
export { resolveRegion, getRegisteredRegions, STRUCTURED_REGION_SELECTORS, type NamedRegion, type RegionResolution, } from './regions.js';
|
|
9
|
-
export { scoreElement, dedupeByKey, rankByRelevance, type RankingMode, type ScoringSignals, type ScoredCandidate, type ScoreOptions, } from './scoring.js';
|
|
10
|
-
export { normalizeText, sanitizeAccessibleHint, truncate, escapeAttributeValue, escapeAttrSelectorValue, cssEscape, escapeXPathValue, tokenizeForMatching, fuzzyTokenMatch, levenshteinDistance, stringSimilarity, fuzzyTokensMatch, getTextContent, type TextContentNode, type FuzzyTokenMatchOptions, type FuzzyTokenMatchResult, } from './text-utils.js';
|
|
11
|
-
export { buildRoleSelector, buildAriaLabelSelector, buildNameSelector, buildTextContentXPath, buildAxSelector, combineRoleAndAttribute, isLikelyHtmlNameAttribute, } from './selectors.js';
|
|
12
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,2BAA2B,EAC3B,KAAK,WAAW,EAChB,KAAK,gBAAgB,GACtB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,YAAY,EACZ,WAAW,EACX,eAAe,EACf,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,QAAQ,EACR,oBAAoB,EACpB,uBAAuB,EACvB,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,KAAK,eAAe,EACpB,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC"}
|
package/dist/src/lib/index.js
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reusable algorithms and utilities extracted from the original implementation
|
|
3
|
-
*
|
|
4
|
-
* These modules contain pure, framework-agnostic code that can be used
|
|
5
|
-
* in the new BaseSnapshot/Query Engine implementation.
|
|
6
|
-
*/
|
|
7
|
-
// Constants for element discovery
|
|
8
|
-
export { INTERACTIVE_ROLES, INTERACTIVE_TAGS, ARIA_INPUT_ROLES, CLICK_HANDLER_ATTRIBUTES, GENERIC_TAGS, } from './constants.js';
|
|
9
|
-
// Semantic region resolution
|
|
10
|
-
export { resolveRegion, getRegisteredRegions, STRUCTURED_REGION_SELECTORS, } from './regions.js';
|
|
11
|
-
// Element scoring and ranking
|
|
12
|
-
export { scoreElement, dedupeByKey, rankByRelevance, } from './scoring.js';
|
|
13
|
-
// Text processing utilities
|
|
14
|
-
export { normalizeText, sanitizeAccessibleHint, truncate, escapeAttributeValue, escapeAttrSelectorValue, cssEscape, escapeXPathValue, tokenizeForMatching, fuzzyTokenMatch, levenshteinDistance, stringSimilarity, fuzzyTokensMatch, getTextContent, } from './text-utils.js';
|
|
15
|
-
// Selector building utilities
|
|
16
|
-
export { buildRoleSelector, buildAriaLabelSelector, buildNameSelector, buildTextContentXPath, buildAxSelector, combineRoleAndAttribute, isLikelyHtmlNameAttribute, } from './selectors.js';
|
|
17
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kCAAkC;AAClC,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,wBAAwB,EACxB,YAAY,GACb,MAAM,gBAAgB,CAAC;AAExB,6BAA6B;AAC7B,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,2BAA2B,GAG5B,MAAM,cAAc,CAAC;AAEtB,8BAA8B;AAC9B,OAAO,EACL,YAAY,EACZ,WAAW,EACX,eAAe,GAKhB,MAAM,cAAc,CAAC;AAEtB,4BAA4B;AAC5B,OAAO,EACL,aAAa,EACb,sBAAsB,EACtB,QAAQ,EACR,oBAAoB,EACpB,uBAAuB,EACvB,SAAS,EACT,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GAIf,MAAM,iBAAiB,CAAC;AAEzB,8BAA8B;AAC9B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Semantic Region Resolver
|
|
3
|
-
*
|
|
4
|
-
* Maps string region names to CSS selectors and keywords
|
|
5
|
-
* for scoping element discovery to specific page areas.
|
|
6
|
-
*/
|
|
7
|
-
export interface NamedRegion {
|
|
8
|
-
summary: string;
|
|
9
|
-
cssSelector: string;
|
|
10
|
-
keywords: string[];
|
|
11
|
-
}
|
|
12
|
-
export interface RegionResolution {
|
|
13
|
-
cssSelector?: string;
|
|
14
|
-
summary: string;
|
|
15
|
-
keywords?: string[];
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Resolve a region string to its CSS selector and metadata
|
|
19
|
-
*/
|
|
20
|
-
export declare function resolveRegion(region?: string): RegionResolution;
|
|
21
|
-
/**
|
|
22
|
-
* Get all registered region names
|
|
23
|
-
*/
|
|
24
|
-
export declare function getRegisteredRegions(): string[];
|
|
25
|
-
/**
|
|
26
|
-
* Structured region selectors for content extraction
|
|
27
|
-
*/
|
|
28
|
-
export declare const STRUCTURED_REGION_SELECTORS: Record<string, string>;
|
|
29
|
-
//# sourceMappingURL=regions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"regions.d.ts","sourceRoot":"","sources":["../../../src/lib/regions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAuDD,MAAM,WAAW,gBAAgB;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAwB/D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAM9D,CAAC"}
|
package/dist/src/lib/regions.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Semantic Region Resolver
|
|
3
|
-
*
|
|
4
|
-
* Maps string region names to CSS selectors and keywords
|
|
5
|
-
* for scoping element discovery to specific page areas.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Mapping of region aliases to their properties
|
|
9
|
-
*/
|
|
10
|
-
const NAMED_REGIONS = {};
|
|
11
|
-
function registerRegion(aliases, region) {
|
|
12
|
-
for (const alias of aliases) {
|
|
13
|
-
NAMED_REGIONS[alias] = region;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
// Header/Navigation
|
|
17
|
-
registerRegion(['header', 'top', 'topnav', 'navigation', 'nav'], {
|
|
18
|
-
summary: 'header',
|
|
19
|
-
cssSelector: 'header',
|
|
20
|
-
keywords: ['header', 'banner', 'nav', 'globalnav'],
|
|
21
|
-
});
|
|
22
|
-
// Footer
|
|
23
|
-
registerRegion(['footer', 'bottom'], {
|
|
24
|
-
summary: 'footer',
|
|
25
|
-
cssSelector: 'footer',
|
|
26
|
-
keywords: ['footer', 'contentinfo'],
|
|
27
|
-
});
|
|
28
|
-
// Main content
|
|
29
|
-
registerRegion(['main', 'content'], {
|
|
30
|
-
summary: 'main content',
|
|
31
|
-
cssSelector: 'main',
|
|
32
|
-
keywords: ['main', 'content'],
|
|
33
|
-
});
|
|
34
|
-
// Sidebar
|
|
35
|
-
registerRegion(['sidebar', 'aside'], {
|
|
36
|
-
summary: 'sidebar',
|
|
37
|
-
cssSelector: 'aside',
|
|
38
|
-
keywords: ['sidebar', 'aside', 'complementary'],
|
|
39
|
-
});
|
|
40
|
-
// Hero section
|
|
41
|
-
registerRegion(['hero'], {
|
|
42
|
-
summary: 'hero region',
|
|
43
|
-
cssSelector: '[data-hero]',
|
|
44
|
-
keywords: ['hero'],
|
|
45
|
-
});
|
|
46
|
-
// Dialog/Modal
|
|
47
|
-
registerRegion(['dialog', 'modal'], {
|
|
48
|
-
summary: 'dialog',
|
|
49
|
-
cssSelector: '[role="dialog"], dialog',
|
|
50
|
-
keywords: ['dialog', 'modal'],
|
|
51
|
-
});
|
|
52
|
-
/**
|
|
53
|
-
* Resolve a region string to its CSS selector and metadata
|
|
54
|
-
*/
|
|
55
|
-
export function resolveRegion(region) {
|
|
56
|
-
if (!region) {
|
|
57
|
-
return { summary: 'main frame' };
|
|
58
|
-
}
|
|
59
|
-
const normalized = region.trim().toLowerCase();
|
|
60
|
-
if (!normalized) {
|
|
61
|
-
return { summary: 'main frame' };
|
|
62
|
-
}
|
|
63
|
-
const named = NAMED_REGIONS[normalized];
|
|
64
|
-
if (named) {
|
|
65
|
-
return {
|
|
66
|
-
cssSelector: named.cssSelector,
|
|
67
|
-
summary: named.summary,
|
|
68
|
-
keywords: [...named.keywords],
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
// Unknown region - treat as nearText search hint
|
|
72
|
-
return {
|
|
73
|
-
summary: region,
|
|
74
|
-
keywords: normalized.split(/\s+/).filter(Boolean),
|
|
75
|
-
};
|
|
76
|
-
}
|
|
77
|
-
/**
|
|
78
|
-
* Get all registered region names
|
|
79
|
-
*/
|
|
80
|
-
export function getRegisteredRegions() {
|
|
81
|
-
return Object.keys(NAMED_REGIONS);
|
|
82
|
-
}
|
|
83
|
-
/**
|
|
84
|
-
* Structured region selectors for content extraction
|
|
85
|
-
*/
|
|
86
|
-
export const STRUCTURED_REGION_SELECTORS = {
|
|
87
|
-
header: 'header',
|
|
88
|
-
main: 'main',
|
|
89
|
-
footer: 'footer',
|
|
90
|
-
sidebar: 'aside,[role="complementary"]',
|
|
91
|
-
article: 'article',
|
|
92
|
-
};
|
|
93
|
-
//# sourceMappingURL=regions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"regions.js","sourceRoot":"","sources":["../../../src/lib/regions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Element Scoring and Ranking Engine
|
|
3
|
-
*
|
|
4
|
-
* Multi-signal scoring system for ranking discovered elements
|
|
5
|
-
* by relevance to user intent.
|
|
6
|
-
*/
|
|
7
|
-
export type RankingMode = 'balanced' | 'semantic-first' | 'visual-first';
|
|
8
|
-
export interface ScoringSignals {
|
|
9
|
-
role?: string;
|
|
10
|
-
hasName: boolean;
|
|
11
|
-
hasLabel: boolean;
|
|
12
|
-
hasCssSelector: boolean;
|
|
13
|
-
hasXpathSelector: boolean;
|
|
14
|
-
hasAxSelector: boolean;
|
|
15
|
-
bboxArea: number;
|
|
16
|
-
}
|
|
17
|
-
export interface ScoredCandidate<T> {
|
|
18
|
-
item: T;
|
|
19
|
-
relevance: number;
|
|
20
|
-
signals: ScoringSignals;
|
|
21
|
-
}
|
|
22
|
-
export interface ScoreOptions {
|
|
23
|
-
/** Filter/prioritize by ARIA roles */
|
|
24
|
-
roles?: string[];
|
|
25
|
-
/** Ranking strategy */
|
|
26
|
-
rankingMode?: RankingMode;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Score an element based on multiple signals
|
|
30
|
-
*/
|
|
31
|
-
export declare function scoreElement<T>(item: T, getRole: (item: T) => string | undefined, getName: (item: T) => string | undefined, getLabel: (item: T) => string | undefined, getSelectors: (item: T) => {
|
|
32
|
-
css?: string;
|
|
33
|
-
xpath?: string;
|
|
34
|
-
ax?: string;
|
|
35
|
-
}, getBbox: (item: T) => {
|
|
36
|
-
w: number;
|
|
37
|
-
h: number;
|
|
38
|
-
} | undefined, options?: ScoreOptions): ScoredCandidate<T>;
|
|
39
|
-
/**
|
|
40
|
-
* Deduplicate scored candidates by a key function
|
|
41
|
-
*/
|
|
42
|
-
export declare function dedupeByKey<T>(candidates: ScoredCandidate<T>[], getKey: (item: T) => string): ScoredCandidate<T>[];
|
|
43
|
-
/**
|
|
44
|
-
* Rank candidates by relevance (descending)
|
|
45
|
-
*/
|
|
46
|
-
export declare function rankByRelevance<T>(candidates: ScoredCandidate<T>[]): ScoredCandidate<T>[];
|
|
47
|
-
//# sourceMappingURL=scoring.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scoring.d.ts","sourceRoot":"","sources":["../../../src/lib/scoring.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAEzE,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe,CAAC,CAAC;IAChC,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,uBAAuB;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAC5B,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,EACxC,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,EACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,EACzC,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,EACxE,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,EAC1D,OAAO,GAAE,YAAiB,GACzB,eAAe,CAAC,CAAC,CAAC,CAgDpB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAC3B,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,EAChC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC1B,eAAe,CAAC,CAAC,CAAC,EAAE,CAYtB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,EAAE,CAEzF"}
|