@glassly/engine 0.1.0-dev.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 +96 -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 +336 -0
- package/build/engine.d.ts.map +1 -0
- package/build/engine.js +198 -0
- package/build/engine.js.map +1 -0
- package/build/facades/dev.d.ts +69 -0
- package/build/facades/dev.d.ts.map +1 -0
- package/build/facades/dev.js +204 -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 +142 -0
- package/build/facades/glasses.d.ts.map +1 -0
- package/build/facades/glasses.js +214 -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 +55 -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/maps.d.ts +18 -0
- package/build/facades/maps.d.ts.map +1 -0
- package/build/facades/maps.js +13 -0
- package/build/facades/maps.js.map +1 -0
- package/build/facades/memory.d.ts +38 -0
- package/build/facades/memory.d.ts.map +1 -0
- package/build/facades/memory.js +33 -0
- package/build/facades/memory.js.map +1 -0
- package/build/facades/miniapps.d.ts +47 -0
- package/build/facades/miniapps.d.ts.map +1 -0
- package/build/facades/miniapps.js +54 -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 +106 -0
- package/build/facades/ota.d.ts.map +1 -0
- package/build/facades/ota.js +159 -0
- package/build/facades/ota.js.map +1 -0
- package/build/facades/pairing.d.ts +115 -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 +17 -0
- package/build/facades/phoneNotifications.d.ts.map +1 -0
- package/build/facades/phoneNotifications.js +41 -0
- package/build/facades/phoneNotifications.js.map +1 -0
- package/build/facades/providerKeys.d.ts +26 -0
- package/build/facades/providerKeys.d.ts.map +1 -0
- package/build/facades/providerKeys.js +26 -0
- package/build/facades/providerKeys.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/speakers.d.ts +41 -0
- package/build/facades/speakers.d.ts.map +1 -0
- package/build/facades/speakers.js +139 -0
- package/build/facades/speakers.js.map +1 -0
- package/build/facades/speech.d.ts +44 -0
- package/build/facades/speech.d.ts.map +1 -0
- package/build/facades/speech.js +46 -0
- package/build/facades/speech.js.map +1 -0
- package/build/index.d.ts +48 -0
- package/build/index.d.ts.map +1 -0
- package/build/index.js +49 -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 +115 -0
- package/build/runtime/bootstrap.d.ts.map +1 -0
- package/build/runtime/bootstrap.js +73 -0
- package/build/runtime/bootstrap.js.map +1 -0
- package/build/runtime/config.d.ts +152 -0
- package/build/runtime/config.d.ts.map +1 -0
- package/build/runtime/config.js +19 -0
- package/build/runtime/config.js.map +1 -0
- 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/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/AiTierResolution.d.ts +61 -0
- package/build/services/AiTierResolution.d.ts.map +1 -0
- package/build/services/AiTierResolution.js +83 -0
- package/build/services/AiTierResolution.js.map +1 -0
- package/build/services/AppRegistry.d.ts +303 -0
- package/build/services/AppRegistry.d.ts.map +1 -0
- package/build/services/AppRegistry.js +1108 -0
- package/build/services/AppRegistry.js.map +1 -0
- package/build/services/AudioCloudUplink.d.ts +15 -0
- package/build/services/AudioCloudUplink.d.ts.map +1 -0
- package/build/services/AudioCloudUplink.js +54 -0
- package/build/services/AudioCloudUplink.js.map +1 -0
- package/build/services/AudioPlaybackService.d.ts +183 -0
- package/build/services/AudioPlaybackService.d.ts.map +1 -0
- package/build/services/AudioPlaybackService.js +750 -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 +106 -0
- package/build/services/BlobStore.d.ts.map +1 -0
- package/build/services/BlobStore.js +741 -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 +51 -0
- package/build/services/CloudAudioSubscriptionSync.js.map +1 -0
- package/build/services/CloudClientService.d.ts +293 -0
- package/build/services/CloudClientService.d.ts.map +1 -0
- package/build/services/CloudClientService.js +965 -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 +296 -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 +214 -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/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/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 +127 -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 +33 -0
- package/build/services/HeadingService.d.ts.map +1 -0
- package/build/services/HeadingService.js +123 -0
- package/build/services/HeadingService.js.map +1 -0
- 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/JSCrashController.d.ts +97 -0
- package/build/services/JSCrashController.d.ts.map +1 -0
- package/build/services/JSCrashController.js +138 -0
- package/build/services/JSCrashController.js.map +1 -0
- package/build/services/JSCrashloopReportService.d.ts +9 -0
- package/build/services/JSCrashloopReportService.d.ts.map +1 -0
- package/build/services/JSCrashloopReportService.js +54 -0
- package/build/services/JSCrashloopReportService.js.map +1 -0
- package/build/services/JSLogPipeline.d.ts +87 -0
- package/build/services/JSLogPipeline.d.ts.map +1 -0
- package/build/services/JSLogPipeline.js +137 -0
- package/build/services/JSLogPipeline.js.map +1 -0
- package/build/services/JSRouter.d.ts +203 -0
- package/build/services/JSRouter.d.ts.map +1 -0
- package/build/services/JSRouter.js +482 -0
- package/build/services/JSRouter.js.map +1 -0
- package/build/services/LocalDisplayManager.d.ts +162 -0
- package/build/services/LocalDisplayManager.d.ts.map +1 -0
- package/build/services/LocalDisplayManager.js +687 -0
- package/build/services/LocalDisplayManager.js.map +1 -0
- package/build/services/LocalMiniappDataMigration.d.ts +46 -0
- package/build/services/LocalMiniappDataMigration.d.ts.map +1 -0
- package/build/services/LocalMiniappDataMigration.js +78 -0
- package/build/services/LocalMiniappDataMigration.js.map +1 -0
- package/build/services/LocalMiniappRuntime.d.ts +677 -0
- package/build/services/LocalMiniappRuntime.d.ts.map +1 -0
- package/build/services/LocalMiniappRuntime.js +5068 -0
- package/build/services/LocalMiniappRuntime.js.map +1 -0
- 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 +41 -0
- package/build/services/LocalMiniappUserIdentity.d.ts.map +1 -0
- package/build/services/LocalMiniappUserIdentity.js +73 -0
- package/build/services/LocalMiniappUserIdentity.js.map +1 -0
- package/build/services/LocalSttFallbackCoordinator.d.ts +101 -0
- package/build/services/LocalSttFallbackCoordinator.d.ts.map +1 -0
- package/build/services/LocalSttFallbackCoordinator.js +210 -0
- package/build/services/LocalSttFallbackCoordinator.js.map +1 -0
- package/build/services/MapboxTokenService.d.ts +33 -0
- package/build/services/MapboxTokenService.d.ts.map +1 -0
- package/build/services/MapboxTokenService.js +115 -0
- package/build/services/MapboxTokenService.js.map +1 -0
- package/build/services/MemoryCapture.d.ts +40 -0
- package/build/services/MemoryCapture.d.ts.map +1 -0
- package/build/services/MemoryCapture.js +42 -0
- package/build/services/MemoryCapture.js.map +1 -0
- package/build/services/MemoryStore.d.ts +184 -0
- package/build/services/MemoryStore.d.ts.map +1 -0
- package/build/services/MemoryStore.js +541 -0
- package/build/services/MemoryStore.js.map +1 -0
- package/build/services/MicStateCoordinator.d.ts +78 -0
- package/build/services/MicStateCoordinator.d.ts.map +1 -0
- package/build/services/MicStateCoordinator.js +219 -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 +127 -0
- package/build/services/MiniappLauncher.d.ts.map +1 -0
- package/build/services/MiniappLauncher.js +309 -0
- package/build/services/MiniappLauncher.js.map +1 -0
- 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/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/NativeNavigationService.d.ts +51 -0
- package/build/services/NativeNavigationService.d.ts.map +1 -0
- package/build/services/NativeNavigationService.js +154 -0
- package/build/services/NativeNavigationService.js.map +1 -0
- package/build/services/NavigationHandlers.d.ts +107 -0
- package/build/services/NavigationHandlers.d.ts.map +1 -0
- package/build/services/NavigationHandlers.js +479 -0
- package/build/services/NavigationHandlers.js.map +1 -0
- package/build/services/NavigationService.d.ts +283 -0
- package/build/services/NavigationService.d.ts.map +1 -0
- package/build/services/NavigationService.js +696 -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/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/OtaInstallCoordinator.d.ts +275 -0
- package/build/services/OtaInstallCoordinator.d.ts.map +1 -0
- package/build/services/OtaInstallCoordinator.js +1491 -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 +72 -0
- package/build/services/OtaService.js.map +1 -0
- package/build/services/OtaUpdateCheckService.d.ts +100 -0
- package/build/services/OtaUpdateCheckService.d.ts.map +1 -0
- package/build/services/OtaUpdateCheckService.js +380 -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 +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/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 +37 -0
- package/build/services/PhoneNotificationsSync.js.map +1 -0
- package/build/services/PhonePhotoCoordinator.d.ts +110 -0
- package/build/services/PhonePhotoCoordinator.d.ts.map +1 -0
- package/build/services/PhonePhotoCoordinator.js +344 -0
- package/build/services/PhonePhotoCoordinator.js.map +1 -0
- package/build/services/PhoneStreamCoordinator.d.ts +175 -0
- package/build/services/PhoneStreamCoordinator.d.ts.map +1 -0
- package/build/services/PhoneStreamCoordinator.js +740 -0
- package/build/services/PhoneStreamCoordinator.js.map +1 -0
- package/build/services/PhoneVideoCoordinator.d.ts +52 -0
- package/build/services/PhoneVideoCoordinator.d.ts.map +1 -0
- package/build/services/PhoneVideoCoordinator.js +157 -0
- package/build/services/PhoneVideoCoordinator.js.map +1 -0
- package/build/services/ProviderKeyValidation.d.ts +27 -0
- package/build/services/ProviderKeyValidation.d.ts.map +1 -0
- package/build/services/ProviderKeyValidation.js +42 -0
- package/build/services/ProviderKeyValidation.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 +366 -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 +274 -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/SpeakerIdModelManager.d.ts +36 -0
- package/build/services/SpeakerIdModelManager.d.ts.map +1 -0
- package/build/services/SpeakerIdModelManager.js +132 -0
- package/build/services/SpeakerIdModelManager.js.map +1 -0
- package/build/services/SpeakerIdSync.d.ts +14 -0
- package/build/services/SpeakerIdSync.d.ts.map +1 -0
- package/build/services/SpeakerIdSync.js +62 -0
- package/build/services/SpeakerIdSync.js.map +1 -0
- package/build/services/SpeakerLabelResolver.d.ts +80 -0
- package/build/services/SpeakerLabelResolver.d.ts.map +1 -0
- package/build/services/SpeakerLabelResolver.js +108 -0
- package/build/services/SpeakerLabelResolver.js.map +1 -0
- package/build/services/SpeakerProfileStore.d.ts +90 -0
- package/build/services/SpeakerProfileStore.d.ts.map +1 -0
- package/build/services/SpeakerProfileStore.js +213 -0
- package/build/services/SpeakerProfileStore.js.map +1 -0
- package/build/services/SpeakerSegmentResolver.d.ts +87 -0
- package/build/services/SpeakerSegmentResolver.d.ts.map +1 -0
- package/build/services/SpeakerSegmentResolver.js +137 -0
- package/build/services/SpeakerSegmentResolver.js.map +1 -0
- package/build/services/StreamLifecycleController.d.ts +63 -0
- package/build/services/StreamLifecycleController.d.ts.map +1 -0
- package/build/services/StreamLifecycleController.js +148 -0
- package/build/services/StreamLifecycleController.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/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 +22 -0
- package/build/services/TranscriptionRouting.d.ts.map +1 -0
- package/build/services/TranscriptionRouting.js +34 -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/UIRouter.d.ts +137 -0
- package/build/services/UIRouter.d.ts.map +1 -0
- package/build/services/UIRouter.js +210 -0
- package/build/services/UIRouter.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/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/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 +208 -0
- package/build/services/asg/asgCameraApi.d.ts.map +1 -0
- package/build/services/asg/asgCameraApi.js +1480 -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 +1945 -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/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/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/effectiveCapabilities.d.ts +8 -0
- package/build/services/effectiveCapabilities.d.ts.map +1 -0
- package/build/services/effectiveCapabilities.js +23 -0
- package/build/services/effectiveCapabilities.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/manifestActions.d.ts +31 -0
- package/build/services/manifestActions.d.ts.map +1 -0
- package/build/services/manifestActions.js +54 -0
- package/build/services/manifestActions.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/memoryStoreInstance.d.ts +19 -0
- package/build/services/memoryStoreInstance.d.ts.map +1 -0
- package/build/services/memoryStoreInstance.js +65 -0
- package/build/services/memoryStoreInstance.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 +87 -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 +53 -0
- package/build/services/otaDisplayState.d.ts.map +1 -0
- package/build/services/otaDisplayState.js +114 -0
- package/build/services/otaDisplayState.js.map +1 -0
- package/build/services/otaInstallPolicy.d.ts +93 -0
- package/build/services/otaInstallPolicy.d.ts.map +1 -0
- package/build/services/otaInstallPolicy.js +117 -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/otaManifestUrl.d.ts +2 -0
- package/build/services/otaManifestUrl.d.ts.map +1 -0
- package/build/services/otaManifestUrl.js +46 -0
- package/build/services/otaManifestUrl.js.map +1 -0
- package/build/services/slimStreamStatus.d.ts +18 -0
- package/build/services/slimStreamStatus.d.ts.map +1 -0
- package/build/services/slimStreamStatus.js +36 -0
- package/build/services/slimStreamStatus.js.map +1 -0
- package/build/services/soniox/SonioxDirectService.d.ts +109 -0
- package/build/services/soniox/SonioxDirectService.d.ts.map +1 -0
- package/build/services/soniox/SonioxDirectService.js +449 -0
- package/build/services/soniox/SonioxDirectService.js.map +1 -0
- package/build/services/soniox/SonioxRealtimeClient.d.ts +121 -0
- package/build/services/soniox/SonioxRealtimeClient.d.ts.map +1 -0
- package/build/services/soniox/SonioxRealtimeClient.js +301 -0
- package/build/services/soniox/SonioxRealtimeClient.js.map +1 -0
- package/build/services/soniox/SonioxTokenAssembler.d.ts +98 -0
- package/build/services/soniox/SonioxTokenAssembler.d.ts.map +1 -0
- package/build/services/soniox/SonioxTokenAssembler.js +394 -0
- package/build/services/soniox/SonioxTokenAssembler.js.map +1 -0
- package/build/services/speakerProfileStoreInstance.d.ts +8 -0
- package/build/services/speakerProfileStoreInstance.d.ts.map +1 -0
- package/build/services/speakerProfileStoreInstance.js +24 -0
- package/build/services/speakerProfileStoreInstance.js.map +1 -0
- package/build/services/uiShim.d.ts +38 -0
- package/build/services/uiShim.d.ts.map +1 -0
- package/build/services/uiShim.js +369 -0
- package/build/services/uiShim.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 +503 -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 +33 -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 +103 -0
- package/build/stores/gallerySync.d.ts.map +1 -0
- package/build/stores/gallerySync.js +219 -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 +208 -0
- package/build/stores/glasses.js.map +1 -0
- package/build/stores/settings.d.ts +54 -0
- package/build/stores/settings.d.ts.map +1 -0
- package/build/stores/settings.js +1200 -0
- package/build/stores/settings.js.map +1 -0
- package/build/stores/transcriptionDebug.d.ts +25 -0
- package/build/stores/transcriptionDebug.d.ts.map +1 -0
- package/build/stores/transcriptionDebug.js +0 -0
- package/build/stores/transcriptionDebug.js.map +1 -0
- package/build/types/applet.d.ts +101 -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 +57 -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 +83 -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 +65 -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 +94 -0
- package/build/types/capabilities/mentra-live.js.map +1 -0
- package/build/types/capabilities/nimo.d.ts +13 -0
- package/build/types/capabilities/nimo.d.ts.map +1 -0
- package/build/types/capabilities/nimo.js +72 -0
- package/build/types/capabilities/nimo.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 +67 -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 +82 -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 +54 -0
- package/build/types/capabilities/vuzix-z100.js.map +1 -0
- package/build/types/enums.d.ts +22 -0
- package/build/types/enums.d.ts.map +1 -0
- package/build/types/enums.js +27 -0
- package/build/types/enums.js.map +1 -0
- package/build/types/hardware.d.ts +155 -0
- package/build/types/hardware.d.ts.map +1 -0
- package/build/types/hardware.js +52 -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 +11 -0
- package/build/utils/GlobalEventEmitter.d.ts.map +1 -0
- package/build/utils/GlobalEventEmitter.js +14 -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/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/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 +55 -0
- package/build/utils/devMiniappLaunch.d.ts.map +1 -0
- package/build/utils/devMiniappLaunch.js +175 -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 +122 -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 +188 -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/anchor.d.ts +17 -0
- package/build/utils/display/scene/anchor.d.ts.map +1 -0
- package/build/utils/display/scene/anchor.js +33 -0
- package/build/utils/display/scene/anchor.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 +11 -0
- package/build/utils/display/scene/index.d.ts.map +1 -0
- package/build/utils/display/scene/index.js +7 -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 +201 -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 +139 -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 +131 -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/memory/search.d.ts +72 -0
- package/build/utils/memory/search.d.ts.map +1 -0
- package/build/utils/memory/search.js +178 -0
- package/build/utils/memory/search.js.map +1 -0
- 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/miniappGlobals.d.ts +59 -0
- package/build/utils/miniappGlobals.d.ts.map +1 -0
- package/build/utils/miniappGlobals.js +223 -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/speakerEmbedding.d.ts +8 -0
- package/build/utils/speakerEmbedding.d.ts.map +1 -0
- package/build/utils/speakerEmbedding.js +63 -0
- package/build/utils/speakerEmbedding.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 +142 -0
- package/build/utils/timers/timers.js.map +1 -0
- package/package.json +122 -0
- package/src/assets/silence.wav +0 -0
- package/src/devtools.ts +13 -0
- package/src/engine.ts +198 -0
- package/src/facades/dev.ts +213 -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 +219 -0
- package/src/facades/glassesSettings.ts +57 -0
- package/src/facades/glassesWifi.ts +68 -0
- package/src/facades/maps.ts +13 -0
- package/src/facades/memory.ts +46 -0
- package/src/facades/miniapps.ts +62 -0
- package/src/facades/notifications.ts +14 -0
- package/src/facades/ota.ts +177 -0
- package/src/facades/pairing.ts +329 -0
- package/src/facades/permissions.ts +165 -0
- package/src/facades/phoneNotifications.ts +41 -0
- package/src/facades/providerKeys.ts +31 -0
- package/src/facades/reports.ts +180 -0
- package/src/facades/session.ts +54 -0
- package/src/facades/settings.ts +57 -0
- package/src/facades/speakers.ts +152 -0
- package/src/facades/speech.ts +49 -0
- package/src/index.ts +214 -0
- package/src/internal.ts +155 -0
- package/src/runtime/bootstrap.ts +159 -0
- package/src/runtime/config.ts +155 -0
- package/src/runtime/scanQrSeam.ts +20 -0
- package/src/runtime/streamConfig.ts +34 -0
- package/src/services/AiTierResolution.ts +106 -0
- package/src/services/AppRegistry.ts +1245 -0
- package/src/services/AudioCloudUplink.ts +56 -0
- package/src/services/AudioPlaybackService.ts +873 -0
- package/src/services/AutomaticReportResult.ts +50 -0
- package/src/services/BlobStore.ts +823 -0
- package/src/services/CaptionsTesterReportService.ts +107 -0
- package/src/services/CloudAudioSubscriptionSync.ts +53 -0
- package/src/services/CloudClientService.ts +1031 -0
- package/src/services/CloudTranscriptE2EMetrics.ts +27 -0
- package/src/services/ConnectionCoordinator.ts +65 -0
- package/src/services/DevServerBridge.ts +334 -0
- package/src/services/DeviceEventRouter.ts +266 -0
- package/src/services/DeviceStoreHydration.ts +130 -0
- package/src/services/DisplayProcessor.ts +775 -0
- package/src/services/ForegroundLocationPermission.ts +24 -0
- package/src/services/GlassesReadiness.ts +103 -0
- package/src/services/GlassesSettingsSync.ts +140 -0
- package/src/services/GlassesStatusProjection.ts +73 -0
- package/src/services/HeadingService.ts +122 -0
- package/src/services/HotspotOtaTransport.ts +184 -0
- package/src/services/HotspotShutdown.ts +41 -0
- package/src/services/JSCrashController.ts +189 -0
- package/src/services/JSCrashloopReportService.ts +66 -0
- package/src/services/JSLogPipeline.ts +166 -0
- package/src/services/JSRouter.ts +555 -0
- package/src/services/LocalDisplayManager.ts +815 -0
- package/src/services/LocalMiniappDataMigration.ts +102 -0
- package/src/services/LocalMiniappRuntime.ts +5747 -0
- package/src/services/LocalMiniappStorage.ts +82 -0
- package/src/services/LocalMiniappUserIdentity.ts +79 -0
- package/src/services/LocalSttFallbackCoordinator.ts +247 -0
- package/src/services/MapboxTokenService.ts +118 -0
- package/src/services/MemoryCapture.ts +61 -0
- package/src/services/MemoryStore.ts +633 -0
- package/src/services/MicStateCoordinator.ts +259 -0
- package/src/services/MiniappEngine.ts +143 -0
- package/src/services/MiniappLauncher.ts +365 -0
- package/src/services/MiniappLiveness.ts +24 -0
- package/src/services/MiniappRunningRegistry.ts +57 -0
- package/src/services/NativeHttpResponse.ts +6 -0
- package/src/services/NativeNavigationService.ts +176 -0
- package/src/services/NavigationHandlers.ts +527 -0
- package/src/services/NavigationService.ts +926 -0
- package/src/services/NotificationsEmitter.ts +49 -0
- package/src/services/OfflineSpeechModelService.ts +168 -0
- package/src/services/OtaArtifactDownloader.ts +312 -0
- package/src/services/OtaInstallCoordinator.ts +1707 -0
- package/src/services/OtaService.ts +89 -0
- package/src/services/OtaUpdateCheckService.ts +550 -0
- package/src/services/PairingIdentity.ts +154 -0
- package/src/services/PhoneCalendarHelpers.ts +212 -0
- package/src/services/PhoneCalendarService.ts +61 -0
- package/src/services/PhoneCameraFovCoordinator.ts +210 -0
- package/src/services/PhoneLocationService.ts +120 -0
- package/src/services/PhoneNotificationsSync.ts +46 -0
- package/src/services/PhonePhotoCoordinator.ts +435 -0
- package/src/services/PhoneStreamCoordinator.ts +874 -0
- package/src/services/PhoneVideoCoordinator.ts +203 -0
- package/src/services/ProviderKeyValidation.ts +57 -0
- package/src/services/STTModelManager.ts +434 -0
- package/src/services/SceneRenderer.ts +320 -0
- package/src/services/SentenceTtsPipeline.ts +106 -0
- package/src/services/SpeakerIdModelManager.ts +151 -0
- package/src/services/SpeakerIdSync.ts +79 -0
- package/src/services/SpeakerLabelResolver.ts +140 -0
- package/src/services/SpeakerProfileStore.ts +265 -0
- package/src/services/SpeakerSegmentResolver.ts +194 -0
- package/src/services/StreamLifecycleController.ts +203 -0
- package/src/services/SupportProfileSync.ts +218 -0
- package/src/services/TTSModelManager.ts +466 -0
- package/src/services/TranscriptionRouting.ts +47 -0
- package/src/services/TtsTextSanitizer.ts +66 -0
- package/src/services/UIRouter.ts +250 -0
- package/src/services/WebviewBridge.ts +50 -0
- package/src/services/WifiAdbRequest.ts +53 -0
- package/src/services/asg/GalleryMediaIntegrityReportService.ts +72 -0
- package/src/services/asg/asgCameraApi.ts +1786 -0
- package/src/services/asg/cameraRollExportCoordinator.ts +627 -0
- package/src/services/asg/cameraRollExportLedger.ts +122 -0
- package/src/services/asg/galleryMediaValidation.ts +185 -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 +235 -0
- package/src/services/asg/gallerySyncService.ts +2278 -0
- package/src/services/asg/galleryTransferLedger.ts +312 -0
- package/src/services/asg/localNetworkTransport.ts +169 -0
- package/src/services/asg/localStorageService.ts +652 -0
- package/src/services/asg/mediaProcessingQueue.ts +518 -0
- package/src/services/audioPlaybackAssets.ts +8 -0
- package/src/services/blobPaths.ts +86 -0
- package/src/services/cloudStreamApi.ts +142 -0
- package/src/services/effectiveCapabilities.ts +27 -0
- package/src/services/gallerySyncClock.ts +39 -0
- package/src/services/glassesClockSync.ts +115 -0
- package/src/services/manifestActions.ts +80 -0
- package/src/services/manifestVersionGate.ts +43 -0
- package/src/services/memoryStoreInstance.ts +70 -0
- package/src/services/navigation/roadNameResolver.ts +103 -0
- package/src/services/navigation/routesApiCodec.ts +69 -0
- package/src/services/otaDisplayState.ts +156 -0
- package/src/services/otaInstallPolicy.ts +132 -0
- package/src/services/otaLegacyMapping.ts +71 -0
- package/src/services/otaManifestUrl.ts +53 -0
- package/src/services/slimStreamStatus.ts +39 -0
- package/src/services/soniox/SonioxDirectService.ts +517 -0
- package/src/services/soniox/SonioxRealtimeClient.ts +349 -0
- package/src/services/soniox/SonioxTokenAssembler.ts +451 -0
- package/src/services/speakerProfileStoreInstance.ts +25 -0
- package/src/services/uiShim.ts +375 -0
- package/src/stores/apps.ts +626 -0
- package/src/stores/bluetoothSettingKeys.ts +35 -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 +384 -0
- package/src/stores/glasses.ts +314 -0
- package/src/stores/settings.ts +1299 -0
- package/src/stores/transcriptionDebug.ts +0 -0
- package/src/types/applet.ts +121 -0
- package/src/types/asg.ts +58 -0
- package/src/types/capabilities/even-realities-g1.ts +70 -0
- package/src/types/capabilities/even-realities-g2.ts +98 -0
- package/src/types/capabilities/mentra-display.ts +78 -0
- package/src/types/capabilities/mentra-live.ts +106 -0
- package/src/types/capabilities/nimo.ts +84 -0
- package/src/types/capabilities/none.ts +79 -0
- package/src/types/capabilities/simulated-glasses.ts +95 -0
- package/src/types/capabilities/vuzix-z100.ts +67 -0
- package/src/types/enums.ts +27 -0
- package/src/types/hardware.ts +220 -0
- package/src/types/index.ts +38 -0
- package/src/utils/GlobalEventEmitter.ts +15 -0
- package/src/utils/cloudClient/RnUdpAdapter.ts +47 -0
- package/src/utils/cloudClient/cloudSecureStore.ts +28 -0
- package/src/utils/configuredDevHost.ts +17 -0
- package/src/utils/debouncedPatch.ts +28 -0
- package/src/utils/devLogging.ts +140 -0
- package/src/utils/devMiniappLaunch.ts +196 -0
- package/src/utils/diagnosticContext.ts +159 -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 +409 -0
- package/src/utils/display/helpers/ScrollView.ts +326 -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/anchor.ts +39 -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 +24 -0
- package/src/utils/display/scene/process.ts +228 -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 +171 -0
- package/src/utils/hardware/index.ts +1 -0
- package/src/utils/memory/search.ts +204 -0
- package/src/utils/miniappDiagnostics.ts +226 -0
- package/src/utils/miniappGlobals.ts +259 -0
- package/src/utils/permissions/MediaLibraryPermissions.ts +161 -0
- package/src/utils/permissions/galleryDisplayName.ts +28 -0
- package/src/utils/speakerEmbedding.ts +58 -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 +175 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifestActions.js","sourceRoot":"","sources":["../../src/services/manifestActions.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAC/B,IAAqB,EACrB,iBAAyB,EACzB,cAAuB;IAEvB,MAAM,IAAI,GAAoB,EAAE,CAAA;IAChC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,KAAK,iBAAiB,IAAI,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,SAAQ;QAC7G,IAAI,GAAG,CAAC,aAAa,EAAE,YAAY,KAAK,KAAK;YAAE,SAAQ;QACvD,KAAK,MAAM,MAAM,IAAI,GAAG,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,cAAc;gBAAE,SAAQ;YAC/D,IAAI,CAAC,IAAI,CAAC;gBACR,WAAW,EAAE,GAAG,CAAC,WAAW;gBAC5B,OAAO,EAAE,GAAG,CAAC,IAAI;gBACjB,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,EAAC,UAAU,EAAE,MAAM,CAAC,UAAU,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7D,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,YAAY,EAAE,MAAM,CAAC,YAAY,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aACpE,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAAY;IACnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAA;IAClC,MAAM,GAAG,GAAqB,EAAE,CAAA;IAChC,KAAK,MAAM,CAAC,IAAI,GAMd,EAAE,CAAC;QACH,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;YACvE,GAAG,CAAC,IAAI,CAAC;gBACP,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;oBAClF,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,CAAC,UAAqC,EAAC;oBACvD,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC;oBACxF,CAAC,CAAC,EAAC,YAAY,EAAE,CAAC,CAAC,YAAuC,EAAC;oBAC3D,CAAC,CAAC,EAAE,CAAC;gBACP,yEAAyE;gBACzE,GAAG,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,UAAU,EAAE,CAAC,CAAC,UAAU,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC9F,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC","sourcesContent":["import type {DeclaredAction} from \"../types/applet\"\n\n/** The subset of ClientApp that action-listing needs (structural, no cycle on applet types). */\nexport interface ActionListApp {\n packageName: string\n name: string\n actions?: DeclaredAction[]\n compatibility?: {isCompatible: boolean}\n}\n\n/** One row of `session.actions.list` — a flat, MCP-tool-shaped descriptor. */\nexport interface ActionListRow {\n packageName: string\n appName: string\n id: string\n description: string\n parameters?: Record<string, unknown>\n outputSchema?: Record<string, unknown>\n}\n\n/**\n * Project the installed-app set into the caller's invokable-action rows:\n * excludes the caller's own actions, incompatible apps, and placeholder\n * packages; `visibility: \"system\"` actions only surface for system callers.\n */\nexport function visibleActionRows(\n apps: ActionListApp[],\n callerPackageName: string,\n callerIsSystem: boolean,\n): ActionListRow[] {\n const rows: ActionListRow[] = []\n for (const app of apps) {\n if (!app.packageName || app.packageName === callerPackageName || app.packageName.includes(\"@empty\")) continue\n if (app.compatibility?.isCompatible === false) continue\n for (const action of app.actions ?? []) {\n if (action.visibility === \"system\" && !callerIsSystem) continue\n rows.push({\n packageName: app.packageName,\n appName: app.name,\n id: action.id,\n description: action.description,\n ...(action.parameters ? {parameters: action.parameters} : {}),\n ...(action.outputSchema ? {outputSchema: action.outputSchema} : {}),\n })\n }\n }\n return rows\n}\n\n/**\n * Normalize manifest actions defensively for installed and dev-sideloaded\n * bundles. Input and output schemas are passed through as opaque JSON Schema.\n */\nexport function normalizeManifestActions(raw: unknown): DeclaredAction[] {\n if (!Array.isArray(raw)) return []\n const out: DeclaredAction[] = []\n for (const a of raw as Array<{\n id?: unknown\n description?: unknown\n parameters?: unknown\n outputSchema?: unknown\n visibility?: unknown\n }>) {\n if (a && typeof a.id === \"string\" && typeof a.description === \"string\") {\n out.push({\n id: a.id,\n description: a.description,\n ...(a.parameters && typeof a.parameters === \"object\" && !Array.isArray(a.parameters)\n ? {parameters: a.parameters as Record<string, unknown>}\n : {}),\n ...(a.outputSchema && typeof a.outputSchema === \"object\" && !Array.isArray(a.outputSchema)\n ? {outputSchema: a.outputSchema as Record<string, unknown>}\n : {}),\n // Unknown/absent values fall back to the default (\"public\") by omission.\n ...(a.visibility === \"system\" || a.visibility === \"public\" ? {visibility: a.visibility} : {}),\n })\n }\n }\n return out\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure helper extracted from `AppRegistry.checkManifestVersions` so it
|
|
3
|
+
* can be unit-tested without dragging in the `expo-file-system`
|
|
4
|
+
* transitively-React-Native dependency tree.
|
|
5
|
+
*
|
|
6
|
+
* Returns `{ok: true}` when the manifest is compatible with the host,
|
|
7
|
+
* or `{ok: false, reason}` with a user-facing string. Manifests missing
|
|
8
|
+
* either field pass through (legacy single-bundle bundles).
|
|
9
|
+
*
|
|
10
|
+
* `sdkVersion` is the SDK ABI the bundle targets; `minHostVersion` is
|
|
11
|
+
* the host floor the miniapp requires. Both must satisfy semver-coerce.
|
|
12
|
+
* Strings that don't coerce are treated as "unspecified" — the
|
|
13
|
+
* CLI's validateManifest catches malformed inputs at install time so
|
|
14
|
+
* this helper stays permissive at the policy layer.
|
|
15
|
+
*/
|
|
16
|
+
export declare function checkManifestVersions(manifest: {
|
|
17
|
+
sdkVersion?: string;
|
|
18
|
+
minHostVersion?: string;
|
|
19
|
+
} | null, options: {
|
|
20
|
+
hostVersion: string;
|
|
21
|
+
supportedSdkRange: string;
|
|
22
|
+
}): {
|
|
23
|
+
ok: true;
|
|
24
|
+
} | {
|
|
25
|
+
ok: false;
|
|
26
|
+
reason: string;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=manifestVersionGate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifestVersionGate.d.ts","sourceRoot":"","sources":["../../src/services/manifestVersionGate.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,EAC/D,OAAO,EAAE;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAC,GACxD;IAAC,EAAE,EAAE,IAAI,CAAA;CAAC,GAAG;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAC,CAsB1C"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import semver from "semver";
|
|
2
|
+
/**
|
|
3
|
+
* Pure helper extracted from `AppRegistry.checkManifestVersions` so it
|
|
4
|
+
* can be unit-tested without dragging in the `expo-file-system`
|
|
5
|
+
* transitively-React-Native dependency tree.
|
|
6
|
+
*
|
|
7
|
+
* Returns `{ok: true}` when the manifest is compatible with the host,
|
|
8
|
+
* or `{ok: false, reason}` with a user-facing string. Manifests missing
|
|
9
|
+
* either field pass through (legacy single-bundle bundles).
|
|
10
|
+
*
|
|
11
|
+
* `sdkVersion` is the SDK ABI the bundle targets; `minHostVersion` is
|
|
12
|
+
* the host floor the miniapp requires. Both must satisfy semver-coerce.
|
|
13
|
+
* Strings that don't coerce are treated as "unspecified" — the
|
|
14
|
+
* CLI's validateManifest catches malformed inputs at install time so
|
|
15
|
+
* this helper stays permissive at the policy layer.
|
|
16
|
+
*/
|
|
17
|
+
export function checkManifestVersions(manifest, options) {
|
|
18
|
+
if (!manifest)
|
|
19
|
+
return { ok: true };
|
|
20
|
+
if (manifest.minHostVersion) {
|
|
21
|
+
const cleanHost = semver.valid(semver.coerce(options.hostVersion) ?? options.hostVersion);
|
|
22
|
+
const cleanMin = semver.valid(semver.coerce(manifest.minHostVersion) ?? manifest.minHostVersion);
|
|
23
|
+
if (cleanHost && cleanMin && semver.lt(cleanHost, cleanMin)) {
|
|
24
|
+
return {
|
|
25
|
+
ok: false,
|
|
26
|
+
reason: `Requires Glassly ${manifest.minHostVersion}+; this host is ${options.hostVersion}.`,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (manifest.sdkVersion) {
|
|
31
|
+
const cleanSdk = semver.valid(semver.coerce(manifest.sdkVersion) ?? manifest.sdkVersion);
|
|
32
|
+
if (cleanSdk && !semver.satisfies(cleanSdk, options.supportedSdkRange)) {
|
|
33
|
+
return {
|
|
34
|
+
ok: false,
|
|
35
|
+
reason: `Built for SDK ${manifest.sdkVersion}; host supports ${options.supportedSdkRange}.`,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return { ok: true };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=manifestVersionGate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifestVersionGate.js","sourceRoot":"","sources":["../../src/services/manifestVersionGate.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAA+D,EAC/D,OAAyD;IAEzD,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,CAAA;IAChC,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,WAAW,CAAC,CAAA;QACzF,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,QAAQ,CAAC,cAAc,CAAC,CAAA;QAChG,IAAI,SAAS,IAAI,QAAQ,IAAI,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;YAC5D,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,oBAAoB,QAAQ,CAAC,cAAc,mBAAmB,OAAO,CAAC,WAAW,GAAG;aAC7F,CAAA;QACH,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAA;QACxF,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACvE,OAAO;gBACL,EAAE,EAAE,KAAK;gBACT,MAAM,EAAE,iBAAiB,QAAQ,CAAC,UAAU,mBAAmB,OAAO,CAAC,iBAAiB,GAAG;aAC5F,CAAA;QACH,CAAC;IACH,CAAC;IACD,OAAO,EAAC,EAAE,EAAE,IAAI,EAAC,CAAA;AACnB,CAAC","sourcesContent":["import semver from \"semver\"\n\n/**\n * Pure helper extracted from `AppRegistry.checkManifestVersions` so it\n * can be unit-tested without dragging in the `expo-file-system`\n * transitively-React-Native dependency tree.\n *\n * Returns `{ok: true}` when the manifest is compatible with the host,\n * or `{ok: false, reason}` with a user-facing string. Manifests missing\n * either field pass through (legacy single-bundle bundles).\n *\n * `sdkVersion` is the SDK ABI the bundle targets; `minHostVersion` is\n * the host floor the miniapp requires. Both must satisfy semver-coerce.\n * Strings that don't coerce are treated as \"unspecified\" — the\n * CLI's validateManifest catches malformed inputs at install time so\n * this helper stays permissive at the policy layer.\n */\nexport function checkManifestVersions(\n manifest: {sdkVersion?: string; minHostVersion?: string} | null,\n options: {hostVersion: string; supportedSdkRange: string},\n): {ok: true} | {ok: false; reason: string} {\n if (!manifest) return {ok: true}\n if (manifest.minHostVersion) {\n const cleanHost = semver.valid(semver.coerce(options.hostVersion) ?? options.hostVersion)\n const cleanMin = semver.valid(semver.coerce(manifest.minHostVersion) ?? manifest.minHostVersion)\n if (cleanHost && cleanMin && semver.lt(cleanHost, cleanMin)) {\n return {\n ok: false,\n reason: `Requires Glassly ${manifest.minHostVersion}+; this host is ${options.hostVersion}.`,\n }\n }\n }\n if (manifest.sdkVersion) {\n const cleanSdk = semver.valid(semver.coerce(manifest.sdkVersion) ?? manifest.sdkVersion)\n if (cleanSdk && !semver.satisfies(cleanSdk, options.supportedSdkRange)) {\n return {\n ok: false,\n reason: `Built for SDK ${manifest.sdkVersion}; host supports ${options.supportedSdkRange}.`,\n }\n }\n }\n return {ok: true}\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The engine's singleton MemoryStore — the shared user-scoped memory timeline
|
|
3
|
+
* behind LocalMiniappRuntime's MEMORY_* bridge handlers and engine.memory.
|
|
4
|
+
* Lives in its own module (not MemoryStore.ts) so the store class stays
|
|
5
|
+
* dependency-free for tests.
|
|
6
|
+
*/
|
|
7
|
+
import { MemoryStore } from "./MemoryStore";
|
|
8
|
+
/** Whether the extended (Plus/Pro) retention window is active right now. */
|
|
9
|
+
export declare function isMemoryRetentionExtended(): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Flip the visible retention window. Called by the host app when the
|
|
12
|
+
* subscription state resolves or changes. Downgrading freezes reads to the
|
|
13
|
+
* standard window but deletes nothing — the older timeline stays stored and
|
|
14
|
+
* reappears on re-upgrade (MemoryStore prunes at the extended bound for
|
|
15
|
+
* every tier).
|
|
16
|
+
*/
|
|
17
|
+
export declare function setMemoryRetentionExtended(extended: boolean): void;
|
|
18
|
+
export declare const memoryStore: MemoryStore;
|
|
19
|
+
//# sourceMappingURL=memoryStoreInstance.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryStoreInstance.d.ts","sourceRoot":"","sources":["../../src/services/memoryStoreInstance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAqB,WAAW,EAAqB,MAAM,eAAe,CAAA;AAejF,4EAA4E;AAC5E,wBAAgB,yBAAyB,IAAI,OAAO,CAEnD;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAIlE;AAED,eAAO,MAAM,WAAW,aAetB,CAAA"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The engine's singleton MemoryStore — the shared user-scoped memory timeline
|
|
3
|
+
* behind LocalMiniappRuntime's MEMORY_* bridge handlers and engine.memory.
|
|
4
|
+
* Lives in its own module (not MemoryStore.ts) so the store class stays
|
|
5
|
+
* dependency-free for tests.
|
|
6
|
+
*/
|
|
7
|
+
import { AppState } from "react-native";
|
|
8
|
+
import { storage as mmkvStorage } from "../utils/storage/storage";
|
|
9
|
+
import { cloudClientService } from "./CloudClientService";
|
|
10
|
+
import { EXTENDED_RETENTION, MemoryStore, STANDARD_RETENTION } from "./MemoryStore";
|
|
11
|
+
/**
|
|
12
|
+
* Persisted "Plus/Pro memory retention" flag. Cached in MMKV so a paying user
|
|
13
|
+
* who relaunches offline keeps their full read window; only a DEFINITIVE
|
|
14
|
+
* subscription answer may change it (the RevenueCatSetup effect passes
|
|
15
|
+
* nothing on unknown/null customer info).
|
|
16
|
+
*/
|
|
17
|
+
const RETENTION_EXTENDED_KEY = "memory_retention_extended";
|
|
18
|
+
let retentionExtended = (() => {
|
|
19
|
+
const result = mmkvStorage.load(RETENTION_EXTENDED_KEY);
|
|
20
|
+
return result.is_ok() && result.value === true;
|
|
21
|
+
})();
|
|
22
|
+
/** Whether the extended (Plus/Pro) retention window is active right now. */
|
|
23
|
+
export function isMemoryRetentionExtended() {
|
|
24
|
+
return retentionExtended;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Flip the visible retention window. Called by the host app when the
|
|
28
|
+
* subscription state resolves or changes. Downgrading freezes reads to the
|
|
29
|
+
* standard window but deletes nothing — the older timeline stays stored and
|
|
30
|
+
* reappears on re-upgrade (MemoryStore prunes at the extended bound for
|
|
31
|
+
* every tier).
|
|
32
|
+
*/
|
|
33
|
+
export function setMemoryRetentionExtended(extended) {
|
|
34
|
+
if (retentionExtended === extended)
|
|
35
|
+
return;
|
|
36
|
+
retentionExtended = extended;
|
|
37
|
+
mmkvStorage.save(RETENTION_EXTENDED_KEY, extended);
|
|
38
|
+
}
|
|
39
|
+
export const memoryStore = new MemoryStore({
|
|
40
|
+
getUserId: () => cloudClientService.resolveGlasslyUserId(),
|
|
41
|
+
getRetention: () => (retentionExtended ? EXTENDED_RETENTION : STANDARD_RETENTION),
|
|
42
|
+
backend: {
|
|
43
|
+
get(key) {
|
|
44
|
+
const result = mmkvStorage.load(key);
|
|
45
|
+
return result.is_ok() ? result.value : null;
|
|
46
|
+
},
|
|
47
|
+
set(key, value) {
|
|
48
|
+
mmkvStorage.save(key, value);
|
|
49
|
+
},
|
|
50
|
+
remove(key) {
|
|
51
|
+
mmkvStorage.remove(key);
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
});
|
|
55
|
+
// Transcript writes are debounced (see MemoryStore.schedulePersistLog), so the
|
|
56
|
+
// tail of a conversation can be in-memory only when the user leaves the app.
|
|
57
|
+
// Losing it to a background kill would be silent data loss — flush on the way out.
|
|
58
|
+
AppState.addEventListener("change", (state) => {
|
|
59
|
+
if (state === "active")
|
|
60
|
+
return;
|
|
61
|
+
void memoryStore.flush().catch((err) => {
|
|
62
|
+
console.warn("MemoryStore: flush on background failed:", err instanceof Error ? err.message : err);
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
//# sourceMappingURL=memoryStoreInstance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memoryStoreInstance.js","sourceRoot":"","sources":["../../src/services/memoryStoreInstance.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAA;AAErC,OAAO,EAAC,OAAO,IAAI,WAAW,EAAC,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAC,kBAAkB,EAAE,WAAW,EAAE,kBAAkB,EAAC,MAAM,eAAe,CAAA;AAEjF;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,2BAA2B,CAAA;AAE1D,IAAI,iBAAiB,GAAG,CAAC,GAAY,EAAE;IACrC,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAU,sBAAsB,CAAC,CAAA;IAChE,OAAO,MAAM,CAAC,KAAK,EAAE,IAAI,MAAM,CAAC,KAAK,KAAK,IAAI,CAAA;AAChD,CAAC,CAAC,EAAE,CAAA;AAEJ,4EAA4E;AAC5E,MAAM,UAAU,yBAAyB;IACvC,OAAO,iBAAiB,CAAA;AAC1B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,0BAA0B,CAAC,QAAiB;IAC1D,IAAI,iBAAiB,KAAK,QAAQ;QAAE,OAAM;IAC1C,iBAAiB,GAAG,QAAQ,CAAA;IAC5B,WAAW,CAAC,IAAI,CAAC,sBAAsB,EAAE,QAAQ,CAAC,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC;IACzC,SAAS,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,oBAAoB,EAAE;IAC1D,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IACjF,OAAO,EAAE;QACP,GAAG,CAAC,GAAW;YACb,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAU,GAAG,CAAC,CAAA;YAC7C,OAAO,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;QAC7C,CAAC;QACD,GAAG,CAAC,GAAW,EAAE,KAAc;YAC7B,WAAW,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC9B,CAAC;QACD,MAAM,CAAC,GAAW;YAChB,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QACzB,CAAC;KACF;CACF,CAAC,CAAA;AAEF,+EAA+E;AAC/E,6EAA6E;AAC7E,mFAAmF;AACnF,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;IAC5C,IAAI,KAAK,KAAK,QAAQ;QAAE,OAAM;IAC9B,KAAK,WAAW,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACrC,OAAO,CAAC,IAAI,CAAC,0CAA0C,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACpG,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA","sourcesContent":["/**\n * The engine's singleton MemoryStore — the shared user-scoped memory timeline\n * behind LocalMiniappRuntime's MEMORY_* bridge handlers and engine.memory.\n * Lives in its own module (not MemoryStore.ts) so the store class stays\n * dependency-free for tests.\n */\n\nimport {AppState} from \"react-native\"\n\nimport {storage as mmkvStorage} from \"../utils/storage/storage\"\nimport {cloudClientService} from \"./CloudClientService\"\nimport {EXTENDED_RETENTION, MemoryStore, STANDARD_RETENTION} from \"./MemoryStore\"\n\n/**\n * Persisted \"Plus/Pro memory retention\" flag. Cached in MMKV so a paying user\n * who relaunches offline keeps their full read window; only a DEFINITIVE\n * subscription answer may change it (the RevenueCatSetup effect passes\n * nothing on unknown/null customer info).\n */\nconst RETENTION_EXTENDED_KEY = \"memory_retention_extended\"\n\nlet retentionExtended = ((): boolean => {\n const result = mmkvStorage.load<boolean>(RETENTION_EXTENDED_KEY)\n return result.is_ok() && result.value === true\n})()\n\n/** Whether the extended (Plus/Pro) retention window is active right now. */\nexport function isMemoryRetentionExtended(): boolean {\n return retentionExtended\n}\n\n/**\n * Flip the visible retention window. Called by the host app when the\n * subscription state resolves or changes. Downgrading freezes reads to the\n * standard window but deletes nothing — the older timeline stays stored and\n * reappears on re-upgrade (MemoryStore prunes at the extended bound for\n * every tier).\n */\nexport function setMemoryRetentionExtended(extended: boolean): void {\n if (retentionExtended === extended) return\n retentionExtended = extended\n mmkvStorage.save(RETENTION_EXTENDED_KEY, extended)\n}\n\nexport const memoryStore = new MemoryStore({\n getUserId: () => cloudClientService.resolveGlasslyUserId(),\n getRetention: () => (retentionExtended ? EXTENDED_RETENTION : STANDARD_RETENTION),\n backend: {\n get(key: string): unknown | null {\n const result = mmkvStorage.load<unknown>(key)\n return result.is_ok() ? result.value : null\n },\n set(key: string, value: unknown): void {\n mmkvStorage.save(key, value)\n },\n remove(key: string): void {\n mmkvStorage.remove(key)\n },\n },\n})\n\n// Transcript writes are debounced (see MemoryStore.schedulePersistLog), so the\n// tail of a conversation can be in-memory only when the user leaves the app.\n// Losing it to a background kill would be silent data loss — flush on the way out.\nAppState.addEventListener(\"change\", (state) => {\n if (state === \"active\") return\n void memoryStore.flush().catch((err) => {\n console.warn(\"MemoryStore: flush on background failed:\", err instanceof Error ? err.message : err)\n })\n})\n"]}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hybrid road-name resolver for Routes-API steps. Used to fill
|
|
3
|
+
* `ComputedRouteStep.road` so miniapps don't have to parse instruction
|
|
4
|
+
* prose or geocode themselves — every miniapp talking to the SDK sees
|
|
5
|
+
* the same accurate names for preview AND live trip.
|
|
6
|
+
*
|
|
7
|
+
* Strategy per step:
|
|
8
|
+
* 1. Parse "onto X" from the Routes-API instruction when present
|
|
9
|
+
* (the API literally tells us the road; no second-guessing).
|
|
10
|
+
* 2. Fall back to reverse-geocoding the step MIDPOINT when the
|
|
11
|
+
* instruction has no road name ("Slight right", "Turn left toward
|
|
12
|
+
* …", "Destination will be on the right", bare depart steps).
|
|
13
|
+
*
|
|
14
|
+
* Endpoints get rejected as fallback probe points: they sit on
|
|
15
|
+
* junctions and snap to whichever cross-street has higher weight;
|
|
16
|
+
* the midpoint sits on the step's own road.
|
|
17
|
+
*
|
|
18
|
+
* This is a direct port of the resolver that used to live in the Nav
|
|
19
|
+
* miniapp's NavigationPage.tsx. Lives on the host so all miniapps
|
|
20
|
+
* benefit and so preview + live can share a single implementation.
|
|
21
|
+
*/
|
|
22
|
+
type StepLike = {
|
|
23
|
+
lat: number;
|
|
24
|
+
lng: number;
|
|
25
|
+
endLat: number;
|
|
26
|
+
endLng: number;
|
|
27
|
+
instruction?: string;
|
|
28
|
+
};
|
|
29
|
+
type ReverseGeocode = (coord: {
|
|
30
|
+
lat: number;
|
|
31
|
+
lng: number;
|
|
32
|
+
}) => Promise<{
|
|
33
|
+
ok: boolean;
|
|
34
|
+
road?: string | null;
|
|
35
|
+
error?: string;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Pull a short road name out of a Routes-API instruction. Instructions
|
|
39
|
+
* look like:
|
|
40
|
+
* "Turn left onto Octavia Blvd"
|
|
41
|
+
* "Head northeast on Market St toward Octavia St"
|
|
42
|
+
* "Turn right onto Haight St\nDestination will be on the right"
|
|
43
|
+
*
|
|
44
|
+
* Pitfalls this guards against (seen in real data):
|
|
45
|
+
* - Multi-line: API appends "Destination will be on the right" etc.
|
|
46
|
+
* Only the first line is parsed, otherwise the greedy "on" match
|
|
47
|
+
* grabs "on the right" → "the right".
|
|
48
|
+
* - Trailing clauses ("… toward Octavia St", "… and continue"):
|
|
49
|
+
* cut at the first such keyword.
|
|
50
|
+
* - Unit suffixes: "Hayes St #116" → "Hayes St".
|
|
51
|
+
* - Bare direction words slipping through: rejected so the resolver
|
|
52
|
+
* falls back to geocoding instead of labeling a step "left".
|
|
53
|
+
*/
|
|
54
|
+
export declare function roadNameFromInstruction(instruction?: string): string | null;
|
|
55
|
+
/**
|
|
56
|
+
* Resolve `road` for every step in a Routes-API step list. The
|
|
57
|
+
* `reverseGeocode` callback is injected so this module stays free of
|
|
58
|
+
* the host's network plumbing (and is unit-testable).
|
|
59
|
+
*
|
|
60
|
+
* Steps are resolved in parallel: parsed names land synchronously,
|
|
61
|
+
* geocoded fallbacks fire concurrently. Order is preserved.
|
|
62
|
+
*/
|
|
63
|
+
export declare function resolveStepRoads<S extends StepLike>(steps: S[], reverseGeocode: ReverseGeocode): Promise<Array<S & {
|
|
64
|
+
road: string | null;
|
|
65
|
+
}>>;
|
|
66
|
+
export {};
|
|
67
|
+
//# sourceMappingURL=roadNameResolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadNameResolver.d.ts","sourceRoot":"","sources":["../../../src/services/navigation/roadNameResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,KAAK,QAAQ,GAAG;IACd,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,KAAK,cAAc,GAAG,CAAC,KAAK,EAAE;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,KAAK,OAAO,CAAC;IACnE,EAAE,EAAE,OAAO,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAC,CAAA;AAIF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe3E;AAED;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,CAAC,SAAS,QAAQ,EACvD,KAAK,EAAE,CAAC,EAAE,EACV,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAC,CAAC,CAAC,CAmB3C"}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hybrid road-name resolver for Routes-API steps. Used to fill
|
|
3
|
+
* `ComputedRouteStep.road` so miniapps don't have to parse instruction
|
|
4
|
+
* prose or geocode themselves — every miniapp talking to the SDK sees
|
|
5
|
+
* the same accurate names for preview AND live trip.
|
|
6
|
+
*
|
|
7
|
+
* Strategy per step:
|
|
8
|
+
* 1. Parse "onto X" from the Routes-API instruction when present
|
|
9
|
+
* (the API literally tells us the road; no second-guessing).
|
|
10
|
+
* 2. Fall back to reverse-geocoding the step MIDPOINT when the
|
|
11
|
+
* instruction has no road name ("Slight right", "Turn left toward
|
|
12
|
+
* …", "Destination will be on the right", bare depart steps).
|
|
13
|
+
*
|
|
14
|
+
* Endpoints get rejected as fallback probe points: they sit on
|
|
15
|
+
* junctions and snap to whichever cross-street has higher weight;
|
|
16
|
+
* the midpoint sits on the step's own road.
|
|
17
|
+
*
|
|
18
|
+
* This is a direct port of the resolver that used to live in the Nav
|
|
19
|
+
* miniapp's NavigationPage.tsx. Lives on the host so all miniapps
|
|
20
|
+
* benefit and so preview + live can share a single implementation.
|
|
21
|
+
*/
|
|
22
|
+
const DIRECTION_WORDS = new Set(["right", "left", "the right", "the left", "north", "south", "east", "west"]);
|
|
23
|
+
/**
|
|
24
|
+
* Pull a short road name out of a Routes-API instruction. Instructions
|
|
25
|
+
* look like:
|
|
26
|
+
* "Turn left onto Octavia Blvd"
|
|
27
|
+
* "Head northeast on Market St toward Octavia St"
|
|
28
|
+
* "Turn right onto Haight St\nDestination will be on the right"
|
|
29
|
+
*
|
|
30
|
+
* Pitfalls this guards against (seen in real data):
|
|
31
|
+
* - Multi-line: API appends "Destination will be on the right" etc.
|
|
32
|
+
* Only the first line is parsed, otherwise the greedy "on" match
|
|
33
|
+
* grabs "on the right" → "the right".
|
|
34
|
+
* - Trailing clauses ("… toward Octavia St", "… and continue"):
|
|
35
|
+
* cut at the first such keyword.
|
|
36
|
+
* - Unit suffixes: "Hayes St #116" → "Hayes St".
|
|
37
|
+
* - Bare direction words slipping through: rejected so the resolver
|
|
38
|
+
* falls back to geocoding instead of labeling a step "left".
|
|
39
|
+
*/
|
|
40
|
+
export function roadNameFromInstruction(instruction) {
|
|
41
|
+
if (!instruction)
|
|
42
|
+
return null;
|
|
43
|
+
const firstLine = instruction.split("\n")[0] ?? "";
|
|
44
|
+
// Prefer "onto" (always immediately precedes the road); fall back to
|
|
45
|
+
// "on" for depart steps ("Head north on Market St").
|
|
46
|
+
const m = firstLine.match(/\bonto\s+(.+)$/i) ?? firstLine.match(/\bon\s+(.+)$/i);
|
|
47
|
+
let raw = (m ? m[1] : "").trim();
|
|
48
|
+
if (!raw)
|
|
49
|
+
return null;
|
|
50
|
+
// Cut trailing direction/continuation clauses the API appends.
|
|
51
|
+
raw = raw.split(/\s+(?:toward|towards|to|and|then|for)\b/i)[0]?.trim() ?? "";
|
|
52
|
+
// Strip a unit/suite suffix.
|
|
53
|
+
raw = raw.replace(/\s+#.*$/, "").trim();
|
|
54
|
+
if (!raw)
|
|
55
|
+
return null;
|
|
56
|
+
if (DIRECTION_WORDS.has(raw.toLowerCase()))
|
|
57
|
+
return null;
|
|
58
|
+
return raw;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Resolve `road` for every step in a Routes-API step list. The
|
|
62
|
+
* `reverseGeocode` callback is injected so this module stays free of
|
|
63
|
+
* the host's network plumbing (and is unit-testable).
|
|
64
|
+
*
|
|
65
|
+
* Steps are resolved in parallel: parsed names land synchronously,
|
|
66
|
+
* geocoded fallbacks fire concurrently. Order is preserved.
|
|
67
|
+
*/
|
|
68
|
+
export async function resolveStepRoads(steps, reverseGeocode) {
|
|
69
|
+
const probes = steps.map((s) => {
|
|
70
|
+
const parsed = roadNameFromInstruction(s.instruction);
|
|
71
|
+
if (parsed)
|
|
72
|
+
return Promise.resolve(parsed);
|
|
73
|
+
if (!Number.isFinite(s.lat) ||
|
|
74
|
+
!Number.isFinite(s.lng) ||
|
|
75
|
+
!Number.isFinite(s.endLat) ||
|
|
76
|
+
!Number.isFinite(s.endLng)) {
|
|
77
|
+
return Promise.resolve(null);
|
|
78
|
+
}
|
|
79
|
+
const mid = { lat: (s.lat + s.endLat) / 2, lng: (s.lng + s.endLng) / 2 };
|
|
80
|
+
return reverseGeocode(mid)
|
|
81
|
+
.then((r) => (r.ok ? (r.road ?? null) : null))
|
|
82
|
+
.catch(() => null);
|
|
83
|
+
});
|
|
84
|
+
const roads = await Promise.all(probes);
|
|
85
|
+
return steps.map((s, i) => ({ ...s, road: roads[i] }));
|
|
86
|
+
}
|
|
87
|
+
//# sourceMappingURL=roadNameResolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"roadNameResolver.js","sourceRoot":"","sources":["../../../src/services/navigation/roadNameResolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAgBH,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAE7G;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAoB;IAC1D,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAA;IAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;IAClD,qEAAqE;IACrE,qDAAqD;IACrD,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;IAChF,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IAChC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,+DAA+D;IAC/D,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;IAC5E,6BAA6B;IAC7B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;IACvC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAA;IACrB,IAAI,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;QAAE,OAAO,IAAI,CAAA;IACvD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAU,EACV,cAA8B;IAE9B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAyB,CAAC,CAAC,EAAE,EAAE;QACrD,MAAM,MAAM,GAAG,uBAAuB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;QACrD,IAAI,MAAM;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QAC1C,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;YACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;YACvB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1B,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAC1B,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC9B,CAAC;QACD,MAAM,GAAG,GAAG,EAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAC,CAAA;QACtE,OAAO,cAAc,CAAC,GAAG,CAAC;aACvB,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAC7C,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAA;IACtB,CAAC,CAAC,CAAA;IACF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACvC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAA;AACtD,CAAC","sourcesContent":["/**\n * Hybrid road-name resolver for Routes-API steps. Used to fill\n * `ComputedRouteStep.road` so miniapps don't have to parse instruction\n * prose or geocode themselves — every miniapp talking to the SDK sees\n * the same accurate names for preview AND live trip.\n *\n * Strategy per step:\n * 1. Parse \"onto X\" from the Routes-API instruction when present\n * (the API literally tells us the road; no second-guessing).\n * 2. Fall back to reverse-geocoding the step MIDPOINT when the\n * instruction has no road name (\"Slight right\", \"Turn left toward\n * …\", \"Destination will be on the right\", bare depart steps).\n *\n * Endpoints get rejected as fallback probe points: they sit on\n * junctions and snap to whichever cross-street has higher weight;\n * the midpoint sits on the step's own road.\n *\n * This is a direct port of the resolver that used to live in the Nav\n * miniapp's NavigationPage.tsx. Lives on the host so all miniapps\n * benefit and so preview + live can share a single implementation.\n */\n\ntype StepLike = {\n lat: number\n lng: number\n endLat: number\n endLng: number\n instruction?: string\n}\n\ntype ReverseGeocode = (coord: {lat: number; lng: number}) => Promise<{\n ok: boolean\n road?: string | null\n error?: string\n}>\n\nconst DIRECTION_WORDS = new Set([\"right\", \"left\", \"the right\", \"the left\", \"north\", \"south\", \"east\", \"west\"])\n\n/**\n * Pull a short road name out of a Routes-API instruction. Instructions\n * look like:\n * \"Turn left onto Octavia Blvd\"\n * \"Head northeast on Market St toward Octavia St\"\n * \"Turn right onto Haight St\\nDestination will be on the right\"\n *\n * Pitfalls this guards against (seen in real data):\n * - Multi-line: API appends \"Destination will be on the right\" etc.\n * Only the first line is parsed, otherwise the greedy \"on\" match\n * grabs \"on the right\" → \"the right\".\n * - Trailing clauses (\"… toward Octavia St\", \"… and continue\"):\n * cut at the first such keyword.\n * - Unit suffixes: \"Hayes St #116\" → \"Hayes St\".\n * - Bare direction words slipping through: rejected so the resolver\n * falls back to geocoding instead of labeling a step \"left\".\n */\nexport function roadNameFromInstruction(instruction?: string): string | null {\n if (!instruction) return null\n const firstLine = instruction.split(\"\\n\")[0] ?? \"\"\n // Prefer \"onto\" (always immediately precedes the road); fall back to\n // \"on\" for depart steps (\"Head north on Market St\").\n const m = firstLine.match(/\\bonto\\s+(.+)$/i) ?? firstLine.match(/\\bon\\s+(.+)$/i)\n let raw = (m ? m[1] : \"\").trim()\n if (!raw) return null\n // Cut trailing direction/continuation clauses the API appends.\n raw = raw.split(/\\s+(?:toward|towards|to|and|then|for)\\b/i)[0]?.trim() ?? \"\"\n // Strip a unit/suite suffix.\n raw = raw.replace(/\\s+#.*$/, \"\").trim()\n if (!raw) return null\n if (DIRECTION_WORDS.has(raw.toLowerCase())) return null\n return raw\n}\n\n/**\n * Resolve `road` for every step in a Routes-API step list. The\n * `reverseGeocode` callback is injected so this module stays free of\n * the host's network plumbing (and is unit-testable).\n *\n * Steps are resolved in parallel: parsed names land synchronously,\n * geocoded fallbacks fire concurrently. Order is preserved.\n */\nexport async function resolveStepRoads<S extends StepLike>(\n steps: S[],\n reverseGeocode: ReverseGeocode,\n): Promise<Array<S & {road: string | null}>> {\n const probes = steps.map<Promise<string | null>>((s) => {\n const parsed = roadNameFromInstruction(s.instruction)\n if (parsed) return Promise.resolve(parsed)\n if (\n !Number.isFinite(s.lat) ||\n !Number.isFinite(s.lng) ||\n !Number.isFinite(s.endLat) ||\n !Number.isFinite(s.endLng)\n ) {\n return Promise.resolve(null)\n }\n const mid = {lat: (s.lat + s.endLat) / 2, lng: (s.lng + s.endLng) / 2}\n return reverseGeocode(mid)\n .then((r) => (r.ok ? (r.road ?? null) : null))\n .catch(() => null)\n })\n const roads = await Promise.all(probes)\n return steps.map((s, i) => ({...s, road: roads[i]}))\n}\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure decoders used by `NavigationService.computeRoute` when talking to
|
|
3
|
+
* Mapbox's Directions API directly (no native dependency).
|
|
4
|
+
*
|
|
5
|
+
* Kept in their own module so unit tests don't have to bring up the
|
|
6
|
+
* `crust` native module to exercise them. The algorithms are unit
|
|
7
|
+
* testable; the surrounding service is not.
|
|
8
|
+
*
|
|
9
|
+
* Migrated from Google Routes API: Mapbox returns numeric `distance`
|
|
10
|
+
* (meters) / `duration` (seconds) rather than Google's `"123s"` protobuf
|
|
11
|
+
* strings, and `polyline6` (precision-6) geometry rather than Google's
|
|
12
|
+
* precision-5 encoded polyline. `parseDurationSeconds` is retained for
|
|
13
|
+
* back-compat but Mapbox callers pass the numeric value through directly.
|
|
14
|
+
*/
|
|
15
|
+
export type LatLng = {
|
|
16
|
+
lat: number;
|
|
17
|
+
lng: number;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Back-compat: Google Routes API encoded durations as protobuf strings
|
|
21
|
+
* ("123s"). Mapbox returns a number, so new callers should not need this.
|
|
22
|
+
* Accepts a number (passed through) or a "123s" string.
|
|
23
|
+
*/
|
|
24
|
+
export declare function parseDurationSeconds(s: string | number): number;
|
|
25
|
+
/**
|
|
26
|
+
* Decode an encoded polyline. The standard Google/Mapbox polyline
|
|
27
|
+
* algorithm, parameterized by coordinate precision:
|
|
28
|
+
* - precision 5 (Google Routes, Mapbox `polyline`): factor 1e5
|
|
29
|
+
* - precision 6 (Mapbox `polyline6`): factor 1e6
|
|
30
|
+
*
|
|
31
|
+
* We request `geometries=polyline6` from Mapbox Directions for the extra
|
|
32
|
+
* precision (tighter road-centerline tracing keeps the turn-pivot dots on
|
|
33
|
+
* the visible road), so the default precision here is 6.
|
|
34
|
+
*
|
|
35
|
+
* Reference: https://docs.mapbox.com/api/navigation/directions/#route-object
|
|
36
|
+
*/
|
|
37
|
+
export declare function decodePolyline(encoded: string, precision?: number): LatLng[];
|
|
38
|
+
//# sourceMappingURL=routesApiCodec.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routesApiCodec.d.ts","sourceRoot":"","sources":["../../../src/services/navigation/routesApiCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,MAAM,MAAM,GAAG;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAC,CAAA;AAE/C;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAI/D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAU,GAAG,MAAM,EAAE,CA4B/E"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure decoders used by `NavigationService.computeRoute` when talking to
|
|
3
|
+
* Mapbox's Directions API directly (no native dependency).
|
|
4
|
+
*
|
|
5
|
+
* Kept in their own module so unit tests don't have to bring up the
|
|
6
|
+
* `crust` native module to exercise them. The algorithms are unit
|
|
7
|
+
* testable; the surrounding service is not.
|
|
8
|
+
*
|
|
9
|
+
* Migrated from Google Routes API: Mapbox returns numeric `distance`
|
|
10
|
+
* (meters) / `duration` (seconds) rather than Google's `"123s"` protobuf
|
|
11
|
+
* strings, and `polyline6` (precision-6) geometry rather than Google's
|
|
12
|
+
* precision-5 encoded polyline. `parseDurationSeconds` is retained for
|
|
13
|
+
* back-compat but Mapbox callers pass the numeric value through directly.
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Back-compat: Google Routes API encoded durations as protobuf strings
|
|
17
|
+
* ("123s"). Mapbox returns a number, so new callers should not need this.
|
|
18
|
+
* Accepts a number (passed through) or a "123s" string.
|
|
19
|
+
*/
|
|
20
|
+
export function parseDurationSeconds(s) {
|
|
21
|
+
if (typeof s === "number")
|
|
22
|
+
return Number.isFinite(s) ? Math.round(s) : 0;
|
|
23
|
+
const match = s.match(/^(\d+)/);
|
|
24
|
+
return match ? Number(match[1]) : 0;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Decode an encoded polyline. The standard Google/Mapbox polyline
|
|
28
|
+
* algorithm, parameterized by coordinate precision:
|
|
29
|
+
* - precision 5 (Google Routes, Mapbox `polyline`): factor 1e5
|
|
30
|
+
* - precision 6 (Mapbox `polyline6`): factor 1e6
|
|
31
|
+
*
|
|
32
|
+
* We request `geometries=polyline6` from Mapbox Directions for the extra
|
|
33
|
+
* precision (tighter road-centerline tracing keeps the turn-pivot dots on
|
|
34
|
+
* the visible road), so the default precision here is 6.
|
|
35
|
+
*
|
|
36
|
+
* Reference: https://docs.mapbox.com/api/navigation/directions/#route-object
|
|
37
|
+
*/
|
|
38
|
+
export function decodePolyline(encoded, precision = 6) {
|
|
39
|
+
if (!encoded)
|
|
40
|
+
return [];
|
|
41
|
+
const factor = Math.pow(10, precision);
|
|
42
|
+
const points = [];
|
|
43
|
+
let index = 0;
|
|
44
|
+
let lat = 0;
|
|
45
|
+
let lng = 0;
|
|
46
|
+
while (index < encoded.length) {
|
|
47
|
+
let result = 0;
|
|
48
|
+
let shift = 0;
|
|
49
|
+
let b;
|
|
50
|
+
do {
|
|
51
|
+
b = encoded.charCodeAt(index++) - 63;
|
|
52
|
+
result |= (b & 0x1f) << shift;
|
|
53
|
+
shift += 5;
|
|
54
|
+
} while (b >= 0x20);
|
|
55
|
+
lat += result & 1 ? ~(result >> 1) : result >> 1;
|
|
56
|
+
result = 0;
|
|
57
|
+
shift = 0;
|
|
58
|
+
do {
|
|
59
|
+
b = encoded.charCodeAt(index++) - 63;
|
|
60
|
+
result |= (b & 0x1f) << shift;
|
|
61
|
+
shift += 5;
|
|
62
|
+
} while (b >= 0x20);
|
|
63
|
+
lng += result & 1 ? ~(result >> 1) : result >> 1;
|
|
64
|
+
points.push({ lat: lat / factor, lng: lng / factor });
|
|
65
|
+
}
|
|
66
|
+
return points;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=routesApiCodec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routesApiCodec.js","sourceRoot":"","sources":["../../../src/services/navigation/routesApiCodec.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAkB;IACrD,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACxE,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC/B,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACrC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe,EAAE,YAAoB,CAAC;IACnE,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAA;IACvB,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAA;IACtC,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,IAAI,GAAG,GAAG,CAAC,CAAA;IACX,OAAO,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,CAAC,CAAA;QACd,IAAI,KAAK,GAAG,CAAC,CAAA;QACb,IAAI,CAAS,CAAA;QACb,GAAG,CAAC;YACF,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAA;YACpC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,CAAA;YAC7B,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAC;QACnB,GAAG,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAA;QAChD,MAAM,GAAG,CAAC,CAAA;QACV,KAAK,GAAG,CAAC,CAAA;QACT,GAAG,CAAC;YACF,CAAC,GAAG,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,GAAG,EAAE,CAAA;YACpC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,KAAK,CAAA;YAC7B,KAAK,IAAI,CAAC,CAAA;QACZ,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAC;QACnB,GAAG,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAA;QAChD,MAAM,CAAC,IAAI,CAAC,EAAC,GAAG,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE,GAAG,GAAG,MAAM,EAAC,CAAC,CAAA;IACrD,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC","sourcesContent":["/**\n * Pure decoders used by `NavigationService.computeRoute` when talking to\n * Mapbox's Directions API directly (no native dependency).\n *\n * Kept in their own module so unit tests don't have to bring up the\n * `crust` native module to exercise them. The algorithms are unit\n * testable; the surrounding service is not.\n *\n * Migrated from Google Routes API: Mapbox returns numeric `distance`\n * (meters) / `duration` (seconds) rather than Google's `\"123s\"` protobuf\n * strings, and `polyline6` (precision-6) geometry rather than Google's\n * precision-5 encoded polyline. `parseDurationSeconds` is retained for\n * back-compat but Mapbox callers pass the numeric value through directly.\n */\n\nexport type LatLng = {lat: number; lng: number}\n\n/**\n * Back-compat: Google Routes API encoded durations as protobuf strings\n * (\"123s\"). Mapbox returns a number, so new callers should not need this.\n * Accepts a number (passed through) or a \"123s\" string.\n */\nexport function parseDurationSeconds(s: string | number): number {\n if (typeof s === \"number\") return Number.isFinite(s) ? Math.round(s) : 0\n const match = s.match(/^(\\d+)/)\n return match ? Number(match[1]) : 0\n}\n\n/**\n * Decode an encoded polyline. The standard Google/Mapbox polyline\n * algorithm, parameterized by coordinate precision:\n * - precision 5 (Google Routes, Mapbox `polyline`): factor 1e5\n * - precision 6 (Mapbox `polyline6`): factor 1e6\n *\n * We request `geometries=polyline6` from Mapbox Directions for the extra\n * precision (tighter road-centerline tracing keeps the turn-pivot dots on\n * the visible road), so the default precision here is 6.\n *\n * Reference: https://docs.mapbox.com/api/navigation/directions/#route-object\n */\nexport function decodePolyline(encoded: string, precision: number = 6): LatLng[] {\n if (!encoded) return []\n const factor = Math.pow(10, precision)\n const points: LatLng[] = []\n let index = 0\n let lat = 0\n let lng = 0\n while (index < encoded.length) {\n let result = 0\n let shift = 0\n let b: number\n do {\n b = encoded.charCodeAt(index++) - 63\n result |= (b & 0x1f) << shift\n shift += 5\n } while (b >= 0x20)\n lat += result & 1 ? ~(result >> 1) : result >> 1\n result = 0\n shift = 0\n do {\n b = encoded.charCodeAt(index++) - 63\n result |= (b & 0x1f) << shift\n shift += 5\n } while (b >= 0x20)\n lng += result & 1 ? ~(result >> 1) : result >> 1\n points.push({lat: lat / factor, lng: lng / factor})\n }\n return points\n}\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { OtaProgress, OtaStatus } from "@glassly/bluetooth-sdk/internal";
|
|
2
|
+
export type DisplayState = "starting" | "updating" | "complete" | "failed" | "disconnected" | "restarting";
|
|
3
|
+
/**
|
|
4
|
+
* Pure derivation of the OTA progress UI state from the glasses data in the
|
|
5
|
+
* Zustand store plus a couple of genuinely-local inputs. See
|
|
6
|
+
* OtaInstallCoordinator.ts for the state machine that consumes this (the host
|
|
7
|
+
* progress screen renders its snapshot).
|
|
8
|
+
*
|
|
9
|
+
* Legacy shape (WP 8C): old (< 37) ASG builds send `ota_progress`, which the SDK
|
|
10
|
+
* maps to ota_status with sessionId "" and FINISHED→"complete" at ANY phase. For
|
|
11
|
+
* those statuses a download-phase "complete" only means the download finished
|
|
12
|
+
* (the install is still ahead), and an apk install "complete" may be held by the
|
|
13
|
+
* coordinator's settle window — both stay "updating" instead of terminal.
|
|
14
|
+
*
|
|
15
|
+
* Priority-ordered rules (first match wins):
|
|
16
|
+
* 1. errorMsg !== "" -> "failed"
|
|
17
|
+
* 2. BES reboot recovery complete -> "complete"
|
|
18
|
+
* 3. BES reboot recovery awaiting reconnect -> "restarting"
|
|
19
|
+
* 4. BES terminal (any connection state) -> "restarting"
|
|
20
|
+
* (legacy-shaped BES "complete" counts only in install phase)
|
|
21
|
+
* 6. apkCompletedViaBuildIncrease (legacy build-number port) -> "complete"
|
|
22
|
+
* 7. otaStatus.status === "failed" -> "failed"
|
|
23
|
+
* 8. otaStatus.status === "complete" (non-BES) -> "complete"
|
|
24
|
+
* (unless legacy-shaped download-complete or held apk settle -> in flight)
|
|
25
|
+
* 9. !connected + legacy in-flight complete (held apk) -> "updating"
|
|
26
|
+
* 10. !connected + APK step_complete with totalSteps > 1 -> "starting" (expected reboot)
|
|
27
|
+
* 11. !connected + BES in flight -> "restarting" (defensive)
|
|
28
|
+
* 12. !connected -> "disconnected"
|
|
29
|
+
* 13. connected + in_progress | step_complete | legacy in-flight complete -> "updating"
|
|
30
|
+
* 14. fallback -> "starting"
|
|
31
|
+
*/
|
|
32
|
+
export declare function deriveDisplayState(args: {
|
|
33
|
+
otaStatus: OtaStatus | null;
|
|
34
|
+
otaProgress: OtaProgress | null;
|
|
35
|
+
connected: boolean;
|
|
36
|
+
errorMsg: string;
|
|
37
|
+
/**
|
|
38
|
+
* Retained for host API compatibility. A session-wide reconnect edge is not
|
|
39
|
+
* sufficient for BES completion because it may belong to an earlier APK step.
|
|
40
|
+
*/
|
|
41
|
+
sawReconnectEdge: boolean;
|
|
42
|
+
/** Coordinator is holding a legacy apk install "complete" for the settle window (WP 8C). */
|
|
43
|
+
legacyApkSettleHold?: boolean;
|
|
44
|
+
/** Legacy APK completion detected by build-number increase (WP 8C). */
|
|
45
|
+
apkCompletedViaBuildIncrease?: boolean;
|
|
46
|
+
/** Phone-observed BES disconnect/reconnect recovery, independent of stale OTA progress. */
|
|
47
|
+
besRestartRecovery?: "awaiting" | "complete" | null;
|
|
48
|
+
/** Downgrade detour: the reconnected glasses reported exactly the pinned target version. */
|
|
49
|
+
versionChangeConverged?: boolean;
|
|
50
|
+
/** True for the whole downgrade (version-change) session. */
|
|
51
|
+
versionChangeSession?: boolean;
|
|
52
|
+
}): DisplayState;
|
|
53
|
+
//# sourceMappingURL=otaDisplayState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"otaDisplayState.d.ts","sourceRoot":"","sources":["../../src/services/otaDisplayState.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAE,SAAS,EAAC,MAAM,iCAAiC,CAAA;AAI3E,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,cAAc,GAAG,YAAY,CAAA;AAE1G;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE;IACvC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAA;IAC3B,WAAW,EAAE,WAAW,GAAG,IAAI,CAAA;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB;;;OAGG;IACH,gBAAgB,EAAE,OAAO,CAAA;IACzB,4FAA4F;IAC5F,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,uEAAuE;IACvE,4BAA4B,CAAC,EAAE,OAAO,CAAA;IACtC,2FAA2F;IAC3F,kBAAkB,CAAC,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI,CAAA;IACnD,4FAA4F;IAC5F,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,6DAA6D;IAC7D,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GAAG,YAAY,CAqFf"}
|