@mentra/sdk 2.1.12 → 2.1.14

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.
@@ -1,10 +1,11 @@
1
- import { BaseMessage } from './base';
2
- import { CloudToAppMessageType } from '../message-types';
3
- import { StreamType } from '../streams';
4
- import { AppSettings, AppConfig } from '../models';
5
- import { LocationUpdate, CalendarEvent, RtmpStreamStatus, PhotoResponse } from './glasses-to-cloud';
6
- import { DashboardMode } from '../dashboard';
7
- import { Capabilities } from '../capabilities';
1
+ import { BaseMessage } from "./base";
2
+ import { CloudToAppMessageType } from "../message-types";
3
+ import { ExtendedStreamType, StreamType } from "../streams";
4
+ import { AppSettings, AppConfig } from "../models";
5
+ import { DashboardMode } from "../dashboard";
6
+ import { Capabilities } from "../capabilities";
7
+ import { LocationUpdate, CalendarEvent, RtmpStreamStatus, PhotoResponse } from "./glasses-to-cloud";
8
+ import { AppSession } from "../../app/session";
8
9
  /**
9
10
  * Connection acknowledgment to App
10
11
  */
@@ -61,11 +62,20 @@ export interface SettingsUpdate extends BaseMessage {
61
62
  packageName: string;
62
63
  settings: AppSettings;
63
64
  }
65
+ /**
66
+ * Device capabilities update to App
67
+ * Sent when the connected glasses model changes or capabilities are updated
68
+ */
69
+ export interface CapabilitiesUpdate extends BaseMessage {
70
+ type: CloudToAppMessageType.CAPABILITIES_UPDATE;
71
+ capabilities: Capabilities | null;
72
+ modelName: string | null;
73
+ }
64
74
  /**
65
75
  * MentraOS settings update to App
66
76
  */
67
77
  export interface MentraosSettingsUpdate extends BaseMessage {
68
- type: 'augmentos_settings_update';
78
+ type: "augmentos_settings_update";
69
79
  sessionId: string;
70
80
  settings: Record<string, any>;
71
81
  timestamp: Date;
@@ -120,13 +130,14 @@ export interface ToolCall {
120
130
  toolParameters: Record<string, string | number | boolean>;
121
131
  timestamp: Date;
122
132
  userId: string;
133
+ activeSession: AppSession | null;
123
134
  }
124
135
  /**
125
136
  * Stream data to App
126
137
  */
127
138
  export interface DataStream extends BaseMessage {
128
139
  type: CloudToAppMessageType.DATA_STREAM;
129
- streamType: StreamType;
140
+ streamType: ExtendedStreamType;
130
141
  data: unknown;
131
142
  }
132
143
  /**
@@ -147,7 +158,7 @@ export interface DashboardAlwaysOnChanged extends BaseMessage {
147
158
  * Standard connection error (for server compatibility)
148
159
  */
149
160
  export interface StandardConnectionError extends BaseMessage {
150
- type: 'connection_error';
161
+ type: "connection_error";
151
162
  message: string;
152
163
  }
153
164
  /**
@@ -167,7 +178,7 @@ export interface OutputStatus {
167
178
  /** Friendly name if provided */
168
179
  name?: string;
169
180
  /** Status of this output */
170
- status: 'active' | 'error' | 'stopped';
181
+ status: "active" | "error" | "stopped";
171
182
  /** Error message if status is error */
172
183
  error?: string;
173
184
  }
@@ -177,7 +188,7 @@ export interface OutputStatus {
177
188
  */
178
189
  export interface ManagedStreamStatus extends BaseMessage {
179
190
  type: CloudToAppMessageType.MANAGED_STREAM_STATUS;
180
- status: 'initializing' | 'preparing' | 'active' | 'stopping' | 'stopped' | 'error';
191
+ status: "initializing" | "preparing" | "active" | "stopping" | "stopped" | "error";
181
192
  hlsUrl?: string;
182
193
  dashUrl?: string;
183
194
  webrtcUrl?: string;
@@ -199,11 +210,12 @@ export interface AudioPlayResponse extends BaseMessage {
199
210
  /**
200
211
  * Union type for all messages from cloud to Apps
201
212
  */
202
- export type CloudToAppMessage = AppConnectionAck | AppConnectionError | StandardConnectionError | DataStream | AppStopped | SettingsUpdate | TranscriptionData | TranslationData | AudioChunk | LocationUpdate | CalendarEvent | PhotoResponse | DashboardModeChanged | DashboardAlwaysOnChanged | CustomMessage | ManagedStreamStatus | MentraosSettingsUpdate | AppMessageReceived | AppUserJoined | AppUserLeft | AppRoomUpdated | AppDirectMessageResponse | RtmpStreamStatus | PhotoResponse | PermissionError | AudioPlayResponse;
213
+ export type CloudToAppMessage = AppConnectionAck | AppConnectionError | StandardConnectionError | DataStream | AppStopped | SettingsUpdate | CapabilitiesUpdate | TranscriptionData | TranslationData | AudioChunk | LocationUpdate | CalendarEvent | PhotoResponse | DashboardModeChanged | DashboardAlwaysOnChanged | CustomMessage | ManagedStreamStatus | MentraosSettingsUpdate | AppMessageReceived | AppUserJoined | AppUserLeft | AppRoomUpdated | AppDirectMessageResponse | RtmpStreamStatus | PhotoResponse | PermissionError | AudioPlayResponse;
203
214
  export declare function isAppConnectionAck(message: CloudToAppMessage): message is AppConnectionAck;
204
215
  export declare function isAppConnectionError(message: CloudToAppMessage): message is AppConnectionError;
205
216
  export declare function isAppStopped(message: CloudToAppMessage): message is AppStopped;
206
217
  export declare function isSettingsUpdate(message: CloudToAppMessage): message is SettingsUpdate;
218
+ export declare function isCapabilitiesUpdate(message: CloudToAppMessage): message is CapabilitiesUpdate;
207
219
  export declare function isDataStream(message: CloudToAppMessage): message is DataStream;
208
220
  export declare function isAudioChunk(message: CloudToAppMessage): message is AudioChunk;
209
221
  export declare function isDashboardModeChanged(message: CloudToAppMessage): message is DashboardModeChanged;
@@ -253,7 +265,7 @@ export interface AppUserLeft extends BaseMessage {
253
265
  export interface AppRoomUpdated extends BaseMessage {
254
266
  type: CloudToAppMessageType.APP_ROOM_UPDATED;
255
267
  roomId: string;
256
- updateType: 'user_joined' | 'user_left' | 'config_changed' | 'room_closed';
268
+ updateType: "user_joined" | "user_left" | "config_changed" | "room_closed";
257
269
  roomData: {
258
270
  memberCount: number;
259
271
  maxUsers?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-to-app.d.ts","sourceRoot":"","sources":["../../../src/types/messages/cloud-to-app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud-to-app.d.ts","sourceRoot":"","sources":["../../../src/types/messages/cloud-to-app.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ exports.isAppConnectionAck = isAppConnectionAck;
5
5
  exports.isAppConnectionError = isAppConnectionError;
6
6
  exports.isAppStopped = isAppStopped;
7
7
  exports.isSettingsUpdate = isSettingsUpdate;
8
+ exports.isCapabilitiesUpdate = isCapabilitiesUpdate;
8
9
  exports.isDataStream = isDataStream;
9
10
  exports.isAudioChunk = isAudioChunk;
10
11
  exports.isDashboardModeChanged = isDashboardModeChanged;
@@ -25,7 +26,8 @@ function isAppConnectionAck(message) {
25
26
  return message.type === message_types_1.CloudToAppMessageType.CONNECTION_ACK;
26
27
  }
27
28
  function isAppConnectionError(message) {
28
- return message.type === message_types_1.CloudToAppMessageType.CONNECTION_ERROR || message.type === 'connection_error';
29
+ return (message.type === message_types_1.CloudToAppMessageType.CONNECTION_ERROR ||
30
+ message.type === "connection_error");
29
31
  }
30
32
  function isAppStopped(message) {
31
33
  return message.type === message_types_1.CloudToAppMessageType.APP_STOPPED;
@@ -33,6 +35,9 @@ function isAppStopped(message) {
33
35
  function isSettingsUpdate(message) {
34
36
  return message.type === message_types_1.CloudToAppMessageType.SETTINGS_UPDATE;
35
37
  }
38
+ function isCapabilitiesUpdate(message) {
39
+ return message.type === message_types_1.CloudToAppMessageType.CAPABILITIES_UPDATE;
40
+ }
36
41
  function isDataStream(message) {
37
42
  return message.type === message_types_1.CloudToAppMessageType.DATA_STREAM;
38
43
  }
@@ -72,6 +72,7 @@ export interface LanguageStreamInfo {
72
72
  baseType: string;
73
73
  transcribeLanguage: string;
74
74
  translateLanguage?: string;
75
+ options?: Record<string, string | boolean>;
75
76
  original: ExtendedStreamType;
76
77
  }
77
78
  /**
@@ -82,7 +83,7 @@ export declare function isValidLanguageCode(code: string): boolean;
82
83
  /**
83
84
  * Parse a subscription string to extract language information
84
85
  *
85
- * @param subscription Subscription string (e.g., "transcription:en-US" or "translation:es-ES-to-en-US")
86
+ * @param subscription Subscription string (e.g., "transcription:en-US" or "translation:es-ES-to-en-US" or "transcription:en-US?no-language-identification=true")
86
87
  * @returns Parsed language stream info or null if not a language-specific subscription
87
88
  */
88
89
  export declare function parseLanguageStream(subscription: ExtendedStreamType): LanguageStreamInfo | null;
@@ -93,16 +94,21 @@ export declare function parseLanguageStream(subscription: ExtendedStreamType): L
93
94
  * @param language Language code (e.g., "en-US")
94
95
  * @returns Typed stream identifier
95
96
  */
96
- export declare function createTranscriptionStream(language: string): ExtendedStreamType;
97
+ export declare function createTranscriptionStream(language: string, options?: {
98
+ disableLanguageIdentification?: boolean;
99
+ }): ExtendedStreamType;
97
100
  /**
98
101
  * Create a translation stream identifier for a language pair
99
102
  * Returns a type-safe stream type that can be used like a StreamType
100
103
  *
101
104
  * @param sourceLanguage Source language code (e.g., "es-ES")
102
105
  * @param targetLanguage Target language code (e.g., "en-US")
106
+ * @param options Optional configuration options
103
107
  * @returns Typed stream identifier
104
108
  */
105
- export declare function createTranslationStream(sourceLanguage: string, targetLanguage: string): ExtendedStreamType;
109
+ export declare function createTranslationStream(sourceLanguage: string, targetLanguage: string, options?: {
110
+ disableLanguageIdentification?: boolean;
111
+ }): ExtendedStreamType;
106
112
  /**
107
113
  * Check if a subscription is a valid stream type
108
114
  * This handles both enum-based StreamType values and language-specific stream formats
@@ -1 +1 @@
1
- {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../src/types/streams.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streams.d.ts","sourceRoot":"","sources":["../../src/types/streams.ts"],"names":[],"mappings":"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"}
@@ -122,43 +122,76 @@ function isValidLanguageCode(code) {
122
122
  /**
123
123
  * Parse a subscription string to extract language information
124
124
  *
125
- * @param subscription Subscription string (e.g., "transcription:en-US" or "translation:es-ES-to-en-US")
125
+ * @param subscription Subscription string (e.g., "transcription:en-US" or "translation:es-ES-to-en-US" or "transcription:en-US?no-language-identification=true")
126
126
  * @returns Parsed language stream info or null if not a language-specific subscription
127
127
  */
128
128
  function parseLanguageStream(subscription) {
129
+ console.log(`🎤 Parsing language stream: ${subscription}`);
129
130
  if (typeof subscription !== 'string') {
130
131
  return null;
131
132
  }
132
- // console.log(`🎤 Parsing language stream: ${subscription}`);
133
- // Handle transcription format (transcription:en-US)
133
+ // Handle transcription format (transcription:en-US or transcription:en-US?options)
134
134
  if (subscription.startsWith(`${StreamType.TRANSCRIPTION}:`)) {
135
- const [baseType, languageCode] = subscription.split(':');
136
- // console.log(`🎤 Parsing transcription stream: ${subscription}`);
137
- // console.log(`🎤 Language code: ${languageCode}`);
135
+ const [baseType, rest] = subscription.split(':');
136
+ const [languageCode, queryString] = rest?.split('?') ?? [];
138
137
  if (languageCode && isValidLanguageCode(languageCode)) {
138
+ const options = {};
139
+ // Parse query parameters if present
140
+ if (queryString) {
141
+ const params = new URLSearchParams(queryString);
142
+ for (const [key, value] of params.entries()) {
143
+ // Convert string values to boolean when appropriate
144
+ if (value === 'true') {
145
+ options[key] = true;
146
+ }
147
+ else if (value === 'false') {
148
+ options[key] = false;
149
+ }
150
+ else {
151
+ options[key] = value;
152
+ }
153
+ }
154
+ }
139
155
  return {
140
156
  type: StreamType.TRANSCRIPTION,
141
157
  baseType,
142
158
  transcribeLanguage: languageCode,
159
+ options: Object.keys(options).length > 0 ? options : undefined,
143
160
  original: subscription
144
161
  };
145
162
  }
146
163
  }
147
- // Handle translation format (translation:es-ES-to-en-US)
164
+ // Handle translation format (translation:es-ES-to-en-US or translation:es-ES-to-en-US?options)
148
165
  if (subscription.startsWith(`${StreamType.TRANSLATION}:`)) {
149
- const [baseType, languagePair] = subscription.split(':');
166
+ const [baseType, rest] = subscription.split(':');
167
+ const [languagePair, queryString] = rest?.split('?') ?? [];
150
168
  const [sourceLanguage, targetLanguage] = languagePair?.split('-to-') ?? [];
151
- // console.log(`🎤 Parsing translation stream: ${subscription}`);
152
- // console.log(`🎤 Source language: ${sourceLanguage}`);
153
- // console.log(`🎤 Target language: ${targetLanguage}`);
154
169
  if (sourceLanguage && targetLanguage &&
155
170
  isValidLanguageCode(sourceLanguage) &&
156
171
  isValidLanguageCode(targetLanguage)) {
172
+ const options = {};
173
+ // Parse query parameters if present
174
+ if (queryString) {
175
+ const params = new URLSearchParams(queryString);
176
+ for (const [key, value] of params.entries()) {
177
+ // Convert string values to boolean when appropriate
178
+ if (value === 'true') {
179
+ options[key] = true;
180
+ }
181
+ else if (value === 'false') {
182
+ options[key] = false;
183
+ }
184
+ else {
185
+ options[key] = value;
186
+ }
187
+ }
188
+ }
157
189
  return {
158
190
  type: StreamType.TRANSLATION,
159
191
  baseType,
160
192
  transcribeLanguage: sourceLanguage,
161
193
  translateLanguage: targetLanguage,
194
+ options: Object.keys(options).length > 0 ? options : undefined,
162
195
  original: subscription
163
196
  };
164
197
  }
@@ -172,11 +205,19 @@ function parseLanguageStream(subscription) {
172
205
  * @param language Language code (e.g., "en-US")
173
206
  * @returns Typed stream identifier
174
207
  */
175
- function createTranscriptionStream(language) {
176
- if (!isValidLanguageCode(language)) {
177
- throw new Error(`Invalid language code: ${language}`);
208
+ function createTranscriptionStream(language, options) {
209
+ console.log(`🎤 Creating transcription stream for language: ${language}`);
210
+ console.log(`🎤 Options: ${JSON.stringify(options)}`);
211
+ // Defensively remove any query string from the language parameter
212
+ const languageCode = language.split('?')[0];
213
+ if (!isValidLanguageCode(languageCode)) {
214
+ throw new Error(`Invalid language code: ${languageCode}`);
178
215
  }
179
- return createLanguageStream(`${StreamType.TRANSCRIPTION}:${language}`);
216
+ const base = `${StreamType.TRANSCRIPTION}:${languageCode}`;
217
+ if (options?.disableLanguageIdentification) {
218
+ return `${base}?no-language-identification=true`;
219
+ }
220
+ return base;
180
221
  }
181
222
  /**
182
223
  * Create a translation stream identifier for a language pair
@@ -184,13 +225,21 @@ function createTranscriptionStream(language) {
184
225
  *
185
226
  * @param sourceLanguage Source language code (e.g., "es-ES")
186
227
  * @param targetLanguage Target language code (e.g., "en-US")
228
+ * @param options Optional configuration options
187
229
  * @returns Typed stream identifier
188
230
  */
189
- function createTranslationStream(sourceLanguage, targetLanguage) {
190
- if (!isValidLanguageCode(sourceLanguage) || !isValidLanguageCode(targetLanguage)) {
191
- throw new Error(`Invalid language code(s): ${sourceLanguage}, ${targetLanguage}`);
231
+ function createTranslationStream(sourceLanguage, targetLanguage, options) {
232
+ // Defensively remove any query string from the language parameters
233
+ const cleanSourceLanguage = sourceLanguage.split('?')[0];
234
+ const cleanTargetLanguage = targetLanguage.split('?')[0];
235
+ if (!isValidLanguageCode(cleanSourceLanguage) || !isValidLanguageCode(cleanTargetLanguage)) {
236
+ throw new Error(`Invalid language code(s): ${cleanSourceLanguage}, ${cleanTargetLanguage}`);
237
+ }
238
+ const base = `${StreamType.TRANSLATION}:${cleanSourceLanguage}-to-${cleanTargetLanguage}`;
239
+ if (options?.disableLanguageIdentification) {
240
+ return `${base}?no-language-identification=true`;
192
241
  }
193
- return createLanguageStream(`${StreamType.TRANSLATION}:${sourceLanguage}-to-${targetLanguage}`);
242
+ return createLanguageStream(base);
194
243
  }
195
244
  /**
196
245
  * Check if a subscription is a valid stream type
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mentra/sdk",
3
- "version": "2.1.12",
3
+ "version": "2.1.14",
4
4
  "description": "Build apps for MentraOS smartglasses. This SDK provides everything you need to create real-time smartglasses applications.",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",