@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,185 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* reports facade — `engine.reports`: user/system report submission over the
|
|
3
|
+
* Cloud V2 core client.
|
|
4
|
+
*
|
|
5
|
+
* Host/OEM code owns UI and wording. Engine owns MentraOS mechanics: context
|
|
6
|
+
* collection, recent phone logs, Cloud V2 calls, local automatic throttling,
|
|
7
|
+
* screenshots, and notifying connected glasses.
|
|
8
|
+
*/
|
|
9
|
+
import BluetoothSdk from "@mentra/bluetooth-sdk/internal"
|
|
10
|
+
import type {
|
|
11
|
+
ReportAttachmentInput,
|
|
12
|
+
ReportContext,
|
|
13
|
+
ReportStatus,
|
|
14
|
+
SubmitReportInput,
|
|
15
|
+
} from "@mentra/cloud-client"
|
|
16
|
+
import {useGlassesStore} from "../stores/glasses"
|
|
17
|
+
import {isGlassesConnected} from "../services/GlassesReadiness"
|
|
18
|
+
import {cloudClientService} from "../services/CloudClientService"
|
|
19
|
+
import {collectDiagnosticContext} from "../utils/diagnosticContext"
|
|
20
|
+
import {logBuffer} from "../utils/devLogging"
|
|
21
|
+
|
|
22
|
+
export type {
|
|
23
|
+
ReportAttachmentInput,
|
|
24
|
+
ReportContext,
|
|
25
|
+
ReportDetails,
|
|
26
|
+
ReportStatus,
|
|
27
|
+
ReportTrigger,
|
|
28
|
+
} from "@mentra/cloud-client"
|
|
29
|
+
|
|
30
|
+
export type EngineSubmitReportInput =
|
|
31
|
+
| (Omit<Extract<SubmitReportInput, {kind: "bug"}>, "context"> & {
|
|
32
|
+
context?: Partial<ReportContext>
|
|
33
|
+
screenshots?: ReportAttachmentInput[]
|
|
34
|
+
})
|
|
35
|
+
| (Omit<Extract<SubmitReportInput, {kind: "feedback"}>, "context"> & {
|
|
36
|
+
context?: Partial<ReportContext>
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
export type EngineSubmitAutomaticReportInput = Omit<Extract<SubmitReportInput, {kind: "automatic"}>, "context"> & {
|
|
40
|
+
context?: Partial<ReportContext>
|
|
41
|
+
screenshots?: ReportAttachmentInput[]
|
|
42
|
+
throttleKey?: string
|
|
43
|
+
throttleWindowMs?: number
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
type InternalSubmitReportInput = EngineSubmitReportInput | EngineSubmitAutomaticReportInput
|
|
47
|
+
|
|
48
|
+
export type ReportSubmitResult =
|
|
49
|
+
| {status: "submitted"; reportId: string; reportStatus: ReportStatus}
|
|
50
|
+
| {status: "skipped"; reason: "throttled_within_window"}
|
|
51
|
+
| {status: "failed"; error: string}
|
|
52
|
+
|
|
53
|
+
const DEFAULT_AUTOMATIC_REPORT_THROTTLE_MS = 90_000
|
|
54
|
+
const automaticReportThrottleRegistry = new Map<string, number>()
|
|
55
|
+
|
|
56
|
+
function automaticThrottleShouldSkip(key: string, nowMs: number, windowMs: number): boolean {
|
|
57
|
+
const previous = automaticReportThrottleRegistry.get(key)
|
|
58
|
+
if (previous !== undefined && nowMs - previous < windowMs) {
|
|
59
|
+
return true
|
|
60
|
+
}
|
|
61
|
+
pruneAutomaticThrottleRegistry(nowMs, windowMs)
|
|
62
|
+
return false
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
function markAutomaticThrottleSuccess(key: string, nowMs: number, windowMs: number): void {
|
|
66
|
+
automaticReportThrottleRegistry.set(key, nowMs)
|
|
67
|
+
pruneAutomaticThrottleRegistry(nowMs, windowMs)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
function pruneAutomaticThrottleRegistry(nowMs: number, windowMs: number): void {
|
|
71
|
+
for (const [entryKey, entryTime] of automaticReportThrottleRegistry) {
|
|
72
|
+
if (nowMs - entryTime > windowMs * 3) {
|
|
73
|
+
automaticReportThrottleRegistry.delete(entryKey)
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
function notifyGlasses(reportId: string, apiBaseUrl?: string | null): void {
|
|
79
|
+
if (!isGlassesConnected(useGlassesStore.getState().connection)) return
|
|
80
|
+
void (async () => {
|
|
81
|
+
try {
|
|
82
|
+
await cloudClientService.syncCoreTokenToBluetooth()
|
|
83
|
+
await BluetoothSdk.sendIncidentId(reportId, apiBaseUrl ?? cloudClientService.getCoreUrl())
|
|
84
|
+
} catch (error) {
|
|
85
|
+
console.warn("reports.submit: notify glasses failed:", error instanceof Error ? error.message : error)
|
|
86
|
+
}
|
|
87
|
+
})()
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
async function submitReportInternal(input: InternalSubmitReportInput): Promise<ReportSubmitResult> {
|
|
91
|
+
const throttle =
|
|
92
|
+
input.kind === "automatic" && input.throttleKey
|
|
93
|
+
? {
|
|
94
|
+
key: input.throttleKey,
|
|
95
|
+
windowMs: input.throttleWindowMs ?? DEFAULT_AUTOMATIC_REPORT_THROTTLE_MS,
|
|
96
|
+
}
|
|
97
|
+
: null
|
|
98
|
+
|
|
99
|
+
if (input.kind === "automatic" && input.throttleKey) {
|
|
100
|
+
const shouldSkip = automaticThrottleShouldSkip(
|
|
101
|
+
input.throttleKey,
|
|
102
|
+
Date.now(),
|
|
103
|
+
throttle?.windowMs ?? DEFAULT_AUTOMATIC_REPORT_THROTTLE_MS,
|
|
104
|
+
)
|
|
105
|
+
if (shouldSkip) return {status: "skipped", reason: "throttled_within_window"}
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
const context = await collectDiagnosticContext(input.context)
|
|
109
|
+
let reportId: string
|
|
110
|
+
let reportStatus: ReportStatus
|
|
111
|
+
let artifactsComplete = true
|
|
112
|
+
try {
|
|
113
|
+
const res =
|
|
114
|
+
input.kind === "feedback"
|
|
115
|
+
? await cloudClientService.core.reports.submit({
|
|
116
|
+
kind: "feedback",
|
|
117
|
+
feedback: input.feedback,
|
|
118
|
+
context,
|
|
119
|
+
})
|
|
120
|
+
: input.kind === "bug"
|
|
121
|
+
? await cloudClientService.core.reports.submit({
|
|
122
|
+
kind: "bug",
|
|
123
|
+
trigger: input.trigger,
|
|
124
|
+
report: input.report,
|
|
125
|
+
context,
|
|
126
|
+
})
|
|
127
|
+
: await cloudClientService.core.reports.submit({
|
|
128
|
+
kind: "automatic",
|
|
129
|
+
trigger: input.trigger,
|
|
130
|
+
report: input.report,
|
|
131
|
+
context,
|
|
132
|
+
})
|
|
133
|
+
reportId = res.reportId
|
|
134
|
+
reportStatus = res.status
|
|
135
|
+
} catch (error) {
|
|
136
|
+
return {status: "failed", error: error instanceof Error ? error.message : String(error)}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
if (input.kind !== "feedback") {
|
|
140
|
+
const logs = logBuffer.getRecentLogs()
|
|
141
|
+
if (logs.length > 0) {
|
|
142
|
+
try {
|
|
143
|
+
await cloudClientService.core.reports.addLogs(reportId, "phone", logs)
|
|
144
|
+
} catch (error) {
|
|
145
|
+
artifactsComplete = false
|
|
146
|
+
console.warn("reports.submit: add phone logs failed:", error instanceof Error ? error.message : error)
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
notifyGlasses(reportId, cloudClientService.getCoreUrl())
|
|
151
|
+
|
|
152
|
+
if (input.screenshots && input.screenshots.length > 0) {
|
|
153
|
+
try {
|
|
154
|
+
await cloudClientService.core.reports.addScreenshots(reportId, input.screenshots)
|
|
155
|
+
} catch (error) {
|
|
156
|
+
artifactsComplete = false
|
|
157
|
+
console.warn("reports.submit: add screenshots failed:", error instanceof Error ? error.message : error)
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
try {
|
|
162
|
+
const completed = await cloudClientService.core.reports.complete(reportId)
|
|
163
|
+
reportStatus = completed.status
|
|
164
|
+
} catch (error) {
|
|
165
|
+
artifactsComplete = false
|
|
166
|
+
console.warn("reports.submit: complete report failed:", error instanceof Error ? error.message : error)
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (throttle && artifactsComplete) {
|
|
171
|
+
markAutomaticThrottleSuccess(throttle.key, Date.now(), throttle.windowMs)
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
return {status: "submitted", reportId, reportStatus}
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export const reports = {
|
|
178
|
+
submit(input: EngineSubmitReportInput): Promise<ReportSubmitResult> {
|
|
179
|
+
return submitReportInternal(input)
|
|
180
|
+
},
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export function submitAutomaticReport(input: EngineSubmitAutomaticReportInput): Promise<ReportSubmitResult> {
|
|
184
|
+
return submitReportInternal(input)
|
|
185
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* session facade — `engine.session`: the cloud-v2 live-session surface engine
|
|
3
|
+
* now owns (keystone #5). Exposes the connection status read-model (status +
|
|
4
|
+
* audio transport, projected from the engine-owned cloud-status store) and the
|
|
5
|
+
* liveness flag.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
import {cloudClientService} from "../services/CloudClientService"
|
|
9
|
+
import {useCloudClientStatusStore} from "../stores/cloudClientStatus"
|
|
10
|
+
import {useConnectionStore} from "../stores/connection"
|
|
11
|
+
import type {WebSocketStatus} from "../stores/connection"
|
|
12
|
+
import type {CloudClientStatusSnapshot} from "../runtime/config"
|
|
13
|
+
|
|
14
|
+
function project(): CloudClientStatusSnapshot {
|
|
15
|
+
const s = useCloudClientStatusStore.getState()
|
|
16
|
+
return {status: s.status, audioTransport: s.audioTransport}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const session = {
|
|
20
|
+
/** Current cloud live-session status (connection state + audio transport). */
|
|
21
|
+
status: (): CloudClientStatusSnapshot => project(),
|
|
22
|
+
/** Subscribe to cloud session-status changes; returns an unsubscribe. */
|
|
23
|
+
onStatus: (cb: (status: CloudClientStatusSnapshot) => void): (() => void) => {
|
|
24
|
+
// Dedupe: fire only when the projected {status, audioTransport} changes.
|
|
25
|
+
let last = JSON.stringify(project())
|
|
26
|
+
return useCloudClientStatusStore.subscribe(() => {
|
|
27
|
+
const snap = project()
|
|
28
|
+
const key = JSON.stringify(snap)
|
|
29
|
+
if (key === last) return
|
|
30
|
+
last = key
|
|
31
|
+
cb(snap)
|
|
32
|
+
})
|
|
33
|
+
},
|
|
34
|
+
/** Whether the live-session handshake has completed. */
|
|
35
|
+
isConnected: (): boolean => cloudClientService.isConnected(),
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Legacy Cloud-V1 websocket status. The socket's writer (the host
|
|
39
|
+
* WebSocketManager) was deleted in the Cloud V1 ripout, so this now always
|
|
40
|
+
* reports the store's initial DISCONNECTED; the host connection banners
|
|
41
|
+
* render `status()` (the cloud-v2 runtime) instead. Kept, with the backing
|
|
42
|
+
* connection store, for the engine-side legacy-surface removal (issue #3392).
|
|
43
|
+
*/
|
|
44
|
+
legacyWebsocketStatus: (): WebSocketStatus => useConnectionStore.getState().status,
|
|
45
|
+
/** Subscribe to legacy websocket status changes; fires only when it changes. Returns an unsubscribe. */
|
|
46
|
+
onLegacyWebsocketStatus: (cb: (status: WebSocketStatus) => void): (() => void) => {
|
|
47
|
+
let last = useConnectionStore.getState().status
|
|
48
|
+
return useConnectionStore.subscribe((state) => {
|
|
49
|
+
if (state.status === last) return
|
|
50
|
+
last = state.status
|
|
51
|
+
cb(state.status)
|
|
52
|
+
})
|
|
53
|
+
},
|
|
54
|
+
|
|
55
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* settings facade — `engine.settings`: the typed keyed user-settings surface over
|
|
3
|
+
* the engine-owned settings store. This is the (A) OEM contract; the raw store at
|
|
4
|
+
* `engine.stores.settings` is the Mentra-app escape hatch.
|
|
5
|
+
*
|
|
6
|
+
* Keys + their schema live in `SETTINGS` (theme, devMode, metric/twelveHourTime,
|
|
7
|
+
* notifications, onboarding flags, …); `descriptor(key)`/`keys()` expose them.
|
|
8
|
+
*/
|
|
9
|
+
import {useSettingsStore, SETTINGS} from "../stores/settings"
|
|
10
|
+
|
|
11
|
+
// Copy: object/array-valued settings must not hand callers a mutable reference
|
|
12
|
+
// into the store (mutations would silently corrupt store state, bypassing set()).
|
|
13
|
+
function copySettingValue<T>(value: T): T {
|
|
14
|
+
if (Array.isArray(value)) return [...value] as T
|
|
15
|
+
if (value && typeof value === "object") return {...(value as object)} as T
|
|
16
|
+
return value
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export const settings = {
|
|
20
|
+
/** Read a setting by key (the current value, or its default; object/array values
|
|
21
|
+
* are shallow copies). */
|
|
22
|
+
get: <T = unknown>(key: string): T | undefined =>
|
|
23
|
+
copySettingValue(useSettingsStore.getState().getSetting(key) as T | undefined),
|
|
24
|
+
/**
|
|
25
|
+
* Write a setting. `syncToServer` (default true) also pushes the change to the
|
|
26
|
+
* backend; pass false for device-local-only writes.
|
|
27
|
+
*/
|
|
28
|
+
set: <T = unknown>(key: string, value: T, syncToServer = true) =>
|
|
29
|
+
useSettingsStore.getState().setSetting(key, value, syncToServer),
|
|
30
|
+
/** Subscribe to changes for one key; returns an unsubscribe. */
|
|
31
|
+
onChanged: <T = unknown>(key: string, cb: (value: T | undefined) => void): (() => void) =>
|
|
32
|
+
useSettingsStore.subscribe((s) => s.getSetting(key) as T | undefined, cb),
|
|
33
|
+
/** The schema descriptor for a key (type, default, options…), or undefined. */
|
|
34
|
+
descriptor: (key: string) => SETTINGS[key],
|
|
35
|
+
/** All known setting keys. */
|
|
36
|
+
keys: (): string[] => Object.keys(SETTINGS),
|
|
37
|
+
/**
|
|
38
|
+
* Reset every setting to its default on THIS device only (no server sync) —
|
|
39
|
+
* the logout path. Server-side settings are untouched.
|
|
40
|
+
*/
|
|
41
|
+
resetAllLocal: (): void => useSettingsStore.getState().resetAllSettingsLocally(),
|
|
42
|
+
/**
|
|
43
|
+
* Hydrate the settings store from device storage — the host-boot step (fire
|
|
44
|
+
* once at app start, before UI reads settings). Single-flighted internally.
|
|
45
|
+
*/
|
|
46
|
+
loadAll: () => useSettingsStore.getState().loadAllSettings(),
|
|
47
|
+
/**
|
|
48
|
+
* Every EXPLICITLY-SET setting (shallow copy; keys never written are absent —
|
|
49
|
+
* use get() for default-resolved reads). The data-export surface.
|
|
50
|
+
*/
|
|
51
|
+
getAll: (): Record<string, unknown> => ({...useSettingsStore.getState().settings}),
|
|
52
|
+
/**
|
|
53
|
+
* Bulk device-local write without server sync — seeding the store from a
|
|
54
|
+
* backend settings payload.
|
|
55
|
+
*/
|
|
56
|
+
setManyLocal: (values: Record<string, unknown>) => useSettingsStore.getState().setManyLocally(values),
|
|
57
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* speech facade — `engine.speech.{stt,tts}`: on-device STT/TTS model management,
|
|
3
|
+
* wrapping the in-engine model managers. Thin passthrough (args forwarded with
|
|
4
|
+
* exact types via Parameters<>), so the facade never drifts from the managers.
|
|
5
|
+
* STT additionally exposes the auto-download status stream (the TTS path has none).
|
|
6
|
+
*/
|
|
7
|
+
import BluetoothSdk from "@mentra/bluetooth-sdk/internal"
|
|
8
|
+
import sttModelManager from "../services/STTModelManager"
|
|
9
|
+
import ttsModelManager from "../services/TTSModelManager"
|
|
10
|
+
import offlineSpeechModelService from "../services/OfflineSpeechModelService"
|
|
11
|
+
|
|
12
|
+
export const speech = {
|
|
13
|
+
/** Restart the glasses' on-device transcriber (e.g. after switching STT language). */
|
|
14
|
+
restartTranscriber: (): Promise<void> => BluetoothSdk.restartTranscriber(),
|
|
15
|
+
stt: {
|
|
16
|
+
currentLanguage: () => sttModelManager.getCurrentLanguage(),
|
|
17
|
+
languages: () => sttModelManager.getAvailableLanguages(),
|
|
18
|
+
languageInfo: () => sttModelManager.getAllLanguageInfo(),
|
|
19
|
+
download: (...args: Parameters<typeof sttModelManager.downloadModel>) => sttModelManager.downloadModel(...args),
|
|
20
|
+
activate: (code: string) => sttModelManager.setCurrentLanguage(code),
|
|
21
|
+
cancelDownload: () => sttModelManager.cancelDownload(),
|
|
22
|
+
deleteModel: (...args: Parameters<typeof sttModelManager.deleteModel>) => sttModelManager.deleteModel(...args),
|
|
23
|
+
/** Current auto-download status of the offline STT model. */
|
|
24
|
+
status: () => offlineSpeechModelService.getStatus(),
|
|
25
|
+
/** Subscribe to auto-download status changes; returns an unsubscribe. */
|
|
26
|
+
onStatusChanged: (...args: Parameters<typeof offlineSpeechModelService.subscribe>) =>
|
|
27
|
+
offlineSpeechModelService.subscribe(...args),
|
|
28
|
+
},
|
|
29
|
+
tts: {
|
|
30
|
+
currentLanguage: () => ttsModelManager.getCurrentLanguage(),
|
|
31
|
+
languages: () => ttsModelManager.getAvailableLanguages(),
|
|
32
|
+
languageInfo: () => ttsModelManager.getAllLanguageInfo(),
|
|
33
|
+
download: (...args: Parameters<typeof ttsModelManager.downloadModel>) => ttsModelManager.downloadModel(...args),
|
|
34
|
+
activate: (code: string) => ttsModelManager.setCurrentLanguage(code),
|
|
35
|
+
cancelDownload: () => ttsModelManager.cancelDownload(),
|
|
36
|
+
deleteModel: (...args: Parameters<typeof ttsModelManager.deleteModel>) => ttsModelManager.deleteModel(...args),
|
|
37
|
+
},
|
|
38
|
+
}
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@mentra/engine` — the OEM-facing main entry.
|
|
3
|
+
*
|
|
4
|
+
* The `engine` namespace (configure/start/stop + typed domain facades), the
|
|
5
|
+
* public contract/read-model types, and the pure helpers host UI legitimately
|
|
6
|
+
* renders with (decision functions, sort/order helpers, policy constants,
|
|
7
|
+
* capability tables, timers). Judgment rule: read models, commands, pure
|
|
8
|
+
* functions and types belong here; anything that mutates runtime state or
|
|
9
|
+
* exposes a raw store/service lives on `@mentra/engine/internal`
|
|
10
|
+
* (migration-era surface) or `@mentra/engine/devtools` (debug-only) instead.
|
|
11
|
+
* See cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
// The namespaced OEM-facing engine API (the "(A) host API"). See ./engine.
|
|
15
|
+
export {engine} from "./engine"
|
|
16
|
+
export type {
|
|
17
|
+
ReportAttachmentInput,
|
|
18
|
+
ReportContext,
|
|
19
|
+
ReportDetails,
|
|
20
|
+
ReportStatus,
|
|
21
|
+
ReportTrigger,
|
|
22
|
+
ReportSubmitResult,
|
|
23
|
+
EngineSubmitReportInput,
|
|
24
|
+
} from "./facades/reports"
|
|
25
|
+
export type {IslandNotification, IslandNotificationKind} from "./facades/notifications"
|
|
26
|
+
export type {WifiSearchResult} from "./facades/glassesWifi"
|
|
27
|
+
export type {IdentitySnapshot} from "./services/PairingIdentity"
|
|
28
|
+
export type {DisplayMirrorEvent} from "./facades/displayMirror"
|
|
29
|
+
export type {
|
|
30
|
+
IslandConfigureOptions,
|
|
31
|
+
IslandAuth,
|
|
32
|
+
IslandConfigValues,
|
|
33
|
+
IslandAnalytics,
|
|
34
|
+
IslandUiSeams,
|
|
35
|
+
SubjectTokenType,
|
|
36
|
+
} from "./runtime/bootstrap"
|
|
37
|
+
|
|
38
|
+
// Settings contract: the typed key registry (schema descriptors — the same
|
|
39
|
+
// surface engine.settings.descriptor()/keys() reads), the per-key React hook
|
|
40
|
+
// (the hook layer, same precedent as the apps hooks below), and the pure
|
|
41
|
+
// device-model key helpers. The raw useSettingsStore stays internal;
|
|
42
|
+
// imperative access goes through engine.settings.
|
|
43
|
+
export {SETTINGS, useSetting} from "./stores/settings"
|
|
44
|
+
export {MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice} from "./stores/bluetoothSettingKeys"
|
|
45
|
+
|
|
46
|
+
// Runtime-shared constants and contract DTOs.
|
|
47
|
+
export {ISLAND_SETTINGS_KEYS} from "./runtime/config"
|
|
48
|
+
export type {
|
|
49
|
+
CloudClientStatusSnapshot,
|
|
50
|
+
MiniappAuthToken,
|
|
51
|
+
InteropAuditEvent,
|
|
52
|
+
TtsSynthesisResult,
|
|
53
|
+
} from "./runtime/config"
|
|
54
|
+
|
|
55
|
+
// Pure readiness predicates over glasses connection state.
|
|
56
|
+
export {
|
|
57
|
+
isGlassesConnected,
|
|
58
|
+
isGlassesReady,
|
|
59
|
+
isGlassesLinkLayerBusy,
|
|
60
|
+
waitForGlassesReady,
|
|
61
|
+
type GlassesConnectionStatus,
|
|
62
|
+
type WaitForGlassesReadyOptions,
|
|
63
|
+
} from "./services/GlassesReadiness"
|
|
64
|
+
// Pure connect/reconnect decision helpers (host UI renders the outcome).
|
|
65
|
+
export {
|
|
66
|
+
decideReconnect,
|
|
67
|
+
decideConnectButtonAction,
|
|
68
|
+
type ReconnectDecision,
|
|
69
|
+
type ReconnectDecisionInput,
|
|
70
|
+
type ConnectButtonAction,
|
|
71
|
+
} from "./services/ConnectionCoordinator"
|
|
72
|
+
|
|
73
|
+
// OTA read-model types for host OTA UI (progress screen, error mapping,
|
|
74
|
+
// progress section) — the check/install machinery itself is internal.
|
|
75
|
+
export type {
|
|
76
|
+
VersionInfo,
|
|
77
|
+
MtkPatch,
|
|
78
|
+
BesFirmware,
|
|
79
|
+
VersionJson,
|
|
80
|
+
OtaCheckResult,
|
|
81
|
+
OtaCheckCurrentGlassesResult,
|
|
82
|
+
OtaCheckCurrentGlassesOptions,
|
|
83
|
+
} from "./services/OtaUpdateCheckService"
|
|
84
|
+
// OTA install policy (watchdog timings + failure copy) + display-state
|
|
85
|
+
// derivation, consumed by the OTA screens and their tests.
|
|
86
|
+
export {
|
|
87
|
+
MINIMUM_OTA_STATUS_BUILD,
|
|
88
|
+
MAX_RETRIES,
|
|
89
|
+
RETRY_INTERVAL_MS,
|
|
90
|
+
PROGRESS_TIMEOUT_MS,
|
|
91
|
+
DOWNLOAD_STUCK_TIMEOUT_MS,
|
|
92
|
+
MTK_INSTALL_TIMEOUT_MS,
|
|
93
|
+
GLOBAL_OTA_TIMEOUT_MS,
|
|
94
|
+
POST_APK_OTA_START_DELAY_MS,
|
|
95
|
+
PING_INTERVAL_MS,
|
|
96
|
+
QUERY_REPLY_TIMEOUT_MS,
|
|
97
|
+
OtaProgressMessages,
|
|
98
|
+
} from "./services/otaInstallPolicy"
|
|
99
|
+
export {deriveDisplayState} from "./services/otaDisplayState"
|
|
100
|
+
export type {DisplayState} from "./services/otaDisplayState"
|
|
101
|
+
export type {
|
|
102
|
+
OtaProgress,
|
|
103
|
+
OtaProgressStatus,
|
|
104
|
+
OtaStatus,
|
|
105
|
+
OtaUpdateInfo,
|
|
106
|
+
OtaSnapshot,
|
|
107
|
+
OtaInstallSnapshot,
|
|
108
|
+
} from "./facades/ota"
|
|
109
|
+
|
|
110
|
+
// Gallery read models: engine.gallery.onNotice payload types, the media
|
|
111
|
+
// permission helper + display-name derivation host gallery UI uses, and the
|
|
112
|
+
// glasses-camera DTO types (re-exported through the host @/types/asg shim).
|
|
113
|
+
export type {GalleryNotice, GalleryNoticeCode} from "./services/asg/galleryNotices"
|
|
114
|
+
export {MediaLibraryPermissions} from "./utils/permissions/MediaLibraryPermissions"
|
|
115
|
+
export {deriveGalleryDisplayName} from "./utils/permissions/galleryDisplayName"
|
|
116
|
+
export type {PhotoInfo, CaptureFile, CaptureGroup, GalleryResponse, ServerStatus, HealthResponse, GalleryEvent} from "./types/asg"
|
|
117
|
+
|
|
118
|
+
// Bluetooth SDK event types host UI subscribes to via engine facades (the
|
|
119
|
+
// BluetoothSdk singleton passthrough itself is internal).
|
|
120
|
+
export type {PairFailureEvent, GlassesNotReadyEvent} from "@mentra/bluetooth-sdk/internal"
|
|
121
|
+
|
|
122
|
+
// Cloud connection status enum (read model; the connection store is internal).
|
|
123
|
+
export {WebSocketStatus} from "./stores/connection"
|
|
124
|
+
|
|
125
|
+
// App-list hook layer + pure list helpers (the raw useAppStatusStore and
|
|
126
|
+
// installAppStoreHooks wiring are internal).
|
|
127
|
+
export {
|
|
128
|
+
DUMMY_APPLET,
|
|
129
|
+
saveAppsOrder,
|
|
130
|
+
getAppsOrder,
|
|
131
|
+
sortAppsByPackageNamePriority,
|
|
132
|
+
saveLastOpenTime,
|
|
133
|
+
getLastOpenTime,
|
|
134
|
+
sortAppsByLastOpenTime,
|
|
135
|
+
useApps,
|
|
136
|
+
useStart,
|
|
137
|
+
useStop,
|
|
138
|
+
useSetForeground,
|
|
139
|
+
useClearForeground,
|
|
140
|
+
useRefresh,
|
|
141
|
+
useStopAll,
|
|
142
|
+
useInstall,
|
|
143
|
+
useUninstall,
|
|
144
|
+
useActiveApps,
|
|
145
|
+
useActiveBackgroundApps,
|
|
146
|
+
useBackgroundApps,
|
|
147
|
+
useActiveForegroundApp,
|
|
148
|
+
useForegroundApp,
|
|
149
|
+
useActiveBackgroundAppsCount,
|
|
150
|
+
useLocalMiniApps,
|
|
151
|
+
type StartOptions,
|
|
152
|
+
type OrderMap,
|
|
153
|
+
} from "./stores/apps"
|
|
154
|
+
|
|
155
|
+
// Pure dev-miniapp launch-route decision (registration itself is internal).
|
|
156
|
+
export {decideDevLaunchRoute, type DevLaunchResult, type DevManifest} from "./utils/devMiniappLaunch"
|
|
157
|
+
export {HardwareCompatibility, type CompatibilityResult} from "./utils/hardware"
|
|
158
|
+
export {BgTimer, throttle, debounce} from "./utils/timers"
|
|
159
|
+
|
|
160
|
+
// Types (copied from @mentra/types — keep in sync with cloud/packages/types/src)
|
|
161
|
+
export {
|
|
162
|
+
HardwareType,
|
|
163
|
+
HardwareRequirementLevel,
|
|
164
|
+
DeviceTypes,
|
|
165
|
+
ControllerTypes,
|
|
166
|
+
HARDWARE_CAPABILITIES,
|
|
167
|
+
getModelCapabilities,
|
|
168
|
+
simulatedGlasses,
|
|
169
|
+
evenRealitiesG1,
|
|
170
|
+
evenRealitiesG2,
|
|
171
|
+
mentraLive,
|
|
172
|
+
vuzixZ100,
|
|
173
|
+
mentraDisplay,
|
|
174
|
+
} from "./types"
|
|
175
|
+
export type {
|
|
176
|
+
HardwareRequirement,
|
|
177
|
+
CameraCapabilities,
|
|
178
|
+
DisplayCapabilities,
|
|
179
|
+
MicrophoneCapabilities,
|
|
180
|
+
SpeakerCapabilities,
|
|
181
|
+
IMUCapabilities,
|
|
182
|
+
ButtonCapabilities,
|
|
183
|
+
LightCapabilities,
|
|
184
|
+
PowerCapabilities,
|
|
185
|
+
Capabilities,
|
|
186
|
+
AppletType,
|
|
187
|
+
AppPermissionType,
|
|
188
|
+
AppletPermission,
|
|
189
|
+
AppletInterface,
|
|
190
|
+
ClientApp,
|
|
191
|
+
} from "./types"
|
package/src/internal.ts
ADDED
|
@@ -0,0 +1,159 @@
|
|
|
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
|
+
|
|
18
|
+
// Miniapp runtime plumbing: WebView bridge, registry, launcher, engine.
|
|
19
|
+
export {default as webviewBridge} from "./services/WebviewBridge"
|
|
20
|
+
export {
|
|
21
|
+
default as appRegistry,
|
|
22
|
+
normalizeManifestPermissions,
|
|
23
|
+
normalizeManifestActions,
|
|
24
|
+
buildHardwareRequirements,
|
|
25
|
+
saveLocalAppRunningState,
|
|
26
|
+
registerDevApp,
|
|
27
|
+
unregisterDevApp,
|
|
28
|
+
getDevAppRecords,
|
|
29
|
+
getDevAppSourcePackage,
|
|
30
|
+
getDevAppAttestation,
|
|
31
|
+
DEV_APP_PACKAGE_NAME,
|
|
32
|
+
type DevAppRecord,
|
|
33
|
+
} from "./services/AppRegistry"
|
|
34
|
+
export {default as displayProcessor} from "./services/DisplayProcessor"
|
|
35
|
+
export {default as localDisplayManager, type DisplayPayload} from "./services/LocalDisplayManager"
|
|
36
|
+
export {default as localMiniappRuntime, type InstalledMiniappManifest} from "./services/LocalMiniappRuntime"
|
|
37
|
+
export {miniappLauncher, type LaunchHints, type LaunchResult, type ResolvedBundle} from "./services/MiniappLauncher"
|
|
38
|
+
export {
|
|
39
|
+
MentraJSRouter,
|
|
40
|
+
type MentraJSCrustBinding,
|
|
41
|
+
type OutboundMessagePayload as MentraJSOutboundMessage,
|
|
42
|
+
type RouterLogger as MentraJSRouterLogger,
|
|
43
|
+
} from "./services/MentraJSRouter"
|
|
44
|
+
export {buildMentraUiShim, type MentraUiShimOptions} from "./services/mentraUiShim"
|
|
45
|
+
export {MentraUIRouter, type MentraUICrustBinding} from "./services/MentraUIRouter"
|
|
46
|
+
export {
|
|
47
|
+
MentraJSCrashController,
|
|
48
|
+
type CrashState,
|
|
49
|
+
type CrashOutcome,
|
|
50
|
+
type CrashControllerOptions,
|
|
51
|
+
} from "./services/MentraJSCrashController"
|
|
52
|
+
export {ensureMiniappEngine, getMiniappEngine, type MiniappEngine} from "./services/MiniappEngine"
|
|
53
|
+
export {
|
|
54
|
+
redactSecrets,
|
|
55
|
+
MentraJSLogThrottle,
|
|
56
|
+
MentraJSLogRingBuffer,
|
|
57
|
+
type ThrottleOptions,
|
|
58
|
+
} from "./services/MentraJSLogPipeline"
|
|
59
|
+
// WebView-injection script builders (miniapp globals + mentra-ui shim).
|
|
60
|
+
export {
|
|
61
|
+
buildMiniappGlobalsScript,
|
|
62
|
+
getCapsuleMenuRect,
|
|
63
|
+
type BuildMiniappGlobalsOptions,
|
|
64
|
+
type CapsuleMenuRect,
|
|
65
|
+
type MiniappColorScheme,
|
|
66
|
+
type MiniappSafeArea,
|
|
67
|
+
} from "./utils/miniappGlobals"
|
|
68
|
+
|
|
69
|
+
// Speech/audio coordinators and model managers.
|
|
70
|
+
export {default as localSttFallbackCoordinator} from "./services/LocalSttFallbackCoordinator"
|
|
71
|
+
export {default as micStateCoordinator} from "./services/MicStateCoordinator"
|
|
72
|
+
export {default as audioPlaybackService} from "./services/AudioPlaybackService"
|
|
73
|
+
export {
|
|
74
|
+
default as sttModelManager,
|
|
75
|
+
STTModelManager,
|
|
76
|
+
type LanguageInfo as SttLanguageInfo,
|
|
77
|
+
type LanguageConfig as SttLanguageConfig,
|
|
78
|
+
type DownloadProgress as SttDownloadProgress,
|
|
79
|
+
type ExtractionProgress as SttExtractionProgress,
|
|
80
|
+
} from "./services/STTModelManager"
|
|
81
|
+
export {default as ttsModelManager, TTSModelManager} from "./services/TTSModelManager"
|
|
82
|
+
export {
|
|
83
|
+
default as offlineSpeechModelService,
|
|
84
|
+
type DownloadStatus as OfflineModelDownloadStatus,
|
|
85
|
+
type DownloadStage as OfflineModelDownloadStage,
|
|
86
|
+
} from "./services/OfflineSpeechModelService"
|
|
87
|
+
|
|
88
|
+
export {default as navigationService} from "./services/NavigationService"
|
|
89
|
+
// Phone GPS — the background location task + tier control. Importing this
|
|
90
|
+
// module registers the background task, so the entry that MantleManager loads
|
|
91
|
+
// must keep re-exporting it (was: the main barrel).
|
|
92
|
+
export {phoneLocationService, stopPhoneLocation} from "./services/PhoneLocationService"
|
|
93
|
+
// Clock-skew fix commands (BLE writes) used by OTA + gallery sync.
|
|
94
|
+
export {fixGlassesClockIfSkewed, maybeFixGlassesClockFromVersionInfo} from "./services/glassesClockSync"
|
|
95
|
+
// OTA manifest-URL resolution (dev-override/legacy-build/env/prod).
|
|
96
|
+
export {getAsgOtaVersionUrl} from "./services/asgOtaVersionUrl"
|
|
97
|
+
// Flat OTA check helpers (network + BLE state). Host usage is a tracked
|
|
98
|
+
// burn-down surface (§F); the sanctioned path is engine.ota.checkForUpdates().
|
|
99
|
+
export {
|
|
100
|
+
fetchVersionInfo,
|
|
101
|
+
checkVersionUpdateAvailable,
|
|
102
|
+
getLatestVersionInfo,
|
|
103
|
+
findMatchingMtkPatch,
|
|
104
|
+
checkBesUpdate,
|
|
105
|
+
checkForOtaUpdate,
|
|
106
|
+
checkCurrentGlassesForUpdate,
|
|
107
|
+
} from "./services/OtaUpdateCheckService"
|
|
108
|
+
|
|
109
|
+
// Gallery cluster — sync orchestrator, glasses-camera HTTP API, media/storage,
|
|
110
|
+
// settings, validation and the service-to-service notice bus. Host gallery UI
|
|
111
|
+
// renders engine.gallery; these are the underlying services.
|
|
112
|
+
export {detectClockSkew, isSyncManifestEmpty, CLOCK_SKEW_TOLERANCE_MS} from "./services/gallerySyncClock"
|
|
113
|
+
export {gallerySyncService} from "./services/asg/gallerySyncService"
|
|
114
|
+
export {asgCameraApi} from "./services/asg/asgCameraApi"
|
|
115
|
+
export {localStorageService} from "./services/asg/localStorageService"
|
|
116
|
+
export {mediaProcessingQueue} from "./services/asg/mediaProcessingQueue"
|
|
117
|
+
export {gallerySettingsService} from "./services/asg/gallerySettingsService"
|
|
118
|
+
export {cameraRollExportCoordinator, type CameraRollExportSummary} from "./services/asg/cameraRollExportCoordinator"
|
|
119
|
+
export {
|
|
120
|
+
INVALID_DOWNLOADED_MEDIA,
|
|
121
|
+
validateCaptureMetadataForDownload,
|
|
122
|
+
validateDownloadedMediaFile,
|
|
123
|
+
} from "./services/asg/galleryMediaValidation"
|
|
124
|
+
export {emitGalleryNotice, onGalleryNotice} from "./services/asg/galleryNotices"
|
|
125
|
+
|
|
126
|
+
// Phone-side capture coordinators.
|
|
127
|
+
export {phonePhotoCoordinator} from "./services/PhonePhotoCoordinator"
|
|
128
|
+
export {phoneStreamCoordinator} from "./services/PhoneStreamCoordinator"
|
|
129
|
+
|
|
130
|
+
// Raw runtime stores (re-exported via the host @/stores/* shims). Read models
|
|
131
|
+
// live on the engine facades; these are the migration escape hatch.
|
|
132
|
+
export {useDisplayStore, flushDisplayCoalesceForTests} from "./stores/display"
|
|
133
|
+
export {useCoreStore} from "./stores/core"
|
|
134
|
+
export {useConnectionStore} from "./stores/connection"
|
|
135
|
+
export {useCloudClientStatusStore} from "./stores/cloudClientStatus"
|
|
136
|
+
export type {RuntimeAudioTransport, RuntimeSnapshot, RuntimeStatus} from "./stores/cloudClientStatus"
|
|
137
|
+
export {SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting} from "./stores/settings"
|
|
138
|
+
export {MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice} from "./stores/bluetoothSettingKeys"
|
|
139
|
+
export {useAppStatusStore, installAppStoreHooks, type AppStoreHooks} from "./stores/apps"
|
|
140
|
+
|
|
141
|
+
// Cloud client + credentials + v1 comms.
|
|
142
|
+
export {cloudSecureStore} from "./utils/cloudClient/cloudSecureStore"
|
|
143
|
+
export {cloudClientService} from "./services/CloudClientService"
|
|
144
|
+
export {createCloudUdpSocket} from "./utils/cloudClient/RnUdpAdapter"
|
|
145
|
+
|
|
146
|
+
// Log ring buffer + console interception (bug-report attachments).
|
|
147
|
+
export {logBuffer, type LogEntry} from "./utils/devLogging"
|
|
148
|
+
|
|
149
|
+
// Bluetooth SDK internal compatibility passthrough. Prefer an engine facade
|
|
150
|
+
// when one exists; this remains an escape hatch for app-only compatibility
|
|
151
|
+
// needs (its event TYPES stay on the main entry).
|
|
152
|
+
export {default as BluetoothSdk} from "@mentra/bluetooth-sdk/internal"
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
// Engine-owned MMKV instance + debug helper.
|
|
156
|
+
export {storage, printDirectory} from "./utils/storage"
|
|
157
|
+
// Process-wide event bus — one shared instance for engine services + host
|
|
158
|
+
// (re-exported via the @/utils/GlobalEventEmitter shim).
|
|
159
|
+
export {default as GlobalEventEmitter} from "./utils/GlobalEventEmitter"
|