@mentra/sdk 2.1.31-beta.5 → 3.0.0-alpha.1

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 (169) hide show
  1. package/README.md +54 -9
  2. package/dist/MiniAppServer.d.ts +58 -0
  3. package/dist/MiniAppServer.d.ts.map +1 -0
  4. package/dist/app/server/index.d.ts +208 -70
  5. package/dist/app/server/index.d.ts.map +1 -1
  6. package/dist/app/session/events.d.ts +20 -3
  7. package/dist/app/session/events.d.ts.map +1 -1
  8. package/dist/app/session/index.d.ts +56 -3
  9. package/dist/app/session/index.d.ts.map +1 -1
  10. package/dist/app/session/modules/audio-output-stream.d.ts +108 -0
  11. package/dist/app/session/modules/audio-output-stream.d.ts.map +1 -0
  12. package/dist/app/session/modules/audio.d.ts +36 -1
  13. package/dist/app/session/modules/audio.d.ts.map +1 -1
  14. package/dist/app/session/modules/camera-managed-extension.d.ts +37 -33
  15. package/dist/app/session/modules/camera-managed-extension.d.ts.map +1 -1
  16. package/dist/app/session/modules/camera.d.ts +113 -93
  17. package/dist/app/session/modules/camera.d.ts.map +1 -1
  18. package/dist/app/session/modules/index.d.ts +4 -3
  19. package/dist/app/session/modules/index.d.ts.map +1 -1
  20. package/dist/app/session/modules/led.d.ts.map +1 -1
  21. package/dist/app/session/modules/location.d.ts.map +1 -1
  22. package/dist/app/session/settings.d.ts +5 -1
  23. package/dist/app/session/settings.d.ts.map +1 -1
  24. package/dist/app/webview/index.d.ts +67 -9
  25. package/dist/app/webview/index.d.ts.map +1 -1
  26. package/dist/constants/log-messages/updates.d.ts +32 -9
  27. package/dist/constants/log-messages/updates.d.ts.map +1 -1
  28. package/dist/constants/log-messages/warning.d.ts +12 -0
  29. package/dist/constants/log-messages/warning.d.ts.map +1 -1
  30. package/dist/display-utils.d.ts +3 -1
  31. package/dist/display-utils.d.ts.map +1 -1
  32. package/dist/display-utils.js +443 -26
  33. package/dist/display-utils.js.map +10 -6
  34. package/dist/index.d.ts +22 -14
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +8957 -4428
  37. package/dist/index.js.map +63 -31
  38. package/dist/internal/_SessionManager.d.ts +76 -0
  39. package/dist/internal/_SessionManager.d.ts.map +1 -0
  40. package/dist/logging/clean-transport.d.ts +50 -0
  41. package/dist/logging/clean-transport.d.ts.map +1 -0
  42. package/dist/logging/errors.d.ts +90 -0
  43. package/dist/logging/errors.d.ts.map +1 -0
  44. package/dist/logging/logger.d.ts +72 -1
  45. package/dist/logging/logger.d.ts.map +1 -1
  46. package/dist/logging/telemetry-transport.d.ts +51 -0
  47. package/dist/logging/telemetry-transport.d.ts.map +1 -0
  48. package/dist/session/DataStreamRouter.d.ts +219 -0
  49. package/dist/session/DataStreamRouter.d.ts.map +1 -0
  50. package/dist/session/MentraSession.d.ts +102 -0
  51. package/dist/session/MentraSession.d.ts.map +1 -0
  52. package/dist/session/index.d.ts +2 -0
  53. package/dist/session/index.d.ts.map +1 -0
  54. package/dist/session/internal/_ConnectionManager.d.ts +43 -0
  55. package/dist/session/internal/_ConnectionManager.d.ts.map +1 -0
  56. package/dist/session/internal/_MessageRouter.d.ts +11 -0
  57. package/dist/session/internal/_MessageRouter.d.ts.map +1 -0
  58. package/dist/session/internal/_SubscriptionManager.d.ts +32 -0
  59. package/dist/session/internal/_SubscriptionManager.d.ts.map +1 -0
  60. package/dist/session/internal/_V2AudioStreamShim.d.ts +12 -0
  61. package/dist/session/internal/_V2AudioStreamShim.d.ts.map +1 -0
  62. package/dist/session/internal/_V2CameraShim.d.ts +52 -0
  63. package/dist/session/internal/_V2CameraShim.d.ts.map +1 -0
  64. package/dist/session/internal/_V2EventManagerShim.d.ts +52 -0
  65. package/dist/session/internal/_V2EventManagerShim.d.ts.map +1 -0
  66. package/dist/session/internal/_V2SessionShim.d.ts +169 -0
  67. package/dist/session/internal/_V2SessionShim.d.ts.map +1 -0
  68. package/dist/session/internal/_V2SettingsShim.d.ts +17 -0
  69. package/dist/session/internal/_V2SettingsShim.d.ts.map +1 -0
  70. package/dist/session/managers/CameraManager.d.ts +198 -0
  71. package/dist/session/managers/CameraManager.d.ts.map +1 -0
  72. package/dist/session/managers/DashboardManager.d.ts +131 -0
  73. package/dist/session/managers/DashboardManager.d.ts.map +1 -0
  74. package/dist/session/managers/DeviceManager.d.ts +348 -0
  75. package/dist/session/managers/DeviceManager.d.ts.map +1 -0
  76. package/dist/session/managers/DisplayManager.d.ts +171 -0
  77. package/dist/session/managers/DisplayManager.d.ts.map +1 -0
  78. package/dist/session/managers/LedManager.d.ts +116 -0
  79. package/dist/session/managers/LedManager.d.ts.map +1 -0
  80. package/dist/session/managers/LocationManager.d.ts +224 -0
  81. package/dist/session/managers/LocationManager.d.ts.map +1 -0
  82. package/dist/session/managers/MicManager.d.ts +252 -0
  83. package/dist/session/managers/MicManager.d.ts.map +1 -0
  84. package/dist/session/managers/PermissionsManager.d.ts +139 -0
  85. package/dist/session/managers/PermissionsManager.d.ts.map +1 -0
  86. package/dist/session/managers/PhoneManager.d.ts +351 -0
  87. package/dist/session/managers/PhoneManager.d.ts.map +1 -0
  88. package/dist/session/managers/SpeakerManager.d.ts +285 -0
  89. package/dist/session/managers/SpeakerManager.d.ts.map +1 -0
  90. package/dist/session/managers/StorageManager.d.ts +289 -0
  91. package/dist/session/managers/StorageManager.d.ts.map +1 -0
  92. package/dist/session/managers/TimeUtils.d.ts +175 -0
  93. package/dist/session/managers/TimeUtils.d.ts.map +1 -0
  94. package/dist/session/managers/TranscriptionManager.d.ts +195 -0
  95. package/dist/session/managers/TranscriptionManager.d.ts.map +1 -0
  96. package/dist/session/managers/TranslationManager.d.ts +189 -0
  97. package/dist/session/managers/TranslationManager.d.ts.map +1 -0
  98. package/dist/session.d.ts +41 -0
  99. package/dist/session.d.ts.map +1 -0
  100. package/dist/session.js +4110 -0
  101. package/dist/session.js.map +44 -0
  102. package/dist/transport/Transport.d.ts +119 -0
  103. package/dist/transport/Transport.d.ts.map +1 -0
  104. package/dist/transport/WebSocketTransport.d.ts +73 -0
  105. package/dist/transport/WebSocketTransport.d.ts.map +1 -0
  106. package/dist/types/index.d.ts +31 -5
  107. package/dist/types/index.d.ts.map +1 -1
  108. package/dist/types/message-types.d.ts +25 -9
  109. package/dist/types/message-types.d.ts.map +1 -1
  110. package/dist/types/messages/app-to-cloud.d.ts +113 -16
  111. package/dist/types/messages/app-to-cloud.d.ts.map +1 -1
  112. package/dist/types/messages/cloud-to-app.d.ts +50 -4
  113. package/dist/types/messages/cloud-to-app.d.ts.map +1 -1
  114. package/dist/types/messages/cloud-to-glasses.d.ts +43 -14
  115. package/dist/types/messages/cloud-to-glasses.d.ts.map +1 -1
  116. package/dist/types/messages/glasses-to-cloud.d.ts +5 -5
  117. package/dist/types/messages/glasses-to-cloud.d.ts.map +1 -1
  118. package/dist/types/models.d.ts +17 -0
  119. package/dist/types/models.d.ts.map +1 -1
  120. package/dist/types/rtmp-stream.d.ts +4 -4
  121. package/dist/types/rtmp-stream.d.ts.map +1 -1
  122. package/dist/types/streams.d.ts +6 -1
  123. package/dist/types/streams.d.ts.map +1 -1
  124. package/dist/types/webhooks.d.ts +11 -0
  125. package/dist/types/webhooks.d.ts.map +1 -1
  126. package/dist/utils/error-utils.d.ts +139 -0
  127. package/dist/utils/error-utils.d.ts.map +1 -0
  128. package/dist/utils/permissions-utils.d.ts +30 -7
  129. package/dist/utils/permissions-utils.d.ts.map +1 -1
  130. package/node_modules/@mentra/types/dist/applet.d.ts +5 -1
  131. package/node_modules/@mentra/types/dist/applet.d.ts.map +1 -1
  132. package/node_modules/@mentra/types/dist/capabilities/even-realities-g2.d.ts +12 -0
  133. package/node_modules/@mentra/types/dist/capabilities/even-realities-g2.d.ts.map +1 -0
  134. package/node_modules/@mentra/types/dist/capabilities/even-realities-g2.js +61 -0
  135. package/node_modules/@mentra/types/dist/capabilities/mentra-display.d.ts +12 -0
  136. package/node_modules/@mentra/types/dist/capabilities/mentra-display.d.ts.map +1 -0
  137. package/node_modules/@mentra/types/dist/capabilities/mentra-display.js +54 -0
  138. package/node_modules/@mentra/types/dist/capabilities/none.d.ts +13 -0
  139. package/node_modules/@mentra/types/dist/capabilities/none.d.ts.map +1 -0
  140. package/node_modules/@mentra/types/dist/capabilities/none.js +67 -0
  141. package/node_modules/@mentra/types/dist/enums.d.ts +8 -2
  142. package/node_modules/@mentra/types/dist/enums.d.ts.map +1 -1
  143. package/node_modules/@mentra/types/dist/enums.js +9 -2
  144. package/node_modules/@mentra/types/dist/hardware.d.ts +3 -1
  145. package/node_modules/@mentra/types/dist/hardware.d.ts.map +1 -1
  146. package/node_modules/@mentra/types/dist/hardware.js +12 -2
  147. package/node_modules/@mentra/types/dist/index.d.ts +1 -1
  148. package/node_modules/@mentra/types/dist/index.d.ts.map +1 -1
  149. package/node_modules/@mentra/types/dist/index.js +2 -1
  150. package/node_modules/@mentra/types/package.json +2 -2
  151. package/package.json +24 -12
  152. package/dist/examples/managed-rtmp-streaming-example.d.ts +0 -2
  153. package/dist/examples/managed-rtmp-streaming-example.d.ts.map +0 -1
  154. package/dist/examples/managed-rtmp-streaming-with-restream-example.d.ts +0 -11
  155. package/dist/examples/managed-rtmp-streaming-with-restream-example.d.ts.map +0 -1
  156. package/dist/examples/rtmp-streaming-example.d.ts +0 -2
  157. package/dist/examples/rtmp-streaming-example.d.ts.map +0 -1
  158. package/node_modules/@mentra/types/src/applet.ts +0 -51
  159. package/node_modules/@mentra/types/src/capabilities/even-realities-g1.ts +0 -63
  160. package/node_modules/@mentra/types/src/capabilities/mentra-live.ts +0 -103
  161. package/node_modules/@mentra/types/src/capabilities/simulated-glasses.ts +0 -76
  162. package/node_modules/@mentra/types/src/capabilities/vuzix-z100.ts +0 -60
  163. package/node_modules/@mentra/types/src/cli.ts +0 -169
  164. package/node_modules/@mentra/types/src/device.ts +0 -43
  165. package/node_modules/@mentra/types/src/enums.ts +0 -36
  166. package/node_modules/@mentra/types/src/hardware.ts +0 -172
  167. package/node_modules/@mentra/types/src/index.ts +0 -64
  168. package/node_modules/@mentra/types/tsconfig.json +0 -22
  169. package/node_modules/@mentra/types/tsconfig.tsbuildinfo +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DeviceManager.d.ts","sourceRoot":"","sources":["../../../src/session/managers/DeviceManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,171 @@
1
+ /**
2
+ * 🖥️ DisplayManager — AR Display Control
3
+ *
4
+ * v3 manager that wraps the existing LayoutManager display functionality.
5
+ * Sends DisplayRequest messages to the cloud with identical wire format
6
+ * to ensure backward compatibility.
7
+ *
8
+ * @example
9
+ * ```ts
10
+ * const display = new DisplayManager(deps);
11
+ *
12
+ * // Simple text
13
+ * display.showText("Hello AR World!");
14
+ *
15
+ * // Pre-wrapped lines
16
+ * display.showText(["Line 1", "Line 2"]);
17
+ *
18
+ * // Structured layouts
19
+ * display.showReferenceCard("Weather", "Sunny and 75°F");
20
+ * display.showDashboardCard("BPM", "72");
21
+ *
22
+ * // Clear the display
23
+ * display.clear();
24
+ * ```
25
+ */
26
+ /**
27
+ * Shared dependency bag injected by MentraSession.
28
+ * Keeps managers decoupled from the session implementation.
29
+ */
30
+ export interface ManagerDeps {
31
+ /** DataStreamRouter — register for DATA_STREAM messages by streamType key. */
32
+ router: {
33
+ on(key: string, handler: (streamType: string, data: any, message: any) => void): () => void;
34
+ };
35
+ /** MessageHandlerRegistry — register for top-level message types. */
36
+ messageHandlers: {
37
+ register(type: string, handler: (msg: any) => void): () => void;
38
+ };
39
+ addSubscription: (stream: string) => void;
40
+ removeSubscription: (stream: string) => void;
41
+ sendMessage: (message: any) => void;
42
+ sendBinary: (data: ArrayBuffer | Uint8Array) => void;
43
+ logger: {
44
+ debug(...args: any[]): void;
45
+ info(...args: any[]): void;
46
+ warn(...args: any[]): void;
47
+ error(...args: any[]): void;
48
+ };
49
+ getPackageName: () => string;
50
+ getSessionId: () => string;
51
+ }
52
+ /**
53
+ * Controls the AR display on the user's glasses.
54
+ *
55
+ * Provides high-level methods for showing text, cards, bitmaps, and
56
+ * clearing the display. All methods produce a `DisplayRequest` message
57
+ * with `type: "display_event"` — the exact same wire format the cloud
58
+ * and glasses firmware already understand from v2.
59
+ */
60
+ export declare class DisplayManager {
61
+ private readonly deps;
62
+ constructor(deps: ManagerDeps);
63
+ /**
64
+ * Show text on the AR display.
65
+ *
66
+ * Accepts a single string or an array of pre-wrapped lines.
67
+ * When an array is provided the lines are joined with newlines
68
+ * and sent as a single TextWall layout.
69
+ *
70
+ * @param text - A string or array of strings to display
71
+ *
72
+ * @example
73
+ * ```ts
74
+ * display.showText("Connected to server");
75
+ * display.showText(["Line 1", "Line 2", "Line 3"]);
76
+ * ```
77
+ */
78
+ showText(text: string | string[]): void;
79
+ /**
80
+ * 📝 Show a single block of text on the main display.
81
+ *
82
+ * Best for simple messages, status updates, and notifications.
83
+ *
84
+ * @param text - Text content to display
85
+ *
86
+ * @example
87
+ * ```ts
88
+ * display.showTextWall("Listening…");
89
+ * ```
90
+ */
91
+ showTextWall(text: string): void;
92
+ /**
93
+ * ↕️ Show two sections of text, one above the other.
94
+ *
95
+ * Best for before/after content, question/answer, translations,
96
+ * or any two-part message.
97
+ *
98
+ * @param leftText - Text for the top section
99
+ * @param rightText - Text for the bottom section
100
+ *
101
+ * @example
102
+ * ```ts
103
+ * display.showDoubleTextWall("Original: Hello", "Translated: Bonjour");
104
+ * ```
105
+ */
106
+ showDoubleTextWall(leftText: string, rightText: string): void;
107
+ /**
108
+ * 📇 Show a card with a title and body text.
109
+ *
110
+ * Best for titled content, important information, and notifications
111
+ * with context.
112
+ *
113
+ * @param title - Card title
114
+ * @param body - Main content text
115
+ *
116
+ * @example
117
+ * ```ts
118
+ * display.showReferenceCard("Meeting Reminder", "Team standup in 5 minutes");
119
+ * ```
120
+ */
121
+ showReferenceCard(title: string, body: string): void;
122
+ /**
123
+ * 📊 Show a dashboard card with left and right text.
124
+ *
125
+ * Best for key-value pairs, metrics, and dashboard-style displays.
126
+ * Automatically uses the DASHBOARD view type.
127
+ *
128
+ * @param leftText - Left side text (typically label/key)
129
+ * @param rightText - Right side text (typically value)
130
+ *
131
+ * @example
132
+ * ```ts
133
+ * display.showDashboardCard("Weather", "72°F");
134
+ * ```
135
+ */
136
+ showDashboardCard(leftText: string, rightText: string): void;
137
+ /**
138
+ * 🖼️ Show a bitmap image on the display.
139
+ *
140
+ * @param data - Hex or base64 encoded bitmap data string
141
+ *
142
+ * @example
143
+ * ```ts
144
+ * display.showBitmap(base64EncodedBitmapString);
145
+ * ```
146
+ */
147
+ showBitmap(data: any): void;
148
+ /**
149
+ * 🧹 Clear the AR display.
150
+ *
151
+ * Removes any currently shown content from the main view.
152
+ *
153
+ * @example
154
+ * ```ts
155
+ * display.clear();
156
+ * ```
157
+ */
158
+ clear(): void;
159
+ /**
160
+ * Build and send a DisplayRequest message.
161
+ *
162
+ * Wire format is identical to v2 LayoutManager — the cloud receives
163
+ * the same `{ type: "display_event", packageName, view, layout, … }`.
164
+ *
165
+ * @param layout - The layout configuration to display
166
+ * @param view - View type (main or dashboard), defaults to MAIN
167
+ * @param durationMs - Optional display duration in milliseconds
168
+ */
169
+ private sendDisplayEvent;
170
+ }
171
+ //# sourceMappingURL=DisplayManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DisplayManager.d.ts","sourceRoot":"","sources":["../../../src/session/managers/DisplayManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAiBH;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,MAAM,EAAE;QACN,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;KAC7F,CAAC;IACF,qEAAqE;IACrE,eAAe,EAAE;QACf,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;KACjE,CAAC;IACF,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,UAAU,EAAE,CAAC,IAAI,EAAE,WAAW,GAAG,UAAU,KAAK,IAAI,CAAC;IACrD,MAAM,EAAE;QACN,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;KAC7B,CAAC;IACF,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAID;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAc;gBAEvB,IAAI,EAAE,WAAW;IAM7B;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,IAAI;IAKvC;;;;;;;;;;;OAWG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAuBhC;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAS7D;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IASpD;;;;;;;;;;;;;OAaG;IACH,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAS5D;;;;;;;;;OASG;IACH,UAAU,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI;IAkB3B;;;;;;;;;OASG;IACH,KAAK,IAAI,IAAI;IASb;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;CAgCzB"}
@@ -0,0 +1,116 @@
1
+ /**
2
+ * LedManager — v3 SDK LED Control API
3
+ *
4
+ * Thin wrapper around the existing LedModule patterns. Provides a simplified
5
+ * API for controlling RGB LEDs on connected smart glasses.
6
+ *
7
+ * Wire format is identical to v2:
8
+ * ```json
9
+ * {
10
+ * "type": "rgb_led_control",
11
+ * "packageName": "<packageName>",
12
+ * "sessionId": "<sessionId>",
13
+ * "requestId": "<requestId>",
14
+ * "action": "on" | "off",
15
+ * "color": "<LedColor>",
16
+ * "ontime": <ms>
17
+ * }
18
+ * ```
19
+ *
20
+ * @module
21
+ */
22
+ /**
23
+ * Dependencies injected by MentraSession.
24
+ *
25
+ * Structural type — no concrete imports so the manager stays unit-testable
26
+ * with plain stubs.
27
+ */
28
+ export interface LedManagerDeps {
29
+ /** DataStreamRouter — register for DATA_STREAM messages by streamType key. */
30
+ router: {
31
+ on(key: string, handler: (streamType: string, data: any, message: any) => void): () => void;
32
+ };
33
+ /** MessageHandlerRegistry — register for top-level message types. */
34
+ messageHandlers: {
35
+ register(type: string, handler: (msg: any) => void): () => void;
36
+ };
37
+ /** Add a subscription string (triggers SUBSCRIPTION_UPDATE to cloud). */
38
+ addSubscription: (stream: string) => void;
39
+ /** Remove a subscription string. */
40
+ removeSubscription: (stream: string) => void;
41
+ /** Send an arbitrary JSON message over the WebSocket. */
42
+ sendMessage: (message: any) => void;
43
+ /** Structured logger. */
44
+ logger: {
45
+ debug(...args: any[]): void;
46
+ info(...args: any[]): void;
47
+ warn(...args: any[]): void;
48
+ error(...args: any[]): void;
49
+ };
50
+ /** Package name for outgoing messages. */
51
+ getPackageName: () => string;
52
+ /** Current session ID. */
53
+ getSessionId: () => string;
54
+ }
55
+ /**
56
+ * Controls RGB LEDs on connected smart glasses.
57
+ *
58
+ * LED commands are fire-and-forget — the methods return immediately after
59
+ * sending the control message to the cloud. No response is awaited.
60
+ *
61
+ * @example
62
+ * ```ts
63
+ * const session = await mentra.connect();
64
+ *
65
+ * // Solid green LED for 2 seconds
66
+ * session.led.setColor("green", 2000);
67
+ *
68
+ * // Turn LED off
69
+ * session.led.off();
70
+ * ```
71
+ */
72
+ export declare class LedManager {
73
+ private readonly deps;
74
+ constructor(deps: LedManagerDeps);
75
+ /**
76
+ * Set the LED to a specific colour.
77
+ *
78
+ * Sends an `rgb_led_control` message with `action: "on"` to the cloud.
79
+ * The LED will remain on for `onTimeMs` milliseconds (defaults to 1000ms)
80
+ * then turn off automatically on the device.
81
+ *
82
+ * @param color - LED colour name. One of `"red"`, `"green"`, `"blue"`, `"orange"`, `"white"`.
83
+ * @param onTimeMs - Duration in milliseconds the LED stays on. Defaults to `1000`.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * // Red LED for 500ms
88
+ * session.led.setColor("red", 500);
89
+ *
90
+ * // White LED for the default 1s
91
+ * session.led.setColor("white");
92
+ * ```
93
+ */
94
+ setColor(color: string, onTimeMs?: number): void;
95
+ /**
96
+ * Turn the LED off.
97
+ *
98
+ * Sends an `rgb_led_control` message with `action: "off"` to the cloud.
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * session.led.off();
103
+ * ```
104
+ */
105
+ off(): void;
106
+ /**
107
+ * Clean up resources.
108
+ *
109
+ * Called by MentraSession during disconnect/cleanup. LED commands are
110
+ * fire-and-forget so there is no pending state to drain.
111
+ *
112
+ * @internal
113
+ */
114
+ destroy(): void;
115
+ }
116
+ //# sourceMappingURL=LedManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LedManager.d.ts","sourceRoot":"","sources":["../../../src/session/managers/LedManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,8EAA8E;IAC9E,MAAM,EAAE;QACN,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;KAC7F,CAAC;IACF,qEAAqE;IACrE,eAAe,EAAE;QACf,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;KACjE,CAAC;IACF,yEAAyE;IACzE,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,oCAAoC;IACpC,kBAAkB,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,yDAAyD;IACzD,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,KAAK,IAAI,CAAC;IACpC,yBAAyB;IACzB,MAAM,EAAE;QACN,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC3B,KAAK,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;KAC7B,CAAC;IACF,0CAA0C;IAC1C,cAAc,EAAE,MAAM,MAAM,CAAC;IAC7B,0BAA0B;IAC1B,YAAY,EAAE,MAAM,MAAM,CAAC;CAC5B;AAiBD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;gBAE1B,IAAI,EAAE,cAAc;IAMhC;;;;;;;;;;;;;;;;;;OAkBG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI;IAqBhD;;;;;;;;;OASG;IACH,GAAG,IAAI,IAAI;IAmBX;;;;;;;OAOG;IACH,OAAO,IAAI,IAAI;CAGhB"}
@@ -0,0 +1,224 @@
1
+ /**
2
+ * LocationManager — v3 SDK Location API
3
+ *
4
+ * Wraps the existing LocationManager patterns from v2 with a cleaner,
5
+ * composable API. Subscribes to location data streams, caches the latest
6
+ * known position, and supports one-shot location polls.
7
+ *
8
+ * Wire format is identical to v2:
9
+ * - Location stream subscription: `"location_stream"` added to subscriptions
10
+ * - Location poll: `{ type: "location_poll_request", packageName, sessionId, accuracy, correlationId }`
11
+ * - Location updates arrive as DATA_STREAM messages with streamType `"location_update"` or `"location_stream"`
12
+ *
13
+ * The LocationUpdate payload shape (from glasses-to-cloud):
14
+ * ```json
15
+ * {
16
+ * "type": "location_update",
17
+ * "lat": number,
18
+ * "lng": number,
19
+ * "accuracy": number,
20
+ * "correlationId": string | undefined
21
+ * }
22
+ * ```
23
+ *
24
+ * @module
25
+ */
26
+ /**
27
+ * Normalised location data delivered to subscriber callbacks.
28
+ */
29
+ export interface LocationData {
30
+ /** Latitude in decimal degrees. */
31
+ lat: number;
32
+ /** Longitude in decimal degrees. */
33
+ lng: number;
34
+ /** Horizontal accuracy in metres (`undefined` if not available). */
35
+ accuracy?: number;
36
+ /** Unix timestamp (ms) when the location was recorded. */
37
+ timestamp: number;
38
+ /** Correlation ID returned from a one-shot poll (if applicable). */
39
+ correlationId?: string;
40
+ }
41
+ /**
42
+ * Accuracy tier for location stream subscriptions.
43
+ * Maps directly to the v2 `LocationStreamRequest.rate` values.
44
+ */
45
+ export type LocationAccuracy = "standard" | "high" | "realtime" | "tenMeters" | "hundredMeters" | "kilometer" | "threeKilometers" | "reduced";
46
+ /** Callback signature for location subscribers. */
47
+ export type LocationHandler = (location: LocationData) => void;
48
+ /**
49
+ * Dependencies injected by MentraSession.
50
+ *
51
+ * Structural type — no concrete imports so the manager stays unit-testable
52
+ * with plain stubs.
53
+ */
54
+ export interface LocationManagerDeps {
55
+ /** DataStreamRouter — register for DATA_STREAM messages by streamType key. */
56
+ router: {
57
+ on(key: string, handler: (streamType: string, data: any, message: any) => void): () => void;
58
+ };
59
+ /** MessageHandlerRegistry — register for top-level message types. */
60
+ messageHandlers: {
61
+ register(type: string, handler: (msg: any) => void): () => void;
62
+ };
63
+ /** Add a subscription string (triggers SUBSCRIPTION_UPDATE to cloud). */
64
+ addSubscription: (stream: string) => void;
65
+ /** Remove a subscription string. */
66
+ removeSubscription: (stream: string) => void;
67
+ /** Send an arbitrary JSON message over the WebSocket. */
68
+ sendMessage: (message: any) => void;
69
+ /** Structured logger. */
70
+ logger: {
71
+ debug(...args: any[]): void;
72
+ info(...args: any[]): void;
73
+ warn(...args: any[]): void;
74
+ error(...args: any[]): void;
75
+ };
76
+ /** Package name for outgoing messages. */
77
+ getPackageName: () => string;
78
+ /** Current session ID. */
79
+ getSessionId: () => string;
80
+ }
81
+ /**
82
+ * Manages location subscriptions, caches the latest known position, and
83
+ * supports one-shot location polls.
84
+ *
85
+ * @example
86
+ * ```ts
87
+ * const session = await mentra.connect();
88
+ *
89
+ * // Subscribe to continuous location updates
90
+ * const stop = session.location.onUpdate((loc) => {
91
+ * console.log(`${loc.lat}, ${loc.lng} (±${loc.accuracy}m)`);
92
+ * });
93
+ *
94
+ * // Read cached values at any time
95
+ * console.log("Last known:", session.location.lat, session.location.lng);
96
+ *
97
+ * // Request a single location update
98
+ * session.location.requestUpdate();
99
+ *
100
+ * // Stop all subscriptions
101
+ * session.location.stop();
102
+ * ```
103
+ */
104
+ export declare class LocationManager {
105
+ private readonly deps;
106
+ /**
107
+ * All currently-active registrations. Tracked so that {@link stop}
108
+ * can clean everything up in one shot.
109
+ */
110
+ private registrations;
111
+ /**
112
+ * Reference count for the location_stream subscription.
113
+ * We only call `removeSubscription` when ref-count drops to zero.
114
+ */
115
+ private streamRefCount;
116
+ /** Latest latitude, or `null` if no update has been received. */
117
+ private _lat;
118
+ /** Latest longitude, or `null` if no update has been received. */
119
+ private _lng;
120
+ /** Latest horizontal accuracy in metres, or `null` if unknown. */
121
+ private _accuracy;
122
+ /** Timestamp of the latest location update, or `null` if none received. */
123
+ private _timestamp;
124
+ /**
125
+ * Whether the device has location permission.
126
+ * Optimistically `true`, updated to `false` on permission errors.
127
+ */
128
+ private _hasPermission;
129
+ /** Cleanup for the internal location_update message handler. */
130
+ private locationUpdateCleanup;
131
+ constructor(deps: LocationManagerDeps);
132
+ /**
133
+ * Subscribe to continuous location updates.
134
+ *
135
+ * Registers on the DataStreamRouter for `"location_stream"` events and
136
+ * adds the `"location_stream"` subscription to the cloud. Multiple
137
+ * independent subscriptions are supported — each returns its own
138
+ * cleanup function.
139
+ *
140
+ * @param handler - Called each time a location update arrives.
141
+ * @param accuracy - Desired accuracy tier. Defaults to `"standard"`.
142
+ * @returns A cleanup function that removes this specific subscription.
143
+ *
144
+ * @example
145
+ * ```ts
146
+ * const stop = session.location.onUpdate((loc) => {
147
+ * console.log(`${loc.lat}, ${loc.lng}`);
148
+ * });
149
+ *
150
+ * // Later:
151
+ * stop();
152
+ * ```
153
+ */
154
+ onUpdate(handler: LocationHandler, accuracy?: LocationAccuracy): () => void;
155
+ /**
156
+ * Request a single location update (one-shot poll).
157
+ *
158
+ * Sends a `location_poll_request` message to the cloud. The response
159
+ * will arrive as a `location_update` DATA_STREAM event and will be
160
+ * delivered to any active `onUpdate()` listeners as well as updating
161
+ * the cached position.
162
+ *
163
+ * @param accuracy - Desired accuracy tier for the poll. Defaults to `"standard"`.
164
+ *
165
+ * @example
166
+ * ```ts
167
+ * session.location.requestUpdate();
168
+ * // The next onUpdate() callback will fire with the fresh position.
169
+ * ```
170
+ */
171
+ requestUpdate(accuracy?: LocationAccuracy): void;
172
+ /**
173
+ * Stop all location subscriptions and remove every handler.
174
+ *
175
+ * After calling this, no location callbacks will fire until new
176
+ * subscriptions are created via {@link onUpdate}.
177
+ *
178
+ * @example
179
+ * ```ts
180
+ * session.location.stop();
181
+ * ```
182
+ */
183
+ stop(): void;
184
+ /**
185
+ * Latest known latitude, or `null` if no location update has been received.
186
+ */
187
+ get lat(): number | null;
188
+ /**
189
+ * Latest known longitude, or `null` if no location update has been received.
190
+ */
191
+ get lng(): number | null;
192
+ /**
193
+ * Latest horizontal accuracy in metres, or `null` if unknown.
194
+ */
195
+ get accuracy(): number | null;
196
+ /**
197
+ * Unix timestamp (ms) of the latest location update, or `null` if none received.
198
+ */
199
+ get timestamp(): number | null;
200
+ /**
201
+ * Whether the device has granted location permission.
202
+ *
203
+ * Optimistically `true` — updated to `false` if a permission error
204
+ * is received from the cloud.
205
+ */
206
+ get hasPermission(): boolean;
207
+ /**
208
+ * Update cached location values from raw incoming data.
209
+ */
210
+ private cacheLocation;
211
+ /**
212
+ * Called by MentraSession if a permission error for location is received.
213
+ * @internal
214
+ */
215
+ setPermission(granted: boolean): void;
216
+ /**
217
+ * Clean up all resources.
218
+ *
219
+ * Called by MentraSession during disconnect/cleanup.
220
+ * @internal
221
+ */
222
+ destroy(): void;
223
+ }
224
+ //# sourceMappingURL=LocationManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LocationManager.d.ts","sourceRoot":"","sources":["../../../src/session/managers/LocationManager.ts"],"names":[],"mappings":"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"}