@mentra/engine 0.1.0-dev.0 → 3.1.0-dev.10
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 +55 -18
- package/build/bluetooth-sdk/debug.d.ts +2 -0
- package/build/bluetooth-sdk/debug.d.ts.map +1 -0
- package/build/bluetooth-sdk/debug.js +2 -0
- package/build/bluetooth-sdk/debug.js.map +1 -0
- package/build/bluetooth-sdk/index.d.ts +3 -0
- package/build/bluetooth-sdk/index.d.ts.map +1 -0
- package/build/bluetooth-sdk/index.js +3 -0
- package/build/bluetooth-sdk/index.js.map +1 -0
- package/build/bluetooth-sdk/photo-receiver.d.ts +3 -0
- package/build/bluetooth-sdk/photo-receiver.d.ts.map +1 -0
- package/build/bluetooth-sdk/photo-receiver.js +3 -0
- package/build/bluetooth-sdk/photo-receiver.js.map +1 -0
- package/build/bluetooth-sdk/react.d.ts +2 -0
- package/build/bluetooth-sdk/react.d.ts.map +1 -0
- package/build/bluetooth-sdk/react.js +2 -0
- package/build/bluetooth-sdk/react.js.map +1 -0
- package/build/bluetooth-sdk/types.d.ts +2 -0
- package/build/bluetooth-sdk/types.d.ts.map +1 -0
- package/build/bluetooth-sdk/types.js +2 -0
- package/build/bluetooth-sdk/types.js.map +1 -0
- package/build/engine.d.ts +24 -16
- package/build/engine.d.ts.map +1 -1
- package/build/engine.js +9 -4
- package/build/engine.js.map +1 -1
- package/build/facades/dev.d.ts +3 -2
- package/build/facades/dev.d.ts.map +1 -1
- package/build/facades/dev.js +18 -12
- package/build/facades/dev.js.map +1 -1
- package/build/facades/display.d.ts +1 -1
- package/build/facades/display.d.ts.map +1 -1
- package/build/facades/display.js +1 -1
- package/build/facades/display.js.map +1 -1
- package/build/facades/gallery.js +1 -1
- package/build/facades/gallery.js.map +1 -1
- package/build/facades/glasses.d.ts +4 -13
- package/build/facades/glasses.d.ts.map +1 -1
- package/build/facades/glasses.js +21 -6
- package/build/facades/glasses.js.map +1 -1
- package/build/facades/glassesSettings.d.ts.map +1 -1
- package/build/facades/glassesSettings.js +1 -0
- package/build/facades/glassesSettings.js.map +1 -1
- package/build/facades/miniapps.d.ts +4 -0
- package/build/facades/miniapps.d.ts.map +1 -1
- package/build/facades/miniapps.js +5 -0
- package/build/facades/miniapps.js.map +1 -1
- package/build/facades/ota.d.ts +14 -16
- package/build/facades/ota.d.ts.map +1 -1
- package/build/facades/ota.js +22 -7
- package/build/facades/ota.js.map +1 -1
- package/build/facades/pairing.d.ts +8 -5
- package/build/facades/pairing.d.ts.map +1 -1
- package/build/facades/pairing.js +12 -10
- package/build/facades/pairing.js.map +1 -1
- package/build/facades/permissions.d.ts +10 -0
- package/build/facades/permissions.d.ts.map +1 -1
- package/build/facades/permissions.js +10 -0
- package/build/facades/permissions.js.map +1 -1
- package/build/facades/phoneNotifications.d.ts +0 -4
- package/build/facades/phoneNotifications.d.ts.map +1 -1
- package/build/facades/phoneNotifications.js +4 -14
- package/build/facades/phoneNotifications.js.map +1 -1
- package/build/facades/speech.d.ts +7 -6
- package/build/facades/speech.d.ts.map +1 -1
- package/build/facades/speech.js +1 -1
- package/build/facades/speech.js.map +1 -1
- package/build/generated/releaseMetadata.d.ts +12 -0
- package/build/generated/releaseMetadata.d.ts.map +1 -0
- package/build/generated/releaseMetadata.js +10 -0
- package/build/generated/releaseMetadata.js.map +1 -0
- package/build/index.d.ts +10 -8
- package/build/index.d.ts.map +1 -1
- package/build/index.js +6 -5
- package/build/index.js.map +1 -1
- package/build/react/MentraLiveOtaFlow.d.ts +38 -0
- package/build/react/MentraLiveOtaFlow.d.ts.map +1 -0
- package/build/react/MentraLiveOtaFlow.js +528 -0
- package/build/react/MentraLiveOtaFlow.js.map +1 -0
- package/build/react/index.d.ts +2 -0
- package/build/react/index.d.ts.map +1 -0
- package/build/react/index.js +2 -0
- package/build/react/index.js.map +1 -0
- package/build/react/useEngineSnapshot.d.ts +2 -0
- package/build/react/useEngineSnapshot.d.ts.map +1 -0
- package/build/react/useEngineSnapshot.js +14 -0
- package/build/react/useEngineSnapshot.js.map +1 -0
- package/build/runtime/bootstrap.d.ts +24 -1
- package/build/runtime/bootstrap.d.ts.map +1 -1
- package/build/runtime/bootstrap.js +17 -0
- package/build/runtime/bootstrap.js.map +1 -1
- package/build/runtime/scanQrSeam.d.ts +7 -0
- package/build/runtime/scanQrSeam.d.ts.map +1 -0
- package/build/runtime/scanQrSeam.js +16 -0
- package/build/runtime/scanQrSeam.js.map +1 -0
- package/build/services/AppRegistry.d.ts +41 -57
- package/build/services/AppRegistry.d.ts.map +1 -1
- package/build/services/AppRegistry.js +208 -144
- package/build/services/AppRegistry.js.map +1 -1
- package/build/services/AudioCloudUplink.d.ts +12 -0
- package/build/services/AudioCloudUplink.d.ts.map +1 -1
- package/build/services/AudioCloudUplink.js +22 -1
- package/build/services/AudioCloudUplink.js.map +1 -1
- package/build/services/AudioPlaybackService.d.ts +41 -2
- package/build/services/AudioPlaybackService.d.ts.map +1 -1
- package/build/services/AudioPlaybackService.js +250 -33
- package/build/services/AudioPlaybackService.js.map +1 -1
- package/build/services/BlobStore.d.ts +2 -1
- package/build/services/BlobStore.d.ts.map +1 -1
- package/build/services/BlobStore.js +17 -9
- package/build/services/BlobStore.js.map +1 -1
- package/build/services/CloudAudioSubscriptionSync.d.ts.map +1 -1
- package/build/services/CloudAudioSubscriptionSync.js +13 -1
- package/build/services/CloudAudioSubscriptionSync.js.map +1 -1
- package/build/services/CloudClientService.d.ts +15 -0
- package/build/services/CloudClientService.d.ts.map +1 -1
- package/build/services/CloudClientService.js +93 -1
- package/build/services/CloudClientService.js.map +1 -1
- package/build/services/DeviceEventRouter.js +5 -5
- package/build/services/DeviceEventRouter.js.map +1 -1
- package/build/services/ForegroundLocationPermission.d.ts +13 -0
- package/build/services/ForegroundLocationPermission.d.ts.map +1 -0
- package/build/services/ForegroundLocationPermission.js +12 -0
- package/build/services/ForegroundLocationPermission.js.map +1 -0
- package/build/services/GlassesSettingsSync.d.ts.map +1 -1
- package/build/services/GlassesSettingsSync.js +9 -3
- package/build/services/GlassesSettingsSync.js.map +1 -1
- package/build/services/GlassesStatusProjection.d.ts +2 -1
- package/build/services/GlassesStatusProjection.d.ts.map +1 -1
- package/build/services/GlassesStatusProjection.js +15 -8
- package/build/services/GlassesStatusProjection.js.map +1 -1
- package/build/services/HotspotOtaTransport.d.ts +29 -0
- package/build/services/HotspotOtaTransport.d.ts.map +1 -0
- package/build/services/HotspotOtaTransport.js +146 -0
- package/build/services/HotspotOtaTransport.js.map +1 -0
- package/build/services/HotspotShutdown.d.ts +17 -0
- package/build/services/HotspotShutdown.d.ts.map +1 -0
- package/build/services/HotspotShutdown.js +29 -0
- package/build/services/HotspotShutdown.js.map +1 -0
- package/build/services/LocalDisplayManager.d.ts +15 -0
- package/build/services/LocalDisplayManager.d.ts.map +1 -1
- package/build/services/LocalDisplayManager.js +106 -20
- package/build/services/LocalDisplayManager.js.map +1 -1
- package/build/services/LocalMiniappRuntime.d.ts +74 -2
- package/build/services/LocalMiniappRuntime.d.ts.map +1 -1
- package/build/services/LocalMiniappRuntime.js +785 -291
- package/build/services/LocalMiniappRuntime.js.map +1 -1
- package/build/services/LocalMiniappStorage.d.ts +32 -0
- package/build/services/LocalMiniappStorage.d.ts.map +1 -0
- package/build/services/LocalMiniappStorage.js +66 -0
- package/build/services/LocalMiniappStorage.js.map +1 -0
- package/build/services/LocalMiniappUserIdentity.d.ts +20 -0
- package/build/services/LocalMiniappUserIdentity.d.ts.map +1 -0
- package/build/services/LocalMiniappUserIdentity.js +43 -0
- package/build/services/LocalMiniappUserIdentity.js.map +1 -0
- package/build/services/LocalSttFallbackCoordinator.d.ts +9 -6
- package/build/services/LocalSttFallbackCoordinator.d.ts.map +1 -1
- package/build/services/LocalSttFallbackCoordinator.js +18 -12
- package/build/services/LocalSttFallbackCoordinator.js.map +1 -1
- package/build/services/MicStateCoordinator.d.ts +42 -1
- package/build/services/MicStateCoordinator.d.ts.map +1 -1
- package/build/services/MicStateCoordinator.js +141 -3
- package/build/services/MicStateCoordinator.js.map +1 -1
- package/build/services/MiniappLauncher.d.ts.map +1 -1
- package/build/services/MiniappLauncher.js +23 -3
- package/build/services/MiniappLauncher.js.map +1 -1
- package/build/services/MiniappLiveness.d.ts +12 -0
- package/build/services/MiniappLiveness.d.ts.map +1 -0
- package/build/services/MiniappLiveness.js +16 -0
- package/build/services/MiniappLiveness.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/OtaArtifactDownloader.d.ts +65 -0
- package/build/services/OtaArtifactDownloader.d.ts.map +1 -0
- package/build/services/OtaArtifactDownloader.js +226 -0
- package/build/services/OtaArtifactDownloader.js.map +1 -0
- package/build/services/OtaAutoChain.d.ts +34 -0
- package/build/services/OtaAutoChain.d.ts.map +1 -0
- package/build/services/OtaAutoChain.js +83 -0
- package/build/services/OtaAutoChain.js.map +1 -0
- package/build/services/OtaErrorMapping.d.ts +18 -0
- package/build/services/OtaErrorMapping.d.ts.map +1 -0
- package/build/services/OtaErrorMapping.js +63 -0
- package/build/services/OtaErrorMapping.js.map +1 -0
- package/build/services/OtaInstallCoordinator.d.ts +95 -15
- package/build/services/OtaInstallCoordinator.d.ts.map +1 -1
- package/build/services/OtaInstallCoordinator.js +577 -130
- package/build/services/OtaInstallCoordinator.js.map +1 -1
- package/build/services/OtaService.d.ts.map +1 -1
- package/build/services/OtaService.js +8 -1
- package/build/services/OtaService.js.map +1 -1
- package/build/services/OtaUpdateCheckService.d.ts +39 -4
- package/build/services/OtaUpdateCheckService.d.ts.map +1 -1
- package/build/services/OtaUpdateCheckService.js +138 -22
- package/build/services/OtaUpdateCheckService.js.map +1 -1
- 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 +45 -0
- package/build/services/PhoneCalendarService.js.map +1 -0
- package/build/services/PhoneCameraFovCoordinator.d.ts +30 -0
- package/build/services/PhoneCameraFovCoordinator.d.ts.map +1 -0
- package/build/services/PhoneCameraFovCoordinator.js +194 -0
- package/build/services/PhoneCameraFovCoordinator.js.map +1 -0
- package/build/services/PhoneNotificationsSync.d.ts.map +1 -1
- package/build/services/PhoneNotificationsSync.js +12 -10
- package/build/services/PhoneNotificationsSync.js.map +1 -1
- package/build/services/PhonePhotoCoordinator.d.ts +26 -2
- package/build/services/PhonePhotoCoordinator.d.ts.map +1 -1
- package/build/services/PhonePhotoCoordinator.js +79 -9
- package/build/services/PhonePhotoCoordinator.js.map +1 -1
- package/build/services/PhoneStreamCoordinator.d.ts +8 -1
- package/build/services/PhoneStreamCoordinator.d.ts.map +1 -1
- package/build/services/PhoneStreamCoordinator.js +125 -13
- package/build/services/PhoneStreamCoordinator.js.map +1 -1
- package/build/services/PhoneVideoCoordinator.d.ts +2 -0
- package/build/services/PhoneVideoCoordinator.d.ts.map +1 -1
- package/build/services/PhoneVideoCoordinator.js +10 -0
- package/build/services/PhoneVideoCoordinator.js.map +1 -1
- package/build/services/SceneRenderer.d.ts.map +1 -1
- package/build/services/SceneRenderer.js +15 -0
- package/build/services/SceneRenderer.js.map +1 -1
- 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/SupportProfileSync.d.ts +22 -0
- package/build/services/SupportProfileSync.d.ts.map +1 -0
- package/build/services/SupportProfileSync.js +213 -0
- package/build/services/SupportProfileSync.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/TtsTextSanitizer.d.ts +5 -0
- package/build/services/TtsTextSanitizer.d.ts.map +1 -0
- package/build/services/TtsTextSanitizer.js +61 -0
- package/build/services/TtsTextSanitizer.js.map +1 -0
- package/build/services/WifiAdbRequest.d.ts +17 -0
- package/build/services/WifiAdbRequest.d.ts.map +1 -0
- package/build/services/WifiAdbRequest.js +35 -0
- package/build/services/WifiAdbRequest.js.map +1 -0
- package/build/services/asg/asgCameraApi.d.ts +43 -0
- package/build/services/asg/asgCameraApi.d.ts.map +1 -1
- package/build/services/asg/asgCameraApi.js +509 -26
- package/build/services/asg/asgCameraApi.js.map +1 -1
- 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/galleryNotices.d.ts +1 -1
- package/build/services/asg/galleryNotices.d.ts.map +1 -1
- package/build/services/asg/galleryNotices.js.map +1 -1
- 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 +1 -0
- package/build/services/asg/gallerySettingsService.d.ts.map +1 -1
- package/build/services/asg/gallerySettingsService.js +2 -0
- package/build/services/asg/gallerySettingsService.js.map +1 -1
- package/build/services/asg/gallerySyncService.d.ts.map +1 -1
- package/build/services/asg/gallerySyncService.js +162 -56
- package/build/services/asg/gallerySyncService.js.map +1 -1
- 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 +18 -0
- package/build/services/asg/localStorageService.d.ts.map +1 -1
- package/build/services/asg/localStorageService.js +168 -19
- package/build/services/asg/localStorageService.js.map +1 -1
- package/build/services/asg/mediaProcessingQueue.d.ts +10 -0
- package/build/services/asg/mediaProcessingQueue.d.ts.map +1 -1
- package/build/services/asg/mediaProcessingQueue.js +193 -62
- package/build/services/asg/mediaProcessingQueue.js.map +1 -1
- package/build/services/audioPlaybackAssets.d.ts +8 -0
- package/build/services/audioPlaybackAssets.d.ts.map +1 -0
- package/build/services/audioPlaybackAssets.js +7 -0
- package/build/services/audioPlaybackAssets.js.map +1 -0
- package/build/services/gallerySyncClock.js +1 -1
- package/build/services/gallerySyncClock.js.map +1 -1
- package/build/services/glassesClockSync.d.ts.map +1 -1
- package/build/services/glassesClockSync.js +6 -2
- package/build/services/glassesClockSync.js.map +1 -1
- package/build/services/manifestActions.d.ts +7 -0
- package/build/services/manifestActions.d.ts.map +1 -0
- package/build/services/manifestActions.js +25 -0
- package/build/services/manifestActions.js.map +1 -0
- package/build/services/otaDisplayState.d.ts +23 -12
- package/build/services/otaDisplayState.d.ts.map +1 -1
- package/build/services/otaDisplayState.js +36 -14
- package/build/services/otaDisplayState.js.map +1 -1
- package/build/services/otaInstallPolicy.d.ts +16 -4
- package/build/services/otaInstallPolicy.d.ts.map +1 -1
- package/build/services/otaInstallPolicy.js +24 -3
- package/build/services/otaInstallPolicy.js.map +1 -1
- package/build/services/otaLegacyMapping.d.ts +1 -1
- package/build/services/otaLegacyMapping.d.ts.map +1 -1
- package/build/services/otaLegacyMapping.js.map +1 -1
- package/build/services/otaManifestPolicy.d.ts +14 -0
- package/build/services/otaManifestPolicy.d.ts.map +1 -0
- package/build/services/otaManifestPolicy.js +19 -0
- package/build/services/otaManifestPolicy.js.map +1 -0
- package/build/services/otaManifestUrl.d.ts +3 -0
- package/build/services/otaManifestUrl.d.ts.map +1 -0
- package/build/services/otaManifestUrl.js +38 -0
- package/build/services/otaManifestUrl.js.map +1 -0
- package/build/services/slimStreamStatus.d.ts +11 -0
- package/build/services/slimStreamStatus.d.ts.map +1 -1
- package/build/services/slimStreamStatus.js +14 -4
- package/build/services/slimStreamStatus.js.map +1 -1
- package/build/stores/apps.d.ts.map +1 -1
- package/build/stores/apps.js +11 -0
- package/build/stores/apps.js.map +1 -1
- package/build/stores/bluetoothSettingKeys.d.ts.map +1 -1
- package/build/stores/bluetoothSettingKeys.js +2 -0
- package/build/stores/bluetoothSettingKeys.js.map +1 -1
- package/build/stores/gallerySync.d.ts +2 -0
- package/build/stores/gallerySync.d.ts.map +1 -1
- package/build/stores/gallerySync.js +2 -0
- package/build/stores/gallerySync.js.map +1 -1
- package/build/stores/glasses.d.ts.map +1 -1
- package/build/stores/glasses.js +3 -0
- package/build/stores/glasses.js.map +1 -1
- package/build/stores/settings.d.ts +17 -0
- package/build/stores/settings.d.ts.map +1 -1
- package/build/stores/settings.js +157 -17
- package/build/stores/settings.js.map +1 -1
- package/build/types/applet.d.ts +2 -0
- package/build/types/applet.d.ts.map +1 -1
- package/build/types/applet.js.map +1 -1
- package/build/types/asg.d.ts +7 -0
- package/build/types/asg.d.ts.map +1 -1
- package/build/types/asg.js.map +1 -1
- package/build/types/enums.d.ts +2 -25
- package/build/types/enums.d.ts.map +1 -1
- package/build/types/enums.js +2 -27
- package/build/types/enums.js.map +1 -1
- package/build/types/hardware.d.ts +4 -13
- package/build/types/hardware.d.ts.map +1 -1
- package/build/types/hardware.js +15 -3
- package/build/types/hardware.js.map +1 -1
- package/build/types/index.d.ts +2 -6
- package/build/types/index.d.ts.map +1 -1
- package/build/types/index.js +2 -6
- package/build/types/index.js.map +1 -1
- package/build/utils/configuredDevHost.d.ts +6 -0
- package/build/utils/configuredDevHost.d.ts.map +1 -0
- package/build/utils/configuredDevHost.js +19 -0
- package/build/utils/configuredDevHost.js.map +1 -0
- package/build/utils/devMiniappLaunch.d.ts +19 -8
- package/build/utils/devMiniappLaunch.d.ts.map +1 -1
- package/build/utils/devMiniappLaunch.js +144 -21
- package/build/utils/devMiniappLaunch.js.map +1 -1
- package/build/utils/diagnosticContext.d.ts.map +1 -1
- package/build/utils/diagnosticContext.js +15 -17
- package/build/utils/diagnosticContext.js.map +1 -1
- package/build/utils/hardware/hardware.d.ts.map +1 -1
- package/build/utils/hardware/hardware.js +7 -3
- package/build/utils/hardware/hardware.js.map +1 -1
- package/build/utils/miniappDiagnostics.d.ts +64 -0
- package/build/utils/miniappDiagnostics.d.ts.map +1 -0
- package/build/utils/miniappDiagnostics.js +173 -0
- package/build/utils/miniappDiagnostics.js.map +1 -0
- package/build/utils/permissions/MediaLibraryPermissions.d.ts +11 -0
- package/build/utils/permissions/MediaLibraryPermissions.d.ts.map +1 -1
- package/build/utils/permissions/MediaLibraryPermissions.js +27 -4
- package/build/utils/permissions/MediaLibraryPermissions.js.map +1 -1
- package/build/utils/timers/timers.d.ts.map +1 -1
- package/build/utils/timers/timers.js +55 -18
- package/build/utils/timers/timers.js.map +1 -1
- package/package.json +59 -31
- package/src/assets/silence.wav +0 -0
- package/src/bluetooth-sdk/debug.ts +1 -0
- package/src/bluetooth-sdk/index.ts +2 -0
- package/src/bluetooth-sdk/photo-receiver.ts +2 -0
- package/src/bluetooth-sdk/react.ts +1 -0
- package/src/bluetooth-sdk/types.ts +1 -0
- package/src/engine.ts +9 -4
- package/src/facades/dev.ts +17 -12
- package/src/facades/display.ts +1 -1
- package/src/facades/gallery.ts +1 -1
- package/src/facades/glasses.ts +20 -7
- package/src/facades/glassesSettings.ts +5 -0
- package/src/facades/miniapps.ts +7 -0
- package/src/facades/ota.ts +23 -8
- package/src/facades/pairing.ts +15 -11
- package/src/facades/permissions.ts +14 -0
- package/src/facades/phoneNotifications.ts +4 -13
- package/src/facades/speech.ts +21 -7
- package/src/generated/releaseMetadata.ts +20 -0
- package/src/index.ts +39 -13
- package/src/react/MentraLiveOtaFlow.tsx +856 -0
- package/src/react/index.ts +7 -0
- package/src/react/useEngineSnapshot.ts +16 -0
- package/src/runtime/bootstrap.ts +33 -1
- package/src/runtime/scanQrSeam.ts +20 -0
- package/src/services/AppRegistry.ts +240 -149
- package/src/services/AudioCloudUplink.ts +23 -1
- package/src/services/AudioPlaybackService.ts +287 -38
- package/src/services/BlobStore.ts +22 -9
- package/src/services/CloudAudioSubscriptionSync.ts +13 -1
- package/src/services/CloudClientService.ts +96 -1
- package/src/services/DeviceEventRouter.ts +5 -5
- package/src/services/ForegroundLocationPermission.ts +24 -0
- package/src/services/GlassesSettingsSync.ts +9 -3
- package/src/services/GlassesStatusProjection.ts +16 -8
- package/src/services/HotspotOtaTransport.ts +184 -0
- package/src/services/HotspotShutdown.ts +41 -0
- package/src/services/LocalDisplayManager.ts +112 -21
- package/src/services/LocalMiniappRuntime.ts +967 -346
- package/src/services/LocalMiniappStorage.ts +82 -0
- package/src/services/LocalMiniappUserIdentity.ts +46 -0
- package/src/services/LocalSttFallbackCoordinator.ts +19 -12
- package/src/services/MicStateCoordinator.ts +169 -4
- package/src/services/MiniappLauncher.ts +30 -3
- package/src/services/MiniappLiveness.ts +24 -0
- package/src/services/NativeHttpResponse.ts +6 -0
- package/src/services/OtaArtifactDownloader.ts +312 -0
- package/src/services/OtaAutoChain.ts +106 -0
- package/src/services/OtaErrorMapping.ts +80 -0
- package/src/services/OtaInstallCoordinator.ts +649 -144
- package/src/services/OtaService.ts +11 -5
- package/src/services/OtaUpdateCheckService.ts +181 -21
- package/src/services/PhoneCalendarHelpers.ts +212 -0
- package/src/services/PhoneCalendarService.ts +65 -0
- package/src/services/PhoneCameraFovCoordinator.ts +210 -0
- package/src/services/PhoneNotificationsSync.ts +12 -10
- package/src/services/PhonePhotoCoordinator.ts +116 -18
- package/src/services/PhoneStreamCoordinator.ts +139 -25
- package/src/services/PhoneVideoCoordinator.ts +11 -0
- package/src/services/SceneRenderer.ts +16 -0
- package/src/services/SentenceTtsPipeline.ts +106 -0
- package/src/services/SupportProfileSync.ts +218 -0
- package/src/services/TranscriptionRouting.ts +37 -0
- package/src/services/TtsTextSanitizer.ts +66 -0
- package/src/services/WifiAdbRequest.ts +53 -0
- package/src/services/asg/asgCameraApi.ts +615 -33
- package/src/services/asg/cameraRollExportCoordinator.ts +627 -0
- package/src/services/asg/cameraRollExportLedger.ts +122 -0
- package/src/services/asg/galleryNotices.ts +1 -0
- package/src/services/asg/galleryPathMigration.ts +22 -0
- package/src/services/asg/gallerySettingsService.ts +3 -0
- package/src/services/asg/gallerySyncService.ts +184 -73
- package/src/services/asg/galleryTransferLedger.ts +312 -0
- package/src/services/asg/localNetworkTransport.ts +169 -0
- package/src/services/asg/localStorageService.ts +179 -24
- package/src/services/asg/mediaProcessingQueue.ts +209 -62
- package/src/services/audioPlaybackAssets.ts +8 -0
- package/src/services/gallerySyncClock.ts +1 -1
- package/src/services/glassesClockSync.ts +6 -2
- package/src/services/manifestActions.ts +30 -0
- package/src/services/otaDisplayState.ts +58 -17
- package/src/services/otaInstallPolicy.ts +30 -4
- package/src/services/otaLegacyMapping.ts +1 -1
- package/src/services/otaManifestPolicy.ts +42 -0
- package/src/services/otaManifestUrl.ts +44 -0
- package/src/services/slimStreamStatus.ts +16 -5
- package/src/stores/apps.ts +12 -0
- package/src/stores/bluetoothSettingKeys.ts +2 -0
- package/src/stores/gallerySync.ts +4 -0
- package/src/stores/glasses.ts +3 -0
- package/src/stores/settings.ts +179 -18
- package/src/types/applet.ts +2 -0
- package/src/types/asg.ts +7 -0
- package/src/types/enums.ts +3 -28
- package/src/types/hardware.ts +20 -13
- package/src/types/index.ts +2 -6
- package/src/utils/configuredDevHost.ts +17 -0
- package/src/utils/devMiniappLaunch.ts +151 -23
- package/src/utils/diagnosticContext.ts +17 -17
- package/src/utils/hardware/hardware.ts +7 -9
- package/src/utils/miniappDiagnostics.ts +226 -0
- package/src/utils/permissions/MediaLibraryPermissions.ts +35 -4
- package/src/utils/timers/timers.ts +57 -21
- package/build/devtools.d.ts +0 -11
- package/build/devtools.d.ts.map +0 -1
- package/build/devtools.js +0 -13
- package/build/devtools.js.map +0 -1
- package/build/internal.d.ts +0 -66
- package/build/internal.d.ts.map +0 -1
- package/build/internal.js +0 -89
- package/build/internal.js.map +0 -1
- package/build/services/asgOtaVersionUrl.d.ts +0 -2
- package/build/services/asgOtaVersionUrl.d.ts.map +0 -1
- package/build/services/asgOtaVersionUrl.js +0 -36
- package/build/services/asgOtaVersionUrl.js.map +0 -1
- package/src/devtools.ts +0 -13
- package/src/internal.ts +0 -158
- package/src/services/asgOtaVersionUrl.ts +0 -41
|
@@ -1,6 +1,28 @@
|
|
|
1
|
-
//
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// BgTimer — background-safe timers for the engine.
|
|
2
|
+
//
|
|
3
|
+
// Everything timing-critical in the engine runs through this class: the
|
|
4
|
+
// miniapp liveness watchdog, display durationMs expiries, boot windows,
|
|
5
|
+
// auth-token refresh. On Android, React Native PAUSES plain JS timers while
|
|
6
|
+
// the app is backgrounded, so those features only keep working in the
|
|
7
|
+
// background when the native implementation (react-native-nitro-bg-timer)
|
|
8
|
+
// is active.
|
|
9
|
+
//
|
|
10
|
+
// Who actually gets native timers:
|
|
11
|
+
// - Android, dev AND release: always attempted — dev must match production
|
|
12
|
+
// background behavior. There is no opt-in/opt-out env var. If the native
|
|
13
|
+
// module is unavailable (a dev client whose binary predates it, or a
|
|
14
|
+
// broken release binary), the failure is LOUD: a console.error with the
|
|
15
|
+
// remediation, plus a blocking dev alert. The JS-timer fallback still
|
|
16
|
+
// engages so foreground behavior keeps working, but backgrounded
|
|
17
|
+
// behavior is broken until the native rebuild — the error says exactly
|
|
18
|
+
// that. (A silent dev fallback previously cost a full debugging day of
|
|
19
|
+
// phantom "zombie miniapp" bugs; see OS-1790.)
|
|
20
|
+
// - iOS: never, dev or prod — the package is disabled pending
|
|
21
|
+
// https://github.com/tconns/react-native-nitro-bg-timer/issues/2. iOS
|
|
22
|
+
// suspends the whole process in background anyway, so background timing
|
|
23
|
+
// there is handled by native per-device queues, not JS timers.
|
|
24
|
+
|
|
25
|
+
import {Alert, Platform} from "react-native"
|
|
4
26
|
|
|
5
27
|
type NitroTimerApi = {
|
|
6
28
|
setInterval: (callback: () => void, delay: number) => number
|
|
@@ -11,14 +33,36 @@ type NitroTimerApi = {
|
|
|
11
33
|
|
|
12
34
|
let nitroTimer: NitroTimerApi | null | undefined
|
|
13
35
|
let nitroDisabled = false
|
|
14
|
-
let
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
36
|
+
let failedLoud = false
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* The native background timer is unavailable — say so ONCE, loudly, with the
|
|
40
|
+
* remediation. The JS-timer fallback keeps foreground behavior working, but
|
|
41
|
+
* everything timing-driven freezes while the app is backgrounded, which
|
|
42
|
+
* presents as phantom miniapp bugs (frozen captions, missed wake words,
|
|
43
|
+
* watchdog kills on resume). A quiet warning here has already cost a full
|
|
44
|
+
* debugging day; never downgrade this to console.warn.
|
|
45
|
+
*/
|
|
46
|
+
function failUnavailable(reason: string) {
|
|
47
|
+
if (failedLoud) {
|
|
18
48
|
return
|
|
19
49
|
}
|
|
20
|
-
|
|
21
|
-
|
|
50
|
+
failedLoud = true
|
|
51
|
+
const message =
|
|
52
|
+
`BgTimer: native background timer unavailable (${reason}). ` +
|
|
53
|
+
"Backgrounded behavior IS BROKEN until you rebuild the Android app: run `bun android`. " +
|
|
54
|
+
"Engine timers and local miniapps (captions, wake words) freeze whenever the app is not foregrounded."
|
|
55
|
+
console.error(message)
|
|
56
|
+
if (__DEV__) {
|
|
57
|
+
// A stale dev client may ALSO show the library's own require-time red box
|
|
58
|
+
// (bridgeless LogBox surfaces it even though we catch below) — this alert
|
|
59
|
+
// is the actionable one: it names the fix.
|
|
60
|
+
try {
|
|
61
|
+
Alert.alert("Background timers unavailable", message)
|
|
62
|
+
} catch {
|
|
63
|
+
/* Alert not available (tests / headless) — the console.error stands. */
|
|
64
|
+
}
|
|
65
|
+
}
|
|
22
66
|
}
|
|
23
67
|
|
|
24
68
|
function getNitroTimer(): NitroTimerApi | null {
|
|
@@ -26,15 +70,6 @@ function getNitroTimer(): NitroTimerApi | null {
|
|
|
26
70
|
return null
|
|
27
71
|
}
|
|
28
72
|
|
|
29
|
-
// react-native-nitro-bg-timer calls createHybridObject() at require() time. On dev
|
|
30
|
-
// builds with a stale native binary that throws NPE, React Native still surfaces a
|
|
31
|
-
// red LogBox error even when the exception is caught. Skip nitro in __DEV__ unless
|
|
32
|
-
// explicitly enabled after a native rebuild (bun android).
|
|
33
|
-
if (__DEV__ && process.env.EXPO_PUBLIC_USE_NITRO_BG_TIMER !== "true") {
|
|
34
|
-
warnUnavailable("nitro bg-timer disabled in dev (set EXPO_PUBLIC_USE_NITRO_BG_TIMER=true after native rebuild)")
|
|
35
|
-
return null
|
|
36
|
-
}
|
|
37
|
-
|
|
38
73
|
if (nitroTimer !== undefined) {
|
|
39
74
|
return nitroTimer
|
|
40
75
|
}
|
|
@@ -43,7 +78,7 @@ function getNitroTimer(): NitroTimerApi | null {
|
|
|
43
78
|
const {isRuntimeAlive} = require("react-native-nitro-modules") as {isRuntimeAlive?: () => boolean}
|
|
44
79
|
if (typeof isRuntimeAlive === "function" && !isRuntimeAlive()) {
|
|
45
80
|
nitroTimer = null
|
|
46
|
-
|
|
81
|
+
failUnavailable("nitro runtime is not alive")
|
|
47
82
|
return nitroTimer
|
|
48
83
|
}
|
|
49
84
|
|
|
@@ -62,7 +97,7 @@ function getNitroTimer(): NitroTimerApi | null {
|
|
|
62
97
|
}
|
|
63
98
|
|
|
64
99
|
if (!nitroTimer) {
|
|
65
|
-
|
|
100
|
+
failUnavailable("react-native-nitro-bg-timer failed to load")
|
|
66
101
|
}
|
|
67
102
|
return nitroTimer
|
|
68
103
|
}
|
|
@@ -77,7 +112,8 @@ function withNitro<T>(run: (api: NitroTimerApi) => T, fallback: () => T): T {
|
|
|
77
112
|
} catch (error) {
|
|
78
113
|
nitroDisabled = true
|
|
79
114
|
nitroTimer = null
|
|
80
|
-
|
|
115
|
+
failedLoud = false // a mid-session failure is new information — re-announce
|
|
116
|
+
failUnavailable(`nitro timer call threw: ${String(error)}`)
|
|
81
117
|
return fallback()
|
|
82
118
|
}
|
|
83
119
|
}
|
package/build/devtools.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `@mentra/engine/devtools` — the devtools-only surface.
|
|
3
|
-
*
|
|
4
|
-
* Debug/diagnostic singletons consumed by the Mentra app's internal dev
|
|
5
|
-
* screens (stress test, miniapp dev-server tooling). Never import this from
|
|
6
|
-
* product UI or host services; every `/devtools` import in mobile/src is
|
|
7
|
-
* counted (report-only) by scripts/check-mobile-runtime-boundary.sh.
|
|
8
|
-
*/
|
|
9
|
-
export { miniappRunningRegistry } from "./services/MiniappRunningRegistry";
|
|
10
|
-
export { default as devServerBridge } from "./services/DevServerBridge";
|
|
11
|
-
//# sourceMappingURL=devtools.d.ts.map
|
package/build/devtools.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AAExE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,4BAA4B,CAAA"}
|
package/build/devtools.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `@mentra/engine/devtools` — the devtools-only surface.
|
|
3
|
-
*
|
|
4
|
-
* Debug/diagnostic singletons consumed by the Mentra app's internal dev
|
|
5
|
-
* screens (stress test, miniapp dev-server tooling). Never import this from
|
|
6
|
-
* product UI or host services; every `/devtools` import in mobile/src is
|
|
7
|
-
* counted (report-only) by scripts/check-mobile-runtime-boundary.sh.
|
|
8
|
-
*/
|
|
9
|
-
// Which miniapps the local runtime currently has running (stress-test screen).
|
|
10
|
-
export { miniappRunningRegistry } from "./services/MiniappRunningRegistry";
|
|
11
|
-
// Dev-server connection bridge for live-reloading local miniapps.
|
|
12
|
-
export { default as devServerBridge } from "./services/DevServerBridge";
|
|
13
|
-
//# sourceMappingURL=devtools.js.map
|
package/build/devtools.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"devtools.js","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AACxE,kEAAkE;AAClE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,4BAA4B,CAAA","sourcesContent":["/**\n * `@mentra/engine/devtools` — the devtools-only surface.\n *\n * Debug/diagnostic singletons consumed by the Mentra app's internal dev\n * screens (stress test, miniapp dev-server tooling). Never import this from\n * product UI or host services; every `/devtools` import in mobile/src is\n * counted (report-only) by scripts/check-mobile-runtime-boundary.sh.\n */\n\n// Which miniapps the local runtime currently has running (stress-test screen).\nexport {miniappRunningRegistry} from \"./services/MiniappRunningRegistry\"\n// Dev-server connection bridge for live-reloading local miniapps.\nexport {default as devServerBridge} from \"./services/DevServerBridge\"\n"]}
|
package/build/internal.d.ts
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
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 { INVALID_DOWNLOADED_MEDIA, validateCaptureMetadataForDownload, validateDownloadedMediaFile, } from "./services/asg/galleryMediaValidation";
|
|
48
|
-
export { emitGalleryNotice, onGalleryNotice } from "./services/asg/galleryNotices";
|
|
49
|
-
export { phonePhotoCoordinator } from "./services/PhonePhotoCoordinator";
|
|
50
|
-
export { phoneStreamCoordinator } from "./services/PhoneStreamCoordinator";
|
|
51
|
-
export { useDisplayStore, flushDisplayCoalesceForTests } from "./stores/display";
|
|
52
|
-
export { useCoreStore } from "./stores/core";
|
|
53
|
-
export { useConnectionStore } from "./stores/connection";
|
|
54
|
-
export { useCloudClientStatusStore } from "./stores/cloudClientStatus";
|
|
55
|
-
export type { RuntimeAudioTransport, RuntimeSnapshot, RuntimeStatus } from "./stores/cloudClientStatus";
|
|
56
|
-
export { SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting } from "./stores/settings";
|
|
57
|
-
export { MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice } from "./stores/bluetoothSettingKeys";
|
|
58
|
-
export { useAppStatusStore, installAppStoreHooks, type AppStoreHooks } from "./stores/apps";
|
|
59
|
-
export { cloudSecureStore } from "./utils/cloudClient/cloudSecureStore";
|
|
60
|
-
export { cloudClientService } from "./services/CloudClientService";
|
|
61
|
-
export { createCloudUdpSocket } from "./utils/cloudClient/RnUdpAdapter";
|
|
62
|
-
export { logBuffer, type LogEntry } from "./utils/devLogging";
|
|
63
|
-
export { default as BluetoothSdk } from "@mentra/bluetooth-sdk/internal";
|
|
64
|
-
export { storage, printDirectory } from "./utils/storage";
|
|
65
|
-
export { default as GlobalEventEmitter } from "./utils/GlobalEventEmitter";
|
|
66
|
-
//# sourceMappingURL=internal.d.ts.map
|
package/build/internal.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
|
package/build/internal.js
DELETED
|
@@ -1,89 +0,0 @@
|
|
|
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 { INVALID_DOWNLOADED_MEDIA, validateCaptureMetadataForDownload, validateDownloadedMediaFile, } from "./services/asg/galleryMediaValidation";
|
|
61
|
-
export { emitGalleryNotice, onGalleryNotice } from "./services/asg/galleryNotices";
|
|
62
|
-
// Phone-side capture coordinators.
|
|
63
|
-
export { phonePhotoCoordinator } from "./services/PhonePhotoCoordinator";
|
|
64
|
-
export { phoneStreamCoordinator } from "./services/PhoneStreamCoordinator";
|
|
65
|
-
// Raw runtime stores (re-exported via the host @/stores/* shims). Read models
|
|
66
|
-
// live on the engine facades; these are the migration escape hatch.
|
|
67
|
-
export { useDisplayStore, flushDisplayCoalesceForTests } from "./stores/display";
|
|
68
|
-
export { useCoreStore } from "./stores/core";
|
|
69
|
-
export { useConnectionStore } from "./stores/connection";
|
|
70
|
-
export { useCloudClientStatusStore } from "./stores/cloudClientStatus";
|
|
71
|
-
export { SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting } from "./stores/settings";
|
|
72
|
-
export { MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice } from "./stores/bluetoothSettingKeys";
|
|
73
|
-
export { useAppStatusStore, installAppStoreHooks } from "./stores/apps";
|
|
74
|
-
// Cloud client + credentials + v1 comms.
|
|
75
|
-
export { cloudSecureStore } from "./utils/cloudClient/cloudSecureStore";
|
|
76
|
-
export { cloudClientService } from "./services/CloudClientService";
|
|
77
|
-
export { createCloudUdpSocket } from "./utils/cloudClient/RnUdpAdapter";
|
|
78
|
-
// Log ring buffer + console interception (bug-report attachments).
|
|
79
|
-
export { logBuffer } from "./utils/devLogging";
|
|
80
|
-
// Bluetooth SDK internal compatibility passthrough. Prefer an engine facade
|
|
81
|
-
// when one exists; this remains an escape hatch for app-only compatibility
|
|
82
|
-
// needs (its event TYPES stay on the main entry).
|
|
83
|
-
export { default as BluetoothSdk } from "@mentra/bluetooth-sdk/internal";
|
|
84
|
-
// Engine-owned MMKV instance + debug helper.
|
|
85
|
-
export { storage, printDirectory } from "./utils/storage";
|
|
86
|
-
// Process-wide event bus — one shared instance for engine services + host
|
|
87
|
-
// (re-exported via the @/utils/GlobalEventEmitter shim).
|
|
88
|
-
export { default as GlobalEventEmitter } from "./utils/GlobalEventEmitter";
|
|
89
|
-
//# sourceMappingURL=internal.js.map
|
package/build/internal.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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","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 {\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"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asgOtaVersionUrl.d.ts","sourceRoot":"","sources":["../../src/services/asgOtaVersionUrl.ts"],"names":[],"mappings":"AAsBA,wBAAgB,mBAAmB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAkB1G"}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { SETTINGS, useSettingsStore } from "../stores/settings";
|
|
2
|
-
const OTA_VERSION_URL_PROD = "https://ota.mentraglass.com/prod_live_version.json";
|
|
3
|
-
function isLegacyAsgOtaStartBuild(glassesBuildNumber) {
|
|
4
|
-
const buildNumber = Number.parseInt(glassesBuildNumber ?? "", 10);
|
|
5
|
-
// ASG builds before 39 ignore ota_start.ota_version_url, so compare against
|
|
6
|
-
// the URL they will actually use.
|
|
7
|
-
return Number.isFinite(buildNumber) && buildNumber < 39;
|
|
8
|
-
}
|
|
9
|
-
function getOtaVersionUrlDevOverride() {
|
|
10
|
-
// Super mode only: a wrong OTA manifest can brick glasses, so a saved
|
|
11
|
-
// override is inert unless super mode is currently enabled.
|
|
12
|
-
if (!useSettingsStore.getState().getSetting(SETTINGS.super_mode.key)) {
|
|
13
|
-
return null;
|
|
14
|
-
}
|
|
15
|
-
const value = useSettingsStore.getState().getSetting(SETTINGS.ota_version_url.key);
|
|
16
|
-
const trimmed = typeof value === "string" ? value.trim() : "";
|
|
17
|
-
return trimmed || null;
|
|
18
|
-
}
|
|
19
|
-
export function getAsgOtaVersionUrl(glassesUrl, glassesBuildNumber) {
|
|
20
|
-
const deviceUrl = glassesUrl?.trim();
|
|
21
|
-
if (isLegacyAsgOtaStartBuild(glassesBuildNumber)) {
|
|
22
|
-
// Legacy glasses ignore ota_start.ota_version_url and install from their
|
|
23
|
-
// compiled default, so the developer override does not apply to them either.
|
|
24
|
-
return deviceUrl || OTA_VERSION_URL_PROD;
|
|
25
|
-
}
|
|
26
|
-
const devOverrideUrl = getOtaVersionUrlDevOverride();
|
|
27
|
-
if (devOverrideUrl) {
|
|
28
|
-
return devOverrideUrl;
|
|
29
|
-
}
|
|
30
|
-
const envUrl = process.env.EXPO_PUBLIC_ASG_OTA_VERSION_URL?.trim();
|
|
31
|
-
if (envUrl) {
|
|
32
|
-
return envUrl;
|
|
33
|
-
}
|
|
34
|
-
return deviceUrl || OTA_VERSION_URL_PROD;
|
|
35
|
-
}
|
|
36
|
-
//# sourceMappingURL=asgOtaVersionUrl.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"asgOtaVersionUrl.js","sourceRoot":"","sources":["../../src/services/asgOtaVersionUrl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,gBAAgB,EAAC,MAAM,oBAAoB,CAAA;AAE7D,MAAM,oBAAoB,GAAG,oDAAoD,CAAA;AAEjF,SAAS,wBAAwB,CAAC,kBAAkC;IAClE,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;IACjE,4EAA4E;IAC5E,kCAAkC;IAClC,OAAO,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,GAAG,EAAE,CAAA;AACzD,CAAC;AAED,SAAS,2BAA2B;IAClC,sEAAsE;IACtE,4DAA4D;IAC5D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrE,OAAO,IAAI,CAAA;IACb,CAAC;IACD,MAAM,KAAK,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;IAClF,MAAM,OAAO,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7D,OAAO,OAAO,IAAI,IAAI,CAAA;AACxB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAA0B,EAAE,kBAAkC;IAChG,MAAM,SAAS,GAAG,UAAU,EAAE,IAAI,EAAE,CAAA;IACpC,IAAI,wBAAwB,CAAC,kBAAkB,CAAC,EAAE,CAAC;QACjD,yEAAyE;QACzE,6EAA6E;QAC7E,OAAO,SAAS,IAAI,oBAAoB,CAAA;IAC1C,CAAC;IAED,MAAM,cAAc,GAAG,2BAA2B,EAAE,CAAA;IACpD,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,cAAc,CAAA;IACvB,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,+BAA+B,EAAE,IAAI,EAAE,CAAA;IAClE,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAA;IACf,CAAC;IACD,OAAO,SAAS,IAAI,oBAAoB,CAAA;AAC1C,CAAC","sourcesContent":["import {SETTINGS, useSettingsStore} from \"../stores/settings\"\n\nconst OTA_VERSION_URL_PROD = \"https://ota.mentraglass.com/prod_live_version.json\"\n\nfunction isLegacyAsgOtaStartBuild(glassesBuildNumber?: string | null): boolean {\n const buildNumber = Number.parseInt(glassesBuildNumber ?? \"\", 10)\n // ASG builds before 39 ignore ota_start.ota_version_url, so compare against\n // the URL they will actually use.\n return Number.isFinite(buildNumber) && buildNumber < 39\n}\n\nfunction getOtaVersionUrlDevOverride(): string | null {\n // Super mode only: a wrong OTA manifest can brick glasses, so a saved\n // override is inert unless super mode is currently enabled.\n if (!useSettingsStore.getState().getSetting(SETTINGS.super_mode.key)) {\n return null\n }\n const value = useSettingsStore.getState().getSetting(SETTINGS.ota_version_url.key)\n const trimmed = typeof value === \"string\" ? value.trim() : \"\"\n return trimmed || null\n}\n\nexport function getAsgOtaVersionUrl(glassesUrl?: string | null, glassesBuildNumber?: string | null): string {\n const deviceUrl = glassesUrl?.trim()\n if (isLegacyAsgOtaStartBuild(glassesBuildNumber)) {\n // Legacy glasses ignore ota_start.ota_version_url and install from their\n // compiled default, so the developer override does not apply to them either.\n return deviceUrl || OTA_VERSION_URL_PROD\n }\n\n const devOverrideUrl = getOtaVersionUrlDevOverride()\n if (devOverrideUrl) {\n return devOverrideUrl\n }\n\n const envUrl = process.env.EXPO_PUBLIC_ASG_OTA_VERSION_URL?.trim()\n if (envUrl) {\n return envUrl\n }\n return deviceUrl || OTA_VERSION_URL_PROD\n}\n"]}
|
package/src/devtools.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* `@mentra/engine/devtools` — the devtools-only surface.
|
|
3
|
-
*
|
|
4
|
-
* Debug/diagnostic singletons consumed by the Mentra app's internal dev
|
|
5
|
-
* screens (stress test, miniapp dev-server tooling). Never import this from
|
|
6
|
-
* product UI or host services; every `/devtools` import in mobile/src is
|
|
7
|
-
* counted (report-only) by scripts/check-mobile-runtime-boundary.sh.
|
|
8
|
-
*/
|
|
9
|
-
|
|
10
|
-
// Which miniapps the local runtime currently has running (stress-test screen).
|
|
11
|
-
export {miniappRunningRegistry} from "./services/MiniappRunningRegistry"
|
|
12
|
-
// Dev-server connection bridge for live-reloading local miniapps.
|
|
13
|
-
export {default as devServerBridge} from "./services/DevServerBridge"
|
package/src/internal.ts
DELETED
|
@@ -1,158 +0,0 @@
|
|
|
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 {
|
|
119
|
-
INVALID_DOWNLOADED_MEDIA,
|
|
120
|
-
validateCaptureMetadataForDownload,
|
|
121
|
-
validateDownloadedMediaFile,
|
|
122
|
-
} from "./services/asg/galleryMediaValidation"
|
|
123
|
-
export {emitGalleryNotice, onGalleryNotice} from "./services/asg/galleryNotices"
|
|
124
|
-
|
|
125
|
-
// Phone-side capture coordinators.
|
|
126
|
-
export {phonePhotoCoordinator} from "./services/PhonePhotoCoordinator"
|
|
127
|
-
export {phoneStreamCoordinator} from "./services/PhoneStreamCoordinator"
|
|
128
|
-
|
|
129
|
-
// Raw runtime stores (re-exported via the host @/stores/* shims). Read models
|
|
130
|
-
// live on the engine facades; these are the migration escape hatch.
|
|
131
|
-
export {useDisplayStore, flushDisplayCoalesceForTests} from "./stores/display"
|
|
132
|
-
export {useCoreStore} from "./stores/core"
|
|
133
|
-
export {useConnectionStore} from "./stores/connection"
|
|
134
|
-
export {useCloudClientStatusStore} from "./stores/cloudClientStatus"
|
|
135
|
-
export type {RuntimeAudioTransport, RuntimeSnapshot, RuntimeStatus} from "./stores/cloudClientStatus"
|
|
136
|
-
export {SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting} from "./stores/settings"
|
|
137
|
-
export {MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice} from "./stores/bluetoothSettingKeys"
|
|
138
|
-
export {useAppStatusStore, installAppStoreHooks, type AppStoreHooks} from "./stores/apps"
|
|
139
|
-
|
|
140
|
-
// Cloud client + credentials + v1 comms.
|
|
141
|
-
export {cloudSecureStore} from "./utils/cloudClient/cloudSecureStore"
|
|
142
|
-
export {cloudClientService} from "./services/CloudClientService"
|
|
143
|
-
export {createCloudUdpSocket} from "./utils/cloudClient/RnUdpAdapter"
|
|
144
|
-
|
|
145
|
-
// Log ring buffer + console interception (bug-report attachments).
|
|
146
|
-
export {logBuffer, type LogEntry} from "./utils/devLogging"
|
|
147
|
-
|
|
148
|
-
// Bluetooth SDK internal compatibility passthrough. Prefer an engine facade
|
|
149
|
-
// when one exists; this remains an escape hatch for app-only compatibility
|
|
150
|
-
// needs (its event TYPES stay on the main entry).
|
|
151
|
-
export {default as BluetoothSdk} from "@mentra/bluetooth-sdk/internal"
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
// Engine-owned MMKV instance + debug helper.
|
|
155
|
-
export {storage, printDirectory} from "./utils/storage"
|
|
156
|
-
// Process-wide event bus — one shared instance for engine services + host
|
|
157
|
-
// (re-exported via the @/utils/GlobalEventEmitter shim).
|
|
158
|
-
export {default as GlobalEventEmitter} from "./utils/GlobalEventEmitter"
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import {SETTINGS, useSettingsStore} from "../stores/settings"
|
|
2
|
-
|
|
3
|
-
const OTA_VERSION_URL_PROD = "https://ota.mentraglass.com/prod_live_version.json"
|
|
4
|
-
|
|
5
|
-
function isLegacyAsgOtaStartBuild(glassesBuildNumber?: string | null): boolean {
|
|
6
|
-
const buildNumber = Number.parseInt(glassesBuildNumber ?? "", 10)
|
|
7
|
-
// ASG builds before 39 ignore ota_start.ota_version_url, so compare against
|
|
8
|
-
// the URL they will actually use.
|
|
9
|
-
return Number.isFinite(buildNumber) && buildNumber < 39
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
function getOtaVersionUrlDevOverride(): string | null {
|
|
13
|
-
// Super mode only: a wrong OTA manifest can brick glasses, so a saved
|
|
14
|
-
// override is inert unless super mode is currently enabled.
|
|
15
|
-
if (!useSettingsStore.getState().getSetting(SETTINGS.super_mode.key)) {
|
|
16
|
-
return null
|
|
17
|
-
}
|
|
18
|
-
const value = useSettingsStore.getState().getSetting(SETTINGS.ota_version_url.key)
|
|
19
|
-
const trimmed = typeof value === "string" ? value.trim() : ""
|
|
20
|
-
return trimmed || null
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export function getAsgOtaVersionUrl(glassesUrl?: string | null, glassesBuildNumber?: string | null): string {
|
|
24
|
-
const deviceUrl = glassesUrl?.trim()
|
|
25
|
-
if (isLegacyAsgOtaStartBuild(glassesBuildNumber)) {
|
|
26
|
-
// Legacy glasses ignore ota_start.ota_version_url and install from their
|
|
27
|
-
// compiled default, so the developer override does not apply to them either.
|
|
28
|
-
return deviceUrl || OTA_VERSION_URL_PROD
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
const devOverrideUrl = getOtaVersionUrlDevOverride()
|
|
32
|
-
if (devOverrideUrl) {
|
|
33
|
-
return devOverrideUrl
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
const envUrl = process.env.EXPO_PUBLIC_ASG_OTA_VERSION_URL?.trim()
|
|
37
|
-
if (envUrl) {
|
|
38
|
-
return envUrl
|
|
39
|
-
}
|
|
40
|
-
return deviceUrl || OTA_VERSION_URL_PROD
|
|
41
|
-
}
|