Interface: IRuntimeState
Defined in: src/state/types.ts:19
Properties
authStatus
authStatus:
string
Defined in: src/state/types.ts:35
Host auth lifecycle status — follows growth-rc's values:
"pending", "done", "resolved", "failed".
Treat "resolved" and "failed" as settled; "done" means the
refresh-token returned but the user fetch is still in flight.
authToken
authToken:
string
Defined in: src/state/types.ts:37
Current bearer token (empty string when no session).
context
context:
Required<Omit<{action?:ITransferReplayAction;credits?: {areCreditsAvailable?:boolean;areCreditsFetched?:boolean;areCreditsLoading?:boolean;creditsInfo?: {addonCredits:number;credits:number;period:"daily"|"weekly"|"monthly"|"yearly"|"permanent"|"trial";renewDate?:string;tierCredits:number; } |null;isShownCreditsInfoCard?:boolean;isShownCreditsTooltip?:boolean;toolId?:string; };headers:Record<string,string>;isPremium?:boolean;language:"id"|"en"|"zh"|"zh_HANT"|"fr"|"de"|"hi"|"it"|"ko"|"pl"|"pt"|"ru"|"ja"|"es"|"th"|"tr"|"vi";launchParams?:Record<string,unknown>;location: {pathname:string;search:string; };mediaPlayer?:DeepPartial<IMediaPlayerState>;project?: {id:string;name?:string; };selectedCanvasId?:string;selectedLayerIds?:string[];settings?:Pick<IReplaySettings,"experience">;sharedStorage:string;textSelection?: {end:number;start:number; };theme:"light"|"dark";user?: {accountType?:string;created?:string;id?:number;isNew?:boolean;key?:string;registered?:boolean;username?:string;verifiedType?:string; };userSubscription?: {expirationDate?:string;isSubscribed:boolean;isTrialLimitReached?:boolean;isUnderFreeTrial?:boolean;status?:string;subscriptionPeriod?:string;tierId:string;tiersAvailability?:boolean; }; },PropertiesWithoutDefaultState>> &Pick<{action?:ITransferReplayAction;credits?: {areCreditsAvailable?:boolean;areCreditsFetched?:boolean;areCreditsLoading?:boolean;creditsInfo?: {addonCredits:number;credits:number;period:"daily"|"weekly"|"monthly"|"yearly"|"permanent"|"trial";renewDate?:string;tierCredits:number; } |null;isShownCreditsInfoCard?:boolean;isShownCreditsTooltip?:boolean;toolId?:string; };headers:Record<string,string>;isPremium?:boolean;language:"id"|"en"|"zh"|"zh_HANT"|"fr"|"de"|"hi"|"it"|"ko"|"pl"|"pt"|"ru"|"ja"|"es"|"th"|"tr"|"vi";launchParams?:Record<string,unknown>;location: {pathname:string;search:string; };mediaPlayer?:DeepPartial<IMediaPlayerState>;project?: {id:string;name?:string; };selectedCanvasId?:string;selectedLayerIds?:string[];settings?:Pick<IReplaySettings,"experience">;sharedStorage:string;textSelection?: {end:number;start:number; };theme:"light"|"dark";user?: {accountType?:string;created?:string;id?:number;isNew?:boolean;key?:string;registered?:boolean;username?:string;verifiedType?:string; };userSubscription?: {expirationDate?:string;isSubscribed:boolean;isTrialLimitReached?:boolean;isUnderFreeTrial?:boolean;status?:string;subscriptionPeriod?:string;tierId:string;tiersAvailability?:boolean; }; },PropertiesWithoutDefaultState>
Defined in: src/state/types.ts:55
SDK-facing transfer context — the only slice shared with the
miniapp. Typed as ITransferContext but with optional fields
promoted to required, so defaultState.context must carry a
value (even undefined) for every key. This keeps the host and
miniapp panels comparable key-for-key at boot.
Some fields stay genuinely optional: textSelection and action
are transient per-event payloads, not steady state — they appear
on the wire only during a dispatch and clear after. launchParams
has no non-undefined default either — the SDK initialises its
model to undefined until the host provides params at open, so
mirroring that keeps the t=0 panels identical.
error
error:
Error|null
Defined in: src/state/types.ts:25
The most recent error from load/bootstrap, or null
isBootstrapped
isBootstrapped:
boolean
Defined in: src/state/types.ts:23
Whether at least one miniapp has successfully bootstrapped
isLoading
isLoading:
boolean
Defined in: src/state/types.ts:21
Whether a miniapp is currently being loaded
noNetwork
noNetwork:
boolean
Defined in: src/state/types.ts:27
Whether the device is offline (no network connectivity)
pulseTrackingState
pulseTrackingState:
string
Defined in: src/state/types.ts:39
Pulse tracking consent state.