How bobcgn/kmp-miniapp-sdk works
This repository provides a Kotlin Multiplatform SDK for sharing Mini App client behavior and host capabilities while leaving rendering host-native. The principal workflow is a consumer calling the runtime API, using capability contracts supplied by the active host, and reaching platform behavior through the WeChat implementation. The tree also shows a JavaScript export boundary and broad WeChat integrations for device, media, location, payment, and other host features. Edges reflect the README and sampled storage/BLE implementation; unsampled subsystem wiring is intentionally not inferred.
Main entry points: adapter Host Adapters · MiniAppHost.kt Host Contract · MiniAppExports.kt JS Exports · MiniAppSdk.kt SDK API
Components 17
Runtime API
- SDK API
sdk/src/commonMain/kotlin/io/github/bobcgn/miniapp/api/MiniAppSdk.kt - Host Contract
sdk/src/commonMain/kotlin/io/github/bobcgn/miniapp/host/MiniAppHost.kt
Host Capabilities
- Lifecycle
sdk/src/commonMain/kotlin/io/github/bobcgn/miniapp/capability/lifecycle/MiniAppLifecycle.kt - Network
sdk/src/commonMain/kotlin/io/github/bobcgn/miniapp/capability/network/MiniAppHttpTransport.kt - Network Status
sdk/src/commonMain/kotlin/io/github/bobcgn/miniapp/capability/network/MiniAppNetworkStatus.kt - Permissions
sdk/src/commonMain/kotlin/io/github/bobcgn/miniapp/capability/permission/MiniAppPermissions.kt - Privacy
sdk/src/commonMain/kotlin/io/github/bobcgn/miniapp/capability/privacy/MiniAppPrivacy.kt - Storage
sdk/src/commonMain/kotlin/io/github/bobcgn/miniapp/capability/storage/MiniAppStorage.kt
WeChat Host
- WeChat Host
sdk/src/jsMain/kotlin/io/github/bobcgn/miniapp/host/wechat/WechatHost.kt - Host Adapters
sdk/src/jsMain/kotlin/io/github/bobcgn/miniapp/host/wechat/adapter - wx Interop
sdk/src/jsMain/kotlin/io/github/bobcgn/miniapp/host/wechat/interop/Wx.kt - Runtime Support
sdk/src/jsMain/kotlin/io/github/bobcgn/miniapp/host/wechat/runtime
JavaScript Boundary
- JS Exports
sdk/src/jsMain/kotlin/io/github/bobcgn/miniapp/export/MiniAppExports.kt - Callback Adapter
sdk/src/commonMain/kotlin/io/github/bobcgn/miniapp/async/HostCallbackAdapter.kt - BLE Session
sdk/src/jsMain/kotlin/io/github/bobcgn/miniapp/export/BleObservationSession.kt
Other components
- SDK Consumer
- WeChat Runtime
Connections 17
- SDK Consumer → SDK API: calls
- SDK API → Host Contract: uses host
- Host Contract → WeChat Host: implemented by
- WeChat Host → Host Adapters: provides capabilities
- Host Adapters → wx Interop: invokes wx
- wx Interop → WeChat Runtime: calls
- Runtime Support → WeChat Runtime: observes
- Host Adapters → Callback Adapter: adapts callbacks
- JS Exports → Host Contract: exposes host behavior
- JS Exports → BLE Session: provides BLE session
- BLE Session → Host Adapters: controls observation
- Host Adapters → Lifecycle: implements capability
- Host Adapters → Network: implements capability
- Host Adapters → Network Status: implements capability
- Host Adapters → Permissions: implements capability
- Host Adapters → Privacy: implements capability
- Host Adapters → Storage: implements capability