@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,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* session facade — `engine.session`: the cloud-v2 live-session surface engine
|
|
3
|
+
* now owns (keystone #5). Exposes the connection status read-model (status +
|
|
4
|
+
* audio transport, projected from the engine-owned cloud-status store) and the
|
|
5
|
+
* liveness flag.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
import { cloudClientService } from "../services/CloudClientService";
|
|
9
|
+
import { useCloudClientStatusStore } from "../stores/cloudClientStatus";
|
|
10
|
+
import { useConnectionStore } from "../stores/connection";
|
|
11
|
+
function project() {
|
|
12
|
+
const s = useCloudClientStatusStore.getState();
|
|
13
|
+
return { status: s.status, audioTransport: s.audioTransport };
|
|
14
|
+
}
|
|
15
|
+
export const session = {
|
|
16
|
+
/** Current cloud live-session status (connection state + audio transport). */
|
|
17
|
+
status: () => project(),
|
|
18
|
+
/** Subscribe to cloud session-status changes; returns an unsubscribe. */
|
|
19
|
+
onStatus: (cb) => {
|
|
20
|
+
// Dedupe: fire only when the projected {status, audioTransport} changes.
|
|
21
|
+
let last = JSON.stringify(project());
|
|
22
|
+
return useCloudClientStatusStore.subscribe(() => {
|
|
23
|
+
const snap = project();
|
|
24
|
+
const key = JSON.stringify(snap);
|
|
25
|
+
if (key === last)
|
|
26
|
+
return;
|
|
27
|
+
last = key;
|
|
28
|
+
cb(snap);
|
|
29
|
+
});
|
|
30
|
+
},
|
|
31
|
+
/** Whether the live-session handshake has completed. */
|
|
32
|
+
isConnected: () => cloudClientService.isConnected(),
|
|
33
|
+
/**
|
|
34
|
+
* Legacy Cloud-V1 websocket status. The socket's writer (the host
|
|
35
|
+
* WebSocketManager) was deleted in the Cloud V1 ripout, so this now always
|
|
36
|
+
* reports the store's initial DISCONNECTED; the host connection banners
|
|
37
|
+
* render `status()` (the cloud-v2 runtime) instead. Kept, with the backing
|
|
38
|
+
* connection store, for the engine-side legacy-surface removal (issue #3392).
|
|
39
|
+
*/
|
|
40
|
+
legacyWebsocketStatus: () => useConnectionStore.getState().status,
|
|
41
|
+
/** Subscribe to legacy websocket status changes; fires only when it changes. Returns an unsubscribe. */
|
|
42
|
+
onLegacyWebsocketStatus: (cb) => {
|
|
43
|
+
let last = useConnectionStore.getState().status;
|
|
44
|
+
return useConnectionStore.subscribe((state) => {
|
|
45
|
+
if (state.status === last)
|
|
46
|
+
return;
|
|
47
|
+
last = state.status;
|
|
48
|
+
cb(state.status);
|
|
49
|
+
});
|
|
50
|
+
},
|
|
51
|
+
};
|
|
52
|
+
//# sourceMappingURL=session.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../src/facades/session.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAC,yBAAyB,EAAC,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAA;AAIvD,SAAS,OAAO;IACd,MAAM,CAAC,GAAG,yBAAyB,CAAC,QAAQ,EAAE,CAAA;IAC9C,OAAO,EAAC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,cAAc,EAAC,CAAA;AAC7D,CAAC;AAED,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,8EAA8E;IAC9E,MAAM,EAAE,GAA8B,EAAE,CAAC,OAAO,EAAE;IAClD,yEAAyE;IACzE,QAAQ,EAAE,CAAC,EAA+C,EAAgB,EAAE;QAC1E,yEAAyE;QACzE,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAA;QACpC,OAAO,yBAAyB,CAAC,SAAS,CAAC,GAAG,EAAE;YAC9C,MAAM,IAAI,GAAG,OAAO,EAAE,CAAA;YACtB,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAChC,IAAI,GAAG,KAAK,IAAI;gBAAE,OAAM;YACxB,IAAI,GAAG,GAAG,CAAA;YACV,EAAE,CAAC,IAAI,CAAC,CAAA;QACV,CAAC,CAAC,CAAA;IACJ,CAAC;IACD,wDAAwD;IACxD,WAAW,EAAE,GAAY,EAAE,CAAC,kBAAkB,CAAC,WAAW,EAAE;IAE5D;;;;;;OAMG;IACH,qBAAqB,EAAE,GAAoB,EAAE,CAAC,kBAAkB,CAAC,QAAQ,EAAE,CAAC,MAAM;IAClF,wGAAwG;IACxG,uBAAuB,EAAE,CAAC,EAAqC,EAAgB,EAAE;QAC/E,IAAI,IAAI,GAAG,kBAAkB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAA;QAC/C,OAAO,kBAAkB,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE;YAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI;gBAAE,OAAM;YACjC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAA;YACnB,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAClB,CAAC,CAAC,CAAA;IACJ,CAAC;CACF,CAAA","sourcesContent":["/**\n * session facade — `engine.session`: the cloud-v2 live-session surface engine\n * now owns (keystone #5). Exposes the connection status read-model (status +\n * audio transport, projected from the engine-owned cloud-status store) and the\n * liveness flag.\n *\n */\nimport {cloudClientService} from \"../services/CloudClientService\"\nimport {useCloudClientStatusStore} from \"../stores/cloudClientStatus\"\nimport {useConnectionStore} from \"../stores/connection\"\nimport type {WebSocketStatus} from \"../stores/connection\"\nimport type {CloudClientStatusSnapshot} from \"../runtime/config\"\n\nfunction project(): CloudClientStatusSnapshot {\n const s = useCloudClientStatusStore.getState()\n return {status: s.status, audioTransport: s.audioTransport}\n}\n\nexport const session = {\n /** Current cloud live-session status (connection state + audio transport). */\n status: (): CloudClientStatusSnapshot => project(),\n /** Subscribe to cloud session-status changes; returns an unsubscribe. */\n onStatus: (cb: (status: CloudClientStatusSnapshot) => void): (() => void) => {\n // Dedupe: fire only when the projected {status, audioTransport} changes.\n let last = JSON.stringify(project())\n return useCloudClientStatusStore.subscribe(() => {\n const snap = project()\n const key = JSON.stringify(snap)\n if (key === last) return\n last = key\n cb(snap)\n })\n },\n /** Whether the live-session handshake has completed. */\n isConnected: (): boolean => cloudClientService.isConnected(),\n\n /**\n * Legacy Cloud-V1 websocket status. The socket's writer (the host\n * WebSocketManager) was deleted in the Cloud V1 ripout, so this now always\n * reports the store's initial DISCONNECTED; the host connection banners\n * render `status()` (the cloud-v2 runtime) instead. Kept, with the backing\n * connection store, for the engine-side legacy-surface removal (issue #3392).\n */\n legacyWebsocketStatus: (): WebSocketStatus => useConnectionStore.getState().status,\n /** Subscribe to legacy websocket status changes; fires only when it changes. Returns an unsubscribe. */\n onLegacyWebsocketStatus: (cb: (status: WebSocketStatus) => void): (() => void) => {\n let last = useConnectionStore.getState().status\n return useConnectionStore.subscribe((state) => {\n if (state.status === last) return\n last = state.status\n cb(state.status)\n })\n },\n}\n"]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export declare const settings: {
|
|
2
|
+
/** Read a setting by key (the current value, or its default; object/array values
|
|
3
|
+
* are shallow copies). */
|
|
4
|
+
get: <T = unknown>(key: string) => T | undefined;
|
|
5
|
+
/**
|
|
6
|
+
* Write a setting. `syncToServer` (default true) also pushes the change to the
|
|
7
|
+
* backend; pass false for device-local-only writes.
|
|
8
|
+
*/
|
|
9
|
+
set: <T = unknown>(key: string, value: T, syncToServer?: boolean) => import("typesafe-ts").AsyncResult<void, Error>;
|
|
10
|
+
/** Subscribe to changes for one key; returns an unsubscribe. */
|
|
11
|
+
onChanged: <T = unknown>(key: string, cb: (value: T | undefined) => void) => (() => void);
|
|
12
|
+
/** The schema descriptor for a key (type, default, options…), or undefined. */
|
|
13
|
+
descriptor: (key: string) => import("../stores/settings").Setting;
|
|
14
|
+
/** All known setting keys. */
|
|
15
|
+
keys: () => string[];
|
|
16
|
+
/**
|
|
17
|
+
* Reset every setting to its default on THIS device only (no server sync) —
|
|
18
|
+
* the logout path. Server-side settings are untouched.
|
|
19
|
+
*/
|
|
20
|
+
resetAllLocal: () => void;
|
|
21
|
+
/**
|
|
22
|
+
* Hydrate the settings store from device storage — the host-boot step (fire
|
|
23
|
+
* once at app start, before UI reads settings). Single-flighted internally.
|
|
24
|
+
*/
|
|
25
|
+
loadAll: () => import("typesafe-ts").AsyncResult<void, Error>;
|
|
26
|
+
/**
|
|
27
|
+
* Every EXPLICITLY-SET setting (shallow copy; keys never written are absent —
|
|
28
|
+
* use get() for default-resolved reads). The data-export surface.
|
|
29
|
+
*/
|
|
30
|
+
getAll: () => Record<string, unknown>;
|
|
31
|
+
/**
|
|
32
|
+
* Bulk device-local write without server sync — seeding the store from a
|
|
33
|
+
* backend settings payload.
|
|
34
|
+
*/
|
|
35
|
+
setManyLocal: (values: Record<string, unknown>) => import("typesafe-ts").AsyncResult<void, Error>;
|
|
36
|
+
};
|
|
37
|
+
//# sourceMappingURL=settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../src/facades/settings.ts"],"names":[],"mappings":"AAkBA,eAAO,MAAM,QAAQ;IACnB;8BAC0B;UACpB,CAAC,iBAAiB,MAAM,KAAG,CAAC,GAAG,SAAS;IAE9C;;;OAGG;UACG,CAAC,iBAAiB,MAAM,SAAS,CAAC;IAExC,gEAAgE;gBACpD,CAAC,iBAAiB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC;IAEvF,+EAA+E;sBAC7D,MAAM;IACxB,8BAA8B;gBACpB,MAAM,EAAE;IAClB;;;OAGG;yBACgB,IAAI;IACvB;;;OAGG;;IAEH;;;OAGG;kBACS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC;;;OAGG;2BACoB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAC/C,CAAA"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* settings facade — `engine.settings`: the typed keyed user-settings surface over
|
|
3
|
+
* the engine-owned settings store. This is the (A) OEM contract; the raw store at
|
|
4
|
+
* `engine.stores.settings` is the Glassly-app escape hatch.
|
|
5
|
+
*
|
|
6
|
+
* Keys + their schema live in `SETTINGS` (theme, devMode, metric/twelveHourTime,
|
|
7
|
+
* notifications, onboarding flags, …); `descriptor(key)`/`keys()` expose them.
|
|
8
|
+
*/
|
|
9
|
+
import { useSettingsStore, SETTINGS } from "../stores/settings";
|
|
10
|
+
// Copy: object/array-valued settings must not hand callers a mutable reference
|
|
11
|
+
// into the store (mutations would silently corrupt store state, bypassing set()).
|
|
12
|
+
function copySettingValue(value) {
|
|
13
|
+
if (Array.isArray(value))
|
|
14
|
+
return [...value];
|
|
15
|
+
if (value && typeof value === "object")
|
|
16
|
+
return { ...value };
|
|
17
|
+
return value;
|
|
18
|
+
}
|
|
19
|
+
export const settings = {
|
|
20
|
+
/** Read a setting by key (the current value, or its default; object/array values
|
|
21
|
+
* are shallow copies). */
|
|
22
|
+
get: (key) => copySettingValue(useSettingsStore.getState().getSetting(key)),
|
|
23
|
+
/**
|
|
24
|
+
* Write a setting. `syncToServer` (default true) also pushes the change to the
|
|
25
|
+
* backend; pass false for device-local-only writes.
|
|
26
|
+
*/
|
|
27
|
+
set: (key, value, syncToServer = true) => useSettingsStore.getState().setSetting(key, value, syncToServer),
|
|
28
|
+
/** Subscribe to changes for one key; returns an unsubscribe. */
|
|
29
|
+
onChanged: (key, cb) => useSettingsStore.subscribe((s) => s.getSetting(key), cb),
|
|
30
|
+
/** The schema descriptor for a key (type, default, options…), or undefined. */
|
|
31
|
+
descriptor: (key) => SETTINGS[key],
|
|
32
|
+
/** All known setting keys. */
|
|
33
|
+
keys: () => Object.keys(SETTINGS),
|
|
34
|
+
/**
|
|
35
|
+
* Reset every setting to its default on THIS device only (no server sync) —
|
|
36
|
+
* the logout path. Server-side settings are untouched.
|
|
37
|
+
*/
|
|
38
|
+
resetAllLocal: () => useSettingsStore.getState().resetAllSettingsLocally(),
|
|
39
|
+
/**
|
|
40
|
+
* Hydrate the settings store from device storage — the host-boot step (fire
|
|
41
|
+
* once at app start, before UI reads settings). Single-flighted internally.
|
|
42
|
+
*/
|
|
43
|
+
loadAll: () => useSettingsStore.getState().loadAllSettings(),
|
|
44
|
+
/**
|
|
45
|
+
* Every EXPLICITLY-SET setting (shallow copy; keys never written are absent —
|
|
46
|
+
* use get() for default-resolved reads). The data-export surface.
|
|
47
|
+
*/
|
|
48
|
+
getAll: () => ({ ...useSettingsStore.getState().settings }),
|
|
49
|
+
/**
|
|
50
|
+
* Bulk device-local write without server sync — seeding the store from a
|
|
51
|
+
* backend settings payload.
|
|
52
|
+
*/
|
|
53
|
+
setManyLocal: (values) => useSettingsStore.getState().setManyLocally(values),
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../src/facades/settings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAC,gBAAgB,EAAE,QAAQ,EAAC,MAAM,oBAAoB,CAAA;AAE7D,+EAA+E;AAC/E,kFAAkF;AAClF,SAAS,gBAAgB,CAAI,KAAQ;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,KAAK,CAAM,CAAA;IAChD,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,EAAC,GAAI,KAAgB,EAAM,CAAA;IAC1E,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB;8BAC0B;IAC1B,GAAG,EAAE,CAAc,GAAW,EAAiB,EAAE,CAC/C,gBAAgB,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,CAAkB,CAAC;IAChF;;;OAGG;IACH,GAAG,EAAE,CAAc,GAAW,EAAE,KAAQ,EAAE,YAAY,GAAG,IAAI,EAAE,EAAE,CAC/D,gBAAgB,CAAC,QAAQ,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC;IAClE,gEAAgE;IAChE,SAAS,EAAE,CAAc,GAAW,EAAE,EAAkC,EAAgB,EAAE,CACxF,gBAAgB,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAkB,EAAE,EAAE,CAAC;IAC3E,+EAA+E;IAC/E,UAAU,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;IAC1C,8BAA8B;IAC9B,IAAI,EAAE,GAAa,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC3C;;;OAGG;IACH,aAAa,EAAE,GAAS,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,uBAAuB,EAAE;IAChF;;;OAGG;IACH,OAAO,EAAE,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,eAAe,EAAE;IAC5D;;;OAGG;IACH,MAAM,EAAE,GAA4B,EAAE,CAAC,CAAC,EAAC,GAAG,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAC,CAAC;IAClF;;;OAGG;IACH,YAAY,EAAE,CAAC,MAA+B,EAAE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC;CACtG,CAAA","sourcesContent":["/**\n * settings facade — `engine.settings`: the typed keyed user-settings surface over\n * the engine-owned settings store. This is the (A) OEM contract; the raw store at\n * `engine.stores.settings` is the Glassly-app escape hatch.\n *\n * Keys + their schema live in `SETTINGS` (theme, devMode, metric/twelveHourTime,\n * notifications, onboarding flags, …); `descriptor(key)`/`keys()` expose them.\n */\nimport {useSettingsStore, SETTINGS} from \"../stores/settings\"\n\n// Copy: object/array-valued settings must not hand callers a mutable reference\n// into the store (mutations would silently corrupt store state, bypassing set()).\nfunction copySettingValue<T>(value: T): T {\n if (Array.isArray(value)) return [...value] as T\n if (value && typeof value === \"object\") return {...(value as object)} as T\n return value\n}\n\nexport const settings = {\n /** Read a setting by key (the current value, or its default; object/array values\n * are shallow copies). */\n get: <T = unknown>(key: string): T | undefined =>\n copySettingValue(useSettingsStore.getState().getSetting(key) as T | undefined),\n /**\n * Write a setting. `syncToServer` (default true) also pushes the change to the\n * backend; pass false for device-local-only writes.\n */\n set: <T = unknown>(key: string, value: T, syncToServer = true) =>\n useSettingsStore.getState().setSetting(key, value, syncToServer),\n /** Subscribe to changes for one key; returns an unsubscribe. */\n onChanged: <T = unknown>(key: string, cb: (value: T | undefined) => void): (() => void) =>\n useSettingsStore.subscribe((s) => s.getSetting(key) as T | undefined, cb),\n /** The schema descriptor for a key (type, default, options…), or undefined. */\n descriptor: (key: string) => SETTINGS[key],\n /** All known setting keys. */\n keys: (): string[] => Object.keys(SETTINGS),\n /**\n * Reset every setting to its default on THIS device only (no server sync) —\n * the logout path. Server-side settings are untouched.\n */\n resetAllLocal: (): void => useSettingsStore.getState().resetAllSettingsLocally(),\n /**\n * Hydrate the settings store from device storage — the host-boot step (fire\n * once at app start, before UI reads settings). Single-flighted internally.\n */\n loadAll: () => useSettingsStore.getState().loadAllSettings(),\n /**\n * Every EXPLICITLY-SET setting (shallow copy; keys never written are absent —\n * use get() for default-resolved reads). The data-export surface.\n */\n getAll: (): Record<string, unknown> => ({...useSettingsStore.getState().settings}),\n /**\n * Bulk device-local write without server sync — seeding the store from a\n * backend settings payload.\n */\n setManyLocal: (values: Record<string, unknown>) => useSettingsStore.getState().setManyLocally(values),\n}\n"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { SpeakerEnrollProgressEvent } from "@glassly/bluetooth-sdk/internal";
|
|
2
|
+
import { type SpeakerIdModelProgress } from "../services/SpeakerIdModelManager";
|
|
3
|
+
import type { SpeakerProfile } from "../services/SpeakerProfileStore";
|
|
4
|
+
export type EnrollOutcome = {
|
|
5
|
+
ok: true;
|
|
6
|
+
profile: SpeakerProfile;
|
|
7
|
+
} | {
|
|
8
|
+
ok: false;
|
|
9
|
+
reason: "inconsistent" | "too_short" | "model_unavailable" | "unsupported" | "cancelled" | string;
|
|
10
|
+
};
|
|
11
|
+
export declare const speakers: {
|
|
12
|
+
/** The owner's enrolled voice profile, or null before enrollment. */
|
|
13
|
+
getSelf: () => Promise<SpeakerProfile | null>;
|
|
14
|
+
/** Subscribe to profile-store mutations. */
|
|
15
|
+
onChanged: (listener: () => void) => (() => void);
|
|
16
|
+
/**
|
|
17
|
+
* Enroll (or re-enroll) the owner's voice via guided recording on the
|
|
18
|
+
* active mic. Replaces any existing self profile on success.
|
|
19
|
+
*/
|
|
20
|
+
enrollSelf: (opts?: {
|
|
21
|
+
targetSpeechSeconds?: number;
|
|
22
|
+
}) => Promise<EnrollOutcome>;
|
|
23
|
+
/** "Improve recognition": record more samples onto the self profile. */
|
|
24
|
+
improveSelf: (opts?: {
|
|
25
|
+
targetSpeechSeconds?: number;
|
|
26
|
+
}) => Promise<EnrollOutcome>;
|
|
27
|
+
/** Delete the self profile (also drops it from native via store-change push). */
|
|
28
|
+
removeSelf: () => Promise<boolean>;
|
|
29
|
+
/** Cancel the in-flight enrollment session, if any. */
|
|
30
|
+
cancelEnrollment: () => void;
|
|
31
|
+
/** Live recording meter + progress ring during enrollment. */
|
|
32
|
+
onEnrollProgress: (listener: (progress: SpeakerEnrollProgressEvent) => void) => (() => void);
|
|
33
|
+
/** Embedding-model delivery (one-time ~28 MB download). */
|
|
34
|
+
model: {
|
|
35
|
+
isAvailable: () => Promise<boolean>;
|
|
36
|
+
sizeBytes: () => number;
|
|
37
|
+
download: (onProgress?: (p: SpeakerIdModelProgress) => void) => Promise<void>;
|
|
38
|
+
cancelDownload: () => Promise<void>;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
//# sourceMappingURL=speakers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speakers.d.ts","sourceRoot":"","sources":["../../src/facades/speakers.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAC,0BAA0B,EAA2B,MAAM,iCAAiC,CAAA;AAEzG,OAA8B,EAAC,KAAK,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AACpG,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,iCAAiC,CAAA;AAWnE,MAAM,MAAM,aAAa,GACrB;IAAC,EAAE,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,cAAc,CAAA;CAAC,GACnC;IAAC,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,cAAc,GAAG,WAAW,GAAG,mBAAmB,GAAG,aAAa,GAAG,WAAW,GAAG,MAAM,CAAA;CAAC,CAAA;AAqElH,eAAO,MAAM,QAAQ;IACnB,qEAAqE;mBAClD,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAIjD,4CAA4C;0BACtB,MAAM,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC;IAC/C;;;OAGG;wBACuB;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAC,KAAG,OAAO,CAAC,aAAa,CAAC;IAUjF,wEAAwE;yBAC7C;QAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;KAAC,KAAG,OAAO,CAAC,aAAa,CAAC;IAKlF,iFAAiF;sBAC3D,OAAO,CAAC,OAAO,CAAC;IAKtC,uDAAuD;4BACjC,IAAI;IAG1B,8DAA8D;iCACjC,CAAC,QAAQ,EAAE,0BAA0B,KAAK,IAAI,KAAG,CAAC,MAAM,IAAI,CAAC;IAI1F,2DAA2D;;2BAExC,OAAO,CAAC,OAAO,CAAC;yBAClB,MAAM;gCACG,CAAC,CAAC,EAAE,sBAAsB,KAAK,IAAI,KAAG,OAAO,CAAC,IAAI,CAAC;8BAEvD,OAAO,CAAC,IAAI,CAAC;;CAEpC,CAAA"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* speakers facade — `engine.speakers`: the device owner's voice profile for
|
|
3
|
+
* on-device voice recognition (Settings > Voice Recognition).
|
|
4
|
+
*
|
|
5
|
+
* Owner-only surface: the user enrolls their OWN voice once (`enrollSelf`);
|
|
6
|
+
* transcripts are then labeled user / other / unknown. The profile store
|
|
7
|
+
* keeps its generic multi-profile shape underneath, but this facade only
|
|
8
|
+
* exposes the self profile.
|
|
9
|
+
*
|
|
10
|
+
* Enrollment is a guided recording through whichever mic is currently active
|
|
11
|
+
* (native holds the mic open for the session). Raw audio never reaches JS —
|
|
12
|
+
* native returns chunk embeddings, which land in the profile store here; the
|
|
13
|
+
* store push back to native happens via SpeakerIdSync.
|
|
14
|
+
*/
|
|
15
|
+
import BluetoothSdk from "@glassly/bluetooth-sdk/internal";
|
|
16
|
+
import speakerIdModelManager from "../services/SpeakerIdModelManager";
|
|
17
|
+
import { speakerProfileStore } from "../services/speakerProfileStoreInstance";
|
|
18
|
+
const DEFAULT_TARGET_SPEECH_SECONDS = 20;
|
|
19
|
+
/**
|
|
20
|
+
* Display name of the self profile. Shown on the memory timeline (which
|
|
21
|
+
* renders `resolvedSpeakerName`); miniapps never see it (PII strip).
|
|
22
|
+
*/
|
|
23
|
+
const SELF_PROFILE_NAME = "You";
|
|
24
|
+
let activeEnrollment = null;
|
|
25
|
+
/**
|
|
26
|
+
* Run one enrollment session to completion. Resolves when native reports the
|
|
27
|
+
* result; on success the embeddings are stored (new profile, or appended to
|
|
28
|
+
* `improveProfileId` for "Improve recognition").
|
|
29
|
+
*/
|
|
30
|
+
async function runEnrollment(input) {
|
|
31
|
+
if (activeEnrollment)
|
|
32
|
+
return { ok: false, reason: "already_enrolling" };
|
|
33
|
+
return new Promise((resolve) => {
|
|
34
|
+
let settled = false;
|
|
35
|
+
const settle = (outcome) => {
|
|
36
|
+
if (settled)
|
|
37
|
+
return;
|
|
38
|
+
settled = true;
|
|
39
|
+
sub.remove();
|
|
40
|
+
activeEnrollment = null;
|
|
41
|
+
console.log(outcome.ok
|
|
42
|
+
? `SpeakerID: enrollment stored — profile "${outcome.profile.name}" (${outcome.profile.samples.length} samples)`
|
|
43
|
+
: `SpeakerID: enrollment not stored — ${outcome.reason}`);
|
|
44
|
+
resolve(outcome);
|
|
45
|
+
};
|
|
46
|
+
const sub = BluetoothSdk.addListener("speaker_enroll_result", (event) => {
|
|
47
|
+
void (async () => {
|
|
48
|
+
if (!event.ok) {
|
|
49
|
+
settle({ ok: false, reason: event.reason ?? "failed" });
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const embeddings = event.embeddings ?? [];
|
|
53
|
+
const source = event.source === "glasses" ? "glasses" : "phone";
|
|
54
|
+
try {
|
|
55
|
+
if (input.improveProfileId) {
|
|
56
|
+
const profile = await speakerProfileStore.addSamples(input.improveProfileId, embeddings, source);
|
|
57
|
+
if (profile)
|
|
58
|
+
settle({ ok: true, profile });
|
|
59
|
+
else
|
|
60
|
+
settle({ ok: false, reason: "profile_not_found" });
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
const profile = await speakerProfileStore.add(input.name ?? "", embeddings, source);
|
|
64
|
+
settle({ ok: true, profile });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
settle({ ok: false, reason: err instanceof Error ? err.message : "store_failed" });
|
|
69
|
+
}
|
|
70
|
+
})();
|
|
71
|
+
});
|
|
72
|
+
activeEnrollment = {
|
|
73
|
+
cancel: () => {
|
|
74
|
+
void BluetoothSdk.cancelSpeakerEnrollment().catch(() => { });
|
|
75
|
+
settle({ ok: false, reason: "cancelled" });
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
void BluetoothSdk.startSpeakerEnrollment({
|
|
79
|
+
targetSpeechSeconds: input.targetSpeechSeconds ?? DEFAULT_TARGET_SPEECH_SECONDS,
|
|
80
|
+
}).catch((err) => {
|
|
81
|
+
settle({ ok: false, reason: err instanceof Error ? err.message : "start_failed" });
|
|
82
|
+
});
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
export const speakers = {
|
|
86
|
+
/** The owner's enrolled voice profile, or null before enrollment. */
|
|
87
|
+
getSelf: async () => {
|
|
88
|
+
const profiles = await speakerProfileStore.list();
|
|
89
|
+
return profiles[0] ?? null;
|
|
90
|
+
},
|
|
91
|
+
/** Subscribe to profile-store mutations. */
|
|
92
|
+
onChanged: (listener) => speakerProfileStore.onChanged(listener),
|
|
93
|
+
/**
|
|
94
|
+
* Enroll (or re-enroll) the owner's voice via guided recording on the
|
|
95
|
+
* active mic. Replaces any existing self profile on success.
|
|
96
|
+
*/
|
|
97
|
+
enrollSelf: async (opts) => {
|
|
98
|
+
const outcome = await runEnrollment({ name: SELF_PROFILE_NAME, targetSpeechSeconds: opts?.targetSpeechSeconds });
|
|
99
|
+
if (outcome.ok) {
|
|
100
|
+
// Drop any previous self profile — one owner voice at a time. Done
|
|
101
|
+
// after the new profile is stored so a failed session can't delete.
|
|
102
|
+
const stale = (await speakerProfileStore.list()).filter((p) => p.id !== outcome.profile.id);
|
|
103
|
+
for (const profile of stale)
|
|
104
|
+
await speakerProfileStore.remove(profile.id);
|
|
105
|
+
}
|
|
106
|
+
return outcome;
|
|
107
|
+
},
|
|
108
|
+
/** "Improve recognition": record more samples onto the self profile. */
|
|
109
|
+
improveSelf: async (opts) => {
|
|
110
|
+
const self = await speakers.getSelf();
|
|
111
|
+
if (!self)
|
|
112
|
+
return { ok: false, reason: "not_enrolled" };
|
|
113
|
+
return runEnrollment({ improveProfileId: self.id, targetSpeechSeconds: opts?.targetSpeechSeconds });
|
|
114
|
+
},
|
|
115
|
+
/** Delete the self profile (also drops it from native via store-change push). */
|
|
116
|
+
removeSelf: async () => {
|
|
117
|
+
const self = await speakers.getSelf();
|
|
118
|
+
if (!self)
|
|
119
|
+
return false;
|
|
120
|
+
return speakerProfileStore.remove(self.id);
|
|
121
|
+
},
|
|
122
|
+
/** Cancel the in-flight enrollment session, if any. */
|
|
123
|
+
cancelEnrollment: () => {
|
|
124
|
+
activeEnrollment?.cancel();
|
|
125
|
+
},
|
|
126
|
+
/** Live recording meter + progress ring during enrollment. */
|
|
127
|
+
onEnrollProgress: (listener) => {
|
|
128
|
+
const sub = BluetoothSdk.addListener("speaker_enroll_progress", listener);
|
|
129
|
+
return () => sub.remove();
|
|
130
|
+
},
|
|
131
|
+
/** Embedding-model delivery (one-time ~28 MB download). */
|
|
132
|
+
model: {
|
|
133
|
+
isAvailable: () => speakerIdModelManager.isModelAvailable(),
|
|
134
|
+
sizeBytes: () => speakerIdModelManager.sizeBytes,
|
|
135
|
+
download: (onProgress) => speakerIdModelManager.downloadModel(onProgress),
|
|
136
|
+
cancelDownload: () => speakerIdModelManager.cancelDownload(),
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=speakers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speakers.js","sourceRoot":"","sources":["../../src/facades/speakers.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * speakers facade — `engine.speakers`: the device owner's voice profile for\n * on-device voice recognition (Settings > Voice Recognition).\n *\n * Owner-only surface: the user enrolls their OWN voice once (`enrollSelf`);\n * transcripts are then labeled user / other / unknown. The profile store\n * keeps its generic multi-profile shape underneath, but this facade only\n * exposes the self profile.\n *\n * Enrollment is a guided recording through whichever mic is currently active\n * (native holds the mic open for the session). Raw audio never reaches JS —\n * native returns chunk embeddings, which land in the profile store here; the\n * store push back to native happens via SpeakerIdSync.\n */\nimport BluetoothSdk from \"@glassly/bluetooth-sdk/internal\"\nimport type {SpeakerEnrollProgressEvent, SpeakerEnrollResultEvent} from \"@glassly/bluetooth-sdk/internal\"\n\nimport speakerIdModelManager, {type SpeakerIdModelProgress} from \"../services/SpeakerIdModelManager\"\nimport type {SpeakerProfile} from \"../services/SpeakerProfileStore\"\nimport {speakerProfileStore} from \"../services/speakerProfileStoreInstance\"\n\nconst DEFAULT_TARGET_SPEECH_SECONDS = 20\n\n/**\n * Display name of the self profile. Shown on the memory timeline (which\n * renders `resolvedSpeakerName`); miniapps never see it (PII strip).\n */\nconst SELF_PROFILE_NAME = \"You\"\n\nexport type EnrollOutcome =\n | {ok: true; profile: SpeakerProfile}\n | {ok: false; reason: \"inconsistent\" | \"too_short\" | \"model_unavailable\" | \"unsupported\" | \"cancelled\" | string}\n\nlet activeEnrollment: {cancel: () => void} | null = null\n\n/**\n * Run one enrollment session to completion. Resolves when native reports the\n * result; on success the embeddings are stored (new profile, or appended to\n * `improveProfileId` for \"Improve recognition\").\n */\nasync function runEnrollment(input: {\n name?: string\n improveProfileId?: string\n targetSpeechSeconds?: number\n}): Promise<EnrollOutcome> {\n if (activeEnrollment) return {ok: false, reason: \"already_enrolling\"}\n\n return new Promise<EnrollOutcome>((resolve) => {\n let settled = false\n const settle = (outcome: EnrollOutcome) => {\n if (settled) return\n settled = true\n sub.remove()\n activeEnrollment = null\n console.log(\n outcome.ok\n ? `SpeakerID: enrollment stored — profile \"${outcome.profile.name}\" (${outcome.profile.samples.length} samples)`\n : `SpeakerID: enrollment not stored — ${outcome.reason}`,\n )\n resolve(outcome)\n }\n\n const sub = BluetoothSdk.addListener(\"speaker_enroll_result\", (event: SpeakerEnrollResultEvent) => {\n void (async () => {\n if (!event.ok) {\n settle({ok: false, reason: event.reason ?? \"failed\"})\n return\n }\n const embeddings = event.embeddings ?? []\n const source = event.source === \"glasses\" ? \"glasses\" : \"phone\"\n try {\n if (input.improveProfileId) {\n const profile = await speakerProfileStore.addSamples(input.improveProfileId, embeddings, source)\n if (profile) settle({ok: true, profile})\n else settle({ok: false, reason: \"profile_not_found\"})\n } else {\n const profile = await speakerProfileStore.add(input.name ?? \"\", embeddings, source)\n settle({ok: true, profile})\n }\n } catch (err) {\n settle({ok: false, reason: err instanceof Error ? err.message : \"store_failed\"})\n }\n })()\n })\n\n activeEnrollment = {\n cancel: () => {\n void BluetoothSdk.cancelSpeakerEnrollment().catch(() => {})\n settle({ok: false, reason: \"cancelled\"})\n },\n }\n\n void BluetoothSdk.startSpeakerEnrollment({\n targetSpeechSeconds: input.targetSpeechSeconds ?? DEFAULT_TARGET_SPEECH_SECONDS,\n }).catch((err) => {\n settle({ok: false, reason: err instanceof Error ? err.message : \"start_failed\"})\n })\n })\n}\n\nexport const speakers = {\n /** The owner's enrolled voice profile, or null before enrollment. */\n getSelf: async (): Promise<SpeakerProfile | null> => {\n const profiles = await speakerProfileStore.list()\n return profiles[0] ?? null\n },\n /** Subscribe to profile-store mutations. */\n onChanged: (listener: () => void): (() => void) => speakerProfileStore.onChanged(listener),\n /**\n * Enroll (or re-enroll) the owner's voice via guided recording on the\n * active mic. Replaces any existing self profile on success.\n */\n enrollSelf: async (opts?: {targetSpeechSeconds?: number}): Promise<EnrollOutcome> => {\n const outcome = await runEnrollment({name: SELF_PROFILE_NAME, targetSpeechSeconds: opts?.targetSpeechSeconds})\n if (outcome.ok) {\n // Drop any previous self profile — one owner voice at a time. Done\n // after the new profile is stored so a failed session can't delete.\n const stale = (await speakerProfileStore.list()).filter((p) => p.id !== outcome.profile.id)\n for (const profile of stale) await speakerProfileStore.remove(profile.id)\n }\n return outcome\n },\n /** \"Improve recognition\": record more samples onto the self profile. */\n improveSelf: async (opts?: {targetSpeechSeconds?: number}): Promise<EnrollOutcome> => {\n const self = await speakers.getSelf()\n if (!self) return {ok: false, reason: \"not_enrolled\"}\n return runEnrollment({improveProfileId: self.id, targetSpeechSeconds: opts?.targetSpeechSeconds})\n },\n /** Delete the self profile (also drops it from native via store-change push). */\n removeSelf: async (): Promise<boolean> => {\n const self = await speakers.getSelf()\n if (!self) return false\n return speakerProfileStore.remove(self.id)\n },\n /** Cancel the in-flight enrollment session, if any. */\n cancelEnrollment: (): void => {\n activeEnrollment?.cancel()\n },\n /** Live recording meter + progress ring during enrollment. */\n onEnrollProgress: (listener: (progress: SpeakerEnrollProgressEvent) => void): (() => void) => {\n const sub = BluetoothSdk.addListener(\"speaker_enroll_progress\", listener)\n return () => sub.remove()\n },\n /** Embedding-model delivery (one-time ~28 MB download). */\n model: {\n isAvailable: (): Promise<boolean> => speakerIdModelManager.isModelAvailable(),\n sizeBytes: (): number => speakerIdModelManager.sizeBytes,\n download: (onProgress?: (p: SpeakerIdModelProgress) => void): Promise<void> =>\n speakerIdModelManager.downloadModel(onProgress),\n cancelDownload: (): Promise<void> => speakerIdModelManager.cancelDownload(),\n },\n}\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import sttModelManager from "../services/STTModelManager";
|
|
2
|
+
import ttsModelManager from "../services/TTSModelManager";
|
|
3
|
+
import offlineSpeechModelService from "../services/OfflineSpeechModelService";
|
|
4
|
+
import sonioxDirectService from "../services/soniox/SonioxDirectService";
|
|
5
|
+
export declare const speech: {
|
|
6
|
+
/** Restart the glasses' on-device transcriber (e.g. after switching STT language). */
|
|
7
|
+
restartTranscriber: () => Promise<void>;
|
|
8
|
+
stt: {
|
|
9
|
+
currentLanguage: () => string;
|
|
10
|
+
languages: () => import("../internal").SttLanguageConfig[];
|
|
11
|
+
languageInfo: () => Promise<import("../internal").SttLanguageInfo[]>;
|
|
12
|
+
download: (code?: string | undefined, onProgress?: ((progress: import("../internal").SttDownloadProgress) => void) | undefined, onExtractionProgress?: ((progress: import("../internal").SttExtractionProgress) => void) | undefined) => Promise<void>;
|
|
13
|
+
activate: (code: string) => void;
|
|
14
|
+
cancelDownload: () => Promise<void>;
|
|
15
|
+
deleteModel: (code?: string | undefined) => Promise<void>;
|
|
16
|
+
/** Current auto-download status of the offline STT model. */
|
|
17
|
+
status: () => import("../internal").OfflineModelDownloadStatus | null;
|
|
18
|
+
/** Subscribe to auto-download status changes; returns an unsubscribe. */
|
|
19
|
+
onStatusChanged: (listener: (status: import("../internal").OfflineModelDownloadStatus | null) => void) => () => void;
|
|
20
|
+
};
|
|
21
|
+
/** Phone → Soniox direct transcription (user-supplied API key, Settings > Keys). */
|
|
22
|
+
sonioxDirect: {
|
|
23
|
+
getStatus: () => import("../services/soniox/SonioxDirectService").SonioxDirectStatus;
|
|
24
|
+
/** Subscribe to status changes; returns an unsubscribe. */
|
|
25
|
+
onStatusChanged: (cb: (s: import("../services/soniox/SonioxDirectService").SonioxDirectStatus) => void) => () => void;
|
|
26
|
+
/** Probe a key against the Soniox API without saving it. */
|
|
27
|
+
validateKey: (key: string) => Promise<{
|
|
28
|
+
ok: true;
|
|
29
|
+
} | {
|
|
30
|
+
ok: false;
|
|
31
|
+
reason: "invalid_key" | "network";
|
|
32
|
+
}>;
|
|
33
|
+
};
|
|
34
|
+
tts: {
|
|
35
|
+
currentLanguage: () => string;
|
|
36
|
+
languages: () => import("../services/TTSModelManager").TTSLanguageConfig[];
|
|
37
|
+
languageInfo: () => Promise<import("../services/TTSModelManager").TTSLanguageInfo[]>;
|
|
38
|
+
download: (code?: string | undefined, onProgress?: ((progress: import("../services/TTSModelManager").TTSDownloadProgress) => void) | undefined, onExtractionProgress?: ((progress: import("../services/TTSModelManager").TTSExtractionProgress) => void) | undefined) => Promise<void>;
|
|
39
|
+
activate: (code: string) => void;
|
|
40
|
+
cancelDownload: () => Promise<void>;
|
|
41
|
+
deleteModel: (_code?: string | undefined) => Promise<void>;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=speech.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speech.d.ts","sourceRoot":"","sources":["../../src/facades/speech.ts"],"names":[],"mappings":"AAOA,OAAO,eAAe,MAAM,6BAA6B,CAAA;AACzD,OAAO,eAAe,MAAM,6BAA6B,CAAA;AACzD,OAAO,yBAAyB,MAAM,uCAAuC,CAAA;AAC7E,OAAO,mBAAmB,MAAM,wCAAwC,CAAA;AAExE,eAAO,MAAM,MAAM;IACjB,sFAAsF;8BAC9D,OAAO,CAAC,IAAI,CAAC;;;;;;yBAMlB,MAAM;;;QAGvB,6DAA6D;;QAE7D,yEAAyE;;;IAI3E,oFAAoF;;;QAGlF,2DAA2D;;QAG3D,4DAA4D;;;;;;;;;;;;;yBAS3C,MAAM;;;;CAI1B,CAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* speech facade — `engine.speech.{stt,tts}`: on-device STT/TTS model management,
|
|
3
|
+
* wrapping the in-engine model managers. Thin passthrough (args forwarded with
|
|
4
|
+
* exact types via Parameters<>), so the facade never drifts from the managers.
|
|
5
|
+
* STT additionally exposes the auto-download status stream (the TTS path has none).
|
|
6
|
+
*/
|
|
7
|
+
import BluetoothSdk from "@glassly/bluetooth-sdk/internal";
|
|
8
|
+
import sttModelManager from "../services/STTModelManager";
|
|
9
|
+
import ttsModelManager from "../services/TTSModelManager";
|
|
10
|
+
import offlineSpeechModelService from "../services/OfflineSpeechModelService";
|
|
11
|
+
import sonioxDirectService from "../services/soniox/SonioxDirectService";
|
|
12
|
+
export const speech = {
|
|
13
|
+
/** Restart the glasses' on-device transcriber (e.g. after switching STT language). */
|
|
14
|
+
restartTranscriber: () => BluetoothSdk.restartTranscriber(),
|
|
15
|
+
stt: {
|
|
16
|
+
currentLanguage: () => sttModelManager.getCurrentLanguage(),
|
|
17
|
+
languages: () => sttModelManager.getAvailableLanguages(),
|
|
18
|
+
languageInfo: () => sttModelManager.getAllLanguageInfo(),
|
|
19
|
+
download: (...args) => sttModelManager.downloadModel(...args),
|
|
20
|
+
activate: (code) => sttModelManager.setCurrentLanguage(code),
|
|
21
|
+
cancelDownload: () => sttModelManager.cancelDownload(),
|
|
22
|
+
deleteModel: (...args) => sttModelManager.deleteModel(...args),
|
|
23
|
+
/** Current auto-download status of the offline STT model. */
|
|
24
|
+
status: () => offlineSpeechModelService.getStatus(),
|
|
25
|
+
/** Subscribe to auto-download status changes; returns an unsubscribe. */
|
|
26
|
+
onStatusChanged: (...args) => offlineSpeechModelService.subscribe(...args),
|
|
27
|
+
},
|
|
28
|
+
/** Phone → Soniox direct transcription (user-supplied API key, Settings > Keys). */
|
|
29
|
+
sonioxDirect: {
|
|
30
|
+
getStatus: () => sonioxDirectService.getStatus(),
|
|
31
|
+
/** Subscribe to status changes; returns an unsubscribe. */
|
|
32
|
+
onStatusChanged: (...args) => sonioxDirectService.onStatusChanged(...args),
|
|
33
|
+
/** Probe a key against the Soniox API without saving it. */
|
|
34
|
+
validateKey: (...args) => sonioxDirectService.validateApiKey(...args),
|
|
35
|
+
},
|
|
36
|
+
tts: {
|
|
37
|
+
currentLanguage: () => ttsModelManager.getCurrentLanguage(),
|
|
38
|
+
languages: () => ttsModelManager.getAvailableLanguages(),
|
|
39
|
+
languageInfo: () => ttsModelManager.getAllLanguageInfo(),
|
|
40
|
+
download: (...args) => ttsModelManager.downloadModel(...args),
|
|
41
|
+
activate: (code) => ttsModelManager.setCurrentLanguage(code),
|
|
42
|
+
cancelDownload: () => ttsModelManager.cancelDownload(),
|
|
43
|
+
deleteModel: (...args) => ttsModelManager.deleteModel(...args),
|
|
44
|
+
},
|
|
45
|
+
};
|
|
46
|
+
//# sourceMappingURL=speech.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"speech.js","sourceRoot":"","sources":["../../src/facades/speech.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,YAAY,MAAM,iCAAiC,CAAA;AAC1D,OAAO,eAAe,MAAM,6BAA6B,CAAA;AACzD,OAAO,eAAe,MAAM,6BAA6B,CAAA;AACzD,OAAO,yBAAyB,MAAM,uCAAuC,CAAA;AAC7E,OAAO,mBAAmB,MAAM,wCAAwC,CAAA;AAExE,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,sFAAsF;IACtF,kBAAkB,EAAE,GAAkB,EAAE,CAAC,YAAY,CAAC,kBAAkB,EAAE;IAC1E,GAAG,EAAE;QACH,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,kBAAkB,EAAE;QAC3D,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,qBAAqB,EAAE;QACxD,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,kBAAkB,EAAE;QACxD,QAAQ,EAAE,CAAC,GAAG,IAAsD,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;QAC/G,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC;QACpE,cAAc,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE;QACtD,WAAW,EAAE,CAAC,GAAG,IAAoD,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;QAC9G,6DAA6D;QAC7D,MAAM,EAAE,GAAG,EAAE,CAAC,yBAAyB,CAAC,SAAS,EAAE;QACnD,yEAAyE;QACzE,eAAe,EAAE,CAAC,GAAG,IAA4D,EAAE,EAAE,CACnF,yBAAyB,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;KAC/C;IACD,oFAAoF;IACpF,YAAY,EAAE;QACZ,SAAS,EAAE,GAAG,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE;QAChD,2DAA2D;QAC3D,eAAe,EAAE,CAAC,GAAG,IAA4D,EAAE,EAAE,CACnF,mBAAmB,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;QAC9C,4DAA4D;QAC5D,WAAW,EAAE,CAAC,GAAG,IAA2D,EAAE,EAAE,CAC9E,mBAAmB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;KAC9C;IACD,GAAG,EAAE;QACH,eAAe,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,kBAAkB,EAAE;QAC3D,SAAS,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,qBAAqB,EAAE;QACxD,YAAY,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,kBAAkB,EAAE;QACxD,QAAQ,EAAE,CAAC,GAAG,IAAsD,EAAE,EAAE,CAAC,eAAe,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC;QAC/G,QAAQ,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,eAAe,CAAC,kBAAkB,CAAC,IAAI,CAAC;QACpE,cAAc,EAAE,GAAG,EAAE,CAAC,eAAe,CAAC,cAAc,EAAE;QACtD,WAAW,EAAE,CAAC,GAAG,IAAoD,EAAE,EAAE,CAAC,eAAe,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC;KAC/G;CACF,CAAA","sourcesContent":["/**\n * speech facade — `engine.speech.{stt,tts}`: on-device STT/TTS model management,\n * wrapping the in-engine model managers. Thin passthrough (args forwarded with\n * exact types via Parameters<>), so the facade never drifts from the managers.\n * STT additionally exposes the auto-download status stream (the TTS path has none).\n */\nimport BluetoothSdk from \"@glassly/bluetooth-sdk/internal\"\nimport sttModelManager from \"../services/STTModelManager\"\nimport ttsModelManager from \"../services/TTSModelManager\"\nimport offlineSpeechModelService from \"../services/OfflineSpeechModelService\"\nimport sonioxDirectService from \"../services/soniox/SonioxDirectService\"\n\nexport const speech = {\n /** Restart the glasses' on-device transcriber (e.g. after switching STT language). */\n restartTranscriber: (): Promise<void> => BluetoothSdk.restartTranscriber(),\n stt: {\n currentLanguage: () => sttModelManager.getCurrentLanguage(),\n languages: () => sttModelManager.getAvailableLanguages(),\n languageInfo: () => sttModelManager.getAllLanguageInfo(),\n download: (...args: Parameters<typeof sttModelManager.downloadModel>) => sttModelManager.downloadModel(...args),\n activate: (code: string) => sttModelManager.setCurrentLanguage(code),\n cancelDownload: () => sttModelManager.cancelDownload(),\n deleteModel: (...args: Parameters<typeof sttModelManager.deleteModel>) => sttModelManager.deleteModel(...args),\n /** Current auto-download status of the offline STT model. */\n status: () => offlineSpeechModelService.getStatus(),\n /** Subscribe to auto-download status changes; returns an unsubscribe. */\n onStatusChanged: (...args: Parameters<typeof offlineSpeechModelService.subscribe>) =>\n offlineSpeechModelService.subscribe(...args),\n },\n /** Phone → Soniox direct transcription (user-supplied API key, Settings > Keys). */\n sonioxDirect: {\n getStatus: () => sonioxDirectService.getStatus(),\n /** Subscribe to status changes; returns an unsubscribe. */\n onStatusChanged: (...args: Parameters<typeof sonioxDirectService.onStatusChanged>) =>\n sonioxDirectService.onStatusChanged(...args),\n /** Probe a key against the Soniox API without saving it. */\n validateKey: (...args: Parameters<typeof sonioxDirectService.validateApiKey>) =>\n sonioxDirectService.validateApiKey(...args),\n },\n tts: {\n currentLanguage: () => ttsModelManager.getCurrentLanguage(),\n languages: () => ttsModelManager.getAvailableLanguages(),\n languageInfo: () => ttsModelManager.getAllLanguageInfo(),\n download: (...args: Parameters<typeof ttsModelManager.downloadModel>) => ttsModelManager.downloadModel(...args),\n activate: (code: string) => ttsModelManager.setCurrentLanguage(code),\n cancelDownload: () => ttsModelManager.cancelDownload(),\n deleteModel: (...args: Parameters<typeof ttsModelManager.deleteModel>) => ttsModelManager.deleteModel(...args),\n },\n}\n"]}
|
package/build/index.d.ts
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@glassly/engine` — the OEM-facing main entry.
|
|
3
|
+
*
|
|
4
|
+
* The `engine` namespace (configure/start/stop + typed domain facades), the
|
|
5
|
+
* public contract/read-model types, and the pure helpers host UI legitimately
|
|
6
|
+
* renders with (decision functions, sort/order helpers, policy constants,
|
|
7
|
+
* capability tables, timers). Judgment rule: read models, commands, pure
|
|
8
|
+
* functions and types belong here; anything that mutates runtime state or
|
|
9
|
+
* exposes a raw store/service lives on `@glassly/engine/internal`
|
|
10
|
+
* (migration-era surface) or `@glassly/engine/devtools` (debug-only) instead.
|
|
11
|
+
* See cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.
|
|
12
|
+
*/
|
|
13
|
+
export { engine } from "./engine";
|
|
14
|
+
export type { ReportAttachmentInput, ReportContext, ReportDetails, ReportStatus, ReportTrigger, ReportSubmitResult, EngineSubmitReportInput, } from "./facades/reports";
|
|
15
|
+
export type { IslandNotification, IslandNotificationKind } from "./facades/notifications";
|
|
16
|
+
export type { WifiSearchResult } from "./facades/glassesWifi";
|
|
17
|
+
export type { IdentitySnapshot } from "./services/PairingIdentity";
|
|
18
|
+
export type { DisplayMirrorEvent } from "./facades/displayMirror";
|
|
19
|
+
export type { IslandConfigureOptions, IslandAuth, IslandConfigValues, IslandAnalytics, IslandUiSeams, ScanQrOptions, ScanQrResult, SubjectTokenType, } from "./runtime/bootstrap";
|
|
20
|
+
export { SETTINGS, useSetting } from "./stores/settings";
|
|
21
|
+
export { AI_TIERS, TIER_MODEL_OPTIONS, parseTierSetting } from "./services/AiTierResolution";
|
|
22
|
+
export type { AiTier, AiTierProvider, TierModelOption } from "./services/AiTierResolution";
|
|
23
|
+
export type { MemoryStats } from "./services/MemoryStore";
|
|
24
|
+
export type { SpeakerProfile } from "./services/SpeakerProfileStore";
|
|
25
|
+
export type { EnrollOutcome } from "./facades/speakers";
|
|
26
|
+
export { MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice } from "./stores/bluetoothSettingKeys";
|
|
27
|
+
export { ISLAND_SETTINGS_KEYS } from "./runtime/config";
|
|
28
|
+
export type { CloudClientStatusSnapshot, MiniappAuthToken, InteropAuditEvent, TtsSynthesisResult } from "./runtime/config";
|
|
29
|
+
export { isGlassesConnected, isGlassesReady, isGlassesLinkLayerBusy, waitForGlassesReady, type GlassesConnectionStatus, type WaitForGlassesReadyOptions, } from "./services/GlassesReadiness";
|
|
30
|
+
export { decideReconnect, decideConnectButtonAction, type ReconnectDecision, type ReconnectDecisionInput, type ConnectButtonAction, } from "./services/ConnectionCoordinator";
|
|
31
|
+
export type { VersionInfo, MtkPatch, BesFirmware, VersionJson, OtaCheckResult, OtaCheckCurrentGlassesResult, OtaCheckCurrentGlassesOptions, } from "./services/OtaUpdateCheckService";
|
|
32
|
+
export { MINIMUM_OTA_STATUS_BUILD, MAX_RETRIES, RETRY_INTERVAL_MS, PROGRESS_TIMEOUT_MS, DOWNLOAD_STUCK_TIMEOUT_MS, MTK_INSTALL_TIMEOUT_MS, GLOBAL_OTA_TIMEOUT_MS, PING_INTERVAL_MS, QUERY_REPLY_TIMEOUT_MS, OtaProgressMessages, } from "./services/otaInstallPolicy";
|
|
33
|
+
export { deriveDisplayState } from "./services/otaDisplayState";
|
|
34
|
+
export type { DisplayState } from "./services/otaDisplayState";
|
|
35
|
+
export type { OtaProgress, OtaProgressStatus, OtaStatus, OtaUpdateInfo, OtaSnapshot, OtaInstallSnapshot, } from "./facades/ota";
|
|
36
|
+
export type { GalleryNotice, GalleryNoticeCode } from "./services/asg/galleryNotices";
|
|
37
|
+
export { MediaLibraryPermissions } from "./utils/permissions/MediaLibraryPermissions";
|
|
38
|
+
export { deriveGalleryDisplayName } from "./utils/permissions/galleryDisplayName";
|
|
39
|
+
export type { PhotoInfo, CaptureFile, CaptureGroup, GalleryResponse, ServerStatus, HealthResponse, GalleryEvent, } from "./types/asg";
|
|
40
|
+
export type { PairFailureEvent, GlassesNotReadyEvent } from "@glassly/bluetooth-sdk/internal";
|
|
41
|
+
export { WebSocketStatus } from "./stores/connection";
|
|
42
|
+
export { DUMMY_APPLET, saveAppsOrder, getAppsOrder, sortAppsByPackageNamePriority, saveLastOpenTime, getLastOpenTime, sortAppsByLastOpenTime, useApps, useStart, useStop, useSetForeground, useClearForeground, useRefresh, useStopAll, useInstall, useUninstall, useActiveApps, useActiveBackgroundApps, useBackgroundApps, useActiveForegroundApp, useForegroundApp, useActiveBackgroundAppsCount, useLocalMiniApps, type StartOptions, type OrderMap, } from "./stores/apps";
|
|
43
|
+
export { decideDevLaunchRoute, type DecideDevLaunchOptions, type DevLaunchResult, type DevManifest, } from "./utils/devMiniappLaunch";
|
|
44
|
+
export { HardwareCompatibility, type CompatibilityResult } from "./utils/hardware";
|
|
45
|
+
export { BgTimer, throttle, debounce } from "./utils/timers";
|
|
46
|
+
export { HardwareType, HardwareRequirementLevel, DeviceTypes, ControllerTypes, HARDWARE_CAPABILITIES, getModelCapabilities, simulatedGlasses, evenRealitiesG1, evenRealitiesG2, mentraLive, vuzixZ100, mentraDisplay, nimo, } from "./types";
|
|
47
|
+
export type { HardwareRequirement, CameraCapabilities, DisplayCapabilities, MicrophoneCapabilities, SpeakerCapabilities, IMUCapabilities, ButtonCapabilities, LightCapabilities, PowerCapabilities, Capabilities, AppletType, AppPermissionType, AppletPermission, AppletInterface, ClientApp, } from "./types";
|
|
48
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/build/index.js
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@glassly/engine` — the OEM-facing main entry.
|
|
3
|
+
*
|
|
4
|
+
* The `engine` namespace (configure/start/stop + typed domain facades), the
|
|
5
|
+
* public contract/read-model types, and the pure helpers host UI legitimately
|
|
6
|
+
* renders with (decision functions, sort/order helpers, policy constants,
|
|
7
|
+
* capability tables, timers). Judgment rule: read models, commands, pure
|
|
8
|
+
* functions and types belong here; anything that mutates runtime state or
|
|
9
|
+
* exposes a raw store/service lives on `@glassly/engine/internal`
|
|
10
|
+
* (migration-era surface) or `@glassly/engine/devtools` (debug-only) instead.
|
|
11
|
+
* See cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.
|
|
12
|
+
*/
|
|
13
|
+
// The namespaced OEM-facing engine API (the "(A) host API"). See ./engine.
|
|
14
|
+
export { engine } from "./engine";
|
|
15
|
+
// Settings contract: the typed key registry (schema descriptors — the same
|
|
16
|
+
// surface engine.settings.descriptor()/keys() reads), the per-key React hook
|
|
17
|
+
// (the hook layer, same precedent as the apps hooks below), and the pure
|
|
18
|
+
// device-model key helpers. The raw useSettingsStore stays internal;
|
|
19
|
+
// imperative access goes through engine.settings.
|
|
20
|
+
export { SETTINGS, useSetting } from "./stores/settings";
|
|
21
|
+
// AI tier registry: the curated per-tier model dropdown options and helpers
|
|
22
|
+
// the Settings > AI Models screen renders. Resolution itself runs inside
|
|
23
|
+
// LocalMiniappRuntime; the screen only reads/writes the ai_model_* settings.
|
|
24
|
+
export { AI_TIERS, TIER_MODEL_OPTIONS, parseTierSetting } from "./services/AiTierResolution";
|
|
25
|
+
export { MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice } from "./stores/bluetoothSettingKeys";
|
|
26
|
+
// Runtime-shared constants and contract DTOs.
|
|
27
|
+
export { ISLAND_SETTINGS_KEYS } from "./runtime/config";
|
|
28
|
+
// Pure readiness predicates over glasses connection state.
|
|
29
|
+
export { isGlassesConnected, isGlassesReady, isGlassesLinkLayerBusy, waitForGlassesReady, } from "./services/GlassesReadiness";
|
|
30
|
+
// Pure connect/reconnect decision helpers (host UI renders the outcome).
|
|
31
|
+
export { decideReconnect, decideConnectButtonAction, } from "./services/ConnectionCoordinator";
|
|
32
|
+
// OTA install policy (watchdog timings + failure copy) + display-state
|
|
33
|
+
// derivation, consumed by the OTA screens and their tests.
|
|
34
|
+
export { MINIMUM_OTA_STATUS_BUILD, MAX_RETRIES, RETRY_INTERVAL_MS, PROGRESS_TIMEOUT_MS, DOWNLOAD_STUCK_TIMEOUT_MS, MTK_INSTALL_TIMEOUT_MS, GLOBAL_OTA_TIMEOUT_MS, PING_INTERVAL_MS, QUERY_REPLY_TIMEOUT_MS, OtaProgressMessages, } from "./services/otaInstallPolicy";
|
|
35
|
+
export { deriveDisplayState } from "./services/otaDisplayState";
|
|
36
|
+
export { MediaLibraryPermissions } from "./utils/permissions/MediaLibraryPermissions";
|
|
37
|
+
export { deriveGalleryDisplayName } from "./utils/permissions/galleryDisplayName";
|
|
38
|
+
// Cloud connection status enum (read model; the connection store is internal).
|
|
39
|
+
export { WebSocketStatus } from "./stores/connection";
|
|
40
|
+
// App-list hook layer + pure list helpers (the raw useAppStatusStore and
|
|
41
|
+
// installAppStoreHooks wiring are internal).
|
|
42
|
+
export { DUMMY_APPLET, saveAppsOrder, getAppsOrder, sortAppsByPackageNamePriority, saveLastOpenTime, getLastOpenTime, sortAppsByLastOpenTime, useApps, useStart, useStop, useSetForeground, useClearForeground, useRefresh, useStopAll, useInstall, useUninstall, useActiveApps, useActiveBackgroundApps, useBackgroundApps, useActiveForegroundApp, useForegroundApp, useActiveBackgroundAppsCount, useLocalMiniApps, } from "./stores/apps";
|
|
43
|
+
// Pure dev-miniapp launch-route decision (registration itself is internal).
|
|
44
|
+
export { decideDevLaunchRoute, } from "./utils/devMiniappLaunch";
|
|
45
|
+
export { HardwareCompatibility } from "./utils/hardware";
|
|
46
|
+
export { BgTimer, throttle, debounce } from "./utils/timers";
|
|
47
|
+
// Types (hardware requirement types are canonical in @glassly/miniapp; the rest are engine-owned)
|
|
48
|
+
export { HardwareType, HardwareRequirementLevel, DeviceTypes, ControllerTypes, HARDWARE_CAPABILITIES, getModelCapabilities, simulatedGlasses, evenRealitiesG1, evenRealitiesG2, mentraLive, vuzixZ100, mentraDisplay, nimo, } from "./types";
|
|
49
|
+
//# sourceMappingURL=index.js.map
|