Creates a native-backed DaVinci client instance.
DaVinci client configuration.
A DaVinciClient handle for driving DaVinci flows.
The native workflow instance is configured lazily on the first method call.
All OIDC fields are sourced from config.modules.oidc; transport and logging
options (timeout, logger) are top-level and map to WorkflowConfig.
TODO-SDK-FUTURE-SUPPORT: Both SDKs resolve a server field to a collector by
looking up inputType first and falling back to type (Android
CollectorFactory.collector(), iOS CollectorFactory.collector(daVinci:from:)).
In practice DaVinci payloads always carry inputType, so the iOS-only
registrations for FLOW_BUTTON / FLOW_LINK / DROPDOWN / RADIO / COMBOBOX /
CHECKBOX behave as redundant aliases — payloads with those type values
still resolve via their inputType (ACTION / SINGLE_SELECT / MULTI_SELECT)
on Android. The genuine gap is for field types where neither inputType nor
type matches a registered entry on a given platform (e.g. SINGLE_CHECKBOX,
AGREEMENT, or any future server-only types). Those are surfaced to JS via
ContinueNode.unsupportedFields on both platforms so consumers can detect
them and render a placeholder, log, or block submit rather than silently
missing inputs. Re-evaluate once the SDKs add registrations for any newly
server-introduced field types.
DaVinci client factory for creating imperative native-backed clients.