@mentra/engine 0.1.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -0
- package/build/devtools.d.ts +11 -0
- package/build/devtools.d.ts.map +1 -0
- package/build/devtools.js +13 -0
- package/build/devtools.js.map +1 -0
- package/build/engine.d.ts +261 -0
- package/build/engine.d.ts.map +1 -0
- package/build/engine.js +170 -0
- package/build/engine.js.map +1 -0
- package/build/facades/dev.d.ts +58 -0
- package/build/facades/dev.d.ts.map +1 -0
- package/build/facades/dev.js +189 -0
- package/build/facades/dev.js.map +1 -0
- package/build/facades/display.d.ts +21 -0
- package/build/facades/display.d.ts.map +1 -0
- package/build/facades/display.js +17 -0
- package/build/facades/display.js.map +1 -0
- package/build/facades/displayMirror.d.ts +15 -0
- package/build/facades/displayMirror.d.ts.map +1 -0
- package/build/facades/displayMirror.js +29 -0
- package/build/facades/displayMirror.js.map +1 -0
- package/build/facades/gallery.d.ts +62 -0
- package/build/facades/gallery.d.ts.map +1 -0
- package/build/facades/gallery.js +61 -0
- package/build/facades/gallery.js.map +1 -0
- package/build/facades/glasses.d.ts +141 -0
- package/build/facades/glasses.d.ts.map +1 -0
- package/build/facades/glasses.js +199 -0
- package/build/facades/glasses.js.map +1 -0
- package/build/facades/glassesSettings.d.ts +13 -0
- package/build/facades/glassesSettings.d.ts.map +1 -0
- package/build/facades/glassesSettings.js +54 -0
- package/build/facades/glassesSettings.js.map +1 -0
- package/build/facades/glassesWifi.d.ts +25 -0
- package/build/facades/glassesWifi.d.ts.map +1 -0
- package/build/facades/glassesWifi.js +57 -0
- package/build/facades/glassesWifi.js.map +1 -0
- package/build/facades/miniapps.d.ts +43 -0
- package/build/facades/miniapps.d.ts.map +1 -0
- package/build/facades/miniapps.js +49 -0
- package/build/facades/miniapps.js.map +1 -0
- package/build/facades/notifications.d.ts +13 -0
- package/build/facades/notifications.d.ts.map +1 -0
- package/build/facades/notifications.js +12 -0
- package/build/facades/notifications.js.map +1 -0
- package/build/facades/ota.d.ts +103 -0
- package/build/facades/ota.d.ts.map +1 -0
- package/build/facades/ota.js +156 -0
- package/build/facades/ota.js.map +1 -0
- package/build/facades/pairing.d.ts +114 -0
- package/build/facades/pairing.d.ts.map +1 -0
- package/build/facades/pairing.js +275 -0
- package/build/facades/pairing.js.map +1 -0
- package/build/facades/permissions.d.ts +33 -0
- package/build/facades/permissions.d.ts.map +1 -0
- package/build/facades/permissions.js +155 -0
- package/build/facades/permissions.js.map +1 -0
- package/build/facades/phoneNotifications.d.ts +21 -0
- package/build/facades/phoneNotifications.d.ts.map +1 -0
- package/build/facades/phoneNotifications.js +51 -0
- package/build/facades/phoneNotifications.js.map +1 -0
- package/build/facades/reports.d.ts +36 -0
- package/build/facades/reports.d.ts.map +1 -0
- package/build/facades/reports.js +134 -0
- package/build/facades/reports.js.map +1 -0
- package/build/facades/session.d.ts +21 -0
- package/build/facades/session.d.ts.map +1 -0
- package/build/facades/session.js +52 -0
- package/build/facades/session.js.map +1 -0
- package/build/facades/settings.d.ts +37 -0
- package/build/facades/settings.d.ts.map +1 -0
- package/build/facades/settings.js +55 -0
- package/build/facades/settings.js.map +1 -0
- package/build/facades/speech.d.ts +30 -0
- package/build/facades/speech.d.ts.map +1 -0
- package/build/facades/speech.js +37 -0
- package/build/facades/speech.js.map +1 -0
- package/build/index.d.ts +43 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +45 -0
- package/build/index.js.map +1 -0
- package/build/internal.d.ts +67 -0
- package/build/internal.d.ts.map +1 -0
- package/build/internal.js +90 -0
- package/build/internal.js.map +1 -0
- package/build/runtime/bootstrap.d.ts +83 -0
- package/build/runtime/bootstrap.d.ts.map +1 -0
- package/build/runtime/bootstrap.js +56 -0
- package/build/runtime/bootstrap.js.map +1 -0
- package/build/runtime/config.d.ts +146 -0
- package/build/runtime/config.d.ts.map +1 -0
- package/build/runtime/config.js +18 -0
- package/build/runtime/config.js.map +1 -0
- package/build/runtime/streamConfig.d.ts +4 -0
- package/build/runtime/streamConfig.d.ts.map +1 -0
- package/build/runtime/streamConfig.js +38 -0
- package/build/runtime/streamConfig.js.map +1 -0
- package/build/services/AppRegistry.d.ts +269 -0
- package/build/services/AppRegistry.d.ts.map +1 -0
- package/build/services/AppRegistry.js +1079 -0
- package/build/services/AppRegistry.js.map +1 -0
- package/build/services/AudioCloudUplink.d.ts +9 -0
- package/build/services/AudioCloudUplink.d.ts.map +1 -0
- package/build/services/AudioCloudUplink.js +48 -0
- package/build/services/AudioCloudUplink.js.map +1 -0
- package/build/services/AudioPlaybackService.d.ts +175 -0
- package/build/services/AudioPlaybackService.d.ts.map +1 -0
- package/build/services/AudioPlaybackService.js +705 -0
- package/build/services/AudioPlaybackService.js.map +1 -0
- package/build/services/AutomaticReportResult.d.ts +20 -0
- package/build/services/AutomaticReportResult.d.ts.map +1 -0
- package/build/services/AutomaticReportResult.js +29 -0
- package/build/services/AutomaticReportResult.js.map +1 -0
- package/build/services/BlobStore.d.ts +91 -0
- package/build/services/BlobStore.d.ts.map +1 -0
- package/build/services/BlobStore.js +668 -0
- package/build/services/BlobStore.js.map +1 -0
- package/build/services/CaptionsTesterReportService.d.ts +4 -0
- package/build/services/CaptionsTesterReportService.d.ts.map +1 -0
- package/build/services/CaptionsTesterReportService.js +80 -0
- package/build/services/CaptionsTesterReportService.js.map +1 -0
- package/build/services/CloudAudioSubscriptionSync.d.ts +24 -0
- package/build/services/CloudAudioSubscriptionSync.d.ts.map +1 -0
- package/build/services/CloudAudioSubscriptionSync.js +39 -0
- package/build/services/CloudAudioSubscriptionSync.js.map +1 -0
- package/build/services/CloudClientService.d.ts +143 -0
- package/build/services/CloudClientService.d.ts.map +1 -0
- package/build/services/CloudClientService.js +644 -0
- package/build/services/CloudClientService.js.map +1 -0
- package/build/services/CloudTranscriptE2EMetrics.d.ts +4 -0
- package/build/services/CloudTranscriptE2EMetrics.d.ts.map +1 -0
- package/build/services/CloudTranscriptE2EMetrics.js +24 -0
- package/build/services/CloudTranscriptE2EMetrics.js.map +1 -0
- package/build/services/ConnectionCoordinator.d.ts +51 -0
- package/build/services/ConnectionCoordinator.d.ts.map +1 -0
- package/build/services/ConnectionCoordinator.js +34 -0
- package/build/services/ConnectionCoordinator.js.map +1 -0
- package/build/services/DevServerBridge.d.ts +63 -0
- package/build/services/DevServerBridge.d.ts.map +1 -0
- package/build/services/DevServerBridge.js +294 -0
- package/build/services/DevServerBridge.js.map +1 -0
- package/build/services/DeviceEventRouter.d.ts +3 -0
- package/build/services/DeviceEventRouter.d.ts.map +1 -0
- package/build/services/DeviceEventRouter.js +190 -0
- package/build/services/DeviceEventRouter.js.map +1 -0
- package/build/services/DeviceStoreHydration.d.ts +38 -0
- package/build/services/DeviceStoreHydration.d.ts.map +1 -0
- package/build/services/DeviceStoreHydration.js +124 -0
- package/build/services/DeviceStoreHydration.js.map +1 -0
- package/build/services/DisplayProcessor.d.ts +223 -0
- package/build/services/DisplayProcessor.d.ts.map +1 -0
- package/build/services/DisplayProcessor.js +552 -0
- package/build/services/DisplayProcessor.js.map +1 -0
- package/build/services/GlassesReadiness.d.ts +41 -0
- package/build/services/GlassesReadiness.d.ts.map +1 -0
- package/build/services/GlassesReadiness.js +82 -0
- package/build/services/GlassesReadiness.js.map +1 -0
- package/build/services/GlassesSettingsSync.d.ts +33 -0
- package/build/services/GlassesSettingsSync.d.ts.map +1 -0
- package/build/services/GlassesSettingsSync.js +121 -0
- package/build/services/GlassesSettingsSync.js.map +1 -0
- package/build/services/GlassesStatusProjection.d.ts +3 -0
- package/build/services/GlassesStatusProjection.d.ts.map +1 -0
- package/build/services/GlassesStatusProjection.js +65 -0
- package/build/services/GlassesStatusProjection.js.map +1 -0
- package/build/services/HeadingService.d.ts +27 -0
- package/build/services/HeadingService.d.ts.map +1 -0
- package/build/services/HeadingService.js +96 -0
- package/build/services/HeadingService.js.map +1 -0
- package/build/services/LocalDisplayManager.d.ts +139 -0
- package/build/services/LocalDisplayManager.d.ts.map +1 -0
- package/build/services/LocalDisplayManager.js +579 -0
- package/build/services/LocalDisplayManager.js.map +1 -0
- package/build/services/LocalMiniappRuntime.d.ts +439 -0
- package/build/services/LocalMiniappRuntime.d.ts.map +1 -0
- package/build/services/LocalMiniappRuntime.js +3695 -0
- package/build/services/LocalMiniappRuntime.js.map +1 -0
- package/build/services/LocalSttFallbackCoordinator.d.ts +57 -0
- package/build/services/LocalSttFallbackCoordinator.d.ts.map +1 -0
- package/build/services/LocalSttFallbackCoordinator.js +137 -0
- package/build/services/LocalSttFallbackCoordinator.js.map +1 -0
- package/build/services/MentraJSCrashController.d.ts +97 -0
- package/build/services/MentraJSCrashController.d.ts.map +1 -0
- package/build/services/MentraJSCrashController.js +138 -0
- package/build/services/MentraJSCrashController.js.map +1 -0
- package/build/services/MentraJSCrashloopReportService.d.ts +9 -0
- package/build/services/MentraJSCrashloopReportService.d.ts.map +1 -0
- package/build/services/MentraJSCrashloopReportService.js +54 -0
- package/build/services/MentraJSCrashloopReportService.js.map +1 -0
- package/build/services/MentraJSLogPipeline.d.ts +87 -0
- package/build/services/MentraJSLogPipeline.d.ts.map +1 -0
- package/build/services/MentraJSLogPipeline.js +137 -0
- package/build/services/MentraJSLogPipeline.js.map +1 -0
- package/build/services/MentraJSRouter.d.ts +203 -0
- package/build/services/MentraJSRouter.d.ts.map +1 -0
- package/build/services/MentraJSRouter.js +480 -0
- package/build/services/MentraJSRouter.js.map +1 -0
- package/build/services/MentraUIRouter.d.ts +137 -0
- package/build/services/MentraUIRouter.d.ts.map +1 -0
- package/build/services/MentraUIRouter.js +210 -0
- package/build/services/MentraUIRouter.js.map +1 -0
- package/build/services/MicStateCoordinator.d.ts +37 -0
- package/build/services/MicStateCoordinator.d.ts.map +1 -0
- package/build/services/MicStateCoordinator.js +81 -0
- package/build/services/MicStateCoordinator.js.map +1 -0
- package/build/services/MiniappEngine.d.ts +31 -0
- package/build/services/MiniappEngine.d.ts.map +1 -0
- package/build/services/MiniappEngine.js +119 -0
- package/build/services/MiniappEngine.js.map +1 -0
- package/build/services/MiniappLauncher.d.ts +129 -0
- package/build/services/MiniappLauncher.d.ts.map +1 -0
- package/build/services/MiniappLauncher.js +291 -0
- package/build/services/MiniappLauncher.js.map +1 -0
- package/build/services/MiniappRunningRegistry.d.ts +24 -0
- package/build/services/MiniappRunningRegistry.d.ts.map +1 -0
- package/build/services/MiniappRunningRegistry.js +52 -0
- package/build/services/MiniappRunningRegistry.js.map +1 -0
- package/build/services/NativeHttpResponse.d.ts +3 -0
- package/build/services/NativeHttpResponse.d.ts.map +1 -0
- package/build/services/NativeHttpResponse.js +6 -0
- package/build/services/NativeHttpResponse.js.map +1 -0
- package/build/services/NavigationHandlers.d.ts +90 -0
- package/build/services/NavigationHandlers.d.ts.map +1 -0
- package/build/services/NavigationHandlers.js +379 -0
- package/build/services/NavigationHandlers.js.map +1 -0
- package/build/services/NavigationService.d.ts +254 -0
- package/build/services/NavigationService.d.ts.map +1 -0
- package/build/services/NavigationService.js +553 -0
- package/build/services/NavigationService.js.map +1 -0
- package/build/services/NotificationsEmitter.d.ts +28 -0
- package/build/services/NotificationsEmitter.d.ts.map +1 -0
- package/build/services/NotificationsEmitter.js +22 -0
- package/build/services/NotificationsEmitter.js.map +1 -0
- package/build/services/OfflineSpeechModelService.d.ts +33 -0
- package/build/services/OfflineSpeechModelService.d.ts.map +1 -0
- package/build/services/OfflineSpeechModelService.js +136 -0
- package/build/services/OfflineSpeechModelService.js.map +1 -0
- package/build/services/OtaInstallCoordinator.d.ts +195 -0
- package/build/services/OtaInstallCoordinator.d.ts.map +1 -0
- package/build/services/OtaInstallCoordinator.js +1047 -0
- package/build/services/OtaInstallCoordinator.js.map +1 -0
- package/build/services/OtaService.d.ts +3 -0
- package/build/services/OtaService.d.ts.map +1 -0
- package/build/services/OtaService.js +65 -0
- package/build/services/OtaService.js.map +1 -0
- package/build/services/OtaUpdateCheckService.d.ts +65 -0
- package/build/services/OtaUpdateCheckService.d.ts.map +1 -0
- package/build/services/OtaUpdateCheckService.js +260 -0
- package/build/services/OtaUpdateCheckService.js.map +1 -0
- package/build/services/PairingIdentity.d.ts +80 -0
- package/build/services/PairingIdentity.d.ts.map +1 -0
- package/build/services/PairingIdentity.js +145 -0
- package/build/services/PairingIdentity.js.map +1 -0
- package/build/services/PhoneCalendarHelpers.d.ts +32 -0
- package/build/services/PhoneCalendarHelpers.d.ts.map +1 -0
- package/build/services/PhoneCalendarHelpers.js +157 -0
- package/build/services/PhoneCalendarHelpers.js.map +1 -0
- package/build/services/PhoneCalendarService.d.ts +5 -0
- package/build/services/PhoneCalendarService.d.ts.map +1 -0
- package/build/services/PhoneCalendarService.js +24 -0
- package/build/services/PhoneCalendarService.js.map +1 -0
- package/build/services/PhoneCameraFovCoordinator.d.ts +28 -0
- package/build/services/PhoneCameraFovCoordinator.d.ts.map +1 -0
- package/build/services/PhoneCameraFovCoordinator.js +180 -0
- package/build/services/PhoneCameraFovCoordinator.js.map +1 -0
- package/build/services/PhoneLocationService.d.ts +36 -0
- package/build/services/PhoneLocationService.d.ts.map +1 -0
- package/build/services/PhoneLocationService.js +115 -0
- package/build/services/PhoneLocationService.js.map +1 -0
- package/build/services/PhoneNotificationsSync.d.ts +3 -0
- package/build/services/PhoneNotificationsSync.d.ts.map +1 -0
- package/build/services/PhoneNotificationsSync.js +35 -0
- package/build/services/PhoneNotificationsSync.js.map +1 -0
- package/build/services/PhonePhotoCoordinator.d.ts +103 -0
- package/build/services/PhonePhotoCoordinator.d.ts.map +1 -0
- package/build/services/PhonePhotoCoordinator.js +326 -0
- package/build/services/PhonePhotoCoordinator.js.map +1 -0
- package/build/services/PhoneStreamCoordinator.d.ts +168 -0
- package/build/services/PhoneStreamCoordinator.d.ts.map +1 -0
- package/build/services/PhoneStreamCoordinator.js +632 -0
- package/build/services/PhoneStreamCoordinator.js.map +1 -0
- package/build/services/PhoneVideoCoordinator.d.ts +50 -0
- package/build/services/PhoneVideoCoordinator.d.ts.map +1 -0
- package/build/services/PhoneVideoCoordinator.js +147 -0
- package/build/services/PhoneVideoCoordinator.js.map +1 -0
- package/build/services/STTModelManager.d.ts +65 -0
- package/build/services/STTModelManager.d.ts.map +1 -0
- package/build/services/STTModelManager.js +292 -0
- package/build/services/STTModelManager.js.map +1 -0
- package/build/services/SceneRenderer.d.ts +90 -0
- package/build/services/SceneRenderer.d.ts.map +1 -0
- package/build/services/SceneRenderer.js +248 -0
- package/build/services/SceneRenderer.js.map +1 -0
- package/build/services/SentenceTtsPipeline.d.ts +31 -0
- package/build/services/SentenceTtsPipeline.d.ts.map +1 -0
- package/build/services/SentenceTtsPipeline.js +67 -0
- package/build/services/SentenceTtsPipeline.js.map +1 -0
- package/build/services/StreamLifecycleController.d.ts +67 -0
- package/build/services/StreamLifecycleController.d.ts.map +1 -0
- package/build/services/StreamLifecycleController.js +152 -0
- package/build/services/StreamLifecycleController.js.map +1 -0
- package/build/services/TTSModelManager.d.ts +90 -0
- package/build/services/TTSModelManager.d.ts.map +1 -0
- package/build/services/TTSModelManager.js +366 -0
- package/build/services/TTSModelManager.js.map +1 -0
- package/build/services/TranscriptionRouting.d.ts +12 -0
- package/build/services/TranscriptionRouting.d.ts.map +1 -0
- package/build/services/TranscriptionRouting.js +24 -0
- package/build/services/TranscriptionRouting.js.map +1 -0
- package/build/services/WebviewBridge.d.ts +22 -0
- package/build/services/WebviewBridge.d.ts.map +1 -0
- package/build/services/WebviewBridge.js +47 -0
- package/build/services/WebviewBridge.js.map +1 -0
- package/build/services/asg/GalleryMediaIntegrityReportService.d.ts +17 -0
- package/build/services/asg/GalleryMediaIntegrityReportService.d.ts.map +1 -0
- package/build/services/asg/GalleryMediaIntegrityReportService.js +43 -0
- package/build/services/asg/GalleryMediaIntegrityReportService.js.map +1 -0
- package/build/services/asg/asgCameraApi.d.ts +205 -0
- package/build/services/asg/asgCameraApi.d.ts.map +1 -0
- package/build/services/asg/asgCameraApi.js +1410 -0
- package/build/services/asg/asgCameraApi.js.map +1 -0
- package/build/services/asg/cameraRollExportCoordinator.d.ts +60 -0
- package/build/services/asg/cameraRollExportCoordinator.d.ts.map +1 -0
- package/build/services/asg/cameraRollExportCoordinator.js +618 -0
- package/build/services/asg/cameraRollExportCoordinator.js.map +1 -0
- package/build/services/asg/cameraRollExportLedger.d.ts +44 -0
- package/build/services/asg/cameraRollExportLedger.d.ts.map +1 -0
- package/build/services/asg/cameraRollExportLedger.js +78 -0
- package/build/services/asg/cameraRollExportLedger.js.map +1 -0
- package/build/services/asg/galleryMediaValidation.d.ts +29 -0
- package/build/services/asg/galleryMediaValidation.d.ts.map +1 -0
- package/build/services/asg/galleryMediaValidation.js +149 -0
- package/build/services/asg/galleryMediaValidation.js.map +1 -0
- package/build/services/asg/galleryNotices.d.ts +33 -0
- package/build/services/asg/galleryNotices.d.ts.map +1 -0
- package/build/services/asg/galleryNotices.js +29 -0
- package/build/services/asg/galleryNotices.js.map +1 -0
- package/build/services/asg/galleryPathMigration.d.ts +3 -0
- package/build/services/asg/galleryPathMigration.d.ts.map +1 -0
- package/build/services/asg/galleryPathMigration.js +26 -0
- package/build/services/asg/galleryPathMigration.js.map +1 -0
- package/build/services/asg/gallerySettingsService.d.ts +20 -0
- package/build/services/asg/gallerySettingsService.d.ts.map +1 -0
- package/build/services/asg/gallerySettingsService.js +53 -0
- package/build/services/asg/gallerySettingsService.js.map +1 -0
- package/build/services/asg/gallerySyncNotifications.d.ts +56 -0
- package/build/services/asg/gallerySyncNotifications.d.ts.map +1 -0
- package/build/services/asg/gallerySyncNotifications.js +198 -0
- package/build/services/asg/gallerySyncNotifications.js.map +1 -0
- package/build/services/asg/gallerySyncService.d.ts +137 -0
- package/build/services/asg/gallerySyncService.d.ts.map +1 -0
- package/build/services/asg/gallerySyncService.js +1933 -0
- package/build/services/asg/gallerySyncService.js.map +1 -0
- package/build/services/asg/galleryTransferLedger.d.ts +58 -0
- package/build/services/asg/galleryTransferLedger.d.ts.map +1 -0
- package/build/services/asg/galleryTransferLedger.js +225 -0
- package/build/services/asg/galleryTransferLedger.js.map +1 -0
- package/build/services/asg/localNetworkTransport.d.ts +15 -0
- package/build/services/asg/localNetworkTransport.d.ts.map +1 -0
- package/build/services/asg/localNetworkTransport.js +144 -0
- package/build/services/asg/localNetworkTransport.js.map +1 -0
- package/build/services/asg/localStorageService.d.ts +146 -0
- package/build/services/asg/localStorageService.d.ts.map +1 -0
- package/build/services/asg/localStorageService.js +572 -0
- package/build/services/asg/localStorageService.js.map +1 -0
- package/build/services/asg/mediaProcessingQueue.d.ts +70 -0
- package/build/services/asg/mediaProcessingQueue.d.ts.map +1 -0
- package/build/services/asg/mediaProcessingQueue.js +451 -0
- package/build/services/asg/mediaProcessingQueue.js.map +1 -0
- package/build/services/asgOtaVersionUrl.d.ts +2 -0
- package/build/services/asgOtaVersionUrl.d.ts.map +1 -0
- package/build/services/asgOtaVersionUrl.js +36 -0
- package/build/services/asgOtaVersionUrl.js.map +1 -0
- package/build/services/blobPaths.d.ts +31 -0
- package/build/services/blobPaths.d.ts.map +1 -0
- package/build/services/blobPaths.js +86 -0
- package/build/services/blobPaths.js.map +1 -0
- package/build/services/cloudStreamApi.d.ts +59 -0
- package/build/services/cloudStreamApi.d.ts.map +1 -0
- package/build/services/cloudStreamApi.js +81 -0
- package/build/services/cloudStreamApi.js.map +1 -0
- package/build/services/gallerySyncClock.d.ts +17 -0
- package/build/services/gallerySyncClock.d.ts.map +1 -0
- package/build/services/gallerySyncClock.js +21 -0
- package/build/services/gallerySyncClock.js.map +1 -0
- package/build/services/glassesClockSync.d.ts +20 -0
- package/build/services/glassesClockSync.d.ts.map +1 -0
- package/build/services/glassesClockSync.js +97 -0
- package/build/services/glassesClockSync.js.map +1 -0
- package/build/services/manifestVersionGate.d.ts +28 -0
- package/build/services/manifestVersionGate.d.ts.map +1 -0
- package/build/services/manifestVersionGate.js +41 -0
- package/build/services/manifestVersionGate.js.map +1 -0
- package/build/services/mentraUiShim.d.ts +38 -0
- package/build/services/mentraUiShim.d.ts.map +1 -0
- package/build/services/mentraUiShim.js +360 -0
- package/build/services/mentraUiShim.js.map +1 -0
- package/build/services/navigation/roadNameResolver.d.ts +67 -0
- package/build/services/navigation/roadNameResolver.d.ts.map +1 -0
- package/build/services/navigation/roadNameResolver.js +96 -0
- package/build/services/navigation/roadNameResolver.js.map +1 -0
- package/build/services/navigation/routesApiCodec.d.ts +38 -0
- package/build/services/navigation/routesApiCodec.d.ts.map +1 -0
- package/build/services/navigation/routesApiCodec.js +68 -0
- package/build/services/navigation/routesApiCodec.js.map +1 -0
- package/build/services/otaDisplayState.d.ts +42 -0
- package/build/services/otaDisplayState.d.ts.map +1 -0
- package/build/services/otaDisplayState.js +92 -0
- package/build/services/otaDisplayState.js.map +1 -0
- package/build/services/otaInstallPolicy.d.ts +81 -0
- package/build/services/otaInstallPolicy.d.ts.map +1 -0
- package/build/services/otaInstallPolicy.js +96 -0
- package/build/services/otaInstallPolicy.js.map +1 -0
- package/build/services/otaLegacyMapping.d.ts +22 -0
- package/build/services/otaLegacyMapping.d.ts.map +1 -0
- package/build/services/otaLegacyMapping.js +56 -0
- package/build/services/otaLegacyMapping.js.map +1 -0
- package/build/services/slimStreamStatus.d.ts +7 -0
- package/build/services/slimStreamStatus.d.ts.map +1 -0
- package/build/services/slimStreamStatus.js +26 -0
- package/build/services/slimStreamStatus.js.map +1 -0
- package/build/stores/apps.d.ts +104 -0
- package/build/stores/apps.d.ts.map +1 -0
- package/build/stores/apps.js +492 -0
- package/build/stores/apps.js.map +1 -0
- package/build/stores/bluetoothSettingKeys.d.ts +4 -0
- package/build/stores/bluetoothSettingKeys.d.ts.map +1 -0
- package/build/stores/bluetoothSettingKeys.js +31 -0
- package/build/stores/bluetoothSettingKeys.js.map +1 -0
- package/build/stores/cloudClientStatus.d.ts +9 -0
- package/build/stores/cloudClientStatus.d.ts.map +1 -0
- package/build/stores/cloudClientStatus.js +24 -0
- package/build/stores/cloudClientStatus.js.map +1 -0
- package/build/stores/connection.d.ts +22 -0
- package/build/stores/connection.d.ts.map +1 -0
- package/build/stores/connection.js +43 -0
- package/build/stores/connection.js.map +1 -0
- package/build/stores/core.d.ts +15 -0
- package/build/stores/core.d.ts.map +1 -0
- package/build/stores/core.js +21 -0
- package/build/stores/core.js.map +1 -0
- package/build/stores/display.d.ts +24 -0
- package/build/stores/display.d.ts.map +1 -0
- package/build/stores/display.js +96 -0
- package/build/stores/display.js.map +1 -0
- package/build/stores/gallerySync.d.ts +101 -0
- package/build/stores/gallerySync.d.ts.map +1 -0
- package/build/stores/gallerySync.js +217 -0
- package/build/stores/gallerySync.js.map +1 -0
- package/build/stores/glasses.d.ts +62 -0
- package/build/stores/glasses.d.ts.map +1 -0
- package/build/stores/glasses.js +203 -0
- package/build/stores/glasses.js.map +1 -0
- package/build/stores/settings.d.ts +37 -0
- package/build/stores/settings.d.ts.map +1 -0
- package/build/stores/settings.js +922 -0
- package/build/stores/settings.js.map +1 -0
- package/build/types/applet.d.ts +96 -0
- package/build/types/applet.d.ts.map +1 -0
- package/build/types/applet.js +5 -0
- package/build/types/applet.js.map +1 -0
- package/build/types/asg.d.ts +53 -0
- package/build/types/asg.d.ts.map +1 -0
- package/build/types/asg.js +2 -0
- package/build/types/asg.js.map +1 -0
- package/build/types/capabilities/even-realities-g1.d.ts +12 -0
- package/build/types/capabilities/even-realities-g1.d.ts.map +1 -0
- package/build/types/capabilities/even-realities-g1.js +55 -0
- package/build/types/capabilities/even-realities-g1.js.map +1 -0
- package/build/types/capabilities/even-realities-g2.d.ts +12 -0
- package/build/types/capabilities/even-realities-g2.d.ts.map +1 -0
- package/build/types/capabilities/even-realities-g2.js +75 -0
- package/build/types/capabilities/even-realities-g2.js.map +1 -0
- package/build/types/capabilities/mentra-display.d.ts +12 -0
- package/build/types/capabilities/mentra-display.d.ts.map +1 -0
- package/build/types/capabilities/mentra-display.js +63 -0
- package/build/types/capabilities/mentra-display.js.map +1 -0
- package/build/types/capabilities/mentra-live.d.ts +12 -0
- package/build/types/capabilities/mentra-live.d.ts.map +1 -0
- package/build/types/capabilities/mentra-live.js +92 -0
- package/build/types/capabilities/mentra-live.js.map +1 -0
- package/build/types/capabilities/none.d.ts +13 -0
- package/build/types/capabilities/none.d.ts.map +1 -0
- package/build/types/capabilities/none.js +65 -0
- package/build/types/capabilities/none.js.map +1 -0
- package/build/types/capabilities/simulated-glasses.d.ts +13 -0
- package/build/types/capabilities/simulated-glasses.d.ts.map +1 -0
- package/build/types/capabilities/simulated-glasses.js +65 -0
- package/build/types/capabilities/simulated-glasses.js.map +1 -0
- package/build/types/capabilities/vuzix-z100.d.ts +12 -0
- package/build/types/capabilities/vuzix-z100.d.ts.map +1 -0
- package/build/types/capabilities/vuzix-z100.js +52 -0
- package/build/types/capabilities/vuzix-z100.js.map +1 -0
- package/build/types/enums.d.ts +40 -0
- package/build/types/enums.d.ts.map +1 -0
- package/build/types/enums.js +44 -0
- package/build/types/enums.js.map +1 -0
- package/build/types/hardware.d.ts +160 -0
- package/build/types/hardware.d.ts.map +1 -0
- package/build/types/hardware.js +36 -0
- package/build/types/hardware.js.map +1 -0
- package/build/types/index.d.ts +11 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/index.js +10 -0
- package/build/types/index.js.map +1 -0
- package/build/utils/GlobalEventEmitter.d.ts +10 -0
- package/build/utils/GlobalEventEmitter.d.ts.map +1 -0
- package/build/utils/GlobalEventEmitter.js +13 -0
- package/build/utils/GlobalEventEmitter.js.map +1 -0
- package/build/utils/cloudClient/RnUdpAdapter.d.ts +3 -0
- package/build/utils/cloudClient/RnUdpAdapter.d.ts.map +1 -0
- package/build/utils/cloudClient/RnUdpAdapter.js +41 -0
- package/build/utils/cloudClient/RnUdpAdapter.js.map +1 -0
- package/build/utils/cloudClient/cloudSecureStore.d.ts +3 -0
- package/build/utils/cloudClient/cloudSecureStore.d.ts.map +1 -0
- package/build/utils/cloudClient/cloudSecureStore.js +26 -0
- package/build/utils/cloudClient/cloudSecureStore.js.map +1 -0
- package/build/utils/debouncedPatch.d.ts +6 -0
- package/build/utils/debouncedPatch.d.ts.map +1 -0
- package/build/utils/debouncedPatch.js +25 -0
- package/build/utils/debouncedPatch.js.map +1 -0
- package/build/utils/devLogging.d.ts +26 -0
- package/build/utils/devLogging.d.ts.map +1 -0
- package/build/utils/devLogging.js +116 -0
- package/build/utils/devLogging.js.map +1 -0
- package/build/utils/devMiniappLaunch.d.ts +44 -0
- package/build/utils/devMiniappLaunch.d.ts.map +1 -0
- package/build/utils/devMiniappLaunch.js +52 -0
- package/build/utils/devMiniappLaunch.js.map +1 -0
- package/build/utils/diagnosticContext.d.ts +3 -0
- package/build/utils/diagnosticContext.d.ts.map +1 -0
- package/build/utils/diagnosticContext.js +119 -0
- package/build/utils/diagnosticContext.js.map +1 -0
- package/build/utils/display/composer/ColumnComposer.d.ts +131 -0
- package/build/utils/display/composer/ColumnComposer.d.ts.map +1 -0
- package/build/utils/display/composer/ColumnComposer.js +204 -0
- package/build/utils/display/composer/ColumnComposer.js.map +1 -0
- package/build/utils/display/composer/index.d.ts +9 -0
- package/build/utils/display/composer/index.d.ts.map +1 -0
- package/build/utils/display/composer/index.js +9 -0
- package/build/utils/display/composer/index.js.map +1 -0
- package/build/utils/display/helpers/DisplayHelpers.d.ts +165 -0
- package/build/utils/display/helpers/DisplayHelpers.d.ts.map +1 -0
- package/build/utils/display/helpers/DisplayHelpers.js +312 -0
- package/build/utils/display/helpers/DisplayHelpers.js.map +1 -0
- package/build/utils/display/helpers/ScrollView.d.ts +183 -0
- package/build/utils/display/helpers/ScrollView.d.ts.map +1 -0
- package/build/utils/display/helpers/ScrollView.js +257 -0
- package/build/utils/display/helpers/ScrollView.js.map +1 -0
- package/build/utils/display/helpers/index.d.ts +11 -0
- package/build/utils/display/helpers/index.d.ts.map +1 -0
- package/build/utils/display/helpers/index.js +10 -0
- package/build/utils/display/helpers/index.js.map +1 -0
- package/build/utils/display/index.d.ts +174 -0
- package/build/utils/display/index.d.ts.map +1 -0
- package/build/utils/display/index.js +185 -0
- package/build/utils/display/index.js.map +1 -0
- package/build/utils/display/measurer/TextMeasurer.d.ts +160 -0
- package/build/utils/display/measurer/TextMeasurer.d.ts.map +1 -0
- package/build/utils/display/measurer/TextMeasurer.js +273 -0
- package/build/utils/display/measurer/TextMeasurer.js.map +1 -0
- package/build/utils/display/measurer/index.d.ts +10 -0
- package/build/utils/display/measurer/index.d.ts.map +1 -0
- package/build/utils/display/measurer/index.js +11 -0
- package/build/utils/display/measurer/index.js.map +1 -0
- package/build/utils/display/measurer/script-detection.d.ts +53 -0
- package/build/utils/display/measurer/script-detection.d.ts.map +1 -0
- package/build/utils/display/measurer/script-detection.js +184 -0
- package/build/utils/display/measurer/script-detection.js.map +1 -0
- package/build/utils/display/profiles/g1.d.ts +33 -0
- package/build/utils/display/profiles/g1.d.ts.map +1 -0
- package/build/utils/display/profiles/g1.js +213 -0
- package/build/utils/display/profiles/g1.js.map +1 -0
- package/build/utils/display/profiles/g2.d.ts +13 -0
- package/build/utils/display/profiles/g2.d.ts.map +1 -0
- package/build/utils/display/profiles/g2.js +34 -0
- package/build/utils/display/profiles/g2.js.map +1 -0
- package/build/utils/display/profiles/index.d.ts +12 -0
- package/build/utils/display/profiles/index.d.ts.map +1 -0
- package/build/utils/display/profiles/index.js +15 -0
- package/build/utils/display/profiles/index.js.map +1 -0
- package/build/utils/display/profiles/nex.d.ts +10 -0
- package/build/utils/display/profiles/nex.d.ts.map +1 -0
- package/build/utils/display/profiles/nex.js +150 -0
- package/build/utils/display/profiles/nex.js.map +1 -0
- package/build/utils/display/profiles/types.d.ts +103 -0
- package/build/utils/display/profiles/types.d.ts.map +1 -0
- package/build/utils/display/profiles/types.js +2 -0
- package/build/utils/display/profiles/types.js.map +1 -0
- package/build/utils/display/profiles/z100.d.ts +33 -0
- package/build/utils/display/profiles/z100.d.ts.map +1 -0
- package/build/utils/display/profiles/z100.js +182 -0
- package/build/utils/display/profiles/z100.js.map +1 -0
- package/build/utils/display/scene/degrade.d.ts +25 -0
- package/build/utils/display/scene/degrade.d.ts.map +1 -0
- package/build/utils/display/scene/degrade.js +64 -0
- package/build/utils/display/scene/degrade.js.map +1 -0
- package/build/utils/display/scene/differ.d.ts +38 -0
- package/build/utils/display/scene/differ.d.ts.map +1 -0
- package/build/utils/display/scene/differ.js +107 -0
- package/build/utils/display/scene/differ.js.map +1 -0
- package/build/utils/display/scene/index.d.ts +10 -0
- package/build/utils/display/scene/index.d.ts.map +1 -0
- package/build/utils/display/scene/index.js +6 -0
- package/build/utils/display/scene/index.js.map +1 -0
- package/build/utils/display/scene/process.d.ts +35 -0
- package/build/utils/display/scene/process.d.ts.map +1 -0
- package/build/utils/display/scene/process.js +187 -0
- package/build/utils/display/scene/process.js.map +1 -0
- package/build/utils/display/scene/store.d.ts +48 -0
- package/build/utils/display/scene/store.d.ts.map +1 -0
- package/build/utils/display/scene/store.js +0 -0
- package/build/utils/display/scene/store.js.map +1 -0
- package/build/utils/display/scene/types.d.ts +120 -0
- package/build/utils/display/scene/types.d.ts.map +1 -0
- package/build/utils/display/scene/types.js +0 -0
- package/build/utils/display/scene/types.js.map +1 -0
- package/build/utils/display/wrapper/TextWrapper.d.ts +102 -0
- package/build/utils/display/wrapper/TextWrapper.d.ts.map +1 -0
- package/build/utils/display/wrapper/TextWrapper.js +471 -0
- package/build/utils/display/wrapper/TextWrapper.js.map +1 -0
- package/build/utils/display/wrapper/index.d.ts +12 -0
- package/build/utils/display/wrapper/index.d.ts.map +1 -0
- package/build/utils/display/wrapper/index.js +12 -0
- package/build/utils/display/wrapper/index.js.map +1 -0
- package/build/utils/display/wrapper/types.d.ts +75 -0
- package/build/utils/display/wrapper/types.d.ts.map +1 -0
- package/build/utils/display/wrapper/types.js +11 -0
- package/build/utils/display/wrapper/types.js.map +1 -0
- package/build/utils/e2eMetrics.d.ts +6 -0
- package/build/utils/e2eMetrics.d.ts.map +1 -0
- package/build/utils/e2eMetrics.js +27 -0
- package/build/utils/e2eMetrics.js.map +1 -0
- package/build/utils/hardware/hardware.d.ts +42 -0
- package/build/utils/hardware/hardware.d.ts.map +1 -0
- package/build/utils/hardware/hardware.js +127 -0
- package/build/utils/hardware/hardware.js.map +1 -0
- package/build/utils/hardware/index.d.ts +2 -0
- package/build/utils/hardware/index.d.ts.map +1 -0
- package/build/utils/hardware/index.js +2 -0
- package/build/utils/hardware/index.js.map +1 -0
- package/build/utils/miniappGlobals.d.ts +60 -0
- package/build/utils/miniappGlobals.d.ts.map +1 -0
- package/build/utils/miniappGlobals.js +224 -0
- package/build/utils/miniappGlobals.js.map +1 -0
- package/build/utils/permissions/MediaLibraryPermissions.d.ts +45 -0
- package/build/utils/permissions/MediaLibraryPermissions.d.ts.map +1 -0
- package/build/utils/permissions/MediaLibraryPermissions.js +145 -0
- package/build/utils/permissions/MediaLibraryPermissions.js.map +1 -0
- package/build/utils/permissions/galleryDisplayName.d.ts +8 -0
- package/build/utils/permissions/galleryDisplayName.d.ts.map +1 -0
- package/build/utils/permissions/galleryDisplayName.js +25 -0
- package/build/utils/permissions/galleryDisplayName.js.map +1 -0
- package/build/utils/storage/index.d.ts +3 -0
- package/build/utils/storage/index.d.ts.map +1 -0
- package/build/utils/storage/index.js +3 -0
- package/build/utils/storage/index.js.map +1 -0
- package/build/utils/storage/storage.d.ts +24 -0
- package/build/utils/storage/storage.d.ts.map +1 -0
- package/build/utils/storage/storage.js +85 -0
- package/build/utils/storage/storage.js.map +1 -0
- package/build/utils/storage/zip.d.ts +3 -0
- package/build/utils/storage/zip.d.ts.map +1 -0
- package/build/utils/storage/zip.js +14 -0
- package/build/utils/storage/zip.js.map +1 -0
- package/build/utils/timers/index.d.ts +3 -0
- package/build/utils/timers/index.d.ts.map +1 -0
- package/build/utils/timers/index.js +3 -0
- package/build/utils/timers/index.js.map +1 -0
- package/build/utils/timers/timers.d.ts +9 -0
- package/build/utils/timers/timers.d.ts.map +1 -0
- package/build/utils/timers/timers.js +105 -0
- package/build/utils/timers/timers.js.map +1 -0
- package/package.json +120 -0
- package/src/devtools.ts +13 -0
- package/src/engine.ts +173 -0
- package/src/facades/dev.ts +198 -0
- package/src/facades/display.ts +17 -0
- package/src/facades/displayMirror.ts +33 -0
- package/src/facades/gallery.ts +69 -0
- package/src/facades/glasses.ts +206 -0
- package/src/facades/glassesSettings.ts +56 -0
- package/src/facades/glassesWifi.ts +68 -0
- package/src/facades/miniapps.ts +55 -0
- package/src/facades/notifications.ts +15 -0
- package/src/facades/ota.ts +174 -0
- package/src/facades/pairing.ts +329 -0
- package/src/facades/permissions.ts +165 -0
- package/src/facades/phoneNotifications.ts +50 -0
- package/src/facades/reports.ts +185 -0
- package/src/facades/session.ts +55 -0
- package/src/facades/settings.ts +57 -0
- package/src/facades/speech.ts +38 -0
- package/src/index.ts +191 -0
- package/src/internal.ts +159 -0
- package/src/runtime/bootstrap.ts +118 -0
- package/src/runtime/config.ts +147 -0
- package/src/runtime/streamConfig.ts +34 -0
- package/src/services/AppRegistry.ts +1190 -0
- package/src/services/AudioCloudUplink.ts +50 -0
- package/src/services/AudioPlaybackService.ts +813 -0
- package/src/services/AutomaticReportResult.ts +48 -0
- package/src/services/BlobStore.ts +746 -0
- package/src/services/CaptionsTesterReportService.ts +107 -0
- package/src/services/CloudAudioSubscriptionSync.ts +41 -0
- package/src/services/CloudClientService.ts +689 -0
- package/src/services/CloudTranscriptE2EMetrics.ts +27 -0
- package/src/services/ConnectionCoordinator.ts +65 -0
- package/src/services/DevServerBridge.ts +332 -0
- package/src/services/DeviceEventRouter.ts +238 -0
- package/src/services/DeviceStoreHydration.ts +130 -0
- package/src/services/DisplayProcessor.ts +775 -0
- package/src/services/GlassesReadiness.ts +103 -0
- package/src/services/GlassesSettingsSync.ts +134 -0
- package/src/services/GlassesStatusProjection.ts +73 -0
- package/src/services/HeadingService.ts +98 -0
- package/src/services/LocalDisplayManager.ts +703 -0
- package/src/services/LocalMiniappRuntime.ts +4213 -0
- package/src/services/LocalSttFallbackCoordinator.ts +147 -0
- package/src/services/MentraJSCrashController.ts +189 -0
- package/src/services/MentraJSCrashloopReportService.ts +66 -0
- package/src/services/MentraJSLogPipeline.ts +166 -0
- package/src/services/MentraJSRouter.ts +557 -0
- package/src/services/MentraUIRouter.ts +244 -0
- package/src/services/MicStateCoordinator.ts +94 -0
- package/src/services/MiniappEngine.ts +143 -0
- package/src/services/MiniappLauncher.ts +340 -0
- package/src/services/MiniappRunningRegistry.ts +57 -0
- package/src/services/NativeHttpResponse.ts +6 -0
- package/src/services/NavigationHandlers.ts +423 -0
- package/src/services/NavigationService.ts +731 -0
- package/src/services/NotificationsEmitter.ts +48 -0
- package/src/services/OfflineSpeechModelService.ts +168 -0
- package/src/services/OtaInstallCoordinator.ts +1205 -0
- package/src/services/OtaService.ts +83 -0
- package/src/services/OtaUpdateCheckService.ts +386 -0
- package/src/services/PairingIdentity.ts +154 -0
- package/src/services/PhoneCalendarHelpers.ts +212 -0
- package/src/services/PhoneCalendarService.ts +42 -0
- package/src/services/PhoneCameraFovCoordinator.ts +195 -0
- package/src/services/PhoneLocationService.ts +122 -0
- package/src/services/PhoneNotificationsSync.ts +44 -0
- package/src/services/PhonePhotoCoordinator.ts +409 -0
- package/src/services/PhoneStreamCoordinator.ts +777 -0
- package/src/services/PhoneVideoCoordinator.ts +189 -0
- package/src/services/STTModelManager.ts +360 -0
- package/src/services/SceneRenderer.ts +292 -0
- package/src/services/SentenceTtsPipeline.ts +106 -0
- package/src/services/StreamLifecycleController.ts +213 -0
- package/src/services/TTSModelManager.ts +466 -0
- package/src/services/TranscriptionRouting.ts +37 -0
- package/src/services/WebviewBridge.ts +50 -0
- package/src/services/asg/GalleryMediaIntegrityReportService.ts +70 -0
- package/src/services/asg/asgCameraApi.ts +1695 -0
- package/src/services/asg/cameraRollExportCoordinator.ts +627 -0
- package/src/services/asg/cameraRollExportLedger.ts +122 -0
- package/src/services/asg/galleryMediaValidation.ts +183 -0
- package/src/services/asg/galleryNotices.ts +61 -0
- package/src/services/asg/galleryPathMigration.ts +22 -0
- package/src/services/asg/gallerySettingsService.ts +68 -0
- package/src/services/asg/gallerySyncNotifications.ts +236 -0
- package/src/services/asg/gallerySyncService.ts +2269 -0
- package/src/services/asg/galleryTransferLedger.ts +312 -0
- package/src/services/asg/localNetworkTransport.ts +173 -0
- package/src/services/asg/localStorageService.ts +652 -0
- package/src/services/asg/mediaProcessingQueue.ts +518 -0
- package/src/services/asgOtaVersionUrl.ts +41 -0
- package/src/services/blobPaths.ts +86 -0
- package/src/services/cloudStreamApi.ts +154 -0
- package/src/services/gallerySyncClock.ts +39 -0
- package/src/services/glassesClockSync.ts +115 -0
- package/src/services/manifestVersionGate.ts +43 -0
- package/src/services/mentraUiShim.ts +366 -0
- package/src/services/navigation/roadNameResolver.ts +112 -0
- package/src/services/navigation/routesApiCodec.ts +69 -0
- package/src/services/otaDisplayState.ts +115 -0
- package/src/services/otaInstallPolicy.ts +106 -0
- package/src/services/otaLegacyMapping.ts +71 -0
- package/src/services/slimStreamStatus.ts +28 -0
- package/src/stores/apps.ts +614 -0
- package/src/stores/bluetoothSettingKeys.ts +36 -0
- package/src/stores/cloudClientStatus.ts +37 -0
- package/src/stores/connection.ts +69 -0
- package/src/stores/core.ts +32 -0
- package/src/stores/display.ts +121 -0
- package/src/stores/gallerySync.ts +380 -0
- package/src/stores/glasses.ts +309 -0
- package/src/stores/settings.ts +1001 -0
- package/src/types/applet.ts +112 -0
- package/src/types/asg.ts +58 -0
- package/src/types/capabilities/even-realities-g1.ts +67 -0
- package/src/types/capabilities/even-realities-g2.ts +88 -0
- package/src/types/capabilities/mentra-display.ts +75 -0
- package/src/types/capabilities/mentra-live.ts +103 -0
- package/src/types/capabilities/none.ts +76 -0
- package/src/types/capabilities/simulated-glasses.ts +76 -0
- package/src/types/capabilities/vuzix-z100.ts +64 -0
- package/src/types/enums.ts +43 -0
- package/src/types/hardware.ts +203 -0
- package/src/types/index.ts +37 -0
- package/src/utils/GlobalEventEmitter.ts +14 -0
- package/src/utils/cloudClient/RnUdpAdapter.ts +47 -0
- package/src/utils/cloudClient/cloudSecureStore.ts +28 -0
- package/src/utils/debouncedPatch.ts +28 -0
- package/src/utils/devLogging.ts +140 -0
- package/src/utils/devMiniappLaunch.ts +68 -0
- package/src/utils/diagnosticContext.ts +155 -0
- package/src/utils/display/composer/ColumnComposer.ts +285 -0
- package/src/utils/display/composer/index.ts +15 -0
- package/src/utils/display/helpers/DisplayHelpers.ts +413 -0
- package/src/utils/display/helpers/ScrollView.ts +337 -0
- package/src/utils/display/helpers/index.ts +14 -0
- package/src/utils/display/index.ts +273 -0
- package/src/utils/display/measurer/TextMeasurer.ts +346 -0
- package/src/utils/display/measurer/index.ts +21 -0
- package/src/utils/display/measurer/script-detection.ts +218 -0
- package/src/utils/display/profiles/g1.ts +236 -0
- package/src/utils/display/profiles/g2.ts +39 -0
- package/src/utils/display/profiles/index.ts +28 -0
- package/src/utils/display/profiles/nex.ts +166 -0
- package/src/utils/display/profiles/types.ts +132 -0
- package/src/utils/display/profiles/z100.ts +198 -0
- package/src/utils/display/scene/degrade.ts +80 -0
- package/src/utils/display/scene/differ.ts +128 -0
- package/src/utils/display/scene/index.ts +21 -0
- package/src/utils/display/scene/process.ts +214 -0
- package/src/utils/display/scene/store.ts +0 -0
- package/src/utils/display/scene/types.ts +0 -0
- package/src/utils/display/wrapper/TextWrapper.ts +546 -0
- package/src/utils/display/wrapper/index.ts +15 -0
- package/src/utils/display/wrapper/types.ts +102 -0
- package/src/utils/e2eMetrics.ts +30 -0
- package/src/utils/hardware/hardware.ts +166 -0
- package/src/utils/hardware/index.ts +1 -0
- package/src/utils/miniappGlobals.ts +260 -0
- package/src/utils/permissions/MediaLibraryPermissions.ts +161 -0
- package/src/utils/permissions/galleryDisplayName.ts +28 -0
- package/src/utils/storage/index.ts +2 -0
- package/src/utils/storage/storage.ts +101 -0
- package/src/utils/storage/zip.ts +13 -0
- package/src/utils/timers/index.ts +2 -0
- package/src/utils/timers/timers.ts +139 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@mentra/engine/internal` — the migration-era runtime surface.
|
|
3
|
+
*
|
|
4
|
+
* Raw zustand stores and service singletons that the Mentra app's host-side
|
|
5
|
+
* services (and the `@/stores/*` / `@/utils/*` shims) still reach into while
|
|
6
|
+
* the typed `engine` facades grow. Everything here either mutates runtime
|
|
7
|
+
* state or exposes a store/service directly, so none of it belongs on the
|
|
8
|
+
* OEM-facing `@mentra/engine` main entry: new host code should read/act
|
|
9
|
+
* through `engine.*` instead.
|
|
10
|
+
*
|
|
11
|
+
* Every `/internal` import in mobile/src is counted (report-only) by
|
|
12
|
+
* scripts/check-mobile-runtime-boundary.sh; the burn-down plan is
|
|
13
|
+
* cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.
|
|
14
|
+
* Types that only describe these internal surfaces live here with them;
|
|
15
|
+
* types host UI renders with stay on the main entry.
|
|
16
|
+
*/
|
|
17
|
+
export { default as webviewBridge } from "./services/WebviewBridge";
|
|
18
|
+
export { default as appRegistry, normalizeManifestPermissions, normalizeManifestActions, buildHardwareRequirements, saveLocalAppRunningState, registerDevApp, unregisterDevApp, getDevAppRecords, getDevAppSourcePackage, getDevAppAttestation, DEV_APP_PACKAGE_NAME, type DevAppRecord, } from "./services/AppRegistry";
|
|
19
|
+
export { default as displayProcessor } from "./services/DisplayProcessor";
|
|
20
|
+
export { default as localDisplayManager, type DisplayPayload } from "./services/LocalDisplayManager";
|
|
21
|
+
export { default as localMiniappRuntime, type InstalledMiniappManifest } from "./services/LocalMiniappRuntime";
|
|
22
|
+
export { miniappLauncher, type LaunchHints, type LaunchResult, type ResolvedBundle } from "./services/MiniappLauncher";
|
|
23
|
+
export { MentraJSRouter, type MentraJSCrustBinding, type OutboundMessagePayload as MentraJSOutboundMessage, type RouterLogger as MentraJSRouterLogger, } from "./services/MentraJSRouter";
|
|
24
|
+
export { buildMentraUiShim, type MentraUiShimOptions } from "./services/mentraUiShim";
|
|
25
|
+
export { MentraUIRouter, type MentraUICrustBinding } from "./services/MentraUIRouter";
|
|
26
|
+
export { MentraJSCrashController, type CrashState, type CrashOutcome, type CrashControllerOptions, } from "./services/MentraJSCrashController";
|
|
27
|
+
export { ensureMiniappEngine, getMiniappEngine, type MiniappEngine } from "./services/MiniappEngine";
|
|
28
|
+
export { redactSecrets, MentraJSLogThrottle, MentraJSLogRingBuffer, type ThrottleOptions, } from "./services/MentraJSLogPipeline";
|
|
29
|
+
export { buildMiniappGlobalsScript, getCapsuleMenuRect, type BuildMiniappGlobalsOptions, type CapsuleMenuRect, type MiniappColorScheme, type MiniappSafeArea, } from "./utils/miniappGlobals";
|
|
30
|
+
export { default as localSttFallbackCoordinator } from "./services/LocalSttFallbackCoordinator";
|
|
31
|
+
export { default as micStateCoordinator } from "./services/MicStateCoordinator";
|
|
32
|
+
export { default as audioPlaybackService } from "./services/AudioPlaybackService";
|
|
33
|
+
export { default as sttModelManager, STTModelManager, type LanguageInfo as SttLanguageInfo, type LanguageConfig as SttLanguageConfig, type DownloadProgress as SttDownloadProgress, type ExtractionProgress as SttExtractionProgress, } from "./services/STTModelManager";
|
|
34
|
+
export { default as ttsModelManager, TTSModelManager } from "./services/TTSModelManager";
|
|
35
|
+
export { default as offlineSpeechModelService, type DownloadStatus as OfflineModelDownloadStatus, type DownloadStage as OfflineModelDownloadStage, } from "./services/OfflineSpeechModelService";
|
|
36
|
+
export { default as navigationService } from "./services/NavigationService";
|
|
37
|
+
export { phoneLocationService, stopPhoneLocation } from "./services/PhoneLocationService";
|
|
38
|
+
export { fixGlassesClockIfSkewed, maybeFixGlassesClockFromVersionInfo } from "./services/glassesClockSync";
|
|
39
|
+
export { getAsgOtaVersionUrl } from "./services/asgOtaVersionUrl";
|
|
40
|
+
export { fetchVersionInfo, checkVersionUpdateAvailable, getLatestVersionInfo, findMatchingMtkPatch, checkBesUpdate, checkForOtaUpdate, checkCurrentGlassesForUpdate, } from "./services/OtaUpdateCheckService";
|
|
41
|
+
export { detectClockSkew, isSyncManifestEmpty, CLOCK_SKEW_TOLERANCE_MS } from "./services/gallerySyncClock";
|
|
42
|
+
export { gallerySyncService } from "./services/asg/gallerySyncService";
|
|
43
|
+
export { asgCameraApi } from "./services/asg/asgCameraApi";
|
|
44
|
+
export { localStorageService } from "./services/asg/localStorageService";
|
|
45
|
+
export { mediaProcessingQueue } from "./services/asg/mediaProcessingQueue";
|
|
46
|
+
export { gallerySettingsService } from "./services/asg/gallerySettingsService";
|
|
47
|
+
export { cameraRollExportCoordinator, type CameraRollExportSummary } from "./services/asg/cameraRollExportCoordinator";
|
|
48
|
+
export { INVALID_DOWNLOADED_MEDIA, validateCaptureMetadataForDownload, validateDownloadedMediaFile, } from "./services/asg/galleryMediaValidation";
|
|
49
|
+
export { emitGalleryNotice, onGalleryNotice } from "./services/asg/galleryNotices";
|
|
50
|
+
export { phonePhotoCoordinator } from "./services/PhonePhotoCoordinator";
|
|
51
|
+
export { phoneStreamCoordinator } from "./services/PhoneStreamCoordinator";
|
|
52
|
+
export { useDisplayStore, flushDisplayCoalesceForTests } from "./stores/display";
|
|
53
|
+
export { useCoreStore } from "./stores/core";
|
|
54
|
+
export { useConnectionStore } from "./stores/connection";
|
|
55
|
+
export { useCloudClientStatusStore } from "./stores/cloudClientStatus";
|
|
56
|
+
export type { RuntimeAudioTransport, RuntimeSnapshot, RuntimeStatus } from "./stores/cloudClientStatus";
|
|
57
|
+
export { SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting } from "./stores/settings";
|
|
58
|
+
export { MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice } from "./stores/bluetoothSettingKeys";
|
|
59
|
+
export { useAppStatusStore, installAppStoreHooks, type AppStoreHooks } from "./stores/apps";
|
|
60
|
+
export { cloudSecureStore } from "./utils/cloudClient/cloudSecureStore";
|
|
61
|
+
export { cloudClientService } from "./services/CloudClientService";
|
|
62
|
+
export { createCloudUdpSocket } from "./utils/cloudClient/RnUdpAdapter";
|
|
63
|
+
export { logBuffer, type LogEntry } from "./utils/devLogging";
|
|
64
|
+
export { default as BluetoothSdk } from "@mentra/bluetooth-sdk/internal";
|
|
65
|
+
export { storage, printDirectory } from "./utils/storage";
|
|
66
|
+
export { default as GlobalEventEmitter } from "./utils/GlobalEventEmitter";
|
|
67
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@mentra/engine/internal` — the migration-era runtime surface.
|
|
3
|
+
*
|
|
4
|
+
* Raw zustand stores and service singletons that the Mentra app's host-side
|
|
5
|
+
* services (and the `@/stores/*` / `@/utils/*` shims) still reach into while
|
|
6
|
+
* the typed `engine` facades grow. Everything here either mutates runtime
|
|
7
|
+
* state or exposes a store/service directly, so none of it belongs on the
|
|
8
|
+
* OEM-facing `@mentra/engine` main entry: new host code should read/act
|
|
9
|
+
* through `engine.*` instead.
|
|
10
|
+
*
|
|
11
|
+
* Every `/internal` import in mobile/src is counted (report-only) by
|
|
12
|
+
* scripts/check-mobile-runtime-boundary.sh; the burn-down plan is
|
|
13
|
+
* cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.
|
|
14
|
+
* Types that only describe these internal surfaces live here with them;
|
|
15
|
+
* types host UI renders with stay on the main entry.
|
|
16
|
+
*/
|
|
17
|
+
// Miniapp runtime plumbing: WebView bridge, registry, launcher, engine.
|
|
18
|
+
export { default as webviewBridge } from "./services/WebviewBridge";
|
|
19
|
+
export { default as appRegistry, normalizeManifestPermissions, normalizeManifestActions, buildHardwareRequirements, saveLocalAppRunningState, registerDevApp, unregisterDevApp, getDevAppRecords, getDevAppSourcePackage, getDevAppAttestation, DEV_APP_PACKAGE_NAME, } from "./services/AppRegistry";
|
|
20
|
+
export { default as displayProcessor } from "./services/DisplayProcessor";
|
|
21
|
+
export { default as localDisplayManager } from "./services/LocalDisplayManager";
|
|
22
|
+
export { default as localMiniappRuntime } from "./services/LocalMiniappRuntime";
|
|
23
|
+
export { miniappLauncher } from "./services/MiniappLauncher";
|
|
24
|
+
export { MentraJSRouter, } from "./services/MentraJSRouter";
|
|
25
|
+
export { buildMentraUiShim } from "./services/mentraUiShim";
|
|
26
|
+
export { MentraUIRouter } from "./services/MentraUIRouter";
|
|
27
|
+
export { MentraJSCrashController, } from "./services/MentraJSCrashController";
|
|
28
|
+
export { ensureMiniappEngine, getMiniappEngine } from "./services/MiniappEngine";
|
|
29
|
+
export { redactSecrets, MentraJSLogThrottle, MentraJSLogRingBuffer, } from "./services/MentraJSLogPipeline";
|
|
30
|
+
// WebView-injection script builders (miniapp globals + mentra-ui shim).
|
|
31
|
+
export { buildMiniappGlobalsScript, getCapsuleMenuRect, } from "./utils/miniappGlobals";
|
|
32
|
+
// Speech/audio coordinators and model managers.
|
|
33
|
+
export { default as localSttFallbackCoordinator } from "./services/LocalSttFallbackCoordinator";
|
|
34
|
+
export { default as micStateCoordinator } from "./services/MicStateCoordinator";
|
|
35
|
+
export { default as audioPlaybackService } from "./services/AudioPlaybackService";
|
|
36
|
+
export { default as sttModelManager, STTModelManager, } from "./services/STTModelManager";
|
|
37
|
+
export { default as ttsModelManager, TTSModelManager } from "./services/TTSModelManager";
|
|
38
|
+
export { default as offlineSpeechModelService, } from "./services/OfflineSpeechModelService";
|
|
39
|
+
export { default as navigationService } from "./services/NavigationService";
|
|
40
|
+
// Phone GPS — the background location task + tier control. Importing this
|
|
41
|
+
// module registers the background task, so the entry that MantleManager loads
|
|
42
|
+
// must keep re-exporting it (was: the main barrel).
|
|
43
|
+
export { phoneLocationService, stopPhoneLocation } from "./services/PhoneLocationService";
|
|
44
|
+
// Clock-skew fix commands (BLE writes) used by OTA + gallery sync.
|
|
45
|
+
export { fixGlassesClockIfSkewed, maybeFixGlassesClockFromVersionInfo } from "./services/glassesClockSync";
|
|
46
|
+
// OTA manifest-URL resolution (dev-override/legacy-build/env/prod).
|
|
47
|
+
export { getAsgOtaVersionUrl } from "./services/asgOtaVersionUrl";
|
|
48
|
+
// Flat OTA check helpers (network + BLE state). Host usage is a tracked
|
|
49
|
+
// burn-down surface (§F); the sanctioned path is engine.ota.checkForUpdates().
|
|
50
|
+
export { fetchVersionInfo, checkVersionUpdateAvailable, getLatestVersionInfo, findMatchingMtkPatch, checkBesUpdate, checkForOtaUpdate, checkCurrentGlassesForUpdate, } from "./services/OtaUpdateCheckService";
|
|
51
|
+
// Gallery cluster — sync orchestrator, glasses-camera HTTP API, media/storage,
|
|
52
|
+
// settings, validation and the service-to-service notice bus. Host gallery UI
|
|
53
|
+
// renders engine.gallery; these are the underlying services.
|
|
54
|
+
export { detectClockSkew, isSyncManifestEmpty, CLOCK_SKEW_TOLERANCE_MS } from "./services/gallerySyncClock";
|
|
55
|
+
export { gallerySyncService } from "./services/asg/gallerySyncService";
|
|
56
|
+
export { asgCameraApi } from "./services/asg/asgCameraApi";
|
|
57
|
+
export { localStorageService } from "./services/asg/localStorageService";
|
|
58
|
+
export { mediaProcessingQueue } from "./services/asg/mediaProcessingQueue";
|
|
59
|
+
export { gallerySettingsService } from "./services/asg/gallerySettingsService";
|
|
60
|
+
export { cameraRollExportCoordinator } from "./services/asg/cameraRollExportCoordinator";
|
|
61
|
+
export { INVALID_DOWNLOADED_MEDIA, validateCaptureMetadataForDownload, validateDownloadedMediaFile, } from "./services/asg/galleryMediaValidation";
|
|
62
|
+
export { emitGalleryNotice, onGalleryNotice } from "./services/asg/galleryNotices";
|
|
63
|
+
// Phone-side capture coordinators.
|
|
64
|
+
export { phonePhotoCoordinator } from "./services/PhonePhotoCoordinator";
|
|
65
|
+
export { phoneStreamCoordinator } from "./services/PhoneStreamCoordinator";
|
|
66
|
+
// Raw runtime stores (re-exported via the host @/stores/* shims). Read models
|
|
67
|
+
// live on the engine facades; these are the migration escape hatch.
|
|
68
|
+
export { useDisplayStore, flushDisplayCoalesceForTests } from "./stores/display";
|
|
69
|
+
export { useCoreStore } from "./stores/core";
|
|
70
|
+
export { useConnectionStore } from "./stores/connection";
|
|
71
|
+
export { useCloudClientStatusStore } from "./stores/cloudClientStatus";
|
|
72
|
+
export { SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting } from "./stores/settings";
|
|
73
|
+
export { MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice } from "./stores/bluetoothSettingKeys";
|
|
74
|
+
export { useAppStatusStore, installAppStoreHooks } from "./stores/apps";
|
|
75
|
+
// Cloud client + credentials + v1 comms.
|
|
76
|
+
export { cloudSecureStore } from "./utils/cloudClient/cloudSecureStore";
|
|
77
|
+
export { cloudClientService } from "./services/CloudClientService";
|
|
78
|
+
export { createCloudUdpSocket } from "./utils/cloudClient/RnUdpAdapter";
|
|
79
|
+
// Log ring buffer + console interception (bug-report attachments).
|
|
80
|
+
export { logBuffer } from "./utils/devLogging";
|
|
81
|
+
// Bluetooth SDK internal compatibility passthrough. Prefer an engine facade
|
|
82
|
+
// when one exists; this remains an escape hatch for app-only compatibility
|
|
83
|
+
// needs (its event TYPES stay on the main entry).
|
|
84
|
+
export { default as BluetoothSdk } from "@mentra/bluetooth-sdk/internal";
|
|
85
|
+
// Engine-owned MMKV instance + debug helper.
|
|
86
|
+
export { storage, printDirectory } from "./utils/storage";
|
|
87
|
+
// Process-wide event bus — one shared instance for engine services + host
|
|
88
|
+
// (re-exported via the @/utils/GlobalEventEmitter shim).
|
|
89
|
+
export { default as GlobalEventEmitter } from "./utils/GlobalEventEmitter";
|
|
90
|
+
//# sourceMappingURL=internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,wEAAwE;AACxE,OAAO,EAAC,OAAO,IAAI,aAAa,EAAC,MAAM,0BAA0B,CAAA;AACjE,OAAO,EACL,OAAO,IAAI,WAAW,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,yBAAyB,EACzB,wBAAwB,EACxB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,oBAAoB,EACpB,oBAAoB,GAErB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAC,OAAO,IAAI,gBAAgB,EAAC,MAAM,6BAA6B,CAAA;AACvE,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAsB,MAAM,gCAAgC,CAAA;AAClG,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAgC,MAAM,gCAAgC,CAAA;AAC5G,OAAO,EAAC,eAAe,EAA2D,MAAM,4BAA4B,CAAA;AACpH,OAAO,EACL,cAAc,GAIf,MAAM,2BAA2B,CAAA;AAClC,OAAO,EAAC,iBAAiB,EAA2B,MAAM,yBAAyB,CAAA;AACnF,OAAO,EAAC,cAAc,EAA4B,MAAM,2BAA2B,CAAA;AACnF,OAAO,EACL,uBAAuB,GAIxB,MAAM,oCAAoC,CAAA;AAC3C,OAAO,EAAC,mBAAmB,EAAE,gBAAgB,EAAqB,MAAM,0BAA0B,CAAA;AAClG,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,qBAAqB,GAEtB,MAAM,gCAAgC,CAAA;AACvC,wEAAwE;AACxE,OAAO,EACL,yBAAyB,EACzB,kBAAkB,GAKnB,MAAM,wBAAwB,CAAA;AAE/B,gDAAgD;AAChD,OAAO,EAAC,OAAO,IAAI,2BAA2B,EAAC,MAAM,wCAAwC,CAAA;AAC7F,OAAO,EAAC,OAAO,IAAI,mBAAmB,EAAC,MAAM,gCAAgC,CAAA;AAC7E,OAAO,EAAC,OAAO,IAAI,oBAAoB,EAAC,MAAM,iCAAiC,CAAA;AAC/E,OAAO,EACL,OAAO,IAAI,eAAe,EAC1B,eAAe,GAKhB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAC,OAAO,IAAI,eAAe,EAAE,eAAe,EAAC,MAAM,4BAA4B,CAAA;AACtF,OAAO,EACL,OAAO,IAAI,yBAAyB,GAGrC,MAAM,sCAAsC,CAAA;AAE7C,OAAO,EAAC,OAAO,IAAI,iBAAiB,EAAC,MAAM,8BAA8B,CAAA;AACzE,0EAA0E;AAC1E,8EAA8E;AAC9E,oDAAoD;AACpD,OAAO,EAAC,oBAAoB,EAAE,iBAAiB,EAAC,MAAM,iCAAiC,CAAA;AACvF,mEAAmE;AACnE,OAAO,EAAC,uBAAuB,EAAE,mCAAmC,EAAC,MAAM,6BAA6B,CAAA;AACxG,oEAAoE;AACpE,OAAO,EAAC,mBAAmB,EAAC,MAAM,6BAA6B,CAAA;AAC/D,wEAAwE;AACxE,+EAA+E;AAC/E,OAAO,EACL,gBAAgB,EAChB,2BAA2B,EAC3B,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,kCAAkC,CAAA;AAEzC,+EAA+E;AAC/E,8EAA8E;AAC9E,6DAA6D;AAC7D,OAAO,EAAC,eAAe,EAAE,mBAAmB,EAAE,uBAAuB,EAAC,MAAM,6BAA6B,CAAA;AACzG,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAA;AACpE,OAAO,EAAC,YAAY,EAAC,MAAM,6BAA6B,CAAA;AACxD,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAC,oBAAoB,EAAC,MAAM,qCAAqC,CAAA;AACxE,OAAO,EAAC,sBAAsB,EAAC,MAAM,uCAAuC,CAAA;AAC5E,OAAO,EAAC,2BAA2B,EAA+B,MAAM,4CAA4C,CAAA;AACpH,OAAO,EACL,wBAAwB,EACxB,kCAAkC,EAClC,2BAA2B,GAC5B,MAAM,uCAAuC,CAAA;AAC9C,OAAO,EAAC,iBAAiB,EAAE,eAAe,EAAC,MAAM,+BAA+B,CAAA;AAEhF,mCAAmC;AACnC,OAAO,EAAC,qBAAqB,EAAC,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AAExE,8EAA8E;AAC9E,oEAAoE;AACpE,OAAO,EAAC,eAAe,EAAE,4BAA4B,EAAC,MAAM,kBAAkB,CAAA;AAC9E,OAAO,EAAC,YAAY,EAAC,MAAM,eAAe,CAAA;AAC1C,OAAO,EAAC,kBAAkB,EAAC,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAC,yBAAyB,EAAC,MAAM,4BAA4B,CAAA;AAEpE,OAAO,EAAC,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAC,MAAM,mBAAmB,CAAA;AACzF,OAAO,EAAC,wBAAwB,EAAE,gCAAgC,EAAC,MAAM,+BAA+B,CAAA;AACxG,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAqB,MAAM,eAAe,CAAA;AAEzF,yCAAyC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,sCAAsC,CAAA;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAC,oBAAoB,EAAC,MAAM,kCAAkC,CAAA;AAErE,mEAAmE;AACnE,OAAO,EAAC,SAAS,EAAgB,MAAM,oBAAoB,CAAA;AAE3D,4EAA4E;AAC5E,2EAA2E;AAC3E,kDAAkD;AAClD,OAAO,EAAC,OAAO,IAAI,YAAY,EAAC,MAAM,gCAAgC,CAAA;AAGtE,6CAA6C;AAC7C,OAAO,EAAC,OAAO,EAAE,cAAc,EAAC,MAAM,iBAAiB,CAAA;AACvD,0EAA0E;AAC1E,yDAAyD;AACzD,OAAO,EAAC,OAAO,IAAI,kBAAkB,EAAC,MAAM,4BAA4B,CAAA","sourcesContent":["/**\n * `@mentra/engine/internal` — the migration-era runtime surface.\n *\n * Raw zustand stores and service singletons that the Mentra app's host-side\n * services (and the `@/stores/*` / `@/utils/*` shims) still reach into while\n * the typed `engine` facades grow. Everything here either mutates runtime\n * state or exposes a store/service directly, so none of it belongs on the\n * OEM-facing `@mentra/engine` main entry: new host code should read/act\n * through `engine.*` instead.\n *\n * Every `/internal` import in mobile/src is counted (report-only) by\n * scripts/check-mobile-runtime-boundary.sh; the burn-down plan is\n * cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.\n * Types that only describe these internal surfaces live here with them;\n * types host UI renders with stay on the main entry.\n */\n\n// Miniapp runtime plumbing: WebView bridge, registry, launcher, engine.\nexport {default as webviewBridge} from \"./services/WebviewBridge\"\nexport {\n default as appRegistry,\n normalizeManifestPermissions,\n normalizeManifestActions,\n buildHardwareRequirements,\n saveLocalAppRunningState,\n registerDevApp,\n unregisterDevApp,\n getDevAppRecords,\n getDevAppSourcePackage,\n getDevAppAttestation,\n DEV_APP_PACKAGE_NAME,\n type DevAppRecord,\n} from \"./services/AppRegistry\"\nexport {default as displayProcessor} from \"./services/DisplayProcessor\"\nexport {default as localDisplayManager, type DisplayPayload} from \"./services/LocalDisplayManager\"\nexport {default as localMiniappRuntime, type InstalledMiniappManifest} from \"./services/LocalMiniappRuntime\"\nexport {miniappLauncher, type LaunchHints, type LaunchResult, type ResolvedBundle} from \"./services/MiniappLauncher\"\nexport {\n MentraJSRouter,\n type MentraJSCrustBinding,\n type OutboundMessagePayload as MentraJSOutboundMessage,\n type RouterLogger as MentraJSRouterLogger,\n} from \"./services/MentraJSRouter\"\nexport {buildMentraUiShim, type MentraUiShimOptions} from \"./services/mentraUiShim\"\nexport {MentraUIRouter, type MentraUICrustBinding} from \"./services/MentraUIRouter\"\nexport {\n MentraJSCrashController,\n type CrashState,\n type CrashOutcome,\n type CrashControllerOptions,\n} from \"./services/MentraJSCrashController\"\nexport {ensureMiniappEngine, getMiniappEngine, type MiniappEngine} from \"./services/MiniappEngine\"\nexport {\n redactSecrets,\n MentraJSLogThrottle,\n MentraJSLogRingBuffer,\n type ThrottleOptions,\n} from \"./services/MentraJSLogPipeline\"\n// WebView-injection script builders (miniapp globals + mentra-ui shim).\nexport {\n buildMiniappGlobalsScript,\n getCapsuleMenuRect,\n type BuildMiniappGlobalsOptions,\n type CapsuleMenuRect,\n type MiniappColorScheme,\n type MiniappSafeArea,\n} from \"./utils/miniappGlobals\"\n\n// Speech/audio coordinators and model managers.\nexport {default as localSttFallbackCoordinator} from \"./services/LocalSttFallbackCoordinator\"\nexport {default as micStateCoordinator} from \"./services/MicStateCoordinator\"\nexport {default as audioPlaybackService} from \"./services/AudioPlaybackService\"\nexport {\n default as sttModelManager,\n STTModelManager,\n type LanguageInfo as SttLanguageInfo,\n type LanguageConfig as SttLanguageConfig,\n type DownloadProgress as SttDownloadProgress,\n type ExtractionProgress as SttExtractionProgress,\n} from \"./services/STTModelManager\"\nexport {default as ttsModelManager, TTSModelManager} from \"./services/TTSModelManager\"\nexport {\n default as offlineSpeechModelService,\n type DownloadStatus as OfflineModelDownloadStatus,\n type DownloadStage as OfflineModelDownloadStage,\n} from \"./services/OfflineSpeechModelService\"\n\nexport {default as navigationService} from \"./services/NavigationService\"\n// Phone GPS — the background location task + tier control. Importing this\n// module registers the background task, so the entry that MantleManager loads\n// must keep re-exporting it (was: the main barrel).\nexport {phoneLocationService, stopPhoneLocation} from \"./services/PhoneLocationService\"\n// Clock-skew fix commands (BLE writes) used by OTA + gallery sync.\nexport {fixGlassesClockIfSkewed, maybeFixGlassesClockFromVersionInfo} from \"./services/glassesClockSync\"\n// OTA manifest-URL resolution (dev-override/legacy-build/env/prod).\nexport {getAsgOtaVersionUrl} from \"./services/asgOtaVersionUrl\"\n// Flat OTA check helpers (network + BLE state). Host usage is a tracked\n// burn-down surface (§F); the sanctioned path is engine.ota.checkForUpdates().\nexport {\n fetchVersionInfo,\n checkVersionUpdateAvailable,\n getLatestVersionInfo,\n findMatchingMtkPatch,\n checkBesUpdate,\n checkForOtaUpdate,\n checkCurrentGlassesForUpdate,\n} from \"./services/OtaUpdateCheckService\"\n\n// Gallery cluster — sync orchestrator, glasses-camera HTTP API, media/storage,\n// settings, validation and the service-to-service notice bus. Host gallery UI\n// renders engine.gallery; these are the underlying services.\nexport {detectClockSkew, isSyncManifestEmpty, CLOCK_SKEW_TOLERANCE_MS} from \"./services/gallerySyncClock\"\nexport {gallerySyncService} from \"./services/asg/gallerySyncService\"\nexport {asgCameraApi} from \"./services/asg/asgCameraApi\"\nexport {localStorageService} from \"./services/asg/localStorageService\"\nexport {mediaProcessingQueue} from \"./services/asg/mediaProcessingQueue\"\nexport {gallerySettingsService} from \"./services/asg/gallerySettingsService\"\nexport {cameraRollExportCoordinator, type CameraRollExportSummary} from \"./services/asg/cameraRollExportCoordinator\"\nexport {\n INVALID_DOWNLOADED_MEDIA,\n validateCaptureMetadataForDownload,\n validateDownloadedMediaFile,\n} from \"./services/asg/galleryMediaValidation\"\nexport {emitGalleryNotice, onGalleryNotice} from \"./services/asg/galleryNotices\"\n\n// Phone-side capture coordinators.\nexport {phonePhotoCoordinator} from \"./services/PhonePhotoCoordinator\"\nexport {phoneStreamCoordinator} from \"./services/PhoneStreamCoordinator\"\n\n// Raw runtime stores (re-exported via the host @/stores/* shims). Read models\n// live on the engine facades; these are the migration escape hatch.\nexport {useDisplayStore, flushDisplayCoalesceForTests} from \"./stores/display\"\nexport {useCoreStore} from \"./stores/core\"\nexport {useConnectionStore} from \"./stores/connection\"\nexport {useCloudClientStatusStore} from \"./stores/cloudClientStatus\"\nexport type {RuntimeAudioTransport, RuntimeSnapshot, RuntimeStatus} from \"./stores/cloudClientStatus\"\nexport {SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting} from \"./stores/settings\"\nexport {MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice} from \"./stores/bluetoothSettingKeys\"\nexport {useAppStatusStore, installAppStoreHooks, type AppStoreHooks} from \"./stores/apps\"\n\n// Cloud client + credentials + v1 comms.\nexport {cloudSecureStore} from \"./utils/cloudClient/cloudSecureStore\"\nexport {cloudClientService} from \"./services/CloudClientService\"\nexport {createCloudUdpSocket} from \"./utils/cloudClient/RnUdpAdapter\"\n\n// Log ring buffer + console interception (bug-report attachments).\nexport {logBuffer, type LogEntry} from \"./utils/devLogging\"\n\n// Bluetooth SDK internal compatibility passthrough. Prefer an engine facade\n// when one exists; this remains an escape hatch for app-only compatibility\n// needs (its event TYPES stay on the main entry).\nexport {default as BluetoothSdk} from \"@mentra/bluetooth-sdk/internal\"\n\n\n// Engine-owned MMKV instance + debug helper.\nexport {storage, printDirectory} from \"./utils/storage\"\n// Process-wide event bus — one shared instance for engine services + host\n// (re-exported via the @/utils/GlobalEventEmitter shim).\nexport {default as GlobalEventEmitter} from \"./utils/GlobalEventEmitter\"\n"]}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bootstrap — the engine's single front door (`engine.configure` / `start` / `stop`).
|
|
3
|
+
*
|
|
4
|
+
* The host hands engine auth + config + analytics in one call; engine owns the
|
|
5
|
+
* runtime construction behind `start()`. Internal services read this holder
|
|
6
|
+
* directly instead of exposing host-facing adapter bags.
|
|
7
|
+
*/
|
|
8
|
+
export type SubjectTokenType = "supabase" | "authing" | (string & {});
|
|
9
|
+
export interface IslandAuth {
|
|
10
|
+
/** Returns the host's current (auto-refreshed) subject token for the backend. */
|
|
11
|
+
getSubjectToken: () => Promise<{
|
|
12
|
+
token: string;
|
|
13
|
+
type: SubjectTokenType;
|
|
14
|
+
}>;
|
|
15
|
+
/**
|
|
16
|
+
* Optional auth-session listener. Hosts that can emit auth changes should
|
|
17
|
+
* wire this so engine can reconnect backend sessions after restored login
|
|
18
|
+
* state lands post-boot.
|
|
19
|
+
*/
|
|
20
|
+
onStateChange?: (callback: (event: string, session: {
|
|
21
|
+
token?: string | null;
|
|
22
|
+
} | null) => void) => unknown;
|
|
23
|
+
}
|
|
24
|
+
export interface IslandConfigValues {
|
|
25
|
+
/** cloud-v2 core service base URL (defaults resolved by the cloud client). */
|
|
26
|
+
coreUrl?: string;
|
|
27
|
+
/** cloud-v2 runtime service base URL. */
|
|
28
|
+
runtimeUrl?: string;
|
|
29
|
+
/** OEM identifier (Mentra is OEM #0); reserved for OEM auth/telemetry. */
|
|
30
|
+
oemId?: string;
|
|
31
|
+
/**
|
|
32
|
+
* LC3 frame size (bytes) the phone's mic encoder emits — announced to the
|
|
33
|
+
* cloud on connect (20 for G1, 40 for G2, …). Defaults to 20 if unset.
|
|
34
|
+
*/
|
|
35
|
+
audioFrameSizeBytes?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Dev-only live Metro/LAN host used to repair persisted local-miniapp dev URLs
|
|
38
|
+
* after the laptop changes networks. Omitted in production/OEM builds.
|
|
39
|
+
*/
|
|
40
|
+
devServerHost?: () => string | undefined;
|
|
41
|
+
}
|
|
42
|
+
export type IslandAnalytics = (event: string, props?: Record<string, unknown>) => void;
|
|
43
|
+
/**
|
|
44
|
+
* Named host-UI seams: engine dispatches the runtime request, the host owns the
|
|
45
|
+
* screen/navigation/branding. Keep each entry a single narrow purpose — this is
|
|
46
|
+
* a contract of specific UI capabilities, not a generic runtime-hook bag.
|
|
47
|
+
*/
|
|
48
|
+
export interface IslandUiSeams {
|
|
49
|
+
/**
|
|
50
|
+
* `session.glasses.requestWifiSetup` — open the host's glasses Wi-Fi setup
|
|
51
|
+
* flow. Absent ⇒ miniapps get NOT_IMPLEMENTED for the request.
|
|
52
|
+
*/
|
|
53
|
+
requestWifiSetup?: (reason?: string) => Promise<void> | void;
|
|
54
|
+
}
|
|
55
|
+
export interface IslandConfigureOptions {
|
|
56
|
+
/** REQUIRED — the only must-have seam. The host owns login; engine owns the rest. */
|
|
57
|
+
auth: IslandAuth;
|
|
58
|
+
config?: IslandConfigValues;
|
|
59
|
+
analytics?: IslandAnalytics;
|
|
60
|
+
ui?: IslandUiSeams;
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Hand engine its auth + config + analytics. Call once, before `start()`.
|
|
64
|
+
*
|
|
65
|
+
* Reconfiguring a RUNNING runtime is not supported: services capture pieces of
|
|
66
|
+
* this config as they build (e.g. the cloud client's endpoints), so swapping the
|
|
67
|
+
* options mid-run would split-brain the runtime (`getAuth()`/`getConfigValues()`
|
|
68
|
+
* report values the running services never consumed). Ignored with a warning
|
|
69
|
+
* while started; after `stop()`, `configure()` + `start()` begin a fresh cycle.
|
|
70
|
+
*/
|
|
71
|
+
export declare function configure(opts: IslandConfigureOptions): void;
|
|
72
|
+
/** Mark the runtime started. Idempotent. */
|
|
73
|
+
export declare function start(): Promise<void>;
|
|
74
|
+
/** Tear down. Idempotent. */
|
|
75
|
+
export declare function stop(): Promise<void>;
|
|
76
|
+
export declare function isStarted(): boolean;
|
|
77
|
+
/** The host-supplied auth provider, or null if not configured yet. */
|
|
78
|
+
export declare function getAuth(): IslandAuth | null;
|
|
79
|
+
export declare function getConfigValues(): IslandConfigValues;
|
|
80
|
+
export declare function getAnalytics(): IslandAnalytics | null;
|
|
81
|
+
/** The host-supplied UI seams ({} until configure() provides them). */
|
|
82
|
+
export declare function getUiSeams(): IslandUiSeams;
|
|
83
|
+
//# sourceMappingURL=bootstrap.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,SAAS,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAA;AAErE,MAAM,WAAW,UAAU;IACzB,iFAAiF;IACjF,eAAe,EAAE,MAAM,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,gBAAgB,CAAA;KAAC,CAAC,CAAA;IACvE;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAC,GAAG,IAAI,KAAK,IAAI,KAAK,OAAO,CAAA;CACxG;AAED,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yCAAyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAA;CACzC;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAA;AAEtF;;;;GAIG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;CAC7D;AAED,MAAM,WAAW,sBAAsB;IACrC,qFAAqF;IACrF,IAAI,EAAE,UAAU,CAAA;IAChB,MAAM,CAAC,EAAE,kBAAkB,CAAA;IAC3B,SAAS,CAAC,EAAE,eAAe,CAAA;IAC3B,EAAE,CAAC,EAAE,aAAa,CAAA;CACnB;AAKD;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,sBAAsB,GAAG,IAAI,CAM5D;AAED,4CAA4C;AAC5C,wBAAsB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAM3C;AAED,6BAA6B;AAC7B,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1C;AAED,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,sEAAsE;AACtE,wBAAgB,OAAO,IAAI,UAAU,GAAG,IAAI,CAE3C;AAED,wBAAgB,eAAe,IAAI,kBAAkB,CAEpD;AAED,wBAAgB,YAAY,IAAI,eAAe,GAAG,IAAI,CAErD;AAED,uEAAuE;AACvE,wBAAgB,UAAU,IAAI,aAAa,CAE1C"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bootstrap — the engine's single front door (`engine.configure` / `start` / `stop`).
|
|
3
|
+
*
|
|
4
|
+
* The host hands engine auth + config + analytics in one call; engine owns the
|
|
5
|
+
* runtime construction behind `start()`. Internal services read this holder
|
|
6
|
+
* directly instead of exposing host-facing adapter bags.
|
|
7
|
+
*/
|
|
8
|
+
let options = null;
|
|
9
|
+
let started = false;
|
|
10
|
+
/**
|
|
11
|
+
* Hand engine its auth + config + analytics. Call once, before `start()`.
|
|
12
|
+
*
|
|
13
|
+
* Reconfiguring a RUNNING runtime is not supported: services capture pieces of
|
|
14
|
+
* this config as they build (e.g. the cloud client's endpoints), so swapping the
|
|
15
|
+
* options mid-run would split-brain the runtime (`getAuth()`/`getConfigValues()`
|
|
16
|
+
* report values the running services never consumed). Ignored with a warning
|
|
17
|
+
* while started; after `stop()`, `configure()` + `start()` begin a fresh cycle.
|
|
18
|
+
*/
|
|
19
|
+
export function configure(opts) {
|
|
20
|
+
if (started) {
|
|
21
|
+
console.warn("engine.configure() called after engine.start(); ignored — stop() the runtime before reconfiguring");
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
options = opts;
|
|
25
|
+
}
|
|
26
|
+
/** Mark the runtime started. Idempotent. */
|
|
27
|
+
export async function start() {
|
|
28
|
+
if (started)
|
|
29
|
+
return;
|
|
30
|
+
if (!options) {
|
|
31
|
+
throw new Error("engine.start() called before engine.configure()");
|
|
32
|
+
}
|
|
33
|
+
started = true;
|
|
34
|
+
}
|
|
35
|
+
/** Tear down. Idempotent. */
|
|
36
|
+
export async function stop() {
|
|
37
|
+
started = false;
|
|
38
|
+
}
|
|
39
|
+
export function isStarted() {
|
|
40
|
+
return started;
|
|
41
|
+
}
|
|
42
|
+
/** The host-supplied auth provider, or null if not configured yet. */
|
|
43
|
+
export function getAuth() {
|
|
44
|
+
return options?.auth ?? null;
|
|
45
|
+
}
|
|
46
|
+
export function getConfigValues() {
|
|
47
|
+
return options?.config ?? {};
|
|
48
|
+
}
|
|
49
|
+
export function getAnalytics() {
|
|
50
|
+
return options?.analytics ?? null;
|
|
51
|
+
}
|
|
52
|
+
/** The host-supplied UI seams ({} until configure() provides them). */
|
|
53
|
+
export function getUiSeams() {
|
|
54
|
+
return options?.ui ?? {};
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=bootstrap.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/runtime/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyDH,IAAI,OAAO,GAAkC,IAAI,CAAA;AACjD,IAAI,OAAO,GAAG,KAAK,CAAA;AAEnB;;;;;;;;GAQG;AACH,MAAM,UAAU,SAAS,CAAC,IAA4B;IACpD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,IAAI,CAAC,mGAAmG,CAAC,CAAA;QACjH,OAAM;IACR,CAAC;IACD,OAAO,GAAG,IAAI,CAAA;AAChB,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,KAAK,UAAU,KAAK;IACzB,IAAI,OAAO;QAAE,OAAM;IACnB,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAA;IACpE,CAAC;IACD,OAAO,GAAG,IAAI,CAAA;AAChB,CAAC;AAED,6BAA6B;AAC7B,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,OAAO,GAAG,KAAK,CAAA;AACjB,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,OAAO;IACrB,OAAO,OAAO,EAAE,IAAI,IAAI,IAAI,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,OAAO,OAAO,EAAE,MAAM,IAAI,EAAE,CAAA;AAC9B,CAAC;AAED,MAAM,UAAU,YAAY;IAC1B,OAAO,OAAO,EAAE,SAAS,IAAI,IAAI,CAAA;AACnC,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,UAAU;IACxB,OAAO,OAAO,EAAE,EAAE,IAAI,EAAE,CAAA;AAC1B,CAAC","sourcesContent":["/**\n * Bootstrap — the engine's single front door (`engine.configure` / `start` / `stop`).\n *\n * The host hands engine auth + config + analytics in one call; engine owns the\n * runtime construction behind `start()`. Internal services read this holder\n * directly instead of exposing host-facing adapter bags.\n */\n\nexport type SubjectTokenType = \"supabase\" | \"authing\" | (string & {})\n\nexport interface IslandAuth {\n /** Returns the host's current (auto-refreshed) subject token for the backend. */\n getSubjectToken: () => Promise<{token: string; type: SubjectTokenType}>\n /**\n * Optional auth-session listener. Hosts that can emit auth changes should\n * wire this so engine can reconnect backend sessions after restored login\n * state lands post-boot.\n */\n onStateChange?: (callback: (event: string, session: {token?: string | null} | null) => void) => unknown\n}\n\nexport interface IslandConfigValues {\n /** cloud-v2 core service base URL (defaults resolved by the cloud client). */\n coreUrl?: string\n /** cloud-v2 runtime service base URL. */\n runtimeUrl?: string\n /** OEM identifier (Mentra is OEM #0); reserved for OEM auth/telemetry. */\n oemId?: string\n /**\n * LC3 frame size (bytes) the phone's mic encoder emits — announced to the\n * cloud on connect (20 for G1, 40 for G2, …). Defaults to 20 if unset.\n */\n audioFrameSizeBytes?: number\n /**\n * Dev-only live Metro/LAN host used to repair persisted local-miniapp dev URLs\n * after the laptop changes networks. Omitted in production/OEM builds.\n */\n devServerHost?: () => string | undefined\n}\n\nexport type IslandAnalytics = (event: string, props?: Record<string, unknown>) => void\n\n/**\n * Named host-UI seams: engine dispatches the runtime request, the host owns the\n * screen/navigation/branding. Keep each entry a single narrow purpose — this is\n * a contract of specific UI capabilities, not a generic runtime-hook bag.\n */\nexport interface IslandUiSeams {\n /**\n * `session.glasses.requestWifiSetup` — open the host's glasses Wi-Fi setup\n * flow. Absent ⇒ miniapps get NOT_IMPLEMENTED for the request.\n */\n requestWifiSetup?: (reason?: string) => Promise<void> | void\n}\n\nexport interface IslandConfigureOptions {\n /** REQUIRED — the only must-have seam. The host owns login; engine owns the rest. */\n auth: IslandAuth\n config?: IslandConfigValues\n analytics?: IslandAnalytics\n ui?: IslandUiSeams\n}\n\nlet options: IslandConfigureOptions | null = null\nlet started = false\n\n/**\n * Hand engine its auth + config + analytics. Call once, before `start()`.\n *\n * Reconfiguring a RUNNING runtime is not supported: services capture pieces of\n * this config as they build (e.g. the cloud client's endpoints), so swapping the\n * options mid-run would split-brain the runtime (`getAuth()`/`getConfigValues()`\n * report values the running services never consumed). Ignored with a warning\n * while started; after `stop()`, `configure()` + `start()` begin a fresh cycle.\n */\nexport function configure(opts: IslandConfigureOptions): void {\n if (started) {\n console.warn(\"engine.configure() called after engine.start(); ignored — stop() the runtime before reconfiguring\")\n return\n }\n options = opts\n}\n\n/** Mark the runtime started. Idempotent. */\nexport async function start(): Promise<void> {\n if (started) return\n if (!options) {\n throw new Error(\"engine.start() called before engine.configure()\")\n }\n started = true\n}\n\n/** Tear down. Idempotent. */\nexport async function stop(): Promise<void> {\n started = false\n}\n\nexport function isStarted(): boolean {\n return started\n}\n\n/** The host-supplied auth provider, or null if not configured yet. */\nexport function getAuth(): IslandAuth | null {\n return options?.auth ?? null\n}\n\nexport function getConfigValues(): IslandConfigValues {\n return options?.config ?? {}\n}\n\nexport function getAnalytics(): IslandAnalytics | null {\n return options?.analytics ?? null\n}\n\n/** The host-supplied UI seams ({} until configure() provides them). */\nexport function getUiSeams(): IslandUiSeams {\n return options?.ui ?? {}\n}\n"]}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime-shared constants and DTOs.
|
|
3
|
+
*
|
|
4
|
+
* The old host-injected runtime adapter surface has moved behind engine-owned
|
|
5
|
+
* services and `engine.configure({auth, config, analytics})`. Keep this file
|
|
6
|
+
* limited to stable types that are shared across those services.
|
|
7
|
+
*/
|
|
8
|
+
export type CloudClientConnectionStatus = "connected" | "connecting" | "reconnecting" | "disconnected";
|
|
9
|
+
export type CloudClientAudioTransport = "udp" | "ws" | "offline" | "none";
|
|
10
|
+
export interface CloudClientStatusSnapshot {
|
|
11
|
+
status: CloudClientConnectionStatus;
|
|
12
|
+
audioTransport: CloudClientAudioTransport;
|
|
13
|
+
}
|
|
14
|
+
export interface MiniappAuthToken {
|
|
15
|
+
mentraUserId: string;
|
|
16
|
+
tenantId?: string;
|
|
17
|
+
token: string;
|
|
18
|
+
expiresAt: number;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Result of an offline TTS synthesis. The engine's TTSModelManager produces
|
|
22
|
+
* this directly; the type is kept exported for hosts that wrap it.
|
|
23
|
+
*/
|
|
24
|
+
export interface TtsSynthesisResult {
|
|
25
|
+
audioUrl: string;
|
|
26
|
+
cleanup?: () => Promise<void> | void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Stable settings keys read by engine services. Hosts must wire their own
|
|
30
|
+
* settings store keys to these names. Mobile already uses these strings.
|
|
31
|
+
*/
|
|
32
|
+
export declare const ISLAND_SETTINGS_KEYS: {
|
|
33
|
+
readonly localSttFallbackActive: "local_stt_fallback_active";
|
|
34
|
+
readonly defaultWearable: "default_wearable";
|
|
35
|
+
readonly coreToken: "core_token";
|
|
36
|
+
readonly cameraFov: "camera_fov";
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Navigation event payloads. Mirror the host's NavigationService types but are
|
|
40
|
+
* duplicated here so the engine module does not import host types.
|
|
41
|
+
*/
|
|
42
|
+
export type NavManeuverEvent = {
|
|
43
|
+
kind: "maneuver";
|
|
44
|
+
maneuverType: string;
|
|
45
|
+
distanceMeters: number;
|
|
46
|
+
fromRoad?: string | null;
|
|
47
|
+
toRoad?: string | null;
|
|
48
|
+
nextStepRoad?: string | null;
|
|
49
|
+
distanceToDestinationMeters?: number;
|
|
50
|
+
timeToDestinationSeconds?: number;
|
|
51
|
+
currentSpeedMps?: number | null;
|
|
52
|
+
speedLimitMps?: number | null;
|
|
53
|
+
routeHeadingDeg?: number | null;
|
|
54
|
+
};
|
|
55
|
+
export type NavOffRouteEvent = {
|
|
56
|
+
kind: "off_route";
|
|
57
|
+
offRouteDistanceMeters: number;
|
|
58
|
+
};
|
|
59
|
+
export type NavReroutingEvent = {
|
|
60
|
+
kind: "rerouting";
|
|
61
|
+
};
|
|
62
|
+
export type NavArrivedEvent = {
|
|
63
|
+
kind: "arrived";
|
|
64
|
+
};
|
|
65
|
+
export type NavErrorEvent = {
|
|
66
|
+
kind: "error";
|
|
67
|
+
message: string;
|
|
68
|
+
};
|
|
69
|
+
export type NavUpdate = NavManeuverEvent | NavOffRouteEvent | NavReroutingEvent | NavArrivedEvent | NavErrorEvent;
|
|
70
|
+
export type NavLocation = {
|
|
71
|
+
lat: number;
|
|
72
|
+
lng: number;
|
|
73
|
+
accuracy: number | null;
|
|
74
|
+
timestamp: number;
|
|
75
|
+
};
|
|
76
|
+
export type NavRouteStep = {
|
|
77
|
+
lat: number;
|
|
78
|
+
lng: number;
|
|
79
|
+
routeIndex: number;
|
|
80
|
+
road: string | null;
|
|
81
|
+
maneuver: string;
|
|
82
|
+
distanceMeters: number;
|
|
83
|
+
};
|
|
84
|
+
export type NavRoute = {
|
|
85
|
+
points: Array<{
|
|
86
|
+
lat: number;
|
|
87
|
+
lng: number;
|
|
88
|
+
}>;
|
|
89
|
+
steps?: NavRouteStep[];
|
|
90
|
+
};
|
|
91
|
+
export type NavTripSnapshot = {
|
|
92
|
+
active: boolean;
|
|
93
|
+
mode?: string;
|
|
94
|
+
stops?: Array<{
|
|
95
|
+
lat: number;
|
|
96
|
+
lng: number;
|
|
97
|
+
}>;
|
|
98
|
+
currentStopIndex?: number;
|
|
99
|
+
route?: NavRoute;
|
|
100
|
+
maneuver?: NavManeuverEvent;
|
|
101
|
+
distanceToDestinationMeters?: number;
|
|
102
|
+
timeToDestinationSeconds?: number;
|
|
103
|
+
currentSpeedMps?: number | null;
|
|
104
|
+
speedLimitMps?: number | null;
|
|
105
|
+
};
|
|
106
|
+
export interface StreamVideoConfig {
|
|
107
|
+
width?: number;
|
|
108
|
+
height?: number;
|
|
109
|
+
bitrate?: number;
|
|
110
|
+
fps?: number;
|
|
111
|
+
}
|
|
112
|
+
export interface StreamAudioConfig {
|
|
113
|
+
bitrate?: number;
|
|
114
|
+
sampleRate?: number;
|
|
115
|
+
echoCancellation?: boolean;
|
|
116
|
+
noiseSuppression?: boolean;
|
|
117
|
+
}
|
|
118
|
+
export type CameraRoiPosition = "center" | "bottom" | "top";
|
|
119
|
+
export type CameraFovPreset = "narrow" | "standard" | "wide";
|
|
120
|
+
export type CameraFovRequest = {
|
|
121
|
+
fov: number;
|
|
122
|
+
roiPosition?: CameraRoiPosition;
|
|
123
|
+
} | {
|
|
124
|
+
preset: CameraFovPreset;
|
|
125
|
+
};
|
|
126
|
+
export interface CameraFovResult {
|
|
127
|
+
requestId: string;
|
|
128
|
+
fov: number;
|
|
129
|
+
roiPosition: CameraRoiPosition;
|
|
130
|
+
timestamp: number;
|
|
131
|
+
}
|
|
132
|
+
/** One audited inter-miniapp call. */
|
|
133
|
+
export interface InteropAuditEvent {
|
|
134
|
+
/** The system app that made the call. */
|
|
135
|
+
caller: string;
|
|
136
|
+
op: "list" | "start" | "stop" | "invoke";
|
|
137
|
+
/** Target miniapp (start/stop/invoke). */
|
|
138
|
+
target?: string;
|
|
139
|
+
/** Action id (invoke only). */
|
|
140
|
+
actionId?: string;
|
|
141
|
+
/** True if the call was permitted and accepted; false on denial / pre-flight failure. */
|
|
142
|
+
ok: boolean;
|
|
143
|
+
/** MiniappErrorCode when ok is false. */
|
|
144
|
+
errorCode?: string;
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runtime-shared constants and DTOs.
|
|
3
|
+
*
|
|
4
|
+
* The old host-injected runtime adapter surface has moved behind engine-owned
|
|
5
|
+
* services and `engine.configure({auth, config, analytics})`. Keep this file
|
|
6
|
+
* limited to stable types that are shared across those services.
|
|
7
|
+
*/
|
|
8
|
+
/**
|
|
9
|
+
* Stable settings keys read by engine services. Hosts must wire their own
|
|
10
|
+
* settings store keys to these names. Mobile already uses these strings.
|
|
11
|
+
*/
|
|
12
|
+
export const ISLAND_SETTINGS_KEYS = {
|
|
13
|
+
localSttFallbackActive: "local_stt_fallback_active",
|
|
14
|
+
defaultWearable: "default_wearable",
|
|
15
|
+
coreToken: "core_token",
|
|
16
|
+
cameraFov: "camera_fov",
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/runtime/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA0BH;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,sBAAsB,EAAE,2BAA2B;IACnD,eAAe,EAAE,kBAAkB;IACnC,SAAS,EAAE,YAAY;IACvB,SAAS,EAAE,YAAY;CACf,CAAA","sourcesContent":["/**\n * Runtime-shared constants and DTOs.\n *\n * The old host-injected runtime adapter surface has moved behind engine-owned\n * services and `engine.configure({auth, config, analytics})`. Keep this file\n * limited to stable types that are shared across those services.\n */\n\nexport type CloudClientConnectionStatus = \"connected\" | \"connecting\" | \"reconnecting\" | \"disconnected\"\nexport type CloudClientAudioTransport = \"udp\" | \"ws\" | \"offline\" | \"none\"\n\nexport interface CloudClientStatusSnapshot {\n status: CloudClientConnectionStatus\n audioTransport: CloudClientAudioTransport\n}\n\nexport interface MiniappAuthToken {\n mentraUserId: string\n tenantId?: string\n token: string\n expiresAt: number\n}\n\n/**\n * Result of an offline TTS synthesis. The engine's TTSModelManager produces\n * this directly; the type is kept exported for hosts that wrap it.\n */\nexport interface TtsSynthesisResult {\n audioUrl: string\n cleanup?: () => Promise<void> | void\n}\n\n/**\n * Stable settings keys read by engine services. Hosts must wire their own\n * settings store keys to these names. Mobile already uses these strings.\n */\nexport const ISLAND_SETTINGS_KEYS = {\n localSttFallbackActive: \"local_stt_fallback_active\",\n defaultWearable: \"default_wearable\",\n coreToken: \"core_token\",\n cameraFov: \"camera_fov\",\n} as const\n\n/**\n * Navigation event payloads. Mirror the host's NavigationService types but are\n * duplicated here so the engine module does not import host types.\n */\nexport type NavManeuverEvent = {\n kind: \"maneuver\"\n maneuverType: string\n distanceMeters: number\n fromRoad?: string | null\n toRoad?: string | null\n nextStepRoad?: string | null\n distanceToDestinationMeters?: number\n timeToDestinationSeconds?: number\n currentSpeedMps?: number | null\n speedLimitMps?: number | null\n routeHeadingDeg?: number | null\n}\nexport type NavOffRouteEvent = {kind: \"off_route\"; offRouteDistanceMeters: number}\nexport type NavReroutingEvent = {kind: \"rerouting\"}\nexport type NavArrivedEvent = {kind: \"arrived\"}\nexport type NavErrorEvent = {kind: \"error\"; message: string}\nexport type NavUpdate = NavManeuverEvent | NavOffRouteEvent | NavReroutingEvent | NavArrivedEvent | NavErrorEvent\n\nexport type NavLocation = {\n lat: number\n lng: number\n accuracy: number | null\n timestamp: number\n}\n\nexport type NavRouteStep = {\n lat: number\n lng: number\n routeIndex: number\n road: string | null\n maneuver: string\n distanceMeters: number\n}\nexport type NavRoute = {\n points: Array<{lat: number; lng: number}>\n steps?: NavRouteStep[]\n}\n\nexport type NavTripSnapshot = {\n active: boolean\n mode?: string\n stops?: Array<{lat: number; lng: number}>\n currentStopIndex?: number\n route?: NavRoute\n maneuver?: NavManeuverEvent\n distanceToDestinationMeters?: number\n timeToDestinationSeconds?: number\n currentSpeedMps?: number | null\n speedLimitMps?: number | null\n}\n\nexport interface StreamVideoConfig {\n width?: number\n height?: number\n bitrate?: number\n fps?: number\n}\n\nexport interface StreamAudioConfig {\n bitrate?: number\n sampleRate?: number\n echoCancellation?: boolean\n noiseSuppression?: boolean\n}\n\nexport type CameraRoiPosition = \"center\" | \"bottom\" | \"top\"\nexport type CameraFovPreset = \"narrow\" | \"standard\" | \"wide\"\n\nexport type CameraFovRequest =\n | {\n fov: number\n roiPosition?: CameraRoiPosition\n }\n | {\n preset: CameraFovPreset\n }\n\nexport interface CameraFovResult {\n requestId: string\n fov: number\n roiPosition: CameraRoiPosition\n timestamp: number\n}\n\n/** One audited inter-miniapp call. */\nexport interface InteropAuditEvent {\n /** The system app that made the call. */\n caller: string\n op: \"list\" | \"start\" | \"stop\" | \"invoke\"\n /** Target miniapp (start/stop/invoke). */\n target?: string\n /** Action id (invoke only). */\n actionId?: string\n /** True if the call was permitted and accepted; false on denial / pre-flight failure. */\n ok: boolean\n /** MiniappErrorCode when ok is false. */\n errorCode?: string\n}\n\n"]}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { StreamAudioConfig, StreamVideoConfig } from "./config";
|
|
2
|
+
export declare const normalizeStreamVideoConfig: (value: unknown) => StreamVideoConfig | undefined;
|
|
3
|
+
export declare const normalizeStreamAudioConfig: (value: unknown) => StreamAudioConfig | undefined;
|
|
4
|
+
//# sourceMappingURL=streamConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamConfig.d.ts","sourceRoot":"","sources":["../../src/runtime/streamConfig.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAE,iBAAiB,EAAC,MAAM,UAAU,CAAA;AAQlE,eAAO,MAAM,0BAA0B,GAAI,OAAO,OAAO,KAAG,iBAAiB,GAAG,SAa/E,CAAA;AAED,eAAO,MAAM,0BAA0B,GAAI,OAAO,OAAO,KAAG,iBAAiB,GAAG,SAU/E,CAAA"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
2
|
+
const finiteNumber = (value) => typeof value === "number" && Number.isFinite(value) ? value : undefined;
|
|
3
|
+
export const normalizeStreamVideoConfig = (value) => {
|
|
4
|
+
if (!isRecord(value))
|
|
5
|
+
return undefined;
|
|
6
|
+
const config = {};
|
|
7
|
+
const width = finiteNumber(value.width);
|
|
8
|
+
const height = finiteNumber(value.height);
|
|
9
|
+
const bitrate = finiteNumber(value.bitrate);
|
|
10
|
+
const frameRate = finiteNumber(value.frameRate);
|
|
11
|
+
const fps = frameRate ?? finiteNumber(value.fps);
|
|
12
|
+
if (width !== undefined)
|
|
13
|
+
config.width = width;
|
|
14
|
+
if (height !== undefined)
|
|
15
|
+
config.height = height;
|
|
16
|
+
if (bitrate !== undefined)
|
|
17
|
+
config.bitrate = bitrate;
|
|
18
|
+
if (fps !== undefined)
|
|
19
|
+
config.fps = fps;
|
|
20
|
+
return Object.keys(config).length > 0 ? config : undefined;
|
|
21
|
+
};
|
|
22
|
+
export const normalizeStreamAudioConfig = (value) => {
|
|
23
|
+
if (!isRecord(value))
|
|
24
|
+
return undefined;
|
|
25
|
+
const config = {};
|
|
26
|
+
const bitrate = finiteNumber(value.bitrate);
|
|
27
|
+
const sampleRate = finiteNumber(value.sampleRate);
|
|
28
|
+
if (bitrate !== undefined)
|
|
29
|
+
config.bitrate = bitrate;
|
|
30
|
+
if (sampleRate !== undefined)
|
|
31
|
+
config.sampleRate = sampleRate;
|
|
32
|
+
if (typeof value.echoCancellation === "boolean")
|
|
33
|
+
config.echoCancellation = value.echoCancellation;
|
|
34
|
+
if (typeof value.noiseSuppression === "boolean")
|
|
35
|
+
config.noiseSuppression = value.noiseSuppression;
|
|
36
|
+
return Object.keys(config).length > 0 ? config : undefined;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=streamConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streamConfig.js","sourceRoot":"","sources":["../../src/runtime/streamConfig.ts"],"names":[],"mappings":"AAEA,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CACpE,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;AAEtE,MAAM,YAAY,GAAG,CAAC,KAAc,EAAsB,EAAE,CAC1D,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;AAEzE,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAc,EAAiC,EAAE;IAC1F,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACtC,MAAM,MAAM,GAAsB,EAAE,CAAA;IACpC,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;IACzC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IAC/C,MAAM,GAAG,GAAG,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAChD,IAAI,KAAK,KAAK,SAAS;QAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAA;IAC7C,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAA;IAChD,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;IACnD,IAAI,GAAG,KAAK,SAAS;QAAE,MAAM,CAAC,GAAG,GAAG,GAAG,CAAA;IACvC,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AAC5D,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAc,EAAiC,EAAE;IAC1F,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IACtC,MAAM,MAAM,GAAsB,EAAE,CAAA;IACpC,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IACjD,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAA;IACnD,IAAI,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;IAC5D,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,SAAS;QAAE,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAA;IACjG,IAAI,OAAO,KAAK,CAAC,gBAAgB,KAAK,SAAS;QAAE,MAAM,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAA;IACjG,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAA;AAC5D,CAAC,CAAA","sourcesContent":["import type {StreamAudioConfig, StreamVideoConfig} from \"./config\"\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === \"object\" && value !== null && !Array.isArray(value)\n\nconst finiteNumber = (value: unknown): number | undefined =>\n typeof value === \"number\" && Number.isFinite(value) ? value : undefined\n\nexport const normalizeStreamVideoConfig = (value: unknown): StreamVideoConfig | undefined => {\n if (!isRecord(value)) return undefined\n const config: StreamVideoConfig = {}\n const width = finiteNumber(value.width)\n const height = finiteNumber(value.height)\n const bitrate = finiteNumber(value.bitrate)\n const frameRate = finiteNumber(value.frameRate)\n const fps = frameRate ?? finiteNumber(value.fps)\n if (width !== undefined) config.width = width\n if (height !== undefined) config.height = height\n if (bitrate !== undefined) config.bitrate = bitrate\n if (fps !== undefined) config.fps = fps\n return Object.keys(config).length > 0 ? config : undefined\n}\n\nexport const normalizeStreamAudioConfig = (value: unknown): StreamAudioConfig | undefined => {\n if (!isRecord(value)) return undefined\n const config: StreamAudioConfig = {}\n const bitrate = finiteNumber(value.bitrate)\n const sampleRate = finiteNumber(value.sampleRate)\n if (bitrate !== undefined) config.bitrate = bitrate\n if (sampleRate !== undefined) config.sampleRate = sampleRate\n if (typeof value.echoCancellation === \"boolean\") config.echoCancellation = value.echoCancellation\n if (typeof value.noiseSuppression === \"boolean\") config.noiseSuppression = value.noiseSuppression\n return Object.keys(config).length > 0 ? config : undefined\n}\n"]}
|