prowl-tools 0.1.6 → 0.1.8

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/lib.d.cts CHANGED
@@ -327,7 +327,7 @@ type StepResult = {
327
327
  type AssertionResult = {
328
328
  type: string;
329
329
  value?: string | boolean;
330
- status: "pass" | "fail";
330
+ status: "pass" | "fail" | "skipped";
331
331
  error?: string;
332
332
  };
333
333
  type RunArtifacts = {
@@ -444,6 +444,8 @@ interface SessionDriver {
444
444
  goto(url: string, options?: NavigateOptions): Promise<void>;
445
445
  currentUrl(): string;
446
446
  count(selector: string): Promise<number>;
447
+ /** Count only elements the driver considers visibly present, when it can distinguish visibility from existence. */
448
+ visibleCount?(selector: string): Promise<number>;
447
449
  textContent(selector: string): Promise<string | null>;
448
450
  click(selector: string): Promise<void>;
449
451
  clickFirst(selector: string): Promise<void>;
@@ -453,6 +455,12 @@ interface SessionDriver {
453
455
  selectOption(selector: string, value: string): Promise<void>;
454
456
  selectOptionFirst(selector: string, value: string): Promise<void>;
455
457
  hover(selector: string): Promise<void>;
458
+ /**
459
+ * Scroll the viewport in `direction` by `amount` (engine-defined units: CSS
460
+ * pixels on web, a synthesized swipe distance on mobile). Native targets that
461
+ * have no scroll gesture (macOS) reject this.
462
+ */
463
+ scroll(direction: "up" | "down" | "left" | "right", amount?: number): Promise<void>;
456
464
  scrollIntoView(selector: string): Promise<void>;
457
465
  setInputFiles(selector: string, files: string | string[]): Promise<void>;
458
466
  countByRole(role: string, name: string): Promise<number>;
@@ -544,13 +552,57 @@ declare function parseMacSelector(selector: string): MacQuery;
544
552
  /** Wrap a live {@link MacHelperClient} as a {@link SessionDriver}. */
545
553
  declare function createMacDriver(client: MacHelperClient, options?: MacDriverOptions): SessionDriver;
546
554
 
547
- declare function macdriverBuildInstructions(): string;
555
+ /** Basename of the helper executable, in the tarball and on disk. */
556
+ declare const HELPER_BINARY = "prowl-macdriver";
557
+ /** Pinned helper version. A CLI release always installs this exact version. */
558
+ declare const MACDRIVER_VERSION = "0.1.0";
559
+ /** GitHub `owner/repo` that hosts the helper releases. */
560
+ declare const MACDRIVER_REPO = "prowl-tools/prowl";
561
+ /** Code-signing identifier assigned to release builds. */
562
+ declare const MACDRIVER_SIGNING_IDENTIFIER = "tools.prowl.macdriver";
563
+ /** Developer ID Application common-name prefix expected on release builds. */
564
+ declare const MACDRIVER_SIGNING_AUTHORITY_PREFIX = "Developer ID Application: Genkei Labs";
565
+ /** Accepted helper release version token. */
566
+ declare const MACDRIVER_VERSION_PATTERN: RegExp;
567
+ /** Validate the helper release version before using it in URLs or paths. */
568
+ declare function validateMacdriverVersion(version: string): string;
569
+ /** Git tag for a helper version — the release the workflow builds. */
570
+ declare function macdriverReleaseTag(version?: string): string;
571
+ /** Release asset file name for the universal (arm64 + x86_64) binary zip. */
572
+ declare function macdriverAssetName(version?: string): string;
573
+ /** Release asset file name for the SHA-256 checksum sidecar. */
574
+ declare function macdriverChecksumName(version?: string): string;
575
+ /** Download URL for a named asset of the pinned release (follows redirects). */
576
+ declare function macdriverAssetUrl(assetName: string, version?: string): string;
577
+ /** Root of all user-level installs: `~/.prowl/macdriver`. */
578
+ declare function macdriverInstallRoot(homedir?: string): string;
579
+ /** Directory that holds a specific installed version. */
580
+ declare function macdriverVersionDir(version?: string, homedir?: string): string;
581
+ /** Absolute path to the installed helper binary for a version. */
582
+ declare function macdriverInstalledBinary(version?: string, homedir?: string): string;
583
+
548
584
  /**
549
- * Resolve the helper binary path. Order: `PROWL_MACDRIVER_BIN`, then the
550
- * release then debug build under `macdriver/.build/`. Throws with build
551
- * instructions when none is found.
585
+ * Guidance shown when the helper can't be resolved. Leads with the
586
+ * two-minute `prowl macdriver install` path; source build and the
587
+ * `PROWL_MACDRIVER_BIN` override are the contributor fallbacks.
552
588
  */
553
- declare function resolveHelperBinary(env?: NodeJS.ProcessEnv): string;
589
+ declare function macdriverBuildInstructions(): string;
590
+ type ResolveHelperOptions = {
591
+ /** Home directory for the user-level install lookup (defaults to `os.homedir()`). */
592
+ homedir?: string;
593
+ };
594
+ /**
595
+ * Resolve the helper binary path. Search order (documented in the README's
596
+ * macOS Target section):
597
+ * 1. `PROWL_MACDRIVER_BIN` env override (absolute path to the binary);
598
+ * 2. the user-level install of the pinned version at
599
+ * `~/.prowl/macdriver/<MACDRIVER_VERSION>/prowl-macdriver`
600
+ * (what `prowl macdriver install` writes);
601
+ * 3. the contributor's repo-local source build under `macdriver/.build/`
602
+ * (`release` then `debug`).
603
+ * Throws with install-first guidance when none is found.
604
+ */
605
+ declare function resolveHelperBinary(env?: NodeJS.ProcessEnv, options?: ResolveHelperOptions): string;
554
606
  /** Default per-request deadline for the helper transport. */
555
607
  declare const DEFAULT_REQUEST_TIMEOUT_MS = 30000;
556
608
  type SpawnMacHelperOptions = {
@@ -594,6 +646,151 @@ declare function launchMacSession(options: LaunchMacOptions): Promise<MacSession
594
646
  /** Quit the target app (best effort) and shut the helper down. */
595
647
  declare function closeMacSession(session: MacSession): Promise<void>;
596
648
 
649
+ /** Minimal shape of the `fetch` responses this module consumes. */
650
+ interface FetchResponseLike {
651
+ ok: boolean;
652
+ status: number;
653
+ arrayBuffer(): Promise<ArrayBuffer>;
654
+ text(): Promise<string>;
655
+ }
656
+ /** A `fetch`-like function; the real global `fetch` satisfies it. */
657
+ type FetchLike$2 = (url: string, init?: {
658
+ redirect?: "follow" | "error" | "manual";
659
+ }) => Promise<FetchResponseLike>;
660
+ /** Extracts the binary out of a downloaded zip into `destDir`. */
661
+ type Extractor = (zipPath: string, destDir: string) => Promise<void>;
662
+ /** Lists the raw path entries in a downloaded zip before extraction. */
663
+ type ArchiveLister = (zipPath: string) => Promise<string[]>;
664
+ /** Verifies the code signature of an installed binary; throws if invalid. */
665
+ type SignatureVerifier = (binaryPath: string) => Promise<void>;
666
+ interface CommandResult {
667
+ stdout?: string | Buffer;
668
+ stderr?: string | Buffer;
669
+ }
670
+ type CommandRunner = (file: string, args: string[]) => Promise<CommandResult>;
671
+ /** Parse the hex digest out of a `shasum`-style `.sha256` file. */
672
+ declare function parseChecksumFile(text: string): string;
673
+ /** SHA-256 of a buffer, lowercase hex. */
674
+ declare function sha256Hex(bytes: Buffer): string;
675
+ /** Default archive lister: `zipinfo -1`, used before any extraction happens. */
676
+ declare const zipinfoArchiveLister: ArchiveLister;
677
+ /** Validate the zip member list before extraction. */
678
+ declare function validateMacdriverArchiveEntries(entries: string[]): void;
679
+ /** Default extractor: Apple's `ditto`, which preserves the code signature. */
680
+ declare const dittoExtractor: Extractor;
681
+ interface CodesignDetails {
682
+ identifier: string | null;
683
+ authorities: string[];
684
+ teamIdentifier: string | null;
685
+ }
686
+ declare function parseCodesignDetails(text: string): CodesignDetails;
687
+ declare function verifyMacdriverSignature(binaryPath: string, run?: CommandRunner): Promise<void>;
688
+ /**
689
+ * Default signature verifier: fail closed unless `codesign` verifies the
690
+ * signature, the identity matches the release contract, and Gatekeeper accepts
691
+ * the executable through `spctl --assess --type execute`.
692
+ */
693
+ declare const codesignVerifier: SignatureVerifier;
694
+ interface DownloadOptions {
695
+ version?: string;
696
+ fetchImpl?: FetchLike$2;
697
+ }
698
+ /**
699
+ * Download the pinned release's universal-binary zip and verify its SHA-256
700
+ * against the released `.sha256` sidecar. Returns the verified zip bytes.
701
+ * Throws a clear, actionable error on a 404 (no release cut yet) or a checksum
702
+ * mismatch.
703
+ */
704
+ declare function downloadAndVerify(options?: DownloadOptions): Promise<Buffer>;
705
+ interface InstallOptions {
706
+ version?: string;
707
+ force?: boolean;
708
+ homedir?: string;
709
+ fetchImpl?: FetchLike$2;
710
+ listArchiveEntries?: ArchiveLister;
711
+ extract?: Extractor;
712
+ verifySignature?: SignatureVerifier;
713
+ }
714
+ interface InstallResult {
715
+ version: string;
716
+ binaryPath: string;
717
+ alreadyInstalled: boolean;
718
+ }
719
+ /**
720
+ * Install the pinned helper to `~/.prowl/macdriver/<version>/prowl-macdriver`
721
+ * (0755). Returns `alreadyInstalled: true` (a no-op) when the binary is already
722
+ * present and `force` is not set. The downloaded archive is inspected before
723
+ * extraction, extracted into a temporary staging directory, and moved into place
724
+ * only after the staged helper passes file and signature verification.
725
+ */
726
+ declare function installMacdriver(options?: InstallOptions): Promise<InstallResult>;
727
+ interface InstalledVersion {
728
+ version: string;
729
+ binaryPath: string;
730
+ }
731
+ interface MacdriverStatus {
732
+ /** The binary Prowl would use now, and how it was found. */
733
+ resolved: {
734
+ path: string;
735
+ source: "env" | "user-install" | "source-build";
736
+ } | null;
737
+ /** The pinned version the CLI targets. */
738
+ pinnedVersion: string;
739
+ /** All versions found under `~/.prowl/macdriver/`. */
740
+ installed: InstalledVersion[];
741
+ /** Version string the resolved binary reports, or null if it couldn't run. */
742
+ probedVersion: string | null;
743
+ }
744
+ /** Probe a helper binary's `version` output; null if it can't be run/parsed. */
745
+ type VersionProbe = (binaryPath: string) => Promise<string | null>;
746
+ /** Default probe: run `<binary> version` and parse the `prowl-macdriver X.Y.Z` line. */
747
+ declare const runVersionProbe: VersionProbe;
748
+ interface StatusOptions {
749
+ env?: NodeJS.ProcessEnv;
750
+ homedir?: string;
751
+ probe?: VersionProbe;
752
+ }
753
+ /**
754
+ * Gather the state `prowl macdriver status` reports: the resolved binary and
755
+ * how it was found, every installed version, and the resolved binary's probed
756
+ * version. Pure aside from filesystem reads and the (injectable) probe.
757
+ */
758
+ declare function collectMacdriverStatus(options?: StatusOptions): Promise<MacdriverStatus>;
759
+ /** Static TCC-permission guidance printed after install / in status. */
760
+ declare function tccGuidance(): string;
761
+
762
+ /** Screen dimensions in device points, as reported by the agent. */
763
+ interface ScreenSize {
764
+ width: number;
765
+ height: number;
766
+ }
767
+ /** One item in a W3C `pointer` action sequence. */
768
+ type PointerActionItem = {
769
+ type: "pointerMove";
770
+ duration: number;
771
+ x: number;
772
+ y: number;
773
+ origin?: "viewport";
774
+ } | {
775
+ type: "pointerDown";
776
+ button: number;
777
+ } | {
778
+ type: "pointerUp";
779
+ button: number;
780
+ } | {
781
+ type: "pause";
782
+ duration: number;
783
+ };
784
+ /** A single `touch` pointer input source and its ordered actions. */
785
+ interface PointerActionSequence {
786
+ type: "pointer";
787
+ id: string;
788
+ parameters: {
789
+ pointerType: "touch";
790
+ };
791
+ actions: PointerActionItem[];
792
+ }
793
+
597
794
  /** The selector kinds the native dialect understands. */
598
795
  type NativeSelectorKind = "id" | "label" | "text" | "role" | "focused";
599
796
  /**
@@ -811,6 +1008,10 @@ interface AndroidAgentClient {
811
1008
  getText(elementId: string): Promise<string | null>;
812
1009
  /** Dispatch a global key event by Android key code (goes to the focused view). */
813
1010
  pressKeyCode(keyCode: number): Promise<void>;
1011
+ /** Current screen size in pixels (uiautomator2 `/window/current/size`), for gestures. */
1012
+ windowSize(): Promise<ScreenSize>;
1013
+ /** Perform a W3C pointer action sequence (`POST /session/:id/actions`). */
1014
+ performActions(actions: PointerActionSequence): Promise<void>;
814
1015
  /** Capture the current screen as PNG bytes. */
815
1016
  screenshotPng(): Promise<Buffer>;
816
1017
  /**
@@ -1054,10 +1255,16 @@ interface IosAgentClient {
1054
1255
  /** Replace an element's text (W3C `element/value`). */
1055
1256
  setValue(elementId: string, text: string): Promise<void>;
1056
1257
  getText(elementId: string): Promise<string | null>;
1258
+ /** True only when WDA reports the element is displayed in the current viewport. */
1259
+ isDisplayed(elementId: string): Promise<boolean>;
1057
1260
  /** Send raw key sequences to the focused element (WDA `/wda/keys`). */
1058
1261
  sendKeys(keys: string[]): Promise<void>;
1059
1262
  /** Return to the springboard home screen (WDA `/wda/homescreen`). */
1060
1263
  homescreen(): Promise<void>;
1264
+ /** Current screen size in points (WDA `/window/size`), for gesture geometry. */
1265
+ windowSize(): Promise<ScreenSize>;
1266
+ /** Perform a W3C pointer action sequence (WDA `POST /session/:id/actions`). */
1267
+ performActions(actions: PointerActionSequence): Promise<void>;
1061
1268
  /**
1062
1269
  * Return the current UI hierarchy as WebDriverAgent `/source` XML. Present on
1063
1270
  * live clients and consumed by the analyzer (PROWL-061); optional so lighter
@@ -1359,7 +1566,9 @@ declare function createWdaAgentClient(transport: WdaTransport, sessionId: string
1359
1566
  * Step types that only make sense on the web target. Everything else
1360
1567
  * (`click`, `fill`, `type`, `press`, `wait`, `assert visible/notVisible`,
1361
1568
  * `screenshot`, `assertScreenshot`, `repeat`, `runHunt`, `if`, `copyText`,
1362
- * `hover`, `scrollTo`, `waitForSelector`) is portable across targets.
1569
+ * `hover`, `scrollTo`, `waitForSelector`) is portable across targets. The
1570
+ * directional `scroll` step is the one per-target exception — see
1571
+ * {@link MACOS_UNSUPPORTED_STEP_TYPES}.
1363
1572
  */
1364
1573
  declare const WEB_ONLY_STEP_TYPES: ReadonlySet<string>;
1365
1574
  /** The web-only reason a step is unsupported on a non-web target, or null if portable. */
@@ -1367,8 +1576,10 @@ declare function webOnlyReason(step: Step): string | null;
1367
1576
  /**
1368
1577
  * Throw if any step in `steps` (recursing into `if`/`repeat` bodies) is not
1369
1578
  * supported by `target`. `runHunt` references are validated when the referenced
1370
- * hunt itself runs. No-op for the web target; every native target (macOS,
1371
- * Android, iOS) rejects the same web-only step vocabulary.
1579
+ * hunt itself runs. No-op for the web target; every native target rejects the
1580
+ * same web-only step vocabulary, and macOS additionally rejects the directional
1581
+ * `scroll` swipe (no AX equivalent) — but NOT `scrollTo`, which macOS maps to
1582
+ * AXScrollToVisible just as iOS/Android map it to a swipe loop.
1372
1583
  */
1373
1584
  declare function assertStepsSupportedByTarget(steps: Step[], target: Target["type"]): void;
1374
1585
  /** Read the bundle id from an iOS `.app` (root `Info.plist`), or null. */
@@ -1705,24 +1916,24 @@ declare const configSchema: z.ZodObject<{
1705
1916
  }>]>>;
1706
1917
  }, "strip", z.ZodTypeAny, {
1707
1918
  timeout?: number | undefined;
1708
- headless?: boolean | undefined;
1709
- slowMo?: number | undefined;
1710
- engine?: "chromium" | "firefox" | "webkit" | undefined;
1711
- channel?: "chromium" | "chrome" | "chrome-beta" | "chrome-canary" | "chrome-dev" | "msedge" | "msedge-beta" | "msedge-canary" | "msedge-dev" | undefined;
1712
1919
  viewport?: "mobile" | "tablet" | "desktop" | {
1713
1920
  width: number;
1714
1921
  height: number;
1715
1922
  } | undefined;
1716
- }, {
1717
- timeout?: number | undefined;
1718
1923
  headless?: boolean | undefined;
1719
1924
  slowMo?: number | undefined;
1720
1925
  engine?: "chromium" | "firefox" | "webkit" | undefined;
1721
1926
  channel?: "chromium" | "chrome" | "chrome-beta" | "chrome-canary" | "chrome-dev" | "msedge" | "msedge-beta" | "msedge-canary" | "msedge-dev" | undefined;
1927
+ }, {
1928
+ timeout?: number | undefined;
1722
1929
  viewport?: "mobile" | "tablet" | "desktop" | {
1723
1930
  width: number;
1724
1931
  height: number;
1725
1932
  } | undefined;
1933
+ headless?: boolean | undefined;
1934
+ slowMo?: number | undefined;
1935
+ engine?: "chromium" | "firefox" | "webkit" | undefined;
1936
+ channel?: "chromium" | "chrome" | "chrome-beta" | "chrome-canary" | "chrome-dev" | "msedge" | "msedge-beta" | "msedge-canary" | "msedge-dev" | undefined;
1726
1937
  }>>;
1727
1938
  artifacts: z.ZodOptional<z.ZodObject<{
1728
1939
  screenshots: z.ZodOptional<z.ZodEnum<["on-failure", "all"]>>;
@@ -1836,14 +2047,14 @@ declare const configSchema: z.ZodObject<{
1836
2047
  };
1837
2048
  browser?: {
1838
2049
  timeout?: number | undefined;
1839
- headless?: boolean | undefined;
1840
- slowMo?: number | undefined;
1841
- engine?: "chromium" | "firefox" | "webkit" | undefined;
1842
- channel?: "chromium" | "chrome" | "chrome-beta" | "chrome-canary" | "chrome-dev" | "msedge" | "msedge-beta" | "msedge-canary" | "msedge-dev" | undefined;
1843
2050
  viewport?: "mobile" | "tablet" | "desktop" | {
1844
2051
  width: number;
1845
2052
  height: number;
1846
2053
  } | undefined;
2054
+ headless?: boolean | undefined;
2055
+ slowMo?: number | undefined;
2056
+ engine?: "chromium" | "firefox" | "webkit" | undefined;
2057
+ channel?: "chromium" | "chrome" | "chrome-beta" | "chrome-canary" | "chrome-dev" | "msedge" | "msedge-beta" | "msedge-canary" | "msedge-dev" | undefined;
1847
2058
  } | undefined;
1848
2059
  artifacts?: {
1849
2060
  screenshots?: "on-failure" | "all" | undefined;
@@ -1901,14 +2112,14 @@ declare const configSchema: z.ZodObject<{
1901
2112
  };
1902
2113
  browser?: {
1903
2114
  timeout?: number | undefined;
1904
- headless?: boolean | undefined;
1905
- slowMo?: number | undefined;
1906
- engine?: "chromium" | "firefox" | "webkit" | undefined;
1907
- channel?: "chromium" | "chrome" | "chrome-beta" | "chrome-canary" | "chrome-dev" | "msedge" | "msedge-beta" | "msedge-canary" | "msedge-dev" | undefined;
1908
2115
  viewport?: "mobile" | "tablet" | "desktop" | {
1909
2116
  width: number;
1910
2117
  height: number;
1911
2118
  } | undefined;
2119
+ headless?: boolean | undefined;
2120
+ slowMo?: number | undefined;
2121
+ engine?: "chromium" | "firefox" | "webkit" | undefined;
2122
+ channel?: "chromium" | "chrome" | "chrome-beta" | "chrome-canary" | "chrome-dev" | "msedge" | "msedge-beta" | "msedge-canary" | "msedge-dev" | undefined;
1912
2123
  } | undefined;
1913
2124
  artifacts?: {
1914
2125
  screenshots?: "on-failure" | "all" | undefined;
@@ -2454,4 +2665,4 @@ type GenerateOptions = {
2454
2665
  };
2455
2666
  declare function generateHunt(options: GenerateOptions): Promise<string>;
2456
2667
 
2457
- export { ANDROID_INTERACTIVE_CLASSES, ANDROID_KEYCODES, ANDROID_MATCH_DIALECT, type AdbDevice, type AdbResult, type AdbRunner, type AdbSpawner, type AgentApks, type AgentConnector, type AnalysisResult, type AnalyzeAndroidOptions, type AnalyzeIosOptions, type AnalyzeMacOptions, type AndroidAgentClient, type AndroidAnalysisElement, type AndroidAnalysisResult, type AndroidDriverOptions, type AndroidLocator, type AndroidQuery, type AndroidSession, type AndroidTarget, type AndroidUiNode, type AndroidUiSource, type AssertScreenshotStep, type Assertion, type AssertionResult, type BrowserChannel, type BrowserEngine, type BugFailure, type BugLogSummary, type CiFailureCluster, type CiFlakyHunt, type CiHuntResult, type CiResult, type CiStatus, type Config, DEFAULT_AGENT_REQUEST_TIMEOUT_MS, DEFAULT_ANALYZE_TREE_DEPTH, DEFAULT_FLAKY_THRESHOLD, DEFAULT_REQUEST_TIMEOUT_MS, DEFAULT_SIMULATOR_LOCK_ROOT, DEFAULT_WDA_REQUEST_TIMEOUT_MS, type EvalScriptStep, type FailureCluster, type FetchLike$1 as FetchLike, type FlakyScore, type GenerateOptions, type HealResult, type HistoryEntry, type HistoryFile, type Hunt, INTERACTIVE_ROLES, IOS_INTERACTIVE_TYPES, IOS_MATCH_DIALECT, IOS_PRESS_KEYS, IOS_WINDOW_TYPE, type IfStep, type IosAgentClient, type IosAgentConnector, type IosAnalysisElement, type IosAnalysisResult, type IosAnalysisWindow, type IosDriverOptions, type IosLocator, type IosQuery, type IosSession, type IosTarget, type IosUiNode, type IosUiSource, type LaunchAndroidOptions, type LaunchIosOptions, type LaunchMacOptions, MACOS_MATCH_DIALECT, type MacAnalysisElement, type MacAnalysisResult, type MacAnalysisWindow, type MacAxNode, type MacDriverOptions, type MacHelperClient, type MacQuery, type MacSession, type MacosTarget, type MockRouteStep, NATIVE_ATTRIBUTE_MAP, type NativeMatchDialect, type NativeMatchOptions, type NativeNode, type NativePlatform, type NativeRankFields, type NativeSelector, type NativeSelectorKind, type PageElement, type PageForm, type PageLink, type RankFlakyOptions, type ReliabilityConfig, type RepeatStep, type ReserveSimulatorOptions, type ResolveWdaTestRunOptions, type RunArtifacts, type RunOptions, type RunResult, type RunScriptStep, type RunSuiteHooks, type RunSuiteOptions, type RunSuiteResult, type SelectorKindMapping, type SimDevice, type SimctlResult, type SimctlRunner, type SimulatorReservation, SpawnMacHelperClient, type SpawnMacHelperOptions, type Step, type StepResult, type Target, UIA2_REMOTE_PORT, Uia2HttpError, Uia2Transport, type Uia2TransportOptions, type UnmockRouteStep, type UpdateBacklogOptions, type Viewport, WDA_RUNNER_BUNDLE_ID, WDA_USE_PORT_ENV, WEB_ONLY_STEP_TYPES, WdaHttpError, type WdaTestRunPreparer, WdaTransport, type WdaTransportOptions, type WebTarget, type XmlElement, analyzeAndroidApp, analyzeIosApp, analyzeMacApp, analyzePage, androidAppAllowedIdentities, androidNodeToNative, androidQueryToLocator, assertAndroidAppAllowed, assertIosAppAllowed, assertStepsSupportedByTarget, assertTargetAppAllowed, bootedDevices, bootedSimulators, buildHealCandidates, closeAndroidSession, closeIosSession, closeMacSession, clusterFailures, computeFlakeScore, configSchema, createAndroidDriver, createIosDriver, createMacDriver, createUia2AgentClient, createUia2Session, createWdaAgentClient, createWdaSession, decodeXmlEntities, defaultAgentConnector, defaultIosAgentConnector, defaultWdaTestRunPreparer, escapePredicateArg, escapeUiSelectorArg, extractElementId, extractFailures, extractSelectorIntent, findFreePort, generateHunt, healSelector, huntSchema, injectUsePortIntoXctestrun, interpolateHunt, iosAppAllowedIdentities, iosNodeToNative, iosQueryToLocator, isAndroidInteractive, isIosInteractive, launchAndroidSession, launchIosSession, launchMacSession, listDevices, listHunts, listSimulators, loadConfig, loadHunt, loadHuntMeta, loadHuntTags, macdriverBuildInstructions, matchAndroidSelector, matchIosSelector, matchNativeTree, nodeMatchesSelector, normalizeXcuiClassName, parseAaptPackage, parseAdbDevices, parseAndroidHierarchy, parseAndroidSelector, parseForwardPort, parseIosHierarchy, parseIosSelector, parseMacSelector, parseNativeSelector, parseSimctlDevices, parseSnapshot, parseXcodeVersion, parseXml, qualifyResourceId, quoteSelectorValue, rankAndroidSelectors, rankFlaky, rankIosSelectors, rankMacSelectors, rankNativeSelectors, readHistory, readHuntHistory, readIosBundleIdentifier, reserveSimulatorUdid, resolveAgentApks, resolveHelperBinary, resolveWdaProject, resolveWdaTestRun, runHunt, runSuite, selectDeviceSerial, selectSimulatorUdid, shortIosType, stepSchema, unquoteSelectorValue, unwrapAndroidTextSelector, unwrapIosTextSelector, unwrapNativeTextSelector, updateBacklogFromSuite, waitForAgentReady, waitForWdaReady, wdaCacheDir, wdaTestRunArgs, webOnlyReason };
2668
+ export { ANDROID_INTERACTIVE_CLASSES, ANDROID_KEYCODES, ANDROID_MATCH_DIALECT, type AdbDevice, type AdbResult, type AdbRunner, type AdbSpawner, type AgentApks, type AgentConnector, type AnalysisResult, type AnalyzeAndroidOptions, type AnalyzeIosOptions, type AnalyzeMacOptions, type AndroidAgentClient, type AndroidAnalysisElement, type AndroidAnalysisResult, type AndroidDriverOptions, type AndroidLocator, type AndroidQuery, type AndroidSession, type AndroidTarget, type AndroidUiNode, type AndroidUiSource, type ArchiveLister, type AssertScreenshotStep, type Assertion, type AssertionResult, type BrowserChannel, type BrowserEngine, type BugFailure, type BugLogSummary, type CiFailureCluster, type CiFlakyHunt, type CiHuntResult, type CiResult, type CiStatus, type CodesignDetails, type CommandResult, type CommandRunner, type Config, DEFAULT_AGENT_REQUEST_TIMEOUT_MS, DEFAULT_ANALYZE_TREE_DEPTH, DEFAULT_FLAKY_THRESHOLD, DEFAULT_REQUEST_TIMEOUT_MS, DEFAULT_SIMULATOR_LOCK_ROOT, DEFAULT_WDA_REQUEST_TIMEOUT_MS, type DownloadOptions, type EvalScriptStep, type Extractor, type FailureCluster, type FetchLike$1 as FetchLike, type FlakyScore, type GenerateOptions, HELPER_BINARY, type HealResult, type HistoryEntry, type HistoryFile, type Hunt, INTERACTIVE_ROLES, IOS_INTERACTIVE_TYPES, IOS_MATCH_DIALECT, IOS_PRESS_KEYS, IOS_WINDOW_TYPE, type IfStep, type InstallOptions, type InstallResult, type InstalledVersion, type IosAgentClient, type IosAgentConnector, type IosAnalysisElement, type IosAnalysisResult, type IosAnalysisWindow, type IosDriverOptions, type IosLocator, type IosQuery, type IosSession, type IosTarget, type IosUiNode, type IosUiSource, type LaunchAndroidOptions, type LaunchIosOptions, type LaunchMacOptions, MACDRIVER_REPO, MACDRIVER_SIGNING_AUTHORITY_PREFIX, MACDRIVER_SIGNING_IDENTIFIER, MACDRIVER_VERSION, MACDRIVER_VERSION_PATTERN, MACOS_MATCH_DIALECT, type MacAnalysisElement, type MacAnalysisResult, type MacAnalysisWindow, type MacAxNode, type MacDriverOptions, type MacHelperClient, type MacQuery, type MacSession, type MacdriverStatus, type MacosTarget, type MockRouteStep, NATIVE_ATTRIBUTE_MAP, type NativeMatchDialect, type NativeMatchOptions, type NativeNode, type NativePlatform, type NativeRankFields, type NativeSelector, type NativeSelectorKind, type PageElement, type PageForm, type PageLink, type RankFlakyOptions, type ReliabilityConfig, type RepeatStep, type ReserveSimulatorOptions, type ResolveHelperOptions, type ResolveWdaTestRunOptions, type RunArtifacts, type RunOptions, type RunResult, type RunScriptStep, type RunSuiteHooks, type RunSuiteOptions, type RunSuiteResult, type SelectorKindMapping, type SignatureVerifier, type SimDevice, type SimctlResult, type SimctlRunner, type SimulatorReservation, SpawnMacHelperClient, type SpawnMacHelperOptions, type StatusOptions, type Step, type StepResult, type Target, UIA2_REMOTE_PORT, Uia2HttpError, Uia2Transport, type Uia2TransportOptions, type UnmockRouteStep, type UpdateBacklogOptions, type VersionProbe, type Viewport, WDA_RUNNER_BUNDLE_ID, WDA_USE_PORT_ENV, WEB_ONLY_STEP_TYPES, WdaHttpError, type WdaTestRunPreparer, WdaTransport, type WdaTransportOptions, type WebTarget, type XmlElement, analyzeAndroidApp, analyzeIosApp, analyzeMacApp, analyzePage, androidAppAllowedIdentities, androidNodeToNative, androidQueryToLocator, assertAndroidAppAllowed, assertIosAppAllowed, assertStepsSupportedByTarget, assertTargetAppAllowed, bootedDevices, bootedSimulators, buildHealCandidates, closeAndroidSession, closeIosSession, closeMacSession, clusterFailures, codesignVerifier, collectMacdriverStatus, computeFlakeScore, configSchema, createAndroidDriver, createIosDriver, createMacDriver, createUia2AgentClient, createUia2Session, createWdaAgentClient, createWdaSession, decodeXmlEntities, defaultAgentConnector, defaultIosAgentConnector, defaultWdaTestRunPreparer, dittoExtractor, downloadAndVerify, escapePredicateArg, escapeUiSelectorArg, extractElementId, extractFailures, extractSelectorIntent, findFreePort, generateHunt, healSelector, huntSchema, injectUsePortIntoXctestrun, installMacdriver, interpolateHunt, iosAppAllowedIdentities, iosNodeToNative, iosQueryToLocator, isAndroidInteractive, isIosInteractive, launchAndroidSession, launchIosSession, launchMacSession, listDevices, listHunts, listSimulators, loadConfig, loadHunt, loadHuntMeta, loadHuntTags, macdriverAssetName, macdriverAssetUrl, macdriverBuildInstructions, macdriverChecksumName, macdriverInstallRoot, macdriverInstalledBinary, macdriverReleaseTag, macdriverVersionDir, matchAndroidSelector, matchIosSelector, matchNativeTree, nodeMatchesSelector, normalizeXcuiClassName, parseAaptPackage, parseAdbDevices, parseAndroidHierarchy, parseAndroidSelector, parseChecksumFile, parseCodesignDetails, parseForwardPort, parseIosHierarchy, parseIosSelector, parseMacSelector, parseNativeSelector, parseSimctlDevices, parseSnapshot, parseXcodeVersion, parseXml, qualifyResourceId, quoteSelectorValue, rankAndroidSelectors, rankFlaky, rankIosSelectors, rankMacSelectors, rankNativeSelectors, readHistory, readHuntHistory, readIosBundleIdentifier, reserveSimulatorUdid, resolveAgentApks, resolveHelperBinary, resolveWdaProject, resolveWdaTestRun, runHunt, runSuite, runVersionProbe, selectDeviceSerial, selectSimulatorUdid, sha256Hex, shortIosType, stepSchema, tccGuidance, unquoteSelectorValue, unwrapAndroidTextSelector, unwrapIosTextSelector, unwrapNativeTextSelector, updateBacklogFromSuite, validateMacdriverArchiveEntries, validateMacdriverVersion, verifyMacdriverSignature, waitForAgentReady, waitForWdaReady, wdaCacheDir, wdaTestRunArgs, webOnlyReason, zipinfoArchiveLister };