igpapi — Instagram private API Simulator for Node.js (API reference) 4.14.0
    Preparing search index...

    Variable iosRuntimeSurfaceConst

    iosRuntimeSurface: (
        | typeof PlainJsonApiHttp
        | typeof Signature
        | typeof MobileSession
        | typeof MobileDevice
        | typeof GraphqlJsonHttp
        | typeof MobileApplication
        | typeof NavigationWire
        | typeof MobileHttpRequest
        | typeof PlainApiHeaders
        | typeof MessengerMediaUploadFeatures
        | typeof PlainNdjsonApiHttp
        | typeof SessionHeaderParser
        | typeof BloksHttp
        | typeof MobileDisplayScaleWire
        | typeof MobileNavigation
        | typeof ProcessSessionOrigin
        | Reference<MediaRepostNotesValue>
        | typeof MobileSurfaceModules
        | typeof TransportProtocolState
        | typeof MobileCookies
        | typeof ProcessUsdidRegistration
        | typeof MobileTraySession
        | typeof JsonResponseHttp
        | typeof AnalyticsSend
        | typeof IosProcess
        | typeof IosSession
        | typeof MobileNetworkWire
        | typeof MobileTelemetry
        | typeof WebViewHttp
    )[] = ...

    The userland surface on iOS — what IosApp provides and what ig.run accepts: every service the publicly runnable effects of the package require, each of them required by at least one such effect. The list is the single declaration of the surface and its type; a type test in ios.igpapi.bridge.test.ts pins it against the package's own barrel in both directions. The process's cookies are read-only (MobileCookies) and the native client's protocol state rides with the transport (TransportProtocolState). The native Transport is deliberately absent — it takes ready bytes. Open fact: MobileHttpRequest is still in the surface because facade bricks use it today (PostingLive, the segmented video upload), so a caller can send an arbitrary request through it; its cost is a request with caller-chosen headers and host, and closing it needs those bricks moved to narrow capabilities.

    IosSession and IosProcess are in the surface on purpose: the public iOS flows run on them. The build context's IosDevice, IosApplication and Scope.Scope are not.