agent-scenario-loop 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +119 -0
- package/app/profile-session.ts +812 -0
- package/core/config-template.json +41 -0
- package/dist/core/agent-summary.d.ts +15 -0
- package/dist/core/agent-summary.js +177 -0
- package/dist/core/artifact-contract.d.ts +151 -0
- package/dist/core/artifact-contract.js +897 -0
- package/dist/core/artifact-layout.d.ts +56 -0
- package/dist/core/artifact-layout.js +61 -0
- package/dist/core/artifact-writer.d.ts +44 -0
- package/dist/core/artifact-writer.js +55 -0
- package/dist/core/comparison.d.ts +133 -0
- package/dist/core/comparison.js +294 -0
- package/dist/core/evidence-interpreter.d.ts +28 -0
- package/dist/core/evidence-interpreter.js +69 -0
- package/dist/core/execution-plan.d.ts +44 -0
- package/dist/core/execution-plan.js +95 -0
- package/dist/core/planner.d.ts +132 -0
- package/dist/core/planner.js +812 -0
- package/dist/core/ports.d.ts +198 -0
- package/dist/core/ports.js +146 -0
- package/dist/core/run-index.d.ts +62 -0
- package/dist/core/run-index.js +143 -0
- package/dist/core/schema-validator.d.ts +86 -0
- package/dist/core/schema-validator.js +407 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +27 -0
- package/dist/runner/agent-device-driver.d.ts +126 -0
- package/dist/runner/agent-device-driver.js +168 -0
- package/dist/runner/agent-device.d.ts +295 -0
- package/dist/runner/agent-device.js +1271 -0
- package/dist/runner/android-adb-driver.d.ts +175 -0
- package/dist/runner/android-adb-driver.js +399 -0
- package/dist/runner/android-adb.d.ts +254 -0
- package/dist/runner/android-adb.js +1618 -0
- package/dist/runner/argent-driver.d.ts +183 -0
- package/dist/runner/argent-driver.js +297 -0
- package/dist/runner/argent.d.ts +349 -0
- package/dist/runner/argent.js +1211 -0
- package/dist/runner/check-plan.d.ts +45 -0
- package/dist/runner/check-plan.js +210 -0
- package/dist/runner/cli.d.ts +20 -0
- package/dist/runner/cli.js +23 -0
- package/dist/runner/compare-latest.d.ts +99 -0
- package/dist/runner/compare-latest.js +233 -0
- package/dist/runner/compare.d.ts +58 -0
- package/dist/runner/compare.js +157 -0
- package/dist/runner/demo-loop.d.ts +45 -0
- package/dist/runner/demo-loop.js +170 -0
- package/dist/runner/example-android-live.d.ts +137 -0
- package/dist/runner/example-android-live.js +454 -0
- package/dist/runner/example-ios-live.d.ts +137 -0
- package/dist/runner/example-ios-live.js +471 -0
- package/dist/runner/host-doctor.d.ts +131 -0
- package/dist/runner/host-doctor.js +628 -0
- package/dist/runner/init-project.d.ts +88 -0
- package/dist/runner/init-project.js +263 -0
- package/dist/runner/ios-simctl-driver.d.ts +69 -0
- package/dist/runner/ios-simctl-driver.js +97 -0
- package/dist/runner/ios-simctl.d.ts +254 -0
- package/dist/runner/ios-simctl.js +1415 -0
- package/dist/runner/live-android.d.ts +137 -0
- package/dist/runner/live-android.js +539 -0
- package/dist/runner/live-comparison.d.ts +67 -0
- package/dist/runner/live-comparison.js +147 -0
- package/dist/runner/live-ios.d.ts +137 -0
- package/dist/runner/live-ios.js +460 -0
- package/dist/runner/live-proof-summary.d.ts +263 -0
- package/dist/runner/live-proof-summary.js +465 -0
- package/dist/runner/live-proof.d.ts +467 -0
- package/dist/runner/live-proof.js +920 -0
- package/dist/runner/local-env.d.ts +64 -0
- package/dist/runner/local-env.js +155 -0
- package/dist/runner/profile-android.d.ts +82 -0
- package/dist/runner/profile-android.js +671 -0
- package/dist/runner/profile-ios.d.ts +108 -0
- package/dist/runner/profile-ios.js +532 -0
- package/dist/runner/profile-mobile.d.ts +254 -0
- package/dist/runner/profile-mobile.js +1307 -0
- package/dist/runner/validate-project.d.ts +273 -0
- package/dist/runner/validate-project.js +1501 -0
- package/docs/adapters.md +145 -0
- package/docs/api.md +94 -0
- package/docs/authoring.md +196 -0
- package/docs/concepts.md +136 -0
- package/docs/consumer-rehearsal.md +115 -0
- package/docs/contracts.md +267 -0
- package/docs/live-proofs.md +270 -0
- package/docs/principles.md +46 -0
- package/examples/event-logs/app-startup-baseline.log +4 -0
- package/examples/event-logs/app-startup-current.log +4 -0
- package/examples/minimal-app/README.md +70 -0
- package/examples/mobile-app/README.md +302 -0
- package/examples/mobile-app/app.json +22 -0
- package/examples/mobile-app/asl/package-scripts.json +32 -0
- package/examples/mobile-app/asl.config.json +37 -0
- package/examples/mobile-app/event-logs/android-app-startup.log +4 -0
- package/examples/mobile-app/event-logs/android-open-close-cycle.log +12 -0
- package/examples/mobile-app/event-logs/android-scroll-settle.log +12 -0
- package/examples/mobile-app/event-logs/app-startup.log +4 -0
- package/examples/mobile-app/event-logs/open-close-cycle.log +12 -0
- package/examples/mobile-app/event-logs/scroll-settle.log +12 -0
- package/examples/mobile-app/index.ts +20 -0
- package/examples/mobile-app/metro.config.js +20 -0
- package/examples/mobile-app/package.json +62 -0
- package/examples/mobile-app/patches/expo-modules-jsi@56.0.10.patch +19 -0
- package/examples/mobile-app/plugins/with-ios-build-compat.js +271 -0
- package/examples/mobile-app/pnpm-lock.yaml +4440 -0
- package/examples/mobile-app/runner-manifests/evidence-provider.json +79 -0
- package/examples/mobile-app/runner-manifests/primary-runner.json +19 -0
- package/examples/mobile-app/scenarios/android/app-startup-video.json +73 -0
- package/examples/mobile-app/scenarios/android/app-startup.json +44 -0
- package/examples/mobile-app/scenarios/android/open-close-cycle.json +54 -0
- package/examples/mobile-app/scenarios/android/scroll-settle.json +49 -0
- package/examples/mobile-app/scenarios/ios/app-startup.json +44 -0
- package/examples/mobile-app/scenarios/ios/open-close-cycle.json +54 -0
- package/examples/mobile-app/scenarios/ios/scroll-settle.json +49 -0
- package/examples/mobile-app/scenarios/mobile/app-startup.json +91 -0
- package/examples/mobile-app/scenarios/mobile/open-close-cycle.json +160 -0
- package/examples/mobile-app/scenarios/mobile/scroll-settle.json +148 -0
- package/examples/mobile-app/scripts/asl-capture-accessibility-provider.mjs +112 -0
- package/examples/mobile-app/scripts/asl-capture-profiler-provider.mjs +127 -0
- package/examples/mobile-app/src/devtools/profile-session.ts +7 -0
- package/examples/mobile-app/src/example-screen.tsx +322 -0
- package/examples/mobile-app/tsconfig.json +16 -0
- package/examples/mobile-app/tsconfig.typecheck.json +13 -0
- package/examples/runners/README.md +44 -0
- package/examples/runners/adb-android.json +25 -0
- package/examples/runners/agent-device-android.json +27 -0
- package/examples/runners/agent-device-ios.json +27 -0
- package/examples/runners/argent-android.json +32 -0
- package/examples/runners/argent-ios.json +32 -0
- package/examples/runners/argent-react-profiler-provider.json +15 -0
- package/examples/runners/axe-accessibility-provider.json +24 -0
- package/examples/runners/manual-log-ingest.json +9 -0
- package/examples/runners/rozenite-profiler-provider.json +9 -0
- package/examples/runners/script-accessibility-provider.json +24 -0
- package/examples/runners/script-memory-provider.json +24 -0
- package/examples/runners/script-network-provider.json +24 -0
- package/examples/runners/script-profiler-provider.json +30 -0
- package/examples/runners/xcodebuildmcp-ios.json +29 -0
- package/examples/scenarios/ios/app-startup.json +28 -0
- package/examples/scenarios/ios/open-close-cycle.json +35 -0
- package/examples/scenarios/mobile/app-startup.json +72 -0
- package/examples/scenarios/mobile/media-open-close.json +141 -0
- package/examples/scenarios/mobile/open-close-cycle.json +135 -0
- package/examples/scenarios/mobile/scroll-settle.json +106 -0
- package/package.json +240 -0
- package/schemas/budget-verdict.schema.json +115 -0
- package/schemas/causal-run.schema.json +279 -0
- package/schemas/comparison.schema.json +196 -0
- package/schemas/health.schema.json +108 -0
- package/schemas/live-proof-set.schema.json +195 -0
- package/schemas/live-proof.schema.json +413 -0
- package/schemas/manifest.schema.json +204 -0
- package/schemas/metrics.schema.json +137 -0
- package/schemas/project-validation.schema.json +343 -0
- package/schemas/runner-capabilities.schema.json +217 -0
- package/schemas/scenario.schema.json +400 -0
- package/schemas/verdict.schema.json +88 -0
- package/templates/evidence-provider.json +83 -0
- package/templates/gitignore-snippet +9 -0
- package/templates/integration-readme.md +125 -0
- package/templates/mobile-scenario.json +133 -0
- package/templates/package-scripts.json +32 -0
- package/templates/primary-runner.json +19 -0
- package/templates/project.config.json +37 -0
- package/templates/scripts/asl-capture-accessibility-provider.mjs +112 -0
- package/templates/scripts/asl-capture-profiler-provider.mjs +127 -0
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
type CliArgs = {
|
|
3
|
+
adb?: string | boolean;
|
|
4
|
+
'capture-logcat'?: string | boolean;
|
|
5
|
+
'clear-logcat'?: string | boolean;
|
|
6
|
+
launch?: string | boolean;
|
|
7
|
+
'android-dev-client-url'?: string | boolean;
|
|
8
|
+
'android-dev-client-wait-ms'?: string | boolean;
|
|
9
|
+
'android-dev-client-ready-pattern'?: string | boolean;
|
|
10
|
+
'android-dev-client-ready-quiet-ms'?: string | boolean;
|
|
11
|
+
'android-dev-client-ready-timeout-ms'?: string | boolean;
|
|
12
|
+
'android-profile-session-storage'?: string | boolean;
|
|
13
|
+
'android-profile-session-storage-key'?: string | boolean;
|
|
14
|
+
'android-profile-command-storage-key'?: string | boolean;
|
|
15
|
+
'launch-wait-ms'?: string | boolean;
|
|
16
|
+
'logcat-lines'?: string | boolean;
|
|
17
|
+
out?: string | boolean;
|
|
18
|
+
package?: string | boolean;
|
|
19
|
+
'react-native-debug-host'?: string | boolean;
|
|
20
|
+
'run-id'?: string | boolean;
|
|
21
|
+
serial?: string | boolean;
|
|
22
|
+
'wait-ms'?: string | boolean;
|
|
23
|
+
[key: string]: string | boolean | undefined;
|
|
24
|
+
};
|
|
25
|
+
type CommandResult = {
|
|
26
|
+
command: string;
|
|
27
|
+
args: string[];
|
|
28
|
+
exitCode: number;
|
|
29
|
+
stderr: string;
|
|
30
|
+
stdout: string;
|
|
31
|
+
};
|
|
32
|
+
type CommandExecutor = (command: string, args: string[]) => Promise<CommandResult>;
|
|
33
|
+
type AndroidDevice = {
|
|
34
|
+
serial: string;
|
|
35
|
+
state: string;
|
|
36
|
+
description: string;
|
|
37
|
+
};
|
|
38
|
+
type AndroidPreflightResult = {
|
|
39
|
+
agentSummary: string;
|
|
40
|
+
device: AndroidDevice | null;
|
|
41
|
+
health: Record<string, unknown>;
|
|
42
|
+
metadata: Record<string, unknown>;
|
|
43
|
+
raw: Record<string, string>;
|
|
44
|
+
runDir: string;
|
|
45
|
+
verdict: Record<string, unknown>;
|
|
46
|
+
};
|
|
47
|
+
type AndroidDeepLinkCommand = {
|
|
48
|
+
label?: string;
|
|
49
|
+
readyLogPattern?: string;
|
|
50
|
+
readyLogQuietMs?: number;
|
|
51
|
+
readyLogTimeoutMs?: number;
|
|
52
|
+
url: string;
|
|
53
|
+
waitMs?: number;
|
|
54
|
+
};
|
|
55
|
+
type AndroidAsyncStorageWrite = {
|
|
56
|
+
clearKeys?: string[];
|
|
57
|
+
key: string;
|
|
58
|
+
label?: string;
|
|
59
|
+
value: string;
|
|
60
|
+
waitMs?: number;
|
|
61
|
+
};
|
|
62
|
+
type AndroidAdbDriverStep = {
|
|
63
|
+
captureFileName?: string;
|
|
64
|
+
driverAction: 'assertVisible' | 'inspectTree' | 'readLogs' | 'record' | 'screenshot' | 'scroll' | 'tap';
|
|
65
|
+
durationMs?: number;
|
|
66
|
+
durationSeconds?: number;
|
|
67
|
+
endX?: number;
|
|
68
|
+
endY?: number;
|
|
69
|
+
lines?: number;
|
|
70
|
+
rawFileName?: string;
|
|
71
|
+
remotePath?: string;
|
|
72
|
+
required?: boolean;
|
|
73
|
+
selector?: import('./android-adb-driver').AndroidSelector;
|
|
74
|
+
stepId?: string;
|
|
75
|
+
startX?: number;
|
|
76
|
+
startY?: number;
|
|
77
|
+
waitMs?: number;
|
|
78
|
+
x?: number;
|
|
79
|
+
y?: number;
|
|
80
|
+
};
|
|
81
|
+
type AndroidPreflightOptions = {
|
|
82
|
+
adbPath?: string;
|
|
83
|
+
captureLogcat?: boolean;
|
|
84
|
+
clearLogcat?: boolean;
|
|
85
|
+
deepLinks?: AndroidDeepLinkCommand[];
|
|
86
|
+
delay?: (ms: number) => Promise<void>;
|
|
87
|
+
driverSteps?: AndroidAdbDriverStep[];
|
|
88
|
+
executor?: CommandExecutor;
|
|
89
|
+
launch?: boolean;
|
|
90
|
+
launchWaitMs?: number;
|
|
91
|
+
logcatLines?: number;
|
|
92
|
+
outputDir?: string;
|
|
93
|
+
packageName?: string | null;
|
|
94
|
+
reactNativeDebugHost?: string | null;
|
|
95
|
+
runId?: string;
|
|
96
|
+
serial?: string | null;
|
|
97
|
+
startupDeepLinks?: AndroidDeepLinkCommand[];
|
|
98
|
+
storageWrites?: AndroidAsyncStorageWrite[];
|
|
99
|
+
waitMs?: number;
|
|
100
|
+
};
|
|
101
|
+
declare const ANDROID_DEVICE_EPOCH_MS_PLACEHOLDER = "__ASL_ANDROID_DEVICE_EPOCH_MS__";
|
|
102
|
+
/**
|
|
103
|
+
* Prints CLI usage to stderr.
|
|
104
|
+
*
|
|
105
|
+
* @returns {void}
|
|
106
|
+
*/
|
|
107
|
+
declare function usage(output?: {
|
|
108
|
+
write: (message: string) => unknown;
|
|
109
|
+
}): void;
|
|
110
|
+
/**
|
|
111
|
+
* Parses `--key value` arguments for the Android adb preflight CLI.
|
|
112
|
+
*
|
|
113
|
+
* @param {string[]} argv
|
|
114
|
+
* @returns {CliArgs}
|
|
115
|
+
*/
|
|
116
|
+
declare function parseArgs(argv: string[]): CliArgs;
|
|
117
|
+
/**
|
|
118
|
+
* Parses a positive integer CLI value, falling back when absent or invalid.
|
|
119
|
+
*
|
|
120
|
+
* @param {string | boolean | undefined} value
|
|
121
|
+
* @param {number} fallback
|
|
122
|
+
* @returns {number}
|
|
123
|
+
*/
|
|
124
|
+
declare function parsePositiveInteger(value: string | boolean | undefined, fallback: number): number;
|
|
125
|
+
/**
|
|
126
|
+
* Runs a command and captures stdout, stderr, and exit code without throwing.
|
|
127
|
+
*
|
|
128
|
+
* @param {string} command
|
|
129
|
+
* @param {string[]} args
|
|
130
|
+
* @returns {Promise<CommandResult>}
|
|
131
|
+
*/
|
|
132
|
+
declare function execFileCommand(command: string, args: string[]): Promise<CommandResult>;
|
|
133
|
+
/**
|
|
134
|
+
* Parses `adb devices -l` output into device rows.
|
|
135
|
+
*
|
|
136
|
+
* @param {string} output
|
|
137
|
+
* @returns {AndroidDevice[]}
|
|
138
|
+
*/
|
|
139
|
+
declare function parseAdbDevices(output: string): AndroidDevice[];
|
|
140
|
+
/**
|
|
141
|
+
* Selects an Android device by explicit serial or first online device.
|
|
142
|
+
*
|
|
143
|
+
* @param {AndroidDevice[]} devices
|
|
144
|
+
* @param {string | null | undefined} serial
|
|
145
|
+
* @returns {AndroidDevice | null}
|
|
146
|
+
*/
|
|
147
|
+
declare function selectDevice(devices: AndroidDevice[], serial?: string | null): AndroidDevice | null;
|
|
148
|
+
/**
|
|
149
|
+
* Reads the TCP port from a React Native debug server host string.
|
|
150
|
+
*
|
|
151
|
+
* @param {string} debugHost
|
|
152
|
+
* @returns {number | null}
|
|
153
|
+
*/
|
|
154
|
+
declare function parseReactNativeDebugHostPort(debugHost: string): number | null;
|
|
155
|
+
/**
|
|
156
|
+
* Escapes text for the Android shared preference XML file.
|
|
157
|
+
*
|
|
158
|
+
* @param {string} value
|
|
159
|
+
* @returns {string}
|
|
160
|
+
*/
|
|
161
|
+
declare function escapeAndroidPreferenceXml(value: string): string;
|
|
162
|
+
/**
|
|
163
|
+
* Builds a device-side shell command that writes React Native debug host preferences.
|
|
164
|
+
*
|
|
165
|
+
* @param {{debugHost: string, packageName: string}} options
|
|
166
|
+
* @returns {string}
|
|
167
|
+
*/
|
|
168
|
+
declare function buildReactNativeDebugHostPreferenceCommand({ debugHost, packageName, }: {
|
|
169
|
+
debugHost: string;
|
|
170
|
+
packageName: string;
|
|
171
|
+
}): string;
|
|
172
|
+
/**
|
|
173
|
+
* Builds a runner health artifact from adb preflight checks.
|
|
174
|
+
*
|
|
175
|
+
* @param {{runId: string, checks: Record<string, unknown>[]}} options
|
|
176
|
+
* @returns {Record<string, unknown>}
|
|
177
|
+
*/
|
|
178
|
+
declare function buildAndroidHealth({ runId, checks }: {
|
|
179
|
+
runId: string;
|
|
180
|
+
checks: Record<string, unknown>[];
|
|
181
|
+
}): Record<string, unknown>;
|
|
182
|
+
/**
|
|
183
|
+
* Builds a verdict artifact for adb preflight readiness.
|
|
184
|
+
*
|
|
185
|
+
* @param {{runId: string, health: Record<string, unknown>}} options
|
|
186
|
+
* @returns {Record<string, unknown>}
|
|
187
|
+
*/
|
|
188
|
+
declare function buildAndroidVerdict({ runId, health }: {
|
|
189
|
+
runId: string;
|
|
190
|
+
health: Record<string, unknown>;
|
|
191
|
+
}): Record<string, unknown>;
|
|
192
|
+
/**
|
|
193
|
+
* Builds the driver steps for this adb capture window.
|
|
194
|
+
*
|
|
195
|
+
* @param {{captureLogcat: boolean, driverSteps: AndroidAdbDriverStep[], logcatLines: number, waitMs: number}} options
|
|
196
|
+
* @returns {AndroidAdbDriverStep[]}
|
|
197
|
+
*/
|
|
198
|
+
declare function resolveAndroidAdbDriverSteps({ captureLogcat, driverSteps, logcatLines, waitMs, }: {
|
|
199
|
+
captureLogcat: boolean;
|
|
200
|
+
driverSteps: AndroidAdbDriverStep[];
|
|
201
|
+
logcatLines: number;
|
|
202
|
+
waitMs: number;
|
|
203
|
+
}): AndroidAdbDriverStep[];
|
|
204
|
+
/**
|
|
205
|
+
* Returns whether a driver step can derive missing coordinates from a selector.
|
|
206
|
+
*
|
|
207
|
+
* @param {AndroidAdbDriverStep} driverStep
|
|
208
|
+
* @returns {boolean}
|
|
209
|
+
*/
|
|
210
|
+
declare function needsAndroidSelectorResolution(driverStep: AndroidAdbDriverStep): boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Applies a resolved selector to one tap or scroll driver step.
|
|
213
|
+
*
|
|
214
|
+
* @param {{driverStep: AndroidAdbDriverStep, resolution: import('./android-adb-driver').AndroidSelectorResolution}} options
|
|
215
|
+
* @returns {AndroidAdbDriverStep}
|
|
216
|
+
*/
|
|
217
|
+
declare function applyAndroidSelectorResolution({ driverStep, resolution, }: {
|
|
218
|
+
driverStep: AndroidAdbDriverStep;
|
|
219
|
+
resolution: import('./android-adb-driver').AndroidSelectorResolution;
|
|
220
|
+
}): AndroidAdbDriverStep;
|
|
221
|
+
/**
|
|
222
|
+
* Converts a selector into scalar health-check metadata fields.
|
|
223
|
+
*
|
|
224
|
+
* @param {import('./android-adb-driver').AndroidSelector | undefined} selector
|
|
225
|
+
* @returns {Record<string, string>}
|
|
226
|
+
*/
|
|
227
|
+
declare function buildAndroidSelectorHealthMetadata(selector: import('./android-adb-driver').AndroidSelector | undefined): Record<string, string>;
|
|
228
|
+
/**
|
|
229
|
+
* Runs one normalized adb driver step through the Android driver adapter.
|
|
230
|
+
*
|
|
231
|
+
* @param {{driver: import('./android-adb-driver').AndroidAdbDriver, driverStep: AndroidAdbDriverStep, logcatLines: number}} options
|
|
232
|
+
* @returns {Promise<import('./android-adb-driver').AndroidAdbCommandResult>}
|
|
233
|
+
*/
|
|
234
|
+
declare function runAndroidAdbDriverStep({ capturesDir, driver, driverStep, logcatLines, }: {
|
|
235
|
+
capturesDir: string;
|
|
236
|
+
driver: import('./android-adb-driver').AndroidAdbDriver;
|
|
237
|
+
driverStep: AndroidAdbDriverStep;
|
|
238
|
+
logcatLines: number;
|
|
239
|
+
}): Promise<import('./android-adb-driver').AndroidAdbCommandResult>;
|
|
240
|
+
/**
|
|
241
|
+
* Runs Android adb readiness checks and writes the preflight artifact set.
|
|
242
|
+
*
|
|
243
|
+
* @param {AndroidPreflightOptions} options
|
|
244
|
+
* @returns {Promise<AndroidPreflightResult>}
|
|
245
|
+
*/
|
|
246
|
+
declare function runAndroidAdbPreflight({ adbPath, captureLogcat, clearLogcat, deepLinks, delay: wait, driverSteps, executor, launch, launchWaitMs, logcatLines, outputDir, packageName, reactNativeDebugHost, runId, serial, startupDeepLinks, storageWrites, waitMs, }?: AndroidPreflightOptions): Promise<AndroidPreflightResult>;
|
|
247
|
+
/**
|
|
248
|
+
* Runs the android-adb preflight CLI.
|
|
249
|
+
*
|
|
250
|
+
* @returns {Promise<void>}
|
|
251
|
+
*/
|
|
252
|
+
declare function main(): Promise<void>;
|
|
253
|
+
export { ANDROID_DEVICE_EPOCH_MS_PLACEHOLDER, buildAndroidHealth, buildAndroidVerdict, buildReactNativeDebugHostPreferenceCommand, escapeAndroidPreferenceXml, execFileCommand, main, parseAdbDevices, parseArgs, parsePositiveInteger, parseReactNativeDebugHostPort, resolveAndroidAdbDriverSteps, applyAndroidSelectorResolution, buildAndroidSelectorHealthMetadata, needsAndroidSelectorResolution, runAndroidAdbDriverStep, runAndroidAdbPreflight, selectDevice, usage, };
|
|
254
|
+
export type { AndroidDevice, AndroidAdbDriverStep, AndroidAsyncStorageWrite, AndroidDeepLinkCommand, AndroidPreflightOptions, AndroidPreflightResult, CliArgs, CommandExecutor, CommandResult, };
|