opensteer 0.3.0 → 0.4.1

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/index.d.cts CHANGED
@@ -33,27 +33,6 @@ interface ElementPath {
33
33
  nodes: DomPath;
34
34
  }
35
35
 
36
- type ActionFailureCode = 'TARGET_NOT_FOUND' | 'TARGET_UNAVAILABLE' | 'TARGET_STALE' | 'TARGET_AMBIGUOUS' | 'BLOCKED_BY_INTERCEPTOR' | 'NOT_VISIBLE' | 'NOT_ENABLED' | 'NOT_EDITABLE' | 'INVALID_TARGET' | 'INVALID_OPTIONS' | 'ACTION_TIMEOUT' | 'UNKNOWN';
37
- type ActionFailureClassificationSource = 'typed_error' | 'playwright_call_log' | 'dom_probe' | 'message_heuristic' | 'unknown';
38
- interface ActionFailureBlocker {
39
- tag: string;
40
- id: string | null;
41
- classes: string[];
42
- role: string | null;
43
- text: string | null;
44
- }
45
- interface ActionFailureDetails {
46
- blocker?: ActionFailureBlocker;
47
- observation?: string;
48
- }
49
- interface ActionFailure {
50
- code: ActionFailureCode;
51
- message: string;
52
- retryable: boolean;
53
- classificationSource: ActionFailureClassificationSource;
54
- details?: ActionFailureDetails;
55
- }
56
-
57
36
  type SnapshotMode = 'action' | 'extraction' | 'clickable' | 'scrollable' | 'full';
58
37
  interface SnapshotOptions {
59
38
  mode?: SnapshotMode;
@@ -99,55 +78,43 @@ interface LaunchOptions {
99
78
  executablePath?: string;
100
79
  slowMo?: number;
101
80
  context?: BrowserContextOptions;
102
- /** Connect to a running browser. Example: "http://localhost:9222" */
103
- connectUrl?: string;
104
- /** Browser channel: "chrome", "chrome-beta", or "msedge" */
81
+ /** Connect to a running Chrome via CDP. Example: "http://localhost:9222" */
82
+ cdpUrl?: string;
83
+ /** Use an installed browser: "chrome", "chrome-beta", "msedge" */
105
84
  channel?: string;
106
- /** Browser profile directory. Preserves cookies, extensions, and sessions. */
107
- profileDir?: string;
108
- /** Connection timeout in milliseconds. */
109
- timeout?: number;
85
+ /** Chrome user data directory. Preserves cookies, extensions, and sessions. */
86
+ userDataDir?: string;
110
87
  }
111
88
  interface OpensteerBrowserConfig {
112
89
  headless?: boolean;
113
90
  executablePath?: string;
114
91
  slowMo?: number;
115
- /** Connect to a running browser. Example: "http://localhost:9222" */
116
- connectUrl?: string;
117
- /** Browser channel: "chrome", "chrome-beta", or "msedge" */
92
+ /** Connect to a running Chrome via CDP. Example: "http://localhost:9222" */
93
+ cdpUrl?: string;
94
+ /** Use an installed browser: "chrome", "chrome-beta", "msedge" */
118
95
  channel?: string;
119
- /** Browser profile directory. Preserves cookies, extensions, and sessions. */
120
- profileDir?: string;
96
+ /** Chrome user data directory. Preserves cookies, extensions, and sessions. */
97
+ userDataDir?: string;
121
98
  }
122
99
  interface OpensteerStorageConfig {
123
100
  rootDir?: string;
124
101
  }
125
- type OpensteerMode = 'local' | 'remote';
126
- interface OpensteerRemoteOptions {
127
- apiKey?: string;
128
- baseUrl?: string;
102
+ interface OpensteerCloudConfig {
103
+ enabled: boolean;
104
+ key?: string;
129
105
  }
130
106
  interface OpensteerConfig {
131
107
  name?: string;
132
108
  browser?: OpensteerBrowserConfig;
133
109
  storage?: OpensteerStorageConfig;
134
- mode?: OpensteerMode;
135
- remote?: OpensteerRemoteOptions;
110
+ cloud?: OpensteerCloudConfig;
136
111
  model?: string;
137
112
  debug?: boolean;
138
113
  }
139
- interface ActionWaitOptions {
140
- enabled?: boolean;
141
- timeout?: number;
142
- settleMs?: number;
143
- networkQuietMs?: number;
144
- includeNetwork?: boolean;
145
- }
146
114
  interface BaseActionOptions {
147
115
  description?: string;
148
116
  element?: number;
149
117
  selector?: string;
150
- wait?: false | ActionWaitOptions;
151
118
  }
152
119
  interface ClickOptions extends BaseActionOptions {
153
120
  button?: 'left' | 'right' | 'middle';
@@ -303,7 +270,7 @@ declare class Opensteer {
303
270
  private readonly namespace;
304
271
  private readonly storage;
305
272
  private readonly pool;
306
- private readonly remote;
273
+ private readonly cloud;
307
274
  private browser;
308
275
  private pageRef;
309
276
  private contextRef;
@@ -312,16 +279,14 @@ declare class Opensteer {
312
279
  constructor(config?: OpensteerConfig);
313
280
  private createLazyResolveCallback;
314
281
  private createLazyExtractCallback;
315
- private invokeRemoteActionAndResetCache;
316
- private invokeRemoteAction;
317
- private buildActionError;
282
+ private bindCloudActionMethods;
283
+ private invokeCloudAction;
318
284
  get page(): Page;
319
285
  get context(): BrowserContext;
320
- getRemoteSessionId(): string | null;
321
286
  launch(options?: LaunchOptions): Promise<void>;
322
287
  static from(page: Page, config?: OpensteerConfig): Opensteer;
323
288
  close(): Promise<void>;
324
- private syncLocalSelectorCacheToRemote;
289
+ private syncLocalSelectorCacheToCloud;
325
290
  goto(url: string, options?: GotoOptions): Promise<void>;
326
291
  snapshot(options?: SnapshotOptions): Promise<string>;
327
292
  state(): Promise<StateResult>;
@@ -361,14 +326,12 @@ declare class Opensteer {
361
326
  getConfig(): OpensteerConfig;
362
327
  getStorage(): LocalSelectorStorage;
363
328
  clearCache(): void;
364
- private runWithPostActionWait;
365
329
  private executeClickVariant;
366
330
  private resolvePath;
367
331
  private resolvePathWithAi;
368
332
  private buildPathFromElement;
369
333
  private tryBuildPathFromCounter;
370
334
  private resolveCounterHandle;
371
- private resolveCounterHandleForAction;
372
335
  private buildPathFromResolvedHandle;
373
336
  private withIndexedIframeContext;
374
337
  private readPathFromCounterIndex;
@@ -393,33 +356,16 @@ declare class Opensteer {
393
356
  private normalizePath;
394
357
  }
395
358
 
396
- interface VisualStabilityOptions {
359
+ declare function waitForVisualStability(page: Page, options?: {
397
360
  timeout?: number;
398
361
  settleMs?: number;
399
- }
400
- declare function waitForVisualStability(page: Page, options?: VisualStabilityOptions): Promise<void>;
362
+ }): Promise<void>;
401
363
 
402
364
  interface ActionExecutionResult {
403
365
  ok: boolean;
404
366
  path?: ElementPath;
405
367
  usedSelector?: string;
406
368
  error?: string;
407
- failure?: ActionFailure;
408
- }
409
-
410
- interface OpensteerActionErrorOptions {
411
- action: string;
412
- failure: ActionFailure;
413
- selectorUsed?: string | null;
414
- message?: string;
415
- cause?: unknown;
416
- }
417
- declare class OpensteerActionError extends Error {
418
- readonly action: string;
419
- readonly code: ActionFailureCode;
420
- readonly failure: ActionFailure;
421
- readonly selectorUsed: string | null;
422
- constructor(options: OpensteerActionErrorOptions);
423
369
  }
424
370
 
425
371
  declare function performClick(page: Page, path: ElementPath, options: ClickOptions): Promise<ActionExecutionResult>;
@@ -498,11 +444,11 @@ declare class ElementPathError extends Error {
498
444
  constructor(code: ElementPathErrorCode, message: string);
499
445
  }
500
446
 
501
- declare const OS_NODE_ID_ATTR = "data-os-node-id";
502
- declare const OS_BOUNDARY_ATTR = "data-os-boundary";
503
- declare const OS_UNAVAILABLE_ATTR = "data-os-unavailable";
504
- declare const OS_IFRAME_BOUNDARY_TAG = "os-iframe-root";
505
- declare const OS_SHADOW_BOUNDARY_TAG = "os-shadow-root";
447
+ declare const OV_NODE_ID_ATTR = "data-ov-node-id";
448
+ declare const OV_BOUNDARY_ATTR = "data-ov-boundary";
449
+ declare const OV_UNAVAILABLE_ATTR = "data-ov-unavailable";
450
+ declare const OV_IFRAME_BOUNDARY_TAG = "ov-iframe-root";
451
+ declare const OV_SHADOW_BOUNDARY_TAG = "ov-shadow-root";
506
452
  interface SerializeOptions {
507
453
  detectOverlays?: boolean;
508
454
  }
@@ -583,9 +529,6 @@ interface PreparedSnapshot {
583
529
  }
584
530
  declare function prepareSnapshot(page: Page, options?: SnapshotOptions): Promise<PreparedSnapshot>;
585
531
 
586
- declare function normalizeNamespace(input?: string): string;
587
- declare function resolveNamespaceDir(rootDir: string, namespace: string): string;
588
-
589
532
  declare function createResolveCallback(model: string, options?: {
590
533
  temperature?: number;
591
534
  maxTokens?: number | null;
@@ -604,22 +547,21 @@ interface AiModelConfig {
604
547
  maxTokens?: number | null;
605
548
  }
606
549
 
607
- type RemoteActionMethod = 'goto' | 'snapshot' | 'state' | 'click' | 'dblclick' | 'rightclick' | 'hover' | 'input' | 'select' | 'scroll' | 'tabs' | 'newTab' | 'switchTab' | 'closeTab' | 'getCookies' | 'setCookie' | 'clearCookies' | 'pressKey' | 'type' | 'getElementText' | 'getElementValue' | 'getElementAttributes' | 'getElementBoundingBox' | 'getHtml' | 'getTitle' | 'waitForText' | 'extract' | 'extractFromPlan' | 'clearCache' | 'uploadFile' | 'exportCookies' | 'importCookies' | 'screenshot';
608
- type RemoteErrorCode = 'REMOTE_AUTH_FAILED' | 'REMOTE_SESSION_NOT_FOUND' | 'REMOTE_SESSION_CLOSED' | 'REMOTE_UNSUPPORTED_METHOD' | 'REMOTE_INVALID_REQUEST' | 'REMOTE_MODEL_NOT_ALLOWED' | 'REMOTE_ACTION_FAILED' | 'REMOTE_CAPACITY_EXHAUSTED' | 'REMOTE_RUNTIME_UNAVAILABLE' | 'REMOTE_RUNTIME_MISMATCH' | 'REMOTE_SESSION_STALE' | 'REMOTE_CONTROL_PLANE_ERROR' | 'REMOTE_INTERNAL';
609
- interface RemoteSessionCreateRequest {
550
+ type CloudActionMethod = 'goto' | 'snapshot' | 'state' | 'click' | 'dblclick' | 'rightclick' | 'hover' | 'input' | 'select' | 'scroll' | 'tabs' | 'newTab' | 'switchTab' | 'closeTab' | 'getCookies' | 'setCookie' | 'clearCookies' | 'pressKey' | 'type' | 'getElementText' | 'getElementValue' | 'getElementAttributes' | 'getElementBoundingBox' | 'getHtml' | 'getTitle' | 'waitForText' | 'extract' | 'extractFromPlan' | 'clearCache' | 'uploadFile' | 'exportCookies' | 'importCookies' | 'screenshot';
551
+ type CloudErrorCode = 'CLOUD_AUTH_FAILED' | 'CLOUD_SESSION_NOT_FOUND' | 'CLOUD_SESSION_CLOSED' | 'CLOUD_UNSUPPORTED_METHOD' | 'CLOUD_INVALID_REQUEST' | 'CLOUD_MODEL_NOT_ALLOWED' | 'CLOUD_ACTION_FAILED' | 'CLOUD_INTERNAL';
552
+ interface CloudSessionCreateRequest {
610
553
  name?: string;
611
554
  model?: string;
612
555
  launchContext?: Record<string, unknown>;
613
556
  }
614
- interface RemoteSessionCreateResponse {
557
+ interface CloudSessionCreateResponse {
615
558
  sessionId: string;
616
559
  actionWsUrl: string;
617
560
  cdpWsUrl: string;
618
561
  actionToken: string;
619
562
  cdpToken: string;
620
- expiresAt?: number;
621
563
  }
622
- interface RemoteSelectorCacheImportEntry {
564
+ interface CloudSelectorCacheImportEntry {
623
565
  namespace: string;
624
566
  siteOrigin: string;
625
567
  method: string;
@@ -629,55 +571,50 @@ interface RemoteSelectorCacheImportEntry {
629
571
  createdAt: number;
630
572
  updatedAt: number;
631
573
  }
632
- interface RemoteSelectorCacheImportRequest {
633
- entries: RemoteSelectorCacheImportEntry[];
574
+ interface CloudSelectorCacheImportRequest {
575
+ entries: CloudSelectorCacheImportEntry[];
634
576
  }
635
- interface RemoteSelectorCacheImportResponse {
577
+ interface CloudSelectorCacheImportResponse {
636
578
  imported: number;
637
579
  inserted: number;
638
580
  updated: number;
639
581
  skipped: number;
640
582
  }
641
- interface RemoteActionRequest {
583
+ interface CloudActionRequest {
642
584
  id: number;
643
- method: RemoteActionMethod;
585
+ method: CloudActionMethod;
644
586
  args: Record<string, unknown>;
645
587
  sessionId: string;
646
588
  token: string;
647
589
  }
648
- interface RemoteActionSuccess {
590
+ interface CloudActionSuccess {
649
591
  id: number;
650
592
  ok: true;
651
593
  result: unknown;
652
594
  }
653
- interface RemoteActionFailure {
595
+ interface CloudActionFailure {
654
596
  id: number;
655
597
  ok: false;
656
598
  error: string;
657
- code: RemoteErrorCode;
658
- details?: RemoteActionFailureDetails;
659
- }
660
- type RemoteActionResponse = RemoteActionSuccess | RemoteActionFailure;
661
- interface RemoteActionFailureDetails {
662
- actionFailure?: ActionFailure;
599
+ code: CloudErrorCode;
663
600
  }
601
+ type CloudActionResponse = CloudActionSuccess | CloudActionFailure;
664
602
 
665
- declare class OpensteerRemoteError extends Error {
666
- readonly code: RemoteErrorCode | 'REMOTE_TRANSPORT_ERROR';
603
+ declare class OpensteerCloudError extends Error {
604
+ readonly code: CloudErrorCode | 'CLOUD_TRANSPORT_ERROR';
667
605
  readonly status?: number;
668
- readonly details?: RemoteActionFailureDetails | Record<string, unknown>;
669
- constructor(code: RemoteErrorCode | 'REMOTE_TRANSPORT_ERROR', message: string, status?: number, details?: RemoteActionFailureDetails | Record<string, unknown>);
606
+ constructor(code: CloudErrorCode | 'CLOUD_TRANSPORT_ERROR', message: string, status?: number);
670
607
  }
671
- declare function remoteUnsupportedMethodError(method: string, message?: string): OpensteerRemoteError;
672
- declare function remoteNotLaunchedError(): OpensteerRemoteError;
608
+ declare function cloudUnsupportedMethodError(method: string, message?: string): OpensteerCloudError;
609
+ declare function cloudNotLaunchedError(): OpensteerCloudError;
673
610
 
674
- declare class RemoteSessionClient {
611
+ declare class CloudSessionClient {
675
612
  private readonly baseUrl;
676
613
  private readonly key;
677
614
  constructor(baseUrl: string, key: string);
678
- create(request: RemoteSessionCreateRequest): Promise<RemoteSessionCreateResponse>;
615
+ create(request: CloudSessionCreateRequest): Promise<CloudSessionCreateResponse>;
679
616
  close(sessionId: string): Promise<void>;
680
- importSelectorCache(request: RemoteSelectorCacheImportRequest): Promise<RemoteSelectorCacheImportResponse>;
617
+ importSelectorCache(request: CloudSelectorCacheImportRequest): Promise<CloudSelectorCacheImportResponse>;
681
618
  private importSelectorCacheBatch;
682
619
  }
683
620
 
@@ -695,25 +632,25 @@ declare class ActionWsClient {
695
632
  private closed;
696
633
  private constructor();
697
634
  static connect(options: ActionWsClientOptions): Promise<ActionWsClient>;
698
- request<T>(method: RemoteActionMethod, args: Record<string, unknown>): Promise<T>;
635
+ request<T>(method: CloudActionMethod, args: Record<string, unknown>): Promise<T>;
699
636
  close(): Promise<void>;
700
637
  private handleMessage;
701
638
  private rejectAll;
702
639
  }
703
640
 
704
- interface RemoteCdpConnectArgs {
641
+ interface CloudCdpConnectArgs {
705
642
  wsUrl: string;
706
643
  token: string;
707
644
  }
708
- interface RemoteCdpConnection {
645
+ interface CloudCdpConnection {
709
646
  browser: Browser;
710
647
  context: BrowserContext;
711
648
  page: Page;
712
649
  }
713
- declare class RemoteCdpClient {
714
- connect(args: RemoteCdpConnectArgs): Promise<RemoteCdpConnection>;
650
+ declare class CloudCdpClient {
651
+ connect(args: CloudCdpConnectArgs): Promise<CloudCdpConnection>;
715
652
  }
716
653
 
717
- declare function collectLocalSelectorCacheEntries(storage: LocalSelectorStorage): RemoteSelectorCacheImportEntry[];
654
+ declare function collectLocalSelectorCacheEntries(storage: LocalSelectorStorage): CloudSelectorCacheImportEntry[];
718
655
 
719
- export { type ActionExecutionResult, type ActionFailure, type ActionFailureBlocker, type ActionFailureClassificationSource, type ActionFailureCode, type ActionFailureDetails, type ActionResult, type ActionWaitOptions, ActionWsClient, type AiExtractArgs, type AiExtractCallback, type AiExtractResult, type AiModelConfig, type AiResolveArgs, type AiResolveCallback, type AiResolveCallbackResult, type AiResolveResult, type ArrayExtractedRow, type ArrayRowMetadata, type ArraySelector, type AttributeMatchClause, type BaseActionOptions, type BoundingBox, type ClickOptions, type ContextHop, type CookieParam, type CounterBinding, type CounterRequest, CounterResolutionError, type CounterResolutionErrorCode, type CounterSnapshotLike, type DomPath, type ElementPath, ElementPathError, type ElementPathErrorCode, type ExtractFromPlanOptions, type ExtractOptions, type ExtractSchema, type ExtractSchemaField, type ExtractSchemaValue, type ExtractionFieldPlan, type ExtractionPlan, type ExtractionRunResult, type FieldSelector, type FileUploadOptions, type GotoOptions, type HoverOptions, type InputOptions, type LaunchOptions, LocalSelectorStorage, type MarkInteractivityOptions, type MatchClause, type MatchOperator, OPENSTEER_HIDDEN_ATTR, OPENSTEER_INTERACTIVE_ATTR, OPENSTEER_SCROLLABLE_ATTR, OS_BOUNDARY_ATTR, OS_IFRAME_BOUNDARY_TAG, OS_NODE_ID_ATTR, OS_SHADOW_BOUNDARY_TAG, OS_UNAVAILABLE_ATTR, Opensteer, OpensteerActionError, type OpensteerBrowserConfig, type OpensteerConfig, type OpensteerMode, OpensteerRemoteError, type OpensteerRemoteOptions, type OpensteerStorageConfig, type PathNode, type PathNodePosition, type PositionMatchClause, type PreparedSnapshot, type RegistryEntry, type RemoteActionFailure, type RemoteActionFailureDetails, type RemoteActionMethod, type RemoteActionRequest, type RemoteActionResponse, type RemoteActionSuccess, RemoteCdpClient, type RemoteCdpConnectArgs, type RemoteCdpConnection, type RemoteErrorCode, type RemoteSelectorCacheImportEntry, type RemoteSelectorCacheImportRequest, type RemoteSelectorCacheImportResponse, RemoteSessionClient, type RemoteSessionCreateRequest, type RemoteSessionCreateResponse, type ResolvedElementPath, type ScreenshotOptions, type ScrollOptions, type SelectOptions, type SelectorFile, type SelectorRegistry, type SerializeOptions, type SerializedNodeMeta, type SerializedPageHTML, type SnapshotMode, type SnapshotOptions, type StateResult, type TabInfo, buildElementPathFromHandle, buildElementPathFromSelector, buildPathSelectorHint, cleanForAction, cleanForClickable, cleanForExtraction, cleanForFull, cleanForScrollable, clearCookies, cloneElementPath, closeTab, collectLocalSelectorCacheEntries, countArrayItemsWithPath, createEmptyRegistry, createExtractCallback, createResolveCallback, createTab, ensureLiveCounters, exportCookies, extractArrayRowsWithPaths, extractArrayWithPaths, extractWithPaths, getCookies, getElementAttributes, getElementBoundingBox, getElementText, getElementValue, getModelProvider, getPageHtml, getPageTitle, importCookies, listTabs, markInteractiveElements, normalizeNamespace, performClick, performFileUpload, performHover, performInput, performScroll, performSelect, prepareSnapshot, pressKey, remoteNotLaunchedError, remoteUnsupportedMethodError, resolveCounterElement, resolveCountersBatch, resolveElementPath, resolveNamespaceDir, sanitizeElementPath, serializePageHTML, setCookie, switchTab, typeText, waitForVisualStability };
656
+ export { type ActionExecutionResult, type ActionResult, ActionWsClient, type AiExtractArgs, type AiExtractCallback, type AiExtractResult, type AiModelConfig, type AiResolveArgs, type AiResolveCallback, type AiResolveCallbackResult, type AiResolveResult, type ArrayExtractedRow, type ArrayRowMetadata, type ArraySelector, type AttributeMatchClause, type BaseActionOptions, type BoundingBox, type ClickOptions, type CloudActionFailure, type CloudActionMethod, type CloudActionRequest, type CloudActionResponse, type CloudActionSuccess, CloudCdpClient, type CloudCdpConnectArgs, type CloudCdpConnection, type CloudErrorCode, type CloudSelectorCacheImportEntry, type CloudSelectorCacheImportRequest, type CloudSelectorCacheImportResponse, CloudSessionClient, type CloudSessionCreateRequest, type CloudSessionCreateResponse, type ContextHop, type CookieParam, type CounterBinding, type CounterRequest, CounterResolutionError, type CounterResolutionErrorCode, type CounterSnapshotLike, type DomPath, type ElementPath, ElementPathError, type ElementPathErrorCode, type ExtractFromPlanOptions, type ExtractOptions, type ExtractSchema, type ExtractSchemaField, type ExtractSchemaValue, type ExtractionFieldPlan, type ExtractionPlan, type ExtractionRunResult, type FieldSelector, type FileUploadOptions, type GotoOptions, type HoverOptions, type InputOptions, type LaunchOptions, LocalSelectorStorage, type MarkInteractivityOptions, type MatchClause, type MatchOperator, OPENSTEER_HIDDEN_ATTR, OPENSTEER_INTERACTIVE_ATTR, OPENSTEER_SCROLLABLE_ATTR, OV_BOUNDARY_ATTR, OV_IFRAME_BOUNDARY_TAG, OV_NODE_ID_ATTR, OV_SHADOW_BOUNDARY_TAG, OV_UNAVAILABLE_ATTR, Opensteer, type OpensteerBrowserConfig, type OpensteerCloudConfig, OpensteerCloudError, type OpensteerConfig, type OpensteerStorageConfig, type PathNode, type PathNodePosition, type PositionMatchClause, type PreparedSnapshot, type RegistryEntry, type ResolvedElementPath, type ScreenshotOptions, type ScrollOptions, type SelectOptions, type SelectorFile, type SelectorRegistry, type SerializeOptions, type SerializedNodeMeta, type SerializedPageHTML, type SnapshotMode, type SnapshotOptions, type StateResult, type TabInfo, buildElementPathFromHandle, buildElementPathFromSelector, buildPathSelectorHint, cleanForAction, cleanForClickable, cleanForExtraction, cleanForFull, cleanForScrollable, clearCookies, cloneElementPath, closeTab, cloudNotLaunchedError, cloudUnsupportedMethodError, collectLocalSelectorCacheEntries, countArrayItemsWithPath, createEmptyRegistry, createExtractCallback, createResolveCallback, createTab, ensureLiveCounters, exportCookies, extractArrayRowsWithPaths, extractArrayWithPaths, extractWithPaths, getCookies, getElementAttributes, getElementBoundingBox, getElementText, getElementValue, getModelProvider, getPageHtml, getPageTitle, importCookies, listTabs, markInteractiveElements, performClick, performFileUpload, performHover, performInput, performScroll, performSelect, prepareSnapshot, pressKey, resolveCounterElement, resolveCountersBatch, resolveElementPath, sanitizeElementPath, serializePageHTML, setCookie, switchTab, typeText, waitForVisualStability };