A discriminated union narrowed by field.type. Known callback types expose
named typed fields directly on the field (for example JourneyChoiceField
has choices: string[] and defaultChoice: number). Callbacks from other
SDK packages — FIDO (rn-fido), device binding (rn-binding), device
profile (rn-device-profile), external IdP (rn-external-idp), and
reCAPTCHA Enterprise (rn-recaptcha) — are represented as marker types or
typed variants where the bridge emits named fields. All other types fall
through to JourneyUnknownField.
field.raw is the original native callback payload and is preserved as an
escape hatch on every variant.
Normalized callback field shape used by headless callback helpers.