diff --git a/src/client-types.ts b/src/client-types.ts index 853e8c79c..4d53e60fa 100644 --- a/src/client-types.ts +++ b/src/client-types.ts @@ -42,7 +42,7 @@ export type { BatchRunResult } from './core/batch.ts'; import type { TargetShutdownResult } from './target-shutdown-contract.ts'; export type { TargetShutdownResult } from './target-shutdown-contract.ts'; import type { PerfAction, PerfArea, PerfKind, PerfSubject } from './contracts/perf.ts'; -import type { AlertAction, AlertInfo } from './alert-contract.ts'; +import type { AlertAction } from './alert-contract.ts'; import type { DebugSymbolsOptions, DebugSymbolsResult } from './contracts/debug-symbols.ts'; import type { RemoteConnectionProfileFields } from './remote-config-schema.ts'; import type { CommandResult } from './core/command-descriptor/command-result.ts'; @@ -459,26 +459,6 @@ export type ClipboardCommandOptions = text: string; }); -export type WaitCommandResult = DaemonResponseData & { - waitedMs?: number; - text?: string; - selector?: string; -}; - -export type AlertCommandResult = DaemonResponseData & { - kind?: 'alertStatus' | 'alertHandled' | 'alertWait'; - action?: AlertCommandOptions['action']; - alert?: AlertInfo | null; - handled?: boolean; - button?: string; - waitedMs?: number; - timedOut?: boolean; - platform?: AlertInfo['platform']; - accepted?: boolean; - dismissed?: boolean; - items?: string[]; -}; - export type ReactNativeCommandOptions = DeviceCommandBaseOptions & { action: 'dismiss-overlay'; }; @@ -494,8 +474,8 @@ export type ViewportCommandOptions = DeviceCommandBaseOptions & { }; export type AgentDeviceCommandClient = { - wait: (options: WaitCommandOptions) => Promise; - alert: (options?: AlertCommandOptions) => Promise; + wait: (options: WaitCommandOptions) => Promise; + alert: (options?: AlertCommandOptions) => Promise; appState: (options?: AppStateCommandOptions) => Promise>; back: (options?: BackCommandOptions) => Promise>; home: (options?: HomeCommandOptions) => Promise>; diff --git a/src/index.ts b/src/index.ts index f3109534b..24e81b392 100644 --- a/src/index.ts +++ b/src/index.ts @@ -47,7 +47,6 @@ export type { AlertCommandOptions, AlertInfo, AlertPlatform, - AlertCommandResult, AlertSource, AppCloseOptions, AppCloseResult, @@ -119,7 +118,6 @@ export type { TraceOptions, TypeTextOptions, WaitCommandOptions, - WaitCommandResult, } from './client.ts'; export type { diff --git a/test/integration/provider-scenarios/android-lifecycle.test.ts b/test/integration/provider-scenarios/android-lifecycle.test.ts index e2b775ad2..3dfcea024 100644 --- a/test/integration/provider-scenarios/android-lifecycle.test.ts +++ b/test/integration/provider-scenarios/android-lifecycle.test.ts @@ -353,7 +353,10 @@ test('Provider-backed integration Android alert wait polls until a dialog appear ...world.selection, }); assert.equal(alertWait.kind, 'alertWait'); - assert.equal(alertWait.alert?.source, 'permission'); + // alert now returns the untyped CommandRequestResult bag (its iOS path is a + // dynamic runner Record, so the public type is no longer a closed shape). + const alertInfo = alertWait.alert as { source?: string } | null | undefined; + assert.equal(alertInfo?.source, 'permission'); assert.ok(snapshotCount >= 2); }, );