Interface: IRuntimeConfig
Defined in: src/types/runtime.ts:53
Full configuration for createRuntime.
Three properties are required — container, auth, and pulseApp.
All remaining services are optional and can be injected to unlock
additional miniapp capabilities (analytics, uploads, credits, etc.).
Properties
analytics?
optionalanalytics?:IAnalyticsService
Defined in: src/types/runtime.ts:67
Analytics service
auth
auth:
IAuthService
Defined in: src/types/runtime.ts:61
Authentication service
cache?
optionalcache?:ICacheConfig
Defined in: src/types/runtime.ts:122
Cache configuration
container
container:
HTMLElement
Defined in: src/types/runtime.ts:55
Host element where the runtime creates its DOM structure
containerConfig?
optionalcontainerConfig?:IContainerConfig
Defined in: src/types/runtime.ts:119
Container ID mapping for each miniapp layout variant (slot, float, blank, fullScreen, wideScreen)
customEvents?
optionalcustomEvents?:ICustomEventsService
Defined in: src/types/runtime.ts:103
Custom events service for cross-miniapp communication
deepLink?
optionaldeepLink?:IDeepLinkService
Defined in: src/types/runtime.ts:97
Deep link / URL management service
defaultTheme?
optionaldefaultTheme?:"light"|"dark"
Defined in: src/types/runtime.ts:125
Initial theme — defaults to "light" when omitted
drag?
optionaldrag?:IDragService
Defined in: src/types/runtime.ts:100
Drag and drop service
error?
optionalerror?:IErrorService
Defined in: src/types/runtime.ts:116
Provider-agnostic error reporting service
headers?
optionalheaders?:IHeadersService
Defined in: src/types/runtime.ts:94
Headers service for miniapp requests
loading?
optionalloading?:ILoadingService
Defined in: src/types/runtime.ts:79
Loading indicator service
offerScreen?
optionalofferScreen?:IOfferScreenService
Defined in: src/types/runtime.ts:110
Handles a miniapp's openOfferScreen calls. The non-embedded runtime
has no built-in popup to show, so this is the seam a host supplies to
forward the request elsewhere. Omit to keep openOfferScreen rejecting.
overlay?
optionaloverlay?:IOverlayService
Defined in: src/types/runtime.ts:113
Overlay service for rendering overlays on top of the host canvas
project?
optionalproject?:IProjectService
Defined in: src/types/runtime.ts:91
Project management service
pulse?
optionalpulse?:IPulseService
Defined in: src/types/runtime.ts:85
Pulse / tracking service
pulseApp
pulseApp:
string
Defined in: src/types/runtime.ts:64
Host application name (used for analytics, headers)
remoteSettings?
optionalremoteSettings?:IRemoteSettingsService
Defined in: src/types/runtime.ts:82
Remote settings / feature flags service
renderingEngine?
optionalrenderingEngine?:IRenderingEngine
Defined in: src/types/runtime.ts:58
Rendering engine implementation — defaults to headless when omitted
storage?
optionalstorage?:IStorageService
Defined in: src/types/runtime.ts:70
Local storage adapter for miniapp preferences
ui?
optionalui?:IUIService
Defined in: src/types/runtime.ts:73
UI services (dialogs, notifications)
upload?
optionalupload?:IUploadService
Defined in: src/types/runtime.ts:76
File upload service
user?
optionaluser?:IUserService
Defined in: src/types/runtime.ts:88
User information service
Methods
forwardToParent()?
optionalforwardToParent(): ((message) =>void) |null
Defined in: src/types/runtime.ts:131
Forward messages to parent (for embedded/mobile mode)
Returns
((message) => void) | null
onRedirectToPackageId()?
optionalonRedirectToPackageId(params):void
Defined in: src/types/runtime.ts:128
Callback when a miniapp redirects to another package
Parameters
params
miniapp
{ appVersion: string; categoryTags: string[]; changeLog: string; createdBy: { displayName: string; id: string; photo: string; }; createdOn: string; description: string; experience: "Edit" | "Create" | "Landing"; extensions: object[]; iconUrl: string; id: string; isModuleFederated: boolean; isPublic: boolean; isTrusted: boolean; layout?: string; name: string; owners: object[]; packageId: string; permissions: "View"[]; platforms: ("android" | "apple" | "website")[]; platformVersion: string; productBundle: string; routes?: object[]; state: "Draft" | "Published"; systemTags: string[]; tags: string[]; updatedBy: { displayName: string; id: string; photo: string; }; updatedOn: string; workspaceIds: string[]; }
miniapp.appVersion
string = ...
miniapp.categoryTags
string[] = ...
miniapp.changeLog
string = ...
miniapp.createdBy
{ displayName: string; id: string; photo: string; } = ...
miniapp.createdBy.displayName
string = ...
miniapp.createdBy.id
string = ...
miniapp.createdBy.photo
string = ...
miniapp.createdOn
string = ...
miniapp.description
string = ...
miniapp.experience
"Edit" | "Create" | "Landing" = ...
miniapp.extensions
object[] = ...
miniapp.iconUrl
string = ...
miniapp.id
string = ...
miniapp.isModuleFederated
boolean = ...
miniapp.isPublic
boolean = ...
miniapp.isTrusted
boolean = ...
miniapp.layout?
string = ...
miniapp.name
string = ...
miniapp.owners
object[] = ...
miniapp.packageId
string = ...
miniapp.permissions
"View"[] = ...
miniapp.platforms
("android" | "apple" | "website")[] = ...
miniapp.platformVersion
string = ...
miniapp.productBundle
string = ...
miniapp.routes?
object[] = ...
miniapp.state
"Draft" | "Published" = ...
miniapp.systemTags
string[] = ...
miniapp.tags
string[] = ...
miniapp.updatedBy
{ displayName: string; id: string; photo: string; } = ...
miniapp.updatedBy.displayName
string = ...
miniapp.updatedBy.id
string = ...
miniapp.updatedBy.photo
string = ...
miniapp.updatedOn
string = ...
miniapp.workspaceIds
string[] = ...
Returns
void