@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,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MapboxTokenService
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for which Mapbox access token the app uses. The app
|
|
5
|
+
* binary deliberately ships NO baked Mapbox key: either the user supplies
|
|
6
|
+
* their own key (Settings > Keys, `mapbox_api_key`, "use my account"), or the
|
|
7
|
+
* token comes from Glassly Cloud at runtime.
|
|
8
|
+
*
|
|
9
|
+
* Two resolution levels:
|
|
10
|
+
*
|
|
11
|
+
* - `resolveMapboxAccessToken()` (sync): the USER key only. Gates phone-side
|
|
12
|
+
* direct REST calls (Directions/Geocoding/Search) — without a user key those
|
|
13
|
+
* operations go through the cloud maps proxy instead, so the org token is
|
|
14
|
+
* only ever billed via the cloud's own auth/cache/rate-limit point.
|
|
15
|
+
*
|
|
16
|
+
* - `resolveMapboxRenderToken()` (async): the token for consumers that CANNOT
|
|
17
|
+
* be proxied — map tile rendering (miniapp WebView via session.keys.get)
|
|
18
|
+
* and the native Mapbox Navigation SDK. User key first; else the public
|
|
19
|
+
* render token fetched once from the cloud runtime (/api/maps/render-token)
|
|
20
|
+
* and cached. Empty when neither exists (e.g. Glassly Cloud disabled and no
|
|
21
|
+
* user key) — callers must fail with a clear error, never fall back to a
|
|
22
|
+
* baked credential.
|
|
23
|
+
*/
|
|
24
|
+
import { SETTINGS, useSettingsStore } from "../stores/settings";
|
|
25
|
+
import { cloudClientService } from "./CloudClientService";
|
|
26
|
+
const MAPBOX_TOKENS_URL = "https://api.mapbox.com/tokens/v2";
|
|
27
|
+
/** How long a cloud-fetched render token is trusted before re-fetching. */
|
|
28
|
+
const CLOUD_TOKEN_TTL_MS = 60 * 60 * 1000;
|
|
29
|
+
let cloudRenderToken = null;
|
|
30
|
+
let cloudRenderTokenInflight = null;
|
|
31
|
+
/** The user-supplied Mapbox key from Settings > Keys ("" = not set). */
|
|
32
|
+
export function userMapboxApiKey() {
|
|
33
|
+
const raw = useSettingsStore.getState().getSetting(SETTINGS.mapbox_api_key.key);
|
|
34
|
+
return typeof raw === "string" ? raw.trim() : "";
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* The token for phone-side DIRECT Mapbox REST calls: the user's key or
|
|
38
|
+
* nothing. Empty means "route the operation through the cloud maps proxy
|
|
39
|
+
* instead" (see NavigationHandlers) — the cloud-served org token is
|
|
40
|
+
* deliberately not used for direct REST from the phone.
|
|
41
|
+
*/
|
|
42
|
+
export function resolveMapboxAccessToken() {
|
|
43
|
+
return userMapboxApiKey();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* The token for the consumers that cannot be proxied (map tiles, native nav
|
|
47
|
+
* SDK): user key first, else the cloud-served public render token (cached
|
|
48
|
+
* with a TTL, in-flight-deduped). "" when neither source yields one — the
|
|
49
|
+
* caller must surface that as a failure. Never fetches while Glassly Cloud is
|
|
50
|
+
* disabled: cloud-off + no user key is a deliberate hard stop.
|
|
51
|
+
*/
|
|
52
|
+
export async function resolveMapboxRenderToken() {
|
|
53
|
+
const userKey = userMapboxApiKey();
|
|
54
|
+
if (userKey)
|
|
55
|
+
return userKey;
|
|
56
|
+
if (cloudClientService.isCloudDisabled())
|
|
57
|
+
return "";
|
|
58
|
+
const now = Date.now();
|
|
59
|
+
if (cloudRenderToken && now - cloudRenderToken.fetchedAt < CLOUD_TOKEN_TTL_MS) {
|
|
60
|
+
return cloudRenderToken.token;
|
|
61
|
+
}
|
|
62
|
+
if (cloudRenderTokenInflight)
|
|
63
|
+
return cloudRenderTokenInflight;
|
|
64
|
+
cloudRenderTokenInflight = (async () => {
|
|
65
|
+
try {
|
|
66
|
+
const { token } = await cloudClientService.maps.renderToken();
|
|
67
|
+
const trimmed = typeof token === "string" ? token.trim() : "";
|
|
68
|
+
if (trimmed) {
|
|
69
|
+
cloudRenderToken = { token: trimmed, fetchedAt: Date.now() };
|
|
70
|
+
return trimmed;
|
|
71
|
+
}
|
|
72
|
+
// A definite "this deployment serves none" — remember briefly via the
|
|
73
|
+
// same TTL slot so we don't hammer the endpoint, but as an empty token.
|
|
74
|
+
cloudRenderToken = { token: "", fetchedAt: Date.now() };
|
|
75
|
+
return "";
|
|
76
|
+
}
|
|
77
|
+
catch (err) {
|
|
78
|
+
// Transient failure (offline, not connected yet): keep any stale cached
|
|
79
|
+
// token rather than going dark, and retry on the next call.
|
|
80
|
+
console.warn("[MapboxTokenService] cloud render-token fetch failed:", err);
|
|
81
|
+
return cloudRenderToken?.token ?? "";
|
|
82
|
+
}
|
|
83
|
+
finally {
|
|
84
|
+
cloudRenderTokenInflight = null;
|
|
85
|
+
}
|
|
86
|
+
})();
|
|
87
|
+
return cloudRenderTokenInflight;
|
|
88
|
+
}
|
|
89
|
+
/** Test hook: drop the cached cloud render token. */
|
|
90
|
+
export function resetCloudRenderTokenCache() {
|
|
91
|
+
cloudRenderToken = null;
|
|
92
|
+
cloudRenderTokenInflight = null;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Cheap key validation for the Keys screen: GET /tokens/v2 with the candidate
|
|
96
|
+
* token. Mapbox answers 200 `{code: "TokenValid"}` for a live token and
|
|
97
|
+
* 401 with TokenMalformed/TokenInvalid/TokenExpired otherwise — no metered
|
|
98
|
+
* API usage. Network failure → indeterminate (the caller may offer
|
|
99
|
+
* "save anyway").
|
|
100
|
+
*/
|
|
101
|
+
export async function validateMapboxApiKey(apiKey) {
|
|
102
|
+
try {
|
|
103
|
+
const res = await fetch(`${MAPBOX_TOKENS_URL}?access_token=${encodeURIComponent(apiKey.trim())}`, { method: "GET" });
|
|
104
|
+
if (res.status === 401 || res.status === 403)
|
|
105
|
+
return { ok: false, reason: "invalid_key" };
|
|
106
|
+
if (!res.ok)
|
|
107
|
+
return { ok: false, reason: "network" };
|
|
108
|
+
const json = (await res.json());
|
|
109
|
+
return json.code === "TokenValid" ? { ok: true } : { ok: false, reason: "invalid_key" };
|
|
110
|
+
}
|
|
111
|
+
catch {
|
|
112
|
+
return { ok: false, reason: "network" };
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=MapboxTokenService.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MapboxTokenService.js","sourceRoot":"","sources":["../../src/services/MapboxTokenService.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * MapboxTokenService\n *\n * Single source of truth for which Mapbox access token the app uses. The app\n * binary deliberately ships NO baked Mapbox key: either the user supplies\n * their own key (Settings > Keys, `mapbox_api_key`, \"use my account\"), or the\n * token comes from Glassly Cloud at runtime.\n *\n * Two resolution levels:\n *\n * - `resolveMapboxAccessToken()` (sync): the USER key only. Gates phone-side\n * direct REST calls (Directions/Geocoding/Search) — without a user key those\n * operations go through the cloud maps proxy instead, so the org token is\n * only ever billed via the cloud's own auth/cache/rate-limit point.\n *\n * - `resolveMapboxRenderToken()` (async): the token for consumers that CANNOT\n * be proxied — map tile rendering (miniapp WebView via session.keys.get)\n * and the native Mapbox Navigation SDK. User key first; else the public\n * render token fetched once from the cloud runtime (/api/maps/render-token)\n * and cached. Empty when neither exists (e.g. Glassly Cloud disabled and no\n * user key) — callers must fail with a clear error, never fall back to a\n * baked credential.\n */\nimport {SETTINGS, useSettingsStore} from \"../stores/settings\"\nimport {cloudClientService} from \"./CloudClientService\"\n\nconst MAPBOX_TOKENS_URL = \"https://api.mapbox.com/tokens/v2\"\n\n/** How long a cloud-fetched render token is trusted before re-fetching. */\nconst CLOUD_TOKEN_TTL_MS = 60 * 60 * 1000\n\nlet cloudRenderToken: {token: string; fetchedAt: number} | null = null\nlet cloudRenderTokenInflight: Promise<string> | null = null\n\n/** The user-supplied Mapbox key from Settings > Keys (\"\" = not set). */\nexport function userMapboxApiKey(): string {\n const raw = useSettingsStore.getState().getSetting(SETTINGS.mapbox_api_key.key)\n return typeof raw === \"string\" ? raw.trim() : \"\"\n}\n\n/**\n * The token for phone-side DIRECT Mapbox REST calls: the user's key or\n * nothing. Empty means \"route the operation through the cloud maps proxy\n * instead\" (see NavigationHandlers) — the cloud-served org token is\n * deliberately not used for direct REST from the phone.\n */\nexport function resolveMapboxAccessToken(): string {\n return userMapboxApiKey()\n}\n\n/**\n * The token for the consumers that cannot be proxied (map tiles, native nav\n * SDK): user key first, else the cloud-served public render token (cached\n * with a TTL, in-flight-deduped). \"\" when neither source yields one — the\n * caller must surface that as a failure. Never fetches while Glassly Cloud is\n * disabled: cloud-off + no user key is a deliberate hard stop.\n */\nexport async function resolveMapboxRenderToken(): Promise<string> {\n const userKey = userMapboxApiKey()\n if (userKey) return userKey\n if (cloudClientService.isCloudDisabled()) return \"\"\n\n const now = Date.now()\n if (cloudRenderToken && now - cloudRenderToken.fetchedAt < CLOUD_TOKEN_TTL_MS) {\n return cloudRenderToken.token\n }\n if (cloudRenderTokenInflight) return cloudRenderTokenInflight\n\n cloudRenderTokenInflight = (async () => {\n try {\n const {token} = await cloudClientService.maps.renderToken()\n const trimmed = typeof token === \"string\" ? token.trim() : \"\"\n if (trimmed) {\n cloudRenderToken = {token: trimmed, fetchedAt: Date.now()}\n return trimmed\n }\n // A definite \"this deployment serves none\" — remember briefly via the\n // same TTL slot so we don't hammer the endpoint, but as an empty token.\n cloudRenderToken = {token: \"\", fetchedAt: Date.now()}\n return \"\"\n } catch (err) {\n // Transient failure (offline, not connected yet): keep any stale cached\n // token rather than going dark, and retry on the next call.\n console.warn(\"[MapboxTokenService] cloud render-token fetch failed:\", err)\n return cloudRenderToken?.token ?? \"\"\n } finally {\n cloudRenderTokenInflight = null\n }\n })()\n return cloudRenderTokenInflight\n}\n\n/** Test hook: drop the cached cloud render token. */\nexport function resetCloudRenderTokenCache(): void {\n cloudRenderToken = null\n cloudRenderTokenInflight = null\n}\n\n/**\n * Cheap key validation for the Keys screen: GET /tokens/v2 with the candidate\n * token. Mapbox answers 200 `{code: \"TokenValid\"}` for a live token and\n * 401 with TokenMalformed/TokenInvalid/TokenExpired otherwise — no metered\n * API usage. Network failure → indeterminate (the caller may offer\n * \"save anyway\").\n */\nexport async function validateMapboxApiKey(\n apiKey: string,\n): Promise<{ok: true} | {ok: false; reason: \"invalid_key\" | \"network\"}> {\n try {\n const res = await fetch(`${MAPBOX_TOKENS_URL}?access_token=${encodeURIComponent(apiKey.trim())}`, {method: \"GET\"})\n if (res.status === 401 || res.status === 403) return {ok: false, reason: \"invalid_key\"}\n if (!res.ok) return {ok: false, reason: \"network\"}\n const json = (await res.json()) as {code?: string}\n return json.code === \"TokenValid\" ? {ok: true} : {ok: false, reason: \"invalid_key\"}\n } catch {\n return {ok: false, reason: \"network\"}\n }\n}\n"]}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MemoryCapture — decide what the runtime writes into the shared memory
|
|
3
|
+
* timeline as speech flows past.
|
|
4
|
+
*
|
|
5
|
+
* Kept as pure logic (no store, no settings, no singletons) so the rules can be
|
|
6
|
+
* unit-tested directly; LocalMiniappRuntime owns the side effects. Mirrors the
|
|
7
|
+
* split already used for TranscriptionRouting.
|
|
8
|
+
*/
|
|
9
|
+
/** The subset of a forwarded transcription/translation event we care about. */
|
|
10
|
+
export interface CaptureCandidate {
|
|
11
|
+
text?: string;
|
|
12
|
+
/** Translation events only: the words actually spoken, pre-translation. */
|
|
13
|
+
originalText?: string;
|
|
14
|
+
isFinal?: boolean;
|
|
15
|
+
speakerId?: string;
|
|
16
|
+
/** Resolved enrolled-speaker name (on-device speaker ID), when present. */
|
|
17
|
+
resolvedSpeakerName?: string;
|
|
18
|
+
transcribeLanguage?: string;
|
|
19
|
+
}
|
|
20
|
+
/** What to append, once a candidate is accepted. */
|
|
21
|
+
export interface CaptureDecision {
|
|
22
|
+
text: string;
|
|
23
|
+
speakerId: string | null;
|
|
24
|
+
resolvedSpeakerName: string | null;
|
|
25
|
+
language: string | null;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Extract the line to store, or null when the event isn't capturable.
|
|
29
|
+
*
|
|
30
|
+
* For translation we take `originalText` — what was SPOKEN — not the
|
|
31
|
+
* translated `text`. A MemoryEntry holds a single text + language, so the
|
|
32
|
+
* translated variant has nowhere to live; recording the source keeps
|
|
33
|
+
* translation- and transcription-driven sessions consistent, and means a
|
|
34
|
+
* translation-only conversation still lands in the timeline.
|
|
35
|
+
*
|
|
36
|
+
* Only finals are capturable: interims are superseded within the same
|
|
37
|
+
* utterance and would bloat the timeline with partial text.
|
|
38
|
+
*/
|
|
39
|
+
export declare function captureDecisionFor(stream: string, event: CaptureCandidate | null): CaptureDecision | null;
|
|
40
|
+
//# sourceMappingURL=MemoryCapture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryCapture.d.ts","sourceRoot":"","sources":["../../src/services/MemoryCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,2EAA2E;IAC3E,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CACxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI,GAAG,eAAe,GAAG,IAAI,CAmBzG"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MemoryCapture — decide what the runtime writes into the shared memory
|
|
3
|
+
* timeline as speech flows past.
|
|
4
|
+
*
|
|
5
|
+
* Kept as pure logic (no store, no settings, no singletons) so the rules can be
|
|
6
|
+
* unit-tested directly; LocalMiniappRuntime owns the side effects. Mirrors the
|
|
7
|
+
* split already used for TranscriptionRouting.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Extract the line to store, or null when the event isn't capturable.
|
|
11
|
+
*
|
|
12
|
+
* For translation we take `originalText` — what was SPOKEN — not the
|
|
13
|
+
* translated `text`. A MemoryEntry holds a single text + language, so the
|
|
14
|
+
* translated variant has nowhere to live; recording the source keeps
|
|
15
|
+
* translation- and transcription-driven sessions consistent, and means a
|
|
16
|
+
* translation-only conversation still lands in the timeline.
|
|
17
|
+
*
|
|
18
|
+
* Only finals are capturable: interims are superseded within the same
|
|
19
|
+
* utterance and would bloat the timeline with partial text.
|
|
20
|
+
*/
|
|
21
|
+
export function captureDecisionFor(stream, event) {
|
|
22
|
+
const isTranslation = stream.startsWith("translation:");
|
|
23
|
+
if (!isTranslation && !stream.startsWith("transcription:"))
|
|
24
|
+
return null;
|
|
25
|
+
if (!event?.isFinal)
|
|
26
|
+
return null;
|
|
27
|
+
// When a translation event omits originalText there is no source text to
|
|
28
|
+
// record — storing the translation under the source language would be wrong.
|
|
29
|
+
const spoken = isTranslation ? event.originalText : event.text;
|
|
30
|
+
if (typeof spoken !== "string" || !spoken.trim())
|
|
31
|
+
return null;
|
|
32
|
+
const language = event.transcribeLanguage;
|
|
33
|
+
return {
|
|
34
|
+
text: spoken.trim(),
|
|
35
|
+
speakerId: typeof event.speakerId === "string" ? event.speakerId : null,
|
|
36
|
+
resolvedSpeakerName: typeof event.resolvedSpeakerName === "string" ? event.resolvedSpeakerName : null,
|
|
37
|
+
// "auto" is a subscription mode, not a language — an undetected source
|
|
38
|
+
// language is genuinely unknown, so store null rather than the sentinel.
|
|
39
|
+
language: typeof language === "string" && language !== "auto" ? language : null,
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=MemoryCapture.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryCapture.js","sourceRoot":"","sources":["../../src/services/MemoryCapture.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAsBH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,KAA8B;IAC/E,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;IACvD,IAAI,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,gBAAgB,CAAC;QAAE,OAAO,IAAI,CAAA;IACvE,IAAI,CAAC,KAAK,EAAE,OAAO;QAAE,OAAO,IAAI,CAAA;IAEhC,yEAAyE;IACzE,6EAA6E;IAC7E,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAA;IAC9D,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;QAAE,OAAO,IAAI,CAAA;IAE7D,MAAM,QAAQ,GAAG,KAAK,CAAC,kBAAkB,CAAA;IACzC,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE;QACnB,SAAS,EAAE,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QACvE,mBAAmB,EAAE,OAAO,KAAK,CAAC,mBAAmB,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI;QACrG,uEAAuE;QACvE,yEAAyE;QACzE,QAAQ,EAAE,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI;KAChF,CAAA;AACH,CAAC","sourcesContent":["/**\n * MemoryCapture — decide what the runtime writes into the shared memory\n * timeline as speech flows past.\n *\n * Kept as pure logic (no store, no settings, no singletons) so the rules can be\n * unit-tested directly; LocalMiniappRuntime owns the side effects. Mirrors the\n * split already used for TranscriptionRouting.\n */\n\n/** The subset of a forwarded transcription/translation event we care about. */\nexport interface CaptureCandidate {\n text?: string\n /** Translation events only: the words actually spoken, pre-translation. */\n originalText?: string\n isFinal?: boolean\n speakerId?: string\n /** Resolved enrolled-speaker name (on-device speaker ID), when present. */\n resolvedSpeakerName?: string\n transcribeLanguage?: string\n}\n\n/** What to append, once a candidate is accepted. */\nexport interface CaptureDecision {\n text: string\n speakerId: string | null\n resolvedSpeakerName: string | null\n language: string | null\n}\n\n/**\n * Extract the line to store, or null when the event isn't capturable.\n *\n * For translation we take `originalText` — what was SPOKEN — not the\n * translated `text`. A MemoryEntry holds a single text + language, so the\n * translated variant has nowhere to live; recording the source keeps\n * translation- and transcription-driven sessions consistent, and means a\n * translation-only conversation still lands in the timeline.\n *\n * Only finals are capturable: interims are superseded within the same\n * utterance and would bloat the timeline with partial text.\n */\nexport function captureDecisionFor(stream: string, event: CaptureCandidate | null): CaptureDecision | null {\n const isTranslation = stream.startsWith(\"translation:\")\n if (!isTranslation && !stream.startsWith(\"transcription:\")) return null\n if (!event?.isFinal) return null\n\n // When a translation event omits originalText there is no source text to\n // record — storing the translation under the source language would be wrong.\n const spoken = isTranslation ? event.originalText : event.text\n if (typeof spoken !== \"string\" || !spoken.trim()) return null\n\n const language = event.transcribeLanguage\n return {\n text: spoken.trim(),\n speakerId: typeof event.speakerId === \"string\" ? event.speakerId : null,\n resolvedSpeakerName: typeof event.resolvedSpeakerName === \"string\" ? event.resolvedSpeakerName : null,\n // \"auto\" is a subscription mode, not a language — an undetected source\n // language is genuinely unknown, so store null rather than the sentinel.\n language: typeof language === \"string\" && language !== \"auto\" ? language : null,\n }\n}\n"]}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MemoryStore — the user's shared, phone-local memory timeline.
|
|
3
|
+
*
|
|
4
|
+
* One unified per-hour stream of what happened around the user — spoken
|
|
5
|
+
* transcript lines AND notes (manual, voice, auto) in one timeline — plus the
|
|
6
|
+
* hourly conversation summary that heads each session. Scoped to the Glassly
|
|
7
|
+
* USER (not to a miniapp): every miniapp that declares the MEMORY manifest
|
|
8
|
+
* permission reads and writes the same store through LocalMiniappRuntime's
|
|
9
|
+
* MEMORY_* handlers, and Settings > Memory manages it via engine.memory.
|
|
10
|
+
*
|
|
11
|
+
* A "session" is one clock hour that has entries, derived from entry
|
|
12
|
+
* timestamps at read time — nothing is stored per-session, so there is no
|
|
13
|
+
* session id to keep in sync.
|
|
14
|
+
*
|
|
15
|
+
* The store began life inside the Assist miniapp (its SessionStore); on first
|
|
16
|
+
* load it migrates Assist's per-app storage namespace into the shared
|
|
17
|
+
* user-scoped keys so existing history survives the move.
|
|
18
|
+
*/
|
|
19
|
+
import type { MemoryEntry, MemoryNoteSource, MemorySession, MemorySummary } from "@glassly/miniapp";
|
|
20
|
+
/**
|
|
21
|
+
* How much timeline a tier can SEE. Retention gating is a read window, not a
|
|
22
|
+
* delete: pruning always keeps {@link EXTENDED_RETENTION}'s worth of data, and
|
|
23
|
+
* the active policy decides how far back reads reach. A lapsed subscriber's
|
|
24
|
+
* older timeline is frozen, not lost — upgrading again restores it instantly.
|
|
25
|
+
*/
|
|
26
|
+
export interface MemoryRetentionPolicy {
|
|
27
|
+
maxAgeMs: number;
|
|
28
|
+
maxEntries: number;
|
|
29
|
+
maxSummaries: number;
|
|
30
|
+
}
|
|
31
|
+
/** Free-tier visibility: a 14-day rolling window. */
|
|
32
|
+
export declare const STANDARD_RETENTION: MemoryRetentionPolicy;
|
|
33
|
+
/**
|
|
34
|
+
* Plus/Pro visibility — and the store's PHYSICAL bounds for every tier. The
|
|
35
|
+
* entry cap also bounds the write cost — every persist re-serializes the
|
|
36
|
+
* whole timeline, so this cap is a perf ceiling as much as a product number.
|
|
37
|
+
*/
|
|
38
|
+
export declare const EXTENDED_RETENTION: MemoryRetentionPolicy;
|
|
39
|
+
export interface MemoryStoreBackend {
|
|
40
|
+
get(key: string): unknown | null;
|
|
41
|
+
set(key: string, value: unknown): void;
|
|
42
|
+
remove(key: string): void;
|
|
43
|
+
}
|
|
44
|
+
export interface MemoryStoreHooks {
|
|
45
|
+
getUserId: () => Promise<string>;
|
|
46
|
+
backend: MemoryStoreBackend;
|
|
47
|
+
/**
|
|
48
|
+
* Debounce window for transcript-line writes, in ms. Appends coalesce into
|
|
49
|
+
* one serialization instead of re-stringifying the whole timeline per
|
|
50
|
+
* utterance. Set to 0 to persist synchronously (tests).
|
|
51
|
+
*/
|
|
52
|
+
writeDebounceMs?: number;
|
|
53
|
+
/**
|
|
54
|
+
* Visibility policy resolver, consulted at every read. A function (not a
|
|
55
|
+
* value) so the host can flip between STANDARD and EXTENDED as the user's
|
|
56
|
+
* subscription changes without rebuilding the store. Absent = standard.
|
|
57
|
+
* Never affects what is STORED — pruning is fixed at EXTENDED bounds.
|
|
58
|
+
*/
|
|
59
|
+
getRetention?: () => MemoryRetentionPolicy;
|
|
60
|
+
}
|
|
61
|
+
export interface MemoryStats {
|
|
62
|
+
entryCount: number;
|
|
63
|
+
lineCount: number;
|
|
64
|
+
noteCount: number;
|
|
65
|
+
summaryCount: number;
|
|
66
|
+
/** Epoch ms of the oldest entry, or null when empty. */
|
|
67
|
+
oldestAt: number | null;
|
|
68
|
+
}
|
|
69
|
+
export declare function hourStartOf(ms: number): number;
|
|
70
|
+
export declare function dayStartOf(ms: number): number;
|
|
71
|
+
export declare class MemoryStore {
|
|
72
|
+
private readonly hooks;
|
|
73
|
+
private entries;
|
|
74
|
+
private summaries;
|
|
75
|
+
/** User the in-memory cache was loaded for; reload when identity changes. */
|
|
76
|
+
private loadedUserId;
|
|
77
|
+
private loadPromise;
|
|
78
|
+
private readonly changeListeners;
|
|
79
|
+
/** Pending debounced log write (transcript appends), if any. */
|
|
80
|
+
private logFlushTimer;
|
|
81
|
+
private logDirty;
|
|
82
|
+
constructor(hooks: MemoryStoreHooks);
|
|
83
|
+
/**
|
|
84
|
+
* Write any debounced changes out now. Call before the app backgrounds or
|
|
85
|
+
* terminates so a crash can't lose the coalesced tail of the timeline.
|
|
86
|
+
*/
|
|
87
|
+
flush(): Promise<void>;
|
|
88
|
+
/** Subscribe to mutations (adds, edits, deletes, clears). */
|
|
89
|
+
onChanged(listener: () => void): () => void;
|
|
90
|
+
appendLine(input: {
|
|
91
|
+
text: string;
|
|
92
|
+
speakerId: string | null;
|
|
93
|
+
/** Resolved enrolled-speaker name (on-device speaker ID), when known. */
|
|
94
|
+
resolvedSpeakerName?: string | null;
|
|
95
|
+
language: string | null;
|
|
96
|
+
at: number;
|
|
97
|
+
}): Promise<void>;
|
|
98
|
+
/**
|
|
99
|
+
* Add a note. `at` targets the hour it belongs to — pass a timestamp inside
|
|
100
|
+
* a past hour to append to that session. Dedupes on normalized text within
|
|
101
|
+
* the same hour (auto-notes re-extract); resolves null on duplicate/empty.
|
|
102
|
+
*/
|
|
103
|
+
addNote(text: string, source: MemoryNoteSource, at?: number): Promise<MemoryEntry | null>;
|
|
104
|
+
/** Rewrite a note's text in place (Settings > Memory edit). */
|
|
105
|
+
updateNote(id: string, text: string): Promise<boolean>;
|
|
106
|
+
removeEntry(id: string): Promise<boolean>;
|
|
107
|
+
/** Delete every entry (and summary) in an hour, or a whole day of hours. */
|
|
108
|
+
removeScope(scope: "session" | "day", at: number): Promise<void>;
|
|
109
|
+
/** Drop the entire timeline: every entry and every summary. */
|
|
110
|
+
clear(): Promise<void>;
|
|
111
|
+
addSummary(summary: MemorySummary): Promise<void>;
|
|
112
|
+
/** Entries in [sinceMs, untilMs), newest last. */
|
|
113
|
+
window(sinceMs: number, untilMs?: number): Promise<MemoryEntry[]>;
|
|
114
|
+
/** All note entries, newest first (Settings > Memory list). */
|
|
115
|
+
notes(): Promise<MemoryEntry[]>;
|
|
116
|
+
stats(): Promise<MemoryStats>;
|
|
117
|
+
/** All sessions (hours with entries), newest hour first. */
|
|
118
|
+
sessionList(): Promise<MemorySession[]>;
|
|
119
|
+
/**
|
|
120
|
+
* Query the FULL store by absolute-time window and keyword — the executor
|
|
121
|
+
* behind LLM history-search tools. Newest last, so the limit keeps the most
|
|
122
|
+
* recent matches. `contains` is an exact substring; `terms` is fuzzy any-of
|
|
123
|
+
* matching (mistranscribed-name tolerant) — see utils/memory/search.ts.
|
|
124
|
+
*/
|
|
125
|
+
query(q: {
|
|
126
|
+
sinceMs?: number;
|
|
127
|
+
untilMs?: number;
|
|
128
|
+
contains?: string;
|
|
129
|
+
terms?: string[];
|
|
130
|
+
limit?: number;
|
|
131
|
+
}): Promise<MemoryEntry[]>;
|
|
132
|
+
/**
|
|
133
|
+
* query() plus `windowCount` — how many entries the TIME window held before
|
|
134
|
+
* keyword filtering, so an LLM caller can distinguish "keyword matched
|
|
135
|
+
* nothing" from "history doesn't reach that far back" without a retry.
|
|
136
|
+
*/
|
|
137
|
+
search(q: {
|
|
138
|
+
sinceMs?: number;
|
|
139
|
+
untilMs?: number;
|
|
140
|
+
contains?: string;
|
|
141
|
+
terms?: string[];
|
|
142
|
+
limit?: number;
|
|
143
|
+
}): Promise<{
|
|
144
|
+
entries: MemoryEntry[];
|
|
145
|
+
windowCount: number;
|
|
146
|
+
}>;
|
|
147
|
+
summaryList(): Promise<MemorySummary[]>;
|
|
148
|
+
/** Most recent COMPLETED hour with lines but no summary, or null. */
|
|
149
|
+
pendingSummaryHour(nowMs?: number): Promise<number | null>;
|
|
150
|
+
/** Plain-text export of a scope, for the OS share sheet. */
|
|
151
|
+
exportText(scope: "session" | "day" | "all", at?: number): Promise<string>;
|
|
152
|
+
private ensureLoaded;
|
|
153
|
+
private loadFor;
|
|
154
|
+
/**
|
|
155
|
+
* One-time migration: fold the Assist miniapp's per-app store (the previous
|
|
156
|
+
* home of this timeline) into the shared user-scoped keys. Assist's old keys
|
|
157
|
+
* are left in place; its new build reads through the memory bridge instead.
|
|
158
|
+
*/
|
|
159
|
+
private migrateFromAssist;
|
|
160
|
+
private retention;
|
|
161
|
+
/** Entries inside the active tier's visibility window, oldest first. */
|
|
162
|
+
private visibleEntries;
|
|
163
|
+
private visibleSummaries;
|
|
164
|
+
/**
|
|
165
|
+
* Physical bounds, ALWAYS the extended policy regardless of tier. A free or
|
|
166
|
+
* lapsed user's older timeline stays on disk (reads just can't see past
|
|
167
|
+
* their window) so upgrading — or re-upgrading — restores it rather than
|
|
168
|
+
* finding it deleted. Deleting remains the user's call: clear()/removeScope
|
|
169
|
+
* operate on the physical store.
|
|
170
|
+
*/
|
|
171
|
+
private prune;
|
|
172
|
+
private key;
|
|
173
|
+
/**
|
|
174
|
+
* Mark the log dirty and arm the debounce timer. Repeated appends inside the
|
|
175
|
+
* window collapse into a single serialization; the first append after a
|
|
176
|
+
* flush starts a fresh window (trailing-edge, so a steady stream of speech
|
|
177
|
+
* still lands on disk every `writeDebounceMs`).
|
|
178
|
+
*/
|
|
179
|
+
private schedulePersistLog;
|
|
180
|
+
private persistLog;
|
|
181
|
+
private persistSummaries;
|
|
182
|
+
private emitChanged;
|
|
183
|
+
}
|
|
184
|
+
//# sourceMappingURL=MemoryStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MemoryStore.d.ts","sourceRoot":"","sources":["../../src/services/MemoryStore.ts"],"names":[],"mappings":"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"}
|