@mentra/engine 3.1.0-dev.20 → 3.1.0-dev.22

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 (69) hide show
  1. package/README.md +19 -5
  2. package/build/bluetooth-sdk/ota-transport.d.ts +2 -0
  3. package/build/bluetooth-sdk/ota-transport.d.ts.map +1 -0
  4. package/build/bluetooth-sdk/ota-transport.js +2 -0
  5. package/build/bluetooth-sdk/ota-transport.js.map +1 -0
  6. package/build/engine.d.ts +2 -2
  7. package/build/facades/ota.d.ts +4 -4
  8. package/build/facades/ota.d.ts.map +1 -1
  9. package/build/facades/ota.js +3 -4
  10. package/build/facades/ota.js.map +1 -1
  11. package/build/generated/releaseMetadata.js +4 -4
  12. package/build/generated/releaseMetadata.js.map +1 -1
  13. package/build/react/MentraLiveOtaFlow.d.ts +3 -2
  14. package/build/react/MentraLiveOtaFlow.d.ts.map +1 -1
  15. package/build/react/MentraLiveOtaFlow.js +68 -345
  16. package/build/react/MentraLiveOtaFlow.js.map +1 -1
  17. package/build/react/index.d.ts +1 -0
  18. package/build/react/index.d.ts.map +1 -1
  19. package/build/react/index.js +1 -0
  20. package/build/react/index.js.map +1 -1
  21. package/build/react/useMentraLiveOta.d.ts +69 -0
  22. package/build/react/useMentraLiveOta.d.ts.map +1 -0
  23. package/build/react/useMentraLiveOta.js +485 -0
  24. package/build/react/useMentraLiveOta.js.map +1 -0
  25. package/build/services/GlassesStatusProjection.d.ts +15 -2
  26. package/build/services/GlassesStatusProjection.d.ts.map +1 -1
  27. package/build/services/GlassesStatusProjection.js +3 -3
  28. package/build/services/GlassesStatusProjection.js.map +1 -1
  29. package/build/services/HotspotOtaTransport.d.ts.map +1 -1
  30. package/build/services/HotspotOtaTransport.js +8 -7
  31. package/build/services/HotspotOtaTransport.js.map +1 -1
  32. package/build/services/OtaInstallCoordinator.d.ts +24 -3
  33. package/build/services/OtaInstallCoordinator.d.ts.map +1 -1
  34. package/build/services/OtaInstallCoordinator.js +14 -12
  35. package/build/services/OtaInstallCoordinator.js.map +1 -1
  36. package/build/services/OtaService.d.ts.map +1 -1
  37. package/build/services/OtaService.js +1 -1
  38. package/build/services/OtaService.js.map +1 -1
  39. package/build/services/OtaUpdateCheckService.d.ts +1 -1
  40. package/build/services/OtaUpdateCheckService.d.ts.map +1 -1
  41. package/build/services/OtaUpdateCheckService.js +6 -2
  42. package/build/services/OtaUpdateCheckService.js.map +1 -1
  43. package/build/services/asg/localNetworkTransport.d.ts.map +1 -1
  44. package/build/services/asg/localNetworkTransport.js +13 -12
  45. package/build/services/asg/localNetworkTransport.js.map +1 -1
  46. package/build/services/glassesClockSync.js +1 -1
  47. package/build/services/glassesClockSync.js.map +1 -1
  48. package/build/stores/core.d.ts +3 -3
  49. package/build/stores/core.d.ts.map +1 -1
  50. package/build/stores/core.js.map +1 -1
  51. package/build/stores/glasses.d.ts +10 -4
  52. package/build/stores/glasses.d.ts.map +1 -1
  53. package/build/stores/glasses.js.map +1 -1
  54. package/package.json +12 -6
  55. package/src/bluetooth-sdk/ota-transport.ts +1 -0
  56. package/src/facades/ota.ts +3 -4
  57. package/src/generated/releaseMetadata.ts +4 -4
  58. package/src/react/MentraLiveOtaFlow.tsx +116 -466
  59. package/src/react/index.ts +13 -0
  60. package/src/react/useMentraLiveOta.ts +619 -0
  61. package/src/services/GlassesStatusProjection.ts +7 -6
  62. package/src/services/HotspotOtaTransport.ts +8 -7
  63. package/src/services/OtaInstallCoordinator.ts +16 -13
  64. package/src/services/OtaService.ts +1 -2
  65. package/src/services/OtaUpdateCheckService.ts +8 -5
  66. package/src/services/asg/localNetworkTransport.ts +20 -19
  67. package/src/services/glassesClockSync.ts +1 -1
  68. package/src/stores/core.ts +4 -4
  69. package/src/stores/glasses.ts +13 -6
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mentra/engine",
3
- "version": "3.1.0-dev.20",
3
+ "version": "3.1.0-dev.22",
4
4
  "description": "Mentra Engine — miniapp registry, WebView bridge, and miniapp store",
5
5
  "main": "build/index.js",
6
6
  "react-native": "src/index.ts",
@@ -36,6 +36,11 @@
36
36
  "react-native": "./src/bluetooth-sdk/photo-receiver.ts",
37
37
  "default": "./build/bluetooth-sdk/photo-receiver.js"
38
38
  },
39
+ "./bluetooth-sdk/ota-transport": {
40
+ "types": "./build/bluetooth-sdk/ota-transport.d.ts",
41
+ "react-native": "./src/bluetooth-sdk/ota-transport.ts",
42
+ "default": "./build/bluetooth-sdk/ota-transport.js"
43
+ },
39
44
  "./bluetooth-sdk/debug": {
40
45
  "types": "./build/bluetooth-sdk/debug.d.ts",
41
46
  "react-native": "./src/bluetooth-sdk/debug.ts",
@@ -64,6 +69,7 @@
64
69
  "write:release-metadata": "node scripts/write-release-metadata.mjs",
65
70
  "verify:release-package": "node scripts/verify-release-package.mjs",
66
71
  "test:public-api": "bun test src/bluetooth-sdk/__tests__/publicApi.test.ts",
72
+ "test:public-ota-consumer": "tsc --noEmit --strict --skipLibCheck --jsx react-jsx --moduleResolution bundler --module esnext --target es2022 scripts/fixtures/public-ota-consumer.tsx",
67
73
  "build:module": "expo-module prepare",
68
74
  "prepublishOnly": "expo-module prepublishOnly",
69
75
  "expo-module": "expo-module"
@@ -91,11 +97,11 @@
91
97
  "registry": "https://registry.npmjs.org/"
92
98
  },
93
99
  "dependencies": {
94
- "@mentra/bluetooth-sdk": "3.1.0-dev.20",
95
- "@mentra/cloud-client": "3.1.0-dev.20",
96
- "@mentra/cloud-protocol": "3.1.0-dev.20",
97
- "@mentra/crust": "3.1.0-dev.20",
98
- "@mentra/miniapp": "3.1.0-dev.20",
100
+ "@mentra/bluetooth-sdk": "3.1.0-dev.22",
101
+ "@mentra/cloud-client": "3.1.0-dev.22",
102
+ "@mentra/cloud-protocol": "3.1.0-dev.22",
103
+ "@mentra/crust": "3.1.0-dev.22",
104
+ "@mentra/miniapp": "3.1.0-dev.22",
99
105
  "buffer": "^6.0.3",
100
106
  "events": "^3.3.0",
101
107
  "semver": "^7.7.4",
@@ -0,0 +1 @@
1
+ export * from "@mentra/bluetooth-sdk/ota-transport"
@@ -8,7 +8,7 @@
8
8
  * `installSession` fronts the OtaInstallCoordinator state machine (WP 8B) — the host
9
9
  * progress screen is a pure renderer over its snapshot + attach/detach/retry/finish.
10
10
  */
11
- import BluetoothSdk from "@mentra/bluetooth-sdk/internal"
11
+ import BluetoothSdk from "@mentra/bluetooth-sdk"
12
12
  import type {OtaProgress, OtaProgressStatus, OtaStartAckEvent, OtaStatus, OtaUpdateInfo} from "@mentra/bluetooth-sdk"
13
13
  import {isGlassesConnected, useGlassesStore} from "../stores/glasses"
14
14
  import {resolveOtaManifestUrl} from "../services/otaManifestUrl"
@@ -113,7 +113,6 @@ export const ota = {
113
113
  * @deprecated Legacy progress route (build < 37) only — removed with WP 8D.
114
114
  */
115
115
  clearBuildNumberForNextCheck: () => {
116
- BluetoothSdk.updateGlasses({buildNumber: ""})
117
116
  useGlassesStore.getState().setGlassesInfo({buildNumber: ""})
118
117
  },
119
118
  /**
@@ -136,9 +135,9 @@ export const ota = {
136
135
  detach: () => otaInstallCoordinator.detach(),
137
136
  /** Retry after a failure: clear state and re-send ota_start (if connected). */
138
137
  retry: () => otaInstallCoordinator.retry(),
139
- /** Terminal cleanup for Continue/Done (navigation stays in the screen). */
138
+ /** Terminal cleanup for Continue/Done, including hotspot route teardown. */
140
139
  finish: () => otaInstallCoordinator.finish(),
141
- /** Abandon an interrupted session (super-mode skip): finish() + drop the session's status/progress. */
140
+ /** Abandon an interrupted session: await finish() then drop the session's status/progress. */
142
141
  discard: () => otaInstallCoordinator.discard(),
143
142
  /** Current install read model (displayState/errorMsg/lockout + glasses OTA data). */
144
143
  snapshot: (): OtaInstallSnapshot => otaInstallCoordinator.snapshot(),
@@ -12,9 +12,9 @@ export interface EngineReleaseMetadata {
12
12
  export const ENGINE_RELEASE_METADATA: Readonly<EngineReleaseMetadata> = Object.freeze({
13
13
  "schemaVersion": 1,
14
14
  "familyBaseVersion": "3.1.0",
15
- "releaseIdentity": "3.1.0-dev.20",
16
- "releaseSetId": "mentra-3.1.0-dev.20",
17
- "sourceCommit": "312e6d8db6fee268badea8056670b6639e30a459",
18
- "otaManifestUrl": "https://github.com/Mentra-Community/MentraOS/releases/download/mentra-v3.1.0-dev.20/mentra-live-ota-3.1.0-dev.20.json",
15
+ "releaseIdentity": "3.1.0-dev.22",
16
+ "releaseSetId": "mentra-3.1.0-dev.22",
17
+ "sourceCommit": "7922b0473444e14a18baec745311327ce0747993",
18
+ "otaManifestUrl": "https://github.com/Mentra-Community/MentraOS/releases/download/mentra-v3.1.0-dev.22/mentra-live-ota-3.1.0-dev.22.json",
19
19
  "otaManifestSha256": "faa45840c71e996726a8c21a091d833635198570ef7d9045b8e95251d6f564a8"
20
20
  })