OptionaldangerAcceptInvalidCerts?: booleanAllow invalid TLS certificates in the native transport.
This is useful for local debugging setups, but should stay disabled for normal production traffic.
Optionalhttp3AttemptTimeoutMs?: numberHow long the transport tries HTTP/3 before falling back in auto mode.
Optionalnetwork?: MobileNetworkThe network the device is on (default: cellular LTE for a new device; a
restored snapshot keeps the network it was saved with). Pass
{ kind: 'wifi' } to present the device on Wi-Fi; when set it also
replaces a restored snapshot's network.
OptionalprotocolMode?: TransportProtocolModeProtocol mode of the native transport (default auto: try HTTP/3 like
the iOS app, fall back to HTTP/2 when it does not get through). http2 /
http3 force one channel; the transport enforces them.
Optionalproxy?: stringHTTP(S) proxy URL passed to the native transport.
OptionalpushToken?: stringThe device's APNs push token from the platform push SDK. It is a device
fact (MobileDeviceState.pushToken), not a flow input: IosAppLaunchFlow
reads it from the device, push/register is skipped when the device holds
none, and a restored snapshot keeps the token it was saved with. When set
it replaces a restored snapshot's token.
OptionalrequestTimeoutMs?: numberTimeout of every API request in milliseconds (default 60 000). A timed-out request is abandoned, not cancelled: an action may still be carried out by the server, so a retry can duplicate it.
Options of the iOS app layer (IosApp).
Use
seedfor a fresh deterministic virtual device,snapshotto restore a session exported withExportSnapshot, orcheckpointto continue a checkpointed process — the screen restores then put the process state and the screen stack back over this client.Exactly one stored form, like the launch input:
seed,snapshotandcheckpointare three forms of one slot, so a second one beside the first is a type error rather than a value the build silently resolves in one order. A continued process (acheckpoint) is the very client state the checkpoint carries, so it takes nonetworkorpushTokeneither: the build refuses them with the declaredSnapshotDecodeErrorinstead of building a client every restore then refuses.The snapshot and the checkpoint cross storage, so each is accepted as an object only (owner decision, 2026-10-24: never JSON text — the caller parses what its storage returns), and the checkpoint is
unknownon purpose: the build decodes it itself — text, a damaged value, one of another format or one taken on another platform is the declaredSnapshotDecodeError, never a process that quietly diverges.