@mentra/bluetooth-sdk 0.1.11 → 0.1.12
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 +52 -3
- package/android/build.gradle +1 -0
- package/android/src/main/java/com/mentra/bluetoothsdk/BluetoothSdkAnalytics.kt +182 -0
- package/android/src/main/java/com/mentra/bluetoothsdk/BluetoothSdkModule.kt +22 -3
- package/android/src/main/java/com/mentra/bluetoothsdk/Bridge.kt +10 -0
- package/android/src/main/java/com/mentra/bluetoothsdk/DeviceManager.kt +10 -5
- package/android/src/main/java/com/mentra/bluetoothsdk/MentraBluetoothSdk.kt +76 -5
- package/android/src/main/java/com/mentra/bluetoothsdk/camera/CameraModels.kt +15 -0
- package/android/src/main/java/com/mentra/bluetoothsdk/events/BluetoothEvents.kt +1 -0
- package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/MentraLive.java +34 -5
- package/android/src/main/java/com/mentra/bluetoothsdk/sgcs/SGCManager.kt +12 -0
- package/android/src/main/java/com/mentra/bluetoothsdk/types/DeviceModels.kt +2 -1
- package/build/BluetoothSdk.types.d.ts +33 -1
- package/build/BluetoothSdk.types.d.ts.map +1 -1
- package/build/BluetoothSdk.types.js.map +1 -1
- package/build/_private/BluetoothSdkModule.d.ts +1 -1
- package/build/_private/BluetoothSdkModule.d.ts.map +1 -1
- package/build/_private/BluetoothSdkModule.js.map +1 -1
- package/build/index.d.ts.map +1 -1
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/ios/BluetoothSdkModule.swift +21 -7
- package/ios/Source/BluetoothSdkDefaults.swift +27 -0
- package/ios/Source/Bridge.swift +6 -0
- package/ios/Source/DeviceManager.swift +9 -6
- package/ios/Source/MentraBluetoothSDK.swift +160 -8
- package/ios/Source/camera/CameraModels.swift +49 -1
- package/ios/Source/events/BluetoothEvents.swift +3 -0
- package/ios/Source/internal/BluetoothAvailability.swift +20 -0
- package/ios/Source/internal/BluetoothSdkAnalytics.swift +160 -0
- package/ios/Source/sgcs/MentraLive.swift +29 -5
- package/ios/Source/sgcs/SGCManager.swift +13 -2
- package/ios/Source/types/DeviceModels.swift +5 -1
- package/package.json +1 -1
- package/plugin/build/index.d.ts +4 -0
- package/plugin/build/withAndroid.d.ts +2 -3
- package/plugin/build/withAndroid.js +46 -0
- package/plugin/build/withIos.d.ts +2 -3
- package/plugin/build/withIos.js +32 -0
- package/src/BluetoothSdk.types.ts +40 -1
- package/src/_private/BluetoothSdkModule.ts +5 -1
- package/src/index.ts +2 -0
|
@@ -2354,6 +2354,15 @@ public class MentraLive extends SGCManager {
|
|
|
2354
2354
|
emitVideoRecordingStatus(json);
|
|
2355
2355
|
break;
|
|
2356
2356
|
|
|
2357
|
+
case "media_success":
|
|
2358
|
+
case "media_error":
|
|
2359
|
+
try {
|
|
2360
|
+
Bridge.sendMediaUploadEvent(type, jsonObjectToMap(json));
|
|
2361
|
+
} catch (JSONException e) {
|
|
2362
|
+
Log.e(TAG, "Error converting media upload event to Map", e);
|
|
2363
|
+
}
|
|
2364
|
+
break;
|
|
2365
|
+
|
|
2357
2366
|
case "voice_activity_detection_status":
|
|
2358
2367
|
handleVoiceActivityDetectionStatus(
|
|
2359
2368
|
json.optBoolean(
|
|
@@ -4370,7 +4379,7 @@ public class MentraLive extends SGCManager {
|
|
|
4370
4379
|
json.put("type", "take_photo");
|
|
4371
4380
|
json.put("requestId", requestId);
|
|
4372
4381
|
json.put("appId", appId);
|
|
4373
|
-
if (webhookUrl != null && !webhookUrl.isEmpty()) {
|
|
4382
|
+
if (webhookUrl != null && !webhookUrl.trim().isEmpty()) {
|
|
4374
4383
|
json.put("webhookUrl", webhookUrl);
|
|
4375
4384
|
}
|
|
4376
4385
|
if (hasAuthToken) {
|
|
@@ -6997,7 +7006,7 @@ public class MentraLive extends SGCManager {
|
|
|
6997
7006
|
|
|
6998
7007
|
@Override
|
|
6999
7008
|
public void startVideoRecording(String requestId, boolean save, boolean flash, boolean sound) {
|
|
7000
|
-
startVideoRecording(requestId, save, flash, sound, 0, 0, 0); // Use defaults
|
|
7009
|
+
startVideoRecording(requestId, save, flash, sound, 0, 0, 0, 0); // Use defaults
|
|
7001
7010
|
}
|
|
7002
7011
|
|
|
7003
7012
|
/**
|
|
@@ -7011,9 +7020,10 @@ public class MentraLive extends SGCManager {
|
|
|
7011
7020
|
* @param fps Video frame rate (0 for default)
|
|
7012
7021
|
*/
|
|
7013
7022
|
@Override
|
|
7014
|
-
public void startVideoRecording(String requestId, boolean save, boolean flash, boolean sound, int width, int height, int fps) {
|
|
7023
|
+
public void startVideoRecording(String requestId, boolean save, boolean flash, boolean sound, int width, int height, int fps, int maxRecordingTimeMinutes) {
|
|
7015
7024
|
Bridge.log("LIVE: Starting video recording: requestId=" + requestId + ", save=" + save +
|
|
7016
|
-
", flash=" + flash + ", sound=" + sound + ", resolution=" + width + "x" + height + "@" + fps + "fps"
|
|
7025
|
+
", flash=" + flash + ", sound=" + sound + ", resolution=" + width + "x" + height + "@" + fps + "fps" +
|
|
7026
|
+
", maxRecordingTimeMinutes=" + maxRecordingTimeMinutes);
|
|
7017
7027
|
|
|
7018
7028
|
if (!isConnected) {
|
|
7019
7029
|
Log.w(TAG, "Cannot start video recording - not connected");
|
|
@@ -7028,6 +7038,11 @@ public class MentraLive extends SGCManager {
|
|
|
7028
7038
|
json.put("flash", flash);
|
|
7029
7039
|
json.put("sound", sound);
|
|
7030
7040
|
|
|
7041
|
+
// Auto-stop timer; only sent when set (> 0). 0 = record until stopped.
|
|
7042
|
+
if (maxRecordingTimeMinutes > 0) {
|
|
7043
|
+
json.put("maxRecordingTimeMinutes", maxRecordingTimeMinutes);
|
|
7044
|
+
}
|
|
7045
|
+
|
|
7031
7046
|
// Add video settings when any field is overridden. Each field is sent
|
|
7032
7047
|
// only when > 0; the glasses merge the missing fields onto their saved
|
|
7033
7048
|
// button-video defaults, so a partial override (e.g. fps-only) still
|
|
@@ -7048,7 +7063,13 @@ public class MentraLive extends SGCManager {
|
|
|
7048
7063
|
|
|
7049
7064
|
@Override
|
|
7050
7065
|
public void stopVideoRecording(String requestId) {
|
|
7051
|
-
|
|
7066
|
+
stopVideoRecording(requestId, null, null);
|
|
7067
|
+
}
|
|
7068
|
+
|
|
7069
|
+
@Override
|
|
7070
|
+
public void stopVideoRecording(String requestId, String webhookUrl, String authToken) {
|
|
7071
|
+
Bridge.log("LIVE: Stopping video recording: requestId=" + requestId +
|
|
7072
|
+
", webhook=" + (webhookUrl == null || webhookUrl.isEmpty() ? "none" : "set"));
|
|
7052
7073
|
|
|
7053
7074
|
if (!isConnected) {
|
|
7054
7075
|
Log.w(TAG, "Cannot stop video recording - not connected");
|
|
@@ -7059,6 +7080,14 @@ public class MentraLive extends SGCManager {
|
|
|
7059
7080
|
JSONObject json = new JSONObject();
|
|
7060
7081
|
json.put("type", "stop_video_recording");
|
|
7061
7082
|
json.put("requestId", requestId);
|
|
7083
|
+
// Webhook upload target, supplied at stop so the token is fresh.
|
|
7084
|
+
// Only sent when present; empty webhook = keep video on device.
|
|
7085
|
+
if (webhookUrl != null && !webhookUrl.isEmpty()) {
|
|
7086
|
+
json.put("webhookUrl", webhookUrl);
|
|
7087
|
+
}
|
|
7088
|
+
if (authToken != null && !authToken.isEmpty()) {
|
|
7089
|
+
json.put("authToken", authToken);
|
|
7090
|
+
}
|
|
7062
7091
|
sendJson(json, true); // Wake up glasses for this command
|
|
7063
7092
|
} catch (JSONException e) {
|
|
7064
7093
|
Log.e(TAG, "Failed to create stop video recording command", e);
|
|
@@ -48,12 +48,24 @@ abstract class SGCManager {
|
|
|
48
48
|
width: Int,
|
|
49
49
|
height: Int,
|
|
50
50
|
fps: Int,
|
|
51
|
+
maxRecordingTimeMinutes: Int,
|
|
51
52
|
) {
|
|
52
53
|
startVideoRecording(requestId, save, flash, sound)
|
|
53
54
|
}
|
|
54
55
|
|
|
55
56
|
abstract fun stopVideoRecording(requestId: String)
|
|
56
57
|
|
|
58
|
+
/**
|
|
59
|
+
* Stop recording and upload the result to [webhookUrl] (multipart) using
|
|
60
|
+
* [authToken]. These are supplied at stop time so the token is fresh when
|
|
61
|
+
* the upload runs. The base implementation ignores the upload target and
|
|
62
|
+
* just stops; devices that support webhook upload (e.g. Mentra Live)
|
|
63
|
+
* override this. An empty/null [webhookUrl] means "keep the video on device".
|
|
64
|
+
*/
|
|
65
|
+
open fun stopVideoRecording(requestId: String, webhookUrl: String?, authToken: String?) {
|
|
66
|
+
stopVideoRecording(requestId)
|
|
67
|
+
}
|
|
68
|
+
|
|
57
69
|
// Button Settings
|
|
58
70
|
abstract fun sendButtonPhotoSettings()
|
|
59
71
|
abstract fun sendButtonVideoRecordingSettings()
|
|
@@ -3,8 +3,9 @@ package com.mentra.bluetoothsdk
|
|
|
3
3
|
import com.mentra.bluetoothsdk.utils.ControllerTypes
|
|
4
4
|
import com.mentra.bluetoothsdk.utils.DeviceTypes
|
|
5
5
|
|
|
6
|
-
data class MentraBluetoothSdkConfig(
|
|
6
|
+
data class MentraBluetoothSdkConfig @JvmOverloads constructor(
|
|
7
7
|
val deliverCallbacksOnMainThread: Boolean = true,
|
|
8
|
+
val analytics: BluetoothSdkAnalyticsConfig = BluetoothSdkAnalyticsConfig(),
|
|
8
9
|
)
|
|
9
10
|
|
|
10
11
|
class BluetoothException(
|
|
@@ -236,6 +236,21 @@ export type VideoRecordingStoppedStatusEvent = Omit<VideoRecordingStatusEvent, "
|
|
|
236
236
|
status: "recording_stopped";
|
|
237
237
|
};
|
|
238
238
|
export type VideoRecordingSuccessStatusEvent = VideoRecordingStartedStatusEvent | VideoRecordingStoppedStatusEvent;
|
|
239
|
+
export type MediaUploadSuccessEvent = {
|
|
240
|
+
type: "media_success";
|
|
241
|
+
requestId: string;
|
|
242
|
+
mediaUrl: string;
|
|
243
|
+
mediaType: number;
|
|
244
|
+
timestamp: number;
|
|
245
|
+
};
|
|
246
|
+
export type MediaUploadErrorEvent = {
|
|
247
|
+
type: "media_error";
|
|
248
|
+
requestId: string;
|
|
249
|
+
errorMessage: string;
|
|
250
|
+
mediaType: number;
|
|
251
|
+
timestamp: number;
|
|
252
|
+
};
|
|
253
|
+
export type MediaUploadEvent = MediaUploadSuccessEvent | MediaUploadErrorEvent;
|
|
239
254
|
export type GalleryStatusEvent = {
|
|
240
255
|
type: "gallery_status";
|
|
241
256
|
photos: number;
|
|
@@ -325,6 +340,12 @@ export interface VideoRecordingSettings {
|
|
|
325
340
|
width?: number;
|
|
326
341
|
height?: number;
|
|
327
342
|
fps?: number;
|
|
343
|
+
/**
|
|
344
|
+
* Optional auto-stop timer in minutes, sent on `start_video_recording`.
|
|
345
|
+
* `0` (the default) means record until stopped or interrupted
|
|
346
|
+
* (battery/storage/thermal/error).
|
|
347
|
+
*/
|
|
348
|
+
maxRecordingTimeMinutes?: number;
|
|
328
349
|
}
|
|
329
350
|
export declare const DeviceModels: {
|
|
330
351
|
readonly Simulated: "Simulated Glasses";
|
|
@@ -606,6 +627,8 @@ export type BluetoothSdkModuleEvents = {
|
|
|
606
627
|
photo_response: (event: PhotoResponseEvent) => void;
|
|
607
628
|
photo_status: (event: PhotoStatusEvent) => void;
|
|
608
629
|
video_recording_status: (event: VideoRecordingStatusEvent) => void;
|
|
630
|
+
media_success: (event: MediaUploadSuccessEvent) => void;
|
|
631
|
+
media_error: (event: MediaUploadErrorEvent) => void;
|
|
609
632
|
gallery_status: (event: GalleryStatusEvent) => void;
|
|
610
633
|
compatible_glasses_search_stop: (event: CompatibleGlassesSearchStopEvent) => void;
|
|
611
634
|
heartbeat_sent: (event: HeartbeatSentEvent) => void;
|
|
@@ -664,6 +687,8 @@ export type BluetoothSdkEventMap = {
|
|
|
664
687
|
photo_response: PhotoResponseEvent;
|
|
665
688
|
photo_status: PhotoStatusEvent;
|
|
666
689
|
video_recording_status: VideoRecordingStatusEvent;
|
|
690
|
+
media_success: MediaUploadSuccessEvent;
|
|
691
|
+
media_error: MediaUploadErrorEvent;
|
|
667
692
|
gallery_status: GalleryStatusEvent;
|
|
668
693
|
compatible_glasses_search_stop: CompatibleGlassesSearchStopEvent;
|
|
669
694
|
swipe_volume_status: SwipeVolumeStatusEvent;
|
|
@@ -724,7 +749,14 @@ export interface BluetoothSdkPublicModule {
|
|
|
724
749
|
queryGalleryStatus(): Promise<GalleryStatusEvent>;
|
|
725
750
|
requestPhoto(params: PhotoRequestParams): Promise<PhotoSuccessResponseEvent>;
|
|
726
751
|
startVideoRecording(requestId: string, save: boolean, sound: boolean, settings?: VideoRecordingSettings): Promise<VideoRecordingStartedStatusEvent>;
|
|
727
|
-
|
|
752
|
+
/**
|
|
753
|
+
* Stop the active recording. When {@link webhookUrl} is provided, the glasses
|
|
754
|
+
* upload the recorded video to it (multipart) using {@link authToken}. These
|
|
755
|
+
* are supplied at stop time (not start) so the token is fresh when the upload
|
|
756
|
+
* runs — a recording can last arbitrarily long. An empty/omitted webhook keeps
|
|
757
|
+
* the video on device (no upload).
|
|
758
|
+
*/
|
|
759
|
+
stopVideoRecording(requestId: string, webhookUrl?: string, authToken?: string): Promise<VideoRecordingStoppedStatusEvent>;
|
|
728
760
|
startStream(params: StreamStartRequest): Promise<StreamStatusEvent>;
|
|
729
761
|
stopStream(): Promise<StreamStatusEvent>;
|
|
730
762
|
setMicState(enabled: boolean, useGlassesMic?: boolean, sendTranscript?: boolean, sendLc3Data?: boolean): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BluetoothSdk.types.d.ts","sourceRoot":"","sources":["../src/BluetoothSdk.types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BluetoothSdk.types.d.ts","sourceRoot":"","sources":["../src/BluetoothSdk.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BluetoothSdk.types.js","sourceRoot":"","sources":["../src/BluetoothSdk.types.ts"],"names":[],"mappings":"AAwCA,MAAM,CAAC,MAAM,wCAAwC,GAAG,KAAK,CAAA;AAwB7D,MAAM,UAAU,kCAAkC,CAChD,MAA+B;IAE/B,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAA+B;IAC5E,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,MAAM,CAAC,WAAW,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAA+B;IAC3E,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAAA;AACnG,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,UAAU,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC;QACnC,OAAO,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC;QAC5B,6BAA6B,EAAE,wCAAwC;QACvE,IAAI,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC;KAC9B,CAAA;AACH,CAAC;AA2BD,MAAM,UAAU,qBAAqB,CAAC,MAAkB;IACtD,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,CAAA;AACrC,CAAC;AAUD,MAAM,UAAU,sBAAsB,CAAC,MAAqB;IAC1D,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,CAAA;AACnC,CAAC;AAqSD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,gBAAgB;IAC3B,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,iBAAiB;IACxB,EAAE,EAAE,mBAAmB;CACf,CAAA;AAWV,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAA;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA","sourcesContent":["// Bluetooth SDK Event Types\nexport type GlassesNotReadyEvent = {\n type: \"glasses_not_ready\"\n message: string\n}\n\n// NOTE: unlike most events below, the native module does NOT include a `type`\n// field on the button_press payload — it sends only {buttonId, pressType,\n// timestamp} (see BluetoothSdkModule on both iOS and Android). Consumers must\n// filter on `pressType` / the \"button_press\" listener name, never `event.type`.\nexport type ButtonPressEvent = {\n buttonId: string\n pressType: \"long\" | \"short\"\n timestamp: number\n}\n\nexport type TouchEvent = {\n type: \"touch_event\"\n deviceModel: DeviceModel\n gestureName: string\n timestamp: number\n}\n\nexport type AccelEvent = {\n type: \"accel_event\"\n x: number\n y: number\n z: number\n timestamp: number\n}\n\nexport type HeadUpEvent = {\n up: boolean\n}\n\nexport type VoiceActivityDetectionStatusEvent = {\n type: \"voice_activity_detection_status\"\n voiceActivityDetectionEnabled: boolean\n}\n\nexport const DEFAULT_VOICE_ACTIVITY_DETECTION_ENABLED = false\n\nexport type SpeakingStatusEvent = {\n type: \"speaking_status\"\n speaking: boolean\n timestamp: number\n}\n\nexport type BatteryStatusEvent = {\n type: \"battery_status\"\n level: number\n charging: boolean\n timestamp: number\n}\n\nexport type GlassesConnectionStatus =\n | {state: \"disconnected\"}\n | {state: \"scanning\"}\n | {state: \"connecting\"}\n | {state: \"bonding\"}\n | {state: \"connected\"; fullyBooted: boolean}\n\nexport type ConnectedGlassesConnectionStatus = Extract<GlassesConnectionStatus, {state: \"connected\"}>\n\nexport function isConnectedGlassesConnectionStatus(\n status: GlassesConnectionStatus,\n): status is ConnectedGlassesConnectionStatus {\n return status.state === \"connected\"\n}\n\nexport function isReadyGlassesConnectionStatus(status: GlassesConnectionStatus): boolean {\n return status.state === \"connected\" && status.fullyBooted\n}\n\nexport function isBusyGlassesConnectionStatus(status: GlassesConnectionStatus): boolean {\n return status.state === \"scanning\" || status.state === \"connecting\" || status.state === \"bonding\"\n}\n\nexport function createDisconnectedGlassesStatus(): Partial<GlassesStatus> {\n return {\n connection: {state: \"disconnected\"},\n hotspot: {state: \"disabled\"},\n voiceActivityDetectionEnabled: DEFAULT_VOICE_ACTIVITY_DETECTION_ENABLED,\n wifi: {state: \"disconnected\"},\n }\n}\n\n/** K900 `sr_getvol` response (Mentra Live glasses media step volume 0–15). */\nexport type GlassesMediaVolumeGetResult = {\n level: number\n statusCode: number\n}\n\n/** K900 `sr_vol` acknowledgment. */\nexport type GlassesMediaVolumeSetResult = {\n statusCode: number\n}\n\nexport type LocalTranscriptionEvent = {\n text: string\n isFinal?: boolean\n transcribeLanguage?: string\n}\n\nexport type LogEvent = {\n message: string\n}\n\nexport type WifiStatus = {state: \"disconnected\"} | {state: \"connected\"; ssid: string; localIp?: string}\n\nexport type ConnectedWifiStatus = Extract<WifiStatus, {state: \"connected\"}>\n\nexport function isConnectedWifiStatus(status: WifiStatus): status is ConnectedWifiStatus {\n return status.state === \"connected\"\n}\n\nexport type WifiStatusChangeEvent = WifiStatus & {\n type: \"wifi_status_change\"\n}\n\nexport type HotspotStatus = {state: \"disabled\"} | {state: \"enabled\"; ssid: string; password: string; localIp: string}\n\nexport type EnabledHotspotStatus = Extract<HotspotStatus, {state: \"enabled\"}>\n\nexport function isEnabledHotspotStatus(status: HotspotStatus): status is EnabledHotspotStatus {\n return status.state === \"enabled\"\n}\n\nexport type HotspotStatusChangeEvent = HotspotStatus & {\n type: \"hotspot_status_change\"\n}\n\nexport type HotspotErrorEvent = {\n type: \"hotspot_error\"\n errorMessage: string\n timestamp: number\n}\n\nexport type VersionInfoResult = {\n androidVersion: string\n firmwareVersion: string\n besFirmwareVersion: string\n mtkFirmwareVersion: string\n buildNumber: string\n systemTimeMs?: number\n otaVersionUrl: string\n appVersion: string\n}\n\nexport type VersionInfoEvent = VersionInfoResult & {\n type: \"version_info\"\n}\n\nexport type WifiScanResultEvent = {\n type: \"wifi_scan_result\"\n networks: WifiSearchResult[]\n scanComplete?: boolean\n}\n\nexport type PhotoResponseEvent =\n | {\n type: \"photo_response\"\n state: \"success\"\n requestId: string\n uploadUrl: string\n photoUrl?: string\n statusUrl?: string\n contentType?: string\n fileSizeBytes?: number\n timestamp: number\n }\n | {\n type: \"photo_response\"\n state: \"error\"\n requestId: string\n timestamp: number\n errorCode?: string\n errorMessage: string\n }\n\nexport type PhotoSuccessResponseEvent = Extract<PhotoResponseEvent, {state: \"success\"}>\n\nexport type PhotoStatusState =\n | \"accepted\"\n | \"queued\"\n | \"configuring\"\n | \"capturing\"\n | \"captured\"\n | \"compressing\"\n | \"ble_fallback_compression\"\n | \"uploading\"\n | \"uploaded\"\n | \"ready_for_transfer\"\n | \"transferring\"\n | \"failed\"\n\nexport type PhotoResolvedConfig = {\n format?: \"jpeg\" | string\n width?: number\n height?: number\n quality?: number\n requestedSize?: PhotoSize | string\n source?: \"sdk\" | \"button\" | string\n transferMethod?: \"webhook\" | \"ble\" | \"local\" | string\n compression?: PhotoCompression | string\n saveToGallery?: boolean\n exposureTimeNs?: number\n iso?: number\n}\n\nexport type PhotoFpsRange = {\n min?: number\n max?: number\n}\n\nexport type PhotoRequestedCaptureConfig = {\n manual?: boolean\n exposureTimeNs?: number\n iso?: number\n frameDurationNs?: number\n aeMode?: number\n aeLock?: boolean\n aeExposureCompensation?: number\n aeTargetFpsRange?: PhotoFpsRange\n noiseReductionMode?: number\n edgeMode?: number\n afMode?: number\n zsl?: boolean\n}\n\nexport type PhotoMeteredPreview = {\n exposureTimeNs?: number\n iso?: number\n totalLightProxy?: number\n}\n\nexport type PhotoCaptureMetadata = {\n manual?: boolean\n exposureTimeNs?: number\n iso?: number\n frameDurationNs?: number\n aeMode?: number\n aeState?: number\n aeStateName?: string\n noiseReductionMode?: number\n edgeMode?: number\n zsl?: boolean\n sensorTimestampNs?: number\n totalLightProxy?: number\n mfnrLikely?: boolean\n}\n\nexport type PhotoStatusEvent = {\n type: \"photo_status\"\n requestId: string\n status: PhotoStatusState | string\n timestamp: number\n resolvedConfig?: PhotoResolvedConfig\n requestedCaptureConfig?: PhotoRequestedCaptureConfig\n meteredPreview?: PhotoMeteredPreview\n captureMetadata?: PhotoCaptureMetadata\n errorCode?: string\n errorMessage?: string\n}\n\nexport type VideoRecordingStatusEvent = {\n type: \"video_recording_status\"\n requestId?: string\n success: boolean\n status: VideoRecordingStatusState\n details?: string | null\n timestamp: number\n data?: {\n recording?: boolean\n duration_ms?: number\n duration_formatted?: string\n [key: string]: unknown\n }\n}\n\nexport type VideoRecordingStatusState =\n | \"recording_started\"\n | \"recording_status\"\n | \"already_recording\"\n | \"recording_stopped\"\n | \"not_recording\"\n | \"request_id_mismatch\"\n | \"service_unavailable\"\n | \"json_error\"\n | \"battery_low\"\n | \"camera_busy\"\n | \"storage_unavailable\"\n | \"integrity_failed\"\n | \"error\"\n\nexport type VideoRecordingStartedStatusEvent = Omit<VideoRecordingStatusEvent, \"success\" | \"status\"> & {\n success: true\n status: \"recording_started\"\n}\n\nexport type VideoRecordingStoppedStatusEvent = Omit<VideoRecordingStatusEvent, \"success\" | \"status\"> & {\n success: true\n status: \"recording_stopped\"\n}\n\nexport type VideoRecordingSuccessStatusEvent =\n | VideoRecordingStartedStatusEvent\n | VideoRecordingStoppedStatusEvent\n\nexport type GalleryStatusEvent = {\n type: \"gallery_status\"\n photos: number\n videos: number\n total: number\n totalSize?: number\n hasContent: boolean\n cameraBusy: boolean\n cameraBusyReason?: \"video\" | \"stream\" | (string & {})\n}\n\nexport type CompatibleGlassesSearchStopEvent = {\n type: \"compatible_glasses_search_stop\"\n deviceModel: DeviceModel\n}\n\nexport type HeartbeatSentEvent = {\n type: \"heartbeat_sent\"\n heartbeat_sent: {\n timestamp: number\n }\n}\n\nexport type HeartbeatReceivedEvent = {\n type: \"heartbeat_received\"\n heartbeat_received: {\n timestamp: number\n }\n}\n\nexport type SwipeVolumeStatusEvent = {\n type: \"swipe_volume_status\"\n enabled: boolean\n timestamp: number\n}\n\nexport type SwitchStatusEvent = {\n type: \"switch_status\"\n switchType?: number\n switchValue?: number\n timestamp: number\n}\n\nexport type RgbLedControlResponseEvent =\n | {\n type: \"rgb_led_control_response\"\n state: \"success\"\n requestId: string\n }\n | {\n type: \"rgb_led_control_response\"\n state: \"error\"\n requestId: string\n errorCode: string\n }\n\nexport type RgbLedControlSuccessResponseEvent = Extract<RgbLedControlResponseEvent, {state: \"success\"}>\n\nexport type SettingsAckStatus = \"applied\" | \"ready\" | \"error\" | \"failed\" | \"failure\" | \"rejected\"\n\nexport type SettingsAckSetting =\n | \"gallery_mode\"\n | \"button_photo\"\n | \"button_video_recording\"\n | \"button_camera_led\"\n | \"button_max_recording_time\"\n | \"camera_fov\"\n\nexport type SettingsAckEvent = {\n type: \"settings_ack\"\n requestId: string\n setting: SettingsAckSetting\n status: SettingsAckStatus\n timestamp: number\n fov?: number\n roiPosition?: CameraRoiPositionValue\n hardwareApplied?: boolean\n active?: boolean\n size?: ButtonPhotoSize | string\n width?: number\n height?: number\n fps?: number\n enabled?: boolean\n minutes?: number\n errorCode?: string\n errorMessage?: string\n}\n\nexport type SettingsAckSuccessStatus = Exclude<SettingsAckStatus, \"error\" | \"failed\" | \"failure\" | \"rejected\">\n\nexport type SettingsAckSuccessEvent = Omit<SettingsAckEvent, \"status\"> & {\n status: SettingsAckSuccessStatus\n}\n\nexport type RgbLedAction = \"on\" | \"off\"\nexport type RgbLedColor = \"red\" | \"green\" | \"blue\" | \"orange\" | \"white\"\nexport type PhotoSize = \"small\" | \"medium\" | \"large\" | \"full\"\nexport type ButtonPhotoSize = \"small\" | \"medium\" | \"large\" | \"max\"\nexport type PhotoCompression = \"none\" | \"medium\" | \"heavy\"\n\n/**\n * Optional per-recording video settings for {@link startVideoRecording}. When\n * omitted, the glasses fall back to their saved button-video settings. Any\n * field left undefined is omitted from the BLE command (glasses default applies).\n */\nexport interface VideoRecordingSettings {\n width?: number\n height?: number\n fps?: number\n}\nexport const DeviceModels = {\n Simulated: \"Simulated Glasses\",\n G1: \"Even Realities G1\",\n G2: \"Even Realities G2\",\n MentraLive: \"Mentra Live\",\n MentraNex: \"Mentra Display\",\n Mach1: \"Mentra Mach1\",\n Z100: \"Vuzix Z100\",\n Frame: \"Brilliant Frame\",\n R1: \"Even Realities R1\",\n} as const\n\nexport type DeviceModel = (typeof DeviceModels)[keyof typeof DeviceModels]\nexport type ObservableStoreCategory = \"glasses\" | \"bluetooth\" | \"core\"\n\nexport type DashboardMenuItem = {\n title: string\n packageName: string\n values?: Record<string, unknown>\n}\n\nexport const CAMERA_FOV_MIN = 62\nexport const CAMERA_FOV_MAX = 118\nexport const CAMERA_FOV_DEFAULT = 102\n\nexport type CameraRoiPosition = \"center\" | \"bottom\" | \"top\"\nexport type CameraRoiPositionValue = 0 | 1 | 2\nexport type CameraFovPreset = \"narrow\" | \"standard\" | \"wide\"\n\nexport type CameraFovRequest =\n | {\n fov: number\n roiPosition?: CameraRoiPosition\n }\n | {\n preset: CameraFovPreset\n }\n\nexport type CameraFovResult = {\n requestId: string\n fov: number\n roiPosition: CameraRoiPosition\n timestamp: number\n}\n\nexport type CameraFovSetting = {\n fov: number\n roiPosition: CameraRoiPositionValue\n}\n\ntype NativeCameraFovSetting = {\n fov: number\n roi_position: CameraRoiPositionValue\n}\n\nexport type MicPreference = \"auto\" | \"phone\" | \"glasses\" | \"bluetooth\"\nexport type MicMode = \"phone\" | \"glasses\" | \"bluetoothClassic\" | \"bluetooth\"\n\nexport type PhotoRequestParams = {\n requestId: string\n appId: string\n size: PhotoSize\n webhookUrl: string | null\n authToken: string | null\n compress: PhotoCompression\n save?: boolean\n sound: boolean\n exposureTimeNs?: number | null\n /** Sensor ISO for this capture only. Only used when exposureTimeNs enables manual exposure. */\n iso?: number | null\n}\n\nexport type StreamVideoConfig = {\n width?: number\n height?: number\n bitrate?: number\n fps?: number\n}\n\nexport type StreamAudioConfig = {\n bitrate?: number\n sampleRate?: number\n echoCancellation?: boolean\n noiseSuppression?: boolean\n}\n\nexport type StreamStartRequest = {\n type?: \"start_stream\"\n streamUrl: string\n streamId?: string\n keepAlive?: boolean\n keepAliveIntervalSeconds?: number\n sound?: boolean\n video?: StreamVideoConfig\n audio?: StreamAudioConfig\n}\n\nexport type StreamKeepAliveRequest = {\n type?: \"keep_stream_alive\"\n streamId: string\n ackId: string\n}\n\nexport type PairFailureEvent = {\n type: \"pair_failure\"\n error: string\n}\n\nexport type AudioPairingNeededEvent = {\n type: \"audio_pairing_needed\"\n deviceName: string\n}\n\nexport type AudioConnectedEvent = {\n type: \"audio_connected\"\n deviceName: string\n}\n\nexport type AudioDisconnectedEvent = {\n type: \"audio_disconnected\"\n}\n\nexport type SaveSettingEvent = {\n type: \"save_setting\"\n key: string\n value: any\n}\n\nexport type WsTextEvent = {\n type: \"ws_text\"\n text: string\n}\n\nexport type WsBinEvent = {\n type: \"ws_bin\"\n base64: string\n}\n\nexport type MicPcmEvent = {\n type: \"mic_pcm\"\n pcm: ArrayBuffer\n sampleRate: 16000\n bitsPerSample: 16\n channels: 1\n encoding: \"pcm_s16le\"\n voiceActivityDetectionEnabled: boolean\n}\n\nexport type MicLc3Event = {\n type: \"mic_lc3\"\n lc3: ArrayBuffer\n sampleRate: 16000\n channels: 1\n encoding: \"lc3\"\n frameDurationMs: 10\n frameSizeBytes: number\n bitrate: number\n packetizedFromGlasses: boolean\n voiceActivityDetectionEnabled: boolean\n}\n\nexport type StreamStatusLifecycleState = \"initializing\" | \"streaming\" | \"stopping\" | \"stopped\"\nexport type StreamStatusReconnectState = \"reconnecting\" | \"reconnected\" | \"reconnect_failed\"\nexport type StreamStatusState = StreamStatusLifecycleState | StreamStatusReconnectState | \"error\"\n\n/** Effective stream settings reported by the glasses after defaults and clamps. */\nexport type StreamResolvedConfig = {\n transport?: \"rtmp\" | \"srt\" | \"whip\"\n video?: {\n /** Encoded output width sent to the stream endpoint. */\n width: number\n /** Encoded output height sent to the stream endpoint. */\n height: number\n /** Native camera buffer width selected before crop/downscale. */\n captureWidth?: number\n /** Native camera buffer height selected before crop/downscale. */\n captureHeight?: number\n /** Encoded video bitrate in bits per second. */\n bitrate: number\n /** Resolved capture/encode frame rate. */\n fps: number\n }\n audio?: {\n /** Encoded audio bitrate in bits per second. */\n bitrate?: number\n /** Audio sample rate in Hz. */\n sampleRate?: number\n echoCancellation?: boolean\n noiseSuppression?: boolean\n }\n}\n\ntype StreamStatusCommon = {\n type: \"stream_status\"\n streamId?: string\n timestamp?: number\n resolvedConfig?: StreamResolvedConfig\n}\n\nexport type StreamStatusEvent =\n | (StreamStatusCommon & {\n kind: \"lifecycle\"\n status: StreamStatusLifecycleState\n })\n | (StreamStatusCommon & {\n kind: \"reconnect\"\n status: \"reconnecting\"\n attempt: number\n maxAttempts: number\n reason: string\n })\n | (StreamStatusCommon & {\n kind: \"reconnect\"\n status: \"reconnected\"\n attempt: number\n })\n | (StreamStatusCommon & {\n kind: \"reconnect\"\n status: \"reconnect_failed\"\n maxAttempts: number\n })\n | (StreamStatusCommon & {\n kind: \"error\"\n status: \"error\"\n errorDetails: string\n })\n | (StreamStatusCommon & {\n kind: \"snapshot\"\n status: \"streaming\" | \"reconnecting\" | \"stopped\"\n streaming: boolean\n reconnecting: boolean\n attempt?: number\n })\n\nexport type KeepAliveAckEvent = {\n type: \"keep_alive_ack\"\n streamId: string\n ackId: string\n timestamp?: number\n}\n\nexport type MtkUpdateCompleteEvent = {\n type: \"mtk_update_complete\"\n message: string\n timestamp: number\n}\n\nexport type OtaUpdateAvailableEvent = {\n type: \"ota_update_available\"\n version_code?: number\n version_name?: string\n updates?: string[]\n total_size?: number\n cache_ready?: boolean\n}\n\n/** @deprecated Glasses no longer emit ota_progress; use {@link OtaStatusEvent} and status-store mapping. */\nexport type OtaProgressEvent = {\n type: \"ota_progress\"\n stage?: OtaStage\n status?: OtaProgressStatus\n progress?: number\n bytes_downloaded?: number\n total_bytes?: number\n current_update?: string\n error_message?: string\n}\n\nexport type OtaStartAckEvent = {\n type: \"ota_start_ack\"\n timestamp: number\n}\n\nexport type OtaStatusEvent = {\n type: \"ota_status\"\n session_id: string\n total_steps: number\n current_step: number\n step_type: \"apk\" | \"mtk\" | \"bes\"\n phase: \"download\" | \"install\"\n step_percent: number\n overall_percent: number\n status: \"in_progress\" | \"step_complete\" | \"complete\" | \"failed\" | \"idle\"\n error_message?: string\n}\n\nexport type OtaQueryResult = OtaUpdateAvailableEvent | OtaStatusEvent\n\n/** Nex BLE protobuf trace (NexEventUtils); payload matches native Map keys. */\nexport type BleCommandTraceEvent = {\n command: string\n commandText: string\n timestamp: number\n}\n\nexport type MiniappSelectedEvent = {\n type: \"miniapp_selected\"\n packageName: string\n}\n\n// Union type of all native/internal Bluetooth SDK events.\nexport type BluetoothSdkInternalEvent = Parameters<BluetoothSdkModuleEvents[keyof BluetoothSdkModuleEvents]>[0]\n\nexport type BluetoothSdkModuleEvents = {\n glasses_status: (changed: Partial<GlassesStatus>) => void\n bluetooth_status: (changed: Partial<BluetoothStatus>) => void\n log: (event: LogEvent) => void\n device_discovered: (device: Device) => void\n default_device_changed: (event: {device?: Device}) => void\n // Individual event handlers\n glasses_not_ready: (event: GlassesNotReadyEvent) => void\n button_press: (event: ButtonPressEvent) => void\n touch_event: (event: TouchEvent) => void\n accel_event: (event: AccelEvent) => void\n head_up: (event: HeadUpEvent) => void\n voice_activity_detection_status: (event: VoiceActivityDetectionStatusEvent) => void\n speaking_status: (event: SpeakingStatusEvent) => void\n battery_status: (event: BatteryStatusEvent) => void\n local_transcription: (event: LocalTranscriptionEvent) => void\n wifi_status_change: (event: WifiStatusChangeEvent) => void\n wifi_scan_result: (event: WifiScanResultEvent) => void\n hotspot_status_change: (event: HotspotStatusChangeEvent) => void\n hotspot_error: (event: HotspotErrorEvent) => void\n photo_response: (event: PhotoResponseEvent) => void\n photo_status: (event: PhotoStatusEvent) => void\n video_recording_status: (event: VideoRecordingStatusEvent) => void\n gallery_status: (event: GalleryStatusEvent) => void\n compatible_glasses_search_stop: (event: CompatibleGlassesSearchStopEvent) => void\n heartbeat_sent: (event: HeartbeatSentEvent) => void\n heartbeat_received: (event: HeartbeatReceivedEvent) => void\n swipe_volume_status: (event: SwipeVolumeStatusEvent) => void\n switch_status: (event: SwitchStatusEvent) => void\n rgb_led_control_response: (event: RgbLedControlResponseEvent) => void\n settings_ack: (event: SettingsAckEvent) => void\n pair_failure: (event: PairFailureEvent) => void\n audio_pairing_needed: (event: AudioPairingNeededEvent) => void\n audio_connected: (event: AudioConnectedEvent) => void\n audio_disconnected: (event: AudioDisconnectedEvent) => void\n save_setting: (event: SaveSettingEvent) => void\n ws_text: (event: WsTextEvent) => void\n ws_bin: (event: WsBinEvent) => void\n mic_pcm: (event: MicPcmEvent) => void\n mic_lc3: (event: MicLc3Event) => void\n stream_status: (event: StreamStatusEvent) => void\n keep_alive_ack: (event: KeepAliveAckEvent) => void\n mtk_update_complete: (event: MtkUpdateCompleteEvent) => void\n ota_update_available: (event: OtaUpdateAvailableEvent) => void\n ota_start_ack: (event: OtaStartAckEvent) => void\n ota_status: (event: OtaStatusEvent) => void\n version_info: (event: VersionInfoEvent) => void\n send_command_to_ble: (event: BleCommandTraceEvent) => void\n receive_command_from_ble: (event: BleCommandTraceEvent) => void\n miniapp_selected: (event: MiniappSelectedEvent) => void\n extraction_progress: (event: ExtractionProgressEvent) => void\n}\n\nexport interface ExtractionProgressEvent {\n percentage: number\n bytesRead: number\n totalBytes: number\n}\n\nexport type PublicGlassesStatus = Omit<\n GlassesStatus,\n \"otaUpdateAvailable\" | \"otaProgress\" | \"otaInProgress\" | \"otaVersionUrl\"\n>\n\nexport type PublicBluetoothStatus = Pick<\n BluetoothStatus,\n | \"searching\"\n | \"searchingController\"\n | \"systemMicUnavailable\"\n | \"micRanking\"\n | \"currentMic\"\n | \"searchResults\"\n | \"wifiScanResults\"\n | \"lastLog\"\n | \"otherBtConnected\"\n | \"galleryModeEnabled\"\n>\n\nexport type BluetoothSdkEventMap = {\n log: LogEvent\n device_discovered: Device\n default_device_changed: {device?: Device}\n glasses_not_ready: GlassesNotReadyEvent\n button_press: ButtonPressEvent\n touch_event: TouchEvent\n accel_event: AccelEvent\n head_up: HeadUpEvent\n voice_activity_detection_status: VoiceActivityDetectionStatusEvent\n speaking_status: SpeakingStatusEvent\n battery_status: BatteryStatusEvent\n local_transcription: LocalTranscriptionEvent\n wifi_status_change: WifiStatusChangeEvent\n wifi_scan_result: WifiScanResultEvent\n hotspot_status_change: HotspotStatusChangeEvent\n hotspot_error: HotspotErrorEvent\n photo_response: PhotoResponseEvent\n photo_status: PhotoStatusEvent\n video_recording_status: VideoRecordingStatusEvent\n gallery_status: GalleryStatusEvent\n compatible_glasses_search_stop: CompatibleGlassesSearchStopEvent\n swipe_volume_status: SwipeVolumeStatusEvent\n switch_status: SwitchStatusEvent\n rgb_led_control_response: RgbLedControlResponseEvent\n settings_ack: SettingsAckEvent\n pair_failure: PairFailureEvent\n audio_pairing_needed: AudioPairingNeededEvent\n audio_connected: AudioConnectedEvent\n audio_disconnected: AudioDisconnectedEvent\n mic_pcm: MicPcmEvent\n mic_lc3: MicLc3Event\n stream_status: StreamStatusEvent\n ota_update_available: OtaUpdateAvailableEvent\n ota_start_ack: OtaStartAckEvent\n ota_status: OtaStatusEvent\n version_info: VersionInfoEvent\n extraction_progress: ExtractionProgressEvent\n}\n\nexport type BluetoothSdkEventName = keyof BluetoothSdkEventMap\n\nexport type BluetoothSdkEventListener<EventName extends BluetoothSdkEventName> = (\n event: BluetoothSdkEventMap[EventName],\n) => void\n\nexport type BluetoothSdkSubscription = {\n remove(): void\n}\n\nexport type BluetoothSdkEvent = BluetoothSdkEventMap[BluetoothSdkEventName]\n\nexport interface BluetoothSdkPublicModule {\n addListener<EventName extends BluetoothSdkEventName>(\n eventName: EventName,\n listener: BluetoothSdkEventListener<EventName>,\n ): BluetoothSdkSubscription\n\n getDefaultDevice(): Promise<Device | null>\n setDefaultDevice(device: Device | null): Promise<void>\n clearDefaultDevice(): Promise<void>\n\n startScan(model: DeviceModel): Promise<void>\n stopScan(): Promise<void>\n scan(options: ScanOptions): Promise<Device[]>\n scan(model: DeviceModel, options?: ScanModelOptions): Promise<Device[]>\n connect(device: Device, options?: ConnectOptions): Promise<void>\n connectDefault(options?: ConnectOptions): Promise<void>\n cancelConnectionAttempt(): Promise<void>\n disconnect(): Promise<void>\n forget(): Promise<void>\n\n displayText(text: string, x?: number, y?: number, size?: number): Promise<void>\n clearDisplay(): Promise<void>\n showDashboard(): Promise<void>\n setDashboardPosition(height: number, depth: number): Promise<void>\n setHeadUpAngle(angleDegrees: number): Promise<void>\n setImuEnabled(enabled: boolean): Promise<void>\n setScreenDisabled(disabled: boolean): Promise<void>\n\n requestWifiScan(): Promise<WifiSearchResult[]>\n sendWifiCredentials(ssid: string, password: string): Promise<WifiStatusChangeEvent>\n forgetWifiNetwork(ssid: string): Promise<WifiStatusChangeEvent>\n setHotspotState(enabled: boolean): Promise<HotspotStatusChangeEvent>\n\n setGalleryModeEnabled(enabled: boolean): Promise<SettingsAckSuccessEvent>\n setVoiceActivityDetectionEnabled(enabled: boolean): Promise<void>\n setButtonPhotoSettings(size: ButtonPhotoSize): Promise<SettingsAckSuccessEvent>\n setButtonVideoRecordingSettings(width: number, height: number, fps: number): Promise<SettingsAckSuccessEvent>\n setButtonCameraLed(enabled: boolean): Promise<SettingsAckSuccessEvent>\n setButtonMaxRecordingTime(minutes: number): Promise<SettingsAckSuccessEvent>\n setCameraFov(request: CameraFovRequest): Promise<CameraFovResult>\n queryGalleryStatus(): Promise<GalleryStatusEvent>\n requestPhoto(params: PhotoRequestParams): Promise<PhotoSuccessResponseEvent>\n startVideoRecording(\n requestId: string,\n save: boolean,\n sound: boolean,\n settings?: VideoRecordingSettings,\n ): Promise<VideoRecordingStartedStatusEvent>\n stopVideoRecording(requestId: string): Promise<VideoRecordingStoppedStatusEvent>\n\n startStream(params: StreamStartRequest): Promise<StreamStatusEvent>\n stopStream(): Promise<StreamStatusEvent>\n\n setMicState(enabled: boolean, useGlassesMic?: boolean, sendTranscript?: boolean, sendLc3Data?: boolean): Promise<void>\n setPreferredMic(preferredMic: MicPreference): Promise<void>\n setOwnAppAudioPlaying(playing: boolean): Promise<void>\n getGlassesMediaVolume(): Promise<GlassesMediaVolumeGetResult>\n setGlassesMediaVolume(level: number): Promise<GlassesMediaVolumeSetResult>\n\n rgbLedControl(\n requestId: string,\n packageName: string | null,\n action: RgbLedAction,\n color: RgbLedColor | null,\n onDurationMs: number,\n offDurationMs: number,\n count: number,\n ): Promise<RgbLedControlSuccessResponseEvent>\n\n requestVersionInfo(): Promise<VersionInfoResult>\n /** Ask connected Mentra Live glasses to check/report OTA availability and status. */\n checkForOtaUpdate(): Promise<OtaQueryResult>\n /** Start the OTA flow after your app has presented the available update to the user. */\n startOtaUpdate(): Promise<OtaStartAckEvent>\n /** Re-run the glasses-side OTA version check, mainly after correcting clock skew/TLS failures. */\n retryOtaVersionCheck(): Promise<OtaQueryResult>\n\n // // stt commands (MOVE TO CRUST)\n // setSttModelDetails(path: string, languageCode: string): Promise<void>\n // getSttModelPath(): Promise<string>\n // checkSttModelAvailable(): Promise<boolean>\n // validateSttModel(path: string): Promise<boolean>\n // extractTarBz2(sourcePath: string, destinationPath: string): Promise<boolean>\n\n // // tts commands (MOVE TO CRUST)\n // setTtsModelDetails(path: string, languageCode: string): Promise<void>\n // getTtsModelPath(): Promise<string>\n // getTtsModelLanguage(): Promise<string>\n // checkTtsModelAvailable(): Promise<boolean>\n // validateTtsModel(path: string): Promise<boolean>\n // generateTtsAudio(text: string, path: string, outputPath: string, speakerId: number, speed: number): Promise<boolean>\n\n // STT Commands (TODO: MOVE TO CRUST)\n setSttModelDetails(path: string, languageCode: string): Promise<void>\n getSttModelPath(): Promise<string>\n checkSttModelAvailable(): Promise<boolean>\n validateSttModel(path: string): Promise<boolean>\n extractTarBz2(sourcePath: string, destinationPath: string): Promise<boolean>\n restartTranscriber(): Promise<void>\n\n // TTS Commands (TODO: MOVE TO CRUST)\n setTtsModelDetails(path: string, languageCode: string): Promise<void>\n getTtsModelPath(): Promise<string>\n getTtsModelLanguage(): Promise<string>\n checkTtsModelAvailable(): Promise<boolean>\n validateTtsModel(path: string): Promise<boolean>\n generateTtsAudio(\n text: string,\n modelPath: string,\n outputPath: string,\n speakerId: number,\n speed: number,\n ): Promise<boolean>\n}\n\n// OTA update status types\nexport type OtaStage = \"download\" | \"install\"\nexport type OtaProgressStatus = \"STARTED\" | \"PROGRESS\" | \"FINISHED\" | \"FAILED\"\n\nexport interface OtaStatus {\n sessionId: string\n totalSteps: number\n currentStep: number\n stepType: \"apk\" | \"mtk\" | \"bes\"\n phase: \"download\" | \"install\"\n stepPercent: number\n overallPercent: number\n status: \"in_progress\" | \"step_complete\" | \"complete\" | \"failed\" | \"idle\"\n error?: string\n}\n\nexport interface OtaUpdateInfo {\n available: boolean\n versionCode: number\n versionName: string\n updates: string[] // [\"apk\", \"mtk\", \"bes\"]\n totalSize: number\n cacheReady?: boolean\n}\n\nexport interface OtaProgress {\n stage: OtaStage\n status: OtaProgressStatus\n progress: number\n bytesDownloaded: number\n totalBytes: number\n currentUpdate: string\n errorMessage?: string\n}\n\nexport interface GlassesStatus {\n // state:\n connection: GlassesConnectionStatus\n micEnabled: boolean\n voiceActivityDetectionEnabled: boolean\n bluetoothClassicConnected: boolean\n signalStrength: number\n /** Milliseconds since epoch when signalStrength was last refreshed by the phone BLE stack. */\n signalStrengthUpdatedAt: number\n // device info\n deviceModel: string\n androidVersion: string\n firmwareVersion: string\n besFirmwareVersion: string\n mtkFirmwareVersion: string\n bluetoothMacAddress: string\n leftMacAddress: string\n rightMacAddress: string\n buildNumber: string\n /** Glasses System.currentTimeMillis() from last version_info (clock skew detection). */\n systemTimeMs?: number\n otaVersionUrl: string\n appVersion: string\n bluetoothName: string\n serialNumber: string\n style: string\n color: string\n // wifi info\n wifi: WifiStatus\n // battery info\n batteryLevel: number\n charging: boolean\n caseBatteryLevel: number\n caseCharging: boolean\n caseOpen: boolean\n caseRemoved: boolean\n // hotspot info\n hotspot: HotspotStatus\n // OTA update info\n otaUpdateAvailable: OtaUpdateInfo | null\n otaProgress: OtaProgress | null\n otaInProgress: boolean\n // ring info\n controllerConnected: boolean\n controllerFullyBooted: boolean\n controllerMacAddress: string\n controllerBatteryLevel: number\n controllerSignalStrength: number\n}\n\nexport interface CoreDashboardMenuItem {\n name: string\n packageName: string\n running: boolean\n}\n\nexport interface CalendarEvent {\n title: string\n location?: string\n time: string\n endDate: number\n}\n\nexport interface CoreSettings {\n menu_apps: CoreDashboardMenuItem[]\n calendar_events: CalendarEvent[]\n}\n\nexport interface Device {\n /**\n * Stable app-facing key for this scan result, within the limits of the\n * platform identifier available to the SDK. Do not parse this value; use the\n * typed model, name, address, and rssi fields instead.\n */\n id: string\n model: DeviceModel\n name: string\n /** Platform address/identifier when available: Android Bluetooth address, iOS CoreBluetooth identifier. */\n address?: string\n /**\n * Optional scan signal strength. It may be undefined at first discovery and\n * appear in a later scan update when the platform reports RSSI metadata.\n */\n rssi?: number\n}\n\nexport interface ConnectOptions {\n saveAsDefault?: boolean\n cancelExistingConnectionAttempt?: boolean\n}\n\nexport type ScanResultsCallback = (devices: Device[]) => void\n\nexport interface ScanOptions {\n model: DeviceModel\n /** Defaults to 15000. */\n timeoutMs?: number\n /** Alias for `timeoutMs`, useful when mirroring native examples. */\n timeout?: number\n /** Called every time the discovered device list changes during the scan. */\n onResults?: ScanResultsCallback\n}\n\nexport type ScanModelOptions = Omit<ScanOptions, \"model\">\n\nexport interface WifiSearchResult {\n ssid: string\n requiresPassword: boolean\n signalStrength: number\n /** Frequency in MHz (from glasses scan). 5 GHz band is typically 5170–5825. Omitted if unknown. */\n frequency?: number\n}\n\nexport interface BluetoothStatus {\n // state:\n searching: boolean\n searchingController: boolean\n default_wearable?: DeviceModel | \"\"\n pending_wearable?: DeviceModel | \"\"\n device_name?: string\n device_address?: string\n default_controller?: DeviceModel | \"\"\n pending_controller?: DeviceModel | \"\"\n controller_device_name?: string\n controller_address?: string\n systemMicUnavailable: boolean\n micRanking: MicMode[]\n currentMic: MicMode | \"\" | null\n /**\n * Nearby glasses in stable discovery order.\n * Existing entries keep their array position as details refresh; new glasses append at the end,\n * and removals should not reorder remaining entries.\n */\n searchResults: Device[]\n wifiScanResults: WifiSearchResult[]\n lastLog: string[]\n otherBtConnected: boolean\n // desired settings the SDK sends to compatible connected glasses:\n galleryModeEnabled: boolean\n}\n\nexport type BluetoothSettingsUpdate = Partial<{\n auth_email: string\n core_token: string\n sensing_enabled: boolean\n power_saving_mode: boolean\n lc3_frame_size: number\n preferred_mic: MicPreference\n screen_disabled: boolean\n contextual_dashboard: boolean\n head_up_angle: number\n imu_enabled: boolean\n brightness: number\n auto_brightness: boolean\n dashboard_height: number\n dashboard_depth: number\n menu_apps: DashboardMenuItem[] | CoreDashboardMenuItem[] | Array<Record<string, unknown>> | null\n calendar_events: CalendarEvent[]\n metric_system: boolean\n twelve_hour_time: boolean\n gallery_mode: boolean\n voice_activity_detection_enabled: boolean\n button_photo_size: ButtonPhotoSize\n button_video_settings: {width: number; height: number; fps: number}\n button_video_width: number\n button_video_height: number\n button_video_fps: number\n button_camera_led: boolean\n button_max_recording_time: number\n camera_fov: NativeCameraFovSetting\n should_send_pcm: boolean\n should_send_lc3: boolean\n should_send_transcript: boolean\n offline_mode: boolean\n offline_captions_running: boolean\n local_stt_fallback_active: boolean\n pending_wearable: DeviceModel | \"\"\n default_wearable: DeviceModel | \"\"\n device_name: string\n device_address: string\n default_controller: DeviceModel | \"\"\n pending_controller: DeviceModel | \"\"\n controller_device_name: string\n controller_address: string\n}>\n"]}
|
|
1
|
+
{"version":3,"file":"BluetoothSdk.types.js","sourceRoot":"","sources":["../src/BluetoothSdk.types.ts"],"names":[],"mappings":"AAwCA,MAAM,CAAC,MAAM,wCAAwC,GAAG,KAAK,CAAA;AAwB7D,MAAM,UAAU,kCAAkC,CAChD,MAA+B;IAE/B,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,CAAA;AACrC,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,MAA+B;IAC5E,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,MAAM,CAAC,WAAW,CAAA;AAC3D,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAA+B;IAC3E,OAAO,MAAM,CAAC,KAAK,KAAK,UAAU,IAAI,MAAM,CAAC,KAAK,KAAK,YAAY,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS,CAAA;AACnG,CAAC;AAED,MAAM,UAAU,+BAA+B;IAC7C,OAAO;QACL,UAAU,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC;QACnC,OAAO,EAAE,EAAC,KAAK,EAAE,UAAU,EAAC;QAC5B,6BAA6B,EAAE,wCAAwC;QACvE,IAAI,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC;KAC9B,CAAA;AACH,CAAC;AA2BD,MAAM,UAAU,qBAAqB,CAAC,MAAkB;IACtD,OAAO,MAAM,CAAC,KAAK,KAAK,WAAW,CAAA;AACrC,CAAC;AAUD,MAAM,UAAU,sBAAsB,CAAC,MAAqB;IAC1D,OAAO,MAAM,CAAC,KAAK,KAAK,SAAS,CAAA;AACnC,CAAC;AA6TD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,mBAAmB;IAC9B,EAAE,EAAE,mBAAmB;IACvB,EAAE,EAAE,mBAAmB;IACvB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,gBAAgB;IAC3B,KAAK,EAAE,cAAc;IACrB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,iBAAiB;IACxB,EAAE,EAAE,mBAAmB;CACf,CAAA;AAWV,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAA;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;AACjC,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAA","sourcesContent":["// Bluetooth SDK Event Types\nexport type GlassesNotReadyEvent = {\n type: \"glasses_not_ready\"\n message: string\n}\n\n// NOTE: unlike most events below, the native module does NOT include a `type`\n// field on the button_press payload — it sends only {buttonId, pressType,\n// timestamp} (see BluetoothSdkModule on both iOS and Android). Consumers must\n// filter on `pressType` / the \"button_press\" listener name, never `event.type`.\nexport type ButtonPressEvent = {\n buttonId: string\n pressType: \"long\" | \"short\"\n timestamp: number\n}\n\nexport type TouchEvent = {\n type: \"touch_event\"\n deviceModel: DeviceModel\n gestureName: string\n timestamp: number\n}\n\nexport type AccelEvent = {\n type: \"accel_event\"\n x: number\n y: number\n z: number\n timestamp: number\n}\n\nexport type HeadUpEvent = {\n up: boolean\n}\n\nexport type VoiceActivityDetectionStatusEvent = {\n type: \"voice_activity_detection_status\"\n voiceActivityDetectionEnabled: boolean\n}\n\nexport const DEFAULT_VOICE_ACTIVITY_DETECTION_ENABLED = false\n\nexport type SpeakingStatusEvent = {\n type: \"speaking_status\"\n speaking: boolean\n timestamp: number\n}\n\nexport type BatteryStatusEvent = {\n type: \"battery_status\"\n level: number\n charging: boolean\n timestamp: number\n}\n\nexport type GlassesConnectionStatus =\n | {state: \"disconnected\"}\n | {state: \"scanning\"}\n | {state: \"connecting\"}\n | {state: \"bonding\"}\n | {state: \"connected\"; fullyBooted: boolean}\n\nexport type ConnectedGlassesConnectionStatus = Extract<GlassesConnectionStatus, {state: \"connected\"}>\n\nexport function isConnectedGlassesConnectionStatus(\n status: GlassesConnectionStatus,\n): status is ConnectedGlassesConnectionStatus {\n return status.state === \"connected\"\n}\n\nexport function isReadyGlassesConnectionStatus(status: GlassesConnectionStatus): boolean {\n return status.state === \"connected\" && status.fullyBooted\n}\n\nexport function isBusyGlassesConnectionStatus(status: GlassesConnectionStatus): boolean {\n return status.state === \"scanning\" || status.state === \"connecting\" || status.state === \"bonding\"\n}\n\nexport function createDisconnectedGlassesStatus(): Partial<GlassesStatus> {\n return {\n connection: {state: \"disconnected\"},\n hotspot: {state: \"disabled\"},\n voiceActivityDetectionEnabled: DEFAULT_VOICE_ACTIVITY_DETECTION_ENABLED,\n wifi: {state: \"disconnected\"},\n }\n}\n\n/** K900 `sr_getvol` response (Mentra Live glasses media step volume 0–15). */\nexport type GlassesMediaVolumeGetResult = {\n level: number\n statusCode: number\n}\n\n/** K900 `sr_vol` acknowledgment. */\nexport type GlassesMediaVolumeSetResult = {\n statusCode: number\n}\n\nexport type LocalTranscriptionEvent = {\n text: string\n isFinal?: boolean\n transcribeLanguage?: string\n}\n\nexport type LogEvent = {\n message: string\n}\n\nexport type WifiStatus = {state: \"disconnected\"} | {state: \"connected\"; ssid: string; localIp?: string}\n\nexport type ConnectedWifiStatus = Extract<WifiStatus, {state: \"connected\"}>\n\nexport function isConnectedWifiStatus(status: WifiStatus): status is ConnectedWifiStatus {\n return status.state === \"connected\"\n}\n\nexport type WifiStatusChangeEvent = WifiStatus & {\n type: \"wifi_status_change\"\n}\n\nexport type HotspotStatus = {state: \"disabled\"} | {state: \"enabled\"; ssid: string; password: string; localIp: string}\n\nexport type EnabledHotspotStatus = Extract<HotspotStatus, {state: \"enabled\"}>\n\nexport function isEnabledHotspotStatus(status: HotspotStatus): status is EnabledHotspotStatus {\n return status.state === \"enabled\"\n}\n\nexport type HotspotStatusChangeEvent = HotspotStatus & {\n type: \"hotspot_status_change\"\n}\n\nexport type HotspotErrorEvent = {\n type: \"hotspot_error\"\n errorMessage: string\n timestamp: number\n}\n\nexport type VersionInfoResult = {\n androidVersion: string\n firmwareVersion: string\n besFirmwareVersion: string\n mtkFirmwareVersion: string\n buildNumber: string\n systemTimeMs?: number\n otaVersionUrl: string\n appVersion: string\n}\n\nexport type VersionInfoEvent = VersionInfoResult & {\n type: \"version_info\"\n}\n\nexport type WifiScanResultEvent = {\n type: \"wifi_scan_result\"\n networks: WifiSearchResult[]\n scanComplete?: boolean\n}\n\nexport type PhotoResponseEvent =\n | {\n type: \"photo_response\"\n state: \"success\"\n requestId: string\n uploadUrl: string\n photoUrl?: string\n statusUrl?: string\n contentType?: string\n fileSizeBytes?: number\n timestamp: number\n }\n | {\n type: \"photo_response\"\n state: \"error\"\n requestId: string\n timestamp: number\n errorCode?: string\n errorMessage: string\n }\n\nexport type PhotoSuccessResponseEvent = Extract<PhotoResponseEvent, {state: \"success\"}>\n\nexport type PhotoStatusState =\n | \"accepted\"\n | \"queued\"\n | \"configuring\"\n | \"capturing\"\n | \"captured\"\n | \"compressing\"\n | \"ble_fallback_compression\"\n | \"uploading\"\n | \"uploaded\"\n | \"ready_for_transfer\"\n | \"transferring\"\n | \"failed\"\n\nexport type PhotoResolvedConfig = {\n format?: \"jpeg\" | string\n width?: number\n height?: number\n quality?: number\n requestedSize?: PhotoSize | string\n source?: \"sdk\" | \"button\" | string\n transferMethod?: \"webhook\" | \"ble\" | \"local\" | string\n compression?: PhotoCompression | string\n saveToGallery?: boolean\n exposureTimeNs?: number\n iso?: number\n}\n\nexport type PhotoFpsRange = {\n min?: number\n max?: number\n}\n\nexport type PhotoRequestedCaptureConfig = {\n manual?: boolean\n exposureTimeNs?: number\n iso?: number\n frameDurationNs?: number\n aeMode?: number\n aeLock?: boolean\n aeExposureCompensation?: number\n aeTargetFpsRange?: PhotoFpsRange\n noiseReductionMode?: number\n edgeMode?: number\n afMode?: number\n zsl?: boolean\n}\n\nexport type PhotoMeteredPreview = {\n exposureTimeNs?: number\n iso?: number\n totalLightProxy?: number\n}\n\nexport type PhotoCaptureMetadata = {\n manual?: boolean\n exposureTimeNs?: number\n iso?: number\n frameDurationNs?: number\n aeMode?: number\n aeState?: number\n aeStateName?: string\n noiseReductionMode?: number\n edgeMode?: number\n zsl?: boolean\n sensorTimestampNs?: number\n totalLightProxy?: number\n mfnrLikely?: boolean\n}\n\nexport type PhotoStatusEvent = {\n type: \"photo_status\"\n requestId: string\n status: PhotoStatusState | string\n timestamp: number\n resolvedConfig?: PhotoResolvedConfig\n requestedCaptureConfig?: PhotoRequestedCaptureConfig\n meteredPreview?: PhotoMeteredPreview\n captureMetadata?: PhotoCaptureMetadata\n errorCode?: string\n errorMessage?: string\n}\n\nexport type VideoRecordingStatusEvent = {\n type: \"video_recording_status\"\n requestId?: string\n success: boolean\n status: VideoRecordingStatusState\n details?: string | null\n timestamp: number\n data?: {\n recording?: boolean\n duration_ms?: number\n duration_formatted?: string\n [key: string]: unknown\n }\n}\n\nexport type VideoRecordingStatusState =\n | \"recording_started\"\n | \"recording_status\"\n | \"already_recording\"\n | \"recording_stopped\"\n | \"not_recording\"\n | \"request_id_mismatch\"\n | \"service_unavailable\"\n | \"json_error\"\n | \"battery_low\"\n | \"camera_busy\"\n | \"storage_unavailable\"\n | \"integrity_failed\"\n | \"error\"\n\nexport type VideoRecordingStartedStatusEvent = Omit<VideoRecordingStatusEvent, \"success\" | \"status\"> & {\n success: true\n status: \"recording_started\"\n}\n\nexport type VideoRecordingStoppedStatusEvent = Omit<VideoRecordingStatusEvent, \"success\" | \"status\"> & {\n success: true\n status: \"recording_stopped\"\n}\n\nexport type VideoRecordingSuccessStatusEvent =\n | VideoRecordingStartedStatusEvent\n | VideoRecordingStoppedStatusEvent\n\nexport type MediaUploadSuccessEvent = {\n type: \"media_success\"\n requestId: string\n mediaUrl: string\n mediaType: number\n timestamp: number\n}\n\nexport type MediaUploadErrorEvent = {\n type: \"media_error\"\n requestId: string\n errorMessage: string\n mediaType: number\n timestamp: number\n}\n\nexport type MediaUploadEvent = MediaUploadSuccessEvent | MediaUploadErrorEvent\n\nexport type GalleryStatusEvent = {\n type: \"gallery_status\"\n photos: number\n videos: number\n total: number\n totalSize?: number\n hasContent: boolean\n cameraBusy: boolean\n cameraBusyReason?: \"video\" | \"stream\" | (string & {})\n}\n\nexport type CompatibleGlassesSearchStopEvent = {\n type: \"compatible_glasses_search_stop\"\n deviceModel: DeviceModel\n}\n\nexport type HeartbeatSentEvent = {\n type: \"heartbeat_sent\"\n heartbeat_sent: {\n timestamp: number\n }\n}\n\nexport type HeartbeatReceivedEvent = {\n type: \"heartbeat_received\"\n heartbeat_received: {\n timestamp: number\n }\n}\n\nexport type SwipeVolumeStatusEvent = {\n type: \"swipe_volume_status\"\n enabled: boolean\n timestamp: number\n}\n\nexport type SwitchStatusEvent = {\n type: \"switch_status\"\n switchType?: number\n switchValue?: number\n timestamp: number\n}\n\nexport type RgbLedControlResponseEvent =\n | {\n type: \"rgb_led_control_response\"\n state: \"success\"\n requestId: string\n }\n | {\n type: \"rgb_led_control_response\"\n state: \"error\"\n requestId: string\n errorCode: string\n }\n\nexport type RgbLedControlSuccessResponseEvent = Extract<RgbLedControlResponseEvent, {state: \"success\"}>\n\nexport type SettingsAckStatus = \"applied\" | \"ready\" | \"error\" | \"failed\" | \"failure\" | \"rejected\"\n\nexport type SettingsAckSetting =\n | \"gallery_mode\"\n | \"button_photo\"\n | \"button_video_recording\"\n | \"button_camera_led\"\n | \"button_max_recording_time\"\n | \"camera_fov\"\n\nexport type SettingsAckEvent = {\n type: \"settings_ack\"\n requestId: string\n setting: SettingsAckSetting\n status: SettingsAckStatus\n timestamp: number\n fov?: number\n roiPosition?: CameraRoiPositionValue\n hardwareApplied?: boolean\n active?: boolean\n size?: ButtonPhotoSize | string\n width?: number\n height?: number\n fps?: number\n enabled?: boolean\n minutes?: number\n errorCode?: string\n errorMessage?: string\n}\n\nexport type SettingsAckSuccessStatus = Exclude<SettingsAckStatus, \"error\" | \"failed\" | \"failure\" | \"rejected\">\n\nexport type SettingsAckSuccessEvent = Omit<SettingsAckEvent, \"status\"> & {\n status: SettingsAckSuccessStatus\n}\n\nexport type RgbLedAction = \"on\" | \"off\"\nexport type RgbLedColor = \"red\" | \"green\" | \"blue\" | \"orange\" | \"white\"\nexport type PhotoSize = \"small\" | \"medium\" | \"large\" | \"full\"\nexport type ButtonPhotoSize = \"small\" | \"medium\" | \"large\" | \"max\"\nexport type PhotoCompression = \"none\" | \"medium\" | \"heavy\"\n\n/**\n * Optional per-recording video settings for {@link startVideoRecording}. When\n * omitted, the glasses fall back to their saved button-video settings. Any\n * field left undefined is omitted from the BLE command (glasses default applies).\n */\nexport interface VideoRecordingSettings {\n width?: number\n height?: number\n fps?: number\n /**\n * Optional auto-stop timer in minutes, sent on `start_video_recording`.\n * `0` (the default) means record until stopped or interrupted\n * (battery/storage/thermal/error).\n */\n maxRecordingTimeMinutes?: number\n}\nexport const DeviceModels = {\n Simulated: \"Simulated Glasses\",\n G1: \"Even Realities G1\",\n G2: \"Even Realities G2\",\n MentraLive: \"Mentra Live\",\n MentraNex: \"Mentra Display\",\n Mach1: \"Mentra Mach1\",\n Z100: \"Vuzix Z100\",\n Frame: \"Brilliant Frame\",\n R1: \"Even Realities R1\",\n} as const\n\nexport type DeviceModel = (typeof DeviceModels)[keyof typeof DeviceModels]\nexport type ObservableStoreCategory = \"glasses\" | \"bluetooth\" | \"core\"\n\nexport type DashboardMenuItem = {\n title: string\n packageName: string\n values?: Record<string, unknown>\n}\n\nexport const CAMERA_FOV_MIN = 62\nexport const CAMERA_FOV_MAX = 118\nexport const CAMERA_FOV_DEFAULT = 102\n\nexport type CameraRoiPosition = \"center\" | \"bottom\" | \"top\"\nexport type CameraRoiPositionValue = 0 | 1 | 2\nexport type CameraFovPreset = \"narrow\" | \"standard\" | \"wide\"\n\nexport type CameraFovRequest =\n | {\n fov: number\n roiPosition?: CameraRoiPosition\n }\n | {\n preset: CameraFovPreset\n }\n\nexport type CameraFovResult = {\n requestId: string\n fov: number\n roiPosition: CameraRoiPosition\n timestamp: number\n}\n\nexport type CameraFovSetting = {\n fov: number\n roiPosition: CameraRoiPositionValue\n}\n\ntype NativeCameraFovSetting = {\n fov: number\n roi_position: CameraRoiPositionValue\n}\n\nexport type MicPreference = \"auto\" | \"phone\" | \"glasses\" | \"bluetooth\"\nexport type MicMode = \"phone\" | \"glasses\" | \"bluetoothClassic\" | \"bluetooth\"\n\nexport type PhotoRequestParams = {\n requestId: string\n appId: string\n size: PhotoSize\n webhookUrl: string | null\n authToken: string | null\n compress: PhotoCompression\n save?: boolean\n sound: boolean\n exposureTimeNs?: number | null\n /** Sensor ISO for this capture only. Only used when exposureTimeNs enables manual exposure. */\n iso?: number | null\n}\n\nexport type StreamVideoConfig = {\n width?: number\n height?: number\n bitrate?: number\n fps?: number\n}\n\nexport type StreamAudioConfig = {\n bitrate?: number\n sampleRate?: number\n echoCancellation?: boolean\n noiseSuppression?: boolean\n}\n\nexport type StreamStartRequest = {\n type?: \"start_stream\"\n streamUrl: string\n streamId?: string\n keepAlive?: boolean\n keepAliveIntervalSeconds?: number\n sound?: boolean\n video?: StreamVideoConfig\n audio?: StreamAudioConfig\n}\n\nexport type StreamKeepAliveRequest = {\n type?: \"keep_stream_alive\"\n streamId: string\n ackId: string\n}\n\nexport type PairFailureEvent = {\n type: \"pair_failure\"\n error: string\n}\n\nexport type AudioPairingNeededEvent = {\n type: \"audio_pairing_needed\"\n deviceName: string\n}\n\nexport type AudioConnectedEvent = {\n type: \"audio_connected\"\n deviceName: string\n}\n\nexport type AudioDisconnectedEvent = {\n type: \"audio_disconnected\"\n}\n\nexport type SaveSettingEvent = {\n type: \"save_setting\"\n key: string\n value: any\n}\n\nexport type WsTextEvent = {\n type: \"ws_text\"\n text: string\n}\n\nexport type WsBinEvent = {\n type: \"ws_bin\"\n base64: string\n}\n\nexport type MicPcmEvent = {\n type: \"mic_pcm\"\n pcm: ArrayBuffer\n sampleRate: 16000\n bitsPerSample: 16\n channels: 1\n encoding: \"pcm_s16le\"\n voiceActivityDetectionEnabled: boolean\n}\n\nexport type MicLc3Event = {\n type: \"mic_lc3\"\n lc3: ArrayBuffer\n sampleRate: 16000\n channels: 1\n encoding: \"lc3\"\n frameDurationMs: 10\n frameSizeBytes: number\n bitrate: number\n packetizedFromGlasses: boolean\n voiceActivityDetectionEnabled: boolean\n}\n\nexport type StreamStatusLifecycleState = \"initializing\" | \"streaming\" | \"stopping\" | \"stopped\"\nexport type StreamStatusReconnectState = \"reconnecting\" | \"reconnected\" | \"reconnect_failed\"\nexport type StreamStatusState = StreamStatusLifecycleState | StreamStatusReconnectState | \"error\"\n\n/** Effective stream settings reported by the glasses after defaults and clamps. */\nexport type StreamResolvedConfig = {\n transport?: \"rtmp\" | \"srt\" | \"whip\"\n video?: {\n /** Encoded output width sent to the stream endpoint. */\n width: number\n /** Encoded output height sent to the stream endpoint. */\n height: number\n /** Native camera buffer width selected before crop/downscale. */\n captureWidth?: number\n /** Native camera buffer height selected before crop/downscale. */\n captureHeight?: number\n /** Encoded video bitrate in bits per second. */\n bitrate: number\n /** Resolved capture/encode frame rate. */\n fps: number\n }\n audio?: {\n /** Encoded audio bitrate in bits per second. */\n bitrate?: number\n /** Audio sample rate in Hz. */\n sampleRate?: number\n echoCancellation?: boolean\n noiseSuppression?: boolean\n }\n}\n\ntype StreamStatusCommon = {\n type: \"stream_status\"\n streamId?: string\n timestamp?: number\n resolvedConfig?: StreamResolvedConfig\n}\n\nexport type StreamStatusEvent =\n | (StreamStatusCommon & {\n kind: \"lifecycle\"\n status: StreamStatusLifecycleState\n })\n | (StreamStatusCommon & {\n kind: \"reconnect\"\n status: \"reconnecting\"\n attempt: number\n maxAttempts: number\n reason: string\n })\n | (StreamStatusCommon & {\n kind: \"reconnect\"\n status: \"reconnected\"\n attempt: number\n })\n | (StreamStatusCommon & {\n kind: \"reconnect\"\n status: \"reconnect_failed\"\n maxAttempts: number\n })\n | (StreamStatusCommon & {\n kind: \"error\"\n status: \"error\"\n errorDetails: string\n })\n | (StreamStatusCommon & {\n kind: \"snapshot\"\n status: \"streaming\" | \"reconnecting\" | \"stopped\"\n streaming: boolean\n reconnecting: boolean\n attempt?: number\n })\n\nexport type KeepAliveAckEvent = {\n type: \"keep_alive_ack\"\n streamId: string\n ackId: string\n timestamp?: number\n}\n\nexport type MtkUpdateCompleteEvent = {\n type: \"mtk_update_complete\"\n message: string\n timestamp: number\n}\n\nexport type OtaUpdateAvailableEvent = {\n type: \"ota_update_available\"\n version_code?: number\n version_name?: string\n updates?: string[]\n total_size?: number\n cache_ready?: boolean\n}\n\n/** @deprecated Glasses no longer emit ota_progress; use {@link OtaStatusEvent} and status-store mapping. */\nexport type OtaProgressEvent = {\n type: \"ota_progress\"\n stage?: OtaStage\n status?: OtaProgressStatus\n progress?: number\n bytes_downloaded?: number\n total_bytes?: number\n current_update?: string\n error_message?: string\n}\n\nexport type OtaStartAckEvent = {\n type: \"ota_start_ack\"\n timestamp: number\n}\n\nexport type OtaStatusEvent = {\n type: \"ota_status\"\n session_id: string\n total_steps: number\n current_step: number\n step_type: \"apk\" | \"mtk\" | \"bes\"\n phase: \"download\" | \"install\"\n step_percent: number\n overall_percent: number\n status: \"in_progress\" | \"step_complete\" | \"complete\" | \"failed\" | \"idle\"\n error_message?: string\n}\n\nexport type OtaQueryResult = OtaUpdateAvailableEvent | OtaStatusEvent\n\n/** Nex BLE protobuf trace (NexEventUtils); payload matches native Map keys. */\nexport type BleCommandTraceEvent = {\n command: string\n commandText: string\n timestamp: number\n}\n\nexport type MiniappSelectedEvent = {\n type: \"miniapp_selected\"\n packageName: string\n}\n\n// Union type of all native/internal Bluetooth SDK events.\nexport type BluetoothSdkInternalEvent = Parameters<BluetoothSdkModuleEvents[keyof BluetoothSdkModuleEvents]>[0]\n\nexport type BluetoothSdkModuleEvents = {\n glasses_status: (changed: Partial<GlassesStatus>) => void\n bluetooth_status: (changed: Partial<BluetoothStatus>) => void\n log: (event: LogEvent) => void\n device_discovered: (device: Device) => void\n default_device_changed: (event: {device?: Device}) => void\n // Individual event handlers\n glasses_not_ready: (event: GlassesNotReadyEvent) => void\n button_press: (event: ButtonPressEvent) => void\n touch_event: (event: TouchEvent) => void\n accel_event: (event: AccelEvent) => void\n head_up: (event: HeadUpEvent) => void\n voice_activity_detection_status: (event: VoiceActivityDetectionStatusEvent) => void\n speaking_status: (event: SpeakingStatusEvent) => void\n battery_status: (event: BatteryStatusEvent) => void\n local_transcription: (event: LocalTranscriptionEvent) => void\n wifi_status_change: (event: WifiStatusChangeEvent) => void\n wifi_scan_result: (event: WifiScanResultEvent) => void\n hotspot_status_change: (event: HotspotStatusChangeEvent) => void\n hotspot_error: (event: HotspotErrorEvent) => void\n photo_response: (event: PhotoResponseEvent) => void\n photo_status: (event: PhotoStatusEvent) => void\n video_recording_status: (event: VideoRecordingStatusEvent) => void\n media_success: (event: MediaUploadSuccessEvent) => void\n media_error: (event: MediaUploadErrorEvent) => void\n gallery_status: (event: GalleryStatusEvent) => void\n compatible_glasses_search_stop: (event: CompatibleGlassesSearchStopEvent) => void\n heartbeat_sent: (event: HeartbeatSentEvent) => void\n heartbeat_received: (event: HeartbeatReceivedEvent) => void\n swipe_volume_status: (event: SwipeVolumeStatusEvent) => void\n switch_status: (event: SwitchStatusEvent) => void\n rgb_led_control_response: (event: RgbLedControlResponseEvent) => void\n settings_ack: (event: SettingsAckEvent) => void\n pair_failure: (event: PairFailureEvent) => void\n audio_pairing_needed: (event: AudioPairingNeededEvent) => void\n audio_connected: (event: AudioConnectedEvent) => void\n audio_disconnected: (event: AudioDisconnectedEvent) => void\n save_setting: (event: SaveSettingEvent) => void\n ws_text: (event: WsTextEvent) => void\n ws_bin: (event: WsBinEvent) => void\n mic_pcm: (event: MicPcmEvent) => void\n mic_lc3: (event: MicLc3Event) => void\n stream_status: (event: StreamStatusEvent) => void\n keep_alive_ack: (event: KeepAliveAckEvent) => void\n mtk_update_complete: (event: MtkUpdateCompleteEvent) => void\n ota_update_available: (event: OtaUpdateAvailableEvent) => void\n ota_start_ack: (event: OtaStartAckEvent) => void\n ota_status: (event: OtaStatusEvent) => void\n version_info: (event: VersionInfoEvent) => void\n send_command_to_ble: (event: BleCommandTraceEvent) => void\n receive_command_from_ble: (event: BleCommandTraceEvent) => void\n miniapp_selected: (event: MiniappSelectedEvent) => void\n extraction_progress: (event: ExtractionProgressEvent) => void\n}\n\nexport interface ExtractionProgressEvent {\n percentage: number\n bytesRead: number\n totalBytes: number\n}\n\nexport type PublicGlassesStatus = Omit<\n GlassesStatus,\n \"otaUpdateAvailable\" | \"otaProgress\" | \"otaInProgress\" | \"otaVersionUrl\"\n>\n\nexport type PublicBluetoothStatus = Pick<\n BluetoothStatus,\n | \"searching\"\n | \"searchingController\"\n | \"systemMicUnavailable\"\n | \"micRanking\"\n | \"currentMic\"\n | \"searchResults\"\n | \"wifiScanResults\"\n | \"lastLog\"\n | \"otherBtConnected\"\n | \"galleryModeEnabled\"\n>\n\nexport type BluetoothSdkEventMap = {\n log: LogEvent\n device_discovered: Device\n default_device_changed: {device?: Device}\n glasses_not_ready: GlassesNotReadyEvent\n button_press: ButtonPressEvent\n touch_event: TouchEvent\n accel_event: AccelEvent\n head_up: HeadUpEvent\n voice_activity_detection_status: VoiceActivityDetectionStatusEvent\n speaking_status: SpeakingStatusEvent\n battery_status: BatteryStatusEvent\n local_transcription: LocalTranscriptionEvent\n wifi_status_change: WifiStatusChangeEvent\n wifi_scan_result: WifiScanResultEvent\n hotspot_status_change: HotspotStatusChangeEvent\n hotspot_error: HotspotErrorEvent\n photo_response: PhotoResponseEvent\n photo_status: PhotoStatusEvent\n video_recording_status: VideoRecordingStatusEvent\n media_success: MediaUploadSuccessEvent\n media_error: MediaUploadErrorEvent\n gallery_status: GalleryStatusEvent\n compatible_glasses_search_stop: CompatibleGlassesSearchStopEvent\n swipe_volume_status: SwipeVolumeStatusEvent\n switch_status: SwitchStatusEvent\n rgb_led_control_response: RgbLedControlResponseEvent\n settings_ack: SettingsAckEvent\n pair_failure: PairFailureEvent\n audio_pairing_needed: AudioPairingNeededEvent\n audio_connected: AudioConnectedEvent\n audio_disconnected: AudioDisconnectedEvent\n mic_pcm: MicPcmEvent\n mic_lc3: MicLc3Event\n stream_status: StreamStatusEvent\n ota_update_available: OtaUpdateAvailableEvent\n ota_start_ack: OtaStartAckEvent\n ota_status: OtaStatusEvent\n version_info: VersionInfoEvent\n extraction_progress: ExtractionProgressEvent\n}\n\nexport type BluetoothSdkEventName = keyof BluetoothSdkEventMap\n\nexport type BluetoothSdkEventListener<EventName extends BluetoothSdkEventName> = (\n event: BluetoothSdkEventMap[EventName],\n) => void\n\nexport type BluetoothSdkSubscription = {\n remove(): void\n}\n\nexport type BluetoothSdkEvent = BluetoothSdkEventMap[BluetoothSdkEventName]\n\nexport interface BluetoothSdkPublicModule {\n addListener<EventName extends BluetoothSdkEventName>(\n eventName: EventName,\n listener: BluetoothSdkEventListener<EventName>,\n ): BluetoothSdkSubscription\n\n getDefaultDevice(): Promise<Device | null>\n setDefaultDevice(device: Device | null): Promise<void>\n clearDefaultDevice(): Promise<void>\n\n startScan(model: DeviceModel): Promise<void>\n stopScan(): Promise<void>\n scan(options: ScanOptions): Promise<Device[]>\n scan(model: DeviceModel, options?: ScanModelOptions): Promise<Device[]>\n connect(device: Device, options?: ConnectOptions): Promise<void>\n connectDefault(options?: ConnectOptions): Promise<void>\n cancelConnectionAttempt(): Promise<void>\n disconnect(): Promise<void>\n forget(): Promise<void>\n\n displayText(text: string, x?: number, y?: number, size?: number): Promise<void>\n clearDisplay(): Promise<void>\n showDashboard(): Promise<void>\n setDashboardPosition(height: number, depth: number): Promise<void>\n setHeadUpAngle(angleDegrees: number): Promise<void>\n setImuEnabled(enabled: boolean): Promise<void>\n setScreenDisabled(disabled: boolean): Promise<void>\n\n requestWifiScan(): Promise<WifiSearchResult[]>\n sendWifiCredentials(ssid: string, password: string): Promise<WifiStatusChangeEvent>\n forgetWifiNetwork(ssid: string): Promise<WifiStatusChangeEvent>\n setHotspotState(enabled: boolean): Promise<HotspotStatusChangeEvent>\n\n setGalleryModeEnabled(enabled: boolean): Promise<SettingsAckSuccessEvent>\n setVoiceActivityDetectionEnabled(enabled: boolean): Promise<void>\n setButtonPhotoSettings(size: ButtonPhotoSize): Promise<SettingsAckSuccessEvent>\n setButtonVideoRecordingSettings(width: number, height: number, fps: number): Promise<SettingsAckSuccessEvent>\n setButtonCameraLed(enabled: boolean): Promise<SettingsAckSuccessEvent>\n setButtonMaxRecordingTime(minutes: number): Promise<SettingsAckSuccessEvent>\n setCameraFov(request: CameraFovRequest): Promise<CameraFovResult>\n queryGalleryStatus(): Promise<GalleryStatusEvent>\n requestPhoto(params: PhotoRequestParams): Promise<PhotoSuccessResponseEvent>\n startVideoRecording(\n requestId: string,\n save: boolean,\n sound: boolean,\n settings?: VideoRecordingSettings,\n ): Promise<VideoRecordingStartedStatusEvent>\n /**\n * Stop the active recording. When {@link webhookUrl} is provided, the glasses\n * upload the recorded video to it (multipart) using {@link authToken}. These\n * are supplied at stop time (not start) so the token is fresh when the upload\n * runs — a recording can last arbitrarily long. An empty/omitted webhook keeps\n * the video on device (no upload).\n */\n stopVideoRecording(\n requestId: string,\n webhookUrl?: string,\n authToken?: string,\n ): Promise<VideoRecordingStoppedStatusEvent>\n\n startStream(params: StreamStartRequest): Promise<StreamStatusEvent>\n stopStream(): Promise<StreamStatusEvent>\n\n setMicState(enabled: boolean, useGlassesMic?: boolean, sendTranscript?: boolean, sendLc3Data?: boolean): Promise<void>\n setPreferredMic(preferredMic: MicPreference): Promise<void>\n setOwnAppAudioPlaying(playing: boolean): Promise<void>\n getGlassesMediaVolume(): Promise<GlassesMediaVolumeGetResult>\n setGlassesMediaVolume(level: number): Promise<GlassesMediaVolumeSetResult>\n\n rgbLedControl(\n requestId: string,\n packageName: string | null,\n action: RgbLedAction,\n color: RgbLedColor | null,\n onDurationMs: number,\n offDurationMs: number,\n count: number,\n ): Promise<RgbLedControlSuccessResponseEvent>\n\n requestVersionInfo(): Promise<VersionInfoResult>\n /** Ask connected Mentra Live glasses to check/report OTA availability and status. */\n checkForOtaUpdate(): Promise<OtaQueryResult>\n /** Start the OTA flow after your app has presented the available update to the user. */\n startOtaUpdate(): Promise<OtaStartAckEvent>\n /** Re-run the glasses-side OTA version check, mainly after correcting clock skew/TLS failures. */\n retryOtaVersionCheck(): Promise<OtaQueryResult>\n\n // // stt commands (MOVE TO CRUST)\n // setSttModelDetails(path: string, languageCode: string): Promise<void>\n // getSttModelPath(): Promise<string>\n // checkSttModelAvailable(): Promise<boolean>\n // validateSttModel(path: string): Promise<boolean>\n // extractTarBz2(sourcePath: string, destinationPath: string): Promise<boolean>\n\n // // tts commands (MOVE TO CRUST)\n // setTtsModelDetails(path: string, languageCode: string): Promise<void>\n // getTtsModelPath(): Promise<string>\n // getTtsModelLanguage(): Promise<string>\n // checkTtsModelAvailable(): Promise<boolean>\n // validateTtsModel(path: string): Promise<boolean>\n // generateTtsAudio(text: string, path: string, outputPath: string, speakerId: number, speed: number): Promise<boolean>\n\n // STT Commands (TODO: MOVE TO CRUST)\n setSttModelDetails(path: string, languageCode: string): Promise<void>\n getSttModelPath(): Promise<string>\n checkSttModelAvailable(): Promise<boolean>\n validateSttModel(path: string): Promise<boolean>\n extractTarBz2(sourcePath: string, destinationPath: string): Promise<boolean>\n restartTranscriber(): Promise<void>\n\n // TTS Commands (TODO: MOVE TO CRUST)\n setTtsModelDetails(path: string, languageCode: string): Promise<void>\n getTtsModelPath(): Promise<string>\n getTtsModelLanguage(): Promise<string>\n checkTtsModelAvailable(): Promise<boolean>\n validateTtsModel(path: string): Promise<boolean>\n generateTtsAudio(\n text: string,\n modelPath: string,\n outputPath: string,\n speakerId: number,\n speed: number,\n ): Promise<boolean>\n}\n\n// OTA update status types\nexport type OtaStage = \"download\" | \"install\"\nexport type OtaProgressStatus = \"STARTED\" | \"PROGRESS\" | \"FINISHED\" | \"FAILED\"\n\nexport interface OtaStatus {\n sessionId: string\n totalSteps: number\n currentStep: number\n stepType: \"apk\" | \"mtk\" | \"bes\"\n phase: \"download\" | \"install\"\n stepPercent: number\n overallPercent: number\n status: \"in_progress\" | \"step_complete\" | \"complete\" | \"failed\" | \"idle\"\n error?: string\n}\n\nexport interface OtaUpdateInfo {\n available: boolean\n versionCode: number\n versionName: string\n updates: string[] // [\"apk\", \"mtk\", \"bes\"]\n totalSize: number\n cacheReady?: boolean\n}\n\nexport interface OtaProgress {\n stage: OtaStage\n status: OtaProgressStatus\n progress: number\n bytesDownloaded: number\n totalBytes: number\n currentUpdate: string\n errorMessage?: string\n}\n\nexport interface GlassesStatus {\n // state:\n connection: GlassesConnectionStatus\n micEnabled: boolean\n voiceActivityDetectionEnabled: boolean\n bluetoothClassicConnected: boolean\n signalStrength: number\n /** Milliseconds since epoch when signalStrength was last refreshed by the phone BLE stack. */\n signalStrengthUpdatedAt: number\n // device info\n deviceModel: string\n androidVersion: string\n firmwareVersion: string\n besFirmwareVersion: string\n mtkFirmwareVersion: string\n bluetoothMacAddress: string\n leftMacAddress: string\n rightMacAddress: string\n buildNumber: string\n /** Glasses System.currentTimeMillis() from last version_info (clock skew detection). */\n systemTimeMs?: number\n otaVersionUrl: string\n appVersion: string\n bluetoothName: string\n serialNumber: string\n style: string\n color: string\n // wifi info\n wifi: WifiStatus\n // battery info\n batteryLevel: number\n charging: boolean\n caseBatteryLevel: number\n caseCharging: boolean\n caseOpen: boolean\n caseRemoved: boolean\n // hotspot info\n hotspot: HotspotStatus\n // OTA update info\n otaUpdateAvailable: OtaUpdateInfo | null\n otaProgress: OtaProgress | null\n otaInProgress: boolean\n // ring info\n controllerConnected: boolean\n controllerFullyBooted: boolean\n controllerMacAddress: string\n controllerBatteryLevel: number\n controllerSignalStrength: number\n}\n\nexport interface CoreDashboardMenuItem {\n name: string\n packageName: string\n running: boolean\n}\n\nexport interface CalendarEvent {\n title: string\n location?: string\n time: string\n endDate: number\n}\n\nexport interface CoreSettings {\n menu_apps: CoreDashboardMenuItem[]\n calendar_events: CalendarEvent[]\n}\n\nexport interface Device {\n /**\n * Stable app-facing key for this scan result, within the limits of the\n * platform identifier available to the SDK. Do not parse this value; use the\n * typed model, name, address, and rssi fields instead.\n */\n id: string\n model: DeviceModel\n name: string\n /** Platform address/identifier when available: Android Bluetooth address, iOS CoreBluetooth identifier. */\n address?: string\n /**\n * Optional scan signal strength. It may be undefined at first discovery and\n * appear in a later scan update when the platform reports RSSI metadata.\n */\n rssi?: number\n}\n\nexport interface ConnectOptions {\n saveAsDefault?: boolean\n cancelExistingConnectionAttempt?: boolean\n}\n\nexport type ScanResultsCallback = (devices: Device[]) => void\n\nexport interface ScanOptions {\n model: DeviceModel\n /** Defaults to 15000. */\n timeoutMs?: number\n /** Alias for `timeoutMs`, useful when mirroring native examples. */\n timeout?: number\n /** Called every time the discovered device list changes during the scan. */\n onResults?: ScanResultsCallback\n}\n\nexport type ScanModelOptions = Omit<ScanOptions, \"model\">\n\nexport interface WifiSearchResult {\n ssid: string\n requiresPassword: boolean\n signalStrength: number\n /** Frequency in MHz (from glasses scan). 5 GHz band is typically 5170–5825. Omitted if unknown. */\n frequency?: number\n}\n\nexport interface BluetoothStatus {\n // state:\n searching: boolean\n searchingController: boolean\n default_wearable?: DeviceModel | \"\"\n pending_wearable?: DeviceModel | \"\"\n device_name?: string\n device_address?: string\n default_controller?: DeviceModel | \"\"\n pending_controller?: DeviceModel | \"\"\n controller_device_name?: string\n controller_address?: string\n systemMicUnavailable: boolean\n micRanking: MicMode[]\n currentMic: MicMode | \"\" | null\n /**\n * Nearby glasses in stable discovery order.\n * Existing entries keep their array position as details refresh; new glasses append at the end,\n * and removals should not reorder remaining entries.\n */\n searchResults: Device[]\n wifiScanResults: WifiSearchResult[]\n lastLog: string[]\n otherBtConnected: boolean\n // desired settings the SDK sends to compatible connected glasses:\n galleryModeEnabled: boolean\n}\n\nexport type BluetoothSettingsUpdate = Partial<{\n auth_email: string\n core_token: string\n sensing_enabled: boolean\n power_saving_mode: boolean\n lc3_frame_size: number\n preferred_mic: MicPreference\n screen_disabled: boolean\n contextual_dashboard: boolean\n head_up_angle: number\n imu_enabled: boolean\n brightness: number\n auto_brightness: boolean\n dashboard_height: number\n dashboard_depth: number\n menu_apps: DashboardMenuItem[] | CoreDashboardMenuItem[] | Array<Record<string, unknown>> | null\n calendar_events: CalendarEvent[]\n metric_system: boolean\n twelve_hour_time: boolean\n gallery_mode: boolean\n voice_activity_detection_enabled: boolean\n button_photo_size: ButtonPhotoSize\n button_video_settings: {width: number; height: number; fps: number}\n button_video_width: number\n button_video_height: number\n button_video_fps: number\n button_camera_led: boolean\n button_max_recording_time: number\n camera_fov: NativeCameraFovSetting\n should_send_pcm: boolean\n should_send_lc3: boolean\n should_send_transcript: boolean\n offline_mode: boolean\n offline_captions_running: boolean\n local_stt_fallback_active: boolean\n pending_wearable: DeviceModel | \"\"\n default_wearable: DeviceModel | \"\"\n device_name: string\n device_address: string\n default_controller: DeviceModel | \"\"\n pending_controller: DeviceModel | \"\"\n controller_device_name: string\n controller_address: string\n}>\n"]}
|
|
@@ -74,7 +74,7 @@ declare class BluetoothSdkNativeModule extends NativeModule<BluetoothSdkModuleEv
|
|
|
74
74
|
startOtaUpdate(): Promise<OtaStartAckEvent>;
|
|
75
75
|
requestVersionInfo(): Promise<VersionInfoResult>;
|
|
76
76
|
startVideoRecording(requestId: string, save: boolean, sound: boolean, settings?: VideoRecordingSettings): Promise<VideoRecordingStartedStatusEvent>;
|
|
77
|
-
stopVideoRecording(requestId: string): Promise<VideoRecordingStoppedStatusEvent>;
|
|
77
|
+
stopVideoRecording(requestId: string, webhookUrl?: string, authToken?: string): Promise<VideoRecordingStoppedStatusEvent>;
|
|
78
78
|
startStream(params: StreamStartRequest): Promise<StreamStatusEvent>;
|
|
79
79
|
startExternallyManagedStream(params: StreamStartRequest): Promise<StreamStatusEvent>;
|
|
80
80
|
stopStream(): Promise<StreamStatusEvent>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BluetoothSdkModule.d.ts","sourceRoot":"","sources":["../../src/_private/BluetoothSdkModule.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"BluetoothSdkModule.d.ts","sourceRoot":"","sources":["../../src/_private/BluetoothSdkModule.ts"],"names":[],"mappings":"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"}
|