Variable ScreenCheckpointSchemaConst
ScreenCheckpointSchema: decodeTo<
toType<
Struct<
{
app: Struct<
{ platform: Literals<readonly ["android", "ios"]>; version: String },
>;
client: decodeTo<
toType<
Struct<
{
application: Struct<
{
adaptiveUi: optional<(...)>;
APP_VERSION: String;
APP_VERSION_CODE: String;
BLOKS_VERSION_ID: String;
bloksClientContext: optional<(...)>;
bloksInfraTheme: optional<(...)>;
bloksPrismExtendedPalette: optional<(...)>;
bloksThemeParams: optional<(...)>;
BREADCRUMB_KEY: String;
CAPABILITIES: String;
directInboxMode: optional<(...)>;
directSearchGenAiBotsLimit: optional<(...)>;
FACEBOOK_ANALYTICS_APPLICATION_ID: String;
FACEBOOK_ANALYTICS_CLIENT_TOKEN: optional<(...)>;
GRAPHQL_DOC_IDS: optional<(...)>;
GRAPHQL_GZIP_MIN_BYTES: optional<(...)>;
GRAPHQL_OMIT_PRETTY: optional<(...)>;
GRAPHQL_SERVER_TIMESTAMPS: optional<(...)>;
launchWire: optional<(...)>;
mediaLikeWire: optional<(...)>;
mediaNoteWire: optional<(...)>;
mediaRepostWire: optional<(...)>;
reelsTrayPageSize: optional<(...)>;
shoppingExperiments: optional<(...)>;
SUPPORTED_CAPABILITIES: $Array<(...)>;
ufiActionFlowActions: optional<(...)>;
ZERO_HEADERS: optional<(...)>;
},
>;
cookies: Unknown;
device: Struct<
{
adid: String;
adsOptOut: optional<(...)>;
androidDevicePerformanceClass: optional<(...)>;
aymhAccounts: optional<(...)>;
battery: optional<(...)>;
build: String;
cloudTrustToken: optional<(...)>;
currentKeyboardLanguage: optional<(...)>;
descriptor: String;
deviceStatus: optional<(...)>;
familyDeviceSynced: optional<(...)>;
familyId: String;
fbnsKey: optional<(...)>;
flashCallPermissionsStatus: optional<(...)>;
gmsCallRetrieverEligibility: optional<(...)>;
gpuMemoryMb: optional<(...)>;
hasCameraPermission: optional<(...)>;
hasGoogleAdId: optional<(...)>;
hasNotificationPermission: optional<(...)>;
id: String;
isFoldable: optional<(...)>;
isLayoutRTL: Boolean;
keyboardLanguage: optional<(...)>;
language: String;
lastPushRegistration: optional<(...)>;
location: optional<(...)>;
mobileConfig: optional<(...)>;
network: optional<(...)>;
networkInfo: optional<(...)>;
networkSessionId: optional<(...)>;
phoneId: String;
pigeonIdentities: optional<(...)>;
pushHpkeIdentity: optional<(...)>;
pushToken: optional<(...)>;
radioType: optional<(...)>;
ramSizeInGb: optional<(...)>;
rmd: optional<(...)>;
rmdNoValidMapTimes: optional<(...)>;
systemLanguages: optional<(...)>;
systemLocale: optional<(...)>;
timezoneName: optional<(...)>;
timezoneOffset: String;
usdidIdentity: optional<(...)>;
uuid: String;
videoEncoders: optional<(...)>;
zeroAttestationIdentity: optional<(...)>;
},
>;
session: Struct<
{
appStartPhase: optional<(...)>;
appStartTimeMs: optional<(...)>;
authorization: optional<(...)>;
bandwidth: optional<(...)>;
challenge: optional<(...)>;
checkpoint: optional<(...)>;
clientSessionIdLifetime: Number;
directInboxCache: optional<(...)>;
directInboxSeqId: optional<(...)>;
directLoadedThreads: optional<(...)>;
dsUserId: optional<(...)>;
familyDeviceIdBound: optional<(...)>;
fbidV2: optional<(...)>;
igWWWClaim: optional<(...)>;
lastCreationMode: optional<(...)>;
metaAiConsent: optional<(...)>;
metaSubsEntrypointSessions: optional<(...)>;
msgrRegion: optional<(...)>;
noteCtasFetchedAtMs: optional<(...)>;
passwordEncryptionKeyId: optional<(...)>;
passwordEncryptionPubKey: optional<(...)>;
pigeonSessionIdLifetime: Number;
popularKeywordsRefreshedAtMs: optional<(...)>;
profileInfoFetches: optional<(...)>;
quickPromotionCooldown: optional<(...)>;
quickPromotionImpressions: optional<(...)>;
regionHint: optional<(...)>;
rmdEvaluationStarted: optional<(...)>;
rur: optional<(...)>;
sessionStartPhase: optional<(...)>;
shbid: optional<(...)>;
shbts: optional<(...)>;
thumbnailCacheBustingValue: Number;
xMetaUsdid: optional<(...)>;
xMid: optional<(...)>;
zeroInterface: optional<(...)>;
zeroPhase: optional<(...)>;
},
>;
},
>,
>,
Struct<
{
application: Struct<
{
adaptiveUi: optional<Boolean>;
APP_VERSION: String;
APP_VERSION_CODE: String;
BLOKS_VERSION_ID: String;
bloksClientContext: optional<Struct<(...)>>;
bloksInfraTheme: optional<String>;
bloksPrismExtendedPalette: optional<Struct<(...)>>;
bloksThemeParams: optional<$Array<(...)>>;
BREADCRUMB_KEY: String;
CAPABILITIES: String;
directInboxMode: optional<Number>;
directSearchGenAiBotsLimit: optional<Number>;
FACEBOOK_ANALYTICS_APPLICATION_ID: String;
FACEBOOK_ANALYTICS_CLIENT_TOKEN: optional<String>;
GRAPHQL_DOC_IDS: optional<$Record<(...), (...)>>;
GRAPHQL_GZIP_MIN_BYTES: optional<Number>;
GRAPHQL_OMIT_PRETTY: optional<Boolean>;
GRAPHQL_SERVER_TIMESTAMPS: optional<Union<(...)>>;
launchWire: optional<Literal<(...)>>;
mediaLikeWire: optional<Literals<(...)>>;
mediaNoteWire: optional<Literals<(...)>>;
mediaRepostWire: optional<Literals<(...)>>;
reelsTrayPageSize: optional<Number>;
RMD_NO_VALID_MAP_TIMES: optional<Unknown>;
shoppingExperiments: optional<$Array<(...)>>;
SUPPORTED_CAPABILITIES: $Array<Struct<(...)>>;
ufiActionFlowActions: optional<$Array<(...)>>;
ZERO_HEADERS: optional<Struct<(...)>>;
},
>;
cookies: Unknown;
device: Struct<
{
adid: String;
adsOptOut: optional<Boolean>;
androidDevicePerformanceClass: optional<Number>;
aymhAccounts: optional<$Array<(...)>>;
battery: optional<Union<(...)>>;
batteryLevel: optional<Unknown>;
build: String;
cloudTrustToken: optional<String>;
connectionType: optional<Unknown>;
currentKeyboardLanguage: optional<String>;
descriptor: String;
deviceStatus: optional<$Record<(...), (...)>>;
familyDeviceSynced: optional<Boolean>;
familyId: String;
fbnsKey: optional<Struct<(...)>>;
flashCallPermissionsStatus: optional<Struct<(...)>>;
gmsCallRetrieverEligibility: optional<Literals<(...)>>;
gpuMemoryMb: optional<Number>;
hasCameraPermission: optional<Boolean>;
hasGoogleAdId: optional<Boolean>;
hasNotificationPermission: optional<Boolean>;
id: String;
isCharging: optional<Unknown>;
isFoldable: optional<Boolean>;
isLayoutRTL: Boolean;
keyboardLanguage: optional<String>;
language: String;
lastPushRegistration: optional<Struct<(...)>>;
location: optional<Struct<(...)>>;
mobileConfig: optional<Struct<(...)>>;
network: optional<Union<(...)>>;
networkInfo: optional<Struct<(...)>>;
networkSessionId: optional<String>;
phoneId: String;
pigeonIdentities: optional<$Record<(...), (...)>>;
pushHpkeIdentity: optional<Struct<(...)>>;
pushToken: optional<String>;
radioType: optional<String>;
ramSizeInGb: optional<Number>;
rmd: optional<Struct<(...)>>;
rmdNoValidMapTimes: optional<Struct<(...)>>;
systemLanguages: optional<$Array<(...)>>;
systemLocale: optional<String>;
timezoneName: optional<String>;
timezoneOffset: String;
usdidIdentity: optional<Struct<(...)>>;
uuid: String;
videoEncoders: optional<$Record<(...), (...)>>;
zeroAttestationIdentity: optional<Struct<(...)>>;
},
>;
session: Struct<
{
adsOptOut: optional<Unknown>;
appStartPhase: optional<Literal<(...)>>;
appStartTimeMs: optional<Number>;
authorization: optional<String>;
bandwidth: optional<Struct<(...)>>;
challenge: optional<$Record<(...), (...)>>;
checkpoint: optional<$Record<(...), (...)>>;
clientSessionIdLifetime: Number;
directInboxCache: optional<Struct<(...)>>;
directInboxSeqId: optional<Number>;
directLoadedThreads: optional<$Array<(...)>>;
dsUserId: optional<String>;
familyDeviceIdBound: optional<Boolean>;
fbidV2: optional<String>;
igWWWClaim: optional<String>;
lastCreationMode: optional<Literals<(...)>>;
metaAiConsent: optional<Struct<(...)>>;
metaSubsEntrypointSessions: optional<$Record<(...), (...)>>;
msgrRegion: optional<String>;
navChain: optional<Unknown>;
navigation: optional<Unknown>;
noteCtasFetchedAtMs: optional<Number>;
passwordEncryptionKeyId: optional<String>;
passwordEncryptionPubKey: optional<String>;
pigeonSessionIdLifetime: Number;
popularKeywordsRefreshedAtMs: optional<Number>;
profileInfoFetches: optional<$Record<(...), (...)>>;
quickPromotionCooldown: optional<Struct<(...)>>;
quickPromotionImpressions: optional<$Record<(...), (...)>>;
regionHint: optional<String>;
rmd: optional<Unknown>;
rmdEvaluationStarted: optional<Boolean>;
rur: optional<String>;
sessionStartPhase: optional<Literal<(...)>>;
shbid: optional<String>;
shbts: optional<String>;
thumbnailCacheBustingValue: Number;
xMetaUsdid: optional<String>;
xMid: optional<String>;
zeroInterface: optional<Boolean>;
zeroPhase: optional<Literals<(...)>>;
},
>;
},
>,
never,
never,
>;
format: Int;
process: Struct<
{
active: Int;
bloksPrismLoaded: Boolean;
extras: $Record<String, Codec<Json, Json, never, never>>;
launchStarted: Boolean;
loggedOutOpened: Boolean;
mobileConfig: Struct<
{
sessionless: $Record<String, $Record<String, Union<(...)>>>;
user: optional<Struct<{ account: ...; configs: ... }>>;
},
>;
navigation: Struct<
{
cdsContainer: optionalKey<Union<readonly [(...), (...)]>>;
chain: optionalKey<Struct<{ entries: ...; ordinal: ... }>>;
current: optionalKey<Union<readonly [(...), (...)]>>;
surfaces: optionalKey<$Array<Struct<(...)>>>;
},
>;
ordinal: Int;
root: Struct<
{
input: optionalKey<Codec<Json, Json, never, never>>;
interruption: optionalKey<Literal<true>>;
screen: refine<
| "LoginHomepage"
| "LoginHomeCds"
| "LandingScreen"
| "LoginTwoFactorEntrypoint"
| "LoginTwoFactorMethodPicker"
| "LoginTwoFactorEnterTotpCode"
| "AccountRecoverySearchCds"
| "AccountRecoverySearch"
| "AccountRecoveryAuthenticationConfirmation"
| "AccountRecoveryEmailCode"
| "RegistrationPhoneNumber"
| "RegistrationConfirmationCode"
| "RegistrationPassword"
| "RegistrationBirthday"
| "RegistrationName"
| "RegistrationUsername"
| "RegistrationTermsOfService"
| "SaveCredentials"
| "AccountRecoverySuccessLocationPermission"
| "FeedTimeline"
| "PostOpenedFromLink"
| "ReelsViewer"
| "MediaComments"
| "RepostNoteEditor"
| "Explore"
| "SearchInput"
| "SearchResultsTopTab"
| "SearchResultsAccountsTab"
| "UserProfile"
| "ProfileMediaTab"
| "MyProfile"
| "MyProfileMediaTab"
| "EditProfile"
| "EditProfileBio"
| "EditProfileUsername"
| "EditProfileLinks"
| "EditProfileAddLink"
| "ProfilePostsFeed"
| "FeedTimelineFollowing"
| "UserProfileReelsTab"
| "DirectInbox"
| "DirectRecipientPicker"
| "DirectThread"
| "DirectCustomizeChat"
| "DirectThreadThemePicker"
| "DirectThreadDetails"
| "DirectThreadSharedMedia"
| "DirectThreadNicknames"
| "DirectThreadNicknameChange"
| "DirectGroupNameAndPhotoEditor"
| "PostingGalleryPicker"
| "PostingPostEdit"
| "PostingNewPost"
| "PostingCamera"
| "PostingCameraGallery"
| "PostingReelEditor"
| "PostingNewReel"
| "PostingPostVideoCameraGallery"
| "PostingPostVideoCamera"
| "PostingReelCamera"
| "PostingStoryCameraHost"
| "PostingStoryCameraGallery"
| "PostingPostVideoNewReel"
| "PostingStoryPhotoEditor"
| "PostingStoryVideoEditor"
| "PostingStoryStickerTray"
| "PostingStoryMusicStickerEditor"
| "PostingStoryShareSheet"
| "PostingStoryAlsoShareTo"
| "PostingStoryDoneCamera"
| "PostingStoryMusicSearchHost"
| "PostingMusicBrowser"
| "PostingMusicSearchResults"
| "PostingReelMusicOverlayDetail"
| "PostingReelMusicEditor"
| "ChallengeSelectVerifyMethod"
| "ChallengeVerifyCode"
| "ChallengeSubmitPhone"
| "ChallengeSetNewPassword"
| "ChallengeAddBirthday"
| "ChallengeLoginReview"
| "ChallengeAccountTemporarilyLocked"
| "ChallengeEscalationInformation"
| "ChallengeReviewContactPointChange"
| "ChallengeScrapingWarning"
| "ChallengeWebRecaptcha"
| "ChallengeWebSetNewPassword"
| "ChallengeTextCaptcha"
| "ChallengeRecaptcha"
| "ChallengeSetContactPoint"
| "ChallengeContactPointCode"
| "ChallengeAuthenticityWizard"
| "ChallengeAwaitingReview"
| "ChallengeThanksForProvidingInfo"
| "ChallengeAccountSuspended",
String,
>;
via: optionalKey<Struct<{ skipOrdinals: ...; source: ... }>>;
},
>;
sessionOrigin: Union<
readonly [
Struct<{ loginPath: optionalKey<(...)>; origin: Literal<(...)> }>,
Struct<{ begun: optionalKey<(...)>; origin: Literal<(...)> }>,
],
>;
stacks: $Array<
Struct<
{
frames: $Array<Struct<(...)>>;
navigation: Struct<
{ cdsContainer: ...; chain: ...; current: ...; surfaces: ... },
>;
tab: Union<readonly [(...), (...)]>;
},
>,
>;
startedWithSession: Boolean;
telemetry: Struct<{ pigeonSessionStarted: Boolean }>;
traySession: Struct<{ traySessionId: String }>;
usdidRegistered: Boolean;
},
>;
screen: refine<
| "LoginHomepage"
| "LoginHomeCds"
| "LandingScreen"
| "LoginTwoFactorEntrypoint"
| "LoginTwoFactorMethodPicker"
| "LoginTwoFactorEnterTotpCode"
| "AccountRecoverySearchCds"
| "AccountRecoverySearch"
| "AccountRecoveryAuthenticationConfirmation"
| "AccountRecoveryEmailCode"
| "RegistrationPhoneNumber"
| "RegistrationConfirmationCode"
| "RegistrationPassword"
| "RegistrationBirthday"
| "RegistrationName"
| "RegistrationUsername"
| "RegistrationTermsOfService"
| "SaveCredentials"
| "AccountRecoverySuccessLocationPermission"
| "FeedTimeline"
| "PostOpenedFromLink"
| "ReelsViewer"
| "MediaComments"
| "RepostNoteEditor"
| "Explore"
| "SearchInput"
| "SearchResultsTopTab"
| "SearchResultsAccountsTab"
| "UserProfile"
| "ProfileMediaTab"
| "MyProfile"
| "MyProfileMediaTab"
| "EditProfile"
| "EditProfileBio"
| "EditProfileUsername"
| "EditProfileLinks"
| "EditProfileAddLink"
| "ProfilePostsFeed"
| "FeedTimelineFollowing"
| "UserProfileReelsTab"
| "DirectInbox"
| "DirectRecipientPicker"
| "DirectThread"
| "DirectCustomizeChat"
| "DirectThreadThemePicker"
| "DirectThreadDetails"
| "DirectThreadSharedMedia"
| "DirectThreadNicknames"
| "DirectThreadNicknameChange"
| "DirectGroupNameAndPhotoEditor"
| "PostingGalleryPicker"
| "PostingPostEdit"
| "PostingNewPost"
| "PostingCamera"
| "PostingCameraGallery"
| "PostingReelEditor"
| "PostingNewReel"
| "PostingPostVideoCameraGallery"
| "PostingPostVideoCamera"
| "PostingReelCamera"
| "PostingStoryCameraHost"
| "PostingStoryCameraGallery"
| "PostingPostVideoNewReel"
| "PostingStoryPhotoEditor"
| "PostingStoryVideoEditor"
| "PostingStoryStickerTray"
| "PostingStoryMusicStickerEditor"
| "PostingStoryShareSheet"
| "PostingStoryAlsoShareTo"
| "PostingStoryDoneCamera"
| "PostingStoryMusicSearchHost"
| "PostingMusicBrowser"
| "PostingMusicSearchResults"
| "PostingReelMusicOverlayDetail"
| "PostingReelMusicEditor"
| "ChallengeSelectVerifyMethod"
| "ChallengeVerifyCode"
| "ChallengeSubmitPhone"
| "ChallengeSetNewPassword"
| "ChallengeAddBirthday"
| "ChallengeLoginReview"
| "ChallengeAccountTemporarilyLocked"
| "ChallengeEscalationInformation"
| "ChallengeReviewContactPointChange"
| "ChallengeScrapingWarning"
| "ChallengeWebRecaptcha"
| "ChallengeWebSetNewPassword"
| "ChallengeTextCaptcha"
| "ChallengeRecaptcha"
| "ChallengeSetContactPoint"
| "ChallengeContactPointCode"
| "ChallengeAuthenticityWizard"
| "ChallengeAwaitingReview"
| "ChallengeThanksForProvidingInfo"
| "ChallengeAccountSuspended",
String,
>;
trail: Struct<
{
app: Struct<
{
platform: Literals<readonly ["android", "ios"]>;
version: String;
},
>;
format: Literal<4>;
root: Struct<
{
input: optionalKey<Codec<Json, Json, never, never>>;
position: optionalKey<Codec<Json, Json, never, never>>;
screen: refine<
| "LoginHomepage"
| "LoginHomeCds"
| "LandingScreen"
| "LoginTwoFactorEntrypoint"
| "LoginTwoFactorMethodPicker"
| "LoginTwoFactorEnterTotpCode"
| "AccountRecoverySearchCds"
| "AccountRecoverySearch"
| "AccountRecoveryAuthenticationConfirmation"
| "AccountRecoveryEmailCode"
| "RegistrationPhoneNumber"
| "RegistrationConfirmationCode"
| "RegistrationPassword"
| "RegistrationBirthday"
| "RegistrationName"
| "RegistrationUsername"
| "RegistrationTermsOfService"
| "SaveCredentials"
| "AccountRecoverySuccessLocationPermission"
| "FeedTimeline"
| "PostOpenedFromLink"
| "ReelsViewer"
| "MediaComments"
| "RepostNoteEditor"
| "Explore"
| "SearchInput"
| "SearchResultsTopTab"
| "SearchResultsAccountsTab"
| "UserProfile"
| "ProfileMediaTab"
| "MyProfile"
| "MyProfileMediaTab"
| "EditProfile"
| "EditProfileBio"
| "EditProfileUsername"
| "EditProfileLinks"
| "EditProfileAddLink"
| "ProfilePostsFeed"
| "FeedTimelineFollowing"
| "UserProfileReelsTab"
| "DirectInbox"
| "DirectRecipientPicker"
| "DirectThread"
| "DirectCustomizeChat"
| "DirectThreadThemePicker"
| "DirectThreadDetails"
| "DirectThreadSharedMedia"
| "DirectThreadNicknames"
| "DirectThreadNicknameChange"
| "DirectGroupNameAndPhotoEditor"
| "PostingGalleryPicker"
| "PostingPostEdit"
| "PostingNewPost"
| "PostingCamera"
| "PostingCameraGallery"
| "PostingReelEditor"
| "PostingNewReel"
| "PostingPostVideoCameraGallery"
| "PostingPostVideoCamera"
| "PostingReelCamera"
| "PostingStoryCameraHost"
| "PostingStoryCameraGallery"
| "PostingPostVideoNewReel"
| "PostingStoryPhotoEditor"
| "PostingStoryVideoEditor"
| "PostingStoryStickerTray"
| "PostingStoryMusicStickerEditor"
| "PostingStoryShareSheet"
| "PostingStoryAlsoShareTo"
| "PostingStoryDoneCamera"
| "PostingStoryMusicSearchHost"
| "PostingMusicBrowser"
| "PostingMusicSearchResults"
| "PostingReelMusicOverlayDetail"
| "PostingReelMusicEditor"
| "ChallengeSelectVerifyMethod"
| "ChallengeVerifyCode"
| "ChallengeSubmitPhone"
| "ChallengeSetNewPassword"
| "ChallengeAddBirthday"
| "ChallengeLoginReview"
| "ChallengeAccountTemporarilyLocked"
| "ChallengeEscalationInformation"
| "ChallengeReviewContactPointChange"
| "ChallengeScrapingWarning"
| "ChallengeWebRecaptcha"
| "ChallengeWebSetNewPassword"
| "ChallengeTextCaptcha"
| "ChallengeRecaptcha"
| "ChallengeSetContactPoint"
| "ChallengeContactPointCode"
| "ChallengeAuthenticityWizard"
| "ChallengeAwaitingReview"
| "ChallengeThanksForProvidingInfo"
| "ChallengeAccountSuspended",
String,
>;
},
>;
steps: $Array<
Union<
readonly [
Struct<
{ args: ...; edge: ...; item: ...; position: ...; screen: ... },
>,
Struct<{ input: ...; position: ...; screen: ...; via: ... }>,
],
>,
>;
},
>;
},
>,
>,
Struct<
{
app: Struct<
{ platform: Literals<readonly ["android", "ios"]>; version: String },
>;
client: decodeTo<
toType<
Struct<
{
application: Struct<
{
adaptiveUi: optional<Boolean>;
APP_VERSION: String;
APP_VERSION_CODE: String;
BLOKS_VERSION_ID: String;
bloksClientContext: optional<Struct<(...)>>;
bloksInfraTheme: optional<String>;
bloksPrismExtendedPalette: optional<Struct<(...)>>;
bloksThemeParams: optional<$Array<(...)>>;
BREADCRUMB_KEY: String;
CAPABILITIES: String;
directInboxMode: optional<Number>;
directSearchGenAiBotsLimit: optional<Number>;
FACEBOOK_ANALYTICS_APPLICATION_ID: String;
FACEBOOK_ANALYTICS_CLIENT_TOKEN: optional<String>;
GRAPHQL_DOC_IDS: optional<$Record<(...), (...)>>;
GRAPHQL_GZIP_MIN_BYTES: optional<Number>;
GRAPHQL_OMIT_PRETTY: optional<Boolean>;
GRAPHQL_SERVER_TIMESTAMPS: optional<Union<(...)>>;
launchWire: optional<Literal<(...)>>;
mediaLikeWire: optional<Literals<(...)>>;
mediaNoteWire: optional<Literals<(...)>>;
mediaRepostWire: optional<Literals<(...)>>;
reelsTrayPageSize: optional<Number>;
shoppingExperiments: optional<$Array<(...)>>;
SUPPORTED_CAPABILITIES: $Array<Struct<(...)>>;
ufiActionFlowActions: optional<$Array<(...)>>;
ZERO_HEADERS: optional<Struct<(...)>>;
},
>;
cookies: Unknown;
device: Struct<
{
adid: String;
adsOptOut: optional<Boolean>;
androidDevicePerformanceClass: optional<Number>;
aymhAccounts: optional<$Array<(...)>>;
battery: optional<Union<(...)>>;
build: String;
cloudTrustToken: optional<String>;
currentKeyboardLanguage: optional<String>;
descriptor: String;
deviceStatus: optional<$Record<(...), (...)>>;
familyDeviceSynced: optional<Boolean>;
familyId: String;
fbnsKey: optional<Struct<(...)>>;
flashCallPermissionsStatus: optional<Struct<(...)>>;
gmsCallRetrieverEligibility: optional<Literals<(...)>>;
gpuMemoryMb: optional<Number>;
hasCameraPermission: optional<Boolean>;
hasGoogleAdId: optional<Boolean>;
hasNotificationPermission: optional<Boolean>;
id: String;
isFoldable: optional<Boolean>;
isLayoutRTL: Boolean;
keyboardLanguage: optional<String>;
language: String;
lastPushRegistration: optional<Struct<(...)>>;
location: optional<Struct<(...)>>;
mobileConfig: optional<Struct<(...)>>;
network: optional<Union<(...)>>;
networkInfo: optional<Struct<(...)>>;
networkSessionId: optional<String>;
phoneId: String;
pigeonIdentities: optional<$Record<(...), (...)>>;
pushHpkeIdentity: optional<Struct<(...)>>;
pushToken: optional<String>;
radioType: optional<String>;
ramSizeInGb: optional<Number>;
rmd: optional<Struct<(...)>>;
rmdNoValidMapTimes: optional<Struct<(...)>>;
systemLanguages: optional<$Array<(...)>>;
systemLocale: optional<String>;
timezoneName: optional<String>;
timezoneOffset: String;
usdidIdentity: optional<Struct<(...)>>;
uuid: String;
videoEncoders: optional<$Record<(...), (...)>>;
zeroAttestationIdentity: optional<Struct<(...)>>;
},
>;
session: Struct<
{
appStartPhase: optional<Literal<(...)>>;
appStartTimeMs: optional<Number>;
authorization: optional<String>;
bandwidth: optional<Struct<(...)>>;
challenge: optional<$Record<(...), (...)>>;
checkpoint: optional<$Record<(...), (...)>>;
clientSessionIdLifetime: Number;
directInboxCache: optional<Struct<(...)>>;
directInboxSeqId: optional<Number>;
directLoadedThreads: optional<$Array<(...)>>;
dsUserId: optional<String>;
familyDeviceIdBound: optional<Boolean>;
fbidV2: optional<String>;
igWWWClaim: optional<String>;
lastCreationMode: optional<Literals<(...)>>;
metaAiConsent: optional<Struct<(...)>>;
metaSubsEntrypointSessions: optional<$Record<(...), (...)>>;
msgrRegion: optional<String>;
noteCtasFetchedAtMs: optional<Number>;
passwordEncryptionKeyId: optional<String>;
passwordEncryptionPubKey: optional<String>;
pigeonSessionIdLifetime: Number;
popularKeywordsRefreshedAtMs: optional<Number>;
profileInfoFetches: optional<$Record<(...), (...)>>;
quickPromotionCooldown: optional<Struct<(...)>>;
quickPromotionImpressions: optional<$Record<(...), (...)>>;
regionHint: optional<String>;
rmdEvaluationStarted: optional<Boolean>;
rur: optional<String>;
sessionStartPhase: optional<Literal<(...)>>;
shbid: optional<String>;
shbts: optional<String>;
thumbnailCacheBustingValue: Number;
xMetaUsdid: optional<String>;
xMid: optional<String>;
zeroInterface: optional<Boolean>;
zeroPhase: optional<Literals<(...)>>;
},
>;
},
>,
>,
Struct<
{
application: Struct<
{
adaptiveUi: optional<Boolean>;
APP_VERSION: String;
APP_VERSION_CODE: String;
BLOKS_VERSION_ID: String;
bloksClientContext: optional<Struct<{ keys: ... }>>;
bloksInfraTheme: optional<String>;
bloksPrismExtendedPalette: optional<
Struct<{ gray: ...; polish: ... }>,
>;
bloksThemeParams: optional<$Array<Struct<(...)>>>;
BREADCRUMB_KEY: String;
CAPABILITIES: String;
directInboxMode: optional<Number>;
directSearchGenAiBotsLimit: optional<Number>;
FACEBOOK_ANALYTICS_APPLICATION_ID: String;
FACEBOOK_ANALYTICS_CLIENT_TOKEN: optional<String>;
GRAPHQL_DOC_IDS: optional<$Record<String, String>>;
GRAPHQL_GZIP_MIN_BYTES: optional<Number>;
GRAPHQL_OMIT_PRETTY: optional<Boolean>;
GRAPHQL_SERVER_TIMESTAMPS: optional<Union<readonly [(...), (...)]>>;
launchWire: optional<Literal<"451">>;
mediaLikeWire: optional<Literals<readonly [(...), (...)]>>;
mediaNoteWire: optional<Literals<readonly [(...), (...)]>>;
mediaRepostWire: optional<Literals<readonly [(...), (...)]>>;
reelsTrayPageSize: optional<Number>;
RMD_NO_VALID_MAP_TIMES: optional<Unknown>;
shoppingExperiments: optional<$Array<String>>;
SUPPORTED_CAPABILITIES: $Array<Struct<{ name: ...; value: ... }>>;
ufiActionFlowActions: optional<$Array<Literals<(...)>>>;
ZERO_HEADERS: optional<
Struct<
{ authenticated: ...; "logged-out": ...; "rmd-evaluated": ... },
>,
>;
},
>;
cookies: Unknown;
device: Struct<
{
adid: String;
adsOptOut: optional<Boolean>;
androidDevicePerformanceClass: optional<Number>;
aymhAccounts: optional<$Array<$Record<(...), (...)>>>;
battery: optional<Union<readonly [(...), (...)]>>;
batteryLevel: optional<Unknown>;
build: String;
cloudTrustToken: optional<String>;
connectionType: optional<Unknown>;
currentKeyboardLanguage: optional<String>;
descriptor: String;
deviceStatus: optional<$Record<String, Unknown>>;
familyDeviceSynced: optional<Boolean>;
familyId: String;
fbnsKey: optional<Struct<{ createdAt: ...; publicKey: ... }>>;
flashCallPermissionsStatus: optional<
Struct<
{
ANSWER_PHONE_CALLS: ...;
READ_CALL_LOG: ...;
READ_PHONE_STATE: ...;
},
>,
>;
gmsCallRetrieverEligibility: optional<
Literals<readonly [(...), (...)]>,
>;
gpuMemoryMb: optional<Number>;
hasCameraPermission: optional<Boolean>;
hasGoogleAdId: optional<Boolean>;
hasNotificationPermission: optional<Boolean>;
id: String;
isCharging: optional<Unknown>;
isFoldable: optional<Boolean>;
isLayoutRTL: Boolean;
keyboardLanguage: optional<String>;
language: String;
lastPushRegistration: optional<Struct<{ at: ... }>>;
location: optional<Struct<{ lat: ...; lng: ... }>>;
mobileConfig: optional<
Struct<{ accounts: ...; appVersion: ...; sessionless: ... }>,
>;
network: optional<Union<readonly [(...), (...)]>>;
networkInfo: optional<
Struct<
{
active_subscriptions_info: ...;
default_subscription_info: ...;
is_active_network_cellular: ...;
is_airplane_mode: ...;
is_device_sms_capable: ...;
is_wifi: ...;
sim_count: ...;
},
>,
>;
networkSessionId: optional<String>;
phoneId: String;
pigeonIdentities: optional<$Record<String, Struct<(...)>>>;
pushHpkeIdentity: optional<
Struct<{ keystoreId: ...; privKeyPem: ...; pubKeyB64: ... }>,
>;
pushToken: optional<String>;
radioType: optional<String>;
ramSizeInGb: optional<Number>;
rmd: optional<Struct<{ kind: ... }>>;
rmdNoValidMapTimes: optional<
Struct<{ recvTime: ...; reqTime: ... }>,
>;
systemLanguages: optional<$Array<String>>;
systemLocale: optional<String>;
timezoneName: optional<String>;
timezoneOffset: String;
usdidIdentity: optional<
Struct<
{ kid: ...; privKeyPem: ...; pubKeySpkiB64: ...; uuid: ... },
>,
>;
uuid: String;
videoEncoders: optional<$Record<String, $Array<(...)>>>;
zeroAttestationIdentity: optional<
Struct<{ keyHash: ...; privKeyPem: ...; uploadedAtMs: ... }>,
>;
},
>;
session: Struct<
{
adsOptOut: optional<Unknown>;
appStartPhase: optional<Literal<"cold">>;
appStartTimeMs: optional<Number>;
authorization: optional<String>;
bandwidth: optional<
Struct<{ bytes: ...; carried: ...; ms: ...; stack: ... }>,
>;
challenge: optional<$Record<String, Unknown>>;
checkpoint: optional<$Record<String, Unknown>>;
clientSessionIdLifetime: Number;
directInboxCache: optional<Struct<{ threads: ... }>>;
directInboxSeqId: optional<Number>;
directLoadedThreads: optional<$Array<String>>;
dsUserId: optional<String>;
familyDeviceIdBound: optional<Boolean>;
fbidV2: optional<String>;
igWWWClaim: optional<String>;
lastCreationMode: optional<Literals<readonly [(...), (...), (...)]>>;
metaAiConsent: optional<
Struct<
{
cacheTimeSeconds: ...;
fetchedAtSeconds: ...;
nuxType: ...;
requiresNux: ...;
text: ...;
version: ...;
},
>,
>;
metaSubsEntrypointSessions: optional<$Record<String, Struct<(...)>>>;
msgrRegion: optional<String>;
navChain: optional<Unknown>;
navigation: optional<Unknown>;
noteCtasFetchedAtMs: optional<Number>;
passwordEncryptionKeyId: optional<String>;
passwordEncryptionPubKey: optional<String>;
pigeonSessionIdLifetime: Number;
popularKeywordsRefreshedAtMs: optional<Number>;
profileInfoFetches: optional<$Record<String, Struct<(...)>>>;
quickPromotionCooldown: optional<
Struct<{ defaultMs: ...; slots: ... }>,
>;
quickPromotionImpressions: optional<$Record<String, Struct<(...)>>>;
regionHint: optional<String>;
rmd: optional<Unknown>;
rmdEvaluationStarted: optional<Boolean>;
rur: optional<String>;
sessionStartPhase: optional<Literal<"starting">>;
shbid: optional<String>;
shbts: optional<String>;
thumbnailCacheBustingValue: Number;
xMetaUsdid: optional<String>;
xMid: optional<String>;
zeroInterface: optional<Boolean>;
zeroPhase: optional<Literals<readonly [(...), (...), (...)]>>;
},
>;
},
>,
never,
never,
>;
format: Int;
process: Struct<
{
active: Int;
bloksPrismLoaded: Boolean;
extras: $Record<String, Codec<Json, Json, never, never>>;
launchStarted: Boolean;
loggedOutOpened: Boolean;
mobileConfig: Struct<
{
sessionless: $Record<
String,
$Record<String, Union<readonly [(...), (...), (...)]>>,
>;
user: optional<
Struct<{ account: String; configs: $Record<(...), (...)> }>,
>;
},
>;
navigation: Struct<
{
cdsContainer: optionalKey<
Union<readonly [Struct<(...)>, Struct<(...)>]>,
>;
chain: optionalKey<Struct<{ entries: $Array<(...)>; ordinal: Int }>>;
current: optionalKey<Union<readonly [Struct<(...)>, Struct<(...)>]>>;
surfaces: optionalKey<
$Array<Struct<{ atMs: ...; screen: ...; source: ... }>>,
>;
},
>;
ordinal: Int;
root: Struct<
{
input: optionalKey<Codec<Json, Json, never, never>>;
interruption: optionalKey<Literal<true>>;
screen: refine<
| "LoginHomepage"
| "LoginHomeCds"
| "LandingScreen"
| "LoginTwoFactorEntrypoint"
| "LoginTwoFactorMethodPicker"
| "LoginTwoFactorEnterTotpCode"
| "AccountRecoverySearchCds"
| "AccountRecoverySearch"
| "AccountRecoveryAuthenticationConfirmation"
| "AccountRecoveryEmailCode"
| "RegistrationPhoneNumber"
| "RegistrationConfirmationCode"
| "RegistrationPassword"
| "RegistrationBirthday"
| "RegistrationName"
| "RegistrationUsername"
| "RegistrationTermsOfService"
| "SaveCredentials"
| "AccountRecoverySuccessLocationPermission"
| "FeedTimeline"
| "PostOpenedFromLink"
| "ReelsViewer"
| "MediaComments"
| "RepostNoteEditor"
| "Explore"
| "SearchInput"
| "SearchResultsTopTab"
| "SearchResultsAccountsTab"
| "UserProfile"
| "ProfileMediaTab"
| "MyProfile"
| "MyProfileMediaTab"
| "EditProfile"
| "EditProfileBio"
| "EditProfileUsername"
| "EditProfileLinks"
| "EditProfileAddLink"
| "ProfilePostsFeed"
| "FeedTimelineFollowing"
| "UserProfileReelsTab"
| "DirectInbox"
| "DirectRecipientPicker"
| "DirectThread"
| "DirectCustomizeChat"
| "DirectThreadThemePicker"
| "DirectThreadDetails"
| "DirectThreadSharedMedia"
| "DirectThreadNicknames"
| "DirectThreadNicknameChange"
| "DirectGroupNameAndPhotoEditor"
| "PostingGalleryPicker"
| "PostingPostEdit"
| "PostingNewPost"
| "PostingCamera"
| "PostingCameraGallery"
| "PostingReelEditor"
| "PostingNewReel"
| "PostingPostVideoCameraGallery"
| "PostingPostVideoCamera"
| "PostingReelCamera"
| "PostingStoryCameraHost"
| "PostingStoryCameraGallery"
| "PostingPostVideoNewReel"
| "PostingStoryPhotoEditor"
| "PostingStoryVideoEditor"
| "PostingStoryStickerTray"
| "PostingStoryMusicStickerEditor"
| "PostingStoryShareSheet"
| "PostingStoryAlsoShareTo"
| "PostingStoryDoneCamera"
| "PostingStoryMusicSearchHost"
| "PostingMusicBrowser"
| "PostingMusicSearchResults"
| "PostingReelMusicOverlayDetail"
| "PostingReelMusicEditor"
| "ChallengeSelectVerifyMethod"
| "ChallengeVerifyCode"
| "ChallengeSubmitPhone"
| "ChallengeSetNewPassword"
| "ChallengeAddBirthday"
| "ChallengeLoginReview"
| "ChallengeAccountTemporarilyLocked"
| "ChallengeEscalationInformation"
| "ChallengeReviewContactPointChange"
| "ChallengeScrapingWarning"
| "ChallengeWebRecaptcha"
| "ChallengeWebSetNewPassword"
| "ChallengeTextCaptcha"
| "ChallengeRecaptcha"
| "ChallengeSetContactPoint"
| "ChallengeContactPointCode"
| "ChallengeAuthenticityWizard"
| "ChallengeAwaitingReview"
| "ChallengeThanksForProvidingInfo"
| "ChallengeAccountSuspended",
String,
>;
via: optionalKey<
Struct<
{ skipOrdinals: optionalKey<(...)>; source: Literals<(...)> },
>,
>;
},
>;
sessionOrigin: Union<
readonly [
Struct<
{
loginPath: optionalKey<Literals<(...)>>;
origin: Literal<"created">;
},
>,
Struct<
{
begun: optionalKey<Literal<(...)>>;
origin: Literal<"stored">;
stored: optionalKey<Unknown>;
},
>,
],
>;
stacks: $Array<
Struct<
{
frames: $Array<
Struct<
{
chainLengthBefore: ...;
data: ...;
extra: ...;
input: ...;
items: ...;
kind: ...;
left: ...;
lookup: ...;
reach: ...;
replaced: ...;
screen: ...;
visit: ...;
},
>,
>;
navigation: Struct<
{
cdsContainer: optionalKey<(...)>;
chain: optionalKey<(...)>;
current: optionalKey<(...)>;
surfaces: optionalKey<(...)>;
},
>;
tab: Union<readonly [Struct<(...)>, Struct<(...)>]>;
},
>,
>;
startedWithSession: Boolean;
telemetry: Struct<{ pigeonSessionStarted: Boolean }>;
traySession: Struct<{ traySessionId: String }>;
usdidRegistered: Boolean;
},
>;
screen: refine<
| "LoginHomepage"
| "LoginHomeCds"
| "LandingScreen"
| "LoginTwoFactorEntrypoint"
| "LoginTwoFactorMethodPicker"
| "LoginTwoFactorEnterTotpCode"
| "AccountRecoverySearchCds"
| "AccountRecoverySearch"
| "AccountRecoveryAuthenticationConfirmation"
| "AccountRecoveryEmailCode"
| "RegistrationPhoneNumber"
| "RegistrationConfirmationCode"
| "RegistrationPassword"
| "RegistrationBirthday"
| "RegistrationName"
| "RegistrationUsername"
| "RegistrationTermsOfService"
| "SaveCredentials"
| "AccountRecoverySuccessLocationPermission"
| "FeedTimeline"
| "PostOpenedFromLink"
| "ReelsViewer"
| "MediaComments"
| "RepostNoteEditor"
| "Explore"
| "SearchInput"
| "SearchResultsTopTab"
| "SearchResultsAccountsTab"
| "UserProfile"
| "ProfileMediaTab"
| "MyProfile"
| "MyProfileMediaTab"
| "EditProfile"
| "EditProfileBio"
| "EditProfileUsername"
| "EditProfileLinks"
| "EditProfileAddLink"
| "ProfilePostsFeed"
| "FeedTimelineFollowing"
| "UserProfileReelsTab"
| "DirectInbox"
| "DirectRecipientPicker"
| "DirectThread"
| "DirectCustomizeChat"
| "DirectThreadThemePicker"
| "DirectThreadDetails"
| "DirectThreadSharedMedia"
| "DirectThreadNicknames"
| "DirectThreadNicknameChange"
| "DirectGroupNameAndPhotoEditor"
| "PostingGalleryPicker"
| "PostingPostEdit"
| "PostingNewPost"
| "PostingCamera"
| "PostingCameraGallery"
| "PostingReelEditor"
| "PostingNewReel"
| "PostingPostVideoCameraGallery"
| "PostingPostVideoCamera"
| "PostingReelCamera"
| "PostingStoryCameraHost"
| "PostingStoryCameraGallery"
| "PostingPostVideoNewReel"
| "PostingStoryPhotoEditor"
| "PostingStoryVideoEditor"
| "PostingStoryStickerTray"
| "PostingStoryMusicStickerEditor"
| "PostingStoryShareSheet"
| "PostingStoryAlsoShareTo"
| "PostingStoryDoneCamera"
| "PostingStoryMusicSearchHost"
| "PostingMusicBrowser"
| "PostingMusicSearchResults"
| "PostingReelMusicOverlayDetail"
| "PostingReelMusicEditor"
| "ChallengeSelectVerifyMethod"
| "ChallengeVerifyCode"
| "ChallengeSubmitPhone"
| "ChallengeSetNewPassword"
| "ChallengeAddBirthday"
| "ChallengeLoginReview"
| "ChallengeAccountTemporarilyLocked"
| "ChallengeEscalationInformation"
| "ChallengeReviewContactPointChange"
| "ChallengeScrapingWarning"
| "ChallengeWebRecaptcha"
| "ChallengeWebSetNewPassword"
| "ChallengeTextCaptcha"
| "ChallengeRecaptcha"
| "ChallengeSetContactPoint"
| "ChallengeContactPointCode"
| "ChallengeAuthenticityWizard"
| "ChallengeAwaitingReview"
| "ChallengeThanksForProvidingInfo"
| "ChallengeAccountSuspended",
String,
>;
trail: Struct<
{
app: Struct<
{
platform: Literals<readonly ["android", "ios"]>;
version: String;
},
>;
format: Literal<4>;
root: Struct<
{
input: optionalKey<Codec<Json, Json, never, never>>;
position: optionalKey<Codec<Json, Json, never, never>>;
screen: refine<
| "LoginHomepage"
| "LoginHomeCds"
| "LandingScreen"
| "LoginTwoFactorEntrypoint"
| "LoginTwoFactorMethodPicker"
| "LoginTwoFactorEnterTotpCode"
| "AccountRecoverySearchCds"
| "AccountRecoverySearch"
| "AccountRecoveryAuthenticationConfirmation"
| "AccountRecoveryEmailCode"
| "RegistrationPhoneNumber"
| "RegistrationConfirmationCode"
| "RegistrationPassword"
| "RegistrationBirthday"
| "RegistrationName"
| "RegistrationUsername"
| "RegistrationTermsOfService"
| "SaveCredentials"
| "AccountRecoverySuccessLocationPermission"
| "FeedTimeline"
| "PostOpenedFromLink"
| "ReelsViewer"
| "MediaComments"
| "RepostNoteEditor"
| "Explore"
| "SearchInput"
| "SearchResultsTopTab"
| "SearchResultsAccountsTab"
| "UserProfile"
| "ProfileMediaTab"
| "MyProfile"
| "MyProfileMediaTab"
| "EditProfile"
| "EditProfileBio"
| "EditProfileUsername"
| "EditProfileLinks"
| "EditProfileAddLink"
| "ProfilePostsFeed"
| "FeedTimelineFollowing"
| "UserProfileReelsTab"
| "DirectInbox"
| "DirectRecipientPicker"
| "DirectThread"
| "DirectCustomizeChat"
| "DirectThreadThemePicker"
| "DirectThreadDetails"
| "DirectThreadSharedMedia"
| "DirectThreadNicknames"
| "DirectThreadNicknameChange"
| "DirectGroupNameAndPhotoEditor"
| "PostingGalleryPicker"
| "PostingPostEdit"
| "PostingNewPost"
| "PostingCamera"
| "PostingCameraGallery"
| "PostingReelEditor"
| "PostingNewReel"
| "PostingPostVideoCameraGallery"
| "PostingPostVideoCamera"
| "PostingReelCamera"
| "PostingStoryCameraHost"
| "PostingStoryCameraGallery"
| "PostingPostVideoNewReel"
| "PostingStoryPhotoEditor"
| "PostingStoryVideoEditor"
| "PostingStoryStickerTray"
| "PostingStoryMusicStickerEditor"
| "PostingStoryShareSheet"
| "PostingStoryAlsoShareTo"
| "PostingStoryDoneCamera"
| "PostingStoryMusicSearchHost"
| "PostingMusicBrowser"
| "PostingMusicSearchResults"
| "PostingReelMusicOverlayDetail"
| "PostingReelMusicEditor"
| "ChallengeSelectVerifyMethod"
| "ChallengeVerifyCode"
| "ChallengeSubmitPhone"
| "ChallengeSetNewPassword"
| "ChallengeAddBirthday"
| "ChallengeLoginReview"
| "ChallengeAccountTemporarilyLocked"
| "ChallengeEscalationInformation"
| "ChallengeReviewContactPointChange"
| "ChallengeScrapingWarning"
| "ChallengeWebRecaptcha"
| "ChallengeWebSetNewPassword"
| "ChallengeTextCaptcha"
| "ChallengeRecaptcha"
| "ChallengeSetContactPoint"
| "ChallengeContactPointCode"
| "ChallengeAuthenticityWizard"
| "ChallengeAwaitingReview"
| "ChallengeThanksForProvidingInfo"
| "ChallengeAccountSuspended",
String,
>;
},
>;
steps: $Array<
Union<
readonly [
Struct<
{
args: Codec<(...), (...), (...), (...)>;
edge: String;
item: optionalKey<(...)>;
position: optionalKey<(...)>;
screen: refine<(...), (...)>;
},
>,
Struct<
{
input: optionalKey<(...)>;
position: optionalKey<(...)>;
screen: refine<(...), (...)>;
via: Struct<(...)>;
},
>,
],
>,
>;
},
>;
},
>,
never,
never,
> = ...
A checkpoint is read as the release wrote it and handed over in this release's layout: the one place a released checkpoint's older shapes are migrated (the session origin's
stored, with the routing map it set aside). The migration touches no stored value of the current layout, which is a case of the released one, so a checkpoint this build wrote reads back as it was.