prowl-tools 0.1.6 → 0.1.7
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/README.md +334 -183
- package/dist/{chunk-WHAMB4TY.js → chunk-O3OUTZ2P.js} +18 -2
- package/dist/{chunk-WHAMB4TY.js.map → chunk-O3OUTZ2P.js.map} +1 -1
- package/dist/{chunk-5KQR3IR3.js → chunk-R7NUH44M.js} +551 -107
- package/dist/chunk-R7NUH44M.js.map +1 -0
- package/dist/index.cjs +691 -165
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +108 -13
- package/dist/index.js.map +1 -1
- package/dist/lib.cjs +693 -220
- package/dist/lib.cjs.map +1 -1
- package/dist/lib.d.cts +164 -7
- package/dist/lib.d.ts +164 -7
- package/dist/lib.js +58 -4
- package/dist/{loader-PBBYV3U7.js → loader-X37URHUV.js} +2 -2
- package/examples/hunts/hello.yml +1 -1
- package/examples/hunts/login-flow.yml +58 -0
- package/package.json +6 -3
- package/dist/chunk-5KQR3IR3.js.map +0 -1
- /package/dist/{loader-PBBYV3U7.js.map → loader-X37URHUV.js.map} +0 -0
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 = {
|
|
@@ -544,13 +544,57 @@ declare function parseMacSelector(selector: string): MacQuery;
|
|
|
544
544
|
/** Wrap a live {@link MacHelperClient} as a {@link SessionDriver}. */
|
|
545
545
|
declare function createMacDriver(client: MacHelperClient, options?: MacDriverOptions): SessionDriver;
|
|
546
546
|
|
|
547
|
-
|
|
547
|
+
/** Basename of the helper executable, in the tarball and on disk. */
|
|
548
|
+
declare const HELPER_BINARY = "prowl-macdriver";
|
|
549
|
+
/** Pinned helper version. A CLI release always installs this exact version. */
|
|
550
|
+
declare const MACDRIVER_VERSION = "0.1.0";
|
|
551
|
+
/** GitHub `owner/repo` that hosts the helper releases. */
|
|
552
|
+
declare const MACDRIVER_REPO = "prowl-tools/prowl";
|
|
553
|
+
/** Code-signing identifier assigned to release builds. */
|
|
554
|
+
declare const MACDRIVER_SIGNING_IDENTIFIER = "tools.prowl.macdriver";
|
|
555
|
+
/** Developer ID Application common-name prefix expected on release builds. */
|
|
556
|
+
declare const MACDRIVER_SIGNING_AUTHORITY_PREFIX = "Developer ID Application: Genkei Labs";
|
|
557
|
+
/** Accepted helper release version token. */
|
|
558
|
+
declare const MACDRIVER_VERSION_PATTERN: RegExp;
|
|
559
|
+
/** Validate the helper release version before using it in URLs or paths. */
|
|
560
|
+
declare function validateMacdriverVersion(version: string): string;
|
|
561
|
+
/** Git tag for a helper version — the release the workflow builds. */
|
|
562
|
+
declare function macdriverReleaseTag(version?: string): string;
|
|
563
|
+
/** Release asset file name for the universal (arm64 + x86_64) binary zip. */
|
|
564
|
+
declare function macdriverAssetName(version?: string): string;
|
|
565
|
+
/** Release asset file name for the SHA-256 checksum sidecar. */
|
|
566
|
+
declare function macdriverChecksumName(version?: string): string;
|
|
567
|
+
/** Download URL for a named asset of the pinned release (follows redirects). */
|
|
568
|
+
declare function macdriverAssetUrl(assetName: string, version?: string): string;
|
|
569
|
+
/** Root of all user-level installs: `~/.prowl/macdriver`. */
|
|
570
|
+
declare function macdriverInstallRoot(homedir?: string): string;
|
|
571
|
+
/** Directory that holds a specific installed version. */
|
|
572
|
+
declare function macdriverVersionDir(version?: string, homedir?: string): string;
|
|
573
|
+
/** Absolute path to the installed helper binary for a version. */
|
|
574
|
+
declare function macdriverInstalledBinary(version?: string, homedir?: string): string;
|
|
575
|
+
|
|
548
576
|
/**
|
|
549
|
-
*
|
|
550
|
-
*
|
|
551
|
-
*
|
|
577
|
+
* Guidance shown when the helper can't be resolved. Leads with the
|
|
578
|
+
* two-minute `prowl macdriver install` path; source build and the
|
|
579
|
+
* `PROWL_MACDRIVER_BIN` override are the contributor fallbacks.
|
|
552
580
|
*/
|
|
553
|
-
declare function
|
|
581
|
+
declare function macdriverBuildInstructions(): string;
|
|
582
|
+
type ResolveHelperOptions = {
|
|
583
|
+
/** Home directory for the user-level install lookup (defaults to `os.homedir()`). */
|
|
584
|
+
homedir?: string;
|
|
585
|
+
};
|
|
586
|
+
/**
|
|
587
|
+
* Resolve the helper binary path. Search order (documented in the README's
|
|
588
|
+
* macOS Target section):
|
|
589
|
+
* 1. `PROWL_MACDRIVER_BIN` env override (absolute path to the binary);
|
|
590
|
+
* 2. the user-level install of the pinned version at
|
|
591
|
+
* `~/.prowl/macdriver/<MACDRIVER_VERSION>/prowl-macdriver`
|
|
592
|
+
* (what `prowl macdriver install` writes);
|
|
593
|
+
* 3. the contributor's repo-local source build under `macdriver/.build/`
|
|
594
|
+
* (`release` then `debug`).
|
|
595
|
+
* Throws with install-first guidance when none is found.
|
|
596
|
+
*/
|
|
597
|
+
declare function resolveHelperBinary(env?: NodeJS.ProcessEnv, options?: ResolveHelperOptions): string;
|
|
554
598
|
/** Default per-request deadline for the helper transport. */
|
|
555
599
|
declare const DEFAULT_REQUEST_TIMEOUT_MS = 30000;
|
|
556
600
|
type SpawnMacHelperOptions = {
|
|
@@ -594,6 +638,119 @@ declare function launchMacSession(options: LaunchMacOptions): Promise<MacSession
|
|
|
594
638
|
/** Quit the target app (best effort) and shut the helper down. */
|
|
595
639
|
declare function closeMacSession(session: MacSession): Promise<void>;
|
|
596
640
|
|
|
641
|
+
/** Minimal shape of the `fetch` responses this module consumes. */
|
|
642
|
+
interface FetchResponseLike {
|
|
643
|
+
ok: boolean;
|
|
644
|
+
status: number;
|
|
645
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
646
|
+
text(): Promise<string>;
|
|
647
|
+
}
|
|
648
|
+
/** A `fetch`-like function; the real global `fetch` satisfies it. */
|
|
649
|
+
type FetchLike$2 = (url: string, init?: {
|
|
650
|
+
redirect?: "follow" | "error" | "manual";
|
|
651
|
+
}) => Promise<FetchResponseLike>;
|
|
652
|
+
/** Extracts the binary out of a downloaded zip into `destDir`. */
|
|
653
|
+
type Extractor = (zipPath: string, destDir: string) => Promise<void>;
|
|
654
|
+
/** Lists the raw path entries in a downloaded zip before extraction. */
|
|
655
|
+
type ArchiveLister = (zipPath: string) => Promise<string[]>;
|
|
656
|
+
/** Verifies the code signature of an installed binary; throws if invalid. */
|
|
657
|
+
type SignatureVerifier = (binaryPath: string) => Promise<void>;
|
|
658
|
+
interface CommandResult {
|
|
659
|
+
stdout?: string | Buffer;
|
|
660
|
+
stderr?: string | Buffer;
|
|
661
|
+
}
|
|
662
|
+
type CommandRunner = (file: string, args: string[]) => Promise<CommandResult>;
|
|
663
|
+
/** Parse the hex digest out of a `shasum`-style `.sha256` file. */
|
|
664
|
+
declare function parseChecksumFile(text: string): string;
|
|
665
|
+
/** SHA-256 of a buffer, lowercase hex. */
|
|
666
|
+
declare function sha256Hex(bytes: Buffer): string;
|
|
667
|
+
/** Default archive lister: `zipinfo -1`, used before any extraction happens. */
|
|
668
|
+
declare const zipinfoArchiveLister: ArchiveLister;
|
|
669
|
+
/** Validate the zip member list before extraction. */
|
|
670
|
+
declare function validateMacdriverArchiveEntries(entries: string[]): void;
|
|
671
|
+
/** Default extractor: Apple's `ditto`, which preserves the code signature. */
|
|
672
|
+
declare const dittoExtractor: Extractor;
|
|
673
|
+
interface CodesignDetails {
|
|
674
|
+
identifier: string | null;
|
|
675
|
+
authorities: string[];
|
|
676
|
+
teamIdentifier: string | null;
|
|
677
|
+
}
|
|
678
|
+
declare function parseCodesignDetails(text: string): CodesignDetails;
|
|
679
|
+
declare function verifyMacdriverSignature(binaryPath: string, run?: CommandRunner): Promise<void>;
|
|
680
|
+
/**
|
|
681
|
+
* Default signature verifier: fail closed unless `codesign` verifies the
|
|
682
|
+
* signature, the identity matches the release contract, and Gatekeeper accepts
|
|
683
|
+
* the executable through `spctl --assess --type execute`.
|
|
684
|
+
*/
|
|
685
|
+
declare const codesignVerifier: SignatureVerifier;
|
|
686
|
+
interface DownloadOptions {
|
|
687
|
+
version?: string;
|
|
688
|
+
fetchImpl?: FetchLike$2;
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* Download the pinned release's universal-binary zip and verify its SHA-256
|
|
692
|
+
* against the released `.sha256` sidecar. Returns the verified zip bytes.
|
|
693
|
+
* Throws a clear, actionable error on a 404 (no release cut yet) or a checksum
|
|
694
|
+
* mismatch.
|
|
695
|
+
*/
|
|
696
|
+
declare function downloadAndVerify(options?: DownloadOptions): Promise<Buffer>;
|
|
697
|
+
interface InstallOptions {
|
|
698
|
+
version?: string;
|
|
699
|
+
force?: boolean;
|
|
700
|
+
homedir?: string;
|
|
701
|
+
fetchImpl?: FetchLike$2;
|
|
702
|
+
listArchiveEntries?: ArchiveLister;
|
|
703
|
+
extract?: Extractor;
|
|
704
|
+
verifySignature?: SignatureVerifier;
|
|
705
|
+
}
|
|
706
|
+
interface InstallResult {
|
|
707
|
+
version: string;
|
|
708
|
+
binaryPath: string;
|
|
709
|
+
alreadyInstalled: boolean;
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* Install the pinned helper to `~/.prowl/macdriver/<version>/prowl-macdriver`
|
|
713
|
+
* (0755). Returns `alreadyInstalled: true` (a no-op) when the binary is already
|
|
714
|
+
* present and `force` is not set. The downloaded archive is inspected before
|
|
715
|
+
* extraction, extracted into a temporary staging directory, and moved into place
|
|
716
|
+
* only after the staged helper passes file and signature verification.
|
|
717
|
+
*/
|
|
718
|
+
declare function installMacdriver(options?: InstallOptions): Promise<InstallResult>;
|
|
719
|
+
interface InstalledVersion {
|
|
720
|
+
version: string;
|
|
721
|
+
binaryPath: string;
|
|
722
|
+
}
|
|
723
|
+
interface MacdriverStatus {
|
|
724
|
+
/** The binary Prowl would use now, and how it was found. */
|
|
725
|
+
resolved: {
|
|
726
|
+
path: string;
|
|
727
|
+
source: "env" | "user-install" | "source-build";
|
|
728
|
+
} | null;
|
|
729
|
+
/** The pinned version the CLI targets. */
|
|
730
|
+
pinnedVersion: string;
|
|
731
|
+
/** All versions found under `~/.prowl/macdriver/`. */
|
|
732
|
+
installed: InstalledVersion[];
|
|
733
|
+
/** Version string the resolved binary reports, or null if it couldn't run. */
|
|
734
|
+
probedVersion: string | null;
|
|
735
|
+
}
|
|
736
|
+
/** Probe a helper binary's `version` output; null if it can't be run/parsed. */
|
|
737
|
+
type VersionProbe = (binaryPath: string) => Promise<string | null>;
|
|
738
|
+
/** Default probe: run `<binary> version` and parse the `prowl-macdriver X.Y.Z` line. */
|
|
739
|
+
declare const runVersionProbe: VersionProbe;
|
|
740
|
+
interface StatusOptions {
|
|
741
|
+
env?: NodeJS.ProcessEnv;
|
|
742
|
+
homedir?: string;
|
|
743
|
+
probe?: VersionProbe;
|
|
744
|
+
}
|
|
745
|
+
/**
|
|
746
|
+
* Gather the state `prowl macdriver status` reports: the resolved binary and
|
|
747
|
+
* how it was found, every installed version, and the resolved binary's probed
|
|
748
|
+
* version. Pure aside from filesystem reads and the (injectable) probe.
|
|
749
|
+
*/
|
|
750
|
+
declare function collectMacdriverStatus(options?: StatusOptions): Promise<MacdriverStatus>;
|
|
751
|
+
/** Static TCC-permission guidance printed after install / in status. */
|
|
752
|
+
declare function tccGuidance(): string;
|
|
753
|
+
|
|
597
754
|
/** The selector kinds the native dialect understands. */
|
|
598
755
|
type NativeSelectorKind = "id" | "label" | "text" | "role" | "focused";
|
|
599
756
|
/**
|
|
@@ -2454,4 +2611,4 @@ type GenerateOptions = {
|
|
|
2454
2611
|
};
|
|
2455
2612
|
declare function generateHunt(options: GenerateOptions): Promise<string>;
|
|
2456
2613
|
|
|
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 };
|
|
2614
|
+
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 };
|
package/dist/lib.d.ts
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 = {
|
|
@@ -544,13 +544,57 @@ declare function parseMacSelector(selector: string): MacQuery;
|
|
|
544
544
|
/** Wrap a live {@link MacHelperClient} as a {@link SessionDriver}. */
|
|
545
545
|
declare function createMacDriver(client: MacHelperClient, options?: MacDriverOptions): SessionDriver;
|
|
546
546
|
|
|
547
|
-
|
|
547
|
+
/** Basename of the helper executable, in the tarball and on disk. */
|
|
548
|
+
declare const HELPER_BINARY = "prowl-macdriver";
|
|
549
|
+
/** Pinned helper version. A CLI release always installs this exact version. */
|
|
550
|
+
declare const MACDRIVER_VERSION = "0.1.0";
|
|
551
|
+
/** GitHub `owner/repo` that hosts the helper releases. */
|
|
552
|
+
declare const MACDRIVER_REPO = "prowl-tools/prowl";
|
|
553
|
+
/** Code-signing identifier assigned to release builds. */
|
|
554
|
+
declare const MACDRIVER_SIGNING_IDENTIFIER = "tools.prowl.macdriver";
|
|
555
|
+
/** Developer ID Application common-name prefix expected on release builds. */
|
|
556
|
+
declare const MACDRIVER_SIGNING_AUTHORITY_PREFIX = "Developer ID Application: Genkei Labs";
|
|
557
|
+
/** Accepted helper release version token. */
|
|
558
|
+
declare const MACDRIVER_VERSION_PATTERN: RegExp;
|
|
559
|
+
/** Validate the helper release version before using it in URLs or paths. */
|
|
560
|
+
declare function validateMacdriverVersion(version: string): string;
|
|
561
|
+
/** Git tag for a helper version — the release the workflow builds. */
|
|
562
|
+
declare function macdriverReleaseTag(version?: string): string;
|
|
563
|
+
/** Release asset file name for the universal (arm64 + x86_64) binary zip. */
|
|
564
|
+
declare function macdriverAssetName(version?: string): string;
|
|
565
|
+
/** Release asset file name for the SHA-256 checksum sidecar. */
|
|
566
|
+
declare function macdriverChecksumName(version?: string): string;
|
|
567
|
+
/** Download URL for a named asset of the pinned release (follows redirects). */
|
|
568
|
+
declare function macdriverAssetUrl(assetName: string, version?: string): string;
|
|
569
|
+
/** Root of all user-level installs: `~/.prowl/macdriver`. */
|
|
570
|
+
declare function macdriverInstallRoot(homedir?: string): string;
|
|
571
|
+
/** Directory that holds a specific installed version. */
|
|
572
|
+
declare function macdriverVersionDir(version?: string, homedir?: string): string;
|
|
573
|
+
/** Absolute path to the installed helper binary for a version. */
|
|
574
|
+
declare function macdriverInstalledBinary(version?: string, homedir?: string): string;
|
|
575
|
+
|
|
548
576
|
/**
|
|
549
|
-
*
|
|
550
|
-
*
|
|
551
|
-
*
|
|
577
|
+
* Guidance shown when the helper can't be resolved. Leads with the
|
|
578
|
+
* two-minute `prowl macdriver install` path; source build and the
|
|
579
|
+
* `PROWL_MACDRIVER_BIN` override are the contributor fallbacks.
|
|
552
580
|
*/
|
|
553
|
-
declare function
|
|
581
|
+
declare function macdriverBuildInstructions(): string;
|
|
582
|
+
type ResolveHelperOptions = {
|
|
583
|
+
/** Home directory for the user-level install lookup (defaults to `os.homedir()`). */
|
|
584
|
+
homedir?: string;
|
|
585
|
+
};
|
|
586
|
+
/**
|
|
587
|
+
* Resolve the helper binary path. Search order (documented in the README's
|
|
588
|
+
* macOS Target section):
|
|
589
|
+
* 1. `PROWL_MACDRIVER_BIN` env override (absolute path to the binary);
|
|
590
|
+
* 2. the user-level install of the pinned version at
|
|
591
|
+
* `~/.prowl/macdriver/<MACDRIVER_VERSION>/prowl-macdriver`
|
|
592
|
+
* (what `prowl macdriver install` writes);
|
|
593
|
+
* 3. the contributor's repo-local source build under `macdriver/.build/`
|
|
594
|
+
* (`release` then `debug`).
|
|
595
|
+
* Throws with install-first guidance when none is found.
|
|
596
|
+
*/
|
|
597
|
+
declare function resolveHelperBinary(env?: NodeJS.ProcessEnv, options?: ResolveHelperOptions): string;
|
|
554
598
|
/** Default per-request deadline for the helper transport. */
|
|
555
599
|
declare const DEFAULT_REQUEST_TIMEOUT_MS = 30000;
|
|
556
600
|
type SpawnMacHelperOptions = {
|
|
@@ -594,6 +638,119 @@ declare function launchMacSession(options: LaunchMacOptions): Promise<MacSession
|
|
|
594
638
|
/** Quit the target app (best effort) and shut the helper down. */
|
|
595
639
|
declare function closeMacSession(session: MacSession): Promise<void>;
|
|
596
640
|
|
|
641
|
+
/** Minimal shape of the `fetch` responses this module consumes. */
|
|
642
|
+
interface FetchResponseLike {
|
|
643
|
+
ok: boolean;
|
|
644
|
+
status: number;
|
|
645
|
+
arrayBuffer(): Promise<ArrayBuffer>;
|
|
646
|
+
text(): Promise<string>;
|
|
647
|
+
}
|
|
648
|
+
/** A `fetch`-like function; the real global `fetch` satisfies it. */
|
|
649
|
+
type FetchLike$2 = (url: string, init?: {
|
|
650
|
+
redirect?: "follow" | "error" | "manual";
|
|
651
|
+
}) => Promise<FetchResponseLike>;
|
|
652
|
+
/** Extracts the binary out of a downloaded zip into `destDir`. */
|
|
653
|
+
type Extractor = (zipPath: string, destDir: string) => Promise<void>;
|
|
654
|
+
/** Lists the raw path entries in a downloaded zip before extraction. */
|
|
655
|
+
type ArchiveLister = (zipPath: string) => Promise<string[]>;
|
|
656
|
+
/** Verifies the code signature of an installed binary; throws if invalid. */
|
|
657
|
+
type SignatureVerifier = (binaryPath: string) => Promise<void>;
|
|
658
|
+
interface CommandResult {
|
|
659
|
+
stdout?: string | Buffer;
|
|
660
|
+
stderr?: string | Buffer;
|
|
661
|
+
}
|
|
662
|
+
type CommandRunner = (file: string, args: string[]) => Promise<CommandResult>;
|
|
663
|
+
/** Parse the hex digest out of a `shasum`-style `.sha256` file. */
|
|
664
|
+
declare function parseChecksumFile(text: string): string;
|
|
665
|
+
/** SHA-256 of a buffer, lowercase hex. */
|
|
666
|
+
declare function sha256Hex(bytes: Buffer): string;
|
|
667
|
+
/** Default archive lister: `zipinfo -1`, used before any extraction happens. */
|
|
668
|
+
declare const zipinfoArchiveLister: ArchiveLister;
|
|
669
|
+
/** Validate the zip member list before extraction. */
|
|
670
|
+
declare function validateMacdriverArchiveEntries(entries: string[]): void;
|
|
671
|
+
/** Default extractor: Apple's `ditto`, which preserves the code signature. */
|
|
672
|
+
declare const dittoExtractor: Extractor;
|
|
673
|
+
interface CodesignDetails {
|
|
674
|
+
identifier: string | null;
|
|
675
|
+
authorities: string[];
|
|
676
|
+
teamIdentifier: string | null;
|
|
677
|
+
}
|
|
678
|
+
declare function parseCodesignDetails(text: string): CodesignDetails;
|
|
679
|
+
declare function verifyMacdriverSignature(binaryPath: string, run?: CommandRunner): Promise<void>;
|
|
680
|
+
/**
|
|
681
|
+
* Default signature verifier: fail closed unless `codesign` verifies the
|
|
682
|
+
* signature, the identity matches the release contract, and Gatekeeper accepts
|
|
683
|
+
* the executable through `spctl --assess --type execute`.
|
|
684
|
+
*/
|
|
685
|
+
declare const codesignVerifier: SignatureVerifier;
|
|
686
|
+
interface DownloadOptions {
|
|
687
|
+
version?: string;
|
|
688
|
+
fetchImpl?: FetchLike$2;
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* Download the pinned release's universal-binary zip and verify its SHA-256
|
|
692
|
+
* against the released `.sha256` sidecar. Returns the verified zip bytes.
|
|
693
|
+
* Throws a clear, actionable error on a 404 (no release cut yet) or a checksum
|
|
694
|
+
* mismatch.
|
|
695
|
+
*/
|
|
696
|
+
declare function downloadAndVerify(options?: DownloadOptions): Promise<Buffer>;
|
|
697
|
+
interface InstallOptions {
|
|
698
|
+
version?: string;
|
|
699
|
+
force?: boolean;
|
|
700
|
+
homedir?: string;
|
|
701
|
+
fetchImpl?: FetchLike$2;
|
|
702
|
+
listArchiveEntries?: ArchiveLister;
|
|
703
|
+
extract?: Extractor;
|
|
704
|
+
verifySignature?: SignatureVerifier;
|
|
705
|
+
}
|
|
706
|
+
interface InstallResult {
|
|
707
|
+
version: string;
|
|
708
|
+
binaryPath: string;
|
|
709
|
+
alreadyInstalled: boolean;
|
|
710
|
+
}
|
|
711
|
+
/**
|
|
712
|
+
* Install the pinned helper to `~/.prowl/macdriver/<version>/prowl-macdriver`
|
|
713
|
+
* (0755). Returns `alreadyInstalled: true` (a no-op) when the binary is already
|
|
714
|
+
* present and `force` is not set. The downloaded archive is inspected before
|
|
715
|
+
* extraction, extracted into a temporary staging directory, and moved into place
|
|
716
|
+
* only after the staged helper passes file and signature verification.
|
|
717
|
+
*/
|
|
718
|
+
declare function installMacdriver(options?: InstallOptions): Promise<InstallResult>;
|
|
719
|
+
interface InstalledVersion {
|
|
720
|
+
version: string;
|
|
721
|
+
binaryPath: string;
|
|
722
|
+
}
|
|
723
|
+
interface MacdriverStatus {
|
|
724
|
+
/** The binary Prowl would use now, and how it was found. */
|
|
725
|
+
resolved: {
|
|
726
|
+
path: string;
|
|
727
|
+
source: "env" | "user-install" | "source-build";
|
|
728
|
+
} | null;
|
|
729
|
+
/** The pinned version the CLI targets. */
|
|
730
|
+
pinnedVersion: string;
|
|
731
|
+
/** All versions found under `~/.prowl/macdriver/`. */
|
|
732
|
+
installed: InstalledVersion[];
|
|
733
|
+
/** Version string the resolved binary reports, or null if it couldn't run. */
|
|
734
|
+
probedVersion: string | null;
|
|
735
|
+
}
|
|
736
|
+
/** Probe a helper binary's `version` output; null if it can't be run/parsed. */
|
|
737
|
+
type VersionProbe = (binaryPath: string) => Promise<string | null>;
|
|
738
|
+
/** Default probe: run `<binary> version` and parse the `prowl-macdriver X.Y.Z` line. */
|
|
739
|
+
declare const runVersionProbe: VersionProbe;
|
|
740
|
+
interface StatusOptions {
|
|
741
|
+
env?: NodeJS.ProcessEnv;
|
|
742
|
+
homedir?: string;
|
|
743
|
+
probe?: VersionProbe;
|
|
744
|
+
}
|
|
745
|
+
/**
|
|
746
|
+
* Gather the state `prowl macdriver status` reports: the resolved binary and
|
|
747
|
+
* how it was found, every installed version, and the resolved binary's probed
|
|
748
|
+
* version. Pure aside from filesystem reads and the (injectable) probe.
|
|
749
|
+
*/
|
|
750
|
+
declare function collectMacdriverStatus(options?: StatusOptions): Promise<MacdriverStatus>;
|
|
751
|
+
/** Static TCC-permission guidance printed after install / in status. */
|
|
752
|
+
declare function tccGuidance(): string;
|
|
753
|
+
|
|
597
754
|
/** The selector kinds the native dialect understands. */
|
|
598
755
|
type NativeSelectorKind = "id" | "label" | "text" | "role" | "focused";
|
|
599
756
|
/**
|
|
@@ -2454,4 +2611,4 @@ type GenerateOptions = {
|
|
|
2454
2611
|
};
|
|
2455
2612
|
declare function generateHunt(options: GenerateOptions): Promise<string>;
|
|
2456
2613
|
|
|
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 };
|
|
2614
|
+
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 };
|
package/dist/lib.js
CHANGED
|
@@ -8,11 +8,17 @@ import {
|
|
|
8
8
|
DEFAULT_REQUEST_TIMEOUT_MS,
|
|
9
9
|
DEFAULT_SIMULATOR_LOCK_ROOT,
|
|
10
10
|
DEFAULT_WDA_REQUEST_TIMEOUT_MS,
|
|
11
|
+
HELPER_BINARY,
|
|
11
12
|
INTERACTIVE_ROLES,
|
|
12
13
|
IOS_INTERACTIVE_TYPES,
|
|
13
14
|
IOS_MATCH_DIALECT,
|
|
14
15
|
IOS_PRESS_KEYS,
|
|
15
16
|
IOS_WINDOW_TYPE,
|
|
17
|
+
MACDRIVER_REPO,
|
|
18
|
+
MACDRIVER_SIGNING_AUTHORITY_PREFIX,
|
|
19
|
+
MACDRIVER_SIGNING_IDENTIFIER,
|
|
20
|
+
MACDRIVER_VERSION,
|
|
21
|
+
MACDRIVER_VERSION_PATTERN,
|
|
16
22
|
MACOS_MATCH_DIALECT,
|
|
17
23
|
NATIVE_ATTRIBUTE_MAP,
|
|
18
24
|
SpawnMacHelperClient,
|
|
@@ -42,6 +48,8 @@ import {
|
|
|
42
48
|
closeIosSession,
|
|
43
49
|
closeMacSession,
|
|
44
50
|
clusterFailures,
|
|
51
|
+
codesignVerifier,
|
|
52
|
+
collectMacdriverStatus,
|
|
45
53
|
computeFlakeScore,
|
|
46
54
|
createAndroidDriver,
|
|
47
55
|
createIosDriver,
|
|
@@ -54,6 +62,8 @@ import {
|
|
|
54
62
|
defaultAgentConnector,
|
|
55
63
|
defaultIosAgentConnector,
|
|
56
64
|
defaultWdaTestRunPreparer,
|
|
65
|
+
dittoExtractor,
|
|
66
|
+
downloadAndVerify,
|
|
57
67
|
escapePredicateArg,
|
|
58
68
|
escapeUiSelectorArg,
|
|
59
69
|
extractElementId,
|
|
@@ -63,6 +73,7 @@ import {
|
|
|
63
73
|
generateHunt,
|
|
64
74
|
healSelector,
|
|
65
75
|
injectUsePortIntoXctestrun,
|
|
76
|
+
installMacdriver,
|
|
66
77
|
interpolateHunt,
|
|
67
78
|
iosAppAllowedIdentities,
|
|
68
79
|
iosNodeToNative,
|
|
@@ -74,7 +85,14 @@ import {
|
|
|
74
85
|
launchMacSession,
|
|
75
86
|
listDevices,
|
|
76
87
|
listSimulators,
|
|
88
|
+
macdriverAssetName,
|
|
89
|
+
macdriverAssetUrl,
|
|
77
90
|
macdriverBuildInstructions,
|
|
91
|
+
macdriverChecksumName,
|
|
92
|
+
macdriverInstallRoot,
|
|
93
|
+
macdriverInstalledBinary,
|
|
94
|
+
macdriverReleaseTag,
|
|
95
|
+
macdriverVersionDir,
|
|
78
96
|
matchAndroidSelector,
|
|
79
97
|
matchIosSelector,
|
|
80
98
|
matchNativeTree,
|
|
@@ -84,6 +102,8 @@ import {
|
|
|
84
102
|
parseAdbDevices,
|
|
85
103
|
parseAndroidHierarchy,
|
|
86
104
|
parseAndroidSelector,
|
|
105
|
+
parseChecksumFile,
|
|
106
|
+
parseCodesignDetails,
|
|
87
107
|
parseForwardPort,
|
|
88
108
|
parseIosHierarchy,
|
|
89
109
|
parseIosSelector,
|
|
@@ -110,20 +130,27 @@ import {
|
|
|
110
130
|
resolveWdaTestRun,
|
|
111
131
|
runHunt,
|
|
112
132
|
runSuite,
|
|
133
|
+
runVersionProbe,
|
|
113
134
|
selectDeviceSerial,
|
|
114
135
|
selectSimulatorUdid,
|
|
136
|
+
sha256Hex,
|
|
115
137
|
shortIosType,
|
|
138
|
+
tccGuidance,
|
|
116
139
|
unquoteSelectorValue,
|
|
117
140
|
unwrapAndroidTextSelector,
|
|
118
141
|
unwrapIosTextSelector,
|
|
119
142
|
unwrapNativeTextSelector,
|
|
120
143
|
updateBacklogFromSuite,
|
|
144
|
+
validateMacdriverArchiveEntries,
|
|
145
|
+
validateMacdriverVersion,
|
|
146
|
+
verifyMacdriverSignature,
|
|
121
147
|
waitForAgentReady,
|
|
122
148
|
waitForWdaReady,
|
|
123
149
|
wdaCacheDir,
|
|
124
150
|
wdaTestRunArgs,
|
|
125
|
-
webOnlyReason
|
|
126
|
-
|
|
151
|
+
webOnlyReason,
|
|
152
|
+
zipinfoArchiveLister
|
|
153
|
+
} from "./chunk-R7NUH44M.js";
|
|
127
154
|
import {
|
|
128
155
|
configSchema,
|
|
129
156
|
huntSchema,
|
|
@@ -133,7 +160,7 @@ import {
|
|
|
133
160
|
loadHuntMeta,
|
|
134
161
|
loadHuntTags,
|
|
135
162
|
stepSchema
|
|
136
|
-
} from "./chunk-
|
|
163
|
+
} from "./chunk-O3OUTZ2P.js";
|
|
137
164
|
export {
|
|
138
165
|
ANDROID_INTERACTIVE_CLASSES,
|
|
139
166
|
ANDROID_KEYCODES,
|
|
@@ -144,11 +171,17 @@ export {
|
|
|
144
171
|
DEFAULT_REQUEST_TIMEOUT_MS,
|
|
145
172
|
DEFAULT_SIMULATOR_LOCK_ROOT,
|
|
146
173
|
DEFAULT_WDA_REQUEST_TIMEOUT_MS,
|
|
174
|
+
HELPER_BINARY,
|
|
147
175
|
INTERACTIVE_ROLES,
|
|
148
176
|
IOS_INTERACTIVE_TYPES,
|
|
149
177
|
IOS_MATCH_DIALECT,
|
|
150
178
|
IOS_PRESS_KEYS,
|
|
151
179
|
IOS_WINDOW_TYPE,
|
|
180
|
+
MACDRIVER_REPO,
|
|
181
|
+
MACDRIVER_SIGNING_AUTHORITY_PREFIX,
|
|
182
|
+
MACDRIVER_SIGNING_IDENTIFIER,
|
|
183
|
+
MACDRIVER_VERSION,
|
|
184
|
+
MACDRIVER_VERSION_PATTERN,
|
|
152
185
|
MACOS_MATCH_DIALECT,
|
|
153
186
|
NATIVE_ATTRIBUTE_MAP,
|
|
154
187
|
SpawnMacHelperClient,
|
|
@@ -178,6 +211,8 @@ export {
|
|
|
178
211
|
closeIosSession,
|
|
179
212
|
closeMacSession,
|
|
180
213
|
clusterFailures,
|
|
214
|
+
codesignVerifier,
|
|
215
|
+
collectMacdriverStatus,
|
|
181
216
|
computeFlakeScore,
|
|
182
217
|
configSchema,
|
|
183
218
|
createAndroidDriver,
|
|
@@ -191,6 +226,8 @@ export {
|
|
|
191
226
|
defaultAgentConnector,
|
|
192
227
|
defaultIosAgentConnector,
|
|
193
228
|
defaultWdaTestRunPreparer,
|
|
229
|
+
dittoExtractor,
|
|
230
|
+
downloadAndVerify,
|
|
194
231
|
escapePredicateArg,
|
|
195
232
|
escapeUiSelectorArg,
|
|
196
233
|
extractElementId,
|
|
@@ -201,6 +238,7 @@ export {
|
|
|
201
238
|
healSelector,
|
|
202
239
|
huntSchema,
|
|
203
240
|
injectUsePortIntoXctestrun,
|
|
241
|
+
installMacdriver,
|
|
204
242
|
interpolateHunt,
|
|
205
243
|
iosAppAllowedIdentities,
|
|
206
244
|
iosNodeToNative,
|
|
@@ -217,7 +255,14 @@ export {
|
|
|
217
255
|
loadHunt,
|
|
218
256
|
loadHuntMeta,
|
|
219
257
|
loadHuntTags,
|
|
258
|
+
macdriverAssetName,
|
|
259
|
+
macdriverAssetUrl,
|
|
220
260
|
macdriverBuildInstructions,
|
|
261
|
+
macdriverChecksumName,
|
|
262
|
+
macdriverInstallRoot,
|
|
263
|
+
macdriverInstalledBinary,
|
|
264
|
+
macdriverReleaseTag,
|
|
265
|
+
macdriverVersionDir,
|
|
221
266
|
matchAndroidSelector,
|
|
222
267
|
matchIosSelector,
|
|
223
268
|
matchNativeTree,
|
|
@@ -227,6 +272,8 @@ export {
|
|
|
227
272
|
parseAdbDevices,
|
|
228
273
|
parseAndroidHierarchy,
|
|
229
274
|
parseAndroidSelector,
|
|
275
|
+
parseChecksumFile,
|
|
276
|
+
parseCodesignDetails,
|
|
230
277
|
parseForwardPort,
|
|
231
278
|
parseIosHierarchy,
|
|
232
279
|
parseIosSelector,
|
|
@@ -253,19 +300,26 @@ export {
|
|
|
253
300
|
resolveWdaTestRun,
|
|
254
301
|
runHunt,
|
|
255
302
|
runSuite,
|
|
303
|
+
runVersionProbe,
|
|
256
304
|
selectDeviceSerial,
|
|
257
305
|
selectSimulatorUdid,
|
|
306
|
+
sha256Hex,
|
|
258
307
|
shortIosType,
|
|
259
308
|
stepSchema,
|
|
309
|
+
tccGuidance,
|
|
260
310
|
unquoteSelectorValue,
|
|
261
311
|
unwrapAndroidTextSelector,
|
|
262
312
|
unwrapIosTextSelector,
|
|
263
313
|
unwrapNativeTextSelector,
|
|
264
314
|
updateBacklogFromSuite,
|
|
315
|
+
validateMacdriverArchiveEntries,
|
|
316
|
+
validateMacdriverVersion,
|
|
317
|
+
verifyMacdriverSignature,
|
|
265
318
|
waitForAgentReady,
|
|
266
319
|
waitForWdaReady,
|
|
267
320
|
wdaCacheDir,
|
|
268
321
|
wdaTestRunArgs,
|
|
269
|
-
webOnlyReason
|
|
322
|
+
webOnlyReason,
|
|
323
|
+
zipinfoArchiveLister
|
|
270
324
|
};
|
|
271
325
|
//# sourceMappingURL=lib.js.map
|
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
loadHuntTags,
|
|
11
11
|
resolveViewport,
|
|
12
12
|
warnLegacyConfigDir
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-O3OUTZ2P.js";
|
|
14
14
|
export {
|
|
15
15
|
CONFIG_DIR,
|
|
16
16
|
LEGACY_CONFIG_DIR,
|
|
@@ -24,4 +24,4 @@ export {
|
|
|
24
24
|
resolveViewport,
|
|
25
25
|
warnLegacyConfigDir
|
|
26
26
|
};
|
|
27
|
-
//# sourceMappingURL=loader-
|
|
27
|
+
//# sourceMappingURL=loader-X37URHUV.js.map
|
package/examples/hunts/hello.yml
CHANGED