@mentra/engine 0.1.0-dev.1 → 3.1.0-beta.103

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.
Files changed (267) hide show
  1. package/README.md +43 -29
  2. package/build/bluetooth-sdk/debug.d.ts +2 -0
  3. package/build/bluetooth-sdk/debug.d.ts.map +1 -0
  4. package/build/bluetooth-sdk/debug.js +2 -0
  5. package/build/bluetooth-sdk/debug.js.map +1 -0
  6. package/build/bluetooth-sdk/index.d.ts +3 -0
  7. package/build/bluetooth-sdk/index.d.ts.map +1 -0
  8. package/build/bluetooth-sdk/index.js +3 -0
  9. package/build/bluetooth-sdk/index.js.map +1 -0
  10. package/build/bluetooth-sdk/ota-transport.d.ts +2 -0
  11. package/build/bluetooth-sdk/ota-transport.d.ts.map +1 -0
  12. package/build/bluetooth-sdk/ota-transport.js +2 -0
  13. package/build/bluetooth-sdk/ota-transport.js.map +1 -0
  14. package/build/bluetooth-sdk/photo-receiver.d.ts +3 -0
  15. package/build/bluetooth-sdk/photo-receiver.d.ts.map +1 -0
  16. package/build/bluetooth-sdk/photo-receiver.js +3 -0
  17. package/build/bluetooth-sdk/photo-receiver.js.map +1 -0
  18. package/build/bluetooth-sdk/react.d.ts +2 -0
  19. package/build/bluetooth-sdk/react.d.ts.map +1 -0
  20. package/build/bluetooth-sdk/react.js +2 -0
  21. package/build/bluetooth-sdk/react.js.map +1 -0
  22. package/build/bluetooth-sdk/types.d.ts +2 -0
  23. package/build/bluetooth-sdk/types.d.ts.map +1 -0
  24. package/build/bluetooth-sdk/types.js +2 -0
  25. package/build/bluetooth-sdk/types.js.map +1 -0
  26. package/build/engine.d.ts +18 -15
  27. package/build/engine.d.ts.map +1 -1
  28. package/build/engine.js +2 -2
  29. package/build/engine.js.map +1 -1
  30. package/build/facades/display.d.ts +1 -1
  31. package/build/facades/display.d.ts.map +1 -1
  32. package/build/facades/display.js +1 -1
  33. package/build/facades/display.js.map +1 -1
  34. package/build/facades/glasses.d.ts +3 -13
  35. package/build/facades/glasses.d.ts.map +1 -1
  36. package/build/facades/glasses.js +3 -3
  37. package/build/facades/glasses.js.map +1 -1
  38. package/build/facades/ota.d.ts +16 -22
  39. package/build/facades/ota.d.ts.map +1 -1
  40. package/build/facades/ota.js +13 -9
  41. package/build/facades/ota.js.map +1 -1
  42. package/build/facades/pairing.d.ts +8 -5
  43. package/build/facades/pairing.d.ts.map +1 -1
  44. package/build/facades/pairing.js +83 -9
  45. package/build/facades/pairing.js.map +1 -1
  46. package/build/facades/speech.d.ts +7 -6
  47. package/build/facades/speech.d.ts.map +1 -1
  48. package/build/facades/speech.js +1 -1
  49. package/build/facades/speech.js.map +1 -1
  50. package/build/generated/releaseMetadata.d.ts +12 -0
  51. package/build/generated/releaseMetadata.d.ts.map +1 -0
  52. package/build/generated/releaseMetadata.js +10 -0
  53. package/build/generated/releaseMetadata.js.map +1 -0
  54. package/build/index.d.ts +7 -8
  55. package/build/index.d.ts.map +1 -1
  56. package/build/index.js +4 -5
  57. package/build/index.js.map +1 -1
  58. package/build/react/MentraLiveOtaFlow.d.ts +8 -2
  59. package/build/react/MentraLiveOtaFlow.d.ts.map +1 -1
  60. package/build/react/MentraLiveOtaFlow.js +256 -354
  61. package/build/react/MentraLiveOtaFlow.js.map +1 -1
  62. package/build/react/index.d.ts +1 -0
  63. package/build/react/index.d.ts.map +1 -1
  64. package/build/react/index.js +1 -0
  65. package/build/react/index.js.map +1 -1
  66. package/build/react/useMentraLiveOta.d.ts +84 -0
  67. package/build/react/useMentraLiveOta.d.ts.map +1 -0
  68. package/build/react/useMentraLiveOta.js +627 -0
  69. package/build/react/useMentraLiveOta.js.map +1 -0
  70. package/build/services/AppRegistry.d.ts +8 -0
  71. package/build/services/AppRegistry.d.ts.map +1 -1
  72. package/build/services/AppRegistry.js +15 -0
  73. package/build/services/AppRegistry.js.map +1 -1
  74. package/build/services/BlobStore.d.ts +2 -0
  75. package/build/services/BlobStore.d.ts.map +1 -1
  76. package/build/services/BlobStore.js +63 -10
  77. package/build/services/BlobStore.js.map +1 -1
  78. package/build/services/DisplayProcessor.d.ts +3 -3
  79. package/build/services/DisplayProcessor.js +3 -3
  80. package/build/services/DisplayProcessor.js.map +1 -1
  81. package/build/services/GlassesStatusProjection.d.ts +15 -2
  82. package/build/services/GlassesStatusProjection.d.ts.map +1 -1
  83. package/build/services/GlassesStatusProjection.js +3 -3
  84. package/build/services/GlassesStatusProjection.js.map +1 -1
  85. package/build/services/HotspotOtaTransport.d.ts.map +1 -1
  86. package/build/services/HotspotOtaTransport.js +8 -7
  87. package/build/services/HotspotOtaTransport.js.map +1 -1
  88. package/build/services/LocalDisplayManager.d.ts +2 -3
  89. package/build/services/LocalDisplayManager.d.ts.map +1 -1
  90. package/build/services/LocalDisplayManager.js +2 -3
  91. package/build/services/LocalDisplayManager.js.map +1 -1
  92. package/build/services/OtaAutoChain.d.ts +9 -2
  93. package/build/services/OtaAutoChain.d.ts.map +1 -1
  94. package/build/services/OtaAutoChain.js +10 -2
  95. package/build/services/OtaAutoChain.js.map +1 -1
  96. package/build/services/OtaInstallCoordinator.d.ts +26 -3
  97. package/build/services/OtaInstallCoordinator.d.ts.map +1 -1
  98. package/build/services/OtaInstallCoordinator.js +38 -13
  99. package/build/services/OtaInstallCoordinator.js.map +1 -1
  100. package/build/services/OtaService.d.ts.map +1 -1
  101. package/build/services/OtaService.js +1 -1
  102. package/build/services/OtaService.js.map +1 -1
  103. package/build/services/OtaUpdateCheckService.d.ts +4 -1
  104. package/build/services/OtaUpdateCheckService.d.ts.map +1 -1
  105. package/build/services/OtaUpdateCheckService.js +33 -21
  106. package/build/services/OtaUpdateCheckService.js.map +1 -1
  107. package/build/services/PhonePhotoCoordinator.js +1 -1
  108. package/build/services/PhonePhotoCoordinator.js.map +1 -1
  109. package/build/services/PhoneStreamCoordinator.d.ts.map +1 -1
  110. package/build/services/PhoneStreamCoordinator.js +9 -6
  111. package/build/services/PhoneStreamCoordinator.js.map +1 -1
  112. package/build/services/StreamLifecycleController.d.ts +3 -3
  113. package/build/services/StreamLifecycleController.js +3 -3
  114. package/build/services/StreamLifecycleController.js.map +1 -1
  115. package/build/services/asg/localNetworkTransport.d.ts.map +1 -1
  116. package/build/services/asg/localNetworkTransport.js +13 -12
  117. package/build/services/asg/localNetworkTransport.js.map +1 -1
  118. package/build/services/glassesClockSync.d.ts.map +1 -1
  119. package/build/services/glassesClockSync.js +5 -1
  120. package/build/services/glassesClockSync.js.map +1 -1
  121. package/build/services/otaDisplayState.d.ts +1 -1
  122. package/build/services/otaDisplayState.d.ts.map +1 -1
  123. package/build/services/otaDisplayState.js.map +1 -1
  124. package/build/services/otaInstallPolicy.d.ts +5 -1
  125. package/build/services/otaInstallPolicy.d.ts.map +1 -1
  126. package/build/services/otaInstallPolicy.js +4 -0
  127. package/build/services/otaInstallPolicy.js.map +1 -1
  128. package/build/services/otaLegacyMapping.d.ts +1 -1
  129. package/build/services/otaLegacyMapping.d.ts.map +1 -1
  130. package/build/services/otaLegacyMapping.js.map +1 -1
  131. package/build/services/otaManifestPolicy.d.ts +14 -0
  132. package/build/services/otaManifestPolicy.d.ts.map +1 -0
  133. package/build/services/otaManifestPolicy.js +19 -0
  134. package/build/services/otaManifestPolicy.js.map +1 -0
  135. package/build/services/otaManifestUrl.d.ts +2 -1
  136. package/build/services/otaManifestUrl.d.ts.map +1 -1
  137. package/build/services/otaManifestUrl.js +24 -32
  138. package/build/services/otaManifestUrl.js.map +1 -1
  139. package/build/services/otaReleaseVersion.d.ts +10 -0
  140. package/build/services/otaReleaseVersion.d.ts.map +1 -0
  141. package/build/services/otaReleaseVersion.js +14 -0
  142. package/build/services/otaReleaseVersion.js.map +1 -0
  143. package/build/stores/appVisibility.d.ts +3 -0
  144. package/build/stores/appVisibility.d.ts.map +1 -0
  145. package/build/stores/appVisibility.js +3 -0
  146. package/build/stores/appVisibility.js.map +1 -0
  147. package/build/stores/apps.d.ts.map +1 -1
  148. package/build/stores/apps.js +7 -1
  149. package/build/stores/apps.js.map +1 -1
  150. package/build/stores/core.d.ts +3 -3
  151. package/build/stores/core.d.ts.map +1 -1
  152. package/build/stores/core.js.map +1 -1
  153. package/build/stores/glasses.d.ts +10 -4
  154. package/build/stores/glasses.d.ts.map +1 -1
  155. package/build/stores/glasses.js.map +1 -1
  156. package/build/stores/settings.js +3 -3
  157. package/build/stores/settings.js.map +1 -1
  158. package/build/types/applet.d.ts +1 -1
  159. package/build/types/applet.js +1 -1
  160. package/build/types/applet.js.map +1 -1
  161. package/build/types/capabilities/even-realities-g1.d.ts.map +1 -1
  162. package/build/types/capabilities/even-realities-g1.js +2 -0
  163. package/build/types/capabilities/even-realities-g1.js.map +1 -1
  164. package/build/types/capabilities/even-realities-g2.d.ts.map +1 -1
  165. package/build/types/capabilities/even-realities-g2.js +2 -0
  166. package/build/types/capabilities/even-realities-g2.js.map +1 -1
  167. package/build/types/capabilities/mentra-display.d.ts.map +1 -1
  168. package/build/types/capabilities/mentra-display.js +2 -0
  169. package/build/types/capabilities/mentra-display.js.map +1 -1
  170. package/build/types/capabilities/mentra-live.d.ts.map +1 -1
  171. package/build/types/capabilities/mentra-live.js +2 -0
  172. package/build/types/capabilities/mentra-live.js.map +1 -1
  173. package/build/types/capabilities/nimo.d.ts +9 -0
  174. package/build/types/capabilities/nimo.d.ts.map +1 -0
  175. package/build/types/capabilities/nimo.js +57 -0
  176. package/build/types/capabilities/nimo.js.map +1 -0
  177. package/build/types/capabilities/none.d.ts.map +1 -1
  178. package/build/types/capabilities/none.js +2 -0
  179. package/build/types/capabilities/none.js.map +1 -1
  180. package/build/types/capabilities/simulated-glasses.d.ts.map +1 -1
  181. package/build/types/capabilities/simulated-glasses.js +2 -0
  182. package/build/types/capabilities/simulated-glasses.js.map +1 -1
  183. package/build/types/capabilities/vuzix-z100.d.ts.map +1 -1
  184. package/build/types/capabilities/vuzix-z100.js +2 -0
  185. package/build/types/capabilities/vuzix-z100.js.map +1 -1
  186. package/build/types/enums.d.ts +3 -26
  187. package/build/types/enums.d.ts.map +1 -1
  188. package/build/types/enums.js +2 -27
  189. package/build/types/enums.js.map +1 -1
  190. package/build/types/hardware.d.ts +6 -15
  191. package/build/types/hardware.d.ts.map +1 -1
  192. package/build/types/hardware.js +4 -4
  193. package/build/types/hardware.js.map +1 -1
  194. package/build/types/index.d.ts +3 -7
  195. package/build/types/index.d.ts.map +1 -1
  196. package/build/types/index.js +3 -7
  197. package/build/types/index.js.map +1 -1
  198. package/build/utils/display/composer/ColumnComposer.d.ts +1 -1
  199. package/build/utils/display/composer/ColumnComposer.js +1 -1
  200. package/build/utils/display/composer/ColumnComposer.js.map +1 -1
  201. package/package.json +47 -22
  202. package/src/bluetooth-sdk/debug.ts +1 -0
  203. package/src/bluetooth-sdk/index.ts +2 -0
  204. package/src/bluetooth-sdk/ota-transport.ts +1 -0
  205. package/src/bluetooth-sdk/photo-receiver.ts +2 -0
  206. package/src/bluetooth-sdk/react.ts +1 -0
  207. package/src/bluetooth-sdk/types.ts +1 -0
  208. package/src/engine.ts +2 -2
  209. package/src/facades/display.ts +1 -1
  210. package/src/facades/glasses.ts +4 -4
  211. package/src/facades/ota.ts +23 -10
  212. package/src/facades/pairing.ts +92 -16
  213. package/src/facades/speech.ts +21 -7
  214. package/src/generated/releaseMetadata.ts +20 -0
  215. package/src/index.ts +16 -11
  216. package/src/react/MentraLiveOtaFlow.tsx +378 -480
  217. package/src/react/index.ts +14 -0
  218. package/src/react/useMentraLiveOta.ts +793 -0
  219. package/src/services/AppRegistry.ts +16 -0
  220. package/src/services/BlobStore.ts +57 -10
  221. package/src/services/DisplayProcessor.ts +3 -3
  222. package/src/services/GlassesStatusProjection.ts +7 -6
  223. package/src/services/HotspotOtaTransport.ts +8 -7
  224. package/src/services/LocalDisplayManager.ts +2 -3
  225. package/src/services/OtaAutoChain.ts +26 -2
  226. package/src/services/OtaInstallCoordinator.ts +40 -13
  227. package/src/services/OtaService.ts +1 -2
  228. package/src/services/OtaUpdateCheckService.ts +45 -27
  229. package/src/services/PhonePhotoCoordinator.ts +1 -1
  230. package/src/services/PhoneStreamCoordinator.ts +10 -6
  231. package/src/services/StreamLifecycleController.ts +3 -3
  232. package/src/services/asg/localNetworkTransport.ts +20 -19
  233. package/src/services/glassesClockSync.ts +5 -1
  234. package/src/services/otaDisplayState.ts +1 -1
  235. package/src/services/otaInstallPolicy.ts +5 -1
  236. package/src/services/otaLegacyMapping.ts +1 -1
  237. package/src/services/otaManifestPolicy.ts +42 -0
  238. package/src/services/otaManifestUrl.ts +27 -36
  239. package/src/services/otaReleaseVersion.ts +22 -0
  240. package/src/stores/appVisibility.ts +3 -0
  241. package/src/stores/apps.ts +7 -1
  242. package/src/stores/core.ts +4 -4
  243. package/src/stores/glasses.ts +13 -6
  244. package/src/stores/settings.ts +3 -3
  245. package/src/types/applet.ts +1 -1
  246. package/src/types/capabilities/even-realities-g1.ts +3 -0
  247. package/src/types/capabilities/even-realities-g2.ts +3 -0
  248. package/src/types/capabilities/mentra-display.ts +3 -0
  249. package/src/types/capabilities/mentra-live.ts +3 -0
  250. package/src/types/capabilities/nimo.ts +59 -0
  251. package/src/types/capabilities/none.ts +3 -0
  252. package/src/types/capabilities/simulated-glasses.ts +3 -0
  253. package/src/types/capabilities/vuzix-z100.ts +3 -0
  254. package/src/types/enums.ts +2 -27
  255. package/src/types/hardware.ts +7 -15
  256. package/src/types/index.ts +3 -6
  257. package/src/utils/display/composer/ColumnComposer.ts +1 -1
  258. package/build/devtools.d.ts +0 -11
  259. package/build/devtools.d.ts.map +0 -1
  260. package/build/devtools.js +0 -13
  261. package/build/devtools.js.map +0 -1
  262. package/build/internal.d.ts +0 -67
  263. package/build/internal.d.ts.map +0 -1
  264. package/build/internal.js +0 -90
  265. package/build/internal.js.map +0 -1
  266. package/src/devtools.ts +0 -13
  267. package/src/internal.ts +0 -160
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @mentra/types - App/Applet types for client interfaces
2
+ * App and miniapp types owned by @mentra/engine.
3
3
  */
4
4
 
5
5
  import type {ReactNode} from "react"
@@ -64,4 +64,7 @@ export const evenRealitiesG1: Capabilities = {
64
64
 
65
65
  // WiFi capabilities - G1 does not support WiFi
66
66
  hasWifi: false,
67
+
68
+ // OTA capabilities - G1 firmware updates are not driven by the ASG OTA flow
69
+ hasOta: false,
67
70
  };
@@ -82,6 +82,9 @@ export const evenRealitiesG2: Capabilities = {
82
82
  // WiFi capabilities - G2 does not support WiFi
83
83
  hasWifi: false,
84
84
 
85
+ // OTA capabilities - G2 firmware updates are not driven by the ASG OTA flow
86
+ hasOta: false,
87
+
85
88
  // Dashboard - G2 renders Even Realities' native dashboard in firmware, so
86
89
  // MentraOS does not manage the dashboard or expose dashboard settings for it
87
90
  hasNativeDashboard: true,
@@ -72,4 +72,7 @@ export const mentraDisplay: Capabilities = {
72
72
 
73
73
  // WiFi capabilities - Mentra Display does not support WiFi
74
74
  hasWifi: false,
75
+
76
+ // OTA capabilities - Mentra Display firmware updates are not driven by the ASG OTA flow
77
+ hasOta: false,
75
78
  };
@@ -100,4 +100,7 @@ export const mentraLive: Capabilities = {
100
100
 
101
101
  // WiFi capabilities - Mentra Live supports WiFi
102
102
  hasWifi: true,
103
+
104
+ // OTA capabilities - Mentra Live supports ASG/BES/MTK OTA updates
105
+ hasOta: true,
103
106
  };
@@ -0,0 +1,59 @@
1
+ /**
2
+ * @fileoverview NIMO hardware capabilities.
3
+ *
4
+ * NIMO uses framed UART-over-BLE for widget content and a separate Opus
5
+ * microphone channel.
6
+ */
7
+
8
+ import type {Capabilities} from "../hardware"
9
+
10
+ export const nimo: Capabilities = {
11
+ modelName: "NIMO",
12
+ hasCamera: false,
13
+ camera: null,
14
+ hasDisplay: true,
15
+ display: {
16
+ count: 2,
17
+ isColor: false,
18
+ color: "green",
19
+ canDisplayBitmap: true,
20
+ // Bitmaps render into the 160x160 2bpp navigation widget. The resolution
21
+ // below remains the existing text-display placeholder until hardware
22
+ // screen information is available.
23
+ resolution: {width: 640, height: 400},
24
+ maxTextLines: 5,
25
+ adjustBrightness: true,
26
+ },
27
+ hasMicrophone: true,
28
+ microphone: {
29
+ count: 2,
30
+ hasVAD: false,
31
+ },
32
+ hasSpeaker: false,
33
+ speaker: null,
34
+ hasIMU: true,
35
+ imu: null,
36
+ hasButton: true,
37
+ button: {
38
+ count: 2,
39
+ buttons: [
40
+ {
41
+ type: "press",
42
+ events: ["press", "double_press", "long_press"],
43
+ isCapacitive: true,
44
+ },
45
+ {
46
+ type: "press",
47
+ events: ["press", "double_press", "long_press"],
48
+ isCapacitive: true,
49
+ },
50
+ ],
51
+ },
52
+ hasLight: false,
53
+ light: null,
54
+ power: {
55
+ hasExternalBattery: false,
56
+ },
57
+ hasWifi: false,
58
+ hasOta: false,
59
+ }
@@ -73,4 +73,7 @@ export const none: Capabilities = {
73
73
 
74
74
  // WiFi capabilities - does not support WiFi
75
75
  hasWifi: false,
76
+
77
+ // OTA capabilities - none profile does not support OTA
78
+ hasOta: false,
76
79
  };
@@ -73,4 +73,7 @@ export const simulatedGlasses: Capabilities = {
73
73
 
74
74
  // WiFi capabilities - does not support WiFi
75
75
  hasWifi: false,
76
+
77
+ // OTA capabilities - simulated glasses do not support OTA
78
+ hasOta: false,
76
79
  };
@@ -61,4 +61,7 @@ export const vuzixZ100: Capabilities = {
61
61
 
62
62
  // WiFi capabilities - does not support WiFi
63
63
  hasWifi: false,
64
+
65
+ // OTA capabilities - Z100 firmware updates are not driven by the ASG OTA flow
66
+ hasOta: false,
64
67
  };
@@ -1,30 +1,4 @@
1
- /**
2
- * @mentra/types - Shared enums for MentraOS
3
- * These are runtime values (not pure types)
4
- */
5
-
6
- /**
7
- * Hardware component types that apps can require
8
- */
9
- export enum HardwareType {
10
- CAMERA = "CAMERA",
11
- DISPLAY = "DISPLAY",
12
- MICROPHONE = "MICROPHONE",
13
- SPEAKER = "SPEAKER",
14
- IMU = "IMU",
15
- BUTTON = "BUTTON",
16
- LIGHT = "LIGHT",
17
- WIFI = "WIFI",
18
- EXIST = "EXIST",
19
- }
20
-
21
- /**
22
- * Levels of hardware requirements
23
- */
24
- export enum HardwareRequirementLevel {
25
- REQUIRED = "REQUIRED", // App cannot function without this hardware
26
- OPTIONAL = "OPTIONAL", // App has enhanced features with this hardware
27
- }
1
+ export {HardwareType, HardwareRequirementLevel} from "@mentra/miniapp/hardware"
28
2
 
29
3
  export enum DeviceTypes {
30
4
  NONE = "None",
@@ -37,6 +11,7 @@ export enum DeviceTypes {
37
11
  Z100 = "Vuzix Z100",
38
12
  NEX = "Mentra Display",
39
13
  FRAME = "Brilliant Frame",
14
+ NIMO = "NIMO",
40
15
  }
41
16
 
42
17
  export enum ControllerTypes {
@@ -1,25 +1,16 @@
1
- /**
2
- * @mentra/types - Hardware capability types
3
- */
1
+ /** Hardware capability types used by the Engine. */
4
2
 
5
3
  import { evenRealitiesG1 } from "./capabilities/even-realities-g1";
6
4
  import { evenRealitiesG2 } from "./capabilities/even-realities-g2";
7
5
  import { mentraDisplay } from "./capabilities/mentra-display";
8
6
  import { mentraLive } from "./capabilities/mentra-live";
7
+ import { nimo } from "./capabilities/nimo";
9
8
  import { simulatedGlasses } from "./capabilities/simulated-glasses";
10
9
  import { vuzixZ100 } from "./capabilities/vuzix-z100";
11
10
  import { none } from "./capabilities/none";
12
- import { DeviceTypes, HardwareRequirementLevel, HardwareType } from "./enums";
11
+ import { DeviceTypes } from "./enums";
13
12
 
14
- /**
15
- * Hardware requirement for an app
16
- * Specifies what hardware components an app needs
17
- */
18
- export interface HardwareRequirement {
19
- type: HardwareType;
20
- level: HardwareRequirementLevel;
21
- description?: string; // Why this hardware is needed
22
- }
13
+ export type { HardwareRequirement } from "@mentra/miniapp/hardware";
23
14
 
24
15
  /**
25
16
  * Camera capabilities
@@ -168,7 +159,7 @@ export interface Capabilities {
168
159
  hasWifi: boolean;
169
160
 
170
161
  // OTA capability
171
- hasOta?: boolean;
162
+ hasOta: boolean;
172
163
 
173
164
  // Native dashboard capability
174
165
  // True when the device renders its own dashboard in firmware (e.g. Even
@@ -190,6 +181,7 @@ export const HARDWARE_CAPABILITIES: Record<string, Capabilities> = {
190
181
  [mentraLive.modelName]: mentraLive,
191
182
  [simulatedGlasses.modelName]: simulatedGlasses,
192
183
  [vuzixZ100.modelName]: vuzixZ100,
184
+ [nimo.modelName]: nimo,
193
185
  [DeviceTypes.MACH1]: vuzixZ100, // Mach1 uses same Vuzix Ultralite hardware as Z100
194
186
  [DeviceTypes.AR99]: {
195
187
  ...evenRealitiesG1,
@@ -217,4 +209,4 @@ export const getModelCapabilities = (deviceType: DeviceTypes): Capabilities => {
217
209
  };
218
210
 
219
211
  // export * from "./capabilities"
220
- export { simulatedGlasses, evenRealitiesG1, evenRealitiesG2, mentraLive, vuzixZ100, mentraDisplay };
212
+ export { simulatedGlasses, evenRealitiesG1, evenRealitiesG2, mentraLive, nimo, vuzixZ100, mentraDisplay };
@@ -1,9 +1,5 @@
1
- /**
2
- * Engine shared types — copied verbatim from @mentra/types so the module is
3
- * self-contained. Keep these in sync with cloud/packages/types/src when the
4
- * canonical types change. The capability profiles also live here under
5
- * ./capabilities/.
6
- */
1
+ /** Engine capability types and profiles. Miniapp manifest requirement types
2
+ * are re-exported from @mentra/miniapp, their canonical owner. */
7
3
 
8
4
  // Enums (runtime values)
9
5
  export {HardwareType, HardwareRequirementLevel, DeviceTypes, ControllerTypes} from "./enums"
@@ -29,6 +25,7 @@ export {
29
25
  evenRealitiesG1,
30
26
  evenRealitiesG2,
31
27
  mentraLive,
28
+ nimo,
32
29
  vuzixZ100,
33
30
  mentraDisplay,
34
31
  } from "./hardware"
@@ -11,7 +11,7 @@
11
11
  * 2. Merges columns line-by-line with pixel-precise space padding
12
12
  * 3. Returns a single pre-composed string ready for native to chunk & send
13
13
  *
14
- * @see cloud/issues/026-mobile-display-processor for design docs
14
+ * @see notes/miniapp-display-api-redesign.md for the current display design
15
15
  */
16
16
 
17
17
  import type { DisplayProfile } from "../profiles/types";
@@ -1,11 +0,0 @@
1
- /**
2
- * `@mentra/engine/devtools` — the devtools-only surface.
3
- *
4
- * Debug/diagnostic singletons consumed by the Mentra app's internal dev
5
- * screens (stress test, miniapp dev-server tooling). Never import this from
6
- * product UI or host services; every `/devtools` import in mobile/src is
7
- * counted (report-only) by scripts/check-mobile-runtime-boundary.sh.
8
- */
9
- export { miniappRunningRegistry } from "./services/MiniappRunningRegistry";
10
- export { default as devServerBridge } from "./services/DevServerBridge";
11
- //# sourceMappingURL=devtools.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"devtools.d.ts","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AAExE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,4BAA4B,CAAA"}
package/build/devtools.js DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * `@mentra/engine/devtools` — the devtools-only surface.
3
- *
4
- * Debug/diagnostic singletons consumed by the Mentra app's internal dev
5
- * screens (stress test, miniapp dev-server tooling). Never import this from
6
- * product UI or host services; every `/devtools` import in mobile/src is
7
- * counted (report-only) by scripts/check-mobile-runtime-boundary.sh.
8
- */
9
- // Which miniapps the local runtime currently has running (stress-test screen).
10
- export { miniappRunningRegistry } from "./services/MiniappRunningRegistry";
11
- // Dev-server connection bridge for live-reloading local miniapps.
12
- export { default as devServerBridge } from "./services/DevServerBridge";
13
- //# sourceMappingURL=devtools.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"devtools.js","sourceRoot":"","sources":["../src/devtools.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,+EAA+E;AAC/E,OAAO,EAAC,sBAAsB,EAAC,MAAM,mCAAmC,CAAA;AACxE,kEAAkE;AAClE,OAAO,EAAC,OAAO,IAAI,eAAe,EAAC,MAAM,4BAA4B,CAAA","sourcesContent":["/**\n * `@mentra/engine/devtools` — the devtools-only surface.\n *\n * Debug/diagnostic singletons consumed by the Mentra app's internal dev\n * screens (stress test, miniapp dev-server tooling). Never import this from\n * product UI or host services; every `/devtools` import in mobile/src is\n * counted (report-only) by scripts/check-mobile-runtime-boundary.sh.\n */\n\n// Which miniapps the local runtime currently has running (stress-test screen).\nexport {miniappRunningRegistry} from \"./services/MiniappRunningRegistry\"\n// Dev-server connection bridge for live-reloading local miniapps.\nexport {default as devServerBridge} from \"./services/DevServerBridge\"\n"]}
@@ -1,67 +0,0 @@
1
- /**
2
- * `@mentra/engine/internal` — the migration-era runtime surface.
3
- *
4
- * Raw zustand stores and service singletons that the Mentra app's host-side
5
- * services (and the `@/stores/*` / `@/utils/*` shims) still reach into while
6
- * the typed `engine` facades grow. Everything here either mutates runtime
7
- * state or exposes a store/service directly, so none of it belongs on the
8
- * OEM-facing `@mentra/engine` main entry: new host code should read/act
9
- * through `engine.*` instead.
10
- *
11
- * Every `/internal` import in mobile/src is counted (report-only) by
12
- * scripts/check-mobile-runtime-boundary.sh; the burn-down plan is
13
- * cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.
14
- * Types that only describe these internal surfaces live here with them;
15
- * types host UI renders with stay on the main entry.
16
- */
17
- export { default as webviewBridge } from "./services/WebviewBridge";
18
- export { default as appRegistry, normalizeManifestPermissions, normalizeManifestActions, buildHardwareRequirements, saveLocalAppRunningState, registerDevApp, unregisterDevApp, getDevAppRecords, getDevAppSourcePackage, getDevAppAttestation, DEV_APP_PACKAGE_NAME, type DevAppRecord, type MiniappReleaseIdentity, } from "./services/AppRegistry";
19
- export { default as displayProcessor } from "./services/DisplayProcessor";
20
- export { default as localDisplayManager, type DisplayPayload } from "./services/LocalDisplayManager";
21
- export { default as localMiniappRuntime, type InstalledMiniappManifest } from "./services/LocalMiniappRuntime";
22
- export { miniappLauncher, type LaunchHints, type LaunchResult, type ResolvedBundle } from "./services/MiniappLauncher";
23
- export { MentraJSRouter, type MentraJSCrustBinding, type OutboundMessagePayload as MentraJSOutboundMessage, type RouterLogger as MentraJSRouterLogger, } from "./services/MentraJSRouter";
24
- export { buildMentraUiShim, type MentraUiShimOptions } from "./services/mentraUiShim";
25
- export { MentraUIRouter, type MentraUICrustBinding } from "./services/MentraUIRouter";
26
- export { MentraJSCrashController, type CrashState, type CrashOutcome, type CrashControllerOptions, } from "./services/MentraJSCrashController";
27
- export { ensureMiniappEngine, getMiniappEngine, type MiniappEngine } from "./services/MiniappEngine";
28
- export { redactSecrets, MentraJSLogThrottle, MentraJSLogRingBuffer, type ThrottleOptions, } from "./services/MentraJSLogPipeline";
29
- export { buildMiniappGlobalsScript, getCapsuleMenuRect, type BuildMiniappGlobalsOptions, type CapsuleMenuRect, type MiniappColorScheme, type MiniappSafeArea, } from "./utils/miniappGlobals";
30
- export { default as localSttFallbackCoordinator } from "./services/LocalSttFallbackCoordinator";
31
- export { default as micStateCoordinator } from "./services/MicStateCoordinator";
32
- export { default as audioPlaybackService } from "./services/AudioPlaybackService";
33
- export { default as sttModelManager, STTModelManager, type LanguageInfo as SttLanguageInfo, type LanguageConfig as SttLanguageConfig, type DownloadProgress as SttDownloadProgress, type ExtractionProgress as SttExtractionProgress, } from "./services/STTModelManager";
34
- export { default as ttsModelManager, TTSModelManager } from "./services/TTSModelManager";
35
- export { default as offlineSpeechModelService, type DownloadStatus as OfflineModelDownloadStatus, type DownloadStage as OfflineModelDownloadStage, } from "./services/OfflineSpeechModelService";
36
- export { default as navigationService } from "./services/NavigationService";
37
- export { phoneLocationService, stopPhoneLocation } from "./services/PhoneLocationService";
38
- export { fixGlassesClockIfSkewed, maybeFixGlassesClockFromVersionInfo } from "./services/glassesClockSync";
39
- export { resolveOtaManifestUrl } from "./services/otaManifestUrl";
40
- export { fetchVersionInfo, checkVersionUpdateAvailable, getLatestVersionInfo, findMatchingMtkPatch, checkBesUpdate, checkForOtaUpdate, checkCurrentGlassesForUpdate, } from "./services/OtaUpdateCheckService";
41
- export { detectClockSkew, isSyncManifestEmpty, CLOCK_SKEW_TOLERANCE_MS } from "./services/gallerySyncClock";
42
- export { gallerySyncService } from "./services/asg/gallerySyncService";
43
- export { asgCameraApi } from "./services/asg/asgCameraApi";
44
- export { localStorageService } from "./services/asg/localStorageService";
45
- export { mediaProcessingQueue } from "./services/asg/mediaProcessingQueue";
46
- export { gallerySettingsService } from "./services/asg/gallerySettingsService";
47
- export { cameraRollExportCoordinator, type CameraRollExportSummary } from "./services/asg/cameraRollExportCoordinator";
48
- export { INVALID_DOWNLOADED_MEDIA, validateCaptureMetadataForDownload, validateDownloadedMediaFile, } from "./services/asg/galleryMediaValidation";
49
- export { emitGalleryNotice, onGalleryNotice } from "./services/asg/galleryNotices";
50
- export { phonePhotoCoordinator } from "./services/PhonePhotoCoordinator";
51
- export { phoneStreamCoordinator } from "./services/PhoneStreamCoordinator";
52
- export { useDisplayStore, flushDisplayCoalesceForTests } from "./stores/display";
53
- export { useCoreStore } from "./stores/core";
54
- export { useConnectionStore } from "./stores/connection";
55
- export { useCloudClientStatusStore } from "./stores/cloudClientStatus";
56
- export type { RuntimeAudioTransport, RuntimeSnapshot, RuntimeStatus } from "./stores/cloudClientStatus";
57
- export { SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting } from "./stores/settings";
58
- export { MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice } from "./stores/bluetoothSettingKeys";
59
- export { useAppStatusStore, installAppStoreHooks, type AppStoreHooks } from "./stores/apps";
60
- export { cloudSecureStore } from "./utils/cloudClient/cloudSecureStore";
61
- export { cloudClientService } from "./services/CloudClientService";
62
- export { createCloudUdpSocket } from "./utils/cloudClient/RnUdpAdapter";
63
- export { logBuffer, type LogEntry } from "./utils/devLogging";
64
- export { default as BluetoothSdk } from "@mentra/bluetooth-sdk/internal";
65
- export { storage, printDirectory } from "./utils/storage";
66
- export { default as GlobalEventEmitter } from "./utils/GlobalEventEmitter";
67
- //# sourceMappingURL=internal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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"}
package/build/internal.js DELETED
@@ -1,90 +0,0 @@
1
- /**
2
- * `@mentra/engine/internal` — the migration-era runtime surface.
3
- *
4
- * Raw zustand stores and service singletons that the Mentra app's host-side
5
- * services (and the `@/stores/*` / `@/utils/*` shims) still reach into while
6
- * the typed `engine` facades grow. Everything here either mutates runtime
7
- * state or exposes a store/service directly, so none of it belongs on the
8
- * OEM-facing `@mentra/engine` main entry: new host code should read/act
9
- * through `engine.*` instead.
10
- *
11
- * Every `/internal` import in mobile/src is counted (report-only) by
12
- * scripts/check-mobile-runtime-boundary.sh; the burn-down plan is
13
- * cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.
14
- * Types that only describe these internal surfaces live here with them;
15
- * types host UI renders with stay on the main entry.
16
- */
17
- // Miniapp runtime plumbing: WebView bridge, registry, launcher, engine.
18
- export { default as webviewBridge } from "./services/WebviewBridge";
19
- export { default as appRegistry, normalizeManifestPermissions, normalizeManifestActions, buildHardwareRequirements, saveLocalAppRunningState, registerDevApp, unregisterDevApp, getDevAppRecords, getDevAppSourcePackage, getDevAppAttestation, DEV_APP_PACKAGE_NAME, } from "./services/AppRegistry";
20
- export { default as displayProcessor } from "./services/DisplayProcessor";
21
- export { default as localDisplayManager } from "./services/LocalDisplayManager";
22
- export { default as localMiniappRuntime } from "./services/LocalMiniappRuntime";
23
- export { miniappLauncher } from "./services/MiniappLauncher";
24
- export { MentraJSRouter, } from "./services/MentraJSRouter";
25
- export { buildMentraUiShim } from "./services/mentraUiShim";
26
- export { MentraUIRouter } from "./services/MentraUIRouter";
27
- export { MentraJSCrashController, } from "./services/MentraJSCrashController";
28
- export { ensureMiniappEngine, getMiniappEngine } from "./services/MiniappEngine";
29
- export { redactSecrets, MentraJSLogThrottle, MentraJSLogRingBuffer, } from "./services/MentraJSLogPipeline";
30
- // WebView-injection script builders (miniapp globals + mentra-ui shim).
31
- export { buildMiniappGlobalsScript, getCapsuleMenuRect, } from "./utils/miniappGlobals";
32
- // Speech/audio coordinators and model managers.
33
- export { default as localSttFallbackCoordinator } from "./services/LocalSttFallbackCoordinator";
34
- export { default as micStateCoordinator } from "./services/MicStateCoordinator";
35
- export { default as audioPlaybackService } from "./services/AudioPlaybackService";
36
- export { default as sttModelManager, STTModelManager, } from "./services/STTModelManager";
37
- export { default as ttsModelManager, TTSModelManager } from "./services/TTSModelManager";
38
- export { default as offlineSpeechModelService, } from "./services/OfflineSpeechModelService";
39
- export { default as navigationService } from "./services/NavigationService";
40
- // Phone GPS — the background location task + tier control. Importing this
41
- // module registers the background task, so the entry that MantleManager loads
42
- // must keep re-exporting it (was: the main barrel).
43
- export { phoneLocationService, stopPhoneLocation } from "./services/PhoneLocationService";
44
- // Clock-skew fix commands (BLE writes) used by OTA + gallery sync.
45
- export { fixGlassesClockIfSkewed, maybeFixGlassesClockFromVersionInfo } from "./services/glassesClockSync";
46
- // OTA manifest-URL resolution (dev-override/legacy-build/env/prod).
47
- export { resolveOtaManifestUrl } from "./services/otaManifestUrl";
48
- // Flat OTA check helpers (network + BLE state). Host usage is a tracked
49
- // burn-down surface (§F); the sanctioned path is engine.ota.checkForUpdates().
50
- export { fetchVersionInfo, checkVersionUpdateAvailable, getLatestVersionInfo, findMatchingMtkPatch, checkBesUpdate, checkForOtaUpdate, checkCurrentGlassesForUpdate, } from "./services/OtaUpdateCheckService";
51
- // Gallery cluster — sync orchestrator, glasses-camera HTTP API, media/storage,
52
- // settings, validation and the service-to-service notice bus. Host gallery UI
53
- // renders engine.gallery; these are the underlying services.
54
- export { detectClockSkew, isSyncManifestEmpty, CLOCK_SKEW_TOLERANCE_MS } from "./services/gallerySyncClock";
55
- export { gallerySyncService } from "./services/asg/gallerySyncService";
56
- export { asgCameraApi } from "./services/asg/asgCameraApi";
57
- export { localStorageService } from "./services/asg/localStorageService";
58
- export { mediaProcessingQueue } from "./services/asg/mediaProcessingQueue";
59
- export { gallerySettingsService } from "./services/asg/gallerySettingsService";
60
- export { cameraRollExportCoordinator } from "./services/asg/cameraRollExportCoordinator";
61
- export { INVALID_DOWNLOADED_MEDIA, validateCaptureMetadataForDownload, validateDownloadedMediaFile, } from "./services/asg/galleryMediaValidation";
62
- export { emitGalleryNotice, onGalleryNotice } from "./services/asg/galleryNotices";
63
- // Phone-side capture coordinators.
64
- export { phonePhotoCoordinator } from "./services/PhonePhotoCoordinator";
65
- export { phoneStreamCoordinator } from "./services/PhoneStreamCoordinator";
66
- // Raw runtime stores (re-exported via the host @/stores/* shims). Read models
67
- // live on the engine facades; these are the migration escape hatch.
68
- export { useDisplayStore, flushDisplayCoalesceForTests } from "./stores/display";
69
- export { useCoreStore } from "./stores/core";
70
- export { useConnectionStore } from "./stores/connection";
71
- export { useCloudClientStatusStore } from "./stores/cloudClientStatus";
72
- export { SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting } from "./stores/settings";
73
- export { MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice } from "./stores/bluetoothSettingKeys";
74
- export { useAppStatusStore, installAppStoreHooks } from "./stores/apps";
75
- // Cloud client + credentials + v1 comms.
76
- export { cloudSecureStore } from "./utils/cloudClient/cloudSecureStore";
77
- export { cloudClientService } from "./services/CloudClientService";
78
- export { createCloudUdpSocket } from "./utils/cloudClient/RnUdpAdapter";
79
- // Log ring buffer + console interception (bug-report attachments).
80
- export { logBuffer } from "./utils/devLogging";
81
- // Bluetooth SDK internal compatibility passthrough. Prefer an engine facade
82
- // when one exists; this remains an escape hatch for app-only compatibility
83
- // needs (its event TYPES stay on the main entry).
84
- export { default as BluetoothSdk } from "@mentra/bluetooth-sdk/internal";
85
- // Engine-owned MMKV instance + debug helper.
86
- export { storage, printDirectory } from "./utils/storage";
87
- // Process-wide event bus — one shared instance for engine services + host
88
- // (re-exported via the @/utils/GlobalEventEmitter shim).
89
- export { default as GlobalEventEmitter } from "./utils/GlobalEventEmitter";
90
- //# sourceMappingURL=internal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"internal.js","sourceRoot":"","sources":["../src/internal.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * `@mentra/engine/internal` — the migration-era runtime surface.\n *\n * Raw zustand stores and service singletons that the Mentra app's host-side\n * services (and the `@/stores/*` / `@/utils/*` shims) still reach into while\n * the typed `engine` facades grow. Everything here either mutates runtime\n * state or exposes a store/service directly, so none of it belongs on the\n * OEM-facing `@mentra/engine` main entry: new host code should read/act\n * through `engine.*` instead.\n *\n * Every `/internal` import in mobile/src is counted (report-only) by\n * scripts/check-mobile-runtime-boundary.sh; the burn-down plan is\n * cloud-v2/docs/issues/020-glasses-status-boundary/integration-review.md §D.\n * Types that only describe these internal surfaces live here with them;\n * types host UI renders with stay on the main entry.\n */\n\n// Miniapp runtime plumbing: WebView bridge, registry, launcher, engine.\nexport {default as webviewBridge} from \"./services/WebviewBridge\"\nexport {\n default as appRegistry,\n normalizeManifestPermissions,\n normalizeManifestActions,\n buildHardwareRequirements,\n saveLocalAppRunningState,\n registerDevApp,\n unregisterDevApp,\n getDevAppRecords,\n getDevAppSourcePackage,\n getDevAppAttestation,\n DEV_APP_PACKAGE_NAME,\n type DevAppRecord,\n type MiniappReleaseIdentity,\n} from \"./services/AppRegistry\"\nexport {default as displayProcessor} from \"./services/DisplayProcessor\"\nexport {default as localDisplayManager, type DisplayPayload} from \"./services/LocalDisplayManager\"\nexport {default as localMiniappRuntime, type InstalledMiniappManifest} from \"./services/LocalMiniappRuntime\"\nexport {miniappLauncher, type LaunchHints, type LaunchResult, type ResolvedBundle} from \"./services/MiniappLauncher\"\nexport {\n MentraJSRouter,\n type MentraJSCrustBinding,\n type OutboundMessagePayload as MentraJSOutboundMessage,\n type RouterLogger as MentraJSRouterLogger,\n} from \"./services/MentraJSRouter\"\nexport {buildMentraUiShim, type MentraUiShimOptions} from \"./services/mentraUiShim\"\nexport {MentraUIRouter, type MentraUICrustBinding} from \"./services/MentraUIRouter\"\nexport {\n MentraJSCrashController,\n type CrashState,\n type CrashOutcome,\n type CrashControllerOptions,\n} from \"./services/MentraJSCrashController\"\nexport {ensureMiniappEngine, getMiniappEngine, type MiniappEngine} from \"./services/MiniappEngine\"\nexport {\n redactSecrets,\n MentraJSLogThrottle,\n MentraJSLogRingBuffer,\n type ThrottleOptions,\n} from \"./services/MentraJSLogPipeline\"\n// WebView-injection script builders (miniapp globals + mentra-ui shim).\nexport {\n buildMiniappGlobalsScript,\n getCapsuleMenuRect,\n type BuildMiniappGlobalsOptions,\n type CapsuleMenuRect,\n type MiniappColorScheme,\n type MiniappSafeArea,\n} from \"./utils/miniappGlobals\"\n\n// Speech/audio coordinators and model managers.\nexport {default as localSttFallbackCoordinator} from \"./services/LocalSttFallbackCoordinator\"\nexport {default as micStateCoordinator} from \"./services/MicStateCoordinator\"\nexport {default as audioPlaybackService} from \"./services/AudioPlaybackService\"\nexport {\n default as sttModelManager,\n STTModelManager,\n type LanguageInfo as SttLanguageInfo,\n type LanguageConfig as SttLanguageConfig,\n type DownloadProgress as SttDownloadProgress,\n type ExtractionProgress as SttExtractionProgress,\n} from \"./services/STTModelManager\"\nexport {default as ttsModelManager, TTSModelManager} from \"./services/TTSModelManager\"\nexport {\n default as offlineSpeechModelService,\n type DownloadStatus as OfflineModelDownloadStatus,\n type DownloadStage as OfflineModelDownloadStage,\n} from \"./services/OfflineSpeechModelService\"\n\nexport {default as navigationService} from \"./services/NavigationService\"\n// Phone GPS — the background location task + tier control. Importing this\n// module registers the background task, so the entry that MantleManager loads\n// must keep re-exporting it (was: the main barrel).\nexport {phoneLocationService, stopPhoneLocation} from \"./services/PhoneLocationService\"\n// Clock-skew fix commands (BLE writes) used by OTA + gallery sync.\nexport {fixGlassesClockIfSkewed, maybeFixGlassesClockFromVersionInfo} from \"./services/glassesClockSync\"\n// OTA manifest-URL resolution (dev-override/legacy-build/env/prod).\nexport {resolveOtaManifestUrl} from \"./services/otaManifestUrl\"\n// Flat OTA check helpers (network + BLE state). Host usage is a tracked\n// burn-down surface (§F); the sanctioned path is engine.ota.checkForUpdates().\nexport {\n fetchVersionInfo,\n checkVersionUpdateAvailable,\n getLatestVersionInfo,\n findMatchingMtkPatch,\n checkBesUpdate,\n checkForOtaUpdate,\n checkCurrentGlassesForUpdate,\n} from \"./services/OtaUpdateCheckService\"\n\n// Gallery cluster — sync orchestrator, glasses-camera HTTP API, media/storage,\n// settings, validation and the service-to-service notice bus. Host gallery UI\n// renders engine.gallery; these are the underlying services.\nexport {detectClockSkew, isSyncManifestEmpty, CLOCK_SKEW_TOLERANCE_MS} from \"./services/gallerySyncClock\"\nexport {gallerySyncService} from \"./services/asg/gallerySyncService\"\nexport {asgCameraApi} from \"./services/asg/asgCameraApi\"\nexport {localStorageService} from \"./services/asg/localStorageService\"\nexport {mediaProcessingQueue} from \"./services/asg/mediaProcessingQueue\"\nexport {gallerySettingsService} from \"./services/asg/gallerySettingsService\"\nexport {cameraRollExportCoordinator, type CameraRollExportSummary} from \"./services/asg/cameraRollExportCoordinator\"\nexport {\n INVALID_DOWNLOADED_MEDIA,\n validateCaptureMetadataForDownload,\n validateDownloadedMediaFile,\n} from \"./services/asg/galleryMediaValidation\"\nexport {emitGalleryNotice, onGalleryNotice} from \"./services/asg/galleryNotices\"\n\n// Phone-side capture coordinators.\nexport {phonePhotoCoordinator} from \"./services/PhonePhotoCoordinator\"\nexport {phoneStreamCoordinator} from \"./services/PhoneStreamCoordinator\"\n\n// Raw runtime stores (re-exported via the host @/stores/* shims). Read models\n// live on the engine facades; these are the migration escape hatch.\nexport {useDisplayStore, flushDisplayCoalesceForTests} from \"./stores/display\"\nexport {useCoreStore} from \"./stores/core\"\nexport {useConnectionStore} from \"./stores/connection\"\nexport {useCloudClientStatusStore} from \"./stores/cloudClientStatus\"\nexport type {RuntimeAudioTransport, RuntimeSnapshot, RuntimeStatus} from \"./stores/cloudClientStatus\"\nexport {SETTINGS, OFFLINE_APPLETS, useSettingsStore, useSetting} from \"./stores/settings\"\nexport {MENTRA_LIVE_SETTING_KEYS, getBluetoothSettingKeysForDevice} from \"./stores/bluetoothSettingKeys\"\nexport {useAppStatusStore, installAppStoreHooks, type AppStoreHooks} from \"./stores/apps\"\n\n// Cloud client + credentials + v1 comms.\nexport {cloudSecureStore} from \"./utils/cloudClient/cloudSecureStore\"\nexport {cloudClientService} from \"./services/CloudClientService\"\nexport {createCloudUdpSocket} from \"./utils/cloudClient/RnUdpAdapter\"\n\n// Log ring buffer + console interception (bug-report attachments).\nexport {logBuffer, type LogEntry} from \"./utils/devLogging\"\n\n// Bluetooth SDK internal compatibility passthrough. Prefer an engine facade\n// when one exists; this remains an escape hatch for app-only compatibility\n// needs (its event TYPES stay on the main entry).\nexport {default as BluetoothSdk} from \"@mentra/bluetooth-sdk/internal\"\n\n\n// Engine-owned MMKV instance + debug helper.\nexport {storage, printDirectory} from \"./utils/storage\"\n// Process-wide event bus — one shared instance for engine services + host\n// (re-exported via the @/utils/GlobalEventEmitter shim).\nexport {default as GlobalEventEmitter} from \"./utils/GlobalEventEmitter\"\n"]}
package/src/devtools.ts DELETED
@@ -1,13 +0,0 @@
1
- /**
2
- * `@mentra/engine/devtools` — the devtools-only surface.
3
- *
4
- * Debug/diagnostic singletons consumed by the Mentra app's internal dev
5
- * screens (stress test, miniapp dev-server tooling). Never import this from
6
- * product UI or host services; every `/devtools` import in mobile/src is
7
- * counted (report-only) by scripts/check-mobile-runtime-boundary.sh.
8
- */
9
-
10
- // Which miniapps the local runtime currently has running (stress-test screen).
11
- export {miniappRunningRegistry} from "./services/MiniappRunningRegistry"
12
- // Dev-server connection bridge for live-reloading local miniapps.
13
- export {default as devServerBridge} from "./services/DevServerBridge"